DOS emulator (semi-abandoned)
About
Early WIP PC x86 emulator with the goal of easily running MS-DOS games on Windows, macOS and Linux.
In the current state, dustbox runs a some demos and is still in it's early stages. If you are looking for a more complete dos emulator, I suggest you check out dosbox-x.
Rough status june 2019
| Component | Status | Notes | | ---------- | ------ | -------------------------------------------------------- | | 16 bit CPU | 95% | interrupts are incomplete | | 32 bit CPU | 20% | some instructions supported | | FPU | 5% | | | PIT | 1% | | | PIC | 1% | | | MS-DOS | 5% | simulating MS-DOS behavior (interrupts, command.com env) | | EMS/XMS | - | extended memory managers | | Keyboard | 1% | | | Mouse | 25% | | | CGA | 5% | | | EGA | 5% | | | VGA | 5% | | | Sound | - | not started | | CD-ROM | - | not started | | Harddrive | - | not started |
Contributing
Any help and contributions are much welcome!
Dependencies
On Ubuntu, use sudo apt install nasm libgtk-3-dev libcairo2-dev libpango1.0-dev libatk1.0-dev gdk-pixbuf2.0-dev libsdl2-dev libsdl2-gfx-dev
On Windows, use vcpkg install sdl2 gtk + scoop install nasm
On macOS, use brew install nasm sdl2 sdl2_gfx
Running
To launch the debugger:
cargo run --package dustbox_debugger
then interact with the debugger using the input box ('help' to get started).
To launch the front-end:
cargo run --package dustbox_frontend path-to-dos-executable
Tests
To run all normal tests
cargo test --all
There is additional tests that are expensive, they also generate the tests/render/demo images.
In order to run the expensive tests you need to check out the dos-software-decoding repo in the parent directory and pass the --ignored flag to cargo:
cd .. && git clone --depth 1 https://github.com/martinlindhe/dos-software-decoding && cd -
cargo test --release -- --ignored
License
Under MIT