Hacker News 中文摘要

RSS订阅

PicoZ80 – 即插即用Z80替代方案 -- PicoZ80 – Drop-In Z80 Replacement

文章摘要

picoZ80是一款替代传统Z80处理器的升级模块,采用RP2350B双核微控制器实现周期精确的Z80总线控制,同时提供加速执行、虚拟内存等功能。板载ESP32协处理器支持WiFi、蓝牙和SD卡存储,可通过网页管理。该模块直接插入Z80计算机的DIP-40插座,在保持兼容性的同时大幅提升性能。

文章总结

picoZ80:基于RP2350的Z80处理器升级模块

核心功能

picoZ80是一款可直接插入传统Z80计算机DIP-40 CPU插槽的定制PCB模块,通过RP2350B微控制器(双核Cortex-M33,最高300MHz)实现Z80处理器替换。其创新特性包括: - 精确总线控制:通过3个PIO状态机实现周期级精准的Z80地址/数据/控制总线管理 - 扩展内存:8MB PSRAM支持64个64KB内存分页 - 虚拟化支持:可配置ROM/RAM分页、虚拟磁盘驱动和完整机器模拟 - 无线连接:集成ESP32协处理器提供WiFi/BT、SD卡存储和基于浏览器的管理界面 - 灵活配置:通过SD卡中的JSON文件实现硬件映射和驱动管理

硬件架构

  • 核心组件
    • RP2350B主控(48个GPIO接口)
    • 16MB SPI Flash + 8MB PSRAM
    • ESP32-S3协处理器(50MHz FSPI通信)
    • 6层PCB设计(尺寸适配DIP-40插座)
  • 电源设计:TLV62590BV同步降压转换器从Z80插座的5V电源转换3.3V

软件特性

  • 双核分工
    • Core 0处理文件I/O和USB通信
    • Core 1专用于Z80模拟热循环
  • 三层内存模型:SRAM(0等待周期)→ PSRAM(SPI访问)→ Flash(启动时加载)
  • 机器角色系统:支持Sharp MZ系列等多种预设配置,可动态切换

开发与调试

  • 构建工具链:CMake 3.20+ + ARM GCC + ESP-IDF容器
  • 调试接口
    • RP2350支持SWD双核调试(OpenOCD + GDB)
    • ESP32支持内置USB-JTAG调试
  • OTA更新:通过网页界面实现固件无线升级

应用场景

  • 传统Z80计算机性能升级
  • 嵌入式系统开发平台
  • 计算机历史 preservation项目

许可信息

  • 硬件设计:CC BY-NC-SA 4.0(非商业使用)
  • 固件代码:GPL v3
  • 商业使用需单独授权

(注:本文保留了约30%的关键技术细节,删减了重复的许可声明和调试命令示例等次要内容,总字数控制在技术文档的典型范围内。)

评论总结

以下是评论内容的总结:

  1. 硬件改造方案讨论

    • Lerc考虑用RP2350模拟RAM,通过卡带方式避免硬件改造,实现视频硬件直接读取("every line a BADLINE")。
    • YasuoTanaka指出这更像是总线级参与,重新定义机器行为("You’re effectively redefining the whole machine behavior")。
  2. 技术实现细节

    • boznz建议忽略RP2350设计图,使用标准LDO提高稳定性("save having to use that weird inductor")。
    • Dwedit强调缓存对性能的关键作用,需处理内存映射同步问题("CPU with its cache has to be kept in sync")。
  3. 应用场景与需求

    • JVIDEL询问是否仅限爱好者或工业应用("just for hobbyists or any industrial applications?")。
    • jhallenworld提出用作经典CPU仿真器,快速诊断故障("finds the problem in like 5 seconds")。
  4. 怀旧与兴趣驱动

    • jgrahamc对Sharp MZ系列增强功能表示兴奋("Enhancements for the Sharp MZ line! Wonderful")。
    • bilekas表达对自制硬件的热爱,尽管可能成本高昂("I feel this hobby is going to become very expensive")。
  5. 命名与概念疑问

    • uticos质疑"tranZPuter"与"transputer"的命名关联("how is 'tranZPuter' not 'transputer'")。
    • rahimnathwani询问板载Z80如何切换ROM("Does the board direct the Z80 to an alternate ROM")。

总结:评论围绕硬件改造方案、技术细节、应用场景及爱好者兴趣展开,既有技术讨论,也有怀旧情感和命名疑问。