Fake86 Home

Fake86 finally updated, and site redone.

It's been a long, long time since I have updated this website and well over a year since a new version was released. I have not been neglecting Fake86. I've been working very hard on it, and I'm finally satisfied enough with the results that I felt it was time to share what I've done. I have also deleted all of the old posts and old versions that were here before. Additionally, I am in the middle of creating a wiki for Fake86 that will have installation instructions, usage help, detailed tech notes, tutorials and more.


About 80% of the code has been totally rewritten since last July's release of v0.11.7.22. The code has also been reformatted to look a bit more professional, and it is much cleaner. I have made countless bug fixes, tweaks and improvements - to the point that the old code base was a bit embarrassing to still keep available. I haven't even bothered to make a changelog from the last release due to the sheer number of modifications. :)

I now also have a Fake86 page at Sourceforge, and download links here will from now on redirect to the download pages at SF. The code is now also available from there via git.

As far as the changes since last year, well where to begin? Here's a quick rundown of the current features:

  • The complete 8086 and 80186 instruction set is now implemented, and the trap flag now works.
  • The CPU core is a pure interpreting engine, but is still fast enough to achieve 50-60 million instructions per second and beyond on modern CPU hardware. 60 million delivers performance on par with a high-end 486 or low-end Pentium! This is easily double Fake86's previous performance capabilities. Even an old 400 MHz PowerPC G3 iMac running Linux is capable of more than 2 million instructions/sec.
  • Video rendering is 200% to 400% faster, and is much more flexible with custom fixed resolutions, and optional smoothing using a custom algorithm I designed specifically to try making text modes look as good as possible when upscaled. (Disabled by default, use -smooth command line option to enable.)
  • Creative Labs Sound Blaster is now emulated, along with Adlib FM card and Disney Sound Source emulation.
  • The previously poor PC speaker emulation has been completely fixed.
  • The audio buffering system has been rewritten, and the frequent jittery artifacts are now gone.
  • Standard Microsoft-compatible serial mouse is now emulated on COM1.
  • Intel 8259 interrupt controller is emulated.
  • Intel 8253 programmable interval timer is emulated.
  • Intel 8237 DMA controller is emulated enough to fully support Sound Blaster functionality.
  • The CPU port I/O emulation mechanism has been made fully modular with callback function registration, so that the emulated hardware configuration can be very easily changed for a customized compile.

Head on over to the downloads page to grab a copy of the latest version!

Posted by Administrator on Tue, 2 Oct 2012