電子辞書BrainでPC-98エミュレータ(np2)を動かす
※2024.12.13 ソフトキーボードの有効化版について追記
はじめに
電子辞書Brain上で動作するPC-98エミュレータ環境を構築する。Brain上でWindowsCEアプリを動かすのは一時期話題になっていたもの。WindowsCEそのものは2023年10月にサポートを終了しているが、Brainは中古実機の入手性もよく、手軽に使えるPC-98エミュレータ環境として自身は結構重宝しているため環境保持のために記載する。
もちろん、PC-98エミュレータ環境を構築する際のHDDイメージの作成などはPCで実行することになるし、エミュレータの実行も素直にPC上で実行したほうが使いやすいところではあるが、ゲーム等、用途を絞れば十分活用できる。本記事で記載する内容は下記2点。
- Brain向けnp2ビルド、キー入力のカスタマイズ
- 使用例
Brain上でWindowsCEアプリを動作させる手順が必要になるがBrain本来の使い方ではないので自己責任で。あと、エミュレータ関連のお約束として著作権違反にならないようご注意を。
前提/参考資料
・対象機種
Brain wikiに掲載されている第3世代、第4世代をターゲットとする。手元では第3世代のPW-SB3で動作を確認(amazonで2,700円で購入。中古の電子辞書は安価で在庫も多くあり、入手しやすいのでありがたい)。
・PC-9801エミュレータnp2について
np2本家サイト
WindowsCEポートはVer0.84まで対応していた模様(それ以降ではdeprecatedになっている)。本記事で掲載するカスタム版 はnp2 Ver0.84をベースに使用させていただいた。Brainで動作させる際の手順はBrain wikiを参考にした(第3,第4世代向けとしてSigmarion3用にビルドされた版の実行手順が記載されている)。
・Brain用WindowsCEアプリ開発環境
SDKの構築についてもBrain wikiを参考にさせていただいた。Microsoft eMbedded Visual C++ 4.0およびWindows CE 5.0 Standard SDKを使用。Windows2000、XP向けのツールなのでVirtualBoxで仮想環境上にWindows2000環境を用意した。
np2brain
Brain向けに再ビルドとキー入力処理のカスタマイズを行った版を勝手ながらnp2brainと呼ぶことにする。ソースと実行ファイルを下記に置いている。
・ソースコードとバイナリ
SourceCode(np2 Ver0.84ベース)
実行ファイル(np2brain rev.1)
※2024.12.13追記
np2brainw-rev1.zip:ウィンドウ表示/ソフトキーボードなし
np2brainw-rev1_softkbd.zip:フルスクリーン表示/ソフトキーボードあり
キー入力のカスタマイズはいずれも同様だが、np2brainw-rev1_softkbd.zipの方では画面右下にソフトキーボードが表示される。
・キー入力処理のカスタマイズ内容
メニュー操作などでカーソルキーは必須になる。一方、古めのゲームではキャラクター操作等をカーソルキーではなく、テンキーで行うものも多いため、カーソルキー/テンキー(4,8,6,2)を切り替えできるようにした。また、選択肢の入力を数字で行うものもあるが、BrainのキーボードはQ~Pのキーと1〜0の数字キーが兼用になっているためこれを切り替えできるようにした。
以下にPC98エミュレータ上で使用する際のキー配置を示す。メニュー操作やキャラクター移動、決定、取り消しといったゲームでよく使われる操作はカバーできる。
・Device
・Cursor
・Default カーソルキーをカーソルキーとして扱う(デフォルト)
・Cursor カーソルキーをカーソルキーとして扱う
・Tenkey カーソルキーをテンキー(4,8,6,2)として扱う
・Q~P key
・Default Q,W,E,R,T,Y,U,I,O,Pキーをそのまま扱う(デフォルト)
・Q~P key Q,W,E,R,T,Y,U,I,O,PキーをQ,W,E,R,T,Y,U,I,O,Pとして扱う
・1~0 key Q,W,E,R,T,Y,U,I,O,Pキーを1,2,3,4,5,6,7,8,9,0キーとして扱う
・ソフトキーボード有効化版について(2024.12.13追記)
np2本家ではPocketPC向けにソフトキーボードの実装がある。Brainではキーが不足するため、記号入力やかな入力もできるようこれを有効化したバイナリを用意した(np2brainw-rev1_softkbd.zip)。
右下にソフトキーボードが表示されるのでこれをタッチすることでキー入力が可能。また、メニューは左下の猫アイコンをタッチすることで表示される。ほか、SHIFTキー、CTRLキー、GRAPHキーとの同時押しを実現するために、オプションメニューでSHIFTキー、CTRLキー、GRAPHキーのロックを有効にできる。
・Device
・Keyboard
・mechanical SHIFT シフトキーを押下の度に Lock/Unlockする
・mechanical CTRL コントロールキーを押下の度に Lock/Unlockする
・mechanical GRAPH グラフキーを押下の度に Lock/Unlockする
なお、本家np2最新ソースではWindowsCE版ブランチが作成されており、次版ではBrainでの動作が考慮されるのでは?と思われる。その際にはソフトキーボードも有効になると予想。WindowsCE版復活は嬉しい限り。リリースを楽しみに待ちたい。
実行画面の例
実施例を示す。今回のnp2brainはBrainの「追加アプリ・動画」画面から直接実行できるが、以下の写真はCeOpenerから起動している(スクリーンショット取得のためにCeOpenerのプラグインを活用した)。
例1)英雄伝説(日本ファルコム、1990年):移動操作をテンキー(4,8,6,2)で行う
例2)エメラルドドラゴン(バショウハウス・グローディア、1989年):キャラクター移動のテンキー操作に加えて、選択肢を選ぶ際に数字キーを用いる
ゲームアプリくらいでの用途であればこれらのカスタマイズで概ねカバーできるが、どうしても不足するキーを補う手段として、Screen Keyboardを活用する手段もある。
※ただし、CeOpenerがスペースキーをフックするのでCeOpener上で使用している場合はスペースキーが効かない点は要注意。
他、np2にはキー設定内容を記述したkey.txtファイルをアプリと同じフォルダに置くことで、キー設定を変更する機能があるため、これを活用する手段もある。詳細はnp2関連資料参照。
例3)ソフトキーボード有効化版の表示例※2024.12.13追記
右下にソフトキーボードが表示される。左下の猫アイコンタッチでメニュー表示。なお、ソフトキーが追加される分、縦480ピクセルをほぼ使い切るためフルスクリーン表示としている。
オプションメニュー表示中。Device→Keyboardにある、mechanical SHIFT/mechanical CTRL/mechanical GRAPHを設定することでそれぞれ、SHIFT/CTRL/GRAPHタッチ時にこれらのキー入力がロックされ、他のキーとの同時押しが出来るようになる。