MSXとRaspberry Pi Pico
2026.09.01
なんか二番煎じどころか三番煎じ四番煎じくらいな感は今更あるが・・・。

カートリッジにRaspberry Pi Pico2を乗せてなんかいろいろやってみようという話。

で、作ってみた。

板自体はこんな感じ。
部品代(基板含む)で言えば大体1枚1000円くらい。

できたことはこんな感じ
(1)R800でのアクセス対応
(2)SCC-I互換
(3)SPI flash直アクセス用レジスタ追加
(4)OPLL搭載
(5)MGS演奏機能搭載
(6)SE用PCM再生搭載
あたりが結構頑張ってみたけど性能限界。
(1)(2)はR800で(SD)スナッチャーが動くレベルが目標。細かいレベルでの100%互換ではない。
(3)はSCC-Iとして見えるRAM領域のほかに、SPI flashのアクセス経路を作って、好きなタイミングでSPI flashからSCC-IのRAMに転送できるので、最大16MByteのデータを持てる。RAM(256KB)の初期値もSPI flashから設定できるので、SCC-Iなのに起動できるカートリッジになる。
つまりFDソフトのカートリッジ化が可能。セクターアクセスだけの簡易kernelなら既存ソフトのパッチも難しくはないしkernelの権利問題も発生しない。
(4)もそのまま。ソフトエミュ(emu2413)。
(5)もそのまま。BGMの演奏をpico側に丸投げすることで、MSX側のCPUをフルに使ったゲームを作ることができる。
むしろpicoをコプロとして使ってゲームとか作ればいいんじゃね的な本末転倒案はあるにしろ、あくまでZ80で動くゲームを作りたいとかならばBGM自動演奏も楽しい。
ちなみにやろうと思えばFDDアクセス中に演奏とかもできるけど、PSGは本体内蔵を使うので、そっちとの同期が崩れる。PSG鳴らさないのなら完全に独立演奏が可能。
まあ、そもそもFDを併用する必要がなく、SPI flashからゲームデータを読みめるからあんまり気にしなくてもいいけど。
あとは余剰パワーで入れれそうなのが(6)のSE用PCM再生で、これもゲームとか作るならあると楽しい。
ただ、ここまでやると重いMGSデータ鳴らしてたりすると処理落ちする。1割くらいオーバークロックすると48KHzくらいの8bitPCM x 4ch同時再生くらいであれば安定して動くらしい。


というわけで、SCC-I上でゲームを動かしつつ裏でMGSでSCC+OPLL+PSGをガンガン鳴らし、16MByte(flash制限)くらいのイメージが持てるというカートリッジが作れそう。軽いデータなら裏でPCM鳴らしたりもできる。
容量的にBGMをPCMでストリーミングとかは厳しい(さすがにmp3デコードとかはつらい)。
とはいえ、ゲームカートリッジとして特化するなら、R800使う前提なら本体内蔵メモリで動かしたほうが早いからSCC-I上で動かす必要ないけど。
Z80前提なら8kバンクのほうが色々使いやすいことはあるかも?
2026.09.01 23:17 | 固定リンク | MSX | コメント (0)
コメント一覧
コメント投稿

名前

URL

メッセージ

- CafeNote -