From GameBrew

Last Updated2007/08/26

SpeccyDS is a Sinclair ZX Spectrum emulator for the Nintendo DS/DS Lite. The emulation is based on a ZX Spectrum 48K. 128K emulation is currently unsupported.


The archive contains both a .gba.nds and a .nds file. DLDI patch the .nds/.gba.nds file accordingly.

Place the .nds/.gba.nds file and Spectrum snapshot files (extension .SNA and .Z80) on the root directory of your flashcard.

Note: SpeccyDS includes the original Spectrum 48K ROM. Amstrad have kindly given their permission for the redistribution of their copyrighted material but retain that copyright.

User guide


Top Screen:

  • This screen displays the main Spectrum display.
  • Borders are not currently displayed.

Touch Screen:

  • This screen will change depending on the current operation.
  • The screen will display one of the following - Keyboard or Save/load screen.


  • The keyboard image displayed is dependant on the current setting selected on the Options screen.
  • The keyboard can be used in the same way as a normal Spectrum 48K spectrum. However, due to the nature of the touch screen, only one key can be pressed at once.
  • The Caps Shift and Symbol Shift keys are "sticky". If selected, they will stay depressed until they are selected again.
  • As on a Spectrum 48K, delete is located on the shifted 0 key.
  • The Reset button performs a hard reset of the Spectrum.



  • This screen is displayed after selecting the Load button on the keyboard screen.
  • The current folder (/ by default) is displayed, followed by a list of folders and Spectrum snapshot files (extension .SNA and .Z80) that are contained in the current folder on the homebrew media.
  • All other files are hidden. Only .SNA and .Z80 snapshot files are supported at this time.
  • If you are having problems finding snapshot files, it is possible to convert other spectrum file types to snapshots using any of the many Windows Spectrum emulators that are available.

Quick Load:

  • Selecting the Q to the right of the Load button will perform a quick load.
  • This will load the last .Z80 file saved using the Quick Save option.


  • This screen is displayed after selecting the Save button on the keyboard screen.
  • Entering a new filename using the touch screen keyboard and pressing Save will save the snapshot.
  • Snapshots are saved in standard .Z80 format and are compatible with other Spectrum emulators.
  • A .Z80 extension is added to the saved file if one is not already specified.

Quick Save:

  • Selecting the Q to the right of the Save button will perform a quick save.
  • This will perform a save to the pre-defined filename SpeccyDS_QuickSave.Z80.
  • This file will be loaded using the Quick Load function.

Navigate through file list:

  • The file list can be scrolled by using the up, down, page up and page down buttons to the right of the file list display or by using up and down on the D-Pad.
  • Selecting a folder using the touch screen or A will enter the folder. Selecting a snapshot file will load the file into memory, return to the keyboard screen and continue the emulation.
  • Selecting the Exit button or pressing B will exit the screen.


Settings screen:

  • This screen is displayed after selecting the Settings button on the keyboard screen.
  • Selecting Exit will save the current settings and exit the screen.
  • The current settings are saved in the file SpeccyDS.cfg, and are loaded when SpeccyDS restarts.


  • Kempston, Cursor, Sinclair 1 and Sinclair 2 joystick assignments can be used by selecting the relevant button.
  • Selecting the Define button allows you to assign a keyboard key to each button on the Nintendo DS. These defined keys are used when the Keyboard option is selected.


  • This screen allows you to assign a keyboard key to each button on the Nintendo DS.
  • To assign a key, press the button you want to define or select it from the touch screen. Then select the key from the keyboard that should be represented by that button.
  • The Spectrum keyboard displayed is dependant on the current Keyboard Gfx setting. Therefore, you can assign buttons to normally inaccessible keys (such as the cursors) by selecting the Spectrum +2 keyboard.
  • The Exit button saves the current assignments and returns to the Settings screen.

Keyboard Gfx:

  • This option defines the keyboard displayed on the main screen.
  • Spectrum 48K and +2 keyboards are currently available.

Border Size:

  • This option controls the size of the Spectrum border.


speccyds2.png speccyds3.png

speccyds4.png speccyds5.png


This version of SpeccyDS has been successfully tested on real hardware using a SuperCard CF and a DS-Xtreme.

Known issues

Currently, only the 48K Spectrum is emulated.

Only memory snapshot files are supported (.SNA and .Z80). Tape images (.TAP, .TZX, .PZX etc) are currently not supported.

Even though compatibility is now very good, there will be software that does not run correctly under emulation.


0.3 2007/08/26

  • Complete re-write of the GUI.
  • Improved the touch screen accuracy on some Nintendo DS systems.
  • Added Quick Save and Quick Load functionality
  • Added two new keyboard images. A Save keyboard and a Spectrum +2 keyboard.
  • Added a new global settings screen to replace the old Controls screen.
  • Added re-definable keyboard controls.
  • Added border size control.
  • Removed the maximim file limit on the Load screen. There is now no fixed limit.
  • Implemented several Z80 undocumented features, fixing the crash in Ghosts 'n' Goblins.
  • Fixed the flags on the Z80 CPI command, fixing the odd behaviour in Scrabble.

0.2a 2006/02/05

  • Upgraded to libfat, which inludes the DLDI driver.
  • Fixed .z80 loading routine. More .Z80 snapshots will now be accepted.
  • Fixed flag behaviour in DAA instruction to fix problems in Head over Heels.
  • Fixed HALT instruction (again!) to fix crash in Starquake.
  • Implemented a few undocumented instructions.
  • Optomised display routines.
  • Hooked up X and Y buttons.
  • Corrected Sinclair 1 and 2 joystick assignments.
  • Added border emulation (currently disabled).

0.2 2006/11/19

  • Fixed ARM7/ARM9 synchronisation to prevent sound corruption.
  • Altered ADD IX,SP and ADD IY,SP instructions to fix crash in Bubble Bobble.
  • Altered ROM protection to fix crashes in Megabucks and others.
  • Altered HALT instruction to fix crashes in Chaos, Critical Mass and others.
  • Corrected S flag behaviour in BIT instructions to fix Sabre Wulf.
  • Added button support to the file browser. Files can now be selected using the d-pad and A buttons.
  • Added auto scrolling to the file browser. Display can now be scrolled by holding down the buttons.
  • Filenames are now displayed in the correct case in the file browser.
  • Added .Z80 loading support.
  • Added .Z80 saving support.
  • Implemented REIN fat library to increase hardware compatibility.
  • The following games which did not work in the previous version are now working:
    • Arkanoid.
    • Asterix and the Magic Cauldron.
    • Bubble Bobble .
    • Chaos (Some graphical corruption remains).
    • Critical Mass.
    • MegaBucks.
    • Sabre Wulf (Fixed rhino behaviour).
    • Uridium.
    • Zynaps.

0.1a 2006/10/19

  • Enabled support for SD Cards. Tested on both SuperCard CF and SD.

0.1 2006/10/18'

  • Initial Revision.

External links