GBAでNESを遊ぶ手段としてPocketNESを紹介しましたが、
他にもステキなツールは存在するワケで。
ってかたまたま発見したこのHVCAというツールがなかなか良い機能を持ってまして
でも使い勝手がイマイチなので、CHIBINなりに使い方など解説してみます。
PocketNESの公式サイトから、2005年5月18日現在の最新版となるV.9.98をダウンロードし、いつもの如くThingy 1.1で結合→GBAへ転送してみたんです。するとメニュー周りが少し変更されていて、設定項目が増えていたりメニュー表示がカッコよかったり(笑)で、ちょっとニヤニヤしながら遊んでたんです。ところが何故かスーパーマリオだけ上手く動作しないんです。具体的に言うと、ゲームを始めると「ステージ0-1」から始まり(通常は1-1からスタート)、当然そんなステージは無いのでワケの分からないステージ構成で始まり、更にそのステージをクリアするとGAME END(^^;。
あと最近、ファミコンのディスクシステムのディスクイメージをGETしたのですが、ポケNESは非対応なんですよね。まぁディスクイメージをROMイメージに変換するツールを駆使すれば遊べない事も無いんですが、例えば「アイスホッケー」なんかは上手く動作しなかったんですよね。そんなワケでポケNESにちょっと不満が出始めた所で、「マリオがちゃんと動作して、ディスクシステムもエミュれるGBA用ツール(笑)」を探してみました。そこで引っかかってきたのがこの「HVCA」です。正式名称は「Home Video Computer Advance」だそうで、元々は「Unofficial FamicomAdvance(略してufca)」という名前で公開されていたそうです。
ソコで早速CHIBINも導入してみました。が正直、全体の動作スピードはポケNESの方が安定して速い(HVCAはグラフィックがチラつく)し、ROMの結合もThingy使えばポケNESは一発だし、メニューで変更出来る内容はポケNESの方が多いし・・・と、まぁ総合評価としてはまだまだポケNESの方が高い印象はあります。それでもHVCAにはポケNESには無い「ディスクシステムのエミュレーション機能」が搭載されています。もうぶっちゃけこの1点の為ダケにCHIBINはHVCAを使っている、そう言っても過言ではありません(苦笑)。まぁ他にもテキスト文字はHVCAの方が読みやすい(但し「ふぁみこんむかしばなし」の様な縦テキストは逆に読めません)ので、RPGやADVなどを遊ぶにはこちらの方が適しているのかな、という利点もあります。あとサウンドの再現度(本物っぽさ)もHVCAの方がレベル高いかな。
ココでは「HVCAを利用してNES(ファミコン)のROMカートリッジとディスクシステムの両方のゲームをGBA上で遊べるようにするまで」について説明していきたいと思います。
ちなみにコレ以降に登場するHVCAは、コレを書いている2005年5月18日現在の最新版となる0.7betaでの説明となります。ちょっと分かりにくいかもしれませんが、HVCAの公式サイトやネットから探してみて下さい。
それからHVCAでディスクシステムを遊ぶには「ディスクシステムのBIONイメージファイル」というのが必要となります。流石にコレを配布してるサイトは無い(ウチも配布予定は皆無(^^;)ので、中古のディスクシステムを分解して引っこ抜くなり何なりして下さい(笑)。コレばっかりはもう「頑張って」としか言いようがないです(苦笑)。「BIOSイメージって何?」という人は、残念ながらココで諦めて下さい(^^ゞ。コレが分からないレベルでHVCAを扱う(ディスクシステムをGBAでエミュる)のは、正直キケンだと思われますので。ちなみにディスクシステムのBIOSイメージファイル名は「disksys.rom」という名前で統一しましょう。<準備するモノ>
<HVCAを使える状態(笑)にする手順>
- DOS/Vパソコン
- HVCA 0.7
- disksys.rom(ディスクシステムのBIOSイメージファイル)
- NESのROMイメージ (拡張子が「.nes」のファイル)
- ディスクシステムのゲームディスクイメージ (拡張子が「.fds」のファイル)
- GBA(SP)本体
- EZFA転送ケーブル
- 生カートリッジ(EZFAフォーマット済みのモノ)
- EZF Advance Client V1.03(専用ツール)
<HVCAからGBAで遊ぶまでの手順>
- 公式サイトからダウンロードしたHVCA本体(hvca-v0.7beta-bin.lzhなど)を解凍する。
- 解凍すると「bin」というフォルダが出来るので、適当な所にそのフォルダごと置いておく。
- \binフォルダ内に「ips」「pat」「split」という3つのフォルダと「hvcamkfs.exe(HVCA本体)」と「merge.bat(GBAイメージを作成する為のバッチファイル)」が入っている事を確認します。
(以下この本体のあるフォルダを「ルートフォルダ」と呼びます。)- ルートフォルダ内にディスクシステムのBIOSイメージ「disksys.rom」をコピーします。
(ディスクシステムのゲームを遊ばない場合は不要です。)
- ルートフォルダにNESのROMイメージ(拡張子が「.nes」のファイル)をコピーする(省略可)。
- ルートフォルダにディスクシステムのゲームディスクイメージ(拡張子が「.fds」のファイル)をコピーする(省略可)。
- ルートフォルダ内の「merge.bat」をダブルクリック(実行)する。
- するとDOS窓が開き、「カートのサポートファイルを選んでちょ」と問われるので、EZFAで焼く今回は3のEZFAを選ぶ(キーボードで[3][Enter]と押す)。
- 何やらいろんなbinファイルやnes・fdsファイル名が表示された後「続行するには何かキーを押して下さい」と出るので、何かキーを押す。
- するとDOS窓が自動的に消え、ルートフォルダ内に「hvca.bin」というファイルが出来ています。
- この「hvca.bin」をEZFAに焼きたいのですが、EZFAは「.gba」という拡張子にしか対応してない(^^;ので、手動で拡張子を「.gba」に変更する。
(この時、一緒にファイル名を変更してもOK)。- あとはEZF Advance Clientで生ROMに焼き込めばウマー!!
※但しEZF Advance Client上では「Game Name」が空になってしまうので、手動でゲーム名称を入れる必要があります。又、「RAM Size」は512Kが良いでしょう。
HVCA起動時及び起動中にLボタンを押す事でメニューを開く事が出来ます。ココでは上下ボタンで項目を選択し、Aボタンで決定(もしくは変更)という操作形態になっています。メニューには大きく分けて3つあります。
<GAME MENU>CONFIG MENU内にはいろんな設定項目があります。が、ぶっちゃけCHIBINもあまり使い込んでない(火暴)ので詳しい事は分かりません(し使ってません)。そんなワケでCHIBINの分かる範囲で、そのメニューの内容を説明します。
HVCA起動時及びCONFIG MENUで「EXIT」した際に表示されるメニューです。HVCA内にあるゲームの一覧で、上下ボタンで遊びたいゲームを選択し、Aボタンを押す事でそのゲームが起動されます。
ディスクシステムのゲームの場合、ゲーム選択直後は「ディスクドライブにフロッピーを入れた状態」なので、更にAボタンを押す事でそのゲームが起動します。芸が細かい!<CONFIG MENU>
ゲーム中にLボタンを押す事で表示されるメニューです。HVCAに関する設定やその場セーブ・ロードが出来ます。
設定後はRボタンでゲーム画面に戻ります。<SRAM MENU>
メニュー表示中にLボタンを押す事で表示されるメニューです。HVCAでプレイ中にその場セーブした内容の一覧と、そのデータの削除、フォーマット(全消去)が出来ます。個別にセーブ消去するには、消したいセーブデータを上下ボタンで選択した後Bボタンを押します。すると「ファイルを消すのか?」と聞かれるので「Yes」を選択してAボタンを押せば消去されます。同様に、フォーマットするにはスタートボタンで行います。
Rボタンを押す事で前画面(メニュー画面)に戻れます。
<CONFIG MENUの説明>
名 称 動 作 内 容 DISK Side ディスクシステムのゲームの時にのみ選択可能。
デフォルトの「1A」は「1枚目のA面」という意味で、Aボタンを押す度に1B→2A→2B」と変わっていきます。Rapid [A] Aボタンの連射速度を設定出来ます。Aボタンを押す度に「>」マークが増減し、マーク無しだと連射無しとなります。「>」マークの間隔(連射間隔)も変えられるので、ゲームに適した速度に調整しましょう。 Rapid [B] Bボタンの連射速度を設定出来ます。 Controller 操作するコントローラが1コンなのか2コンなのかを設定出来ます。Aボタンを押す度に変更出来ます。Iは1コン、IIは2コンという事は分かるのですが、その後に表示される「I ->」「<- II」の意味合いは目下調査中(^^;。 Load State 「Save State」でセーブされたデータをロードします。 Save State いわゆる「その場セーブ」です。どうやら1ゲーム1セーブなようです。 Sync SRAM ゲーム自身がSRAMセーブに対応している時にのみ選択可能。
デフォルトはOn。ゲームのSRAMセーブ機能を有効(On)にするか無効(Off)にするかを決めます。Hook SPR デフォルト値は80で、Aボタンで数値をプラス、Aボタンで数値をマイナスします。
※内容は不明です(^^ゞ。Hook BG デフォルトはPreで、Aボタンを押すたびにPostとPreが入れ替わります。
※内容は不明です(^^ゞ。BG Mode デフォルトはBlendで、Aボタンを押すたびにUpper、lower、Evenと変わっていきます。
※内容は不明です(^^ゞ。Sleep 選択するとスリープモード(省電力モード)に入り、ゲームを一時中断出来ます。「セーブして電源落とす程じゃないケド、30分ぐらいよそ事したい」なぁんて時に重宝します。
Rボタンとスタートボタンの同時押しでスリープモードから復帰します。Exit 現在選択中のゲームを終了し、「GAME MENU」(ゲーム選択メニュー)画面に移ります。
メニューの終了でなく、ゲームの終了という所を間違えないように。
上の説明で分かる人には分かるでしょうが、分からない人には分からないと思います(スミマセン、説明下手で(T^T))。と言うかCHIBINも始めのうちはそうでした。特に「.nesファイルと.fdsファイルとHVCA本体(とバッチファイル)が一緒のフォルダにあるので、管理が面倒」「完成したファイルがバイナリファイル(hvca.bin)なので、EZFAユーザーとしてはGBA用ファイルとして直感的にバビッと来ない(笑)」などが上げられます。
そこで、今は「EZFAユーザー専用バッチファイル」というのを自作して使用しています。いろいろと制限もある(フォルダ構成など)のでこのバッチファイルが「万人向け」とは言いません。が、とりあえずEZFAユーザーのCHIBIN的にはコレで満足しております。と言う事で、今CHIBINが使用しているバッチファイルを公開したいと思います。そうは言っても中身はデフォルトのバッチファイル「merge.bat」を書き換えたダケなんですがね(^^ゞ。でも以下に紹介する環境を構築してもらうと、(少なくともEZFAユーザーにとっては)少しは使い勝手が良くなるかと思いますし、他のリンカーを使われている方もコレを参考に「自分専用のバッチファイル」を作ってみてはいかがでしょうか?
〜EZFAユーザー限定 HVCA用バッチファイル「HVCA4EZFA.bat」について〜
<HVCA4EZFA.batについて>以上、納得の上でDownloadするならココをクリック(圧縮ファイルです)。
<HVCA4EZFA.batを使える状態にする手順>
- NESのROMイメージとディスクシステムのゲームイメージをそれぞれ別フォルダに入れる事で、ファイル管理を容易にします。
- イメージを準備した後、このバッチファイルをダブルクリックすると「DiskNES.gba」というEZFA用GBAファイルを速攻で作ってくれます。出来上がったGBAファイルはそのままEZFAで焼き込めます。
- 勿論VBA(GBAエミュ)でも動作可(でもHVCAを使用してますんで、HVCAで動作しない物は当然動作しません)。
<HVCAとHVCA4EZFA.batを使ってGBAファイルを作成する手順>
- 公式サイトからダウンロードしたHVCA本体(hvca-v0.7beta-bin.lzhなど)を解凍する。
- 解凍すると「bin」というフォルダが出来るので、適当な所にそのフォルダごと置いておく。
- \binフォルダ内に「ips」「pat」「split」という3つのフォルダと「hvcamkfs.exe(HVCA本体)」と「merge.bat(GBAイメージを作成する為のバッチファイル)」が入っている事を確認します。
(以下この本体のあるフォルダを「ルートフォルダ」と呼びます。)- ルートフォルダ内にディスクシステムのBIOSイメージ「disksys.rom」をコピーします。
(ココはでは通常の手順と同じです。)- HVCA4EZFA.batをルートフォルダにコピーします。
- ルートフォルダに「ROM」(ROMイメージを入れるフォルダに使います)というフォルダを新規作成します。
- ルートフォルダに「DISK」(ディスクシステムのゲームイメージを入れるフォルダに使います)というフォルダを新規作成します。
<HVCA4EZFA.batの使用上の注意>
- 「ROM」フォルダ内にNES ROMイメージ(.nesファイル)をコピーします(省略可)。
- 「DISK」フォルダ内にディスクシステムのゲームイメージ(.fdsファイル)をコピーします(省略可)。
- HVCA4EZFA.batを実行します。
- DOS窓が一瞬開いた後、ルートフォルダに「DiskNES.gba」と言うファイルが作成されます。
- 出来上がった「DiskNES.gba」をEZFAに焼き込めが完了です。
※但しEZF Advance Client上では「Game Name」が空になってしまうので、手動でゲーム名称を入れる必要があります。又、「RAM Size」は512Kが良いでしょう。
- 使う前にHVCA4EZFA.batの中身をテキストエディタなどで見て下さい。ココと同じ様な簡単な説明が載っています。
- 万人向けでは無いので、このバッチファイルを無闇やたらに他人にあげない。
※著作権うんぬんでなく、上の説明を読まないで使うのはキケンかと。- このバッチファイルを更に自分用にカスタマイズして勉強するのは良い心がけ。
- 上手くGBAファイルが作れなくても、CHIBINに文句を言わない(笑)。
- 転んでも泣かない。