Speccy
version 5.9
Contents
New in This Version
- Fixed some .Z80 snapshots not loading when IF1.ROM is missing.
- Fixed loading Pentagon .Z80 snapshots.
- Fixed tape startup when auto-loading tapes.
- Fixed pasting code into BASIC by pausing after each ENTER.
- Fixed audio randomly not working on Speccy-Windows startup.
- Forcing Scorpion Kempston bit6 to 0 (Donkey Kong Jr works).
- No longer reading joystick configuration from .SZX files.
Introduction
Speccy emulates once popular Sinclair ZX Spectrum home computer, its
upgraded versions, and its clones. As Speccy is written in a portable C
programming language, it may run on many different platforms, such as
desktops, palmtops, cell phones, set-top boxes, newer videogame consoles,
DVD players, and even digital cameras. Currently available are Speccy
binaries for Windows and MSDOS, with ports to more platforms coming soon.
You can always get the latest Speccy binaries and support files from
http://fms.komkon.org/Speccy/
Although I had done some ZX-related work in the past and even maintained
comp.sys.sinclair FAQ at some point, for many years I abstained from
writing a Sinclair ZX Spectrum emulator. It was mostly due to the fact
that there were so many other Spectrum emulators around, so writing another
one seemed redundant. On the other hand, the lack of a Speccy emulator felt
like a gaping hole on my resume :). So, here it is, yet another Spectrum
emulator, trivially named Speccy. Currently, Speccy is not a commercial
project but rather a test bed to try out different things before introducing
them into my other emulators. Thus, feel free to use it as you wish (as long
as it is not commercial). If you find a bug, have an idea on the further
Speccy development, or would like to port Speccy to a new platform, please,
let me know either by email, or by using the
EMUL8 discussion group.
Since its creation, Speccy has been ported to Windows, MSDOS, and Symbian
platforms. The latter works on Nokia's phones running the 3rd edition of
the S60 software. For more information on Speccy-Symbian and my other
Symbian projects, see
http://fms.komkon.org/EmuSymbian/
The current version of Speccy has the following features:
- Platforms
- Sinclair ZX Spectrum 16kB
- Sinclair ZX Spectrum 48kB
- Sinclair ZX Spectrum 128kB
- Sinclair ZX Spectrum +2
- Sinclair ZX Spectrum +2A
- Sinclair ZX Spectrum +3
- Timex Sinclair TC2048
- Timex Sinclair TS2068
- Sam Coupe (unfinished)
- Didaktik Gama
- Pentagon
- Scorpion
- Input File Formats
- .SNA Spectrum Snapshots (48kB and 128kB)
- .Z80 Spectrum Snapshots (versions 1 through 3)
- .TAP Tape Images
- .TZX Tape Images
- .FDI Disk Images
- .DSK Disk Images (CPCEMU format)
- .TRD Disk Images
- .SCL Disk Images
- .SCR Screen Dumps
- .POK Cheat Files
- Output File Formats
- .SNA Spectrum Snapshots (48kB and 128kB)
- .Z80 Spectrum Snapshots (versions 1 through 3)
- .FDI Disk Images
- .TRD Disk Images
- .SCL Disk Images
- .SCR Screen Dumps
- .MID MIDI Soundtracks (both PSG and beeper are saved)
- Input Devices
- CapsShift+Cursor
- Cursor/Protek/AGF Joystick
- Kempston Joystick
- Fuller Joystick
- Sinclair Interface II Joysticks
- Kempston Mouse
- AMX Mouse (unfinished)
- Printers
Graphical printers are emulated by writing each dot as a character into
a text file. This creates large text "canvases" that you can scale in a
word processor by changing their font size, then print them on a real
printer. Character printers simply output text to a file.
- ZX Printer
- Timex TS2040
- Alphacom32
- ZX128 printer
- Audio
- ZX128-compatible AY8910 PSG
- Fuller AY8910 PSG
- Other Devices
Some of these are unfinished, but being worked on.
- ULA+ Video
- Multiface
- BetaDisk/TR-DOS
- Sinclair Interface I (unfinished)
- DISCiPLE (unfinished)
- PlusD (unfinished)
- Other
- Built-in debugger.
- Built-in configuration menu
- Beeper output conversion to melodic tones.
- Soundtrack logging into MIDI files.
- Automatic fire for joysticks.
- Emulation state saving and loading.
- Network multiplayer mode (Windows, Symbian).
- Simulated TV scanlines (Windows, MSDOS, Symbian).
- Video image interpolation (Windows, MSDOS, Symbian).
- Optional pause when window becomes inactive (Windows).
- Scanline effect simulation (Windows).
- Resizable window (Windows).
- Full-screen mode (Windows, MSDOS, Symbian).
- Virtual keyboard (Symbian).
- Configurable screen orientation (Symbian).
- Configurable backlight control (Symbian).
Keyboard Assignments
[LCONTROL] - SYMBOL SHIFT key
[LSHIFT] - CAPS SHIFT key
[ALT] - Joystick FIRE button
[PAUSE] - "Magic button" (NMI) when applicable
[PGUP] - Fast-forward emulation (also: [F9])
[ESC] - Quit emulation (also: [F12])
[F1] - Go into built-in debugger
[F2] - Turn soundtrack log on/off
[F3] - Toggle joystick autofire on/off
[F4] - Rewind and start tape
[F5] - Invoke runtime configuration menu
[F6] - Load emulation state from *.STA file
[F7] - Save emulation state to *.STA file
[F8] - Activate instant replay
[F9] - Fast-forward emulation (also: [PGUP])
[F10] - Toggle debug screen info on/off
[ALT]+[F10] - Toggle debug screen grid on/off
[F11] - Reset hardware
[F12] - Quit emulation (also: [ESC])
[ALT]+[PGUP] - Volume up
[ALT]+[PGDOWN] - Volume down
[ALT]+[ENTER] - Switch to full screen (Windows)
Command Line Options
Usage: speccy [-option1 [-option2...]] [filename]
[filename] = Name of the file to load [DEFAULT.Z80]
[-option] =
-verbose <level> - Select debugging messages [1]
0 - Silent 1 - Startup messages
2 - Disk I/O 4 - Illegal Z80 opcodes
8 - Memory mapper 16 - Illegal memory accesses
-skip <percent> - Percentage of frames to skip [0]
-home <dirname> - Set directory with system ROM files [off]
-help - Print this help page
-sync <frequency> - Sync screen updates to <frequency> [60]
-nosync - Same as '-sync 0'
-tv/-lcd/-raster - Simulate TV scanlines or LCD raster [off]
-linear - Scale display with linear interpolation [off]
-soft/-eagle - Scale display with 2xSaI or EAGLE [off]
-epx/-scale2x - Scale display with EPX or Scale2X [off]
-cmy/-rgb - Simulate CMY/RGB pixel raster [off]
-mono/-sepia - Simulate monochrome or sepia CRT [off]
-green/-amber - Simulate green or amber CRT [off]
-4x3 - Force 4:3 television screen ratio [off]
-fps - Show framerate counter [off]
-sound [<quality>] - Sound emulation sampling frequency [22050]
-nosound - Same as '-sound 0', turns sound off
-palette <filename> - Load color palette from given file [Speccy.pal]",
-palette <number> - Use given color palette [0]",
0 - Speccy colors 1 - RealSpectrum colors",
2 - Monochrome 3 - Green",
-16/-48/-128 - Emulate 16kB/48kB/128kB ZX Spectrum [-48]
-2+/-2a+/-3+ - Emulate 128kB ZX Spectrum +2/+2A/+3 [-48]
-ts2048/-tc2048 - Emulate Timex TS2048/TC2048 [-48]
-ts2068/-tc2068 - Emulate Timex TS2068/TC2068 [-48]
-didaktik - Emulate Slovakian Didaktik Gama [-48]
-scorpion - Emulate Russian Scorpion 256kB [-48]
-pentagon - Emulate Russian Pentagon 256kB [-48]
-psg/-nopsg - Emulate AY8910 PSG [-psg]
-drums/-nodrums - Use MIDI drums for PSG noise [-nodrums]
-melodic/-wave - Use melodic/waveform beeper sound [-wave]
-autorun/-noautorun - Load tapes and disks automatically [-autorun]
-tapesnd/-notapesnd - Emulate tape sounds [-notapesnd]
-fasttap/-nofasttap - Fast tape loader [-fasttap]
-kmouse - Emulate Kempston mouse
-amouse - Emulate AMX mouse
-kempston - Emulate Kempston joystick
-fuller - Emulate Fuller joystick and PSG
-cursor - Emulate Cursor joystick (keys [5]-[8],[0])
-cscursor - Emulate cursor keys + CapsShift
-if2 - Emulate InterfaceII joystick (keys [6]-[0])
-lightgun - Emulate Magnum Phaser light gun
-auto/-noauto - Autofire for joystick fire button [-noauto]
-zxprinter - Emulate ZX Printer [-zxprinter]
-ts2040 - Emulate Timex TS2040 printer [-zxprinter]
-alphacom32 - Emulate Alphacom 32 printer [-zxprinter]
-disciple - Emulate DISCiPLE disk interface
-plusd - Emulate MGT +D disk interface
-if1 - Emulate Sinclair InterfaceI
-mf - Emulate Multiface 1/128/+3
When compiled with #define DEBUG:
-trap <address> - Trap execution when PC reaches address [5800h]
(when keyword 'now' is used in place of the
<address>, execution will trap immediately)
With #define UNIX:
-saver/-nosaver - Save/don't save CPU when inactive [-saver]
-scale <factor> - Scale window by <factor> [2]
When compiled with #define MSDOS:
-vsync - Sync screen updates to VGA VBlanks [-vsync]
Frequently Asked Questions
- How do I load programs from tape?
To load a program from tape, load the tape into the emulator, then either
select the TAPE LOADER in the 128kB mode or press [J], [CTRL]+[P],
[CTRL]+[P], [ENTER]
in the 48kB mode. Your Spectrum is now ready
to load a program from tape. To start the tape, press [F5]
or go to the builtin menu ([F4]
) and check the TAPE RUNNING
option. The loading process will start.
- How do I speed up tape loading?
Tape loading happens at the same speed it would happen on a real Spectrum.
To speed it up, press the fast-forwarding button ([PgUp]
or
[F9]
).
History
New in Version 5.8
- Added initial support for Spectaculator snapshot files (.SZX).
- Added internal menu option to save .SZX snapshots.
- Added "File | Save .SZX Snapshot" menu option to Speccy-Windows.
- Added "Video | Show Framerate" menu option to Speccy-Windows.
- Most command line options should now work in Speccy-Windows.
- Increased synchronization timer precision in Speccy-Windows.
- Speccy-Windows will start in x2 size by default.
- Added
-fps
command line option to Speccy-Linux.
- Changed default sync frequency to 50Hz in Speccy-Linux.
New in Version 5.7
- Punctuation keys now work in both ZX Spectrum and Sam Coupe modes.
- Function keys now work in Sam Coupe mode.
- In Sam Coupe mode, press [CTRL]+[Fx] for emulation functions.
- In Sam Coupe mode, use [BACKQUOTE] for [EDIT] key.
- In Sam Coupe mode, use [BACKSLASH] for [INV] key.
- Preserving custom color entries when changing palette setting.
- Preserving Sam Coupe colors when changing palette setting.
- Added ASCII text injection functionality.
- Mostly fixed clipboard operation.
New in Version 5.6
- No longer showing "Open File" dialog when Speccy-Windows starts.
- Added "Hardware | Paste Clipboard" option to Speccy-Windows.
- Fixed clearing file associations in Speccy-Windows.
- Command line options should now be accessible in Speccy-Windows.
New in Version 5.5
- Added proper Sam Coupe screen mode #3 display.
- Added handling of cases where .SAD disk image has .DSK extension.
- Added internal menu options for saving .SAD disk images.
- Added support for more raw disk image formats.
- Added simple CPU-based linear scaling algorithm.
- Added
-linear
command line option.
- Now disabling all trapdoor-based devices in Sam Coupe mode.
- Fixed reset when replacing disk image with LoadFile().
- Fixed auto-loading disk images in Spectrum +3 mode.
- Fixed palette updates when rewinding in Sam Coupe mode.
- Fixed light pen port, assuming no light pen for now.
- Fixed SAA1099 PSG sound.
- Added Speccy-Windows options for saving .SAD disk images.
New in Version 5.4
- Added support for loading and saving Sam Coupe Snapshot (.SCS) files.
- Added support for loading Sam Coupe Disk (.SAD) files.
- Added separate functions for loading and saving in default state format.
- Refactored code, moving snapshot loaders into separate source files.
- Refactored generic disk image library, adding .SAD loading and saving.
- Fixed palette changes between Sam Coupe and ZX Spectrum modes.
- Fixed autoplay starting when loading a palette on ZX128.
- Added .SCS save option to Speccy built-in menu.
- Added "File | Save .SCS Snapshot" option to Speccy-Windows.
- Added drag'n'drop files functionality to Speccy-Windows.
- Graying out irrelevant save options in Speccy-Windows.
New in Version 5.3
- Refactored scaling and special effects framework.
- Optimized scaling for large screens and windows.
- Fixed Speccy-Windows behavior with multiple displays.
- Added "Video | Interpolate Video | Linear Scaling" option to Speccy-Windows.
- Enabled "Video | Stretch Full Screen" option with effects enabled.
- Enabled "Video | Force 4:3 Screen" option with effects enabled.
- Added "File | Clear Settings and Quit" option to Speccy-Windows.
- Fixed small windows behavior in Speccy-Windows.
- Fixed window position behavior in Speccy-Windows.
New in Version 5.2
- Added loading custom palettes with
-palette <filename.pal>
parameter.
- Added predefined palette selection with
-palette <n>
parameter.
- Added support for
.pal
files to Speccy-Windows "Open File" dialog.
- Saving physical joystick/gamepad selections in Speccy-Windows.
- Saving palette selection in Speccy-Windows.
- Now silencing PSG channels with Fnum=0.
New in Version 5.1
- Fixed loading of Spectrum +3 disk images that use SpeedLock.
- Fixed uPD765 FDC status, as expected by SpeedLock boot loader.
- Disk-based Spectrum +3 software that uses SpeedLock tries booting now.
- Fixed WD1793 FDC status reporting, as expected by Sam Coupe.
- Disk-based Sam Coupe software works now.
- Fixed Sam Coupe memory page switching.
- Fixed Sam Coupe line coincidence interrupts.
- Added loading of Sam Coupe disk images.
- Added extra 256kB RAM to Sam Coupe.
- The [ALT] key acts as both FIRE and CONTROL in Sam Coupe mode.
New in Version 5.0
- Moved PSG sound computation to Sync8910().
- When loading .Z80 files, PSG sound starts playing right away.
- Fixed airplane sounds in Auf Wiedersehen Monty.
- Fixed beeper conversion to melodic audio.
- Fixed MIDI playback in Speccy-Windows.
- Minor fixes to MIDI recording.
New in Version 4.8
- Made replay save states approximately every 170ms.
- Added ability to browse through paused replay.
- During replay, press [UP] to pause or resume.
- When replay paused, press [LEFT] and [RIGHT] to browse.
- Press any other button to continue playing.
- Now cancelling replay if any key or button is pressed.
- Made
WaitJoystick()
exit when window closed.
- Fixed NMI and REWIND keys in Speccy-Linux.
New in Version 4.7
- Added remaining time display during replay.
- Stopping replay when emulation reset or state loaded.
- Fixed replay rollover mechanism.
- Added shadow underneath the time display.
- Compiled Speccy-Unix with
-Wall
and eliminated warnings.
- Replaced
-DNO_WAVE_INTERPOLATION
with -DWAVE_INTERPOLATION
, off by default.
- Deprecated
-DSOUND
, sound code always compiles now.
New in Version 4.6
- Fixed DirectInput joysticks support in Speccy-Windows.
- Made directional pads work on XBox gamepads.
New in Version 4.5
- Added multiple monitor support to Speccy-Windows.
- Fixed disappearing window in Speccy-Windows.
- Fixed best full-screen mode detection in Speccy-Windows.
- Fixed window flicker that appeared after recent Win10 updates.
- Moved disk options to "Hardware" menu in Speccy-Windows.
- Switched Speccy-Linux to using PulseAudio sound.
- Updated old PulseAudio driver for 64bit Linux.
New in Version 4.4
- Added support for DirectInput joysticks to Speccy-Windows.
- Moved all input-related options to the "Input" menu in Speccy-Windows.
- Fixed crash when changing audio sampling rate in Speccy-Windows.
- Fixed "Wave To Melody" checkmark in Speccy-Windows.
- Added "Draw 65% Frames" option to Speccy-Windows.
- Fixed screen updates after changing scaling algorithm in Speccy-Windows.
New in Version 4.3
- Computing effective waveform power in MIDI playback and recording.
- Fixed "Hit MIDI Drums" option in Speccy-Windows.
- Added "Nearest Neighbor" option to disable linear interpolation.
New in Version 4.2
- Added "Force 4:3 Screen" option to Speccy-Windows.
- Added
-4x3
command line option to Speccy-Unix.
- Speccy-Windows will not overwrite last software file name with other names.
- Fixed file associations on Windows 8+.
- Fixed sound sampling rate setting across all platforms.
New in Version 4.1
- Made variable length pause work in .TZX tape loader.
- Added Scale2X scaling algorithm.
- Added Monochrome, Green, Amber, and Sepia CRT emulation.
- Added
-scale2x
and -raster
command line options.
- Added
-mono
, -sepia
, -green
,
and -amber
command line options.
- EMULib-specific command line options now processed inside EMULib.
- Added "Scale2x Algorithm" and "LCD Raster" options on Windows.
- Renamed "Color Raster" menu to "Color Filter" on Windows.
- Deprecated
-notv
and -nolcd
command line options.
New in Version 4.0
- Added special effects simulating individual pixel components.
- Added EPX and EAGLE image scaling algorithms.
- Merged scanline options into "Simulate Scanlines" in Speccy-Windows.
- Merged scaling options into "Interpolate Video" in Speccy-Windows.
- Merged palette options into "Color Palette" in Speccy-Windows.
- Added "Clear File Associations" option to Speccy-Windows.
- Added "Play Sound When Inactive" option to Speccy-Windows.
- Added "Apply Color Raster" submenu to Speccy-Windows.
- Added
-rgb
and -cmy
command line options.
- Added
-epx
and -eagle
command line options.
New in Version 3.9
- Fixed memory corruption bug in the instant replay recorder.
- Fixed instant replay not restoring successive states.
- Fixed instant replay not recording the first state.
New in Version 3.8.3
- Fixed Cursor and Interface II joysticks, broken in version 3.8.
- Fixed automatic fire functionality.
- Fixed full-screen mouse operation in Speccy-Windows.
New in Version 3.8.1
- Fixed tape/disk autoload feature, accidentally broken in version 3.8.
- Added Replay function, letting you "rewind" gameplay (press [F8]).
- Made fullscreen mode more robust in Speccy-Windows.
- Added "Stretch Full Screen" option to Speccy-Windows.
New in Version 3.7
- Added optional debug information overlay (F10 to toggle).
- Added optional 16-pixel debug screen grid (ALT+F10 to toggle).
- Added second Kempston joystick at port 37h (Bomb Munchies).
- Fixed second joystick support everywhere.
- Added proper texture-based Direct3D rendering in Speccy-Windows.
- Added "Simulate LCD Scanlines" option to Speccy-Windows.
- Added "Debugger", "Info Overlay", "Grid" options to Speccy-Windows.
- Added links to World Of Spectrum to Speccy-Windows.
- Added
-lcd
and -nolcd
command line options.
- Fixed save/restore function in Speccy for Windows and Linux (F7/F6).
- Fixed saving the last filename in Speccy-Windows.
New in Version 3.6
- Added fast tape loading, via patched LD-BYTES ROM call.
- Tapes with custom loaders still load at original speed.
- Added Magnum Light Phaser emulation (Lightgun Games).
- Added second Kempston joystick at port 5Fh (Bomb Munchies).
- Fixed currently refreshed attribute at port FFh (Solar Invasion, etc).
- Added "Fast Tape Loader" option to Speccy-Windows.
- Added "Tape Running" option to Speccy-Windows.
- Added
-fasttap
and -nofasttap
command line options.
- Added
-lightgun
and -amouse
command line options.
- Now disabling TRDOS when loading a tape image.
- Fixed [ALT] key in Sam Coupe mode on Speccy-Windows.
- Fixed "Draw All Frames" menu option in Speccy-Windows.
- Fixed automatic tape startup to happen when ENTER pressed.
- Fixed freeing tape memory on exit.
New in Version 3.4
- Moved default debug breakpoint to 0x0065 (Castlevania now works).
- Improved AY8910 and SAA1099 PSG noise generators.
- Key clicks in Sinclair BASIC sound normal now.
- Fixed sound tone remaining after disabling melodic sound.
- Fixed crashes when sound disabled.
- Added "Autoload Tapes and Disks" option to Speccy-Windows.
- Added "-autorun" and "-noautorun" command line options.
New in Version 3.3
- Improved sound quality, no more clicks and scratching.
- Now rendering beeper sound separately from melodic channels.
- Made sure rendered sound does not fall behind the audio playback.
- Now disabling wave-to-melody when sound rate selected in Speccy-Windows.
- Fixed menus initialization in Speccy-Windows.
New in Version 3.0
- Added Sam Coupe emulation, will improve it in future versions.
- Majorly improved AY8910 PSG emulation.
- Improved WD1793 disk controller emulation.
- Added SAA1099 PSG emulation.
- Automatically enabling TRDOS for .TRD, .SCL, or HOBETA files.
- Fixed +3 mode selection to happen for .DSK files (was .SCL).
- Fixed recognition of multiple file extensions.
- Fixed tape auto-load feature for Sam Coupe.
- Fixed loading color palettes.
- Added vertical scanlines simulation to Speccy-Windows.
- Added raster effect simulation to Speccy-Windows.
- Added slope to rectangular waveforms.
New in Version 2.2
- Added ULA+ emulation with 64-color display mode.
- Added support for custom color palettes for each tape or snapshot.
- If you have Game.z80 or Game.tzx, place colors into Game.pal.
- Each *.pal file should contain 16 lines with colors in "#RRGGBB" format.
- Added support for global color palette.
- Made display mode changes more reliable.
New in Version 2.1
- Added accurate R register emulation, many protected boot loaders run now.
- Added accurate LDIR/LDDR emulation, more protected boot loaders run now.
- Autoloading TRDOS and +3 disks when inserting the first disk.
- Autoswitching to +3 mode when loading +3 disk image.
- Fixed audio skipping (disk version of Any Tank, etc).
- Added undocumented opcode 71h to the Z80 emulation.
- Added more realistic "LD R,A" opcode to the Z80 emulation.
- Now automatically starting BASIC tape loader when using a tape.
- Now properly restoring full-screen mode in Speccy-Windows.
New in Version 1.9
- Added state saving, with automatic retrieval on startup.
- Added support for the ZX128 printer.
- Now automatically starting BASIC tape loader when using a tape.
- Switched Windows version to use Direct3D in full-screen mode.
- Added proper Windows joystick support.
- Ported Speccy to Android platform.
- Ported Speccy to Harmattan platform.
New in Version 1.7
- Fixed WD1793 READ-ADDRESS command so that it no longer sets
NOT-READY status bit.
- Added .Z80 file saving/loading for Scorpion and Pentagon.
- Added "Green CRT" palette selection.
- Made built-in configuration menu accept mouse input.
- Ported Speccy to Maemo5 (aka Fremantle).
- Added accelerometer based tilt controls to Speccy-Maemo5.
- Added Maemo-specific configuration menu to Speccy-Maemo5.
- Added customizable key mappings to Speccy-Maemo5.
- Added fast-forwarding with [Ctrl]+[Space] to Speccy-Maemo5.
- Added fast-forwarding with unused screen corners to Speccy-Maemo.
- Multiple other small fixes and additions to Speccy-Maemo.
New in Version 1.6
- Created Speccy-Unix port, currently available in
binary form for Ubuntu Linux.
- Extended Speccy-Symbian port to support UIQ3
phones from Sony Ericsson and Motorola. As I only have a key-operated
Motorola Z8, testers with pen-based SE phones are badly needed.
- Added support for Russian Pentagon 256 computer, including RAM mapper,
TURBO mode, HiColor, HiRes, and 16Color graphics modes.
- Added support for Czechoslovakian Didaktik Gama computer.
- Added support for Scorpion TURBO mode.
- Added RealSpectrum and monochrome color palettes.
- Added palette selection to built-in menu.
- Fixed exit from Scorpion MONITOR menu.
- Fixed Spectrum +2 support (was loading the wrong ROM file).
- Changed Scorpion port mappings to <NNx1xxxxxxxx1101>.
- Fixed a bug that made all hardware other than ULA ignore accesses
to <xxxxxxxxxxxxxxx0> ports.
- Added emulation for the 128kB/+2 Spectrum bug where reading from
port 0x7FFD made hardware write the floating bus value into
this port.
- Made 0x8000..0xFFFF address space return 0xFFs in 16kB Spectrum
mode.
- Moved NMI and REWIND button handling inside the core Speccy code.
- Improved Symbian sound code, although sound problems still
persist on some UIQ3 phones.
- Split Speccy-Symbian/S60 configuration menu into four tabs, making
"Video" and "Audio" settings separate.
- Added "Audio Latency", "Skip Frames", and "Sync Updates" settings
to Speccy-Symbian.
- Added to Speccy-Symbian ability to use Nokia E61/E62 [FUNC] key
in the built-in menu.
- Fixed a Speccy-Symbian bug where pieces of virtual keyboard remained
on screen after closing it.
- Pressing [8] key on Speccy-Symbian now invokes virtual keyboard, if
enabled, for the phones which do not have the [EDIT] key.
New in Version 1.5
- Added network play option to Speccy-Windows and Speccy-Symbian!
- Added support for "EXTENDED CPC DISK" .DSK files (ZX Spectrum +3).
- Added
-verbose
bit for illegal memory accesses.
- Now polling joystick once per screen update to save on CPU
cycles and network traffic.
- Fixed a bug in Z80 OUTDR/OUTD/etc. opcodes where B register was
decremented after performing OUT operation. ZX Spectrum +3 disk
writes work now.
- Fixed uPD765 IRQ-STATUS command to return "invalid command" when
no IRQs pending. CP/M-80 now boots on Spectrum +3.
- In ZX Spectrum 128kB mode, only paging in TR-DOS from BASIC, but
not from BIOS.
- Made [BACKSPACE] key generate [CSHIFT]+[0], i.e. Spectrum key
combination to delete a character.
- Continued working on the DISCiPLE/+D disk drive support.
- Added new, much better, scanline simulation and video softening
effects to Speccy-Windows.
- Speccy-Windows full-screen mode now runs in 640x480 resolution.
- Added "Scorpion 256kB" option to the Speccy-Windows menu.
- Added
-sync/-nosync
option to Speccy-MSDOS to sync
screen updates to the timer (use -vsync
for VBlanks).
- Added
-zoom/-nozoom
option to Speccy-MSDOS that will
zoom Spectrum display to fill the whole screen, using image
softening algorithm.
- Speccy-MSDOS now runs in 640x480x15bpp VESA screen mode when
-zoom
or -tv
options used, otherwise
it runs in 320x200x15bpp screen mode.
- Switched Speccy-MSDOS from outdated DOS4GW to more up-to-date
DOS32a extender.
- Added [CONTROL]+[F8] key combination to Speccy-MSDOS to toggle
display zoom on/off.
- Added new "Fill & Soften" zoom mode to Speccy-Symbian. It is
rather slow though.
- Added ability to use virtual keyboard in Speccy-Symbian to enter
filename when saving a snapshot from the built-in menu.
- Added Spectrum +2 and +3 ROMs to Speccy-Symbian installation.
- Fixed problem with gameplay being too fast in Speccy-Symbian.
- Fixed possible source of instabilities in the S60 open file dialog
in Speccy-Symbian.
- Fixed exit via Symbian-specific menu.
- Fixed premature termination of the emulation thread when exiting
Speccy-Symbian, soundtrack recording and config saving work again.
- The [C] ("Clear") key is not longer used to toggle sound in
Speccy-Symbian. It acts as [BACKSPACE] instead.
New in Version 1.4
- Added support for uPD765-based disk drives found in ZX Spectrum +3.
Speccy will now accept .DSK disk images in the CPCEMU format.
- Added support for POKE files (.POK) usually containing game cheats.
Speccy will automatically try loading a corresponding .POK file for
every .Z80 or .SNA snapshot.
- Added a built-in menu options to load and manage game cheats.
- Built-in menu now shows and loads GZIPped disk images.
- Added virtual keyboard to Speccy-Symbian, invoked by pressing
[EDIT]
or left [SHIFT]
key. The keyboard
can work in three modes: "Off", "Single Key Entry", and "Multiple
Keys Entry".
- Added configurable display orientation and backlight control to
Speccy-Symbian.
- Finally fixed opendir() problem on Symbian. All built-in file
dialogs work now!
New in Version 1.3
- Inlined WrZ80() for better performance.
- Added support for multiple disk drives.
- Improved support for DISCiPLE and +D interfaces (still incomplete).
- DISCiPLE/+D and ZX Printer can't be used at the same time.
- Split disk image handling from the FDC emulation.
- Added support for GZIPped disk images.
- Now freeing floppy disk buffers on exit.
- Now setting NOT-READY WD1793 flag when the disk drive is empty.
- Improved file type detection.
- Added menu options to save .MGT and .IMG disk images.
- Further extended and optimized Symbian screen rendering routines.
- Fixed and optimized TV scanline simulation in Speccy-Symbian.
- Made scanline effect stronger in Speccy-Symbian.
- Added frame rate display option to Speccy-Symbian.
- Added "fill screen" zoom option to Speccy-Symbian.
- Added MIDI soundtrack logging to Speccy-Symbian (saved into
E:\Sounds and can be used as ringtones).
New in Version 1.2
- Changed the way Z80 NMI interrupt works to comply with the standard.
- Changed Z80 HALT instruction to always terminate on an IRQ request,
even when interrupts are disabled.
- Fixed several bugs in the ExecZ80() function (thanks go to Martin
Fiedler).
- Added working WD1793 emulation (TR-DOS now works).
- WD1793 I/O ports are only enabled when the TR-DOS ROM is paged in.
- Kempston and other I/O ports interfering with WD1793 are now disabled
when the TR-DOS ROM is paged in.
- In Scorpion mode, setting upper kempston port bits to ones.
- Fixed DISCiPLE/+D trapdoor mechanism.
- Added support for .TRD, .SCL, .FDI, and .$ (Hobeta) disk images.
- Added builtin menu options to save .TRD, .SCL, and .FDI disk images.
- Split "Input Devices" menu from the "Peripherals" menu.
- Now resetting Spectrum when a trapdoor addon like Multiface or
TR-DOS has been enabled or disabled.
- Now trying to load ZXS128TR.ROM BIOS file when both 128kB and TR-DOS
options are enabled.
- With TR-DOS enabled, Speccy will now automatically start in TR-DOS
mode.
- Added more debugging message options (-verbose).
- Added error messages to Speccy-Windows.
- Added key remapping configuration to the Speccy-Symbian application menu.
- Speccy-Symbian application menu is now split into three pages.
- Speccy-Symbian now saves settings on exit.
- Extended this documentation.
New in Version 1.1
- Added Timex Sinclair HiRes and HiColor modes (HiRes currently
downscaled to 256 pixels).
- Fixed Timex Sinclair PSG-based joystick interface.
- Added an option for playing tape sounds.
- Added Windows joystick support.
- Added joystick button configuration.
- Inlined RdZ80() function for better performance.
- Replaced "updates per VBlank" (
-uperiod
) with
"percentage of skipped frames" option (-skip
).
- StretchBlt() slowdown problem in Windows 2000/XP solved.
- [ALT]+[F4] now quits application in Windows, as it should.
- Properly saving CPU time when inactive, waiting for a key
or display sync.
- Properly checking sound track logging menu option on [F2].
New in Version 1.0
- Emulating 16k, 48k, 128k, +2, +2A, and +3 Spectrums, Timex TC2048
and TS2068. Incomplete Pentagon emulation (no disks yet).
- Loading and saving 48k and 128k .SNA files.
- Loading and saving .Z80 files versions 1..3, with or without
compression.
- Loading .TAP and .TZX tape images.
- Loading and saving .SCR screenshots.
- Emulating Cursor/Protek/AGF, Kempston, Fuller, and Interface II
joysticks.
- Emulating Kempston mouse. AMX mouse support isn't finished yet.
- Emulating AY8910 PSG, both in 128k-compatible mode and Fuller mode.
- Emulating ZX Printer, Timex TS2040 printer, and Alphacom32 with
ASCII art written to a file.
- Emulating some Centronix ports, output written to the same file
as ZX Printer output.
- Emulating Multiface, Multiface 128, and Multiface +3, depending on
the Spectrum model selected.
- Incomplete emulation for DISCiPLE, +D, Betadisk (aka TR-DOS),
Sinclair Interface I (no disks, serial ports, or microdrives yet).
- Beeper sounds can now be automatically converted to melodic tones
and saved to a MIDI file, together with PSG soundtrack.
- Moved both Windows and MSDOS versions to a new framework.
- Added framebuffer-based runtime menu which should work on all
platforms.
- Added new framebuffer-based Z80 debugger which should work on all
platforms.
© Copyright by
Marat Fayzullin
(marat [AT] komkon [DOT] org)