Difference between revisions of "0x93654"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
m (Nyzer moved page ? 0x93654 to 0x93654: Fucking question marks)
 
(2 intermediate revisions by the same user not shown)
Line 2: Line 2:
 
  #      Returns:
 
  #      Returns:
 
  #          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.
 +
 
 
  80093654: 27bdffe8 addiu r29,r29,-0x0018
 
  80093654: 27bdffe8 addiu r29,r29,-0x0018
 
  80093658: afbf0010 sw r31,0x0010(r29)
 
  80093658: afbf0010 sw r31,0x0010(r29)
Line 15: Line 17:
 
  8009367c: 3c048004 lui r4,0x8004
 
  8009367c: 3c048004 lui r4,0x8004
 
  80093680: 24845944 addiu r4,r4,0x5944          #      inputPtr = 0x80045944
 
  80093680: 24845944 addiu r4,r4,0x5944          #      inputPtr = 0x80045944
  80093684: 0c050b4b jal 0x80142d2c              #      ROUTINE: [[? 0x142d2c]] (inputPtr)
+
  80093684: 0c050b4b jal 0x80142d2c              #      ROUTINE: [[0x142d2c]] (inputPtr)
 
  80093688: 00000000 nop
 
  80093688: 00000000 nop
 
                                                 #  }
 
                                                 #  }

Latest revision as of 19:55, 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