HackerNews

Apple II向けMicrosoft SoftCard: 二つのプロセッサがメモリを共有する方法

The Microsoft SoftCard for the Apple II: Getting two processors to share memory

https://devblogs.microsoft.com/oldnewthing/20251104-00/?p=111758


Microsoft SoftCardはApple II向けの拡張カードで、CP/Mソフトウェアを実行できるようにするものでした。このカードは、8080互換のZilog Z80プロセッサを搭載しており、Apple IIの6502プロセッサとの共存が課題となります。SoftCardは6502にDMAを行っていると通知し、6502はその間待機しますが、待機時間が長すぎるとレジスタの値が劣化します。これを防ぐために、Z80のREFRESHラインを利用し、6502のレジスタを最新の状態に保ちます。また、メモリマップの調整も必要で、Z80が特別に扱うメモリ範囲へのアクセスを管理するために、アドレス変換回路を使用しています。これにより、6502とZ80が効率的にメモリを共有し、互いに機能することを可能にしています。