8086tiny · Download
Download 8086tiny Release 1.25

The 8086tiny distribution includes:

  • C source and Makefile
  • BIOS source (builds with NASM) and ready-made BIOS binary
  • FreeDOS 1.44MB floppy boot disk image from Joris_VR
  • Documentation and license
  • Alley Cat PC game

Comprehensive documentation is provided which should answer most questions you may have. Further questions are welcome in the forum.

Build Instructions

To build 8086tiny, you will need a C compiler of your choice (such as gcc or Microsoft Visual Studio 2013) and, for graphics and audio, SDL 1.2.

  • On most platforms, just run make to build, and then ./runme to launch
  • On slower platforms (e.g. Raspberry Pi), build with make 8086tiny_slowcpu to increase the graphics emulation frame rate
  • If your platform lacks SDL, build with make no_graphics to compile without graphics/audio support
Download Links

A highly condensed version of 8086tiny (just 4043 bytes of C source) won the 2013 International Obfucated C Code Contest. The distribution and documentation are available courtesy of the IOCCC website.

GitHub Repository

8086tiny is now on GitHub.

8086tiny is more than an emulator, it's a community. If you want to extend 8086tiny to do great things, forking the repository is highly encouraged. If you want details of your fork to be published here, get in touch.

If you find a bug in 8086tiny, consider submitting a pull request.

External Resources and Disk Images
Release History
  • 1.25 (March 19th, 2014): Major CPU, graphics, text and audio performance improvements. Support for DOS Plus and CPM-86. BIOS bug fixes.
  • 1.20 (February 20th, 2014): 2X faster CPU, 4X faster graphics. PC speaker, CGA graphics and programmable interrupt timer support. Revamped SDL keyboard support. BIOS keyboard and video bug fixes. Improved support for slower platforms. Source code clean-up.
  • 1.15 (February 9th, 2014): Full keyboard support for graphics applications - type directly into the SDL window, rather than the console. Unrolling of 8086 repeat operations and optimization of instruction decoding to improve performance. BIOS disk and video bug fixes.
  • 1.11 (February 5th, 2014): Compiled binary is now 20% smaller and 10% faster. BIOS binary is 30% smaller. Fixed bug where arrow characters were not displayed on some systems. Fixed bug causing dropped keystrokes on slower systems (e.g. Raspberry Pi). With thanks to the Raspberry Pi Foundation for the donation of a Raspberry Pi Model B.
  • 1.10 (February 3rd, 2014): Support for running ELKS/Linux. Hard disk boot support. Fixed disk and video bugs in BIOS. CRT hardware cursor support added. Direct video memory access speed improvements. Improved Makefile for compiling without SDL.
  • 1.03 (January 26th, 2014): Hercules CRTC resolution reprogramming now supported, needed by some applications e.g. ETEN Chinese System.
  • 1.02 (January 24th, 2014): Source code tidy-up to remove compiler warnings.
  • 1.01 (January 23rd, 2014): License changed to MIT License. Minor source revisions.
  • 1.00 (January 21st, 2014): Initial release.
Author Contact
Adrian Cable
adrian.cable@gmail.com

If 8086tiny brings you joy or profit, the author welcomes modest donations as a token of appreciation.