000ec7b4 - 000ec950
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