Ultima V Save Game Format

Provided by Sam Glasby

General Information

  • Filename: saved.gam
  • Size: 4192 bytes, fixed format

  • Character Record Format

    32 bytes, offsets 0x00 - 0x1F

    Offset Length Name and Description Range of Values Normal/Cheat
    0x00 9 bytes Character Name NULL terminated string, length 8+1
    0x09 byte Gender 0x0B=Male, 0x0C=Female
    0x0A byte Class 'A'vatar, 'B'ard, 'F'ighter, 'M'age
    0x0B byte Status 'G'ood, ...
    0x0C byte Strength 01-50 / 01-99
    0x0D byte Dexterity
    0x0E byte Intelligence
    0x0F byte Current MagicPoints 0-50 / 0-255
    0x10 word Current HP 01-240 / 01-999
    0x12 word Maximum HP 01-240 / 01-999
    0x14 word Experience Points 0-9999
    0x16 byte Level 01-08
    0x17 byte Unknown 0xff
    0x18 byte Unknown 0x07
    0x19 byte Equipment 1 0x00-0x2F, 0xFF

    0x00=Leather Helm

    0x1A byte Equipment 2
    0x1B byte Equipment 3
    0x1C byte Equipment 4
    0x1D byte Equipment 5
    0x1E byte Equipment 6
    0x1F byte Unknown 0xFF (related to being in party?)

    Other Data Format

    548 bytes, offsets 0x0200-0x105F

    Offset Length Name and Description Range of Values
    0x0000 byte unknown (unused?) 0x00
    0x0001 byte unknown (unused?) 0x00
    Character Records 1-16:
    0x0002 32 bytes 1) (Avatar) See Character Record Format
    0x0022 32 bytes 2) Shamino
    0x0042 32 bytes 3) Iolo
    0x0062 32 bytes 4) Mariah
    0x0082 32 bytes 5) Geoffrey
    0x00A2 32 bytes 6) Jaana
    0x00C2 32 bytes 7) Julia
    0x00E2 32 bytes 8) Dupre
    0x0102 32 bytes 9) Katrina
    0x0122 32 bytes 10) Sentri
    0x0142 32 bytes 11) Gwenno
    0x0162 32 bytes 12) Johne
    0x0182 32 bytes 13) Gorn
    0x01A2 32 bytes 14) Maxwell
    0x01C2 32 bytes 15) Toshi
    0x01E2 32 bytes 16) Saduj
    0x0202 word Food 0-9999 / 0-32767 ?
    0x0204 word Gold 0-9999 / 0-32767 ?
    0x0206 byte #Keys 0-99
    0x0207 byte #Gems 0-99
    0x0208 byte #Torches 0-99
    0x0209 byte Grapple? 00,FF
    0x020A byte #Magic Carpets 0-99
    0x020B byte #Skull Keys 0-99
    0x020C byte unknown 00
    0x020D byte Amulet of Lord British 00,FF
    0x020E byte Crown of Lord British 00,FF
    0x020F byte Sceptre of Lord British 00,FF
    0x0210 byte Shard of Falsehood 00,FF
    0x0211 byte Shard of Hatred 00,FF
    0x0212 byte Shard of Cowardice 00,FF
    0x0213 byte unknown 00
    0x0214 byte #Spy Glass 0-99
    0x0215 byte HMS Cape Plans 00,FF
    0x0216 byte #Sextant 0-99
    0x0217 byte Pocket Watch 00,FF
    0x0218 byte Black Badge 00,FF
    0x0219 byte Sandalwood Box 00,FF
    Equipment (Quantity owned by the party)
    0x021A byte Leather Helm 0-99
    0x021B byte Chain Coif
    0x021C byte Iron Helm
    0x021D byte Spiked Helm
    0x021E byte Small Shield 0-99
    0x021F byte Large Shield
    0x0220 byte Spiked Shield
    0x0221 byte Magic Shield
    0x0222 byte Jeweled Shield
    0x0223 byte Cloth 0-99
    0x0224 byte Leather
    0x0225 byte Ring Mail
    0x0226 byte Scale
    0x0227 byte Chain
    0x0228 byte Plate
    0x0229 byte Mystic Armor
    0x022A byte Dagger 0-99
    0x022B byte Sling
    0x022C byte Club
    0x022D byte Flaming Oil
    0x022E byte Main Gauche
    0x022F byte Spear
    0x0230 byte Throwing Axe
    0x0231 byte Short Sword
    0x0232 byte Mace
    0x0233 byte Morning Star
    0x0234 byte Bow
    0x0235 byte Arrows
    0x0236 byte Crossbow
    0x0237 byte Quarrels
    0x0238 byte Long Sword
    0x0239 byte 2H Hammer
    0x023A byte 2H Axe
    0x023B byte 2H Sword
    0x023C byte Halberd
    0x023D byte Chaos Sword
    0x023E byte Magic Bow
    0x023F byte Silver Sword
    0x0240 byte Magic Axe
    0x0241 byte Glass Sword
    0x0242 byte Jeweled Sword
    0x0243 byte Mystic Sword
    0x0244 byte Invisibility Ring 0-99
    0x0245 byte Protection Ring
    0x0246 byte Regeneration Ring
    0x0247 byte Amulet of Turning 0-99
    0x0248 byte Spiked Collar
    0x0249 byte Ankh
    Spell Mixtures:
    0x024A byte In Lor 0-99
    0x024B byte Grav Por
    0x024C byte An Zu
    0x024D byte An Nox
    0x024E byte Mani
    0x024F byte An Ylem
    0x0250 byte An Sanct
    0x0251 byte An Xen Corp
    0x0252 byte Rel Hur
    0x0253 byte In Wis
    0x0254 byte Kal Xen
    0x0255 byte In Xen Mani
    0x0256 byte Vas Lor
    0x0257 byte Vas Flam
    0x0258 byte In Flam Grav
    0x0259 byte In Nox Grav
    0x025A byte In Zu Grav
    0x025B byte In Por
    0x025C byte An Grav
    0x025D byte In Sanct
    0x025E byte In Sanct Grav
    0x025F byte Uus Por
    0x0260 byte Des Por
    0x0261 byte Wis Quas
    0x0262 byte In Bet Xen
    0x0263 byte An Ex Por
    0x0264 byte In Ex Por
    0x0265 byte Vas Mani
    0x0266 byte In Zu
    0x0267 byte Rel Tym
    0x0268 byte In Vas Por Ylem
    0x0269 byte Quas An Wis
    0x026A byte In An
    0x026B byte Wis An Ylem
    0x026C byte An Xen Ex
    0x026D byte Rel Xen Bet
    0x026E byte Sanct Lor
    0x026F byte Xen Corp
    0x0270 byte In Quas Xen
    0x0271 byte In Quas Wis
    0x0272 byte In Nox Hur
    0x0273 byte In Quas Corp
    0x0274 byte In Mani Corp
    0x0275 byte Kal Xen Corp
    0x0276 byte In Vas Grav Corp
    0x0277 byte In Flam Hur
    0x0278 byte Vas Rel Por
    0x0279 byte An Tym
    0x027A byte Vas Lor 0-99
    0x027B byte Rel Hur
    0x027C byte In Sanct
    0x027D byte In An
    0x027E byte In Quas Wis
    0x027F byte Kal Xen Corp
    0x0280 byte In Mani Corp
    0x0281 byte An Tym
    0x0282 byte Blue 0-99
    0x0283 byte Yellow
    0x0284 byte Red
    0x0285 byte Green
    0x0286 byte Orange
    0x0287 byte Purple
    0x0288 byte Black
    0x0289 byte White
    0x028A 32 bytes unknown ?
    0x02AA byte A)Sulfur Ash 0-99
    0x02AB byte B)Ginseng
    0x02AC byte C)Garlic
    0x02AD byte D)Spider Silk
    0x02AE byte E)Blood Moss
    0x02AF byte F)Black Pearl
    0x02B0 byte G)Nightshade
    0x02B1 byte H)Mandrake Root
    0x02B2 byte unknown ?
    0x02B3 byte unknown ?
    0x02B4 byte unknown ?
    0x02B5 byte #Characters in party

    Always the first N consecutive characters. Swapping party order changes the order with which they are stored on disk.

    0x02B6 44 bytes unknown ?
    0x02E2 byte Karma 0-255
    0x02E3 3455 bytes unknown ?

    Thanks to Philippe Jean for additional information!

    Please send e-mail to Sam Glasby or Martin Brenner if you have information about the fields marked as "unknown".

    Back to the Ultima Page

    Updated 19-Feb-97 deep@nightfall.org (Martin Brenner) .