RaspberryPi Zero シリーズ(無印、W、WH)のベアメタル環境(OS無し)で動作する micro MSX2+ (MSX1 コア) の実装例です。
- RaspberryPi Zero 2W では動作しません
- 想定ターゲットは RaspberryPi Zero ですが、初代 RaspberryPi でも動作する可能性があります
- 通常の Linux 環境(Raspbian や DietPi)で動作させたい場合は SDL2版 を用いてください
- RaspberryPi Zero (無印, W, WH のいずれか)
- HDMI で映像と音声の出力に対応したディスプレイ + 接続ケーブル
- USB ゲームパッド + 接続ケーブル
USB ゲームパッドについて:
本リポジトリの実装は Elecom JC-U3312S で問題なく動作するキー割り当てになっています。お手持ちの USB ゲームパッドで適切に動作しない場合、circle/sample/27-usbgamepad を動かして適切なキーコードを確認して、kernel.cpp の
CKernel::updateUsbStatus
の実装を修正してください。
- GNU Make
- GCC
- GNU Arm Embedded Toolchain
arm-none-eabi
をダウンロード & インストールしてパスを切ってください- macOS:
/Applications/ARM/bin
# リポジトリを取得
git clone https://github.com/suzukiplan/micro-msx2p
# リポジトリのディレクトリへ移動
cd micro-msx2p/msx1-rpizero
# ビルド
make
以下のファイルを micro SD カード(FAT32フォーマット)のルートディレクトリに配置したもの準備してください。
- kernel.img (How to Build の手順で生成)
- bootcode.bin
- start.elf
- RaspberryPi Zero の SD カードスロットに準備した SD カードを挿入
- HDMI ケーブルで RaspberryPi Zero と 640x480 以上の解像度でリフレッシュレート 60Hz のモニタ(テレビ等)を接続
- USB ケーブルで RaspberryPi Zero へ給電
リフレッシュレートが 60Hz よりも速いモニタでは正常に動作しない可能性があります。
- ./bios/game.rom を起動対象のゲーム ROM ファイルに置換
- メガROM の場合 ./kernel_run.cpp の
msx1.loadRom
の引数を修正 make
本プログラムのライセンスは 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.
- Circle
- Web Site:
- License: GPLv3
- 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.