メモリマッパ、マッパBIOSとは?

MSXセクション鈴見咲ページ

いわゆるモノとしてのメモリマッパ

MSXではスロット機構を利用して、本来64KBしか扱えない Z80 でスロット一つあたり別の64KBのメモリを割り当て、16KBごとにどのスロットのメモリを使うかを選択できるようになっています。 MSX-BASIC の ROM とか、最初から本体にある ROM 、またゲームなどのカートリッジもこのスロット機構の一部分となっています。

ところで、スロット1つ64KB分がすべて RAM であった場合、これとは別のメモリ管理機構でその64KBを最大4MBまで拡張してしまおうというのがMSXでいうメモリマッパ対応RAM です。メインメモリが128KBまたはそれ以上の RAM である場合、メモリマッパ機構に対応していると思います。また、カートリッジで販売された日本語MSX-DOS2 に搭載された RAM などもこの機構に対応しています。

拙作のフリーウェアの中では SZMMP/RP/GP にて対応(なくてもいいがあればその分だけ演奏、WRDのための容量がとれる)し、SZMWP では必須(なければだめ)条件の一つとなっています。

この対応RAM は現在でも入手可能なようで、似非職人工房さんの「ナイスメモリー!うっかりくん」と TERRA Network System さんの「 AddRAM2 」がいずれも4MBの容量を持っています。

しんたろさんの「 MYU-DON Version 2.xx 」でこれらの RAM を使えば、turboR 等ではなくても演奏しながらプログラム書きができることになります。

ソフトウェアとして提供されるマッパBIOS

さてさて、マッパBIOSというのが別にあります。詳細はここでは説明しませんが、複数のソフトが同時にマッパ対応RAM を使う場合や、マッパ対応RAM が複数のスロットにある場合、実は少しややこしいことがあります。

で、ある1つのソフトを中継してコントロールすることでそのややこしさを解決しようというのが「マッパBIOS」というものです。

基本的にマッパBIOSは MSX-DOS2 や Disk BASIC Version 2.0以降の環境で動作しています。が、 MSX-DOS1 で互換動作をするものも考えられているようです。SYSTEMAXさんの 総合開発環境「 SIVA 」のパックのなかにそのためのソフトが入っています。

参考までに、拙作の SZMMP/RP/GP/WP はマッパ対応RAM があってマッパBIOS がない場合、対応RAM のあるスロット番号を指定することで強引に対応できるようにしてあります。いや、ソフト側で調べられない訳じゃないんですがちょっと面倒なんで(^^;


ご意見ご感想メールはこちらまで(suzumizaki@excite.co.jp)