FS-A1のメモリ拡張(512kB)に成功しました

先日のエントリでFS-A1用の拡張メモリ基板を作製しました。前回のエントリはこちら

今回は基板の組み立てと本体の改造を行います。

基板の組み立て

基板の組み立ては比較的簡単です。SOPパッケージなので素人でもそれほどはんだ付けは難しくありません。SRAMとソケット、ピンヘッダをはんだ付けし、FS-A1にもともと載っていたZ80互換CPUを載せてみました。カッコいいですね。

下の基板と接続するようのピンヘッダは秋月で買った丸ピンIC用連結ソケットを使いました。細ピンヘッダだとかなり安価なのですが、足が多いため脱着に結構な力が必要です。丸ピンIC用連結ソケットだと高価で足が曲がりやすいものの、脱着はやりやすいです。

created by Rinker
GalaxyElec
¥1,870 (2024/11/20 17:29:48時点 Amazon調べ-詳細)

FS-A1本体の改造

本体側の改造は3つ。

  • Z80、DRAMを取り外し、Z80をソケット化する
  • MSX-SYSTEM II (S1985)からマッパアドレスとスロット信号を取り出す
  • キーボード信号のX5とリセットICをダイオードを介して接続する

まずは簡単な Z80 をソケット化を行います。

DRAM(IC10, 11), と Z80(IC12) の3つを取り外します。両面基板じゃないのでハンダ吸い取り線で簡単に取り外せます。Z80の跡地には40Pinのソケットをはんだ付けしておきます。

…続きを読む

FS-A1用の拡張メモリ基板を作りました

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を使って設計しました。

…続きを読む

Nextorを使って似非RAMディスクが動きました

前回のエントリからだいぶ時間が空いてしまいました。前回似非RAMディスクのハードウェアを作ったので、今回はMSXで動かすところを書いていこうと思います。その際にDISKBIOSがなくても(FDDなしの機種でも)似非RAMディスクを作ることができたので、その方法を記載します。

前回のエントリはこちら

一般的な手順として、似非RAMディスクを使えるようにするにはMGINST.COMで似非RAM用のカーネルを似非RAMディスクに書き込む必要があります。現在似非RAMディスク関係のツールはサイバラさんの似非職人工房・非公認出張所でダウンロードできます)

MGINST.COM を実行するにはDISKBIOSのイメージが必要になります。DISKBIOSは呼び方がまちまちで、DOS1カーネル、DISKカーネル、DISKROMなどとも呼ばれるようです。

MGINST.COMは、似非RAMディスク、似非SCCディスク、MEGA-SCSIにシステムをインストールするソフトです。

インストールにはディスクROMのカーネルファイルが必要です。
カーネルファイルの作成には、KSAVER.COMを使用して下さい。

MGINST.DOCより引用

DISKBIOSが必要な理由は、オリジナルのDISKBIOSにパッチを当てることでFDDへのアクセスをRAMへのアクセスに変換しているためです。すごい技術ですよね。そのためDISK BASICからもMSX-DOSからも普通のフロッピーと同様の使い方が可能になっています。まじすごいです。

ところで私が持っているMSXはPanasonicのFS-A1でFDDがないため、DISKBIOSが載ってません。MSXのBIOSイメージはググればいくらでも転がってはいるものの、違法コピーですので使用するのはライセンス違反となります。

そこで目をつけたのが konamiman さんが開発している Nextor です。MSX-DOS2互換のOSとして開発されており、DOS2だけでなくDOS1のカーネルとしても動作するとのことです。このNextorとNextorPatcherを使って似非RAMディスクを動作させることができました。

…続きを読む

似非RAMディスクを作りました

昔憧れていた似非RAMディスクを作製しました。出来上がるまでに色々あったのでメモがてら記載しておこうと思います。

似非RAMディスクとは?

似非職人工房の辻川さんが考案されたもので、メガロムゲームのROMをSRAMに置き換え、Disk BIOSにパッチを当てたものをSRAMに書き込むことで、Ramdiskのように使えるようにしたものです。

メガロムコントローラによって最大容量は変わりますが、最大1MBのSRAMを搭載できるようです。MSXで使えるフロッピーディスクが 2DD 720KBなので、それ以上の容量を高速アクセスできるのは魅力的です。

個人的に似非RAMディスクで一番すごいと思っているのは、Disk BIOSに独自にパッチを当てて、FDDアクセスをSRAMアクセスに完全に置き換えているところです。BASICからもMSX-DOSからも全てのディスクアクセスが問題なく行えるように、ソース非公開のDisk BIOSを改造するのは至難の業だと思います。すごい人がいるものですね。

似非RAMディスクを作るねらい

私が持っているFS-A1にはFDDがついていません。なのでPCとデータのやり取りをする手段が一切なく、PCに残っている過去のMSXのソフトを動かしたり、今後PCで開発したソフトを実機で動かすことができない状態です。

そこで似非RAMディスクを作製し、先日作ったROMカートリッジリーダ/ライタを使って似非RAMディスクにROMイメージを書くことでPCとMSX間でファイルのやり取りができないかと考えています。

ちょっと話は飛ぶのですが、(MSX界では世界的に有名な)konamimanさんがMSX-DOS2互換のOS、Nextor を開発・公開されています。そして、(MSXの改造で有名な)にがさんがこの Nextor にパッチを当てて似非RAMディスク用のイメージを作成する NextorPatcher を公開されています。

NextorPatcherでは、あらかじめROMイメージにファイルを組み込むことができます。この機能を使えば、PCのファイルをMSXに受け渡すことができそうです。これがまずやりたいことです。

MSX→PC側はSRAMイメージからファイルを取り出すための開発が必要になりますが、PC→MSX側の受け渡しさえできれば技術的なハードルはめちゃくちゃ下がります。

ということで似非RAMディスクを作ってなんとかPCからMSXにファイルを受け渡すことが目的です。

…続きを読む

メガロムコントローラを制御してみました

前回MSXのROMカートリッジのリーダーを作成しました。メガロムではないROMカートリッジはそのままアドレスを指定するだけでデータが読み出せますが、メガロムのゲームではメガロムコントローラを制御してページ切り替えを行ってROMにアクセスする必要があります。

今回はメガロムコントローラを制御してみます。

前回の記事はこちら

メガロムコントローラとは?

Z80はアドレスバスが16bitのため、アドレス空間が64KB(512Kbit)までしかありません。MSXでは64KBを4つのページに分割して、スロットごとに切り替えられる仕組みがあります(詳細は前回の記事を参照ください)

4つ全てをカートリッジのROMにすることもできますが、RAMなどのワークエリアが必要なため、基本的には0x4000〜0xBFFFの32KB分をROMに割り当てて使用するように設計されているようです。

…続きを読む