Get ENTD data pointer and load units
Jump to navigation
Jump to search
0008e7b8: 27bdffe8 addiu r29,r29,0xffe8 0008e7bc: afbf0010 sw r31,0x0010(r29) 0008e7c0: 0c010a20 jal 0x00042880 # --> Get Current ENTD Data Pointer r2 = result 0008e7c4: 00000000 nop 0008e7c8: 00402021 addu r4,r2,r0 # r4 = result from above 0008e7cc: 2402ffff addiu r2,r0,0xffff # r2 = 0xffff: The result indicating that there was no ENTD ID set 0008e7d0: 10820009 beq r4,r2,0x0008e7f8 # Branch to end if the result indicated that there was no ENTD (r2 will be set to 0x00 after landing this jump) 0008e7d4: 00000000 nop 0008e7d8: 10800008 beq r4,r0,0x0008e7fc # Branch to end if the result was 0x00, indicating that the file was still to be loaded? 0008e7dc: 34020001 ori r2,r0,0x0001 # Set r2 to 0x01... to indicate that the file was still being loaded? 0008e7e0: 0c05fe28 jal 0x0017f8a0 # --> Big ENTD unit loading routine 0008e7e4: 00002821 addu r5,r0,r0 # r5 = 0 0008e7e8: 3c048004 lui r4,0x8004 0008e7ec: 8c847604 lw r4,0x7604(r4) # r4 = Value at 0x80047604: Pointer to the start of the current ENTD sector's data? 0008e7f0: 0c011273 jal 0x000449cc # --> C52 Free but with extra steps: Clear the ENTD data from memory? 0008e7f4: 00000000 nop 0008e7f8: 00001021 addu r2,r0,r0 # r2 = 0x00, to indicate that the ENTD was either 0x00 or had finished loading 0008e7fc: 8fbf0010 lw r31,0x0010(r29) 0008e800: 27bd0018 addiu r29,r29,0x0018 0008e804: 03e00008 jr r31 0008e808: 00000000 nop