000ec7b4 - 000ec950

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search

000ec7b4: 28c2000c slti r2,r6,0x000c
000ec7b8: 10400064 beq r2,r0,0x000ec94c		#end if menu loading counter < 0x6?
000ec7bc: 00a07021 addu r14,r5,r0			#r4 = stack pointer + 0x30 + 0x00/0xac (in relation to 000ecf20 - 000ed100 (helps keep consistency)
000ec7c0: 00061040 sll r2,r6,0x01			#counter * 4
000ec7c4: 95c70010 lhu r7,0x0010(r14)			#load 0x40/0xbc stack
000ec7c8: 3c018015 lui r1,0x8015
000ec7cc: 00220821 addu r1,r1,r2
000ec7d0: 942a33b8 lhu r10,0x33b8(r1)			#0x801533b8 + counter * 4
000ec7d4: 00073c00 sll r7,r7,0x10
000ec7d8: 00071c03 sra r3,r7,0x10			#compiler please.
000ec7dc: 006a0018 mult r3,r10				#*801533b8 * 0x40 stack
000ec7e0: 00003012 mflo r6
000ec7e4: 3c0c51eb lui r12,0x51eb
000ec7e8: 358c851f ori r12,r12,0x851f			#about 1/3
000ec7ec: 00cc0018 mult r6,r12
000ec7f0: 95c80012 lhu r8,0x0012(r14)			#load 0x42/0xbc stack
000ec7f4: 00002010 mfhi r4				#*801533b8 * 0x40 stack / 3
000ec7f8: 00084400 sll r8,r8,0x10
000ec7fc: 00082c03 sra r5,r8,0x10			#compiler please
000ec800: 00aa0018 mult r5,r10				#0x42 stack * *0x801533b8
000ec804: 00004812 mflo r9
000ec808: 00000000 nop
000ec80c: 00000000 nop
000ec810: 012c0018 mult r9,r12				#0x42 stack * *0x801533b8 / 3
000ec814: 240dfffe addiu r13,r0,0xfffe			#r13 = -2
000ec818: 85c20010 lh r2,0x0010(r14)			#load 0x40 stack
000ec81c: 00073fc2 srl r7,r7,0x1f			#rounding thing?
000ec820: 00671821 addu r3,r3,r7			#0x40 stack + rounding
000ec824: 00031843 sra r3,r3,0x01			#0x40 stack / 2
000ec828: 000847c2 srl r8,r8,0x1f
000ec82c: 000637c3 sra r6,r6,0x1f			#both rounding
000ec830: 00042183 sra r4,r4,0x06			#*801533b8 * 0x40 stack / 3 / 0x40
000ec834: 00005810 mfhi r11				#0x42 stack * *0x801533b8 / 3
000ec838: 00867823 subu r15,r4,r6			#r4 (rounding)
000ec83c: 00a82821 addu r5,r5,r8			#0x42 stack + rounding
000ec840: 004a0018 mult r2,r10				#0x40 stack * *0x801533b8
000ec844: 00052843 sra r5,r5,0x01			#0x42 stack / 2
000ec848: 95c20008 lhu r2,0x0008(r14)			#load 0x38 stack
000ec84c: 00094fc3 sra r9,r9,0x1f			#rounding
000ec850: 00621821 addu r3,r3,r2			#v
000ec854: 006f1823 subu r3,r3,r15			#0x40 stack / 2 - *801533b8 * 0x40 stack / 0xC0 + 0x38 stack
000ec858: a5c30008 sh r3,0x0008(r14)			#store final 0x40 stack? in 0x38 stack (is this a glide/bounce thing?)
000ec85c: 95c30010 lhu r3,0x0010(r14)			#load 0x40 stack
000ec860: 000b5983 sra r11,r11,0x06			#0x42 stack * *0x801533b8 / 0xC0
000ec864: 00031c00 sll r3,r3,0x10
000ec868: 00031403 sra r2,r3,0x10			#compiler nonsense
000ec86c: 00031fc2 srl r3,r3,0x1f			#rounding
000ec870: 00003812 mflo r7				#0x40 stack * *0x801533b8
000ec874: 00431021 addu r2,r2,r3			#rounding
000ec878: 91c3000c lbu r3,0x000c(r14)			#load 0x3c stack
000ec87c: 00ec0018 mult r7,r12				#0x40 stack * *0x801533b8 / 3
000ec880: 00021043 sra r2,r2,0x01			#0x40 stack / 2
000ec884: 00431021 addu r2,r2,r3			#0x40 stack / 2 + 0x3c stack
000ec888: 004f1023 subu r2,r2,r15			#0x40 stack / 2 - *801533b8 * 0x40 stack / 0xC0 + 0x3c stack
000ec88c: a1c2000c sb r2,0x000c(r14)			#store that in new 0x3c stack
000ec890: 95c20008 lhu r2,0x0008(r14)			#load 0x38 from stack stored above
000ec894: 01697823 subu r15,r11,r9			#0x42 stack * *0x801533b8 / 0xC0
000ec898: 004d1024 and r2,r2,r13			#check for 0x2? and store again
000ec89c: a5c20008 sh r2,0x0008(r14)			#store 0x2 bitflag
000ec8a0: 91c2000c lbu r2,0x000c(r14)			#load 0x3c from before
000ec8a4: 85c30012 lh r3,0x0012(r14)			#load 0x42 stack
000ec8a8: 304200fe andi r2,r2,0x00fe			#remove 0x2 flag
000ec8ac: 00003010 mfhi r6				#0x40 stack * *0x801533b8 / 3
000ec8b0: a1c2000c sb r2,0x000c(r14)			#store again
000ec8b4: 95c2000a lhu r2,0x000a(r14)			#load 0x3a stack
000ec8b8: 006a0018 mult r3,r10				#0x42 stack* *0x801533b8
000ec8bc: 00a22821 addu r5,r5,r2			#0x42 stack / 2 + 0x3a stack
000ec8c0: 00af2823 subu r5,r5,r15			#0x42 stack / 2 + 0x3a stack - 0x42 stack * *0x801533b8 / 0xC0
000ec8c4: a5c5000a sh r5,0x000a(r14)			#store new 0x3a as new 0x42
000ec8c8: 00073fc3 sra r7,r7,0x1f			#rounding
000ec8cc: 00063143 sra r6,r6,0x05			#0x40 stack * *0x801533b8 / 0x60
000ec8d0: 95c30012 lhu r3,0x0012(r14)			#load 0x42 stack
000ec8d4: 00c73023 subu r6,r6,r7			#0x40 stack * *0x801533b8 / 0x60
000ec8d8: a5c60010 sh r6,0x0010(r14)			#store new 0x40 stack
000ec8dc: 00031c00 sll r3,r3,0x10
000ec8e0: 00031403 sra r2,r3,0x10			#0x42 stack
000ec8e4: 00031fc2 srl r3,r3,0x1f			#rounding
000ec8e8: 00002012 mflo r4				#0x42 stack* *0x801533b8
000ec8ec: 00431021 addu r2,r2,r3			#
000ec8f0: 91c3000d lbu r3,0x000d(r14)			#load 0x3d stack
000ec8f4: 008c0018 mult r4,r12				#0x42 stack* *0x801533b8 / 3
000ec8f8: 00021043 sra r2,r2,0x01			#0x42 stack / 2
000ec8fc: 00431021 addu r2,r2,r3			#
000ec900: 004f1023 subu r2,r2,r15			#0x42 stack / 2 + 0x3d stack - 0x42 stack * *0x801533b8 / 0xC0
000ec904: a1c2000d sb r2,0x000d(r14)			#store new 0x3d stack
000ec908: 95c2000a lhu r2,0x000a(r14)			#load 0x3a stack from above
000ec90c: 91c3000d lbu r3,0x000d(r14)			#load new 0x3d stack
000ec910: 004d1024 and r2,r2,r13			#0x2 bit
000ec914: 306300fe andi r3,r3,0x00fe			#remove 0x2 bit
000ec918: a5c2000a sh r2,0x000a(r14)			#store with bits singled out/removed
000ec91c: a1c3000d sb r3,0x000d(r14)
000ec920: 000427c3 sra r4,r4,0x1f			#rounding
000ec924: 00001010 mfhi r2				#0x42 stack* *0x801533b8 / 3
000ec928: 00021143 sra r2,r2,0x05			#0x42 stack* *0x801533b8 / 0x60
000ec92c: 00441023 subu r2,r2,r4			#
000ec930: a5c20012 sh r2,0x0012(r14)			#store new 0x42 stack
000ec934: 95c20010 lhu r2,0x0010(r14)
000ec938: 95c30012 lhu r3,0x0012(r14)
000ec93c: 304200fe andi r2,r2,0x00fe
000ec940: 306300fe andi r3,r3,0x00fe			#remove 0x2 bitflags from 0x40 and 0x42
000ec944: a5c20010 sh r2,0x0010(r14)
000ec948: a5c30012 sh r3,0x0012(r14)			#store again
000ec94c: 03e00008 jr r31
000ec950: 00000000 nop