DSP Emulator v0.14 - Leniad 2001-2011
Well, this is just another emulator... but, what's the difference? This is a pascal open source emulator using Delphi/Lazarus enviroment. There are not so many emulators in pascal...
+ INFO: Emulator can handle ZIP format. You can load roms, tapes, snapshots or disks from a ZIP file.
+ FILES NEEDED: In Windows the emulator needs the library 'SDL.DLL' that must be in the same folder that the executable, you can download it from the emulator site or you can download the last version from 'www.libsdl.org'.
In Linux this library comes with your OS.
The emulator includes (not in WIP versions) inside the ZIP the ROMS for Spectrum 48K/128K/+3 (and variants), Amstrad CPC 464/664/6128 and Coleco. You can download more tapes, disks and coleco ROMS from the 'Spectrum is Alive!!!' and 'Coleco is Alive!!!' pages, from the original emulator web.
IS NOT ALLOWED DISTRIBUTE THIS EMULATOR WITH A COPYRIGHTED ROMS.
1.1-. Keys during emulation
'F2' --> Full speed/Normal SpeedArcade drivers basic keys are redefinable, by default are:
'1' --> Start player oneKeys for both players are redefinable, and you can select any joystick for any player and up to 6 buttons per player, by default keys are:
Player 1 Up --> Key 'Cursor UP'Any other control, by default, is not defined. You can redefine it in the main configuration menu.
Spectrum/Amstrad basic keys:
'F1' --> Play/Stop tapeThe joystick uses keys redefinable or external joystick.
In Amstrad CPC for use 'F1' to 'F10' keys you must press right Shift.
1.2-. Language Files
DSP is by default in English, if you want to change it using 'File -> Language' or click the Settings button. You can select Castellano, Catalan, English, German, French, Brazilian or Italian.
If you want to add another language, edit any file whith the extension '.lng' in the 'LNG' directory, rename it with the name of the languaje and send it to me to add it to the next version.
If the language files are not present, the emulation can not start.
1.3-. Configure DSP
Clicking the Settings button you can configure the options in the emulator can select the language, quality of audio, video settings, default directories, redefine keys/use joystick and redefine main keys.
In addition there are systems that can configure the options separately from the driver (Spectrum) and in arcade drivers, since version 0.12ß4 dipswitches can be modified through this button, to set game options.
You can select the sound quality: 11025Khz, 22050Khz and 44100Khz. The more quality you choose more cristal crear will sound the emulation.
If you do not have sound card the sound is turned off. Anyway you can select the option 'Mute' to save a few frames.
1.5-. Save Pictures
Since DSP 0.2wipb5 you can save GIF files from Spectrum emulation.
Since 0.7ß2 version you can also save JPG and PNG formats from all drivers.
1.6-. Initial Game List
Since version 0.9 there is the possibility of booting DSP with the list of games, which shows the games, computers and consoles available. Further information on the availability of ROMS for each system, distribution year, conpany, etc.
In general configuration you can choose this way of booting (show a game list), or the old way (load the last driver).
This driver have it's own configuration system. You can choose:
- ROMS: You can change Spectrum's ROM. Configure you favorite ROM in 'ZIP' format (the name of the ROM inside the ZIP must be the same of ZIP name, for example 'SPECTRUM.ZIP' and the ROM inside the ZIP 'SPECTRUM.ROM') or in ROM format.
By default the ROM files are:
-Spectrum 16k/48k: 'SPECTRUM.ZIP' --> 'spectrum.rom' CRC: 0xDDEE531F- Border: You can choose line by line emulation, pixel by pixel emulation (slowly but more exact) or disable border emulation (festest).
- Lens Lock: Enable/disable the LensLock protection simulation
- Spectrum 48K issue: Choose spectrum issue 2 or 3
- Joystick: You can choose from four joysticks; Kempston, Cursor, Sinclair 1 and Sinclair 2. Joystick is emulated with the redefinable keys or external joystick.
- Gunstick/Lightgun: The mouse is used as Gunstick, and left button is used as fire.
- AMX Mouse/Kempston Mouse: Use the mouse and the buttons.
- ULA+: Enable/disable ULA+ extended colors. Supported since 0.9ß3 version.
- AY8912 sound: Set the type of sound channels. Supports mono, stereo ABC channels and stereo ACB channels.
- Tape loading sound: Enable/disable the sound of the tape when loading.
- Speaker filter: Enable/disable filter to reduce the noise in speaker emulation.
- Speaker oversample: Quality of speaker emulation.
- Keyboard: Fully working keyboard emulation, and LShift and LControl working as Capshift and SimbolShift.
- Virtual Tapes: Can load ZIP, TAP, TZX, PZX, WAV and CSW. Fully working spectrum load schemes (bleepload, alkatraz, original rom...). With the mouse you can move inside virtual tape and select the star possition. Tape begin to play when detects - LOAD "" - and stop when reaches the final.
If inside the ZIP file there is a ROM file, emulator load fisrt ROM file and then loads then virtual tape.
Also, if inside the ZIP is a .SCR image, it's used as a preview.
- Snapshots: you can load Z80, DSP, SNA, SZX, ZX and SP. And you can save in SZX, Z80, DSP and SNA format.
- Audio: Spectrum beeper, and in version wich have it there is a AY-8912 emulation. You can choose the speaker rate, as high you choose the better sound quality.
- Floppy disk: Emulated all NEC-765 functions but write operations. Supports DSK format and 'extended' DSK.
- To do: Contented memory is not working correctly at 100%.
Amstrad CPC 464,664 y 6128
- ROMS: By default the files are:
-CPC-464: 'CPC464.ZIP' --> 'cpc464.rom' CRC: 0x40852F25- Keyboard: Mapped the keys for each of the CPC. To press the '|' press left shift key and '><' next to the Z.
- Joystick: emulated with the redefinable keys or external joystick.
- Virtual Tape: you can load ZIP, CDT, WAV and CSW. It's working the classical loading squemes (bleepload, alkatraz, SpeedLock ...). Use the mouse to move inside the virtual tape and select the starting position.
- Sound: Polyphonic sound from AY-8912 chip
- Floppy disk: Emulated the functions of the NEC-765, just missing writing functions. Supports the format 'DSK' and the 'extended' DSK formats.
-Snapshots are not implemented.2.2 Consoles
-Cartridge: Supports '.nes' ROM format, compressed in ZIP format or not.
-Keys: Use the redefined keys and 'SELECT' uses coin 1 (by default is mapped as key '5' and 'START' uses start player 1 (by default is mapped as the '1' key).
-Sound: Support sound, only remains DPCM
-Mappers: Supports 0,1,2,3,4,7,66 y 87
- SnapshotsGameBoy/Gameboy Color
-ROM: Not required, but if present are loaded and run as the original console.
The default ROMs names are
-GameBoy: 'GAMEBOY.ZIP' --> 'dmg_boot.bin' CRC: 0x59C8598E-Keys: Use the redefined keys and 'SELECT' uses coin 1 (by default is mapped as key '5' and 'START' uses start player 1 (by default is mapped as the '1' key).
-Cartridges: Supports cartridges '.gb' and '.gbc', compressed or not.
Mappers are supported are MBC0, MBC1 and MBC5.
-ROM: The ROM is needed for emulation
ROM file name is
-Coleco: 'COLECO.ZIP' --> 'coleco.rom' CRC: 0x3AA93EF3-Joystick: The numbers on the keyboard from '1'to '0' emulate the keys on the two joysticks. Keys 'Q' and 'W' emulate the Keys '*' and '#' of the two joysticks also, main joystick is emulated with the redefinable keys or external joystick (the secondary joystick does not have keys assigned). Does not support (still) the special joysticks.
-Cartridges: It supports the standard game cartridges (not expansion cartridges) with 'ROM' and 'COL' file extension. Support ZIP files, of course.
-Sound: Support the sound with AY-8912
Chip 8/Super Chip8
-ROM: Does not have. It's a simulation of a pseudo CPU.
-Keyboard: Mapped the system keys
1 2 3 A --> 1 2 3 4-Sound: basic sound
-Video: Supports 64x32 format from Chip8, 64x64 from Chip8 Hires and 128x64 from SuperChip8
-Files: Supports '.CH8' y '.BIN' formats
Some games, given the difficulty of emulating old sound systems, uses 'samples'. Such files are portions of digitized sound, played instead of emulating the sound system.br> Currently only some drivers use wholly or partly this system.
If you want the emulator to use the samples, put the files with the same name as the ROM in a folder named 'samples'.
2.3.2 Emulated Systems
3-. Contribute/Code distribution
If you make any improvements to any driver, processor, main code, etc. or add drivers, please send the changes to me, so they can be added to the main code.
If you use part of the code of the emulator for any non commercial purpose, you only need to add in the documentation/source something like 'Z80 core written by Leniad'. And please send me a email to see the written program. :-)
- First, of course, the MAME team. Without them, this emulator never had existed, thanks to distribute the source code to help many people, people like me. (And of course the 'MAME guru' Nicola Salmoria).
- Chris Cowley, author of VBSpec, from where I've pick a lot of information about Spectrum. In addition I've also got the part of the AY-3-8912 of its emulator, which is an excellent conversion that comes with MAME.
- Raul Gomez Sanchez author of the R80, one of the best Spectrum emulators for DOS, which use your debugger to trace errors in my emulator Z80.
- World of Spectrum, they have many tapes, snapshots, in addition many technical information, including the format TZX, DSK, Z80, etc.
- javi[@]fsmail.net that helped me in a moment of desperation, with directSound.
- Thanks to Michael Franzen, who sent me drivers for Pooyan, Coleco, System1, Chip8 and many others to be included in DSP.
- Thanks to Tom Walker, he sent me his driver CPS1 where I got and understood a lot of information.
- Thanks to sremulador he made the drivers list, and constant source updates and for begin the rewriting of NES driver
- And many pages of the Internet, many documents ... and people who I forget, thank you all.
The Coleco and Pooyan has been rewrited from the originals by Michael Franzen.
The CPS1 has been rewrited from the original by Tomas Walker.
The rest of the drivers the Z80 core, M6502 core, M6809 (HD6309) core, M68000 core, M680X core, TMS-32010 core, NEC v20/v30/v33 core, LR35902 core, M6805 core, MCS51 core,Hu6280 core and MB88XX core are writed by me, Leniad.
AY-3-8912 emulator is a conversion from Chris Cowley, but the original emulator come from MAME team.
SN76496, YM2203, TMS36XX, VLM-5030, YM3812/YM3526, YM2151, i8255, OKI6295, UPD7759, Z80PIO and Z80CTC emulators are a conversion writed by me from MAME original.
TMS99XX emulator have been rewrited from the original by Michael Franzen and have parts from MAME.
NEC765 emulator is a conversion writed and adapted by me, from MESS original.
GameBoy/GameBoy Color sound emulator is a conversion writed by me from MESS original.
NES sound emulator is a conversion writed by me from MAME original.
All Spectrum, CPC464, CPC664 and CPC6128 roms are copyright of Amstrad.
6-. Contact & Links
If you want to contact me, send me feedback or anything just use leniad2[@]hotmail.com
My DSP home page leniad.cjb.net
You can also download the offical version and WIP versions from Google Code page
If you want info...
if you want spectrum tapes, snapshot, info...
If you want Coleco games