この記事 の続きです。
注文していた基板が届きました。
○FS-A1 メモリ512KB化基板
前回はTSOPの石を使いましたが配線チェックがやりづらくて懲りましたので、今回はSOPの石を使います。
○部品組み付け後
部品を組み付けました。
表側はメイン基板と配線を繋ぐピンヘッダとZ80を載せるICソケット、主役のSRAMだけですが、裏にはS1985のメモリマッパを512KB対応にするための回路を組んであります。
基板自体は512KBタイプ一個あるいは128KBタイプ一~二個のいずれかを載せられるようにしてありますが、今回は512KBタイプを載せてあります。
○本体組み込み後
メインボードに載せました。
電源を入れて自作のプログラムでメモリマッパのチェックをして見ます。
○512KB化成功
ちゃんと32セグメントを認識して、メモリチェックも全てクリアしました。
(32セグメントもあるとセグメントごとに結果を表示するモードでは画面が流れてしまうので、エラーがあったセグメントのみ表示するモードで実行しています。
スペルミスやら総セグメント数の取得方法の問題やらがあったので、そちらも修正しています。そのため、前回とは表示も少し変わっています。)
さて、前回の記事で、「パターンカットしなくてもマッパレジスタを512KB対応にできそう」と書きました。
元々S1985(MSX-SYSTEM II)には5bitのマッパレジスタがあります。
しかし5bitのうち最上位ビットのピンは、キーボードの信号と兼用になっています。
このピンをマッパレジスタの最上位ビットとして使うためには、リセット信号がアサートされている間、あるピン(X5のピン)をLレベルに落とさないといけません。
FS-A1のキーボードのかな文字はASCII配列になっていますが、これも同じようにリセット信号がアサートされているときに別のピンをLレベルに落とすことでそのように設定されています。(HレベルだとJIS配列になります)
初めはこのかな文字設定のピンと同じ回路を組もうとしたんですが、そのためにはパターンカットが必要でした。
しかし、要はリセット信号がアサートされている間特定のピンをLレベルに落とせばいいわけですから、既存回路と同じ方法でなくてもいいわけです。
ちょうどこのピンは5.6KΩの抵抗でプルアップされていましたので、Nch-MOSFETを使ったスイッチ回路でリセット信号がアサートされている間このピンをGNDに落とせばいいことに気づきました。(たぶんNPNトランジスタでも大丈夫だけど、念のためなるべくGNDに近い電圧にしたかったのでNch-MOSFETにしました。)
こうすれば、既存回路に手を加えることなく、信号を引き出して回路を追加するだけで目的が果たせます。
結果はご覧のとおりです。
これでウチにあるMSXのうち、メインメモリが64KBのままなのはFS5500だけになりました。
実はFS5500のメインメモリを増設する基板のパターン設計も終わってたりします。
気が向いたらそっちもやってみましょう。
以下備忘録
基板設計データはFS-A1メモリ追加SOP版.LZH