Skip to content

davecom/DK86PC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DK86PC

This is a work-in-progress Intel 8086 and IBM PC 5150 emulator. Currently, it successfully boots through the BIOS and launches Cassette BASIC. It can run commands in Cassette BASIC successfully:

Casette BASIC Booting

The 8086 implementation passes automated CPU Tests (Thanks @artlav!). Many of the support chips have partial implementations. The next step is to finish enough of the floppy disk controller to be able to boot into DOS. Then I'd like to implement a CGA graphics mode (currently only text mode is implemented) to be able to run some '80s games. I'm happy to take pull requests towards those goals or fixing bugs, but I'm not really interested in turning this into a sophisticated (say 80386) emulator for more advanced hardware. It's a learning project. I could particularly use help with the support chips.

The only dependencies are SDL and SDL-ttf.

There is an Xcode project file in the main directory, and a Visual Studio solution in the Visual Studio directory. I've left the SDL libraries in the repository, since I had to custom build the ones for Apple Silicon (and I just find it more convenient).

Currently I am testing on Big Sur on Apple Silicon (ARM64), and on Windows 10 on x64. I'm using the clang and MSVC compilers.

I wrote it all by hand using Intel/IBM/online documentation, looking at other emulators for hints/quick solutions when I got really stuck on a particular item.

The emulators I've found most helpful as a reference are this Java one by @NeatMonster, this C one by @mikechambers84, this C one by @andreas-jonsson, and this Rust one by @dbalsom.

For the CPU opcode implementations, I largely used the official Intel 8086 manual as well as this great site by Felix Cloutier.

About

A WIP Intel 8086 and IBM PC 5150 emulator.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published