Table 1: Key Offsets in URDATA.BIN (relative to file start)
| Offset (hex) | Size (bytes) | Purpose | Example value (100%) |
|--------------|--------------|---------|----------------------|
| 0x0C | 1 | Story chapter progress | 0x0A (10 chapters) |
| 0x14–0x17 | 4 | Bitmask: playable characters (0=locked, 1=unlocked) | 0xFFFFF7FF |
| 0x1C | 1 | Arena high score (tens place) | 0x63 (99) |
| 0x20–0x2F | 16 | Unknown (possibly CPU ally stats) | – |
| 0x30–0x31 | 2 | Checksum (CRC-16/IBM) | 0x4A2D | urban reign save data
Checksum algorithm:
crc = 0xFFFF; for (i=0; i<0x30; i++) crc ^= (data[i] << 8); for (i=0; i<0x30; i++) crc = (crc << 1) ^ ( (crc & 0x8000) ? 0x1021 : 0 );
Modifying any byte before offset 0x30 requires recalculating and writing the new CRC at 0x30–0x31. Table 1: Key Offsets in URDATA
Transferring Urban Reign save data is not as simple as drag-and-drop on original hardware. Here are the three most common methods. Corrupted save file:
Save Data Structures and Progression Encoding in Urban Reign (PS2): A Reverse Engineering Case Study
Save data hacking enables game preservation, tool-assisted speedruns, and quality-of-life mods. Urban Reign lacks a PC release, making memory card analysis the only path to save editing. Prior work (e.g., GameFAQs user “pestilence,” 2006) noted simple checksums but no full map. This paper provides the first documented structure.