
カートリッジを読み込み、microSDに保存
フランス出身の電子工学エンジニア、Thomas Sanfourche氏が、ゲームボーイ用カートリッジを直接遊べるFPGAゲーム機「SGBC」を開発しています。カートリッジ内のROMを本体のmicroSDカードへコピーする機能を備え、テレビやモニターへの映像出力にも対応します。
FPGAは、内部の論理回路を組み替えられる半導体です。SGBCはこの仕組みを使い、ゲームボーイのハードウェアを再現するコアを動かします。Sanfourche氏は台湾で電子工学を学び、卒業制作としてゲームボーイのFPGAコアに取り組みました。
大学で教授から意義を問われたことをきっかけに、開発は一時中断しました。その後、レトロゲーム愛好家との出会いを経て、機材費の支援を受け、プロジェクトを再開しました。SGBCはまだ発売されていません。
1080p出力とリンクポートを搭載
SGBCはHDMI経由で1080p映像を出力し、画面比率を16:9にしてもゲーム画面を引き伸ばさずに表示します。「整数スケーリング」で整数倍に拡大し、画素の配置を保ちます。
本体にはSNESコントローラー用ポートと、ゲームボーイの通信ケーブルを接続するリンクポートがあります。対応ゲームでは、通信対戦や交換を想定しています。ただし、リンクケーブルへの対応は開発中で、最終的な機能やゲーム互換性とともに検証が続いています。
SGBCの開発中の仕様では、ゲームボーイ、ゲームボーイカラー、ゲームボーイアドバンスの3世代のカートリッジを対象にしています。画面メニューからmicroSD内のROMを選んで遊ぶ機能や、通常速度と早送りを切り替える機能も掲げています。
FPGAが実機の入出力を扱う仕組み
ソフトウェアエミュレーターは、一般的なプロセッサ上で動くプログラムで、旧型ゲーム機の部品の動作を模擬します。一方、FPGA方式では、チップ内の回路を組み替え、元の機器の部品に似た動作をする回路を構成します。
FPGAを使うと、元の機器に近いタイミングで動作させやすく、実カートリッジやコントローラーなどの物理機器と接続できます。ソフトウェアエミュレーターを動かす一般的なPCでは、OSのスケジューリングや入出力の遅延があるため、カートリッジとの通信に必要な短い応答時間を保つのが難しいとされています。
Game Boyはカートリッジへ1マイクロ秒ごとにアクセスします。FPGAを使った別のGame Boyエミュレーターを開発したEli Lipsitz氏は、FPGAではタイミングを正確に扱いやすい一方、ソフトウェア方式より実装が難しく、費用もかかると説明しています。
Analogue Pocketにも実カートリッジとリンク機能
ゲームボーイ対応の既存機器であるAnalogue Pocketも、ゲームボーイ、ゲームボーイカラー、ゲームボーイアドバンスのカートリッジを読み込めます。本体にリンクポートがあり、対応するゲームやケーブルを使った通信にも対応しています。
Analogue Pocket単体は携帯機で、テレビへの1080p出力には別売りのDockを使います。DockはHDMIでテレビに接続し、有線USBや無線コントローラーで遊べます。この点で、SGBCは据え置き型としてHDMI出力とSNESコントローラーポートを本体に備えています。
Analogue PocketのmicroSDカードは、openFPGAのコア、ファームウェア更新、セーブデータやスクリーンショットなどに使われます。SGBCはこれに加え、実カートリッジからROMをmicroSDへコピーする機能を開発中の特徴として掲げています。











