Difference between revisions of "0x93654"
Jump to navigation
Jump to search
Line 3: | Line 3: | ||
# r2 = 1? | # r2 = 1? | ||
− | # The [[00093654_-_000937f4 other page]] suggests that part of this routine has to do with the Triangle press during the AI turn to pause the combat for the player. | + | # The [[00093654_-_000937f4|other page]] suggests that part of this routine has to do with the Triangle press during the AI turn to pause the combat for the player. |
− | + | ||
80093654: 27bdffe8 addiu r29,r29,-0x0018 | 80093654: 27bdffe8 addiu r29,r29,-0x0018 | ||
80093658: afbf0010 sw r31,0x0010(r29) | 80093658: afbf0010 sw r31,0x0010(r29) |
Revision as of 19:54, 19 December 2024
# ROUTINE: ? 0x93654 # Returns: # r2 = 1?
# The other page suggests that part of this routine has to do with the Triangle press during the AI turn to pause the combat for the player.
80093654: 27bdffe8 addiu r29,r29,-0x0018 80093658: afbf0010 sw r31,0x0010(r29) 8009365c: 0c0076d6 jal 0x8001db58 # ROUTINE: input = Get Inverted Button Input (1) // Parameter value 1 doesn't seem to be used for anything 80093660: 34040001 ori r4,r0,0x0001 # 1 80093664: 3c018004 lui r1,0x8004 80093668: ac225944 sw r2,0x5944(r1) # *0x80045944 = input 8009366c: 0c04ed64 jal 0x8013b590 # ROUTINE: scriptVarValue = Get Script Variable (0x1fc) 80093670: 340401fc ori r4,r0,0x01fc # 0x1fc 80093674: 10400005 beq r2,r0,0x8009368c # if (scriptVarValue != 0x01fc) { 80093678: 00000000 nop 8009367c: 3c048004 lui r4,0x8004 80093680: 24845944 addiu r4,r4,0x5944 # inputPtr = 0x80045944 80093684: 0c050b4b jal 0x80142d2c # ROUTINE: ? 0x142d2c (inputPtr) 80093688: 00000000 nop # } 8009368c: 3c028004 lui r2,0x8004 80093690: 8c42594c lw r2,0x594c(r2) # *0x8004594c 80093694: 3c038004 lui r3,0x8004 80093698: 8c635948 lw r3,0x5948(r3) # *0x80045948 8009369c: 3c048004 lui r4,0x8004 800936a0: 8c845944 lw r4,0x5944(r4) # *0x80045944 800936a4: 3c018004 lui r1,0x8004 800936a8: ac225964 sw r2,0x5964(r1) # *0x80045964 = *0x8004594c 800936ac: 3c018004 lui r1,0x8004 800936b0: ac225968 sw r2,0x5968(r1) # *0x80045968 = *0x8004594c 800936b4: 3c018004 lui r1,0x8004 800936b8: ac22596c sw r2,0x596c(r1) # *0x8004596c = *0x8004594c 800936bc: 3c018004 lui r1,0x8004 800936c0: ac225970 sw r2,0x5970(r1) # *0x80045970 = *0x8004594c 800936c4: 00031027 nor r2,r0,r3 # binary_not(*0x80045948) 800936c8: 00441024 and r2,r2,r4 # binary_not(*0x80045948) & *0x80045944 800936cc: 3c018004 lui r1,0x8004 800936d0: ac22594c sw r2,0x594c(r1) # *0x8004594c = binary_not(*0x80045948) & *0x80045944 800936d4: 00041027 nor r2,r0,r4 # binary_not(*0x80045944) 800936d8: 00431024 and r2,r2,r3 # binary_not(*0x80045944) & *0x80045948 800936dc: 3c018004 lui r1,0x8004 800936e0: ac235954 sw r3,0x5954(r1) # *0x80045954 = *0x80045948 800936e4: 3c018004 lui r1,0x8004 800936e8: ac235958 sw r3,0x5958(r1) # *0x80045958 = *0x80045948 800936ec: 3c018004 lui r1,0x8004 800936f0: ac23595c sw r3,0x595c(r1) # *0x8004595c = *0x80045948 800936f4: 3c018004 lui r1,0x8004 800936f8: ac235960 sw r3,0x5960(r1) # *0x80045960 = *0x80045948 800936fc: 3c018004 lui r1,0x8004 80093700: ac225950 sw r2,0x5950(r1) # *0x80045950 = binary_not(*0x80045944) & *0x80045948 80093704: 14640009 bne r3,r4,0x8009372c # if (*0x80045948 == *0x80045944) { 80093708: 00000000 nop 8009370c: 3c028004 lui r2,0x8004 80093710: 8c425974 lw r2,0x5974(r2) # *0x80045974 80093714: 00000000 nop 80093718: 24420001 addiu r2,r2,0x0001 # *0x80045974 + 1 8009371c: 3c018004 lui r1,0x8004 80093720: ac225974 sw r2,0x5974(r1) # *0x80045974 = *0x80045974 + 1 80093724: 08024dcd j 0x80093734 80093728: 00000000 nop # } else { 8009372c: 3c018004 lui r1,0x8004 80093730: ac205974 sw r0,0x5974(r1) # *0x80045974 = 0 # } 80093734: 3c028004 lui r2,0x8004 80093738: 8c42594c lw r2,0x594c(r2) # *0x8004594c 8009373c: 3c038004 lui r3,0x8004 80093740: 8c635944 lw r3,0x5944(r3) # input = *0x80045944 80093744: 30420010 andi r2,r2,0x0010 # *0x8004594c & 0x10 80093748: 3c018004 lui r1,0x8004 8009374c: ac235948 sw r3,0x5948(r1) # *0x80045948 = *0x80045944 80093750: 1040001c beq r2,r0,0x800937c4 80093754: 34020034 ori r2,r0,0x0034 # 52 # if ((*0x8004594c & 0x10) != 0) { 80093758: 3c038009 lui r3,0x8009 8009375c: 8c6360e4 lw r3,0x60e4(r3) # *0x800960e4 80093760: 00000000 nop 80093764: 10620017 beq r3,r2,0x800937c4 # if (*0x800960e4 != 52) { 80093768: 00000000 nop 8009376c: 0c01e886 jal 0x8007a218 # ROUTINE: result_7a218 = ? 0x7a218 80093770: 00000000 nop 80093774: 3c03800e lui r3,0x800e 80093778: 8c634e8c lw r3,0x4e8c(r3) # *0x800e4a8c 8009377c: 00000000 nop 80093780: 10600010 beq r3,r0,0x800937c4 # if (*0x800e4a8c != 0) { 80093784: 00402021 addu r4,r2,r0 # result_7a218 80093788: 3c028009 lui r2,0x8009 8009378c: 8c4260f8 lw r2,0x60f8(r2) # *0x800960f8 80093790: 00000000 nop 80093794: 1440000b bne r2,r0,0x800937c4 # if (*0x800960f8 != 0) { 80093798: 00000000 nop 8009379c: 9082013d lbu r2,0x013d(r4) # *(result_7a218 + 0x13d) 800937a0: 00000000 nop 800937a4: 30420008 andi r2,r2,0x0008 # *(result_7a218 + 0x13d) & 0x08 800937a8: 14400006 bne r2,r0,0x800937c4 # if ((*(result_7a218 + 0x13d) & 0x08) == 0) { 800937ac: 00000000 nop 800937b0: 0c010ffe jal 0x80043ff8 # ROUTINE: ? 0x43ff8 (113) 800937b4: 34040071 ori r4,r0,0x0071 # 113 800937b8: 34020001 ori r2,r0,0x0001 # 1 800937bc: 3c018009 lui r1,0x8009 800937c0: ac2260f8 sw r2,0x60f8(r1) # *0x800960f8 = 1 # } # } # } # } # } 800937c4: 3c028004 lui r2,0x8004 800937c8: 8c425948 lw r2,0x5948(r2) # *0x80045948 800937cc: 3403090c ori r3,r0,0x090c # 0x90c // Bitmask for Start, Select, L1, and R1 buttons 800937d0: 3042090c andi r2,r2,0x090c # *0x80045948 & 0x90c // Check for Start, Select, L1, and R1 buttons 800937d4: 14430004 bne r2,r3,0x800937e8 800937d8: 34020001 ori r2,r0,0x0001 # result = 1 # if ((*0x80045948 & 0x90c) == 0x90c) { // If Start, Select, L1, and R1 buttons are all pressed at once... 800937dc: 0c01025d jal 0x80040974 # ROUTINE: ? 0x40974 // Do reset? 800937e0: 00000000 nop 800937e4: 34020001 ori r2,r0,0x0001 # result = 1 # } 800937e8: 8fbf0010 lw r31,0x0010(r29) 800937ec: 27bd0018 addiu r29,r29,0x0018 800937f0: 03e00008 jr r31 # return result 800937f4: 00000000 nop