---------------------------------
Speccyal'K v0.7 (c) 2004 _tyrell_
------- www.speccyal.be ---------
---------------------------------

Features
--------

Speccyal K is Sinclair ZX Spectrum 48k & 128k emulator for the GamePark GP32 handheld console.

Features :

- Emulates the 48k and 128k models
- Can load SNA / TAP / Z80 (v1.45, v2.01, v3) / SLT / SCR file formats
- Virtual keyboard to enter any key and thus allowing a greater compatibility. It also allows entering the LOAD"" command on the basic command line to load the TAP file format.
- Full speed @ 132 mhz
- Mame z80 cpu core for great compatibility
- Beeper Sound and AY-3-8910 sound fully supported
- Options screen with options to choose the joystick emulation (sinclair1, sinclair2, cursor), the emulated hardware ... Options can be saved on the SMC.
- Kempston / Fuller joy emulation (automatic detection)
- File browser can be used to load a file anywhere on the SMC card
- Custom keys : key configs are saved for each game
- Savestates : press L + SELECT to save a game. The savestate will be automatically loaded the next time this game is selected.
- Fullscreen mode (somewhat slower & uglier :) )
- .TAP files autoloading
- Ericson Chatboard support

Usage
-----

Put speccyal.fxe in \GPMM.
Put the roms (128-0.rom and 128-1.rom) in \GPMM\SPECCYAL\
Put tape_48.z80 and tape_128.z80 in \GPMM\SPECCYAL\

The snapshots files can be anywhere on the SMC.

Keys :

- L : 'shift' key
- L + R : Options screen ("Select" button to save on SMC, "B" button to quit without saving)
- R : File browser
- START: reset machine
- SELECT: virtual keyboard ("B" button to choose a key). Note: if you want to load a .TAP file from 48k basic, press
'J' (LOAD), then " and then ", and finally enter ('en' in the virtual keyboard).
- A : fire (can be customized in the options menu)
- B : ENTER (can be customized in the options menu)
- L + SELECT : Save game (will be automatically loaded the next time this game is selected)
- L + A : Rewind tape (used when loading .tap files, to load previous headers on the tape)

Ericson Chatboard
-----------------

To use the chatboard, enter the options menu, switch the "Ericson Chatboard" to ON. Press B or SELECT.
It will then ask you to press the SMS key on the chatboard. It's now ready to be used ! Please note 
that this option is not saved on the memory card.

Keys :

- Left arrow = BACKSPACE
- '.' = ENTER
- '<' = CAPS SHIFT
- '>' = SYMBOL SHIFT

Due to the way the chatboard is working, it's not possible to press 2 keys simultaneously...
If you want to type " in basic, then enter the virtual keyboard, select SYMBOL SHIFT and press P.

Have fun !

_tyrell_

TO DO
-----

- TZX support

V0.7, 21-7-2004
---------------

- Enhanced .TAP files handling
- .TAP files are now autoloading (put tape_48.z80 and tape_128.z80 in \GPMM\SPECCYAL\)
- Ericson Chatboard support
- New icon
- Added intro screen
- Added background graphics in options screen
- Changed roms directory (now, 128-0.rom and 128-1.rom must reside in \GPMM\SPECCYAL\)

V0.6, 07-08-2003
-----------------

- Now the custom keys are saved for each game. That means it's no more necessary to re-assign keys for each game.
- Fullscreen mode. Please note that this using automatic frameskip = 1, to ensure correct speed
- Bugfix: the snapshots are not loaded anymore when pressing the "B" button in the file browser


V0.5b, 22-06-2003
-----------------

Minor update. Sound is rendered in 44,1 khz instead of 22 khz and it seems to have an impact
over the background noises that have plagued the emu until now. For example, if you have 
noise in Gunrunner or other games, get this version.

V0.5, 20-06-2003
----------------

- Rewrote the virtual keyboard. It's now like the 'real' speccy keyboard, and 
is displayed in a graphical way. Press LEFT and RIGHT for caps shift / symbol 
shift (only two keys are supported as of now : Symbol shift + P = ", Caps Shift 
+ 0 = backspace).
- Bug fixed : the 48k savestates are now working.
- Bug fixed : previously, when a 48k game was started before a 128k game, it 
was greatly slowed down (about 20-30% ! the reason was a problem with AY sound 
code emulation).
- Fixed flickering in the options screen
- Changed the way keys are handled, because pressing LEFT + RIGHT for saving a 
game was not very easy. LEFT is now only used as a 'shift' key. Here are the 
new keys : RIGHT = file browser, SELECT = keyboard, LEFT + RIGHT = options, 
LEFT + SELECT = savestate. Everyone should be happy with the new keys.

V0.4b, 26-05-2003
----------------

- Fixed a problem with the custom keys (cs,ss,en,bs were not working)

V0.4, 26-05-2003
----------------

Due to popular demand, I've added some frequently requested options and/or enhancements:

- Savestates added. For saving, press L+R simultaneously. A snapshot of the currently emulated machine will be performed to a .SAV file. 
This corresponds to a .SNA if working in 48k mode, or a .Z80 if working in 128k mode. The savestate will be *automatically* loaded the next 
time the game is selected in the file browser. Please note that as of now, loading a SLT savestate won't work. This is really 100% 
functional for 48k .ZNA or 48k/128k .Z80 files.
- Added a "reboot gp32" option (active as soon as the option menu is exited). This option is not saved on SMC, otherwise it would
be impossible to launch the emulator :p
- Added more keys in the virtual keyboard: ss, cs, en, bs, sp (symbol shift, caps shift, enter, back space, space).
- Changed the way the " key is working : it's not sending a LOAD"" command anymore, but is simply sending the " key, because it was causing
too many problems (depending on the rendering option).
- Recompiled with GCC. A nice side effect is that sound is better (less background noise).
- Reduced the executable size to about 50% of the original size, thanks to b2fxec (thanks Mr. Spiv)

V0.3, 11-05-2003
----------------

If you were not satisfied with the previous release, get this one ! Most of the 
previously known issues have been addressed.

- Sound is now almost "perfect" in most cases. No more background noise, and sound speed is correct.
- Added a FPS limiter (a side effect is that music which was playing too quickly in some games menus is now playing at the correct speed, e.g. Silkworm)
- CPU speed lowered from 132 mhz to 110mhz
- Optimized rendering
- Bug fixed: a crash was previously occuring while loading a 128k "Z80" or "SLT" snaphsot in 48k mode
- A fourth joystick emulation has been added, "User defined". If user selects this emulation, all defined keys will
be used. The user-defined keys are located in the options screen, in the "misc." section.
- Added a line by line rendering. This is slighty slower that the Fast Rendering mode, but if some games are exhibiting
sprite flickering, select the line by line rendering, this should fix the problem. In most cases, the fast rendering 
option should be left on the "on" position.
- Bug fixed: while loading snapshots, the screen border color was not set. This is now ok.
- The file browser only shows the compatible files (sna,z80,tap,slt,scr)
- Added a "frameskip" option. It should help speed up the emulator a lot in some games. This option only works in "fast rendering" mode as of now.

V0.2, 05-05-2003
-----------------

- Added AY-3-8910 sound ! Sound is very clean in some games. Try "head over heels" 128k version, "Rick Dangerous 2", "Tetris2" ...
However, in some games (especially in some menus) AY sound is not that good, there's some background noise. But all in all, I think
it's a welcomed feature, even if it's not 100% perfect.
- Enhanced Beeper sound. Now, it's a little bit clearer than before, and few or no background noise can be heard.
- Enhanced the virtual keyboard and added the space key (the '*' on the virtual keyboard). Now, press "B" button to
select the key and the "A" button to quit without pressing a key.
- Options screen: when pressing the "B" key, options are not saved but they are taken into account (was not the case before).

V0.1b, 04-05-2003
-----------------

- Fixed the "lock bug"

V0.1, 03-05-2003
----------------

- 48k and 128k models
- Can load SNA / TAP / Z80 (v1.45, v2.01, v3) / SLT / SCR file formats
- Virtual keyboard to enter any key and thus allowing a greater compatibility. It also allows entering the LOAD"" command on the basic command line to load the TAP file format.
- Full speed @ 132 mhz
- Mame z80 cpu core for great compatibility
- Beeper Sound (need some enhancements though)
- Options screen with options to choose the joystick emulation (sinclair1, sinclair2, cursor), the emulated hardware, and whether or not user wants to display the FPS ...). Options are automatically saved on the SMC. 
- Kempston / Fuller joy emulation
- File browser with possibility to load a file anywhere on the SMC card

Thanks go to (in no particular order) : Kroustibat, Mr Spiv (chatboard), Antiriad (gfx), MikeDX, Juergen Buchmueller for the great Mame z80 cpu core,
Don_Miguel for his file browser, rlyeh, and all the other peoples in the #gp32dev IRC channel !