Save the Hero Buildersから発売されたばかりのアイテム『GB Interceptor』を提供していただきました。こちらは、特別な改造をすることなく、本体とカートリッジの間に挟むだけでゲームボーイの映像を出力することができるというものです。
実際にいくつかのカートリッジと環境を揃えてテストを行ってみましたが、そこから分かった特性などもあったので、今回はそちらをレポートします。
●GB Interceptorの販売ページ(5900円)
https://savethehero.builders/en-jp/collections/shop-items/products/gb-interceptor-game-boy-video-capture
目次
- 誕生の背景:テトリスのオンライントーナメントで配信するためのアイテムとして開発
- PC側ではカメラのソースとしてデバイスを認識
- 対応しているのはゲームボーイのソフトのみ
- ハードに依存するゲーム
- EverDriveは問題なく動作可能
- ファームウェアのアップデート方法
- 入力ラグは17フレーム
- 全体的な印象はかなり良好
誕生の背景:テトリスのオンライントーナメントで配信するためのアイテムとして開発
この『GB Interceptor』を生み出したのは、ドイツの物理学者でスマホ向けアプリ『phyphox』の開発者でもあるSebastian Staacks氏です。そのきっかけとなったのは、テトリスのオンライントーナメントでゲームプレイを配信するときの問題について連絡があったときです。
ゲームボーイの映像をストリーミングする方法は特に珍しいわけではなく、エミュレーターや最近ではAnalogue PocketのDOCKを使用してHDMI出力したものを使うなど、様々な選択肢があります。しかし、このオンライントーナメントでは自分のゲームボーイを使用して、訓練した筋肉の記憶に頼る必要があったのです。そのため、最新のデバイスを使ってしまうと、戦闘力が大幅に低下します。
それに加えて、自らの愛するゲーム機をストリーミングのためだけに参加者に改造を要求するようなトーナメントは受け入れられないことも想像ができます。そこで誕生したのが、この『GB Interceptor』でした。
カートリッジのメモリーバスからCPUとPPUをエミュレーション
改造なしでゲームボーイでアクセス可能な場所は、ゲームのカートリッジスロットのみでした。しかし、ゲームボーイ内部にアクセスすることはできず、CPUがカートリッジから受け取った命令をまとめたRAM内部のデータを見ることはできません。特に、ビデオRAMには画面を描画するために必要な情報がすべて詰め込まれています。
そこで、Sebastian Staacks氏はrp2040を使って、カートリッジのメモリーバスからCPUとPPUのふたつの役割を果たすためのエミュレーターを作ることにしたのです。つまり、カートリッジとゲームボーイ本体でやりとりしているデータからエミュレーターで映像を再現して表示しているといった感じのものとなっているのです。
ということで、かなりざっくりと概要をご紹介してきましたが、『GB Interceptor』の公式GitHubや、Sebastian Staacks氏自身が作成した動画などでこのあたりのことが紹介されているので、詳しく知りたい人はそちらをチェックしてみてください。
●GB Interceptor公式のGitHub
https://github.com/Staacks/gbinterceptor
PC側ではカメラのソースとしてデバイスを認識
この『GB Interceptor』は、よくあるレトロゲーム機を直接HDMI出力できるような機器とは少し異なるニュアンスの製品となっています。映像をPC等に表示するときは、OBSやZOOMといったホストとなるアプリが別に必要になります。
『GB Interceptor』自体はウィンドウズのデバイスマネージャー上でカメラとして認識されており、ウェブカメラやキャプチャーボードと同じように映像のソースをホスト側のアプリで切り替えて表示するといった感じのイメージです。
使い方は至って簡単で、先にUSBでPCと『GB Interceptor』を接続しておき、ゲームボーイにセットしておきます。その状態でOBSなどのホストで「GB Interceotor Video」が映像ソースとして選べるようになるので、そちらを選んでおきます。その後、ゲームボーイの電源を入れると起動音と共に映像が出力されるといった流れです。
上記の状態でゲームボーイ本体の電源を入れると、映像ソースが下記のように切り替わっていきます(正常に動作した場合)。
ウィンドウズで使用する場合、OBSやウィンドウズのカメラ、Zoomなどは問題ないようですが、VLCでは不具合が発生する模様。これらのホストアプリに限らず、Discordなどソースが選べて映像の表示ができるアプリならある程度利用できそうな印象です。
ボタンで画面の色も変更可能
『GB Interceptor』のLED付近にあるボタンは、押すごとに「Blending HIGH」や「Blrending LOW」に切り替わるほか、画面の色もモノクロと緑がかった色に変更することができます。
音は実機からのみ出力
『GB Interceptor』を使用する上でひとつだけ注意しなければいけないのが、こちらで取り込めるのが映像のみで音声は実機から取得する必要があるところです。実際に配信などで使用する場合は、そちらも考慮しておきましょう。
対応しているのはゲームボーイのソフトのみ
『GB Interceptor』が対応しているのは、基本的にオリジナルのゲームボーイソフトのみです。そのため、ゲームボーイカラーやゲームボーイアドバンスなどのソフトは利用することができません。ただし、ソフト側だけではなく使用するハードでも動作状況が変化する場合があります。
ちなみにスーパーファミコンの『スーパーゲームボーイ』やゲームキューブの『ゲームボーイプレーヤー』など、今回試していない機器もいくつかありますが、基本的に任天堂のハードにはほとんど対応しているようです。
デバイス名 | 動作状況 |
---|---|
初代ゲームボーイ | OK |
ゲームボーイポケット | OK |
ゲームボーイカラー | OK |
ゲームボーイアドバンス | OK |
ゲームボーイアドバンスSP | OK |
スーパーゲームボーイ | OK |
ゲームボーイプレーヤー | OK |
DOCKがあるため、わざわざこちらを利用する必要はありませんが、Analogue Pocketは非対応となっています。こちらは、任天堂のハードとわずかに異なる挙動になっているため、『GB Interceptor』の割り込み検出がトリガーできないのが理由です。
ということで、まずは通常のゲームボーイソフトの動作をチェックしてみることに。試したのは以下のソフトです。
タイトル | 動作 |
---|---|
テトリス | OK |
スーパーマリオランド2 6つの金貨 | OK |
ザードの伝説 | OK |
魔界塔士サ・ガ | OK |
無頼戦士 | NG |
ナノノート | OK |
上海 | 初代ゲームボーイのみ動作OK |
Dr.MARIO | NG |
マリオのピクロス | 一部ちらつきあり |
上記のタイトルのうち、気になったのが『スーパーマリオランド2 6つの金貨』です。映像自体はしっかりと出ていますが、マリオがジャンプする挙動が実機と違い若干ぎこちない感じがします。また『マリオのピクロス』は、ゲームプレイ自体に影響はないものの、グラフィックの一部がちらついて見えます。
動作NG:無頼戦士
動作NGの『無頼戦士』ですが、こちらは実機では問題なく動いているものの映像は出力されず「Turn off game to start over」のメッセージが表示されます。
動作NG:上海
オリジナルのゲームボーイでは問題なく動くものの、ゲームボーイカラーとゲームボーイアドバンスで動かすときに表示がおかしくなり映像が映らなくなってしまうのが『上海』です。ハードの環境によっても遊べないパターンがあるもののひとつといえます。
動作NG:Dr.MARIO
『Dr.MARIO』も不具合のあるソフトのひとつです。一見うまく表示されているように見えて、最初に配置されているウイルスやカプセルが表示されません。
ハードに依存するゲーム
ゲームボーイのソフトの中には、オリジナルのゲームボーイとゲームボーイカラーの両方に対応しているソフトがあります。例をあげると『ゼルダの伝説 夢を見る島DX』や『ポケモンピンボール』などです。こうしたソフトの場合、オリジナルのゲームボーイでは問題なく動作しますがゲームボーイカラーやゲームボーイアドバンスではうまく動作しません。
EverDriveは問題なく動作可能
特殊なカートリッジとして、『EverDrive-GB X7』でも動かすことができるか確かめてみました。こちらもまったく問題なく動作します。基本的に、オリジナルのカセット同様に動くソフトは動き、動作がおかしいものはNGといった感じです。
ファームウェアのアップデート方法
どのゲームが動いてどのゲームが動かないのかといった情報については、GitHubの下記のページなどにも記載されているので1度目を通しておいた方がいいでしょう。
●ゲームの互換性
https://github.com/Staacks/gbinterceptor/wiki/Game-compatibility
●テスト済みのゲーム
https://github.com/Staacks/gbinterceptor/issues/9
また、現時点で動かないものでも、ファームウェアが更新されることで動くようになる場合もあります。まず現在のファームウェアのバージョンを確認して、最新のものが出ているときはアップデートすることをオススメします。
現在のバージョンは、『GB Interceptor』をPCに繋いでホストプログラムに出る映像の右上の数字で確認することができます。
最新バージョンはリリースのページで確認することが可能です。
●ファームウェアのリリースページ
https://github.com/Staacks/gbinterceptor/releases
最新バージョンの中から、一番上にあるgbinterceptor_firmware_vXXX.uf2(XXXはバージョン)のファイルをダウンロードしましょう。
ちなみに、ファームウェアのアップデートはPCに接続して行います。ここで重要になるのが、『GB Interceptor』のケースを開けて中のスイッチを押す必要があるということです。このネジですが、少し変わった形をしているため、ドライバーを選ぶ必要があるかもしれません。
ドライバーでフタを外したら、中央のボタンを押した状態でPCにUSBを接続します。そのときに赤と青のLEDが光るので、それを確認して指を離しましょう。するとPCにドライブとして認識されるようになります。
あとは、先ほどダウンロードしたファイルを、ルートにコピーすればOKです。コピーが終わると自動で閉じるので、いったんケーブルを抜いて確認します。これでファームウェアのアップデートは完了です。
入力ラグは17フレーム
アプリの『Is it Snappy?』を使って、実機と『GB Interceptor』で出力される映像でどれぐらいのラグが発生するのか調査してみました。テスト方法としては、実機でマリオがジャンプしたときから計測し、『GB Interceptor』側でマリオがジャンプするまでのラグで計っています。
その結果、17フレームほどのラグがあることがわかりました。これを大きいととらえるか許容範囲ととらえるかは人によりますが、シビアすぎるアクションゲームやシューティングゲームには向かないかもしれません。
全体的な印象はかなり良好
というわけで、ひと通りパフォーマンスをチェックしてみましたが、すべてのゲームに対応しているわけではないものの、お手軽に映像を出力できるのはなかなか便利です。ちょっとゲームボーイで配信してみたいというときも、かなりの味方となってくれることでしょう。
また、なんといっても5900円とお手頃な値段になっているところもポイントです。売り切れる前にひとつ入手しておくことをオススメします。
同じSave the Hero Buildersからは、様々なレトロゲームのROMを吸い出せる『カートリッジリーダー』も発売されています。まだ所有していない人は、そちらも合わせてチェックしてみてください。
●カートリッジリーダーとオプションのページ
https://savethehero.builders/en-jp/collections/build-service