Apple 1 Emulator for Sinclair ZX Spectrum, by Thomas Goering
Version 1.0 (06/01/2007)

This is a port of Simon Owen's Apple 1 emulator for the SAM Coupe to the
Sinclair ZX Spectrum.

It has been tested with several Spectrum emulators for Windows and Mac OS X but
not been loaded into a real Spectrum though. The emulator needs at least 48k of
memory but has not been tested on a 128k Spectrum.

The binary versions of the emulator are assembled with Ken Wessen's ROM version
which includes the Krusader Assembler (version 1.2) along with the monitor and
Apple BASIC. Refer to krusader12.pdf for how to use the Krusader Assembler.

Like Simon Owen's emulator this emulator also supports a type-in feature (which
I never tested, btw ;-) ), allowing text listings to be entered as though they
were typed.
This feature will most likely only work with Spectrum emulators because you need
to import data directly into the Spectrum memory at address &b800 (maximum
length is &0800).
You will need to ensure that the file is typed in the correct mode. Hex code
listings are in the startup monitor mode. For BASIC listings type E000R in the
monitor to run the BASIC ROM. For 6502 ASM listings type F000R to launch the
Krusader assembler.

For further details on using the Apple 1 monitor and BASIC as well as other
documentation and games, visit the File Library of the Apple I Owners Club:
http://www.applefritter.com/apple1

The archive contains two TZX files with different versions of the emulator:

Version 1:

- 16K RAM for Apple 1, type-in feature, hard reset

Hard reset initializes the whole Apple 1 memory (RAM + ROM). This is necessary
because the type-in feature limits the Apple 1 memory to 16K RAM which then
leads to memory overwrites (e.g. start Krusader, ESC and then try to start
BASIC)

Version 2:

- 32K RAM for Apple 1, no type-in feature, no hard reset

Special keys:

  CAPS SHIFT + SYMBOL SHIFT = ESC
  CAPS SHIFT + SPACE        = Soft Reset
  CAPS SHIFT + ENTER        = Hard Reset (only version 1 with 16K RAM for Apple
                              1)

---

Credits:

- Simon Owen for his Apple 1 emulator for the SAM Coupe:
  http://simonowen.com/sam/apple1emu/

- Ken Wessen for his Krusader ROM version:
  http://school.anhb.uwa.edu.au/personalpages/kwessen/apple1/Krusader.htm

- Julian Albo for this Z80 cross assembler Pasmo:
  http://www.arrakis.es/~ninsesabe/pasmo/

- The forum members of "World of Spectrum" for the keyboard routines and some
  more hints:
  http://www.worldofspectrum.org/

- Rodnay Zaks for his book "Programming the Z80":
  http://en.wikipedia.org/wiki/Rodnay_Zaks

Thomas Goering
http://thomas.goering.com/appleonesp/
