Difference between revisions of "Mark Unit's VRAM Slot as Unoccupied"
Jump to navigation
Jump to search
m |
|||
Line 4: | Line 4: | ||
00085ba4: 340900ff ori r9,r0,0x00ff | 00085ba4: 340900ff ori r9,r0,0x00ff | ||
00085ba8: 3c06800a lui r6,0x800a | 00085ba8: 3c06800a lui r6,0x800a | ||
− | 00085bac: 24c677c4 addiu r6,r6,0x77c4 # | + | 00085bac: 24c677c4 addiu r6,r6,0x77c4 # |
00085bb0: 00003821 addu r7,r0,r0 | 00085bb0: 00003821 addu r7,r0,r0 | ||
− | 00085bb4: 8cc50000 lw r5,0x0000(r6) # | + | 00085bb4: 8cc50000 lw r5,0x0000(r6) #VRAM slot's Unit's ID (first slot: 4, second slot: 5) |
00085bb8: 00000000 nop | 00085bb8: 00000000 nop | ||
− | 00085bbc: 24a2ff02 addiu r2,r5,0xff02 # | + | 00085bbc: 24a2ff02 addiu r2,r5,0xff02 # |
− | 00085bc0: 2c420002 sltiu r2,r2,0x0002 # | + | 00085bc0: 2c420002 sltiu r2,r2,0x0002 #check if r5 is either fe or ff |
− | 00085bc4: 1440000b bne r2,r0,0x00085bf4 #end if | + | 00085bc4: 1440000b bne r2,r0,0x00085bf4 #end if slot contains no unit |
00085bc8: 25080001 addiu r8,r8,0x0001 #counter + 1 | 00085bc8: 25080001 addiu r8,r8,0x0001 #counter + 1 | ||
00085bcc: 90830004 lbu r3,0x0004(r4) #Load unit misc ID | 00085bcc: 90830004 lbu r3,0x0004(r4) #Load unit misc ID | ||
00085bd0: 30a2001f andi r2,r5,0x001f | 00085bd0: 30a2001f andi r2,r5,0x001f | ||
− | 00085bd4: 14430007 bne r2,r3,0x00085bf4 # | + | 00085bd4: 14430007 bne r2,r3,0x00085bf4 #loop if current unit is not the unit in this VRAM slot |
00085bd8: 30a20040 andi r2,r5,0x0040 | 00085bd8: 30a20040 andi r2,r5,0x0040 | ||
− | 00085bdc: 14400005 bne r2,r0,0x00085bf4 # | + | 00085bdc: 14400005 bne r2,r0,0x00085bf4 #loop if VRAM slot ID is marked as persists? |
00085be0: 00000000 nop | 00085be0: 00000000 nop | ||
− | 00085be4: acc90000 sw r9,0x0000(r6) # | + | 00085be4: acc90000 sw r9,0x0000(r6) #Mark VRAM slot empty |
00085be8: 3c01800a lui r1,0x800a | 00085be8: 3c01800a lui r1,0x800a | ||
00085bec: 00270821 addu r1,r1,r7 | 00085bec: 00270821 addu r1,r1,r7 | ||
− | 00085bf0: ac2077cc sw r0,0x77cc(r1) # | + | 00085bf0: ac2077cc sw r0,0x77cc(r1) #mark VRAM slot as empty (second check) |
− | 00085bf4: 24c67564 addiu r6,r6,0x7564 #next | + | 00085bf4: 24c67564 addiu r6,r6,0x7564 #next VRAM slot (4 and 5 checked) |
− | 00085bf8: 29020002 slti r2,r8,0x0002 # | + | 00085bf8: 29020002 slti r2,r8,0x0002 # |
− | 00085bfc: 1440ffed bne r2,r0,0x00085bb4 # | + | 00085bfc: 1440ffed bne r2,r0,0x00085bb4 #loop for VRAM slots 4 and 5 |
− | 00085c00: 24e77564 addiu r7,r7,0x7564 # | + | 00085c00: 24e77564 addiu r7,r7,0x7564 #size of VRAM data table |
00085c04: 03e00008 jr r31 | 00085c04: 03e00008 jr r31 | ||
00085c08: 00000000 nop | 00085c08: 00000000 nop | ||
</font> | </font> |
Revision as of 05:13, 15 November 2022
00085ba0: 00004021 addu r8,r0,r0 00085ba4: 340900ff ori r9,r0,0x00ff 00085ba8: 3c06800a lui r6,0x800a 00085bac: 24c677c4 addiu r6,r6,0x77c4 # 00085bb0: 00003821 addu r7,r0,r0 00085bb4: 8cc50000 lw r5,0x0000(r6) #VRAM slot's Unit's ID (first slot: 4, second slot: 5) 00085bb8: 00000000 nop 00085bbc: 24a2ff02 addiu r2,r5,0xff02 # 00085bc0: 2c420002 sltiu r2,r2,0x0002 #check if r5 is either fe or ff 00085bc4: 1440000b bne r2,r0,0x00085bf4 #end if slot contains no unit 00085bc8: 25080001 addiu r8,r8,0x0001 #counter + 1 00085bcc: 90830004 lbu r3,0x0004(r4) #Load unit misc ID 00085bd0: 30a2001f andi r2,r5,0x001f 00085bd4: 14430007 bne r2,r3,0x00085bf4 #loop if current unit is not the unit in this VRAM slot 00085bd8: 30a20040 andi r2,r5,0x0040 00085bdc: 14400005 bne r2,r0,0x00085bf4 #loop if VRAM slot ID is marked as persists? 00085be0: 00000000 nop 00085be4: acc90000 sw r9,0x0000(r6) #Mark VRAM slot empty 00085be8: 3c01800a lui r1,0x800a 00085bec: 00270821 addu r1,r1,r7 00085bf0: ac2077cc sw r0,0x77cc(r1) #mark VRAM slot as empty (second check) 00085bf4: 24c67564 addiu r6,r6,0x7564 #next VRAM slot (4 and 5 checked) 00085bf8: 29020002 slti r2,r8,0x0002 # 00085bfc: 1440ffed bne r2,r0,0x00085bb4 #loop for VRAM slots 4 and 5 00085c00: 24e77564 addiu r7,r7,0x7564 #size of VRAM data table 00085c04: 03e00008 jr r31 00085c08: 00000000 nop