Ultima: Exodus ROM Notes Compiled By: TheAlmightyGuru (www.thealmightyguru.com) Updated: 2007/06/06 ROM Offsets Graphics : This data can be viewed using a tile viewer. Text : Use the game's text lookup table to read/edit this. Empty : Basically a bunch of null values. Patterned : Patterned data (meaning it has a pattern when viewed through a tile viewer) is usually a data table, game map, or something along those lines. Unpatterned : Unpatterned data (looks like static noise in a tile viewer) is usually program data. Maps : Game map tables. Code : Contains NES code. 00000-0000F: NES Header 00010-03810: Maps: Town/Castle/Overworld 03810-04010: Graphics and possibly data/code Ship/Whirlpool 04010-0780F: Maps: Town/Castle/Overworld 07810-08010: Graphics and possibly data/code Ship/Whirlpool 08010-0B810: Maps: Dungeon 0B810-0C010: Empty w/some data 0C010-11310: Graphics data 11310-13810: Patterned Data 13810-14010: Graphics and possibly data/code Ship/Whirlpool 14010-15010: Code: Affects menu dialogue 15010-15B5F: Unpatterned 15B60-15D70: Partial End Game Credits (Probably unused) 15DA0-15DB0: Code: Dialogue text typing? 15DB1-17CB6: Unpatterned data possibly code/dialogue 17BC7-17C33: Partial Intro Credits (Probably unused) 17D0A-17E4F: Text: Monster/NPC List 17E50-18810: Graphics data 18810-18F3E: Unpatterned 18F3F-18FCA: Text: Introduction Credits 18FCB-19A2B: Unpatterned 19A2C-19E97: Text: End Game Credits 19E98-19F10: Patterned Data 19F10-1C010: Graphics: Gem Map Data 1C010-1F110: Graphics data 1F110-20010: Empty w/some data 20010-20810: Graphics also Unpatterned Data 20810-23910: Patterned 23910-24010: Empty w/some data 24010-24710: Graphics also Unpatterned Data 24710-27A10: Patterned Data 27A10-28010: Empty w/some data 28010-2B210: Graphic data 2B210-2C010: Empty w/some data 2C010-30010: Mix between patterned and unpatterned and graphics 30010-31B10: Code: Unpatterned data possibly code/dialogue (Menu code?) 31B10-3251F: Mix between patterned and unpatterned and graphics 32520-32644: Text: Stats, Races, Items, Cards Text 326D0-3275D: Text: Name Registry 3275E-327D4: Text: Party Creation Menu 327D5-32DAF: Text: Character Creation 32DB0-32ECF: Text: Lord British's Intro 32ED0-32F10: Mix between patterned and unpatterned and graphics 32F10-33610: Graphic data 33610-33B0F: Mix between patterned and unpatterned and graphics 33B10-33C06: List of weapons and armor names 33C07-35C66: Mix between patterned and unpatterned and graphics 35C67-35D6A: List of weapons and armor names 33D6B-35B18: Mix between patterned and unpatterned and graphics 35B19-35B67: List of items 35B68-36010: Mix between patterned and unpatterned and graphics 36010-36810: Patterned Data 36810-37410: Unpatterned data (Not text for first 2 towns) 37410-37643: Graphics and possibly data/code Ship/Whirlpool 37644-37926: Text: Dungeon Messages 37927-37E10: Graphics and possibly data/code Ship/Whirlpool 37E10-38810: Graphics data 38810-38F3E: Patterned 38F3F-38FCA: Text: Introduction Credits 38FCB-39A29: Patterned Data 39A2A-39F10: Text: End Game Credits 39F10-3BB3E: Gem Map Data w/ data in the middle (probably not used) 3BB3F-3BC34: Text: Introduction Credits 3BC35-3C010: Gem Map Data w/ data in the middle (probably not used) 3C010-3FA87: Unpatterned data 3FA88-3FA9F: Text: Dungeon info 3FAA0-40010: Unpatterned data Notes: The game dialogue is encoded somehow. Possibly using 6 or 7 bit encoding. I'm not sure where it is stored yet. Run-Time Memory Offsets 0009 - Controller 1 input 00F0-00FF - Music variables 0200-02FF - Sprite Variables 03F0-03FF - Enemy HP in combat (2 bytes) 0400-047F - Map NPCs (Not in combat) 1 - Character (See list) Add 80 to make the character stationary 2 - ? 3 - Map X Pos 4 - Map Y Pos 0580-05FF - Status Screen text 0700-07FF - Tiles on screen 6100-61FF - Player Stats (Mirror) 7200-72FF - Player Stats 00-04 - Name 05 - ? 06 - Class (See Type list) 07 - Strength 08 - Dexterity 09 - Intelligence 0A - Wisdom 0B - Status (0 - Good, 1 - Poison, 2 - Cold, 3 - Dead, 4 - Ash) 0C - Dagger 0D - Mace 0E - Sling 0F - Axe 10 - Blowgun 11 - Sword 12 - Spear 13 - Broad Axe 14 - Bow 15 - Iron Sword 16 - Gloves 17 - Halberd 18 - Silver Bow 19 - Sun Sword 1A - Mystic Weapon 1B - Cloth 1C - Leather 1D - Bronze 1E - Iron 1F - Steal 20 - Dragon 21 - Mystic Armor 22 - Torches 23 - Magic Keys 24 - Gems 25 - Sands 26 - Tents 27 - Gold Pick 28 - Silver Pick 29 - Silver Horn 2A - Compass Heart 2B-2C - Food 2D-2E - Hit Points 2F - Magic Points 30-31 - Gold 32 - ? 33 - Level 34 - ? 35 - ? 36-37 - Max Hit Points 38 - Max Magic Points 39-3A - Experience 3B - Marks (0000) Binary Flags 1 - Force, 2 - Fire, 3 - Kings, 4 - Snake 3C - Cards (0000) Binary Flags 1 - Death, 2 - Sol, 3 - Love, 4 - Moons 3D - Flower 3E - ? 3F - ? Classes 00 - Fighter 01 - Cleric 02 - Wizard 03 - Thief 04 - Paladin 05 - Barbarian 06 - Lark 07 - Illusionist 08 - Druid 09 - Alchemist 0A - Ranger 0B - Lord British (Buggy) 0C - Everything after this point is buggy. Map Character List 00 - Lord British 01 - Priest 02 - Guard 03 - Shop Keep Overalls (Blue) 04 - Shop Keep Overalls (Red) 05 - Ship 06 - Fat Shop Keep (Blue) 07 - Fat Shop Keep (Red) 08 - Fortune Teller 09 - Man 0A - Boy 0B - Jester (unused) 0C - Woman 0D - Girl 0E - Dishonest Guard 0F - Old Woman 10 - Old Man 11 - Bar Keep (Male) 12 - Bar Keep (Female) 13 - Horse 14 - Doctor 15 - Monster (Weak) 16 - Monster (Giants) 17 - Monster (Demons) 18 - Monster (Sea Serpent) 19 - Monster (Insects) 1A - Monster (Dragons) 1B - Monster (Man-O-War) 1C - Monater (Pirates) 1D - Sherry 1E - Whirl pool 1F - Unknown