gridl / DK86PC

A WIP attempt to write an Intel 8086 emulator... and eventually an original IBM PC 5150 emulator.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DK86PC

A WIP attempt to write an Intel 8086 emulator... and eventually an original IBM PC 5150 emulator.

It's at the point where it gets through booting the BIOS and gets to the IBM Casette BASIC (I haven't made much progress on the floppy disk controller to boot DOS). But everything is a syntax error—I think because of the u character being inserted at the end of each line:

Casette BASIC Booting

If someone wants to help me finish it, I'd be happy for the help. Right now most of the 8086 (8088 technically but no difference at this point) is done, memory works, CGA has text mode support, and a basic implementation of most of the essential support chips is done (PIC, PIT, etc.). The only dependencies are SDL and SDL_TTF so it can easily be ported to other platforms.

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've run some automated CPU tests and the CPU is reasonably good, but is still missing a few instructions. I wrote it all by hand using Intel/IBM/online documentation, only looking at other emulators when I got really stuck for a particular specific item.

The emulator I've found most helpful as a reference is this Java one by @NeatMonster. And this C one by @mikechambers84.

About

A WIP attempt to write an Intel 8086 emulator... and eventually an original IBM PC 5150 emulator.

License:GNU General Public License v3.0


Languages

Language:C 72.0%Language:C++ 18.9%Language:Assembly 8.2%Language:Objective-C 0.4%Language:CMake 0.4%Language:Python 0.0%