今風太さんのミニシリーズを快適に遊ぶために(X88000改造編)

  • 投稿日:
  • by
  • カテゴリ:

X88000は完成度の高いエミュレータですが、難点としては設定の自由度が低いことがあります。

特にキーアサインを変更できないため、テンキーを持たないノートPCなどで、ゲームを遊ぶことができないいのです。

その点、QUASI88なら、カーソルキーに2,4,6,8または任意のキーを割り当てられるので、ノートPCで遊ぶのには好適でした。ただ、QUASI88はHAL研のPCGのエミュレーションが不完全で、今風太さんのミニシリーズを遊ぶのには不向きです。

どちらもソースが公開されているので手を入れればいいのですが、QUASI88のPCGエミュレーションを修正するか、X88000のカーソルキー操作をいじるか、とりああえず、両方のソースを持ってきて考えることにしました。

どちらも、Linux 上でもビルド可能ですが、X88000はサウンド機能がざっくり削られてしまうので却下。QUASI88+X+SDL1.2でいくというのが一つ。Visual Studio 2019 CommunityでQUASI88またはX88000を改造するのが一つ。ところが、QUASI88は、バイナリで配布されているSDL1.2.15がstdioの実装が古く、ソースからビルドしなおそうにも、winnt.hが構造体のアラインメントのASSERTで死んでしまい、ビルドできません。SDL2に移行するのは面倒くさそうで、ちょっと。。。X88000もそのままではビルドできなかったのですが、ちょっと修正すればビルドできたので、X88000にカーソルキーのマッピング変更機能を付けることにしました。QUASI88+X+SDL1.2にPCGエミュレーションを加えていくより簡単そうですし。

というわけで、カーソルキーを押すとテンキーの2,4,6,8が押されたのと同じ挙動をするようにし、Controlキーと同時押ししたらカーソルキーとして動作するようにコードを変更してみました。あっさり動きました。

ただ、ゲームによっては1,2,3,5を方向キーとして利用するものもあります。なので、結局、メニューを追加して、カーソルキーが、そのままカーソルキーとして機能するのか、2,4,6,8なのか、あるいは1,2,3,5なのかを選べるようにしました。

いずれの状態でもCtrlとの同時押しでカーソルキーとして機能するようにしてあるので、いちいち切り替えないでも簡単な編集操作などは可能です。とりあえず、これでノートPCでも快適に遊べるようになりました。