- micro-msx2p を M5Stack での動作をサポートしたものです
- M5Stack の性能上の都合で MSX2/2+ の再現度の高いエミュレーションは難しいと判断したため MSX1 コアを使っています
- ただし、それでもまだ性能面での問題を完全にはクリアできていません
- 現状、実機より 17%〜20% 程度遅く (48〜50fps程度で) 動作します
- 性能目標: #17
- M5Stack CoreS3
- 本当は Core2 に対応予定でしたが検証過程で壊れたので CoreS3 のみテストしてます
- platform.ini の
default_envs
をm5stack-core2
にすれば一応 Core2 でも動くかもしれません(テストしてません)
- M5 Face II
- ゲームの操作を行うには M5 Face II (※Faces II ではなく MSX0 付属の Bottom Base) が必要です
M5Stamp Pico と M5Stamp S3 への追加対応を検討中です
- macOS
- Linux
ビルド以外にも色々な事前処理を行っており(詳細は Makefile を参照)、その関係で基本的に macOS または Linux 系 OS でのコマンドラインビルドのみサポート します。Windows で試したい場合は WSL2 等をご利用ください。
- PlatformIO Core (CLI)
- macOS:
brew install platformio
- macOS:
- GNU Make
Playform I/O は Visual Studio Code 経由で用いる方式が一般的には多いですが、本プロジェクトでは CLI (pioコマンド) のみ用いるので Visual Studio Code や Plugin のインストールは不要です。
初期状態の M5Stack は SPIFFS(本体内部ストレージを使用したファイルシステム)が利用できない状態のため、設定状態やセーブ&ロードが常に失敗します。
そこで、以下のコマンドを最初に1回実行してください。
make init
上記を実行すると、空の data ディレクトリを作成してそれを
pio run -t uploadfs
で本体にアップロードします。無意味なようですが、これをやらなければ SPIFFS が利用できません。
make
上記コマンドを実行すると次の手続きを実行します:
- MSX1 エミュレータコアモジュール src1 を include に展開
- bios 以下の ROM ファイルから src 以下に
rom_xxx.c
を自動生成 src/rom_xxx.c
から include 以下にroms.hpp
を自動生成pio run -t upload
で M5Stack 向けのビルドとアップロード(ファームウェア書き込み)
make build
ステップ 4 の手続きが
pio run -t upload
→pio run
に変わります。
- bios/game.rom を更新
src/rom_game.c
を削除- メガロムの場合 src/app.cpp の
setup
関数で実行しているMSX1::loadRom
のMSX1_ROM_TYPE_
を対象のメガロム種別に変更
本プログラムのライセンスは MIT とします。
また、本プログラムには以下のソフトウェアに依存しているため、再配布時にはそれぞれのライセンス条項の遵守をお願いいたします。
- C-BIOS
- Web Site: https://cbios.sourceforge.net/
- License: 2-Clause BSD
Copyright (c) 2002-2005 BouKiCHi. All rights reserved.
Copyright (c) 2003 Reikan. All rights reserved.
Copyright (c) 2004-2006,2008-2010 Maarten ter Huurne. All rights reserved.
Copyright (c) 2004-2006,2008-2011 Albert Beevendorp. All rights reserved.
Copyright (c) 2004-2005 Patrick van Arkel. All rights reserved.
Copyright (c) 2004,2010-2011 Manuel Bilderbeek. All rights reserved.
Copyright (c) 2004-2006 Joost Yervante Damad. All rights reserved.
Copyright (c) 2004-2006 Jussi Pitkänen. All rights reserved.
Copyright (c) 2004-2007 Eric Boon. All rights reserved.
- M5GFX
- Web Site: https://github.com/m5stack/M5GFX
- License: MIT
Copyright (c) 2021 M5Stack
- M5GFX には次のライセンスが含まれます
- LovyanGFX
- Web Site: https://github.com/lovyan03/LovyanGFX
- License: FreeBSD
Copyright (c) 2012 Adafruit Industries. All rights reserved.
Copyright (c) 2020 Bodmer (https://github.com/Bodmer)
Copyright (c) 2020 lovyan03 (https://github.com/lovyan03)
- TJpgDec
- Web Site: http://elm-chan.org/fsw/tjpgd/00index.html
- License: original
(C)ChaN, 2019
- Pngle
- Web Site: https://github.com/kikuchan/pngle
- License: MIT
Copyright (c) 2019 kikuchan
- QRCode
- Web Site: https://github.com/ricmoo/QRCode
- License: MIT
Copyright (c) 2017 Richard Moore (https://github.com/ricmoo/QRCode)
Copyright (c) 2017 Project Nayuki (https://www.nayuki.io/page/qr-code-generator-library)
- result
- Web Site: https://github.com/bitwizeshift/result
- License: MIT
Copyright (c) 2017-2021 Matthew Rodusek
- GFX font and GLCD font
- Web Site: https://github.com/adafruit/Adafruit-GFX-Library
- License: 2-clause BSD
Copyright (c) 2012 Adafruit Industries. All rights reserved.
- Font 2,4,6,7,8
- Web Site: https://github.com/Bodmer/TFT_eSPI
- License: FreeBSD
Copyright (c) 2012 Adafruit Industries. All rights reserved.
Copyright (c) 2023 Bodmer (https://github.com/Bodmer)
- converted IPA font
- Web Site: https://www.ipa.go.jp/index.html
- License: IPA Font License Agreement v1.0
- efont
- Web Site: http://openlab.ring.gr.jp/efont/
- License: 3-clause BSD
(c) Copyright 2000-2001 /efont/ The Electronic Font Open Laboratory. All rights reserved.
- TomThumb font
- Web Site:
- License: 3-clause BSD
Copyright 1999 Brian J. Swetland
Copyright 1999 Vassilii Khachaturov
Portions (of vt100.c/vt100.h) copyright Dan Marks
- LovyanGFX
- M5Unified
- Web Site: https://github.com/m5stack/M5Unified
- License: MIT
Copyright (c) 2021 M5Stack
- SUZUKI PLAN - Z80 Emulator
- Web Site: https://github.com/suzukiplan/z80
- License: MIT
Copyright (c) 2019 Yoji Suzuki.
- micro MSX2+
- Web Site: https://github.com/suzukiplan/micro-msx2p
- License: MIT
Copyright (c) 2023 Yoji Suzuki.