BGB is a Gameboy emulator that features:
• emulation of the GameBoy, GameBoy Color, and Super Gameboy
• accurate emulation of the hardware, based on research with lots of test roms, useful for debugging/rom development. some highlights:
o clock exact timing of LCD behavior/state changes
o realistic initial ram values - random but with specific bit patterns, and simulated values left by bootroms (for example "nibbler (pd)" depends on this)
o accurate emulation of LCD register writes during scanline (prehistorik man, demotronic demo)
o emulation of inaccessible VRAM and OAM as on real hardware
o 10 sprites per line limit
o clock exact emulation of sprites causing mode 3 to take longer
o correct memory access timing (access happening at the last/second to last clock of an opcode)
o accurate emulation of the differences between DMG and GBC, including timing differences, differences in hardware behavior, initial state, etc.
o can run a GBC rom as on a DMG, and a DMG rom as on a GBC
• powerful debugger:
o assembler (change code and ability to save modified rom)
o break on access
o conditional breakpoints
o singlestepping/tracing/animating/step out/step over
o vram viewer: BG map, tiles, OAM, palette.
o IO registers viewer
o break on exceptions (accessing inaccessible VRAM, read unitialized RAM, echo ram access, access locked external ram, disable lcd outside vblank)
o ability to modify all registers and state at any time
o joypad window allows simulating button presses at any time while debugging
• SGB multiplayer with up to 4 gamepads
• graphics output: GDI (DIB), DirectDraw, Direct3D, OpenGL, null output
• sound output: waveout, directsound and disk writer supported. support for writing the 4 channels to separate wav files
• runs almost all roms perfectly, compatibility comparable with the best GB/C emulators
• Accurate/high quality sound emulation, bandlimited rectangular wave synthesis for perfectly smooth sound
• accurate video emulation including "high color" graphics, correct sprite/background priorities, 10 sprites/line limit, and mid-scanline register changes.
• This emulator is fast.
• Joystick/Gamepad support, everything mappable to every button
• some user interface keys are configurable and can be mapped to joystick/gamepad buttons
• MBC3 Real Time Clock emulation. RTC is saved/loaded in the .sav file, compatible with VBA
• support for the gameboy camera rom
• Auto delay/frameskip, emulation runs at 100% real speed and full 60 fps
• GameGenie and GameShark cheat, load/save cheats (auto and manual), "cheat searcher", easy creation of new cheat codes
• save/load state with quick (zsnes style) keys.
• Load from ZIP and GZIP files
• This program does not require DirectX or runtime libraries.
• support for optional border bitmap and pseudo and real fullscreen modes.
• limited TCP/IP game link support