
                     ZX-JAM Spectrum emulator v1.12

                (c) 1997 Written by Juan Antonio Moreno.

INTRODUCTION.

ZX-JAM is a spectrum emulator written in C and compiled with DJGPP. Although
it's not finished, these are some of the features in this version:

- ZX-JAM emulates spectrum 48k, spectrum 128k models and pentagon 128k
  (experimental only, I NEED MORE INFO !!!).
- Partial AY-3-8912 emulation, noise period and envelopes are not emulated.
  It works with GUS, OPL chip or PC speaker.
- Multi-color effects emulation (almost perfect. Maybe AMSTRAD and SINCLAIR
  ULAs work in a different way).
- Hi-resolution border (only vertical resolution).
- Spectrum interrupts based on vertical blank of PC monitor for smooth
  scroll.
- Supports .Z80 and .SNA snapshot files.
- Supports .TAP files.
- Emulates Spectrum at real speed.
- Z80 Debugger.
- Six screen modes (some old monitors does not support 51Hz refresh rates).
- Full coded in C, (portable to other platforms).
- This program is freeware (no registering limitations).

Bugs and things to do:

- Better spectrum beepper emulation.
- Full AY-3-8912 support.
- Horizontal resolution on border.
- Adjust memory access timing in order to fix multi-color effects.
- Add Joystick support.
- Support for configuration file.

If you find any bug not listed above, or if you want simply to get in
contact with me, please e-mail me to:

                         jamoreno@mx2.redestb.es

You can find newer versions at:

                 http://www.redestb.es/personal/jamoreno/

Thanks to:

- Ishmair. I based the AY emulation on his "THE END" emulator source code.
- Marcel de Kogel, for his Z80 engine. Note that I've modified a few things
  to support 16 bit I-O ports and .TAP loading.
- Maurice Muoz for giving me some important info and for their moral
  support.
- Javi Moreno for their moral support and beta testing.
- Andreas Schraepel for help me to find some bugs and include the emulator
  in his web page.
- Victor Barroso for lend me his Spectrum +2A.
- G .A. Lunter, Zeljko Juric and Samir Ribic. Most of the information I have
  about the spectrum is taken from the docs in their emulators.
- Manolo Broz for lend me his modem.


THE EMULATOR.


Hardware requirements.

The source code is not optimized, so you'll need fast pentium to run the
emulator without problems. I have a pentium running at 100Mhz, and it seems
to works fine. I don't know if in lower speed machines it will do, because
I've not tested this version in other computers.

The sound is emulated via GUS. However you can hear it through PC
speaker or any soundcard with OPL chip, but it's really bad.

For the graphics, a normal VGA will be enough, but a good monitor is
required, because I use video modes of 51Hz to syncronize the spectrum
interrupts with the vertical blank to get real speed. If your monitor or
your VGA card don't support this refresh rate, you can toggle the video mode
by pressing F8. With greater refresh rates the emulator runs at, faster
speed than a real spectrum, however it's possible adjust speed (the last two
modes), but scrolling won't be smooth.


Starting the emulator.

In order to run the emulator you need a DPMI server. If you are running
under an operating system without DPMI suport, such as MS-DOS, you'll need
the file CWSDPMI.EXE in your path or in the directory of the program.

Be sure that files ROM.48, ROM0.128 and ROM1.128 are in the same directory.
All they must be 16Kb long, and they are the rom image files. The first one
is the rom file for the 48k spectrum, and the other two are the roms for the
128k spectrum.

There is not any command-line options at the moment, so to start the program
simply type it.


Using the emulator.

Once the program is running you can use the following keys:

- F1. Main menu. ESC to exit.
- ALT+F2. Rewind the current tape file.
- F2. Choose the tape file to use for loading. ESC to cancel.
- ALT+F3. Reload the last snapshot file you selected.
- F3. Choose a snapshot file to load. ESC to cancel.
- F4. Save snapshot.
- F5. Select machine type and reset.
- F6. Sound options.
- F7. Select TAP loading mode. In fast mode some turbo loaders fail.
- F8. Choose video mode.
- F9. Call Z80 Debugger.
      - Enter to execute one instruction.
      - Space to execute instructions faster.
      - ESC to exit.
- F10. Exit program.
