DSx86 v0.43 Beta Release Notes ============================== This version has the following fixes and improvements: - Opcode ADC used ARM adc instead of add in address calculations. Fixed. - BCD opcodes (DAA, DAS, etc) did not work correctly. Fixed. - Oveflow flag handling fixed in ADC and SBB opcodes. - Fixed flags handling in opcodes REPNE CMPSB and REPNE SCASB when CX == 0. - Fixed [bp+di+disp8] address calculation in several protected mode opcodes. - Opcodes LIDT and LGDT did not clear the highest byte of 32-bit base address. - Opcodes LAR and LSL did not handle selector type 0 correctly. - Fixed pushing EGA memory value to stack in Lords of Doom. - Fixed mouse scaling in proportional font 80x25 text mode. DSx86 v0.42 Beta Release Notes ============================== This version has the following fixes and improvements: - Fixed a couple of bugs in the proportional font 80x25 Smooth scaling. - Another attempt to fix the "Smooth" mode initialization when used in dsx86.ini. - Implemented DOS function INT 21 AH=87 (Moria) DSx86 v0.41 Beta Release Notes ============================== This version has the following fixes and improvements: - Further "Jitter" mode screen scaling quality improvement. - Implemented "scasb" opcode EGA VRAM access version (Titus the Fox) - Implemented INT 6 (illegal opcode) for opcode 0x66 (Titus the Fox) - Fixed the VideoParameterTable to have correct VGA Misc Register values in text modes. - Fixed the "Smooth" mode initialization when used in dsx86.ini. - New experimental proportional font used in 80x25 text "Smooth" mode. DSx86 v0.40 Beta Release Notes ============================== This version has the following fixes and improvements: - Improved "Jitter" mode screen scaling quality, courtesy of "sverx". DSx86 v0.39 Beta Release Notes ============================== This version has the following fixes and improvements: - Fixed the screen flickering problem when scrolling in Smooth scale mode. DSx86 v0.38 Beta Release Notes ============================== This version has the following fixes and improvements: - Smooth scaling is faster in all 640x 16-color modes, courtesy of "sverx". - 640x480 Smooth scaling enabled also in DS Lite mode. DSx86 v0.37 Beta Release Notes ============================== This version has the following fixes and improvements: - New INI file parameters TPMXScale and TPMYScale. - Fixed key repeat feature to always repeat the correct key. - Built with libNDS 1.5.3, so write to SD card migh work with Sudokuhax. - Faster Smooth scaling in 320x200x256 mode, courtesy of "sverx". - Improved graphics mode change detection for 240-row Mode-X modes. DSx86 v0.36 Beta Release Notes ============================== This version has the following fixes and improvements: - Implemented SB DSP command 24 (Fury of the Furries). - Implemented INT21 AH=5A (create temp file) (Foxbase 2.0) - Implemented INT21 AH=22 (random Write to FCB file) (JumpJoe 2) - Implemented opcode 0xF0 (LOCK) (Risky Woods) DSx86 v0.35 Beta Release Notes ============================== This version has the following fixes and improvements: - Fixed a rare memory access problem introduced in version 0.30. This affected Dune 2 and possibly also other games. - Fixed a register globbering problem in mouse callback routine, which caused Populous 2 to quit to DOS immediately after moving the mouse. - Fixed an unsupported INT call and hanging problem in Battle Bugs. - Improved PC Speaker audio handling and VGA 640x480 mode handling. DSx86 v0.34 Beta Release Notes ============================== This is a quick fix version, to fix a couple of problems introduced by the serious freezing problem fixing in version 0.33: - This version supports 'sudokuhax' again. - The keyboard reading and screen blitting order was restored. - A couple of very minor additional improvements. DSx86 v0.33 Beta Release Notes ============================== This version has the following fixes and improvements: - Fixed a serious hanging issue introduced in version 0.24, caused by an incompatibility between my ARM7 code and libNDS version 1.5.0. - Improved the speed and quality of EGA Smooth screen scaling code. - DSi mode only: Implemented Smooth scaling for VGA 640x480 mode. - Added a new configuration option "EMSSize" for choosing EMS/XMS RAM allocation. DSx86 v0.32 Beta Release Notes ============================== This version only has one minor fix, the direct file reading to EGA VRAM has been implemented. This allows Rockford to run, and fixes the graphics corruption problems in Heimdall when talking to other characters. DSx86 v0.31 Beta Release Notes ============================== This version has the following fixes and improvements over the previous version: - Page Fault handling in the protected mode RETF opcode implemented. - Implemented some additional XMS INT calls, for Commander Keen 4 etc. - Implemented Mode-X Smooth scaling for 320x200 and 320x240 resolutions. - Implemented preliminary Smooth scaling for EGA 320x200 mode. DSx86 v0.30 Beta Release Notes ============================== This is a major update of DSx86. This version emulates a 80286 processor, including the protected mode, so that it can run Windows 3.00a in Standard Mode. This should allow DSx86 to run many 16-bit Windows programs. Other changes include support for Smooth screen scaling mode in EGA 640x200 mode, and a faster Smooth scaling algorithm for MCGA 320x200 mode. DSx86 v0.25 Beta Release Notes ============================== This version is again rebuilt with the newest libnds libraries. It should be able to be run using the so-called "sudoku hack". It also has a new Smooth screen scaling method implemented in CGA and MCGA screen modes. NOTE! Especially in the MCGA mode this causes a severe performance hit, and in EGA and Mode-X modes you will only get a black (or corrupt) screen in this mode. DSx86 v0.24 Beta Release Notes ============================== This version is rebuilt with the latest libnds libraries, so that it can take advantage of the DSi mode when run in CycloDS iEvolution and on a Nintendo DSi. No other (internal) changes in this version. DSx86 v0.23 Beta Release Notes ============================== This version has only minor fixes for specific games: Maupiti Island, Mahjong Fantasia, Bart vs. the Space Mutants, Space Hulk and Fire & Ice. Some other games might work better with these changes as well. DSx86 v0.22 Beta Release Notes ============================== This version has the internal refactoring done. Other bigger changes and improvements are the following: - New screen resolution indicator on the lower screen. - Palette handling for 16-color modes improved. - Hanging problems in various games fixed. - See my blog post for more information! DSx86 v0.21 Beta Release Notes ============================== This is a fix version, after the somewhat buggy version 0.20. Most games that did not work in 0.20 (but worked in prior versions) should now run again, and this version also runs Windows 3.0. The D-Pad mouse behaviour was changed to scroll the screen when near screen border. The internal refactoring continues, which has made this version somewhat slower than the previous version. DSx86 v0.20 Beta Release Notes ============================== This version has the following major changes: - New IRQ handling using self-modifying code, which makes the whole emulator about 8% faster than before. - Keyboard handling now supports extended key codes. - Screen update mode "Direct" removed. - AdLib emulation has increased audio volume, and plays also the rhythm instruments now. - Covox/Disney Sound Source/Parallel Port DAC audio device emulation added. - SB Direct DAC audio support added. - SB auto-init 8bit DMA support added. - Some other minor fixes and improvements. DSx86 v0.15 Beta Release Notes ============================== Again a minor fix version. The biggest improvement is the removal of the need to use the LOADFIX command for some games. Also the EGA horizontal scrolling is now smoother than before. Besides these changes there are quite a few added opcodes, so a few more games should run properly now. DSx86 v0.14 Beta Release Notes ============================== This version again has a lot of minor fixes and improvements, nothing very major. A few more games should run in this version. DSx86 v0.13 Beta Release Notes ============================== This version has some user interface changes, in addition to the usual bug fixes and support for some previously missing opcodes and INTs. - Improved touchpad mouse (TPM) emulation, with new configuration options: - TPMScroll is a boolean that determines whether the screen should be scrolled when the stylus moves near the screen border in Zoom mode. - TPMTap is a boolean that determines whether tapping the screen with the stylus is registered as a left mouse click. - TPMLeft determines the DS button to use for the left mouse button. - TPMRight determines the DS button to use for the right mouse button. The defaults if DSx86.ini does not have any of those set are as follows: TPMScroll=FALSE TPMTap=TRUE TPMLeft=KEY_LEFT TPMRight=KEY_RIGHT - New internal commands on the DOS prompt: - VER with a parameter sets the DOS version number reported. - SETVER works like VER. - LOADFIX attempts to load the program above the first 64KB of RAM. This might help with the "Packed data corrupt" problems. - DEBUG starts the program into the inbuilt debugger. - The scrolling in the Zoom modes is now smoother than before. DSx86 v0.12 Beta Release Notes ============================== This version has mostly minor fixes and improvements: - New EGA 640x350x16 and VGA 640x480x16 graphics modes. - The NDS shoulder buttons scroll the zoomed screen left/right (as before) when not already at the edge, and up/down after that. - Various mostly game-specific fixes, more info in my blog post. DSx86 v0.11 Beta Release Notes ============================== This version has the following major changes: - Master of Orion and Electranoid are running in this version. - New mouse emulation mode, you can use the touchpad as a direct mouse input with the stylys. - Increased EMS memory to 1.5MB. - Preliminary EGA 640x200x16 mode support. - DOS System File Table handling, which fixes problems with the 4DOS batch file functions. - Many problems in log files I have received fixed, more info in my blog post. DSx86 v0.10 Beta Release Notes ============================== This version has a great number of changes, the most important being: - Mouse support. You can select whether the D-Pad emulates cursor keys or mouse by toggling the "Mouse"/"Keybd" text on the touchpad. A/B buttons are the mouse buttons when in mouse mode. - VGA Mode-X support. All 320-pixel wide modes (320x200, 320x240, 320x400, 320x480) are supported, other widths not yet. The modes with 400 lines or more are prescaled vertically to fit into 200/240 lines (and to get a sensible image aspect ratio). - CGA 640x200 monochrome mode support. - Key repeat added. When you keep a key down, it repeats, like in a real PC keyboard. - Many problems in log files I have received fixed, more info in my blog post. DSx86 v0.07 Alpha Release Notes =============================== This version has the following changes: - CGA and TEXT modes are now always blitted, the Direct screen update setting behaves similarly to 60 FPS setting. - About a dozen new EGA opcodes and DOS interrupt functions added. - Fixed bugs in "!" key, DOS memory resize function, divide opcode, and memory access to EMS page frame. - Various other minor fixes and improvements. DSx86 v0.06 Alpha Release Notes =============================== This version mostly improves the EGA support, but it also has the following changes: - New keyboard graphics by L.D. Ash from http://www.violationentertainment.com - The meaning of the debugger "G" and the NDS "B" button has been swapped. Thus, you get the keyboard back after going to the debugger with the B button, and touching G and V stays in the debugger screen. - Shoulder L and R buttons scroll the zoomed screen horizontally, unless they are mapped to PC keys in the INI file. - New "HDD led" on the bottom screen, so you can see when the game accesses the SD card. - The unknown INT10 call in Prince of Persia is now ignored. - Several TEXT mode opcodes have been added, based on the debug logs. This version has no improvements to the unsupported INT calls. I plan to work on those for the next version. DSx86 v0.05 Alpha Release Notes =============================== The biggest changes in this version are the following: - CGA mode now supports both DIRECT and BLITTED screen update modes. Direct mode is faster, but not all opcodes are supported, so if you get unsupported opcode problems when using DIRECT mode, switch to for example 30FPS mode and the game should run. - EGA mode improved, now runs Commander Keen 4. Still a lot of EGA features remain unsupported, so this still needs quite a bit of work. Some INT and DOS features, along with missing opcodes have also been added, based on the log files I received from the 0.04 version. DSx86 v0.04 Alpha Release Notes =============================== This version has all (unless I have missed something) of the simple 8086 opcodes supported, and it has slightly improved support for CGA and EGA graphics modes as well. I have gone thru most of the log files I have received and fixed many of the issues in those log files as well. This is a bit of an unscheduled release, as my development PC has started to act up (blue screens and boot failures), so I decided to release this version now in case the machine stops working completely. DSx86 v0.03 Alpha Release Notes =============================== The biggest changes in this version are the following: - EGA 320x200 16-color graphics mode support. - Packed File Corrupt problem handling. - Most of the 8086 opcodes are now supported. New supported games are Galactic Battle and Duke Nukem 2. Both use the EGA 320x200 16-color mode. Duke Nukem2 uses also two new SoundBlaster DSP commands, for playing 2-bit ADPCM and for playing silence, which are now both supported. DSx86 v0.02 Alpha Release Notes =============================== This is just a minor incremental update to version 0.01, nothing major has changed, but the opcode support has improved quite a bit (though still is far from complete), and I have done other fixes and improvements, based on the feedback I got from version 0.01. The major changes are the following: - Opcodes for INC, DEC, LEA, LES, LDS, TEST are fully supported. - Opcodes for moving to/from segment registers are fully supported. - All 8086 shift opcodes are supported (the 286 versions not yet). - Most (but not all) of the other unsupported opcodes in the debug logs I have received are now supported. - I/O port handling has been improved, for example alternate Sound Blaster I/O port accesses are now silently ignored. - You can now reboot the shell while in the debugger by pressing the 'X' button (or using the bottom row 'X' command and 'v' for Enter). - Leisure Suit Larry 3 and Solar Winds are now working better. DSx86 v0.01 Alpha Release Notes =============================== Well, here it finally is, the first alpha version of DSx86! The emulator is still very much a work-in-progress, and thus has quite a few missing features and outright bugs. The user interface, for example, could use quite a bit of work. You can change the "screen" section values on the touch screen by clicking on the reddish texts, or the scroll arrows to scroll the screen when it is zoomed. DSx86 will most likely drop into a debugger as soon as you try to run a game I haven't tested on it. When this happens, a log file is written onto your SD card, by default called DSx86dbg.log. This file is always appended when new "crashes" happen, so you can try all your favourite DOS programs on DSx86 and then send a combined log file to me by email. Also, you can report the games you have tested on the GBADev forum thread, so other potential alpha testers don't spend time on reporting the same problems. The thread is at http://forum.gbadev.org/viewtopic.php?t=16956. Have fun with the first alpha version, and sorry for the lack of proper documentation. I'll try to write some kind of a documentation by the next released version. See the ini file for some info, or follow the GBADev forum thread, where I try to answer potential questions. Thanks for trying out DSx86! Patrick Aalto