Difference between revisions of "Routine Locations"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
(Removed redirect to Routine and Data/Table Locations)
Tag: Removed redirect
 
(252 intermediate revisions by 10 users not shown)
Line 1: Line 1:
Here is a list of Routine locations in RAM. To view the actual code of the routine follow the link under it. If you add routines PLEASE keep them in order. When unfinished routines are deciphered they'll be inserted in the correct location. Thanks! These locations are during a battle and the majority of them found in Battle.BIN.
+
:For additional ASM notes and an easier to use version of this data in .txt format, [[https://ffhacktics.com/smf/index.php?action=dlattach;topic=6538.0;attach=11553| download ASM Files]] <-- possibly outdated
  
 +
:If you're just starting ASM, check [[Assembly FAQ|this page]] first, it contains some important assorted information
  
 +
:For Data Tables, see [[Data/Table Locations]]
  
== SCUS.942.21 RAM ==
+
Main Routine Locations:
 
 
000000a0: [[Jump to 0x5c4]]
 
 
 
0005e0cc - 0005e11c: [[Checking if Attack Hits?]]
 
 
 
0005e200 - 0005e228: [[Checking known abilities?]]
 
 
 
0005e644 - 0005e66c: [[Data Nullifying]]
 
 
 
== BATTLE.BIN RAM ==
 
 
 
0007ff44 - 0007ff78: [["Speed" display]]
 
 
 
0007ff7c - 0007ffac: [["CT" display]]
 
 
 
0007ffb0 - 0007ffe4: [["Br" display]]
 
 
 
0007ffe8 - 0008001c: [["Fa" display]]
 
 
 
00080020 - 00080050: [["Attack" Sword display]]
 
 
 
00080054 - 00080088: [["Magic" Rod display]]
 
 
 
0008008c - 000800b8: [["Missed" display]]
 
 
 
000800bc - 000800e8: [["Guarded" display]]
 
 
 
000800ec - 00080114: [["Caught?" display]]
 
 
 
00080bc4 - 00080c3c: [[*One-Digit Experience*]]
 
 
 
00080c40 - 00080cf4: [[*Two-Digit Experience*]]
 
 
 
00080cf8 - 00080d80: [[*One-Digit JP*]]
 
 
 
00080d84 - 00080e38: [[*Two-Digit JP*]]
 
 
 
00080e3c - 00080e78: [[*"No Target" Display*]]
 
 
 
00080e7c - 00080eb8: [[*"Silenced" Display*]]
 
 
 
00080ebc - 00080f00: [[*"No MP" Display*]]
 
 
 
00143bd8: [[Event Instruction Main Routine 1]]
 
 
 
0017b4d0 - 0017b7b0: [[Calculator Routine]]
 
 
 
0017b874 - 0017bc74: [[Targeting routine:]]
 
 
 
0017c45c - 0017c908: [[Writes action taken ]]
 
 
 
0017dca8: [[Find Unit at Coordinates]]
 
 
 
0017d4a0 - 0017d704: [[Determining Multi Hit Formulas]]
 
 
 
0017da20 - 0017dbc4: [[MP Cost (Half of MP) Section:]]
 
 
 
0017defc - 0017e174: [[Big... Contains Hamedo check]]
 
 
 
0017e780: [[Auto Potion?]]
 
 
 
0017e7e4: [[Gained JP Up Section]]
 
 
 
0017f020: [[Float/Float/Fly movements ]]
 
 
 
00180134: [[Move HP / MP Up?]]
 
 
 
00180b2c: [[Ramza Causes Game Over?]]
 
 
 
001810a0: [[Map Location Calculation]]
 
 
 
001810d4: [[Get unit data pointer?]]
 
 
 
00181114: [[check whose turn it is?]]
 
 
001811f8: [[Player Control Routine?]]
 
 
 
0018130c: [[Weapon Guard Usability ]]
 
 
 
001813c0: [[Player Skill Set:]]
 
 
 
00181f38: [[Routine that checks math skill IDS]]
 
 
 
001835a8: [[Unit doesn't exist/deadcrystaltreasurepetrify/being ridden check]]
 
 
 
0018370c: [[jumped to from 18189c]]
 
 
 
00183bf0: [[Various Flags? r4= data pointer?]]
 
 
 
00183c6c: [[End of Turn]]
 
 
 
00183d10: [[Able to move/act checks (Menu?)]]
 
 
 
00183d70: [[Change of Turn check?]]
 
 
 
00183de0: [[Intermediate routine - preserves return address]]
 
 
 
00183e00: [[another intermediate routine]]
 
 
 
00183e8c: [[activates move/act]]
 
 
 
0018430c: [[Force Attack Miss]]
 
 
 
0018433c: [[Force Attack Miss?]]
 
 
 
001843ec: [[Knockback Calculation:]]
 
 
 
001848d8: [[Attack Evaded Calculations]]
 
 
 
00184964:  [[Compatibility:]]
 
 
 
00184e40: [[Elemental Nullification]]
 
 
 
00184e98: [[Elemental Damage Modification]]
 
 
 
00184f9c: [[Equipment Evasion Setting (Physical)]]
 
 
 
001851c4: [[Equipment Evasion Setting (Magical):]]
 
 
 
001852e4: [[Concentrate Calculation]]
 
 
 
00185328: [[Dark/Confuse Caclulation]]
 
 
 
0018537c: [[Abandon Calculation]]
 
 
 
001853f4: [[Evasion Changes due to Statuses]]
 
 
 
001854b8: [[Transparent Calculation]]
 
 
 
001854fc: [[Facing Evade Calculation]]
 
 
 
00185738: [[Weather effects on Bows]]
 
 
 
00185814: [[Calculate Final Hit %]]
 
 
 
00185a9c: [[Base XA Calculation]]
 
 
 
00185c94: [[Store MA and Y]]
 
 
 
00185cc0: [[Base XA and YA for MA + Y / 2 ]]
 
 
 
00185d00: [[Store PA and PA + Y / 2]]
 
 
 
00185d40: [[Store MA and PA + Y / 2]]
 
 
 
00185d80: [[Store MA and X]]
 
 
 
00185dac: [[Store PA and X]]
 
 
 
00185dd8: [[Store PA and WP]]
 
 
 
00185e04: [[Store PA and Y]]
 
 
 
00185e30: [[Store Speed and X]]
 
 
 
00185e5c: [[Store PA and WP + Y]]
 
 
 
00185e94: [[Formula 64 or Jump Base XA / YA]]
 
 
 
00185f80: [[Charge Calculation]]
 
 
 
00185fa4: [[Weapon Element Strengthen]]
 
 
 
00185ffc: [[Elemental Strengthen]]
 
 
 
00186054: [[Attack UP/Two Hands/Martial Arts]]
 
 
 
0018614c: [[Formula 32, 33, 34, 35 Attack Up and Martial Arts]]
 
 
 
00186204: [[Magic Attack Up routine]]
 
 
 
00186254: [[Attacker Berserk/Frog Check]]
 
 
 
001862cc: [[Defense UP routine]]
 
 
 
0018631c: [[Magic Defense Up routine]]
 
 
 
0018636c: [[Target XA affecting Statuses (Physical):]]
 
 
 
00186460: [[Target's Status Affecting XA (Magical)]]
 
 
 
001864f8: [[Critical Hit Calculation:]]
 
 
 
00186568: [[XA * YA Calculation (Final HP Damage)]]
 
 
 
0018659c: [[Set XA + YA for Status Formulas (Stupid section)]]
 
 
 
00186624: [[Calculate % of damage]]
 
 
 
00186ed0: [[Elemental Section?]]
 
 
 
00186fd0: [[Elemental Damage Modification (Prep)]]
 
 
 
00186ff8: [[Ability Elemental?]]
 
 
 
001870fc: [[Elemental Absorption]]
 
 
 
00187150: [[Faith Calculation:]]
 
 
 
00187248: [[HP Absorbtion]]
 
 
 
00187350: [[Undead Reversal]]
 
 
 
001873d8: [[Undead Absorb Attack:]]
 
 
 
0018746c: [[MP Recovery Routine]]
 
 
 
001874ec: [[Convert HP Damage into MP Recovery]]
 
 
 
001875bc: [[Dragon Check]]
 
 
 
001875fc: [[Sleep Check]]
 
 
 
00187638: [[Maintence]]
 
 
00187730: [[Magic Gun Ability Decision]]
 
 
 
0018783c: [[Quick Effect]]
 
 
00187860: [[Determine which stat will be reduced ]]
 
 
 
00187910: [[Katana Break Chance]]
 
 
001879c8: [[Steal/Break/Might Sword Hard Coding]]
 
 
 
00187ca0: [[Formula 01 - 06 Aftermath]]
 
 
00188288: [[MP Healing Item Formula]]
 
 
 
001882c8: [[100% HP/MP Healing (actual)]]
 
 
 
001882f8: [[Finger Guard]]
 
 
001883ac: [[Catch]]
 
 
00188488: [[Calculate Hit %]]
 
 
   
 
   
00188510: [[Physical Evade Calculation]]
+
RAM -> File
+
    0x00F800 -> [[SCUS 942.21 Routines]]
00188568: [[Physical Evade Calculation]]
+
    0x067000 -> [[WLDCORE.BIN Routines]]
 +
    0x067000 -> [[BATTLE.BIN Routines]]
 +
    0x067000 -> [[OPEN.BIN Routines]]
 +
    0x0E0000 -> [[WORLD.BIN Routines]]
 +
    0x1BF000 -> [[ATTACK.OUT Routines]]
 +
    0x1BF000 -> [[REQUIRE.OUT Routines]]
 +
    0x1BF000 -> [[OPTION.OUT Routines]]
 +
    0x1BF000 -> [[ETC.OUT Routines]]
 +
    0x1BF000 -> [[EQUIP.OUT Routines]]
 +
    0x1BF000 -> [[CARD.OUT Routines]]
 +
    0x1BF000 -> [[BUNIT.OUT Routines]]
 +
    0x1DF000 -> [[JOBSTTS.OUT Routines]]
 +
    0x1DF000 -> [[HELPMENU.OUT Routines]]
 +
    0x1DF000 -> [[SMALL.OUT Routines]]
 +
    0x1DF000 -> SP2 + effects + other.
  
001885b8: [[Magical Evade Calculation:]]
+
PSX Console:
 
 
001885f8: [[Physical XA Modifying Statuses/Support ]]
 
 
   
 
   
00188638: [[Physical Damage Calculation]]
+
  RAM -> File
 
+
    0x00000000 -> [[PSX BIOS]]
001886a4: [[Damage Calculation]]
+
    0x07c00000 -> [[PSX Kernel]]
 
 
001886d4: [[Routine used in formula 2B]]
 
 
 
00188744: [[Magical Support/Status/Compat:]]
 
 
 
0018877c: [[Elemental XA * YA]]
 
 
 
001887c4: [[Elemental Absorb/Status]]
 
 
00188800: [[MA + X]]
 
 
 
00188858: [[Magical XA * YA:]]
 
 
 
00188964: [[Truth/Formula]]
 
 
 
001889a4: [[2Truth/Formula]]
 
 
 
001889cc: [[Calculate Accuracy for Magical Spells ]]
 
 
 
00188a24: [[Calculate Accuracy for Magical]]
 
 
 
00188adc: [[Cluster of Physical Routines]]
 
 
 
00188b14: [[Physical Routine for Hit % abilities]]
 
   
 
0018b34c: [[Pre Formula Setup (FDC)]]
 
 
 
0018c9e4: [['Reflect', Blade Grasp, and Arrow Guard]]
 
 
 
0018cb00: [[Sunken State, Caution, Dragon Spirit,]]
 
 
0018cc34: [[MP Switch, Distribute, and Damage Split]]
 
 
 
0018ccd8: [[PA Save, MA Save, Speed Save]]
 
 
0018ce04:  [[Counter, Counter Tackle]]
 
 
 
0018ce88: [[PA Save, MA Save, Speed Save]]
 
 
 
0018cef4: [[Critical Quick, HP Restore, MP Restore]]
 
 
 
0018cf74: [[Face Up and Absorb Used MP]]
 
 
 
0018cfe8: [[Reflect Reaction?]]
 
 
 
0018d050: [[Blade Grasp Usability]]
 
 
 
0018d0e8: [[Arrow Guard Usability]]
 
 
 
0018d1b8: [[MP Switch Usability]]
 
 
 
0018d2a8: [[Distribute Usability]]
 
 
 
0018d318: [[Damage Split Usability]]
 
 
 
0018d384: [[Chance to React]]
 
 
 
0018d3c0: [[Steal Routine]]
 
 
 
0018d620: [[Attacker's Earned Experience]]
 
 
 
0018d7c8: [[Poison and Regen]]
 
 
 
0018d868: [[Transparent removal routine]]
 
 
 
0018da04: [[target pointers]]
 
 
 
0018da44: [[Crystal, Dead, Jump, Petrify]]
 
 
 
0018dd44: [[Move-HP Up, Move-MP Up, Gained Exp Up]]
 
 
 
0018e9e8: [[Item quantity increment for steal/break?]]
 
 
 
0018ea94: [[Something involving steal/poach?]]
 
 
 
0018eea0: [[Random Process ]]
 
 
 
0018eed8: [[Random Process ]]
 
 
 
00195878 - 0019e15c - [[ AI data Routines]]
 
 
 
001a1810: [[Load ability effect]]
 
 
 
== Unconfirmed Routines ==
 
 
 
Post routines that you have some info on, and people can decipher them when they want to.
 
 
 
 
 
000736d4: [[??? effect research]]
 
 
 
00073eec: [[?? effect research]]
 
 
 
0018bd34: [[?Nullify steal item?]]
 
 
 
00187510: [[??? Routine ]] (Often appears after elemental absorb routine)
 
 
 
00184b24: [[jumped to from poach routine]] - status infliction checks?
 
 
 
 
 
 
 
 
 
00183ea0: [[something involving map coordinates]]
 
 
 
 
 
 
 
 
 
00183fb4: [[deals with map coordinates 1]]
 
 
 
 
 
 
 
 
 
0018401c: deals with map coordinates
 
 
[[deals with map coordinates 2]]
 
 
 
 
 
0018414c: deals with map coordinates
 
 
 
[[deals with map coordinates 3]]
 
 
 
001817c0: Jumped to from 181fb4...?
 
 
[[Jumped to from 181fb4...?]]
 
 
 
 
 
0013b590: jumped to from steal item decrement/stat changes/price change?? And weather effects on crossbows/bows
 
 
 
[[Unknown 1]]
 
 
 
 
0013b644: jumped to from routine immediately above this one
 
 
 
[[Uknown 2]]
 
 
 
 
 
0014a018: Jumped to from subroutines of steal routine - Calculate party inventory?
 
 
 
[[Calculate party inventory?]]
 
 
 
 
 
0017a290: Check ability data?
 
 
 
[[Check ability data?]]
 
 
 
 
 
0018bcf0: Nullification Process? (disables a bunch of stuff)
 
 
 
[[Nullification Process?]]
 
 
 
 
 
0018be08: Big routine - performs ability effects?
 
 
 
[[Big routine - performs ability effects?]]
 

Latest revision as of 06:04, 23 September 2024

For additional ASM notes and an easier to use version of this data in .txt format, [download ASM Files] <-- possibly outdated
If you're just starting ASM, check this page first, it contains some important assorted information
For Data Tables, see Data/Table Locations
Main Routine Locations:

RAM -> File
   0x00F800 -> SCUS 942.21 Routines
   0x067000 -> WLDCORE.BIN Routines
   0x067000 -> BATTLE.BIN Routines
   0x067000 -> OPEN.BIN Routines
   0x0E0000 -> WORLD.BIN Routines
   0x1BF000 -> ATTACK.OUT Routines
   0x1BF000 -> REQUIRE.OUT Routines
   0x1BF000 -> OPTION.OUT Routines
   0x1BF000 -> ETC.OUT Routines
   0x1BF000 -> EQUIP.OUT Routines
   0x1BF000 -> CARD.OUT Routines
   0x1BF000 -> BUNIT.OUT Routines
   0x1DF000 -> JOBSTTS.OUT Routines
   0x1DF000 -> HELPMENU.OUT Routines
   0x1DF000 -> SMALL.OUT Routines
   0x1DF000 -> SP2 + effects + other.
PSX Console:

RAM -> File
   0x00000000 -> PSX BIOS
   0x07c00000 -> PSX Kernel