Skip to content

Latest commit

 

History

History
109 lines (82 loc) · 5.18 KB

README.md

File metadata and controls

109 lines (82 loc) · 5.18 KB

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

RaspberryPi Zero シリーズ(無印、W、WH)のベアメタル環境(OS無し)で動作する micro MSX2+ (MSX2+ コア) の実装例です。

  • RaspberryPi Zero 2W では動作しません
  • 想定ターゲットは RaspberryPi Zero ですが、初代 RaspberryPi でも動作する可能性があります
  • 通常の Linux 環境(Raspbian や DietPi)で動作させたい場合は SDL2版 を用いてください

ただし、MSX2+ コアでは十分なパフォーマンスを発揮できません。

MSX1 コア なら余裕をもって 60fps で動作するので、MSX1 向けのゲーム開発を検討することをお勧めします。 MSX2 以降をターゲットにしたい場合、ターゲットデバイスを RaspberryPi 2W にしてください。

Prerequest

Hardware

  • RaspberryPi Zero (無印, W, WH のいずれか)
  • HDMI で映像と音声の出力に対応したディスプレイ + 接続ケーブル
  • USB ゲームパッド + 接続ケーブル

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

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

Software

  • GNU Make
  • GCC
  • GNU Arm Embedded Toolchain
    • arm-none-eabi をダウンロード & インストールしてパスを切ってください
    • macOS: /Applications/ARM/bin

How to Build

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

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

# ビルド
make

How to Use

Make Boot SD Card

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

Launch Sequence

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

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

Replace to your game ROM

License

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

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