CPU実験室

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

デコーダ変更

外部プログラム空間:ROMと外部データ空間:PPIのアクセスが問題ないようなんで一安心です。ここでメモリマップを最終形にしていきます。
 
ますSRAM32kBは半分潰してPPIを配置していましたが、これではもったいないので全32kBを丸々生かすように0x8000-0xFFFFに配置することにします
するとPPIが追い出されてしまいますがこれは0x0000-0x7FFFのデータ空間前半部分に移動させました
GALにはアドレスバスとしてA10~A15まで引き込んであるのでなるべくイメージが少なくなるようにフルデコードしPPIが0x0800~、LCDが0x0C00~にアサインしておきます
 
イメージ 3
 
GALの等価ロジックは以下のようになります
 
イメージ 2
 
GALのロジック変更では対応できないハード的な接続先変更はパタンカット、ジャンパでやるしかありません
 
ROMの/OEピン : /RD から /PSEN に変更
RAMの/OEピン : /RD から /RD + /PSEN に変更

・・・基板に痛恨のジャンパが飛びました。
 
イメージ 1
この修正によってROMはプログラム空間からしか見ることができなくなります
ホントにそれでいいのでしょうか?
プログラム領域に埋め込まれた変換データテーブルを参照したり、固定文字列データをシリアルやLCDにデータとして出力できんのか?と勘繰りましたが、そんなことはメーカーは当然想定済であってちゃんとプログラム空間をデータとしてアクセスする「MOVC」という命令が用意されていました
 
イメージ 4