思いついたアイデアをひとつ。
Tiny2313あたりを1個積んで、メモリバス(拡張ROM1の部分)をハンドルします。 いわゆるIPL ROM代わりで、CS2/MREQ/RD/D0-D7/A0-A5あたりを入出力させます。
本体に読み込まれるコードはmega88(I/Oバス)を経由してSDカードからブートプログラムを読み込むものです。 このコードを実行中は読み込みはTiny2313から、書き込みはSRAMに行くようにしておいて、いったん初期化が終わったらTiny2313を完全に切り離してSRAMのみアクセスするようにします。
これだとPLDを使わずとも、現在の実装の延長線上でもできそうな気がします。
問題は、データをバスに載せるのがタイミング的に間に合うかどうかですね。 Z80のデータシートを見ると、メモリリクエストが開始されてからデータを乗せるまでは3クロック程度のようです。 ROMエリアなので、おそらくWAITが入って4クロックくらいになるのかな? AVR/20MHzでは20クロック分くらいです。 別にUV-EPROMを使っても似たようなことは可能ですが、Tiny2313は書き換えが楽なのと、値段が安いのがアドバンテージかと思います。
匿名
画面が真っ暗、でもカーソルは出てる状況。
探して、ここにたどり着きました。
パスワード入力で、復活!
修理に出す寸前でした。ホントにありがとう!