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
 
(263 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.
+
: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
  
000000a0: Jump to 0x5c4
+
:For Data Tables, see [[Data/Table Locations]]
[[Code]]
 
  
0005e0cc: Checking if Attack Hits?
+
  Main Routine Locations:
[[Code]]
 
 
 
0005e200: Checking known abilities?
 
[[Code]]
 
 
 
0005e644: Data Nullifying (requires r5 = Limit, and r4 = Starting location)
 
 
 
 
 
000736d4: ??? effect research
 
 
 
 
 
00073eec: ??? effect research
 
 
 
 
 
0007ff44: "Speed" display
 
 
 
 
 
0007ff7c: "CT" display
 
 
 
 
 
0007ffb0: "Br" display
 
 
 
 
 
0007ffe8: "Fa" display
 
 
 
 
00080020: "Attack" Sword display
 
   
 
 
 
00080054: "Magic" Rod display
 
 
 
 
 
0008008c: "Missed" display
 
 
 
 
 
000800bc: "Guarded" display
 
 
 
 
 
000800ec: "Caught?" display
 
 
 
 
 
00080bc4: *One-Digit Experience*
 
 
 
 
 
00080c40: *Two-Digit Experience*
 
 
 
 
 
00080cf8: *One-Digit JP*
 
 
 
 
 
00080d84: *Two-Digit JP*
 
 
 
 
 
00080e3c: *"No Target" Display*
 
 
 
 
 
00080e7c: *"Silenced" Display*
 
 
 
 
 
00080ebc: *"No MP" Display*
 
 
 
 
 
0013b590: jumped to from steal item decrement/stat changes/price change?? And weather effects on crossbows/bows
 
 
0013b644: jumped to from routine immediately above this one
 
 
 
 
 
0014a018: Jumped to from subroutines of steal routine - Calculate party inventory?
 
 
 
 
 
0017a290: Check ability data?
 
 
 
 
 
0017b4d0: Calculator Routine
 
 
 
 
 
0017b874: Targeting routine:
 
 
 
 
 
0017c45c: Writes action taken
 
 
 
 
 
0017d4a0: Determining Multi Hit Formulas (and other ugly hard coding)
 
 
 
 
 
0017da20: MP Cost (Half of MP) Section:
 
 
 
 
 
0017defc: Big... Contains Hamedo check
 
 
 
 
0017e780: Auto Potion?
 
 
 
 
 
0017e7e4: Gained JP Up Section... And other stuff
 
 
 
 
 
0017f020: Float/Float/Fly movements (and some other stuff)
 
 
 
 
 
00180134: Move HP / MP Up?
 
 
 
 
 
00180b2c: Ramza Causes Game Over?
 
 
 
 
 
001810a0: Map Location Calculation (requires r4 = Target Data Pointer)
 
 
 
 
001810d4: Get unit data pointer?
 
 
 
 
00181114: check whose turn it is?
 
 
 
 
001811f8: Player Control Routine? ---- look here for Mind Control/Possess
 
 
 
 
 
0018130c: Weapon Guard Usability (requires r4 = Target's Data Pointer)
 
 
 
 
 
001813c0: Player Skill Set:
 
 
 
 
 
001817c0: Jumped to from 181fb4...?
 
 
 
 
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
 
 
 
 
 
00183ea0: something involving map coordinates
 
 
 
 
 
00183fb4: deals with map coordinates
 
 
 
 
 
0018401c: deals with map coordinates
 
 
 
 
0018414c: deals with map coordinates
 
 
 
 
 
0018430c: Force Attack Miss (Used in Formula 0x0E)
 
 
 
 
 
0018433c: Force Attack Miss?
 
 
 
 
 
001843ec: Knockback Calculation:
 
 
 
 
 
001848d8: Attack Evaded Calculations
 
 
 
 
 
00184964: Compatibility:
 
 
 
 
 
00184b24: jumped to from poach routine - status infliction checks?
 
 
 
 
 
00184e40: Elemental Nullification
 
 
 
 
00184e98: Elemental Damage Modification (Halve, Null, Absorb, Weak) (r4 = Weapon's Element)
 
 
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/Crossbows
 
 
 
 
00185814: Calculate Final Hit %
 
 
 
 
 
00185a9c: Base XA Calculation (Weapons)
 
 
 
 
 
00185c94: Store MA and Y
 
 
 
 
 
00185cc0: Base XA and YA for MA + Y / 2 used for Truth and Hydra Formula:
 
 
 
 
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 Calculation
 
 
 
 
 
00185ffc: Elemental Strengthen
 
 
 
 
00186054: Attack UP/Two Hands/Martial Arts
 
 
 
 
 
0018614c: Formula 32, 33, 34, 35 Attack Up and Martial Arts (No Two Hands, also is stupid.)
 
 
 
00186204: Magic Attack Up
 
 
 
 
 
00186254: Attacker Berserk/Frog Check
 
 
 
 
 
001862cc: Defense UP
 
 
 
 
 
0018631c: Magic Defense Up
 
 
 
 
 
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 (Seems needlessly complex)
 
 
 
 
00187350: Undead Reversal
 
 
 
 
001873d8: Undead Absorb Attack:
 
 
 
 
 
0018746c: MP Recovery Routine (Longer then it needs to be?)
 
 
 
 
 
001874ec: Convert HP Damage into MP Recovery (Formula 54)
 
 
 
 
 
00187510: ??? Routine (Often appears after elemental absorb routine)
 
 
 
 
 
001875bc: Dragon Check:
 
 
 
 
 
001875fc: Sleep Check:
 
 
 
 
00187638: Maintence Check:
 
 
 
 
00187730: Magic Gun Ability Decision:
 
 
 
 
 
0018783c: Quick Effect:
 
 
 
 
00187860: Determine which stat will be reduced (bunch of hardcoding)
 
 
 
 
 
00187910: Katana Break Chance:
 
 
 
 
001879c8: Steal/Break/Might Sword Hard Coding
 
 
 
 
 
00187ca0: Formula 01 - 06 Aftermath (Contains Poach and Secret Hunt)
 
 
   
 
   
 +
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.
  
00188288: MP Healing Item Formula
+
PSX Console:
 
 
 
 
001882c8: 100% HP/MP Healing (actual)
 
 
 
 
 
001882f8: Finger Guard:
 
 
   
 
   
 
+
  RAM -> File
001883ac: Catch:
+
    0x00000000 -> [[PSX BIOS]]
+
    0x07c00000 -> [[PSX Kernel]]
 
 
00188488: Calculate Hit %
 
   
 
 
 
00188510: Physical Evade Calculation:
 
 
 
 
00188568: Physical Evade Calculation (Charge):
 
 
 
 
 
001885b8: Magical Evade Calculation:
 
 
 
 
 
001885f8: Physical XA Modifying Statuses/Support (Plus Compat):
 
 
 
 
00188638: Physical Damage Calculation (Weapons):
 
 
 
 
 
001886a4: Damage Calculation
 
 
 
 
 
001886d4: Routine used in formula 2B
 
 
 
 
 
00188744: Magical Support/Status/Compat:
 
 
 
 
 
0018877c: Elemental XA * YA (often used in Magic based formulas)
 
 
 
 
 
001887c4: Elemental Absorb/Status and an odd r2 = 0
 
 
 
 
00188800: MA + X (For... Only buffs?)
 
 
 
 
 
00188858: Magical XA * YA:
 
 
 
 
 
00188964: Truth/Formula 5E-5F Magical damage:
 
 
 
 
 
001889a4: 2Truth/Formula 5E-5F Calculate damage:
 
 
 
 
 
001889cc: Calculate Accuracy for Magical Spells (No elemental boost)
 
 
 
 
 
00188a24: Calculate Accuracy for Magical Spells
 
 
 
 
 
00188adc: Cluster of Physical Routines that has attacker berserk / frog checks...
 
 
 
 
 
00188b14: Physical Routine for Hit % abilities
 
 
 
 
0018b34c: Pre Formula Setup (FDC)
 
 
 
 
 
0018bcf0: Nullification Process? (disables a bunch of stuff)
 
 
 
 
 
0018bd34: ?Nullify steal item?
 
 
 
 
 
0018be08: Big routine - performs ability effects?
 
 
 
 
0018c9e4: 'Reflect', Blade Grasp, and Arrow Guard check?
 
 
 
 
 
0018cb00: Sunken State, Caution, Dragon Spirit, Brave Up, Face Up, Counter Tackle, Counter Flood, Absorb Used MP, Counter, Counter Magic Check:
 
 
 
 
0018cc34: MP Switch, Distribute, and Damage Split Check:
 
 
 
 
0018ccd8: PA Save, MA Save, Speed Save, Regenerator, HP Restore, MP Restore, Critical Quick, Meatbone Slash, Auto Potion, Gilgame Heart Check:
 
 
 
 
0018ce04: Counter, Counter Tackle, Counter Magic, Counter Flood, Brave Up, Dragon Spirit, Sunken State, and Caution Usability:
 
 
 
0018ce88: PA Save, MA Save, Speed Save, Regenerator, Auto Potion, Gilgame Heart Usability:
 
 
 
 
 
0018cef4: Critical Quick, HP Restore, MP Restore, Meatbone Slash Usability:
 
 
 
 
0018cf74: Face Up and Absorb Used MP Usability:
 
 
 
 
 
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 and Gained EXP Up
 
 
 
 
0018d7c8: Poison and Regen:
 
 
 
 
 
0018d868: Transparent removal routine
 
 
 
 
 
0018da04: target pointers
 
 
 
 
0018da44: Crystal, Dead, Jump, Petrify, and Treasure check:
 
 
 
 
 
0018dd44: Move-HP Up, Move-MP Up, Gained Exp Up, Gained JP Up:
 
 
 
 
 
0018e9e8: Item quantity increment for steal/break?
 
 
 
 
0018ea94: something involving steal/poach?
 
 
 
 
 
0018eea0: Random Process (gives a number between 0-7FFF)
 
 
 
 
0018eed8: Random Process (gives a random based on r4 (MOD) and checks against r5 (chance to work))
 
 
 
 
 
00195878 - 0019e15c  AI data Routines
 
 
 
 
 
001a1810: Load ability effect: called from 73f68
 

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