スロット」参照)に割り付けます。メモリマッパーとは、MSXの任意のスロットに装備することができ、スロットのメモリ空間の論理アドレスをメモリの物理アドレスに変換し、1つのスロットに接続できるメモリ空間を最大で4Mバイトまで拡張する装置です。スロットのメモリ空間の各ページ(16Kバイト×4ページ)は、最大で256ページ(1ページは16Kバイト)の任意のマッパーセグメントに割り当てられます。マッパーセグメントとスロットのメモリ空間の物理ページの対応は、マッパーセグメント選択レジスタの内容によって決められます。マッパーセグメント選択レジスタはI/OアドレスのFCH番地からFFH番地までの4バイトに置かれ、それぞれのレジスタは、CPU空間の物理ページ0〜3までに対応します。マッパーセグメント選択レジスタは書き込み専用で、1つのスロットに対して1組用意することができます。このレジスタに値を書き込むと、他のスロットのマッパーセグメント選択レジスタにも同時に値が書き込まれます。その結果、すべてのスロットのマッパーセグメントが切り替わるので注意してください。スロット」を参照して下さい。メモリマッパーはMSX2、MSX2+のオプション機能です。メモリマッパーに接続されるメモリは最小で64Kバイトとします。メモリマッパーの物理的構成2.マッパーセグメント選択レジスタの初期化MSX2、MSX2+システムは、リセット時にマッパーセグメント選択レジスタを下記の値で初期化します。メモリマッパー有無の検出は行いません。マッパーセグメント選択レジスタの初期化は、I/Oポートにデータを書くだけの処理なので、メモリマッパーの機構を持たないハードウェアに対して影響はありません。0マッパーセグメント選択レジスタの初期化後、システムはRAMのサーチ、ROMのサーチなどの初期化を行います。システムソフトウェア」を参照して下さい。2.1は、メモリディスク機能のためにメモリマッパーを使用します。2はメモリマッパーが必須となります。1はメモリマッパーを使用しません。3.メモリマッパーの使用方法メモリマッパーの容量と実装されているスロット(複数のスロットに実装されていることもある)は、機種によって異なりますので、アプリケーションソフトウェアが調べる必要があります。MSX-DOS2の環境ではメモリマッパーはすべてDOSが管理するので、MSX-DOS2のメモリアクセスの規則(拡張BIOSコール)にしたがって下さい。メモリマッパーを使用したアプリケーションプログラムがBASICやDOSに制御を戻すときには、マッパーセグメント選択レジスタを初期状態に戻さなければなりません。(DOS2使用時を除く)。メモリマッパーを必要とする商用ソフトウェアは、メモリマッパーが必要である旨と必要とする容量がユーザーにわかるよう、「マッパーRAM(xxxKB)必要」などと明記して下さい。マッパーセグメント選択レジスタの長さは、実装されているメモリ容量より大きくても構いません。512Kバイトまで扱えるように5ビットのマッパーセグメント選択レジスタがあり、実装されているメモリが64Kバイトの機種もありえます。1つのMSXシステムに複数のマッパーRAMが実装されていた場合、マッパーセグメント選択レジスタを書き換えると、ほかのスロットのマッパーRAMも切り替わります。DOS2の環境では、メモリマッパーはDOS2が管理しています。したがってアプリケーションプログラムがマッパーセグメント選択レジスタを直接操作するときは、DOS2のメモリ管理の状況を十分把握していないと、システムのクラッシュ(暴走)を招きます。以下に、メモリマッパーの回路例を示します。この回路例は、メモリマッパーのロジックを理解する上で参照して下さい。(画像クリックで拡大表示します)(図1.3.CE3(330)(水魚堂の回路図エディタを使用しています。VDPおよびカートリッジバスからの外部割り込みです。BASICインタープリタは、VDPからの60Hz(NTSC方式)または50Hz(PAL・SECAM方式)の信号を割り込みとして使用します。割り込みモードは1(38H番地に分岐)です。意MSX-DOSでは、66H番地(NMIエントリアドレス)がMSX-DOSのFCBデータエリアとして使用されるため、NMIは使用できません。同一水平線上に4枚まで表示可能。同一水平線上に8枚まで表示可能。1ラインごとに色を変えることができる。同一水平線上に8枚まで表示可能。1ラインごとに色を変えることができる。VDP」を参照して下さい。↓MSXの音声出力端子には、内部音源とオプション音源の音声出力がミキシングして出力されます。Perl5.008007。