Skip to content

Latest commit

 

History

History

msx2-rpizero2

micro MSX2+ for RaspberryPi Zero 2W (Bare Metal) - MSX2+ core

RaspberryPi Zero 2W のベアメタル環境(OS無し)で動作する micro MSX2+ (MSX2+ コア) の実装例です。

  • RaspberryPi Zero, Zero W, Zero WH では動作しません
  • 想定ターゲットは RaspberryPi Zero 2W ですが、RaspberryPi 3 でも動作する可能性があります
  • 通常の Linux 環境(Raspbian や DietPi)で動作させたい場合は SDL2版 を用いてください
  • マルチコアを活用して性能を確保している関係で MSX1 コア と比較して消費電力が多いため、MSX1 向けのゲームであれば、シングルコアで動作する MSX1 コア の利用を推奨します

Prerequest

Hardware

  • RaspberryPi Zero 2W
  • HDMI で映像と音声の出力に対応したディスプレイ + 接続ケーブル
  • USB ゲームパッド + 接続ケーブル

USB ゲームパッドについて:

本リポジトリの実装は Elecom JC-U3312S で問題なく動作するキー割り当てになっています。お手持ちの USB ゲームパッドで適切に動作しない場合、circle/sample/27-usbgamepad を動かして適切なキーコードを確認して、kernel.cppCKernel::updateUsbStatus の実装を修正してください。

Software

  • GNU Make
  • GCC
  • Arm GNU Toolchain
    • aarch64-none-elf をダウンロード & インストールしてパスを切ってください
      • macOS: /Applications/ArmGNUToolchain/13.2.Rel1/aarch64-none-elf/bin
      • 13.2.Rel1 の箇所はダウンロードした最新版に適宜変更してください

How to Build

# リポジトリを取得
git clone https://github.com/suzukiplan/micro-msx2p

# リポジトリのディレクトリへ移動
cd micro-msx2p/msx2-rpizero2

# ビルド
make

How to Use

Make Boot SD Card

以下のファイルを micro SD カード(FAT32フォーマット)のルートディレクトリに配置したもの準備してください。

Launch Sequence

  1. RaspberryPi Zero 2W の SD カードスロットに準備した SD カードを挿入
  2. HDMI ケーブルで RaspberryPi Zero 2W と 256x192 以上の解像度でリフレッシュレート 60Hz のモニタ(テレビ等)を接続
  3. USB ケーブルで RaspberryPi Zero 2W へ給電

リフレッシュレートが 60Hz よりも速いモニタでは正常に動作しない可能性があります。

Replace to your game ROM

License

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

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