Difference between revisions of "VRAM stuff"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
(Created page with "<font face='Courier New'> Item Previews Item Equip Preview r17 = 0x801f0688 ; r18 = 0x801f0620 00122f9c: 27bdffd8 addiu r29,r29,0xffd8 00122fa0: afb00010 sw r16,0x0...")
 
m (Talcall moved page Previews? to VRAM stuff: how did someone see 00012c and think "oh yeah that looks like 123" jesus)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<font face='Courier New'>
+
Previews?
Item Previews Item Equip Preview
+
  Previews
  r17 = 0x801f0688 ; r18 = 0x801f0620
+
  0012cfd4: 27bdffd8 addiu r29,r29,0xffd8
  00122f9c: 27bdffd8 addiu r29,r29,0xffd8      
+
  0012cfd8: afb10014 sw r17,0x0014(r29)
  00122fa0: afb00010 sw r16,0x0010(r29)        
+
  0012cfdc: 00808821 addu r17,r4,r0 r17 = stack address
  00122fa4: 00808021 addu r16,r4,r0            
+
  0012cfe0: afb20018 sw r18,0x0018(r29)
  00122fa8: afb20018 sw r18,0x0018(r29)        
+
  0012cfe4: 00a09021 addu r18,r5,r0 r18 = stack address
  00122fac: 00a09021 addu r18,r5,r0            
+
  0012cfe8: afb3001c sw r19,0x001c(r29)
00122fb0: afb10014 sw r17,0x0014(r29)         
+
  0012cfec: 00e09821 addu r19,r7,r0 1 (maybe some kind of flag? preview vs apply?)
00122fb4: 00c08821 addu r17,r6,r0             
+
  0012cff0: 3c03801d lui r3,0x801d
  00122fb8: afb3001c sw r19,0x001c(r29)        
+
  0012cff4: 9463d1d0 lhu r3,-0x2e30(r3) load ID?
  00122fbc: 00e09821 addu r19,r7,r0            
+
  0012cff8: 00c02821 addu r5,r6,r0 always 0 from what I can tell. makes testing through this routine rather difficult.
  00122fc0: 02402021 addu r4,r18,r0             
+
  0012cffc: afbf0020 sw r31,0x0020(r29)
  00122fc4: afbf0020 sw r31,0x0020(r29)        
+
  0012d000: afb00010 sw r16,0x0010(r29)
  00122fc8: 0c048b90 jal 0x00122e40              Clear data from r17 and r18
+
  0012d004: 24620001 addiu r2,r3,0x0001
00122fcc: 02202821 addu r5,r17,r0            
+
  0012d008: 3063ffff andi r3,r3,0xffff
  00122fd0: 321003ff andi r16,r16,0x03ff       
+
  0012d00c: 00038040 sll r16,r3,0x01 ID*2
  00122fd4: 2602ffff addiu r2,r16,0xffff       
+
  0012d010: 02038021 addu r16,r16,r3 ID*3
  00122fd8: 2c4200fd sltiu r2,r2,0x00fd         
+
  0012d014: 00108080 sll r16,r16,0x02 ID*0xc
  00122fdc: 10400073 beq r2,r0,0x001231ac        Branch if equiped item is a "Chemist Item"
+
  0012d018: 3c01801d lui r1,0x801d
  00122fe0: 00101040 sll r2,r16,0x01             Item ID * 2
+
  0012d01c: a422d1d0 sh r2,-0x2e30(r1) store new ID++ (maybe not ID, loop counter? stat to preview?)
  00122fe4: 00501021 addu r2,r2,r16              Item ID * 3
+
0012d020: 3c02801d lui r2,0x801d
  00122fe8: 00021880 sll r3,r2,0x02               Item ID * C
+
  0012d024: 8c42d528 lw r2,-0x2ad8(r2) load VRAM pointers
  00122fec: 3c018006 lui r1,0x8006                0x80060000
+
  0012d028: 02038021 addu r16,r16,r3 ID*0xd
  00122ff0: 00230821 addu r1,r1,r3                0x80060000 + Item ID * C     
+
  0012d02c: 8c420020 lw r2,0x0020(r2) load VRAM space
  00122ff4: 90242ebf lbu r4,0x2ebf(r1)           Load Item Attributes
+
0012d030: 00108080 sll r16,r16,0x02 ID*0x34
  00122ff8: 2a020080 slti r2,r16,0x0080         
+
  0012d034: 02028021 addu r16,r16,r2 address + ID*0x34
  00122ffc: 10400014 beq r2,r0,0x00123050        Branch if equiped Item is not a Weapon
+
  0012d038: 0c008f1a jal 0x00023c68 if r5 = 0, load 0x7(r4) and remove flags 0x2 and 0x1. if r5 = 1, load 0x7 and enable 0x2 flag
  00123000: 2a020090 slti r2,r16,0x0090         
+
  0012d03c: 02002021 addu r4,r16,r0
  00123004: 3c018006 lui r1,0x8006             
+
  0012d040: 96220000 lhu r2,0x0000(r17)
  00123008: 00230821 addu r1,r1,r3             
+
  0012d044: 00000000 nop
  0012300c: 90222ebc lbu r2,0x2ebc(r1)           Load Item Second Table ID
+
  0012d048: 24420080 addiu r2,r2,0x0080
  00123010: 00000000 nop                        
+
  0012d04c: a6020008 sh r2,0x0008(r16) store in stack
  00123014: 000210c0 sll r2,r2,0x03              ID * 8
+
  0012d050: 96220002 lhu r2,0x0002(r17)
  00123018: 3c018006 lui r1,0x8006                0x80060000
+
0012d054: 00000000 nop
  0012301c: 00220821 addu r1,r1,r2               0x80060000 + ID * 8
+
0012d058: a602000a sh r2,0x000a(r16)
  00123020: 90233abc lbu r3,0x3abc(r1)           Load Item's Weapon Power
+
0012d05c: 96220004 lhu r2,0x0004(r17)
  00123024: 3c018006 lui r1,0x8006                0x80060000
+
  0012d060: 96230000 lhu r3,0x0000(r17)
  00123028: 00220821 addu r1,r1,r2              
+
  0012d064: 24420080 addiu r2,r2,0x0080
  0012302c: 90223abd lbu r2,0x3abd(r1)           Load Item's Weapon Evade
+
  0012d068: 00621821 addu r3,r3,r2
  00123030: 12600004 beq r19,r0,0x00123044        Branch if r19 (addu r19,r7,r0) = 0
+
  0012d06c: a6030014 sh r3,0x0014(r16)
  00123034: 00000000 nop                        
+
  0012d070: 96220002 lhu r2,0x0002(r17)
  00123038: a6230008 sh r3,0x0008(r17)           Store Weapon Power into address at r17
+
  0012d074: 00000000 nop
  0012303c: 08048c4e j 0x00123138               
+
  0012d078: a6020016 sh r2,0x0016(r16)
  00123040: a622000c sh r2,0x000c(r17)           Store Evade into address at r17
+
0012d07c: 96220000 lhu r2,0x0000(r17)
  00123044: a6230006 sh r3,0x0006(r17)           Store Weapon Power into address at r17
+
  0012d080: 00000000 nop
  00123048: 08048c4e j 0x00123138               
+
0012d084: 24420080 addiu r2,r2,0x0080
  0012304c: a622000a sh r2,0x000a(r17)           Store Evade into address at r17
+
  0012d088: a6020020 sh r2,0x0020(r16)
  00123050: 10400015 beq r2,r0,0x001230a8        Branch if equipment is not a shield
+
0012d08c: 96220002 lhu r2,0x0002(r17)
  00123054: 2a0200d0 slti r2,r16,0x00d0         
+
  0012d090: 96230006 lhu r3,0x0006(r17)
  00123058: 3c018006 lui r1,0x8006                0x80060000
+
  0012d094: 00000000 nop
  0012305c: 00230821 addu r1,r1,r3                0x80060000 + Item ID * C
+
  0012d098: 00431021 addu r2,r2,r3
  00123060: 90222ebc lbu r2,0x2ebc(r1)           Load Item Second Table ID
+
0012d09c: a6020022 sh r2,0x0022(r16)
  00123064: 00000000 nop                        
+
0012d0a0: 96220004 lhu r2,0x0004(r17)
  00123068: 00021040 sll r2,r2,0x01              Second Table ID * 2
+
0012d0a4: 96230000 lhu r3,0x0000(r17)
  0012306c: 3c018006 lui r1,0x8006                0x80060000
+
  0012d0a8: 24420080 addiu r2,r2,0x0080
  00123070: 00220821 addu r1,r1,r2                0x80060000 + Second Table ID * 2
+
  0012d0ac: 00621821 addu r3,r3,r2
  00123074: 90223eb8 lbu r2,0x3eb8(r1)           Load Shield Physical Evade
+
  0012d0b0: a603002c sh r3,0x002c(r16)
  00123078: 00000000 nop                        
+
  0012d0b4: 96220002 lhu r2,0x0002(r17)
  0012307c: a6220016 sh r2,0x0016(r17)           Store Shield Physical Evade into address at r17
+
  0012d0b8: 96230006 lhu r3,0x0006(r17)
  00123080: 3c018006 lui r1,0x8006                0x80060000
+
  0012d0bc: 00000000 nop
  00123084: 00230821 addu r1,r1,r3               0x80060000 + Item ID * C
+
  0012d0c0: 00431021 addu r2,r2,r3
  00123088: 90222ebc lbu r2,0x2ebc(r1)           Load Item Second Table ID
+
  0012d0c4: a602002e sh r2,0x002e(r16)
  0012308c: 00000000 nop                        
+
  0012d0c8: 92220008 lbu r2,0x0008(r17)
  00123090: 00021040 sll r2,r2,0x01              Second Table ID * 2
+
0012d0cc: 00000000 nop
  00123094: 3c018006 lui r1,0x8006                0x80060000
+
0012d0d0: a202000c sb r2,0x000c(r16)
  00123098: 00220821 addu r1,r1,r2                0x80060000 + Second Table ID * 2
+
  0012d0d4: 9222000a lbu r2,0x000a(r17)
  0012309c: 90223eb9 lbu r2,0x3eb9(r1)           Load Shield Magical Evade
+
  0012d0d8: 00000000 nop
  001230a0: 08048c4e j 0x00123138               
+
  0012d0dc: a202000d sb r2,0x000d(r16)
001230a4: a6220020 sh r2,0x0020(r17)           Store Shield Magical Evade into address at r17
+
0012d0e0: 92220008 lbu r2,0x0008(r17)
  001230a8: 1040000c beq r2,r0,0x001230dc        Branch if Item is not Headgear or Bodygear
+
0012d0e4: 92230004 lbu r3,0x0004(r17)
  001230ac: 2602ff70 addiu r2,r16,0xff70          Item ID - 0x8F
+
  0012d0e8: 00000000 nop
  001230b0: 00021040 sll r2,r2,0x01              Item ID * 2
+
  0012d0ec: 00431021 addu r2,r2,r3
  001230b4: 3c018006 lui r1,0x8006                0x80060000
+
  0012d0f0: a2020018 sb r2,0x0018(r16)
  001230b8: 00220821 addu r1,r1,r2                0x80060000 + Item ID * 2
+
0012d0f4: 9222000a lbu r2,0x000a(r17)
  001230bc: 90233ed8 lbu r3,0x3ed8(r1)           Load Item HP Bonus
+
  0012d0f8: 00000000 nop
  001230c0: 00000000 nop                       
+
  0012d0fc: a2020019 sb r2,0x0019(r16)
  001230c4: a643000e sh r3,0x000e(r18)           Store Item HP Bonus into address at r18
+
0012d100: 92220008 lbu r2,0x0008(r17)
  001230c8: 3c018006 lui r1,0x8006                0x80060000
+
  0012d104: 00000000 nop
  001230cc: 00220821 addu r1,r1,r2               0x80060000 + Item ID * 2
+
  0012d108: a2020024 sb r2,0x0024(r16)
  001230d0: 90223ed9 lbu r2,0x3ed9(r1)           Load Item MP Bonus
+
  0012d10c: 9222000a lbu r2,0x000a(r17)
  001230d4: 08048c4e j 0x00123138               
+
  0012d110: 92230006 lbu r3,0x0006(r17)
  001230d8: a6420014 sh r2,0x0014(r18)           Store Item MP Bonus into address at r18
+
  0012d114: 00000000 nop
  001230dc: 2a0200f0 slti r2,r16,0x00f0  
+
0012d118: 00431021 addu r2,r2,r3
  001230e0: 10400016 beq r2,r0,0x0012313c        Branch if Item is not an accessory
+
  0012d11c: a2020025 sb r2,0x0025(r16)
  001230e4: 00041040 sll r2,r4,0x01              Item Attributes ID (?) * 2
+
  0012d120: 92220008 lbu r2,0x0008(r17)
  001230e8: 3c018006 lui r1,0x8006                0x80060000
+
0012d124: 92230004 lbu r3,0x0004(r17)
  001230ec: 00230821 addu r1,r1,r3                0x80060000 + Item ID * 12
+
  0012d128: 00000000 nop
  001230f0: 90222ebc lbu r2,0x2ebc(r1)           Load Item Second Table ID
+
  0012d12c: 00431021 addu r2,r2,r3
  001230f4: 00000000 nop                        
+
  0012d130: a2020030 sb r2,0x0030(r16)
  001230f8: 00021040 sll r2,r2,0x01              Second Table ID * 2
+
  0012d134: 9222000a lbu r2,0x000a(r17)
  001230fc: 3c018006 lui r1,0x8006                0x80060000
+
  0012d138: 92230006 lbu r3,0x0006(r17)
  00123100: 00220821 addu r1,r1,r2                0x80060000 + Second Table ID * 2
+
  0012d13c: 00000000 nop
  00123104: 90223f58 lbu r2,0x3f58(r1)           Load Accessory Physical Evade
+
  0012d140: 00431021 addu r2,r2,r3
  00123108: 00000000 nop                        
+
0012d144: a2020031 sb r2,0x0031(r16) note: first mention of r18 (which is just r17 + 0x18)
  0012310c: a6220018 sh r2,0x0018(r17)           Store Physical Evade into address at r17
+
  0012d148: 92420000 lbu r2,0x0000(r18)
  00123110: 3c018006 lui r1,0x8006                0x80060000
+
  0012d14c: 00000000 nop
  00123114: 00230821 addu r1,r1,r3                0x80060000 + Item ID * 12
+
  0012d150: a2020004 sb r2,0x0004(r16)
  00123118: 90222ebc lbu r2,0x2ebc(r1)           Load Item Second Table ID
+
  0012d154: 92420001 lbu r2,0x0001(r18)
  0012311c: 00000000 nop                        
+
  0012d158: 00000000 nop
  00123120: 00021040 sll r2,r2,0x01              Item Second Table ID * 2
+
  0012d15c: a2020005 sb r2,0x0005(r16)
  00123124: 3c018006 lui r1,0x8006                0x80060000
+
  0012d160: 92420002 lbu r2,0x0002(r18)
  00123128: 00220821 addu r1,r1,r2                0x80060000 + Second Table ID * 2
+
  0012d164: 00000000 nop
  0012312c: 90223f59 lbu r2,0x3f59(r1)           Load Accessory Magical Evade
+
  0012d168: a2020006 sb r2,0x0006(r16)
  00123130: 00000000 nop                        
+
  0012d16c: 92420003 lbu r2,0x0003(r18)
  00123134: a6220022 sh r2,0x0022(r17)           Store Magical Evade into address at r17
+
  0012d170: 00000000 nop
  00123138: 00041040 sll r2,r4,0x01              Item Attributes ID (?) * 2
+
  0012d174: a2020010 sb r2,0x0010(r16)
  0012313c: 00441021 addu r2,r2,r4                ID * 3
+
0012d178: 92420004 lbu r2,0x0004(r18)
  00123140: 000210c0 sll r2,r2,0x03              ID * 18
+
  0012d17c: 00000000 nop
  00123144: 00441021 addu r2,r2,r4                ID * 19
+
  0012d180: a2020011 sb r2,0x0011(r16)
  00123148: 3c018006 lui r1,0x8006                0x80060000
+
  0012d184: 92420005 lbu r2,0x0005(r18)
  0012314c: 00220821 addu r1,r1,r2                0x80060000 + Item Attributes ID * 19
+
  0012d188: 00000000 nop
  00123150: 902342c7 lbu r3,0x42c7(r1)           Load Attribute's Move
+
  0012d18c: a2020012 sb r2,0x0012(r16)
  00123154: 00000000 nop                       
+
  0012d190: 92420006 lbu r2,0x0006(r18)
  00123158: a6230000 sh r3,0x0000(r17)           Store Move into address at r17
+
  0012d194: 00000000 nop
  0012315c: 3c018006 lui r1,0x8006                0x80060000
+
0012d198: a202001c sb r2,0x001c(r16)
  00123160: 00220821 addu r1,r1,r2                0x80060000 + Item Attributes ID * 19
+
  0012d19c: 92420007 lbu r2,0x0007(r18)
  00123164: 902342c6 lbu r3,0x42c6(r1)           Load Attribute's Speed
+
  0012d1a0: 00000000 nop
  00123168: 00000000 nop                       
+
  0012d1a4: a202001d sb r2,0x001d(r16)
  0012316c: a6230002 sh r3,0x0002(r17)           Store Speed into address at r17
+
0012d1a8: 92420008 lbu r2,0x0008(r18)
  00123170: 3c018006 lui r1,0x8006                0x80060000
+
  0012d1ac: 00000000 nop
  00123174: 00220821 addu r1,r1,r2                0x80060000 + Item Attributes ID * 19
+
  0012d1b0: a202001e sb r2,0x001e(r16)
  00123178: 902342c8 lbu r3,0x42c8(r1)           Load Attribute's Jump
+
  0012d1b4: 92420009 lbu r2,0x0009(r18)
  0012317c: 00000000 nop                       
+
  0012d1b8: 00000000 nop
  00123180: a6230004 sh r3,0x0004(r17)           Store Jump into address at r17
+
  0012d1bc: a2020028 sb r2,0x0028(r16)
  00123184: 3c018006 lui r1,0x8006                0x80060000
+
  0012d1c0: 9242000a lbu r2,0x000a(r18)
  00123188: 00220821 addu r1,r1,r2               0x80060000 + Item Attributes ID * 19
+
  0012d1c4: 00000000 nop
  0012318c: 902342c4 lbu r3,0x42c4(r1)           Load Attribute's PA
+
  0012d1c8: a2020029 sb r2,0x0029(r16)
  00123190: 00000000 nop                        
+
  0012d1cc: 9242000b lbu r2,0x000b(r18)
  00123194: a6230012 sh r3,0x0012(r17)            Store PA into address at r17
+
  0012d1d0: 3c0400ff lui r4,0x00ff
  00123198: 3c018006 lui r1,0x8006                0x80060000
+
  0012d1d4: a202002a sb r2,0x002a(r16)
  0012319c: 00220821 addu r1,r1,r2                0x80060000 + Item Attributes ID * 19
+
  0012d1d8: 9622000c lhu r2,0x000c(r17)
  001231a0: 902242c5 lbu r2,0x42c5(r1)            Load Attribute's MA
+
  0012d1dc: 3484ffff ori r4,r4,0xffff
  001231a4: 00000000 nop                       
+
  0012d1e0: a602000e sh r2,0x000e(r16)
  001231a8: a622001c sh r2,0x001c(r17)           Store MA into address at r17
+
  0012d1e4: 9622000e lhu r2,0x000e(r17)
  001231ac: 8fbf0020 lw r31,0x0020(r29)        
+
  0012d1e8: 00139880 sll r19,r19,0x02
  001231b0: 8fb3001c lw r19,0x001c(r29)        
+
  0012d1ec: a602001a sh r2,0x001a(r16)
  001231b4: 8fb20018 lw r18,0x0018(r29)        
+
  0012d1f0: 3c06801d lui r6,0x801d
  001231b8: 8fb10014 lw r17,0x0014(r29)        
+
  0012d1f4: 8cc6d528 lw r6,-0x2ad8(r6) load VRAM pointer list
  001231bc: 8fb00010 lw r16,0x0010(r29)        
+
  0012d1f8: 3c05ff00 lui r5,0xff00
  001231c0: 27bd0028 addiu r29,r29,0x0028      
+
  0012d1fc: 8cc20000 lw r2,0x0000(r6)
  001231c4: 03e00008 jr r31                    
+
  0012d200: 8e030000 lw r3,0x0000(r16)
  001231c8: 00000000 nop</font>
+
  0012d204: 02621021 addu r2,r19,r2
 +
  0012d208: 8c420000 lw r2,0x0000(r2)
 +
  0012d20c: 00651824 and r3,r3,r5
 +
0012d210: 00441024 and r2,r2,r4
 +
  0012d214: 00621825 or r3,r3,r2
 +
  0012d218: ae030000 sw r3,0x0000(r16)
 +
0012d21c: 8cc20000 lw r2,0x0000(r6)
 +
  0012d220: 00000000 nop
 +
  0012d224: 02629821 addu r19,r19,r2
 +
  0012d228: 8e620000 lw r2,0x0000(r19)
 +
  0012d22c: 02048024 and r16,r16,r4
 +
  0012d230: 00451024 and r2,r2,r5
 +
  0012d234: 00501025 or r2,r2,r16
 +
  0012d238: ae620000 sw r2,0x0000(r19)
 +
  0012d23c: 8fbf0020 lw r31,0x0020(r29)
 +
  0012d240: 8fb3001c lw r19,0x001c(r29)
 +
  0012d244: 8fb20018 lw r18,0x0018(r29)
 +
  0012d248: 8fb10014 lw r17,0x0014(r29)
 +
  0012d24c: 8fb00010 lw r16,0x0010(r29)
 +
  0012d250: 27bd0028 addiu r29,r29,0x0028
 +
  0012d254: 03e00008 jr r31
 +
  0012d258: 00000000 nop</font>

Latest revision as of 01:37, 10 June 2022

Previews?

Previews
0012cfd4: 27bdffd8 addiu r29,r29,0xffd8
0012cfd8: afb10014 sw r17,0x0014(r29)	
0012cfdc: 00808821 addu r17,r4,r0			r17 = stack address
0012cfe0: afb20018 sw r18,0x0018(r29)
0012cfe4: 00a09021 addu r18,r5,r0			r18 = stack address
0012cfe8: afb3001c sw r19,0x001c(r29)
0012cfec: 00e09821 addu r19,r7,r0			1 (maybe some kind of flag? preview vs apply?)
0012cff0: 3c03801d lui r3,0x801d
0012cff4: 9463d1d0 lhu r3,-0x2e30(r3)		load ID?
0012cff8: 00c02821 addu r5,r6,r0			always 0 from what I can tell. makes testing through this routine rather difficult.
0012cffc: afbf0020 sw r31,0x0020(r29)
0012d000: afb00010 sw r16,0x0010(r29)
0012d004: 24620001 addiu r2,r3,0x0001
0012d008: 3063ffff andi r3,r3,0xffff
0012d00c: 00038040 sll r16,r3,0x01			ID*2
0012d010: 02038021 addu r16,r16,r3			ID*3
0012d014: 00108080 sll r16,r16,0x02			ID*0xc
0012d018: 3c01801d lui r1,0x801d
0012d01c: a422d1d0 sh r2,-0x2e30(r1)		store new ID++ (maybe not ID, loop counter? stat to preview?)
0012d020: 3c02801d lui r2,0x801d
0012d024: 8c42d528 lw r2,-0x2ad8(r2)		load VRAM pointers
0012d028: 02038021 addu r16,r16,r3			ID*0xd
0012d02c: 8c420020 lw r2,0x0020(r2)			load VRAM space
0012d030: 00108080 sll r16,r16,0x02			ID*0x34
0012d034: 02028021 addu r16,r16,r2			address + ID*0x34
0012d038: 0c008f1a jal 0x00023c68			if r5 = 0, load 0x7(r4) and remove flags 0x2 and 0x1. if r5 = 1, load 0x7 and enable 0x2 flag
0012d03c: 02002021 addu r4,r16,r0
0012d040: 96220000 lhu r2,0x0000(r17)
0012d044: 00000000 nop
0012d048: 24420080 addiu r2,r2,0x0080
0012d04c: a6020008 sh r2,0x0008(r16)		store in stack
0012d050: 96220002 lhu r2,0x0002(r17)
0012d054: 00000000 nop
0012d058: a602000a sh r2,0x000a(r16)
0012d05c: 96220004 lhu r2,0x0004(r17)
0012d060: 96230000 lhu r3,0x0000(r17)
0012d064: 24420080 addiu r2,r2,0x0080
0012d068: 00621821 addu r3,r3,r2
0012d06c: a6030014 sh r3,0x0014(r16)
0012d070: 96220002 lhu r2,0x0002(r17)
0012d074: 00000000 nop
0012d078: a6020016 sh r2,0x0016(r16)
0012d07c: 96220000 lhu r2,0x0000(r17)
0012d080: 00000000 nop
0012d084: 24420080 addiu r2,r2,0x0080
0012d088: a6020020 sh r2,0x0020(r16)
0012d08c: 96220002 lhu r2,0x0002(r17)
0012d090: 96230006 lhu r3,0x0006(r17)
0012d094: 00000000 nop
0012d098: 00431021 addu r2,r2,r3
0012d09c: a6020022 sh r2,0x0022(r16)
0012d0a0: 96220004 lhu r2,0x0004(r17)
0012d0a4: 96230000 lhu r3,0x0000(r17)
0012d0a8: 24420080 addiu r2,r2,0x0080
0012d0ac: 00621821 addu r3,r3,r2
0012d0b0: a603002c sh r3,0x002c(r16)
0012d0b4: 96220002 lhu r2,0x0002(r17)
0012d0b8: 96230006 lhu r3,0x0006(r17)
0012d0bc: 00000000 nop
0012d0c0: 00431021 addu r2,r2,r3
0012d0c4: a602002e sh r2,0x002e(r16)
0012d0c8: 92220008 lbu r2,0x0008(r17)
0012d0cc: 00000000 nop
0012d0d0: a202000c sb r2,0x000c(r16)
0012d0d4: 9222000a lbu r2,0x000a(r17)
0012d0d8: 00000000 nop
0012d0dc: a202000d sb r2,0x000d(r16)
0012d0e0: 92220008 lbu r2,0x0008(r17)
0012d0e4: 92230004 lbu r3,0x0004(r17)
0012d0e8: 00000000 nop
0012d0ec: 00431021 addu r2,r2,r3
0012d0f0: a2020018 sb r2,0x0018(r16)
0012d0f4: 9222000a lbu r2,0x000a(r17)
0012d0f8: 00000000 nop
0012d0fc: a2020019 sb r2,0x0019(r16)
0012d100: 92220008 lbu r2,0x0008(r17)
0012d104: 00000000 nop
0012d108: a2020024 sb r2,0x0024(r16)
0012d10c: 9222000a lbu r2,0x000a(r17)
0012d110: 92230006 lbu r3,0x0006(r17)
0012d114: 00000000 nop
0012d118: 00431021 addu r2,r2,r3
0012d11c: a2020025 sb r2,0x0025(r16)
0012d120: 92220008 lbu r2,0x0008(r17)
0012d124: 92230004 lbu r3,0x0004(r17)
0012d128: 00000000 nop
0012d12c: 00431021 addu r2,r2,r3
0012d130: a2020030 sb r2,0x0030(r16)
0012d134: 9222000a lbu r2,0x000a(r17)
0012d138: 92230006 lbu r3,0x0006(r17)
0012d13c: 00000000 nop
0012d140: 00431021 addu r2,r2,r3
0012d144: a2020031 sb r2,0x0031(r16)			note: first mention of r18 (which is just r17 + 0x18)
0012d148: 92420000 lbu r2,0x0000(r18)
0012d14c: 00000000 nop
0012d150: a2020004 sb r2,0x0004(r16)
0012d154: 92420001 lbu r2,0x0001(r18)
0012d158: 00000000 nop
0012d15c: a2020005 sb r2,0x0005(r16)
0012d160: 92420002 lbu r2,0x0002(r18)
0012d164: 00000000 nop
0012d168: a2020006 sb r2,0x0006(r16)
0012d16c: 92420003 lbu r2,0x0003(r18)
0012d170: 00000000 nop
0012d174: a2020010 sb r2,0x0010(r16)
0012d178: 92420004 lbu r2,0x0004(r18)
0012d17c: 00000000 nop
0012d180: a2020011 sb r2,0x0011(r16)
0012d184: 92420005 lbu r2,0x0005(r18)
0012d188: 00000000 nop
0012d18c: a2020012 sb r2,0x0012(r16)
0012d190: 92420006 lbu r2,0x0006(r18)
0012d194: 00000000 nop
0012d198: a202001c sb r2,0x001c(r16)
0012d19c: 92420007 lbu r2,0x0007(r18)
0012d1a0: 00000000 nop
0012d1a4: a202001d sb r2,0x001d(r16)
0012d1a8: 92420008 lbu r2,0x0008(r18)
0012d1ac: 00000000 nop
0012d1b0: a202001e sb r2,0x001e(r16)
0012d1b4: 92420009 lbu r2,0x0009(r18)
0012d1b8: 00000000 nop
0012d1bc: a2020028 sb r2,0x0028(r16)
0012d1c0: 9242000a lbu r2,0x000a(r18)
0012d1c4: 00000000 nop
0012d1c8: a2020029 sb r2,0x0029(r16)
0012d1cc: 9242000b lbu r2,0x000b(r18)
0012d1d0: 3c0400ff lui r4,0x00ff
0012d1d4: a202002a sb r2,0x002a(r16)
0012d1d8: 9622000c lhu r2,0x000c(r17)
0012d1dc: 3484ffff ori r4,r4,0xffff
0012d1e0: a602000e sh r2,0x000e(r16)
0012d1e4: 9622000e lhu r2,0x000e(r17)
0012d1e8: 00139880 sll r19,r19,0x02
0012d1ec: a602001a sh r2,0x001a(r16)
0012d1f0: 3c06801d lui r6,0x801d
0012d1f4: 8cc6d528 lw r6,-0x2ad8(r6)			load VRAM pointer list
0012d1f8: 3c05ff00 lui r5,0xff00
0012d1fc: 8cc20000 lw r2,0x0000(r6)
0012d200: 8e030000 lw r3,0x0000(r16)
0012d204: 02621021 addu r2,r19,r2
0012d208: 8c420000 lw r2,0x0000(r2)
0012d20c: 00651824 and r3,r3,r5
0012d210: 00441024 and r2,r2,r4
0012d214: 00621825 or r3,r3,r2
0012d218: ae030000 sw r3,0x0000(r16)
0012d21c: 8cc20000 lw r2,0x0000(r6)
0012d220: 00000000 nop
0012d224: 02629821 addu r19,r19,r2
0012d228: 8e620000 lw r2,0x0000(r19)
0012d22c: 02048024 and r16,r16,r4
0012d230: 00451024 and r2,r2,r5
0012d234: 00501025 or r2,r2,r16
0012d238: ae620000 sw r2,0x0000(r19)
0012d23c: 8fbf0020 lw r31,0x0020(r29)
0012d240: 8fb3001c lw r19,0x001c(r29)
0012d244: 8fb20018 lw r18,0x0018(r29)
0012d248: 8fb10014 lw r17,0x0014(r29)
0012d24c: 8fb00010 lw r16,0x0010(r29)
0012d250: 27bd0028 addiu r29,r29,0x0028
0012d254: 03e00008 jr r31
0012d258: 00000000 nop