過去5回にわたり、準備段階から作り続けた GBDK によるオリジナルゲームネタブログ、前回の「モールモール」完成で幕を閉じるつもりが、まさかの延長戦です。
前回までの内容はこちらです:
GBDK でゲームボーイのオリジナルゲームを作る(0)
GBDK でゲームボーイのオリジナルゲームを作る(1)
GBDK でゲームボーイのオリジナルゲームを作る(2)
GBDK でゲームボーイのオリジナルゲームを作る(3)
GBDK でゲームボーイのオリジナルゲームを作る(4)
前回のネタでは GBDK というゲームボーイ開発キットを使って「モールモール」という一人用パズルゲームを作り、エミュレータを使って実際に動かす、という内容を紹介しました。
今回は調子に乗って「ゲームボーイ実機で動かす」ことに挑戦しました。ゲームボーイは任天堂から 1989 年(平成元年!)に発売が開始された乾電池で動く小型ゲーム機です。当初は白黒画面でしたが後に改良版のゲームボーイ・カラーが発売され、ゲームもカラー対応されていきました。 また2001年には後継であるゲームボーイアドバンスが発売されましたが「ゲームボーイのゲームも動く」という互換性が確保されたことで長い期間にわたって親しまれたゲーム機となりました。なおゲームボーイは 2007 年、ゲームボーイアドバンスは 2012 年に生産・販売サポートが終了しています。もう10年以上前なんですね。ちなみに自分は白黒ゲームボーイをかなり早い段階で入手して遊んでいました。
【準備(要購入)】
当然のように本体は持ってなかったので中古で購入しました。今回の目的だけであれば初代の白黒ゲームボーイでも充分なのですが、「色々思い出してるうちにアドバンスのゲームもやりたくなるかも・・」などと思い出して、結局最終モデルであるゲームボーイアドバンス SP を購入しました(以下で紹介する内容を行う上でアドバンスである必要はなく、普通のゲームボーイ実機でも構いません):
単にゲームを遊ぶだけであれば、この本体とゲームカートリッジがあればいいのですが、自作ゲームを本体実機で遊ぶにはもう少し準備が必要です。エミュレータではなく本体で遊ぶには自作ゲームを書き込んだゲームカートリッジが必要です。自作ゲームは前回作成した molemole.gb を使うものとして(自分でゲームを作った人はそれを使っていただくのが楽しいと思います)、これを書き込む先の(空の)ゲームカートリッジが必要です。自分はこの GB SMART CARD USB を注文しました:
また PC からこの GB SMART CARD USB にゲームを書き込む際には USB miniB という今となっては懐かしい規格の USB ケーブルが必要です。100 円ショップなどではほとんど見かけなくなっていて、必要であればこれも買っておく必要があります:
おまけに、自分はゲームボーイアドバンス(SP)も乾電池駆動できると勘違いしていたのですが、アドバンスは充電式のみの対応だったんですね。というわけでゲームボーイアドバンス用の充電ケーブルも必要です。これも特殊な形状のケーブルなので、必要であれば購入しておく必要があります:
事前に購入しておく必要があるのはこんな所です。次にゲーム書き込み前にやっておく準備を説明します。
【準備(セットアップ)】
簡単に言うと「カートリッジ(GB SMART CARD USB)を PC に接続した時に、 PC がこのカートリッジを認識できればよい」のですが、意外と大変でした。以下、その理由も含めて解説しながら手順を紹介します。
カートリッジに PC 上のゲーム ROM をコピーするツールそのものはこちらです(ドライバも含まれています):
ems-qart
ダウンロード&展開して、(Windows であれば)zadig_2.2.exe を実行してドライバをインストール、、するのですが、結論を先に言うとこれがうまくいきません:

自分は Windows 11 を使っているのですが、Windows 10(64bit)以降では各種ドライバのインストール時に「署名済みのドライバのみインストールできる」ような仕様に変わりました。以前のバージョンでは未署名ドライバを導入しようとすると「このドライバは署名されてないけど、どうする?」みたいに聞かれ、リスクを理解した上でインストールすることもできたのですが、Win10 以降では少なくともこの方法ではできなくなりました(未署名ドライバは問答無用でインストール時にエラーになります。より安全になった、とも言えます)。そして今回ゲーム ROM を書き込む GB SMART CARD USB のドライバは未署名なので、この問題を解決する必要があるのでした。
で、この仕様を回避してドライバをインストールする方法について説明されているのがこちらのサイトです。要はレジストリを変更して、Windows のデフォルトの挙動として未署名ドライバもインストールするように切り替えて再起動する、という方法です。リスクを伴う作業であることを理解の上で実行してください:
ドライバー署名の強制を無効にする方法
この手順で未署名ドライバもインストールできるように変更した上でドライバをインストールします。先ほど同様に zadig_2.2.exe を実行します。最初にオンラインアップデートを有効にするか聞かれるのでどちらかを選んでください:

ドライバのインストーラーである zadig が起動します。"Install WCID Driver" をクリックしてインストールします:

インストール中の画面・・・

このメッセージが出ればインストールは完了です:

インストール成功後に GB SMART CARD USB を PC に接続してから emu-qart.exe を実行します:

ゲーム ROM の書き込みツール(機能的には読み込みもできるっぽいけど)である emus-qart が起動します。ドライバが正しくインストールされていれば、緑のマークとその横に "Cart connected" と表示されます。これで面倒な事前準備は完了です:

【ゲーム書き込み】
ems-qart を使って GB SMART CARD USB に PC 内のゲームファイルを書き込みます。まず "I/O direction" と書かれた箇所は GB SMART CARD USB に書き込みたいので "Write to cart" を選択します。また "Memory" 欄は "ROM(.gb/.gbc files)" を選択しておきます。そしてゲーム ROM ファイル(この例では molemole.gb)を指定し、"Start" ボタンで書き込みを開始します:

"Transfer completed!" と表示されれば書き込み成功です!

【ゲームボーイ起動】
ではゲームボーイ実機を使ってゲームを起動してみましょう。ゲーム ROM を書き込んだ GB SMART CARD USB をゲームボーイ(自分の場合はゲームボーイアドバンスSP)に差し込んで、スイッチオン・・・
興味本位で作り始めた GBDK でのゲーム開発、エミュレーターでの動作もうれしかったけど、実機の中で動くのを見るのはちょっと違った感動がありました。
前回までの内容はこちらです:
GBDK でゲームボーイのオリジナルゲームを作る(0)
GBDK でゲームボーイのオリジナルゲームを作る(1)
GBDK でゲームボーイのオリジナルゲームを作る(2)
GBDK でゲームボーイのオリジナルゲームを作る(3)
GBDK でゲームボーイのオリジナルゲームを作る(4)
前回のネタでは GBDK というゲームボーイ開発キットを使って「モールモール」という一人用パズルゲームを作り、エミュレータを使って実際に動かす、という内容を紹介しました。
今回は調子に乗って「ゲームボーイ実機で動かす」ことに挑戦しました。ゲームボーイは任天堂から 1989 年(平成元年!)に発売が開始された乾電池で動く小型ゲーム機です。当初は白黒画面でしたが後に改良版のゲームボーイ・カラーが発売され、ゲームもカラー対応されていきました。 また2001年には後継であるゲームボーイアドバンスが発売されましたが「ゲームボーイのゲームも動く」という互換性が確保されたことで長い期間にわたって親しまれたゲーム機となりました。なおゲームボーイは 2007 年、ゲームボーイアドバンスは 2012 年に生産・販売サポートが終了しています。もう10年以上前なんですね。ちなみに自分は白黒ゲームボーイをかなり早い段階で入手して遊んでいました。
【準備(要購入)】
当然のように本体は持ってなかったので中古で購入しました。今回の目的だけであれば初代の白黒ゲームボーイでも充分なのですが、「色々思い出してるうちにアドバンスのゲームもやりたくなるかも・・」などと思い出して、結局最終モデルであるゲームボーイアドバンス SP を購入しました(以下で紹介する内容を行う上でアドバンスである必要はなく、普通のゲームボーイ実機でも構いません):
単にゲームを遊ぶだけであれば、この本体とゲームカートリッジがあればいいのですが、自作ゲームを本体実機で遊ぶにはもう少し準備が必要です。エミュレータではなく本体で遊ぶには自作ゲームを書き込んだゲームカートリッジが必要です。自作ゲームは前回作成した molemole.gb を使うものとして(自分でゲームを作った人はそれを使っていただくのが楽しいと思います)、これを書き込む先の(空の)ゲームカートリッジが必要です。自分はこの GB SMART CARD USB を注文しました:
また PC からこの GB SMART CARD USB にゲームを書き込む際には USB miniB という今となっては懐かしい規格の USB ケーブルが必要です。100 円ショップなどではほとんど見かけなくなっていて、必要であればこれも買っておく必要があります:
おまけに、自分はゲームボーイアドバンス(SP)も乾電池駆動できると勘違いしていたのですが、アドバンスは充電式のみの対応だったんですね。というわけでゲームボーイアドバンス用の充電ケーブルも必要です。これも特殊な形状のケーブルなので、必要であれば購入しておく必要があります:
事前に購入しておく必要があるのはこんな所です。次にゲーム書き込み前にやっておく準備を説明します。
【準備(セットアップ)】
簡単に言うと「カートリッジ(GB SMART CARD USB)を PC に接続した時に、 PC がこのカートリッジを認識できればよい」のですが、意外と大変でした。以下、その理由も含めて解説しながら手順を紹介します。
カートリッジに PC 上のゲーム ROM をコピーするツールそのものはこちらです(ドライバも含まれています):
ems-qart
ダウンロード&展開して、(Windows であれば)zadig_2.2.exe を実行してドライバをインストール、、するのですが、結論を先に言うとこれがうまくいきません:

自分は Windows 11 を使っているのですが、Windows 10(64bit)以降では各種ドライバのインストール時に「署名済みのドライバのみインストールできる」ような仕様に変わりました。以前のバージョンでは未署名ドライバを導入しようとすると「このドライバは署名されてないけど、どうする?」みたいに聞かれ、リスクを理解した上でインストールすることもできたのですが、Win10 以降では少なくともこの方法ではできなくなりました(未署名ドライバは問答無用でインストール時にエラーになります。より安全になった、とも言えます)。そして今回ゲーム ROM を書き込む GB SMART CARD USB のドライバは未署名なので、この問題を解決する必要があるのでした。
で、この仕様を回避してドライバをインストールする方法について説明されているのがこちらのサイトです。要はレジストリを変更して、Windows のデフォルトの挙動として未署名ドライバもインストールするように切り替えて再起動する、という方法です。リスクを伴う作業であることを理解の上で実行してください:
ドライバー署名の強制を無効にする方法
この手順で未署名ドライバもインストールできるように変更した上でドライバをインストールします。先ほど同様に zadig_2.2.exe を実行します。最初にオンラインアップデートを有効にするか聞かれるのでどちらかを選んでください:

ドライバのインストーラーである zadig が起動します。"Install WCID Driver" をクリックしてインストールします:

インストール中の画面・・・

このメッセージが出ればインストールは完了です:

インストール成功後に GB SMART CARD USB を PC に接続してから emu-qart.exe を実行します:

ゲーム ROM の書き込みツール(機能的には読み込みもできるっぽいけど)である emus-qart が起動します。ドライバが正しくインストールされていれば、緑のマークとその横に "Cart connected" と表示されます。これで面倒な事前準備は完了です:

【ゲーム書き込み】
ems-qart を使って GB SMART CARD USB に PC 内のゲームファイルを書き込みます。まず "I/O direction" と書かれた箇所は GB SMART CARD USB に書き込みたいので "Write to cart" を選択します。また "Memory" 欄は "ROM(.gb/.gbc files)" を選択しておきます。そしてゲーム ROM ファイル(この例では molemole.gb)を指定し、"Start" ボタンで書き込みを開始します:

"Transfer completed!" と表示されれば書き込み成功です!

【ゲームボーイ起動】
ではゲームボーイ実機を使ってゲームを起動してみましょう。ゲーム ROM を書き込んだ GB SMART CARD USB をゲームボーイ(自分の場合はゲームボーイアドバンスSP)に差し込んで、スイッチオン・・・
おー、自作ゲームがゲームボーイ実機で動いた!なんてことない一人パズルゲームだけど、本人的にこれは感動モノ #gbdk pic.twitter.com/oruLiUx5fK
— きむらけい (@dotnsf) June 30, 2023
興味本位で作り始めた GBDK でのゲーム開発、エミュレーターでの動作もうれしかったけど、実機の中で動くのを見るのはちょっと違った感動がありました。