- Notifications
You must be signed in to change notification settings - Fork0
Z80-MBC2 emulator - this fork extends IOS to make it compatible to the CPM3 fromhttps://github.com/SvenMb/Z80-MBC2 (mostly made by Ho-Ro) and the ram extension - development happens in ios_ram branch!
License
SvenMb/z80-mbc2-emu
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is an emulator to run the ROM and disk images prepared for the Just4Fun's Z80-MBC2. The Z80-MBC2 is an easy to build Z80 single board computer with just 4 ICs. SeeZ80-MBC2: a 4 ICs homebrew Z80 computer. This emulator can be used to test the SD content on a Linux, MacOS or Windows computer.
The emulator is based on the S220718-R240620 version of the Z80-MBC2 firmware. It can run Forth, CP/M 2.2, QP/M 2.71, CP/M 3.0, UCSD Pascal and Collapse OS.
Extract thelatest zip for Linux, MacOS or Windows.
The Z80-MBC2 SD contents must be extraced to a directory namedsd
. You can rundownload.sh
ordownload.bat
to automatically download and extract the files fromhttps://cdn.hackaday.io/files/1599736844284832/SD-S220718-R290823-v2.zip .
To list the boot options available, executez80-mbc2-emu
without parameters:
$ ./z80-mbc2-emu Usage: z80-mbc2-emu IMAGE IMAGE can be: basic for Basic using sd/basic47.bin forth for Forth using sd/forth13.bin autoboot for Autoboot using sd/autoboot.bin cpm22 for CP/M 2.2 using sd/cpm22.bin qpm for QP/M 2.71 using sd/QPMLDR.BIN cpm3 for CP/M 3.0 using sd/CPMLDR.COM pascal for UCSD Pascal using sd/ucsdldr.bin collapse for Collapse OS using sd/cos.bin fuzix for Fuzix OS using sd/fuzix.binDownload the images from https://cdn.hackaday.io/files/1599736844284832/S220718-R240620_IOS-Z80-MBC2.zip into the 'sd' directory.
To boot any of the available environments, executez80_mbc2_emu
with the code of the environment. For example:
$ ./z80-mbc2-emu cpm22z80-mbc2-emu https://github.com/ivanizag/iz-cpmEmulation of the Z80-MBC2, https://hackaday.io/project/159973Press ctrl-c to return to hostZ80-MBC2 CP/M 2.2 BIOS - S030818-R140319CP/M 2.2 Copyright 1979 (c) by Digital ResearchA>DIRA: ASCIART BAS : ASM COM : AUTOEXEC SUB : AUTOEXEC TXTA: D COM : DDT COM : DUMP COM : ED COMA: GENHEX COM : GPELED BAS : GPIO BAS : HELLO ASMA: HELLO COM : LOAD COM : MAC COM : MBASIC COMA: MBASIC85 COM : PEG COM : PIP COM : RTC BASA: STARTREK BAS : STAT COM : SUBMIT COM : TREKINST BASA: USERLED BAS : XMODEM CFG : XMODEM COM : XSUB COMA: ZDE16 COM : ZDENST16 COMA>
Press control-c to exit the emulation.
The Z80-MBC2 has a clever design based on a Z80 and a memory IC, both controlled by an Atmega microcontroller. The Atmega is able to put bytes on the data bus and can inject content to the RAM IC by generating code on the fly. It can also respond to IN and OUT ports with 1 bit adressing. It uses that as the interface with the Z80 programs. Via this interface it provides services related with the serial port, the SD card storage, the real time clock, the user led and button, and the GPIO.
This emulator emulates the Z80 and provides the same services given by the Atmega using the same IN and OUT ports. Instead of the serial port, it uses the terminal. Instead of the SD, it uses a directory namedsd
with the same contents.
- Change the way to exit to host to allow control-c to be used on the emulation.
- User led, button and GPIO are not connected to anything
- Save the printer output to a file
- Tick based interrupts
About
Z80-MBC2 emulator - this fork extends IOS to make it compatible to the CPM3 fromhttps://github.com/SvenMb/Z80-MBC2 (mostly made by Ho-Ro) and the ram extension - development happens in ios_ram branch!
Topics
Resources
License
Stars
Watchers
Forks
Releases
Packages0
Languages
- Rust64.0%
- Assembly34.1%
- Shell1.4%
- Batchfile0.5%