ZXDS is an emulator of Sinclair ZX Spectrum for Nintendo DS, written by Patrik Rak. It is steadily reaching a mature stage of development, and it already has some noteworthy features, like accurate emulation of Spectrum 48k, 128k and Pentagon models (including sound), or support for TAP/TZX/PZX tape files, TRD/SCL disk files and RZX playback files.

Changes:

ZXDS 1.3.0 (1.7.2014)

+ ULA+ emulation for all Sinclair and Amstrad models.
+ Support for all types of 3.5″ double sided +3DOS disks.
+ Raw screenshots now support the ULA+ extension for both saving and loading.
+ Current ULA+ palette can be changed simply by loading the appropriate ULA+ palette tape files.
+ Other ULA+ related changes (BMP screenshots, thumbnails, SZX support).
+ The selected ULA mode as well as the display mode are now part of the config file.
+ You can now keep your desired custom configuration persistent separately in custom.cfg.
* Sector viewer now displays bottom side track addressing info in inverse colors.
* Reverted special treatment of full size TR-DOS disks, so padded images work again.
* Minor +3DOS fixes (gap3 reading, EDSK track padding, SZX disk side selection, motor bit disabling)
* Loading a POK file now automatically shows the poke screen. Pressing Y switches back, as usual.
* Reading attributes from unmapped ports on Pentagon now mimics the real hardware mod behavior.
* Other subtle emulation accuracy improvements (+2A/+3/Pentagon screen timing, 128K/+2 INT duration).
* Many internal changes (optimized screen sampling, optimized contention, async palette switching).
* Other subtle changes (UNDO media keeping, CPU stepping prior snapshot save, volume mode order).
* Minor bugfixes (media slot release, paths set to root dir, filter in root dir, allowed filter chars).

http://zxds.raxoft.cz/