picoZ80 - A Z80 Drop-in Replacement
Key point
Introducing a replacement board that plugs into a Z80 socket, built with RP2350B and ESP32.
Details
picoZ80 is a drop-in replacement board that plugs directly into a Z80 DIP-40 socket.
The core idea is that RP2350B processes the Z80 bus's address, data, and control signals in real time using PIO state machines, making the host see bus timing identical to a real Z80. Rather than a simple emulator adapter, it maintains cycle-accurate control while layering various features on top.
- Core 1: Dedicated to the Z80 emulation hot loop
- Core 0: USB bridge, file I/O, ESP32 command relay, partition management, watchdog
- 8MB PSRAM: Banked memory organized as 64 banks × 64KB
- 16MB Flash: Bootloader, 2 firmware slots, config slot, general config partition
- ESP32 co-processor: WiFi, Bluetooth, SD card, web management UI
Memory and devices are configured via a JSON-based config.json. The memory map, ROM images, and driver selection can be changed without recompiling, and support for a new Z80 host is handled by editing the config file and adding any necessary C drivers.
The hardware is a v2.5 board designed in KiCad, operating at 3.3V while handling the 5V Z80 bus through level shifting and driver design. The board integrates the Z80 interface, power, ESP32, USB hub, and RP2350B on a single board.
Functionally, it provides ROM/RAM banking, a virtual device framework, WD1773-compatible floppy emulation, Sharp QuickDisk emulation, OTA updates, and USB firmware flashing. Starting with the Sharp MZ series, personas for multiple Z80 systems are being expanded, and the MZ-700 persona is already being developed to simultaneously handle banked RAM/ROM, floppy, QuickDisk, ROM Filing System, TranZPUter Filing System, and more.
This summary was generated automatically by AI. Check the original for the author's claims and context. Copyright belongs to the original author.
Our guide explains how the AI works. Report summary errors, attribution issues, or removal requests via Contact.