BGB is a freeware, closed-source Game Boy/Game Boy Color emulator developed by beware. It is one of the recommended and first Game Boy/Color emulators, owing to its excellent Game Boy and Game Boy Color accuracy, along with its great link support. It also has a wealth of options for color palettes and even enabling Super Game Boy colors and borders, though it doesn't emulate all of its functions. It comes with a built-in debugger that resembles No$GMB's debugger, with slightly more features.
There is currently no official support for macOS, Linux, or BSD. Therefore, it is recommended to use Wine if there is a need to run BGB on a non-Windows system.
Downloads[edit]
Features[edit]
- Emulates the Game Boy, Game Boy Color, and the Super Game Boy
- Accurate emulation of the hardware, based on research with a lot of test ROMs, useful for debugging or ROM development. Here are some highlights:
- High-accurate timing for the LCD behavior/state changes
- Realistic initial RAM values - random but with specific bit patterns, and simulated values left by bootroms (for example 'nibbler (pd)' depends on this)
- Accurate emulation of the LCD register writes during scanline (prehistoric man, demotronic demo)
- Emulation of inaccessible VRAM and OAM, as similar to real hardware
- High-accurate emulation of sprites, which causes mode 3 to take longer periods to render
- Correct memory access timing (memory accesses happening at the last second to the last clock of an opcode)
- Accurate emulation for the differences between a DMG and a GBC, including timing differences, and differences in hardware behavior, initial state, etc
- Optionally emulates how an actual DMG would run a GBC ROM, and how an actual GBC would run a DMG ROM
- Powerful debugger:
- Disassembler with selectable syntaxes from No$GMB, rgbds, and wla
- Assembler - modify code and the ability to save it as a modified ROM
- Symbols - .sym file support
- 'Inline' editing in code, data, and stack viewer
- Breakpoints
- Break on access
- Conditional breakpoints
- 'on jump' access breakpoints for breaking before a jump into a range is taken
- Source code breakpoints - ld, b, and b
- Debug messages - ld, d, and d
- Singlestepping/tracing/animating/step out/step over
- VRAM viewer - background map, tiles, OAM, and palette
- IO registers viewer
- Real-time display of data during emulation and freezing of RAM values
- Break on exceptions - accessing inaccessible VRAM, read uninitialized RAM, echo RAM access, access locked external RAM, disable LCD outside vblank
- Ability to modify all registers and state at any given time
- Joypad window - allows simulating button presses at any given time while debugging
- SGB multiplayer - up to 4 gamepads
- Graphics output - GDI or DirectDraw or Direct3D or OpenGL or null output
- Graphics doubler - HQ2X or Scale2x or scanlines filter or blocky
- Sound output - waveout or DirectSound or null or disk writer. Supports writing the 4 channels to separate .wav files
- .avi recording with installed codec of choice that is synchronized with a recorded .wav file, and then can be combined into a single video afterward
- Runs almost every ROM in existence perfectly, and the compatibility is comparable with the best GB/C emulators
- Accurate and high-quality sound emulation, bandlimited synthesis
- Accurate video emulation including 'high color' graphics, correct sprite, and background priorities, 10 sprites per line limit, and mid-scanline register changes
- Joystick and gamepad support - any key can be mapped to any joystick or gamepad button
- Some user interface keys are configurable and can be mapped to a joystick/gamepad button(s)
- MBC3 Real-time clock emulation - the real-time clock data is saved or loaded in the .sav file, also compatible with VisualBoyAdvance
- Auto delay/frameskip - emulation runs at real Game Boy/Color speeds at 60 FPS
- GameGenie and GameShark cheat support - load or save cheats (auto and manual), a 'cheat searcher', and the ability to create cheat codes
- Save/load state with quick (ZSNES style, and mappable) keys
- Forward and backward compatibility of .sav files and save states, this is to ensure that your saved progress is not lost. BGB can also load all save files from previous versions
- Load ROMs from .7z and .zip archives
- Support for an optional border bitmap image, with fake or real fullscreen modes
- Game link cable support through TCP/IP
External links[edit]