[comp.sys.atari.st] ZX81 Emulator was Re: Z80 cross assembler/Emulator

gary@brb.isnet.inmos.co.uk (08/23/90)

In article <2172@cernvax.UUCP>, dougie@cernvax.UUCP (douglas mclaggan) writes:
> On a similar note to the above, does anybody know whether an emulator for
> a Z80 machine exists for the ST?  I thought I heard of a ZX Spectrum emulator
> for the Amiga, but I'm not sure if this is true.  Also, what about that Z80
> cross-compiler - does anyone have a copy of it?
> -- 
> +---------------------------------------------------------------------------+
> | Dougie McLaggan. ->->-> 'dougie@cernvax.cern.ch', or 'dougie@cs.hw.ac.uk' |
> +---------------------------------------------------------------------------+

There is a very intersting piece of software which has become available at
most (UK) public domain software distributors - a Sinclair ZX81 emulator for
the Atari ST!

For those of you who are not familiar with the ZX81... 

The ZX81 was (Uncle) Clive
Sinclairs followup to his ZX80 home computer. The ZX81 (like the ZX80)
was available in kit or pre-built form, and boasted a Z80 CPU, 1k of RAM
(16k if you bought the slot on RAM pack - which suffered from the infamous
"wobble"), a membrane keyboard with each key boasting no less than 5 or 6
functions (!), 16K (?) ROM with built in BASIC. The ZX80 was released in
1980, and was arguably the computer which set alight the UK home computer
scene. Although the ZX80 could display a steady picture on the TV screen
there was a loss of sync every time a key was pressed and also every time
a program was run, because Uncle used the Z80 CPU to refresh the screen when
it wasn't otherwise busy. The ZX81 released in 1981 fixed this, although still
maintained a FAST mode for running programs, where the screen would disappear
ala ZX80.

The ZX81 emulator is supplied with a number of ZX81 games (originally they
came on cassette) thankfully loaded from disk. The copyright situation of
the games and ZX81 ROM code may be dubious, but I doubt if more than a
handful of people still use this beast (I recently saw one sold at an 
auction for a single pound!). Pressing the ST HELP key displays a very
clear graphic of the ZX81 keyboard - this is essential as single keypresses
enter multiple characters e.g. pressing "K" prints LOAD " on the screen
(you then type the filename normally). The emulator emulates the 1k, 16k
or 48k (wow) machines. Some of the games which fitted into the 1k, put
some of the ST gargantuans to shame. The emulator also correctly emulates
the FAST mode mentioned above.

It has to be seen to be believed.

You could if you wished program the Z80 in assembler (in fact there may have
been one on the disk). The normal way to load a machine code program was to
have a REM statement as line 1 with lots of characters (more than the length
of your machine code), then poke the machine code into RAM byte by byte (in
decimal!) which would overwrite the characters following the REM statement.
When listed it looked like total gobbledegook, as the machine expanded out
each byte into its token textual value. Believe me it wasn't easy (it was
easy to crash the machine though! and the only way to reset the computer
was by pulling out the power supply plug!!!!!!) 

Sigh! Those were the days. I wanted a ZX81, but couldn't afford one, so I had
to stick to my ZX80.

--Gary 
============================================================================
Gary Morton   Inmos Ltd, Aztec West, Bristol | EMail(UK) 
----------| +44 454 616616 X520 |------------| gary@brb.isnet.inmos.co.uk
The opinions above are my personal views     | EMail(ROW)
and may not reflect Inmos policy.            | gary@brb.isnet.inmos.com
============================================================================

bright@ccu.umanitoba.ca (Bob Bright) (08/23/90)

In article <140.26d302a9@brb.isnet.inmos.co.uk> gary@brb.isnet.inmos.co.uk writes:
>
>There is a very intersting piece of software which has become available at
>most (UK) public domain software distributors - a Sinclair ZX81 emulator for
>the Atari ST!
>
>For those of you who are not familiar with the ZX81... 
[ ... ]
>Sigh! Those were the days. I wanted a ZX81, but couldn't afford one, so I had
>to stick to my ZX80.
>
>--Gary 
>============================================================================
>Gary Morton   Inmos Ltd, Aztec West, Bristol | EMail(UK) 
>----------| +44 454 616616 X520 |------------| gary@brb.isnet.inmos.co.uk
>The opinions above are my personal views     | EMail(ROW)
>and may not reflect Inmos policy.            | gary@brb.isnet.inmos.com
>============================================================================

     Thanks for the very nice summary of the ZX81, Gary; your
description of poking Z80 code directly into REM statements brought
back some real memories. :-) :-)  (I still have two of the critters
collecting dust in my basement somewhere.  Well, actually one of them
is the Timex-Sinclair flavor retailed by our favorite cheap watch
company on this side of the pond, with twice as much RAM -- a whole
2K!)

     Since the emulator your describe is PD, is there any chance that
your could get ahold of a copy and send it to Steve Grimm at Panarthea?
-- 
Bob Bright <bright@ccu.umanitoba.ca>
Dept. of Philosophy
University of Manitoba
Winnipeg, Man  R3T 2N2  (204) 474-9680

hedley@iitinc (Hedley Rainnie) (08/28/90)

> gary@brb.isnet.inmos.co.uk writes:
> You could if you wished program the Z80 in assembler (in fact there may have
> been one on the disk). The normal way to load a machine code program was to
> have a REM statement as line 1 with lots of characters (more than the length
> of your machine code), then poke the machine code into RAM byte by byte (in
> decimal!) which would overwrite the characters following the REM statement.
....
> Sigh! Those were the days. I wanted a ZX81, but couldn't afford one, so I had
> to stick to my ZX80.

Actually I used an assembler for it, you read the assembler in from cassette
and it was a large basic program, since cassette didn't make for a robust
file system there was no way to build an "object" so you entered the 
assembly statements in REM statements at the top of the program (the assembler!)
then run the assembler. The resulting machine code would be org'd to some spot
in memory, my friend an I were using it to do vector graphics via DAC's to a scope.

The cassette was unreliable at best. Why didn't the ST come with a cassette port? :-)

Hedley

-- 
{decwrl|sun}!imagen!iitinc!hedley  | Integrated Information Tech.
hedley@imagen.com		   | Santa Clara, CA. (408)-727-1885 x49

randyh@hpsad.HP.COM (Randy Hosler) (08/30/90)

>     Since the emulator your describe is PD, is there any chance that
>your could get ahold of a copy and send it to Steve Grimm at Panarthea?

Please do!  I think alot of people over here would like to try it.

I had a ZX81 with a 64k ram pack!! 

Randy (Can you top that?) Hosler