tunozemichanの日記 / tunozemichan's diary

SORD社のコンピューターM68やM68MXの解析についての備忘録です。This blog is a memorandum about the analysis of SORD's computers M68 and M68MX.

SORD M68のBOOT ROM解析(Z80DMAのアドレス判明)

SORD M68のDMACはZ80DMAです。このDMACはとても複雑なコマンド体系ですが、解析者にはとても素晴らしい点があり、それはコマンドチェーンの最後が多くの場合、CF 87で終わる点です。今回もそれを足掛かりに探しました。

 

Z80DMAのI/Oアドレス 0xA1? 0xCC←こっちが正しかったです。

 

ちなみに、BOOT ROMでは、まず、メモリ→メモリ間転送を設定しています。現在解析途中ですが、0x55aaから0x55aaへ1バイト転送を実行しています。その後、Z80DMAのリードレジスタのポートAアドレスをチェックしています。よくわかりませんが、Z80DMAが正常に機能しているかチェックしているようです。

 

次に定義しているのは、I/O→メモリ転送で、I/Oアドレス0xA3から、メモリ0x00へ256バイト転送しています。これはフロッピーディスクの1セクタをメモリに送る設定だと思われますが、Z80DMAのI/Oアドレスが0xA1で、フロッピーディスクコントローラー(FDC)のI/Oアドレスが0xA3なのは不合理なので、悩み中です。

 

DMAの設定は、慣れればあまり悩まないのですが、最初は異常にとっつきにくい印象でした。SORD M68のチップ構成はMC68000以外は、SHARP X1turboにそっくりなので、そちらの資料が非常に参考になりました。

以下に参考資料を挙げておきます。

 

  1. Z80ファミリ・ハンドブック
  2. 試験に出るX1