/bios-dump

GBA BIOS Dumping Tool

Primary LanguageCMIT LicenseMIT

GBA BIOS Dumping Tool

This utility dumps the GBA BIOS by jumping directly into the CpuFastSet
routine in the BIOS, bypassing the region check, and then copying the BIOS
into a flashcart's SRAM.

For demonstration purposes a black-box approach is also included that works
without knowledge of where the CpuFastSet routine is in memory. However,
due to timing concerns it doesn't always dump properly the first time it
tries and runs the checksum to try again if needed.

The expected output is a 16kiB file, with different checksums based on device.
Below are the CPU models and checksums of the expected output, using both the
BIOS's builtin checksumming method, and SHA-256.

Model #  Product Name     CPU Type     Checksum  SHA-256
AGB-001  GBA              CPU AGB A    BAAE187F  fd2547724b505f487e6dcb29ec2ecff3af35a841a77ab2e85fd87350abd36570
AGS-001  GBA SP           CPU AGB B E  BAAE187F  fd2547724b505f487e6dcb29ec2ecff3af35a841a77ab2e85fd87350abd36570
AGS-101  GBA SP (Rev.)    CPU AGB B E  BAAE187F  fd2547724b505f487e6dcb29ec2ecff3af35a841a77ab2e85fd87350abd36570
OXY-001  GBA Micro        CPU AGB E    BAAE187F  fd2547724b505f487e6dcb29ec2ecff3af35a841a77ab2e85fd87350abd36570
DOL-017  Game Boy Player  CPU AGB A    BAAE187F  fd2547724b505f487e6dcb29ec2ecff3af35a841a77ab2e85fd87350abd36570
NTR-001  DS               CPU NTR      BAAE1880  782eb3894237ec6aa411b78ffee19078bacf10413856d33cda10b44fd9c2856b
USG-001  DS Lite          CPU NTR B    BAAE1880  782eb3894237ec6aa411b78ffee19078bacf10413856d33cda10b44fd9c2856b
CTR-001  3DS              CPU CTR      BAAE1880  782eb3894237ec6aa411b78ffee19078bacf10413856d33cda10b44fd9c2856b
SPR-001  3DS XL           CPU CTR A    BAAE1880  782eb3894237ec6aa411b78ffee19078bacf10413856d33cda10b44fd9c2856b
FTR-001  2DS              CPU CTR B    BAAE1880  782eb3894237ec6aa411b78ffee19078bacf10413856d33cda10b44fd9c2856b
KTR-001  New 3DS          CPU LGR A    BAAE1880  782eb3894237ec6aa411b78ffee19078bacf10413856d33cda10b44fd9c2856b
RED-001  New 3DS XL       CPU LGR A    BAAE1880  782eb3894237ec6aa411b78ffee19078bacf10413856d33cda10b44fd9c2856b
JAN-001  2DS XL           CPU LGR A    BAAE1880  782eb3894237ec6aa411b78ffee19078bacf10413856d33cda10b44fd9c2856b