레트로 컴퓨터에 새로운 생명을: PicoZ80, Z80 CPU를 RP2350B로 대체!

by DD
1개월 전
조회수 20

PicoZ80은 레트로 컴퓨터의 Z80 CPU를 RP2350B 마이크로컨트롤러로 대체하여 성능 향상을 목표로 함

RP2350B의 듀얼 코어(Dual-Core)PIO(Programmable I/O)를 활용하여 Z80 버스 타이밍을 정확하게 에뮬레이션

SD 카드를 통한 빠른 애플리케이션 로딩, WiFi/Bluetooth 연결, 웹 기반 관리 인터페이스 제공

JSON 기반 설정(JSON-driven Configuration)을 통해 다양한 Z80 기반 시스템 지원 및 기능 확장이 용이함

RP2350B 기반의 사이클 정확도(Cycle-Accurate) Z80 에뮬레이션

PicoZ80은 RP2350B의 PIO(Programmable I/O) 스테이트 머신(State Machines)을 활용하여 Z80의 주소, 데이터, 제어 버스를 실시간으로 제어한다. 특히, 각 버스 트랜잭션(Bus Transaction)을 정확하게 처리하여 호스트 시스템이 실제 Z80과 동일한 버스 타이밍을 경험하도록 설계되었다. 듀얼 코어(Dual-Core) 아키텍처를 통해 에뮬레이션과 부가 기능을 동시에 처리하며, PSRAM(Pseudo-Static RAM)을 활용하여 메모리 접근 속도를 향상시켰다.

JSON 기반 설정과 머신 페르소나(Machine Persona) 지원

PicoZ80은 SD 카드에 저장된 JSON 설정 파일(Configuration File)을 통해 모든 동작을 제어한다. 이 방식은 보드 재구성을 위해 별도의 컴파일 과정 없이 메모리 맵, ROM 이미지, 드라이버 선택 등을 변경할 수 있게 해준다. 또한, 다양한 Z80 기반 호스트를 지원하기 위해 머신 페르소나(Machine Persona)를 제공하며, 각 페르소나는 특정 머신에 최적화된 드라이버와 설정을 포함한다.

가상 장치 프레임워크(Virtual Device Framework) 및 메모리 뱅킹(Memory Banking)

PicoZ80은 가상 장치 프레임워크(Virtual Device Framework)를 통해 C 함수를 사용하여 임의의 I/O 포트 범위를 에뮬레이션할 수 있다. 또한, 8MB의 PSRAM을 64개의 뱅크로 구성하여 최대 4MB의 뱅크된 주소 공간을 지원한다. 이러한 기능은 플로피 디스크(Floppy Disk) 에뮬레이션QuickDisk 에뮬레이션과 같은 기능을 구현하는 데 사용되며, 레트로 컴퓨터의 기능 확장을 가능하게 한다.

ESP32를 활용한 WiFi 및 웹 관리 인터페이스

PicoZ80은 ESP32 co-processor를 통해 WiFi 및 Bluetooth 연결을 제공하며, 웹 기반 관리 인터페이스를 제공한다. 이 인터페이스는 설정, 파일 관리, OTA 펌웨어 업데이트, 페르소나 선택 등을 지원한다. ESP32는 RP2350B와 FSPI(Fast SPI)를 통해 통신하며, SD 카드에 저장된 설정 파일, ROM 이미지, 디스크 이미지 등에 접근한다. OTA(Over-The-Air) 업데이트를 통해 펌웨어를 안전하게 업데이트할 수 있다.

PicoZ80 – Drop-In Z80 Replacement