6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

M5StampS3 + 3.2インチLCD(ILI9341)で MSX エミュレータを動かしてみる

Last updated at Posted at 2023-07-29

はじめに

以下の記事で、M5StampS3 + 3.2 インチ LCD (ILI9341) の環境を構築することができ、無事「Hello, World!」を表示するポートレイトが完成しました。

ただし、上記記事の状態だと描画速度に難があったのですが、その点については描画に用いていたディスプレイドライバを Adafruit_ILI9341 から LovyanGFX に差し替えてみたところ、実用的な描画速度になりました。

今回は、micro MSX2+という組み込み用途に特化した MSX エミュレータを用いて、この環境で MSX エミュレータを動かしてみたいと思います。

本記事で用いるハードウェア構成や配線構成は、こちらの記事から変更していません。

micro MSX2+ for M5StampS3

micro-msx2pgit clone して msx1-m5stamps3 ディレクトリで make を叩けば、M5StampS3 + 3.2 インチ LCD (ILI9341) の環境で MSX1(※C-BIOS)が動きます。

git clone https://github.com/suzukiplan/micro-msx2p.git
cd micro-msx2p
git checkout 6aa69099af49148448c6e12a0224bd7b2911a22b
cd msx1-m5stamps3
make

2023.07.29 追記
最新のcommitで配線仕様が変わったので、配線を変えずに動かすには commit 6aa6906 への git checkout が必要です。

image.png

このまま起動すると、以下の記事で紹介されている MSX で Hello World が表示されるサンプル ROM が起動します。

...ですが、流石にそろそろ Hello World を見るのも飽きてきたし、画面の表示レスポンスのチェックも行いたいところなので、もっと動き(アニメーション)のある ROM に差し替えてみましょう。

ROM を差し替えてみる

まず msx1-m5stamps3/bios/game.rom を動かしたい ROM ファイルに置き換えます。

今回は以下の ROM を使ってみることにします。

msx1-m5stamps3 % cp /path/to/rabbit_adventure_trial.rom bios/game.rom

動かす ROM がメガロムの場合、msx1-m5stamps3/src/app.cppmsx1.loadRom を呼び出している箇所のメガロム種別を適切に変更する必要がありますが、今回試す ROM は 32KB 標準 ROM なので、書き換え不要です。

メガロムを動かす時は MSX1_ROM_TYPE_NORMAL の箇所を適切なものに変更します。

micro-msx2p/msx1-m5stamps3/src/app.cpp
    msx1.loadRom((void*)rom_game, sizeof(rom_game), MSX1_ROM_TYPE_NORMAL);

あとは、makeを実行するだけです。

make

すると動きます。

image.png

やっぱり画面が動くと良いですね。

本当は AY-3-8910 (PSG) の BGM が再生されるのですが、まだ、音声モジュールを搭載していないので、残念ながら音は鳴りません。

という訳で、次はI2SのDACモジュール接続にチャレンジしてみたいところです。

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?