Skip to content

friol/dream86

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dream86 - an x86/PC 💻 emulator

alley cat screenshot

dream86, the x86/PC emulator dedicated to my father.

When I was young, he bought a 386sx with MS-DOS 3.30.
dream86 is capable of running MS-DOS 3.30; it was the 1st OS that it booted. It took many nights of painstaking debugging, but, at the end, it's here.

dream86 is written in Rust. It's an experiment. I started using this language in December 2021, when I was searching for a different language to do Advent Of Code (https://adventofcode.com/). I'm not proficient in this language, but at least now I know that you have to run "cargo run --release" if you want an executable that is not a snail.

To compile and run dream86:

cargo run --release <disk image full path> <com name> <runmode>

where:

"disk image full path" is the path of a 1.44Mb .img disk image (or of a hard disk image)
"com name" is the name of a .com or .bin program (used only with runmode=1 or 2)
"runmode" is 0 to run the disk image, 1 to run the com file at the 2nd parameter and 2 to run a .bin file from artlav's test suite

dream86 uses the plug-in BIOS from 8086tiny:

https://github.com/alblue/8086tiny

Have fun with dream86!