8KByte ROMカード編からの続きです。PC-6001本体拡張コネクタから出ているCS2信号を使ってフラッシュメモリを読み込めるようにしましたが、残りの外部ROMアクセス信号であるCS3を使ってみます。
PC-6001メモリ構成とフラッシュメモリの関係をこのようにしたいわけです。
CS2が4000-5FFFでCS3が6000H-7FFFHのアドレス選択信号なので、その両方にフラッシュメモリ側が反応すればいいわけですが、フラッシュメモリ側は1つの選択信号しか受けられないので、ここはANDを取ります。
CS2 | CS3 | 出力 |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
CS2/3は0(LOW/0V)がActiveなので、どちらかが0であればフラッシュメモリの選択信号をActiveにして、両方とも1(HIGH/5V)であれば、フラッシュの選択信号は非ActiveとなりますからANDが1つで済みます。(CS2/3共に0という状態はありえないのですが)
それと、PC-6001拡張コネクタから出ているアドレスバスの13番(A13)をフラッシュメモリのA13につないで、4000Hか6000H(0000Hか1FFFH)を判別できるようにしておきます。 → mkII以降の機種では4000Hと6000Hそれぞれに割り当てられる外部ROMのアドレスを ひっくり返すことが出来るので、フラッシュメモリのA13には、CS2を繋いだ方がいいそうです(えすびさんに教えて頂きました、ありがとうございます)
AND用のICである7408が増えました。
今回使用したフラッシュメモリは2MBit(256KByte)ありますが、まだ、そのうちの16KByteしか使っていません。となると、ここからはバンク切り替えとなるのですが、その実装例は西田ラヂオ DIGITALさんのところに、Mega ROM board for PC-6001という作例があります。丸投げか!
16KByte ROMを実装すると、あとは16KByte分のRAM領域を埋めたくなりますね。えすびさんのサイトにSRAMを使ったPC6001用拡張RAMの作例があります。丸投げ2球目!