ZXDS home page

ZXDS running on Nintendo DS.

Welcome to ZXDS homepage.

ZXDS is an emulator of Sinclair ZX Spectrum for Nintendo DS and 3DS, written by Patrik Rak. It accurately emulates Spectrum 48k, 128k, +2/+2A/+3, and Pentagon, and supports SNA/Z80/SZX snapshots, TAP/TZX/PZX tape files, TRD/SCL/DSK disk files and RZX replay files. It has some other noteworthy features, like the ability to download all these files online over WiFi, peer-to-peer WiFi multiplayer, or Kempston mouse emulation. It is available entirely for free, however donations are a nice way of saying "Thank You!".

Download and installation

First download the correct archive using one of the links below, then follow the instructions for your handheld model.

Download ZXDS 2.2.2 for Nintendo 3DS/2DS          (and consider donating if you like it!)

Download ZXDS 1.4.1 for Nintendo DS/DS Lite/DSi

3DS users

Unpack the downloaded archive, remove the SD card from your handheld, insert it into your computer, and copy only the entire ZXDS directory (not just its content, but the directory itself) to the root of the SD card. Make sure that even the empty subdirectories are copied properly (in particular, make sure the /ZXDS/Saves directory is created, otherwise the save slots won't be saved permanently to your card). Then copy the ZXDS.3dsx to the /3ds directory on your SD card (or whichever place you run the homebrew applications from).

If you have used ZXDS on a DS before, note that you may copy your entire ZXDS directory from your DS card to this SD card, too. All the files are compatible, with the only exception of files in /ZXDS/Graphics, which are now 320x240 instead of 256x192.

Note that in order to run properly and generate audio, ZXDS needs the DSP firmware installed. It's quite likely you have it already, but if you haven't done so yet, ZXDS will let you know. In such case I suggest you google for "3DS guide DSP setup" and follow the steps regarding DSP firmware installation which should create the /3ds/dspfirm.cdc file on your SD card.

DS users

Unpack the downloaded archive and copy only the entire ZXDS directory (not just its content, but the directory itself) to the root of whatever device you use to run homebrew on your DS. Make sure that even the empty subdirectories are copied properly (in particular, make sure the /ZXDS/Saves directory is created, otherwise the save slots won't be saved permanently to your card). If you wish so, you may then relocate the ZXDS.nds to elsewhere on the card, like to the root itself, to make it more accessible.

The provided binary ZXDS.nds is primarily intended for Slot-1 (DS slot) based cards. Most of these cards now support automatic DLDI patching, so you likely won't have to bother with that at all. Just give it a try and you will see. If it won't work for you right away (meaning you won't be able to see any files to load in the load requester) you might need to patch it with a specific DLDI driver for your card with a DLDI patcher, both of which you can find here. If you need the ZXDS.ds.gba version which is better suited for Slot-2 (GBA slot) based cards, simply follow the instructions provided here. Note that you will likely need to DLDI patch it first in this case. If it still doesn't work, I am really sorry, but there is not much I can do about it. Please do NOT contact me regarding if it works or doesn't work on your card. Thanks.

Everyone

Other directories in the archive contain optional extras, so check the README files in each and install their content to the right place only if you want to. For example, you may want to copy the custom keyboard examples to /ZXDS/Data/Keyboards.

You should also copy some tape, disk, snapshot or replay files to your card. Either TAP/TZX/PZX tape files, TRD/SCL/DSK disk files, SNA/Z80/SZX snapshots or RZX replay files are supported. You can place them anywhere you want, however the /ZXDS/Data directory is looked up first by default. For your convenience, I have included few Spectrum games and demos in the archive itself, so you can at least give it a go. And you can find pointers to much more software further down this page. In particular, don't miss my list of the recommended games.

Alternatively, if you have WiFi access, you can just rely on the /ZXDS/Data/Online directory and browse the plethora of files available online. If you want that, read the online.txt included in the ZXDS archive for more info.

Using the emulator

Simply run ZXDS the same way you run any other application.

Upon startup, just follow the builtin online help which shall provide you with all the instructions you will need (remember to turn the help off once you get familiar with individual icons and menus, it would only slow you down otherwise). You will basically need to load some file via Load File screen of I/O menu (pressing START gets you there quickly by default), then perhaps adjust controls via the Controls screen, and you are all set.

The control mapping can really make a difference, so make sure you customize it the way you like it most for any serious gaming. For example, in case you have problems pressing the diagonals, it helps to map the up direction to the B button as well. This way you can jump sideways with ease. And mapping the quick save and quick load actions to the shoulder buttons gives you an instant save and load at the touch of the button, priceless feature for the hardest parts of the game you are playing. Mapping the rollback action to the Y key makes it easy to travel back in time, too. And for even more complex game controls or for text adventure typing, the custom keyboard feature is a godsend, too. Make sure to check the bundled custom keyboard examples, and don't hesitate to create your own.

In either case, please do NOT contact me regarding if some games do or do not work. The emulation itself should be near perfect, so it's much more likely you are either loading the game using wrong model (48k vs 128k vs Pentagon vs +2 vs +2A/+3) or in wrong mode (Tape loader vs USR 0), or you have broken copy of the game, and I can't afford to waste my time helping you with issues like this. Only if you have the knowledge to diagnose what exactly might be buggy and you can prove that, preferably with a piece of Z80 code, I would like to hear from you. So let me repeat that once again, please don't waste my time contacting me regarding game compatibility, unless you can pinpoint the actual bugs. Thanks.

Software for the emulator

To download more games and other software for use with the emulator, the first thing to check out is definitely the huge World of Spectrum Classic archive collection. Note that it already includes the content of another major source, the TZX Vault. If you are looking for newer production, you may have better luck at Spectrum Computing. This Czech ZX Spectrum site is very well worth visiting, too. And if you want a suggestion of which games are worth trying, here is my list of recommended games.

In case you are interested in some demos, check out the ZX AAA Demo, Demotopia, Pouët.net, or Virtual TR-DOS sites. You won't regret it, as it is really amazing to see and hear what some people have achieved to do on the Spectrum.

The RZX replay files can be obtained from the RZX Archive. Best way to check out the games you always liked but never managed to finish.

And if there is something else you are looking for, it never hurts to ask on the friendly World of Spectrum or Spectrum Computing forums.

Features

There are quite a few features already implemented, and some still ahead of me. Please do not bother me asking for features, though. I still have some which might be implemented before I will reconsider what next. Thanks.

Features already implemented:

Features unlikely to be implemented:

Developer's diary

For those of you who are technically inclined or just plain curious, I have written a little diary of how I implemented ZXDS over the course of time. You can find it here. I haven't had enough time to update it for quite some time now, but some say it's still an interesting read nevertheless.

Donations

If you want to express your appreciation of ZXDS, consider donating whatever it is worth to you. Rest assured that even the smallest amount you can afford will make a difference. Why wait for later and not act right now?

There used to be a PayPal donate button here for many years, but one day PayPal decided to go on a crusade against homebrew developers and did permanently shutdown my account without any prior notice and with no chance to appeal. Ever since I was neglecting this, but people kept asking how they could donate, so I have recently decided to try Patreon. It works slightly differently than a one time donation, but you can always stop if you decide so.

By becoming a patron you appreciate what you have already got for free and encourage further development at the same time. Thank you very much for both.

Legalese

You know, the usual disclaimer stuff. I can not be held responsible for anything this program or any actions related to the use of this program will cause to you, your hardware, or anyone or anything else. You use this software entirely at your own risk.

Any trademarks or registered trademarks I might have mentioned in this text or elsewhere on this website are owned by their respective owners.

Contact

As I have explicitly stated above, please do NOT contact me regarding the issues I have mentioned. However, if you still wish to contact me for some reason, please write to zxds at raxoft dot cz. After all, I don't mind getting encouraging emails every now and then. Be warned, though, I am extremely busy person, so please don't expect me to write back immediately. At my discretion, I may even choose not to answer at all. There is no need to hammer my mailbox in either case. Thanks.