Some event data setting routine
Jump to navigation
Jump to search
0014ca80: 3c018017 lui r1,0x8017 0014ca84: 00200821 addu r1,r1,r0 0014ca88: 8c284038 lw r8,0x4038(r1) load Block # 0014ca8c: 00000000 nop 0014ca90: 00084280 sll r8,r8,0x0a 0014ca94: 3c018016 lui r1,0x8016 0014ca98: 00200821 addu r1,r1,r0 0014ca9c: 8c295f98 lw r9,0x5f98(r1) start of EVTCHR data (block data 0014caa0: 00000000 nop 0014caa4: 01094021 addu r8,r8,r9 get new address 0014caa8: ad100010 sw r16,0x0010(r8) store all kinds of data 0014caac: ad110014 sw r17,0x0014(r8) 0014cab0: ad120018 sw r18,0x0018(r8) 0014cab4: ad13001c sw r19,0x001c(r8) 0014cab8: ad140020 sw r20,0x0020(r8) 0014cabc: ad150024 sw r21,0x0024(r8) 0014cac0: ad160028 sw r22,0x0028(r8) 0014cac4: ad17002c sw r23,0x002c(r8) 0014cac8: ad1a0030 sw r26,0x0030(r8) 0014cacc: ad1b0034 sw r27,0x0034(r8) 0014cad0: ad1c0038 sw r28,0x0038(r8) 0014cad4: ad1d003c sw r29,0x003c(r8) 0014cad8: ad1e0040 sw r30,0x0040(r8) 0014cadc: ad1f0044 sw r31,0x0044(r8) 0014cae0: 25080400 addiu r8,r8,0x0400 go to next block of data 0014cae4: 3c018017 lui r1,0x8017 0014cae8: 00200821 addu r1,r1,r0 0014caec: 8c2a4038 lw r10,0x4038(r1) load byte again 0014caf0: 00000000 nop 0014caf4: 254a0001 addiu r10,r10,0x0001 increment byte 0014caf8: 3c018017 lui r1,0x8017 0014cafc: 00200821 addu r1,r1,r0 0014cb00: ac2a4038 sw r10,0x4038(r1) store new byte 0014cb04: 340b0010 ori r11,r0,0x0010 0014cb08: 114b0007 beq r10,r11,0x0014cb28 branch if = 0x10 last block? 0014cb0c: 00000000 nop 0014cb10: 8d0b0048 lw r11,0x0048(r8) load ?? byte 0014cb14: 00000000 nop 0014cb18: 140b0009 bne r0,r11,0x0014cb40 branch if not 0 0014cb1c: 00000000 nop 0014cb20: 080532b8 j 0x0014cae0 check next block 0014cb24: 00000000 nop if out of bounds 0014cb28: 3c018016 lui r1,0x8016 0014cb2c: 00200821 addu r1,r1,r0 0014cb30: 8c285f98 lw r8,0x5f98(r1) 0014cb34: 3c018017 lui r1,0x8017 0014cb38: 00200821 addu r1,r1,r0 0014cb3c: ac204038 sw r0,0x4038(r1) clear byte if none found if 0x48 byte = 0x01 0014cb40: 0c050b2a jal 0x00142ca8 0014cb44: 00000000 nop 0014cb48: 3c018017 lui r1,0x8017 0014cb4c: 00200821 addu r1,r1,r0 0014cb50: 8c284038 lw r8,0x4038(r1) load block pointer 0014cb54: 00000000 nop 0014cb58: 00084280 sll r8,r8,0x0a 0014cb5c: 3c018016 lui r1,0x8016 0014cb60: 00200821 addu r1,r1,r0 0014cb64: 8c295f98 lw r9,0x5f98(r1) 0014cb68: 00000000 nop 0014cb6c: 01094021 addu r8,r8,r9 get block address 0014cb70: 8d100010 lw r16,0x0010(r8) load data from new block 0014cb74: 8d110014 lw r17,0x0014(r8) 0014cb78: 8d120018 lw r18,0x0018(r8) 0014cb7c: 8d13001c lw r19,0x001c(r8) 0014cb80: 8d140020 lw r20,0x0020(r8) 0014cb84: 8d150024 lw r21,0x0024(r8) 0014cb88: 8d160028 lw r22,0x0028(r8) 0014cb8c: 8d17002c lw r23,0x002c(r8) 0014cb90: 8d1a0030 lw r26,0x0030(r8) 0014cb94: 8d1b0034 lw r27,0x0034(r8) 0014cb98: 8d1c0038 lw r28,0x0038(r8) 0014cb9c: 8d1d003c lw r29,0x003c(r8) 0014cba0: 8d1e0040 lw r30,0x0040(r8) 0014cba4: 8d1f0044 lw r31,0x0044(r8) load different return address 0014cba8: 00000000 nop 0014cbac: 03e00008 jr r31 0014cbb0: 00000000 nop