Detecting Gameboy Advance?

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Detecting Gameboy Advance?
by on (#44126)
Any idea how the Zelda Oracle games know if they're running on GBA? A GBA game can detect NDS by using the bios checksum software interrupt, but the Gameboy/GBC doesn't have software interrupts. Maybe they added a new IO area to the GBC hardware inside the GBA just for that purpose.

by on (#44128)
They check if bit 0 of register B is set on startup. If it is, then it's on GBA.

by on (#44129)
They also "brighten" the screen colors, making everything faded and white, and horrible looking on a GBA-SP, in order to compensate for the original GBA's terrible screen.