which.gb

From GameBrew
which.gb
Whichgb.png
General
AuthorMatt Currie
TypeTest Roms
Version0.4
LicenseMIT License
SystemCGB, DMG
Last Updated2022/02/07
Links
Download
Website
Source

which.gb is a little Game Boy ROM which tries to determine which model/revision your device is.

It makes use of register values at boot, "extra OAM" differences, PPU quirks, APU quirks, and OAM DMA bus conflicts that differ between device revisions.

User guide

It might not be perfect. Currently it cannot discern between all SoC revisions. Devices will be reported as one of the following:

  • DMG-CPU
  • DMG-CPU A/B/C
  • CPU MGB
  • SGB-CPU 01
  • CPU SGB2
  • CPU CGB
  • CPU CGB A
  • CPU CGB B
  • CPU CGB C
  • CPU CGB D
  • CPU CGB E
  • CPU AGB 0/A/A E
  • CPU AGB B/B E

Screenshots

whichgb.pngwhichgb2.png

Changelog

v0.4

  • Use an OAM DMA bus conflict to discern between devices with CPU CGB A and CPU CGB B revision SOCs. Thanks to LIJI32 for discovering this.

v0.3

  • Use VRAM reads at the transition from PPU mode 3 to mode 0 discern between devices with CPU AGB 0/A/A E (AGB and GB Player) and CPU AGB B/B E (AGS) revisions.

v0.2.2

  • Discern between CPU CGB 0/A/B/C, CPU CGB D, and CPU CGB E revisions using more simple "extra OAM" test.

v0.2.1

  • Fix for some "CPU CGB" devices incorrectly reporting as "CPU CGB A/B".

v0.2

  • Add support for discerning between CPU CGB A/B and C revisions.

Credits

  • Thanks to Lior Halphon (LIJI32) for his research and SameSuite test ROMs.
  • Thanks to authors of Gameboy sound hardware on the Gameboy Development Wiki.
  • Thanks to Joonas Javanainen (gekkio) for his mooneye-gb test ROMs which document the register values at boot.
  • Written by Matt Currie.

External links

Advertising: