Note on numbering: the v0.1-v1.0 numbers in docs/STATUS.md are feature
milestones and are a separate axis from release tags. By those, GB/GBC
identification and dumping (v0.3, v0.4) and GBA identification and
dumping (v0.1, v0.2) are verified on hardware. This is the first
release of this repository, hence 0.1.0.
What is verified, on real cartridges:
GB/GBC dumping seventeen cartridges, 32 KB to 1 MB, ROM-only, MBC1
and MBC5. Every image passes its own logo, header
checksum, global checksum and size byte.
GBA dumping two cartridges, 8 MB and 16 MB. Sizes measured from
open bus, not read from a header, because a GBA
header does not carry one.
Externally three images match published records: Link's
Awakening DX, Golden Sun, and Minish Cap, the last
agreeing on CRC32 and header checksum independently.
Why alpha, specifically:
- Both GBA dumps are single attempts. An external match proves that
image is right, not that the next one will be.
- MBC2, MBC3 and MBC1 above 512 KB are simulation only.
- Nothing reads a file back from the card, so a fault between the core
and the SD write is invisible to every check here.
- Two dumps were corrupt for a day while passing every check that
existed. The cause was found to be the dumper, not the cartridges,
and was never fully identified. docs/HANDOFF.md item 1.
- Saves, restore and RTC are not started.
This core writes to cartridges only to switch mapper banks, which is how
a Game Boy cartridge is banked. It never writes to GBA ROM space and
never writes to cartridge RAM.