MSX0からBIOSをダンプしてOpenMSXでMSX0相当の環境を作る


MSX0をゲットしたのはいいものの、MSX0上で開発作業をするのはかなりきついです。
開発作業はエミュレータを利用した方が効率がよいですが、利用するには実機のBIOSが必要になります。ここでは、MSX0からBIOSをダンプしてOpenMSXでMSX0相当の環境を使用できるようにする手順をまとめます。

以下でダンプツールを公開してくれている方がいますので、これを利用します。

https://github.com/hra1129/for_MSX0/tree/main/dump_tool/for_msx0_bios2

ちなみに、引用ですが大事なこと。

> MSX0 から BIOS等の ROMイメージをダンプするツールです・ダンプして得られた 
> ROMイメージは、その MSX0 の所有者のみ使用することが出来ます。
> MSX0 を手放した時点で使用することは出来なくなります。
> ダンプした BIOS を、第三者へ配布・コピーすることは禁じられています。
> 取り扱いにご注意下さい。

## Step1

[上記レポジトリ](https://github.com/hra1129/for_MSX0/tree/main/dump_tool/for_msx0_bios2)から ```BIOSDUMP.DSK``` をダウンロードしてSDカードのDSKフォルダ内に置きます。
```BIOSDUMP.DSK``` を起動ディスクとしてMSX0を起動します。

![スクリーンショット 2024-09-28 234416.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/123579/0b61c1d1-13b8-c97f-3773-b45fa5894878.png)

自動でBIOSをダンプしてくれます。現時点ではDOS2のROMはうまくダンプできないそうなので、上図のような状態でもとりあえずOK。

## Step2

ダンプしたBIOSは ```BIOSDUMP.DSK``` に保存されているので、DiskExplorerなどでROMファイルをローカルへコピーしておきます。

![スクリーンショット 2024-09-30 011019.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/123579/d2f846b7-9dfc-a3f4-515a-d1b67c6bc1b3.png)


## Step3

OpenMSXをインストールします。

https://openmsx.org/

インストール後、一度OpenMSXを起動します。(Windowsの場合)Documentsフォルダに ```OpenMSX``` フォルダが出来ているのでOpenMSXは一旦終了し、 ```OpenMSX/share/machines``` 以下に ```BIOSDUMP.DSK``` からコピーしたROMファイルをすべて置きます。

また、ダンプツールをダウンロードした[Githubレポジトリ](https://github.com/hra1129/for_MSX0/tree/main/dump_tool/for_msx0_bios2)から ```MSX0.xml``` もダウンロードして同じ場所に置きます。

![スクリーンショット 2024-09-30 011926.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/123579/49534cf5-02fc-42c3-464b-af64d2709a33.png)

## Step4

```Catapult```を起動します。OpenMSXをインストールすると一緒にインストールされるOpenMSXの起動用フロントエンドです。

![スクリーンショット 2024-09-30 012436.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/123579/4c345755-ca83-89f9-6813-9c1b2f819ad5.png)

初回起動時はConfigurationのダイアログがでるのでそのままOKします。

![スクリーンショット 2024-09-30 012830.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/123579/d501b02a-f32b-725b-27d8-175de8f7497c.png)

もしでなければ、メニューの```File```->```Test MSX Hardware```を選択します。

![スクリーンショット 2024-09-30 012719.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/123579/a6ead25a-025c-b716-35d2-6c2e9a0d9e92.png)

設定ファイルのスキャンが行われます。

![スクリーンショット 2024-09-30 013116.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/123579/2a9c396b-2b17-2a46-dcda-6484641664ae.png)

うまくいっていれば、```MSX type``` のプルダウンメニューに ```MSX0``` が追加されています。

![スクリーンショット 2024-09-30 013231.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/123579/7b7c7285-dcdd-60f3-cd3a-4f21128204f7.png)

```MSX type``` に ```MSX0``` を選択してOpenMSXを起動してみます。

![スクリーンショット 2024-09-30 013527.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/123579/e539d45f-0c2e-107c-3891-2cbc14415358.png)

OpenMSX上でMSX0 BIOS でMSXが起動します。

## Step5

これでOK！と言いたいところですが、現状はフロッピーディスクドライブが機能しません。開発作業をするにはディスクが必須なので、DSKイメージをマウントできるExtensionを追加する必要があります。

必須ではないですが、```View```->```Display Broken COnfigurations``` のチェックを外しておきます。このチェックがついていると、現状使用できないMSX Type や Extension も一覧に表示されてしまいます。

![スクリーンショット 2024-09-30 014710.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/123579/63b733ea-0e9c-0f53-8bae-f29c513c6c8f.png)

使用するExtensionに必要なROMを以下より取得します。

https://github.com/Konamiman/Nextor/releases

NextorのGithub Release v2.1.1 から ```Nextor-2.1.1.SunriseIDE.ROM```、それと Relase v2.1.0 の ```tools.zip```をダウンロードしておきます。

ダウンロードした ```Nextor-2.1.1.SunriseIDE.ROM``` をドキュメントフォルダの ```openMSX/share/systemroms``` に置きます。
そうしたら、Catapultでもう一度 メニューの```File```->```Test MSX Hardware```を選択して、設定ファイルを再スキャンします。

うまくいっていれば、Extensionsのリストに ```SunriseIDE Nextor``` が追加されています。

![スクリーンショット 2024-09-30 015649.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/123579/d53cdfb0-3587-d1b1-00b7-82ee551aa59d.png)


## Step6


Exntensionsのリストで ```SunriseIDE Nextor``` を選択状態にして、```Hard Disk Drive``` で適当なDSKイメージファイルを指定します。下図では例として、MSX0に付属していたMSX-DOS2のディスクイメージを指定しています。

![スクリーンショット 2024-09-30 015918.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/123579/523ab686-2919-fa39-461e-4293b459fe38.png)

起動すると、

![スクリーンショット 2024-09-30 020222.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/123579/87e4789a-3ee2-0647-2da7-a265b6e5dfb4.png)

DSKイメージを読み込まれて、この例ではDOS2が起動します。いままでMSX0で使用していたDSKイメージが読めるので、おおむねMSX0実機相当として利用することができます。ただし、HardDisk Drive としてディスクイメージをマウントしているので起動中はDSKイメージの切り替えができません。

```tools.zip``` には ```NEXTOR.SYS``` などの Nextor関連ファイルやツールが含まれているので必要に応じてコピーし起動ファイルを作ります。