M5Stack:PC Engine エミュレータ

日経ソフトウェアで「PCエンジンで動くゲームを作ろう」という連載が始まりました!せっかくなら、M5Stack で動かしたいと思い、まずは PC エンジンエミュレータを M5Stack に移植しました。

CD-ROM2 / SuperGrafx への対応は無理と思うので、移植元はシンプルにPCエンジン本体のみ対応の xpce を選択しました。xpce は fpce の Windows 移植版です。

xpce 0.11
https://geolog.mydns.jp/www.geocities.co.jp/SiliconValley/7052/

FPCE:PC-Engine(TurboGrafx16) Emulator
https://geolog.mydns.jp/www.geocities.co.jp/Playtown/2004/fpce.html

(Geocities 消滅してしまったので、アーカイブページへのリンクです)


エミュレート部分のソースはほぼそのままで行けました。画面描画をM5Stack向けに作成。

だいぶ動くようになりました。動作速度はこれ以上は難しいかも。画面描画試行錯誤中…。

操作をジョイパッド + 本体ボタンでできるようにしました。

色問題も解決!


そして、当初の目的である、日経ソフトウェア連載のプログラムを M5Stack で動かすところまで到着しました!

PCエンジンさん、「Hello,World!」


PSRAM を使用しているので、プログラムの実行には M5Stack FIRE が必要です。

プログラムはこちらです。Visual Studio Code + PlatformIO でビルドしてください。

PC Engine emulator for M5Stack FIRE
https://github.com/shikarunochi/M5PCE

ビルドした bin ファイルも上げてあります。Lovyan Launcher 等で読み込み・起動してください。

SD カードの /pceROM/ に、pce イメージを入れてください。起動すると最初にイメージファイル選択画面が表示されます。
Aボタン / Cボタンで上下移動、Bボタンで選択です。

操作には、GROVE 接続のジョイスティックユニットが必要です。本体ボタンAがRUN、BとCがボタン、ジョイスティックで上下左右、押し込みで SELECTです。

音は鳴りません。

イメージファイル再選択するときはM5Stackをリセットしてください。


M5Faces GamePad にも対応しました!



M5Stack FIRE
https://www.switch-science.com/catalog/7364/


M5Stack用ジョイスティックユニット
https://www.switch-science.com/catalog/4050/


M5 Faces II – M5Stack Faces用ボトムベース
https://www.switch-science.com/catalog/6541/


M5Stack Faces用ゲームパッドパネル
https://www.switch-science.com/catalog/6612/