All Projects → martinlindhe → Dustbox Rs

martinlindhe / Dustbox Rs

Licence: mit
DOS emulator (work in progress)

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Dustbox Rs

Microx
Safely execute an arbitrary x86 instruction
Stars: ✭ 120 (+252.94%)
Mutual labels:  x86, emulator
IBMulator
The IBM PS/1 emulator.
Stars: ✭ 62 (+82.35%)
Mutual labels:  emulator, x86
V86
x86 virtualization in your browser, recompiling x86 to wasm on the fly
Stars: ✭ 12,765 (+37444.12%)
Mutual labels:  x86, emulator
Emu
cybozu labs youth 7th
Stars: ✭ 51 (+50%)
Mutual labels:  x86, emulator
FEX
A fast usermode x86 and x86-64 emulator for Arm64
Stars: ✭ 650 (+1811.76%)
Mutual labels:  emulator, x86
Bap
Binary Analysis Platform
Stars: ✭ 1,385 (+3973.53%)
Mutual labels:  x86, emulator
x86e
A simple x86 emulator, debugger, and editor in JavaScript.
Stars: ✭ 89 (+161.76%)
Mutual labels:  emulator, x86
I8086.js
16bit Intel 8086 / 80186 + X87 emulator written in TypeScript with REPL assembly compiler and tiny C compiler
Stars: ✭ 54 (+58.82%)
Mutual labels:  x86, emulator
emu
cybozu labs youth 7th
Stars: ✭ 50 (+47.06%)
Mutual labels:  emulator, x86
ts-c99-compiler
ANSI C 16bit Compiler + NASM Assembler + Intel 8086 / 80186 + X87 emulator written entirely in TypeScript
Stars: ✭ 78 (+129.41%)
Mutual labels:  emulator, x86
Pcjs
The original IBM PC and other machine emulations in JavaScript
Stars: ✭ 171 (+402.94%)
Mutual labels:  x86, emulator
Unicorn
Unicorn CPU emulator framework (ARM, AArch64, M68K, Mips, Sparc, PowerPC, RiscV, X86)
Stars: ✭ 4,934 (+14411.76%)
Mutual labels:  x86, emulator
qemu-android-x86-runner
Quick Start on How to Run Android x86 in QEMU
Stars: ✭ 102 (+200%)
Mutual labels:  emulator, x86
Dosbox Staging
DOS/x86 emulator focusing on ease of use
Stars: ✭ 412 (+1111.76%)
Mutual labels:  x86, emulator
Bddisasm
bddisasm is a fast, lightweight, x86/x64 instruction decoder. The project also features a fast, basic, x86/x64 instruction emulator, designed specifically to detect shellcode-like behavior.
Stars: ✭ 540 (+1488.24%)
Mutual labels:  x86, emulator
J2me Loader
A J2ME emulator for Android.
Stars: ✭ 882 (+2494.12%)
Mutual labels:  emulator
Nemesis
💾 x86 operation system writen on fasm
Stars: ✭ 29 (-14.71%)
Mutual labels:  x86
Kiwi
A simple Sega Genesis emulator
Stars: ✭ 14 (-58.82%)
Mutual labels:  emulator
Hpsx64
Source Code of HPSx64 (A set of PS1 and PS2/PS1 emulators)
Stars: ✭ 14 (-58.82%)
Mutual labels:  emulator
Python chip16
A full implementation (tested) of chip16 virtual machine, or emulator as you wish, using python and rendering with opengl.
Stars: ✭ 31 (-8.82%)
Mutual labels:  emulator

About

Build Status

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].