HSC Layout
From 8BitDev.org - Atari 7800 Development Wiki
Atari 7800 HSC NVRAM Layout
| 1000 | 00 | 00 | 68 | 83 | aa | 55 | 9c | 00 | 00 | 01 | 03 | 1f | 00 | 00 | 00 | 00 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1010 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 |
| 1020 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 03 | ff | ff | ff | ff | ff | ff | ff |
| 1030 | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff |
| 1040 | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff |
| 1050 | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff |
| 1060 | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | 23 | 8a | ff | ff |
| 1070 | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff |
| 1080 | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff |
| 1090 | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff |
| 10a0 | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff |
| 10b0 | ff | 23 | 0f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f |
| 10c0 | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f |
| 10d0 | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f |
| 10e0 | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f |
| 10f0 | 7f | 7f | 7f | 7f | 7f | 7f | 04 | 04 | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f |
| 1100 | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f |
| 1110 | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f |
| 1120 | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f |
| 1130 | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 7f | 01 | 02 | ff | ff | ff |
| 1140 | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff |
| 1150 | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff |
| ..... | .. | .. | .. | .. | .. | .. | .. | .. | .. | .. | .. | .. | .. | .. | .. | .. |
| 1780 | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff |
| 1790 | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff |
| 17a0 | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff |
| 17b0 | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff | ff |
| 17c0 | ff | ff | ff | ff | ff | ff | ff | ff | 00 | 43 | 34 | 08 | 00 | da | 9a | 00 |
| 17d0 | 00 | 00 | da | 9a | 00 | 00 | 00 | da | 9a | 00 | 00 | 00 | da | 9a | 00 | 00 |
| 17e0 | 00 | 00 | 43 | 75 | 00 | 00 | da | 9a | 00 | 00 | 00 | da | 9a | 00 | 00 | 00 |
| 17f0 | da | 9a | 00 | 00 | 00 | da | 9a | 00 | 00 | 00 | da | 9a | 00 | 00 | 00 | ff |
| color | purpose | size |
|---|---|---|
| backup for zp94 and zp95 | 2 bytes | |
| cart magic number | 5 bytes | |
| current function ID | 1 byte | |
| cart owner name | 32 bytes | |
| cart owner name length | 1 byte | |
| game ID table, byte 1 | 69 bytes | |
| game ID table, byte 2 | 69 bytes | |
| game difficulty level table | 69 bytes | |
| game index table | 69 bytes | |
| game save entries table | 25 x 69 bytes | |
| temp score entry | 5 bytes | |
| unused | 1 byte |
Notes:
- The above pictured data is for 2 games: Xevious (ID: $2323) and FoodFight (ID:$8A0F), each with a single difficulty=4 save.
- If any of the magic numbers are wrong, the HSC is assumed to be corrupted and will be reformatted the next time an official HSC game is played.
- All tables have 69 entries, and are populated from back to front.
- If you wish to make your own save on an initialized HSC without using the HSC routines, you need to make a new entry in the 2 game ID tables, the difficulty table, and the index table. The game index table entries should be rewritten to all be consecutive.
- The 3 high score initials are encoded with 5 bits each, consolidated into 2 bytes, in the form 22211111 22-33333