[En-Nut-Discussion] Intel 8080 system emulation: Running CP/M on your Ethernut Board!!!
ole.reinhardt at embedded-it.de
Thu Jul 21 16:54:47 CEST 2011
I ported a very amazing piece of code to Nut/OS and would like to share
it with the community. A full Intel 8080 Emulator capable of running
CP/M in only ca. 4K of source code!!! (Nut/OS wrapper code excluded)
Have you ever had the wish to run your ancient software like MircroPRO
Wordstar, Borland Turbo Pascal, some BASIC interpreter or an adventure
game on your Ethernut board?
Here you go. Have a look to my project description at
This Nut/OS program is capable of emulating a complete Intel 8080 CPU
along with a terminal- and disc-controller. It can boot the original
CP/M v2 system from 1975.
You'll find pre-compiled binaries at least for eNet-sam7X and Ethernut 3
at the bottom of the page. Sure there's also the full source code
As CP/M is a Disk-Controller System it needs at least a BIOS and two
DISK-Images which will be loaded from an SD-card.
I wrote this code for our eNet-sam7X boards, but also tested it on my
Ethernut 3.0e. It should be fairly easy to port it to e.g. EIR, the
AVR32 or Cortex M3 platforms.
Basic requirements are:
- MMC card
- At least 64 + x KByte of free ram (80K-90K should be sufficient)
The CP/M system itself will need 64K of ram (that's what the Intel 8080
was able to address directly), a little more is needed by the
The emulator code is highly obfuscated. Sure, the original code was
winner of the 2006 IOCCC (the international obfuscated C contest) and
was given to the public domain by its author Óscar Toledo Gutiérrez.
Btw: the original code can be found here:
Have fun playing with it!
Thermotemp GmbH, Embedded-IT
Embedded Hard-/ Software and Open Source Development,
Integration and Consulting
Geschäftsstelle Siegen - Steinstraße 67 - D-57072 Siegen -
tel +49 (0)271 5513597, +49 (0)271-73681 - fax +49 (0)271 736 97
Hauptsitz - Hademarscher Weg 7 - 13503 Berlin
Tel +49 (0)30 4315205 - Fax +49 (0)30 43665002
Geschäftsführer: Jörg Friedrichs, Ole Reinhardt
Handelsregister Berlin Charlottenburg HRB 45978 UstID DE 156329280
More information about the En-Nut-Discussion