ZXDS home page

ZXDS running on Nintendo DS.

Welcome to ZXDS homepage.

ZXDS is an emulator of Sinclair ZX Spectrum for Nintendo DS, 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

Just download the archive using the link below, unpack it and copy 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 (or any other compatible model, like DSi or 3DS). 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. Other directories in the archive contain optional extras, so check the README files in each and install to the right place only those which you really want.

Download ZXDS 1.3.1     (and remember to donate if you like it!)

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.

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. 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.

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 archive collection. Note that it already includes the content of another major source, the TZX Vault. 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 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 which might be eventually 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 would like to express your appreciation of ZXDS, consider supporting it by donating whatever it is worth to you. Rest assured that even the smallest amount you can afford will make a difference. To donate, simply click the button below and follow the instructions - it's really easy and takes only few moments. Why wait for later and not act right now?

Donate via PayPal

By donating 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 on 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.