データックをばらしてみた

バーコードスキャナ

カートリッジの基板から3本(5V, GND, data)が来ているので、フォトダイオードかなんかでできているものと思われる。1本だけの入力なので、ソフトで見張る必要があってそのおかげで音楽をとめてスキャンをかけていると思われる。

CPU とのインタフェースは tristate buffer を介して CPU D3 につながる。HiZ の制御端子は BAMMU (後述) から来ているので、推測するにアドレスが $6000-$7fff になっているときに有効になる気がする。

シリアル EEPROM

データック本体に X24C02 が配置されており、サブカートリッジコネクタにも I2C の信号が来ているはず。はずと書いたのは SDA は見つけたんだが、なぜか SCL がつながってない...

エミュレータのソースで X24C02 と X24C01 が併記されている理由はサブカートリッジ内部に X24C01 があると思われる。送ってもらったドラゴンボールZには載っていなかったので、後日調査が必要。

メモリコントローラ

BAMMU と書かれた LZ93D50P があるんだが、通常のゲームカートリッジの DIP とは違って QFP 55pin になっている。型番は同じなので機能は同じで、基板のつなぎ方が違うだけだと思う。

サブカートリッジ

32pin のコネクタでデータバスは ROM と同じことと、 SDA があったのを確認して、 I2C のデータ以外はたいしたことがないと判断し調査はここまで。

エミュで怪しい事項

$6000-$7fff, $8000-$ffff ともにメモリコントローラのレジスタになっているようだが、 FCG のバージョンで違うかもしれない。ここらへんは最大公約数的に PC で動くことを優先されて都合良く実装されている可能性が高い。