CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

プログラム実行

出来上がったコード「7F」「DA」「00」と32ビットアクセスされることを考えてもう一つダミーで「00」、計4個のコードをそれぞれ先頭番地に1バイトづつ焼いたROMを用意し基板に挿しこみました。この状態で実行させればアドレスバスはダブルワードアクセスしているならばROMの「000000」番地で固定(すこし先までプリフェッチはあるかも)、データバスはその時のROM内容「0000DA7F」を連続出力となるはずです。

ところがこの状態ではバスはめちゃくちゃ暴走状態になりました。アドレスバスは(ROM側で)A0だけが変化して残りビットが0固定のところが全ビットまんべんなくバタバタするし、本来ROMからのリードしか行われないはずなのに/RDも/WRも両方とも動いています。(ch.1:TCUの/RD、ch2:TCUの/WRピン)

 

f:id:O3I:20191109075408j:plain

 

これはもう意図しないアドレスでむちゃくちゃなプログラムを実行しているようです。ROMに書かれているコードが正しくないのか、それともROMからのコードが正しくCPUに伝わってないかのどちらかです。