PDA

View Full Version : NEW SOFTWARE for the ZX81



ANDRExxx
March 12th, 2004, 07:30 PM
The 25 years of the ZX81 is near. I am offering NEW software for the ZX81. Contact me, ANDRExxx

CP/M User
March 13th, 2004, 01:48 AM
"ANDRExxx" wrote:

> The 25 years of the ZX81 is near. I am offering
> NEW software for the ZX81.

Crikey, that's good news for ZX81 fans.

Just out of curiosity, does anyone know if the TS1000
& ZX81 are one of the same machine? TS1000 was
the name of a Spectrum machine released in the
States. My book refers to this as the TS1000, but the
picture of the computer has ZX81 written on it. So
unless it's the wrong picture...

Cheers,
CP/M User.

mbbrutman
March 13th, 2004, 08:02 PM
Same machine. Timex sold the TS1000 in the US. It's a ZX81 though.

I have one - it was my first computer. I have no idea what Timex was thinking though ...

CP/M User
March 13th, 2004, 10:21 PM
"mbbrutman" wrote:

> Same machine. Timex sold the TS1000 in the US.
> It's a ZX81 though.

> I have one - it was my first computer. I have no
> idea what Timex was thinking though ...

Explain...

Cheers,
CP/M User.

ANDRExxx
March 15th, 2004, 01:33 PM
The ZX81 has 1 KB of ram. The Timex1000 has 2 KB of ram. Beside that they are the same. They can be upgraded to 64 KB, get sound with an add-on or through machine code programming and dysplay HI-resolution 256 X 192 with machine code programming. ANDRE***

mbbrutman
March 15th, 2004, 06:21 PM
Explain? I can't ... that's the problem.

Timex mass produces watches. My first watch as a kid was a Timex. Their slogan was 'Takes a lickin' and keeps on ticking.' Not exactly what you'd expect in a computer manufacturer.

So they entered an agreement with Sinclair and sold a rebadged ZX-81 in the US. The ZX-81 was fine for the price, but you have to have it grow on you. The miniscule RAM (1K, the dialect of BASIC with the weird keyword entry, the lack of quality peripherals, etc. made it the perfect hobbyiest machine, but not a machine for neophytes.

So remarketing it for neophytes in the US seemed like a bad business plan. They sold a lot of $100 computers, and a lot of them wound up in closets. I'm sure that after a few hours it was a frustrating experience for most people.

Btw, I'm a proud owner. I haven't revisited the machine yet. I fear if I got into it, it'd be more addictive than my Jr.

Right now I have two systems. My original system had the printer and a 16K expansion pack. I remember seeing keyboards, 'stringy floppy' drives, modems, serial ports, parallel ports, 54K RAM expansions, sound & video enhancements, etc. Basically the machine is a Z80 with a BASIC interpreter, RAM, and a bus interface - there is lots of room for improvement.

CP/M User
March 15th, 2004, 07:59 PM
"mbbrutman" wrote:

> Explain? I can't ... that's the problem.

> Timex mass produces watches. My first
> watch as a kid was a Timex. Their
> slogan was 'Takes a lickin' and keeps on
> ticking.' Not exactly what you'd expect
> in a computer manufacturer.

See, I don't know Timex too well & I didn't
realise they were into making watches. But
I guess the name speaks for itself! :-)

> So they entered an agreement with
> Sinclair and sold a rebadged ZX-81 in the
> US. The ZX-81 was fine for the price, but
> you have to have it grow on you. The
> miniscule RAM (1K, the dialect of BASIC
> with the weird keyword entry, the lack
> of quality peripherals, etc. made it the
> perfect hobbyiest machine, but not a
> machine for neophytes.

That's something you've just reminded me
of, originally I thought that a ZX81 had 1k
of RAM. I've got two computer books here,
one seize it's 1k & the other one 2k! But
it can be expanded to 64k (or so the 2k
book I've got seize! :-)
On the other hand maybe it was just the
TS1000 which had 2k & the ZX81 came
with 1k, any thoughts about that?

> So remarketing it for neophytes in the
> US seemed like a bad business plan.
> They sold a lot of $100 computers, and
> a lot of them wound up in closets. I'm
> sure that after a few hours it was a
> frustrating experience for most people.

It's funny when a you look at things from
a marketing side. They can say that the
machine did well, but what the user did
with it might be another thing! ;-)

> Btw, I'm a proud owner. I haven't
> revisited the machine yet. I fear if I got
> into it, it'd be more addictive than my Jr.

> Right now I have two systems. My original
> system had the printer and a 16K expansion
> pack. I remember seeing keyboards,
> 'stringy floppy' drives, modems, serial ports,
> parallel ports, 54K RAM expansions, sound &
> video enhancements, etc. Basically the
> machine is a Z80 with a BASIC interpreter,
> RAM, and a bus interface - there is lots of
> room for improvement.

Sounds like the sort of machine which was
easy to build on, unlike an Amstrad where you
need to buy a ROMboard just to put a ROM on.
PCB connections & not much in the way of
hardware for the user to enhance hardware.
Mightn't be a bad thing, since the Amstrad
tended to be a machine which no-one wanted
to step into the future with (well the CPC Plus
changed that in a way, but are a whole new
revamp of an earlier machine). The regular
Amstrads didn't really die when the Plus did
come.

Cheers,
CP/M User.

CP/M User
March 15th, 2004, 08:04 PM
"ANDRExxx" wrote:

> The ZX81 has 1 KB of ram. The Timex1000
> has 2 KB of ram.

Oh see, I thought it might of been a feature of
the Timex.

> Beside that they are the same. They can be
> upgraded to 64 KB, get sound with an add-on
> or through machine code programming and
> dysplay HI-resolution 256 X 192 with
> machine code programming.

Couldn't do some graphics through BASIC
using Poke (to Poke values into the screen
memory). Being like an Amstrad in that it
uses the same processor (Z80) I'd imagine
it has screen memory (where you could
Poke some values in). Or doesn't Poke
exist in it's BASIC?! (It does seem to be
very essential command to have).

Cheers,
CP/M User.

carlsson
March 16th, 2004, 05:49 AM
I also think there were quite a few unlicenced ZX81 clones (just like there later was a number of Russian ZX Spectrum clones which have made their way into Speccy history).

One '81 clone I remember was my big brother's Lambda 8300 - it had 2K memory, one channel of square wave sound, joystick port and a slightly different expansion bus than the original. Basic supposedly was compatible but system addresses different so machine code would not work. It was released quite late (mid-1983 or even later in Sweden), so it already faced much tougher competition. The company behind Lambda, called "Your Computer" IIRC, had announced a colour add-on, a printer and some more peripherals, but I doubt neither appeared. Maybe they even were forced by Sinclair to take their machine off market?

Andre, even if you prefer not to offer your software as anonymous download, maybe you would like to tell the other enthusiasts what new software you have developed? Like a list of titles and a short description, so anyone interested knows if it is worth to contact you. Maybe you have a web page where you can put the list if not posting it into dozens of forums.

Barry
March 16th, 2004, 01:29 PM
> Couldn't do some graphics through BASIC
> using Poke (to Poke values into the screen
> memory). Being like an Amstrad in that it
> uses the same processor (Z80) I'd imagine
> it has screen memory (where you could
> Poke some values in). Or doesn't Poke
> exist in it's BASIC?! (It does seem to be
> very essential command to have).

The fact that it has a Z80 doesn't tell you anything about it's screen arrangement. A lot of computers have screen memory but you can't always use Basic to poke into it.

The Kaypro 10, for example, had the screen memory in a switched out memory bank that had to be switched back in first and I don't think you could do that with a simple poke from Basic. I don't remember the details. There may have been a way to do it. But I'm pretty sure a poke by itself wouldn't do it.

Most CPM systems probably didn't have screen memory at all since they were terminal oriented machines without a built-in terminal. They just sent commands to the terminal, which took care of the details.

My only experience with CP/M was on a Kaypro 10 so I'm not sure of what I'm saying here but I think I'd bet on it. I do know the Kaypro 10 was unusual in that it did do graphics and that it did have a built-in terminal.

Barry

Terry Yager
March 16th, 2004, 02:39 PM
The fact that it has a Z80 doesn't tell you anything about it's screen arrangement. A lot of computers have screen memory but you can't always use Basic to poke into it.

The Kaypro 10, for example, had the screen memory in a switched out memory bank that had to be switched back in first and I don't think you could do that with a simple poke from Basic. I don't remember the details. There may have been a way to do it. But I'm pretty sure a poke by itself wouldn't do it.

If you could remember (or look up) just how this is done, I like to know. Is there a way of examining the bootrom with DDT or some similar tool? The K-10 manual treats the Bank 1 prom as some kinda black box. The so-called memory map just shows it a single block of memory. (I know they don't need 16K for just a bootloader, I'm curious what else might be in there). The note at the bottom of the memory map page reads:

"Please note that only the lowest 16 Kbytes of memory will change with the bank select bit; addresses above 7FFF hexadecimal are always available for either bank."

Nowhere else in the Kaypro documentation is the "bank select bit" mentioned. Do you know how to access (change) this bit?


Most CPM systems probably didn't have screen memory at all since they were terminal oriented machines without a built-in terminal. They just sent commands to the terminal, which took care of the details.

My only experience with CP/M was on a Kaypro 10 so I'm not sure of what I'm saying here but I think I'd bet on it. I do know the Kaypro 10 was unusual in that it did do graphics and that it did have a built-in terminal.

Barry

Yes, the graphics may be accessed from MBASIC-80, with a command like:
PRINT CHR$(n)
where (n) is a number between 128 and 255 (127 is unprintable)

--T

mbbrutman
March 16th, 2004, 05:23 PM
Yes, the ZX81 was a relatively easy kit to build. The Timex was sold fully assembled, which better suited the market it was targetting.

Still, the idea of Timex starting a new line of business selling a ZX81 clone is just mind boggling. It would be like Gucci selling heavy construction equipment.

As for the Timex, it had minimal grahics capability. I can't remember the number of characters on the screen, but it was something like 32x16. (It was designed for low-resolution TV set output.) The pixels were not addressable; you only have graphics characters to work with. Add-ons would give you graphics capability at the pixel level, but it wasn't part of the basic ZX-81 or TS1000 package.

In retrospect, it would probably be easy to graft on a real graphics card. The IBM CGA was driven by the Motorola 6845 CRT controller, which was quite versatile. You talk to it using a few I/O ports. A basic 80x25 screen would only take up 2K of RAM, assuming no colors or anything. Full color graphics would require more like 16K, but you could probably bank switch in pieces of it. .. Just speculating here folks, don't get any ideas :-) (I wish I had more EE experience ...)

ANDRExxx
March 16th, 2004, 07:24 PM
The screen size of the ZX81 is 32 X 24. In graphic mode it is 64 X 44. But with machine code programming it can be 256 X 192. Also I wish to add that floppy diskdrive is possible. I personnally have a Larken system with LDOS. I certainly enjoy the response to this posting. ANDRE***

CP/M User
March 16th, 2004, 08:10 PM
"Barry" wrote:

>> Couldn't do some graphics through BASIC
>> using Poke (to Poke values into the screen
>> memory). Being like an Amstrad in that it
>> uses the same processor (Z80) I'd imagine
>> it has screen memory (where you could
>> Poke some values in). Or doesn't Poke
>> exist in it's BASIC?! (It does seem to be
>> very essential command to have).

> The fact that it has a Z80 doesn't tell you
> anything about it's screen arrangement.
> A lot of computers have screen memory
> but you can't always use Basic to poke into
> it.

Well yeah, you've got me there. On the
Amstrads though you could simply poke the
Screen Memory to produce the right colour
(naturally getting the colour right would be
tricky, unless you had a program where you
could poke all 256 points onto the screen &
move it from screen to somewhere in
memory where it wouldn't be corrupt. That
would require an assembly routine though!
:-)

> The Kaypro 10, for example, had the
> screen memory in a switched out memory
> bank that had to be switched back in first
> and I don't think you could do that with a
> simple poke from Basic. I don't
> remember the details. There may have
> been a way to do it. But I'm pretty sure
> a poke by itself wouldn't do it.

Sounds like your Kaypro had some memory
segments (which is what the IBM has). In
case of an IBM you'd need to change the
Segment (in BASIC this was DEF SEG=segno)
'segno' could have been B800h or A000h (for
the newer Video Cards - e.g. VGA).

> Most CPM systems probably didn't have
> screen memory at all since they were
> terminal oriented machines without a
> built-in terminal. They just sent
> commands to the terminal, which took
> care of the details.

Yes, I've accessed my Amstrad's screen
memory in CP/M 2.2 (which is fairly
straightfoward, however this was in an
emulator - would be of a concern if the
machine itself isn't like this), CP/M Plus
is a bit more difficult, because of the
way the memory has changed - because
it's using the extra 64k, though CP/M 2.2
just lyes in the first 64k, which makes it
friendlier to program. Amstrad's aren't
you're everyday system. We've had no
problems with CP/M-86 on our IBMs
either in terms of screen memory.
Unfortunately, I can only speak of these
later systems, the issue about Graphics,
Screen memory, was perhaps more
relavent to the 8080 based systems.
Some of them may have done graphics,
but it's sure possible to do graphics on
my Amstrad without using the screen
memory.

> My only experience with CP/M was on
> a Kaypro 10 so I'm not sure of what
> I'm saying here but I think I'd bet on
> it. I do know the Kaypro 10 was
> unusual in that it did do graphics and
> that it did have a built-in terminal.

From what I've heard, Kaypros tend to
be one of the machines which have a
big question over in terms of graphics.

Some of them (the later Kaypros), could
have, but from what I've heard this was
in the area of redefining graphical
characters. Graphical characters are quite
different from plotting a point on screen or
drawing up a sprite. Sure it can look
graphical, but in context it's not the same
as you're building up a text resolution (of
something like 80x25 on screen).

Unfortunately, Kaypros have left me
puzzled, because there's a few of them &
like a series of computers, the hardware
can vary between machine to machine.

Machines like the Amstrad CPCs are
slightly different as they are mainly
backward compatable, the CPC464 had
an earlier BASIC from the CPC664/6128
& some assembly based stuff was
different, though if a commercial
software distributer to use those specal
routines, they would be able to detect
which computer it was & use the relevant
routine (based on where something was
for each computer). Screen memory
was something which was the same
between machines though (thank
God! :-)

Cheers,
CP/M User.

Barry
March 17th, 2004, 07:11 AM
If you could remember (or look up) just how this is done, I like to know. Is there a way of examining the bootrom with DDT or some similar tool? The K-10 manual treats the Bank 1 prom as some kinda black box. The so-called memory map just shows it a single block of memory. (I know they don't need 16K for just a bootloader, I'm curious what else might be in there). The note at the bottom of the memory map page reads:

"Please note that only the lowest 16 Kbytes of memory will change with the bank select bit; addresses above 7FFF hexadecimal are always available for either bank."

Nowhere else in the Kaypro documentation is the "bank select bit" mentioned. Do you know how to access (change) this bit?

I don't remember much detail about this at all. I had the Kaypro for a couple of years but during that time I only toyed with it. Most of my attention then was given to an HP palmtop.

I do know I've seen some tech stuff on the web about the Kaypro. I don't remember specifically that this was covered but I wouldn't be surprised if it was. You might do some googling on "Kaypro" and "bank switching" or some such.

Barry

Barry
March 17th, 2004, 07:25 AM
Sounds like your Kaypro had some memory
segments (which is what the IBM has). In
case of an IBM you'd need to change the
Segment (in BASIC this was DEF SEG=segno)
'segno' could have been B800h or A000h (for
the newer Video Cards - e.g. VGA).

This wasn't quite the same as the 80x86 segments. It was a bank switching scheme. The CPU could only see 64k but there was an extra 16k and an external chip, usually called an MMU (memory management unit) simply replaced one of the banks. The CPU still saw 64k as before the banks were switched but they weren't the same 64k.

Segments are an integral feature of the x86 CPUs and bank switching is done outside of the CPU. I don't think I'm explaining this very well.

As far as I know, every computer with an 8 bit CPU that had a total of more than 64k RAM and ROM combined used some sort of bank switching scheme.

In DOS computers you can find an example of bank switching in expanded memory. That was done by external hardware (external to the CPU) that could switch in or out 4 16k blocks of ram in upper memory. The 386 had it's own internal bank switching but prior to that it was always done with a memory management chip of some sort.

Another example in DOS computers is the VGA memory where 4 banks occupy the same address space. This is a little different scheme but it's a variation on the same idea.

Barry

CP/M User
March 18th, 2004, 12:46 AM
"Barry" wrote:

> This wasn't quite the same as the 80x86 segments.
> It was a bank switching scheme.

Oh yeah, this is just like the CPC6128 when it's running
CP/M Plus. Some bank Switching is required in order to
get to the right area. But I found this very tricky to
access (as a programmer), which is why I like CP/M
v2.2 more! :-)

ANDRExxx
March 20th, 2004, 05:14 AM
While many users created new add-on or learned machine coding to surpass the existing capacity of ZX81/Timex1000, I tryed to sqeeze the best out of the basic machine with its basic language. The first programs to be sent will be: ZX-A-MINE, a "minesweeper" with as many as 597 squares to verify. ( more than what you you get at the expert level on the IBM machine). ZXOKO-BAN, which has MORE than 26 differents " mazes" to solve.(in lest than 16 Kilo-bytes of memory). Interested? Contact me at
zx81ab@progression.net