BGB version 1.03
ホームページ:http://bgb.bircd.org/
メール: bgb@bircd.org (@マークは半角に代えて下さい)
本プログラムは多分開発の終わる事はないWin32プラットフォームのゲームボーイカラーエミュレータです
免責事項:
いかなる保証もしませんので、ご自身のリスクで使用して下さい。本プログラムは何も保証はしませんがディスクスペースは消費します。コンピュータに損害を与えたりハードディスクを消去してしまっても文句は言わないで下さい。
カートリッジの実物を所持していなかったり著作権者から明示的に禁止されている著作権付きロムを使用する事は違法です。もしそうするならば、それはあなたの責任になります。
使用方法: エミュレータウィンドウ内で右クリックするとポップアップメニューが表示されます。そこからオプションや機能にアクセスできます。
デフォルトキー:
テンキー + | 早送り |
テンキー * | ゲームボーイのリセット |
テンキー - | チートコードの有効・無効 |
A | Bボタン |
S | Aボタン |
Shift | セレクトボタン |
Enter | スタートボタン |
F2 | セーブ |
F3 | セーブデータの選択 |
F4 | ロード |
Esc | デバッガ |
本バージョンの機能:
- ゲームボーイ・ゲームボーイカラー・スーパーゲームボーイのエミュレート
- スーパーゲームボーイのマルチプレーヤは4つのゲームパッドまでサポート
- 強力なデバッガ:
- 逆アセンブラ
- アセンブラ (コードを変更して変更したロムを保存できます)
- 複数のセーブポイント
- ブレークポイント
- 任意の場所でのセーブ
- シングルステッピング/トレーシング/アニメーティング/ステップアウト/ステップオーバー
- VRAMビューワ: BGマップ、タイトル、OAM、パレット
- IOレジスタビューワ
- 例外中断 (アクセスできないVRAMへのアクセス、初期化されていないWRAM・HRAMの読み込み、RAMアクセスのループ、ロックされた外部RAMへのアクセス、VBLANK外のビデオ無効)
- 映像出力: DirectDraw及びDIBサポート
- 音声出力: WAVE出力、DirectSound、ディスクライターサポート
- 他のゲームボーイ、ゲームボーイカラーと比較して互換性にすぐれており、ほぼ全てのROMが動作
- 正確で高品位なサウンドをエミュレートし、帯域を限定した方形波を生成できます
- 正確なビデオエミュレート。本当のゲームボーイ、ゲームボーイカラーの様な表示です
- 高速な動作
- ジョイスティック、ゲームパッドサポート。全て設定可能
- いくつかのショートカットキーは設定可能、ジョイスティックやゲームパッドのボタンに割当可
- MBC3リアルタイムクロックのエミュレート
- 自動遅延・フレームスキップにより実機の100%の本当の速度で動作し、完全に60fpsです
- GameGenieやGameSharkのチートを利用でき、(自動・手動で)ロード・セーブができます。"cheat searcher"で簡単に新しいチートコードを作成できます
- クイックキー(zsnesスタイル) で状態のセーブ・ロード
- zip及びgzipファイルからのロード
- DirectX・外部ランタイム不要
- 背景ビットマップ(オプション)、疑似フルスクリーンモードサポート
- TCP/IPによるゲームリンクサポート
システム要件:
win32 i386 プラットフォーム(95, 98, ME, NT4, 2000, XP と恐らくWindowsのその後のバージョン)
及びLinux上のwineにてBGBは動作します
Windows互換サウンドカード。ジョイスティック・ジョイパッドはオプションです。DirectDraw対応のビデオカード推奨
- ペンティアム133-166MHzもしくは同等互換CPU:ゲームボーイと古いゲームボーカラーのゲームは最適かつ高速に動作します
- ペンティアム200-233MHzもしくは同等互換CPU: 最近のゲームボーカラーのゲームには推奨します
- ペンティアム300MHzもしくは同等互換CPU:デバッガ機能を利用する際には推奨します。(例外停止やブレークポイント等を利用したエミュレート)
デバッガ:
BGBは、アクセスできないVRAM、「ランダムに」初期化されるWRAM/HRAM、「バグ停止初期化」と言った「本当のハードウェア」の様なものをエミュレートします。これらはデフォルトで動作しており、実行速度の犠牲はありません。
PDや非公式のROMでは本機能が問題になる場合がありますが、無効にする事もできます。
本機能を有効にしている場合、"break on ..."の設定を行う事でROMが不正な動作を行っているかどうか検証する事が出来ます。
"break on"設定を有効にしたり、ブレークポイントを設定するとBGBは「デバッグモード」で動作して、おおよそ2倍遅くなりますので注意して下さい。
デバッグ機能を無効にすると可能な限り高速で動作するようになります。
既知の問題:
- ピンボールファンタジー/デラックス: ゲーム中クラッシュする
- ワームアルマゲドン: ゲーム中フラッシュする。 回避方法: リセット時にRAMをゼロで埋めると完全に動作します
BGB1.0のセーブデータをBGB0.9で開こうとするとハングしたりクラッシュしたりします。古いセーブデータにはバージョン情報を保持していないためです。
オプションウィンドウ:
ポップアップメニュー --> Options.
ジョイパッドのキーやゲームボーイスクリーンの色やサウンドオプションを変更できます。
Sound:
- Enable DirectSound: DirectSoundを初期化します。失敗した場合は代替のものを選択します
- 8 bits output: 16 bits audioがサポートされていない場合や問題があった場合に設定して下さい
- bandlimited CH1/CH2: 高音質で推奨しますが、高速なPCが必要なのでデフォルトでは無効です
- Latency: 本値を高くすると「Latency(待ち時間)」が短くなります。本値を高くしすぎると音飛びします。
- WAV file writer: 音声をWAVファイルにします。サウンドを有効にしたり、エミュレータをリスタートするとこのWAVファイルは初期化されます。このためサウンドファイルを保存したい場合はWAVファイルをコピーして下さい。本設定を無効にした時にWAVファイルへの録音は終了します。
Joypad:
- "configure keyboard"もしくは"configure game controller"をクリックすると設定ウィザードが表示されますので、ハイライトされているボタンに対してお好みのキーやボタンを押して下さい
ショートカットキー(ロード・セーブ・早送り・リセット 他)を変更するには"configure extra buttons"にチェックを入れて"configure ..."をクリックして下さい
Misc:
- show framerate: ウィンドウのタイトルバー内に描画フレーム/秒と実行フレーム/秒の2つのフレームレートを表示します。
- increase timer resolution: システムクロックを1000 HzにセットしフレームレートをスムースにしてCPU使用率を減らします
- reduce CPU usage: 待機時にCPUをスリープ状態にすることでCPU使用率を最小限にします
- pause if losing focus: 他のアプリケーションに切り替えた時BGBを中断・停止させます
- animation recording: 1-2フレームごとにBMPのスクリーンショットを保存します。ムービー作成に利用できます。
- use fast open files dialog: 開く/保存ダイアログボックスをWindowsデフォルトのものの代わりにBGBのものを使用します。(XPではかなり遅いため)
- framerate と adjust sound speed: 実機の速度より遅く動作させたり速く動作させるのに設定します
- boot logo/tones like real DMG: 注意: 有効にすると障害が起きる可能性があります。: いくつかのゲームで中断したりデバッガと干渉したりします
Graphics:
- screen filter: "mix current/last frame" は「フリッカリング」を使用して色を混合し正しくゲームを表示するようにします。
"interlacing" は実機のゲームボーカラーの様な効果を与えますが、厳密には正しくはありません。
- Enable DDraw: 無効にするとDirectDrawの初期化を行いません。デフォルトでは初期化を行い失敗した場合にはDIBを選択します。
- backbuffer in system: DirectDrawのバックバッファをシステムメモリー内に固定します。動作が速くなったり遅くなったりします。最近のビデオカードでは本設定により「ぼやけた」「ムラのある」表示を選択できます。
- 8 bits DIB: DirectDrawを無効にして本設定を有効にすると古いPCでは動作が速くなりますがHi Color(16ビット)表示だと見た目が悪くなります。
- null gfx output: グラフィックスをレンダリングしますが、出力はありません。テスト用途です。
注意: グラフィックスをレンダリングさせたくない場合、例えばCPUを全て音声出力に割り当てたい場合はBGBのウィンドウをリサイズして高さを0にして下さい。
- GBC LCD colors: ゲームボーカラーの色を実機のようにします。無効にすると変換無しにRGB出力します。
- border BMP file: BGBの背景にBMPファイルを使用できます。(有効にすると表示されますが、スーパーゲームボーイの背景はありません。) 160x144ピクセルの単色の長方形を用いるとゲームボースクリーンの場所を決められます。ビットマップファイルをドラッグアンドドロップしても背景として指定できます。
System:
- Gameboy: DMG(初代ゲームボーイ)上のものとしてROMを動作させます。
- Gameboy Color: GBC(ゲームボーイカラー)上のものとしてROMを動作させます。実機のゲームボーカラーのゲームボーイモードもエミュレートします。問題がある場合(例:ゼルダの伝説)やデバッグ目的で使用します。
- Super Gameboy: スーパゲームボーイのROMはSGB(スーパーゲームボーイ)上のものとして、その他のROMはゲームボーイ上のものとして動作します。
- automatic, prefer GBC: DMG・SGB・GBCのROMを正しいシステム上のもので動作させます。GBC+SGBのROMではゲームボーイカラー上として動作させます
- automatic, prefer SGB: DMG・SGB・GBCのROMを正しいシステム上のもので動作させます。GBC+SGBのROMではスーパーゲームボーイ上として動作させます
- SGB + GBC: SGBとGBCの機能を同時にエミュレートします。本システムは実機で存在しないため問題が生じたり、予測できない振る舞いをするかもしれません。
- GBC + initial SGB border: SGB+GBCのROMをSGBモードで開始し背景を転送し終わるとGBCモードでリセットします。いくつかのGBC+SGBのROMでは背景を表示するために必要必要です。
- detect GB pocket/SGB2: DMGモードの時にROMにゲームボーイポケットを検出させます。完全実装していない機能です
- detect GBC on GBA: GBCモードの時にROMにゲームボーイアドバンスを検出させます。完全実装していない機能です。(例:ゼルダの伝説 不思議の木の実 時空の章)
- fast SGB transfers: SBGのVRAM転送中速度制限を解除して実行します。
- cart emulation:
- prefer accuracy: ハードウェアの問題や制限を含めて、ROMヘッダにより適切なMBCとRAMサイズをエミュレートします。公式ROMは正しく動作します。
- prefer compatibility: ROMヘッダを無視して可能な限り多くのROMをサポートします。(壊れたPDや非公式や試作ROM)(デフォルト)
GameGenie/GameShark チート:
チートウィンドウではリストが表示され、コードと説明をチート項目に追加したり編集したり削除したり出来ます。またチートをファイルにセーブしたりロードしたり出来ます。
文字の意味:
- G = GameGenie
- S = GameShark
- P = パッチ済み。GameGenieのコードがROMの値を書き換えていると言う意味。もし表示されていないならば、GameGenieのコードが使用しているROMに当たらないという事です。
- E = 有効 (有効/無効ボタンで設定されています)
チートエディタ: GameGenieやGameSharkのコードを入力したり、「内部値」を入力して簡単に自分自身のコードを作成できます。
遅いコンピュータでBGBをより速く動作させる方法
- PCの解像度を640x480でかつBGBのウィンドウを小さくする(1x1倍)
- PCの解像度でカラーを16bitカラー(Hi Color)にする
- BGBのoptionで"8 bits DIB"を有効にする
- サウンドのサンプリングレートを22KHzに設定する。もしくはサウンドをオフにする
フルスクリーンモード:
"window size" -> "full screen"を選択するとフルスクリーンモードになります。フルスクリーンモードに移行する前と同じサイズでスクリーンセンターにゲームボーイのスクリーンが表示されます。
ゲームリンク:
BGBのゲームリンクを完全に動作させるには非常に高速なPC(ペンティアム3、アスロン)と1ms以下の応答(高速LANもしくはループバック)が必要です。全てのゲームで動作するわけではなく、動作するゲームはテトリス、ポケモン、モータルコンバット等です。動作する/しないをPCのスペック・OS・ネットワークスペック・ゲームタイトルと共にメールで送って頂けるとありがたいです。でもゲームのタイトルをあげて、いつサポートしてくれるの?とは聞かないで下さいね。
一つのBGBで"listen"を選択し、もう片方のBGBで"connect"を選択します。そうするとタイトルバーに"linked"と表示されます。"remotejoy"オプションが選択できるので片方のBGBの"joypad 2"がもう片方のBGBをコントロールする事になります。(例えばkeyboardを選択できなくなります)
更新履歴:
1.03 -
Emulating hardware behavior for "gin & tonic trick" in the "mental respirator" demo by Phantasy.
Fixed the "on blt2: action not supported" problem which happens on some videocards - if it still happens for you, please contact me.
Added 24 bpp directdraw support.
Made joypad wizard better support "broken" controllers with things like flickering buttons (must press button for 0.5 secs).
Added optional screen on startup to tell the user what to do.
Added "cpu idle" wait for vblank routine - if it's not smooth on your pc, disable "reduce cpu usage".
Added support for up to 32 joypad buttons.
1.02 fixed a bug in the emulation core which may have broken roms. added japanese documentation (thanks, translator). show error if trying to add duplicate cheat code. allow saving disassembler output to text file.
1.01 - fixed "Cannot change Visible in OnShow or OnHide" bug. fixed bugs related to gamegenie cheats and cheats GUI. fixed problems/bug with window/fullscreen behavior.
1.0
- added debugger
- added cheat searcher
- added optional directdraw and directsound support.
- greatly improved accuracy/compatibility/rom support, fixed many known problem roms.
- added "GBC + initial SGB border" support, allowing a number of GBC roms to show a border.
- added experimental support for sub-scanline timing graphics, "demotronic demo" works perfectly.
- new, more accurate, extendable, save state format. Old states are automatically converted/resaved by default.
- made bgb faster by optimizing/rewriting parts
- added support for 4 gamepads.
- redone joypad config, easy to use GUI
- new GBC LCD colors, more like the real GBC
- lots of minor changes
0.9 - Color schemes can be edited. Increased precision of frequencies in sound code (alone in the dark intro interference effect). Centralized/wrapped sound output (waveout, disk writer) code. Fixed AV if showing registers w/o rom loaded.
0.88 - fixed: save file name gets corrupted if loading a rom causes a warning, making load/save impossible. added: you can now change the current save name, by changing the save dir in the options, without reloading the rom.
0.87c - fixed: the info screen still showed my old email adres...
0.87b - fixed: linkspeed was not initialized, causing problems when not linked, such as breaking alleyway
0.87 - added experimental TCP game link support.
0.86 - added support for japanese pokemon crystal. fixed: accessing a word on address $ffff caused AccessViolation. fixed saving of joystick buttons config. Redone code which searches GB screen rectangle in border bitmap.
0.85 - emulation of 2 joypads for SGB multiplayer. fixed memory leak when loading a rom fails. added support for gzipped roms. fixed some bugs in zip header code, bgb is less likely to hang on corrupt zips. new time synchronization code. sound bugfixes and accuracy improvements. Added option to use GB colors in SGB mode.
0.84 - Fixed pokemon crystal (HDMA behavior guesswork). Option for generating high quality anti aliased rectangular waves (CH1 and CH2).
0.83 - fixed some sound bugs introduced in 0.82. CH4 anti aliasing, especially CH4 high pitch tones sound better. Fixed a resize problem in wine.
0.82 - fixed "magical drop" and "miahamm soccer shootout". fixed "little mermaid ii pinball frenzy", speculation about HDMA behavior. rewritten sound code, improved sound. CH4 (noise) is more like real gb now. implemented anti emulator detection.
0.81 - redone STAT/timing/interrupts core, more accurate now (?), fixed *many* known problem roms. implemented DI+HALT hardware bug now, needed to fix smurfs/thunderbirds again (thanks no$gmb history text). "little mermaid ii pinball frenzy" graphics will be broken until i have exact HDMA timing. added "no visible window" mode (doubleclick in bgb window to toggle). GB screen can now be off-center in the border bitmap. SGB border can now overlap main screen in 16 bits gfx mode (alfred chicken). minor fixes/changes.
0.8 - Added SGB support. renamed "snapshot" to "state" to prevent confusion with "screenshot". changed I/O register behavior, it should be more like the real hardware, i might break something. fixed bugs. added options.
0.71b - i removed the hide taskbar code for fullscreen, i think its not needed. added support for "the smurfs" and "pocket puyo sun" (i didn't HALT if ints disabled)
0.71 - Added support for HuC1 and HuC3. Improved control panel GUI. The 4 sound channels can be enabled/disabled independently. Colors of background, window and sprites can be set. Improved full screen support. Bugfixes. Changed DMA behavior, "little mermaid II pinball frenzy" and "le mans 24h" both have correct GFX. fixed nintendo logo screen (ishido)
0.7 - improved compatibility, a number of problems fixed; tested: "legend of zerd", "magical chase", "elmo in grouchland", "faceball 2000" (framerate), "dragon slayer" (music). Emulation speed can be adjusted. added "delay" option so bgb doesnt have to use 100% cpu. emulation of absence of external ram (reads $ff). more cleanup.
0.66b - Saving zero length .sav files problem is fixed. save-filenames were truncated at first dot, fixed. problem with pressing U+D or L+R key simultaneously is fixed. Fixed problem of "Mr. do!" hanging at hi-scores screen.
0.66 - You can drag & drop files to the BGB window. BGB can start with no rom loaded - you don't get the load rom dialog.
0.65b - i did the changes from 0.64 to 0.65 again... this time i did yet another gfx engine, i didnt like 0.65 being 5 fps slower on my pc.
0.65 - Support for bilinear filter. removed the vram viewer; i didn't use it, and it was not stable. Fixed problems with "Mr. Do!". fix in gfx engine: dirty statusbar-split in "fortress of fear". small sound fix (broken in 0.64)
0.64 - minor update+bugfix. based on diagnose roms. Fixed speed of envelope sweep, it is now 1/64 sec per unit as in reality. sound registers now behave more like on real gb. OAM is now zero filled on reset, sprites were flipped incorrectly.
0.63 - minor update. Fixed (reversed) sound stereo. Added option for GBC "LCD colors", similar to the "real colors" option in no$gmb. Joystick buttons up to #16 can now be used. Fixed problem with puzzle road.
0.62 - Added support for joystick/gamepad. Added support for rumble carts. Cleaned up the LCD/STAT/interrupts code; a few rom problems solved, runs pinball deluxe/fantasies. Fixed sound volume rounding, better sound. Fixed the in 0.61 introduced sound problem with Cannon Fodder.
0.61 - Added support for zip files. Added 16 bits gfx engine for old GB (faster if window is big/maximized).
0.6 - Added GameShark support. Fixed many bugs. Great sound improvements (also fixed a bug which messed up the sound in GBC mode). Sprite priority as on real gb.
0.52 - Added a setting which automaticly switches between the faster 8 bits gfx and the 16 bits gfx when needed. Changed window behavior again, it should be correct by now (alfred's adventure). WAV writer didn't work if soundcard disabled... minor fixes. Fixed problem with Hook.
0.51 - fixed problems, even more roms supported, check out the screenshots page. Added "Tiles viewer". Fixed a problem with the filename of the wav-writer.
0.5 - Added hicolor GBC graphics engine. Added background priority support. Added MBC3 timer emulation. Problems solved, more roms run correctly. Wait-loop detection, some games run faster. Maximum frameskip option. BackGround map vram viewer. Minor changes.
0.4 - Added GBC support. Fixed bug in auto-frameskip code, it is now smoother. Minor change in video engine, "the addams family" and "starfight" now run.
0.32 - Added icon. Fixed serial transfer; Mortal Kombat and Alleyway now run. CPU optimized with assembler. Emulated behavior of window (startrek briefing screen). minor changes.
0.31 - Added support for MBC5 (games like warioland 2). Added gamegenie on/off key. Changed behavior of select snapshot window.
0.3 - First released version
フィードバック:
ここに書かれていないコメントや質問、ヒント、バグ等がありましたら、私にメールください。(訳者注:英語でお願いします。)