ROMエミュレータの回路図と制御プログラム
このROMエミュレータは必要最低限の機能(Load & Run)しかありません。
また、ターゲットから電源を取っているのでターゲットの電源が入っていないと動かないので必要最低限の機能もないかも知れません。でも、わたしはICEでデバッグするときでもほとんど Load & Run しか使っていないのでこれだけでも充分だったりします。昔みたいに EEP-ROMに焼いては試しなどよりは遥かに効率的だと思います。とりあえず 27256/128/64に対応しました。
ホストとのインターフェースをシンプルにするためと、ホストから図太いケーブルを引きずり回すのはスマートでないという理由でデータはシリアルで転送する方式としました。このためエミュレータとホストとの間の信号線は5本(GNDを含む)で済みます。また、デージーチェーンによるバス幅の拡張も容易です。その反面、転送速度が犠牲になりますが、32KBの転送に要する時間は1秒程でした。転送ルーチンをアセンブラで書くと CPUの動作時間は殆どI/Oサイクルとなり CPU
の速度には強く依存しないようです。