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`, stores an XOR delta in 64 KB blocks, and checks the file size plus a CRC16 of every block it touches. 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. Only the N64 variant can be created here, and it only fills in that identification when the source file is a big-endian .z64 ROM.
| APS (N64) | APS (GBA) | |
|---|---|---|
| Magic bytes | APS10 | APS1 |
| Identifies the ROM | Cartridge ID, country code, ROM CRC | File size and a CRC16 per 64 KB block |
| 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 two-character cartridge ID and the country code found at offset 0x3C of an N64 ROM, together with the eight-byte check code at offset 0x10 that the console itself verifies before booting. If those do not line up with your file, the patch is meant for a different release, and this site will not apply it. The GBA variant runs its own check on the file size and a CRC16 of every 64 KB block it touches, and is refused the same way. An APS10 patch built from a file that is not a big-endian N64 ROM has nothing recorded in those header fields, so there is nothing for it to check.
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.