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
 
(188 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. If you know the return locations of the routine, please link to them under the routine code. See "Defense Up" for an example.
+
: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]]
 
 
 
0002230c - 00022314: [[Random Number Generator]]
 
 
 
00042a10 - 00042aac: [[Starting Inventory]]
 
 
 
00059854 - 00059abc: [[Initialize Status Check Data]]
 
 
 
00059ac8 - 00059aec: [[Initialize Party ID to FF]]
 
 
 
00059af0 - 00059b14: [[Get Party Data Pointer]]
 
 
 
00059b18 - 00059bac: [[Unit Initialization ]]
 
 
 
00059bb0 - 00059d58: [[Add Unit to Party/Store Unit's Party Data]]
 
 
 
00059d5c - 00059e14: [[Find Free Party Slot]]
 
 
 
00059e18 - 00059ed0: [[Create Monster Egg]]
 
 
 
00059ed4 - 00059f90: [[Find Empty Party Slot and Generate Unit]]
 
 
 
00059f94 - 00059fdc: [[Find Unit's Party Data Location]]
 
 
 
00059fe0 - 00059ff8: [[Remove Unit from Party]]
 
 
 
00059ffc - 0005a3dc: [[Out of Battle Unit Generation]]
 
 
 
0005a3e0 - 0005a3fc: [[Generate Unit's Base Raw Stats Prep]]
 
 
 
0005a400 - 0005a444: [[Prep for Generating Base Raw Stats]]
 
 
 
0005a448 - 0005a51c: [[Generate Unit's Base Raw Stats]]
 
 
 
0005a520 - 0005a564: [[Transfer Job's Growths/Mults to Unit]]
 
 
 
0005a568 - 0005a634: [[Load Ability From Skillset]]
 
 
 
0005a638 - 0005a728: [[Store Skillset's Abilities]]
 
 
 
0005a72c - 0005a880: [[Calculate Ability Pointers and Type]]
 
 
 
0005a884 - 0005a8a0: [[Get Item Data Pointer]]
 
 
 
0005a8a4 - 0005a8d0: [[Get Job Data Pointer]]
 
 
 
0005a8d4 - 0005a9b0: [[Initialize Unit's Job Data]]
 
 
 
0005a9b4 - 0005aafc: [[Unit Battle Initialization]]
 
 
 
0005ab00 - 0005ab44: [[Equipment/Move/Jump +X/Name Storing/Generation]]
 
 
 
0005ab48 - 0005ac18: [[Store Ramza's Name/Birthday/Zodiac]]
 
 
 
0005ac1c - 0005b034: [[ENTD Data Calculation]]
 
 
 
0005b038 - 0005b0cc: [[Prep for Initializing Unit's Job Data]]
 
 
 
0005b0d0 - 0005b2b0: [[Initialize Unit's Battle Data]]
 
 
 
0005b2b4 - 0005b4fc: [[Calculate ENTD Unit Jobs]]
 
 
 
0005b500 - 0005b5d8: [[Sprite Set and Random Secondary Job Calculation]]
 
 
 
0005b5dc - 0005b79c: [[Transfer Job's Data to Unit's Data]]
 
 
 
0005b7a0 - 0005b828: [[Enable Unit's R/S/M Flags]]
 
 
 
0005b82c - 0005b87c: [[R/S/M Flag Setting]]
 
 
 
0005b880 - 0005ba6c: [[Calculate Actual Stats (Used for Stat Capping as well)]]
 
 
 
0005ba70 - 0005bdac: [[Calculate Unit's Abilities]]
 
 
 
0005bdb0 - 0005bdec: [[Monster Equipment Storing]]
 
 
 
0005bdf0 - 0005c278: [[Calculate/Store ENTD Unit Equipment]]
 
 
 
0005c27c - 0005c394: [[Equippable Item Setting (Support/Female-only)]]
 
 
 
0005c398 - 0005c5c4: [[Equipment Stat Setting]]
 
 
 
0005c5c8 - 0005c8e8: [[Equipment Attribute Setting]]
 
 
 
0005c8ec - 0005c980: [[Move/Jump +X Calculation]] (can be used to load data at start of battle)
 
 
 
0005c984 - 0005cbcc: [[Store/Generate Character Names]]
 
 
 
0005cbd0 - 0005cc60: [[Calculate Highest Party Level]]
 
 
 
0005cc64 - 0005cc94: [[Store X into Y ]] (r4 = Loading Pointer, r5 = Storing Pointer)
 
 
 
0005cc98 - 0005ce70: [[Calculate Random Equipment]]
 
 
 
0005ce74 - 0005d0b8: [[Calculate Learned Abilities]]
 
 
 
0005d0bc - 0005d3c0: [[Calculate Unit's R/S/M]]
 
 
 
0005d3c4 - 0005d410: [[Find Skillset's Job ID (Not used?)]]
 
 
 
0005d414 - 0005d46c: [[Status Initialization]]
 
 
 
0005d470 - 0005d4cc: [[Nullify CT/Initialize Death Counter]]
 
 
 
0005d4d0 - 0005d5b8: [[Float/Current Statuses/Status Immunities/Status CT]]
 
 
 
0005d5bc - 0005d5dc: [[Status Setting/Checking + Equip/R/S/M Stats Prep]]
 
 
 
0005d5e0 - 0005d600: [[Status Setting/Checking + Equip/R/S/M Stats Prep 2]]
 
 
 
0005d604 - 0005d624: [[Status Setting/Checking + Equip/R/S/M Stats Prep 3]]
 
 
 
0005d628 - 0005d87c: [[Status Setting/Checking + Equip/R/S/M Stats]]
 
 
 
0005d880 - 0005d8f8: [[Check if Unit Leveled UP]]
 
 
 
0005d8fc - 0005da0c: [[Level Unit to Specific Level]]
 
 
 
0005da10 - 0005db6c: [[Level Up Section]]
 
 
 
0005db70 - 0005dc10: [[Status CT Setting]]
 
 
 
0005dc14 - 0005dd44: [[Calculate Unlocked Jobs]]
 
 
 
0005dd48 - 0005ded4: [[Proposition JP Gain]]
 
 
 
0005ded8 - 0005def0: [[Store 3-Byte Data]]
 
 
 
0005def4 - 0005df34: [[Calculate Job Level]]
 
 
 
0005df38 - 0005dfa8: [[Initialize Unit's Job Levels]]
 
 
 
0005dfac - 0005dfd0: [[Initialize Some Unit Data]]
 
 
 
0005dfd4 - 0005e014: [[Minimum SP Capping/War Trophy Nulling/Status Initialization]]
 
 
 
0005e018 - 0005e04c: [[Get Ability's Range]]
 
 
 
0005e050 - 0005e084: [[Get Ability's AoE]]
 
 
 
0005e088 - 0005e0c8: [[Calculate Unit's Palette/Portrait (return Portrait)]]
 
 
 
0005e0cc - 0005e11c: [[Check if Random is greater/equal to Chance]]
 
 
 
0005e120 - 0005e1ac: [[Get Unit's Portrait/Palette]]
 
 
 
0005e1b0 - 0005e1fc: [[Status Checks (r5 = set to check)]]
 
 
 
0005e200 - 0005e228: [[Get Known Abilities]]
 
 
 
0005e22c - 0005e250: [[Transfer Target ID? Through Mount Data]]
 
 
 
0005e254 - 0005e284: [[Store X Byte into Y]]
 
 
 
0005e288 - 0005e474: [[Get Total Equipment Quantity (Equip Change/Formation Screen?)]]
 
 
 
0005e478 - 0005e4e4: [[Initialize Unit's X/Y+Facing/Battle Rewards]]
 
 
 
0005e4e8 - 0005e5d4: [[Get Lowest Order Status' 0x08 Check Data? (Status Checks 2)]]
 
 
 
0005e5d8 - 0005e640: [[Calculate Zodiac Symbol]]
 
 
 
0005e644 - 0005e66c: [[Data Nullifying]] (requires r5 = Limit, and r4 = Starting location)
 
 
 
0005e670 - 0005e6c8: [[Increase Casualties/Injured Counters]]
 
 
 
0005e6cc - 0005e740: [[Inflicted Status Changes]]
 
 
 
0005e744 - 0005e774: [[Store Current Statuses]]
 
 
 
0005e778 - 0005e7a4: [[Transfer Last Ability Used CT]]
 
 
 
0005e7a8 - 0005e8e4: [[Enable/disable acting statuses]]
 
 
 
0005e8e8 - 0005e908: [[? removed code?]]
 
 
 
== WORLD.BIN RAM ==
 
 
 
001208f8 - 0012092c: [[Dismiss-able check]]
 
 
 
== BATTLE.BIN RAM ==
 
 
 
*00067000 - 00067794: Return Addresses
 
 
 
000683e4 - 00068414: [[Transfer Unit's X/Y/Map Level]]
 
 
 
00068418 - 00068490: [[X/Y Data Gathering for Attacks?]]
 
 
 
 
 
00068534 - 00068630: [[Palette modification based on team]]
 
 
 
 
 
0006867c - 000686ac: [[Increment AT List ID]]
 
 
 
 
 
00068e80 - 000690f4: [[Special Status Flag Enabling?]]
 
 
 
 
 
00072928 - 00072a0c: [[Rider/Mount X/Y/Facing Setting?]]
 
 
 
 
 
00072a88 - 00072acc: [[Check if Facing Needs Changed?]]
 
 
 
000732c8 - 000734c8: [[Battle Message Display]]
 
 
 
 
 
000736d4 - 000739c8: [[Display calculations for current ability]]  critical hit, reflect, etc.
 
 
 
 
 
00073eec - 00073fb4: gets weapon graphic and palette and ability effect?
 
 
 
 
 
00074f5c - 0007530c: big Misc unit data routine
 
 
 
 
 
0007a6e4 - 0007a720: [[Find Current Misc Unit Data Pointer (external ID)?]]
 
 
 
0007a724 - 0007a770: [[Find Misc Unit Data Pointer (checking for specific unit)?]]
 
 
 
 
 
0007ac60 - 0007aca8: [[Unit RGB/Sprite Type/? Initialization]]
 
 
 
 
 
0007b4ec - 0007b52c: [[Store Display Data]]
 
 
 
 
 
0007f45c - 0007f508: [[Store Item's Display Data]]
 
 
 
 
 
0007f5f8 - 0007ff40: [[Post Action Display Routine]]
 
 
 
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]]
 
 
 
000803e4 - 000808b4: [[Post-Action Display Setup]]
 
 
 
000808b8 - 00080bc0: [[Set Exp/JP Display Data and get Palette]]
 
 
 
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*]]
 
 
 
 
 
00080f44 - 00080fe8: [[Prep for Displaying Earned Exp/JP]]
 
 
 
 
 
000810a4 - 00081974: [[More post action display?]]
 
 
 
 
 
00082508 - 0008254c: [[Status/? Misc ID checks]]
 
 
 
00082550 - 00082588: [[Transparent Check]] (for opacity?)
 
 
 
 
 
00083758 - 00083850: [[Set thrown item graphic/palette]] also throw stone
 
 
 
 
 
0008ced0 - 0008cef8: [[Find Unit's Misc Data Pointer (+0x15c)]]
 
 
 
 
 
0008dc24 - 0008dc70: [[Get Unit's Spritesheet Value]]
 
 
 
 
 
0008dc9c - 0008dcc0: [[Find Unit's Misc Data Pointer and Load Spritesheet Value]]
 
 
 
 
 
0008f710 - 00090044: [[Palette Modification]]
 
 
 
 
 
00092620 - 000926d4: [[Extract RGB+Alpha from Palette]]
 
 
 
000926d8 - 000927b8: [[Get Palette Data]]
 
 
 
 
 
0011acdc - 0011aeec: [[Throw Determination Routine]]
 
 
 
 
 
00132824 - 00132858: [[Prep for Loading Text]]
 
 
 
 
 
00136b10 - 00136bcc: [[Get Item Graphic Data]]
 
 
 
 
 
0013b590 - 0013b640: jumped to from steal item decrement/stat changes/price change?? And weather effects on crossbows/bows
 
 
 
0013b644 - 0013b6e0: jumped to from routine immediately above this one
 
 
 
 
 
00143bd8 - 001449f8: [[Event Instruction Main Routine 1]]
 
 
 
001449fc - 00145750: [[Event Instruction Main Routine 2]]
 
 
 
00145754 - 00145f70: [[Event Instruction Main Routine 3]]
 
 
 
0014a018 - 0014a2e8: Jumped to from subroutines of steal routine - [[Calculate party inventory?]]
 
 
 
 
 
0014ce78 - 0014ceb0: [[Find Text ID's Location]]
 
 
 
 
 
*00174068 - 0017436c: Return addresses
 
 
 
 
 
001743c8 - 0017442c: [[Chocobo Check]]
 
 
 
 
 
00179204 - 00179258: [[Moldball Virus Depth Check]]
 
 
 
 
 
001792a4 - 001793fc: [[Check Vert Tolerance and if Tiles can be Chosen]]
 
 
 
00179400 - 00179420: [[Null some Tile Data (192dd9)]]
 
 
 
00179424 - 00179514: more map/targeting stuff
 
 
 
00179518 - 00179638: [[Calculate Tiles Hit by Ability]]
 
 
 
0017963c - 001797b8: [[Calculate Possible AoE Tiles]]
 
 
 
 
 
0017a16c - 0017a28c: [[calculate ability range with map parameters?]]
 
 
 
0017a290 - 0017a514: [[Set panels affected by ability?]]
 
 
 
0017a7bc - 0017a8bc: some map calculation
 
 
 
0017a8c0 - 0017aaf4: [[Calculate ability range for menu types?]]
 
 
 
0017aaf8 - 0017ac8c: [[Calculate Targeting for Menu Types]]
 
 
 
0017ac90 - 0017afbc: [[Ability/attack checks
 
 
 
 
 
0017b4a0 - 0017b4cc: [[Disable Green Panel Flags]]
 
 
 
0017b4d0 - 0017b7b0: [[Calculator Routine]]
 
 
 
0017b7b4 - 0017b870: [[Disable Green Panel on all but Target's Tile]]
 
 
 
0017b874 - 0017bc74: [[Targeting routine]]
 
 
 
0017bc78 - 0017bdcc: [[Check Allies/Enemies that can be Targeted]]
 
 
 
0017bdd0 - 0017be64: [[Check if Unit can be Targeted]]
 
 
 
0017be68 - 0017c040: [[Linear/3-direction AoE Calculation]]
 
 
 
0017c044 - 0017c154: [[Linear Attack Tile Calculation]]
 
 
 
0017c158 - 0017c3b4: [[Calculate Height Data]]
 
 
 
0017c3dc - 0017c458: [[Attack Preparation Setup]]
 
 
 
0017c45c - 0017c908: [[Attack Preparation]]
 
 
 
 
 
0017c954 - 0017c9b4: [[Player Item Quantity decrement]]
 
 
 
0017c9b8 - 0017cac8: [[Prep Current Action Data]]
 
 
 
0017cacc - 0017cd20: [[Reaction Target/Hit Calculation]]
 
 
 
0017cd24 - 0017ce40: [[Map calculations for attack]] Attack, charge, ranged weapon flag
 
 
 
0017ce44 - 0017d34c: [[Main ability loading routine?]]
 
 
 
0017d350 - 0017d40c: [[set target coordinates for ability?]] also set regenerator target
 
 
 
0017d410 - 0017d49c: [[draw out routine dealing with experience gain]]
 
 
 
0017d4a0 - 0017d704: [[Current Action Ability Data Setting / Multi Hit Formulas]]
 
 
 
0017d708 - 0017d84c: Targeting/panel routine
 
 
 
0017d850 - 0017da1c: more map/panel targeting
 
 
 
0017da20 - 0017dbc4: [[Ability Usage Checks and MP Reduction]]
 
 
 
0017dbc8 - 0017dc84: [[Store Some Acting Unit Data]]
 
 
 
0017dc88 - 0017dca4: [[Get ID of Unit if Tile is Targetable]]
 
 
 
0017dca8 - 0017decc: [[Check if another unit is on the same Tile]]
 
 
 
0017ded0 - 0017def8: [[Clear targeting panel data?]]
 
 
 
0017defc - 0017e174: [[Big... Contains Hamedo check]]
 
 
 
0017e178 - 0017e58c: [[Main reaction routine?]]
 
 
 
0017e590 - 0017e64c: [[Counter magic targeting?]]
 
 
 
0017e650 - 0017e77c: [[Store counter ability?]]
 
 
 
0017e780 - 0017e7e0: [[Auto Potion]]
 
 
 
0017e7e4 - 0017ea24: [[Gained JP Up Section]]
 
 
 
0017ea28 - 0017ea7c: [[Load Job Level]]
 
 
 
0017ea80 - 0017ec14: [[Store JP; Calculate Unlocked Jobs]]
 
 
 
 
 
0017f020 - 0017f0e8: [[Float/Float/Fly movements ]]
 
 
 
 
 
0017f2d8 - 0017f318: [[Get Elemental Ability ID]]
 
 
 
 
 
0017fddc - 0017ffbc: [[Set Rider/Mount's X/Y Data]]
 
 
 
 
 
00180134 - 00180170: [[Move HP / MP Up]]
 
 
 
00180174 - 0018020c: [[Set Status Based on Ability]]
 
*00180210 - 18022c: Auxilary routine
 
 
 
00180230 - 0018052c: [[Move-Find Item Routines]]
 
 
 
00180530 - 00180900: [[Generate Crystal or Treasure]]
 
 
 
00180904 - 00180a04: [[Learn from Crystal]]
 
 
 
00180a08 - 00180af8: [[Generate Treasure]]
 
 
 
00180afc - 00180b28: [[Get Unit's Data Pointer]]
 
 
 
00180b2c - 00180c8c: [[Check Sprite Set]] | [[Ramza Causes Game Over]]
 
 
 
 
 
00180fe4 - 0018109c: [[Prep for Special Status Flag Enabling]]
 
 
 
001810a0 - 001810d0: [[Map Location Calculation]]
 
 
 
001810d4 - 00181110: [[Load unit Data]] (exists check within)
 
 
 
00181114 - 00181148: [[Find Active Unit Data Pointer?]]
 
 
 
 
 
001811f8 - 00181308: [[Player Control Routine?]]
 
 
 
0018130c - 001813bc: [[Weapon Guard Usability ]] (Check if Unit can React)
 
 
 
001813c0 - 00181580: [[Player Skill Set]]
 
 
 
00181584 - 0018171c: [[Skillset Loading?]]
 
 
 
00181720 - 001817bc: [[Ability Loading?]]
 
 
 
001817c0 - 00181b6c: [[Load ability data for skillset]] (MP, CT, req. sword booleans)
 
 
 
00181b70 - 00181cb4: [[Item Inventory]]
 
 
 
00181cb8 - 00181eec: [[Throw]]
 
 
 
00181ef0 - 00182060: [[Math Skill]]
 
 
 
 
 
001821cc - 001822c8: [[Elemental]]
 
 
 
001822cc - 0018242c: [[Monster skill, frog attack ability loading]]
 
 
 
00182430 - 00182504: [[Monster Skill check prep]]
 
 
 
00182508 - 00182660: [[Monster Skill check]]
 
 
 
00182664 - 00182784: [[Draw Out]]
 
 
 
 
 
001827f0 - 001829b4: [[In between turn routine]] Based on values of 0x0018f518
 
 
 
001829b8 - 00182a40: [[CT increment]]
 
 
 
00182a44 - 00182ba8: [[100 CT routines?]]
 
 
 
00182bac - 00182c04: [[Ability CT decrement]]
 
 
 
00182c08 - 00182c8c: [[Post-ability CT setting]]
 
 
 
00182c90 - 00182ce4: ???? involves jump
 
 
 
00182ce8 - 00182d4c: ???? Involves jump
 
 
 
00182d8c - 00182dfc: [[Find highest CT?]]
 
 
 
00182e00 - 00182e6c: [[See if move is available?]]
 
 
 
00182e70 - 00182ea8: involves poison and regen routine
 
 
 
00182eac - 00182fa0: involves poison marsh routine
 
 
 
00182fa4 - 00183074: ????
 
 
 
00183078 - 001832c8: [[Death sentence, crystalization, treasurization, etc]] also: reraise, defend removal, chicken brave increment
 
 
 
001832cc - 00183370: [[Status checks]]
 
 
 
00183374 - 001834b8: [[Gameover by party incapacitated]]
 
 
 
00183544 - 001835a4: [[Calculate AT List and Get Specific Unit ID]]
 
 
 
001835a8 - 001835f0: [[Unit doesn't exist/deadcrystaltreasurepetrify/being ridden check]]
 
 
 
 
 
0018370c - 00183ac8: [[Calculate AT List]]
 
 
 
00183acc - 00183e90: [[AT List Sorting]]
 
 
 
 
 
00183bf0 - 00183c68: [[Various Flags r4= data pointer]]
 
 
 
00183c6c - 00183d0c: [[End of Turn]]
 
 
 
00183d10 - 00183d6c: [[Able to move/act checks (Menu?)]]
 
 
 
00183d70 - 00183ddc: [[Change of Turn check]]
 
 
 
00183e00 - 00183e38: [[another intermediate routine]]
 
 
 
 
 
00183e8c - 00183e9c: [[Activates move/act]]
 
 
 
00183ea0 - 00183f5c: [[something involving map coordinates]]
 
 
 
00183f60 - 00183fb0: [[Load Move Find-Item data to Current Map]]
 
 
 
00183fb4 - 00184018: [[Get Tile's Data Pointer]]
 
 
 
0018401c - 00184148: [[deals with map coordinates 2]]
 
 
 
0018414c - 001842f4: [[deals with map coordinates 3]]
 
 
 
 
 
0018430c - 00184338: [[Force Attack Miss]]
 
 
 
0018433c - 0018435c: [[Force Attack Miss?]]
 
 
 
 
 
001843ec - 0018460c: [[Knockback Calculation]]
 
 
 
00184610 - 001848d4: [[Knockback 2]]
 
 
 
001848d8 - 00184960: [[Attack Evaded Calculations]]
 
 
 
00184964 - 00184b20:  [[Compatibility]]
 
 
 
00184b24 - 00184e3c: [[Validate Status Changes]]
 
 
 
00184e40 - 00184e94: [[Elemental Nullification]] Nullify Action - Glain
 
 
 
00184e98 - 00184f98: [[Elemental Damage Modification]]
 
 
 
00184f9c - 001851c0: [[Equipment Evasion Setting (Physical)]]
 
 
 
001851c4 - 001852e0: [[Equipment Evasion Setting (Magical)]]
 
 
 
001852e4 - 00185324: [[Concentrate Calculation]]
 
 
 
00185328 - 00185378: [[Dark/Confuse Caclulation]]
 
 
 
0018537c - 001853f0: [[Abandon Calculation]]
 
 
 
001853f4 - 001854b4: [[Evasion Changes due to Statuses]]
 
 
 
001854b8 - 001854f8: [[Transparent Calculation]]
 
 
 
001854fc - 00185734: [[Facing Evade Calculation]]
 
 
 
00185738 - 00185810: [[Weather effects on Bows]]
 
 
 
00185814 - 00185a98: [[Calculate Final Hit %]]
 
 
 
00185a9c - 00185c90: [[Base XA Calculation]]
 
 
 
00185c94 - 00185cbc: [[Store MA and Y]]
 
 
 
00185cc0 - 00185d3c: [[Base XA and YA for MA + Y / 2 ]]
 
 
 
00185d00 - 00185d7c: [[Store PA and PA + Y / 2]]
 
 
 
00185d40 - 00185d7c: [[Store MA and PA + Y / 2]]
 
 
 
00185d80 - 00185da8: [[Store MA and X]]
 
 
 
00185dac - 00185dd4: [[Store PA and X]]
 
 
 
00185dd8 - 00185e00: [[Store PA and WP]]
 
 
 
00185e04 - 00185e2c: [[Store PA and Y]]
 
 
 
00185e30 - 00185e58: [[Store Speed and X]]
 
 
 
00185e5c - 00185e90: [[Store PA and WP + Y]]
 
 
 
00185e94 - 00185f7c: [[Formula 64 or Jump Base XA / YA]]
 
 
 
00185f80 - 00185fa0: [[Charge Calculation]]
 
 
 
00185fa4 - 00185ff8: [[Weapon Element Strengthen]]
 
 
 
00185ffc - 00186050: [[Elemental Strengthen]]
 
 
 
00186054 - 00186148: [[Attack UP/Two Hands/Martial Arts]]
 
 
 
0018614c - 00186200: [[Formula 32, 33, 34, 35 Attack Up and Martial Arts]]
 
 
 
00186204 - 00186250: [[Magic Attack Up routine]]
 
 
 
00186254 - 001862c8: [[Attacker Berserk/Frog Check]]
 
 
 
001862cc - 00186318: [[Defense UP routine]]
 
 
 
0018631c - 00186368: [[Magic Defense Up routine]]
 
 
 
0018636c - 0018645c: [[Target XA affecting Statuses (Physical)]]
 
 
 
00186460 - 001864f4: [[Target's Status Affecting XA (Magical)]]
 
 
 
001864f8 - 00186564: [[Critical Hit Calculation]]
 
 
 
00186568 - 00186598: [[XA * YA Calculation]]
 
 
 
0018659c - 00186620: [[Set XA + YA for Status Formulas (Stupid section)]]
 
 
 
00186624 - 00186688: [[Calculate % of damage]]
 
 
 
 
 
00186ed0 - 00186fcc: [[Weather Elemental effects]]?
 
 
 
00186fd0 - 00186ff4: [[Elemental Damage Modification (Prep)]]
 
 
 
00186ff8 - 001870f8: [[Ability Elemental?]] Apply Elemental - Glain
 
 
 
001870fc - 0018714c: [[Elemental Absorption]]
 
 
 
00187150 - 00187244: [[Faith Calculation]]
 
 
 
00187248 - 0018734c: [[HP Absorbtion]] (Seems needlessly complex)
 
 
 
00187350 - 001873d4: [[Undead Reversal]]
 
 
 
001873d8 - 00187468: [[Undead Absorb Attack]]
 
 
 
0018746c - 001874e8: [[MP Recovery Routine]] -MP Absorb*
 
 
 
001874ec - 0018750c: [[Convert HP Damage into MP Recovery]]
 
 
 
00187510 - 001875b8: [[??? Routine ]] (Often appears after elemental absorb routine)
 
 
 
001875bc - 001875f8: [[Dragon Check]]
 
 
 
001875fc - 00187634: [[Sleep Check]]
 
 
 
00187638 - 0018768c: [[Maintenance]]
 
 
 
00187690 - 001876e0: [[Conditional Status Proc Roll (19%) Inner Routine]]
 
 
00187730 - 00187838: [[Magic Gun Ability Decision]]
 
 
 
0018783c - 0018785c: [[Quick Effect]]
 
 
   
 
   
00187860 - 0018790c: [[Determine which stat will be reduced ]]
+
RAM -> File
 
+
    0x00F800 -> [[SCUS 942.21 Routines]]
00187910 - 001879c4: [[Katana Break Chance]]
+
    0x067000 -> [[WLDCORE.BIN Routines]]
+
    0x067000 -> [[BATTLE.BIN Routines]]
001879c8 - 00187c9c: [[Steal/Break/Might Sword Hard Coding]]
+
    0x067000 -> [[OPEN.BIN Routines]]
 
+
    0x0E0000 -> [[WORLD.BIN Routines]]
00187ca0 - 00187eb0: [[Formula 01 - 06 Aftermath]]
+
    0x1BF000 -> [[ATTACK.OUT Routines]]
 
+
    0x1BF000 -> [[REQUIRE.OUT Routines]]
00187eb4 - 00187f20: [[Apply status (to action) - (Preserve hit status, evade type, hit %)]]
+
    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.
  
00187f24 - 00188284: [[Apply status (to action)]]
+
PSX Console:
 
   
 
   
00188288 - 001882c4: [[MP Healing Item Formula]]
+
  RAM -> File
 
+
    0x00000000 -> [[PSX BIOS]]
001882c8 - 001882f4: [[100% HP/MP Healing (actual)]]
+
    0x07c00000 -> [[PSX Kernel]]
 
 
001882f8 - 001883a8: [[Finger Guard]]
 
 
001883ac - 00188484: [[Catch]]
 
 
00188488 - 001884bc: [[Calculate Hit %]]
 
 
 
001884c0 - 0018850c: [[Conditional Status Proc Roll (19%)]]
 
 
00188510 - 00188564: [[Physical Evade Calculation]]
 
 
00188568 - 001885b4: [[Physical Evade Calculation(Charge)]]
 
 
 
001885b8 - 001885f4: [[Magical Evade Calculation]]
 
 
 
001885f8 - 00188634: [[Physical XA Modifying Statuses/Support ]]
 
 
00188638 - 001886a0: [[Weapon Damage Calculation]]
 
 
 
001886a4 - 001886d0: [[Damage Calculation]]
 
 
 
001886d4 - 00188718: [[Routine used in formula 2B]]
 
 
 
00188744 - 00188778: [[Magical Support/Status/Compat]]
 
 
 
0018877c - 001887c0: [[Elemental XA * YA]]
 
 
 
001887c4 - 001887fc: [[Elemental Absorb/Status]]
 
 
00188800 - 00188854: [[MA + X]]
 
 
 
00188858 - 00188884: [[Magical XA * YA]]
 
 
 
00188964 - 001889a0: [[Truth/Formula 5E-5F Magical damage]]
 
 
 
001889a4 - 001889c8: [[2Truth/Formula 5E-5F Calculate damage]]
 
 
 
001889cc - 00188a20: [[Calculate Accuracy for Magical Spells ]]
 
 
 
00188a24 - 00188a80: [[Calculate Accuracy for Magical]]
 
 
 
00188adc - 00188b10: [[Cluster of Physical Routines]]
 
 
 
00188b14 - 00188b60: [[Physical Routine for Hit % abilities]]
 
 
 
 
 
0018b274 - 0018b348: [[Store used weapon]] based on action menu byte
 
 
0018b34c - 0018b9f4: [[Pre Formula Setup (FDC)]]
 
 
 
0018b9f8 - 0018ba40: [[Remove Status]]
 
 
 
 
 
0018bcf0 - 0018bd30: [[Called by Nullify Action]] - Glain
 
 
 
0018bd34 - 0018bd70: [[?Nullify steal item?]] - Glain (Update Notes)
 
 
 
0018bd74 - 0018bdd0: [[Current Action Data Nulling]]
 
 
 
0018bdd4 - 0018be04: [[Null Some Status Data]]
 
 
 
0018be08 - 0018c67c: [[Main Reaction Routine - performs ability effects]]
 
 
 
0018c680 - 0018c754: [[Poach Calculation]]
 
 
 
0018c758 - 0018c858: [[some kind of ENTD/Unit manipulation]]
 
 
 
0018c85c - 0018c91c: [[Level up/down ability]]
 
 
 
0018c920 - 0018c964: [[Check if unit can react 1]]
 
 
 
0018c968 - 0018c99c: [[Check if unit can react?]]
 
 
 
0018c9a0 - 0018c9e0: [[Reaction check?]]
 
 
 
0018c9e4 - 0018cafc: [['Reflect', Blade Grasp, and Arrow Guard]]
 
 
 
0018cb00 - 0018cc30: [[Sunken State, Caution, Dragon Spirit, etc. usability]]
 
 
0018cc34 - 0018ccd4: [[MP Switch, Distribute, and Damage Split usability]]
 
 
 
0018ccd8 - 0018ce00: [[PA Save, MA Save, Speed Save Regenerator, HP Restore, MP Restore, Critical Quick, Meatbone Slash, Auto Potion, Gilgame Heart check]]
 
 
0018ce04 - 0018ce84: [[Counter, Counter Tackle, Counter Flood, Brave Up, Dragon Spirit, Sunken State, and Caution Usability usability]]
 
 
 
0018ce88 - 0018cef0: [[PA Save, MA Save, Speed Save, Regenerator, Auto Potion, Gilgame Heart usability]]
 
 
 
0018cef4 - 0018cf70: [[Critical Quick, HP Restore, MP Restore, Meatbone Slash usability]]
 
 
 
0018cf74 - 0018cfe4: [[Face Up and Absorb Used MP usability]]
 
 
 
0018cfe8 - 0018d04c: [[Reflect Reaction?]]
 
 
 
0018d050 - 0018d0e4: [[Blade Grasp Usability]]
 
 
 
0018d0e8 - 0018d1b4: [[Arrow Guard Usability]]
 
 
 
0018d1b8 - 0018d2a4: [[MP Switch Usability]]
 
 
 
0018d2a8 - 0018d314: [[Distribute Usability]]
 
 
 
0018d318 - 0018d380: [[Damage Split Usability]]
 
 
 
0018d384 - 0018d3bc: [[Chance to React]]
 
 
 
0018d3c0 - 0018d56c: [[Steal Routine]]
 
 
 
0018d570 - 0018d61c: [[Stat Increment/Decrement]]
 
 
 
0018d620 - 0018d708: [[Attacker's Earned Experience]]
 
 
 
0018d70c - 0018d7c4: [[Store target stats pointer + data]] calls main action loading routine
 
 
 
0018d7c8 - 0018d864: [[Poison and Regen]]
 
 
 
0018d868 - 0018d90c: [[Transparent removal routine]]
 
 
 
0018d910 - 0018da00: [[status CT decrement and innate statuses?]]
 
 
 
0018da04 - 0018da40: [[target pointers]]
 
 
 
0018da44 - 0018da84: [[Crystal, Dead, Jump, Petrify, Treasure check ]]
 
 
 
0018da88 - 0018dbac: [[Poison Marsh Routine]]
 
 
 
0018dbb0 - 0018dd40: [[Traps Routine]]
 
 
 
0018dd44 - 0018df08: [[Move-HP Up, Move-MP Up, Gained Exp Up]]\
 
 
 
0018dff8 - 0018e078: [[Main Reaction subroutine - ENTD/ID stuff]]
 
 
 
 
 
0018e9bc - 0018e9e4: [[Determine if Status Flags can be Enabled]]
 
 
 
0018e9e8 - 0018ea94: [[Item quantity increment for steal/break?]]
 
 
 
0018ea94 - 0018eb4c: [[Steal Gil/Exp routine?]]
 
 
 
0018eb50 - 0018ec0c: [[Apply Exp gain / Level up]]
 
 
 
 
 
0018edf8 - 0018ee20: [[Store ability data]] 80193868 + 0x10 bytes
 
 
 
0018ee24 - 0018ee64: [[Count # of targets hit by ability]]
 
 
 
 
 
0018eea0 - 0018eed4: [[Random Process, gives a number between 0-7fff]]
 
 
 
0018eed8 - 0018ef28: [[Random Process, (gives a random based on r4 (MOD) and checks against r5 (chance to work))]]
 
 
 
 
 
0018ef34 - 0018f034: [[Current Action Attacker Data Setting]]
 
 
 
 
 
001941f8 - 00194310:  [[Acting Unit's Data Setup]] (AI?)
 
 
 
 
 
00195878 - 00195940:  [[AI Ability Data Setting]]
 
 
 
00195944 - 001959d0: [[Attack]]
 
 
 
001959d4 - 00195a20: [[AI Item Inventory]]
 
 
 
00195a24 - 00195a2c: [[Katana Inventory]]
 
 
 
00195a30 - 00195a8c: [[Weapon Inventory]]
 
 
 
00195a90 - 00195b9c: [[Jump]]
 
 
 
00195ba0 - 00195bb8: [[Charge]]
 
 
 
00195bbc - 00195bfc: [[Arithmeticks]]
 
 
 
00195c00 - 00195d90: [[Default]]
 
 
 
 
 
00196ce8 - 00196dac: [[Check if Unit can be Targeted (Cryst/Trea/Mount/Trans)]]
 
 
 
 
 
001978e4 - 00197958: [[Find Direction of Target]]
 
 
 
 
 
00199124 - 00199368: [[Calculate Physical? Target]]
 
 
 
0019936c - 0019939c: [[Calculate Distance Between Units]]
 
 
 
 
 
001998c8 - 001999c4: [[Check if Regen/Charm/DM/Reraise/DA Can be Inflicted]]
 
 
 
 
 
00199b98 - 00199c84: [[Calculate Clockticks Until Unit Acts]]
 
 
 
 
 
00199ec8 - 0019a2c8: [[Usable Ability Setting/ENTD AI Calculations]]
 
 
 
0019a2cc - 0019a2ec: [[Dividend * 4 / Divisor]]
 
 
 
0019a2f0 - 0019a528: [[Set AI Flags/Usable Abilities]]
 
 
 
0019a52c - 0019a5f4: [[Store Weapon? Attack Data]]
 
 
 
0019a5f8 - 0019a638: [[Usable Ability Setting]]
 
 
 
0019a63c - 0019a66c:  [[Part of the Weapon Inventory]]
 
 
 
0019a670 - 0019a6a0: [[Ability Loading]]
 
 
 
0019a6a4 - 0019a7a0: [[Weapon Inventory 2]]
 
 
 
0019a7a4 - 0019a7e0: [[Arithmeticks 2]]
 
 
 
0019a7e4 - 0019a814: [[Charge 2]]
 
 
 
0019a818 - 0019a994: [[Others]]
 
 
 
0019a998 -0019a9c4: [[Jump 2]]
 
 
 
 
 
0019a9f8 - 0019aa4c: [[Jump 3]]
 
 
 
0019aa50 - 0019ab04: [[Load Known Ability Flag]]
 
 
 
0019ab08 - 0019ab44: [[Transfer Halfword Values]]
 
 
 
0019ab48 - 0019ab74: [[Transfer Byte Values]]
 
 
 
0019ab78 - 0019abb0: [[Word Nulling]]
 
 
 
 
 
0019ad74 - 0019ae2c: [[Determine if Height Difference < 3]]
 
 
 
 
 
0019b6b0 - 0019b750: [[Calculate Height Difference Between Units]]
 
 
 
 
 
0019e160 - 0019e374: [[Transfer Unit Data to AI Data]]
 
 
 
0019e378 - 0019e53c:  [[Transfer AI Data to Unit Data]]
 
 
 
 
 
0019ef24 - 0019efac:  [[Check if Status Should/Can be Added]]
 
 
 
 
 
0019f2a4 - 0019f2f0:  [[Transfer Unit Coordinates to AI]]
 
 
 
 
 
001a15b4 - 001a1810: [[Ability animation]] uses animation flags
 
 
 
001a1814 - 001a1850: [[Load ability effect]] also has accumulate hardcoding?
 

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