fmsxSE

このアプリケーションは、martさんが開発されたMSXのエミュレーターであるfMSXをWindows Mobileマシンで動作するように移植したものです。

 

はじめに

「MSX」はMSXアソシエーションの商標です。
このアプリケーションはにゃごすが公開するもので、MSXアソシエーションおよびマイクロソフトとは全く関係ありません。MSXアソシエーションおよびマイクロソフトが動作を保証するものではありません。このソフトウェアを動作させた結果につきまして、両者は一切の責任を負わないものとします。

このアプリケーションは、開発途中のバージョンであり多くの不具合があると思われます。このソフトウェアを動作させた結果についてにゃごすは一切の責任を負いません。

使用の際は、必ず自己の責任にて動作させるようお願いいたします。

 

更新履歴

日付 Ver. 更新内容
2006/09/26 0.15 State保存対応
2006/08/20 0.14 SKIN対応、画面切り替え対応、IME無効、などなど

 

配布内容

TOSHIBA e830, WILLCOM WS003SH, WILLCOM WS007SHで確認しています。
VGA専用ってことでご勘弁。
skinを用意すれば、QVGAマシンでも使用できる、、、はずです。

fmsxSE.exe

実行ファイル

fmsxSEcfg.txt 設定ファイル
skin\

サンプルスキン(zero3,e830用)

skin.txt

スキン設定ファイル

keyborad.bmp 縦用スキンビットマップ
keyboard2.bmp 横用スキンビットマップ
skeyVart.txt 縦用ソフトウェアキー設定ファイル
skeyHori.txt 横用ソフトウェアキー設定ファイル
hkeyBoard.txt ハードウェアキー設定ファイル(キーボード)
hkeyJoy.txt ハードウェアキー設定ファイル(JOYSTICK)

 

そのほか用意するファイル

gsgetfile.dll

派生版がいくつかありますが、国際化版がおすすめ。

以下のファイルは実機、ROM,DISK,カセットから吸い出す必要があります。吸い出し方はご自分で調べてください。これらのファイルについてBBSやメール等で聞かれても無視しますのでそこんとこよろしく。

biosイメージファイル

msx.rom msxとして起動する場合に必要です。
msx2.rom

msx2として起動する場合に必要です。

msx2ext.rom

msx2として起動する場合に必要です。

msx2p.rom

msx2+として起動する場合に必要です。

msx2pext.rom msx2+として起動する場合に必要です。
disk.rom ディスクを使用する場合に必要です。
fmpac.rom fmpacを使用する場合に必要です。
kanji.rom 漢字を使用する場合に必要です。が、使用できるかは未確認です。
msxdos2.rom msxdos2を使用する場合に必要です。が、未確認です。
painter.rom 内蔵グラフィックエディタだと思われますが、使用できるかは未確認です。

各種イメージファイル

*.rom ロムイメージファイル
*dsk ディスクイメージファイル
*.cas カセットイメージファイル

 

インストール

WindowsMobileマシンの適当なフォルダに以下の用に必要なファイルをコピーします。各種ファイルのフォルダは初期設定ですのでpath設定ウィンドウ、fmsxSE.cfgファイル(テキストファイル)を直接書き換えることで、変更可能です。

fmsxSE.exe  
fmseSEcfg.txt

 

gsgetfile.dll

無くても何とかなりますが、インストールすることを強くおすすめします。

bios\ biosイメージファイルのフォルダ
msx.rom等
skin\ スキン関連ファイルのフォルダ
skin.txt keyborad.bmp keyborad2.bmp skey.txt skey2.txt等
rom\ ロムイメージファイルのフォルダ
disk\ ディスクイメージファイルのフォルダ
cas\ カセットイメージファイルのフォルダ
sta\ stateファイルのフォルダ

入れてあるサンプルはzero3とe830向け設定です。ご自分のマシンでまともに使用できるようにするためには、スキン設定ファイル、キーボード設定ファイルを編集する必要があります。

 

スキン設定ファイル

スキンは画面の切り替えに対応していて、全部で8種類指定できます。 設定ダイアログ等は用意していませんので、テキストエディタ、メモ帳等で編集します。

ORIENTATION 指定した向きのスキン情報を記述します。
0 :縦 1:横(右きき) 2:縦(逆さ) 3:横(左きき)
必ず設定の最初の行に記述します。
SKINNO

向きごとの番号を0から指定します。起動後に向きを変更すると0番が初期表示されます。

USEx2MODE

True : 2倍表示 False : 1倍表示

SCREEN

スクリーンのコピー元の位置とコピー先の座標を以下のように指定します。
コピー元X,コピー元Y,コピー元幅,コピー元高さ,コピー先X,コピー先Y

SKINBMP
スキンビットマップファイルを指定します。
SKEYBIND
ソフトウェアキーボード設定ファイルを指定します。
HKEYBIND
ハードウェアキーボード設定ファイルを指定します。
SKINNUM
スキンビットマップからコピーする矩形の数を指定します。0〜8まで指定できます。
SKINRECTxx
スキンビットマップから画面にスキンをコピーする矩形を指定します。
指定方法はSCREENと同じです。xxには00〜07まで指定できます。

 

キーボード設定ファイル

ソフトウェアキーボードと、ハードウェアキーの設定をします。 設定ダイアログ等は用意していませんので、テキストエディタ、メモ帳等で編集します。

ソフトウェアキーボード設定ファイル

SKEY

ソフトウェアキーボードの設定をします。ソフトウェアキーは左上から横に32 * 32dotのサイズ(QVGAマシンは16 * 16dot)でタップした時に実行する機能を番号で指定します。
機能番号については下の表を参照してください。
SKEY,機能番号,機能番号,機能番号,…

ハードウェアキーボード設定ファイル

KEY

ハードウェアキーの設定をします。押されたキーの仮想キーコードと機能番号を指定します。

 

機能番号

キーボード機能番号

番号 内容 番号 内容 番号 内容 番号 内容 番号 内容 番号 内容
0 未使用 16 ; 32 J 48 Z 64 RETURN 80 NUM 4
1 0 17 : 33 K 49 SHIFT 65 SPACE 81 NUM 5
2 1 18 ] 34 L 50 CONTROL 66 HOME 82 NUM 6
3 2 19 , 35 M 51 GRAPH 67 INS 83 NUM 7
4 3 20 . 36 N 52 CAPS 68 DEL 84 NUM 8
5 4 21 / 37 O 53 かな 69 85 NUM 9
6 5 22 _ 38 P 54 F1 70 86 NUM -
7 6 23 A 39 Q 55 F2 71 87 NUM ,
8 7 24 B 40 R 56 F3 72 88 NUM .
9 8 25 C 41 S 57 F4 73 NUM *    
10 9 26 D 42 T 58 F5 74 NUM +    
11 - 27 E 43 U 59 ESCAPE 75 NUM /    
12 ^ 28 F 44 V 60 TAB 76 NUM 0    
13 \ 29 G 45 W 61 STOP 77 NUM 1    
14 @ 30 H 46 X 62 BS 78 NUM 2    
15 [ 31 I 47 Y 63 SELECT 79 NUM 3    

ジョイスティック機能番号

番号内容番号 内容
101 joy1 上 107 joy2 上
102 joy1 下 108 joy2 下
103 joy1 左 109 joy2 左
104 joy1 右 110 joy2 右
105 joy1 ボタン1 111 joy2 ボタン1
106 joy1 ボタン2 112 joy2 ボタン2

設定ダイアログ、操作関連 機能番号
※ソフトウェアキーのみ指定可能です。

番号内容番号 内容 番号 内容 番号 内容
121MSX起動 131 カセット後尾 143 State2 Load 153 State2 Load
122終了 132 基本設定 144 State3 Load 154 State3 Load
123ROM1選択 133 サウンド設定 145 State4 Load 155 State4 Load
124ROM2選択 136 キーチェック 146 State5 Load 156 State5 Load
125DISK-A 選択 137 DEBUGダイアログ 147 State6 Load 157 State6 Load
126DISK-B 選択 138 メニュー 148 State7 Load 158 State7 Load
127カセット選択 139 SKIN切り替え 149 State8 Load 159 State8 Load
128カセット戻し 140 パス選択ダイアログ 150 State9 Load 160 State9 Load
129カセット送り 141 State Load(ファイル指定) 151 State Save(ファイル指定)    
130カセット先頭 142 State1 Load 152 State1 Load    

 

ダイアログ

Option

UPeriod

画面の更新間隔。1:フルフレーム、2〜:n-1枚おきに描画

HPeriod

次の水平割り込みまでのステート数?

VPeriod 次の垂直割り込みまでのステート数?
AutoEject チェックを外すと終了してもイジェクトしません。
Verbose チェックするとdebug.logを出力するようになり詳細なログをとることができます。
MSX Version MSXのバージョンを指定します。指定したバージョンのBIOSファイルが必要になります。

Path

各種ファイルのフォルダを指定します。 fmsxSE.exeのあるフォルダからの相対指定で指定します。ファイルを振り分けるだけなので、あまり変な指定はしないようにしてください。

Sound Setting

サウンド関連の設定をします。
MSXを起動する前に設定してください。

PSG

 

それぞれ音源を使用する場合にチェックします。
チェックしない方が処理速度が上がります。

 

SCC
FMPAC
MSX-AUDIO
Stereo

ステレオにします。がMSX自体がモノラルなので、意味はありません。

SampleRate

サンプリングレートを指定します。大きい方が音は良くなりますが、遅くなります。

Key Check

ハードウェアキーのキーコードを調べることができます。キーを押下すると数値が表示されます。この数値がハードウェアキーボード設定ファイルを記述するのに使用します。数値が表示されないキーは使用できません。

 

stateについて

stateファイルはfmsxSE専用です。他のエミュレーターのstateファイルとは互換性はありませんので、使用できません。
stateファイルには、ROM,DISK,カセット等のファイルの情報は保存されていませんので、保存をした環境と同じBIOS,ROMをセットしていないとエラーになります。
いちいちセットするのは面倒ですが、とりあえず仕様ということで。

 

問題点

・画面をタップすると、速度が遅くなる。
・ハードウェアキーの反応が悪い。
・skinの設定が面倒。
・fpsの調節をしていない為、1倍の時に速すぎる。
・横画面が激しく遅い。