Analogue Pocketで『スーパーマリオ64』を動かす新FPGA環境「MIRLO」公開。N64風RISC-V構成を実装

Analogue Pocketで『スーパーマリオ64』を動かす新FPGA環境「MIRLO」公開。N64風RISC-V構成を実装

Analogue Pocket向けの新たなopenFPGA環境「MIRLO 0.8.2」が、2026年9月29日に公開されました。

●MIRLO 0.8.2 GitHub Release
https://github.com/tortugaveloz/MIRLO/releases/tag/v0.8.2

●Super Mirlo 64 GitHub
https://github.com/tortugaveloz/supermirlo64

MIRLOは、Analogue PocketのFPGA上にRISC-Vベースのコンピューター環境を構築し、NINTENDO64に着想を得たグラフィック処理機構を組み込んだものです。さらに、その実用例として『スーパーマリオ64』を移植した「Super Mirlo 64」も公開されており、実際にAnalogue Pocket上でゲームが動作する様子が披露されています。

ただし、ここで重要なのが、MIRLOはNINTENDO64本体を再現したopenFPGAコアではないという点です。一般的なN64 ROMを読み込んで遊べるようになったわけではなく、『スーパーマリオ64』についても、MIRLO向けに移植されたバージョンが動いています。

Analogue Pocketの中に新しいRISC-Vコンピューターを構築

MIRLO 0.8.2は、開発者によればMIRLOとして最初の一般公開版です。ゲームを動かすCPUには「VexRiscv-SMP」を採用しており、64MiBのSDRAMを搭載。さらに、NINTENDO64のRSPが担当していた変換やライティング、クリッピング、三角形のセットアップなどに相当する処理を行う「Geometry Core」が用意されています。

グラフィック描画を担当する「MRDP」も特徴のひとつです。こちらにはNINTENDO64風のRDPコマンド形式をはじめ、TMEM、3-point filter、combiner、blender、16bit Zなどが実装されており、N64に近いグラフィック処理の仕組みを別のハードウェア構成として作り上げています。

映像出力はゲーム側の設定によって268×240または320×240に対応。48kHzのオーディオ機能やSDカードへのセーブにも対応しています。

『スーパーマリオ64』を移植した「Super Mirlo 64」も登場

MIRLOとあわせて公開された「Super Mirlo 64」は、『スーパーマリオ64』をMIRLO向けに移植したプロジェクトです。

ベースになっているのは、『スーパーマリオ64』をソースコードへと復元する「n64decomp/sm64」。ゲームエンジンそのものをMIRLO上で動かしつつ、ゲームが生成するディスプレイリストをMIRLO向けに変換する仕組みなどが追加されています。

実際の描画ではMIRLOのGeometry CoreがN64のRSPに相当する仕事を行い、MRDPがグラフィックを描画。解像度はオリジナルと同じ320×240で動作します。

N64のROMを入れるだけでは動かないので注意

一方で、「Analogue PocketがNINTENDO64に対応した」と考えてしまうのは早計です。

MIRLOはNINTENDO64そのものをFPGAで再現するものではなく、N64に着想を得た独自のRISC-Vコンピューター環境です。そのため、市販のN64ゲームのROMデータをSDカードへコピーして、そのまま起動するといった使い方には対応していません。

MIRLO側もゲームそのものは同梱しておらず、起動にはMIRLO向けに作られた「.bin」形式のゲームファイルが必要です。「Super Mirlo 64」についてもゲームのコードやアセットは配布されておらず、ユーザー自身が所有するゲームデータを用意し、GitHubで公開されている手順に従ってビルドする必要があります。

そのため、現状ではコアをインストールしてすぐに『スーパーマリオ64』を遊べるというものではなく、ある程度の知識とビルド作業が必要なプロジェクトとなっています。

面白いのは「N64を再現しない」というアプローチ

今回のMIRLOでとくに興味深いのは、Analogue Pocket上でNINTENDO64そのものを再現するのではなく、「N64に近い役割を持つ別のコンピューター」をFPGA上に作ってしまったところです。

開発者もRedditで、MIRLOについてLiteXをベースにNINTENDO64とおおよそ同等の能力を持たせるためのコンポーネントを追加したものと説明しており、「Super Mirlo 64」については明確に“port”と表現しています。

つまり、「N64を動かした」というよりも、ソースコード化された『スーパーマリオ64』をRISC-V向けに動かせる環境を作り、N64風の専用グラフィック処理と組み合わせてAnalogue Pocket上で実行した、というほうが実態に近いでしょう。

今後ほかのゲームへ広がる可能性にも期待

現時点で公開されている代表的な実例は「Super Mirlo 64」ですが、MIRLO自体は『スーパーマリオ64』専用の仕組みではありません。MIRLO向けのSDKも用意されているため、この環境をターゲットにした別のソフトウェアが登場する余地もあります。

とくに、すでにソースコード解析やデコンパイルが進んでいるN64タイトルについては、同様のアプローチが応用できる可能性も考えられます。ただし、N64ゲームなら何でも簡単に移植できるという意味ではなく、現時点でほかの市販タイトルへの対応が正式に発表されているわけではありません。

N64コアの登場とはまったく異なるものの、Analogue PocketのFPGAを「過去のハードウェアを再現するためだけのもの」とせず、新しいコンピューター環境そのものを作るために利用したMIRLO。今後どのようなソフトウェアがこの環境に登場するのか、注目しておきたいプロジェクトです。

ABOUT US
アバター画像
retrogamer