suzukiplan / micro-msx2p

MSX2+ emulator specialized for embedded use
MIT License
10 stars 0 forks source link

micro MSX2+ for RaspberryPi Zero (Bare Metal) #47

Closed suzukiplan closed 11 months ago

suzukiplan commented 11 months ago

ベアメタル環境のRaspberryPi Zeroシリーズ(Zero, Zero W, Zero 2W)に対応する

todo:

suzukiplan commented 11 months ago

ひとまず基本となる点の描画ができるようになった(テレビにHDMI出力して動くことを確認)

image

suzukiplan commented 11 months ago

ちなみに SD ファイルに格納するサイズは約3MB(3,065,008 bytes) メインプログラム(kernel.img)は約33KB

-rwxr-xr-x  1 suzukiplan  staff    33268 12  6 07:27 kernel.img
-rw-r--r--@ 1 suzukiplan  staff    52476 12  5 15:11 bootcode.bin
-rw-r--r--@ 1 suzukiplan  staff  2979264 12  5 15:11 start.elf
suzukiplan commented 11 months ago

ひとまず MSX2+ コアでは正常に動作した。(ただし、無印とWだと性能改善が必要) MSX1 コアなら無印とWでも問題なく 60fps で動作すると思われるので MSX1 コア対応版も作っておく。

image

suzukiplan commented 11 months ago

以下の対処をして若干マシになったがまだ等速には程遠い。

mailbox の画面サイズを QVGA にしてもテレビ側は 720pになっている(テレビがハード的に720pしかサポートしていない?)ため、rapiからのhdmiレジスタアクセス回数は QVGA にしても変わらないので遅いという感じなのか、あるいはエミュレーションのオーバヘッド起因なのかの切り分けが必要。

msx1コアで60fpsで動けるのであればエミュレーションオーバヘッド起因

suzukiplan commented 11 months ago

以下の動画(GPi Case初代+RaspberryPi Zero WHでピンヘッダ外したヤツ)でテレビ(HDMI)で動かすと遅いがGPi Caseの液晶だと快適に動作するという情報があった。

https://www.youtube.com/watch?v=RGzZFvavA5w

GPi Caseの液晶は恐らくHDMIではなく4線SPIかな?(だとするとmailboxのhdmiアクセスオーバーヘッドに起因している可能性がある)

GPi Caseは持ってないので試せないが、GPi Caseであれば結構サクサク動くかも?

suzukiplan commented 11 months ago

MSX1コアなら1Wでも余裕で60fpsで動いたので、問題はHDMIではなくMSX2+コアの性能っぽい(ある意味安心)