CPU実験室

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

ROM焼き込み

出来上がったバイナリをフラッシュROMに焼いてみます。まさにこのために作ったROMライタ基板がさっそく活躍。WINアプリによるコントロールはまだできてませんがターミナルからの対話形式で十分用が足りるのでこれで開発完了になってしまうかもしれません。

f:id:O3I:20220413172901j:plain

次のような手順で操作しています

E(erase)コマンド:ROM全面消去・・・約10秒

C(check)コマンド:ROM全512kbyteが消去済(0xFF)をチェック・・・約2分

F(fill)コマンド:RAMバッファ全128kbyteを0xFFでフィル・・・約1分

D 0(dll)コマンド:シリアルからバイナリをRAMバッファ0番地からセット・・・数秒

P 0 7FF00 100 (program)コマンド:バッファ0番地から100HバイトをROM 7FF00番地へ書き込み・・・数秒

O 7FF00 (rom dump)コマンド:ROMの7FF00番地から100Hバイトをダンプ

V 0 7FF00 100  (verify)コマンド:バッファ0番地とROM 7FF00番地から100Hバイトの内容合致をチェック・・・数秒

 

焼きあがったROMをTLCS-900ボードにセットして電源ONしました。

ROMのアドレスピンをオシロで当たってみるとA0,A1はH/Lの繰返し、A2~A6はLのまま、A7~A18は全てHのままとなったのでバス上のアドレスは

         11111111111100000XX

HEXでいうと0x7FF80~0x7FF83を示していることになります。つまりマッピングされたCPUアドレス上では0xFFFF80番地付近でループしていることになりJR $がちゃんと動作していることがわかります

 

アドレスA0ライン(ch1)とROMの/OE(ch2)をプローブしてみると70kHz程度でループしているようです。かなり遅く感じますがクロックギアの分周設定値が初期状態のままなのでこれはもっと速くできるはずです

f:id:O3I:20220413172921j:plain

予想外にあっさり動いてしまい、逆にTLCS-90のとき悩んだウオッチドッグタイマがなぜ機能しないのか。。など気になるところもあります