SYS ResetGraph

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search

00024238: 27bdffe0 addiu r29,r29,0xffe0
0002423c: 00802821 addu r5,r4,r0
00024240: afb10014 sw r17,0x0014(r29)
00024244: 30b10007 andi r17,r5,0x0007
00024248: afbf0018 sw r31,0x0018(r29)
0002424c: 12200004 beq r17,r0,0x00024260           # branch if total reset of drawing engine
00024250: afb00010 sw r16,0x0010(r29)
00024254: 34020003 ori r2,r0,0x0003
00024258: 16220034 bne r17,r2,0x0002432c           # else, branch if partial reset
0002425c: 00000000 nop
00024260: 3c048001 lui r4,0x8001
00024264: 248406f8 addiu r4,r4,0x06f8              # text to print (ResetGraph:jtb=%08x,env=%08x.<endstring>)
00024268: 3c058003 lui r5,0x8003
0002426c: 24a5284c addiu r5,r5,0x284c              # param 1 0x8003284c
00024270: 3c108003 lui r16,0x8003
00024274: 26102894 addiu r16,r16,0x2894
00024278: 0c0088cb jal 0x0002232c                  # printf
0002427c: 02003021 addu r6,r16,r0                  # param 2 0x80032894
00024280: 02002021 addu r4,r16,r0                  # 
00024284: 00002821 addu r5,r0,r0                   # 
00024288: 0c009bd6 jal 0x00026f58                  # rudementary memset clone (0x00 at param 2 0x80 times)
0002428c: 34060080 ori r6,r0,0x0080                # 
00024290: 0c007763 jal 0x0001dd8c                  # ?
00024294: 00000000 nop
00024298: 3c0200ff lui r2,0x00ff
0002429c: 3c048003 lui r4,0x8003
000242a0: 8c84288c lw r4,0x288c(r4)
000242a4: 3442ffff ori r2,r2,0xffff                
000242a8: 0c009be1 jal 0x00026f84                  # GPU_cw(gp0cmd) calls gpu_sync and writes the current gpu instruction being executed to memory?
000242ac: 00822024 and r4,r4,r2
000242b0: 0c009a96 jal 0x00026a58
000242b4: 0011202b sltu r4,r0,r17
000242b8: 26040010 addiu r4,r16,0x0010
000242bc: a2020000 sb r2,0x0000(r16)
000242c0: 92020000 lbu r2,0x0000(r16)
000242c4: 34030001 ori r3,r0,0x0001
000242c8: 3c018003 lui r1,0x8003
000242cc: a0232895 sb r3,0x2895(r1)
000242d0: 00021080 sll r2,r2,0x02
000242d4: 3c018003 lui r1,0x8003
000242d8: 00220821 addu r1,r1,r2
000242dc: 94232914 lhu r3,0x2914(r1)
000242e0: 92020000 lbu r2,0x0000(r16)
000242e4: 2405ffff addiu r5,r0,0xffff
000242e8: 00021080 sll r2,r2,0x02
000242ec: 3c018003 lui r1,0x8003
000242f0: a4232898 sh r3,0x2898(r1)
000242f4: 3c018003 lui r1,0x8003
000242f8: 00220821 addu r1,r1,r2
000242fc: 94222928 lhu r2,0x2928(r1)
00024300: 3c018003 lui r1,0x8003
00024304: a422289a sh r2,0x289a(r1)
00024308: 0c009bd6 jal 0x00026f58
0002430c: 3406005c ori r6,r0,0x005c
00024310: 2604006c addiu r4,r16,0x006c
00024314: 2405ffff addiu r5,r0,0xffff
00024318: 0c009bd6 jal 0x00026f58
0002431c: 34060014 ori r6,r0,0x0014
00024320: 92020000 lbu r2,0x0000(r16)
00024324: 080090de j 0x00024378
00024328: 00000000 nop

if partial reset of drawing engine (screen is not cleared)

0002432c: 3c028003 lui r2,0x8003
00024330: 90422896 lbu r2,0x2896(r2)
00024334: 00000000 nop
00024338: 2c420002 sltiu r2,r2,0x0002
0002433c: 14400007 bne r2,r0,0x0002435c
00024340: 00000000 nop
00024344: 3c028003 lui r2,0x8003
00024348: 8c422890 lw r2,0x2890(r2)
0002434c: 3c048001 lui r4,0x8001
00024350: 24840718 addiu r4,r4,0x0718
00024354: 0040f809 jalr r2,r31
00024358: 00000000 nop
0002435c: 3c028003 lui r2,0x8003
00024360: 8c42288c lw r2,0x288c(r2)
00024364: 00000000 nop
00024368: 8c420034 lw r2,0x0034(r2)
0002436c: 00000000 nop
00024370: 0040f809 jalr r2,r31
00024374: 34040001 ori r4,r0,0x0001
00024378: 8fbf0018 lw r31,0x0018(r29)
0002437c: 8fb10014 lw r17,0x0014(r29)
00024380: 8fb00010 lw r16,0x0010(r29)
00024384: 27bd0020 addiu r29,r29,0x0020
00024388: 03e00008 jr r31
0002438c: 00000000 nop