Ultima: Quest of the Avatar

From NES Hacker Wiki
Jump to: navigation, search

Ultima: Quest of the Avatar is the NES port of the computer game Ultima IV: Quest of the Avatar. It is a traditional 4-person party fantasy RPG. You fight enemies to collect gold, buy better weapons and armor, and enter 3-D dungeons. However, unlike regular RPGs, there isn't a final villain to face. Instead, you try to become the embodiment of the eight virtues by doing good deeds throughout Britannia.

Easy Cheats

See the guide on Easy Cheats to find out how to use these.

6871 - FF - Infinite HP: Mariah (Mage)
6873 - FF - Infinite HP: Iolo (Bard)
6875 - FF - Infinite HP: Geoff (Fighter)
6877 - FF - Infinite HP: Jaana (Druid)
6879 - FF - Infinite HP: Julius (Tinker)
687B - FF - Infinite HP: Dupre (Paladin)
687D - FF - Infinite HP: Shamino (Ranger)
687F - FF - Infinite HP: Katrina (Shepherd)

6891 - 63 - Infinite MP: Mariah
6892 - 63 - Infinite MP: Iolo
6893 - 63 - Infinite MP: Geoff
6894 - 63 - Infinite MP: Jaana
6895 - 63 - Infinite MP: Julius
6896 - 63 - Infinite MP: Dupre
6897 - 63 - Infinite MP: Shamino
6898 - 63 - Infinite MP: Katrina

6828 - 25 - Infinite Gold

682B - 01 - Have Key

6819 - FF - Have All Stones
681A - FF - Have All Runes

00D9 - 00 - No Random Encounters

681B - FF - Full Spells (1/4)
681C - 7F - Full Spells (2/4)
681D - F7 - Full Spells (3/4)
681E - 0B - Full Spells (4/4)

681F - 63 - Infinite Ash
6820 - 63 - Infinite Ginseng
6821 - 63 - Infinite Garlic
6822 - 63 - Infinite Silkweb
6823 - 63 - Infinite Moss
6824 - 63 - Infinite Pearl
6825 - 63 - Infinite Fungus
6826 - 63 - Infinite Manroot

680C - 64 - Avatarship In Honesty
680D - 64 - Avatarship In Compassion
680E - 64 - Avatarship In Valor
680F - 64 - Avatarship In Justice
6810 - 64 - Avatarship In Sacrifice
6811 - 64 - Avatarship In Honor
6812 - 64 - Avatarship In Spirituality
6813 - 64 - Avatarship In Humility


North America

Ultima - Quest of the Avatar.png

Memory Addresses

0002 - X Position?
0003 - Y Position?

0012 - X Position?
0013 - Y Position?

001B - Sprite Animation Frame (00-01)
001C - Copy of 0049
001D - Copy of 004A

002F - X Position?
0030 - Y Position?

003D - Controller 1 Press

0044 - Dungeon X Position
0045 - Dungeon Y Position

0049 - Map X - Display Position
004A - Map Y - Display Position

0061 - Movement
 	80 - Moves Right
 	81 - Moves Left
 	82 - Moves Down
 	83 - Moves Up
0062 - Wind Direction
 	00 - Right (East)
 	01 - Left (West)
 	02 - Down (North)
 	03 - Up (South)
0063 - Wind Change Timeout

00A0-00CF - Sound Memory

00D9 - Accumulator for next random encounter. Accumulates random amounts. When it reaches FF, you have a battle.

00F9 - Controller 1 Down

0200-02FF - Sprite Memory
0300-03FF - More Sprite Memory
0400-04FF - Object properties
0500-05FF - Tile Memory
0600-06BF - Tile Memory

06C0 - Direction in Dungeon
 	00 - North
 	01 - East
 	02 - South
 	03 - West
06C1 - Dungeon Level (00-07)

0708-0747 - Palette

6801 - Moon Phase (00-17)
6802-6806 - Player Name

680B - Joined party members
 	+01 - Mage
	+02 - Bard
	+04 - Fighter
	+08 - Druid
	+10 - Tinker
	+20 - Paladin
	+40 - Ranger
	+80 - Shepherd

Virtue Levels (00-63, 64 for Avatarship)
680C - Honesty
680D - Compassion
680E - Valor
680F - Justice
6810 - Sacrifice
6811 - Honor
6812 - Spirituality
6813 - Humility

6814 - 

6815 - Class of Party Member 1 (See Class List)
6816 - Class of Party Member 2
6817 - Class of Party Member 3
6818 - Class of Party Member 4

6819 - Stones
	+01 - Blue
	+02 - Yellow
	+04 - Red
	+08 - Green
	+10 - Orange
	+20 - Purple
	+40 - White
	+80 - Black
681A - Runes
	+01 - Honesty
	+02 - Compassion
	+04 - Valor
	+08 - Justice
	+10 - Sacrifice
	+20 - Honor
	+40 - Spirituality
	+80 - Humility

681B - Spells Page 1
	+01 - Light
	+02 - Missile
	+04 - Awaken
	+08 - Cure
	+10 - Wind
	+20 - Heal
	+40 - Fire
	+80 - Exit
681C - Spells Page 2
	+01 - Dispel
	+02 - View
	+04 - Protect
	+08 - Ice
	+10 - Blink
	+20 - Energy
	+40 - Quick
	+80 - ! (Doesn't do anything)
681D - Spells Page 3
	+01 - Sleep
	+02 - Reflect
	+04 - Negate
	+08 - (Unused)
	+10 - Destroy
	+20 - Jinx
	+40 - Squish
	+80 - Gate
681E - Spells Page 4
	+01 - Tremor
	+02 - Life
	+04 - (Unused)
	+08 - Defeat
	+10 - (Unused)
	+20 - (Unused)
	+40 - (Unused)
	+80 - (Unused)

Reagents (00-63)
681F - Ash
6820 - Ginseng
6821 - Garlic
6822 - Silkweb
6823 - Moss
6824 - Pearl
6825 - Fungus
6826 - Manroot

6827 - Party Gold x1
6828 - Party Gold x256

Item Flags
6829 - Torches (00-63)
682A - Gems (00-63)
682B - Key (00-01)
682C - Oil (00-63)
682D - Sextant (00-01)
682E - Scale (00-01)
682F - Flute (00-01)
6830 - Candle (00-01)
6831 - Book (00-01)
6832 - Bell (00-01)
6833 - Wheel (00-01)
6834 - Horn (00-01)
6835 - Skull (00-01)
6836 - Key of Truth (00-01)
6837 - Key of Courage (00-01)
6838 - Key of Love (00-01)

Character's inventory. Each character can hold 6 items.
See Item List for item lookup. Add 80 to the item to equip it.
6839-683E - Mage Inventory
683F-6844 - Bard Inventory
6845-684A - Fighter Inventory
684B-6850 - Druid Inventory
6851-6856 - Tinker Inventory
6857-685C - Paladin Inventory
685D-6862 - Ranger Inventory
6863-6868 - Shepherd Inventory

Stats. Each stat has eight values.
The character order is: 0-Mariah, 1-Iolo, 2-Geoff, 3-Jaana, 4-Julius, 5-Dupre, 6-Shamino, 7-Katrina
So, if you want to adjust a stat, add the character value (times the number of bytes) to the initial offset.
For example: If you want to give Dupre the fighter 999 Max Hit Points, start with the Max Hit Point location (6881).
Dupre's character number is 4. Multiply by the number of bytes (2 in this cast).
So, the address is 6881 + 8 = 6889.
Enter the two-byte hex value of 999, E703. And Dupre will have 999 Max HP.

6869-6870 - Levels
6871-6880 - Hit Points (2 bytes)
6881-6890 - Max Hit Points (2 bytes)
6891-6898 - Magic Points
6899-68A0 - Max Magic Points
68A1-68A8 - Strength
68A9-68B0 - Intelligence
68B1-68B8 - Dexterity
68B9-B8C0 - Experience (2 bytes)

68D2-68DD - Treasure Chests on Map X,Y (6 Max)

68E1 - Meditation Timeout (00-FF)
68E7 - Torch/Light Spell Timeout

68ED - Number of Captured Ships
68EE - Next Ship to Capture

68F0 - Balloon X
68F1 - Balloon Y
68F2 - Whirlpool X
68F3 - Whirlpool Y
68F4-68FB - Captured Ships X,Y (4 Max)

Class List

01 - Mariah (Mage)
02 - Iolo (Bard)
03 - Geoff (Fighter)
04 - Jaana (Druid)
05 - Julius (Tinker)
06 - Dupre (Paladin)
07 - Shamino (Ranger)
08 - Katrina (Shepherd)

Item List

00 - Nothing
01 - Sling
02 - Bow
03 - X-Bow
04 - +1 Bow
05 - Dagger
06 - Staff
07 - Club
08 - Axe
09 - Sword
0A - +1 Sword
0B - +2 Sword
0C - +1 Axe
0D - Wand
0E - +2 Axe
0F - Sword of Paradise
10 - Cloth
11 - Leather
12 - Chain
13 - Ring
14 - +1 Cloth
15 - Plate
16 - +1 Chain
17 - +1 Plate
18 - Robe
19 - Exotic Magic


Japan

Ultima - Seija Heno Michi.png