1.6.4 / 01-09-2024
BGB
Accuracy
Performance
Features
BGB is a Gameboy emulator which lets you run Gameboy and Gameboy Color games. It has excellent accuracy, gamepad support, high quality sound and graphics, smooth V-sync animation, and low latency. In addition, it contains a debugger that lets you analyze/look into the emulation, create cheat codes, and assist in creating and modifying roms.
Development-builds available: None reported
--
Windows: 32/64-bit
Most Recent Changes
-- 1.6.4--
Fixed many bugs and problems
Accuracy improvements
Emulating GDMA conflict and improved inaccessible VRAM break for this
Speed optimizations
GBC reality colors: cyan was a bit too dark
Recovery save state can now also be saved if another ROM is loaded or BGB is closed.
--1.6.3--
Added "MGB reality" (gameboy pocket) colorscheme and frame blend and doubler, and setting to automatically switch between DMG and MGB colorscheme and border
Fixed a number of bugs
--1.6.2--
Fixed a number of stability related bugs
Improved accuracy of joypad timing
--1.6.1--
Fixed a bug where the game state could get corrupted in a rare edge case
--1.6--
Added rewind key (default: Tab) and reverse tracing
Added support for loading and saving PNG images (windows XP and later)
GB Camera emulation (using webcam, image file, or test pattern)
Added support for x2, x3, x4 scale border images. Ability to apply doubler to x1 and SGB borders
Improved GBC color options, including "GBC reality" and custom 3d LUT support (GBI compatible PNG format)
realistic simulation of DMG and GBC LCD with new doublers (up to x4 scale) and frame blending options. new "DMG reality" colorscheme.
Separate configurable border image and colors for SGB, and ability to show border image until a SGB border is set.
changed default to the original, lighter, BGB 0.3 colorscheme. The darker "BGB LCD green" can still be chosen.
new lock aspect ratio option, and ratio can be customized
rapid A/B speed is now configurable, and default speed now works with more games
mappable buttons can now be combinations with Ctrl, Alt, Shift. Ctrl+R is now an alternative shortcut for reset in the debugger.
renamed "access breakpoints" to "watchpoints" to follow standard naming used by other gameboy debuggers
"copy code" in the debugger in a format that can be edited and pasted back in modify code.
common register names such as rLCDC, rNR10 can now be input in the debugger.
Ability for breakpoint or watchpoint to log a debug message instead of breaking
Xaudio2 sound output can now be automatically chosen by default
Default audio samplerate is now automatic based on OS mixer samplerate (typically 48000 or 44100)
Changed save filename handling of gzipped roms. old save files are still loaded. Setting for old behavior.
Ini settings so debugger, vram viewer, and IO map windows can be visible on startup
Improved accuracy
Fixed many bugs
--1.5.11--
Bug and problem fixes and accuracy improvements only. New features are in 1.6.
--1.5.10--
Added experimental Xaudio2 support
Improved performance of VRAM viewer
Added support for "correct" order MMM01
Wine fixes: no graphcs on some setups. font related fixes.
Many accuracy improvements
Fixed many bugs
--1.5.9--
Added Xinput support, fixes: gamepad stops working if bgb loses focus in windows 10. Re-run the configure wizard to utilize Xinput.
Improved sound accuracy. "voice" sound works in perfect dark, donkey kong country, medarot 5 and others. added PCM registers. Supports LSDJ v9.2.0.
Improved HuC3 support (robopon sun, pocket family)
Improvement to speedrun mode
Added support for BESS, one can now interchange save states between bgb and other supporting emulators such as Sameboy
Added support for the homebrew TPP1 mapper
Many accuracy improvements
Fixed many bugs
--1.5.8--
Added mode where RTC stays at real time. Accuracy improvements. improved speedrun mode. Fixed graphics not showing on some wine setups. Improved fullscreen pageflipped mode. Improvements to debugger. Fixed many bugs.
--1.5.7--
Greatly improved accuracy, including pinball deluxe/fantasies, japanese crystal, koro dice, and many test roms
speedrun mode
recovery save state
mappable button to start/stop recording audio/video
setting to not break on invalid opcode, instead hang as in reality
Made available a 64 bits version
MBC1 multicart (MBC1M) support
Improvements to debugger, including undo rom edits, ctrl+tab changes active control.
Fixed many bugs
--1.5.6--
Fixed regression: choppy framerate and sound glitches after pause.
--1.5.5--
Added support for GUI display scaling. Improved input lag on 120 Hz display mode. Improvements to debug messages. A number of bug fixes and small improvements.
--1.5.4--
Fixed regression: pokemon yellow broken in SGB mode. Fixed a number of bugs.
--1.5.3--
Accuracy improvements, including: pokemon (all versions) now has correct TID for speedruns. Fixed a large number of bugs and problems, including: "uncoverable direct3d error" on some Optimus laptops.
Added improved support for automation/commandline use. Significant performance/efficiency improvement with most roms. Added support for loading RTC .sav files where a timestamp in the future does not (incorrectly) advance time.
--1.5.2--
Fixed a large number of bugs and problems, including: glitches in pokemon linking. Screensaver now doesn't start if you play with gamepad. Crash/stability fixes.
Many small improvements, including efficiency improvements. Added support for more joypad axes (xbox 360 controller). Various debugger GUI improvements including local symbols.
--1.5.1--
Fixed a number of bugs, including Donkey Kong Land and possibly other roms being broken, and a bug that caused it to sometimes not work on a secondary monitor.
--1.5--
AVI writer
Greatly improved efficiency (about 10-30% faster, depending on the system)
Improved accuracy
Improved sound quality
Lower audio latency
Preview screenshots in select state window
Improvements to debugger, including selectable RGBDS or WLA assembler syntax, "ld d,d" debug messages, and editing the palette in the vram viewer.
Fixed a large number of bugs, including "alt+F4 loads state", and "timing in LSDJ is unstable"
--1.4.3--
fixed: loading/saving save files for roms with unicode filenames was broken if a save dir is not set. this was broken in 1.4.2.
--1.4.2--
fixed a large number of small problems and bugs including: direct3d now works on secondary monitors
some accuracy fixes (including sagaia problem)
added some features including: mono sound output and an exception break if making bad accesses during an OAM DMA transfer.
tested to work on windows 8.
--1.4.1 --
fixed time keeping problems (hiccups) on windows 7
fixed inaccuracy in mid-scanline change of LCDC bits (gejmboj)
fixed a condition that would cause inaccurate timing of interrupt (final fantasy adventure)
added "gameboy or GBC" system mode setting. added "blurry" doubler
fixed searching any opcode with a space giving "IO error 105"
added field in IO map to view/edit the "low" bank of multicart emulation
fixed "remotejoy" being broken
screen window can now init on secondary monitor
fixed failure of GUI elements initing on secondary monitor
fixed wrong field in wav file written
--1.4 --
greatly improved game link accuracy, most games should now work perfectly.
added optional HQ2X and Scale2x graphics filters
various accuracy improvements including sound registers, joypad timing, and lcd/interrupt timing
Performance/efficiency improvements including waitloop detection and more efficient high quality sound rendering and others
Major debugger improvements: Supports SYM files containing debug symbols. "on jump" access breakpoints. immediate entry of data into assembler, data, and stack viewer. improved assembler flexibility. Multiline code/data entry window. Keyboard shortcut for navigation to previous/next breakpoint, label etc. Live update memory mode. edit IO map registers. Fixed causes of accidental running while debugging.
Sound quality improvements: CH3 and CH4 are now bandlimited in high quality mode. Improved DC offset accuracy. fixed sound timing inaccuracies.
Improved WAV writer + screenshot recording. Fixed audio/video desync problems. Exported files are now better named.
fixed windows 98 compatibility problem. eliminated requirement for DX9. improved wine support.
New truecolor/hi-res icon.
Many small bug fixes and improvements.
--1.3.2--
more accurate SGB color scheme.
improved detection of non-working vsync.
fixed: bootroms don't load if read only.
fixed: "load rom dialog on startup" not working.
fixed: "game controller works only if focus" not working.
fixed: setting borderless window, and switching to fullscreen, if using directdraw, the "window" can still move, and cause graphical glitches and crash.
fixed: GBC accurate initial WRAM values as left by bootrom (fixes the menu in baby felix - halloween).
fixed: a sprite on X = 0 uses more time in mode 3, too.
fixed: inconsistent timing if resetting in the debugger.
--1.3.1--
fixed: a DMG rom with GBC bootrom would show a white background instead of colorized palette.
fixed: header checksum suggestion showed only one hex digit.
fixed: menu->reset did not correctly reset emulation.
--1.3--
added direct3D and OpenGL output, giving accelerated graphics on windows vista/7.
greatly improved emulation accuracy based on lots of test roms/research, also fixing a number of remaining rom compatibility problems.
added VBA compatible RTC loading/saving (in the .sav file).
added support for the GBC bootrom.
fixed lots of bugs.
improved debugger functionality.
redone cheat searcher.
various performance improvements.
various gameplay experience related improvements.
--1.12 --
Fixed bug in graphics introduced in 1.1, affecting legend of zelda oracle of ages/seasons, and alfred chicken.
Added separate settings for DMG and GBC border bitmaps. various fixes.
--1.11--
fixed problem with saving color schemes.
show ram values in cheat searcher.
analog joystick can be used with mbc7. cpu registers can be changed in debugger.
various fixes.
--1.1--
rewritten graphics output to allow 24 bits accurate color reproduction.
added support for directdraw pageflipped fullscreen mode (can be faster on old pc's).
added support for loading the DMG bootrom (available elsewhere).
some emulation accuracy fixes. pop 'n music GB (all versions) now work.
added support for "POV hat" (fixed a possible cause for gamepads/joysticks d-pad to not work properly with BGB).
--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.
--BGB 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 address...
--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 and 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