M5Stack:MZ-700 でジョイパッド

PC-8001 エミュレータで作ったジョイパッドの処理をMZ-700エミュレータにも追加しました。

ソースはこちらです。

M5Z-700
https://github.com/shikarunochi/m5z80/tree/master/m5z700

MZ-700の場合、ジョイスティック上下左右は、カーソルキー割り当てでいいと思うのですが、A/Bボタンをどのキーに割り当てるか迷うところです。

丁寧にやるには、キーコンフィグ作るべきではあるのですが、違うゲームをするたびにコンフィグ変更するのも、煩雑ですよね。なので、力技ですが「使いそうなキーを全部押す」という方式にしてみました。


ビルディングホッパーを見てみたところ、使用するキーは

左ジャンプ:1  /  右ジャンプ:3

ああー、独特の操作!


タイニーゼビウスは

ブラスター:シフトキー  /  ザッパー:CTRLキー

こちらも独特。


ということで、

Aボタン:スペース & 「1」 & 「シフト」
Bボタン:「3」&「CTRL」

にします。

ビルディングホッパーはスタート時に「S」キー押下が必要なので、これをジョイスティック押下に割り当てておきます。あと、スタートで使うことの多そうな「CR」キーも。

ジョイスティック押下:「S」&「CR」

処理は void checkJoyPad() 関数です。押す、戻すのベタな処理。

カーソルは押したままを考慮。ボタンは自動連射。(連続で順にキーを押すことになるので、連射にならざるを得ないところでもあります。)

キーコードは、こちらのサイトに資料がありますので、ソース修正で好きなキーに変更するのがいいと思います。

MZ-700/1500 I/Oマップ
http://www.maroon.dti.ne.jp/youkan/mz700/mzioframe.html

MZ-80C は独立カーソルキーが無く、ゲームによって操作キーがバラバラですので、MZ-80Cモードになっている場合には、ジョイパッドは動作しないようにしてます。スイマセン。


ビルディングホッパー

タイニーゼビウス



このエミュレータが実行可能なのは、2018/11/18 時点では M5Stack FIRE のみです!


Amazonリンク貼りつつ、なんですけど、海外からの通販に抵抗が無い場合は、本家M5Stack の AliExpress で購入してみるのもいいかと思います。販売されている商品の種類も多くて、価格も少し安めです。ただし、到着まで半月~1ヶ月ぐらいかかります。