Skip to content

Latest commit

 

History

History

msx1-m5stack

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

micro MSX2+ for M5Stack

  • micro-msx2p を M5Stack での動作をサポートしたものです
  • M5Stack の性能上の都合で MSX2/2+ の再現度の高いエミュレーションは難しいと判断したため MSX1 コアを使っています
    • ただし、それでもまだ性能面での問題を完全にはクリアできていません
    • 現状、実機より 17%〜20% 程度遅く (48〜50fps程度で) 動作します
    • 性能目標: #17

Pre-requests

M5Stack Hardware

  • M5Stack CoreS3
    • 本当は Core2 に対応予定でしたが検証過程で壊れたので CoreS3 のみテストしてます
    • platform.inidefault_envsm5stack-core2 にすれば一応 Core2 でも動くかもしれません(テストしてません)
  • M5 Face II
    • ゲームの操作を行うには M5 Face II (※Faces II ではなく MSX0 付属の Bottom Base) が必要です

M5Stamp Pico と M5Stamp S3 への追加対応を検討中です

Build Support OS

  • macOS
  • Linux

ビルド以外にも色々な事前処理を行っており(詳細は Makefile を参照)、その関係で基本的に macOS または Linux 系 OS でのコマンドラインビルドのみサポート します。Windows で試したい場合は WSL2 等をご利用ください。

Middleware

Playform I/O は Visual Studio Code 経由で用いる方式が一般的には多いですが、本プロジェクトでは CLI (pioコマンド) のみ用いるので Visual Studio Code や Plugin のインストールは不要です。

How to Build

initialize SPIFFS

初期状態の M5Stack は SPIFFS(本体内部ストレージを使用したファイルシステム)が利用できない状態のため、設定状態やセーブ&ロードが常に失敗します。

そこで、以下のコマンドを最初に1回実行してください。

make init

上記を実行すると、空の data ディレクトリを作成してそれを pio run -t uploadfs で本体にアップロードします。無意味なようですが、これをやらなければ SPIFFS が利用できません。

Build and Upload Firmware

make

上記コマンドを実行すると次の手続きを実行します:

  1. MSX1 エミュレータコアモジュール src1include に展開
  2. bios 以下の ROM ファイルから src 以下に rom_xxx.c を自動生成
  3. src/rom_xxx.c から include 以下に roms.hpp を自動生成
  4. pio run -t upload で M5Stack 向けのビルドとアップロード(ファームウェア書き込み)

Build only

make build

ステップ 4 の手続きが pio run -t uploadpio run に変わります。

Replace ROM file

  1. bios/game.rom を更新
  2. src/rom_game.c を削除
  3. メガロムの場合 src/app.cppsetup 関数で実行している MSX1::loadRomMSX1_ROM_TYPE_ を対象のメガロム種別に変更

License

本プログラムのライセンスは MIT とします。

また、本プログラムには以下のソフトウェアに依存しているため、再配布時にはそれぞれのライセンス条項の遵守をお願いいたします。