AVR-based bootloader, I/O, and debugging for Z80-based computers
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples Add tick marks on clock Jan 4, 2019
hardware Fix revision on schematic Jan 12, 2019
iox Update revision in schematic Jan 12, 2019
.gitignore Add KiCad temp files to .gitignore and add missing KiCad files to repo Nov 22, 2018
Doxyfile Add doxygen comments May 21, 2018
Makefile Add MSX keyboard emulation for MSX-BASIC Jan 2, 2019
README.md Update links in README Jan 12, 2019
board.jpg Update picture to REV4 Jan 12, 2019
bus.c Drop support for REV1/REV2 boards Dec 28, 2018
bus.h Drop support for REV1/REV2 boards Dec 28, 2018
cli.c Remove ColecoVision Controller Emulation (handled by separate board) Dec 28, 2018
disasm.c Switch to lowercase for disassembly Jul 12, 2018
disasm.h Add 20-bit address support to more commands Jun 28, 2018
diskemu.c Fix search and replace screwup Dec 16, 2018
diskemu.h Move hard drive port to 0x8 to avoid conflicts with SN76489 card Dec 16, 2018
diskio.c Add doxygen comments May 21, 2018
diskio.h Add doxygen comments May 21, 2018
distest.c Add doxygen comments May 21, 2018
ff.c Remove unneeded FatFS files May 21, 2018
ff.h Add doxygen comments May 21, 2018
ffconf.h Add RTC support to fatfs Nov 22, 2018
flash.c Add 20-bit address support to more commands Jun 28, 2018
flash.h Add support for flashing files larger than 64KB Jun 28, 2018
ihex.c Rename read_mem/write_mem to mem_read/mem_write Jun 26, 2018
ihex.h Small UI tweaks May 26, 2018
integer.h Add doxygen comments May 21, 2018
iorq.c Conditionalize MSX keyboard emulation Jan 9, 2019
iorq.h Fix break/watch bugs Jul 4, 2018
iox.c Move RTC to same ports as IO expander Dec 16, 2018
iox.h Move RTC to same ports as IO expander Dec 16, 2018
mmc_avr.h Add doxygen comments May 21, 2018
mmc_avr_spi.c Add support for SD enable and chip detect lines Dec 16, 2018
msxkey.c Add MSX keyboard emulation for MSX-BASIC Jan 2, 2019
msxkey.h Add MSX keyboard emulation for MSX-BASIC Jan 2, 2019
rtc.c Move RTC to same ports as IO expander Dec 16, 2018
rtc.h Move RTC to same ports as IO expander Dec 16, 2018
simhboot.h Tweaks to disk emulation; fixed sectors per track May 25, 2018
sioemu.c Move serial emulation to separate file; other cleanup May 26, 2018
sioemu.h Remove Zilog SIO emulation Dec 28, 2018
spi.c Initial software support for I/O expander board Nov 16, 2018
spi.h Drop support for REV1/REV2 boards Dec 28, 2018
tms.c Remove TMS text mode code Jul 8, 2018
tms.h Remove TMS text mode code Jul 8, 2018
uart.c Add MSX keyboard emulation for MSX-BASIC Jan 2, 2019
uart.h Add MSX keyboard emulation for MSX-BASIC Jan 2, 2019
util.c Add doxygen comments May 21, 2018
util.h Add doxygen comments May 21, 2018
xmodem.c Fix indentation in xmodem.c Jun 30, 2018
xmodem.h Add xmodem send/receive Jun 30, 2018
z80.c Drop support for REV1/REV2 boards Dec 28, 2018
z80.h Add ability to ignore halt Oct 28, 2018

README.md

z80ctrl

z80ctrl is an AVR-based bootloader, debugger, and I/O device for a Z80 retrocomputer with the following features:

  • Runs CP/M software including WordStar, Zork, Ladder, Turbo Pascal and more!
  • Plug-in module for RC2014 retrocomputer replaces the clock, serial, ROM, and CF boards
  • Reads HEX files and disk images from a FAT32-formatted SD Card
  • Provides Altair and RC2014-compatible serial port
  • Compatible with unmodified Altair disk images from the SIMH emulator project
  • Monitor with memory inspector and built-in Z80 disassembler
  • Single-step debugging, breakpoints, and watchpoints to trace Z80 bus activity in real-time
  • Flexible MIT-licensed firmware can be the basis of your own SBC or breadboard computer
  • Expandable SPI bus allows bridging other SPI peripherals to the Z80

IMAGE ALT TEXT HERE

Documentation

Much of the information that was previously here has been moved to separate wiki pages:

Off-Site Resources

License

Copyright 2018 J.B. Langston

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.