HSC Layout

From 8BitDev.org - Atari 7800 Development Wiki
Jump to: navigation, search

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