DSx86

From GameBrew

DSx86
Dsx86.png
General
AuthorPatrick Aalto
Last Updated2012/07/01
TypeComputer
Version0.43 Beta
LicenseMixed
Links
[DSx86 and DS2x86 Download]
Website

A PC 80286 emulator for Nintendo DS. Its purpose is to allow you to run old DOS games on your Nintendo DS game console.

DSx86 supports DSi mode, while DS2x86 is a version of DSx86 recopmiled and improved according to Supercard DS Two capacity.

DSx86 is the winner of GBATemp's Homebrew Bounty 2011 competition.

Features

  • 80286 processor, including the protected mode features.
  • MCGA, CGA, EGA and VGA graphics.
  • SoundBlaster (including AdLib-compatible FM sounds) sound card.
  • 83-key US keyboard.
  • Mouse.

Installation

Note: DSx86 does not have an inbuilt command interpreter (or shell), so you need to download a DOS program that provides the command shell features. Currently the only supported shell is 4DOS version 7.50, freeware by Rex Conn & JP Software. The only file you absolutely need is the 4DOS.COM program, but if you have space on your SD card you can download the auxiliary files as well.

Download the current version (DSx86 or DS2x86).

In the root of your card create a folder called data, within that create a folder called dsx86 (e.g. c:\data\dsx86\).

Copy DSx86.ini (right click save as) to the dsx86 folder you created above.

Extract and run dsx86config.zip in the the dsx86 folder that you created.

Copy 4DOS to /data/dsx86/4dos/ directory (/data/dsx86/, /4dos/ and root directory also work).

Extract your games to anywhere on your card (best to use a short folder name without spaces).

User guide

Use DIR (list directory) and CD (change directory) to browse to your game folder then type the name of the .exe to run the game.

Supported and tested games list.

Screenshots

dsx862.png dsx863.png

Media

master of Orion dsx86 (Roger Carillion)

Changelog

DSx86 v0.43 Beta

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

DS2x86 v0.36 Beta

  • Implemented "rep stosd" for Mode-X with irregular map mask (Micro Machines 2).
  • Forced INT 15 AH=88 to report no extended memory (Borland RTM DOS Extender).
  • Implemented "LAST_FIT" memory allocation strategy handling (Borland RTM DOS Extender).
  • Implemented "LES reg,m16:16" page fault handling (Borland RTM DOS Extender).
  • Implemented INT 21 AH=4D proper return mode reporting (Borland RTM DOS Extender).
  • Improved SB emulation to not hang after invalid SB command (Jazz Jackrabbit).
  • Implemented support for reading data from file to Mode-X VRAM (Jazz Jackrabbit).
  • Implemented proper AdLib timer handling (Mortal Kombat etc SB detection).
  • Fixed a bug in ARM9 SB audio buffering scheme (Mortal Kombat, Supaplex, etc).

External links