It's written in FreeBASIC, but I'm about 90% done with porting it to C and getting that to the same point as this. Switching to C because I want it to be as fast as possible, but the FB version is plenty fast on a modern computer. When the C version is done, I will release the source but this version's code is too ugly looking for me to give out.
Every line of code in this I wrote myself, not based off of any other software.
Main features so far:
-Complete 8086 CPU emulation core, which also supports almost all 80186 instructions. I've been working very hard on this part, and at this point I'm pretty convinced there are no bugs left in the core.
-Hard drive and floppy image file support. (It comes with a 50 MB hard drive image including DOS and few programs to try out)
-Hercules, CGA, and VGA emulation. (EGA support isn't working yet)
-Full Disney Sound Source emulation.
-PC speaker emulation. (But it sounds terrible, I'm working on it)
Still to do:
-Sound Blaster and Adlib support.
-On-the-fly floppy disk image switching.
-Finish 320x200 VGA emulation (it's nearly done.. 95%+ of MCGA/VGA programs will work fine on it now)
-Implement 640x480 16-color VGA emulation.
-Some sort of UI. Right now, everything is controlled from a .ini file.
-And a TON more!
A few screenshots showing what it can do...
^ Ultima 6... if you want to play this game in it, use GAME.EXE not ULTIMA6.EXE... ULTIMA6.EXE shows the title sequence animations, and much of that tries to use VGA register tricks my emulator doesn't support yet.
If you're interested in trying it, out here's the download link:
It's pre-configured, so just extract it somewhere and run fake86.exe
I would love feedback! Thanks.
This post has been edited by Mike Chambers: 11 May 2011 - 02:31 PM