FS-A1のメモリはMSX2の標準の64KBです。もちろんメモリマッパーも非対応です。BASICを使う分には十分なのですが、MSX-DOS2やNextor OSのDOS2モードを動かすには、メモリマッパー対応のメモリが必要です。
幸いにもFS-A1は、MSX-SYSTEM II と呼ばれるS1985が搭載されており、この中に512KBまで制御可能なメモリマッパーレジスタが入っているそうです。
にがさんのFD-A1の改造のページに512KBの増設方法が載っていたので増設に挑戦してみました。今回の記事はメモリ増設基板の作成までを書こうと思います。
にがさんの上記記事には、回路図や改造の結果だけでなく、どうしてそうしたかの技術情報も記載されているので、これを読むだけで必要十分な情報が得られます。今回の改造の回路はほんとにそのまま、にがさんのものを使わせていただきました。有益な情報を公開してくださり感謝です。
今回は、Z80に下駄を履かせる形でメモリを増設することにしました。下駄を履かせる方式としてはFramさんのものと同様です。
下駄を履かせる方式の良いところは、大量のアドレス、データ線を手配線しなくて済むことですね。SRAMに必要な信号線のうち、アドレス14本(A0〜A13)、データ8本(D0〜D7)、/OE(/RD)、/WE(/WR)はZ80の信号線と直結なので、Z80の下駄から取得できると都合が良さそうです。残りの/CS、A14〜A17の5本のみ外部から配線すればOKになります。
素人なりに頑張って設計した回路図がこちら。EAGLEは有償化してしまったので、今回はKiCadを使って設計しました。
ソケット用の配線を書くのが面倒だったので、Z80を2つ回路図に置いてます・・。(正しい回路図になってない)
で配線を終えた基板はこちら。
基板製造は過去にお願いしたことがあるFusionPCBではなく、最近主流のJLCPCBにお願いしようとしていて、10cm×10cmに2面分を面付けできるように横方向を50mm未満に抑えてみました。(ただやり方がわからず面付けは断念・・)
また、右上や右下の削ったところは、コンデンサや突起があったためそれを避けるように削ってみました。
Fusion PCBで基板を作ってみたときの記事はこちらです。
KiCadには3Dビューワが標準でついています。3Dで見ると本物みたいでカッコいいですね!
KiCADで設計した基板をJLCPCBに発注する際にはガーバーデータなどをまとめる必要があるのですが、JLCPCB用の形式でまるっとZIPファイルにしてくれる「JCLPCB fablication toolkit」という神プラグインがあるので、今回はそれを使わせていただきました。
セットアップ方法などは以下のブログを参考にさせていただきました。スクリーンショット付きでプラグインのインストール方法が記載されているのでとてもわかり易かったです。
JLCPCB fablication toolkit をインストールするとPCB Editorのツールバーの右端にアイコンが追加されます。
これを押下すると以下のようなダイアログが表示されます。(バージョンの差か、上のブログの記事とは少し異なりました)
特に何も設定変更せずに「Generate」を押下すると、プロジェクトディレクトリにproductionというフォルダが作られ、その下にいくつかファイルが生成されます。この中の .zip ファイルをJLCPCBにアップロードすればOKです。メチャクチャ便利ですね。
今回はJLCPCBに発注するのが初めてだったので、オーダーは最小の5枚にして、とにかく追加料金がかからない最安値で発注してみました。送料込みで 437 円でした。めちゃくちゃ安い!!!
ROMカートリッジリーダの配線の時、めちゃくちゃ苦労したので、あれも基板作っちゃったほうが断然コスパもタイパもよかったですね・・。
届いた基板がこちら
やっぱり自分で作った基板が届くとワクワクしますね!
7/2に注文して、7/9に届いたのでほぼ1週間で届きました。これで500円以下とは・・
Z80の位置に基板を置いてみました。突起やコンデンサとも干渉せずに使えそうです。
似非RAMディスクを作るときにパッドと合っていなかったSRAMの足もちゃんと幅が合ってそうです。よかった!
今回はここまで。
次回は基板の組み立てと本体側の改造を行って動作確認を行います。