mGBA Forums

Full Version: Game Boy Advance Documentation
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Master post of all GBA documentation: GBATEK Errata:
  • BLDALPHA is readable (but BLDY is not)
  • Sprite semitransparency overrides brighten/darken modes in BLDCNT—but only if the sprite blends, i.e. has a target 2 beneath. This is mentioned in GBATEK but is not made clear. Affects Golden Sun fights.
  • WIN wrapping is not described properly. Affects Pokémon Ruby/Sapphire/Emerald battle intros in caves. TODO: write docs on how
  • Audio registers all either read out 0s or disallows writes when SNDCNT_X has the audio circuit disabled TODO: determine which
  • JOY register descriptions are sometimes backwards with respect to RECV and SEND. TODO: Needs clarification
  • Game Boy Player rumble documentation doesn't work with Pokémon Pinball Ruby/Sapphire, which uses variable speed (PWM) rumble. TODO: Needs investigation
  • GamePak "variable strength" rumble in Drill Dozer is just PWM.
  • BLDCNT, BLDALPHA and BLDY are not latched during scanlines and can be updated at any point during rendering.

  • DMA source and dest registers cannot have invalid addresses written to them; the write will fail and the old value sticks TODO: determine valid ranges
  • DMA3 from SRAM to ROM (and possibly visa versa) causes the GBA to hardlock
  • DMA1 and 2 can read SRAM and ROM TODO: Can it write ROM?
  • DMA0 reads back (mostly?) zeroes from SRAM TODO: How much of this is my flashcart?
  • TODO: remember/find out more