Version 0.71
制作:hQ
はじめに
動作環境
必要なもの
コンフィグファイルの書き方
コンフィグファイル MSX.cfg
コンフィグファイル OPLL.cfg
キー配置
ログファイルについて
hQが書いておいた方がよいこと
起動方法
ディスクイメージの使い方
ROMイメージの使い方
状態セーブ・ロードの使い方
バグ・対応していないこと
今後の発展につて
参考資料
制作環境
連絡先など
このソフトは Windows 上で動く MSX2+ のエミュレータです。MSX のエミュレータというともう多くの種類のものが出回っています。が、なぜわざわざこうして作ったとかというと、他のエミュレータで満足できなかったのと、何となく作ってみたかったのが理由です。
このエミュレータを作るうえで一番の目的としているのが OPLL のエミュレートです。現在の所、MIDI でエミュレート出来ればいいと考えています。
Windows98
MIDI音源
DirectX7
以下のロムイメージが必要です。
MSX2P.rom
MSX2PEXT.rom
FMBIOS.rom
DISK.rom
KANJI.rom
このソフトは「MSX.cfg」「OPLL.cfg」の2つのファイルに必要な情報を書いておかなければおそらく起動しません。といっても、今のところややこしい設定はありませんから、安心しておいてください。
コンフィグファイルの書き方を説明します。
コンフィグファイルは「.」(半角ピリオド)とキャリッジリターン(つまり改行)に挟まれた部分のみを抜き出して解釈するので、ピリオドさえ使わなければ注釈分は自由です。
書式は「.DeviceNumber 01」と、こんな感じです。注意としては、
・ピリオドの直後に設定名が来ること
・設定名は大文字と小文字を間違えずに書くこと
・数字は16進二桁。1桁で良くても「0」をつける
・改行を挟まない。
くらいですね。コンフィグの内容は全てログファイルに書き出されるので変だったら確認してみてください。
「OPLL.cfg」の「.DeviceNumber」以外は、最初は変更しなくてもいいと思います。
STOP : PageUp
SELECT : PageDown
かな : カタカナ
終了 : F12
リセット : [右Shift]+[F12]
Aドライブディスク入れ替え : F6
Bドライブディスク入れ替え : F7
状態セーブ : F9
状態ロード : F10
プレイのセーブ : [右Shift]+[F9]
プレイのロード : [右Shift]+[F10]
スクリーンショット : F8
画面表示をしない/戻す : F11
ディスプレイモード切替 : 左Windows
フルスクリーン切替 : 右Windows
パーカッション消音/戻す : テンキーの0
チャンネル1消音/戻す : テンキーの1
チャンネル2消音/戻す : テンキーの2
チャンネル3消音/戻す : テンキーの3
チャンネル4消音/戻す : テンキーの4
チャンネル5消音/戻す : テンキーの5
チャンネル6消音/戻す : テンキーの6
チャンネル7消音/戻す : テンキーの7
チャンネル8消音/戻す : テンキーの8
チャンネル9消音/戻す : テンキーの9
停止 : 有効なジョイスティックの3ボタン
このソフトを実行すると、初期設定の状況、フレームレイトなどが「MSXSOlog.txt」というファイルに書き出されます。
初期設定時には、コンフィグファイルより読みとった数値、設定に失敗した関数、が書き出されます。
コード実行時には (1秒間に画面描画を省略した回数)/60 で、/60 とならなかった場合には、連続で15回画面描画を省略したときに、その時までにあった垂直帰線割り込みの回数、です。
0/60 が一番調子よく実行されていて、 14/15 が一番重いときです。
ディスク入れ替えでエラーが発生したときも記録されます。
このソフトの著作権はhQが所有します。
このソフトの使用によってどんなひどいことが起こっても著作者(hQ)はどんな責任も負いません。このソフトを使ってパソコンが壊れたときなどにはhQに責任をとってもらいたいと思う人はこのソフトを使用してはいけません。
起動するためには、以下のファイルが作業ディレクトリに無いといけません。
また、必ず High Color モードで使用してください。他では画面が見えません。
後は「MSXSO.exe」を起動して「CPU」→「Start CPU」としてください。
作業ディレクトリに「cart.drc」というファイルがあればそれを読み込みます。その中に、
4E:\Emu\MSX\ROM\T&E\HYDLID31.ROM
の様にメガロムの種類・ロムイメージのパスを続けて書いてください。メガロムの種類は例によって
0 - Konami 8kB
1 - MSXDOS2 16kB
2 - Konami5 8kB
3 - Konami4 8kB
4 - ASCII 8kB
5 - ASCII 16kB
です。メガロムの種類は省略しないでください。1行目がスロット#1、2行目がスロット#2です。スロット#2のみに差したいときには1行目に何も書かずに改行して2行目に書いてください。
作業ディレクトリに「adrive.dfd」「bdrive.dfd」というファイルがあればそれを読み込みます。それぞれの中身は
E:\Emu\MSX\DSK\compile\ALESTE2A.DSK
E:\Emu\MSX\DSK\compile\ALESTE2B.DSK
E:\Emu\MSX\DSK\compile\ALESTE2C.DSK
というふうに、ディスクイメージをプルパスもしくは作業ディレクトリからの相対パスで書いておいてください。上から1番目、2番目、3番目のディスクになります。最大で40枚です。
ディスクの入れ替えは、Aドライブなら[F6]、Bドライブなら[F7]を押してからフルキーの対応するキーを押します。キーとディスクナンバーの対応は、
[1] [2]・・・・[0] がそれぞれ 1 - 10
[Q] [W]・・・・[P] がそれぞれ 11 - 20
[A] [S]・・・・[;] がそれぞれ 21 - 30
[Z] [X]・・・・[.] がそれぞれ 31 - 40
です。[ESC]でキャンセルできます。
注意することは以下のことです。
・.dfd ファイルに余分な改行を入れないこと
・拡張子が .dsk となってないと認識しません。
また、ディスク入れ替えの時に .dfd で指定したディスクイメージと同名で拡張子が .dds となっているファイルが存在すればこれを読み込みます。
.dds ファイルはセクタと同じバイト数のファイル(通常1440Bytes)で各バイトにそのセクタを読み書きしようとしたときに返すエラーコードを 00 - 0f のバイナリで書きます。0f はエラーコードではなく、正常に読み書きできることを表します。第0バイトが0セクタ、第1バイトが1セクタ・・・と対応しています。エラーコードは以下の通りです。
00 : Write protected
02 : Not ready
04 : Data (CRC) error
06 : Seek error
08 : Record not found
0a : Write fault
0c : Other errors
.dds ファイルがなければ、全て通常の読み書きがされます。
状態セーブは[F9]を押した後、フルキーの 1 - 40 を押すと出来ます。状態ロードは[F10]を押した後、フルキーの 1 - 40 を押すと出来ます。ディスクに関してはセーブ・ロードされないので、ディスクを入れ替えてからロードしてください。
マシン | : | PX-98 NX あたり |
コンパイラ | : | Visual C++ 6.0 Standard Edition |
音源 | : | AW724(YMF724が乗ったボード。当然XG) SC-55mkII |
MSX | : | MSX2+ F1XV (FDD破損) |
メールは msxso@anet.ne.jp まで。
掲示板はhttp://www67.tcup.com/6719/hq.htmlです。
配布は http://www.geocities.co.jp/SiliconValley/9486/ にて。
ソースはfMSX-UNIX に依っている部分が大きいので公開していませんが、欲しい人はメールで送りますのでその旨のメールを送ってください。