gameboy-rust/docs/references.md
0xrsydn b16588aa4c docs(research): identify firmware exit layout as BIOS readback mismatch
Compare the current trace with GBATEK, the pinned public test, Smolka firmware analysis, and mGBA software BIOS behavior. Distinguish generic image-derived protection from replacement firmware compatibility. Plan guarded PC+8 compatibility data in the generated BIOS instead of test-specific bus overrides.
2026-10-06 00:31:28 +07:00

14 KiB

References

External sources consulted while implementing the emulator. Add new sources here, or in a "References" section of the matching docs/hardware/ file when a link explains one specific behavior.

Hardware references used for the core:

BIOS protected-read root-cause research:

  • Smolka Progress Report #6, for firmware-dependent protected reads and the Ruby/Sapphire null-pointer case; the report distinguishes Emerald.
  • mGBA: Cracking the GBA BIOS, for BIOS access protection and replacement-versus-external firmware approaches.
  • Cult-of-GBA BIOS, reviewed for original boot, SWI, and IRQ exit layout and its MIT license. No source or binary was copied.
  • mGBA BIOS implementation, for the explicit post-SWI biosPrefetch compatibility value.
  • no$gba BIOS FAQ, for the distinction between simulated firmware services and using a firmware image.

See the root-cause analysis and implementation decision.

Use GBATEK and ARM7TDMI documentation for further hardware work. Only use game ROMs that you may lawfully use. Do not commit game ROMs, BIOS files, or game assets. The ignore file excludes roms/, common game ROM extensions, and save files.