Releases: udo-munk/Arduino8080
v1.6
Emulation of the z80pack Intel 8080 core on Arduino Nano.
This virtual machine emulates a complete S100 mainframe with the following components:
8080 or Z80 CPU running with 0.04 MHz
MITS Altair 88-SIO Rev. 1 for serial communication
RAM @ 0000H - FEFFH
ROM @ FF00H - FFFFH
DMA FDC with two single density 8" floppy disk drives
A disk image with CP/M 2.2 customized for the machine is included. Disk images, standalone software and the system configuration are stored on a 32 GB MicroSD card.
v1.5.1
v1.5
Emulation of the z80pack Intel 8080 core on Arduino Nano.
To build the release you must install this library in the Arduino IDE:
SdFat - Adafruit Fork
The virtual machine contains the following components:
8080 CPU running with 0.04 MHz
MITS Altair 88-SIO Rev. 1 for serial communication
RAM @ 0000H - FEFFH
ROM @ FF00H - FFFFH
32 GB floppy disk drive
Thomas contributed an even more code size optimized 8080 CPU, which still passes all instruction exerciser tests.
A configuration dialog was added, that allows to load any file from the MicroSD drive, and set I/O port 255 to any value 0x00 - 0xff.
On your MicroSD card create a directory CODE80, and copy the .bin files from src-examples into it. The files are 8080 code binary files and must be originated at address 0. To load one of the example files type only it's name in the dialog, without directory and extension, that will be added for you.
The port 255 value must be set to 0x00 for MITS BASIC versions < 4.0 and to 0x22 for MITS BASIC versions >= 4.0. This was used as a hardware configuration port in old machines like Altair 8800, IMSAI 8080. There were many different serial boards, and with this we tell the software to use, what we have in the machine.
v1.4
Emulation of the z80pack Intel 8080 core on Arduino Nano.
In this version we do not compile any 8080 code into the application anymore, but read 8080 code from a file on a MicroSD drive. Because memory is very constrained, for now it will only read in code from a fixed filename, which is /code80.bin on the SD card. But now we are able to run it with any code, also large programs, for example Microsoft Extended 16 KB BASIC, which is included in the examples.
Machine contains the following components:
8080 CPU running with 0.04 MHz
MITS Altair 88-SIO Rev. 1 for serial communication
RAM @ 0000H - FEFFH
ROM @ FF00H - FFFFH
32 GB floppy disk drive
v1.3
Emulation of the z80pack Intel 8080 core on Arduino Nano.
In this version the CPU implementation is replaced by a code size optimized one from Thomas Eberhardt.
Machine still contains the following components:
8080 CPU running with 0.04 MHz
MITS Altair 88-SIO Rev. 1 for serial communication
RAM @ 0000H - FEFFH
ROM @ FF00H - FFFFH
v1.2.1
Emulation of the z80pack Intel 8080 core on Arduino Nano.
This version is able to run MITS Altair BASIC 4K, which is included in the example program collection.
Machine contains the following components:
8080 CPU running with 0.04 MHz
MITS Altair 88-SIO Rev. 1 for serial communication
RAM @ 0000H - FEFFH
ROM @ FF00H - FFFFH
v1.2
Emulation of the z80pack Intel 8080 core on Arduino Nano.
After adding an Adafruit FRAM module and moving 8080 memory out to this we have this machine now:
8080 CPU running with 0.14 MHz
UART for serial communication
2 KB ROM for program code @ 0000H - 07FFH
62 KB RAM for data @ 0800H - FFFFH
v1.1
Emulation of the z80pack Intel 8080 core on Arduino Nano.
After memory optimization we have the following machine now:
8080 CPU with ca. 0.80 MHz clock frequency
UART for serial communication
2 KB ROM for programm code @ 0000H - 07FFH
1 KB RAM for data @ 0800H - 0BFFH
This machine now is good enough for running Li-Chen Wang's famous TINY BASIC, source included as example.