ZXDS: Difference between revisions
From GameBrew
More actions
No edit summary |
No edit summary |
||
| Line 3: | Line 3: | ||
| image = [[File:Zxds.png|300px]] | | image = [[File:Zxds.png|300px]] | ||
| type = Computer Emulator | | type = Computer Emulator | ||
| version = 1. | | version = 1.3.4 | ||
| licence = Mixed | | licence = Mixed | ||
| author = Patrik Rak | | author = Patrik Rak | ||
| website = http://zxds.raxoft.cz | | website = http://zxds.raxoft.cz | ||
| download = | | download = http://zxds.raxoft.cz | ||
| source = | | source = | ||
}} | }} | ||
| Line 51: | Line 51: | ||
If you wish so, you may then relocate the ZXDS.nds (supports [[DLDI|DLDI]]) to elsewhere on the card, like to the root itself, to make it more accessible. | If you wish so, you may then relocate the ZXDS.nds (supports [[DLDI|DLDI]]) to elsewhere on the card, like to the root itself, to make it more accessible. | ||
'''Note from | '''Note from developer:''' | ||
The provided binary ZXDS.nds is primarily intended for Slot-1 (DS slot) based cards. Most of these cards now support automatic [[DLDI|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. The ZXDS.ds.gba version which is better suited for Slot-2 (GBA slot) based cards, and will likely need to [[DLDI|DLDI]] patch it first in this case. | The provided binary ZXDS.nds is primarily intended for Slot-1 (DS slot) based cards. Most of these cards now support automatic [[DLDI|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. The ZXDS.ds.gba version which is better suited for Slot-2 (GBA slot) based cards, and will likely need to [[DLDI|DLDI]] patch it first in this case. | ||
| Line 66: | Line 66: | ||
==Changelog== | ==Changelog== | ||
'''1.0.0 1. | '''1.3.4 2017/04/23''' | ||
* HALT is now correctly contended by PC+1, not PC. | |||
* To give the user a clue, incompatible multiplayer peer is now detected and reported, if possible. | |||
* Happy birthday, Speccy. | |||
'''1.3.3 2014/12/24''' | |||
* Upon startup, let Start show the most recent files only if there are any. | |||
* Properly handle save slot medium if all ten medium slots are still being used. | |||
* When statistics become full, don't discard entries which might still be part of the recent list. | |||
* When global statistics are loaded, pick the latest version under all circumstances. | |||
'''1.3.2 2014/11/22''' | |||
* Fixed libfat bug which could make corrupt directory entry after the last entry was deleted. You might have experienced this mostly when renaming files or moving them around. | |||
* Fixed couple more libfat bugs (really long names, alias creation, whitespace trimming). | |||
* Added caseinfo extension to libfat so letter case of 8.3 names is now read properly. | |||
* Medium associated with persistent copy of save slot 0 is never deleted prematurely anymore. | |||
* Save slot medium removal is now postponed to further improve chance of media reuse. | |||
* Few other subtle changes (cache filenames, file name trimming, minor help tweaks). | |||
'''1.3.1 2014/07/10''' | |||
* Fix the initial main screen palette which could get messed up on some cards. | |||
* Make the mouse help window look like all the other help windows. | |||
'''1.3.0 2014/07/01''' | |||
* 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). | |||
* Happy birthday, and thanks for all the fish. | |||
'''1.2.0 2014/02/19''' | |||
* Proper Spectrum +2/+2A/+3 emulation, including contention and everything. | |||
* Support for +3DOS 3" DSK/EDSK disks, including formatting, autoboot and disk browser. | |||
* TR-DOS formatting now also works for all possible disk format types. | |||
* File and directory name filtering is now available in file requester. | |||
* All keyboard keys are now sticky whenever the emulation is paused. | |||
* In load requester, L/R+Y now shows the other medium than Y does. | |||
* Button input in file viewer can be now toggled with icon or L/R+X and Pause. | |||
* Full size TR-DOS disks are now always treated as double track and double sided. | |||
* Alternate save/load directories now work better and even with filter enabled. | |||
* Various internal changes (ROM deltas, SZX +3DOS support, plus model stats, media icon). | |||
* Minor bugfixes (FTP files caching, hex decoding, TR-DOS BASIC start line). | |||
* Dedicated to my beloved parents. Thanks for getting me my first Speccy. | |||
'''1.1.1 2012/12/24''' | |||
* Spectrum +2A/+3 snapshots are not rejected right away anymore. Instead, they are executed in 128K mode with extended paging enabled. This makes some +2A/+3 RZXs and exclusive software work quite fine. | |||
* Added a bit of color coding to the controls screen. | |||
'''1.1.0 2012/12/20''' | |||
* Custom ROMs support. See roms/readme.txt for more info. | |||
* IF2 ROMs and 48k/128k ROMs can be loaded directly in load requester. | |||
* Both SZX and Z80 snapshots now support custom ROMs as well. | |||
* TR-DOS/Beta Disk support for all models, not only Pentagon. Simply choose the model or reset the machine while a disk is loaded. You can also autoboot any disk with current model by using R+A. | |||
* Beta 128 in 48k mode responds even to the standard Beta 48 entry points. This makes both Beta 128 and many Beta 48 programs work at the same time. | |||
* True Beta 48 mode can be enabled with proper beta48.rom (such as TK90X's CBI95 ROM). | |||
+ Added NMI aka Magic button - becomes useful with some custom ROMs. | |||
+ Added custom keyboards for more games as well as one for more comfortable text typing. | |||
+ Added Virtual TR-DOS games and ZX AAA demos sites to servers.cfg. | |||
* Pressing Start twice upon startup now takes you to the last used files view. | |||
* Few subtle changes (save slot media loading, ROM launch stats). | |||
* Little optimizations (Z80 core, sound generation, normal speed load mode). | |||
* Subtle emulation improvements (authentic SCF/CCF, MEMPTR and AY white noise). | |||
* Minor bugfixes (grayscale border, step direction bit). | |||
* Merry Christmas. | |||
'''1.0.0 2012/07/01''' | |||
* Custom keyboard support. See custom/readme.txt for more info. | * Custom keyboard support. See custom/readme.txt for more info. | ||
* Favorite/recent files lists showing up to 500 most/last used files. | * Favorite/recent files lists showing up to 500 most/last used files. | ||
| Line 79: | Line 156: | ||
* Minor bugfixes (IN[ID](R) postdecrement, libfat lseek). | * Minor bugfixes (IN[ID](R) postdecrement, libfat lseek). | ||
'''0.9.9 beta 2 24 | '''0.9.9 beta 2 2012/04/24''' | ||
* The paused time is now not counted towards the current file times. | * The paused time is now not counted towards the current file times. | ||
* The sleep time is now not counted towards any times but sleep time. | * The sleep time is now not counted towards any times but sleep time. | ||
* Fixed the stats date display. | * Fixed the stats date display. | ||
'''0.9.9 beta 1 23 | '''0.9.9 beta 1 2012/04/23''' | ||
* Kempston mouse emulation, including dual mouse in multiplayer. See docs/mouse.txt for more detailed info. | * Kempston mouse emulation, including dual mouse in multiplayer. See docs/mouse.txt for more detailed info. | ||
* Tape deck now supports tape recording and tape block deletion. TAP and TZX tapes can record standard blocks, PZX anything. The recorded tapes can be then saved in save requester like other files. | * Tape deck now supports tape recording and tape block deletion. TAP and TZX tapes can record standard blocks, PZX anything. The recorded tapes can be then saved in save requester like other files. | ||
| Line 100: | Line 177: | ||
* Minor bugfixes (delayed IME handling, proper user settings slot). | * Minor bugfixes (delayed IME handling, proper user settings slot). | ||
'''0.9.3 beta 1 17 | '''0.9.3 beta 1 2012/03/17''' | ||
* Proper save requester, including support for basic file management operations. | * Proper save requester, including support for basic file management operations. | ||
* Alternate between two different directories by tapping the save/load file icon again. | * Alternate between two different directories by tapping the save/load file icon again. | ||
| Line 119: | Line 196: | ||
* Minor bugfixes (libfat mkdir and aliasing, skipping of long names in ZIP). | * Minor bugfixes (libfat mkdir and aliasing, skipping of long names in ZIP). | ||
'''0.9.2 beta 1 | '''0.9.2 beta 1 2010/11/09''' | ||
* Peer-to-peer WiFi multiplayer for 2 players. | * Peer-to-peer WiFi multiplayer for 2 players. | ||
* SZX snapshots support. | * SZX snapshots support. | ||
| Line 130: | Line 207: | ||
* Changed grayscale palette to match the luminance of the real Spectrum. | * Changed grayscale palette to match the luminance of the real Spectrum. | ||
'''0.9.1 beta 1 13 | '''0.9.1 beta 1 2010/08/13''' | ||
* Memory viewer and disassembler. | * Memory viewer and disassembler. | ||
* Tape sound is now audible in normal speed load mode (conveniently forced with R+A). | * Tape sound is now audible in normal speed load mode (conveniently forced with R+A). | ||
| Line 139: | Line 216: | ||
* Minor bugfixes in download code (HTTP continuation lines, last line EOL in listings). | * Minor bugfixes in download code (HTTP continuation lines, last line EOL in listings). | ||
'''0.9.0 beta 2 20 | '''0.9.0 beta 2 2009/03/20''' | ||
* Added proper initial FIFO sync which shall make WiFi init work on all cards. | * Added proper initial FIFO sync which shall make WiFi init work on all cards. | ||
* Reenabled automatic loading of .cfg and .pok files which was accidentally disabled before. | * Reenabled automatic loading of .cfg and .pok files which was accidentally disabled before. | ||
| Line 145: | Line 222: | ||
* The r4tf.dldi driver is not patched in, as these cards now support autopatching. Also note that for the same reason and to avoid excess garbage the latest libfat library doesn't include any builtin DLDI drivers anymore, so if you have some older card, you may need to DLDI patch ZXDS yourself even if you hadn't to do that before. | * The r4tf.dldi driver is not patched in, as these cards now support autopatching. Also note that for the same reason and to avoid excess garbage the latest libfat library doesn't include any builtin DLDI drivers anymore, so if you have some older card, you may need to DLDI patch ZXDS yourself even if you hadn't to do that before. | ||
'''0.9.0 beta 1 12 | '''0.9.0 beta 1 2009/03/12''' | ||
* Support for download of files from HTTP and FTP servers over WiFi. | * Support for download of files from HTTP and FTP servers over WiFi. | ||
* Virtual directory system for creating arbitrary listings of both local and remote files. Config for World of Spectrum, RZX Archive and Demotopia data feeds included. See docs/online.txt for how to create the listings and setup your own servers. | * Virtual directory system for creating arbitrary listings of both local and remote files. Config for World of Spectrum, RZX Archive and Demotopia data feeds included. See docs/online.txt for how to create the listings and setup your own servers. | ||
| Line 153: | Line 230: | ||
* Built with the latest devkitPro release, should solve most libfat/DLDI issues. | * Built with the latest devkitPro release, should solve most libfat/DLDI issues. | ||
'''0.8.1 beta 2 | '''0.8.1 beta 2 2008/12/03''' | ||
* Tweaked RZX code to work with more nonconformant but commonly available recordings. | * Tweaked RZX code to work with more nonconformant but commonly available recordings. | ||
* Worked around sound clamping while keeping the sound loud by throwing dummy sample into the mix. | * Worked around sound clamping while keeping the sound loud by throwing dummy sample into the mix. | ||
'''0.8.1 beta 1 27 | '''0.8.1 beta 1 2008/11/27''' | ||
* RZX playback (no SZX snapshot support yet, though). | * RZX playback (no SZX snapshot support yet, though). | ||
* Files stored in ZIP archives can be browsed and loaded directly. | * Files stored in ZIP archives can be browsed and loaded directly. | ||
| Line 172: | Line 249: | ||
* The HALT instruction now updates the R register properly. | * The HALT instruction now updates the R register properly. | ||
'''0.8.0 beta 1 19 | '''0.8.0 beta 1 2008/06/19''' | ||
* TR-DOS emulation, allowing loading of TRD/SCL disks (including autoboot). | * TR-DOS emulation, allowing loading of TRD/SCL disks (including autoboot). | ||
* For/next loops in TZX files are now supported. | * For/next loops in TZX files are now supported. | ||
| Line 186: | Line 263: | ||
* Few other subtle changes (initial config autosave, even more safe shutdown). | * Few other subtle changes (initial config autosave, even more safe shutdown). | ||
'''0.7.0 beta 2 24 | '''0.7.0 beta 2 2007/12/24''' | ||
* Implemented normal speed loading, to make loader minigames playable. | * Implemented normal speed loading, to make loader minigames playable. | ||
* Quick fix for launchers which don't set the initial display state properly. | * Quick fix for launchers which don't set the initial display state properly. | ||
* Should make the bottom screen properly visible for DS Extreme users. | * Should make the bottom screen properly visible for DS Extreme users. | ||
'''0.7.0 beta 1 21 | '''0.7.0 beta 1 2007/12/21''' | ||
* Finally added keyboard graphics, for both 48k and 128k keyboard. | * Finally added keyboard graphics, for both 48k and 128k keyboard. | ||
* Replaced the ad-hoc file requester with proper touch screen version. | * Replaced the ad-hoc file requester with proper touch screen version. | ||
| Line 207: | Line 284: | ||
* Few other subtle fixes (triple buffering race, halt timing upon requester). | * Few other subtle fixes (triple buffering race, halt timing upon requester). | ||
'''0.6.0 beta 1 10 | '''0.6.0 beta 1 2007/10/10''' | ||
* Full memory and IO contention emulation. | * Full memory and IO contention emulation. | ||
* Proper floating bus emulation. | * Proper floating bus emulation. | ||
| Line 218: | Line 295: | ||
* Dropped the .ds.gba version, as people need to DLDI patch it themselves * before* the loader is appended anyway. | * Dropped the .ds.gba version, as people need to DLDI patch it themselves * before* the loader is appended anyway. | ||
'''0.5.1 beta 1 14 | '''0.5.1 beta 1 2007/08/14''' | ||
* Support for the new PZX tape file format. | * Support for the new PZX tape file format. | ||
* File requester finally supports directory browsing. | * File requester finally supports directory browsing. | ||
| Line 224: | Line 301: | ||
* Included .ds.gba version for people who need it (owners of some Slot-2 based cards, like EZFlash IV and SuperCard) yet don't know how to make one. | * Included .ds.gba version for people who need it (owners of some Slot-2 based cards, like EZFlash IV and SuperCard) yet don't know how to make one. | ||
'''0.5.0 beta 1 23 | '''0.5.0 beta 1 2007/04/23''' | ||
* Both TAP and TZX tape files are now loaded at high speeds whenever possible. | * Both TAP and TZX tape files are now loaded at high speeds whenever possible. | ||
* Z80 snapshots are now supported. | * Z80 snapshots are now supported. | ||
* Save state support via in-memory/on-card write-through save slots for 10 Z80 snapshots. | * Save state support via in-memory/on-card write-through save slots for 10 Z80 snapshots. | ||
'''0.0.4 alpha 1 13 | '''0.0.4 alpha 1 2007/04/13''' | ||
* Sound support, both speaker and AY-3-8912. | * Sound support, both speaker and AY-3-8912. | ||
'''0.0.3 alpha 1 | '''0.0.3 alpha 1 2007/04/03''' | ||
* Basic TAP support (no fastloading yet, though). | * Basic TAP support (no fastloading yet, though). | ||
* Basic TZX support (no fastloading, missing support for flow control blocks). | * Basic TZX support (no fastloading, missing support for flow control blocks). | ||
* Primitive border support. | * Primitive border support. | ||
'''0.0.2 alpha 3 25 | '''0.0.2 alpha 3 2007/03/25''' | ||
* BIT instructions now set the undocumented flags 5 and 3 properly, with the sole exception of BIT n,(HL), as MEMPTR is intentionally not emulated. These flags were always set before, due to lack of documentation. | * BIT instructions now set the undocumented flags 5 and 3 properly, with the sole exception of BIT n,(HL), as MEMPTR is intentionally not emulated. These flags were always set before, due to lack of documentation. | ||
* Instructions IN[ID](R) and OUT[ID](R) now also set the PV flag. | * Instructions IN[ID](R) and OUT[ID](R) now also set the PV flag. | ||
* Instructions OUT[ID](R) now set the CY and HC flags correctly. They used the IN[ID](R) behavior before, due to lack of documentation. So ZXDS now passes both ZEXDOC and ZEXALL (sans BIT n,(HL) in the latter). | * Instructions OUT[ID](R) now set the CY and HC flags correctly. They used the IN[ID](R) behavior before, due to lack of documentation. So ZXDS now passes both ZEXDOC and ZEXALL (sans BIT n,(HL) in the latter). | ||
'''0.0.2 alpha 2 24 | '''0.0.2 alpha 2 2007/03/24''' | ||
* Fixed silly typo in the macro testing the Half Carry flag, which grossly broke the DAA instruction and affected flags 5 and 3 after CP[ID](R) instructions. Bit 4 of H register instead of HC was tested by mistake before. | * Fixed silly typo in the macro testing the Half Carry flag, which grossly broke the DAA instruction and affected flags 5 and 3 after CP[ID](R) instructions. Bit 4 of H register instead of HC was tested by mistake before. | ||
'''0.0.2 alpha 1 21 | '''0.0.2 alpha 1 2007/03/21''' | ||
* Primitive file requester, root dir only. | * Primitive file requester, root dir only. | ||
* Loads 128k snapshots as well, with interrupts now being enabled properly. | * Loads 128k snapshots as well, with interrupts now being enabled properly. | ||
* Touch screen now shows at least some minimalistic keyboard layout. | * Touch screen now shows at least some minimalistic keyboard layout. | ||
'''0.0.1 alpha 1 20 | '''0.0.1 alpha 1 2007/03/20''' | ||
* First release. | * First release. | ||
* Still pretty incomplete, but boots 128k. | * Still pretty incomplete, but boots 128k. | ||
