CPU実験室

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

アドレスデコード変更

このROMライタには8255が2個あり、それぞれアドレスバス制御、データバス制御と役割分担していますが実はI/Oアドレスは、同じ番地に重複してマッピングされています
バイスの切替えのためには、さらに別の制御用パラレルポートへビットを立てる事でそれぞれの8255のチップセレクトが有効になる、という作りになっています。
 
もともとPC9801が連続した空きI/Oアドレスを確保しにくいこともあり、こうすることで専有するI/O空間の節約ができるのですが、いかんせん8255へのアクセスが面倒です
さらに制御用ポートはROMの/CSや/OEのピン制御もビット割付しているので、8255の切替と同時にこれらのピンの状態にも影響してしまいます
 
今回のH8/3069Fでは外部拡張したI/Oブロックだけでも1Mbyteの広大な空間があるので、こういうケチな細工はやめてリニアなマッピングに変更しました。
 
イメージ 1
 
といっても変更はH8/3069FからアドレスバスA4を引き出して、8255のアドレスデコードに加えるだけです。