Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!yale!mintaka!bloom-beacon!eru!luth!sunic!mcsun!ukc!icdoc!inmos!inmos-is!gary From: gary@brb.isnet.inmos.co.uk Newsgroups: comp.sys.atari.st Subject: ZX81 Emulator was Re: Z80 cross assembler/Emulator Message-ID: <140.26d302a9@brb.isnet.inmos.co.uk> Date: 22 Aug 90 22:09:44 GMT References: <1990Aug3.185119.848@newcastle.ac.uk> <21393@duke.cs.duke.edu> <2172@cernvax.UUCP> Organization: Inmos Limited Lines: 64 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 ============================================================================