XM7 V3を動かすにはFM77AV40EX/SXのROMデータが必要ですが、このどちらかの機種、もしくはFM77AV40+F-BASIC V3.4L20システムディスク(AV40専用版)を用いてROMセーブを行う専用ツールを作成しました。このツールの使用法を説明します。
(専用ツール「SAVEROM2」はXM7 V3.1L30以降のアーカイブに含まれています。)
以下の環境が必要になります。
- FM77AV40EX/SX またはFM77AV40とF-BASIC V3.4L20システムディスク(AV40専用版)
- PC-98シリーズ、FM TOWNSシリーズもしくはPC/AT互換機+3.5インチフロッピードライブ×1
- MS-DOS V3.1以降、またはWindows 95/98/98SE/Me/NT/2000/XP/Vista/7/8/8.1/10 (95/98/2000/XP/7で確認済み,x64版は要武田氏作MS-DOS Player)
(1)3.5インチ2DD・720KBフォーマット済みのフロッピーを1枚用意します。
Windows XP/Vista/7で720KBフォーマットを行うには、コマンドプロンプトを開いて FORMAT A: /T:80 /N:9 (フロッピードライブのドライブレターがA:の場合) としてください。
(2)MS-DOSプロンプト(コマンドプロンプト)を開き、SAVEROM2.COMを使用してフロッピーへ書き込みます。コマンドラインにはフロッピードライブのドライブレターを指定します。SAVEROM2.COMは16ビットコードで書かれているので、64ビット版OSの場合、武田氏作のMS-DOS Playerが必要です。
例)PC/AT互換機 32ビット版OSの場合→C:\>SAVEROM2 A
例)PC/AT互換機 64ビット版OSの場合→C:\>MSDOS SAVEROM2 A
上で作成したディスクはFM77AV40/EX/SXでブートできます。
ブートすると自動でROMセーブを開始します。終了メッセージが表示されると完了です。
セーブ後のディスクは720KB MS-DOSフォーマットになっているので、直接エクスプローラ等でアクセスできます。含まれているファイルを全てコピーして完了です。
ディスクには以下のファイルが作成されます。
ファイル名 ファイルサイズ 内容 配置空間 配置アドレス V1 V2 V3 FBASIC30.ROM 31,744 bytes
32,768 bytes(FM77AV40EX/SX)F-BASIC V3.0, F-BIOS メイン $38000-$3FBFF ○ ○ ○ BOOT_BAS.ROM 512 bytesブートROM (BASICモード) メイン $3FE00-$3FFFF ○ − − BOOT_DOS.ROM 512 bytesブートROM (DOSモード) メイン $3FE00-$3FFFF ○ − − SUBSYS_C.ROM 10,240 bytes8x8フォント、サブモニタROM (タイプC) サブ $1D800-$1FFFF ○ ○ ○ KANJI1.ROM 131,072 bytesJIS83準拠第1水準漢字・非漢字 I/O 4バイトI/O経由 △ ○ ○ KANJI2.ROM 131,072 bytesJIS83準拠第2水準漢字 I/O 4バイトI/O経由 − − ○ DICROM.ROM 262,144 bytes漢字変換辞書 メイン $2E000-$2EFFF − △ ○ INITIATE.ROM 8,192 bytesFM77AVイニシエータ メイン $36000-$37FFF − ○ ○ SUBSYS_A.ROM 8,192 bytesサブモニタROM3 (タイプA) サブ $1E000-$1FFFF − ○ ○ SUBSYS_B.ROM 8,192 bytesサブモニタROM3 (タイプB) サブ $1E000-$1FFFF − ○ ○ SUBSYSCG.ROM 8,192 bytesキャラクタROM, サブモニタROM1/2 (4バンク) サブ $1D800-$1DFFF − ○ ○ EXTSUB.ROM 49,152 bytes拡張サブモニタROM (タイプD,E) メイン $2E000-$2EFFF − − ○
FM77AV40からROMデータを吸い出した場合、実機に拡張サブモニタROMが搭載されていないため、そのままではXM7 V3を起動できません。MKEXTSUB.exeを使用してFM77AV40専用版のF-BASIC V3.4L20のディスクイメージから拡張サブモニタROM相当のデータ(EXTSUB.ROM)を抽出する必要があります。
(MKEXTSUB.exeはXM7本体のアーカイブには含まれないので、別途ダウンロードする必要があります。)