#emulator #x86 #dos #running #goal #pc #interrupt

dustbox

PC x86 emulator with the goal of easily running MS-DOS games on Windows, macOS and Linux

1 unstable release

0.0.1 Jun 10, 2019

#19 in #pc

MIT license

1.5MB
15K SLoC

About

Build Status

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 10% some instructions supported
FPU - not started
disk - not started
PIT 1%
PIC 1%
MS-DOS 5% simulating MS-DOS behavior (interrupts, command.com env)
EMS/XMS - extended memory managers
Keyboard 1%
Mouse 0%
CD-ROM - not started
CGA 5%
EGA 5%
VGA 5%
Sound - not started

Contributing

Any help and contributions are much welcome!

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

Run the basic tests with

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 https://github.com/martinlindhe/dos-software-decoding && cd -
cargo test --release -- --ignored

License

Under MIT

Dependencies

~43MB
~701K SLoC