openMSX V9968 移植版
ソースファイルはこちら
実行バイナリ
Windows x64 版バイナリ: openmsx-21.0-v9968-d884c4b-x64-VC-Release.zip
Linux 版バイナリ: openmsx-21.0-v9968-d884c4b-x86_64-linux-opt-3rd.zip
設定ファイル
設定方法は下記のファイルを参照ください。
V9968 カートリッジ: share/extensions/HRA_V9968.xml
FS-A1ST V9968 組み込み版: share/machines/Panasonic_FS-A1ST_V9968.xml
インストール方法(Windows)
- openMSX の公式サイトから 21.0 / Win 64bit (install) をダウンロードしてインストールする
- openMSX を起動し、使用したい機種が使えるように(MSX-DOSが起動する辺りまで)設定する
- openMSX を終了する
- 実行バイナリをダウンロードして展開後、出来たファイルを openmsx.exe へ上書きコピー
- 使用する機種のファイルを share/machines フォルダから探し、テキストエディタで開く
- VDP 設定部分を探し、下記のようにファイルを編集して保存
- コピーした openmsx.exe を起動し、メニューの [Machine] - [Select MSX machine] を選択、設定を編集した機種を選び、[Replace current machine] を押下
設定ファイルの変更内容
<VDP id="VDP">
<version>V9968</version> <!-- V9968 へ変更 -->
<vram>128</vram> <!-- VRAM サイズは無視されます -->
<io base="0x98" num="5" type="O"/> <!-- num の数を 5 へ変更 -->
<io base="0x98" num="5" type="I"/> <!-- num の数を 5 へ変更 -->
<timing>0</timing> <!-- VDPコマンド動作速度 0:V9968 と同じ / 1:HS=0の時に V9958 の VDP コマンドエミュレータを使う -->
</VDP>
既存の V9938/V9958 用ソフトを高速で使う方法
メニューの [Settings] - [Advanced] - [force_hs] をチェックしてください
カートリッジ版について
カートリッジ版は I/O アドレス 88h に割り当てられています。
また、映像が内蔵 VDP と別になりますので、メニューの [Setting] - [Video] - [Video source to display] で映像ソースを V9968 に切り替えてください。
V9968 と V9968 エミュレータの差異
各種表示タイミング(HSYNC,VSYNC等)
V9968 エミュレータは V9958 エミュレータと同じタイミングで動作します。
VRAM アクセススロットは V9968 と(なるべく)同じタイミングになるようにしています。
VDPコマンドとP#0の VRAM R/W 処理が重なった時の R/W タイミング
V9968 は P#0 を優先する排他処理を行いますが、V9968 エミュレータは排他処理が行えない為に VDP コマンドと P#0 のアクセスを同時に行います。
VDPコマンドとP#0の VRAM R/W 処理が重なった時の VDP コマンドのデータ
V9968 はキャッシュ上のデータを使用しますが、V9968 エミュレータは VRAM のデータを直接 R/W します。
VDP コマンドの NX, NY 処理
V9968 は NX, NY のカウントをインクリメントカウンタで行いますが、V9968 エミュレータはデクリメントでカウントします。この為、VDP コマンド動作中に NX や NY レジスタを書き換えた場合の挙動が異なります。