第1章 概要
マッパーRAM(メモリマッパ)とは
MSXのシステムにおいて、64キロバイトを超える容量に対応した管理システム「MMS(MemoryMapperSystem)」に接続されている大容量RAMのことです。
MSX(Z80 CPU)は基本的に16ビットのアドレス空間、つまり64キロバイトまでのメモリ空間までしかアクセスすることができません。ROMでは「メガROM」の登場によって大容量ROMが利用可能となりましたが、RAMでは(特にMSX BASIC環境下では)インターフェースが無いためにこれと言った活用方法が未だに確立していません。MSX-DOS2のHドライブ(RAMディスク)として使うか、プログラムの自作によって直接スロットとマッパセグメントを操作するしかなく、必然的にプログラムが煩雑になりがちでした。
※MSX2以降に追加された CALL MEMINI によるRAMディスク機能(通称:MEMディスク)はメインRAMの32キロバイトを消費する機能であり、マッパーRAMのメインRAM以外の領域を消費するMSX-DOS2のRAMディスク機能とは違うものです。
DMシステム2では、そうした手間を極力省いて誰もが簡単に広大なメモリをBASIC上で利用できるように、独自のインターフェイスを提供します。
- 64キロバイトを超える「マッパーRAM(メモリマッパ)」へのアクセスを、BASIC上で利用できます。
- 最大4096キロバイト(4メガバイト)の広大なメモリを、BASICプログラムから読み書きできます。
マッパーRAMさえあればあとはDMシステム2をインストールするだけですぐにでも利用可能です。DOSのバージョンによるマッパ管理方式の違いはDMシステム2が吸収するため、ユーザーは面倒なことに気を取られずプログラミングに専念できるでしょう。
動作環境について
何はなくともマッパーRAMの動作環境が必要です。
マッパーRAMの仕様はMSX2の規格で制定されました。基本的にはRAMの容量が128キロバイト以上のMSX2以降の機種でマッパーRAMが利用可能となっています。MSX-DOS2(Disk BASIC ver.2)の動作条件として128キロバイト以上のRAMが必要となっているため、MSX-DOS2が動作する機種ではマッパーRAMにも対応している、と言えます。MSX turbo R(FS-A1ST・FS-A1GT)および1chipMSXなどの互換機は256キロバイト以上のマッパーRAMを標準で搭載しています。
メインRAMが64キロバイト以下の機種(日本国内で流通していたほとんどのMSX1・MSX2・MSX2+)ではカートリッジによるRAMの増設が必要になります。
マッパーRAMの増設が可能になる主なカートリッジ
- 日本語 MSX-DOS2(128キロバイト または 256キロバイト, アスキー製)
- 増設RAMカートリッジ MEM-768(768キロバイト, アスキー製)
- ナイスメモリ!うっかりくん(4096キロバイト, 似非職人工房製)
- MegaFlashROM SCC+ SD(512キロバイト, MSX Cartridge Shop製)
- Carnivore2(1024キロバイト, RBSC製)
- その他各種カートリッジは https://www.msx.org/wiki/Category:RAM_Expansions に一覧があります
【写真】MEM-768(上), ナイスメモリ!うっかりくん(左下), Carnivore2(右下)
マッパーRAMを標準で搭載している機種でもカートリッジでRAMを増設することで、より広いメモリ空間を利用できるようになります。
※初代MSX(MSX1)の全盛期に各社から発売されていた8キロバイト・16キロバイト・64キロバイトの各種RAM増設カートリッジはメインRAMへの増設目的なためマッパーRAMに対応していません。
※初代MSX(MSX1)の規格は基本的にマッパーRAMに対応していません。MSX-DOS2上位互換OS「Nextor(ネクストル)」によってMSX1においてもマッパーRAMが利用可能とされていますが、DMシステム2の動作は不定となりますので予めご了承ください。