PR
[PR]アフィリエイト広告を利用しています
[PR]アフィリエイト広告を利用しています

【入門】BizHawk 導入・使い方 完全ガイド(Windows)|ダウンロードから日本語化の正解・Lua Console初期設定まで最短4ステップ

BizHawk導入完全ガイド(Windows)のアイキャッチ画像 レトロゲーム環境構築

[PR] 本記事にはアフィリエイト広告(Amazonアソシエイト)を含みます。

難易度:初級 ★☆☆(PCの基本操作ができれば到達できます/所要 約20分)

対象環境:Windows 10 / 11(64bit)、BizHawk 2.9系〜2.10系(EmuHawk)。BizHawkは更新が続いているため、バージョンによりメニュー表記や配置が変わる場合があります。本記事は「どこを見れば同じ操作にたどり着けるか」を基準に書いています。

【技術検証に関する法的注意事項・免責事項】
本記事に掲載されているメモリ解析、Luaスクリプト実行、およびAIコード生成に関する技術情報は、自らが所有するゲームソフトおよびオフライン環境における技術研究・教育目的の検証記録です。著作権法第47条の3に配慮し、複製ROMの配布、コピーガードの回避(DRM解除)、オンライン環境での不正操作(BOT化)等に関する情報は一切取り扱いません。掲載情報の実行によって生じた損害について、当ブログは一切の責任を負いかねます。

  1. 結論:BizHawkは「4ステップ」で導入でき、日本語UIは存在しません
  2. 0. 前提:用意するもの・注意すること
    1. 必要なもの
    2. 配布元について
  3. 1. ダウンロード:本体zipと「prereqs」の2つを取る
  4. 2. 前提パッケージ(prereqs)を先に実行する
  5. 3. 本体を展開して EmuHawk.exe を起動する
    1. 展開先のフォルダ名が超重要
    2. 起動手順
    3. ゲームを開く
  6. 4. コントローラーを割り当てる
  7. 5. Lua Console を初回起動して「導入成功」を機械的に確認する
    1. 開き方
    2. 試行錯誤の記録:AIに「動作確認用の最小スクリプト」を書かせる
      1. 目的
      2. Claude に投げた実際のプロンプト(コピペ可)
      3. 1回目に生成されたコード
      4. 結果とエラー
      5. 修正指示のプロンプト
      6. 最終コード(コピペ可・これが正解)
    3. 実行手順
    4. ここで学べる型
  8. 6. 英語メニュー対訳表(これがあれば日本語UIは要りません)
  9. 7. つまずきQ&A
    1. Q. EmuHawk.exe をダブルクリックしても何も起きません
    2. Q.「〜.dll が見つかりません」と出ます
    3. Q. コントローラーが一覧に出てきません
    4. Q. Tools メニューに Lua Console がありません
    5. Q. Lua で日本語を表示したら文字化けしました
    6. Q. 設定やセーブステートが保存されません
    7. Q. BizHawk と Mesen2、どちらを入れるべきですか
  10. 8. まとめ:導入の成功判定は「Lua Console の数字が増えること」
  11. 次に読む:導入が終わったら「解析」へ進む
  12. 導入をラクにする周辺機材
  13. 環境構築でつまずきたくない方へ

結論:BizHawkは「4ステップ」で導入でき、日本語UIは存在しません

BizHawkの導入は、①公式GitHubから本体zipと前提パッケージ(prereqs)をダウンロード → ②前提パッケージを先に実行 → ③本体zipを半角英数のフォルダへ展開して EmuHawk.exe を起動 → ④コントローラー割り当てと Lua Console の初回起動、の4ステップで完了します。所要時間は回線速度を除けば20分ほどです。

そして、多くの人が最初につまずくポイントを先に書いておきます。BizHawkには公式の日本語UI(言語切り替え機能)が用意されていません。設定メニューを探しても言語項目は見つかりません。つまり「BizHawk 日本語化」で本当に必要なのは、UIを翻訳することではなく、次の3点です。

  • 日本語を含むパスを避ける(デスクトップ直下や「ダウンロード」配下は日本語ユーザー名が混ざりやすく、Lua や一部機能が失敗する原因になります)
  • メニューの対訳を手元に置く(本記事の対訳表がそのまま使えます)
  • 文字コードを意識する(Lua の gui.text に日本語を渡すと表示が崩れることがあるため、オーバーレイは半角英数で書くのが安全)

この記事は、この「英語UIのまま、日本語話者が最短で使えるようにする」ことをゴールにしています。導入までの手順に加えて、導入が本当に成功したかを Lua Console で機械的に確認する方法まで通します。

BizHawk導入の3ステップ(公式から入手→C:\BizHawkへ展開して起動→Lua Consoleで動作確認)を示した概念図
BizHawk導入の全体像。prereqsを先に実行し、半角英数パスへ展開し、最後にLua Consoleで動作を確認するまでが1セット(概念図)

0. 前提:用意するもの・注意すること

必要なもの

  • Windows 10 / 11(64bit)のPC:BizHawkの Lua Console は Windows 版(EmuHawk)で使うのが最も安定します。Linux 版もありますが、本記事は Windows を前提にします。
  • 空き容量:本体展開後で数百MB程度。作業余裕を含めて 1GB 空けておけば十分です。
  • 自分が所有するゲームソフトのデータ:当ブログは自分が所有するソフトを、オフライン環境で技術検証することを前提としています。ROM・BIOS・改造ROM・セーブデータの配布や入手先の紹介は一切行いません。
  • (任意)USBコントローラー:キーボードでも動きますが、操作検証をするならコントローラーがあると精度が上がります。

配布元について

BizHawk は開発チーム(TASEmulators)が GitHub の Releases ページで公式配布しています。検索結果に出てくる転載サイトやまとめサイトからダウンロードすると、バージョンが古かったり、余計なものが同梱されていたりする危険があります。必ず GitHub の公式 Releases から取得してください。

公式配布元:GitHub「TASEmulators / BizHawk」の Releases ページ
(出典:BizHawk 公式リポジトリ。リポジトリ名・配布形態は公式の記載に基づきます)

1. ダウンロード:本体zipと「prereqs」の2つを取る

Releases ページには、1つのバージョンにつき複数のファイルが並んでいます。初回導入で必要なのは次の2つです。

  1. BizHawk-x.x.x.zip(本体。x.x.x はバージョン番号)
  2. BizHawk-Prereqs-vX.X.zip(または .exe)(前提パッケージ。Visual C++ 再頒布可能パッケージや .NET ランタイムなど、BizHawk が動くために必要な部品をまとめて入れてくれるもの)

ここが最初の分岐点です。「zipを展開してEmuHawk.exeをダブルクリックしたのに何も起きない/DLLが無いと言われる」という質問の大半は、この prereqs を実行していないことが原因です。本体より先に prereqs を入れてください。

2. 前提パッケージ(prereqs)を先に実行する

  1. ダウンロードした prereqs のzipを展開します。
  2. 中にある実行ファイル(BizHawk_Prereqs_vX.X.exe 等)を実行します。
  3. ユーザーアカウント制御(UAC)のダイアログが出たら許可します。管理者権限が必要です。
  4. コンソール画面が流れ、必要なランタイムが順に導入されます。終わるまで閉じずに待ちます。
  5. 完了後、念のためPCを再起動しておくと、この後のトラブルがさらに減ります。

すでに他のソフトで同じランタイムが入っている場合は「インストール済み」と表示されてスキップされます。それで正常です。

3. 本体を展開して EmuHawk.exe を起動する

展開先のフォルダ名が超重要

BizHawk はインストーラー形式ではなくzipを展開するだけで使えます。ただし展開先のパスに日本語(全角文字)やスペースを含めないのが鉄則です。

  • 推奨:C:\BizHawk\(ドライブ直下に半角英数のフォルダを作る)
  • 非推奨:C:\Users\たろう\Desktop\ビズホーク\(ユーザー名やフォルダ名に日本語が入る)
  • 非推奨:C:\Program Files\BizHawk\(書き込み権限の制約で設定やステートの保存に失敗することがあります)

日本語パスは、通常のプレイなら動いてしまうことも多いのですが、Lua スクリプトからファイルを読み書きする段階で失敗しやすいという厄介な性質があります。当ブログの主題である解析・可視化に進むなら、ここで C:\BizHawk\ にしておくのが一番安上がりです。

起動手順

  1. 本体zipを右クリック →「すべて展開」→ 展開先に C:\BizHawk を指定。
  2. 展開したフォルダの中の EmuHawk.exe をダブルクリック。
  3. グレーのウィンドウと、上部に File / Emulation / View / Config / Tools / Help といったメニューが表示されれば起動成功です。
  4. よく使うので、EmuHawk.exe を右クリック →「ショートカットの作成」→ デスクトップへ置いておきます。

ゲームを開く

File → Open ROM から、自分が所有するソフトのデータを選択します。BizHawk は対応ハードが多く、ファイルの中身から自動でコアを選んでくれるので、基本は「開くだけ」です。開けない場合は、拡張子や圧縮形式(zip の二重圧縮など)を先に疑ってください。

4. コントローラーを割り当てる

Config → Controllers を開きます。上部のタブでハード(NES、SNES など)を選び、各ボタンの入力欄をクリックしてから、実際に押したいキー/ボタンを押すと割り当てられます。

  • キーボードだけで始めたい場合:初期状態でも割り当て済みのことが多いので、まずはそのまま試して、押しにくいキーだけ変更するのが早いです。
  • USBコントローラーが認識されない場合EmuHawk.exe を起動する前にコントローラーを接続してください。BizHawk は起動時にデバイスを列挙するため、後から挿すと一覧に出てきません。
  • 8BitDo などモード切替のあるコントローラー:接続モード(X入力/D入力/Switch モードなど)によって認識名が変わります。認識されないときは、まずコントローラー側のモードを切り替えてから BizHawk を再起動します。

コントローラー選びと接続モードの具体例は、Mesen2 で 8BitDo を使ったときの記録が参考になります。

Mesen2 メニューの使い方【Windows 10/11・Mesen 2.x】|Fileメニューの開き方・セーブステート保存/読込・前回セッション復元まで完全ガイド
Mesen2のメニューはウィンドウ最上部にあり、まず覚えるのはFileだけで十分です。Open・Save State・Load State・Load Last Session・Recent Files・Exitの全項目を日本語対訳つきで解説し、上書き事故を防ぐスロット運用、日本語UIの有無、セーブステートが読めなくなる原因までまとめました。

5. Lua Console を初回起動して「導入成功」を機械的に確認する

ここが本記事のいちばん大事なパートです。「ゲームが動いた」=導入成功ではありません。当ブログの旗である解析・可視化に進むには、Lua Console が動くことまで確認して初めて導入完了です。

開き方

  1. 先に File → Open ROM で何かソフトを起動しておきます(Lua はエミュレーションが走っている状態で使います)。
  2. Tools → Lua Console を選択します。
  3. スクリプト一覧と出力欄を持つ小さなウィンドウが開けば成功です。

Tools メニューに Lua Console が見当たらない場合は、Windows 版の EmuHawk を使っているか、64bit 版を落としているかを確認してください。配布ファイルの取り違えが原因のことがほとんどです。

試行錯誤の記録:AIに「動作確認用の最小スクリプト」を書かせる

導入直後に自分でLuaを書くのはハードルが高いので、AI(Claude)に最小スクリプトを書かせました。この記事では、うまくいったコードだけでなく、失敗した過程もそのまま残します。同じ詰まり方をした人の時間を節約するためです。

目的

「Lua Console が本当に動いているか」を、画面上の見た目だけで判定できるようにする。

Claude に投げた実際のプロンプト(コピペ可)

BizHawk 2.9系のLua Consoleで動く、動作確認用の最小スクリプトを書いてください。
条件:
- ゲーム画面の左上に固定テキストを表示し続ける
- 現在のフレーム番号も一緒に表示する
- 毎フレーム更新されること
- BizHawk固有のAPI名を使い、他エミュレーター用のAPIは混ぜないこと
- コメントは日本語、画面に出す文字列は半角英数のみ

1回目に生成されたコード

-- 動作確認用(1回目・そのままでは動かない)
gui.text(10, 10, "BizHawk Lua OK")

結果とエラー

実行すると、一瞬だけ文字が出て、すぐ消えました。スクリプト一覧の状態も「実行中」ではなく、すぐ止まった扱いになります。エラーメッセージが出ないぶん、初心者はここで「Lua が壊れている」と誤解しがちです。

原因はシンプルで、ループが無いため1フレーム分だけ描画して終了していただけでした。BizHawk の Lua は「毎フレーム呼ばれる処理を自分で回し続ける」書き方が基本です。

修正指示のプロンプト

一瞬だけ表示されて終了してしまいました。
BizHawkでは毎フレーム描画を継続させる必要があると思います。
emu.frameadvance() を使った常駐ループの形に書き直してください。

最終コード(コピペ可・これが正解)

-- BizHawk 導入確認用スクリプト
-- 保存例: C:\BizHawk\Lua\hello_check.lua
-- 使い方: Tools -> Lua Console -> Script -> Open Script で読み込む

while true do
  -- 画面左上に固定メッセージ(日本語は文字化けの原因になるため半角英数で書く)
  gui.text(10, 10, "BizHawk Lua OK")

  -- 現在のフレーム番号を表示(数字が増え続けていれば毎フレーム動いている証拠)
  gui.text(10, 30, "frame: " .. emu.framecount())

  -- 次のフレームまで待つ。この1行が無いとBizHawkが固まる
  emu.frameadvance()
end

実行手順

  1. メモ帳などで上のコードを貼り付け、C:\BizHawk\Lua\hello_check.lua として文字コード UTF-8で保存します。
  2. Lua Console の Script → Open Script でこのファイルを選びます。
  3. ゲーム画面の左上に BizHawk Lua OKframe: 数字 が表示され、数字が増え続ければ導入完了です。

数字が止まっている場合は、エミュレーションが一時停止しています。Emulation → Pause のチェックを外してください。

ここで学べる型

while true do ... emu.frameadvance() end は、BizHawk の Lua でメモリ監視・オーバーレイ表示・自動記録をするときの共通の骨格です。この骨格さえ手に入れば、あとは中身を差し替えるだけで解析に進めます。次の段階は下の記事に続いています。

6. 英語メニュー対訳表(これがあれば日本語UIは要りません)

英語表記 意味・用途
File → Open ROM ソフトのデータを開いて起動する
File → Recent ROM 最近開いたソフトの履歴から起動
File → Save State / Load State その瞬間の状態を保存/復元(ゲーム内セーブとは別物)
Emulation → Pause 一時停止。Lua の数字が止まるときはここ
Emulation → Reboot Core リセット(本体の電源を入れ直す相当)
Config → Controllers コントローラー・キーの割り当て
Config → Hotkeys 早送りや巻き戻しなどの操作キー設定
Config → Paths セーブ/ステート/Lua などの保存先フォルダ
Config → Display 画面サイズ・フィルタ・アスペクト比
Tools → Lua Console Luaスクリプトの読み込みと実行
Tools → RAM Search メモリ上の変化する値を絞り込んで探す
Tools → RAM Watch 特定アドレスの値を常時監視する
Tools → Hex Editor メモリの中身を直接確認する

7. つまずきQ&A

Q. EmuHawk.exe をダブルクリックしても何も起きません

ほぼ確実に prereqs(前提パッケージ)が未実行です。手順2に戻って先に実行してください。実行済みなのに起動しない場合は、セキュリティソフトが exe をブロックしていないか、展開が途中で失敗していないか(zipを右クリック→プロパティで「ブロックの解除」)を確認します。

Q.「〜.dll が見つかりません」と出ます

同じく prereqs が原因です。加えて、zip の中身を一部だけ取り出した場合にも起きます。BizHawk は同梱 dll に依存するため、EmuHawk.exe だけを別フォルダへ移動すると動きません。フォルダ丸ごとで扱ってください。

Q. コントローラーが一覧に出てきません

BizHawk 起動に接続し直してください。それでも出ない場合は、Windows の「ゲームコントローラーの設定」でOS側が認識しているかを先に確認します。OSが認識していないなら、原因はBizHawkではなくドライバや接続モードです。

Q. Tools メニューに Lua Console がありません

Windows 版の EmuHawk(64bit)を使っているか確認してください。配布ファイルの取り違え、または非Windows版を落としているケースが大半です。

Q. Lua で日本語を表示したら文字化けしました

gui.text の描画は日本語フォントを前提にしていないため、画面に出す文字列は半角英数で書くのが安全です。日本語はコメント(-- の行)に留めてください。スクリプトファイル自体は UTF-8 で保存します。

Q. 設定やセーブステートが保存されません

C:\Program Files\ 配下に展開していると、書き込み権限で弾かれます。C:\BizHawk\ のような書き込み可能な場所へ移してください。Config → Paths で保存先を明示的に指定するのも有効です。

Q. BizHawk と Mesen2、どちらを入れるべきですか

目的で分かれます。解析・Lua による自動化・TAS的な検証をしたいなら BizHawk(RAM Search / Lua Console / Hex Editor が一体で揃う)。ファミコン/スーファミを高精度に「遊ぶ」ことが主目的なら Mesen2(画質・音・操作周りの作り込みが強い)。両方入れて共存させても問題ありません。

8. まとめ:導入の成功判定は「Lua Console の数字が増えること」

  • 公式は GitHub の Releases。prereqs を本体より先に実行する。
  • 展開先は C:\BizHawk\日本語パスとProgram Files配下は避ける。
  • 公式の日本語UIは無い。対訳表+パス管理+半角英数表示の3点で実用上は困らない。
  • コントローラーは起動前に接続。認識しないときはコントローラー側のモードを疑う。
  • 導入完了の判定は gui.textemu.framecount()毎フレーム更新されること

※本記事は概念版として先行公開しています。実機での画面スクリーンショットおよび動作GIFは、後日追記して更新します。

次に読む:導入が終わったら「解析」へ進む

ここまでで、BizHawk が動き、Lua Console が回る状態になりました。ここからが当ブログの本題であるAI×メモリ解析の入口です。上から順に読むと、そのまま実践できます。

STEP 1:まずは画面にメモリの値を出してみる

【入門】BizHawk×Lua×AI(Claude)でゲームのメモリ値を画面表示する最小テンプレ|RAM Searchで所持金アドレスを特定する手順
BizHawkのRAM Searchで所持金アドレスを特定し、Claudeに書かせたLuaで値を画面に常時表示する最小テンプレを解説。改造ではなくメモリ解析・状態検証の入門です。

STEP 2:HPや座標のアドレスを自力で特定する(RAM Search)

【中級】BizHawk RAM SearchでゲームのHP・座標アドレスを特定する手順|AIにアドレス候補を絞らせる試行錯誤ログ付き
BizHawkのRAM Searchで、ゲーム内のHPやキャラの座標が入っているメモリアドレスを自分で特定する手順を解説。AIに絞り込み条件を設計させ、候補がヒットしない失敗の立て直しまで記録した中級向けのメモリ解析・状態検証ガイドです。

STEP 3:特定した値をHPバーとして画面に重ねて表示する

【中級】BizHawk LuaでゲームのHPバーを画面オーバーレイ表示する|取得したメモリアドレスをgui.textで常時表示(試行錯誤ログ)
RAM Searchで特定したHPアドレスをBizHawkのLuaで読み取り、gui.textとgui.drawRectangleで画面左上にHPバーとして常時オーバーレイ表示する最小手順。emu.frameadvance()のループ設計と、座標ズレ・チラつきの直し方を、Claudeとの試行錯誤ログ付きで解説します。改造ではなくメモリ解析・状態検証の技術記録です。

あわせて読みたい:PCの画面をテレビ/別ディスプレイに出して遊ぶ

レトロゲーム画面をPCに映す:HDMI出力&画面ミラーリング完全ガイド|出力できない時のつまずき対策(DP Alt Mode/解像度/遅延/spacedesk接続不可)
PCで動かしたレトロゲーム(エミュ)の画面を大画面テレビ・別モニタ・タブレットに映す方法を、①HDMI/USB-C有線出力と②spacedeskミラーリングの2軸で解説。HDMIで映らない・DP Alt Mode非対応・解像度・遅延・spacedesk接続不可といったつまずきを原因と対処で整理し、AIに切り分けを手伝わせるプロンプトも掲載します。

導入をラクにする周辺機材

BizHawk 自体は軽量ですが、Lua で常時オーバーレイを回しながら録画するような使い方をすると、CPUとメモリに余裕があるほど安定します。またコントローラーは、導入直後の動作確認の精度に直結します。

Amazonのアソシエイトとして、当ブログは適格販売により収入を得ています。

環境構築でつまずきたくない方へ

当ブログでは、BizHawk の導入から Lua による解析環境の立ち上げまでを一本の手順にまとめた「レトロゲーム解析 環境構築キット」を note にて準備中です。設定ファイルのテンプレート、動作確認用 Lua スクリプト集、つまずきポイントのチェックリストを同梱予定です。公開時は本記事でお知らせします。

当ブログは、様々なネタで皆さんと楽しい時間を過ごすのが最大の目的です。「記事が役に立った」「続きも読んでみたい」と感じていただけたら、Amazonでのお買い物や、記事のシェアで応援してもらえると嬉しいです。

コメント