

HighSPEC - A HIGH resolution SPECtrum emulator
----------------------------------------------

Created by Tom Walker & Richard Phipps
Version 0.03 - (2nd November, 2003)



About
-----

HighSPEC is a radical new spectrum emulator for Windows. It is built around a WIP spectrum emulator (ZX82) written by Tom Walker in C using the Allegro Library. Tom has kindly given me permission to modify his original work as long as he is given full credits. Indeed, he is entirely responsable for the emulator itself. What makes HighSPEC so radical is the dynamic screen update mode and the smooth scale routines I have developed. Although not perfect these routines allow smooth scaled resolutions upto 1280 x 960. With the addition of dynamic screen updating, high frame rates can be achieved on modern PC's.

Never before have you been able to play Spectrum games at these kind of resolutions whilst not being pixelated. The experience breathes fresh air into many games, especially on a large LCD monitor as the display is very sharp!

HighSPEC is still very much a Work In Progress and there are many bugs and features lacking which I would like to add. It is still very similar to the original spectrum emulator written by Tom Walker. I have changed the order of the F-key functions, and I have also added emulated Cursor Joystick support using the Cursor keys and the Left Control key.


Performance:
------------

The Dynamic update mode and the smooth scale routines have not yet been seriously optimised. Netherless you will find that unless you use Dynamic mode the FPS rate will be very low even on powerful PC's. This is because of the amount of work needed for analysing the screen to smoothly scale it for every frame. Luckily HighSPEC's Dynamic update mode takes advantage of the fact that most games on the spectrum actually changed little of the screen between each frame. This was of course due to the low speed of the original machine, but gives us an advantage in that by only changing the parts of the screen which have changed we can achieve very high frame rates.

The exact speed will depend on the game, for example even some flip screen platformers draw most of the level each frame. While others such as Underworld only draw the sprites, and consequently have been found to play at full speed in 1024 x 768 fullscreen on a old pentium II 300mhz PC!

Even scrolling games seem to have a good performance on a modern PC, and fullscreen mode should always be faster than running in a window on the desktop so switch to that if the frame rate is low.


Requirements:
-------------

Allegro v4.0.3
A PC with at least 8 meg of memory.


Keys are :
----------

A-Z        - Same as on Spectrum
1-0        - ""
ENTER      - ""
SPACE      - ""
Left Shift - Shift
Left CTRL  - Symbol Shift

F1       - Open SNA/Z80 snapshot
F3	   - Toggle Update mode between Dynamic mode (only screen changes are drawn) and Static mode (all the screen is drawn). Dynamic mode is the default and by far the fastest for most games

F4       - Toggle window/fullscreen
F5	   - Scale mode x1 (256 x 192)
F6	   - Scale mode x2 (512 x 384)
F7	   - Scale mode x3 (768 x 576)
F8	   - Scale mode x4 (1024 x 768)
F9	   - Scale mode x5 (1280 x 960)

F10	   - Toggle sound on / off (default is on)
F11      - Toggle Dither protection on/off (default is on)
F12      - Reset Spectrum
Escape   - Exit program

+	   - Increase scale mode
-        - Decrease scale mode
/	   - Toggle FPS counter in windowed mode


Future:
-------

I would very much like to improve this emulator, but to some extent I am dependent upon Tom or some other person knowledgable of emulating the spectrum. As such, I would appreciate any help in improving this potentially great new emulation experience. Even though the smooth scale routines I have developed are for the time being not open source.

Thank you,
Richard Phipps. 



Contact Details:
----------------

Richard Phipps
(Thinking_Machine@hotmail.com)
www.shadecat.com


Tom Walker
tommowalker@yahoo.co.uk



Known bugs (listed by Tom):
---------------------------

File select box doesn't work properly. Hit F5, and watch all the files 
disappear. Haven't a clue why.
Doesn't quit properly some times.
Spectrum BASIC doesn't entirely work. The BEEP command in particular will crash
out. It's far too scary for me to have debugged yet.
Timing is a bit off. The Z80 emulation is infact being developed to be used in
a CPC emulator (once I've worked most of the bugs out), and that machine's odd 
timing is used.
There's a start at .Z80 loading, but it doesn't work yet.



Quick compatibility list :
--------------------------

Working:

A & F Software     Chuckie Egg

Codemasters        Seymour At The Movies

Domark             Star Wars

Durell             Fat Worm Blows A Sparky

Electric Dreams    R-Type
Electric Dreams    Spindizzy

Elite              Bombjack
Elite              Roller Coaster

Firebird           Bubble Bobble

FTL                Lightforce

Gargoyle           Ad Astra
Gargoyle           Sweevo's World

Hewson             Cybernoid
Hewson             Nebulus
Hewson             Pyracurse
Hewson             Quazatron

Imagine            W.E.C. Le Mans

Microsphere        Skool Daze

Mikro-Gen          Pyjamarama

Ocean              Batman
Ocean              Donkey Kong
Ocean              Head Over Heels
Ocean              Robocop

Psion              Chequered Flag

Software Projects  Jet Set Willy
Software Projects  Jet Set Willy 2
Software Projects  Manic Miner

System 3           IK+

The Edge           Bobby Bearing

Ultimate           Atic Atac
Ultimate           Knight Lore

US Gold            Spy Hunter

Vortex             Highway Encounter


Working, but with errors:

Elite              Space Harrier (floor drawn badly)

Odin               Heartland (some sprite errors)


Not working:

Micromega          Jasper (crashes back to BASIC)

Quicksilva         Ant Attack (crashes back to BASIC)

