------------------------------------------------------------------------
Sinclair ZX81 FAQ. Version 1.3. Last Revised 13/6/95.
------------------------------------------------------------------------

The FAQ is in three sections:

1 - Information for people new to the ZX81.
   Mostly stuff for people who've never seen one before.

2 - ZX81 Emulators.
   About the various emualators avaiable, and how to use them.

3 - ZX81 Hacking and Trivia.
   All the 'interesting' questions and answers.

------------------------------------------------------------------------
1 - Information for people new to the ZX81.
------------------------------------------------------------------------

Q: What the hell's a ZX81?

A: Good question. The ZX81 is a small home computer that was quite popular
   in the early eighties. It was built by Sinclair Research (who also made
   the Mk14 kit, ZX Spectrum, ZX80 and QL computers.)

   It was a highly revolutionary design, containing only four integrated
   circuits. Most machines at the time needed twenty or so. This allowed
   the machine to be produced very cheaply, making it the first computer
   in the UK available for less than a hundred pounds.

   The ZX81 was released in North America as the Timex-Sinclair 1000, and
   marketed by Timex. A TS-1500 was a TS-1000 with 16K of RAM built in.

   Over a million ZX81's and TS-1000s were sold worldwide.

Q: Where can I get the latest information about the ZX81?

A: Read the newsgroup comp.sys.sinclair. It's mainly about the ZX Spectrum,
   but quite a lot of ZX80, ZX81 and QL stuff appears in it. It's also
   available as a mailing list. Send the message:

      subscribe sincnews <your email address>

   e.g.: subscribe sincnews joe@somemachine.someplace.somecountry

   to lserv@psg.com. You can send messages to the newsgroup/mailing list
   by sending email to sincnews@psg.com. A word of warning though, there's 
   about 250 messages a week, so be prepared to be swamped if you get it
   through the mailing list.

   You could also try looking for the latest version of this FAQ. It
   should be available on the following URL:

      http://www.gre.ac.uk/~bm10/zx81.faq.

   There's a few useful WWW pages too:

      http://www.gre.ac.uk/~bm10/zx81.html
         My ZX81 home page. Needs a bit of work yet.
      http://www.maths.nott.ac.uk/personal/cpg/zx81
         The original ZX81 home page. Getting a bit out of date.
      http://www.cs.umd.edu/users/fms/comp/
         Marat Fayzullin's emulation and computing page.
      http://www.csv.warwick.ac.uk/~mauqx/
         Bob Tinsley's page with ZX81 manual transcription.

Q: What are the specifications of the ZX81?

A: Integrated Circuits:
      Z80A Microprocessor clocked at 3.25MHz.
      1K RAM, expandable to 16K, 32K or 56K.
      8K ROM containing BASIC.
      A single ULA for all I/O functions.

   Ports:
      Bus connector for adding peripherals.
      3.5mm cassette tape interface for loading/saving programs.
      UHF output for display on a TV set.
      9v DC power supply. Smoothed down to 5v.

   40 key touchpad keyboard.

   Screen Resolution:
      32x24 Text.
      64x48 'graphics'.
      256x192 Hi-Res graphics. (But see notes.)
      Various overscan modes. (Since it's only outputting to a TV set.)

   Memory Map:
      0-8K     BASIC ROM.
      8-16K    Shadow of BASIC ROM. Can be disabled by 64K RAM pack.
      16K-17K  Area occupied by 1K of onboard RAM. Disabled by RAM packs.
      16K-32K  Area occupied by 16K RAM pack.
      8K-64K   Area occupied by 64K RAM pack.

Q: What's a RAM pack?

A: A device that could be plugged in to the bus connector to increase the
   memory size of the machine. 16K was the most common size. 32K and 64K
   packs were also avaiable. The original 1K was displaced when a RAM pack
   was added. The 64K RAM pack only gave you 56K as you still need to have
   the ROM in the Z80's memory map.

Q: What was the ZX Printer?

A: It was a printer (shock!) that you attached to your ZX81 or ZX
   Spectrum via the bus connector. It ran off the power lines in the
   bus, so you needed a souped-up power supply for it. It used a
   special sort of grey, metallic, thermal paper that looked like a 
   rather evil sort of toilet roll. It could be quite noisy (and
   occasionally smelly) whilst in operation and the print quality
   was less than desirable.

Q: Where can I get a ZX81, and what's the going rate?

A: Since the ZX81 is no longer in production, you'll have to find
   someone willing to sell you one. They're not exactly antiques yet
   so you should still have a chance of getting one quite cheaply.

   You can find (at least in the UK) lots of second hand ones for sale
   in magazines like Micro Mart, at car-boot sales, school fairs etc.
   The going rate is about 10 pounds, maybe 10 pounds more for a 16K
   RAM pack. If you're good at haggling you might get it for 10 pounds
   complete. Other hardware is a bit more tricky to find, and
   consequently can by quite expensive.

Q: What are the best ZX81 games?
 
A: Have a look at the all-time ZX81 charts on the following URL:
 
      http://www.gre.ac.uk/~bm10/zx81cht.txt
 
   There's also a voting template so you can vote for your favoutite
   games.
 
-------------------------------------------------------------------------
2 - ZX81 Emulators.
------------------------------------------------------------------------

Q: Are there any ZX81 emulators?

A: Yes, I'm aware of four at the moment. I'd rank them in the following
   order:

   1. ZX81 Emulator - Atari ST. Free.
   Programmer: Christoph Zwerschke.
   FTP from: src.doc.ic.ac.uk /computing/systems/atari/umich/Emulators
   Plusses: Runs at near exact speed.
            Emulates FAST mode display. :-)
            Joystick support.
            Excellent file handling interface.
   Minuses: No way to load original games from tape.
            No HRG or sound.
            No way to run at extremely fast speeds.

   2. Xtender - IBM PC compatible. Shareware.
   Programmer: Carlo Delhez.
   FTP from: src.doc.ic.ac.uk /computing/systems/ibmpc/simtel/msdos/emulator
   Plusses: Runs at adjustable speed.
            Very fast on a 386/486/Pentium. 20 times faster on my machine.
            Supports (limited) HRG.
   Minuses: Arcane file handling.
            Poor keyboard response.
            No tape, printer or joystick support.

   3. TS1000 - IBM PC compatible. Free.
   Programmer: Jeff Vavasour
   FTP from: src.doc.ic.ac.uk /computing/systems/ibmpc/simtel/msdos/emulator
   Plusses: Emuates TS1000. The American version of the ZX81.
   Minuses: Runs at uncontrollable speed.
            Crashes with many snapshots saved on other emulators.
            No tape support.
            No HRG support.

   4. Xtricator - Sinclair QL. Sorry, no information about this one.

   In summary:

   The Atari emulator is just about perfect for playing most games on,
   but due to the slow speed of the original, typing in long programs
   is a bit of a chore.

   Xtender is good for typing in programs, because of it's high speed.
   However, due to the poor keyboard response, it's fairly useless
   for playing games that require simulaneous keypresses. Carlo Delhez
   (the programmer) is currently working on a new version of Xtender
   that will fix this problem.

   TS1000 has no real advantages over either of the others, but might
   appeal to original Timex Sinclair owners.

Q: Where can I get software for the emulators?

A: There's some software on the ftp.nvg.unit.no site in the directory
   pub/sinclair/snaps/zx81. These are mostly BASIC programs, since
   there's no widely available method for loading in old tapes.

   While you're there, check out my game: 'Deathrider.' :-)

   You can also get a huge bundle of software if you register Xtender.

   Finally, try picking up copies of all the emulators. Most of them
   come with a few examples.

Q: How can I get .81 files to work on Xtender?

A: Usually just rename them to have a .P file extension. The
   keyboard controls in games might not work properly though.

Q: How can I get .P files to work on the Atari Emulator?

A: Try renaming them to .81 files. They might be ones that were
   'converted' to Xtender files by the above process. If that doesn't
   work, you can try the program PTO81 (from ftp.nvg.unit.no) which
   chops a byte off the end and fiddles a few system variables.

   This is only available as a PC/DOS program at the moment. Contact
   me if you desperately need a ST executable version. Since the
   only compiled language I've got for my ST is STOS, I'm none too
   keen on writing one though.

   Hi-Res graphics, programs that POKE the ROM (e.g. to change the
   speed in Xtender) or use Xtender's file handling system won't
   work, though.

Q: How can I load my old games off tape?

A: There's a program by John Elliot called ZX81TAP that is available on
   my ZX81 page (see above) that can, in theory, read ZX81 programs from
   tape, using a Spectrum Emulator and save them as P files to disk.

   Unfortunately, I can't get it to work on my system, but this might be
   down to dodgy audio equipment, leads and a crap sound card. If anyone
   can get this program to work, I'd be very interested to hear from you.

------------------------------------------------------------------------
3 - ZX81 Hacking and Trivia.
------------------------------------------------------------------------

Q: Could you get sound on a ZX81?

A: Yes. Just about, anyway. You could drive the cassette port rather like
   the ZX Spectrum's speaker. So if it was wired up to a cassette recorder
   or an Amplifier, you could get sound from it. There was a program, that
   was printed in a magazine, that could sample and replay sounds using the
   cassette port.

   You could also get sound through the television, by rapidly alternating
   between FAST and SLOW modes. There was a 'Sinclair Organ' program in
   Sinclair Programs that did this quite nicely.

   There was also the Zon-X add-on, that contained the AY-8192 sound chip
   (as used in the Atari ST, Spectrum 128 and Amstrad CPC machines) to
   create rather better sound effects.

   At the moment, no emulators support ZX81 sound using any of these method.

Q: Could you get hi-res graphics on a ZX81?

A: Yes. There were a number of ways.

   1. The Z80's i register pointed to a font table. You could move this 
      around in the ROM to create swirly graphics effects. The game
      Astral Convoy did this. Unfortunately, the design of the ZX81 made
      it impossible for the character set to be anywhere in the 16K
      range, so you couldn't have a user defined set without extra
      hardware. With a 64K RAM pack you could disable the ROM shadow
      between 8K and 16K and design your own UDGs.

   2. CRL released a Hi-Res graphics toolkit. This contained an
      extremely hairy interrupt routine that replaced the ZX81's usual
      display update routine. Basically, it pointed the i register to
      a strategic ROM location, and tried to 'best fit' the HRG display
      to what it could find in those locations. It also used a feature
      of the ZX81's hardware that allowed you to have 1 pixel height
      characters to improve it's chances.

      You still could, at best, only have 128 different combinations out
      of the 256 possible ones. These were the 64 'characters' and their
      inverses. So this is really pseudo-HRG.

      A number of games by Software Farm, including Hi-Res Invaders and
      Rocket Man, used this technique.

      With a 64K RAM pack you could also, alter the font, allowing an
      even better chance of getting the characters you need. Some
      people made an alteration to their ZX81's internal wiring, so that
      the i register can point to the 16K RAM area, allowing them to do
      the same.

   3. There were a number of hardware add-ons that worked with software
      similar to the above routines to allow UDG's and true-HRG.
      DK'Tronics and Quicksilva produced devices that worked with some
      of their games.

Q: Could you get colour graphics on a ZX81?

A: Yes, but not without extra hardware. Prism released an adaptor that
   required some soldering inside the machine. It got little attention,
   because the ZX Spectrum had been out for a while, and the ZX81 was on
   the way out.

Q: Could you really run a nuclear powerstation on a ZX81?

A: Well, Clive Sinclair said you could. Then again, he made some pretty
   outrageous claims about a lot of his products. I wouldn't give it much
   chance, since mine crashes about once every 2 hours without a RAM pack
   on, and once every thirty minutes with one. :-)

Q: Could a 1K ZX81 really play chess?

A: Yes, but not very well. 1K chess was released in 1982 by Artic Computing.
   It had no graphics and could only play white. Nonetheless, a marvel of
   programming skill to get a chess game into 1K.

------------------------------------------------------------------------
Credits:
   Clive Sinclair for making the thing in the first place.
   Christoph Zwerschke for the ST emulator 'ZX81.'
   Carlo Delhez for the PC emulator 'Xtender.'
   Jeff Vavasour for the PC emulator 'TS1000.'
   David Gonzales for some sending me some ZX81 software.
   Ian Collier for much discussion about ZX81 emulation, 1K chess and HRG.
   Chris Gill for the original ZX81 homepage.
   Chris Owen for his Sinclair history page.
   Marat Fayzullin for his emulation home page.
   Arnt Gulbrandsen for the NVG archive site in Norway.
   Bob Tinsley for transcribing the ZX81 manual.
   John Elliot for the ZX81TAP program.
   Everyone on comp.sys.sinclair.
   ...and anyone else I've forgotten for whatever reason. Sorry!

Final note:
   This FAQ is in its very early days, so don't be surprised if some of
   the information is rather vague, and occasionally incorrect. This is
   due to it being largely composed of my memories from fourteen years
   ago, gossip from comp.sys.sinclair, rumours and speculations.
   Please feel free to Email any corrections to me if you know better.

See you in comp.sys.sinclair,

Matt Barber
University Of Greenwich
Email: M.Barber@greenwich.ac.uk