ZXGP32 V1.0
=-=-=-=-=-=

2003-2005 - David Douglas

Many Thanks to
--------------
Christophe Lennard for the Gfx, including splash screen, fxe icon, virtual keyboard and menu icons.
CHN for sound ring buffer lib
Rlyeh for help implementing the chatboard support.
Mr Mirko - Who's chatboard code ZXGP32's chatboard support is based on.


Description
===========
48K/128K Spectrum emulator running an ARM Assembly Core:
48K games run full speed at 66Mhz (Some games are acceptable at 40Mhz), 128K at either 80Mhz or 120Mhz.



Features
========
CPU
---
ASM core with emulation of all opcodes, including undocumented ones.  Full emulation of 3 & 5 flags.

Machine
-------
Emulates 48K and 128K spectrums.  Due to issues of obtaining speed over accuracy memory contention is not emulated.

Sound
-----
Both 48K beeper sound and AY-3-8912 are emulated in pure ASM (with the exception of the ring buffer code provided by CHN).

Graphics
--------
Full colour display, with flash and bright colours properly emulated.
Choice between Fast Render (ignores ULA timings) or proper ULA screen build up (slow and not still not 100% accurate due to lack of memory contention emulation).

Keyboard
--------
Supports both virtual keyboard and chatboard.
Chatboard code should support changes to clockspeed without re-initialisation (press the SMS key if it stops responding though).

Joystick
--------
GP32 joystick can be set to emulate Kempston, Fuller, Cursor (Protek) or Sinclair joysticks.
GP32 joystick can also be assigned to spectrum keys.

Filetypes
---------
The following filetypes are supported: SNA, Z80, TAP.
The option exists to autoload TAP files.  This can be done by either selecting Autoload in the options menu, in which case all TAP files will autoload when selceted, or, if this option is turned off then holding down the left shoulder button while selected a TAP image in the file selector will autoload the TAP file.

Other
-----
Savestates are supported.  Saved file will be saved with the game name and the extension '.SAV'.  If loading a savestate that originally came from a '.TAP' image then this will need to be loaded before loading the savestate if extra levels need to be accessed. (Note: tape image can be selected after loading savestate providing autoload is turned off).

The filebrowser can be used to change directories therefore there is no rule as to where snapshots have to be stored.  The emulator will remember the last directory used.

The 'B' button can be mapped to any spectrum key, handy for games that use a keyboard key as well as a joystick (such as releasing the force in R-Type).

Speed throttling can be turned off.   Some games are actually better running faster than on a real speccy (Outrun, Castle Master, Eidolon).

Config files for each game are automatically saved when changes to config are made.



INSTALLATION
============
ZXGP32 should be installed in gp:\gpmm\
Roms should be in gp:\gpmm\ZXGP32\roms\
Config files will be stored in gp:\gpmm\ZXGP32\configs\
Games can be stored anywhere although the default is gp:\gpmm\ZXGP32\sna\


CONTROLS
========
Virtual Keyboard off: Joystick & Button 'A' emulates selected joystick input.
Virtual Keyboard on: Joystick & Button 'A' selects key to press.
Button 'B' emulates keystroke assigned to it.
Left Shoulder: Toggle Keyboard
Start Button: Display menu screen.
Select Button: Select file. 
Left Shoulder also autoloads TAP files if held down when selecting TAP files in filebrowser.



Known Bugs
==========
Bug that's affecting the display on Wec-le-mans and Chase HQ.
Please e-mail me with any further bugs you discover.



http://mysite.wanadoo-members.co.uk/daves_miniweb/
e-mail: daviddouglas@home5350.fsnet.co.uk