Skip to content


Repository files navigation


Barely-IBM-compatible PC emulator written in Lua 5.3.


  1. Copy over the .lua files to an OpenComputers drive.
  2. Prepare uncompressed, raw .img files for your floppy disks and hard disks.
  3. Run Lunatic86 (lunatic86.lua -h for help).

Note that floppy drives require a known floppy drive-matching size. Meanwhile, hard drives can be of any size, but they are assumed to always have 63 sectors and 16 heads.


Do not edit emu_core.lua! It is automatically generated by - edit emu_core_pre.lua instead.

  1. Run ./ on a (preferably?) Linux machine.
  2. Run lunatic86 in OpenComputers. (The curses port needs fixing)

What's Emulated?

Probably decently

  • CPU: 8086-esque
  • Graphics: CGA (640x200x1, 320x200x2, text modes), 320x200x8 (Mode 13h)
    • With some partial I/O ports emulation!
  • BIOS: High-level emulation
    • Decent implementations of most expected interrupts


  • Audio: PC Speaker (Computronics Beep Card)
  • Keyboard: PC XT-compatible
  • 8259 PIC
  • 8253 PIT

Not even tested

  • Graphics: Tandy-compatible

Not even implemented

  • BIOS: Serial/Printer Port interrupts, INT 15h
  • Pretty much anything not listed


  • platform.lua outputs debug text to stderr. Run with "2>/dev/null" to avoid.
  • The performance on my desktop (i7-4790K) seems to be:
    • about 3x PC XT in Lua 5.3,
    • about 0.6x PC XT in latest stable OpenComputers,
    • about 1x PC XT in latest stable OpenComputers + fixed machine.lua - you may override it server-side,
    • about 1.8x PC XT in latest stable OpenComputers + fixed machine.lua + natives recompiled to actually use -O2 and not debug mode,
    • about 2.5x PC XT in Kallisti with the timeout-checking code disabled altogether, and about 1.8x PC XT otherwise.
  • There's a lot of bugs and hacks.

Known issues

Many. See the Wiki for the Compatibility List.

In particular, a "reduced memory usage" mode has to be introduced for OC users.


TBD. For now, consider it "all rights reserved" - or just ask on IRC.


  • 8086tiny, for providing the initial motivation and being one of the emulators which proved helpful during development
  • Publicly available 8086 test suites used:


Lua-based IBM PC-ish emulator for the OpenComputers mod






No releases published


No packages published