APS patch files
APS is really two unrelated patch formats that share the .aps extension. The N64 variant begins with `APS10` and records the cartridge ID, country code and ROM checksum so it can confirm you have the right dump. The GBA variant begins with `APS1` and is a simpler delta format. Both apply the same way.
- Extension
- .aps
- Identifier bytes
- APS10 (N64) or APS1 (GBA)
- Verifies your ROM
- Yes
- Can change ROM size
- Yes
- Create on this site
- Yes
- Common on
- Nintendo 64, Game Boy Advance
Limitations
- Two unrelated formats share the .aps extension, which causes confusion.
Why are there two APS formats?
The name was reused. The N64 flavour came out of the Nintendo 64 translation scene and encodes N64-specific identification in its header. The GBA flavour appeared later in Game Boy Advance tooling with no relation to the first.
| APS (N64) | APS (GBA) | |
|---|---|---|
| Magic bytes | APS10 | APS1 |
| Identifies the ROM | Cartridge ID, country code, ROM CRC | File size check |
| Can resize the ROM | Yes | Yes |
| Typical use | N64 fan translations | GBA hacks |
You do not need to work out which one you have. The patcher reads the magic bytes and picks the right parser.
What the N64 variant checks
An APS10 patch stores the cartridge ID found at offset 0x3C of an N64 ROM together with the country code and the ROM’s internal CRC from offset 0x10. If those do not line up with your file, the patch is meant for a different release.
Frequently asked questions
How do I know which APS format my patch uses?
You do not need to. The patcher inspects the first bytes of the file and selects the correct parser automatically. APS10 means the N64 variant, APS1 means the GBA variant.
My APS patch says the ROM does not match. What now?
For N64 patches this is usually byte order. Convert your ROM to .z64 big-endian format and try again. It can also mean you have a different region or revision of the game.