主にMSX関係のコンテンツが置いてあります。

簡易ROM吸い出しツール

実機本体ROMからデータを吸い出すツールです。

ROMSAVEはスロットにあるデータをファイル化、KANSAVEは漢ROMをファイル化、PANA2M,4Mはパナソニックマッパーのデータをファイル化します。

こういうツールも、探すと見つけにくかったりするような気がして作りました。

DOS用のプログラムとなります。

ダウンロード

ROMSAVE

各スロットのデータをファイル化します。

[使い方]

ROMSAVE FILENAME SLOT PAGE [OPTION]

  • FILENAME

    保存するファイル名を指定します。例:DISKROM.ROM

  • SLOT

    保存するスロットを指定します。例:拡張有り=3-2、拡張無し=3

  • PAGE

    保存するページを指定します。例:範囲指定=0-2、1ページのみ=2

  • [OPTION]

    FDCのレジスタが出ているアドレス(付近)は読み込みをスキップします。

    スキップしないと、ファイル書き出し中にFDCのレジスタに影響を与えてしまいフリーズすることがあるようです。

    省略した場合、スキップ処理は行いません。

    0=7FF0H~7FFFHをスキップ。TC8566用?

    1=7F80H~7F87Hをスキップ。

    2=7FF8H~7FFFHをスキップ。

    3=7FB8H~7FBFHをスキップ。

    4=7FB8H~7FBCHをスキップ。

    ※所持しているのがTC8566機しか無いため、1~4は完全に未検証です。

KANSAVE

漢ROMのフォントデータをファイル化します。

第2水準までファイル化するので、第1水準しか搭載しない機種では第2水準分は豆腐になっています。

[使い方]

KANSAVE FILENAME

  • FILENAME

    保存するファイル名を指定します。例:KANROM.ROM

PANA2M,PANA4M

FX除く2+以上の#3-3にあるパナソニックマッパー上のデータをファイル化します。

PANA2Mが2+用で、2MBのファイルを512KB単位で出力します。出力ファイル名PANA0.ROM~PANA3.ROM。

PANA4MがturboR用で、4MBのファイルを512KB単位で出力します。出力ファイル名PANA0.ROM~PANA7.ROM。

出力ファイルが大きいので、FD4枚、あるいは8枚必要です(1枚でPCにファイルコピー後に削除して使い回すことも可能ですが、面倒です)。

ESCキーで中断ができ、オプションにより任意のファイルから作成することができます。

こちらのテストも限定的なので、上手く動作しない部分があるかもしれません。

[使い方]

PANA2M [OPTION]

PANA4M [OPTION]

  • [OPTION]

    [OPTION]はファイル番号0~3、もしくは0~7を入力します。省略すると0と同等です。

    入力したファイル番号からファイルを作成します。途中で終了して続きからやり直すためのオプションです。

PanaMerger

簡単なWindows用ツールです。上記プログラムで出力したファイルを1つのフォルダに入れ、そのフォルダをドロップすることで、PANA0.ROM~PANA7.ROMあるいはPANA3.ROMのファイルを結合して、PANAROM.ROMを出力します。ファイル名固定です。

使用例

まず吸い出したい実機の構成を調べます。

https://www.msx.org/wiki/Main_Pageで、MSX Hardwareの項を見ます。

その中のMSX Computersの中から、調べたいMSXのタイプを選択し、具体的な機種のページへ飛びます。

Panasonic FS-A1WXの例

機種のページで、Slot Mapの項を探します。

その中の、Main-ROM、MSX-Music、Kanji driver、Sub-ROM、Disk ROMをROMSAVEで吸い出します。

Panasonic mapperはPANA2Mで吸い出します。

漢ROMは単純に

KANSAVE KANROM.ROM

とするだけで保存できます。

Main-ROMの場合、スロット#0-0、0000H~7FFFHのページ0~1にデータがあるので、

ROMSAVE MAINROM.ROM 0-0 0-1

と、こんな感じで指定します。ページ範囲指定は昇順に並べる必要があります。

MSX-Musicの場合は、スロット#0-2、4000H-7FFFHのページ1にデータがあるので、

ROMSAVE MSXMUS.ROM 0-2 1

このような要領です。

Disk ROMの吸い出しだけ注意が必要です。

特定アドレスは読み込みをパスする指定をします。

FS-A1WXのFDCはTC8566AFなのでオプション0を指定し、

ROMSAVE DISKROM.ROM 3-2 1 0

こうすることでフリーズを回避しファイルに保存できます。

他のFDCの機種では試せないので上手くいくかは不明ですが、フリーズしないオプションを探すことになろうかと思います(どのオプションでも上手くいかない場合は、このプログラムでは無理です)。

Panasonicマッパーのように一部にRAMのデータがあったり、Disk ROMのようにスキップしたデータはハッシュ値が変わります。

openMSXなら機種構成のxmlに手を加えて、吸い出したROMデータの<sha1>を追加して認識するようにします。

Panasonic FS-A1STの例

turboRはスロットからデータを吸い出すのではなく、Panasonicマッパーに各スロットのデータも含まれるようなので、Panasonicマッパーと漢ロムを吸い出すだけで良いようです。