Secret of Evermore/RAM map

From Data Crystal
< Secret of Evermore
Revision as of 16:40, 28 May 2021 by MKnightDH (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Chip tiny.png The following article is a RAM map for Secret of Evermore.


Direct Page $59 = Camera Coordinates (4 bytes: X for first 2, Y for second 2)
Direct Page $6E = Low HP Alert sound timer (1 byte; sound triggers every 18 frames)
Direct Page $6F = Low HP Alert sound count (1 byte; caps at 5)
Direct Page $70 = Boy's HP (2 bytes; used for Low HP Alert to prevent repeat sounds)
Direct Page $BF = Camera Target (4 bytes)

000125 to 000127 = Execution Non-Maskable Interrupt Procedure
000128 to 00012A = Standby Non-Maskable Interrupt Procedure
00012B to 00012D = Requested Interrupt Procedure

000E51 to 000E52 = Sound-related; set to 1 for certain sound update procedures

000E65 to 000E66 = Sound-related; generally -1 but emptied for certain sound update procedures

000E6B to 000E6B = Preserved Flags for NMI/Joypad Enable and H/V-IRQ

=====================================================================================

306000 = Bit 0: Control Prefs screen - Sound: 0 = Mono, 1 = Stereo, global across all save slots

=====================================================================================

7E0000 to ...... = Script interpreter? Contains mostly temporarily stored values and pointer to scripts
                   0059 to 005A = (Sometimes) X position on map (Copy)
                   005B to 005C = (Sometimes) Y position on map (Copy)
                   0082 to 0084 = Pointer to the most recent script (0083 and 0084 get cleared afterwards)
                   0093 to 0095 = (Sometimes) Most recent ring menu (Copy?, 0093 and 0094 get cleared afterwards)
                                    8C0000 = Boy
                                    980000 = Dog
                                    9C0000 = Buy consumables
                                    AC0000 = Buy ingredients
                                    A40000 = Sell consumables
                                    B00000 = Call Beads - Choose person
                                    C20000 = Call Beads - Choose spell

7E0100 to 7E0103 = Frame counter
7E0104 to 7E0105 = Inputs player 1 (Copy) (Mnemonic: BYsS ↑↓←→ AXLR 0123)
          7E0106 = Screen brightness setting

7E0133 to 7E013A = Shifting registers for random number generator
7E013B to 7E013C = Location 0~511 (always multiple of 8) in Graphics Tiles Queue - update progress
7E013D to 7E013E = Location 0~511 (always multiple of 8) in Graphics Tiles Queue - update quota
7E013F to 7E033E = Graphics Tiles Queue
                  x00-x00 = VMain value (set to $80 in general)
                  x01-x03 = Location of Graphics Tile on ROM
                  x04-x05 = Designated VRAM Address / 2
                  x06-x07 = Number of Graphics Tiles to store x 16

7E0341 to 7E0342 = Pointer of NPC to load data for (excludes monsters)
7E0343 to 7E0344 = Number of frames left before choice shift happens from holding button
7E0345 to 7E0346 = Buttons being held (only changed when any registered buttons are released)
7E0347 to 7E0348 = Frames to hold button before fast-shifting starts
7E0349 to 7E034A = Frames between each choice shift during fast-shifting

7E034D to ...... = Text basic information, likely x2C bytes
                  x00-x01 = Progress X
                  x02-x03 = Progress Y
                  x04-x05 = Pixels length of each Space character
                  x06-x07 = Space in pixels between each character
                  x08-x09 = Space in pixels between each line
                  x0A-x0B = Offset X
                  x0C-x0D = Offset Y
                  x0E-x0F = Allowed width in pixels per line
                  x10-x11 = Number of Text Pointers in Stack for Window
                  x14-x15 = Window Base Tile Y
                  x16-x17 = Window Base Tile X
                  x18-x19 = Window Location pointer
                  x1A-x1B = Window VRAM Destination pointer
                  x1C-x1D = Window Width
                  x1E-x1F = Window Height
                  x20-x21 = Number if row bytes for each column of text print
                  x24-x25 = ? (seems to always be 0)
                  x26-x27 = Window Pattern pointer
                  x28-x29 = Value used for OR command with Window VRAM Destination pointer (seems to always be 0)
                  x2A-x2B = Bit 0 - Window allows Continue Arrow; Bit 1 - Message Finished

7E051D to 7E0560 = Boy's Status Bar info
7E0561 to 7E05A4 = Dog's Status Bar info
                  x00-x03 = Coordinates
                  x28-x35 = HP Row Graphics VRAM Pointer Graphics

7E05A7 to 7E05A8 = Menu Ring Character
7E05A9 to 7E05AA = Menu Ring Establish Flags (Flags: Locked (caused by Boy Heat Wave/Cure/Miracle Cure/Essence usage), Boy Menu, Dog Menu, unused, Insufficient Funds/No Choices, Too Many of Item, Armor Equipped w/o Spares; Bit 15 is for establishing Ring Menu)
7E05AB to 7E05AC = Menu Ring Activity Flags (Flags: Switch Character validity, Ask for Choice Confirm, unused, Armor Menu, unused, unused, Weapons Menu)
7E05AD to 7E05AE = Targeting Flags (Flags: Multitarget, Forced Singletarget, Ignore Camera, Player Character, Offensive, Levitate, Ignore Stop (unused), Time Warp, Loading Target Info, Forced All Target, Dog Exclusive, Boy Exclusive, Revival, Attack Spell, Revealer, ? (unused))
7E05AF to 7E05B0 = Targeting 1st enemy pointer
7E05B1 to ...... = Current line text including procedure bytes


7E0615 to 7E0616 = Ring Menu central X Position
7E0617 to 7E0618 = Ring Menu central Y Position
7E0619 to 7E061A = Ring Menu icon dispersal space
7E061B to 7E061C = Ring Menu anticlockwise rotation progress
7E061D to 7E061E = Ring Menu anticlockwise rotation total
7E061F to 7E0622 = Dialogue Choice count
7E0623 to ...... = Dialogue Choice values (4 values per choice: x00 holds Y coordinate, x01 holds X coordinate, x02 holds ASCII character on highlight, x03 is unused)

7E07A4 to 7E07A5 = Weapon Ring Menu number of choices
7E07A6 to 7E07A7 = Weapon Ring Menu choice highlight number
7E07A8 to 7E07C1 = Weapon Ring Menu sprite numbers

7E07C8 to 7E07C9 = Item Ring Menu number of choices
7E07CA to 7E07CB = Item Ring Menu choice highlight number
7E07CC to 7E07DD = Item Ring Menu sprite numbers

7E07EC to 7E07ED = Spells Ring Menu number of choices
7E07EE to 7E07EF = Spells Ring Menu choice highlight number
7E07F0 to 7E0801 = Spells Ring Menu sprite numbers

7E0810 to 7E0811 = Boy's Menu Ring Menu number of choices
7E0812 to 7E0813 = Boy's Menu Ring Menu choice highlight number
7E0814 to 7E0823 = Boy's Menu Ring Menu sprite numbers

7E0834 to 7E0835 = Dog's Menu Ring Menu number of choices
7E0836 to 7E0837 = Dog's Menu Ring Menu choice highlight number
7E0838 to 7E0843 = Dog's Menu Ring Menu sprite numbers

7E087A to 7E0889 = Targeting Marker Behavior Script information
7E088A to 7E08A9 = Boy's Palette Colors
7E08AA to 7E08C9 = Dog's Palette Colors

7E08EE to 7E08EF = Map Width (Tiles)
7E08F0 to 7E08F1 = Map Height (Tiles)
7E08F2 to 7E08F5 = Map Dimensions (Pixels)
7E08F6 to 7E08F9 = Map Scroll Capacity accounting for screen size of 256x224

7E0A26 to 7E0A28 = Boy - Pointer to name

7E0A35 to 7E0A36 = Boy - Stats - Max HP
7E0A3F to 7E0A40 = Boy - Stats - Attack
7E0A41 to 7E0A42 = Boy - Stats - Defense
7E0A43 to 7E0A44 = Boy - Stats - Magic Def
7E0A45 to 7E0A46 = Boy - Stats - Evade %
7E0A47 to 7E0A48 = Boy - Stats - Hit %
7E0A49 to 7E0A4C = Boy - Stats - Experience
7E0A50 to 7E0A51 = Boy - Stats - Level
7E0A52 to 7E0A53 = Boy - Max Chargeup
7E0A54 to 7E0A55 = Boy - Chargeup Rate

7E0A58 to 7E0A59 = Boy - Pointer to stationary sprites
7E0A5A to 7E0A5B = Boy - Pointer to walking sprites
7E0A5C to 7E0A5D = Boy - Pointer to running sprites
7E0A5E to 7E0A5F = Boy - Pointer to sub-100% weapon attack sprites
7E0A60 to 7E0A61 = Boy - Pointer to 100% weapon attack sprites
7E0A62 to 7E0A63 = Boy - Pointer to Level 2 weapon attack sprites
7E0A64 to 7E0A65 = Boy - Pointer to Level 3 weapon attack sprites
7E0A66 to 7E0A67 = Boy - Pointer to getting hit sprites

7E0A6E to 7E0A6F = Boy - Pointer to dodging hit sprites

7E0A70 to 7E0A72 = Dog - Pointer to name

7E0A7F to 7E0A80 = Dog - Stats - Max HP
7E0A89 to 7E0A8A = Dog - Stats - Attack
7E0A8B to 7E0A8C = Dog - Stats - Defense
7E0A8D to 7E0A8E = Dog - Stats - Magic Def
7E0A8F to 7E0A90 = Dog - Stats - Evade %
7E0A91 to 7E0A92 = Dog - Stats - Hit %
7E0A93 to 7E0A96 = Dog - Stats - Experience
7E0A9A to 7E0A9B = Dog - Stats - Level
7E0A9C to 7E0A9D = Dog - Max Chargeup
7E0A9E to 7E0A9F = Dog - Chargeup Rate

7E0ABA to 7E0ABB = Current equipped weapon (0000 - 001A, even numbers, inclusive.  see
                   7E22DA and 7E22DB lists below for weapon order.)

7E0ABE to 7E0ABF = Dog - Pointer to current Collar stats
7E0AC0 to 7E0AC1 = Boy - Pointer to current Armor stats
7E0AC2 to 7E0AC3 = Boy - Pointer to current Helmet stats
7E0AC4 to 7E0AC5 = Boy - Pointer to current Armband stats
7E0AC6 to 7E0AC8 = Money - Talons
7E0AC9 to 7E0ACB = Money - Jewels
7E0ACC to 7E0ACE = Money - Gold Coins
7E0ACF to 7E0AD1 = Money - Credits
7E0AD2 to 7E0ADA = Equipped alchemy
          7E0ADB = Current map number

          (NOTE: each Weapon Level uses 2 bytes with the low part first; the low part of 
           the weapon levels / 256 * 100 is the right-hand value you'll see on 
           the Level screen [or Stat screen for Dog])
          7E0ADD = Weapon level for bare hands (you can't ever fight with them)
          7E0ADF = Weapon level for Bone Crusher (%256 * 100 gives in-game display)
          7E0AE1 = Weapon level for Gladiator Sword
          7E0AE3 = Weapon level for Crusader Sword
          7E0AE5 = Weapon level for Neutron Blade
          7E0AE7 = Weapon level for Spider's Claw
          7E0AE9 = Weapon level for Bronze Axe
          7E0AEB = Weapon level for Knight Basher
          7E0AED = Weapon level for Atom Smasher
          7E0AEF = Weapon level for Horn Spear
          7E0AF1 = Weapon level for Bronze Spear
          7E0AF3 = Weapon level for Lance
          7E0AF5 = Weapon level for Laser Lance
          7E0AF7 = Weapon level for Bazooka (high part never initialized to 1 like the
                   other weapons are, and its default of 0 causes bugs with the
                   computer-controlled character and with Energize.)

          7E0B07 = Attack level for Dog
          

7E0B09 to 7E0B0A = Action screen - Boy combativeness (00-06)
7E0B0B to 7E0B0C = Action screen - Boy AI weapon charging (Even numbers 00-06, inclusive)
7E0B0D to 7E0B0E = Action screen - Dog combativeness (00-06)
7E0B0F to 7E0B10 = Action screen - Dog AI weapon charging (Even numbers 00-06, inclusive)

7E0B15 to 7E0B16 = Window Prefs screen - Pattern (24, 34, ... A4)
7E0B17 to 7E0B18 = Window Prefs screen - Border (Even numbers 00-14, inclusive)

7E0B19 to 7E0B1C = In-Game Global Timer

7E0B21 to 7E0B22 = Control Prefs screen - Configuration (00, 02)
7E0B23 to 7E0B24 = Run Button
7E0B25 to 7E0B26 = Action/Attack Button

7E0B2B to 7E0B2C = Countdown timer for a non-windowed message to be displayed.
7E0B2F to 7E0B30 = Non-windowed message queue progress amount
7E0B31 to 7E0B32 = Non-windowed message queue total amount

7E0B3D to 7E0B3E = Standard character height of current message
7E0B3F to 7E0B40 = Standard character byte count of current message
7E0B41 to 7E0B42 = Base address of characters graphics of current message
7E0B43 to 7E0B44 = Byte lines per 8 pixels of current message

7E0B57 to 7E0B58 = Location of next quick message text string to fill in

7E0B71 to 7E0B72 = Spell's Targeted unit Pointer

7E0B95 to ...... = BYTE array holding items in the current shopping ring menu

7E0BC5 to ...... = WORD array holding item prices in the current shopping ring menu

7E0DFB to 7E0E15 = 3 byte Pointers to quick message text to load

7E0E4B to 7E0E4C = Current music

7E0E4F to 7E0E50 = Current sound effect

7E0E6C to 7E0E6D = Indicator for the type of current shopping ring menu active
                   (0002 = item shop, 0004 = armor shop, 0008 = ingredient shop, 0000 = no shopping menu)

7E0E94 to 7E0E95 = Randomized bits for movement script activation (always set up for procedure where LSB would trigger the involved script)
7E0E96 to 7E0E97 = Randomized target height value 256 + 16 x (0~31)
7E0E98 to 7E0E99 = Randomized timer (60 to 315 frames) for changing target height value
7E0E9A to 7E0E9B = Attack Type
7E0E9C to 7E0E9D = Attack Power
7E0E9E to 7E0E9F = Attack's involved Entity Pointer
7E0EA0 to 7E0EA1 = Amount of damage from most recent attack
7E0EA2 to 7E0EA3 = Flags that determine how monster remains event is activated (only 0040 works properly)
7E0EA4 to 7E0EA5 = Boolean that is set when there is a valid target for revealer
7E0EA6 to 7E0EA7 = Boolean that is set when there is a valid target for levitate
7E0EA8 to 7E0EA9 = Boolean that is set when a custom event occurs when you switch characters
7E0EAA to 7E0EAB = Boolean that is set when wings/escape can be used.
7E0EAC to 7E0EAD = Indicates Event script that executes when you pick up monster remains
7E0EAE to 7E0EAF = Indicates Event script that executes when you use revealer on a valid target.
7E0EB0 to 7E0EB1 = Indicates Event script that executes when you use levitate on a valid target.
7E0EB2 to 7E0EB3 = Indicates Event script that executes when you switch characters(used in pyramid)
7E0EB4 to 7E0EB5 = Indicates Event script that executes when you use wings/escape.

7E0EC6 to 7E0EC7 = Active buttons
7E0EC8 to 7E0F33 = Damage/Recovery Number Graphics Info (x1B bytes of data per entry for 4 entries total)
                  x00-x01 = Script Timer
                  x02-x03 = Script Pointer
                  x04-x05 = Entity Pointer
                  x07-x07 = Digit spacing
                  x08-x0C = Z position of each digit (value gets divided by 4 for graphical Y Position)
                  x0D-x11 = Graphical gravity defiance of each digit (gradually decreases by 1 and set according to bounce effect)
                  x12-x16 = Damage/Recovery Digit values
                  x17-x18 = Damage/Recovery Amount
                  x19-x1A = Color (Blue for Recovery, Red for Damage)

7E0F38 to 7E0F39 = Camera Shift current remainder (would be failsafe for 7E242F not being a multiple of 16)

7E0F3E to 7E0F3F = Pointer to Boy's data block (generally 4E89)
7E0F40 to 7E0F41 = Pointer to Dog's data block (generally 4F37)
7E0F42 to 7E0F43 = Pointer to data block of character being controlled by player

7E0F48 to 7E0F4B = Movement limitation Northwest corner coordinates
7E0F4C to 7E0F4F = Movement limitation Southeast corner coordinates

7E0F50 to 7E0F51 = Damage Recovery Numbers - Color for Palette Index $BE
7E0F52 to 7E0F53 = Damage Recovery Numbers - Base Color
7E0F54 to 7E0F55 = Damage Recovery Numbers - Offset Color
7E0F56 to 7E0F57 = Damage Recovery Numbers - Intensity Current
7E0F58 to 7E0F59 = Damage Recovery Numbers - Intensity Increase Rate

7E0FB2 to 7E0FB3 = Number of total statuses on all entities; briefly set to token value of 1 when
                   inflicting status

7E1062 to 7E1063 = Length of following section in bytes
7E1064 to 7E1066 = Pointer to unknown (script?) section of current map
7E1067 to 7E1068 = Length of following section in bytes
7E1069 to 7E107B = Pointer to B-trigger script section of current map

7E107E to 7E10CD = Current Room treasure/event status indicators (1 byte per treasure/event)
7E10CE to 7E111D = Previous Room treasure/event status indicators (1 byte per treasure/event)
7E111E to 7E116D = Room treasure/event status change indicators (1 byte per treasure/event)

7E1278 to 7E1287 = Default Palette Color Pointers used in PB $90

7E128E to 7E128F = Location 0~223 (always multiple of 7) in Colors Queue - update queue
7E1290 to 7E1291 = Location 0~223 (always multiple of 7) in Colors Queue - update progress
7E1292 to 7E1371 = Colors Queue
                  x00-x02 = Location of Colors on ROM
                  x03-x04 = Designated CGRAM Address
                  x05-x06 = Number of Colors to store x 2

7E1372 to 7E1391 = Base Palette Color #s for Color Rotate
7E1392 to 7E13B1 = Rotated Right Colors count
7E13B2 to 7E13D1 = Non-Rotated Right Colors count
7E13D2 to 7E13F1 = Color Rotate Timer base values; negative value changes rotation direction to Left (default rotation direction of Right)
7E13F2 to 7E1411 = Color Rotate Timer current values

7E1434 to 7E1435 = Boy's Weapon Number, 0 for safe areas

7E1443 to 7E1444 = Dog Sniff Stationary Script Pointer
7E1445 to 7E1446 = Dog Sniff Movement Script Pointer
7E1447 to 7E1448 = Dog Sleep Script Pointer

7E144F to 7E1450 = Targeting Choice Current Stats Pointer
7E1451 to 7E1452 = Targeting Choice Read-Only Stats Pointer

7E1453 to 7E1456 = Sniff Location Coordinates
7E1457 to 7E1458 = Sniff Location Z Position
7E1459 to 7E145A = Sniff Location Found Flag
7E145B to 7E145C = Sniff Location Tile Info Indirect Pointer

7E1464 to 7E1465 = Yawn Animation Timer (default base of 20 seconds, RNG Seed may add up to about 34.117 seconds)

7E150C to 7E150D = BG Flash Active
7E150E to 7E150F = BG Flash Color Intensity Current
7E1510 to 7E1511 = BG Flash Color Intensity Destination
7E1512 to 7E1513 = BG Flash Color Intensity Change Value

7E15D2 to 7E15D3 = Default of 0, set to -1 for (manual?) Status Cancel Instruction

7E2210 to 7E2233 = Boy - Name
7E2234 to 7E2257 = Dog - Name
          7E2258 = Known alchemy
                     01 = Acid Rain
                     02 = Atlas
                     04 = Barrier
                     08 = Call Up
                     10 = Corrosion
                     20 = Crush
                     40 = Cure
                     80 = Defend
          7E2259 = Known alchemy
                     01 = Double Drain
                     02 = Drain
                     04 = Energize
                     08 = Escape
                     10 = Explosion
                     20 = Fireball
                     40 = Fire Power
                     80 = Flash
          7E225A = Known alchemy
                     01 = Force Field
                     02 = Hard Ball
                     04 = Heal
                     08 = Lance
                     10 = Laser
                     20 = Levitate
                     40 = Lightning Storm
                     80 = Miracle Cure
          7E225B = Known alchemy
                     01 = Nitro
                     02 = One Up
                     04 = Reflect
                     08 = Regrowth
                     10 = Revealer
                     20 = Revive
                     40 = Slow Burn
                     80 = Speed
          7E225C = Known alchemy and call bead summons
                     01 = Sting
                     02 = Stop
                     04 = Super Heal
                     .....
                     80 = Horace
          7E225D = Known call bead summons
                     01 = Camellia
                     02 = Sidney
                     .....



          7E2261 = Hero availability/Charms
                     01 = Dog unavailable
                     02 = Boy unavailable
                     .....
                     20 = Armor Polish
                     40 = Chocobo Egg
                     80 = Insect Incense
          7E2262 = Charms
                     01 = Jade Disk
                     02 = Jaguar Ring
                     04 = Magic Gourd
                     08 = Moxa Stick
                     10 = Oracle Bone
                     20 = Ruby Heart
                     40 = Silver Sheath
                     80 = Staff of Life
          7E2263 = Charms/Charms Obtained Flags
                     01 = Sun Stone
                     02 = Thug's Cloak
                     04 = Wizard's Coin
                     08 = Obtained Jade Disc Flag
                     10 = Obtained Sun Stone Flag
                     20 = Obtained Silver Sheath Flag
                     40 = Obtained but not carrying Moxa Stick Flag
                     80 = Obtained Moxa Stick Flag
          7E2264 = Rare items
                     01 = Diamond Eye
                     02 = Diamond Eyes
                     04 = Gauge
                     08 = Wheel
                     10 = Queen's Key
                     20 = Energy Core
                     .....


FE Village Inn treasure pots: 7E2265, 08 10 20 bits

7E228x to 7E22Dx = Found hidden ingredients, 1 bit each (exact address range not yet known)

          7E22DA = Weapons
                     01 = ???
                     02 = Bone Crusher
                     04 = Gladiator Sword
                     08 = Crusader Sword
                     10 = Neutron Blade
                     20 = Spider's Claw
                     40 = Bronze Axe
                     80 = Knight Basher
          7E22DB = Weapons and call bead spells
                     01 = Atom Smasher
                     02 = Horn Spear
                     04 = Bronze Spear
                     08 = Lance
                     10 = Laser Lance
                     20 = Bazooka
                     40 = Horace - Aura
                     80 = Horace - Regenerate

          7E22EB = Contains the debug flag (Shows Omnitopia codes etc.)

          7E22FF = Alchemy - Ingredient amount - Wax
          7E2300 = Alchemy - Ingredient amount - Water
          7E2301 = Alchemy - Ingredient amount - Vinegar
          7E2302 = Alchemy - Ingredient amount - Root
          7E2303 = Alchemy - Ingredient amount - Oil
          7E2304 = Alchemy - Ingredient amount - Mushroom
          7E2305 = Alchemy - Ingredient amount - Mud Pepper
          7E2306 = Alchemy - Ingredient amount - Meteorite
          7E2307 = Alchemy - Ingredient amount - Limestone
          7E2308 = Alchemy - Ingredient amount - Iron
          7E2309 = Alchemy - Ingredient amount - Gunpowder
          7E230A = Alchemy - Ingredient amount - Grease
          7E230B = Alchemy - Ingredient amount - Feather
          7E230C = Alchemy - Ingredient amount - Ethanol
          7E230D = Alchemy - Ingredient amount - Dry Ice
          7E230E = Alchemy - Ingredient amount - Crystal
          7E230F = Alchemy - Ingredient amount - Clay
          7E2310 = Alchemy - Ingredient amount - Brimstone
          7E2311 = Alchemy - Ingredient amount - Bone
          7E2312 = Alchemy - Ingredient amount - Atlas Amulet
          7E2313 = Alchemy - Ingredient amount - Ash
          7E2314 = Alchemy - Ingredient amount - Acorn
          7E2315 = Inventory - Item amount - Petal
          7E2316 = Inventory - Item amount - Nectar
          7E2317 = Inventory - Item amount - Honey
          7E2318 = Inventory - Item amount - Dog Biscuit
          7E2319 = Inventory - Item amount - Wings
          7E231A = Inventory - Item amount - Essence
          7E231B = Inventory - Item amount - Pixie Dust
          7E231C = Inventory - Item amount - Call Bead
          7E231D = Inventory - Armor amount - Grass Vest
          7E231E = Inventory - Armor amount - Shell Plate
          7E231F = Inventory - Armor amount - Dino Skin
          7E2320 = Inventory - Armor amount - Bronze Armor
          7E2321 = Inventory - Armor amount - Stone Plate
          7E2322 = Inventory - Armor amount - Centurion Cape
          7E2323 = Inventory - Armor amount - Silver Mail
          7E2324 = Inventory - Armor amount - Gold-Plated Vest
          7E2325 = Inventory - Armor amount - Shining Armor
          7E2326 = Inventory - Armor amount - Magna Mail
          7E2327 = Inventory - Armor amount - Titanium Vest
          7E2328 = Inventory - Armor amount - Virtual Vest
          7E2329 = Inventory - Helm amount - Grass Hat
          7E232A = Inventory - Helm amount - Shell Hat
          7E232B = Inventory - Helm amount - Dino Helm
          7E232C = Inventory - Helm amount - Bronze Helmet
          7E232D = Inventory - Helm amount - Obsidian Helm
          7E232E = Inventory - Helm amount - Centurion Helm
          7E232F = Inventory - Helm amount - Titan's Crown
          7E2330 = Inventory - Helm amount - Dragon Helm
          7E2331 = Inventory - Helm amount - Knight's Helm
          7E2332 = Inventory - Helm amount - Lightning Helm
          7E2333 = Inventory - Helm amount - Old Reliable
          7E2334 = Inventory - Helm amount - Brainstorm
          7E2335 = Inventory - Armband amount - Vine Bracelet
          7E2336 = Inventory - Armband amount - Mammoth Guard
          7E2337 = Inventory - Armband amount - Claw Guard
          7E2338 = Inventory - Armband amount - Serpent Bracer
          7E2339 = Inventory - Armband amount - Bronze Gauntlet
          7E233A = Inventory - Armband amount - Gloves of Ra
          7E233B = Inventory - Armband amount - Iron Bracer
          7E233C = Inventory - Armband amount - Magician's Ring
          7E233D = Inventory - Armband amount - Dragon's Claw
          7E233E = Inventory - Armband amount - Cyberglove
          7E233F = Inventory - Armband amount - Protector Ring
          7E2340 = Inventory - Armband amount - Virtual Glove
          7E2341 = Inventory - Collar amount - Leather Collar
          7E2342 = Inventory - Collar amount - Spiky Collar
          7E2343 = Inventory - Collar amount - Defender Collar
          7E2344 = Inventory - Collar amount - Spot's Collar
          7E2345 = Inventory - Bazooka ammo amount - Thunder Ball
          7E2346 = Inventory - Bazooka ammo amount - Particle Bomb
          7E2347 = Inventory - Bazooka ammo amount - Cryo-Blast
          7E2348 = Current Region (0 = Prehistoria, 2 = Antiqua, 4 = Gothica, 6 = Omnitopia)
          7E2349 = Ammunition type of currently chosen shell
                   (0 = Thunder Ball, 2 = Particle Bomb, 4 = Cryo Blast)

          7E2355 = Flying machine type
                   (00 = none, 01 = Windwalker, 02 = Escape Pod)

          7E235F = Current equipped weapon (00 - 1A, even numbers, inclusive.  see 7E22DA
                   and 7E22DB lists above for weapon order.)
          7E2363 = Dog state
                   02 = Prehistorica (wolf)
                   04 = Prehistorica (bonechaser) - only used in the scene where the
                        dog fetches the Bone Crusher.  It is mostly identical to 02.
                   06 = Antiqua (greyhound)
                   08 = Gothica (poodle)
                   0A = Podunk (normal)
                   0C = Omnitopia (toaster)

7E236D to 7E236E = Omnitopia code - Alarm room first digit (Generated when entering the room for the first time)
7E236F to 7E2370 = Omnitopia code - Alarm room second digit (Generated when entering the room for the first time)
7E2371 to 7E2372 = Omnitopia code - Alarm room third digit (Generated when entering the room for the first time)
7E2373 to 7E2364 = Omnitopia code - Boss room first digit (Generated when entering the room for the first time)
7E2375 to 7E2376 = Omnitopia code - Boss room second digit (Generated when entering the room for the first time)
7E2377 to 7E2378 = Omnitopia code - Boss room third digit (Generated when entering the room for the first time)

7E237B to 7E237C = Last landing location of the flying machine

7E2391 to 7E2392 = ID of prize you're currently retrieving
7E2393 to 7E2394 = Quantity of prize you're currently retrieving  (seems to be quickly decremented
                                                                   to 0001, though)

7E239B to 7E239C = Probability (numerator) of winning 1st prize from monster remains in screen/area
7E239D to 7E239E = Probability (numerator) of winning 2nd prize in area
7E239F to 7E23A0 = Probability (numerator) of winning 3rd prize in area
(Denominator of the prize probability is the sum of the 3 above variables.)

7E23A1 to 7E23A2 = ID of 1st prize from monster remains in area
7E23A3 to 7E23A4 = ID of 2nd prize in area
7E23A5 to 7E23A6 = ID of 3rd prize in area
 Prize ID list:
  00 00 = Nothing
  01 00 = Money (currency depends on current world)
  XX 08 = Item (XX = 00 - 07.  see 7E2315 list above for ordering.)
  XX 02 = Ingredient (XX = 00 - 15.  see 7E22FF list above for ordering, EXCEPT Mud Pepper and
                      Mushroom are oddly reversed.  also, winning Mud Pepper has issues.)
  XX 04 = Equipment (XX = 01 - 28.  see 7E231D list above for ordering.)
  01 01 = Chocobo Egg  (can't figure out how to make other Charms be won.)

7E23A7 to 7E23A8 = Quantity of 1st prize from monster remains in area
7E23A9 to 7E23AA = Quantity of 2nd prize in area
7E23AB to 7E23AC = Quantity of 3rd prize in area

7E23BF to 7E23C0 = 0 = Unsafe; 1 = Safe

7E23E9 to 7E23EC = Camera Scroll limitation Northwest corner coordinates
7E23ED to 7E23F0 = Camera Scroll limitation Southeast corner coordinates

7E2401 to 7E2408 = (Seems to be unused) Screen placement West X, East X, North Y, South Y

7E240F to 7E2416 = Camera Scroll ease values for each direction (West, East, North, South; default values of $48 for W and E, $68 for N, $38 for S)
7E242F to 7E2430 = Camera Shift Speed capacity; usually set to 128

7E243D to 7E243E = Gained Charm/Rare Item Number
7E243F to 7E2440 = Lost Charm/Rare Item Number
7E2441 to 7E2442 = Gained Weapon Number; -1 results in losing all weapons

          7E2461 = Incrementor to found ingredient or item quantity.  Game can set immediately
                   before or after retrieval.  Set to 0 when you enter a new screen.

7E2517 to 7E2518 = Trade good amount - Annihilation Amulet
7E2519 to 7E251A = Trade good amount - Bead
7E251B to 7E251C = Trade good amount - Ceramic Pot
7E251D to 7E251E = Trade good amount - Chicken
7E251F to 7E2520 = Trade good amount - Golden Jackal
7E2521 to 7E2522 = Trade good amount - Jeweled Scarab
7E2523 to 7E2524 = Trade good amount - Limestone Tablet
7E2525 to 7E2526 = Trade good amount - Perfume
7E2527 to 7E2528 = Trade good amount - Rice
7E2529 to 7E252A = Trade good amount - Spice
7E252B to 7E252C = Trade good amount - Spoon
7E252D to 7E252E = Trade good amount - Tapestry
7E252F to 7E2530 = Trade good amount - Ticket for Exhibition

7E2839 to 7E283A = Omnitopia code - First entered digit (Compared with alarm and boss code)
7E283B to 7E283C = Omnitopia code - Second entered digit (Compared with alarm and boss code)
7E283D to 7E283E = Omnitopia code - Third entered digit (Compared with alarm and boss code)

7E28FC to 7E2F27 = List / stack of 20 active scripts with entry size of 0x4F
                   When opening a gourd, script address gets written to 7E28FC-7E28FD
                   When that calls a "sub script", 7E28FC-7E28FD is already occupied, so 7F294B-7F294C will be used, etc.

                   x00-x02 = Script location
                   x03-x04 = 4 = Standby (Timer); 2 = Executing
                   x05-x08 = Timer value for trigger
                   x0B-x0C = Pointer to data structure of next valid entity; 0 if end of list
                   x0D-x0E = Responsible entity

7E2F28 to 7E2F51 = Primary Script pointer list (2 bytes for each address; 21 entries ensuring last one would be blank)
7E2F52 to 7E2F97 = Alchemy spell levels (low component). One word per spell. Alphabetical order.
7E2F98 to 7E2FDD = Alchemy spell levels (high component). One word per spell. Alphabetical order.

7E3074 to 7E3273 = Quick Message Text strings (0x40 bytes per string)
7E3274 to 7E3291 = Boy/Dog Flashing Palette colors (updates all Boy/Dog Palette colors other than the first)

7E3294 to 7E3363 = Currently flying alchemy attack projectiles? (x18 bytes per projectile alchemy attack)
                        x11 Marks the projectile as currently active (from before the it's on the screen, till the enemies death animation)

7E3364 to 7E3563 = Alchemy attack slots (x40 bytes per active alchemy attack)
                   x12-x13 = Pointer to Spell Script Base Instruction Byte pointer
                   x14-x15 = Pointer to Spell Script Current Instruction Byte pointer
                   x28-x29 = Pointer to caster
                   x2A-x2B = Alchemy power/damage
                   x2C-x2D = Pointer to targets table (below)
                   x2E-x40 = Pointers to target players/monsters/npcs

7E3564 to ...... = Alchemy attack slots (x76 bytes per active alchemy attack).  Filled by
                   projectile type alchemy like Flash and Fireball.
                   x12-x13 = Pointer to Spell Script Base Instruction Byte pointer
                   x14-x15 = Pointer to Spell Script Current Instruction Byte pointer
                   x28-x29 = Pointer to caster
                   x2A-x2B = Alchemy power/damage
                   x2C-x2D = Pointer to targets table (below)
                   x2E-x40 = Pointers to target players/monsters/npcs
                   x42-x43 = Initial: RNG Dispersion -128 to 127
                   x48-x4B = Coordinates of Spell

7E3DDF to 7E3DE0 = Pointer to data structure for first valid entity
7E3DE1 to 7E3DE2 = Pointer to data structure for Boy or Dog in certain circumstances, often set to 0
7E3DE3 to 7E3DE4 = Pointer to data structure for next entry to make valid

7E3DE5 to 7E4E88 = Monster/NPC data for the current room. Each Monster/NPC gets x8E bytes of data.
                  x00-x02 = Behavior script current pointer
                  x03-x04 = Behavior script base pointer
                  x05-x05 = Behavior script update timer
                  x06-x08 = Body Sprite Info Pointer
                  x09-x0B = Shadow Sprite Info Pointer
                  x0C-x0C = Current 2nd Half Palette Row
                  x18-x19 = ? (Known: Bits 0 and 1 handle Relative Elevation #, Bit 2 is Stairs Flag)
                  x1A-x1B = X position on map
                  x1C-x1D = Y position on map
                  x1E-x1F = Z position on map
                  x20-x21 = Jump/Fly Upward Velocity
                  x22-x23 = Used to determine the direction creature is facing
                  x24-x25 = Pointer to ram address of the target of the monster's attacks
                  x2A-x2B = Hit Points
                  x2E-x2F = Charge level for attack
                  x3A-x3B = Tile coordinates location
                  x3C-x3D = Tile standard information
                  x42-x45 = Coordinates offset
                  x5E-x5F = Pointer to data structure of next valid entity; 0 if end of list
                  x60-x61 = Used to identify the type of monster/npc
                  x62-x63 = X,Y position on the map in terms of tiles
                  x64-x65 = Movement Cap
                  x66-x67 = Dialog/Event indicator
                  x68-x69 = Flags that determine when Event specified in x66-x67 is triggered
                            (0040 = occurs when player presses talk/activate in proximity to NPC)
                            (0100 = occurs when NPC takes damage)
                            (0200 = occurs when NPC is killed)
                  x74-x74 = Current 2nd Half Palette Row (divide by 2 then add 8 to get Palette Row)
                  x75-x75 = Default 2nd Half Palette Row
                  x76-x77 = damage taken from last attack
                  x78-x79 = Activity Number (IE $12 is Carniflower's munching); generally used for comparison within the procedure that that set the value
                  x7A-x7B = Activity Timer
                  x7E-x7F = Countdown Timer in Seconds (used for spoils drops duration)

7E4E89 to 7E4E8B = Boy - Sprite/animation script pointer
7E4E8C to 7E4E8E = Boy - Sprite/animation script pointer
7E4EA3 to 7E4EA4 = Boy - X position on map
7E4EA5 to 7E4EA6 = Boy - Y position on map
7E4EAB to 7E4EAC = Direction the boy is facing
7E4EB3 to 7E4EB4 = Boy - Current HP
7E4EB7 to 7E4EB8 = Boy - Current weapon charging level (0400 = 100%)

7E4ECF to 7E4ED0 = Boy - Status 1 - Status ID (FFFFh = none, Bit 15: 1 = most recently given, see
                   list of IDs below)
7E4ED1 to 7E4ED2 = Boy - Status 1 - Main Timer (ascending from 0, frame-based)
7E4ED3 to 7E4ED4 = Boy - Status 1 - Boost provided to statistic(s), OR Time since/until last/next
                   damage/healing interval

7E4ED5 to 7E4ED6 = Boy - Status 2 - Status ID (FFFFh = none, Bit 15: 1 = most recently given, see
                   list of IDs below)
7E4ED7 to 7E4ED8 = Boy - Status 2 - Main Timer (ascending from 0, frame-based)
7E4ED9 to 7E4EDA = Boy - Status 2 - Boost provided to statistic(s), OR Time since/until last/next
                   damage/healing interval

7E4EDB to 7E4EDC = Boy - Status 3 - Status ID (FFFFh = none, Bit 15: 1 = most recently given, see
                   list of IDs below)
7E4EDD to 7E4EDE = Boy - Status 3 - Main Timer (ascending from 0, frame-based)
7E4EDF to 7E4EE0 = Boy - Status 3 - Boost provided to statistic(s), OR Time since/until last/next
                   damage/healing interval

7E4EE1 to 7E4EE2 = Boy - Status 4 - Status ID (FFFFh = none, Bit 15: 1 = most recently given, see
                   list of IDs below)
7E4EE3 to 7E4EE4 = Boy - Status 4 - Main Timer (ascending from 0, frame-based)
7E4EE5 to 7E4EE6 = Boy - Status 4 - Boost provided to statistic(s), OR Time since/until last/next
                   damage/healing interval

NOTE: Since Plague doesn't auto-expire, it has Time since last interval where the Timer would go,
      and an unknown value in the third (Time interval) slot.

7E4EE7 to 7E4EE8 = Boy - Pointer to data structure of next valid entity.  0 if end of list.

7E4EF7 to 7E4EF9 = Boy - Status Icon Sprite Pointer

7E4F17 to 7E4F18 = Boy - Status Bar Info Pointer
7E4F1D to 7E4F20 = Boy - Total experience needed to reach next level

7E4F23 to 7E4F24 = Boy - Status Outline Bits
7E4F25 to 7E4F26 = Boy - Status Outline Choice Bit
7E4F27 to 7E4F28 = Boy - Status Outline Progress (0~30 change of 2 each check with MSB determining direction on each check)
7E4F29 to 7E4F2A = Boy - Overall boost to Attack statistic from alchemy/items/statuses
7E4F2B to 7E4F2C = Boy - Overall boost to Defense statistic from alchemy/items/statuses
7E4F2D to 7E4F2E = Boy - Overall boost to Evade % statistic from alchemy/items/statuses
7E4F2F to 7E4F30 = Boy - Overall boost to Hit % statistic from alchemy/items/statuses
7E4F31 to 7E4F32 = Boy - Overall boost to Magic Defense statistic from alchemy/items/statuses (unused)
7E4F33 to 7E4F34 = Boy - Last damage taken.  Used by time Warp (Horace).
7E4F35 to 7E4F36 = Boy - Regenerate (Horace) or Pixie Dust protection in effect (0001 = yes, 0000 = no)

7E4F37 to 7E4F39 = Dog - Animation/Sprite script pointer
7E4F3A to 7E4F3C = Dog - Animation/Sprite script pointer
7E4F51 to 7E4F52 = Dog - X position on map
7E4F53 to 7E4F54 = Dog - Y position on map
7E4F59 to 7E4F5A = Direction that the dog is facing
7E4F61 to 7E4F62 = Dog - Current HP
7E4F65 to 7E4F66 = Dog - Current weapon charging level (0400 = 100%)

7E4F7D to 7E4F7E = Dog - Status 1 - Status ID (FFFFh = none, Bit 15: 1 = most recently given, see
                   list of IDs below)
7E4F7F to 7E4F80 = Dog - Status 1 - Main Timer (ascending from 0, frame-based)
7E4F81 to 7E4F82 = Dog - Status 1 - Boost provided to statistic(s), OR Time since/until last/next
                   damage/healing interval

7E4F83 to 7E4F84 = Dog - Status 2 - Status ID (FFFFh = none, Bit 15: 1 = most recently given, see
                   list of IDs below)
7E4F85 to 7E4F86 = Dog - Status 2 - Main Timer (ascending from 0, frame-based)
7E4F87 to 7E4F88 = Dog - Status 2 - Boost provided to statistic(s), OR Time since/until last/next
                   damage/healing interval

7E4F89 to 7E4F8A = Dog - Status 3 - Status ID (FFFFh = none, Bit 15: 1 = most recently given, see
                   list of IDs below)
7E4F8B to 7E4F8C = Dog - Status 3 - Main Timer (ascending from 0, frame-based)
7E4F8D to 7E4F8E = Dog - Status 3 - Boost provided to statistic(s), OR Time since/until last/next
                   damage/healing interval

7E4F8F to 7E4F90 = Dog - Status 4 - Status ID (FFFFh = none, Bit 15: 1 = most recently given, see
                   list of IDs below)
7E4F91 to 7E4F92 = Dog - Status 4 - Main Timer (ascending from 0, frame-based)
7E4F93 to 7E4F94 = Dog - Status 4 - Boost provided to statistic(s), OR Time since/until last/next
                   damage/healing interval

NOTE: Since Plague doesn't auto-expire, it has Time since last interval where the Timer would go,
      and an unknown value in the third (Time interval) slot.

Status ID list for above structures:
00h = Atlas, 08h = Aura (Horace) ,
10h = Barrier, 18h = Defend,
20h = Energize, 28h = Force Field,
30h = Reflect, 38h = Shield (Camellia),
40h = Regrowth, 48h = Speed,
50h = Regenerate (Horace) and Pixie Dust, 58h = Stop * ,
60h = Confound, 68h = Disrupt * ,
70h = Slow Burn, 78h = Corrosion,
80h = Hypnotize *, 88h = Plague,
90h = Poison, 98h = Wings helper status
FFFFh = Nothing
* Boy and Dog don't receive

7E4F95 to 7E4F96 = Dog - Pointer to data structure of next valid entity.  0 if end of list.

7E4FA5 to 7E4FA7 = Dog - Status Icon Sprite Pointer

7E4FC5 to 7E4FC6 = Dog - Status Bar Info Pointer

7E4FCB to 7E4FCE = Dog - Total experience needed to reach next level

7E4FD1 to 7E4FD2 = Dog - Status Outline Bits
7E4FD3 to 7E4FD4 = Dog - Status Outline Choice Bit
7E4FD5 to 7E4FD6 = Dog - Status Outline Progress (0~30 change of 2 each check with MSB determining direction on each check)
7E4FD7 to 7E4FD8 = Dog - Overall boost to Attack statistic from alchemy/items/statuses
7E4FD9 to 7E4FDA = Dog - Overall boost to Defense statistic from alchemy/items/statuses
7E4FDB to 7E4FDC = Dog - Overall boost to Evade % statistic from alchemy/items/statuses
7E4FDD to 7E4FDE = Dog - Overall boost to Hit % statistic from alchemy/items/statuses
7E4FDF to 7E4FE0 = Dog - Overall boost to Magic Defense statistic from alchemy/items/statuses (unused)
7E4FE1 to 7E4FE2 = Dog - Last damage taken.  Used by time Warp (Horace).
7E4FE3 to 7E4FE4 = Dog - Regenerate (Horace) or Pixie Dust protection in effect (0001 = yes, 0000 = no)

7E5DC3 to 7E6182 = Conditional NPC/Monster Spawn List, 16 bytes per entry
                  x00-x01 = Offset for specific type of monster/npc
                  x02-x03 = X position for spawn
                  x04-x05 = Y position for spawn

7E6187 to 7E6386 = Defaulted Palette Colors as a whole
7E6289 to 7E6346 = Defaulted Palette Colors for Sprites other than Boy and Dog
7E6349 to 7E6366 = Boy's default Palette colors
7E6369 to 7E6386 = Dog's default Palette colors

7E6387 to 7E64E6 = Physical projectile list, 44 bytes per entry, 8 entries total
                  x00-x01 = Script current location
                  x02-x02 = Script Program Bank
                  x03-x04 = Script base location
                  x05-x05 = Script advancement timer
                  x06-x08 = Graphics pointer
                  x0C-x0D = ?
                  x0E-x0F = Script Runtime Frame Counter
                  x10-x11 = Pointer to Owner
                  x14-x15 = X Position
                  x16-x17 = Y Position
                  x18-x19 = Z Position
                  x1A-x1B = Direction
                  x1E-x1F = Lifespan
                  x20-x21 = East Velocity
                  x22-x23 = South Velocity
                  x24-x25 = Up Velocity
                  x26-x27 = Projectile Script value
                  x28-x29 = Attack value
                  x2A-x2B = Attack calculation type

7E65D1 to 7E65F0 = BG Offset Palette Locations (used for light flashes, etc.)

=====================================================================================

7F0000 to ------ = Pointers to information of each tile on the map
7F0000 offset 2 x Map Area = Tile information (8 bytes each)

7FC300 to ------ = Current map arrangement? (unsure)