Skip to content

Latest commit

 

History

History
74 lines (64 loc) · 3.73 KB

README-ja.md

File metadata and controls

74 lines (64 loc) · 3.73 KB

Z80ATmega128

English version is here.

概要

本プロジェクト目的は、本物のZ80A上でCP/M-80が動くシステムの構築である。
なぜいまさらそんなモノを?
きっかけは、部品箱から30年ぶりにZ80A CPUを発見したこと。たぶん1980年あたりに製造されたNMOSプロセスのザイログ純正品だ。このままコレクションしておくのも忍びないので、動かしてみることにした。

だが、この時代に昔と同じようなZ80のワンボードマイコンを再現するなんて面白みがない。そもそもパーツの入手が困難だ。
そこで以下のアプローチをとることにした。

  1. Z80AATmega128-16AU (AVRマイコン)のハイブリッド構成とする。
  2. ROMは使用しない。Z80AとAVRで64KBのSRAMを共有し、Z80のブートストラップコードはAVRが配置する。
  3. Z80の外部I/Oと割り込みはAVRのファームウェアでエミュレートする。つまりZ80の周辺I/Oデバイスは全てソフトウェアで記述する。
  4. できるだけ入手しやすい部品で回路設計する。(2023年の日本の電子部品市場を想定)

実績

  • CP/M 2.2がZ80A上でネイティブ動作可能
  • micoSDカード上のイメージからCP/Mを自律起動する
  • CP/M 3 (CP/M Plus)の動作も確認済み
  • 懐かしのテキストアドベンチャーゲーム ZORK I, II, IIが遊べる!
  • プリント基板(PCB)も製造してみた
  • デモビデオ

コンテンツ

.
├── avr                      AVR ファームウェア
├── z80                      Z80 ソフトウェア
│   ├── cpm22                CP/M-80 Ver2.2
│   │   ├── bios               BIOS
│   │   ├── sys                CPM.SYS(CCP/BDOS) and cpm.ihx(IPL+CCP/BDOS+BIOS)
│   │   └── image              CP/M 2.2 Disk image
│   └── cpm3                 CP/M 3 (CP/M Plus)
│       └── image              CP/M 3 Disk image
├── doc
│   ├── Hardware/            ハードウェアドキュメント
│   ├── Software/            ソフトウェアドキュメント
│   └── README.md            ドキュメント目次
└── schematics
    └── KiCad
        ├── *.kicad_sch      回路図
        └── *.kicad_pcb      PCB

必要なツール

  • Microchip Studio for AVR v7.0以降 : avr/以下のAVRファームウェアのコンパイル用
  • AVRISP mkII : ATmega128へのファームウェアの焼きこみとFUSEの設定用
  • KiCad v7.0 : 回路図とPCBの設計用
  • ASxxxx Cross Assemblers : z80/以下のCP/M BIOSのアセンブル用
  • cpmtools : CP/M disk imagesの生成用

試作基板

プリント基板


回路図

ライセンス

GPLv3