mfld-fr / emu86

Intel IA16 emulator for embedded development
35 stars 6 forks source link
80186 80188 8086 8088 embbeded emulation emulator ia16

EMU86 - IA16 emulator

QUICKSTART

make
./msdos.sh

PURPOSE

EMU86 is yet another 8086 / 8088 / 80186 / 80188 emulator.

That old 16 bits processor architecture ('IA16') is still used today in some devices (SBC, MCU, SoC, FPGA, etc.) that reuse the huge hardware and code base from the legacy and popular PC/XT/AT platform to build embedded systems.

This emulator is intended to help the related embedded software development, at the stage of testing / debugging the code on the development system before burning it into the EEPROM / Flash on the device.

The goal is NOT to reinvent the wheel for PC / end-user emulation, as others projects like QEMU, DOSEMU, Bochs, etc., already do that job very well.

Therefore some features like the 80286 protected mode and the 32 / 64 bits modes are out of this project scope.

The emulator has a modular design with:

Debugger features:

The emulator provides 3 backends for the console or the serial port devices:

CURRENT STATUS

The emulator is now able to run ELKS, also known as 'Linux 8086', in a minimal PC/XT/AT configuration.

It is also able to emulate the Advantech SNMP-1000, an SBC based on the R8810 MCU, that is a 80188 clone but merges some XL & EB features (both DMA & serial).

And last but not least, it is able to boot MS-DOS 6.22, but this is rather a test case for EMU86 than an intended use.

Any addition to support more embbeded systems based on IA16 is welcome.

CONFIGURE & BUILD

First configure EMU86 by editing config.mk:

The default configuration is for a minimal PC / XT / AT.

Three other default configurations are provided for convenience:

Then run make clean and make as usual.

To build and run browser version (requires ELKS):

TO DO LIST

SEE ALSO

Other projects of interest: