Here is the roster file decoded as far as I came yet. Anyone can fill in the missing things, marked by ????
Code: Select all
Roster entries
each entry is 128 bytes, two files are used, NM00 and NM01, each
file can carry 16 entries
--------------------------------------------------------------
1) parties
--------------------------------------------------------------
Byte Value Meaning
--------------------------------------------------------------
00 AA is a party
01 - 0e BT Text name of party
0f FF sorta end marker
10 - 1f BT txt & FF Name of char 1 in party
20 - 2f BT txt & FF Name of char 2 in party
30 - 3f BT txt & FF Name of char 3 in party
40 - 4f BT txt & FF Name of char 4 in party
50 - 5f BT txt & FF Name of char 5 in party
60 - 6f BT txt & FF Name of char 6 in party
70 - 7f 00 unused
--------------------------------------------------------------
2) characters
--------------------------------------------------------------
Byte Value Meaning
--------------------------------------------------------------
00 - 0f BT txt & FF character's name, padded by ff's
10 - 13 bit packed char values:
0000-0|000 00|0|0-0000| 0000-0|000 00|0|0-0000
ST IQ ? DX CN LK ? ?-????
14 - 1f bytes Experience, every byte represents one decimal
digit: 01 02 03 04 05 06 06 05 04 03 02 01 ==>
123,456,654,321 experience points
20 - 21 hi, lo byte natural level
22 - 23 hi, lo byte current level, like being dropped by monsters
24 - 2f like XP gold, same coding as XP
30 - 31 hi, lo byte max HP
32 - 33 hi, lo byte cur HP, condition
34 - 35 hi, lo byte max SP
36 - 37 hi, lo byte cur SP
38 byte class: 0 Warrior 5 Rogue
1 Wizard 6 Bard
2 Sorcerer 7 Paladin
3 Conjurer 8 Hunter
4 Magician 9 Monk
39 byte race: 0 Human 4 Half-Elf
1 Elf 5 Half-Orc
2 Dwarf 6 Gnome
3 Hobbit
3a - 3c ???? ????
3d byte ???? seems to be set
3e byte status: 0:ok, 1:pois, 2:old, 3:dead, 4:ston, 5:para, 6:poss, 7:nuts
3f byte natural armor class
40 - 43 byte level of magic classes, Sorcerer, Conjurer, Magician, Wizard
44 - 46 byte rogue values: HIDE, DETECT TRAP, DISARM TRAP, sequence????
47 - 48 ???? ????
49 remaining Bard songs before he needs a drink
4a - 4f ???? ????
50 - 5f byte pairs equipment
1. byte: 0 = unequpd, 1 = eqp, 2 = unusable, 3 = unknown
2. byte: item no
60 - 7e ???? ????
7f byte [i]EDIT: acc to Apple sources, see post below, a checksum. On C64 likely not used[/i]