Gigamix DM-SYSTEM2

メモリマップ

updated:

第1章 概要

メインRAM

 標準的なMSX2でユーザーが自由に読み書きできるメモリは、メインRAMの64KBのみです。DMシステム2はこのうち、MSX-BASICでは基本的に使用不可の“裏RAM”と呼ばれるRAMの前半32KBにシステムプログラムを配置します。よって、DMシステム2を利用してBASICプログラムを配置できるのは、MSX-BASICと同様、RAMの後半32KBである8000h以降となります

マッパRAM

 マッパRAMは通常、16KB毎に区切った「セグメント」の切り替えでアクセスしますが、DMシステム2上のマッパRAMはセグメントが無く、“すべて繋がっている状態”として10000h(65536)からのアドレスで管理します。複数のマッパRAMが存在する環境でも同様で、単純に最大アドレスが増えることになります。

第2章 メモリマップ一覧表

 ユーザーが自由に利用できるメモリは太字で強調しているエリアに限られます。

メインRAM

メインRAM メモリマップ
アドレス メモリ容量(Bytes) 用途
ページ0 0000h ~ 02FFh 768 スロット切り替えルーチン(BIOS互換)ほか
0300h ~ 03FFh 256 インフォメーションエリア初期化用
0400h ~ 21FFh 7680 BGMドライバ
2200h ~ 27FFh 1536 DMシステム2 内部ルーチン
2800h ~ 2BFFh 1024 SEドライバ
2C00h ~ 2FFFh 1024 PCMドライバ
3000h ~ 3FFFh 4096 ユーザー用空きエリア
ページ1 4000h ~ 42FFh 768 コールエントリーほか
4300h ~ 43FFh 256 インフォメーションエリア
4400h ~ 73FFh 12288 DMシステム2 内部ルーチン
7400h ~ 75FFh 512 フォントドライバ(16px用)
7600h ~ 77FFh 512 フォントドライバ(12px用)
7800h ~ 79FFh 512 デバイスドライバ
7A00h ~ 7FFFh 1536 汎用ワークエリア(DMWORK)
ページ2・3 8000h ~ (HIMEM-1) ユーザーエリア(利用環境により可変) HIMEM(FC4Ah, 2)の値を参照のこと
(HIMEM) ~ F37Fh MSX ディスク・ワークエリア(利用環境により可変)
F380h ~ FD99h 2586 MSX システム・ワークエリア
FD9Ah ~ FDA3h 10 RAM フックエリア H.TIMI(FD9Fh, 5)DMシステム2 割込フック(CALL SYSON後)
FFCAh ~ FFCEh 5 拡張BIOS コールエントリ FCALL(FFCAh, 5)
FFCFh ~ FFD8h 10 割り込み制御用フック
FFD9h ~ FFE6h 14 割り込み制御プログラムエリア
FFE7h ~ FFF6h 16 VDPレジスタセーブエリア
FFF7h 1 メインROMスロットアドレス
FFF8h ~ FFFEh 7 リザーブ、VDPレジスタセーブエリア
FFFFh 1 拡張スロット選択レジスタ

マッパRAM

 以下は CALL MALLOC の宣言が成功した場合に成り立ちます。

マッパRAM メモリマップ
アドレス メモリ容量(Bytes) 用途
10000h ~ (セグメント数×16384) ユーザー用空きエリア(利用環境により可変)
以後DMシステム2で確保したセグメント数×16KBytesまで 最大4064KBytes
[Back]トップページへ