diff options
Diffstat (limited to 'asm/TRK_MINNOW_DOLPHIN')
-rw-r--r-- | asm/TRK_MINNOW_DOLPHIN/__exception.s | 2007 | ||||
-rw-r--r-- | asm/TRK_MINNOW_DOLPHIN/dispatch.s | 90 | ||||
-rw-r--r-- | asm/TRK_MINNOW_DOLPHIN/dolphin_trk.s | 206 | ||||
-rw-r--r-- | asm/TRK_MINNOW_DOLPHIN/dolphin_trk_glue.s | 271 | ||||
-rw-r--r-- | asm/TRK_MINNOW_DOLPHIN/flush_cache.s | 20 | ||||
-rw-r--r-- | asm/TRK_MINNOW_DOLPHIN/main_TRK.s | 28 | ||||
-rw-r--r-- | asm/TRK_MINNOW_DOLPHIN/mainloop.s | 116 | ||||
-rw-r--r-- | asm/TRK_MINNOW_DOLPHIN/mem_TRK.s | 93 | ||||
-rw-r--r-- | asm/TRK_MINNOW_DOLPHIN/mpc_7xx_603e.s | 239 | ||||
-rw-r--r-- | asm/TRK_MINNOW_DOLPHIN/msg.s | 15 | ||||
-rw-r--r-- | asm/TRK_MINNOW_DOLPHIN/msgbuf.s | 643 | ||||
-rw-r--r-- | asm/TRK_MINNOW_DOLPHIN/msghndlr.s | 1434 | ||||
-rw-r--r-- | asm/TRK_MINNOW_DOLPHIN/mutex_TRK.s | 17 | ||||
-rw-r--r-- | asm/TRK_MINNOW_DOLPHIN/notify.s | 65 | ||||
-rw-r--r-- | asm/TRK_MINNOW_DOLPHIN/nubevent.s | 181 | ||||
-rw-r--r-- | asm/TRK_MINNOW_DOLPHIN/nubinit.s | 136 | ||||
-rw-r--r-- | asm/TRK_MINNOW_DOLPHIN/serpoll.s | 149 | ||||
-rw-r--r-- | asm/TRK_MINNOW_DOLPHIN/support.s | 337 | ||||
-rw-r--r-- | asm/TRK_MINNOW_DOLPHIN/targcont.s | 18 | ||||
-rw-r--r-- | asm/TRK_MINNOW_DOLPHIN/targimpl.s | 1678 | ||||
-rw-r--r-- | asm/TRK_MINNOW_DOLPHIN/usr_put.s | 6 |
21 files changed, 7749 insertions, 0 deletions
diff --git a/asm/TRK_MINNOW_DOLPHIN/__exception.s b/asm/TRK_MINNOW_DOLPHIN/__exception.s new file mode 100644 index 0000000..72f56f9 --- /dev/null +++ b/asm/TRK_MINNOW_DOLPHIN/__exception.s @@ -0,0 +1,2007 @@ +.include "macros.inc" + +.section .init, "ax" # 0x80003100 - 0x80005540 +.global lbl_80003298 +lbl_80003298: +/* 80003298 00000298 4D 65 74 72 */ .4byte 0x4D657472 /* unknown instruction */ +/* 8000329C 0000029C 6F 77 65 72 */ xoris r23, r27, 0x6572 +/* 800032A0 000002A0 6B 73 20 54 */ xori r19, r27, 0x2054 +/* 800032A4 000002A4 61 72 67 65 */ ori r18, r11, 0x6765 +/* 800032A8 000002A8 74 20 52 65 */ andis. r0, r1, 0x5265 +/* 800032AC 000002AC 73 69 64 65 */ andi. r9, r27, 0x6465 +/* 800032B0 000002B0 6E 74 20 4B */ xoris r20, r19, 0x204b +/* 800032B4 000002B4 65 72 6E 65 */ oris r18, r11, 0x6e65 +/* 800032B8 000002B8 6C 20 66 6F */ xoris r0, r1, 0x666f +/* 800032BC 000002BC 72 20 50 6F */ andi. r0, r17, 0x506f +/* 800032C0 000002C0 77 65 72 50 */ andis. r5, r27, 0x7250 +lbl_800032C4: +/* 800032C4 000002C4 43 00 00 00 */ .4byte 0x43000000 /* unknown instruction */ +/* 800032C8 000002C8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800032CC 000002CC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800032D0 000002D0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800032D4 000002D4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800032D8 000002D8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800032DC 000002DC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800032E0 000002E0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800032E4 000002E4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800032E8 000002E8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800032EC 000002EC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800032F0 000002F0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800032F4 000002F4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800032F8 000002F8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800032FC 000002FC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003300 00000300 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003304 00000304 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003308 00000308 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000330C 0000030C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003310 00000310 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003314 00000314 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003318 00000318 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000331C 0000031C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003320 00000320 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003324 00000324 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003328 00000328 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000332C 0000032C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003330 00000330 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003334 00000334 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003338 00000338 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000333C 0000033C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003340 00000340 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003344 00000344 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003348 00000348 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000334C 0000034C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003350 00000350 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003354 00000354 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003358 00000358 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000335C 0000035C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003360 00000360 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003364 00000364 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003368 00000368 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000336C 0000036C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003370 00000370 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003374 00000374 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003378 00000378 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000337C 0000037C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003380 00000380 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003384 00000384 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003388 00000388 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000338C 0000038C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003390 00000390 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003394 00000394 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003398 00000398 48 00 1E 34 */ b __TRK_reset +/* 8000339C 0000039C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800033A0 000003A0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800033A4 000003A4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800033A8 000003A8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800033AC 000003AC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800033B0 000003B0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800033B4 000003B4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800033B8 000003B8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800033BC 000003BC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800033C0 000003C0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800033C4 000003C4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800033C8 000003C8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800033CC 000003CC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800033D0 000003D0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800033D4 000003D4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800033D8 000003D8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800033DC 000003DC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800033E0 000003E0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800033E4 000003E4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800033E8 000003E8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800033EC 000003EC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800033F0 000003F0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800033F4 000003F4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800033F8 000003F8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800033FC 000003FC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003400 00000400 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003404 00000404 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003408 00000408 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000340C 0000040C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003410 00000410 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003414 00000414 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003418 00000418 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000341C 0000041C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003420 00000420 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003424 00000424 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003428 00000428 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000342C 0000042C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003430 00000430 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003434 00000434 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003438 00000438 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000343C 0000043C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003440 00000440 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003444 00000444 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003448 00000448 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000344C 0000044C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003450 00000450 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003454 00000454 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003458 00000458 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000345C 0000045C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003460 00000460 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003464 00000464 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003468 00000468 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000346C 0000046C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003470 00000470 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003474 00000474 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003478 00000478 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000347C 0000047C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003480 00000480 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003484 00000484 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003488 00000488 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000348C 0000048C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003490 00000490 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003494 00000494 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003498 00000498 7C 51 43 A6 */ mtspr 0x111, r2 +/* 8000349C 0000049C 7C 5A 02 A6 */ mfspr r2, 0x1a +/* 800034A0 000004A0 7C 00 17 AC */ icbi 0, r2 +/* 800034A4 000004A4 7C 53 02 A6 */ mfdar r2 +/* 800034A8 000004A8 7C 00 13 AC */ dcbi 0, r2 +/* 800034AC 000004AC 7C 51 42 A6 */ mfspr r2, 0x111 +/* 800034B0 000004B0 7C 51 43 A6 */ mtspr 0x111, r2 +/* 800034B4 000004B4 7C 72 43 A6 */ mtspr 0x112, r3 +/* 800034B8 000004B8 7C 93 43 A6 */ mtspr 0x113, r4 +/* 800034BC 000004BC 7C 5A 02 A6 */ mfspr r2, 0x1a +/* 800034C0 000004C0 7C 9B 02 A6 */ mfspr r4, 0x1b +/* 800034C4 000004C4 7C 60 00 A6 */ mfmsr r3 +/* 800034C8 000004C8 60 63 00 30 */ ori r3, r3, 0x30 +/* 800034CC 000004CC 7C 7B 03 A6 */ mtspr 0x1b, r3 +/* 800034D0 000004D0 3C 60 80 08 */ lis r3, TRKInterruptHandler@h +/* 800034D4 000004D4 60 63 AD D8 */ ori r3, r3, TRKInterruptHandler@l +/* 800034D8 000004D8 7C 7A 03 A6 */ mtspr 0x1a, r3 +/* 800034DC 000004DC 38 60 02 00 */ li r3, 0x200 +/* 800034E0 000004E0 4C 00 00 64 */ rfi +/* 800034E4 000004E4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800034E8 000004E8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800034EC 000004EC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800034F0 000004F0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800034F4 000004F4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800034F8 000004F8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800034FC 000004FC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003500 00000500 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003504 00000504 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003508 00000508 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000350C 0000050C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003510 00000510 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003514 00000514 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003518 00000518 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000351C 0000051C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003520 00000520 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003524 00000524 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003528 00000528 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000352C 0000052C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003530 00000530 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003534 00000534 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003538 00000538 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000353C 0000053C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003540 00000540 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003544 00000544 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003548 00000548 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000354C 0000054C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003550 00000550 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003554 00000554 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003558 00000558 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000355C 0000055C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003560 00000560 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003564 00000564 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003568 00000568 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000356C 0000056C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003570 00000570 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003574 00000574 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003578 00000578 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000357C 0000057C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003580 00000580 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003584 00000584 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003588 00000588 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000358C 0000058C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003590 00000590 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003594 00000594 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003598 00000598 7C 51 43 A6 */ mtspr 0x111, r2 +/* 8000359C 0000059C 7C 72 43 A6 */ mtspr 0x112, r3 +/* 800035A0 000005A0 7C 93 43 A6 */ mtspr 0x113, r4 +/* 800035A4 000005A4 7C 5A 02 A6 */ mfspr r2, 0x1a +/* 800035A8 000005A8 7C 9B 02 A6 */ mfspr r4, 0x1b +/* 800035AC 000005AC 7C 60 00 A6 */ mfmsr r3 +/* 800035B0 000005B0 60 63 00 30 */ ori r3, r3, 0x30 +/* 800035B4 000005B4 7C 7B 03 A6 */ mtspr 0x1b, r3 +/* 800035B8 000005B8 3C 60 80 08 */ lis r3, TRKInterruptHandler@h +/* 800035BC 000005BC 60 63 AD D8 */ ori r3, r3, TRKInterruptHandler@l +/* 800035C0 000005C0 7C 7A 03 A6 */ mtspr 0x1a, r3 +/* 800035C4 000005C4 38 60 03 00 */ li r3, 0x300 +/* 800035C8 000005C8 4C 00 00 64 */ rfi +/* 800035CC 000005CC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800035D0 000005D0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800035D4 000005D4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800035D8 000005D8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800035DC 000005DC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800035E0 000005E0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800035E4 000005E4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800035E8 000005E8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800035EC 000005EC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800035F0 000005F0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800035F4 000005F4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800035F8 000005F8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800035FC 000005FC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003600 00000600 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003604 00000604 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003608 00000608 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000360C 0000060C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003610 00000610 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003614 00000614 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003618 00000618 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000361C 0000061C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003620 00000620 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003624 00000624 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003628 00000628 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000362C 0000062C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003630 00000630 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003634 00000634 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003638 00000638 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000363C 0000063C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003640 00000640 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003644 00000644 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003648 00000648 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000364C 0000064C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003650 00000650 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003654 00000654 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003658 00000658 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000365C 0000065C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003660 00000660 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003664 00000664 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003668 00000668 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000366C 0000066C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003670 00000670 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003674 00000674 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003678 00000678 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000367C 0000067C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003680 00000680 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003684 00000684 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003688 00000688 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000368C 0000068C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003690 00000690 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003694 00000694 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003698 00000698 7C 51 43 A6 */ mtspr 0x111, r2 +/* 8000369C 0000069C 7C 72 43 A6 */ mtspr 0x112, r3 +/* 800036A0 000006A0 7C 93 43 A6 */ mtspr 0x113, r4 +/* 800036A4 000006A4 7C 5A 02 A6 */ mfspr r2, 0x1a +/* 800036A8 000006A8 7C 9B 02 A6 */ mfspr r4, 0x1b +/* 800036AC 000006AC 7C 60 00 A6 */ mfmsr r3 +/* 800036B0 000006B0 60 63 00 30 */ ori r3, r3, 0x30 +/* 800036B4 000006B4 7C 7B 03 A6 */ mtspr 0x1b, r3 +/* 800036B8 000006B8 3C 60 80 08 */ lis r3, TRKInterruptHandler@h +/* 800036BC 000006BC 60 63 AD D8 */ ori r3, r3, TRKInterruptHandler@l +/* 800036C0 000006C0 7C 7A 03 A6 */ mtspr 0x1a, r3 +/* 800036C4 000006C4 38 60 04 00 */ li r3, 0x400 +/* 800036C8 000006C8 4C 00 00 64 */ rfi +/* 800036CC 000006CC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800036D0 000006D0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800036D4 000006D4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800036D8 000006D8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800036DC 000006DC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800036E0 000006E0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800036E4 000006E4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800036E8 000006E8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800036EC 000006EC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800036F0 000006F0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800036F4 000006F4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800036F8 000006F8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800036FC 000006FC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003700 00000700 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003704 00000704 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003708 00000708 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000370C 0000070C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003710 00000710 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003714 00000714 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003718 00000718 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000371C 0000071C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003720 00000720 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003724 00000724 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003728 00000728 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000372C 0000072C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003730 00000730 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003734 00000734 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003738 00000738 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000373C 0000073C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003740 00000740 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003744 00000744 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003748 00000748 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000374C 0000074C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003750 00000750 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003754 00000754 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003758 00000758 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000375C 0000075C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003760 00000760 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003764 00000764 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003768 00000768 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000376C 0000076C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003770 00000770 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003774 00000774 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003778 00000778 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000377C 0000077C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003780 00000780 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003784 00000784 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003788 00000788 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000378C 0000078C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003790 00000790 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003794 00000794 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003798 00000798 7C 51 43 A6 */ mtspr 0x111, r2 +/* 8000379C 0000079C 7C 72 43 A6 */ mtspr 0x112, r3 +/* 800037A0 000007A0 7C 93 43 A6 */ mtspr 0x113, r4 +/* 800037A4 000007A4 7C 5A 02 A6 */ mfspr r2, 0x1a +/* 800037A8 000007A8 7C 9B 02 A6 */ mfspr r4, 0x1b +/* 800037AC 000007AC 7C 60 00 A6 */ mfmsr r3 +/* 800037B0 000007B0 60 63 00 30 */ ori r3, r3, 0x30 +/* 800037B4 000007B4 7C 7B 03 A6 */ mtspr 0x1b, r3 +/* 800037B8 000007B8 3C 60 80 08 */ lis r3, TRKInterruptHandler@h +/* 800037BC 000007BC 60 63 AD D8 */ ori r3, r3, TRKInterruptHandler@l +/* 800037C0 000007C0 7C 7A 03 A6 */ mtspr 0x1a, r3 +/* 800037C4 000007C4 38 60 05 00 */ li r3, 0x500 +/* 800037C8 000007C8 4C 00 00 64 */ rfi +/* 800037CC 000007CC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800037D0 000007D0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800037D4 000007D4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800037D8 000007D8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800037DC 000007DC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800037E0 000007E0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800037E4 000007E4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800037E8 000007E8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800037EC 000007EC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800037F0 000007F0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800037F4 000007F4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800037F8 000007F8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800037FC 000007FC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003800 00000800 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003804 00000804 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003808 00000808 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000380C 0000080C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003810 00000810 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003814 00000814 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003818 00000818 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000381C 0000081C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003820 00000820 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003824 00000824 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003828 00000828 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000382C 0000082C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003830 00000830 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003834 00000834 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003838 00000838 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000383C 0000083C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003840 00000840 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003844 00000844 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003848 00000848 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000384C 0000084C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003850 00000850 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003854 00000854 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003858 00000858 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000385C 0000085C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003860 00000860 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003864 00000864 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003868 00000868 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000386C 0000086C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003870 00000870 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003874 00000874 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003878 00000878 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000387C 0000087C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003880 00000880 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003884 00000884 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003888 00000888 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000388C 0000088C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003890 00000890 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003894 00000894 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003898 00000898 7C 51 43 A6 */ mtspr 0x111, r2 +/* 8000389C 0000089C 7C 72 43 A6 */ mtspr 0x112, r3 +/* 800038A0 000008A0 7C 93 43 A6 */ mtspr 0x113, r4 +/* 800038A4 000008A4 7C 5A 02 A6 */ mfspr r2, 0x1a +/* 800038A8 000008A8 7C 9B 02 A6 */ mfspr r4, 0x1b +/* 800038AC 000008AC 7C 60 00 A6 */ mfmsr r3 +/* 800038B0 000008B0 60 63 00 30 */ ori r3, r3, 0x30 +/* 800038B4 000008B4 7C 7B 03 A6 */ mtspr 0x1b, r3 +/* 800038B8 000008B8 3C 60 80 08 */ lis r3, TRKInterruptHandler@h +/* 800038BC 000008BC 60 63 AD D8 */ ori r3, r3, TRKInterruptHandler@l +/* 800038C0 000008C0 7C 7A 03 A6 */ mtspr 0x1a, r3 +/* 800038C4 000008C4 38 60 06 00 */ li r3, 0x600 +/* 800038C8 000008C8 4C 00 00 64 */ rfi +/* 800038CC 000008CC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800038D0 000008D0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800038D4 000008D4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800038D8 000008D8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800038DC 000008DC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800038E0 000008E0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800038E4 000008E4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800038E8 000008E8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800038EC 000008EC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800038F0 000008F0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800038F4 000008F4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800038F8 000008F8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800038FC 000008FC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003900 00000900 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003904 00000904 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003908 00000908 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000390C 0000090C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003910 00000910 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003914 00000914 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003918 00000918 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000391C 0000091C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003920 00000920 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003924 00000924 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003928 00000928 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000392C 0000092C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003930 00000930 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003934 00000934 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003938 00000938 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000393C 0000093C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003940 00000940 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003944 00000944 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003948 00000948 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000394C 0000094C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003950 00000950 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003954 00000954 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003958 00000958 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000395C 0000095C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003960 00000960 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003964 00000964 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003968 00000968 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000396C 0000096C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003970 00000970 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003974 00000974 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003978 00000978 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000397C 0000097C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003980 00000980 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003984 00000984 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003988 00000988 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000398C 0000098C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003990 00000990 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003994 00000994 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003998 00000998 7C 51 43 A6 */ mtspr 0x111, r2 +/* 8000399C 0000099C 7C 72 43 A6 */ mtspr 0x112, r3 +/* 800039A0 000009A0 7C 93 43 A6 */ mtspr 0x113, r4 +/* 800039A4 000009A4 7C 5A 02 A6 */ mfspr r2, 0x1a +/* 800039A8 000009A8 7C 9B 02 A6 */ mfspr r4, 0x1b +/* 800039AC 000009AC 7C 60 00 A6 */ mfmsr r3 +/* 800039B0 000009B0 60 63 00 30 */ ori r3, r3, 0x30 +/* 800039B4 000009B4 7C 7B 03 A6 */ mtspr 0x1b, r3 +/* 800039B8 000009B8 3C 60 80 08 */ lis r3, TRKInterruptHandler@h +/* 800039BC 000009BC 60 63 AD D8 */ ori r3, r3, TRKInterruptHandler@l +/* 800039C0 000009C0 7C 7A 03 A6 */ mtspr 0x1a, r3 +/* 800039C4 000009C4 38 60 07 00 */ li r3, 0x700 +/* 800039C8 000009C8 4C 00 00 64 */ rfi +/* 800039CC 000009CC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800039D0 000009D0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800039D4 000009D4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800039D8 000009D8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800039DC 000009DC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800039E0 000009E0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800039E4 000009E4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800039E8 000009E8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800039EC 000009EC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800039F0 000009F0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800039F4 000009F4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800039F8 000009F8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800039FC 000009FC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A00 00000A00 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A04 00000A04 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A08 00000A08 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A0C 00000A0C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A10 00000A10 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A14 00000A14 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A18 00000A18 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A1C 00000A1C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A20 00000A20 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A24 00000A24 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A28 00000A28 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A2C 00000A2C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A30 00000A30 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A34 00000A34 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A38 00000A38 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A3C 00000A3C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A40 00000A40 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A44 00000A44 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A48 00000A48 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A4C 00000A4C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A50 00000A50 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A54 00000A54 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A58 00000A58 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A5C 00000A5C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A60 00000A60 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A64 00000A64 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A68 00000A68 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A6C 00000A6C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A70 00000A70 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A74 00000A74 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A78 00000A78 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A7C 00000A7C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A80 00000A80 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A84 00000A84 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A88 00000A88 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A8C 00000A8C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A90 00000A90 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A94 00000A94 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003A98 00000A98 7C 51 43 A6 */ mtspr 0x111, r2 +/* 80003A9C 00000A9C 7C 72 43 A6 */ mtspr 0x112, r3 +/* 80003AA0 00000AA0 7C 93 43 A6 */ mtspr 0x113, r4 +/* 80003AA4 00000AA4 7C 5A 02 A6 */ mfspr r2, 0x1a +/* 80003AA8 00000AA8 7C 9B 02 A6 */ mfspr r4, 0x1b +/* 80003AAC 00000AAC 7C 60 00 A6 */ mfmsr r3 +/* 80003AB0 00000AB0 60 63 00 30 */ ori r3, r3, 0x30 +/* 80003AB4 00000AB4 7C 7B 03 A6 */ mtspr 0x1b, r3 +/* 80003AB8 00000AB8 3C 60 80 08 */ lis r3, TRKInterruptHandler@h +/* 80003ABC 00000ABC 60 63 AD D8 */ ori r3, r3, TRKInterruptHandler@l +/* 80003AC0 00000AC0 7C 7A 03 A6 */ mtspr 0x1a, r3 +/* 80003AC4 00000AC4 38 60 08 00 */ li r3, 0x800 +/* 80003AC8 00000AC8 4C 00 00 64 */ rfi +/* 80003ACC 00000ACC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003AD0 00000AD0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003AD4 00000AD4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003AD8 00000AD8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003ADC 00000ADC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003AE0 00000AE0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003AE4 00000AE4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003AE8 00000AE8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003AEC 00000AEC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003AF0 00000AF0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003AF4 00000AF4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003AF8 00000AF8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003AFC 00000AFC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B00 00000B00 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B04 00000B04 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B08 00000B08 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B0C 00000B0C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B10 00000B10 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B14 00000B14 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B18 00000B18 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B1C 00000B1C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B20 00000B20 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B24 00000B24 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B28 00000B28 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B2C 00000B2C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B30 00000B30 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B34 00000B34 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B38 00000B38 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B3C 00000B3C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B40 00000B40 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B44 00000B44 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B48 00000B48 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B4C 00000B4C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B50 00000B50 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B54 00000B54 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B58 00000B58 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B5C 00000B5C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B60 00000B60 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B64 00000B64 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B68 00000B68 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B6C 00000B6C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B70 00000B70 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B74 00000B74 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B78 00000B78 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B7C 00000B7C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B80 00000B80 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B84 00000B84 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B88 00000B88 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B8C 00000B8C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B90 00000B90 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B94 00000B94 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003B98 00000B98 7C 51 43 A6 */ mtspr 0x111, r2 +/* 80003B9C 00000B9C 7C 72 43 A6 */ mtspr 0x112, r3 +/* 80003BA0 00000BA0 7C 93 43 A6 */ mtspr 0x113, r4 +/* 80003BA4 00000BA4 7C 5A 02 A6 */ mfspr r2, 0x1a +/* 80003BA8 00000BA8 7C 9B 02 A6 */ mfspr r4, 0x1b +/* 80003BAC 00000BAC 7C 60 00 A6 */ mfmsr r3 +/* 80003BB0 00000BB0 60 63 00 30 */ ori r3, r3, 0x30 +/* 80003BB4 00000BB4 7C 7B 03 A6 */ mtspr 0x1b, r3 +/* 80003BB8 00000BB8 3C 60 80 08 */ lis r3, TRKInterruptHandler@h +/* 80003BBC 00000BBC 60 63 AD D8 */ ori r3, r3, TRKInterruptHandler@l +/* 80003BC0 00000BC0 7C 7A 03 A6 */ mtspr 0x1a, r3 +/* 80003BC4 00000BC4 38 60 09 00 */ li r3, 0x900 +/* 80003BC8 00000BC8 4C 00 00 64 */ rfi +/* 80003BCC 00000BCC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003BD0 00000BD0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003BD4 00000BD4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003BD8 00000BD8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003BDC 00000BDC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003BE0 00000BE0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003BE4 00000BE4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003BE8 00000BE8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003BEC 00000BEC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003BF0 00000BF0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003BF4 00000BF4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003BF8 00000BF8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003BFC 00000BFC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C00 00000C00 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C04 00000C04 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C08 00000C08 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C0C 00000C0C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C10 00000C10 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C14 00000C14 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C18 00000C18 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C1C 00000C1C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C20 00000C20 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C24 00000C24 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C28 00000C28 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C2C 00000C2C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C30 00000C30 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C34 00000C34 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C38 00000C38 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C3C 00000C3C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C40 00000C40 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C44 00000C44 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C48 00000C48 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C4C 00000C4C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C50 00000C50 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C54 00000C54 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C58 00000C58 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C5C 00000C5C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C60 00000C60 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C64 00000C64 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C68 00000C68 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C6C 00000C6C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C70 00000C70 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C74 00000C74 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C78 00000C78 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C7C 00000C7C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C80 00000C80 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C84 00000C84 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C88 00000C88 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C8C 00000C8C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C90 00000C90 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C94 00000C94 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C98 00000C98 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003C9C 00000C9C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003CA0 00000CA0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003CA4 00000CA4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003CA8 00000CA8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003CAC 00000CAC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003CB0 00000CB0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003CB4 00000CB4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003CB8 00000CB8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003CBC 00000CBC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003CC0 00000CC0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003CC4 00000CC4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003CC8 00000CC8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003CCC 00000CCC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003CD0 00000CD0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003CD4 00000CD4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003CD8 00000CD8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003CDC 00000CDC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003CE0 00000CE0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003CE4 00000CE4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003CE8 00000CE8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003CEC 00000CEC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003CF0 00000CF0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003CF4 00000CF4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003CF8 00000CF8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003CFC 00000CFC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D00 00000D00 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D04 00000D04 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D08 00000D08 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D0C 00000D0C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D10 00000D10 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D14 00000D14 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D18 00000D18 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D1C 00000D1C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D20 00000D20 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D24 00000D24 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D28 00000D28 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D2C 00000D2C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D30 00000D30 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D34 00000D34 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D38 00000D38 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D3C 00000D3C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D40 00000D40 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D44 00000D44 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D48 00000D48 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D4C 00000D4C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D50 00000D50 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D54 00000D54 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D58 00000D58 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D5C 00000D5C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D60 00000D60 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D64 00000D64 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D68 00000D68 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D6C 00000D6C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D70 00000D70 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D74 00000D74 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D78 00000D78 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D7C 00000D7C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D80 00000D80 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D84 00000D84 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D88 00000D88 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D8C 00000D8C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D90 00000D90 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D94 00000D94 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D98 00000D98 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003D9C 00000D9C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003DA0 00000DA0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003DA4 00000DA4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003DA8 00000DA8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003DAC 00000DAC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003DB0 00000DB0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003DB4 00000DB4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003DB8 00000DB8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003DBC 00000DBC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003DC0 00000DC0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003DC4 00000DC4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003DC8 00000DC8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003DCC 00000DCC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003DD0 00000DD0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003DD4 00000DD4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003DD8 00000DD8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003DDC 00000DDC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003DE0 00000DE0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003DE4 00000DE4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003DE8 00000DE8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003DEC 00000DEC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003DF0 00000DF0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003DF4 00000DF4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003DF8 00000DF8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003DFC 00000DFC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E00 00000E00 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E04 00000E04 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E08 00000E08 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E0C 00000E0C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E10 00000E10 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E14 00000E14 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E18 00000E18 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E1C 00000E1C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E20 00000E20 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E24 00000E24 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E28 00000E28 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E2C 00000E2C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E30 00000E30 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E34 00000E34 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E38 00000E38 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E3C 00000E3C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E40 00000E40 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E44 00000E44 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E48 00000E48 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E4C 00000E4C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E50 00000E50 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E54 00000E54 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E58 00000E58 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E5C 00000E5C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E60 00000E60 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E64 00000E64 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E68 00000E68 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E6C 00000E6C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E70 00000E70 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E74 00000E74 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E78 00000E78 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E7C 00000E7C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E80 00000E80 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E84 00000E84 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E88 00000E88 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E8C 00000E8C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E90 00000E90 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E94 00000E94 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003E98 00000E98 7C 51 43 A6 */ mtspr 0x111, r2 +/* 80003E9C 00000E9C 7C 72 43 A6 */ mtspr 0x112, r3 +/* 80003EA0 00000EA0 7C 93 43 A6 */ mtspr 0x113, r4 +/* 80003EA4 00000EA4 7C 5A 02 A6 */ mfspr r2, 0x1a +/* 80003EA8 00000EA8 7C 9B 02 A6 */ mfspr r4, 0x1b +/* 80003EAC 00000EAC 7C 60 00 A6 */ mfmsr r3 +/* 80003EB0 00000EB0 60 63 00 30 */ ori r3, r3, 0x30 +/* 80003EB4 00000EB4 7C 7B 03 A6 */ mtspr 0x1b, r3 +/* 80003EB8 00000EB8 3C 60 80 08 */ lis r3, TRKInterruptHandler@h +/* 80003EBC 00000EBC 60 63 AD D8 */ ori r3, r3, TRKInterruptHandler@l +/* 80003EC0 00000EC0 7C 7A 03 A6 */ mtspr 0x1a, r3 +/* 80003EC4 00000EC4 38 60 0C 00 */ li r3, 0xc00 +/* 80003EC8 00000EC8 4C 00 00 64 */ rfi +/* 80003ECC 00000ECC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003ED0 00000ED0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003ED4 00000ED4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003ED8 00000ED8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003EDC 00000EDC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003EE0 00000EE0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003EE4 00000EE4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003EE8 00000EE8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003EEC 00000EEC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003EF0 00000EF0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003EF4 00000EF4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003EF8 00000EF8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003EFC 00000EFC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F00 00000F00 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F04 00000F04 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F08 00000F08 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F0C 00000F0C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F10 00000F10 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F14 00000F14 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F18 00000F18 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F1C 00000F1C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F20 00000F20 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F24 00000F24 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F28 00000F28 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F2C 00000F2C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F30 00000F30 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F34 00000F34 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F38 00000F38 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F3C 00000F3C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F40 00000F40 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F44 00000F44 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F48 00000F48 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F4C 00000F4C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F50 00000F50 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F54 00000F54 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F58 00000F58 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F5C 00000F5C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F60 00000F60 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F64 00000F64 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F68 00000F68 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F6C 00000F6C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F70 00000F70 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F74 00000F74 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F78 00000F78 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F7C 00000F7C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F80 00000F80 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F84 00000F84 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F88 00000F88 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F8C 00000F8C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F90 00000F90 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F94 00000F94 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003F98 00000F98 7C 51 43 A6 */ mtspr 0x111, r2 +/* 80003F9C 00000F9C 7C 72 43 A6 */ mtspr 0x112, r3 +/* 80003FA0 00000FA0 7C 93 43 A6 */ mtspr 0x113, r4 +/* 80003FA4 00000FA4 7C 5A 02 A6 */ mfspr r2, 0x1a +/* 80003FA8 00000FA8 7C 9B 02 A6 */ mfspr r4, 0x1b +/* 80003FAC 00000FAC 7C 60 00 A6 */ mfmsr r3 +/* 80003FB0 00000FB0 60 63 00 30 */ ori r3, r3, 0x30 +/* 80003FB4 00000FB4 7C 7B 03 A6 */ mtspr 0x1b, r3 +/* 80003FB8 00000FB8 3C 60 80 08 */ lis r3, TRKInterruptHandler@h +/* 80003FBC 00000FBC 60 63 AD D8 */ ori r3, r3, TRKInterruptHandler@l +/* 80003FC0 00000FC0 7C 7A 03 A6 */ mtspr 0x1a, r3 +/* 80003FC4 00000FC4 38 60 0D 00 */ li r3, 0xd00 +/* 80003FC8 00000FC8 4C 00 00 64 */ rfi +/* 80003FCC 00000FCC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003FD0 00000FD0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003FD4 00000FD4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003FD8 00000FD8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003FDC 00000FDC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003FE0 00000FE0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003FE4 00000FE4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003FE8 00000FE8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003FEC 00000FEC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003FF0 00000FF0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003FF4 00000FF4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003FF8 00000FF8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80003FFC 00000FFC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004000 00001000 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004004 00001004 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004008 00001008 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000400C 0000100C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004010 00001010 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004014 00001014 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004018 00001018 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000401C 0000101C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004020 00001020 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004024 00001024 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004028 00001028 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000402C 0000102C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004030 00001030 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004034 00001034 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004038 00001038 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000403C 0000103C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004040 00001040 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004044 00001044 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004048 00001048 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000404C 0000104C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004050 00001050 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004054 00001054 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004058 00001058 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000405C 0000105C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004060 00001060 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004064 00001064 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004068 00001068 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000406C 0000106C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004070 00001070 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004074 00001074 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004078 00001078 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000407C 0000107C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004080 00001080 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004084 00001084 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004088 00001088 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000408C 0000108C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004090 00001090 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004094 00001094 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004098 00001098 7C 51 43 A6 */ mtspr 0x111, r2 +/* 8000409C 0000109C 7C 72 43 A6 */ mtspr 0x112, r3 +/* 800040A0 000010A0 7C 93 43 A6 */ mtspr 0x113, r4 +/* 800040A4 000010A4 7C 5A 02 A6 */ mfspr r2, 0x1a +/* 800040A8 000010A8 7C 9B 02 A6 */ mfspr r4, 0x1b +/* 800040AC 000010AC 7C 60 00 A6 */ mfmsr r3 +/* 800040B0 000010B0 60 63 00 30 */ ori r3, r3, 0x30 +/* 800040B4 000010B4 7C 7B 03 A6 */ mtspr 0x1b, r3 +/* 800040B8 000010B8 3C 60 80 08 */ lis r3, TRKInterruptHandler@h +/* 800040BC 000010BC 60 63 AD D8 */ ori r3, r3, TRKInterruptHandler@l +/* 800040C0 000010C0 7C 7A 03 A6 */ mtspr 0x1a, r3 +/* 800040C4 000010C4 38 60 0E 00 */ li r3, 0xe00 +/* 800040C8 000010C8 4C 00 00 64 */ rfi +/* 800040CC 000010CC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800040D0 000010D0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800040D4 000010D4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800040D8 000010D8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800040DC 000010DC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800040E0 000010E0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800040E4 000010E4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800040E8 000010E8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800040EC 000010EC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800040F0 000010F0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800040F4 000010F4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800040F8 000010F8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800040FC 000010FC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004100 00001100 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004104 00001104 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004108 00001108 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000410C 0000110C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004110 00001110 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004114 00001114 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004118 00001118 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000411C 0000111C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004120 00001120 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004124 00001124 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004128 00001128 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000412C 0000112C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004130 00001130 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004134 00001134 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004138 00001138 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000413C 0000113C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004140 00001140 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004144 00001144 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004148 00001148 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000414C 0000114C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004150 00001150 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004154 00001154 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004158 00001158 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000415C 0000115C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004160 00001160 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004164 00001164 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004168 00001168 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000416C 0000116C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004170 00001170 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004174 00001174 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004178 00001178 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000417C 0000117C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004180 00001180 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004184 00001184 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004188 00001188 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000418C 0000118C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004190 00001190 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004194 00001194 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004198 00001198 48 00 00 54 */ b lbl_800041EC +/* 8000419C 0000119C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800041A0 000011A0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800041A4 000011A4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800041A8 000011A8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800041AC 000011AC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800041B0 000011B0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800041B4 000011B4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800041B8 000011B8 7C 51 43 A6 */ mtspr 0x111, r2 +/* 800041BC 000011BC 7C 72 43 A6 */ mtspr 0x112, r3 +/* 800041C0 000011C0 7C 93 43 A6 */ mtspr 0x113, r4 +/* 800041C4 000011C4 7C 5A 02 A6 */ mfspr r2, 0x1a +/* 800041C8 000011C8 7C 9B 02 A6 */ mfspr r4, 0x1b +/* 800041CC 000011CC 7C 60 00 A6 */ mfmsr r3 +/* 800041D0 000011D0 60 63 00 30 */ ori r3, r3, 0x30 +/* 800041D4 000011D4 7C 7B 03 A6 */ mtspr 0x1b, r3 +/* 800041D8 000011D8 3C 60 80 08 */ lis r3, TRKInterruptHandler@h +/* 800041DC 000011DC 60 63 AD D8 */ ori r3, r3, TRKInterruptHandler@l +/* 800041E0 000011E0 7C 7A 03 A6 */ mtspr 0x1a, r3 +/* 800041E4 000011E4 38 60 0F 20 */ li r3, 0xf20 +/* 800041E8 000011E8 4C 00 00 64 */ rfi +lbl_800041EC: +/* 800041EC 000011EC 7C 51 43 A6 */ mtspr 0x111, r2 +/* 800041F0 000011F0 7C 72 43 A6 */ mtspr 0x112, r3 +/* 800041F4 000011F4 7C 93 43 A6 */ mtspr 0x113, r4 +/* 800041F8 000011F8 7C 5A 02 A6 */ mfspr r2, 0x1a +/* 800041FC 000011FC 7C 9B 02 A6 */ mfspr r4, 0x1b +/* 80004200 00001200 7C 60 00 A6 */ mfmsr r3 +/* 80004204 00001204 60 63 00 30 */ ori r3, r3, 0x30 +/* 80004208 00001208 7C 7B 03 A6 */ mtspr 0x1b, r3 +/* 8000420C 0000120C 3C 60 80 08 */ lis r3, TRKInterruptHandler@h +/* 80004210 00001210 60 63 AD D8 */ ori r3, r3, TRKInterruptHandler@l +/* 80004214 00001214 7C 7A 03 A6 */ mtspr 0x1a, r3 +/* 80004218 00001218 38 60 0F 00 */ li r3, 0xf00 +/* 8000421C 0000121C 4C 00 00 64 */ rfi +/* 80004220 00001220 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004224 00001224 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004228 00001228 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000422C 0000122C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004230 00001230 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004234 00001234 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004238 00001238 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000423C 0000123C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004240 00001240 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004244 00001244 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004248 00001248 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000424C 0000124C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004250 00001250 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004254 00001254 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004258 00001258 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000425C 0000125C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004260 00001260 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004264 00001264 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004268 00001268 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000426C 0000126C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004270 00001270 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004274 00001274 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004278 00001278 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000427C 0000127C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004280 00001280 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004284 00001284 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004288 00001288 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000428C 0000128C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004290 00001290 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004294 00001294 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004298 00001298 7C 51 43 A6 */ mtspr 0x111, r2 +/* 8000429C 0000129C 7C 40 00 26 */ mfcr r2 +/* 800042A0 000012A0 7C 52 43 A6 */ mtspr 0x112, r2 +/* 800042A4 000012A4 7C 40 00 A6 */ mfmsr r2 +/* 800042A8 000012A8 74 42 00 02 */ andis. r2, r2, 2 +/* 800042AC 000012AC 41 82 00 1C */ beq lbl_800042C8 +/* 800042B0 000012B0 7C 40 00 A6 */ mfmsr r2 +/* 800042B4 000012B4 6C 42 00 02 */ xoris r2, r2, 2 +/* 800042B8 000012B8 7C 00 04 AC */ sync 0 +/* 800042BC 000012BC 7C 40 01 24 */ mtmsr r2 +/* 800042C0 000012C0 7C 00 04 AC */ sync 0 +/* 800042C4 000012C4 7C 51 43 A6 */ mtspr 0x111, r2 +lbl_800042C8: +/* 800042C8 000012C8 7C 52 42 A6 */ mfspr r2, 0x112 +/* 800042CC 000012CC 7C 4F F1 20 */ mtcrf 0xff, r2 +/* 800042D0 000012D0 7C 51 42 A6 */ mfspr r2, 0x111 +/* 800042D4 000012D4 7C 51 43 A6 */ mtspr 0x111, r2 +/* 800042D8 000012D8 7C 72 43 A6 */ mtspr 0x112, r3 +/* 800042DC 000012DC 7C 93 43 A6 */ mtspr 0x113, r4 +/* 800042E0 000012E0 7C 5A 02 A6 */ mfspr r2, 0x1a +/* 800042E4 000012E4 7C 9B 02 A6 */ mfspr r4, 0x1b +/* 800042E8 000012E8 7C 60 00 A6 */ mfmsr r3 +/* 800042EC 000012EC 60 63 00 30 */ ori r3, r3, 0x30 +/* 800042F0 000012F0 7C 7B 03 A6 */ mtspr 0x1b, r3 +/* 800042F4 000012F4 3C 60 80 08 */ lis r3, TRKInterruptHandler@h +/* 800042F8 000012F8 60 63 AD D8 */ ori r3, r3, TRKInterruptHandler@l +/* 800042FC 000012FC 7C 7A 03 A6 */ mtspr 0x1a, r3 +/* 80004300 00001300 38 60 10 00 */ li r3, 0x1000 +/* 80004304 00001304 4C 00 00 64 */ rfi +/* 80004308 00001308 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000430C 0000130C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004310 00001310 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004314 00001314 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004318 00001318 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000431C 0000131C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004320 00001320 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004324 00001324 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004328 00001328 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000432C 0000132C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004330 00001330 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004334 00001334 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004338 00001338 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000433C 0000133C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004340 00001340 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004344 00001344 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004348 00001348 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000434C 0000134C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004350 00001350 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004354 00001354 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004358 00001358 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000435C 0000135C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004360 00001360 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004364 00001364 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004368 00001368 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000436C 0000136C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004370 00001370 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004374 00001374 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004378 00001378 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000437C 0000137C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004380 00001380 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004384 00001384 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004388 00001388 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000438C 0000138C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004390 00001390 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004394 00001394 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004398 00001398 7C 51 43 A6 */ mtspr 0x111, r2 +/* 8000439C 0000139C 7C 40 00 26 */ mfcr r2 +/* 800043A0 000013A0 7C 52 43 A6 */ mtspr 0x112, r2 +/* 800043A4 000013A4 7C 40 00 A6 */ mfmsr r2 +/* 800043A8 000013A8 74 42 00 02 */ andis. r2, r2, 2 +/* 800043AC 000013AC 41 82 00 1C */ beq lbl_800043C8 +/* 800043B0 000013B0 7C 40 00 A6 */ mfmsr r2 +/* 800043B4 000013B4 6C 42 00 02 */ xoris r2, r2, 2 +/* 800043B8 000013B8 7C 00 04 AC */ sync 0 +/* 800043BC 000013BC 7C 40 01 24 */ mtmsr r2 +/* 800043C0 000013C0 7C 00 04 AC */ sync 0 +/* 800043C4 000013C4 7C 51 43 A6 */ mtspr 0x111, r2 +lbl_800043C8: +/* 800043C8 000013C8 7C 52 42 A6 */ mfspr r2, 0x112 +/* 800043CC 000013CC 7C 4F F1 20 */ mtcrf 0xff, r2 +/* 800043D0 000013D0 7C 51 42 A6 */ mfspr r2, 0x111 +/* 800043D4 000013D4 7C 51 43 A6 */ mtspr 0x111, r2 +/* 800043D8 000013D8 7C 72 43 A6 */ mtspr 0x112, r3 +/* 800043DC 000013DC 7C 93 43 A6 */ mtspr 0x113, r4 +/* 800043E0 000013E0 7C 5A 02 A6 */ mfspr r2, 0x1a +/* 800043E4 000013E4 7C 9B 02 A6 */ mfspr r4, 0x1b +/* 800043E8 000013E8 7C 60 00 A6 */ mfmsr r3 +/* 800043EC 000013EC 60 63 00 30 */ ori r3, r3, 0x30 +/* 800043F0 000013F0 7C 7B 03 A6 */ mtspr 0x1b, r3 +/* 800043F4 000013F4 3C 60 80 08 */ lis r3, TRKInterruptHandler@h +/* 800043F8 000013F8 60 63 AD D8 */ ori r3, r3, TRKInterruptHandler@l +/* 800043FC 000013FC 7C 7A 03 A6 */ mtspr 0x1a, r3 +/* 80004400 00001400 38 60 11 00 */ li r3, 0x1100 +/* 80004404 00001404 4C 00 00 64 */ rfi +/* 80004408 00001408 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000440C 0000140C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004410 00001410 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004414 00001414 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004418 00001418 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000441C 0000141C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004420 00001420 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004424 00001424 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004428 00001428 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000442C 0000142C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004430 00001430 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004434 00001434 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004438 00001438 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000443C 0000143C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004440 00001440 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004444 00001444 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004448 00001448 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000444C 0000144C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004450 00001450 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004454 00001454 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004458 00001458 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000445C 0000145C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004460 00001460 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004464 00001464 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004468 00001468 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000446C 0000146C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004470 00001470 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004474 00001474 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004478 00001478 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000447C 0000147C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004480 00001480 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004484 00001484 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004488 00001488 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000448C 0000148C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004490 00001490 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004494 00001494 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004498 00001498 7C 51 43 A6 */ mtspr 0x111, r2 +/* 8000449C 0000149C 7C 40 00 26 */ mfcr r2 +/* 800044A0 000014A0 7C 52 43 A6 */ mtspr 0x112, r2 +/* 800044A4 000014A4 7C 40 00 A6 */ mfmsr r2 +/* 800044A8 000014A8 74 42 00 02 */ andis. r2, r2, 2 +/* 800044AC 000014AC 41 82 00 1C */ beq lbl_800044C8 +/* 800044B0 000014B0 7C 40 00 A6 */ mfmsr r2 +/* 800044B4 000014B4 6C 42 00 02 */ xoris r2, r2, 2 +/* 800044B8 000014B8 7C 00 04 AC */ sync 0 +/* 800044BC 000014BC 7C 40 01 24 */ mtmsr r2 +/* 800044C0 000014C0 7C 00 04 AC */ sync 0 +/* 800044C4 000014C4 7C 51 43 A6 */ mtspr 0x111, r2 +lbl_800044C8: +/* 800044C8 000014C8 7C 52 42 A6 */ mfspr r2, 0x112 +/* 800044CC 000014CC 7C 4F F1 20 */ mtcrf 0xff, r2 +/* 800044D0 000014D0 7C 51 42 A6 */ mfspr r2, 0x111 +/* 800044D4 000014D4 7C 51 43 A6 */ mtspr 0x111, r2 +/* 800044D8 000014D8 7C 72 43 A6 */ mtspr 0x112, r3 +/* 800044DC 000014DC 7C 93 43 A6 */ mtspr 0x113, r4 +/* 800044E0 000014E0 7C 5A 02 A6 */ mfspr r2, 0x1a +/* 800044E4 000014E4 7C 9B 02 A6 */ mfspr r4, 0x1b +/* 800044E8 000014E8 7C 60 00 A6 */ mfmsr r3 +/* 800044EC 000014EC 60 63 00 30 */ ori r3, r3, 0x30 +/* 800044F0 000014F0 7C 7B 03 A6 */ mtspr 0x1b, r3 +/* 800044F4 000014F4 3C 60 80 08 */ lis r3, TRKInterruptHandler@h +/* 800044F8 000014F8 60 63 AD D8 */ ori r3, r3, TRKInterruptHandler@l +/* 800044FC 000014FC 7C 7A 03 A6 */ mtspr 0x1a, r3 +/* 80004500 00001500 38 60 12 00 */ li r3, 0x1200 +/* 80004504 00001504 4C 00 00 64 */ rfi +/* 80004508 00001508 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000450C 0000150C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004510 00001510 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004514 00001514 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004518 00001518 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000451C 0000151C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004520 00001520 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004524 00001524 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004528 00001528 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000452C 0000152C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004530 00001530 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004534 00001534 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004538 00001538 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000453C 0000153C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004540 00001540 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004544 00001544 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004548 00001548 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000454C 0000154C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004550 00001550 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004554 00001554 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004558 00001558 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000455C 0000155C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004560 00001560 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004564 00001564 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004568 00001568 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000456C 0000156C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004570 00001570 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004574 00001574 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004578 00001578 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000457C 0000157C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004580 00001580 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004584 00001584 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004588 00001588 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000458C 0000158C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004590 00001590 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004594 00001594 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004598 00001598 7C 51 43 A6 */ mtspr 0x111, r2 +/* 8000459C 0000159C 7C 72 43 A6 */ mtspr 0x112, r3 +/* 800045A0 000015A0 7C 93 43 A6 */ mtspr 0x113, r4 +/* 800045A4 000015A4 7C 5A 02 A6 */ mfspr r2, 0x1a +/* 800045A8 000015A8 7C 9B 02 A6 */ mfspr r4, 0x1b +/* 800045AC 000015AC 7C 60 00 A6 */ mfmsr r3 +/* 800045B0 000015B0 60 63 00 30 */ ori r3, r3, 0x30 +/* 800045B4 000015B4 7C 7B 03 A6 */ mtspr 0x1b, r3 +/* 800045B8 000015B8 3C 60 80 08 */ lis r3, TRKInterruptHandler@h +/* 800045BC 000015BC 60 63 AD D8 */ ori r3, r3, TRKInterruptHandler@l +/* 800045C0 000015C0 7C 7A 03 A6 */ mtspr 0x1a, r3 +/* 800045C4 000015C4 38 60 13 00 */ li r3, 0x1300 +/* 800045C8 000015C8 4C 00 00 64 */ rfi +/* 800045CC 000015CC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800045D0 000015D0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800045D4 000015D4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800045D8 000015D8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800045DC 000015DC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800045E0 000015E0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800045E4 000015E4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800045E8 000015E8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800045EC 000015EC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800045F0 000015F0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800045F4 000015F4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800045F8 000015F8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800045FC 000015FC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004600 00001600 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004604 00001604 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004608 00001608 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000460C 0000160C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004610 00001610 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004614 00001614 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004618 00001618 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000461C 0000161C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004620 00001620 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004624 00001624 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004628 00001628 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000462C 0000162C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004630 00001630 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004634 00001634 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004638 00001638 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000463C 0000163C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004640 00001640 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004644 00001644 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004648 00001648 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000464C 0000164C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004650 00001650 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004654 00001654 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004658 00001658 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000465C 0000165C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004660 00001660 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004664 00001664 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004668 00001668 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000466C 0000166C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004670 00001670 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004674 00001674 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004678 00001678 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000467C 0000167C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004680 00001680 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004684 00001684 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004688 00001688 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000468C 0000168C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004690 00001690 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004694 00001694 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004698 00001698 7C 51 43 A6 */ mtspr 0x111, r2 +/* 8000469C 0000169C 7C 72 43 A6 */ mtspr 0x112, r3 +/* 800046A0 000016A0 7C 93 43 A6 */ mtspr 0x113, r4 +/* 800046A4 000016A4 7C 5A 02 A6 */ mfspr r2, 0x1a +/* 800046A8 000016A8 7C 9B 02 A6 */ mfspr r4, 0x1b +/* 800046AC 000016AC 7C 60 00 A6 */ mfmsr r3 +/* 800046B0 000016B0 60 63 00 30 */ ori r3, r3, 0x30 +/* 800046B4 000016B4 7C 7B 03 A6 */ mtspr 0x1b, r3 +/* 800046B8 000016B8 3C 60 80 08 */ lis r3, TRKInterruptHandler@h +/* 800046BC 000016BC 60 63 AD D8 */ ori r3, r3, TRKInterruptHandler@l +/* 800046C0 000016C0 7C 7A 03 A6 */ mtspr 0x1a, r3 +/* 800046C4 000016C4 38 60 14 00 */ li r3, 0x1400 +/* 800046C8 000016C8 4C 00 00 64 */ rfi +/* 800046CC 000016CC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800046D0 000016D0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800046D4 000016D4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800046D8 000016D8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800046DC 000016DC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800046E0 000016E0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800046E4 000016E4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800046E8 000016E8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800046EC 000016EC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800046F0 000016F0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800046F4 000016F4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800046F8 000016F8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800046FC 000016FC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004700 00001700 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004704 00001704 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004708 00001708 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000470C 0000170C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004710 00001710 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004714 00001714 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004718 00001718 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000471C 0000171C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004720 00001720 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004724 00001724 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004728 00001728 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000472C 0000172C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004730 00001730 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004734 00001734 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004738 00001738 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000473C 0000173C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004740 00001740 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004744 00001744 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004748 00001748 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000474C 0000174C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004750 00001750 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004754 00001754 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004758 00001758 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000475C 0000175C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004760 00001760 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004764 00001764 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004768 00001768 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000476C 0000176C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004770 00001770 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004774 00001774 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004778 00001778 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000477C 0000177C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004780 00001780 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004784 00001784 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004788 00001788 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000478C 0000178C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004790 00001790 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004794 00001794 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004798 00001798 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000479C 0000179C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800047A0 000017A0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800047A4 000017A4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800047A8 000017A8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800047AC 000017AC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800047B0 000017B0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800047B4 000017B4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800047B8 000017B8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800047BC 000017BC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800047C0 000017C0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800047C4 000017C4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800047C8 000017C8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800047CC 000017CC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800047D0 000017D0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800047D4 000017D4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800047D8 000017D8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800047DC 000017DC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800047E0 000017E0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800047E4 000017E4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800047E8 000017E8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800047EC 000017EC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800047F0 000017F0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800047F4 000017F4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800047F8 000017F8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800047FC 000017FC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004800 00001800 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004804 00001804 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004808 00001808 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000480C 0000180C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004810 00001810 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004814 00001814 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004818 00001818 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000481C 0000181C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004820 00001820 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004824 00001824 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004828 00001828 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000482C 0000182C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004830 00001830 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004834 00001834 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004838 00001838 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000483C 0000183C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004840 00001840 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004844 00001844 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004848 00001848 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000484C 0000184C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004850 00001850 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004854 00001854 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004858 00001858 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000485C 0000185C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004860 00001860 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004864 00001864 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004868 00001868 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000486C 0000186C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004870 00001870 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004874 00001874 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004878 00001878 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000487C 0000187C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004880 00001880 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004884 00001884 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004888 00001888 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000488C 0000188C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004890 00001890 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004894 00001894 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004898 00001898 7C 51 43 A6 */ mtspr 0x111, r2 +/* 8000489C 0000189C 7C 72 43 A6 */ mtspr 0x112, r3 +/* 800048A0 000018A0 7C 93 43 A6 */ mtspr 0x113, r4 +/* 800048A4 000018A4 7C 5A 02 A6 */ mfspr r2, 0x1a +/* 800048A8 000018A8 7C 9B 02 A6 */ mfspr r4, 0x1b +/* 800048AC 000018AC 7C 60 00 A6 */ mfmsr r3 +/* 800048B0 000018B0 60 63 00 30 */ ori r3, r3, 0x30 +/* 800048B4 000018B4 7C 7B 03 A6 */ mtspr 0x1b, r3 +/* 800048B8 000018B8 3C 60 80 08 */ lis r3, TRKInterruptHandler@h +/* 800048BC 000018BC 60 63 AD D8 */ ori r3, r3, TRKInterruptHandler@l +/* 800048C0 000018C0 7C 7A 03 A6 */ mtspr 0x1a, r3 +/* 800048C4 000018C4 38 60 16 00 */ li r3, 0x1600 +/* 800048C8 000018C8 4C 00 00 64 */ rfi +/* 800048CC 000018CC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800048D0 000018D0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800048D4 000018D4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800048D8 000018D8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800048DC 000018DC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800048E0 000018E0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800048E4 000018E4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800048E8 000018E8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800048EC 000018EC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800048F0 000018F0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800048F4 000018F4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800048F8 000018F8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800048FC 000018FC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004900 00001900 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004904 00001904 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004908 00001908 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000490C 0000190C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004910 00001910 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004914 00001914 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004918 00001918 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000491C 0000191C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004920 00001920 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004924 00001924 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004928 00001928 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000492C 0000192C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004930 00001930 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004934 00001934 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004938 00001938 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000493C 0000193C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004940 00001940 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004944 00001944 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004948 00001948 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000494C 0000194C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004950 00001950 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004954 00001954 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004958 00001958 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000495C 0000195C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004960 00001960 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004964 00001964 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004968 00001968 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000496C 0000196C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004970 00001970 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004974 00001974 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004978 00001978 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000497C 0000197C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004980 00001980 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004984 00001984 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004988 00001988 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000498C 0000198C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004990 00001990 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004994 00001994 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004998 00001998 7C 51 43 A6 */ mtspr 0x111, r2 +/* 8000499C 0000199C 7C 72 43 A6 */ mtspr 0x112, r3 +/* 800049A0 000019A0 7C 93 43 A6 */ mtspr 0x113, r4 +/* 800049A4 000019A4 7C 5A 02 A6 */ mfspr r2, 0x1a +/* 800049A8 000019A8 7C 9B 02 A6 */ mfspr r4, 0x1b +/* 800049AC 000019AC 7C 60 00 A6 */ mfmsr r3 +/* 800049B0 000019B0 60 63 00 30 */ ori r3, r3, 0x30 +/* 800049B4 000019B4 7C 7B 03 A6 */ mtspr 0x1b, r3 +/* 800049B8 000019B8 3C 60 80 08 */ lis r3, TRKInterruptHandler@h +/* 800049BC 000019BC 60 63 AD D8 */ ori r3, r3, TRKInterruptHandler@l +/* 800049C0 000019C0 7C 7A 03 A6 */ mtspr 0x1a, r3 +/* 800049C4 000019C4 38 60 17 00 */ li r3, 0x1700 +/* 800049C8 000019C8 4C 00 00 64 */ rfi +/* 800049CC 000019CC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800049D0 000019D0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800049D4 000019D4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800049D8 000019D8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800049DC 000019DC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800049E0 000019E0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800049E4 000019E4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800049E8 000019E8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800049EC 000019EC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800049F0 000019F0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800049F4 000019F4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800049F8 000019F8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800049FC 000019FC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A00 00001A00 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A04 00001A04 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A08 00001A08 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A0C 00001A0C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A10 00001A10 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A14 00001A14 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A18 00001A18 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A1C 00001A1C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A20 00001A20 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A24 00001A24 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A28 00001A28 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A2C 00001A2C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A30 00001A30 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A34 00001A34 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A38 00001A38 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A3C 00001A3C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A40 00001A40 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A44 00001A44 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A48 00001A48 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A4C 00001A4C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A50 00001A50 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A54 00001A54 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A58 00001A58 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A5C 00001A5C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A60 00001A60 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A64 00001A64 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A68 00001A68 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A6C 00001A6C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A70 00001A70 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A74 00001A74 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A78 00001A78 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A7C 00001A7C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A80 00001A80 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A84 00001A84 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A88 00001A88 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A8C 00001A8C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A90 00001A90 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A94 00001A94 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A98 00001A98 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004A9C 00001A9C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004AA0 00001AA0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004AA4 00001AA4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004AA8 00001AA8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004AAC 00001AAC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004AB0 00001AB0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004AB4 00001AB4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004AB8 00001AB8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004ABC 00001ABC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004AC0 00001AC0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004AC4 00001AC4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004AC8 00001AC8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004ACC 00001ACC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004AD0 00001AD0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004AD4 00001AD4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004AD8 00001AD8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004ADC 00001ADC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004AE0 00001AE0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004AE4 00001AE4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004AE8 00001AE8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004AEC 00001AEC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004AF0 00001AF0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004AF4 00001AF4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004AF8 00001AF8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004AFC 00001AFC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B00 00001B00 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B04 00001B04 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B08 00001B08 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B0C 00001B0C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B10 00001B10 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B14 00001B14 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B18 00001B18 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B1C 00001B1C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B20 00001B20 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B24 00001B24 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B28 00001B28 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B2C 00001B2C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B30 00001B30 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B34 00001B34 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B38 00001B38 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B3C 00001B3C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B40 00001B40 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B44 00001B44 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B48 00001B48 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B4C 00001B4C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B50 00001B50 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B54 00001B54 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B58 00001B58 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B5C 00001B5C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B60 00001B60 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B64 00001B64 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B68 00001B68 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B6C 00001B6C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B70 00001B70 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B74 00001B74 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B78 00001B78 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B7C 00001B7C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B80 00001B80 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B84 00001B84 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B88 00001B88 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B8C 00001B8C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B90 00001B90 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B94 00001B94 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B98 00001B98 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004B9C 00001B9C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004BA0 00001BA0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004BA4 00001BA4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004BA8 00001BA8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004BAC 00001BAC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004BB0 00001BB0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004BB4 00001BB4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004BB8 00001BB8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004BBC 00001BBC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004BC0 00001BC0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004BC4 00001BC4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004BC8 00001BC8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004BCC 00001BCC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004BD0 00001BD0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004BD4 00001BD4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004BD8 00001BD8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004BDC 00001BDC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004BE0 00001BE0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004BE4 00001BE4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004BE8 00001BE8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004BEC 00001BEC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004BF0 00001BF0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004BF4 00001BF4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004BF8 00001BF8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004BFC 00001BFC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C00 00001C00 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C04 00001C04 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C08 00001C08 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C0C 00001C0C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C10 00001C10 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C14 00001C14 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C18 00001C18 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C1C 00001C1C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C20 00001C20 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C24 00001C24 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C28 00001C28 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C2C 00001C2C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C30 00001C30 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C34 00001C34 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C38 00001C38 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C3C 00001C3C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C40 00001C40 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C44 00001C44 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C48 00001C48 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C4C 00001C4C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C50 00001C50 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C54 00001C54 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C58 00001C58 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C5C 00001C5C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C60 00001C60 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C64 00001C64 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C68 00001C68 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C6C 00001C6C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C70 00001C70 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C74 00001C74 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C78 00001C78 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C7C 00001C7C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C80 00001C80 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C84 00001C84 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C88 00001C88 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C8C 00001C8C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C90 00001C90 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C94 00001C94 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C98 00001C98 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004C9C 00001C9C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004CA0 00001CA0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004CA4 00001CA4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004CA8 00001CA8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004CAC 00001CAC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004CB0 00001CB0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004CB4 00001CB4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004CB8 00001CB8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004CBC 00001CBC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004CC0 00001CC0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004CC4 00001CC4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004CC8 00001CC8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004CCC 00001CCC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004CD0 00001CD0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004CD4 00001CD4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004CD8 00001CD8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004CDC 00001CDC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004CE0 00001CE0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004CE4 00001CE4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004CE8 00001CE8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004CEC 00001CEC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004CF0 00001CF0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004CF4 00001CF4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004CF8 00001CF8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004CFC 00001CFC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D00 00001D00 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D04 00001D04 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D08 00001D08 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D0C 00001D0C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D10 00001D10 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D14 00001D14 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D18 00001D18 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D1C 00001D1C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D20 00001D20 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D24 00001D24 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D28 00001D28 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D2C 00001D2C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D30 00001D30 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D34 00001D34 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D38 00001D38 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D3C 00001D3C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D40 00001D40 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D44 00001D44 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D48 00001D48 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D4C 00001D4C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D50 00001D50 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D54 00001D54 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D58 00001D58 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D5C 00001D5C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D60 00001D60 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D64 00001D64 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D68 00001D68 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D6C 00001D6C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D70 00001D70 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D74 00001D74 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D78 00001D78 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D7C 00001D7C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D80 00001D80 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D84 00001D84 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D88 00001D88 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D8C 00001D8C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D90 00001D90 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D94 00001D94 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D98 00001D98 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004D9C 00001D9C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004DA0 00001DA0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004DA4 00001DA4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004DA8 00001DA8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004DAC 00001DAC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004DB0 00001DB0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004DB4 00001DB4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004DB8 00001DB8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004DBC 00001DBC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004DC0 00001DC0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004DC4 00001DC4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004DC8 00001DC8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004DCC 00001DCC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004DD0 00001DD0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004DD4 00001DD4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004DD8 00001DD8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004DDC 00001DDC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004DE0 00001DE0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004DE4 00001DE4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004DE8 00001DE8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004DEC 00001DEC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004DF0 00001DF0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004DF4 00001DF4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004DF8 00001DF8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004DFC 00001DFC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E00 00001E00 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E04 00001E04 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E08 00001E08 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E0C 00001E0C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E10 00001E10 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E14 00001E14 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E18 00001E18 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E1C 00001E1C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E20 00001E20 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E24 00001E24 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E28 00001E28 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E2C 00001E2C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E30 00001E30 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E34 00001E34 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E38 00001E38 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E3C 00001E3C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E40 00001E40 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E44 00001E44 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E48 00001E48 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E4C 00001E4C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E50 00001E50 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E54 00001E54 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E58 00001E58 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E5C 00001E5C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E60 00001E60 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E64 00001E64 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E68 00001E68 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E6C 00001E6C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E70 00001E70 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E74 00001E74 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E78 00001E78 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E7C 00001E7C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E80 00001E80 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E84 00001E84 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E88 00001E88 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E8C 00001E8C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E90 00001E90 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E94 00001E94 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004E98 00001E98 7C 51 43 A6 */ mtspr 0x111, r2 +/* 80004E9C 00001E9C 7C 72 43 A6 */ mtspr 0x112, r3 +/* 80004EA0 00001EA0 7C 93 43 A6 */ mtspr 0x113, r4 +/* 80004EA4 00001EA4 7C 5A 02 A6 */ mfspr r2, 0x1a +/* 80004EA8 00001EA8 7C 9B 02 A6 */ mfspr r4, 0x1b +/* 80004EAC 00001EAC 7C 60 00 A6 */ mfmsr r3 +/* 80004EB0 00001EB0 60 63 00 30 */ ori r3, r3, 0x30 +/* 80004EB4 00001EB4 7C 7B 03 A6 */ mtspr 0x1b, r3 +/* 80004EB8 00001EB8 3C 60 80 08 */ lis r3, TRKInterruptHandler@h +/* 80004EBC 00001EBC 60 63 AD D8 */ ori r3, r3, TRKInterruptHandler@l +/* 80004EC0 00001EC0 7C 7A 03 A6 */ mtspr 0x1a, r3 +/* 80004EC4 00001EC4 38 60 1C 00 */ li r3, 0x1c00 +/* 80004EC8 00001EC8 4C 00 00 64 */ rfi +/* 80004ECC 00001ECC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004ED0 00001ED0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004ED4 00001ED4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004ED8 00001ED8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004EDC 00001EDC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004EE0 00001EE0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004EE4 00001EE4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004EE8 00001EE8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004EEC 00001EEC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004EF0 00001EF0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004EF4 00001EF4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004EF8 00001EF8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004EFC 00001EFC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F00 00001F00 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F04 00001F04 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F08 00001F08 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F0C 00001F0C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F10 00001F10 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F14 00001F14 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F18 00001F18 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F1C 00001F1C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F20 00001F20 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F24 00001F24 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F28 00001F28 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F2C 00001F2C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F30 00001F30 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F34 00001F34 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F38 00001F38 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F3C 00001F3C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F40 00001F40 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F44 00001F44 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F48 00001F48 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F4C 00001F4C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F50 00001F50 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F54 00001F54 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F58 00001F58 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F5C 00001F5C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F60 00001F60 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F64 00001F64 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F68 00001F68 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F6C 00001F6C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F70 00001F70 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F74 00001F74 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F78 00001F78 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F7C 00001F7C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F80 00001F80 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F84 00001F84 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F88 00001F88 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F8C 00001F8C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F90 00001F90 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F94 00001F94 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004F98 00001F98 7C 51 43 A6 */ mtspr 0x111, r2 +/* 80004F9C 00001F9C 7C 72 43 A6 */ mtspr 0x112, r3 +/* 80004FA0 00001FA0 7C 93 43 A6 */ mtspr 0x113, r4 +/* 80004FA4 00001FA4 7C 5A 02 A6 */ mfspr r2, 0x1a +/* 80004FA8 00001FA8 7C 9B 02 A6 */ mfspr r4, 0x1b +/* 80004FAC 00001FAC 7C 60 00 A6 */ mfmsr r3 +/* 80004FB0 00001FB0 60 63 00 30 */ ori r3, r3, 0x30 +/* 80004FB4 00001FB4 7C 7B 03 A6 */ mtspr 0x1b, r3 +/* 80004FB8 00001FB8 3C 60 80 08 */ lis r3, TRKInterruptHandler@h +/* 80004FBC 00001FBC 60 63 AD D8 */ ori r3, r3, TRKInterruptHandler@l +/* 80004FC0 00001FC0 7C 7A 03 A6 */ mtspr 0x1a, r3 +/* 80004FC4 00001FC4 38 60 1D 00 */ li r3, 0x1d00 +/* 80004FC8 00001FC8 4C 00 00 64 */ rfi +/* 80004FCC 00001FCC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004FD0 00001FD0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004FD4 00001FD4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004FD8 00001FD8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004FDC 00001FDC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004FE0 00001FE0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004FE4 00001FE4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004FE8 00001FE8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004FEC 00001FEC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004FF0 00001FF0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004FF4 00001FF4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004FF8 00001FF8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80004FFC 00001FFC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005000 00002000 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005004 00002004 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005008 00002008 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000500C 0000200C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005010 00002010 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005014 00002014 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005018 00002018 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000501C 0000201C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005020 00002020 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005024 00002024 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005028 00002028 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000502C 0000202C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005030 00002030 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005034 00002034 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005038 00002038 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000503C 0000203C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005040 00002040 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005044 00002044 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005048 00002048 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000504C 0000204C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005050 00002050 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005054 00002054 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005058 00002058 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000505C 0000205C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005060 00002060 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005064 00002064 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005068 00002068 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000506C 0000206C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005070 00002070 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005074 00002074 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005078 00002078 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000507C 0000207C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005080 00002080 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005084 00002084 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005088 00002088 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000508C 0000208C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005090 00002090 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005094 00002094 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005098 00002098 7C 51 43 A6 */ mtspr 0x111, r2 +/* 8000509C 0000209C 7C 72 43 A6 */ mtspr 0x112, r3 +/* 800050A0 000020A0 7C 93 43 A6 */ mtspr 0x113, r4 +/* 800050A4 000020A4 7C 5A 02 A6 */ mfspr r2, 0x1a +/* 800050A8 000020A8 7C 9B 02 A6 */ mfspr r4, 0x1b +/* 800050AC 000020AC 7C 60 00 A6 */ mfmsr r3 +/* 800050B0 000020B0 60 63 00 30 */ ori r3, r3, 0x30 +/* 800050B4 000020B4 7C 7B 03 A6 */ mtspr 0x1b, r3 +/* 800050B8 000020B8 3C 60 80 08 */ lis r3, TRKInterruptHandler@h +/* 800050BC 000020BC 60 63 AD D8 */ ori r3, r3, TRKInterruptHandler@l +/* 800050C0 000020C0 7C 7A 03 A6 */ mtspr 0x1a, r3 +/* 800050C4 000020C4 38 60 1E 00 */ li r3, 0x1e00 +/* 800050C8 000020C8 4C 00 00 64 */ rfi +/* 800050CC 000020CC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800050D0 000020D0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800050D4 000020D4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800050D8 000020D8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800050DC 000020DC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800050E0 000020E0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800050E4 000020E4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800050E8 000020E8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800050EC 000020EC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800050F0 000020F0 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800050F4 000020F4 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800050F8 000020F8 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 800050FC 000020FC 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005100 00002100 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005104 00002104 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005108 00002108 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000510C 0000210C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005110 00002110 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005114 00002114 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005118 00002118 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000511C 0000211C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005120 00002120 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005124 00002124 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005128 00002128 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000512C 0000212C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005130 00002130 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005134 00002134 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005138 00002138 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000513C 0000213C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005140 00002140 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005144 00002144 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005148 00002148 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000514C 0000214C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005150 00002150 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005154 00002154 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005158 00002158 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000515C 0000215C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005160 00002160 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005164 00002164 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005168 00002168 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000516C 0000216C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005170 00002170 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005174 00002174 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005178 00002178 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000517C 0000217C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005180 00002180 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005184 00002184 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005188 00002188 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 8000518C 0000218C 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005190 00002190 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005194 00002194 00 00 00 00 */ .4byte 0x00000000 /* unknown instruction */ +/* 80005198 00002198 7C 51 43 A6 */ mtspr 0x111, r2 +/* 8000519C 0000219C 7C 72 43 A6 */ mtspr 0x112, r3 +/* 800051A0 000021A0 7C 93 43 A6 */ mtspr 0x113, r4 +/* 800051A4 000021A4 7C 5A 02 A6 */ mfspr r2, 0x1a +/* 800051A8 000021A8 7C 9B 02 A6 */ mfspr r4, 0x1b +/* 800051AC 000021AC 7C 60 00 A6 */ mfmsr r3 +/* 800051B0 000021B0 60 63 00 30 */ ori r3, r3, 0x30 +/* 800051B4 000021B4 7C 7B 03 A6 */ mtspr 0x1b, r3 +/* 800051B8 000021B8 3C 60 80 08 */ lis r3, TRKInterruptHandler@h +/* 800051BC 000021BC 60 63 AD D8 */ ori r3, r3, TRKInterruptHandler@l +/* 800051C0 000021C0 7C 7A 03 A6 */ mtspr 0x1a, r3 +/* 800051C4 000021C4 38 60 1F 00 */ li r3, 0x1f00 +/* 800051C8 000021C8 4C 00 00 64 */ rfi diff --git a/asm/TRK_MINNOW_DOLPHIN/dispatch.s b/asm/TRK_MINNOW_DOLPHIN/dispatch.s new file mode 100644 index 0000000..4d79595 --- /dev/null +++ b/asm/TRK_MINNOW_DOLPHIN/dispatch.s @@ -0,0 +1,90 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80005600 - 0x8036FBA0 +.global TRKInitializeDispatcher +TRKInitializeDispatcher: +/* 80088A94 000859D4 3C 60 80 3F */ lis r3, gTRKDispatchTableSize@ha +/* 80088A98 000859D8 38 00 00 20 */ li r0, 0x20 +/* 80088A9C 000859DC 90 03 AA D8 */ stw r0, gTRKDispatchTableSize@l(r3) +/* 80088AA0 000859E0 38 60 00 00 */ li r3, 0 +/* 80088AA4 000859E4 4E 80 00 20 */ blr + +.global TRKDispatchMessage +TRKDispatchMessage: +/* 80088AA8 000859E8 7C 08 02 A6 */ mflr r0 +/* 80088AAC 000859EC 38 80 00 00 */ li r4, 0 +/* 80088AB0 000859F0 90 01 00 04 */ stw r0, 4(r1) +/* 80088AB4 000859F4 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 80088AB8 000859F8 93 E1 00 14 */ stw r31, 0x14(r1) +/* 80088ABC 000859FC 3B E0 05 00 */ li r31, 0x500 +/* 80088AC0 00085A00 93 C1 00 10 */ stw r30, 0x10(r1) +/* 80088AC4 00085A04 3B C3 00 00 */ addi r30, r3, 0 +/* 80088AC8 00085A08 4B FF F7 A9 */ bl TRKSetBufferPosition +/* 80088ACC 00085A0C 38 7E 00 00 */ addi r3, r30, 0 +/* 80088AD0 00085A10 38 81 00 08 */ addi r4, r1, 8 +/* 80088AD4 00085A14 4B FF FB 21 */ bl TRKReadBuffer1_ui8 +/* 80088AD8 00085A18 3C 60 80 3F */ lis r3, gTRKDispatchTableSize@ha +/* 80088ADC 00085A1C 88 81 00 08 */ lbz r4, 8(r1) +/* 80088AE0 00085A20 80 03 AA D8 */ lwz r0, gTRKDispatchTableSize@l(r3) +/* 80088AE4 00085A24 7C 04 00 40 */ cmplw r4, r0 +/* 80088AE8 00085A28 40 80 00 28 */ bge lbl_80088B10 +/* 80088AEC 00085A2C 3C 60 80 3B */ lis r3, gTRKDispatchTable@ha +/* 80088AF0 00085A30 54 84 10 3A */ slwi r4, r4, 2 +/* 80088AF4 00085A34 38 03 EF 58 */ addi r0, r3, gTRKDispatchTable@l +/* 80088AF8 00085A38 7C 60 22 14 */ add r3, r0, r4 +/* 80088AFC 00085A3C 81 83 00 00 */ lwz r12, 0(r3) +/* 80088B00 00085A40 38 7E 00 00 */ addi r3, r30, 0 +/* 80088B04 00085A44 7D 88 03 A6 */ mtlr r12 +/* 80088B08 00085A48 4E 80 00 21 */ blrl +/* 80088B0C 00085A4C 7C 7F 1B 78 */ mr r31, r3 +lbl_80088B10: +/* 80088B10 00085A50 7F E3 FB 78 */ mr r3, r31 +/* 80088B14 00085A54 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 80088B18 00085A58 83 C1 00 10 */ lwz r30, 0x10(r1) +/* 80088B1C 00085A5C 38 21 00 18 */ addi r1, r1, 0x18 +/* 80088B20 00085A60 80 01 00 04 */ lwz r0, 4(r1) +/* 80088B24 00085A64 7C 08 03 A6 */ mtlr r0 +/* 80088B28 00085A68 4E 80 00 20 */ blr + +.section .data, "wa" # 0x803A8380 - 0x803E6000 +.global gTRKDispatchTable +gTRKDispatchTable: + .4byte TRKDoUnsupported + .4byte TRKDoConnect + .4byte TRKDoDisconnect + .4byte TRKDoReset + .4byte TRKDoVersions + .4byte TRKDoSupportMask + .4byte TRKDoCPUType + .4byte TRKDoUnsupported + .4byte TRKDoUnsupported + .4byte TRKDoUnsupported + .4byte TRKDoUnsupported + .4byte TRKDoUnsupported + .4byte TRKDoUnsupported + .4byte TRKDoUnsupported + .4byte TRKDoUnsupported + .4byte TRKDoUnsupported + .4byte TRKDoReadMemory + .4byte TRKDoWriteMemory + .4byte TRKDoReadRegisters + .4byte TRKDoWriteRegisters + .4byte TRKDoUnsupported + .4byte TRKDoUnsupported + .4byte TRKDoFlushCache + .4byte TRKDoUnsupported + .4byte TRKDoContinue + .4byte TRKDoStep + .4byte TRKDoStop + .4byte TRKDoUnsupported + .4byte TRKDoUnsupported + .4byte TRKDoUnsupported + .4byte TRKDoUnsupported + .4byte TRKDoUnsupported + .4byte 0 + .4byte 0 + +.section .bss, "wa" # 0x803E6000 - 0x80408AC0 +.global gTRKDispatchTableSize +gTRKDispatchTableSize: + .skip 0x8 diff --git a/asm/TRK_MINNOW_DOLPHIN/dolphin_trk.s b/asm/TRK_MINNOW_DOLPHIN/dolphin_trk.s new file mode 100644 index 0000000..785fa4f --- /dev/null +++ b/asm/TRK_MINNOW_DOLPHIN/dolphin_trk.s @@ -0,0 +1,206 @@ +.include "macros.inc" + +.section .init, "ax" # 0x80003100 - 0x80005540 +.global __TRK_reset +__TRK_reset: +/* 800051CC 000021CC 7C 08 02 A6 */ mflr r0 +/* 800051D0 000021D0 90 01 00 04 */ stw r0, 4(r1) +/* 800051D4 000021D4 94 21 FF F8 */ stwu r1, -8(r1) +/* 800051D8 000021D8 48 08 69 99 */ bl __TRK_copy_vectors +/* 800051DC 000021DC 38 21 00 08 */ addi r1, r1, 8 +/* 800051E0 000021E0 80 01 00 04 */ lwz r0, 4(r1) +/* 800051E4 000021E4 7C 08 03 A6 */ mtlr r0 +/* 800051E8 000021E8 4E 80 00 20 */ blr + +.section .text, "ax" # 0x80005600 - 0x8036FBA0 +.global InitMetroTRK +InitMetroTRK: +/* 8008BA14 00088954 38 21 FF FC */ addi r1, r1, -4 +/* 8008BA18 00088958 90 61 00 00 */ stw r3, 0(r1) +/* 8008BA1C 0008895C 3C 60 80 3E */ lis r3, gTRKCPUState@h +/* 8008BA20 00088960 60 63 AC 30 */ ori r3, r3, gTRKCPUState@l +/* 8008BA24 00088964 BC 03 00 00 */ stmw r0, 0(r3) +/* 8008BA28 00088968 80 81 00 00 */ lwz r4, 0(r1) +/* 8008BA2C 0008896C 38 21 00 04 */ addi r1, r1, 4 +/* 8008BA30 00088970 90 23 00 04 */ stw r1, 4(r3) +/* 8008BA34 00088974 90 83 00 0C */ stw r4, 0xc(r3) +/* 8008BA38 00088978 7C 88 02 A6 */ mflr r4 +/* 8008BA3C 0008897C 90 83 00 84 */ stw r4, 0x84(r3) +/* 8008BA40 00088980 90 83 00 80 */ stw r4, 0x80(r3) +/* 8008BA44 00088984 7C 80 00 26 */ mfcr r4 +/* 8008BA48 00088988 90 83 00 88 */ stw r4, 0x88(r3) +/* 8008BA4C 0008898C 7C 80 00 A6 */ mfmsr r4 +/* 8008BA50 00088990 60 83 80 00 */ ori r3, r4, 0x8000 +/* 8008BA54 00088994 68 63 80 00 */ xori r3, r3, 0x8000 +/* 8008BA58 00088998 7C 60 01 24 */ mtmsr r3 +/* 8008BA5C 0008899C 7C 9B 03 A6 */ mtspr 0x1b, r4 +/* 8008BA60 000889A0 48 00 01 F5 */ bl TRKSaveExtended1Block +/* 8008BA64 000889A4 3C 60 80 3E */ lis r3, gTRKCPUState@h +/* 8008BA68 000889A8 60 63 AC 30 */ ori r3, r3, gTRKCPUState@l +/* 8008BA6C 000889AC B8 03 00 00 */ .4byte 0xB8030000 /* illegal lmw r0, 0(r3) */ +/* 8008BA70 000889B0 38 00 00 00 */ li r0, 0 +/* 8008BA74 000889B4 7C 12 FB A6 */ mtspr 0x3f2, r0 +/* 8008BA78 000889B8 7C 15 FB A6 */ mtspr 0x3f5, r0 +/* 8008BA7C 000889BC 3C 20 80 42 */ lis r1, 0x80426008@h +/* 8008BA80 000889C0 60 21 60 08 */ ori r1, r1, 0x80426008@l +/* 8008BA84 000889C4 7C A3 2B 78 */ mr r3, r5 +/* 8008BA88 000889C8 48 00 06 4D */ bl InitMetroTRKCommTable +/* 8008BA8C 000889CC 2C 03 00 01 */ cmpwi r3, 1 +/* 8008BA90 000889D0 40 82 00 14 */ bne lbl_8008BAA4 +/* 8008BA94 000889D4 80 83 00 84 */ lwz r4, 0x84(r3) +/* 8008BA98 000889D8 7C 88 03 A6 */ mtlr r4 +/* 8008BA9C 000889DC B8 03 00 00 */ .4byte 0xB8030000 /* illegal lmw r0, 0(r3) */ +/* 8008BAA0 000889E0 4E 80 00 20 */ blr +lbl_8008BAA4: +/* 8008BAA4 000889E4 48 00 05 28 */ b TRK_main + +.global EnableMetroTRKInterrupts +EnableMetroTRKInterrupts: +/* 8008BAA8 000889E8 7C 08 02 A6 */ mflr r0 +/* 8008BAAC 000889EC 90 01 00 04 */ stw r0, 4(r1) +/* 8008BAB0 000889F0 94 21 FF F8 */ stwu r1, -8(r1) +/* 8008BAB4 000889F4 48 00 07 4D */ bl EnableEXI2Interrupts +/* 8008BAB8 000889F8 38 21 00 08 */ addi r1, r1, 8 +/* 8008BABC 000889FC 80 01 00 04 */ lwz r0, 4(r1) +/* 8008BAC0 00088A00 7C 08 03 A6 */ mtlr r0 +/* 8008BAC4 00088A04 4E 80 00 20 */ blr + +.global TRKTargetTranslate +TRKTargetTranslate: +/* 8008BAC8 00088A08 3C 80 80 3F */ lis r4, lc_base@ha +/* 8008BACC 00088A0C 38 84 B0 60 */ addi r4, r4, lc_base@l +/* 8008BAD0 00088A10 80 84 00 00 */ lwz r4, 0(r4) +/* 8008BAD4 00088A14 7C 03 20 40 */ cmplw r3, r4 +/* 8008BAD8 00088A18 41 80 00 2C */ blt lbl_8008BB04 +/* 8008BADC 00088A1C 38 04 40 00 */ addi r0, r4, 0x4000 +/* 8008BAE0 00088A20 7C 03 00 40 */ cmplw r3, r0 +/* 8008BAE4 00088A24 40 80 00 20 */ bge lbl_8008BB04 +/* 8008BAE8 00088A28 3C 80 80 3F */ lis r4, gTRKCPUState@ha +/* 8008BAEC 00088A2C 38 84 AC 30 */ addi r4, r4, gTRKCPUState@l +/* 8008BAF0 00088A30 80 04 02 38 */ lwz r0, 0x238(r4) +/* 8008BAF4 00088A34 54 00 07 BE */ clrlwi r0, r0, 0x1e +/* 8008BAF8 00088A38 28 00 00 00 */ cmplwi r0, 0 +/* 8008BAFC 00088A3C 41 82 00 08 */ beq lbl_8008BB04 +/* 8008BB00 00088A40 48 00 00 0C */ b lbl_8008BB0C +lbl_8008BB04: +/* 8008BB04 00088A44 54 60 00 BE */ clrlwi r0, r3, 2 +/* 8008BB08 00088A48 64 03 80 00 */ oris r3, r0, 0x8000 +lbl_8008BB0C: +/* 8008BB0C 00088A4C 4E 80 00 20 */ blr + +.global TRK_copy_vector +TRK_copy_vector: +/* 8008BB10 00088A50 7C 08 02 A6 */ mflr r0 +/* 8008BB14 00088A54 90 01 00 04 */ stw r0, 4(r1) +/* 8008BB18 00088A58 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8008BB1C 00088A5C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8008BB20 00088A60 93 C1 00 08 */ stw r30, 8(r1) +/* 8008BB24 00088A64 7C 7E 1B 78 */ mr r30, r3 +/* 8008BB28 00088A68 7F C3 F3 78 */ mr r3, r30 +/* 8008BB2C 00088A6C 4B FF FF 9D */ bl TRKTargetTranslate +/* 8008BB30 00088A70 3C 80 80 00 */ lis r4, lbl_80003298@ha +/* 8008BB34 00088A74 38 04 32 98 */ addi r0, r4, lbl_80003298@l +/* 8008BB38 00088A78 7C 7F 1B 78 */ mr r31, r3 +/* 8008BB3C 00088A7C 7C 80 F2 14 */ add r4, r0, r30 +/* 8008BB40 00088A80 7F E3 FB 78 */ mr r3, r31 +/* 8008BB44 00088A84 38 A0 01 00 */ li r5, 0x100 +/* 8008BB48 00088A88 4B F7 76 FD */ bl TRK_memcpy +/* 8008BB4C 00088A8C 7F E3 FB 78 */ mr r3, r31 +/* 8008BB50 00088A90 38 80 01 00 */ li r4, 0x100 +/* 8008BB54 00088A94 4B FF E7 E9 */ bl TRK_flush_cache +/* 8008BB58 00088A98 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8008BB5C 00088A9C 83 C1 00 08 */ lwz r30, 8(r1) +/* 8008BB60 00088AA0 38 21 00 10 */ addi r1, r1, 0x10 +/* 8008BB64 00088AA4 80 01 00 04 */ lwz r0, 4(r1) +/* 8008BB68 00088AA8 7C 08 03 A6 */ mtlr r0 +/* 8008BB6C 00088AAC 4E 80 00 20 */ blr + +.global __TRK_copy_vectors +__TRK_copy_vectors: +/* 8008BB70 00088AB0 7C 08 02 A6 */ mflr r0 +/* 8008BB74 00088AB4 90 01 00 04 */ stw r0, 4(r1) +/* 8008BB78 00088AB8 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 8008BB7C 00088ABC 93 E1 00 14 */ stw r31, 0x14(r1) +/* 8008BB80 00088AC0 93 C1 00 10 */ stw r30, 0x10(r1) +/* 8008BB84 00088AC4 93 A1 00 0C */ stw r29, 0xc(r1) +/* 8008BB88 00088AC8 93 81 00 08 */ stw r28, 8(r1) +/* 8008BB8C 00088ACC 38 60 00 44 */ li r3, 0x44 +/* 8008BB90 00088AD0 4B FF FF 39 */ bl TRKTargetTranslate +/* 8008BB94 00088AD4 3B A0 00 00 */ li r29, 0 +/* 8008BB98 00088AD8 83 83 00 00 */ lwz r28, 0(r3) +/* 8008BB9C 00088ADC 3C 60 80 3B */ lis r3, TRK_ISR_OFFSETS@ha +/* 8008BBA0 00088AE0 57 A4 10 3A */ slwi r4, r29, 2 +/* 8008BBA4 00088AE4 38 03 F0 48 */ addi r0, r3, TRK_ISR_OFFSETS@l +/* 8008BBA8 00088AE8 7F C0 22 14 */ add r30, r0, r4 +/* 8008BBAC 00088AEC 48 00 00 04 */ b lbl_8008BBB0 +lbl_8008BBB0: +/* 8008BBB0 00088AF0 3B E0 00 01 */ li r31, 1 +/* 8008BBB4 00088AF4 48 00 00 04 */ b lbl_8008BBB8 +lbl_8008BBB8: +/* 8008BBB8 00088AF8 48 00 00 04 */ b lbl_8008BBBC +lbl_8008BBBC: +/* 8008BBBC 00088AFC 7F E0 E8 30 */ slw r0, r31, r29 +/* 8008BBC0 00088B00 7F 80 00 38 */ and r0, r28, r0 +/* 8008BBC4 00088B04 28 00 00 00 */ cmplwi r0, 0 +/* 8008BBC8 00088B08 41 82 00 0C */ beq lbl_8008BBD4 +/* 8008BBCC 00088B0C 80 7E 00 00 */ lwz r3, 0(r30) +/* 8008BBD0 00088B10 4B FF FF 41 */ bl TRK_copy_vector +lbl_8008BBD4: +/* 8008BBD4 00088B14 3B DE 00 04 */ addi r30, r30, 4 +/* 8008BBD8 00088B18 3B BD 00 01 */ addi r29, r29, 1 +/* 8008BBDC 00088B1C 2C 1D 00 0E */ cmpwi r29, 0xe +/* 8008BBE0 00088B20 40 81 FF DC */ ble lbl_8008BBBC +/* 8008BBE4 00088B24 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 8008BBE8 00088B28 83 C1 00 10 */ lwz r30, 0x10(r1) +/* 8008BBEC 00088B2C 83 A1 00 0C */ lwz r29, 0xc(r1) +/* 8008BBF0 00088B30 83 81 00 08 */ lwz r28, 8(r1) +/* 8008BBF4 00088B34 38 21 00 18 */ addi r1, r1, 0x18 +/* 8008BBF8 00088B38 80 01 00 04 */ lwz r0, 4(r1) +/* 8008BBFC 00088B3C 7C 08 03 A6 */ mtlr r0 +/* 8008BC00 00088B40 4E 80 00 20 */ blr + +.global TRKInitializeTarget +TRKInitializeTarget: +/* 8008BC04 00088B44 7C 08 02 A6 */ mflr r0 +/* 8008BC08 00088B48 90 01 00 04 */ stw r0, 4(r1) +/* 8008BC0C 00088B4C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8008BC10 00088B50 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8008BC14 00088B54 3C 60 80 3F */ lis r3, gTRKState@ha +/* 8008BC18 00088B58 3B E3 AB 88 */ addi r31, r3, gTRKState@l +/* 8008BC1C 00088B5C 38 00 00 01 */ li r0, 1 +/* 8008BC20 00088B60 90 1F 00 98 */ stw r0, 0x98(r31) +/* 8008BC24 00088B64 4B FF E8 15 */ bl __TRK_get_MSR +/* 8008BC28 00088B68 90 7F 00 8C */ stw r3, 0x8c(r31) +/* 8008BC2C 00088B6C 3C 60 80 3F */ lis r3, lc_base@ha +/* 8008BC30 00088B70 38 63 B0 60 */ addi r3, r3, lc_base@l +/* 8008BC34 00088B74 3C 00 E0 00 */ lis r0, 0xe000 +/* 8008BC38 00088B78 90 03 00 00 */ stw r0, 0(r3) +/* 8008BC3C 00088B7C 38 60 00 00 */ li r3, 0 +/* 8008BC40 00088B80 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8008BC44 00088B84 38 21 00 10 */ addi r1, r1, 0x10 +/* 8008BC48 00088B88 80 01 00 04 */ lwz r0, 4(r1) +/* 8008BC4C 00088B8C 7C 08 03 A6 */ mtlr r0 +/* 8008BC50 00088B90 4E 80 00 20 */ blr + +.section .data, "wa" # 0x803A8380 - 0x803E6000 +TRK_ISR_OFFSETS: + .4byte 0x00000100 + .4byte 0x00000200 + .4byte 0x00000300 + .4byte 0x00000400 + .4byte 0x00000500 + .4byte 0x00000600 + .4byte 0x00000700 + .4byte 0x00000800 + .4byte 0x00000900 + .4byte 0x00000C00 + .4byte 0x00000D00 + .4byte 0x00000F00 + .4byte 0x00001300 + .4byte 0x00001400 + .4byte 0x00001700 + .4byte 0 + +.section .bss, "wa" # 0x803E6000 - 0x80408AC0 +lc_base: + .skip 0x8 diff --git a/asm/TRK_MINNOW_DOLPHIN/dolphin_trk_glue.s b/asm/TRK_MINNOW_DOLPHIN/dolphin_trk_glue.s new file mode 100644 index 0000000..05d9227 --- /dev/null +++ b/asm/TRK_MINNOW_DOLPHIN/dolphin_trk_glue.s @@ -0,0 +1,271 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80005600 - 0x8036FBA0 +.global TRKLoadContext +TRKLoadContext: +/* 8008C014 00088F54 80 03 00 00 */ lwz r0, 0(r3) +/* 8008C018 00088F58 80 23 00 04 */ lwz r1, 4(r3) +/* 8008C01C 00088F5C 80 43 00 08 */ lwz r2, 8(r3) +/* 8008C020 00088F60 A0 A3 01 A2 */ lhz r5, 0x1a2(r3) +/* 8008C024 00088F64 54 A6 07 BD */ rlwinm. r6, r5, 0, 0x1e, 0x1e +/* 8008C028 00088F68 41 82 00 14 */ beq lbl_8008C03C +/* 8008C02C 00088F6C 54 A5 07 FA */ rlwinm r5, r5, 0, 0x1f, 0x1d +/* 8008C030 00088F70 B0 A3 01 A2 */ sth r5, 0x1a2(r3) +/* 8008C034 00088F74 B8 A3 00 14 */ lmw r5, 0x14(r3) +/* 8008C038 00088F78 48 00 00 08 */ b lbl_8008C040 +lbl_8008C03C: +/* 8008C03C 00088F7C B9 A3 00 34 */ lmw r13, 0x34(r3) +lbl_8008C040: +/* 8008C040 00088F80 7C 7F 1B 78 */ mr r31, r3 +/* 8008C044 00088F84 7C 83 23 78 */ mr r3, r4 +/* 8008C048 00088F88 80 9F 00 80 */ lwz r4, 0x80(r31) +/* 8008C04C 00088F8C 7C 8F F1 20 */ mtcrf 0xff, r4 +/* 8008C050 00088F90 80 9F 00 84 */ lwz r4, 0x84(r31) +/* 8008C054 00088F94 7C 88 03 A6 */ mtlr r4 +/* 8008C058 00088F98 80 9F 00 88 */ lwz r4, 0x88(r31) +/* 8008C05C 00088F9C 7C 89 03 A6 */ mtctr r4 +/* 8008C060 00088FA0 80 9F 00 8C */ lwz r4, 0x8c(r31) +/* 8008C064 00088FA4 7C 81 03 A6 */ mtxer r4 +/* 8008C068 00088FA8 7C 80 00 A6 */ mfmsr r4 +/* 8008C06C 00088FAC 54 84 04 5E */ rlwinm r4, r4, 0, 0x11, 0xf +/* 8008C070 00088FB0 54 84 07 FA */ rlwinm r4, r4, 0, 0x1f, 0x1d +/* 8008C074 00088FB4 7C 80 01 24 */ mtmsr r4 +/* 8008C078 00088FB8 7C 51 43 A6 */ mtspr 0x111, r2 +/* 8008C07C 00088FBC 80 9F 00 0C */ lwz r4, 0xc(r31) +/* 8008C080 00088FC0 7C 92 43 A6 */ mtspr 0x112, r4 +/* 8008C084 00088FC4 80 9F 00 10 */ lwz r4, 0x10(r31) +/* 8008C088 00088FC8 7C 93 43 A6 */ mtspr 0x113, r4 +/* 8008C08C 00088FCC 80 5F 01 98 */ lwz r2, 0x198(r31) +/* 8008C090 00088FD0 80 9F 01 9C */ lwz r4, 0x19c(r31) +/* 8008C094 00088FD4 83 FF 00 7C */ lwz r31, 0x7c(r31) +/* 8008C098 00088FD8 4B FF ED 40 */ b TRKInterruptHandler + +.global TRKEXICallBack +TRKEXICallBack: +/* 8008C09C 00088FDC 7C 08 02 A6 */ mflr r0 +/* 8008C0A0 00088FE0 90 01 00 04 */ stw r0, 4(r1) +/* 8008C0A4 00088FE4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8008C0A8 00088FE8 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8008C0AC 00088FEC 7C 9F 23 78 */ mr r31, r4 +/* 8008C0B0 00088FF0 48 00 6C 59 */ bl OSEnableScheduler +/* 8008C0B4 00088FF4 7F E3 FB 78 */ mr r3, r31 +/* 8008C0B8 00088FF8 38 80 05 00 */ li r4, 0x500 +/* 8008C0BC 00088FFC 4B FF FF 59 */ bl TRKLoadContext +/* 8008C0C0 00089000 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8008C0C4 00089004 38 21 00 10 */ addi r1, r1, 0x10 +/* 8008C0C8 00089008 80 01 00 04 */ lwz r0, 4(r1) +/* 8008C0CC 0008900C 7C 08 03 A6 */ mtlr r0 +/* 8008C0D0 00089010 4E 80 00 20 */ blr + +.global InitMetroTRKCommTable +InitMetroTRKCommTable: +/* 8008C0D4 00089014 7C 08 02 A6 */ mflr r0 +/* 8008C0D8 00089018 90 01 00 04 */ stw r0, 4(r1) +/* 8008C0DC 0008901C 94 21 FF F8 */ stwu r1, -8(r1) +/* 8008C0E0 00089020 2C 03 00 01 */ cmpwi r3, 1 +/* 8008C0E4 00089024 40 82 00 68 */ bne lbl_8008C14C +/* 8008C0E8 00089028 48 02 2F 29 */ bl Hu_IsStub +/* 8008C0EC 0008902C 3C A0 80 0B */ lis r5, DBInitComm@ha +/* 8008C0F0 00089030 3C 80 80 3B */ lis r4, gDBCommTable@ha +/* 8008C0F4 00089034 38 05 E9 44 */ addi r0, r5, DBInitComm@l +/* 8008C0F8 00089038 38 A4 F0 88 */ addi r5, r4, gDBCommTable@l +/* 8008C0FC 0008903C 3C 80 80 0B */ lis r4, DBInitInterrupts@ha +/* 8008C100 00089040 90 05 00 00 */ stw r0, 0(r5) +/* 8008C104 00089044 38 04 E8 F0 */ addi r0, r4, DBInitInterrupts@l +/* 8008C108 00089048 3C 80 80 0B */ lis r4, DBQueryData@ha +/* 8008C10C 0008904C 90 05 00 04 */ stw r0, 4(r5) +/* 8008C110 00089050 38 04 E8 54 */ addi r0, r4, DBQueryData@l +/* 8008C114 00089054 3C 80 80 0B */ lis r4, DBRead@ha +/* 8008C118 00089058 90 05 00 08 */ stw r0, 8(r5) +/* 8008C11C 0008905C 38 04 E7 C8 */ addi r0, r4, DBRead@l +/* 8008C120 00089060 3C 80 80 0B */ lis r4, DBWrite@ha +/* 8008C124 00089064 90 05 00 0C */ stw r0, 0xc(r5) +/* 8008C128 00089068 38 04 E5 68 */ addi r0, r4, DBWrite@l +/* 8008C12C 0008906C 3C 80 80 0B */ lis r4, DBOpen@ha +/* 8008C130 00089070 90 05 00 10 */ stw r0, 0x10(r5) +/* 8008C134 00089074 38 04 E5 64 */ addi r0, r4, DBOpen@l +/* 8008C138 00089078 3C 80 80 0B */ lis r4, DBClose@ha +/* 8008C13C 0008907C 90 05 00 14 */ stw r0, 0x14(r5) +/* 8008C140 00089080 38 04 E5 60 */ addi r0, r4, DBClose@l +/* 8008C144 00089084 90 05 00 18 */ stw r0, 0x18(r5) +/* 8008C148 00089088 48 00 00 64 */ b lbl_8008C1AC +lbl_8008C14C: +/* 8008C14C 0008908C 48 02 2E BD */ bl AMC_IsStub +/* 8008C150 00089090 3C A0 80 0B */ lis r5, EXI2_Init@ha +/* 8008C154 00089094 3C 80 80 3B */ lis r4, gDBCommTable@ha +/* 8008C158 00089098 38 05 EF E0 */ addi r0, r5, EXI2_Init@l +/* 8008C15C 0008909C 38 A4 F0 88 */ addi r5, r4, gDBCommTable@l +/* 8008C160 000890A0 3C 80 80 0B */ lis r4, EXI2_EnableInterrupts@ha +/* 8008C164 000890A4 90 05 00 00 */ stw r0, 0(r5) +/* 8008C168 000890A8 38 04 EF E4 */ addi r0, r4, EXI2_EnableInterrupts@l +/* 8008C16C 000890AC 3C 80 80 0B */ lis r4, EXI2_Poll@ha +/* 8008C170 000890B0 90 05 00 04 */ stw r0, 4(r5) +/* 8008C174 000890B4 38 04 EF E8 */ addi r0, r4, EXI2_Poll@l +/* 8008C178 000890B8 3C 80 80 0B */ lis r4, EXI2_ReadN@ha +/* 8008C17C 000890BC 90 05 00 08 */ stw r0, 8(r5) +/* 8008C180 000890C0 38 04 EF F0 */ addi r0, r4, EXI2_ReadN@l +/* 8008C184 000890C4 3C 80 80 0B */ lis r4, EXI2_WriteN@ha +/* 8008C188 000890C8 90 05 00 0C */ stw r0, 0xc(r5) +/* 8008C18C 000890CC 38 04 EF F8 */ addi r0, r4, EXI2_WriteN@l +/* 8008C190 000890D0 3C 80 80 0B */ lis r4, EXI2_Reserve@ha +/* 8008C194 000890D4 90 05 00 10 */ stw r0, 0x10(r5) +/* 8008C198 000890D8 38 04 F0 00 */ addi r0, r4, EXI2_Reserve@l +/* 8008C19C 000890DC 3C 80 80 0B */ lis r4, EXI2_Unreserve@ha +/* 8008C1A0 000890E0 90 05 00 14 */ stw r0, 0x14(r5) +/* 8008C1A4 000890E4 38 04 F0 04 */ addi r0, r4, EXI2_Unreserve@l +/* 8008C1A8 000890E8 90 05 00 18 */ stw r0, 0x18(r5) +lbl_8008C1AC: +/* 8008C1AC 000890EC 38 21 00 08 */ addi r1, r1, 8 +/* 8008C1B0 000890F0 80 01 00 04 */ lwz r0, 4(r1) +/* 8008C1B4 000890F4 7C 08 03 A6 */ mtlr r0 +/* 8008C1B8 000890F8 4E 80 00 20 */ blr + +.global TRKUARTInterruptHandler +TRKUARTInterruptHandler: +/* 8008C1BC 000890FC 4E 80 00 20 */ blr + +.global TRKInitializeIntDrivenUART +TRKInitializeIntDrivenUART: +/* 8008C1C0 00089100 7C 08 02 A6 */ mflr r0 +/* 8008C1C4 00089104 90 01 00 04 */ stw r0, 4(r1) +/* 8008C1C8 00089108 94 21 FF F8 */ stwu r1, -8(r1) +/* 8008C1CC 0008910C 3C 60 80 3B */ lis r3, gDBCommTable@ha +/* 8008C1D0 00089110 38 63 F0 88 */ addi r3, r3, gDBCommTable@l +/* 8008C1D4 00089114 3C 80 80 09 */ lis r4, TRKEXICallBack@ha +/* 8008C1D8 00089118 81 83 00 00 */ lwz r12, 0(r3) +/* 8008C1DC 0008911C 38 84 C0 9C */ addi r4, r4, TRKEXICallBack@l +/* 8008C1E0 00089120 7C C3 33 78 */ mr r3, r6 +/* 8008C1E4 00089124 7D 88 03 A6 */ mtlr r12 +/* 8008C1E8 00089128 4E 80 00 21 */ blrl +/* 8008C1EC 0008912C 38 60 00 00 */ li r3, 0 +/* 8008C1F0 00089130 38 21 00 08 */ addi r1, r1, 8 +/* 8008C1F4 00089134 80 01 00 04 */ lwz r0, 4(r1) +/* 8008C1F8 00089138 7C 08 03 A6 */ mtlr r0 +/* 8008C1FC 0008913C 4E 80 00 20 */ blr + +.global EnableEXI2Interrupts +EnableEXI2Interrupts: +/* 8008C200 00089140 7C 08 02 A6 */ mflr r0 +/* 8008C204 00089144 90 01 00 04 */ stw r0, 4(r1) +/* 8008C208 00089148 94 21 FF F8 */ stwu r1, -8(r1) +/* 8008C20C 0008914C 3C 60 80 3B */ lis r3, gDBCommTable@ha +/* 8008C210 00089150 38 63 F0 88 */ addi r3, r3, gDBCommTable@l +/* 8008C214 00089154 81 83 00 04 */ lwz r12, 4(r3) +/* 8008C218 00089158 7D 88 03 A6 */ mtlr r12 +/* 8008C21C 0008915C 4E 80 00 21 */ blrl +/* 8008C220 00089160 38 21 00 08 */ addi r1, r1, 8 +/* 8008C224 00089164 80 01 00 04 */ lwz r0, 4(r1) +/* 8008C228 00089168 7C 08 03 A6 */ mtlr r0 +/* 8008C22C 0008916C 4E 80 00 20 */ blr + +.global TRKPollUART +TRKPollUART: +/* 8008C230 00089170 7C 08 02 A6 */ mflr r0 +/* 8008C234 00089174 90 01 00 04 */ stw r0, 4(r1) +/* 8008C238 00089178 94 21 FF F8 */ stwu r1, -8(r1) +/* 8008C23C 0008917C 3C 60 80 3B */ lis r3, gDBCommTable@ha +/* 8008C240 00089180 38 63 F0 88 */ addi r3, r3, gDBCommTable@l +/* 8008C244 00089184 81 83 00 08 */ lwz r12, 8(r3) +/* 8008C248 00089188 7D 88 03 A6 */ mtlr r12 +/* 8008C24C 0008918C 4E 80 00 21 */ blrl +/* 8008C250 00089190 38 21 00 08 */ addi r1, r1, 8 +/* 8008C254 00089194 80 01 00 04 */ lwz r0, 4(r1) +/* 8008C258 00089198 7C 08 03 A6 */ mtlr r0 +/* 8008C25C 0008919C 4E 80 00 20 */ blr + +.global TRKReadUARTN +TRKReadUARTN: +/* 8008C260 000891A0 7C 08 02 A6 */ mflr r0 +/* 8008C264 000891A4 90 01 00 04 */ stw r0, 4(r1) +/* 8008C268 000891A8 94 21 FF F8 */ stwu r1, -8(r1) +/* 8008C26C 000891AC 3C A0 80 3B */ lis r5, gDBCommTable@ha +/* 8008C270 000891B0 38 A5 F0 88 */ addi r5, r5, gDBCommTable@l +/* 8008C274 000891B4 81 85 00 0C */ lwz r12, 0xc(r5) +/* 8008C278 000891B8 7D 88 03 A6 */ mtlr r12 +/* 8008C27C 000891BC 4E 80 00 21 */ blrl +/* 8008C280 000891C0 2C 03 00 00 */ cmpwi r3, 0 +/* 8008C284 000891C4 40 82 00 0C */ bne lbl_8008C290 +/* 8008C288 000891C8 38 60 00 00 */ li r3, 0 +/* 8008C28C 000891CC 48 00 00 08 */ b lbl_8008C294 +lbl_8008C290: +/* 8008C290 000891D0 38 60 FF FF */ li r3, -1 +lbl_8008C294: +/* 8008C294 000891D4 38 21 00 08 */ addi r1, r1, 8 +/* 8008C298 000891D8 80 01 00 04 */ lwz r0, 4(r1) +/* 8008C29C 000891DC 7C 08 03 A6 */ mtlr r0 +/* 8008C2A0 000891E0 4E 80 00 20 */ blr + +.global TRKWriteUARTN +TRKWriteUARTN: +/* 8008C2A4 000891E4 7C 08 02 A6 */ mflr r0 +/* 8008C2A8 000891E8 90 01 00 04 */ stw r0, 4(r1) +/* 8008C2AC 000891EC 94 21 FF F8 */ stwu r1, -8(r1) +/* 8008C2B0 000891F0 3C A0 80 3B */ lis r5, gDBCommTable@ha +/* 8008C2B4 000891F4 38 A5 F0 88 */ addi r5, r5, gDBCommTable@l +/* 8008C2B8 000891F8 81 85 00 10 */ lwz r12, 0x10(r5) +/* 8008C2BC 000891FC 7D 88 03 A6 */ mtlr r12 +/* 8008C2C0 00089200 4E 80 00 21 */ blrl +/* 8008C2C4 00089204 2C 03 00 00 */ cmpwi r3, 0 +/* 8008C2C8 00089208 40 82 00 0C */ bne lbl_8008C2D4 +/* 8008C2CC 0008920C 38 60 00 00 */ li r3, 0 +/* 8008C2D0 00089210 48 00 00 08 */ b lbl_8008C2D8 +lbl_8008C2D4: +/* 8008C2D4 00089214 38 60 FF FF */ li r3, -1 +lbl_8008C2D8: +/* 8008C2D8 00089218 38 21 00 08 */ addi r1, r1, 8 +/* 8008C2DC 0008921C 80 01 00 04 */ lwz r0, 4(r1) +/* 8008C2E0 00089220 7C 08 03 A6 */ mtlr r0 +/* 8008C2E4 00089224 4E 80 00 20 */ blr + +.global ReserveEXI2Port +ReserveEXI2Port: +/* 8008C2E8 00089228 7C 08 02 A6 */ mflr r0 +/* 8008C2EC 0008922C 90 01 00 04 */ stw r0, 4(r1) +/* 8008C2F0 00089230 94 21 FF F8 */ stwu r1, -8(r1) +/* 8008C2F4 00089234 3C 60 80 3B */ lis r3, gDBCommTable@ha +/* 8008C2F8 00089238 38 63 F0 88 */ addi r3, r3, gDBCommTable@l +/* 8008C2FC 0008923C 81 83 00 14 */ lwz r12, 0x14(r3) +/* 8008C300 00089240 7D 88 03 A6 */ mtlr r12 +/* 8008C304 00089244 4E 80 00 21 */ blrl +/* 8008C308 00089248 38 21 00 08 */ addi r1, r1, 8 +/* 8008C30C 0008924C 80 01 00 04 */ lwz r0, 4(r1) +/* 8008C310 00089250 7C 08 03 A6 */ mtlr r0 +/* 8008C314 00089254 4E 80 00 20 */ blr + +.global UnreserveEXI2Port +UnreserveEXI2Port: +/* 8008C318 00089258 7C 08 02 A6 */ mflr r0 +/* 8008C31C 0008925C 90 01 00 04 */ stw r0, 4(r1) +/* 8008C320 00089260 94 21 FF F8 */ stwu r1, -8(r1) +/* 8008C324 00089264 3C 60 80 3B */ lis r3, gDBCommTable@ha +/* 8008C328 00089268 38 63 F0 88 */ addi r3, r3, gDBCommTable@l +/* 8008C32C 0008926C 81 83 00 18 */ lwz r12, 0x18(r3) +/* 8008C330 00089270 7D 88 03 A6 */ mtlr r12 +/* 8008C334 00089274 4E 80 00 21 */ blrl +/* 8008C338 00089278 38 21 00 08 */ addi r1, r1, 8 +/* 8008C33C 0008927C 80 01 00 04 */ lwz r0, 4(r1) +/* 8008C340 00089280 7C 08 03 A6 */ mtlr r0 +/* 8008C344 00089284 4E 80 00 20 */ blr + +.global TRK_board_display +TRK_board_display: +/* 8008C348 00089288 7C 08 02 A6 */ mflr r0 +/* 8008C34C 0008928C 90 01 00 04 */ stw r0, 4(r1) +/* 8008C350 00089290 94 21 FF F8 */ stwu r1, -8(r1) +/* 8008C354 00089294 4C C6 31 82 */ crclr 6 +/* 8008C358 00089298 48 00 2C 0D */ bl OSReport +/* 8008C35C 0008929C 38 21 00 08 */ addi r1, r1, 8 +/* 8008C360 000892A0 80 01 00 04 */ lwz r0, 4(r1) +/* 8008C364 000892A4 7C 08 03 A6 */ mtlr r0 +/* 8008C368 000892A8 4E 80 00 20 */ blr + +.section .data, "wa" # 0x803A8380 - 0x803E6000 +gDBCommTable: + .4byte 0 + .4byte 0 + .4byte 0 + .4byte 0 + .4byte 0 + .4byte 0 + .4byte 0 + .4byte 0 diff --git a/asm/TRK_MINNOW_DOLPHIN/flush_cache.s b/asm/TRK_MINNOW_DOLPHIN/flush_cache.s new file mode 100644 index 0000000..46dd87f --- /dev/null +++ b/asm/TRK_MINNOW_DOLPHIN/flush_cache.s @@ -0,0 +1,20 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80005600 - 0x8036FBA0 +.global TRK_flush_cache +TRK_flush_cache: +/* 8008A33C 0008727C 3C A0 FF FF */ lis r5, 0xFFFFFFF1@h +/* 8008A340 00087280 60 A5 FF F1 */ ori r5, r5, 0xFFFFFFF1@l +/* 8008A344 00087284 7C A5 18 38 */ and r5, r5, r3 +/* 8008A348 00087288 7C 65 18 50 */ subf r3, r5, r3 +/* 8008A34C 0008728C 7C 84 1A 14 */ add r4, r4, r3 +lbl_8008A350: +/* 8008A350 00087290 7C 00 28 6C */ dcbst 0, r5 +/* 8008A354 00087294 7C 00 28 AC */ dcbf 0, r5 +/* 8008A358 00087298 7C 00 04 AC */ sync 0 +/* 8008A35C 0008729C 7C 00 2F AC */ icbi 0, r5 +/* 8008A360 000872A0 30 A5 00 08 */ addic r5, r5, 8 +/* 8008A364 000872A4 34 84 FF F8 */ addic. r4, r4, -8 +/* 8008A368 000872A8 40 80 FF E8 */ bge lbl_8008A350 +/* 8008A36C 000872AC 4C 00 01 2C */ isync +/* 8008A370 000872B0 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/main_TRK.s b/asm/TRK_MINNOW_DOLPHIN/main_TRK.s new file mode 100644 index 0000000..0cda882 --- /dev/null +++ b/asm/TRK_MINNOW_DOLPHIN/main_TRK.s @@ -0,0 +1,28 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80005600 - 0x8036FBA0 +.global TRK_main +TRK_main: +/* 8008BFCC 00088F0C 7C 08 02 A6 */ mflr r0 +/* 8008BFD0 00088F10 90 01 00 04 */ stw r0, 4(r1) +/* 8008BFD4 00088F14 94 21 FF F8 */ stwu r1, -8(r1) +/* 8008BFD8 00088F18 4B FF BE ED */ bl TRKInitializeNub +/* 8008BFDC 00088F1C 3C 80 80 3F */ lis r4, TRK_mainError@ha +/* 8008BFE0 00088F20 94 64 B0 68 */ stwu r3, TRK_mainError@l(r4) +/* 8008BFE4 00088F24 80 04 00 00 */ lwz r0, 0(r4) +/* 8008BFE8 00088F28 2C 00 00 00 */ cmpwi r0, 0 +/* 8008BFEC 00088F2C 40 82 00 0C */ bne lbl_8008BFF8 +/* 8008BFF0 00088F30 4B FF BF CD */ bl TRKNubWelcome +/* 8008BFF4 00088F34 4B FF BB 81 */ bl TRKNubMainLoop +lbl_8008BFF8: +/* 8008BFF8 00088F38 4B FF BF A1 */ bl TRKTerminateNub +/* 8008BFFC 00088F3C 3C 80 80 3F */ lis r4, TRK_mainError@ha +/* 8008C000 00088F40 90 64 B0 68 */ stw r3, TRK_mainError@l(r4) +/* 8008C004 00088F44 38 21 00 08 */ addi r1, r1, 8 +/* 8008C008 00088F48 80 01 00 04 */ lwz r0, 4(r1) +/* 8008C00C 00088F4C 7C 08 03 A6 */ mtlr r0 +/* 8008C010 00088F50 4E 80 00 20 */ blr + +.section .bss, "wa" # 0x803E6000 - 0x80408AC0 +TRK_mainError: + .skip 0x18 diff --git a/asm/TRK_MINNOW_DOLPHIN/mainloop.s b/asm/TRK_MINNOW_DOLPHIN/mainloop.s new file mode 100644 index 0000000..8265cf9 --- /dev/null +++ b/asm/TRK_MINNOW_DOLPHIN/mainloop.s @@ -0,0 +1,116 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80005600 - 0x8036FBA0 +.global TRKHandleRequestEvent +TRKHandleRequestEvent: +/* 80087B00 00084A40 7C 08 02 A6 */ mflr r0 +/* 80087B04 00084A44 90 01 00 04 */ stw r0, 4(r1) +/* 80087B08 00084A48 94 21 FF F8 */ stwu r1, -8(r1) +/* 80087B0C 00084A4C 80 63 00 08 */ lwz r3, 8(r3) +/* 80087B10 00084A50 48 00 06 8D */ bl TRKGetBuffer +/* 80087B14 00084A54 48 00 0F 95 */ bl TRKDispatchMessage +/* 80087B18 00084A58 38 21 00 08 */ addi r1, r1, 8 +/* 80087B1C 00084A5C 80 01 00 04 */ lwz r0, 4(r1) +/* 80087B20 00084A60 7C 08 03 A6 */ mtlr r0 +/* 80087B24 00084A64 4E 80 00 20 */ blr + +.global TRKHandleSupportEvent +TRKHandleSupportEvent: +/* 80087B28 00084A68 7C 08 02 A6 */ mflr r0 +/* 80087B2C 00084A6C 90 01 00 04 */ stw r0, 4(r1) +/* 80087B30 00084A70 94 21 FF F8 */ stwu r1, -8(r1) +/* 80087B34 00084A74 48 00 3A 4D */ bl TRKTargetSupportRequest +/* 80087B38 00084A78 38 21 00 08 */ addi r1, r1, 8 +/* 80087B3C 00084A7C 80 01 00 04 */ lwz r0, 4(r1) +/* 80087B40 00084A80 7C 08 03 A6 */ mtlr r0 +/* 80087B44 00084A84 4E 80 00 20 */ blr + +.global TRKIdle +TRKIdle: +/* 80087B48 00084A88 7C 08 02 A6 */ mflr r0 +/* 80087B4C 00084A8C 90 01 00 04 */ stw r0, 4(r1) +/* 80087B50 00084A90 94 21 FF F8 */ stwu r1, -8(r1) +/* 80087B54 00084A94 48 00 3B 59 */ bl TRKTargetStopped +/* 80087B58 00084A98 2C 03 00 00 */ cmpwi r3, 0 +/* 80087B5C 00084A9C 40 82 00 08 */ bne lbl_80087B64 +/* 80087B60 00084AA0 48 00 48 0D */ bl TRKTargetContinue +lbl_80087B64: +/* 80087B64 00084AA4 38 21 00 08 */ addi r1, r1, 8 +/* 80087B68 00084AA8 80 01 00 04 */ lwz r0, 4(r1) +/* 80087B6C 00084AAC 7C 08 03 A6 */ mtlr r0 +/* 80087B70 00084AB0 4E 80 00 20 */ blr + +.global TRKNubMainLoop +TRKNubMainLoop: +/* 80087B74 00084AB4 7C 08 02 A6 */ mflr r0 +/* 80087B78 00084AB8 3C 60 80 3F */ lis r3, gTRKInputPendingPtr@ha +/* 80087B7C 00084ABC 90 01 00 04 */ stw r0, 4(r1) +/* 80087B80 00084AC0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80087B84 00084AC4 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80087B88 00084AC8 3B E3 AA D4 */ addi r31, r3, gTRKInputPendingPtr@l +/* 80087B8C 00084ACC 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80087B90 00084AD0 3B C0 00 00 */ li r30, 0 +/* 80087B94 00084AD4 93 A1 00 14 */ stw r29, 0x14(r1) +/* 80087B98 00084AD8 3B A0 00 00 */ li r29, 0 +/* 80087B9C 00084ADC 48 00 00 A8 */ b lbl_80087C44 +lbl_80087BA0: +/* 80087BA0 00084AE0 38 61 00 08 */ addi r3, r1, 8 +/* 80087BA4 00084AE4 48 00 01 45 */ bl TRKGetNextEvent +/* 80087BA8 00084AE8 2C 03 00 00 */ cmpwi r3, 0 +/* 80087BAC 00084AEC 41 82 00 6C */ beq lbl_80087C18 +/* 80087BB0 00084AF0 88 01 00 08 */ lbz r0, 8(r1) +/* 80087BB4 00084AF4 3B A0 00 00 */ li r29, 0 +/* 80087BB8 00084AF8 2C 00 00 02 */ cmpwi r0, 2 +/* 80087BBC 00084AFC 41 82 00 28 */ beq lbl_80087BE4 +/* 80087BC0 00084B00 40 80 00 14 */ bge lbl_80087BD4 +/* 80087BC4 00084B04 2C 00 00 00 */ cmpwi r0, 0 +/* 80087BC8 00084B08 41 82 00 44 */ beq lbl_80087C0C +/* 80087BCC 00084B0C 40 80 00 24 */ bge lbl_80087BF0 +/* 80087BD0 00084B10 48 00 00 3C */ b lbl_80087C0C +lbl_80087BD4: +/* 80087BD4 00084B14 2C 00 00 05 */ cmpwi r0, 5 +/* 80087BD8 00084B18 41 82 00 2C */ beq lbl_80087C04 +/* 80087BDC 00084B1C 40 80 00 30 */ bge lbl_80087C0C +/* 80087BE0 00084B20 48 00 00 18 */ b lbl_80087BF8 +lbl_80087BE4: +/* 80087BE4 00084B24 38 61 00 08 */ addi r3, r1, 8 +/* 80087BE8 00084B28 4B FF FF 19 */ bl TRKHandleRequestEvent +/* 80087BEC 00084B2C 48 00 00 20 */ b lbl_80087C0C +lbl_80087BF0: +/* 80087BF0 00084B30 3B C0 00 01 */ li r30, 1 +/* 80087BF4 00084B34 48 00 00 18 */ b lbl_80087C0C +lbl_80087BF8: +/* 80087BF8 00084B38 38 61 00 08 */ addi r3, r1, 8 +/* 80087BFC 00084B3C 48 00 35 D5 */ bl TRKTargetInterrupt +/* 80087C00 00084B40 48 00 00 0C */ b lbl_80087C0C +lbl_80087C04: +/* 80087C04 00084B44 38 61 00 08 */ addi r3, r1, 8 +/* 80087C08 00084B48 4B FF FF 21 */ bl TRKHandleSupportEvent +lbl_80087C0C: +/* 80087C0C 00084B4C 38 61 00 08 */ addi r3, r1, 8 +/* 80087C10 00084B50 48 00 02 91 */ bl TRKDestructEvent +/* 80087C14 00084B54 48 00 00 30 */ b lbl_80087C44 +lbl_80087C18: +/* 80087C18 00084B58 2C 1D 00 00 */ cmpwi r29, 0 +/* 80087C1C 00084B5C 41 82 00 14 */ beq lbl_80087C30 +/* 80087C20 00084B60 80 7F 00 00 */ lwz r3, 0(r31) +/* 80087C24 00084B64 88 03 00 00 */ lbz r0, 0(r3) +/* 80087C28 00084B68 28 00 00 00 */ cmplwi r0, 0 +/* 80087C2C 00084B6C 41 82 00 10 */ beq lbl_80087C3C +lbl_80087C30: +/* 80087C30 00084B70 3B A0 00 01 */ li r29, 1 +/* 80087C34 00084B74 48 00 0D 65 */ bl TRKGetInput +/* 80087C38 00084B78 48 00 00 0C */ b lbl_80087C44 +lbl_80087C3C: +/* 80087C3C 00084B7C 4B FF FF 0D */ bl TRKIdle +/* 80087C40 00084B80 3B A0 00 00 */ li r29, 0 +lbl_80087C44: +/* 80087C44 00084B84 2C 1E 00 00 */ cmpwi r30, 0 +/* 80087C48 00084B88 41 82 FF 58 */ beq lbl_80087BA0 +/* 80087C4C 00084B8C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80087C50 00084B90 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 80087C54 00084B94 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 80087C58 00084B98 38 21 00 20 */ addi r1, r1, 0x20 +/* 80087C5C 00084B9C 80 01 00 04 */ lwz r0, 4(r1) +/* 80087C60 00084BA0 7C 08 03 A6 */ mtlr r0 +/* 80087C64 00084BA4 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/mem_TRK.s b/asm/TRK_MINNOW_DOLPHIN/mem_TRK.s new file mode 100644 index 0000000..9105a18 --- /dev/null +++ b/asm/TRK_MINNOW_DOLPHIN/mem_TRK.s @@ -0,0 +1,93 @@ +.include "macros.inc" + +.section .init, "ax" # 0x80003100 - 0x80005540 +.global TRK_memcpy +TRK_memcpy: +/* 80003244 00000244 38 84 FF FF */ addi r4, r4, -1 +/* 80003248 00000248 38 C3 FF FF */ addi r6, r3, -1 +/* 8000324C 0000024C 38 A5 00 01 */ addi r5, r5, 1 +/* 80003250 00000250 48 00 00 0C */ b lbl_8000325C +lbl_80003254: +/* 80003254 00000254 8C 04 00 01 */ lbzu r0, 1(r4) +/* 80003258 00000258 9C 06 00 01 */ stbu r0, 1(r6) +lbl_8000325C: +/* 8000325C 0000025C 34 A5 FF FF */ addic. r5, r5, -1 +/* 80003260 00000260 40 82 FF F4 */ bne lbl_80003254 +/* 80003264 00000264 4E 80 00 20 */ blr + +.global TRK_memset +TRK_memset: +/* 80003268 00000268 7C 08 02 A6 */ mflr r0 +/* 8000326C 0000026C 90 01 00 04 */ stw r0, 4(r1) +/* 80003270 00000270 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80003274 00000274 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80003278 00000278 7C 7F 1B 78 */ mr r31, r3 +/* 8000327C 0000027C 48 08 70 F9 */ bl TRK_fill_mem +/* 80003280 00000280 7F E3 FB 78 */ mr r3, r31 +/* 80003284 00000284 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80003288 00000288 38 21 00 10 */ addi r1, r1, 0x10 +/* 8000328C 0000028C 80 01 00 04 */ lwz r0, 4(r1) +/* 80003290 00000290 7C 08 03 A6 */ mtlr r0 +/* 80003294 00000294 4E 80 00 20 */ blr + +.section .text, "ax" # 0x80005600 - 0x8036FBA0 +.global TRK_fill_mem +TRK_fill_mem: +/* 8008A374 000872B4 28 05 00 20 */ cmplwi r5, 0x20 +/* 8008A378 000872B8 38 C3 FF FF */ addi r6, r3, -1 +/* 8008A37C 000872BC 54 80 06 3E */ clrlwi r0, r4, 0x18 +/* 8008A380 000872C0 7C 07 03 78 */ mr r7, r0 +/* 8008A384 000872C4 41 80 00 98 */ blt lbl_8008A41C +/* 8008A388 000872C8 7C C0 30 F8 */ nor r0, r6, r6 +/* 8008A38C 000872CC 54 00 07 BF */ clrlwi. r0, r0, 0x1e +/* 8008A390 000872D0 7C 03 03 78 */ mr r3, r0 +/* 8008A394 000872D4 41 82 00 18 */ beq lbl_8008A3AC +/* 8008A398 000872D8 7C A3 28 50 */ subf r5, r3, r5 +/* 8008A39C 000872DC 54 E0 06 3E */ clrlwi r0, r7, 0x18 +lbl_8008A3A0: +/* 8008A3A0 000872E0 34 63 FF FF */ addic. r3, r3, -1 +/* 8008A3A4 000872E4 9C 06 00 01 */ stbu r0, 1(r6) +/* 8008A3A8 000872E8 40 82 FF F8 */ bne lbl_8008A3A0 +lbl_8008A3AC: +/* 8008A3AC 000872EC 28 07 00 00 */ cmplwi r7, 0 +/* 8008A3B0 000872F0 41 82 00 1C */ beq lbl_8008A3CC +/* 8008A3B4 000872F4 54 E3 C0 0E */ slwi r3, r7, 0x18 +/* 8008A3B8 000872F8 54 E0 80 1E */ slwi r0, r7, 0x10 +/* 8008A3BC 000872FC 54 E4 40 2E */ slwi r4, r7, 8 +/* 8008A3C0 00087300 7C 60 03 78 */ or r0, r3, r0 +/* 8008A3C4 00087304 7C 80 03 78 */ or r0, r4, r0 +/* 8008A3C8 00087308 7C E7 03 78 */ or r7, r7, r0 +lbl_8008A3CC: +/* 8008A3CC 0008730C 54 A0 D9 7F */ rlwinm. r0, r5, 0x1b, 5, 0x1f +/* 8008A3D0 00087310 38 66 FF FD */ addi r3, r6, -3 +/* 8008A3D4 00087314 41 82 00 2C */ beq lbl_8008A400 +lbl_8008A3D8: +/* 8008A3D8 00087318 90 E3 00 04 */ stw r7, 4(r3) +/* 8008A3DC 0008731C 34 00 FF FF */ addic. r0, r0, -1 +/* 8008A3E0 00087320 90 E3 00 08 */ stw r7, 8(r3) +/* 8008A3E4 00087324 90 E3 00 0C */ stw r7, 0xc(r3) +/* 8008A3E8 00087328 90 E3 00 10 */ stw r7, 0x10(r3) +/* 8008A3EC 0008732C 90 E3 00 14 */ stw r7, 0x14(r3) +/* 8008A3F0 00087330 90 E3 00 18 */ stw r7, 0x18(r3) +/* 8008A3F4 00087334 90 E3 00 1C */ stw r7, 0x1c(r3) +/* 8008A3F8 00087338 94 E3 00 20 */ stwu r7, 0x20(r3) +/* 8008A3FC 0008733C 40 82 FF DC */ bne lbl_8008A3D8 +lbl_8008A400: +/* 8008A400 00087340 54 A0 F7 7F */ rlwinm. r0, r5, 0x1e, 0x1d, 0x1f +/* 8008A404 00087344 41 82 00 10 */ beq lbl_8008A414 +lbl_8008A408: +/* 8008A408 00087348 34 00 FF FF */ addic. r0, r0, -1 +/* 8008A40C 0008734C 94 E3 00 04 */ stwu r7, 4(r3) +/* 8008A410 00087350 40 82 FF F8 */ bne lbl_8008A408 +lbl_8008A414: +/* 8008A414 00087354 38 C3 00 03 */ addi r6, r3, 3 +/* 8008A418 00087358 54 A5 07 BE */ clrlwi r5, r5, 0x1e +lbl_8008A41C: +/* 8008A41C 0008735C 28 05 00 00 */ cmplwi r5, 0 +/* 8008A420 00087360 4D 82 00 20 */ beqlr +/* 8008A424 00087364 54 E0 06 3E */ clrlwi r0, r7, 0x18 +lbl_8008A428: +/* 8008A428 00087368 34 A5 FF FF */ addic. r5, r5, -1 +/* 8008A42C 0008736C 9C 06 00 01 */ stbu r0, 1(r6) +/* 8008A430 00087370 40 82 FF F8 */ bne lbl_8008A428 +/* 8008A434 00087374 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/mpc_7xx_603e.s b/asm/TRK_MINNOW_DOLPHIN/mpc_7xx_603e.s new file mode 100644 index 0000000..541e6cf --- /dev/null +++ b/asm/TRK_MINNOW_DOLPHIN/mpc_7xx_603e.s @@ -0,0 +1,239 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80005600 - 0x8036FBA0 +.global TRKSaveExtended1Block +TRKSaveExtended1Block: +/* 8008BC54 00088B94 3C 40 80 3E */ lis r2, gTRKCPUState@h +/* 8008BC58 00088B98 60 42 AC 30 */ ori r2, r2, gTRKCPUState@l +/* 8008BC5C 00088B9C 7E 00 04 A6 */ mfsr r16, 0 +/* 8008BC60 00088BA0 7E 21 04 A6 */ mfsr r17, 1 +/* 8008BC64 00088BA4 7E 42 04 A6 */ mfsr r18, 2 +/* 8008BC68 00088BA8 7E 63 04 A6 */ mfsr r19, 3 +/* 8008BC6C 00088BAC 7E 84 04 A6 */ mfsr r20, 4 +/* 8008BC70 00088BB0 7E A5 04 A6 */ mfsr r21, 5 +/* 8008BC74 00088BB4 7E C6 04 A6 */ mfsr r22, 6 +/* 8008BC78 00088BB8 7E E7 04 A6 */ mfsr r23, 7 +/* 8008BC7C 00088BBC 7F 08 04 A6 */ mfsr r24, 8 +/* 8008BC80 00088BC0 7F 29 04 A6 */ mfsr r25, 9 +/* 8008BC84 00088BC4 7F 4A 04 A6 */ mfsr r26, 0xa +/* 8008BC88 00088BC8 7F 6B 04 A6 */ mfsr r27, 0xb +/* 8008BC8C 00088BCC 7F 8C 04 A6 */ mfsr r28, 0xc +/* 8008BC90 00088BD0 7F AD 04 A6 */ mfsr r29, 0xd +/* 8008BC94 00088BD4 7F CE 04 A6 */ mfsr r30, 0xe +/* 8008BC98 00088BD8 7F EF 04 A6 */ mfsr r31, 0xf +/* 8008BC9C 00088BDC BE 02 01 A8 */ stmw r16, 0x1a8(r2) +/* 8008BCA0 00088BE0 7D 4C 42 E6 */ mftb r10, 0x10c +/* 8008BCA4 00088BE4 7D 6D 42 E6 */ mftbu r11 +/* 8008BCA8 00088BE8 7D 90 FA A6 */ mfspr r12, 0x3f0 +/* 8008BCAC 00088BEC 7D B1 FA A6 */ mfspr r13, 0x3f1 +/* 8008BCB0 00088BF0 7D DB 02 A6 */ mfspr r14, 0x1b +/* 8008BCB4 00088BF4 7D FF 42 A6 */ mfpvr r15 +/* 8008BCB8 00088BF8 7E 10 82 A6 */ mfibatu r16, 0 +/* 8008BCBC 00088BFC 7E 31 82 A6 */ mfibatl r17, 0 +/* 8008BCC0 00088C00 7E 52 82 A6 */ mfibatu r18, 1 +/* 8008BCC4 00088C04 7E 73 82 A6 */ mfibatl r19, 1 +/* 8008BCC8 00088C08 7E 94 82 A6 */ mfibatu r20, 2 +/* 8008BCCC 00088C0C 7E B5 82 A6 */ mfibatl r21, 2 +/* 8008BCD0 00088C10 7E D6 82 A6 */ mfibatu r22, 3 +/* 8008BCD4 00088C14 7E F7 82 A6 */ mfibatl r23, 3 +/* 8008BCD8 00088C18 7F 18 82 A6 */ mfdbatu r24, 0 +/* 8008BCDC 00088C1C 7F 39 82 A6 */ mfdbatl r25, 0 +/* 8008BCE0 00088C20 7F 5A 82 A6 */ mfdbatu r26, 1 +/* 8008BCE4 00088C24 7F 7B 82 A6 */ mfdbatl r27, 1 +/* 8008BCE8 00088C28 7F 9C 82 A6 */ mfdbatu r28, 2 +/* 8008BCEC 00088C2C 7F BD 82 A6 */ mfdbatl r29, 2 +/* 8008BCF0 00088C30 7F DE 82 A6 */ mfdbatu r30, 3 +/* 8008BCF4 00088C34 7F FF 82 A6 */ mfdbatl r31, 3 +/* 8008BCF8 00088C38 BD 42 01 E8 */ stmw r10, 0x1e8(r2) +/* 8008BCFC 00088C3C 7E D9 02 A6 */ mfspr r22, 0x19 +/* 8008BD00 00088C40 7E F3 02 A6 */ mfdar r23 +/* 8008BD04 00088C44 7F 12 02 A6 */ mfdsisr r24 +/* 8008BD08 00088C48 7F 30 42 A6 */ mfspr r25, 0x110 +/* 8008BD0C 00088C4C 7F 51 42 A6 */ mfspr r26, 0x111 +/* 8008BD10 00088C50 7F 72 42 A6 */ mfspr r27, 0x112 +/* 8008BD14 00088C54 7F 93 42 A6 */ mfspr r28, 0x113 +/* 8008BD18 00088C58 3B A0 00 00 */ li r29, 0 +/* 8008BD1C 00088C5C 7F D2 FA A6 */ mfspr r30, 0x3f2 +/* 8008BD20 00088C60 7F FA 42 A6 */ mfspr r31, 0x11a +/* 8008BD24 00088C64 BE C2 02 5C */ stmw r22, 0x25c(r2) +/* 8008BD28 00088C68 7E 90 E2 A6 */ mfspr r20, 0x390 +/* 8008BD2C 00088C6C 7E B1 E2 A6 */ mfspr r21, 0x391 +/* 8008BD30 00088C70 7E D2 E2 A6 */ mfspr r22, 0x392 +/* 8008BD34 00088C74 7E F3 E2 A6 */ mfspr r23, 0x393 +/* 8008BD38 00088C78 7F 14 E2 A6 */ mfspr r24, 0x394 +/* 8008BD3C 00088C7C 7F 35 E2 A6 */ mfspr r25, 0x395 +/* 8008BD40 00088C80 7F 56 E2 A6 */ mfspr r26, 0x396 +/* 8008BD44 00088C84 7F 77 E2 A6 */ mfspr r27, 0x397 +/* 8008BD48 00088C88 7F 98 E2 A6 */ mfspr r28, 0x398 +/* 8008BD4C 00088C8C 7F B9 E2 A6 */ mfspr r29, 0x399 +/* 8008BD50 00088C90 7F DA E2 A6 */ mfspr r30, 0x39a +/* 8008BD54 00088C94 7F FB E2 A6 */ mfspr r31, 0x39b +/* 8008BD58 00088C98 BE 82 02 FC */ stmw r20, 0x2fc(r2) +/* 8008BD5C 00088C9C 48 00 00 48 */ b lbl_8008BDA4 +/* 8008BD60 00088CA0 7E 00 EA A6 */ mfspr r16, 0x3a0 +/* 8008BD64 00088CA4 7E 27 EA A6 */ mfspr r17, 0x3a7 +/* 8008BD68 00088CA8 7E 48 EA A6 */ mfspr r18, 0x3a8 +/* 8008BD6C 00088CAC 7E 69 EA A6 */ mfspr r19, 0x3a9 +/* 8008BD70 00088CB0 7E 8A EA A6 */ mfspr r20, 0x3aa +/* 8008BD74 00088CB4 7E AB EA A6 */ mfspr r21, 0x3ab +/* 8008BD78 00088CB8 7E CC EA A6 */ mfspr r22, 0x3ac +/* 8008BD7C 00088CBC 7E ED EA A6 */ mfspr r23, 0x3ad +/* 8008BD80 00088CC0 7F 0E EA A6 */ mfspr r24, 0x3ae +/* 8008BD84 00088CC4 7F 2F EA A6 */ mfspr r25, 0x3af +/* 8008BD88 00088CC8 7F 50 EA A6 */ mfspr r26, 0x3b0 +/* 8008BD8C 00088CCC 7F 77 EA A6 */ mfspr r27, 0x3b7 +/* 8008BD90 00088CD0 7F 9F EA A6 */ mfspr r28, 0x3bf +/* 8008BD94 00088CD4 7F B6 FA A6 */ mfspr r29, 0x3f6 +/* 8008BD98 00088CD8 7F D7 FA A6 */ mfspr r30, 0x3f7 +/* 8008BD9C 00088CDC 7F FF FA A6 */ mfspr r31, 0x3ff +/* 8008BDA0 00088CE0 BE 02 02 B8 */ stmw r16, 0x2b8(r2) +lbl_8008BDA4: +/* 8008BDA4 00088CE4 7E 75 FA A6 */ mfspr r19, 0x3f5 +/* 8008BDA8 00088CE8 7E 99 EA A6 */ mfspr r20, 0x3b9 +/* 8008BDAC 00088CEC 7E BA EA A6 */ mfspr r21, 0x3ba +/* 8008BDB0 00088CF0 7E DD EA A6 */ mfspr r22, 0x3bd +/* 8008BDB4 00088CF4 7E FE EA A6 */ mfspr r23, 0x3be +/* 8008BDB8 00088CF8 7F 1B EA A6 */ mfspr r24, 0x3bb +/* 8008BDBC 00088CFC 7F 38 EA A6 */ mfspr r25, 0x3b8 +/* 8008BDC0 00088D00 7F 5C EA A6 */ mfspr r26, 0x3bc +/* 8008BDC4 00088D04 7F 7C FA A6 */ mfspr r27, 0x3fc +/* 8008BDC8 00088D08 7F 9D FA A6 */ mfspr r28, 0x3fd +/* 8008BDCC 00088D0C 7F BE FA A6 */ mfspr r29, 0x3fe +/* 8008BDD0 00088D10 7F DB FA A6 */ mfspr r30, 0x3FB +/* 8008BDD4 00088D14 7F F9 FA A6 */ mfspr r31, 0x3f9 +/* 8008BDD8 00088D18 BE 62 02 84 */ stmw r19, 0x284(r2) +/* 8008BDDC 00088D1C 48 00 00 2C */ b lbl_8008BE08 +/* 8008BDE0 00088D20 7F 30 F2 A6 */ mfspr r25, 0x3d0 +/* 8008BDE4 00088D24 7F 51 F2 A6 */ mfspr r26, 0x3d1 +/* 8008BDE8 00088D28 7F 72 F2 A6 */ mfspr r27, 0x3d2 +/* 8008BDEC 00088D2C 7F 93 F2 A6 */ mfspr r28, 0x3d3 +/* 8008BDF0 00088D30 7F B4 F2 A6 */ mfspr r29, 0x3D4 +/* 8008BDF4 00088D34 7F D5 F2 A6 */ mfspr r30, 0x3D5 +/* 8008BDF8 00088D38 7F F6 F2 A6 */ mfspr r31, 0x3d6 +/* 8008BDFC 00088D3C BF 22 02 40 */ stmw r25, 0x240(r2) +/* 8008BE00 00088D40 7F F6 02 A6 */ mfspr r31, 0x16 +/* 8008BE04 00088D44 93 E2 02 78 */ stw r31, 0x278(r2) +lbl_8008BE08: +/* 8008BE08 00088D48 4E 80 00 20 */ blr + +.global TRKRestoreExtended1Block +TRKRestoreExtended1Block: +/* 8008BE0C 00088D4C 3C 40 80 3E */ lis r2, gTRKCPUState@h +/* 8008BE10 00088D50 60 42 AC 30 */ ori r2, r2, gTRKCPUState@l +/* 8008BE14 00088D54 3C A0 80 3A */ lis r5, gTRKRestoreFlags@h +/* 8008BE18 00088D58 60 A5 F0 18 */ ori r5, r5, gTRKRestoreFlags@l +/* 8008BE1C 00088D5C 88 65 00 00 */ lbz r3, 0(r5) +/* 8008BE20 00088D60 88 C5 00 01 */ lbz r6, 1(r5) +/* 8008BE24 00088D64 38 00 00 00 */ li r0, 0 +/* 8008BE28 00088D68 98 05 00 00 */ stb r0, 0(r5) +/* 8008BE2C 00088D6C 98 05 00 01 */ stb r0, 1(r5) +/* 8008BE30 00088D70 2C 03 00 00 */ cmpwi r3, 0 +/* 8008BE34 00088D74 41 82 00 14 */ beq lbl_8008BE48 +/* 8008BE38 00088D78 83 02 01 E8 */ lwz r24, 0x1e8(r2) +/* 8008BE3C 00088D7C 83 22 01 EC */ lwz r25, 0x1ec(r2) +/* 8008BE40 00088D80 7F 1C 43 A6 */ mttbl r24 +/* 8008BE44 00088D84 7F 3D 43 A6 */ mttbu r25 +lbl_8008BE48: +/* 8008BE48 00088D88 BA 82 02 FC */ lmw r20, 0x2fc(r2) +/* 8008BE4C 00088D8C 7E 90 E3 A6 */ mtspr 0x390, r20 +/* 8008BE50 00088D90 7E B1 E3 A6 */ mtspr 0x391, r21 +/* 8008BE54 00088D94 7E D2 E3 A6 */ mtspr 0x392, r22 +/* 8008BE58 00088D98 7E F3 E3 A6 */ mtspr 0x393, r23 +/* 8008BE5C 00088D9C 7F 14 E3 A6 */ mtspr 0x394, r24 +/* 8008BE60 00088DA0 7F 35 E3 A6 */ mtspr 0x395, r25 +/* 8008BE64 00088DA4 7F 56 E3 A6 */ mtspr 0x396, r26 +/* 8008BE68 00088DA8 7F 77 E3 A6 */ mtspr 0x397, r27 +/* 8008BE6C 00088DAC 7F 98 E3 A6 */ mtspr 0x398, r28 +/* 8008BE70 00088DB0 7F DA E3 A6 */ mtspr 0x39a, r30 +/* 8008BE74 00088DB4 7F FB E3 A6 */ mtspr 0x39b, r31 +/* 8008BE78 00088DB8 48 00 00 1C */ b lbl_8008BE94 +/* 8008BE7C 00088DBC BB 42 02 E0 */ lmw r26, 0x2e0(r2) +/* 8008BE80 00088DC0 7F 50 EB A6 */ mtspr 0x3b0, r26 +/* 8008BE84 00088DC4 7F 77 EB A6 */ mtspr 0x3b7, r27 +/* 8008BE88 00088DC8 7F B6 FB A6 */ mtspr 0x3f6, r29 +/* 8008BE8C 00088DCC 7F D7 FB A6 */ mtspr 0x3f7, r30 +/* 8008BE90 00088DD0 7F FF FB A6 */ mtspr 0x3ff, r31 +lbl_8008BE94: +/* 8008BE94 00088DD4 BA 62 02 84 */ lmw r19, 0x284(r2) +/* 8008BE98 00088DD8 7E 75 FB A6 */ mtspr 0x3f5, r19 +/* 8008BE9C 00088DDC 7E 99 EB A6 */ mtspr 0x3b9, r20 +/* 8008BEA0 00088DE0 7E BA EB A6 */ mtspr 0x3ba, r21 +/* 8008BEA4 00088DE4 7E DD EB A6 */ mtspr 0x3bd, r22 +/* 8008BEA8 00088DE8 7E FE EB A6 */ mtspr 0x3be, r23 +/* 8008BEAC 00088DEC 7F 1B EB A6 */ mtspr 0x3bb, r24 +/* 8008BEB0 00088DF0 7F 38 EB A6 */ mtspr 0x3b8, r25 +/* 8008BEB4 00088DF4 7F 5C EB A6 */ mtspr 0x3bc, r26 +/* 8008BEB8 00088DF8 7F 7C FB A6 */ mtspr 0x3fc, r27 +/* 8008BEBC 00088DFC 7F 9D FB A6 */ mtspr 0x3fd, r28 +/* 8008BEC0 00088E00 7F BE FB A6 */ mtspr 0x3fe, r29 +/* 8008BEC4 00088E04 7F DB FB A6 */ mtictc r30 +/* 8008BEC8 00088E08 7F F9 FB A6 */ mtspr 0x3f9, r31 +/* 8008BECC 00088E0C 48 00 00 34 */ b lbl_8008BF00 +/* 8008BED0 00088E10 2C 06 00 00 */ cmpwi r6, 0 +/* 8008BED4 00088E14 41 82 00 0C */ beq lbl_8008BEE0 +/* 8008BED8 00088E18 83 42 02 78 */ lwz r26, 0x278(r2) +/* 8008BEDC 00088E1C 7F 56 03 A6 */ mtspr 0x16, r26 +lbl_8008BEE0: +/* 8008BEE0 00088E20 BB 22 02 40 */ lmw r25, 0x240(r2) +/* 8008BEE4 00088E24 7F 30 F3 A6 */ mtspr 0x3d0, r25 +/* 8008BEE8 00088E28 7F 51 F3 A6 */ mtspr 0x3d1, r26 +/* 8008BEEC 00088E2C 7F 72 F3 A6 */ mtspr 0x3d2, r27 +/* 8008BEF0 00088E30 7F 93 F3 A6 */ mtspr 0x3d3, r28 +/* 8008BEF4 00088E34 7F B4 F3 A6 */ mtspr 0x3D4, r29 +/* 8008BEF8 00088E38 7F D5 F3 A6 */ mtspr 0x3D5, r30 +/* 8008BEFC 00088E3C 7F F6 F3 A6 */ mtspr 0x3d6, r31 +lbl_8008BF00: +/* 8008BF00 00088E40 BA 02 01 A8 */ lmw r16, 0x1a8(r2) +/* 8008BF04 00088E44 7E 00 01 A4 */ mtsr 0, r16 +/* 8008BF08 00088E48 7E 21 01 A4 */ mtsr 1, r17 +/* 8008BF0C 00088E4C 7E 42 01 A4 */ mtsr 2, r18 +/* 8008BF10 00088E50 7E 63 01 A4 */ mtsr 3, r19 +/* 8008BF14 00088E54 7E 84 01 A4 */ mtsr 4, r20 +/* 8008BF18 00088E58 7E A5 01 A4 */ mtsr 5, r21 +/* 8008BF1C 00088E5C 7E C6 01 A4 */ mtsr 6, r22 +/* 8008BF20 00088E60 7E E7 01 A4 */ mtsr 7, r23 +/* 8008BF24 00088E64 7F 08 01 A4 */ mtsr 8, r24 +/* 8008BF28 00088E68 7F 29 01 A4 */ mtsr 9, r25 +/* 8008BF2C 00088E6C 7F 4A 01 A4 */ mtsr 0xa, r26 +/* 8008BF30 00088E70 7F 6B 01 A4 */ mtsr 0xb, r27 +/* 8008BF34 00088E74 7F 8C 01 A4 */ mtsr 0xc, r28 +/* 8008BF38 00088E78 7F AD 01 A4 */ mtsr 0xd, r29 +/* 8008BF3C 00088E7C 7F CE 01 A4 */ mtsr 0xe, r30 +/* 8008BF40 00088E80 7F EF 01 A4 */ mtsr 0xf, r31 +/* 8008BF44 00088E84 B9 82 01 F0 */ lmw r12, 0x1f0(r2) +/* 8008BF48 00088E88 7D 90 FB A6 */ mtspr 0x3f0, r12 +/* 8008BF4C 00088E8C 7D B1 FB A6 */ mtspr 0x3f1, r13 +/* 8008BF50 00088E90 7D DB 03 A6 */ mtspr 0x1b, r14 +/* 8008BF54 00088E94 7D FF 43 A6 */ mtspr 0x11f, r15 +/* 8008BF58 00088E98 7E 10 83 A6 */ mtibatu 0, r16 +/* 8008BF5C 00088E9C 7E 31 83 A6 */ mtibatl 0, r17 +/* 8008BF60 00088EA0 7E 52 83 A6 */ mtibatu 1, r18 +/* 8008BF64 00088EA4 7E 73 83 A6 */ mtibatl 1, r19 +/* 8008BF68 00088EA8 7E 94 83 A6 */ mtibatu 2, r20 +/* 8008BF6C 00088EAC 7E B5 83 A6 */ mtibatl 2, r21 +/* 8008BF70 00088EB0 7E D6 83 A6 */ mtibatu 3, r22 +/* 8008BF74 00088EB4 7E F7 83 A6 */ mtibatl 3, r23 +/* 8008BF78 00088EB8 7F 18 83 A6 */ mtdbatu 0, r24 +/* 8008BF7C 00088EBC 7F 39 83 A6 */ mtdbatl 0, r25 +/* 8008BF80 00088EC0 7F 5A 83 A6 */ mtdbatu 1, r26 +/* 8008BF84 00088EC4 7F 7B 83 A6 */ mtdbatl 1, r27 +/* 8008BF88 00088EC8 7F 9C 83 A6 */ mtdbatu 2, r28 +/* 8008BF8C 00088ECC 7F BD 83 A6 */ mtdbatl 2, r29 +/* 8008BF90 00088ED0 7F DE 83 A6 */ mtdbatu 3, r30 +/* 8008BF94 00088ED4 7F FF 83 A6 */ mtdbatl 3, r31 +/* 8008BF98 00088ED8 BA C2 02 5C */ lmw r22, 0x25c(r2) +/* 8008BF9C 00088EDC 7E D9 03 A6 */ mtspr 0x19, r22 +/* 8008BFA0 00088EE0 7E F3 03 A6 */ mtdar r23 +/* 8008BFA4 00088EE4 7F 12 03 A6 */ mtdsisr r24 +/* 8008BFA8 00088EE8 7F 30 43 A6 */ mtspr 0x110, r25 +/* 8008BFAC 00088EEC 7F 51 43 A6 */ mtspr 0x111, r26 +/* 8008BFB0 00088EF0 7F 72 43 A6 */ mtspr 0x112, r27 +/* 8008BFB4 00088EF4 7F 93 43 A6 */ mtspr 0x113, r28 +/* 8008BFB8 00088EF8 7F D2 FB A6 */ mtspr 0x3f2, r30 +/* 8008BFBC 00088EFC 7F FA 43 A6 */ mtspr 0x11a, r31 +/* 8008BFC0 00088F00 4E 80 00 20 */ blr + +.global TRKTargetCPUMinorType +TRKTargetCPUMinorType: +/* 8008BFC4 00088F04 38 60 00 54 */ li r3, 0x54 +/* 8008BFC8 00088F08 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/msg.s b/asm/TRK_MINNOW_DOLPHIN/msg.s new file mode 100644 index 0000000..99b8591 --- /dev/null +++ b/asm/TRK_MINNOW_DOLPHIN/msg.s @@ -0,0 +1,15 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80005600 - 0x8036FBA0 +.global TRKMessageSend +TRKMessageSend: +/* 80088058 00084F98 7C 08 02 A6 */ mflr r0 +/* 8008805C 00084F9C 90 01 00 04 */ stw r0, 4(r1) +/* 80088060 00084FA0 94 21 FF F8 */ stwu r1, -8(r1) +/* 80088064 00084FA4 80 83 00 08 */ lwz r4, 8(r3) +/* 80088068 00084FA8 38 63 00 10 */ addi r3, r3, 0x10 +/* 8008806C 00084FAC 48 00 42 39 */ bl TRKWriteUARTN +/* 80088070 00084FB0 38 21 00 08 */ addi r1, r1, 8 +/* 80088074 00084FB4 80 01 00 04 */ lwz r0, 4(r1) +/* 80088078 00084FB8 7C 08 03 A6 */ mtlr r0 +/* 8008807C 00084FBC 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/msgbuf.s b/asm/TRK_MINNOW_DOLPHIN/msgbuf.s new file mode 100644 index 0000000..f137c70 --- /dev/null +++ b/asm/TRK_MINNOW_DOLPHIN/msgbuf.s @@ -0,0 +1,643 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80005600 - 0x8036FBA0 +.global TRKSetBufferUsed +TRKSetBufferUsed: +/* 80088080 00084FC0 90 83 00 04 */ stw r4, 4(r3) +/* 80088084 00084FC4 4E 80 00 20 */ blr + +.global TRKInitializeMessageBuffers +TRKInitializeMessageBuffers: +/* 80088088 00084FC8 7C 08 02 A6 */ mflr r0 +/* 8008808C 00084FCC 3C 60 80 3F */ lis r3, gTRKMsgBufs@ha +/* 80088090 00084FD0 90 01 00 04 */ stw r0, 4(r1) +/* 80088094 00084FD4 38 03 91 10 */ addi r0, r3, gTRKMsgBufs@l +/* 80088098 00084FD8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8008809C 00084FDC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 800880A0 00084FE0 93 C1 00 08 */ stw r30, 8(r1) +/* 800880A4 00084FE4 3B C0 00 00 */ li r30, 0 +/* 800880A8 00084FE8 1C 9E 08 90 */ mulli r4, r30, 0x890 +/* 800880AC 00084FEC 7F E0 22 14 */ add r31, r0, r4 +lbl_800880B0: +/* 800880B0 00084FF0 7F E3 FB 78 */ mr r3, r31 +/* 800880B4 00084FF4 48 00 21 99 */ bl TRKInitializeMutex +/* 800880B8 00084FF8 7F E3 FB 78 */ mr r3, r31 +/* 800880BC 00084FFC 48 00 21 99 */ bl TRKAcquireMutex +/* 800880C0 00085000 38 7F 00 00 */ addi r3, r31, 0 +/* 800880C4 00085004 38 80 00 00 */ li r4, 0 +/* 800880C8 00085008 4B FF FF B9 */ bl TRKSetBufferUsed +/* 800880CC 0008500C 7F E3 FB 78 */ mr r3, r31 +/* 800880D0 00085010 48 00 21 8D */ bl TRKReleaseMutex +/* 800880D4 00085014 3B DE 00 01 */ addi r30, r30, 1 +/* 800880D8 00085018 3B FF 08 90 */ addi r31, r31, 0x890 +/* 800880DC 0008501C 2C 1E 00 03 */ cmpwi r30, 3 +/* 800880E0 00085020 41 80 FF D0 */ blt lbl_800880B0 +/* 800880E4 00085024 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 800880E8 00085028 38 60 00 00 */ li r3, 0 +/* 800880EC 0008502C 83 C1 00 08 */ lwz r30, 8(r1) +/* 800880F0 00085030 38 21 00 10 */ addi r1, r1, 0x10 +/* 800880F4 00085034 80 01 00 04 */ lwz r0, 4(r1) +/* 800880F8 00085038 7C 08 03 A6 */ mtlr r0 +/* 800880FC 0008503C 4E 80 00 20 */ blr + +.global TRKGetFreeBuffer +TRKGetFreeBuffer: +/* 80088100 00085040 7C 08 02 A6 */ mflr r0 +/* 80088104 00085044 90 01 00 04 */ stw r0, 4(r1) +/* 80088108 00085048 38 00 00 00 */ li r0, 0 +/* 8008810C 0008504C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80088110 00085050 BF 61 00 0C */ stmw r27, 0xc(r1) +/* 80088114 00085054 3B 84 00 00 */ addi r28, r4, 0 +/* 80088118 00085058 3B 63 00 00 */ addi r27, r3, 0 +/* 8008811C 0008505C 3B E0 03 00 */ li r31, 0x300 +/* 80088120 00085060 3B C0 00 00 */ li r30, 0 +/* 80088124 00085064 90 04 00 00 */ stw r0, 0(r4) +/* 80088128 00085068 48 00 00 54 */ b lbl_8008817C +lbl_8008812C: +/* 8008812C 0008506C 7F C3 F3 78 */ mr r3, r30 +/* 80088130 00085070 48 00 00 6D */ bl TRKGetBuffer +/* 80088134 00085074 7C 7D 1B 78 */ mr r29, r3 +/* 80088138 00085078 48 00 21 1D */ bl TRKAcquireMutex +/* 8008813C 0008507C 80 1D 00 04 */ lwz r0, 4(r29) +/* 80088140 00085080 2C 00 00 00 */ cmpwi r0, 0 +/* 80088144 00085084 40 82 00 2C */ bne lbl_80088170 +/* 80088148 00085088 38 7D 00 00 */ addi r3, r29, 0 +/* 8008814C 0008508C 38 80 00 01 */ li r4, 1 +/* 80088150 00085090 48 00 00 E1 */ bl TRKResetBuffer +/* 80088154 00085094 38 7D 00 00 */ addi r3, r29, 0 +/* 80088158 00085098 38 80 00 01 */ li r4, 1 +/* 8008815C 0008509C 4B FF FF 25 */ bl TRKSetBufferUsed +/* 80088160 000850A0 93 BC 00 00 */ stw r29, 0(r28) +/* 80088164 000850A4 3B E0 00 00 */ li r31, 0 +/* 80088168 000850A8 93 DB 00 00 */ stw r30, 0(r27) +/* 8008816C 000850AC 3B C0 00 03 */ li r30, 3 +lbl_80088170: +/* 80088170 000850B0 7F A3 EB 78 */ mr r3, r29 +/* 80088174 000850B4 48 00 20 E9 */ bl TRKReleaseMutex +/* 80088178 000850B8 3B DE 00 01 */ addi r30, r30, 1 +lbl_8008817C: +/* 8008817C 000850BC 2C 1E 00 03 */ cmpwi r30, 3 +/* 80088180 000850C0 41 80 FF AC */ blt lbl_8008812C +/* 80088184 000850C4 7F E3 FB 78 */ mr r3, r31 +/* 80088188 000850C8 BB 61 00 0C */ lmw r27, 0xc(r1) +/* 8008818C 000850CC 38 21 00 20 */ addi r1, r1, 0x20 +/* 80088190 000850D0 80 01 00 04 */ lwz r0, 4(r1) +/* 80088194 000850D4 7C 08 03 A6 */ mtlr r0 +/* 80088198 000850D8 4E 80 00 20 */ blr + +.global TRKGetBuffer +TRKGetBuffer: +/* 8008819C 000850DC 2C 03 00 00 */ cmpwi r3, 0 +/* 800881A0 000850E0 38 00 00 00 */ li r0, 0 +/* 800881A4 000850E4 41 80 00 1C */ blt lbl_800881C0 +/* 800881A8 000850E8 2C 03 00 03 */ cmpwi r3, 3 +/* 800881AC 000850EC 40 80 00 14 */ bge lbl_800881C0 +/* 800881B0 000850F0 1C 83 08 90 */ mulli r4, r3, 0x890 +/* 800881B4 000850F4 3C 60 80 3F */ lis r3, gTRKMsgBufs@ha +/* 800881B8 000850F8 38 03 91 10 */ addi r0, r3, gTRKMsgBufs@l +/* 800881BC 000850FC 7C 00 22 14 */ add r0, r0, r4 +lbl_800881C0: +/* 800881C0 00085100 7C 03 03 78 */ mr r3, r0 +/* 800881C4 00085104 4E 80 00 20 */ blr + +.global TRKReleaseBuffer +TRKReleaseBuffer: +/* 800881C8 00085108 7C 08 02 A6 */ mflr r0 +/* 800881CC 0008510C 2C 03 FF FF */ cmpwi r3, -1 +/* 800881D0 00085110 90 01 00 04 */ stw r0, 4(r1) +/* 800881D4 00085114 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 800881D8 00085118 93 E1 00 0C */ stw r31, 0xc(r1) +/* 800881DC 0008511C 41 82 00 40 */ beq lbl_8008821C +/* 800881E0 00085120 2C 03 00 00 */ cmpwi r3, 0 +/* 800881E4 00085124 41 80 00 38 */ blt lbl_8008821C +/* 800881E8 00085128 2C 03 00 03 */ cmpwi r3, 3 +/* 800881EC 0008512C 40 80 00 30 */ bge lbl_8008821C +/* 800881F0 00085130 1C 83 08 90 */ mulli r4, r3, 0x890 +/* 800881F4 00085134 3C 60 80 3F */ lis r3, gTRKMsgBufs@ha +/* 800881F8 00085138 38 03 91 10 */ addi r0, r3, gTRKMsgBufs@l +/* 800881FC 0008513C 7F E0 22 14 */ add r31, r0, r4 +/* 80088200 00085140 38 7F 00 00 */ addi r3, r31, 0 +/* 80088204 00085144 48 00 20 51 */ bl TRKAcquireMutex +/* 80088208 00085148 38 7F 00 00 */ addi r3, r31, 0 +/* 8008820C 0008514C 38 80 00 00 */ li r4, 0 +/* 80088210 00085150 4B FF FE 71 */ bl TRKSetBufferUsed +/* 80088214 00085154 7F E3 FB 78 */ mr r3, r31 +/* 80088218 00085158 48 00 20 45 */ bl TRKReleaseMutex +lbl_8008821C: +/* 8008821C 0008515C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80088220 00085160 38 21 00 10 */ addi r1, r1, 0x10 +/* 80088224 00085164 80 01 00 04 */ lwz r0, 4(r1) +/* 80088228 00085168 7C 08 03 A6 */ mtlr r0 +/* 8008822C 0008516C 4E 80 00 20 */ blr + +.global TRKResetBuffer +TRKResetBuffer: +/* 80088230 00085170 7C 08 02 A6 */ mflr r0 +/* 80088234 00085174 38 A0 00 00 */ li r5, 0 +/* 80088238 00085178 90 01 00 04 */ stw r0, 4(r1) +/* 8008823C 0008517C 54 80 06 3F */ clrlwi. r0, r4, 0x18 +/* 80088240 00085180 94 21 FF F8 */ stwu r1, -8(r1) +/* 80088244 00085184 90 A3 00 08 */ stw r5, 8(r3) +/* 80088248 00085188 90 A3 00 0C */ stw r5, 0xc(r3) +/* 8008824C 0008518C 40 82 00 14 */ bne lbl_80088260 +/* 80088250 00085190 38 63 00 10 */ addi r3, r3, 0x10 +/* 80088254 00085194 38 80 00 00 */ li r4, 0 +/* 80088258 00085198 38 A0 08 80 */ li r5, 0x880 +/* 8008825C 0008519C 4B F7 B0 0D */ bl TRK_memset +lbl_80088260: +/* 80088260 000851A0 38 21 00 08 */ addi r1, r1, 8 +/* 80088264 000851A4 80 01 00 04 */ lwz r0, 4(r1) +/* 80088268 000851A8 7C 08 03 A6 */ mtlr r0 +/* 8008826C 000851AC 4E 80 00 20 */ blr + +.global TRKSetBufferPosition +TRKSetBufferPosition: +/* 80088270 000851B0 28 04 08 80 */ cmplwi r4, 0x880 +/* 80088274 000851B4 38 A0 00 00 */ li r5, 0 +/* 80088278 000851B8 40 81 00 0C */ ble lbl_80088284 +/* 8008827C 000851BC 38 A0 03 01 */ li r5, 0x301 +/* 80088280 000851C0 48 00 00 18 */ b lbl_80088298 +lbl_80088284: +/* 80088284 000851C4 90 83 00 0C */ stw r4, 0xc(r3) +/* 80088288 000851C8 80 03 00 08 */ lwz r0, 8(r3) +/* 8008828C 000851CC 7C 04 00 40 */ cmplw r4, r0 +/* 80088290 000851D0 40 81 00 08 */ ble lbl_80088298 +/* 80088294 000851D4 90 83 00 08 */ stw r4, 8(r3) +lbl_80088298: +/* 80088298 000851D8 7C A3 2B 78 */ mr r3, r5 +/* 8008829C 000851DC 4E 80 00 20 */ blr + +.global TRKAppendBuffer +TRKAppendBuffer: +/* 800882A0 000851E0 7C 08 02 A6 */ mflr r0 +/* 800882A4 000851E4 90 01 00 04 */ stw r0, 4(r1) +/* 800882A8 000851E8 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 800882AC 000851EC 93 E1 00 14 */ stw r31, 0x14(r1) +/* 800882B0 000851F0 3B E0 00 00 */ li r31, 0 +/* 800882B4 000851F4 93 C1 00 10 */ stw r30, 0x10(r1) +/* 800882B8 000851F8 7C BE 2B 79 */ or. r30, r5, r5 +/* 800882BC 000851FC 93 A1 00 0C */ stw r29, 0xc(r1) +/* 800882C0 00085200 3B A3 00 00 */ addi r29, r3, 0 +/* 800882C4 00085204 40 82 00 0C */ bne lbl_800882D0 +/* 800882C8 00085208 38 60 00 00 */ li r3, 0 +/* 800882CC 0008520C 48 00 00 5C */ b lbl_80088328 +lbl_800882D0: +/* 800882D0 00085210 80 7D 00 0C */ lwz r3, 0xc(r29) +/* 800882D4 00085214 20 03 08 80 */ subfic r0, r3, 0x880 +/* 800882D8 00085218 7C 00 F0 40 */ cmplw r0, r30 +/* 800882DC 0008521C 40 80 00 0C */ bge lbl_800882E8 +/* 800882E0 00085220 3B E0 03 01 */ li r31, 0x301 +/* 800882E4 00085224 7C 1E 03 78 */ mr r30, r0 +lbl_800882E8: +/* 800882E8 00085228 28 1E 00 01 */ cmplwi r30, 1 +/* 800882EC 0008522C 40 82 00 14 */ bne lbl_80088300 +/* 800882F0 00085230 88 04 00 00 */ lbz r0, 0(r4) +/* 800882F4 00085234 7C 7D 1A 14 */ add r3, r29, r3 +/* 800882F8 00085238 98 03 00 10 */ stb r0, 0x10(r3) +/* 800882FC 0008523C 48 00 00 14 */ b lbl_80088310 +lbl_80088300: +/* 80088300 00085240 38 63 00 10 */ addi r3, r3, 0x10 +/* 80088304 00085244 38 BE 00 00 */ addi r5, r30, 0 +/* 80088308 00085248 7C 7D 1A 14 */ add r3, r29, r3 +/* 8008830C 0008524C 4B F7 AF 39 */ bl TRK_memcpy +lbl_80088310: +/* 80088310 00085250 80 1D 00 0C */ lwz r0, 0xc(r29) +/* 80088314 00085254 38 7F 00 00 */ addi r3, r31, 0 +/* 80088318 00085258 7C 00 F2 14 */ add r0, r0, r30 +/* 8008831C 0008525C 90 1D 00 0C */ stw r0, 0xc(r29) +/* 80088320 00085260 80 1D 00 0C */ lwz r0, 0xc(r29) +/* 80088324 00085264 90 1D 00 08 */ stw r0, 8(r29) +lbl_80088328: +/* 80088328 00085268 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 8008832C 0008526C 83 C1 00 10 */ lwz r30, 0x10(r1) +/* 80088330 00085270 83 A1 00 0C */ lwz r29, 0xc(r1) +/* 80088334 00085274 38 21 00 18 */ addi r1, r1, 0x18 +/* 80088338 00085278 80 01 00 04 */ lwz r0, 4(r1) +/* 8008833C 0008527C 7C 08 03 A6 */ mtlr r0 +/* 80088340 00085280 4E 80 00 20 */ blr + +.global TRKReadBuffer +TRKReadBuffer: +/* 80088344 00085284 7C 08 02 A6 */ mflr r0 +/* 80088348 00085288 90 01 00 04 */ stw r0, 4(r1) +/* 8008834C 0008528C 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 80088350 00085290 93 E1 00 14 */ stw r31, 0x14(r1) +/* 80088354 00085294 3B E0 00 00 */ li r31, 0 +/* 80088358 00085298 93 C1 00 10 */ stw r30, 0x10(r1) +/* 8008835C 0008529C 7C BE 2B 79 */ or. r30, r5, r5 +/* 80088360 000852A0 93 A1 00 0C */ stw r29, 0xc(r1) +/* 80088364 000852A4 3B A3 00 00 */ addi r29, r3, 0 +/* 80088368 000852A8 38 64 00 00 */ addi r3, r4, 0 +/* 8008836C 000852AC 40 82 00 0C */ bne lbl_80088378 +/* 80088370 000852B0 38 60 00 00 */ li r3, 0 +/* 80088374 000852B4 48 00 00 40 */ b lbl_800883B4 +lbl_80088378: +/* 80088378 000852B8 80 9D 00 0C */ lwz r4, 0xc(r29) +/* 8008837C 000852BC 80 1D 00 08 */ lwz r0, 8(r29) +/* 80088380 000852C0 7C 04 00 50 */ subf r0, r4, r0 +/* 80088384 000852C4 7C 1E 00 40 */ cmplw r30, r0 +/* 80088388 000852C8 40 81 00 0C */ ble lbl_80088394 +/* 8008838C 000852CC 3B E0 03 02 */ li r31, 0x302 +/* 80088390 000852D0 7C 1E 03 78 */ mr r30, r0 +lbl_80088394: +/* 80088394 000852D4 38 84 00 10 */ addi r4, r4, 0x10 +/* 80088398 000852D8 38 BE 00 00 */ addi r5, r30, 0 +/* 8008839C 000852DC 7C 9D 22 14 */ add r4, r29, r4 +/* 800883A0 000852E0 4B F7 AE A5 */ bl TRK_memcpy +/* 800883A4 000852E4 80 1D 00 0C */ lwz r0, 0xc(r29) +/* 800883A8 000852E8 38 7F 00 00 */ addi r3, r31, 0 +/* 800883AC 000852EC 7C 00 F2 14 */ add r0, r0, r30 +/* 800883B0 000852F0 90 1D 00 0C */ stw r0, 0xc(r29) +lbl_800883B4: +/* 800883B4 000852F4 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 800883B8 000852F8 83 C1 00 10 */ lwz r30, 0x10(r1) +/* 800883BC 000852FC 83 A1 00 0C */ lwz r29, 0xc(r1) +/* 800883C0 00085300 38 21 00 18 */ addi r1, r1, 0x18 +/* 800883C4 00085304 80 01 00 04 */ lwz r0, 4(r1) +/* 800883C8 00085308 7C 08 03 A6 */ mtlr r0 +/* 800883CC 0008530C 4E 80 00 20 */ blr + +.global TRKAppendBuffer1_ui16 +TRKAppendBuffer1_ui16: +/* 800883D0 00085310 7C 08 02 A6 */ mflr r0 +/* 800883D4 00085314 3C A0 80 3F */ lis r5, gTRKBigEndian@ha +/* 800883D8 00085318 90 01 00 04 */ stw r0, 4(r1) +/* 800883DC 0008531C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 800883E0 00085320 B0 81 00 08 */ sth r4, 8(r1) +/* 800883E4 00085324 80 05 91 08 */ lwz r0, gTRKBigEndian@l(r5) +/* 800883E8 00085328 2C 00 00 00 */ cmpwi r0, 0 +/* 800883EC 0008532C 41 82 00 0C */ beq lbl_800883F8 +/* 800883F0 00085330 38 81 00 08 */ addi r4, r1, 8 +/* 800883F4 00085334 48 00 00 18 */ b lbl_8008840C +lbl_800883F8: +/* 800883F8 00085338 88 01 00 09 */ lbz r0, 9(r1) +/* 800883FC 0008533C 38 81 00 0C */ addi r4, r1, 0xc +/* 80088400 00085340 98 01 00 0C */ stb r0, 0xc(r1) +/* 80088404 00085344 88 01 00 08 */ lbz r0, 8(r1) +/* 80088408 00085348 98 01 00 0D */ stb r0, 0xd(r1) +lbl_8008840C: +/* 8008840C 0008534C 38 A0 00 02 */ li r5, 2 +/* 80088410 00085350 4B FF FE 91 */ bl TRKAppendBuffer +/* 80088414 00085354 38 21 00 10 */ addi r1, r1, 0x10 +/* 80088418 00085358 80 01 00 04 */ lwz r0, 4(r1) +/* 8008841C 0008535C 7C 08 03 A6 */ mtlr r0 +/* 80088420 00085360 4E 80 00 20 */ blr + +.global TRKAppendBuffer1_ui32 +TRKAppendBuffer1_ui32: +/* 80088424 00085364 7C 08 02 A6 */ mflr r0 +/* 80088428 00085368 3C A0 80 3F */ lis r5, gTRKBigEndian@ha +/* 8008842C 0008536C 90 01 00 04 */ stw r0, 4(r1) +/* 80088430 00085370 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80088434 00085374 90 81 00 08 */ stw r4, 8(r1) +/* 80088438 00085378 80 05 91 08 */ lwz r0, gTRKBigEndian@l(r5) +/* 8008843C 0008537C 2C 00 00 00 */ cmpwi r0, 0 +/* 80088440 00085380 41 82 00 0C */ beq lbl_8008844C +/* 80088444 00085384 38 81 00 08 */ addi r4, r1, 8 +/* 80088448 00085388 48 00 00 28 */ b lbl_80088470 +lbl_8008844C: +/* 8008844C 0008538C 88 01 00 0B */ lbz r0, 0xb(r1) +/* 80088450 00085390 38 81 00 0C */ addi r4, r1, 0xc +/* 80088454 00085394 98 01 00 0C */ stb r0, 0xc(r1) +/* 80088458 00085398 88 01 00 0A */ lbz r0, 0xa(r1) +/* 8008845C 0008539C 98 01 00 0D */ stb r0, 0xd(r1) +/* 80088460 000853A0 88 01 00 09 */ lbz r0, 9(r1) +/* 80088464 000853A4 98 01 00 0E */ stb r0, 0xe(r1) +/* 80088468 000853A8 88 01 00 08 */ lbz r0, 8(r1) +/* 8008846C 000853AC 98 01 00 0F */ stb r0, 0xf(r1) +lbl_80088470: +/* 80088470 000853B0 38 A0 00 04 */ li r5, 4 +/* 80088474 000853B4 4B FF FE 2D */ bl TRKAppendBuffer +/* 80088478 000853B8 38 21 00 10 */ addi r1, r1, 0x10 +/* 8008847C 000853BC 80 01 00 04 */ lwz r0, 4(r1) +/* 80088480 000853C0 7C 08 03 A6 */ mtlr r0 +/* 80088484 000853C4 4E 80 00 20 */ blr + +.global TRKAppendBuffer1_ui64 +TRKAppendBuffer1_ui64: +/* 80088488 000853C8 7C 08 02 A6 */ mflr r0 +/* 8008848C 000853CC 3C 80 80 3F */ lis r4, gTRKBigEndian@ha +/* 80088490 000853D0 90 01 00 04 */ stw r0, 4(r1) +/* 80088494 000853D4 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 80088498 000853D8 90 A1 00 08 */ stw r5, 8(r1) +/* 8008849C 000853DC 90 C1 00 0C */ stw r6, 0xc(r1) +/* 800884A0 000853E0 80 04 91 08 */ lwz r0, gTRKBigEndian@l(r4) +/* 800884A4 000853E4 2C 00 00 00 */ cmpwi r0, 0 +/* 800884A8 000853E8 41 82 00 0C */ beq lbl_800884B4 +/* 800884AC 000853EC 38 81 00 08 */ addi r4, r1, 8 +/* 800884B0 000853F0 48 00 00 48 */ b lbl_800884F8 +lbl_800884B4: +/* 800884B4 000853F4 88 01 00 0F */ lbz r0, 0xf(r1) +/* 800884B8 000853F8 38 81 00 10 */ addi r4, r1, 0x10 +/* 800884BC 000853FC 98 01 00 10 */ stb r0, 0x10(r1) +/* 800884C0 00085400 88 01 00 0E */ lbz r0, 0xe(r1) +/* 800884C4 00085404 98 01 00 11 */ stb r0, 0x11(r1) +/* 800884C8 00085408 88 01 00 0D */ lbz r0, 0xd(r1) +/* 800884CC 0008540C 98 01 00 12 */ stb r0, 0x12(r1) +/* 800884D0 00085410 88 01 00 0C */ lbz r0, 0xc(r1) +/* 800884D4 00085414 98 01 00 13 */ stb r0, 0x13(r1) +/* 800884D8 00085418 88 01 00 0B */ lbz r0, 0xb(r1) +/* 800884DC 0008541C 98 01 00 14 */ stb r0, 0x14(r1) +/* 800884E0 00085420 88 01 00 0A */ lbz r0, 0xa(r1) +/* 800884E4 00085424 98 01 00 15 */ stb r0, 0x15(r1) +/* 800884E8 00085428 88 01 00 09 */ lbz r0, 9(r1) +/* 800884EC 0008542C 98 01 00 16 */ stb r0, 0x16(r1) +/* 800884F0 00085430 88 01 00 08 */ lbz r0, 8(r1) +/* 800884F4 00085434 98 01 00 17 */ stb r0, 0x17(r1) +lbl_800884F8: +/* 800884F8 00085438 38 A0 00 08 */ li r5, 8 +/* 800884FC 0008543C 4B FF FD A5 */ bl TRKAppendBuffer +/* 80088500 00085440 38 21 00 18 */ addi r1, r1, 0x18 +/* 80088504 00085444 80 01 00 04 */ lwz r0, 4(r1) +/* 80088508 00085448 7C 08 03 A6 */ mtlr r0 +/* 8008850C 0008544C 4E 80 00 20 */ blr + +.global TRKAppendBuffer_ui8 +TRKAppendBuffer_ui8: +/* 80088510 00085450 39 20 00 00 */ li r9, 0 +/* 80088514 00085454 38 00 00 00 */ li r0, 0 +/* 80088518 00085458 48 00 00 48 */ b lbl_80088560 +lbl_8008851C: +/* 8008851C 0008545C 80 E3 00 0C */ lwz r7, 0xc(r3) +/* 80088520 00085460 89 04 00 00 */ lbz r8, 0(r4) +/* 80088524 00085464 28 07 08 80 */ cmplwi r7, 0x880 +/* 80088528 00085468 41 80 00 0C */ blt lbl_80088534 +/* 8008852C 0008546C 38 E0 03 01 */ li r7, 0x301 +/* 80088530 00085470 48 00 00 24 */ b lbl_80088554 +lbl_80088534: +/* 80088534 00085474 38 C7 00 01 */ addi r6, r7, 1 +/* 80088538 00085478 38 07 00 10 */ addi r0, r7, 0x10 +/* 8008853C 0008547C 90 C3 00 0C */ stw r6, 0xc(r3) +/* 80088540 00085480 38 E0 00 00 */ li r7, 0 +/* 80088544 00085484 7D 03 01 AE */ stbx r8, r3, r0 +/* 80088548 00085488 80 C3 00 08 */ lwz r6, 8(r3) +/* 8008854C 0008548C 38 06 00 01 */ addi r0, r6, 1 +/* 80088550 00085490 90 03 00 08 */ stw r0, 8(r3) +lbl_80088554: +/* 80088554 00085494 38 07 00 00 */ addi r0, r7, 0 +/* 80088558 00085498 39 29 00 01 */ addi r9, r9, 1 +/* 8008855C 0008549C 38 84 00 01 */ addi r4, r4, 1 +lbl_80088560: +/* 80088560 000854A0 2C 00 00 00 */ cmpwi r0, 0 +/* 80088564 000854A4 40 82 00 0C */ bne lbl_80088570 +/* 80088568 000854A8 7C 09 28 00 */ cmpw r9, r5 +/* 8008856C 000854AC 41 80 FF B0 */ blt lbl_8008851C +lbl_80088570: +/* 80088570 000854B0 7C 03 03 78 */ mr r3, r0 +/* 80088574 000854B4 4E 80 00 20 */ blr + +.global TRKAppendBuffer_ui32 +TRKAppendBuffer_ui32: +/* 80088578 000854B8 7C 08 02 A6 */ mflr r0 +/* 8008857C 000854BC 90 01 00 04 */ stw r0, 4(r1) +/* 80088580 000854C0 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 80088584 000854C4 93 E1 00 14 */ stw r31, 0x14(r1) +/* 80088588 000854C8 93 C1 00 10 */ stw r30, 0x10(r1) +/* 8008858C 000854CC 3B C0 00 00 */ li r30, 0 +/* 80088590 000854D0 57 C0 10 3A */ slwi r0, r30, 2 +/* 80088594 000854D4 93 A1 00 0C */ stw r29, 0xc(r1) +/* 80088598 000854D8 7F E4 02 14 */ add r31, r4, r0 +/* 8008859C 000854DC 3B A5 00 00 */ addi r29, r5, 0 +/* 800885A0 000854E0 93 81 00 08 */ stw r28, 8(r1) +/* 800885A4 000854E4 3B 83 00 00 */ addi r28, r3, 0 +/* 800885A8 000854E8 38 60 00 00 */ li r3, 0 +/* 800885AC 000854EC 48 00 00 18 */ b lbl_800885C4 +lbl_800885B0: +/* 800885B0 000854F0 7F 83 E3 78 */ mr r3, r28 +/* 800885B4 000854F4 80 9F 00 00 */ lwz r4, 0(r31) +/* 800885B8 000854F8 4B FF FE 6D */ bl TRKAppendBuffer1_ui32 +/* 800885BC 000854FC 3B DE 00 01 */ addi r30, r30, 1 +/* 800885C0 00085500 3B FF 00 04 */ addi r31, r31, 4 +lbl_800885C4: +/* 800885C4 00085504 2C 03 00 00 */ cmpwi r3, 0 +/* 800885C8 00085508 40 82 00 0C */ bne lbl_800885D4 +/* 800885CC 0008550C 7C 1E E8 00 */ cmpw r30, r29 +/* 800885D0 00085510 41 80 FF E0 */ blt lbl_800885B0 +lbl_800885D4: +/* 800885D4 00085514 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 800885D8 00085518 83 C1 00 10 */ lwz r30, 0x10(r1) +/* 800885DC 0008551C 83 A1 00 0C */ lwz r29, 0xc(r1) +/* 800885E0 00085520 83 81 00 08 */ lwz r28, 8(r1) +/* 800885E4 00085524 38 21 00 18 */ addi r1, r1, 0x18 +/* 800885E8 00085528 80 01 00 04 */ lwz r0, 4(r1) +/* 800885EC 0008552C 7C 08 03 A6 */ mtlr r0 +/* 800885F0 00085530 4E 80 00 20 */ blr + +.global TRKReadBuffer1_ui8 +TRKReadBuffer1_ui8: +/* 800885F4 00085534 7C 08 02 A6 */ mflr r0 +/* 800885F8 00085538 38 A0 00 01 */ li r5, 1 +/* 800885FC 0008553C 90 01 00 04 */ stw r0, 4(r1) +/* 80088600 00085540 94 21 FF F8 */ stwu r1, -8(r1) +/* 80088604 00085544 4B FF FD 41 */ bl TRKReadBuffer +/* 80088608 00085548 38 21 00 08 */ addi r1, r1, 8 +/* 8008860C 0008554C 80 01 00 04 */ lwz r0, 4(r1) +/* 80088610 00085550 7C 08 03 A6 */ mtlr r0 +/* 80088614 00085554 4E 80 00 20 */ blr + +.global TRKReadBuffer1_ui16 +TRKReadBuffer1_ui16: +/* 80088618 00085558 7C 08 02 A6 */ mflr r0 +/* 8008861C 0008555C 3C A0 80 3F */ lis r5, gTRKBigEndian@ha +/* 80088620 00085560 90 01 00 04 */ stw r0, 4(r1) +/* 80088624 00085564 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 80088628 00085568 93 E1 00 14 */ stw r31, 0x14(r1) +/* 8008862C 0008556C 93 C1 00 10 */ stw r30, 0x10(r1) +/* 80088630 00085570 3B C4 00 00 */ addi r30, r4, 0 +/* 80088634 00085574 80 05 91 08 */ lwz r0, gTRKBigEndian@l(r5) +/* 80088638 00085578 2C 00 00 00 */ cmpwi r0, 0 +/* 8008863C 0008557C 41 82 00 0C */ beq lbl_80088648 +/* 80088640 00085580 7F DF F3 78 */ mr r31, r30 +/* 80088644 00085584 48 00 00 08 */ b lbl_8008864C +lbl_80088648: +/* 80088648 00085588 3B E1 00 08 */ addi r31, r1, 8 +lbl_8008864C: +/* 8008864C 0008558C 38 9F 00 00 */ addi r4, r31, 0 +/* 80088650 00085590 38 A0 00 02 */ li r5, 2 +/* 80088654 00085594 4B FF FC F1 */ bl TRKReadBuffer +/* 80088658 00085598 3C 80 80 3F */ lis r4, gTRKBigEndian@ha +/* 8008865C 0008559C 80 04 91 08 */ lwz r0, gTRKBigEndian@l(r4) +/* 80088660 000855A0 2C 00 00 00 */ cmpwi r0, 0 +/* 80088664 000855A4 40 82 00 1C */ bne lbl_80088680 +/* 80088668 000855A8 2C 03 00 00 */ cmpwi r3, 0 +/* 8008866C 000855AC 40 82 00 14 */ bne lbl_80088680 +/* 80088670 000855B0 88 1F 00 01 */ lbz r0, 1(r31) +/* 80088674 000855B4 98 1E 00 00 */ stb r0, 0(r30) +/* 80088678 000855B8 88 1F 00 00 */ lbz r0, 0(r31) +/* 8008867C 000855BC 98 1E 00 01 */ stb r0, 1(r30) +lbl_80088680: +/* 80088680 000855C0 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 80088684 000855C4 83 C1 00 10 */ lwz r30, 0x10(r1) +/* 80088688 000855C8 38 21 00 18 */ addi r1, r1, 0x18 +/* 8008868C 000855CC 80 01 00 04 */ lwz r0, 4(r1) +/* 80088690 000855D0 7C 08 03 A6 */ mtlr r0 +/* 80088694 000855D4 4E 80 00 20 */ blr + +.global TRKReadBuffer1_ui32 +TRKReadBuffer1_ui32: +/* 80088698 000855D8 7C 08 02 A6 */ mflr r0 +/* 8008869C 000855DC 3C A0 80 3F */ lis r5, gTRKBigEndian@ha +/* 800886A0 000855E0 90 01 00 04 */ stw r0, 4(r1) +/* 800886A4 000855E4 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 800886A8 000855E8 93 E1 00 14 */ stw r31, 0x14(r1) +/* 800886AC 000855EC 93 C1 00 10 */ stw r30, 0x10(r1) +/* 800886B0 000855F0 3B C4 00 00 */ addi r30, r4, 0 +/* 800886B4 000855F4 80 05 91 08 */ lwz r0, gTRKBigEndian@l(r5) +/* 800886B8 000855F8 2C 00 00 00 */ cmpwi r0, 0 +/* 800886BC 000855FC 41 82 00 0C */ beq lbl_800886C8 +/* 800886C0 00085600 7F DF F3 78 */ mr r31, r30 +/* 800886C4 00085604 48 00 00 08 */ b lbl_800886CC +lbl_800886C8: +/* 800886C8 00085608 3B E1 00 08 */ addi r31, r1, 8 +lbl_800886CC: +/* 800886CC 0008560C 38 9F 00 00 */ addi r4, r31, 0 +/* 800886D0 00085610 38 A0 00 04 */ li r5, 4 +/* 800886D4 00085614 4B FF FC 71 */ bl TRKReadBuffer +/* 800886D8 00085618 3C 80 80 3F */ lis r4, gTRKBigEndian@ha +/* 800886DC 0008561C 80 04 91 08 */ lwz r0, gTRKBigEndian@l(r4) +/* 800886E0 00085620 2C 00 00 00 */ cmpwi r0, 0 +/* 800886E4 00085624 40 82 00 2C */ bne lbl_80088710 +/* 800886E8 00085628 2C 03 00 00 */ cmpwi r3, 0 +/* 800886EC 0008562C 40 82 00 24 */ bne lbl_80088710 +/* 800886F0 00085630 88 1F 00 03 */ lbz r0, 3(r31) +/* 800886F4 00085634 98 1E 00 00 */ stb r0, 0(r30) +/* 800886F8 00085638 88 1F 00 02 */ lbz r0, 2(r31) +/* 800886FC 0008563C 98 1E 00 01 */ stb r0, 1(r30) +/* 80088700 00085640 88 1F 00 01 */ lbz r0, 1(r31) +/* 80088704 00085644 98 1E 00 02 */ stb r0, 2(r30) +/* 80088708 00085648 88 1F 00 00 */ lbz r0, 0(r31) +/* 8008870C 0008564C 98 1E 00 03 */ stb r0, 3(r30) +lbl_80088710: +/* 80088710 00085650 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 80088714 00085654 83 C1 00 10 */ lwz r30, 0x10(r1) +/* 80088718 00085658 38 21 00 18 */ addi r1, r1, 0x18 +/* 8008871C 0008565C 80 01 00 04 */ lwz r0, 4(r1) +/* 80088720 00085660 7C 08 03 A6 */ mtlr r0 +/* 80088724 00085664 4E 80 00 20 */ blr + +.global TRKReadBuffer1_ui64 +TRKReadBuffer1_ui64: +/* 80088728 00085668 7C 08 02 A6 */ mflr r0 +/* 8008872C 0008566C 3C A0 80 3F */ lis r5, gTRKBigEndian@ha +/* 80088730 00085670 90 01 00 04 */ stw r0, 4(r1) +/* 80088734 00085674 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 80088738 00085678 93 E1 00 14 */ stw r31, 0x14(r1) +/* 8008873C 0008567C 93 C1 00 10 */ stw r30, 0x10(r1) +/* 80088740 00085680 3B C4 00 00 */ addi r30, r4, 0 +/* 80088744 00085684 80 05 91 08 */ lwz r0, gTRKBigEndian@l(r5) +/* 80088748 00085688 2C 00 00 00 */ cmpwi r0, 0 +/* 8008874C 0008568C 41 82 00 0C */ beq lbl_80088758 +/* 80088750 00085690 7F DF F3 78 */ mr r31, r30 +/* 80088754 00085694 48 00 00 08 */ b lbl_8008875C +lbl_80088758: +/* 80088758 00085698 3B E1 00 08 */ addi r31, r1, 8 +lbl_8008875C: +/* 8008875C 0008569C 38 9F 00 00 */ addi r4, r31, 0 +/* 80088760 000856A0 38 A0 00 08 */ li r5, 8 +/* 80088764 000856A4 4B FF FB E1 */ bl TRKReadBuffer +/* 80088768 000856A8 3C 80 80 3F */ lis r4, gTRKBigEndian@ha +/* 8008876C 000856AC 80 04 91 08 */ lwz r0, gTRKBigEndian@l(r4) +/* 80088770 000856B0 2C 00 00 00 */ cmpwi r0, 0 +/* 80088774 000856B4 40 82 00 4C */ bne lbl_800887C0 +/* 80088778 000856B8 2C 03 00 00 */ cmpwi r3, 0 +/* 8008877C 000856BC 40 82 00 44 */ bne lbl_800887C0 +/* 80088780 000856C0 88 1F 00 07 */ lbz r0, 7(r31) +/* 80088784 000856C4 98 1E 00 00 */ stb r0, 0(r30) +/* 80088788 000856C8 88 1F 00 06 */ lbz r0, 6(r31) +/* 8008878C 000856CC 98 1E 00 01 */ stb r0, 1(r30) +/* 80088790 000856D0 88 1F 00 05 */ lbz r0, 5(r31) +/* 80088794 000856D4 98 1E 00 02 */ stb r0, 2(r30) +/* 80088798 000856D8 88 1F 00 04 */ lbz r0, 4(r31) +/* 8008879C 000856DC 98 1E 00 03 */ stb r0, 3(r30) +/* 800887A0 000856E0 88 1F 00 03 */ lbz r0, 3(r31) +/* 800887A4 000856E4 98 1E 00 04 */ stb r0, 4(r30) +/* 800887A8 000856E8 88 1F 00 02 */ lbz r0, 2(r31) +/* 800887AC 000856EC 98 1E 00 05 */ stb r0, 5(r30) +/* 800887B0 000856F0 88 1F 00 01 */ lbz r0, 1(r31) +/* 800887B4 000856F4 98 1E 00 06 */ stb r0, 6(r30) +/* 800887B8 000856F8 88 1F 00 00 */ lbz r0, 0(r31) +/* 800887BC 000856FC 98 1E 00 07 */ stb r0, 7(r30) +lbl_800887C0: +/* 800887C0 00085700 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 800887C4 00085704 83 C1 00 10 */ lwz r30, 0x10(r1) +/* 800887C8 00085708 38 21 00 18 */ addi r1, r1, 0x18 +/* 800887CC 0008570C 80 01 00 04 */ lwz r0, 4(r1) +/* 800887D0 00085710 7C 08 03 A6 */ mtlr r0 +/* 800887D4 00085714 4E 80 00 20 */ blr + +.global TRKReadBuffer_ui8 +TRKReadBuffer_ui8: +/* 800887D8 00085718 7C 08 02 A6 */ mflr r0 +/* 800887DC 0008571C 90 01 00 04 */ stw r0, 4(r1) +/* 800887E0 00085720 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 800887E4 00085724 93 E1 00 14 */ stw r31, 0x14(r1) +/* 800887E8 00085728 3B E0 00 00 */ li r31, 0 +/* 800887EC 0008572C 93 C1 00 10 */ stw r30, 0x10(r1) +/* 800887F0 00085730 3B C5 00 00 */ addi r30, r5, 0 +/* 800887F4 00085734 93 A1 00 0C */ stw r29, 0xc(r1) +/* 800887F8 00085738 3B A4 00 00 */ addi r29, r4, 0 +/* 800887FC 0008573C 93 81 00 08 */ stw r28, 8(r1) +/* 80088800 00085740 3B 83 00 00 */ addi r28, r3, 0 +/* 80088804 00085744 38 60 00 00 */ li r3, 0 +/* 80088808 00085748 48 00 00 14 */ b lbl_8008881C +lbl_8008880C: +/* 8008880C 0008574C 38 7C 00 00 */ addi r3, r28, 0 +/* 80088810 00085750 7C 9D FA 14 */ add r4, r29, r31 +/* 80088814 00085754 4B FF FD E1 */ bl TRKReadBuffer1_ui8 +/* 80088818 00085758 3B FF 00 01 */ addi r31, r31, 1 +lbl_8008881C: +/* 8008881C 0008575C 2C 03 00 00 */ cmpwi r3, 0 +/* 80088820 00085760 40 82 00 0C */ bne lbl_8008882C +/* 80088824 00085764 7C 1F F0 00 */ cmpw r31, r30 +/* 80088828 00085768 41 80 FF E4 */ blt lbl_8008880C +lbl_8008882C: +/* 8008882C 0008576C 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 80088830 00085770 83 C1 00 10 */ lwz r30, 0x10(r1) +/* 80088834 00085774 83 A1 00 0C */ lwz r29, 0xc(r1) +/* 80088838 00085778 83 81 00 08 */ lwz r28, 8(r1) +/* 8008883C 0008577C 38 21 00 18 */ addi r1, r1, 0x18 +/* 80088840 00085780 80 01 00 04 */ lwz r0, 4(r1) +/* 80088844 00085784 7C 08 03 A6 */ mtlr r0 +/* 80088848 00085788 4E 80 00 20 */ blr + +.global TRKReadBuffer_ui32 +TRKReadBuffer_ui32: +/* 8008884C 0008578C 7C 08 02 A6 */ mflr r0 +/* 80088850 00085790 90 01 00 04 */ stw r0, 4(r1) +/* 80088854 00085794 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 80088858 00085798 93 E1 00 14 */ stw r31, 0x14(r1) +/* 8008885C 0008579C 93 C1 00 10 */ stw r30, 0x10(r1) +/* 80088860 000857A0 3B C0 00 00 */ li r30, 0 +/* 80088864 000857A4 57 C0 10 3A */ slwi r0, r30, 2 +/* 80088868 000857A8 93 A1 00 0C */ stw r29, 0xc(r1) +/* 8008886C 000857AC 7F E4 02 14 */ add r31, r4, r0 +/* 80088870 000857B0 3B A5 00 00 */ addi r29, r5, 0 +/* 80088874 000857B4 93 81 00 08 */ stw r28, 8(r1) +/* 80088878 000857B8 3B 83 00 00 */ addi r28, r3, 0 +/* 8008887C 000857BC 38 60 00 00 */ li r3, 0 +/* 80088880 000857C0 48 00 00 18 */ b lbl_80088898 +lbl_80088884: +/* 80088884 000857C4 38 7C 00 00 */ addi r3, r28, 0 +/* 80088888 000857C8 38 9F 00 00 */ addi r4, r31, 0 +/* 8008888C 000857CC 4B FF FE 0D */ bl TRKReadBuffer1_ui32 +/* 80088890 000857D0 3B DE 00 01 */ addi r30, r30, 1 +/* 80088894 000857D4 3B FF 00 04 */ addi r31, r31, 4 +lbl_80088898: +/* 80088898 000857D8 2C 03 00 00 */ cmpwi r3, 0 +/* 8008889C 000857DC 40 82 00 0C */ bne lbl_800888A8 +/* 800888A0 000857E0 7C 1E E8 00 */ cmpw r30, r29 +/* 800888A4 000857E4 41 80 FF E0 */ blt lbl_80088884 +lbl_800888A8: +/* 800888A8 000857E8 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 800888AC 000857EC 83 C1 00 10 */ lwz r30, 0x10(r1) +/* 800888B0 000857F0 83 A1 00 0C */ lwz r29, 0xc(r1) +/* 800888B4 000857F4 83 81 00 08 */ lwz r28, 8(r1) +/* 800888B8 000857F8 38 21 00 18 */ addi r1, r1, 0x18 +/* 800888BC 000857FC 80 01 00 04 */ lwz r0, 4(r1) +/* 800888C0 00085800 7C 08 03 A6 */ mtlr r0 +/* 800888C4 00085804 4E 80 00 20 */ blr + +.section .bss, "wa" # 0x803E6000 - 0x80408AC0 +.global gTRKMsgBufs +gTRKMsgBufs: + .skip 0x19B0 diff --git a/asm/TRK_MINNOW_DOLPHIN/msghndlr.s b/asm/TRK_MINNOW_DOLPHIN/msghndlr.s new file mode 100644 index 0000000..69b3e1d --- /dev/null +++ b/asm/TRK_MINNOW_DOLPHIN/msghndlr.s @@ -0,0 +1,1434 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80005600 - 0x8036FBA0 +.global TRKMessageIntoReply +TRKMessageIntoReply: +/* 80088B2C 00085A6C 7C 08 02 A6 */ mflr r0 +/* 80088B30 00085A70 90 01 00 04 */ stw r0, 4(r1) +/* 80088B34 00085A74 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 80088B38 00085A78 93 E1 00 14 */ stw r31, 0x14(r1) +/* 80088B3C 00085A7C 3B E5 00 00 */ addi r31, r5, 0 +/* 80088B40 00085A80 93 C1 00 10 */ stw r30, 0x10(r1) +/* 80088B44 00085A84 3B C4 00 00 */ addi r30, r4, 0 +/* 80088B48 00085A88 38 80 00 01 */ li r4, 1 +/* 80088B4C 00085A8C 93 A1 00 0C */ stw r29, 0xc(r1) +/* 80088B50 00085A90 3B A3 00 00 */ addi r29, r3, 0 +/* 80088B54 00085A94 4B FF F6 DD */ bl TRKResetBuffer +/* 80088B58 00085A98 80 7D 00 0C */ lwz r3, 0xc(r29) +/* 80088B5C 00085A9C 28 03 08 80 */ cmplwi r3, 0x880 +/* 80088B60 00085AA0 40 80 00 20 */ bge lbl_80088B80 +/* 80088B64 00085AA4 38 03 00 01 */ addi r0, r3, 1 +/* 80088B68 00085AA8 7C 7D 1A 14 */ add r3, r29, r3 +/* 80088B6C 00085AAC 90 1D 00 0C */ stw r0, 0xc(r29) +/* 80088B70 00085AB0 9B C3 00 10 */ stb r30, 0x10(r3) +/* 80088B74 00085AB4 80 7D 00 08 */ lwz r3, 8(r29) +/* 80088B78 00085AB8 38 03 00 01 */ addi r0, r3, 1 +/* 80088B7C 00085ABC 90 1D 00 08 */ stw r0, 8(r29) +lbl_80088B80: +/* 80088B80 00085AC0 80 7D 00 0C */ lwz r3, 0xc(r29) +/* 80088B84 00085AC4 28 03 08 80 */ cmplwi r3, 0x880 +/* 80088B88 00085AC8 40 80 00 20 */ bge lbl_80088BA8 +/* 80088B8C 00085ACC 38 03 00 01 */ addi r0, r3, 1 +/* 80088B90 00085AD0 7C 7D 1A 14 */ add r3, r29, r3 +/* 80088B94 00085AD4 90 1D 00 0C */ stw r0, 0xc(r29) +/* 80088B98 00085AD8 9B E3 00 10 */ stb r31, 0x10(r3) +/* 80088B9C 00085ADC 80 7D 00 08 */ lwz r3, 8(r29) +/* 80088BA0 00085AE0 38 03 00 01 */ addi r0, r3, 1 +/* 80088BA4 00085AE4 90 1D 00 08 */ stw r0, 8(r29) +lbl_80088BA8: +/* 80088BA8 00085AE8 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 80088BAC 00085AEC 83 C1 00 10 */ lwz r30, 0x10(r1) +/* 80088BB0 00085AF0 83 A1 00 0C */ lwz r29, 0xc(r1) +/* 80088BB4 00085AF4 38 21 00 18 */ addi r1, r1, 0x18 +/* 80088BB8 00085AF8 80 01 00 04 */ lwz r0, 4(r1) +/* 80088BBC 00085AFC 7C 08 03 A6 */ mtlr r0 +/* 80088BC0 00085B00 4E 80 00 20 */ blr + +.global TRKSendACK +TRKSendACK: +/* 80088BC4 00085B04 7C 08 02 A6 */ mflr r0 +/* 80088BC8 00085B08 90 01 00 04 */ stw r0, 4(r1) +/* 80088BCC 00085B0C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80088BD0 00085B10 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80088BD4 00085B14 3B E0 00 03 */ li r31, 3 +/* 80088BD8 00085B18 93 C1 00 08 */ stw r30, 8(r1) +/* 80088BDC 00085B1C 3B C3 00 00 */ addi r30, r3, 0 +lbl_80088BE0: +/* 80088BE0 00085B20 7F C3 F3 78 */ mr r3, r30 +/* 80088BE4 00085B24 4B FF F4 75 */ bl TRKMessageSend +/* 80088BE8 00085B28 2C 03 00 00 */ cmpwi r3, 0 +/* 80088BEC 00085B2C 3B FF FF FF */ addi r31, r31, -1 +/* 80088BF0 00085B30 41 82 00 0C */ beq lbl_80088BFC +/* 80088BF4 00085B34 2C 1F 00 00 */ cmpwi r31, 0 +/* 80088BF8 00085B38 41 81 FF E8 */ bgt lbl_80088BE0 +lbl_80088BFC: +/* 80088BFC 00085B3C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80088C00 00085B40 83 C1 00 08 */ lwz r30, 8(r1) +/* 80088C04 00085B44 38 21 00 10 */ addi r1, r1, 0x10 +/* 80088C08 00085B48 80 01 00 04 */ lwz r0, 4(r1) +/* 80088C0C 00085B4C 7C 08 03 A6 */ mtlr r0 +/* 80088C10 00085B50 4E 80 00 20 */ blr + +.global TRKStandardACK +TRKStandardACK: +/* 80088C14 00085B54 7C 08 02 A6 */ mflr r0 +/* 80088C18 00085B58 90 01 00 04 */ stw r0, 4(r1) +/* 80088C1C 00085B5C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80088C20 00085B60 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80088C24 00085B64 7C 7F 1B 78 */ mr r31, r3 +/* 80088C28 00085B68 4B FF FF 05 */ bl TRKMessageIntoReply +/* 80088C2C 00085B6C 7F E3 FB 78 */ mr r3, r31 +/* 80088C30 00085B70 4B FF FF 95 */ bl TRKSendACK +/* 80088C34 00085B74 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80088C38 00085B78 38 21 00 10 */ addi r1, r1, 0x10 +/* 80088C3C 00085B7C 80 01 00 04 */ lwz r0, 4(r1) +/* 80088C40 00085B80 7C 08 03 A6 */ mtlr r0 +/* 80088C44 00085B84 4E 80 00 20 */ blr + +.global TRKDoUnsupported +TRKDoUnsupported: +/* 80088C48 00085B88 7C 08 02 A6 */ mflr r0 +/* 80088C4C 00085B8C 38 80 00 80 */ li r4, 0x80 +/* 80088C50 00085B90 90 01 00 04 */ stw r0, 4(r1) +/* 80088C54 00085B94 38 A0 00 10 */ li r5, 0x10 +/* 80088C58 00085B98 94 21 FF F8 */ stwu r1, -8(r1) +/* 80088C5C 00085B9C 4B FF FF B9 */ bl TRKStandardACK +/* 80088C60 00085BA0 38 21 00 08 */ addi r1, r1, 8 +/* 80088C64 00085BA4 80 01 00 04 */ lwz r0, 4(r1) +/* 80088C68 00085BA8 7C 08 03 A6 */ mtlr r0 +/* 80088C6C 00085BAC 4E 80 00 20 */ blr + +.global TRKDoConnect +TRKDoConnect: +/* 80088C70 00085BB0 7C 08 02 A6 */ mflr r0 +/* 80088C74 00085BB4 38 80 00 80 */ li r4, 0x80 +/* 80088C78 00085BB8 90 01 00 04 */ stw r0, 4(r1) +/* 80088C7C 00085BBC 38 A0 00 00 */ li r5, 0 +/* 80088C80 00085BC0 94 21 FF F8 */ stwu r1, -8(r1) +/* 80088C84 00085BC4 4B FF FF 91 */ bl TRKStandardACK +/* 80088C88 00085BC8 38 21 00 08 */ addi r1, r1, 8 +/* 80088C8C 00085BCC 80 01 00 04 */ lwz r0, 4(r1) +/* 80088C90 00085BD0 7C 08 03 A6 */ mtlr r0 +/* 80088C94 00085BD4 4E 80 00 20 */ blr + +.global TRKDoDisconnect +TRKDoDisconnect: +/* 80088C98 00085BD8 7C 08 02 A6 */ mflr r0 +/* 80088C9C 00085BDC 38 80 00 80 */ li r4, 0x80 +/* 80088CA0 00085BE0 90 01 00 04 */ stw r0, 4(r1) +/* 80088CA4 00085BE4 38 A0 00 00 */ li r5, 0 +/* 80088CA8 00085BE8 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 80088CAC 00085BEC 93 E1 00 14 */ stw r31, 0x14(r1) +/* 80088CB0 00085BF0 4B FF FF 65 */ bl TRKStandardACK +/* 80088CB4 00085BF4 7C 7F 1B 79 */ or. r31, r3, r3 +/* 80088CB8 00085BF8 40 82 00 18 */ bne lbl_80088CD0 +/* 80088CBC 00085BFC 38 61 00 08 */ addi r3, r1, 8 +/* 80088CC0 00085C00 38 80 00 01 */ li r4, 1 +/* 80088CC4 00085C04 4B FF F1 C5 */ bl TRKConstructEvent +/* 80088CC8 00085C08 38 61 00 08 */ addi r3, r1, 8 +/* 80088CCC 00085C0C 4B FF F0 DD */ bl TRKPostEvent +lbl_80088CD0: +/* 80088CD0 00085C10 7F E3 FB 78 */ mr r3, r31 +/* 80088CD4 00085C14 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 80088CD8 00085C18 38 21 00 18 */ addi r1, r1, 0x18 +/* 80088CDC 00085C1C 80 01 00 04 */ lwz r0, 4(r1) +/* 80088CE0 00085C20 7C 08 03 A6 */ mtlr r0 +/* 80088CE4 00085C24 4E 80 00 20 */ blr + +.global TRKDoReset +TRKDoReset: +/* 80088CE8 00085C28 7C 08 02 A6 */ mflr r0 +/* 80088CEC 00085C2C 38 80 00 80 */ li r4, 0x80 +/* 80088CF0 00085C30 90 01 00 04 */ stw r0, 4(r1) +/* 80088CF4 00085C34 38 A0 00 00 */ li r5, 0 +/* 80088CF8 00085C38 94 21 FF F8 */ stwu r1, -8(r1) +/* 80088CFC 00085C3C 4B FF FF 19 */ bl TRKStandardACK +/* 80088D00 00085C40 4B F7 C4 CD */ bl __TRK_reset +/* 80088D04 00085C44 38 60 00 00 */ li r3, 0 +/* 80088D08 00085C48 38 21 00 08 */ addi r1, r1, 8 +/* 80088D0C 00085C4C 80 01 00 04 */ lwz r0, 4(r1) +/* 80088D10 00085C50 7C 08 03 A6 */ mtlr r0 +/* 80088D14 00085C54 4E 80 00 20 */ blr + +.global TRKDoVersions +TRKDoVersions: +/* 80088D18 00085C58 7C 08 02 A6 */ mflr r0 +/* 80088D1C 00085C5C 90 01 00 04 */ stw r0, 4(r1) +/* 80088D20 00085C60 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80088D24 00085C64 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80088D28 00085C68 7C 7F 1B 78 */ mr r31, r3 +/* 80088D2C 00085C6C 80 03 00 08 */ lwz r0, 8(r3) +/* 80088D30 00085C70 28 00 00 01 */ cmplwi r0, 1 +/* 80088D34 00085C74 41 82 00 18 */ beq lbl_80088D4C +/* 80088D38 00085C78 38 7F 00 00 */ addi r3, r31, 0 +/* 80088D3C 00085C7C 38 80 00 80 */ li r4, 0x80 +/* 80088D40 00085C80 38 A0 00 02 */ li r5, 2 +/* 80088D44 00085C84 4B FF FE D1 */ bl TRKStandardACK +/* 80088D48 00085C88 48 00 01 40 */ b lbl_80088E88 +lbl_80088D4C: +/* 80088D4C 00085C8C 38 7F 00 00 */ addi r3, r31, 0 +/* 80088D50 00085C90 38 80 00 80 */ li r4, 0x80 +/* 80088D54 00085C94 38 A0 00 00 */ li r5, 0 +/* 80088D58 00085C98 4B FF FD D5 */ bl TRKMessageIntoReply +/* 80088D5C 00085C9C 38 61 00 08 */ addi r3, r1, 8 +/* 80088D60 00085CA0 48 00 1F 45 */ bl TRKTargetVersions +/* 80088D64 00085CA4 2C 03 00 00 */ cmpwi r3, 0 +/* 80088D68 00085CA8 40 82 00 3C */ bne lbl_80088DA4 +/* 80088D6C 00085CAC 80 7F 00 0C */ lwz r3, 0xc(r31) +/* 80088D70 00085CB0 88 A1 00 08 */ lbz r5, 8(r1) +/* 80088D74 00085CB4 28 03 08 80 */ cmplwi r3, 0x880 +/* 80088D78 00085CB8 41 80 00 0C */ blt lbl_80088D84 +/* 80088D7C 00085CBC 38 60 03 01 */ li r3, 0x301 +/* 80088D80 00085CC0 48 00 00 24 */ b lbl_80088DA4 +lbl_80088D84: +/* 80088D84 00085CC4 38 03 00 01 */ addi r0, r3, 1 +/* 80088D88 00085CC8 7C 9F 1A 14 */ add r4, r31, r3 +/* 80088D8C 00085CCC 90 1F 00 0C */ stw r0, 0xc(r31) +/* 80088D90 00085CD0 38 60 00 00 */ li r3, 0 +/* 80088D94 00085CD4 98 A4 00 10 */ stb r5, 0x10(r4) +/* 80088D98 00085CD8 80 9F 00 08 */ lwz r4, 8(r31) +/* 80088D9C 00085CDC 38 04 00 01 */ addi r0, r4, 1 +/* 80088DA0 00085CE0 90 1F 00 08 */ stw r0, 8(r31) +lbl_80088DA4: +/* 80088DA4 00085CE4 2C 03 00 00 */ cmpwi r3, 0 +/* 80088DA8 00085CE8 40 82 00 3C */ bne lbl_80088DE4 +/* 80088DAC 00085CEC 80 7F 00 0C */ lwz r3, 0xc(r31) +/* 80088DB0 00085CF0 88 A1 00 09 */ lbz r5, 9(r1) +/* 80088DB4 00085CF4 28 03 08 80 */ cmplwi r3, 0x880 +/* 80088DB8 00085CF8 41 80 00 0C */ blt lbl_80088DC4 +/* 80088DBC 00085CFC 38 60 03 01 */ li r3, 0x301 +/* 80088DC0 00085D00 48 00 00 24 */ b lbl_80088DE4 +lbl_80088DC4: +/* 80088DC4 00085D04 38 03 00 01 */ addi r0, r3, 1 +/* 80088DC8 00085D08 7C 9F 1A 14 */ add r4, r31, r3 +/* 80088DCC 00085D0C 90 1F 00 0C */ stw r0, 0xc(r31) +/* 80088DD0 00085D10 38 60 00 00 */ li r3, 0 +/* 80088DD4 00085D14 98 A4 00 10 */ stb r5, 0x10(r4) +/* 80088DD8 00085D18 80 9F 00 08 */ lwz r4, 8(r31) +/* 80088DDC 00085D1C 38 04 00 01 */ addi r0, r4, 1 +/* 80088DE0 00085D20 90 1F 00 08 */ stw r0, 8(r31) +lbl_80088DE4: +/* 80088DE4 00085D24 2C 03 00 00 */ cmpwi r3, 0 +/* 80088DE8 00085D28 40 82 00 3C */ bne lbl_80088E24 +/* 80088DEC 00085D2C 80 7F 00 0C */ lwz r3, 0xc(r31) +/* 80088DF0 00085D30 88 A1 00 0A */ lbz r5, 0xa(r1) +/* 80088DF4 00085D34 28 03 08 80 */ cmplwi r3, 0x880 +/* 80088DF8 00085D38 41 80 00 0C */ blt lbl_80088E04 +/* 80088DFC 00085D3C 38 60 03 01 */ li r3, 0x301 +/* 80088E00 00085D40 48 00 00 24 */ b lbl_80088E24 +lbl_80088E04: +/* 80088E04 00085D44 38 03 00 01 */ addi r0, r3, 1 +/* 80088E08 00085D48 7C 9F 1A 14 */ add r4, r31, r3 +/* 80088E0C 00085D4C 90 1F 00 0C */ stw r0, 0xc(r31) +/* 80088E10 00085D50 38 60 00 00 */ li r3, 0 +/* 80088E14 00085D54 98 A4 00 10 */ stb r5, 0x10(r4) +/* 80088E18 00085D58 80 9F 00 08 */ lwz r4, 8(r31) +/* 80088E1C 00085D5C 38 04 00 01 */ addi r0, r4, 1 +/* 80088E20 00085D60 90 1F 00 08 */ stw r0, 8(r31) +lbl_80088E24: +/* 80088E24 00085D64 2C 03 00 00 */ cmpwi r3, 0 +/* 80088E28 00085D68 40 82 00 3C */ bne lbl_80088E64 +/* 80088E2C 00085D6C 80 7F 00 0C */ lwz r3, 0xc(r31) +/* 80088E30 00085D70 88 A1 00 0B */ lbz r5, 0xb(r1) +/* 80088E34 00085D74 28 03 08 80 */ cmplwi r3, 0x880 +/* 80088E38 00085D78 41 80 00 0C */ blt lbl_80088E44 +/* 80088E3C 00085D7C 38 60 03 01 */ li r3, 0x301 +/* 80088E40 00085D80 48 00 00 24 */ b lbl_80088E64 +lbl_80088E44: +/* 80088E44 00085D84 38 03 00 01 */ addi r0, r3, 1 +/* 80088E48 00085D88 7C 9F 1A 14 */ add r4, r31, r3 +/* 80088E4C 00085D8C 90 1F 00 0C */ stw r0, 0xc(r31) +/* 80088E50 00085D90 38 60 00 00 */ li r3, 0 +/* 80088E54 00085D94 98 A4 00 10 */ stb r5, 0x10(r4) +/* 80088E58 00085D98 80 9F 00 08 */ lwz r4, 8(r31) +/* 80088E5C 00085D9C 38 04 00 01 */ addi r0, r4, 1 +/* 80088E60 00085DA0 90 1F 00 08 */ stw r0, 8(r31) +lbl_80088E64: +/* 80088E64 00085DA4 2C 03 00 00 */ cmpwi r3, 0 +/* 80088E68 00085DA8 41 82 00 18 */ beq lbl_80088E80 +/* 80088E6C 00085DAC 38 7F 00 00 */ addi r3, r31, 0 +/* 80088E70 00085DB0 38 80 00 80 */ li r4, 0x80 +/* 80088E74 00085DB4 38 A0 00 03 */ li r5, 3 +/* 80088E78 00085DB8 4B FF FD 9D */ bl TRKStandardACK +/* 80088E7C 00085DBC 48 00 00 0C */ b lbl_80088E88 +lbl_80088E80: +/* 80088E80 00085DC0 7F E3 FB 78 */ mr r3, r31 +/* 80088E84 00085DC4 4B FF FD 41 */ bl TRKSendACK +lbl_80088E88: +/* 80088E88 00085DC8 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80088E8C 00085DCC 38 21 00 10 */ addi r1, r1, 0x10 +/* 80088E90 00085DD0 80 01 00 04 */ lwz r0, 4(r1) +/* 80088E94 00085DD4 7C 08 03 A6 */ mtlr r0 +/* 80088E98 00085DD8 4E 80 00 20 */ blr + +.global TRKDoSupportMask +TRKDoSupportMask: +/* 80088E9C 00085DDC 7C 08 02 A6 */ mflr r0 +/* 80088EA0 00085DE0 90 01 00 04 */ stw r0, 4(r1) +/* 80088EA4 00085DE4 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80088EA8 00085DE8 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 80088EAC 00085DEC 7C 7F 1B 78 */ mr r31, r3 +/* 80088EB0 00085DF0 80 03 00 08 */ lwz r0, 8(r3) +/* 80088EB4 00085DF4 28 00 00 01 */ cmplwi r0, 1 +/* 80088EB8 00085DF8 41 82 00 18 */ beq lbl_80088ED0 +/* 80088EBC 00085DFC 38 7F 00 00 */ addi r3, r31, 0 +/* 80088EC0 00085E00 38 80 00 80 */ li r4, 0x80 +/* 80088EC4 00085E04 38 A0 00 02 */ li r5, 2 +/* 80088EC8 00085E08 4B FF FD 4D */ bl TRKStandardACK +/* 80088ECC 00085E0C 48 00 00 98 */ b lbl_80088F64 +lbl_80088ED0: +/* 80088ED0 00085E10 38 7F 00 00 */ addi r3, r31, 0 +/* 80088ED4 00085E14 38 80 00 80 */ li r4, 0x80 +/* 80088ED8 00085E18 38 A0 00 00 */ li r5, 0 +/* 80088EDC 00085E1C 4B FF FC 51 */ bl TRKMessageIntoReply +/* 80088EE0 00085E20 38 61 00 08 */ addi r3, r1, 8 +/* 80088EE4 00085E24 48 00 1D E9 */ bl TRKTargetSupportMask +/* 80088EE8 00085E28 2C 03 00 00 */ cmpwi r3, 0 +/* 80088EEC 00085E2C 40 82 00 14 */ bne lbl_80088F00 +/* 80088EF0 00085E30 38 7F 00 00 */ addi r3, r31, 0 +/* 80088EF4 00085E34 38 81 00 08 */ addi r4, r1, 8 +/* 80088EF8 00085E38 38 A0 00 20 */ li r5, 0x20 +/* 80088EFC 00085E3C 4B FF F3 A5 */ bl TRKAppendBuffer +lbl_80088F00: +/* 80088F00 00085E40 2C 03 00 00 */ cmpwi r3, 0 +/* 80088F04 00085E44 40 82 00 3C */ bne lbl_80088F40 +/* 80088F08 00085E48 80 7F 00 0C */ lwz r3, 0xc(r31) +/* 80088F0C 00085E4C 28 03 08 80 */ cmplwi r3, 0x880 +/* 80088F10 00085E50 41 80 00 0C */ blt lbl_80088F1C +/* 80088F14 00085E54 38 60 03 01 */ li r3, 0x301 +/* 80088F18 00085E58 48 00 00 28 */ b lbl_80088F40 +lbl_80088F1C: +/* 80088F1C 00085E5C 38 03 00 01 */ addi r0, r3, 1 +/* 80088F20 00085E60 7C 9F 1A 14 */ add r4, r31, r3 +/* 80088F24 00085E64 90 1F 00 0C */ stw r0, 0xc(r31) +/* 80088F28 00085E68 38 00 00 02 */ li r0, 2 +/* 80088F2C 00085E6C 38 60 00 00 */ li r3, 0 +/* 80088F30 00085E70 98 04 00 10 */ stb r0, 0x10(r4) +/* 80088F34 00085E74 80 9F 00 08 */ lwz r4, 8(r31) +/* 80088F38 00085E78 38 04 00 01 */ addi r0, r4, 1 +/* 80088F3C 00085E7C 90 1F 00 08 */ stw r0, 8(r31) +lbl_80088F40: +/* 80088F40 00085E80 2C 03 00 00 */ cmpwi r3, 0 +/* 80088F44 00085E84 41 82 00 18 */ beq lbl_80088F5C +/* 80088F48 00085E88 38 7F 00 00 */ addi r3, r31, 0 +/* 80088F4C 00085E8C 38 80 00 80 */ li r4, 0x80 +/* 80088F50 00085E90 38 A0 00 03 */ li r5, 3 +/* 80088F54 00085E94 4B FF FC C1 */ bl TRKStandardACK +/* 80088F58 00085E98 48 00 00 0C */ b lbl_80088F64 +lbl_80088F5C: +/* 80088F5C 00085E9C 7F E3 FB 78 */ mr r3, r31 +/* 80088F60 00085EA0 4B FF FC 65 */ bl TRKSendACK +lbl_80088F64: +/* 80088F64 00085EA4 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 80088F68 00085EA8 38 21 00 30 */ addi r1, r1, 0x30 +/* 80088F6C 00085EAC 80 01 00 04 */ lwz r0, 4(r1) +/* 80088F70 00085EB0 7C 08 03 A6 */ mtlr r0 +/* 80088F74 00085EB4 4E 80 00 20 */ blr + +.global TRKDoCPUType +TRKDoCPUType: +/* 80088F78 00085EB8 7C 08 02 A6 */ mflr r0 +/* 80088F7C 00085EBC 90 01 00 04 */ stw r0, 4(r1) +/* 80088F80 00085EC0 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 80088F84 00085EC4 93 E1 00 14 */ stw r31, 0x14(r1) +/* 80088F88 00085EC8 7C 7F 1B 78 */ mr r31, r3 +/* 80088F8C 00085ECC 80 03 00 08 */ lwz r0, 8(r3) +/* 80088F90 00085ED0 28 00 00 01 */ cmplwi r0, 1 +/* 80088F94 00085ED4 41 82 00 18 */ beq lbl_80088FAC +/* 80088F98 00085ED8 38 7F 00 00 */ addi r3, r31, 0 +/* 80088F9C 00085EDC 38 80 00 80 */ li r4, 0x80 +/* 80088FA0 00085EE0 38 A0 00 02 */ li r5, 2 +/* 80088FA4 00085EE4 4B FF FC 71 */ bl TRKStandardACK +/* 80088FA8 00085EE8 48 00 02 00 */ b lbl_800891A8 +lbl_80088FAC: +/* 80088FAC 00085EEC 38 7F 00 00 */ addi r3, r31, 0 +/* 80088FB0 00085EF0 38 80 00 80 */ li r4, 0x80 +/* 80088FB4 00085EF4 38 A0 00 00 */ li r5, 0 +/* 80088FB8 00085EF8 4B FF FB 75 */ bl TRKMessageIntoReply +/* 80088FBC 00085EFC 38 61 00 08 */ addi r3, r1, 8 +/* 80088FC0 00085F00 48 00 1D B1 */ bl TRKTargetCPUType +/* 80088FC4 00085F04 2C 03 00 00 */ cmpwi r3, 0 +/* 80088FC8 00085F08 40 82 00 3C */ bne lbl_80089004 +/* 80088FCC 00085F0C 80 7F 00 0C */ lwz r3, 0xc(r31) +/* 80088FD0 00085F10 88 A1 00 08 */ lbz r5, 8(r1) +/* 80088FD4 00085F14 28 03 08 80 */ cmplwi r3, 0x880 +/* 80088FD8 00085F18 41 80 00 0C */ blt lbl_80088FE4 +/* 80088FDC 00085F1C 38 60 03 01 */ li r3, 0x301 +/* 80088FE0 00085F20 48 00 00 24 */ b lbl_80089004 +lbl_80088FE4: +/* 80088FE4 00085F24 38 03 00 01 */ addi r0, r3, 1 +/* 80088FE8 00085F28 7C 9F 1A 14 */ add r4, r31, r3 +/* 80088FEC 00085F2C 90 1F 00 0C */ stw r0, 0xc(r31) +/* 80088FF0 00085F30 38 60 00 00 */ li r3, 0 +/* 80088FF4 00085F34 98 A4 00 10 */ stb r5, 0x10(r4) +/* 80088FF8 00085F38 80 9F 00 08 */ lwz r4, 8(r31) +/* 80088FFC 00085F3C 38 04 00 01 */ addi r0, r4, 1 +/* 80089000 00085F40 90 1F 00 08 */ stw r0, 8(r31) +lbl_80089004: +/* 80089004 00085F44 2C 03 00 00 */ cmpwi r3, 0 +/* 80089008 00085F48 40 82 00 3C */ bne lbl_80089044 +/* 8008900C 00085F4C 80 7F 00 0C */ lwz r3, 0xc(r31) +/* 80089010 00085F50 88 A1 00 09 */ lbz r5, 9(r1) +/* 80089014 00085F54 28 03 08 80 */ cmplwi r3, 0x880 +/* 80089018 00085F58 41 80 00 0C */ blt lbl_80089024 +/* 8008901C 00085F5C 38 60 03 01 */ li r3, 0x301 +/* 80089020 00085F60 48 00 00 24 */ b lbl_80089044 +lbl_80089024: +/* 80089024 00085F64 38 03 00 01 */ addi r0, r3, 1 +/* 80089028 00085F68 7C 9F 1A 14 */ add r4, r31, r3 +/* 8008902C 00085F6C 90 1F 00 0C */ stw r0, 0xc(r31) +/* 80089030 00085F70 38 60 00 00 */ li r3, 0 +/* 80089034 00085F74 98 A4 00 10 */ stb r5, 0x10(r4) +/* 80089038 00085F78 80 9F 00 08 */ lwz r4, 8(r31) +/* 8008903C 00085F7C 38 04 00 01 */ addi r0, r4, 1 +/* 80089040 00085F80 90 1F 00 08 */ stw r0, 8(r31) +lbl_80089044: +/* 80089044 00085F84 2C 03 00 00 */ cmpwi r3, 0 +/* 80089048 00085F88 40 82 00 3C */ bne lbl_80089084 +/* 8008904C 00085F8C 80 7F 00 0C */ lwz r3, 0xc(r31) +/* 80089050 00085F90 88 A1 00 0A */ lbz r5, 0xa(r1) +/* 80089054 00085F94 28 03 08 80 */ cmplwi r3, 0x880 +/* 80089058 00085F98 41 80 00 0C */ blt lbl_80089064 +/* 8008905C 00085F9C 38 60 03 01 */ li r3, 0x301 +/* 80089060 00085FA0 48 00 00 24 */ b lbl_80089084 +lbl_80089064: +/* 80089064 00085FA4 38 03 00 01 */ addi r0, r3, 1 +/* 80089068 00085FA8 7C 9F 1A 14 */ add r4, r31, r3 +/* 8008906C 00085FAC 90 1F 00 0C */ stw r0, 0xc(r31) +/* 80089070 00085FB0 38 60 00 00 */ li r3, 0 +/* 80089074 00085FB4 98 A4 00 10 */ stb r5, 0x10(r4) +/* 80089078 00085FB8 80 9F 00 08 */ lwz r4, 8(r31) +/* 8008907C 00085FBC 38 04 00 01 */ addi r0, r4, 1 +/* 80089080 00085FC0 90 1F 00 08 */ stw r0, 8(r31) +lbl_80089084: +/* 80089084 00085FC4 2C 03 00 00 */ cmpwi r3, 0 +/* 80089088 00085FC8 40 82 00 3C */ bne lbl_800890C4 +/* 8008908C 00085FCC 80 7F 00 0C */ lwz r3, 0xc(r31) +/* 80089090 00085FD0 88 A1 00 0B */ lbz r5, 0xb(r1) +/* 80089094 00085FD4 28 03 08 80 */ cmplwi r3, 0x880 +/* 80089098 00085FD8 41 80 00 0C */ blt lbl_800890A4 +/* 8008909C 00085FDC 38 60 03 01 */ li r3, 0x301 +/* 800890A0 00085FE0 48 00 00 24 */ b lbl_800890C4 +lbl_800890A4: +/* 800890A4 00085FE4 38 03 00 01 */ addi r0, r3, 1 +/* 800890A8 00085FE8 7C 9F 1A 14 */ add r4, r31, r3 +/* 800890AC 00085FEC 90 1F 00 0C */ stw r0, 0xc(r31) +/* 800890B0 00085FF0 38 60 00 00 */ li r3, 0 +/* 800890B4 00085FF4 98 A4 00 10 */ stb r5, 0x10(r4) +/* 800890B8 00085FF8 80 9F 00 08 */ lwz r4, 8(r31) +/* 800890BC 00085FFC 38 04 00 01 */ addi r0, r4, 1 +/* 800890C0 00086000 90 1F 00 08 */ stw r0, 8(r31) +lbl_800890C4: +/* 800890C4 00086004 2C 03 00 00 */ cmpwi r3, 0 +/* 800890C8 00086008 40 82 00 3C */ bne lbl_80089104 +/* 800890CC 0008600C 80 7F 00 0C */ lwz r3, 0xc(r31) +/* 800890D0 00086010 88 A1 00 0C */ lbz r5, 0xc(r1) +/* 800890D4 00086014 28 03 08 80 */ cmplwi r3, 0x880 +/* 800890D8 00086018 41 80 00 0C */ blt lbl_800890E4 +/* 800890DC 0008601C 38 60 03 01 */ li r3, 0x301 +/* 800890E0 00086020 48 00 00 24 */ b lbl_80089104 +lbl_800890E4: +/* 800890E4 00086024 38 03 00 01 */ addi r0, r3, 1 +/* 800890E8 00086028 7C 9F 1A 14 */ add r4, r31, r3 +/* 800890EC 0008602C 90 1F 00 0C */ stw r0, 0xc(r31) +/* 800890F0 00086030 38 60 00 00 */ li r3, 0 +/* 800890F4 00086034 98 A4 00 10 */ stb r5, 0x10(r4) +/* 800890F8 00086038 80 9F 00 08 */ lwz r4, 8(r31) +/* 800890FC 0008603C 38 04 00 01 */ addi r0, r4, 1 +/* 80089100 00086040 90 1F 00 08 */ stw r0, 8(r31) +lbl_80089104: +/* 80089104 00086044 2C 03 00 00 */ cmpwi r3, 0 +/* 80089108 00086048 40 82 00 3C */ bne lbl_80089144 +/* 8008910C 0008604C 80 7F 00 0C */ lwz r3, 0xc(r31) +/* 80089110 00086050 88 A1 00 0D */ lbz r5, 0xd(r1) +/* 80089114 00086054 28 03 08 80 */ cmplwi r3, 0x880 +/* 80089118 00086058 41 80 00 0C */ blt lbl_80089124 +/* 8008911C 0008605C 38 60 03 01 */ li r3, 0x301 +/* 80089120 00086060 48 00 00 24 */ b lbl_80089144 +lbl_80089124: +/* 80089124 00086064 38 03 00 01 */ addi r0, r3, 1 +/* 80089128 00086068 7C 9F 1A 14 */ add r4, r31, r3 +/* 8008912C 0008606C 90 1F 00 0C */ stw r0, 0xc(r31) +/* 80089130 00086070 38 60 00 00 */ li r3, 0 +/* 80089134 00086074 98 A4 00 10 */ stb r5, 0x10(r4) +/* 80089138 00086078 80 9F 00 08 */ lwz r4, 8(r31) +/* 8008913C 0008607C 38 04 00 01 */ addi r0, r4, 1 +/* 80089140 00086080 90 1F 00 08 */ stw r0, 8(r31) +lbl_80089144: +/* 80089144 00086084 2C 03 00 00 */ cmpwi r3, 0 +/* 80089148 00086088 40 82 00 3C */ bne lbl_80089184 +/* 8008914C 0008608C 80 7F 00 0C */ lwz r3, 0xc(r31) +/* 80089150 00086090 88 A1 00 0E */ lbz r5, 0xe(r1) +/* 80089154 00086094 28 03 08 80 */ cmplwi r3, 0x880 +/* 80089158 00086098 41 80 00 0C */ blt lbl_80089164 +/* 8008915C 0008609C 38 60 03 01 */ li r3, 0x301 +/* 80089160 000860A0 48 00 00 24 */ b lbl_80089184 +lbl_80089164: +/* 80089164 000860A4 38 03 00 01 */ addi r0, r3, 1 +/* 80089168 000860A8 7C 9F 1A 14 */ add r4, r31, r3 +/* 8008916C 000860AC 90 1F 00 0C */ stw r0, 0xc(r31) +/* 80089170 000860B0 38 60 00 00 */ li r3, 0 +/* 80089174 000860B4 98 A4 00 10 */ stb r5, 0x10(r4) +/* 80089178 000860B8 80 9F 00 08 */ lwz r4, 8(r31) +/* 8008917C 000860BC 38 04 00 01 */ addi r0, r4, 1 +/* 80089180 000860C0 90 1F 00 08 */ stw r0, 8(r31) +lbl_80089184: +/* 80089184 000860C4 2C 03 00 00 */ cmpwi r3, 0 +/* 80089188 000860C8 41 82 00 18 */ beq lbl_800891A0 +/* 8008918C 000860CC 38 7F 00 00 */ addi r3, r31, 0 +/* 80089190 000860D0 38 80 00 80 */ li r4, 0x80 +/* 80089194 000860D4 38 A0 00 03 */ li r5, 3 +/* 80089198 000860D8 4B FF FA 7D */ bl TRKStandardACK +/* 8008919C 000860DC 48 00 00 0C */ b lbl_800891A8 +lbl_800891A0: +/* 800891A0 000860E0 7F E3 FB 78 */ mr r3, r31 +/* 800891A4 000860E4 4B FF FA 21 */ bl TRKSendACK +lbl_800891A8: +/* 800891A8 000860E8 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 800891AC 000860EC 38 21 00 18 */ addi r1, r1, 0x18 +/* 800891B0 000860F0 80 01 00 04 */ lwz r0, 4(r1) +/* 800891B4 000860F4 7C 08 03 A6 */ mtlr r0 +/* 800891B8 000860F8 4E 80 00 20 */ blr + +.global TRKDoReadMemory +TRKDoReadMemory: +/* 800891BC 000860FC 7C 08 02 A6 */ mflr r0 +/* 800891C0 00086100 90 01 00 04 */ stw r0, 4(r1) +/* 800891C4 00086104 94 21 F7 E0 */ stwu r1, -0x820(r1) +/* 800891C8 00086108 93 E1 08 1C */ stw r31, 0x81c(r1) +/* 800891CC 0008610C 7C 7F 1B 78 */ mr r31, r3 +/* 800891D0 00086110 93 C1 08 18 */ stw r30, 0x818(r1) +/* 800891D4 00086114 80 03 00 08 */ lwz r0, 8(r3) +/* 800891D8 00086118 28 00 00 08 */ cmplwi r0, 8 +/* 800891DC 0008611C 41 82 00 18 */ beq lbl_800891F4 +/* 800891E0 00086120 38 7F 00 00 */ addi r3, r31, 0 +/* 800891E4 00086124 38 80 00 80 */ li r4, 0x80 +/* 800891E8 00086128 38 A0 00 02 */ li r5, 2 +/* 800891EC 0008612C 4B FF FA 29 */ bl TRKStandardACK +/* 800891F0 00086130 48 00 01 9C */ b lbl_8008938C +lbl_800891F4: +/* 800891F4 00086134 38 7F 00 00 */ addi r3, r31, 0 +/* 800891F8 00086138 38 80 00 00 */ li r4, 0 +/* 800891FC 0008613C 4B FF F0 75 */ bl TRKSetBufferPosition +/* 80089200 00086140 38 7F 00 00 */ addi r3, r31, 0 +/* 80089204 00086144 38 81 00 08 */ addi r4, r1, 8 +/* 80089208 00086148 4B FF F3 ED */ bl TRKReadBuffer1_ui8 +/* 8008920C 0008614C 7C 7E 1B 79 */ or. r30, r3, r3 +/* 80089210 00086150 40 82 00 14 */ bne lbl_80089224 +/* 80089214 00086154 38 7F 00 00 */ addi r3, r31, 0 +/* 80089218 00086158 38 81 00 09 */ addi r4, r1, 9 +/* 8008921C 0008615C 4B FF F3 D9 */ bl TRKReadBuffer1_ui8 +/* 80089220 00086160 7C 7E 1B 78 */ mr r30, r3 +lbl_80089224: +/* 80089224 00086164 2C 1E 00 00 */ cmpwi r30, 0 +/* 80089228 00086168 40 82 00 14 */ bne lbl_8008923C +/* 8008922C 0008616C 38 7F 00 00 */ addi r3, r31, 0 +/* 80089230 00086170 38 81 00 0A */ addi r4, r1, 0xa +/* 80089234 00086174 4B FF F3 E5 */ bl TRKReadBuffer1_ui16 +/* 80089238 00086178 7C 7E 1B 78 */ mr r30, r3 +lbl_8008923C: +/* 8008923C 0008617C 2C 1E 00 00 */ cmpwi r30, 0 +/* 80089240 00086180 40 82 00 14 */ bne lbl_80089254 +/* 80089244 00086184 38 7F 00 00 */ addi r3, r31, 0 +/* 80089248 00086188 38 81 00 0C */ addi r4, r1, 0xc +/* 8008924C 0008618C 4B FF F4 4D */ bl TRKReadBuffer1_ui32 +/* 80089250 00086190 7C 7E 1B 78 */ mr r30, r3 +lbl_80089254: +/* 80089254 00086194 88 01 00 09 */ lbz r0, 9(r1) +/* 80089258 00086198 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 8008925C 0008619C 41 82 00 18 */ beq lbl_80089274 +/* 80089260 000861A0 38 7F 00 00 */ addi r3, r31, 0 +/* 80089264 000861A4 38 80 00 80 */ li r4, 0x80 +/* 80089268 000861A8 38 A0 00 12 */ li r5, 0x12 +/* 8008926C 000861AC 4B FF F9 A9 */ bl TRKStandardACK +/* 80089270 000861B0 48 00 01 1C */ b lbl_8008938C +lbl_80089274: +/* 80089274 000861B4 A0 01 00 0A */ lhz r0, 0xa(r1) +/* 80089278 000861B8 28 00 08 00 */ cmplwi r0, 0x800 +/* 8008927C 000861BC 40 81 00 18 */ ble lbl_80089294 +/* 80089280 000861C0 38 7F 00 00 */ addi r3, r31, 0 +/* 80089284 000861C4 38 80 00 80 */ li r4, 0x80 +/* 80089288 000861C8 38 A0 00 11 */ li r5, 0x11 +/* 8008928C 000861CC 4B FF F9 89 */ bl TRKStandardACK +/* 80089290 000861D0 48 00 00 FC */ b lbl_8008938C +lbl_80089294: +/* 80089294 000861D4 38 7F 00 00 */ addi r3, r31, 0 +/* 80089298 000861D8 38 80 00 80 */ li r4, 0x80 +/* 8008929C 000861DC 38 A0 00 00 */ li r5, 0 +/* 800892A0 000861E0 4B FF F8 8D */ bl TRKMessageIntoReply +/* 800892A4 000861E4 2C 1E 00 00 */ cmpwi r30, 0 +/* 800892A8 000861E8 40 82 00 74 */ bne lbl_8008931C +/* 800892AC 000861EC 88 01 00 09 */ lbz r0, 9(r1) +/* 800892B0 000861F0 A0 61 00 0A */ lhz r3, 0xa(r1) +/* 800892B4 000861F4 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c +/* 800892B8 000861F8 90 61 00 10 */ stw r3, 0x10(r1) +/* 800892BC 000861FC 41 82 00 0C */ beq lbl_800892C8 +/* 800892C0 00086200 38 C0 00 00 */ li r6, 0 +/* 800892C4 00086204 48 00 00 08 */ b lbl_800892CC +lbl_800892C8: +/* 800892C8 00086208 38 C0 00 01 */ li r6, 1 +lbl_800892CC: +/* 800892CC 0008620C 80 81 00 0C */ lwz r4, 0xc(r1) +/* 800892D0 00086210 38 61 00 14 */ addi r3, r1, 0x14 +/* 800892D4 00086214 38 A1 00 10 */ addi r5, r1, 0x10 +/* 800892D8 00086218 38 E0 00 01 */ li r7, 1 +/* 800892DC 0008621C 48 00 12 E1 */ bl TRKTargetAccessMemory +/* 800892E0 00086220 80 01 00 10 */ lwz r0, 0x10(r1) +/* 800892E4 00086224 7C 7E 1B 79 */ or. r30, r3, r3 +/* 800892E8 00086228 B0 01 00 0A */ sth r0, 0xa(r1) +/* 800892EC 0008622C 40 82 00 14 */ bne lbl_80089300 +/* 800892F0 00086230 7F E3 FB 78 */ mr r3, r31 +/* 800892F4 00086234 A0 81 00 0A */ lhz r4, 0xa(r1) +/* 800892F8 00086238 4B FF F0 D9 */ bl TRKAppendBuffer1_ui16 +/* 800892FC 0008623C 7C 7E 1B 78 */ mr r30, r3 +lbl_80089300: +/* 80089300 00086240 2C 1E 00 00 */ cmpwi r30, 0 +/* 80089304 00086244 40 82 00 18 */ bne lbl_8008931C +/* 80089308 00086248 80 A1 00 10 */ lwz r5, 0x10(r1) +/* 8008930C 0008624C 38 7F 00 00 */ addi r3, r31, 0 +/* 80089310 00086250 38 81 00 14 */ addi r4, r1, 0x14 +/* 80089314 00086254 4B FF EF 8D */ bl TRKAppendBuffer +/* 80089318 00086258 7C 7E 1B 78 */ mr r30, r3 +lbl_8008931C: +/* 8008931C 0008625C 2C 1E 00 00 */ cmpwi r30, 0 +/* 80089320 00086260 41 82 00 64 */ beq lbl_80089384 +/* 80089324 00086264 38 1E F9 00 */ addi r0, r30, -1792 +/* 80089328 00086268 28 00 00 06 */ cmplwi r0, 6 +/* 8008932C 0008626C 41 81 00 44 */ bgt lbl_80089370 +/* 80089330 00086270 3C 60 80 3B */ lis r3, "@175"@ha +/* 80089334 00086274 38 63 EF E0 */ addi r3, r3, "@175"@l +/* 80089338 00086278 54 00 10 3A */ slwi r0, r0, 2 +/* 8008933C 0008627C 7C 03 00 2E */ lwzx r0, r3, r0 +/* 80089340 00086280 7C 09 03 A6 */ mtctr r0 +/* 80089344 00086284 4E 80 04 20 */ bctr +lbl_80089348: +/* 80089348 00086288 38 A0 00 15 */ li r5, 0x15 +/* 8008934C 0008628C 48 00 00 28 */ b lbl_80089374 +lbl_80089350: +/* 80089350 00086290 38 A0 00 13 */ li r5, 0x13 +/* 80089354 00086294 48 00 00 20 */ b lbl_80089374 +lbl_80089358: +/* 80089358 00086298 38 A0 00 21 */ li r5, 0x21 +/* 8008935C 0008629C 48 00 00 18 */ b lbl_80089374 +lbl_80089360: +/* 80089360 000862A0 38 A0 00 22 */ li r5, 0x22 +/* 80089364 000862A4 48 00 00 10 */ b lbl_80089374 +lbl_80089368: +/* 80089368 000862A8 38 A0 00 20 */ li r5, 0x20 +/* 8008936C 000862AC 48 00 00 08 */ b lbl_80089374 +lbl_80089370: +/* 80089370 000862B0 38 A0 00 03 */ li r5, 3 +lbl_80089374: +/* 80089374 000862B4 38 7F 00 00 */ addi r3, r31, 0 +/* 80089378 000862B8 38 80 00 80 */ li r4, 0x80 +/* 8008937C 000862BC 4B FF F8 99 */ bl TRKStandardACK +/* 80089380 000862C0 48 00 00 0C */ b lbl_8008938C +lbl_80089384: +/* 80089384 000862C4 7F E3 FB 78 */ mr r3, r31 +/* 80089388 000862C8 4B FF F8 3D */ bl TRKSendACK +lbl_8008938C: +/* 8008938C 000862CC 83 E1 08 1C */ lwz r31, 0x81c(r1) +/* 80089390 000862D0 83 C1 08 18 */ lwz r30, 0x818(r1) +/* 80089394 000862D4 38 21 08 20 */ addi r1, r1, 0x820 +/* 80089398 000862D8 80 01 00 04 */ lwz r0, 4(r1) +/* 8008939C 000862DC 7C 08 03 A6 */ mtlr r0 +/* 800893A0 000862E0 4E 80 00 20 */ blr + +.global TRKDoWriteMemory +TRKDoWriteMemory: +/* 800893A4 000862E4 7C 08 02 A6 */ mflr r0 +/* 800893A8 000862E8 90 01 00 04 */ stw r0, 4(r1) +/* 800893AC 000862EC 94 21 F7 E0 */ stwu r1, -0x820(r1) +/* 800893B0 000862F0 93 E1 08 1C */ stw r31, 0x81c(r1) +/* 800893B4 000862F4 7C 7F 1B 78 */ mr r31, r3 +/* 800893B8 000862F8 93 C1 08 18 */ stw r30, 0x818(r1) +/* 800893BC 000862FC 80 03 00 08 */ lwz r0, 8(r3) +/* 800893C0 00086300 28 00 00 08 */ cmplwi r0, 8 +/* 800893C4 00086304 41 81 00 18 */ bgt lbl_800893DC +/* 800893C8 00086308 38 7F 00 00 */ addi r3, r31, 0 +/* 800893CC 0008630C 38 80 00 80 */ li r4, 0x80 +/* 800893D0 00086310 38 A0 00 02 */ li r5, 2 +/* 800893D4 00086314 4B FF F8 41 */ bl TRKStandardACK +/* 800893D8 00086318 48 00 01 B0 */ b lbl_80089588 +lbl_800893DC: +/* 800893DC 0008631C 38 7F 00 00 */ addi r3, r31, 0 +/* 800893E0 00086320 38 80 00 00 */ li r4, 0 +/* 800893E4 00086324 4B FF EE 8D */ bl TRKSetBufferPosition +/* 800893E8 00086328 38 7F 00 00 */ addi r3, r31, 0 +/* 800893EC 0008632C 38 81 00 08 */ addi r4, r1, 8 +/* 800893F0 00086330 4B FF F2 05 */ bl TRKReadBuffer1_ui8 +/* 800893F4 00086334 7C 7E 1B 79 */ or. r30, r3, r3 +/* 800893F8 00086338 40 82 00 14 */ bne lbl_8008940C +/* 800893FC 0008633C 38 7F 00 00 */ addi r3, r31, 0 +/* 80089400 00086340 38 81 00 09 */ addi r4, r1, 9 +/* 80089404 00086344 4B FF F1 F1 */ bl TRKReadBuffer1_ui8 +/* 80089408 00086348 7C 7E 1B 78 */ mr r30, r3 +lbl_8008940C: +/* 8008940C 0008634C 2C 1E 00 00 */ cmpwi r30, 0 +/* 80089410 00086350 40 82 00 14 */ bne lbl_80089424 +/* 80089414 00086354 38 7F 00 00 */ addi r3, r31, 0 +/* 80089418 00086358 38 81 00 0A */ addi r4, r1, 0xa +/* 8008941C 0008635C 4B FF F1 FD */ bl TRKReadBuffer1_ui16 +/* 80089420 00086360 7C 7E 1B 78 */ mr r30, r3 +lbl_80089424: +/* 80089424 00086364 2C 1E 00 00 */ cmpwi r30, 0 +/* 80089428 00086368 40 82 00 14 */ bne lbl_8008943C +/* 8008942C 0008636C 38 7F 00 00 */ addi r3, r31, 0 +/* 80089430 00086370 38 81 00 0C */ addi r4, r1, 0xc +/* 80089434 00086374 4B FF F2 65 */ bl TRKReadBuffer1_ui32 +/* 80089438 00086378 7C 7E 1B 78 */ mr r30, r3 +lbl_8008943C: +/* 8008943C 0008637C 88 01 00 09 */ lbz r0, 9(r1) +/* 80089440 00086380 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 80089444 00086384 41 82 00 18 */ beq lbl_8008945C +/* 80089448 00086388 38 7F 00 00 */ addi r3, r31, 0 +/* 8008944C 0008638C 38 80 00 80 */ li r4, 0x80 +/* 80089450 00086390 38 A0 00 12 */ li r5, 0x12 +/* 80089454 00086394 4B FF F7 C1 */ bl TRKStandardACK +/* 80089458 00086398 48 00 01 30 */ b lbl_80089588 +lbl_8008945C: +/* 8008945C 0008639C A0 81 00 0A */ lhz r4, 0xa(r1) +/* 80089460 000863A0 80 7F 00 08 */ lwz r3, 8(r31) +/* 80089464 000863A4 38 04 00 08 */ addi r0, r4, 8 +/* 80089468 000863A8 7C 03 00 40 */ cmplw r3, r0 +/* 8008946C 000863AC 40 82 00 0C */ bne lbl_80089478 +/* 80089470 000863B0 28 04 08 00 */ cmplwi r4, 0x800 +/* 80089474 000863B4 40 81 00 18 */ ble lbl_8008948C +lbl_80089478: +/* 80089478 000863B8 38 7F 00 00 */ addi r3, r31, 0 +/* 8008947C 000863BC 38 80 00 80 */ li r4, 0x80 +/* 80089480 000863C0 38 A0 00 11 */ li r5, 0x11 +/* 80089484 000863C4 4B FF F7 91 */ bl TRKStandardACK +/* 80089488 000863C8 48 00 01 00 */ b lbl_80089588 +lbl_8008948C: +/* 8008948C 000863CC 2C 1E 00 00 */ cmpwi r30, 0 +/* 80089490 000863D0 40 82 00 58 */ bne lbl_800894E8 +/* 80089494 000863D4 90 81 00 10 */ stw r4, 0x10(r1) +/* 80089498 000863D8 38 7F 00 00 */ addi r3, r31, 0 +/* 8008949C 000863DC 38 81 00 14 */ addi r4, r1, 0x14 +/* 800894A0 000863E0 80 A1 00 10 */ lwz r5, 0x10(r1) +/* 800894A4 000863E4 4B FF EE A1 */ bl TRKReadBuffer +/* 800894A8 000863E8 7C 7E 1B 79 */ or. r30, r3, r3 +/* 800894AC 000863EC 40 82 00 34 */ bne lbl_800894E0 +/* 800894B0 000863F0 88 01 00 09 */ lbz r0, 9(r1) +/* 800894B4 000863F4 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c +/* 800894B8 000863F8 41 82 00 0C */ beq lbl_800894C4 +/* 800894BC 000863FC 38 C0 00 00 */ li r6, 0 +/* 800894C0 00086400 48 00 00 08 */ b lbl_800894C8 +lbl_800894C4: +/* 800894C4 00086404 38 C0 00 01 */ li r6, 1 +lbl_800894C8: +/* 800894C8 00086408 80 81 00 0C */ lwz r4, 0xc(r1) +/* 800894CC 0008640C 38 61 00 14 */ addi r3, r1, 0x14 +/* 800894D0 00086410 38 A1 00 10 */ addi r5, r1, 0x10 +/* 800894D4 00086414 38 E0 00 00 */ li r7, 0 +/* 800894D8 00086418 48 00 10 E5 */ bl TRKTargetAccessMemory +/* 800894DC 0008641C 7C 7E 1B 78 */ mr r30, r3 +lbl_800894E0: +/* 800894E0 00086420 80 01 00 10 */ lwz r0, 0x10(r1) +/* 800894E4 00086424 B0 01 00 0A */ sth r0, 0xa(r1) +lbl_800894E8: +/* 800894E8 00086428 2C 1E 00 00 */ cmpwi r30, 0 +/* 800894EC 0008642C 40 82 00 14 */ bne lbl_80089500 +/* 800894F0 00086430 38 7F 00 00 */ addi r3, r31, 0 +/* 800894F4 00086434 38 80 00 80 */ li r4, 0x80 +/* 800894F8 00086438 38 A0 00 00 */ li r5, 0 +/* 800894FC 0008643C 4B FF F6 31 */ bl TRKMessageIntoReply +lbl_80089500: +/* 80089500 00086440 2C 1E 00 00 */ cmpwi r30, 0 +/* 80089504 00086444 40 82 00 14 */ bne lbl_80089518 +/* 80089508 00086448 7F E3 FB 78 */ mr r3, r31 +/* 8008950C 0008644C A0 81 00 0A */ lhz r4, 0xa(r1) +/* 80089510 00086450 4B FF EE C1 */ bl TRKAppendBuffer1_ui16 +/* 80089514 00086454 7C 7E 1B 78 */ mr r30, r3 +lbl_80089518: +/* 80089518 00086458 2C 1E 00 00 */ cmpwi r30, 0 +/* 8008951C 0008645C 41 82 00 64 */ beq lbl_80089580 +/* 80089520 00086460 38 1E F9 00 */ addi r0, r30, -1792 +/* 80089524 00086464 28 00 00 06 */ cmplwi r0, 6 +/* 80089528 00086468 41 81 00 44 */ bgt lbl_8008956C +/* 8008952C 0008646C 3C 60 80 3B */ lis r3, "@214"@ha +/* 80089530 00086470 38 63 EF FC */ addi r3, r3, "@214"@l +/* 80089534 00086474 54 00 10 3A */ slwi r0, r0, 2 +/* 80089538 00086478 7C 03 00 2E */ lwzx r0, r3, r0 +/* 8008953C 0008647C 7C 09 03 A6 */ mtctr r0 +/* 80089540 00086480 4E 80 04 20 */ bctr +lbl_80089544: +/* 80089544 00086484 38 A0 00 15 */ li r5, 0x15 +/* 80089548 00086488 48 00 00 28 */ b lbl_80089570 +lbl_8008954C: +/* 8008954C 0008648C 38 A0 00 13 */ li r5, 0x13 +/* 80089550 00086490 48 00 00 20 */ b lbl_80089570 +lbl_80089554: +/* 80089554 00086494 38 A0 00 21 */ li r5, 0x21 +/* 80089558 00086498 48 00 00 18 */ b lbl_80089570 +lbl_8008955C: +/* 8008955C 0008649C 38 A0 00 22 */ li r5, 0x22 +/* 80089560 000864A0 48 00 00 10 */ b lbl_80089570 +lbl_80089564: +/* 80089564 000864A4 38 A0 00 20 */ li r5, 0x20 +/* 80089568 000864A8 48 00 00 08 */ b lbl_80089570 +lbl_8008956C: +/* 8008956C 000864AC 38 A0 00 03 */ li r5, 3 +lbl_80089570: +/* 80089570 000864B0 38 7F 00 00 */ addi r3, r31, 0 +/* 80089574 000864B4 38 80 00 80 */ li r4, 0x80 +/* 80089578 000864B8 4B FF F6 9D */ bl TRKStandardACK +/* 8008957C 000864BC 48 00 00 0C */ b lbl_80089588 +lbl_80089580: +/* 80089580 000864C0 7F E3 FB 78 */ mr r3, r31 +/* 80089584 000864C4 4B FF F6 41 */ bl TRKSendACK +lbl_80089588: +/* 80089588 000864C8 83 E1 08 1C */ lwz r31, 0x81c(r1) +/* 8008958C 000864CC 83 C1 08 18 */ lwz r30, 0x818(r1) +/* 80089590 000864D0 38 21 08 20 */ addi r1, r1, 0x820 +/* 80089594 000864D4 80 01 00 04 */ lwz r0, 4(r1) +/* 80089598 000864D8 7C 08 03 A6 */ mtlr r0 +/* 8008959C 000864DC 4E 80 00 20 */ blr + +.global TRKDoReadRegisters +TRKDoReadRegisters: +/* 800895A0 000864E0 7C 08 02 A6 */ mflr r0 +/* 800895A4 000864E4 90 01 00 04 */ stw r0, 4(r1) +/* 800895A8 000864E8 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 800895AC 000864EC 93 E1 00 14 */ stw r31, 0x14(r1) +/* 800895B0 000864F0 7C 7F 1B 78 */ mr r31, r3 +/* 800895B4 000864F4 80 03 00 08 */ lwz r0, 8(r3) +/* 800895B8 000864F8 28 00 00 06 */ cmplwi r0, 6 +/* 800895BC 000864FC 41 82 00 18 */ beq lbl_800895D4 +/* 800895C0 00086500 38 7F 00 00 */ addi r3, r31, 0 +/* 800895C4 00086504 38 80 00 80 */ li r4, 0x80 +/* 800895C8 00086508 38 A0 00 02 */ li r5, 2 +/* 800895CC 0008650C 4B FF F6 49 */ bl TRKStandardACK +/* 800895D0 00086510 48 00 01 C0 */ b lbl_80089790 +lbl_800895D4: +/* 800895D4 00086514 38 7F 00 00 */ addi r3, r31, 0 +/* 800895D8 00086518 38 80 00 00 */ li r4, 0 +/* 800895DC 0008651C 4B FF EC 95 */ bl TRKSetBufferPosition +/* 800895E0 00086520 38 7F 00 00 */ addi r3, r31, 0 +/* 800895E4 00086524 38 81 00 08 */ addi r4, r1, 8 +/* 800895E8 00086528 4B FF F0 0D */ bl TRKReadBuffer1_ui8 +/* 800895EC 0008652C 2C 03 00 00 */ cmpwi r3, 0 +/* 800895F0 00086530 40 82 00 10 */ bne lbl_80089600 +/* 800895F4 00086534 38 7F 00 00 */ addi r3, r31, 0 +/* 800895F8 00086538 38 81 00 09 */ addi r4, r1, 9 +/* 800895FC 0008653C 4B FF EF F9 */ bl TRKReadBuffer1_ui8 +lbl_80089600: +/* 80089600 00086540 2C 03 00 00 */ cmpwi r3, 0 +/* 80089604 00086544 40 82 00 10 */ bne lbl_80089614 +/* 80089608 00086548 38 7F 00 00 */ addi r3, r31, 0 +/* 8008960C 0008654C 38 81 00 0A */ addi r4, r1, 0xa +/* 80089610 00086550 4B FF F0 09 */ bl TRKReadBuffer1_ui16 +lbl_80089614: +/* 80089614 00086554 2C 03 00 00 */ cmpwi r3, 0 +/* 80089618 00086558 40 82 00 10 */ bne lbl_80089628 +/* 8008961C 0008655C 38 7F 00 00 */ addi r3, r31, 0 +/* 80089620 00086560 38 81 00 0C */ addi r4, r1, 0xc +/* 80089624 00086564 4B FF EF F5 */ bl TRKReadBuffer1_ui16 +lbl_80089628: +/* 80089628 00086568 A0 81 00 0A */ lhz r4, 0xa(r1) +/* 8008962C 0008656C A0 01 00 0C */ lhz r0, 0xc(r1) +/* 80089630 00086570 7C 04 00 40 */ cmplw r4, r0 +/* 80089634 00086574 40 81 00 18 */ ble lbl_8008964C +/* 80089638 00086578 38 7F 00 00 */ addi r3, r31, 0 +/* 8008963C 0008657C 38 80 00 80 */ li r4, 0x80 +/* 80089640 00086580 38 A0 00 14 */ li r5, 0x14 +/* 80089644 00086584 4B FF F5 D1 */ bl TRKStandardACK +/* 80089648 00086588 48 00 01 48 */ b lbl_80089790 +lbl_8008964C: +/* 8008964C 0008658C 2C 03 00 00 */ cmpwi r3, 0 +/* 80089650 00086590 40 82 00 14 */ bne lbl_80089664 +/* 80089654 00086594 38 7F 00 00 */ addi r3, r31, 0 +/* 80089658 00086598 38 80 00 80 */ li r4, 0x80 +/* 8008965C 0008659C 38 A0 00 00 */ li r5, 0 +/* 80089660 000865A0 4B FF F4 CD */ bl TRKMessageIntoReply +lbl_80089664: +/* 80089664 000865A4 88 01 00 09 */ lbz r0, 9(r1) +/* 80089668 000865A8 54 00 07 7E */ clrlwi r0, r0, 0x1d +/* 8008966C 000865AC 2C 00 00 02 */ cmpwi r0, 2 +/* 80089670 000865B0 41 82 00 5C */ beq lbl_800896CC +/* 80089674 000865B4 40 80 00 14 */ bge lbl_80089688 +/* 80089678 000865B8 2C 00 00 00 */ cmpwi r0, 0 +/* 8008967C 000865BC 41 82 00 18 */ beq lbl_80089694 +/* 80089680 000865C0 40 80 00 30 */ bge lbl_800896B0 +/* 80089684 000865C4 48 00 00 80 */ b lbl_80089704 +lbl_80089688: +/* 80089688 000865C8 2C 00 00 04 */ cmpwi r0, 4 +/* 8008968C 000865CC 40 80 00 78 */ bge lbl_80089704 +/* 80089690 000865D0 48 00 00 58 */ b lbl_800896E8 +lbl_80089694: +/* 80089694 000865D4 A0 61 00 0A */ lhz r3, 0xa(r1) +/* 80089698 000865D8 7F E5 FB 78 */ mr r5, r31 +/* 8008969C 000865DC A0 81 00 0C */ lhz r4, 0xc(r1) +/* 800896A0 000865E0 38 C1 00 10 */ addi r6, r1, 0x10 +/* 800896A4 000865E4 38 E0 00 01 */ li r7, 1 +/* 800896A8 000865E8 48 00 10 C5 */ bl TRKTargetAccessDefault +/* 800896AC 000865EC 48 00 00 5C */ b lbl_80089708 +lbl_800896B0: +/* 800896B0 000865F0 A0 61 00 0A */ lhz r3, 0xa(r1) +/* 800896B4 000865F4 7F E5 FB 78 */ mr r5, r31 +/* 800896B8 000865F8 A0 81 00 0C */ lhz r4, 0xc(r1) +/* 800896BC 000865FC 38 C1 00 10 */ addi r6, r1, 0x10 +/* 800896C0 00086600 38 E0 00 01 */ li r7, 1 +/* 800896C4 00086604 48 00 11 A5 */ bl TRKTargetAccessFP +/* 800896C8 00086608 48 00 00 40 */ b lbl_80089708 +lbl_800896CC: +/* 800896CC 0008660C A0 61 00 0A */ lhz r3, 0xa(r1) +/* 800896D0 00086610 7F E5 FB 78 */ mr r5, r31 +/* 800896D4 00086614 A0 81 00 0C */ lhz r4, 0xc(r1) +/* 800896D8 00086618 38 C1 00 10 */ addi r6, r1, 0x10 +/* 800896DC 0008661C 38 E0 00 01 */ li r7, 1 +/* 800896E0 00086620 48 00 12 D1 */ bl TRKTargetAccessExtended1 +/* 800896E4 00086624 48 00 00 24 */ b lbl_80089708 +lbl_800896E8: +/* 800896E8 00086628 A0 61 00 0A */ lhz r3, 0xa(r1) +/* 800896EC 0008662C 7F E5 FB 78 */ mr r5, r31 +/* 800896F0 00086630 A0 81 00 0C */ lhz r4, 0xc(r1) +/* 800896F4 00086634 38 C1 00 10 */ addi r6, r1, 0x10 +/* 800896F8 00086638 38 E0 00 01 */ li r7, 1 +/* 800896FC 0008663C 48 00 14 2D */ bl TRKTargetAccessExtended2 +/* 80089700 00086640 48 00 00 08 */ b lbl_80089708 +lbl_80089704: +/* 80089704 00086644 38 60 07 03 */ li r3, 0x703 +lbl_80089708: +/* 80089708 00086648 2C 03 00 00 */ cmpwi r3, 0 +/* 8008970C 0008664C 41 82 00 7C */ beq lbl_80089788 +/* 80089710 00086650 2C 03 07 04 */ cmpwi r3, 0x704 +/* 80089714 00086654 41 82 00 48 */ beq lbl_8008975C +/* 80089718 00086658 40 80 00 1C */ bge lbl_80089734 +/* 8008971C 0008665C 2C 03 07 02 */ cmpwi r3, 0x702 +/* 80089720 00086660 41 82 00 34 */ beq lbl_80089754 +/* 80089724 00086664 40 80 00 20 */ bge lbl_80089744 +/* 80089728 00086668 2C 03 07 01 */ cmpwi r3, 0x701 +/* 8008972C 0008666C 40 80 00 20 */ bge lbl_8008974C +/* 80089730 00086670 48 00 00 44 */ b lbl_80089774 +lbl_80089734: +/* 80089734 00086674 2C 03 07 06 */ cmpwi r3, 0x706 +/* 80089738 00086678 41 82 00 34 */ beq lbl_8008976C +/* 8008973C 0008667C 40 80 00 38 */ bge lbl_80089774 +/* 80089740 00086680 48 00 00 24 */ b lbl_80089764 +lbl_80089744: +/* 80089744 00086684 38 A0 00 12 */ li r5, 0x12 +/* 80089748 00086688 48 00 00 30 */ b lbl_80089778 +lbl_8008974C: +/* 8008974C 0008668C 38 A0 00 14 */ li r5, 0x14 +/* 80089750 00086690 48 00 00 28 */ b lbl_80089778 +lbl_80089754: +/* 80089754 00086694 38 A0 00 15 */ li r5, 0x15 +/* 80089758 00086698 48 00 00 20 */ b lbl_80089778 +lbl_8008975C: +/* 8008975C 0008669C 38 A0 00 21 */ li r5, 0x21 +/* 80089760 000866A0 48 00 00 18 */ b lbl_80089778 +lbl_80089764: +/* 80089764 000866A4 38 A0 00 22 */ li r5, 0x22 +/* 80089768 000866A8 48 00 00 10 */ b lbl_80089778 +lbl_8008976C: +/* 8008976C 000866AC 38 A0 00 20 */ li r5, 0x20 +/* 80089770 000866B0 48 00 00 08 */ b lbl_80089778 +lbl_80089774: +/* 80089774 000866B4 38 A0 00 03 */ li r5, 3 +lbl_80089778: +/* 80089778 000866B8 38 7F 00 00 */ addi r3, r31, 0 +/* 8008977C 000866BC 38 80 00 80 */ li r4, 0x80 +/* 80089780 000866C0 4B FF F4 95 */ bl TRKStandardACK +/* 80089784 000866C4 48 00 00 0C */ b lbl_80089790 +lbl_80089788: +/* 80089788 000866C8 7F E3 FB 78 */ mr r3, r31 +/* 8008978C 000866CC 4B FF F4 39 */ bl TRKSendACK +lbl_80089790: +/* 80089790 000866D0 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 80089794 000866D4 38 21 00 18 */ addi r1, r1, 0x18 +/* 80089798 000866D8 80 01 00 04 */ lwz r0, 4(r1) +/* 8008979C 000866DC 7C 08 03 A6 */ mtlr r0 +/* 800897A0 000866E0 4E 80 00 20 */ blr + +.global TRKDoWriteRegisters +TRKDoWriteRegisters: +/* 800897A4 000866E4 7C 08 02 A6 */ mflr r0 +/* 800897A8 000866E8 90 01 00 04 */ stw r0, 4(r1) +/* 800897AC 000866EC 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 800897B0 000866F0 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 800897B4 000866F4 93 C1 00 18 */ stw r30, 0x18(r1) +/* 800897B8 000866F8 7C 7E 1B 78 */ mr r30, r3 +/* 800897BC 000866FC 80 03 00 08 */ lwz r0, 8(r3) +/* 800897C0 00086700 28 00 00 06 */ cmplwi r0, 6 +/* 800897C4 00086704 41 81 00 18 */ bgt lbl_800897DC +/* 800897C8 00086708 38 7E 00 00 */ addi r3, r30, 0 +/* 800897CC 0008670C 38 80 00 80 */ li r4, 0x80 +/* 800897D0 00086710 38 A0 00 02 */ li r5, 2 +/* 800897D4 00086714 4B FF F4 41 */ bl TRKStandardACK +/* 800897D8 00086718 48 00 01 BC */ b lbl_80089994 +lbl_800897DC: +/* 800897DC 0008671C 38 7E 00 00 */ addi r3, r30, 0 +/* 800897E0 00086720 38 80 00 00 */ li r4, 0 +/* 800897E4 00086724 4B FF EA 8D */ bl TRKSetBufferPosition +/* 800897E8 00086728 38 7E 00 00 */ addi r3, r30, 0 +/* 800897EC 0008672C 38 81 00 08 */ addi r4, r1, 8 +/* 800897F0 00086730 4B FF EE 05 */ bl TRKReadBuffer1_ui8 +/* 800897F4 00086734 2C 03 00 00 */ cmpwi r3, 0 +/* 800897F8 00086738 40 82 00 10 */ bne lbl_80089808 +/* 800897FC 0008673C 38 7E 00 00 */ addi r3, r30, 0 +/* 80089800 00086740 38 81 00 09 */ addi r4, r1, 9 +/* 80089804 00086744 4B FF ED F1 */ bl TRKReadBuffer1_ui8 +lbl_80089808: +/* 80089808 00086748 2C 03 00 00 */ cmpwi r3, 0 +/* 8008980C 0008674C 40 82 00 10 */ bne lbl_8008981C +/* 80089810 00086750 38 7E 00 00 */ addi r3, r30, 0 +/* 80089814 00086754 38 81 00 0A */ addi r4, r1, 0xa +/* 80089818 00086758 4B FF EE 01 */ bl TRKReadBuffer1_ui16 +lbl_8008981C: +/* 8008981C 0008675C 2C 03 00 00 */ cmpwi r3, 0 +/* 80089820 00086760 40 82 00 10 */ bne lbl_80089830 +/* 80089824 00086764 38 7E 00 00 */ addi r3, r30, 0 +/* 80089828 00086768 38 81 00 0C */ addi r4, r1, 0xc +/* 8008982C 0008676C 4B FF ED ED */ bl TRKReadBuffer1_ui16 +lbl_80089830: +/* 80089830 00086770 A0 61 00 0A */ lhz r3, 0xa(r1) +/* 80089834 00086774 A0 81 00 0C */ lhz r4, 0xc(r1) +/* 80089838 00086778 7C 03 20 40 */ cmplw r3, r4 +/* 8008983C 0008677C 40 81 00 18 */ ble lbl_80089854 +/* 80089840 00086780 38 7E 00 00 */ addi r3, r30, 0 +/* 80089844 00086784 38 80 00 80 */ li r4, 0x80 +/* 80089848 00086788 38 A0 00 14 */ li r5, 0x14 +/* 8008984C 0008678C 4B FF F3 C9 */ bl TRKStandardACK +/* 80089850 00086790 48 00 01 44 */ b lbl_80089994 +lbl_80089854: +/* 80089854 00086794 88 01 00 09 */ lbz r0, 9(r1) +/* 80089858 00086798 2C 00 00 02 */ cmpwi r0, 2 +/* 8008985C 0008679C 41 82 00 54 */ beq lbl_800898B0 +/* 80089860 000867A0 40 80 00 14 */ bge lbl_80089874 +/* 80089864 000867A4 2C 00 00 00 */ cmpwi r0, 0 +/* 80089868 000867A8 41 82 00 18 */ beq lbl_80089880 +/* 8008986C 000867AC 40 80 00 2C */ bge lbl_80089898 +/* 80089870 000867B0 48 00 00 70 */ b lbl_800898E0 +lbl_80089874: +/* 80089874 000867B4 2C 00 00 04 */ cmpwi r0, 4 +/* 80089878 000867B8 40 80 00 68 */ bge lbl_800898E0 +/* 8008987C 000867BC 48 00 00 4C */ b lbl_800898C8 +lbl_80089880: +/* 80089880 000867C0 38 C1 00 10 */ addi r6, r1, 0x10 +/* 80089884 000867C4 38 BE 00 00 */ addi r5, r30, 0 +/* 80089888 000867C8 38 E0 00 00 */ li r7, 0 +/* 8008988C 000867CC 48 00 0E E1 */ bl TRKTargetAccessDefault +/* 80089890 000867D0 7C 7F 1B 78 */ mr r31, r3 +/* 80089894 000867D4 48 00 00 50 */ b lbl_800898E4 +lbl_80089898: +/* 80089898 000867D8 38 C1 00 10 */ addi r6, r1, 0x10 +/* 8008989C 000867DC 38 BE 00 00 */ addi r5, r30, 0 +/* 800898A0 000867E0 38 E0 00 00 */ li r7, 0 +/* 800898A4 000867E4 48 00 0F C5 */ bl TRKTargetAccessFP +/* 800898A8 000867E8 7C 7F 1B 78 */ mr r31, r3 +/* 800898AC 000867EC 48 00 00 38 */ b lbl_800898E4 +lbl_800898B0: +/* 800898B0 000867F0 38 C1 00 10 */ addi r6, r1, 0x10 +/* 800898B4 000867F4 38 BE 00 00 */ addi r5, r30, 0 +/* 800898B8 000867F8 38 E0 00 00 */ li r7, 0 +/* 800898BC 000867FC 48 00 10 F5 */ bl TRKTargetAccessExtended1 +/* 800898C0 00086800 7C 7F 1B 78 */ mr r31, r3 +/* 800898C4 00086804 48 00 00 20 */ b lbl_800898E4 +lbl_800898C8: +/* 800898C8 00086808 38 C1 00 10 */ addi r6, r1, 0x10 +/* 800898CC 0008680C 38 BE 00 00 */ addi r5, r30, 0 +/* 800898D0 00086810 38 E0 00 00 */ li r7, 0 +/* 800898D4 00086814 48 00 12 55 */ bl TRKTargetAccessExtended2 +/* 800898D8 00086818 7C 7F 1B 78 */ mr r31, r3 +/* 800898DC 0008681C 48 00 00 08 */ b lbl_800898E4 +lbl_800898E0: +/* 800898E0 00086820 3B E0 07 03 */ li r31, 0x703 +lbl_800898E4: +/* 800898E4 00086824 2C 1F 00 00 */ cmpwi r31, 0 +/* 800898E8 00086828 40 82 00 14 */ bne lbl_800898FC +/* 800898EC 0008682C 38 7E 00 00 */ addi r3, r30, 0 +/* 800898F0 00086830 38 80 00 80 */ li r4, 0x80 +/* 800898F4 00086834 38 A0 00 00 */ li r5, 0 +/* 800898F8 00086838 4B FF F2 35 */ bl TRKMessageIntoReply +lbl_800898FC: +/* 800898FC 0008683C 2C 1F 00 00 */ cmpwi r31, 0 +/* 80089900 00086840 41 82 00 8C */ beq lbl_8008998C +/* 80089904 00086844 2C 1F 07 03 */ cmpwi r31, 0x703 +/* 80089908 00086848 41 82 00 38 */ beq lbl_80089940 +/* 8008990C 0008684C 40 80 00 1C */ bge lbl_80089928 +/* 80089910 00086850 2C 1F 07 01 */ cmpwi r31, 0x701 +/* 80089914 00086854 41 82 00 34 */ beq lbl_80089948 +/* 80089918 00086858 40 80 00 40 */ bge lbl_80089958 +/* 8008991C 0008685C 2C 1F 03 02 */ cmpwi r31, 0x302 +/* 80089920 00086860 41 82 00 30 */ beq lbl_80089950 +/* 80089924 00086864 48 00 00 54 */ b lbl_80089978 +lbl_80089928: +/* 80089928 00086868 2C 1F 07 06 */ cmpwi r31, 0x706 +/* 8008992C 0008686C 41 82 00 44 */ beq lbl_80089970 +/* 80089930 00086870 40 80 00 48 */ bge lbl_80089978 +/* 80089934 00086874 2C 1F 07 05 */ cmpwi r31, 0x705 +/* 80089938 00086878 40 80 00 30 */ bge lbl_80089968 +/* 8008993C 0008687C 48 00 00 24 */ b lbl_80089960 +lbl_80089940: +/* 80089940 00086880 38 A0 00 12 */ li r5, 0x12 +/* 80089944 00086884 48 00 00 38 */ b lbl_8008997C +lbl_80089948: +/* 80089948 00086888 38 A0 00 14 */ li r5, 0x14 +/* 8008994C 0008688C 48 00 00 30 */ b lbl_8008997C +lbl_80089950: +/* 80089950 00086890 38 A0 00 02 */ li r5, 2 +/* 80089954 00086894 48 00 00 28 */ b lbl_8008997C +lbl_80089958: +/* 80089958 00086898 38 A0 00 15 */ li r5, 0x15 +/* 8008995C 0008689C 48 00 00 20 */ b lbl_8008997C +lbl_80089960: +/* 80089960 000868A0 38 A0 00 21 */ li r5, 0x21 +/* 80089964 000868A4 48 00 00 18 */ b lbl_8008997C +lbl_80089968: +/* 80089968 000868A8 38 A0 00 22 */ li r5, 0x22 +/* 8008996C 000868AC 48 00 00 10 */ b lbl_8008997C +lbl_80089970: +/* 80089970 000868B0 38 A0 00 20 */ li r5, 0x20 +/* 80089974 000868B4 48 00 00 08 */ b lbl_8008997C +lbl_80089978: +/* 80089978 000868B8 38 A0 00 03 */ li r5, 3 +lbl_8008997C: +/* 8008997C 000868BC 38 7E 00 00 */ addi r3, r30, 0 +/* 80089980 000868C0 38 80 00 80 */ li r4, 0x80 +/* 80089984 000868C4 4B FF F2 91 */ bl TRKStandardACK +/* 80089988 000868C8 48 00 00 0C */ b lbl_80089994 +lbl_8008998C: +/* 8008998C 000868CC 7F C3 F3 78 */ mr r3, r30 +/* 80089990 000868D0 4B FF F2 35 */ bl TRKSendACK +lbl_80089994: +/* 80089994 000868D4 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80089998 000868D8 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8008999C 000868DC 38 21 00 20 */ addi r1, r1, 0x20 +/* 800899A0 000868E0 80 01 00 04 */ lwz r0, 4(r1) +/* 800899A4 000868E4 7C 08 03 A6 */ mtlr r0 +/* 800899A8 000868E8 4E 80 00 20 */ blr + +.global TRKDoFlushCache +TRKDoFlushCache: +/* 800899AC 000868EC 7C 08 02 A6 */ mflr r0 +/* 800899B0 000868F0 90 01 00 04 */ stw r0, 4(r1) +/* 800899B4 000868F4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 800899B8 000868F8 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 800899BC 000868FC 93 C1 00 18 */ stw r30, 0x18(r1) +/* 800899C0 00086900 7C 7E 1B 78 */ mr r30, r3 +/* 800899C4 00086904 80 03 00 08 */ lwz r0, 8(r3) +/* 800899C8 00086908 28 00 00 0A */ cmplwi r0, 0xa +/* 800899CC 0008690C 41 82 00 18 */ beq lbl_800899E4 +/* 800899D0 00086910 38 7E 00 00 */ addi r3, r30, 0 +/* 800899D4 00086914 38 80 00 80 */ li r4, 0x80 +/* 800899D8 00086918 38 A0 00 02 */ li r5, 2 +/* 800899DC 0008691C 4B FF F2 39 */ bl TRKStandardACK +/* 800899E0 00086920 48 00 00 EC */ b lbl_80089ACC +lbl_800899E4: +/* 800899E4 00086924 38 7E 00 00 */ addi r3, r30, 0 +/* 800899E8 00086928 38 80 00 00 */ li r4, 0 +/* 800899EC 0008692C 4B FF E8 85 */ bl TRKSetBufferPosition +/* 800899F0 00086930 38 7E 00 00 */ addi r3, r30, 0 +/* 800899F4 00086934 38 81 00 08 */ addi r4, r1, 8 +/* 800899F8 00086938 4B FF EB FD */ bl TRKReadBuffer1_ui8 +/* 800899FC 0008693C 7C 7F 1B 79 */ or. r31, r3, r3 +/* 80089A00 00086940 40 82 00 14 */ bne lbl_80089A14 +/* 80089A04 00086944 38 7E 00 00 */ addi r3, r30, 0 +/* 80089A08 00086948 38 81 00 09 */ addi r4, r1, 9 +/* 80089A0C 0008694C 4B FF EB E9 */ bl TRKReadBuffer1_ui8 +/* 80089A10 00086950 7C 7F 1B 78 */ mr r31, r3 +lbl_80089A14: +/* 80089A14 00086954 2C 1F 00 00 */ cmpwi r31, 0 +/* 80089A18 00086958 40 82 00 14 */ bne lbl_80089A2C +/* 80089A1C 0008695C 38 7E 00 00 */ addi r3, r30, 0 +/* 80089A20 00086960 38 81 00 0C */ addi r4, r1, 0xc +/* 80089A24 00086964 4B FF EC 75 */ bl TRKReadBuffer1_ui32 +/* 80089A28 00086968 7C 7F 1B 78 */ mr r31, r3 +lbl_80089A2C: +/* 80089A2C 0008696C 2C 1F 00 00 */ cmpwi r31, 0 +/* 80089A30 00086970 40 82 00 14 */ bne lbl_80089A44 +/* 80089A34 00086974 38 7E 00 00 */ addi r3, r30, 0 +/* 80089A38 00086978 38 81 00 10 */ addi r4, r1, 0x10 +/* 80089A3C 0008697C 4B FF EC 5D */ bl TRKReadBuffer1_ui32 +/* 80089A40 00086980 7C 7F 1B 78 */ mr r31, r3 +lbl_80089A44: +/* 80089A44 00086984 80 81 00 0C */ lwz r4, 0xc(r1) +/* 80089A48 00086988 80 A1 00 10 */ lwz r5, 0x10(r1) +/* 80089A4C 0008698C 7C 04 28 40 */ cmplw r4, r5 +/* 80089A50 00086990 40 81 00 18 */ ble lbl_80089A68 +/* 80089A54 00086994 38 7E 00 00 */ addi r3, r30, 0 +/* 80089A58 00086998 38 80 00 80 */ li r4, 0x80 +/* 80089A5C 0008699C 38 A0 00 13 */ li r5, 0x13 +/* 80089A60 000869A0 4B FF F1 B5 */ bl TRKStandardACK +/* 80089A64 000869A4 48 00 00 68 */ b lbl_80089ACC +lbl_80089A68: +/* 80089A68 000869A8 2C 1F 00 00 */ cmpwi r31, 0 +/* 80089A6C 000869AC 40 82 00 10 */ bne lbl_80089A7C +/* 80089A70 000869B0 88 61 00 09 */ lbz r3, 9(r1) +/* 80089A74 000869B4 48 00 1B FD */ bl TRKTargetFlushCache +/* 80089A78 000869B8 7C 7F 1B 78 */ mr r31, r3 +lbl_80089A7C: +/* 80089A7C 000869BC 2C 1F 00 00 */ cmpwi r31, 0 +/* 80089A80 000869C0 40 82 00 14 */ bne lbl_80089A94 +/* 80089A84 000869C4 38 7E 00 00 */ addi r3, r30, 0 +/* 80089A88 000869C8 38 80 00 80 */ li r4, 0x80 +/* 80089A8C 000869CC 38 A0 00 00 */ li r5, 0 +/* 80089A90 000869D0 4B FF F0 9D */ bl TRKMessageIntoReply +lbl_80089A94: +/* 80089A94 000869D4 2C 1F 00 00 */ cmpwi r31, 0 +/* 80089A98 000869D8 41 82 00 2C */ beq lbl_80089AC4 +/* 80089A9C 000869DC 2C 1F 07 03 */ cmpwi r31, 0x703 +/* 80089AA0 000869E0 41 82 00 08 */ beq lbl_80089AA8 +/* 80089AA4 000869E4 48 00 00 0C */ b lbl_80089AB0 +lbl_80089AA8: +/* 80089AA8 000869E8 38 A0 00 12 */ li r5, 0x12 +/* 80089AAC 000869EC 48 00 00 08 */ b lbl_80089AB4 +lbl_80089AB0: +/* 80089AB0 000869F0 38 A0 00 03 */ li r5, 3 +lbl_80089AB4: +/* 80089AB4 000869F4 38 7E 00 00 */ addi r3, r30, 0 +/* 80089AB8 000869F8 38 80 00 80 */ li r4, 0x80 +/* 80089ABC 000869FC 4B FF F1 59 */ bl TRKStandardACK +/* 80089AC0 00086A00 48 00 00 0C */ b lbl_80089ACC +lbl_80089AC4: +/* 80089AC4 00086A04 7F C3 F3 78 */ mr r3, r30 +/* 80089AC8 00086A08 4B FF F0 FD */ bl TRKSendACK +lbl_80089ACC: +/* 80089ACC 00086A0C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80089AD0 00086A10 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 80089AD4 00086A14 38 21 00 20 */ addi r1, r1, 0x20 +/* 80089AD8 00086A18 80 01 00 04 */ lwz r0, 4(r1) +/* 80089ADC 00086A1C 7C 08 03 A6 */ mtlr r0 +/* 80089AE0 00086A20 4E 80 00 20 */ blr + +.global TRKDoContinue +TRKDoContinue: +/* 80089AE4 00086A24 7C 08 02 A6 */ mflr r0 +/* 80089AE8 00086A28 90 01 00 04 */ stw r0, 4(r1) +/* 80089AEC 00086A2C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80089AF0 00086A30 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80089AF4 00086A34 7C 7F 1B 78 */ mr r31, r3 +/* 80089AF8 00086A38 48 00 1B B5 */ bl TRKTargetStopped +/* 80089AFC 00086A3C 2C 03 00 00 */ cmpwi r3, 0 +/* 80089B00 00086A40 40 82 00 18 */ bne lbl_80089B18 +/* 80089B04 00086A44 38 7F 00 00 */ addi r3, r31, 0 +/* 80089B08 00086A48 38 80 00 80 */ li r4, 0x80 +/* 80089B0C 00086A4C 38 A0 00 16 */ li r5, 0x16 +/* 80089B10 00086A50 4B FF F1 05 */ bl TRKStandardACK +/* 80089B14 00086A54 48 00 00 20 */ b lbl_80089B34 +lbl_80089B18: +/* 80089B18 00086A58 38 7F 00 00 */ addi r3, r31, 0 +/* 80089B1C 00086A5C 38 80 00 80 */ li r4, 0x80 +/* 80089B20 00086A60 38 A0 00 00 */ li r5, 0 +/* 80089B24 00086A64 4B FF F0 F1 */ bl TRKStandardACK +/* 80089B28 00086A68 2C 03 00 00 */ cmpwi r3, 0 +/* 80089B2C 00086A6C 40 82 00 08 */ bne lbl_80089B34 +/* 80089B30 00086A70 48 00 28 3D */ bl TRKTargetContinue +lbl_80089B34: +/* 80089B34 00086A74 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80089B38 00086A78 38 21 00 10 */ addi r1, r1, 0x10 +/* 80089B3C 00086A7C 80 01 00 04 */ lwz r0, 4(r1) +/* 80089B40 00086A80 7C 08 03 A6 */ mtlr r0 +/* 80089B44 00086A84 4E 80 00 20 */ blr + +.global TRKDoStep +TRKDoStep: +/* 80089B48 00086A88 7C 08 02 A6 */ mflr r0 +/* 80089B4C 00086A8C 90 01 00 04 */ stw r0, 4(r1) +/* 80089B50 00086A90 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 80089B54 00086A94 93 E1 00 14 */ stw r31, 0x14(r1) +/* 80089B58 00086A98 7C 7F 1B 78 */ mr r31, r3 +/* 80089B5C 00086A9C 80 03 00 08 */ lwz r0, 8(r3) +/* 80089B60 00086AA0 28 00 00 03 */ cmplwi r0, 3 +/* 80089B64 00086AA4 40 80 00 18 */ bge lbl_80089B7C +/* 80089B68 00086AA8 38 7F 00 00 */ addi r3, r31, 0 +/* 80089B6C 00086AAC 38 80 00 80 */ li r4, 0x80 +/* 80089B70 00086AB0 38 A0 00 02 */ li r5, 2 +/* 80089B74 00086AB4 4B FF F0 A1 */ bl TRKStandardACK +/* 80089B78 00086AB8 48 00 01 C0 */ b lbl_80089D38 +lbl_80089B7C: +/* 80089B7C 00086ABC 38 7F 00 00 */ addi r3, r31, 0 +/* 80089B80 00086AC0 38 80 00 00 */ li r4, 0 +/* 80089B84 00086AC4 4B FF E6 ED */ bl TRKSetBufferPosition +/* 80089B88 00086AC8 38 7F 00 00 */ addi r3, r31, 0 +/* 80089B8C 00086ACC 38 81 00 08 */ addi r4, r1, 8 +/* 80089B90 00086AD0 4B FF EA 65 */ bl TRKReadBuffer1_ui8 +/* 80089B94 00086AD4 2C 03 00 00 */ cmpwi r3, 0 +/* 80089B98 00086AD8 40 82 00 10 */ bne lbl_80089BA8 +/* 80089B9C 00086ADC 38 7F 00 00 */ addi r3, r31, 0 +/* 80089BA0 00086AE0 38 81 00 09 */ addi r4, r1, 9 +/* 80089BA4 00086AE4 4B FF EA 51 */ bl TRKReadBuffer1_ui8 +lbl_80089BA8: +/* 80089BA8 00086AE8 88 01 00 09 */ lbz r0, 9(r1) +/* 80089BAC 00086AEC 2C 00 00 10 */ cmpwi r0, 0x10 +/* 80089BB0 00086AF0 41 82 00 2C */ beq lbl_80089BDC +/* 80089BB4 00086AF4 40 80 00 1C */ bge lbl_80089BD0 +/* 80089BB8 00086AF8 2C 00 00 01 */ cmpwi r0, 1 +/* 80089BBC 00086AFC 41 82 00 54 */ beq lbl_80089C10 +/* 80089BC0 00086B00 40 80 00 C8 */ bge lbl_80089C88 +/* 80089BC4 00086B04 2C 00 00 00 */ cmpwi r0, 0 +/* 80089BC8 00086B08 40 80 00 14 */ bge lbl_80089BDC +/* 80089BCC 00086B0C 48 00 00 BC */ b lbl_80089C88 +lbl_80089BD0: +/* 80089BD0 00086B10 2C 00 00 12 */ cmpwi r0, 0x12 +/* 80089BD4 00086B14 40 80 00 B4 */ bge lbl_80089C88 +/* 80089BD8 00086B18 48 00 00 38 */ b lbl_80089C10 +lbl_80089BDC: +/* 80089BDC 00086B1C 2C 03 00 00 */ cmpwi r3, 0 +/* 80089BE0 00086B20 40 82 00 10 */ bne lbl_80089BF0 +/* 80089BE4 00086B24 38 7F 00 00 */ addi r3, r31, 0 +/* 80089BE8 00086B28 38 81 00 0A */ addi r4, r1, 0xa +/* 80089BEC 00086B2C 4B FF EA 09 */ bl TRKReadBuffer1_ui8 +lbl_80089BF0: +/* 80089BF0 00086B30 88 01 00 0A */ lbz r0, 0xa(r1) +/* 80089BF4 00086B34 28 00 00 01 */ cmplwi r0, 1 +/* 80089BF8 00086B38 40 80 00 A4 */ bge lbl_80089C9C +/* 80089BFC 00086B3C 38 7F 00 00 */ addi r3, r31, 0 +/* 80089C00 00086B40 38 80 00 80 */ li r4, 0x80 +/* 80089C04 00086B44 38 A0 00 11 */ li r5, 0x11 +/* 80089C08 00086B48 4B FF F0 0D */ bl TRKStandardACK +/* 80089C0C 00086B4C 48 00 01 2C */ b lbl_80089D38 +lbl_80089C10: +/* 80089C10 00086B50 80 1F 00 08 */ lwz r0, 8(r31) +/* 80089C14 00086B54 28 00 00 0A */ cmplwi r0, 0xa +/* 80089C18 00086B58 41 82 00 18 */ beq lbl_80089C30 +/* 80089C1C 00086B5C 38 7F 00 00 */ addi r3, r31, 0 +/* 80089C20 00086B60 38 80 00 80 */ li r4, 0x80 +/* 80089C24 00086B64 38 A0 00 02 */ li r5, 2 +/* 80089C28 00086B68 4B FF EF ED */ bl TRKStandardACK +/* 80089C2C 00086B6C 48 00 01 0C */ b lbl_80089D38 +lbl_80089C30: +/* 80089C30 00086B70 2C 03 00 00 */ cmpwi r3, 0 +/* 80089C34 00086B74 40 82 00 10 */ bne lbl_80089C44 +/* 80089C38 00086B78 38 7F 00 00 */ addi r3, r31, 0 +/* 80089C3C 00086B7C 38 81 00 0C */ addi r4, r1, 0xc +/* 80089C40 00086B80 4B FF EA 59 */ bl TRKReadBuffer1_ui32 +lbl_80089C44: +/* 80089C44 00086B84 2C 03 00 00 */ cmpwi r3, 0 +/* 80089C48 00086B88 40 82 00 10 */ bne lbl_80089C58 +/* 80089C4C 00086B8C 38 7F 00 00 */ addi r3, r31, 0 +/* 80089C50 00086B90 38 81 00 10 */ addi r4, r1, 0x10 +/* 80089C54 00086B94 4B FF EA 45 */ bl TRKReadBuffer1_ui32 +lbl_80089C58: +/* 80089C58 00086B98 48 00 19 19 */ bl TRKTargetGetPC +/* 80089C5C 00086B9C 80 01 00 0C */ lwz r0, 0xc(r1) +/* 80089C60 00086BA0 7C 03 00 40 */ cmplw r3, r0 +/* 80089C64 00086BA4 41 80 00 10 */ blt lbl_80089C74 +/* 80089C68 00086BA8 80 01 00 10 */ lwz r0, 0x10(r1) +/* 80089C6C 00086BAC 7C 03 00 40 */ cmplw r3, r0 +/* 80089C70 00086BB0 40 81 00 2C */ ble lbl_80089C9C +lbl_80089C74: +/* 80089C74 00086BB4 38 7F 00 00 */ addi r3, r31, 0 +/* 80089C78 00086BB8 38 80 00 80 */ li r4, 0x80 +/* 80089C7C 00086BBC 38 A0 00 11 */ li r5, 0x11 +/* 80089C80 00086BC0 4B FF EF 95 */ bl TRKStandardACK +/* 80089C84 00086BC4 48 00 00 B4 */ b lbl_80089D38 +lbl_80089C88: +/* 80089C88 00086BC8 38 7F 00 00 */ addi r3, r31, 0 +/* 80089C8C 00086BCC 38 80 00 80 */ li r4, 0x80 +/* 80089C90 00086BD0 38 A0 00 12 */ li r5, 0x12 +/* 80089C94 00086BD4 4B FF EF 81 */ bl TRKStandardACK +/* 80089C98 00086BD8 48 00 00 A0 */ b lbl_80089D38 +lbl_80089C9C: +/* 80089C9C 00086BDC 48 00 1A 11 */ bl TRKTargetStopped +/* 80089CA0 00086BE0 2C 03 00 00 */ cmpwi r3, 0 +/* 80089CA4 00086BE4 40 82 00 18 */ bne lbl_80089CBC +/* 80089CA8 00086BE8 38 7F 00 00 */ addi r3, r31, 0 +/* 80089CAC 00086BEC 38 80 00 80 */ li r4, 0x80 +/* 80089CB0 00086BF0 38 A0 00 16 */ li r5, 0x16 +/* 80089CB4 00086BF4 4B FF EF 61 */ bl TRKStandardACK +/* 80089CB8 00086BF8 48 00 00 80 */ b lbl_80089D38 +lbl_80089CBC: +/* 80089CBC 00086BFC 38 7F 00 00 */ addi r3, r31, 0 +/* 80089CC0 00086C00 38 80 00 80 */ li r4, 0x80 +/* 80089CC4 00086C04 38 A0 00 00 */ li r5, 0 +/* 80089CC8 00086C08 4B FF EF 4D */ bl TRKStandardACK +/* 80089CCC 00086C0C 2C 03 00 00 */ cmpwi r3, 0 +/* 80089CD0 00086C10 40 82 00 68 */ bne lbl_80089D38 +/* 80089CD4 00086C14 88 01 00 09 */ lbz r0, 9(r1) +/* 80089CD8 00086C18 2C 00 00 10 */ cmpwi r0, 0x10 +/* 80089CDC 00086C1C 41 82 00 2C */ beq lbl_80089D08 +/* 80089CE0 00086C20 40 80 00 1C */ bge lbl_80089CFC +/* 80089CE4 00086C24 2C 00 00 01 */ cmpwi r0, 1 +/* 80089CE8 00086C28 41 82 00 38 */ beq lbl_80089D20 +/* 80089CEC 00086C2C 40 80 00 4C */ bge lbl_80089D38 +/* 80089CF0 00086C30 2C 00 00 00 */ cmpwi r0, 0 +/* 80089CF4 00086C34 40 80 00 14 */ bge lbl_80089D08 +/* 80089CF8 00086C38 48 00 00 40 */ b lbl_80089D38 +lbl_80089CFC: +/* 80089CFC 00086C3C 2C 00 00 12 */ cmpwi r0, 0x12 +/* 80089D00 00086C40 40 80 00 38 */ bge lbl_80089D38 +/* 80089D04 00086C44 48 00 00 1C */ b lbl_80089D20 +lbl_80089D08: +/* 80089D08 00086C48 20 00 00 10 */ subfic r0, r0, 0x10 +/* 80089D0C 00086C4C 88 61 00 0A */ lbz r3, 0xa(r1) +/* 80089D10 00086C50 7C 00 00 34 */ cntlzw r0, r0 +/* 80089D14 00086C54 54 04 D9 7E */ srwi r4, r0, 5 +/* 80089D18 00086C58 48 00 17 CD */ bl TRKTargetSingleStep +/* 80089D1C 00086C5C 48 00 00 1C */ b lbl_80089D38 +lbl_80089D20: +/* 80089D20 00086C60 20 00 00 11 */ subfic r0, r0, 0x11 +/* 80089D24 00086C64 80 61 00 0C */ lwz r3, 0xc(r1) +/* 80089D28 00086C68 7C 00 00 34 */ cntlzw r0, r0 +/* 80089D2C 00086C6C 80 81 00 10 */ lwz r4, 0x10(r1) +/* 80089D30 00086C70 54 05 D9 7E */ srwi r5, r0, 5 +/* 80089D34 00086C74 48 00 17 F5 */ bl TRKTargetStepOutOfRange +lbl_80089D38: +/* 80089D38 00086C78 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 80089D3C 00086C7C 38 21 00 18 */ addi r1, r1, 0x18 +/* 80089D40 00086C80 80 01 00 04 */ lwz r0, 4(r1) +/* 80089D44 00086C84 7C 08 03 A6 */ mtlr r0 +/* 80089D48 00086C88 4E 80 00 20 */ blr + +.global TRKDoStop +TRKDoStop: +/* 80089D4C 00086C8C 7C 08 02 A6 */ mflr r0 +/* 80089D50 00086C90 90 01 00 04 */ stw r0, 4(r1) +/* 80089D54 00086C94 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80089D58 00086C98 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80089D5C 00086C9C 7C 7F 1B 78 */ mr r31, r3 +/* 80089D60 00086CA0 48 00 19 6D */ bl TRKTargetStop +/* 80089D64 00086CA4 2C 03 07 04 */ cmpwi r3, 0x704 +/* 80089D68 00086CA8 41 82 00 2C */ beq lbl_80089D94 +/* 80089D6C 00086CAC 40 80 00 10 */ bge lbl_80089D7C +/* 80089D70 00086CB0 2C 03 00 00 */ cmpwi r3, 0 +/* 80089D74 00086CB4 41 82 00 18 */ beq lbl_80089D8C +/* 80089D78 00086CB8 48 00 00 34 */ b lbl_80089DAC +lbl_80089D7C: +/* 80089D7C 00086CBC 2C 03 07 06 */ cmpwi r3, 0x706 +/* 80089D80 00086CC0 41 82 00 24 */ beq lbl_80089DA4 +/* 80089D84 00086CC4 40 80 00 28 */ bge lbl_80089DAC +/* 80089D88 00086CC8 48 00 00 14 */ b lbl_80089D9C +lbl_80089D8C: +/* 80089D8C 00086CCC 38 A0 00 00 */ li r5, 0 +/* 80089D90 00086CD0 48 00 00 20 */ b lbl_80089DB0 +lbl_80089D94: +/* 80089D94 00086CD4 38 A0 00 21 */ li r5, 0x21 +/* 80089D98 00086CD8 48 00 00 18 */ b lbl_80089DB0 +lbl_80089D9C: +/* 80089D9C 00086CDC 38 A0 00 22 */ li r5, 0x22 +/* 80089DA0 00086CE0 48 00 00 10 */ b lbl_80089DB0 +lbl_80089DA4: +/* 80089DA4 00086CE4 38 A0 00 20 */ li r5, 0x20 +/* 80089DA8 00086CE8 48 00 00 08 */ b lbl_80089DB0 +lbl_80089DAC: +/* 80089DAC 00086CEC 38 A0 00 01 */ li r5, 1 +lbl_80089DB0: +/* 80089DB0 00086CF0 38 7F 00 00 */ addi r3, r31, 0 +/* 80089DB4 00086CF4 38 80 00 80 */ li r4, 0x80 +/* 80089DB8 00086CF8 4B FF EE 5D */ bl TRKStandardACK +/* 80089DBC 00086CFC 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80089DC0 00086D00 38 21 00 10 */ addi r1, r1, 0x10 +/* 80089DC4 00086D04 80 01 00 04 */ lwz r0, 4(r1) +/* 80089DC8 00086D08 7C 08 03 A6 */ mtlr r0 +/* 80089DCC 00086D0C 4E 80 00 20 */ blr + +.section .data, "wa" # 0x803A8380 - 0x803E6000 +"@175": + .4byte lbl_80089350 + .4byte lbl_80089370 + .4byte lbl_80089348 + .4byte lbl_80089370 + .4byte lbl_80089358 + .4byte lbl_80089360 + .4byte lbl_80089368 +"@214": + .4byte lbl_8008954C + .4byte lbl_8008956C + .4byte lbl_80089544 + .4byte lbl_8008956C + .4byte lbl_80089554 + .4byte lbl_8008955C + .4byte lbl_80089564 diff --git a/asm/TRK_MINNOW_DOLPHIN/mutex_TRK.s b/asm/TRK_MINNOW_DOLPHIN/mutex_TRK.s new file mode 100644 index 0000000..0d70ce4 --- /dev/null +++ b/asm/TRK_MINNOW_DOLPHIN/mutex_TRK.s @@ -0,0 +1,17 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80005600 - 0x8036FBA0 +.global TRKInitializeMutex +TRKInitializeMutex: +/* 8008A24C 0008718C 38 60 00 00 */ li r3, 0 +/* 8008A250 00087190 4E 80 00 20 */ blr + +.global TRKAcquireMutex +TRKAcquireMutex: +/* 8008A254 00087194 38 60 00 00 */ li r3, 0 +/* 8008A258 00087198 4E 80 00 20 */ blr + +.global TRKReleaseMutex +TRKReleaseMutex: +/* 8008A25C 0008719C 38 60 00 00 */ li r3, 0 +/* 8008A260 000871A0 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/notify.s b/asm/TRK_MINNOW_DOLPHIN/notify.s new file mode 100644 index 0000000..58e7805 --- /dev/null +++ b/asm/TRK_MINNOW_DOLPHIN/notify.s @@ -0,0 +1,65 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80005600 - 0x8036FBA0 +.global TRKDoNotifyStopped +TRKDoNotifyStopped: +/* 8008A264 000871A4 7C 08 02 A6 */ mflr r0 +/* 8008A268 000871A8 90 01 00 04 */ stw r0, 4(r1) +/* 8008A26C 000871AC 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8008A270 000871B0 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8008A274 000871B4 38 81 00 0C */ addi r4, r1, 0xc +/* 8008A278 000871B8 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8008A27C 000871BC 3B C3 00 00 */ addi r30, r3, 0 +/* 8008A280 000871C0 38 61 00 08 */ addi r3, r1, 8 +/* 8008A284 000871C4 4B FF DE 7D */ bl TRKGetFreeBuffer +/* 8008A288 000871C8 7C 7F 1B 79 */ or. r31, r3, r3 +/* 8008A28C 000871CC 40 82 00 94 */ bne lbl_8008A320 +/* 8008A290 000871D0 80 A1 00 0C */ lwz r5, 0xc(r1) +/* 8008A294 000871D4 80 65 00 0C */ lwz r3, 0xc(r5) +/* 8008A298 000871D8 28 03 08 80 */ cmplwi r3, 0x880 +/* 8008A29C 000871DC 41 80 00 0C */ blt lbl_8008A2A8 +/* 8008A2A0 000871E0 38 80 03 01 */ li r4, 0x301 +/* 8008A2A4 000871E4 48 00 00 24 */ b lbl_8008A2C8 +lbl_8008A2A8: +/* 8008A2A8 000871E8 38 03 00 01 */ addi r0, r3, 1 +/* 8008A2AC 000871EC 7C 65 1A 14 */ add r3, r5, r3 +/* 8008A2B0 000871F0 90 05 00 0C */ stw r0, 0xc(r5) +/* 8008A2B4 000871F4 38 80 00 00 */ li r4, 0 +/* 8008A2B8 000871F8 9B C3 00 10 */ stb r30, 0x10(r3) +/* 8008A2BC 000871FC 80 65 00 08 */ lwz r3, 8(r5) +/* 8008A2C0 00087200 38 03 00 01 */ addi r0, r3, 1 +/* 8008A2C4 00087204 90 05 00 08 */ stw r0, 8(r5) +lbl_8008A2C8: +/* 8008A2C8 00087208 2C 04 00 00 */ cmpwi r4, 0 +/* 8008A2CC 0008720C 40 82 00 24 */ bne lbl_8008A2F0 +/* 8008A2D0 00087210 57 C0 06 3E */ clrlwi r0, r30, 0x18 +/* 8008A2D4 00087214 28 00 00 90 */ cmplwi r0, 0x90 +/* 8008A2D8 00087218 40 82 00 10 */ bne lbl_8008A2E8 +/* 8008A2DC 0008721C 80 61 00 0C */ lwz r3, 0xc(r1) +/* 8008A2E0 00087220 48 00 0F 55 */ bl TRKTargetAddStopInfo +/* 8008A2E4 00087224 48 00 00 0C */ b lbl_8008A2F0 +lbl_8008A2E8: +/* 8008A2E8 00087228 80 61 00 0C */ lwz r3, 0xc(r1) +/* 8008A2EC 0008722C 48 00 0F D9 */ bl TRKTargetAddExceptionInfo +lbl_8008A2F0: +/* 8008A2F0 00087230 80 61 00 0C */ lwz r3, 0xc(r1) +/* 8008A2F4 00087234 38 81 00 10 */ addi r4, r1, 0x10 +/* 8008A2F8 00087238 38 A0 00 02 */ li r5, 2 +/* 8008A2FC 0008723C 38 C0 00 03 */ li r6, 3 +/* 8008A300 00087240 38 E0 00 01 */ li r7, 1 +/* 8008A304 00087244 4B FF FD A5 */ bl TRKRequestSend +/* 8008A308 00087248 7C 7F 1B 79 */ or. r31, r3, r3 +/* 8008A30C 0008724C 40 82 00 0C */ bne lbl_8008A318 +/* 8008A310 00087250 80 61 00 10 */ lwz r3, 0x10(r1) +/* 8008A314 00087254 4B FF DE B5 */ bl TRKReleaseBuffer +lbl_8008A318: +/* 8008A318 00087258 80 61 00 08 */ lwz r3, 8(r1) +/* 8008A31C 0008725C 4B FF DE AD */ bl TRKReleaseBuffer +lbl_8008A320: +/* 8008A320 00087260 7F E3 FB 78 */ mr r3, r31 +/* 8008A324 00087264 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8008A328 00087268 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8008A32C 0008726C 38 21 00 20 */ addi r1, r1, 0x20 +/* 8008A330 00087270 80 01 00 04 */ lwz r0, 4(r1) +/* 8008A334 00087274 7C 08 03 A6 */ mtlr r0 +/* 8008A338 00087278 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/nubevent.s b/asm/TRK_MINNOW_DOLPHIN/nubevent.s new file mode 100644 index 0000000..1e540bf --- /dev/null +++ b/asm/TRK_MINNOW_DOLPHIN/nubevent.s @@ -0,0 +1,181 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80005600 - 0x8036FBA0 +.global TRKInitializeEventQueue +TRKInitializeEventQueue: +/* 80087C68 00084BA8 7C 08 02 A6 */ mflr r0 +/* 80087C6C 00084BAC 3C 60 80 3F */ lis r3, gTRKEventQueue@ha +/* 80087C70 00084BB0 90 01 00 04 */ stw r0, 4(r1) +/* 80087C74 00084BB4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80087C78 00084BB8 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80087C7C 00084BBC 3B E3 90 E0 */ addi r31, r3, gTRKEventQueue@l +/* 80087C80 00084BC0 38 7F 00 00 */ addi r3, r31, 0 +/* 80087C84 00084BC4 48 00 25 C9 */ bl TRKInitializeMutex +/* 80087C88 00084BC8 7F E3 FB 78 */ mr r3, r31 +/* 80087C8C 00084BCC 48 00 25 C9 */ bl TRKAcquireMutex +/* 80087C90 00084BD0 38 60 00 00 */ li r3, 0 +/* 80087C94 00084BD4 90 7F 00 04 */ stw r3, 4(r31) +/* 80087C98 00084BD8 38 00 01 00 */ li r0, 0x100 +/* 80087C9C 00084BDC 90 7F 00 08 */ stw r3, 8(r31) +/* 80087CA0 00084BE0 7F E3 FB 78 */ mr r3, r31 +/* 80087CA4 00084BE4 90 1F 00 24 */ stw r0, 0x24(r31) +/* 80087CA8 00084BE8 48 00 25 B5 */ bl TRKReleaseMutex +/* 80087CAC 00084BEC 38 60 00 00 */ li r3, 0 +/* 80087CB0 00084BF0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80087CB4 00084BF4 38 21 00 10 */ addi r1, r1, 0x10 +/* 80087CB8 00084BF8 80 01 00 04 */ lwz r0, 4(r1) +/* 80087CBC 00084BFC 7C 08 03 A6 */ mtlr r0 +/* 80087CC0 00084C00 4E 80 00 20 */ blr + +.global TRKCopyEvent +TRKCopyEvent: +/* 80087CC4 00084C04 7C 08 02 A6 */ mflr r0 +/* 80087CC8 00084C08 38 A0 00 0C */ li r5, 0xc +/* 80087CCC 00084C0C 90 01 00 04 */ stw r0, 4(r1) +/* 80087CD0 00084C10 94 21 FF F8 */ stwu r1, -8(r1) +/* 80087CD4 00084C14 4B F7 B5 71 */ bl TRK_memcpy +/* 80087CD8 00084C18 38 21 00 08 */ addi r1, r1, 8 +/* 80087CDC 00084C1C 80 01 00 04 */ lwz r0, 4(r1) +/* 80087CE0 00084C20 7C 08 03 A6 */ mtlr r0 +/* 80087CE4 00084C24 4E 80 00 20 */ blr + +.global TRKGetNextEvent +TRKGetNextEvent: +/* 80087CE8 00084C28 7C 08 02 A6 */ mflr r0 +/* 80087CEC 00084C2C 3C 80 80 3F */ lis r4, gTRKEventQueue@ha +/* 80087CF0 00084C30 90 01 00 04 */ stw r0, 4(r1) +/* 80087CF4 00084C34 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 80087CF8 00084C38 93 E1 00 14 */ stw r31, 0x14(r1) +/* 80087CFC 00084C3C 3B E4 90 E0 */ addi r31, r4, gTRKEventQueue@l +/* 80087D00 00084C40 93 C1 00 10 */ stw r30, 0x10(r1) +/* 80087D04 00084C44 93 A1 00 0C */ stw r29, 0xc(r1) +/* 80087D08 00084C48 3B A0 00 00 */ li r29, 0 +/* 80087D0C 00084C4C 93 81 00 08 */ stw r28, 8(r1) +/* 80087D10 00084C50 3B 83 00 00 */ addi r28, r3, 0 +/* 80087D14 00084C54 38 7F 00 00 */ addi r3, r31, 0 +/* 80087D18 00084C58 48 00 25 3D */ bl TRKAcquireMutex +/* 80087D1C 00084C5C 3B DF 00 04 */ addi r30, r31, 4 +/* 80087D20 00084C60 80 1F 00 04 */ lwz r0, 4(r31) +/* 80087D24 00084C64 2C 00 00 00 */ cmpwi r0, 0 +/* 80087D28 00084C68 40 81 00 50 */ ble lbl_80087D78 +/* 80087D2C 00084C6C 3B BF 00 08 */ addi r29, r31, 8 +/* 80087D30 00084C70 80 1F 00 08 */ lwz r0, 8(r31) +/* 80087D34 00084C74 38 7C 00 00 */ addi r3, r28, 0 +/* 80087D38 00084C78 1C 00 00 0C */ mulli r0, r0, 0xc +/* 80087D3C 00084C7C 7C 9F 02 14 */ add r4, r31, r0 +/* 80087D40 00084C80 38 84 00 0C */ addi r4, r4, 0xc +/* 80087D44 00084C84 4B FF FF 81 */ bl TRKCopyEvent +/* 80087D48 00084C88 80 7E 00 00 */ lwz r3, 0(r30) +/* 80087D4C 00084C8C 38 03 FF FF */ addi r0, r3, -1 +/* 80087D50 00084C90 90 1E 00 00 */ stw r0, 0(r30) +/* 80087D54 00084C94 80 7D 00 00 */ lwz r3, 0(r29) +/* 80087D58 00084C98 38 03 00 01 */ addi r0, r3, 1 +/* 80087D5C 00084C9C 90 1D 00 00 */ stw r0, 0(r29) +/* 80087D60 00084CA0 80 1D 00 00 */ lwz r0, 0(r29) +/* 80087D64 00084CA4 2C 00 00 02 */ cmpwi r0, 2 +/* 80087D68 00084CA8 40 82 00 0C */ bne lbl_80087D74 +/* 80087D6C 00084CAC 38 00 00 00 */ li r0, 0 +/* 80087D70 00084CB0 90 1D 00 00 */ stw r0, 0(r29) +lbl_80087D74: +/* 80087D74 00084CB4 3B A0 00 01 */ li r29, 1 +lbl_80087D78: +/* 80087D78 00084CB8 3C 60 80 3F */ lis r3, gTRKEventQueue@ha +/* 80087D7C 00084CBC 38 63 90 E0 */ addi r3, r3, gTRKEventQueue@l +/* 80087D80 00084CC0 48 00 24 DD */ bl TRKReleaseMutex +/* 80087D84 00084CC4 7F A3 EB 78 */ mr r3, r29 +/* 80087D88 00084CC8 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 80087D8C 00084CCC 83 C1 00 10 */ lwz r30, 0x10(r1) +/* 80087D90 00084CD0 83 A1 00 0C */ lwz r29, 0xc(r1) +/* 80087D94 00084CD4 83 81 00 08 */ lwz r28, 8(r1) +/* 80087D98 00084CD8 38 21 00 18 */ addi r1, r1, 0x18 +/* 80087D9C 00084CDC 80 01 00 04 */ lwz r0, 4(r1) +/* 80087DA0 00084CE0 7C 08 03 A6 */ mtlr r0 +/* 80087DA4 00084CE4 4E 80 00 20 */ blr + +.global TRKPostEvent +TRKPostEvent: +/* 80087DA8 00084CE8 7C 08 02 A6 */ mflr r0 +/* 80087DAC 00084CEC 3C 80 80 3F */ lis r4, gTRKEventQueue@ha +/* 80087DB0 00084CF0 90 01 00 04 */ stw r0, 4(r1) +/* 80087DB4 00084CF4 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 80087DB8 00084CF8 93 E1 00 14 */ stw r31, 0x14(r1) +/* 80087DBC 00084CFC 3B E3 00 00 */ addi r31, r3, 0 +/* 80087DC0 00084D00 93 C1 00 10 */ stw r30, 0x10(r1) +/* 80087DC4 00084D04 3B C4 90 E0 */ addi r30, r4, gTRKEventQueue@l +/* 80087DC8 00084D08 38 7E 00 00 */ addi r3, r30, 0 +/* 80087DCC 00084D0C 93 A1 00 0C */ stw r29, 0xc(r1) +/* 80087DD0 00084D10 93 81 00 08 */ stw r28, 8(r1) +/* 80087DD4 00084D14 3B 80 00 00 */ li r28, 0 +/* 80087DD8 00084D18 48 00 24 7D */ bl TRKAcquireMutex +/* 80087DDC 00084D1C 3B BE 00 04 */ addi r29, r30, 4 +/* 80087DE0 00084D20 80 7E 00 04 */ lwz r3, 4(r30) +/* 80087DE4 00084D24 2C 03 00 02 */ cmpwi r3, 2 +/* 80087DE8 00084D28 40 82 00 0C */ bne lbl_80087DF4 +/* 80087DEC 00084D2C 3B 80 01 00 */ li r28, 0x100 +/* 80087DF0 00084D30 48 00 00 68 */ b lbl_80087E58 +lbl_80087DF4: +/* 80087DF4 00084D34 80 1E 00 08 */ lwz r0, 8(r30) +/* 80087DF8 00084D38 38 9F 00 00 */ addi r4, r31, 0 +/* 80087DFC 00084D3C 7C 00 1A 14 */ add r0, r0, r3 +/* 80087E00 00084D40 7C 03 0E 70 */ srawi r3, r0, 1 +/* 80087E04 00084D44 7C 63 01 94 */ addze r3, r3 +/* 80087E08 00084D48 54 63 08 3C */ slwi r3, r3, 1 +/* 80087E0C 00084D4C 7C 63 00 10 */ subfc r3, r3, r0 +/* 80087E10 00084D50 1C 03 00 0C */ mulli r0, r3, 0xc +/* 80087E14 00084D54 7F FE 02 14 */ add r31, r30, r0 +/* 80087E18 00084D58 38 7F 00 0C */ addi r3, r31, 0xc +/* 80087E1C 00084D5C 4B FF FE A9 */ bl TRKCopyEvent +/* 80087E20 00084D60 38 9E 00 24 */ addi r4, r30, 0x24 +/* 80087E24 00084D64 80 1E 00 24 */ lwz r0, 0x24(r30) +/* 80087E28 00084D68 90 1F 00 10 */ stw r0, 0x10(r31) +/* 80087E2C 00084D6C 80 7E 00 24 */ lwz r3, 0x24(r30) +/* 80087E30 00084D70 38 03 00 01 */ addi r0, r3, 1 +/* 80087E34 00084D74 90 1E 00 24 */ stw r0, 0x24(r30) +/* 80087E38 00084D78 80 1E 00 24 */ lwz r0, 0x24(r30) +/* 80087E3C 00084D7C 28 00 01 00 */ cmplwi r0, 0x100 +/* 80087E40 00084D80 40 80 00 0C */ bge lbl_80087E4C +/* 80087E44 00084D84 38 00 01 00 */ li r0, 0x100 +/* 80087E48 00084D88 90 04 00 00 */ stw r0, 0(r4) +lbl_80087E4C: +/* 80087E4C 00084D8C 80 7D 00 00 */ lwz r3, 0(r29) +/* 80087E50 00084D90 38 03 00 01 */ addi r0, r3, 1 +/* 80087E54 00084D94 90 1D 00 00 */ stw r0, 0(r29) +lbl_80087E58: +/* 80087E58 00084D98 3C 60 80 3F */ lis r3, gTRKEventQueue@ha +/* 80087E5C 00084D9C 38 63 90 E0 */ addi r3, r3, gTRKEventQueue@l +/* 80087E60 00084DA0 48 00 23 FD */ bl TRKReleaseMutex +/* 80087E64 00084DA4 7F 83 E3 78 */ mr r3, r28 +/* 80087E68 00084DA8 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 80087E6C 00084DAC 83 C1 00 10 */ lwz r30, 0x10(r1) +/* 80087E70 00084DB0 83 A1 00 0C */ lwz r29, 0xc(r1) +/* 80087E74 00084DB4 83 81 00 08 */ lwz r28, 8(r1) +/* 80087E78 00084DB8 38 21 00 18 */ addi r1, r1, 0x18 +/* 80087E7C 00084DBC 80 01 00 04 */ lwz r0, 4(r1) +/* 80087E80 00084DC0 7C 08 03 A6 */ mtlr r0 +/* 80087E84 00084DC4 4E 80 00 20 */ blr + +.global TRKConstructEvent +TRKConstructEvent: +/* 80087E88 00084DC8 98 83 00 00 */ stb r4, 0(r3) +/* 80087E8C 00084DCC 38 80 00 00 */ li r4, 0 +/* 80087E90 00084DD0 38 00 FF FF */ li r0, -1 +/* 80087E94 00084DD4 90 83 00 04 */ stw r4, 4(r3) +/* 80087E98 00084DD8 90 03 00 08 */ stw r0, 8(r3) +/* 80087E9C 00084DDC 4E 80 00 20 */ blr + +.global TRKDestructEvent +TRKDestructEvent: +/* 80087EA0 00084DE0 7C 08 02 A6 */ mflr r0 +/* 80087EA4 00084DE4 90 01 00 04 */ stw r0, 4(r1) +/* 80087EA8 00084DE8 94 21 FF F8 */ stwu r1, -8(r1) +/* 80087EAC 00084DEC 80 63 00 08 */ lwz r3, 8(r3) +/* 80087EB0 00084DF0 48 00 03 19 */ bl TRKReleaseBuffer +/* 80087EB4 00084DF4 38 21 00 08 */ addi r1, r1, 8 +/* 80087EB8 00084DF8 80 01 00 04 */ lwz r0, 4(r1) +/* 80087EBC 00084DFC 7C 08 03 A6 */ mtlr r0 +/* 80087EC0 00084E00 4E 80 00 20 */ blr + +.section .bss, "wa" # 0x803E6000 - 0x80408AC0 +.global gTRKEventQueue +gTRKEventQueue: + .skip 0x28 diff --git a/asm/TRK_MINNOW_DOLPHIN/nubinit.s b/asm/TRK_MINNOW_DOLPHIN/nubinit.s new file mode 100644 index 0000000..38c1598 --- /dev/null +++ b/asm/TRK_MINNOW_DOLPHIN/nubinit.s @@ -0,0 +1,136 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80005600 - 0x8036FBA0 +.global TRKInitializeNub +TRKInitializeNub: +/* 80087EC4 00084E04 7C 08 02 A6 */ mflr r0 +/* 80087EC8 00084E08 90 01 00 04 */ stw r0, 4(r1) +/* 80087ECC 00084E0C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80087ED0 00084E10 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80087ED4 00084E14 93 C1 00 08 */ stw r30, 8(r1) +/* 80087ED8 00084E18 48 00 01 0D */ bl TRKInitializeEndian +/* 80087EDC 00084E1C 7C 7E 1B 79 */ or. r30, r3, r3 +/* 80087EE0 00084E20 40 82 00 08 */ bne lbl_80087EE8 +/* 80087EE4 00084E24 48 00 0B AD */ bl usr_put_initialize +lbl_80087EE8: +/* 80087EE8 00084E28 2C 1E 00 00 */ cmpwi r30, 0 +/* 80087EEC 00084E2C 40 82 00 0C */ bne lbl_80087EF8 +/* 80087EF0 00084E30 4B FF FD 79 */ bl TRKInitializeEventQueue +/* 80087EF4 00084E34 7C 7E 1B 78 */ mr r30, r3 +lbl_80087EF8: +/* 80087EF8 00084E38 2C 1E 00 00 */ cmpwi r30, 0 +/* 80087EFC 00084E3C 40 82 00 0C */ bne lbl_80087F08 +/* 80087F00 00084E40 48 00 01 89 */ bl TRKInitializeMessageBuffers +/* 80087F04 00084E44 7C 7E 1B 78 */ mr r30, r3 +lbl_80087F08: +/* 80087F08 00084E48 2C 1E 00 00 */ cmpwi r30, 0 +/* 80087F0C 00084E4C 40 82 00 0C */ bne lbl_80087F18 +/* 80087F10 00084E50 48 00 0B 85 */ bl TRKInitializeDispatcher +/* 80087F14 00084E54 7C 7E 1B 78 */ mr r30, r3 +lbl_80087F18: +/* 80087F18 00084E58 2C 1E 00 00 */ cmpwi r30, 0 +/* 80087F1C 00084E5C 40 82 00 40 */ bne lbl_80087F5C +/* 80087F20 00084E60 3C 60 80 3F */ lis r3, gTRKInputPendingPtr@ha +/* 80087F24 00084E64 3B E3 AA D4 */ addi r31, r3, gTRKInputPendingPtr@l +/* 80087F28 00084E68 3C 60 00 01 */ lis r3, 0x0000E100@ha +/* 80087F2C 00084E6C 38 DF 00 00 */ addi r6, r31, 0 +/* 80087F30 00084E70 38 63 E1 00 */ addi r3, r3, 0x0000E100@l +/* 80087F34 00084E74 38 80 00 01 */ li r4, 1 +/* 80087F38 00084E78 38 A0 00 00 */ li r5, 0 +/* 80087F3C 00084E7C 48 00 42 85 */ bl TRKInitializeIntDrivenUART +/* 80087F40 00084E80 7C 60 1B 78 */ mr r0, r3 +/* 80087F44 00084E84 80 7F 00 00 */ lwz r3, 0(r31) +/* 80087F48 00084E88 7C 1F 03 78 */ mr r31, r0 +/* 80087F4C 00084E8C 48 00 3A B9 */ bl TRKTargetSetInputPendingPtr +/* 80087F50 00084E90 2C 1F 00 00 */ cmpwi r31, 0 +/* 80087F54 00084E94 41 82 00 08 */ beq lbl_80087F5C +/* 80087F58 00084E98 7F FE FB 78 */ mr r30, r31 +lbl_80087F5C: +/* 80087F5C 00084E9C 2C 1E 00 00 */ cmpwi r30, 0 +/* 80087F60 00084EA0 40 82 00 0C */ bne lbl_80087F6C +/* 80087F64 00084EA4 48 00 0B 01 */ bl TRKInitializeSerialHandler +/* 80087F68 00084EA8 7C 7E 1B 78 */ mr r30, r3 +lbl_80087F6C: +/* 80087F6C 00084EAC 2C 1E 00 00 */ cmpwi r30, 0 +/* 80087F70 00084EB0 40 82 00 0C */ bne lbl_80087F7C +/* 80087F74 00084EB4 48 00 3C 91 */ bl TRKInitializeTarget +/* 80087F78 00084EB8 7C 7E 1B 78 */ mr r30, r3 +lbl_80087F7C: +/* 80087F7C 00084EBC 7F C3 F3 78 */ mr r3, r30 +/* 80087F80 00084EC0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80087F84 00084EC4 83 C1 00 08 */ lwz r30, 8(r1) +/* 80087F88 00084EC8 38 21 00 10 */ addi r1, r1, 0x10 +/* 80087F8C 00084ECC 80 01 00 04 */ lwz r0, 4(r1) +/* 80087F90 00084ED0 7C 08 03 A6 */ mtlr r0 +/* 80087F94 00084ED4 4E 80 00 20 */ blr + +.global TRKTerminateNub +TRKTerminateNub: +/* 80087F98 00084ED8 7C 08 02 A6 */ mflr r0 +/* 80087F9C 00084EDC 90 01 00 04 */ stw r0, 4(r1) +/* 80087FA0 00084EE0 94 21 FF F8 */ stwu r1, -8(r1) +/* 80087FA4 00084EE4 48 00 0A E5 */ bl TRKTerminateSerialHandler +/* 80087FA8 00084EE8 38 60 00 00 */ li r3, 0 +/* 80087FAC 00084EEC 38 21 00 08 */ addi r1, r1, 8 +/* 80087FB0 00084EF0 80 01 00 04 */ lwz r0, 4(r1) +/* 80087FB4 00084EF4 7C 08 03 A6 */ mtlr r0 +/* 80087FB8 00084EF8 4E 80 00 20 */ blr + +.global TRKNubWelcome +TRKNubWelcome: +/* 80087FBC 00084EFC 7C 08 02 A6 */ mflr r0 +/* 80087FC0 00084F00 3C 60 80 37 */ lis r3, "@40"@ha +/* 80087FC4 00084F04 90 01 00 04 */ stw r0, 4(r1) +/* 80087FC8 00084F08 38 63 21 F0 */ addi r3, r3, "@40"@l +/* 80087FCC 00084F0C 94 21 FF F8 */ stwu r1, -8(r1) +/* 80087FD0 00084F10 48 00 43 79 */ bl TRK_board_display +/* 80087FD4 00084F14 38 21 00 08 */ addi r1, r1, 8 +/* 80087FD8 00084F18 80 01 00 04 */ lwz r0, 4(r1) +/* 80087FDC 00084F1C 7C 08 03 A6 */ mtlr r0 +/* 80087FE0 00084F20 4E 80 00 20 */ blr + +.global TRKInitializeEndian +TRKInitializeEndian: +/* 80087FE4 00084F24 3C 60 80 3F */ lis r3, gTRKBigEndian@ha +/* 80087FE8 00084F28 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80087FEC 00084F2C 38 A3 91 08 */ addi r5, r3, gTRKBigEndian@l +/* 80087FF0 00084F30 38 C0 00 01 */ li r6, 1 +/* 80087FF4 00084F34 90 C5 00 00 */ stw r6, 0(r5) +/* 80087FF8 00084F38 38 00 00 12 */ li r0, 0x12 +/* 80087FFC 00084F3C 38 60 00 34 */ li r3, 0x34 +/* 80088000 00084F40 98 01 00 08 */ stb r0, 8(r1) +/* 80088004 00084F44 38 80 00 56 */ li r4, 0x56 +/* 80088008 00084F48 38 00 00 78 */ li r0, 0x78 +/* 8008800C 00084F4C 98 61 00 09 */ stb r3, 9(r1) +/* 80088010 00084F50 38 60 00 00 */ li r3, 0 +/* 80088014 00084F54 98 81 00 0A */ stb r4, 0xa(r1) +/* 80088018 00084F58 98 01 00 0B */ stb r0, 0xb(r1) +/* 8008801C 00084F5C 80 81 00 08 */ lwz r4, 8(r1) +/* 80088020 00084F60 3C 04 ED CC */ addis r0, r4, 0xedcc +/* 80088024 00084F64 28 00 56 78 */ cmplwi r0, 0x5678 +/* 80088028 00084F68 40 82 00 0C */ bne lbl_80088034 +/* 8008802C 00084F6C 90 C5 00 00 */ stw r6, 0(r5) +/* 80088030 00084F70 48 00 00 20 */ b lbl_80088050 +lbl_80088034: +/* 80088034 00084F74 3C 04 87 AA */ addis r0, r4, 0x87aa +/* 80088038 00084F78 28 00 34 12 */ cmplwi r0, 0x3412 +/* 8008803C 00084F7C 40 82 00 10 */ bne lbl_8008804C +/* 80088040 00084F80 38 00 00 00 */ li r0, 0 +/* 80088044 00084F84 90 05 00 00 */ stw r0, 0(r5) +/* 80088048 00084F88 48 00 00 08 */ b lbl_80088050 +lbl_8008804C: +/* 8008804C 00084F8C 38 60 00 01 */ li r3, 1 +lbl_80088050: +/* 80088050 00084F90 38 21 00 10 */ addi r1, r1, 0x10 +/* 80088054 00084F94 4E 80 00 20 */ blr + +.section .rodata, "a" # 0x8036FFA0 - 0x803A8380 +.balign 8 +"@40": + .asciz "MetroTRK for Dolphin v0.8" +.balign 8 + +.section .bss, "wa" # 0x803E6000 - 0x80408AC0 +.global gTRKBigEndian +gTRKBigEndian: + .skip 0x8 diff --git a/asm/TRK_MINNOW_DOLPHIN/serpoll.s b/asm/TRK_MINNOW_DOLPHIN/serpoll.s new file mode 100644 index 0000000..9025e26 --- /dev/null +++ b/asm/TRK_MINNOW_DOLPHIN/serpoll.s @@ -0,0 +1,149 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80005600 - 0x8036FBA0 +.global TRKTestForPacket +TRKTestForPacket: +/* 800888C8 00085808 7C 08 02 A6 */ mflr r0 +/* 800888CC 0008580C 90 01 00 04 */ stw r0, 4(r1) +/* 800888D0 00085810 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 800888D4 00085814 93 E1 00 14 */ stw r31, 0x14(r1) +/* 800888D8 00085818 93 C1 00 10 */ stw r30, 0x10(r1) +/* 800888DC 0008581C 48 00 39 55 */ bl TRKPollUART +/* 800888E0 00085820 7C 7E 1B 79 */ or. r30, r3, r3 +/* 800888E4 00085824 40 81 00 88 */ ble lbl_8008896C +/* 800888E8 00085828 38 61 00 08 */ addi r3, r1, 8 +/* 800888EC 0008582C 38 81 00 0C */ addi r4, r1, 0xc +/* 800888F0 00085830 4B FF F8 11 */ bl TRKGetFreeBuffer +/* 800888F4 00085834 2C 1E 08 80 */ cmpwi r30, 0x880 +/* 800888F8 00085838 40 81 00 4C */ ble lbl_80088944 +/* 800888FC 0008583C 48 00 00 2C */ b lbl_80088928 +lbl_80088900: +/* 80088900 00085840 2C 1E 08 80 */ cmpwi r30, 0x880 +/* 80088904 00085844 40 81 00 0C */ ble lbl_80088910 +/* 80088908 00085848 3B E0 08 80 */ li r31, 0x880 +/* 8008890C 0008584C 48 00 00 08 */ b lbl_80088914 +lbl_80088910: +/* 80088910 00085850 7F DF F3 78 */ mr r31, r30 +lbl_80088914: +/* 80088914 00085854 80 61 00 0C */ lwz r3, 0xc(r1) +/* 80088918 00085858 38 9F 00 00 */ addi r4, r31, 0 +/* 8008891C 0008585C 38 63 00 10 */ addi r3, r3, 0x10 +/* 80088920 00085860 48 00 39 41 */ bl TRKReadUARTN +/* 80088924 00085864 7F DF F0 50 */ subf r30, r31, r30 +lbl_80088928: +/* 80088928 00085868 2C 1E 00 00 */ cmpwi r30, 0 +/* 8008892C 0008586C 41 81 FF D4 */ bgt lbl_80088900 +/* 80088930 00085870 80 61 00 0C */ lwz r3, 0xc(r1) +/* 80088934 00085874 38 80 00 FF */ li r4, 0xff +/* 80088938 00085878 38 A0 00 06 */ li r5, 6 +/* 8008893C 0008587C 48 00 02 D9 */ bl TRKStandardACK +/* 80088940 00085880 48 00 00 2C */ b lbl_8008896C +lbl_80088944: +/* 80088944 00085884 80 61 00 0C */ lwz r3, 0xc(r1) +/* 80088948 00085888 38 9E 00 00 */ addi r4, r30, 0 +/* 8008894C 0008588C 38 63 00 10 */ addi r3, r3, 0x10 +/* 80088950 00085890 48 00 39 11 */ bl TRKReadUARTN +/* 80088954 00085894 2C 03 00 00 */ cmpwi r3, 0 +/* 80088958 00085898 40 82 00 14 */ bne lbl_8008896C +/* 8008895C 0008589C 80 61 00 0C */ lwz r3, 0xc(r1) +/* 80088960 000858A0 93 C3 00 08 */ stw r30, 8(r3) +/* 80088964 000858A4 80 61 00 08 */ lwz r3, 8(r1) +/* 80088968 000858A8 48 00 00 18 */ b lbl_80088980 +lbl_8008896C: +/* 8008896C 000858AC 80 61 00 08 */ lwz r3, 8(r1) +/* 80088970 000858B0 2C 03 FF FF */ cmpwi r3, -1 +/* 80088974 000858B4 41 82 00 08 */ beq lbl_8008897C +/* 80088978 000858B8 4B FF F8 51 */ bl TRKReleaseBuffer +lbl_8008897C: +/* 8008897C 000858BC 38 60 FF FF */ li r3, -1 +lbl_80088980: +/* 80088980 000858C0 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 80088984 000858C4 83 C1 00 10 */ lwz r30, 0x10(r1) +/* 80088988 000858C8 38 21 00 18 */ addi r1, r1, 0x18 +/* 8008898C 000858CC 80 01 00 04 */ lwz r0, 4(r1) +/* 80088990 000858D0 7C 08 03 A6 */ mtlr r0 +/* 80088994 000858D4 4E 80 00 20 */ blr + +.global TRKGetInput +TRKGetInput: +/* 80088998 000858D8 7C 08 02 A6 */ mflr r0 +/* 8008899C 000858DC 90 01 00 04 */ stw r0, 4(r1) +/* 800889A0 000858E0 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 800889A4 000858E4 93 E1 00 14 */ stw r31, 0x14(r1) +/* 800889A8 000858E8 93 C1 00 10 */ stw r30, 0x10(r1) +/* 800889AC 000858EC 4B FF FF 1D */ bl TRKTestForPacket +/* 800889B0 000858F0 3B C3 00 00 */ addi r30, r3, 0 +/* 800889B4 000858F4 2C 1E FF FF */ cmpwi r30, -1 +/* 800889B8 000858F8 41 82 00 44 */ beq lbl_800889FC +/* 800889BC 000858FC 7F C3 F3 78 */ mr r3, r30 +/* 800889C0 00085900 4B FF F7 DD */ bl TRKGetBuffer +/* 800889C4 00085904 3B E3 00 00 */ addi r31, r3, 0 +/* 800889C8 00085908 38 80 00 00 */ li r4, 0 +/* 800889CC 0008590C 4B FF F8 A5 */ bl TRKSetBufferPosition +/* 800889D0 00085910 38 7F 00 00 */ addi r3, r31, 0 +/* 800889D4 00085914 38 81 00 08 */ addi r4, r1, 8 +/* 800889D8 00085918 4B FF FC 1D */ bl TRKReadBuffer1_ui8 +/* 800889DC 0008591C 88 01 00 08 */ lbz r0, 8(r1) +/* 800889E0 00085920 28 00 00 80 */ cmplwi r0, 0x80 +/* 800889E4 00085924 40 80 00 10 */ bge lbl_800889F4 +/* 800889E8 00085928 7F C3 F3 78 */ mr r3, r30 +/* 800889EC 0008592C 48 00 00 29 */ bl TRKProcessInput +/* 800889F0 00085930 48 00 00 0C */ b lbl_800889FC +lbl_800889F4: +/* 800889F4 00085934 7F C3 F3 78 */ mr r3, r30 +/* 800889F8 00085938 4B FF F7 D1 */ bl TRKReleaseBuffer +lbl_800889FC: +/* 800889FC 0008593C 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 80088A00 00085940 83 C1 00 10 */ lwz r30, 0x10(r1) +/* 80088A04 00085944 38 21 00 18 */ addi r1, r1, 0x18 +/* 80088A08 00085948 80 01 00 04 */ lwz r0, 4(r1) +/* 80088A0C 0008594C 7C 08 03 A6 */ mtlr r0 +/* 80088A10 00085950 4E 80 00 20 */ blr + +.global TRKProcessInput +TRKProcessInput: +/* 80088A14 00085954 7C 08 02 A6 */ mflr r0 +/* 80088A18 00085958 38 80 00 02 */ li r4, 2 +/* 80088A1C 0008595C 90 01 00 04 */ stw r0, 4(r1) +/* 80088A20 00085960 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 80088A24 00085964 93 E1 00 14 */ stw r31, 0x14(r1) +/* 80088A28 00085968 3B E3 00 00 */ addi r31, r3, 0 +/* 80088A2C 0008596C 38 61 00 08 */ addi r3, r1, 8 +/* 80088A30 00085970 4B FF F4 59 */ bl TRKConstructEvent +/* 80088A34 00085974 3C 60 80 3F */ lis r3, gTRKFramingState@ha +/* 80088A38 00085978 93 E1 00 10 */ stw r31, 0x10(r1) +/* 80088A3C 0008597C 38 83 AA C0 */ addi r4, r3, gTRKFramingState@l +/* 80088A40 00085980 38 61 00 08 */ addi r3, r1, 8 +/* 80088A44 00085984 38 00 FF FF */ li r0, -1 +/* 80088A48 00085988 90 04 00 00 */ stw r0, 0(r4) +/* 80088A4C 0008598C 4B FF F3 5D */ bl TRKPostEvent +/* 80088A50 00085990 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 80088A54 00085994 38 21 00 18 */ addi r1, r1, 0x18 +/* 80088A58 00085998 80 01 00 04 */ lwz r0, 4(r1) +/* 80088A5C 0008599C 7C 08 03 A6 */ mtlr r0 +/* 80088A60 000859A0 4E 80 00 20 */ blr + +.global TRKInitializeSerialHandler +TRKInitializeSerialHandler: +/* 80088A64 000859A4 3C 60 80 3F */ lis r3, gTRKFramingState@ha +/* 80088A68 000859A8 38 83 AA C0 */ addi r4, r3, gTRKFramingState@l +/* 80088A6C 000859AC 38 00 FF FF */ li r0, -1 +/* 80088A70 000859B0 90 04 00 00 */ stw r0, 0(r4) +/* 80088A74 000859B4 38 00 00 00 */ li r0, 0 +/* 80088A78 000859B8 38 60 00 00 */ li r3, 0 +/* 80088A7C 000859BC 98 04 00 08 */ stb r0, 8(r4) +/* 80088A80 000859C0 90 04 00 0C */ stw r0, 0xc(r4) +/* 80088A84 000859C4 4E 80 00 20 */ blr + +.global TRKTerminateSerialHandler +TRKTerminateSerialHandler: +/* 80088A88 000859C8 38 60 00 00 */ li r3, 0 +/* 80088A8C 000859CC 4E 80 00 20 */ blr + +.section .bss, "wa" # 0x803E6000 - 0x80408AC0 +.global gTRKFramingState +gTRKFramingState: + .skip 0x14 +.global gTRKInputPendingPtr +gTRKInputPendingPtr: + .skip 0x4 diff --git a/asm/TRK_MINNOW_DOLPHIN/support.s b/asm/TRK_MINNOW_DOLPHIN/support.s new file mode 100644 index 0000000..fd15ef5 --- /dev/null +++ b/asm/TRK_MINNOW_DOLPHIN/support.s @@ -0,0 +1,337 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80005600 - 0x8036FBA0 +.global TRKSuppAccessFile +TRKSuppAccessFile: +/* 80089DD0 00086D10 7C 08 02 A6 */ mflr r0 +/* 80089DD4 00086D14 90 01 00 04 */ stw r0, 4(r1) +/* 80089DD8 00086D18 94 21 FF B8 */ stwu r1, -0x48(r1) +/* 80089DDC 00086D1C BE A1 00 1C */ stmw r21, 0x1c(r1) +/* 80089DE0 00086D20 7C 9B 23 79 */ or. r27, r4, r4 +/* 80089DE4 00086D24 3B 23 00 00 */ addi r25, r3, 0 +/* 80089DE8 00086D28 3A E5 00 00 */ addi r23, r5, 0 +/* 80089DEC 00086D2C 3B 46 00 00 */ addi r26, r6, 0 +/* 80089DF0 00086D30 3A C7 00 00 */ addi r22, r7, 0 +/* 80089DF4 00086D34 3B C8 00 00 */ addi r30, r8, 0 +/* 80089DF8 00086D38 41 82 00 10 */ beq lbl_80089E08 +/* 80089DFC 00086D3C 80 17 00 00 */ lwz r0, 0(r23) +/* 80089E00 00086D40 28 00 00 00 */ cmplwi r0, 0 +/* 80089E04 00086D44 40 82 00 0C */ bne lbl_80089E10 +lbl_80089E08: +/* 80089E08 00086D48 38 60 00 02 */ li r3, 2 +/* 80089E0C 00086D4C 48 00 02 88 */ b lbl_8008A094 +lbl_80089E10: +/* 80089E10 00086D50 38 00 00 00 */ li r0, 0 +/* 80089E14 00086D54 98 1A 00 00 */ stb r0, 0(r26) +/* 80089E18 00086D58 3B 00 00 00 */ li r24, 0 +/* 80089E1C 00086D5C 3B 80 00 00 */ li r28, 0 +/* 80089E20 00086D60 3A A0 00 00 */ li r21, 0 +/* 80089E24 00086D64 48 00 02 40 */ b lbl_8008A064 +lbl_80089E28: +/* 80089E28 00086D68 7C 1C 18 50 */ subf r0, r28, r3 +/* 80089E2C 00086D6C 28 00 08 00 */ cmplwi r0, 0x800 +/* 80089E30 00086D70 40 81 00 0C */ ble lbl_80089E3C +/* 80089E34 00086D74 3B E0 08 00 */ li r31, 0x800 +/* 80089E38 00086D78 48 00 00 08 */ b lbl_80089E40 +lbl_80089E3C: +/* 80089E3C 00086D7C 7C 1F 03 78 */ mr r31, r0 +lbl_80089E40: +/* 80089E40 00086D80 38 61 00 0C */ addi r3, r1, 0xc +/* 80089E44 00086D84 38 81 00 10 */ addi r4, r1, 0x10 +/* 80089E48 00086D88 4B FF E2 B9 */ bl TRKGetFreeBuffer +/* 80089E4C 00086D8C 7C 75 1B 79 */ or. r21, r3, r3 +/* 80089E50 00086D90 40 82 00 58 */ bne lbl_80089EA8 +/* 80089E54 00086D94 80 E1 00 10 */ lwz r7, 0x10(r1) +/* 80089E58 00086D98 80 07 00 0C */ lwz r0, 0xc(r7) +/* 80089E5C 00086D9C 28 00 08 80 */ cmplwi r0, 0x880 +/* 80089E60 00086DA0 41 80 00 0C */ blt lbl_80089E6C +/* 80089E64 00086DA4 38 A0 03 01 */ li r5, 0x301 +/* 80089E68 00086DA8 48 00 00 3C */ b lbl_80089EA4 +lbl_80089E6C: +/* 80089E6C 00086DAC 2C 1E 00 00 */ cmpwi r30, 0 +/* 80089E70 00086DB0 41 82 00 0C */ beq lbl_80089E7C +/* 80089E74 00086DB4 38 C0 00 D1 */ li r6, 0xd1 +/* 80089E78 00086DB8 48 00 00 08 */ b lbl_80089E80 +lbl_80089E7C: +/* 80089E7C 00086DBC 38 C0 00 D0 */ li r6, 0xd0 +lbl_80089E80: +/* 80089E80 00086DC0 80 87 00 0C */ lwz r4, 0xc(r7) +/* 80089E84 00086DC4 38 A0 00 00 */ li r5, 0 +/* 80089E88 00086DC8 38 64 00 01 */ addi r3, r4, 1 +/* 80089E8C 00086DCC 38 04 00 10 */ addi r0, r4, 0x10 +/* 80089E90 00086DD0 90 67 00 0C */ stw r3, 0xc(r7) +/* 80089E94 00086DD4 7C C7 01 AE */ stbx r6, r7, r0 +/* 80089E98 00086DD8 80 67 00 08 */ lwz r3, 8(r7) +/* 80089E9C 00086DDC 38 03 00 01 */ addi r0, r3, 1 +/* 80089EA0 00086DE0 90 07 00 08 */ stw r0, 8(r7) +lbl_80089EA4: +/* 80089EA4 00086DE4 7C B5 2B 78 */ mr r21, r5 +lbl_80089EA8: +/* 80089EA8 00086DE8 2C 15 00 00 */ cmpwi r21, 0 +/* 80089EAC 00086DEC 40 82 00 14 */ bne lbl_80089EC0 +/* 80089EB0 00086DF0 80 61 00 10 */ lwz r3, 0x10(r1) +/* 80089EB4 00086DF4 7F 24 CB 78 */ mr r4, r25 +/* 80089EB8 00086DF8 4B FF E5 6D */ bl TRKAppendBuffer1_ui32 +/* 80089EBC 00086DFC 7C 75 1B 78 */ mr r21, r3 +lbl_80089EC0: +/* 80089EC0 00086E00 2C 15 00 00 */ cmpwi r21, 0 +/* 80089EC4 00086E04 40 82 00 14 */ bne lbl_80089ED8 +/* 80089EC8 00086E08 80 61 00 10 */ lwz r3, 0x10(r1) +/* 80089ECC 00086E0C 57 E4 04 3E */ clrlwi r4, r31, 0x10 +/* 80089ED0 00086E10 4B FF E5 01 */ bl TRKAppendBuffer1_ui16 +/* 80089ED4 00086E14 7C 75 1B 78 */ mr r21, r3 +lbl_80089ED8: +/* 80089ED8 00086E18 2C 1E 00 00 */ cmpwi r30, 0 +/* 80089EDC 00086E1C 40 82 00 20 */ bne lbl_80089EFC +/* 80089EE0 00086E20 2C 15 00 00 */ cmpwi r21, 0 +/* 80089EE4 00086E24 40 82 00 18 */ bne lbl_80089EFC +/* 80089EE8 00086E28 80 61 00 10 */ lwz r3, 0x10(r1) +/* 80089EEC 00086E2C 38 BF 00 00 */ addi r5, r31, 0 +/* 80089EF0 00086E30 7C 9B E2 14 */ add r4, r27, r28 +/* 80089EF4 00086E34 4B FF E6 1D */ bl TRKAppendBuffer_ui8 +/* 80089EF8 00086E38 7C 75 1B 78 */ mr r21, r3 +lbl_80089EFC: +/* 80089EFC 00086E3C 2C 15 00 00 */ cmpwi r21, 0 +/* 80089F00 00086E40 40 82 01 58 */ bne lbl_8008A058 +/* 80089F04 00086E44 2C 16 00 00 */ cmpwi r22, 0 +/* 80089F08 00086E48 41 82 01 44 */ beq lbl_8008A04C +/* 80089F0C 00086E4C 38 00 00 00 */ li r0, 0 +/* 80089F10 00086E50 2C 1E 00 00 */ cmpwi r30, 0 +/* 80089F14 00086E54 B0 01 00 0A */ sth r0, 0xa(r1) +/* 80089F18 00086E58 98 01 00 08 */ stb r0, 8(r1) +/* 80089F1C 00086E5C 41 82 00 10 */ beq lbl_80089F2C +/* 80089F20 00086E60 28 19 00 00 */ cmplwi r25, 0 +/* 80089F24 00086E64 40 82 00 08 */ bne lbl_80089F2C +/* 80089F28 00086E68 38 00 00 01 */ li r0, 1 +lbl_80089F2C: +/* 80089F2C 00086E6C 2C 1E 00 00 */ cmpwi r30, 0 +/* 80089F30 00086E70 41 82 00 0C */ beq lbl_80089F3C +/* 80089F34 00086E74 38 A0 00 05 */ li r5, 5 +/* 80089F38 00086E78 48 00 00 08 */ b lbl_80089F40 +lbl_80089F3C: +/* 80089F3C 00086E7C 38 A0 00 05 */ li r5, 5 +lbl_80089F40: +/* 80089F40 00086E80 7C 00 00 34 */ cntlzw r0, r0 +/* 80089F44 00086E84 80 61 00 10 */ lwz r3, 0x10(r1) +/* 80089F48 00086E88 54 07 D9 7E */ srwi r7, r0, 5 +/* 80089F4C 00086E8C 38 81 00 14 */ addi r4, r1, 0x14 +/* 80089F50 00086E90 38 C0 00 03 */ li r6, 3 +/* 80089F54 00086E94 48 00 01 55 */ bl TRKRequestSend +/* 80089F58 00086E98 7C 75 1B 79 */ or. r21, r3, r3 +/* 80089F5C 00086E9C 40 82 00 18 */ bne lbl_80089F74 +/* 80089F60 00086EA0 80 61 00 14 */ lwz r3, 0x14(r1) +/* 80089F64 00086EA4 4B FF E2 39 */ bl TRKGetBuffer +/* 80089F68 00086EA8 3B A3 00 00 */ addi r29, r3, 0 +/* 80089F6C 00086EAC 38 80 00 02 */ li r4, 2 +/* 80089F70 00086EB0 4B FF E3 01 */ bl TRKSetBufferPosition +lbl_80089F74: +/* 80089F74 00086EB4 2C 15 00 00 */ cmpwi r21, 0 +/* 80089F78 00086EB8 40 82 00 14 */ bne lbl_80089F8C +/* 80089F7C 00086EBC 38 7D 00 00 */ addi r3, r29, 0 +/* 80089F80 00086EC0 38 81 00 08 */ addi r4, r1, 8 +/* 80089F84 00086EC4 4B FF E6 71 */ bl TRKReadBuffer1_ui8 +/* 80089F88 00086EC8 7C 75 1B 78 */ mr r21, r3 +lbl_80089F8C: +/* 80089F8C 00086ECC 2C 15 00 00 */ cmpwi r21, 0 +/* 80089F90 00086ED0 40 82 00 14 */ bne lbl_80089FA4 +/* 80089F94 00086ED4 38 7D 00 00 */ addi r3, r29, 0 +/* 80089F98 00086ED8 38 81 00 0A */ addi r4, r1, 0xa +/* 80089F9C 00086EDC 4B FF E6 7D */ bl TRKReadBuffer1_ui16 +/* 80089FA0 00086EE0 7C 75 1B 78 */ mr r21, r3 +lbl_80089FA4: +/* 80089FA4 00086EE4 2C 1E 00 00 */ cmpwi r30, 0 +/* 80089FA8 00086EE8 41 82 00 58 */ beq lbl_8008A000 +/* 80089FAC 00086EEC 2C 15 00 00 */ cmpwi r21, 0 +/* 80089FB0 00086EF0 40 82 00 50 */ bne lbl_8008A000 +/* 80089FB4 00086EF4 A0 61 00 0A */ lhz r3, 0xa(r1) +/* 80089FB8 00086EF8 80 9D 00 08 */ lwz r4, 8(r29) +/* 80089FBC 00086EFC 38 03 00 05 */ addi r0, r3, 5 +/* 80089FC0 00086F00 7C 04 00 40 */ cmplw r4, r0 +/* 80089FC4 00086F04 41 82 00 20 */ beq lbl_80089FE4 +/* 80089FC8 00086F08 88 01 00 08 */ lbz r0, 8(r1) +/* 80089FCC 00086F0C 38 64 FF FB */ addi r3, r4, -5 +/* 80089FD0 00086F10 B0 61 00 0A */ sth r3, 0xa(r1) +/* 80089FD4 00086F14 28 00 00 00 */ cmplwi r0, 0 +/* 80089FD8 00086F18 40 82 00 0C */ bne lbl_80089FE4 +/* 80089FDC 00086F1C 38 00 00 01 */ li r0, 1 +/* 80089FE0 00086F20 98 01 00 08 */ stb r0, 8(r1) +lbl_80089FE4: +/* 80089FE4 00086F24 A0 A1 00 0A */ lhz r5, 0xa(r1) +/* 80089FE8 00086F28 7C 05 F8 40 */ cmplw r5, r31 +/* 80089FEC 00086F2C 41 81 00 14 */ bgt lbl_8008A000 +/* 80089FF0 00086F30 38 7D 00 00 */ addi r3, r29, 0 +/* 80089FF4 00086F34 7C 9B E2 14 */ add r4, r27, r28 +/* 80089FF8 00086F38 4B FF E7 E1 */ bl TRKReadBuffer_ui8 +/* 80089FFC 00086F3C 7C 75 1B 78 */ mr r21, r3 +lbl_8008A000: +/* 8008A000 00086F40 A0 61 00 0A */ lhz r3, 0xa(r1) +/* 8008A004 00086F44 7C 03 F8 40 */ cmplw r3, r31 +/* 8008A008 00086F48 41 82 00 30 */ beq lbl_8008A038 +/* 8008A00C 00086F4C 2C 1E 00 00 */ cmpwi r30, 0 +/* 8008A010 00086F50 41 82 00 0C */ beq lbl_8008A01C +/* 8008A014 00086F54 7C 03 F8 40 */ cmplw r3, r31 +/* 8008A018 00086F58 41 80 00 18 */ blt lbl_8008A030 +lbl_8008A01C: +/* 8008A01C 00086F5C 88 01 00 08 */ lbz r0, 8(r1) +/* 8008A020 00086F60 28 00 00 00 */ cmplwi r0, 0 +/* 8008A024 00086F64 40 82 00 0C */ bne lbl_8008A030 +/* 8008A028 00086F68 38 00 00 01 */ li r0, 1 +/* 8008A02C 00086F6C 98 01 00 08 */ stb r0, 8(r1) +lbl_8008A030: +/* 8008A030 00086F70 3B E3 00 00 */ addi r31, r3, 0 +/* 8008A034 00086F74 3B 00 00 01 */ li r24, 1 +lbl_8008A038: +/* 8008A038 00086F78 88 01 00 08 */ lbz r0, 8(r1) +/* 8008A03C 00086F7C 98 1A 00 00 */ stb r0, 0(r26) +/* 8008A040 00086F80 80 61 00 14 */ lwz r3, 0x14(r1) +/* 8008A044 00086F84 4B FF E1 85 */ bl TRKReleaseBuffer +/* 8008A048 00086F88 48 00 00 10 */ b lbl_8008A058 +lbl_8008A04C: +/* 8008A04C 00086F8C 80 61 00 10 */ lwz r3, 0x10(r1) +/* 8008A050 00086F90 4B FF E0 09 */ bl TRKMessageSend +/* 8008A054 00086F94 7C 75 1B 78 */ mr r21, r3 +lbl_8008A058: +/* 8008A058 00086F98 80 61 00 0C */ lwz r3, 0xc(r1) +/* 8008A05C 00086F9C 4B FF E1 6D */ bl TRKReleaseBuffer +/* 8008A060 00086FA0 7F 9C FA 14 */ add r28, r28, r31 +lbl_8008A064: +/* 8008A064 00086FA4 2C 18 00 00 */ cmpwi r24, 0 +/* 8008A068 00086FA8 40 82 00 24 */ bne lbl_8008A08C +/* 8008A06C 00086FAC 80 77 00 00 */ lwz r3, 0(r23) +/* 8008A070 00086FB0 7C 1C 18 40 */ cmplw r28, r3 +/* 8008A074 00086FB4 40 80 00 18 */ bge lbl_8008A08C +/* 8008A078 00086FB8 2C 15 00 00 */ cmpwi r21, 0 +/* 8008A07C 00086FBC 40 82 00 10 */ bne lbl_8008A08C +/* 8008A080 00086FC0 88 1A 00 00 */ lbz r0, 0(r26) +/* 8008A084 00086FC4 28 00 00 00 */ cmplwi r0, 0 +/* 8008A088 00086FC8 41 82 FD A0 */ beq lbl_80089E28 +lbl_8008A08C: +/* 8008A08C 00086FCC 93 97 00 00 */ stw r28, 0(r23) +/* 8008A090 00086FD0 7E A3 AB 78 */ mr r3, r21 +lbl_8008A094: +/* 8008A094 00086FD4 BA A1 00 1C */ lmw r21, 0x1c(r1) +/* 8008A098 00086FD8 38 21 00 48 */ addi r1, r1, 0x48 +/* 8008A09C 00086FDC 80 01 00 04 */ lwz r0, 4(r1) +/* 8008A0A0 00086FE0 7C 08 03 A6 */ mtlr r0 +/* 8008A0A4 00086FE4 4E 80 00 20 */ blr + +.global TRKRequestSend +TRKRequestSend: +/* 8008A0A8 00086FE8 7C 08 02 A6 */ mflr r0 +/* 8008A0AC 00086FEC 90 01 00 04 */ stw r0, 4(r1) +/* 8008A0B0 00086FF0 38 00 FF FF */ li r0, -1 +/* 8008A0B4 00086FF4 94 21 FF C8 */ stwu r1, -0x38(r1) +/* 8008A0B8 00086FF8 BE C1 00 10 */ stmw r22, 0x10(r1) +/* 8008A0BC 00086FFC 3A E4 00 00 */ addi r23, r4, 0 +/* 8008A0C0 00087000 3C 80 04 C5 */ lis r4, 0x04C4B3EC@ha +/* 8008A0C4 00087004 3B 66 00 01 */ addi r27, r6, 1 +/* 8008A0C8 00087008 3A C3 00 00 */ addi r22, r3, 0 +/* 8008A0CC 0008700C 3B E4 B3 EC */ addi r31, r4, 0x04C4B3EC@l +/* 8008A0D0 00087010 3B 05 00 00 */ addi r24, r5, 0 +/* 8008A0D4 00087014 3B 27 00 00 */ addi r25, r7, 0 +/* 8008A0D8 00087018 3B C0 00 00 */ li r30, 0 +/* 8008A0DC 0008701C 3B 40 00 01 */ li r26, 1 +/* 8008A0E0 00087020 90 17 00 00 */ stw r0, 0(r23) +/* 8008A0E4 00087024 48 00 01 24 */ b lbl_8008A208 +lbl_8008A0E8: +/* 8008A0E8 00087028 7E C3 B3 78 */ mr r3, r22 +/* 8008A0EC 0008702C 4B FF DF 6D */ bl TRKMessageSend +/* 8008A0F0 00087030 7C 7E 1B 79 */ or. r30, r3, r3 +/* 8008A0F4 00087034 40 82 01 10 */ bne lbl_8008A204 +/* 8008A0F8 00087038 2C 19 00 00 */ cmpwi r25, 0 +/* 8008A0FC 0008703C 41 82 00 08 */ beq lbl_8008A104 +/* 8008A100 00087040 3B 80 00 00 */ li r28, 0 +lbl_8008A104: +/* 8008A104 00087044 4B FF E7 C5 */ bl TRKTestForPacket +/* 8008A108 00087048 90 77 00 00 */ stw r3, 0(r23) +/* 8008A10C 0008704C 80 77 00 00 */ lwz r3, 0(r23) +/* 8008A110 00087050 2C 03 FF FF */ cmpwi r3, -1 +/* 8008A114 00087054 40 82 00 18 */ bne lbl_8008A12C +/* 8008A118 00087058 2C 19 00 00 */ cmpwi r25, 0 +/* 8008A11C 0008705C 41 82 FF E8 */ beq lbl_8008A104 +/* 8008A120 00087060 3B 9C 00 01 */ addi r28, r28, 1 +/* 8008A124 00087064 7C 1C F8 40 */ cmplw r28, r31 +/* 8008A128 00087068 41 80 FF DC */ blt lbl_8008A104 +lbl_8008A12C: +/* 8008A12C 0008706C 2C 03 FF FF */ cmpwi r3, -1 +/* 8008A130 00087070 41 82 00 4C */ beq lbl_8008A17C +/* 8008A134 00087074 3B 40 00 00 */ li r26, 0 +/* 8008A138 00087078 4B FF E0 65 */ bl TRKGetBuffer +/* 8008A13C 0008707C 3B A3 00 00 */ addi r29, r3, 0 +/* 8008A140 00087080 38 80 00 00 */ li r4, 0 +/* 8008A144 00087084 4B FF E1 2D */ bl TRKSetBufferPosition +/* 8008A148 00087088 38 7D 00 00 */ addi r3, r29, 0 +/* 8008A14C 0008708C 38 81 00 08 */ addi r4, r1, 8 +/* 8008A150 00087090 4B FF E4 A5 */ bl TRKReadBuffer1_ui8 +/* 8008A154 00087094 7C 7E 1B 79 */ or. r30, r3, r3 +/* 8008A158 00087098 40 82 00 24 */ bne lbl_8008A17C +/* 8008A15C 0008709C 88 01 00 08 */ lbz r0, 8(r1) +/* 8008A160 000870A0 28 00 00 80 */ cmplwi r0, 0x80 +/* 8008A164 000870A4 40 80 00 18 */ bge lbl_8008A17C +/* 8008A168 000870A8 80 77 00 00 */ lwz r3, 0(r23) +/* 8008A16C 000870AC 4B FF E8 A9 */ bl TRKProcessInput +/* 8008A170 000870B0 38 00 FF FF */ li r0, -1 +/* 8008A174 000870B4 90 17 00 00 */ stw r0, 0(r23) +/* 8008A178 000870B8 4B FF FF 8C */ b lbl_8008A104 +lbl_8008A17C: +/* 8008A17C 000870BC 80 17 00 00 */ lwz r0, 0(r23) +/* 8008A180 000870C0 2C 00 FF FF */ cmpwi r0, -1 +/* 8008A184 000870C4 41 82 00 80 */ beq lbl_8008A204 +/* 8008A188 000870C8 80 1D 00 08 */ lwz r0, 8(r29) +/* 8008A18C 000870CC 7C 00 C0 40 */ cmplw r0, r24 +/* 8008A190 000870D0 40 80 00 08 */ bge lbl_8008A198 +/* 8008A194 000870D4 3B 40 00 01 */ li r26, 1 +lbl_8008A198: +/* 8008A198 000870D8 2C 1E 00 00 */ cmpwi r30, 0 +/* 8008A19C 000870DC 40 82 00 1C */ bne lbl_8008A1B8 +/* 8008A1A0 000870E0 2C 1A 00 00 */ cmpwi r26, 0 +/* 8008A1A4 000870E4 40 82 00 14 */ bne lbl_8008A1B8 +/* 8008A1A8 000870E8 38 7D 00 00 */ addi r3, r29, 0 +/* 8008A1AC 000870EC 38 81 00 09 */ addi r4, r1, 9 +/* 8008A1B0 000870F0 4B FF E4 45 */ bl TRKReadBuffer1_ui8 +/* 8008A1B4 000870F4 7C 7E 1B 78 */ mr r30, r3 +lbl_8008A1B8: +/* 8008A1B8 000870F8 2C 1E 00 00 */ cmpwi r30, 0 +/* 8008A1BC 000870FC 40 82 00 28 */ bne lbl_8008A1E4 +/* 8008A1C0 00087100 2C 1A 00 00 */ cmpwi r26, 0 +/* 8008A1C4 00087104 40 82 00 20 */ bne lbl_8008A1E4 +/* 8008A1C8 00087108 88 01 00 08 */ lbz r0, 8(r1) +/* 8008A1CC 0008710C 28 00 00 80 */ cmplwi r0, 0x80 +/* 8008A1D0 00087110 40 82 00 10 */ bne lbl_8008A1E0 +/* 8008A1D4 00087114 88 01 00 09 */ lbz r0, 9(r1) +/* 8008A1D8 00087118 28 00 00 00 */ cmplwi r0, 0 +/* 8008A1DC 0008711C 41 82 00 08 */ beq lbl_8008A1E4 +lbl_8008A1E0: +/* 8008A1E0 00087120 3B 40 00 01 */ li r26, 1 +lbl_8008A1E4: +/* 8008A1E4 00087124 2C 1E 00 00 */ cmpwi r30, 0 +/* 8008A1E8 00087128 40 82 00 0C */ bne lbl_8008A1F4 +/* 8008A1EC 0008712C 2C 1A 00 00 */ cmpwi r26, 0 +/* 8008A1F0 00087130 41 82 00 14 */ beq lbl_8008A204 +lbl_8008A1F4: +/* 8008A1F4 00087134 80 77 00 00 */ lwz r3, 0(r23) +/* 8008A1F8 00087138 4B FF DF D1 */ bl TRKReleaseBuffer +/* 8008A1FC 0008713C 38 00 FF FF */ li r0, -1 +/* 8008A200 00087140 90 17 00 00 */ stw r0, 0(r23) +lbl_8008A204: +/* 8008A204 00087144 3B 7B FF FF */ addi r27, r27, -1 +lbl_8008A208: +/* 8008A208 00087148 2C 1B 00 00 */ cmpwi r27, 0 +/* 8008A20C 0008714C 41 82 00 18 */ beq lbl_8008A224 +/* 8008A210 00087150 80 17 00 00 */ lwz r0, 0(r23) +/* 8008A214 00087154 2C 00 FF FF */ cmpwi r0, -1 +/* 8008A218 00087158 40 82 00 0C */ bne lbl_8008A224 +/* 8008A21C 0008715C 2C 1E 00 00 */ cmpwi r30, 0 +/* 8008A220 00087160 41 82 FE C8 */ beq lbl_8008A0E8 +lbl_8008A224: +/* 8008A224 00087164 80 17 00 00 */ lwz r0, 0(r23) +/* 8008A228 00087168 2C 00 FF FF */ cmpwi r0, -1 +/* 8008A22C 0008716C 40 82 00 08 */ bne lbl_8008A234 +/* 8008A230 00087170 3B C0 08 00 */ li r30, 0x800 +lbl_8008A234: +/* 8008A234 00087174 7F C3 F3 78 */ mr r3, r30 +/* 8008A238 00087178 BA C1 00 10 */ lmw r22, 0x10(r1) +/* 8008A23C 0008717C 38 21 00 38 */ addi r1, r1, 0x38 +/* 8008A240 00087180 80 01 00 04 */ lwz r0, 4(r1) +/* 8008A244 00087184 7C 08 03 A6 */ mtlr r0 +/* 8008A248 00087188 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/targcont.s b/asm/TRK_MINNOW_DOLPHIN/targcont.s new file mode 100644 index 0000000..ea84de0 --- /dev/null +++ b/asm/TRK_MINNOW_DOLPHIN/targcont.s @@ -0,0 +1,18 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80005600 - 0x8036FBA0 +.global TRKTargetContinue +TRKTargetContinue: +/* 8008C36C 000892AC 7C 08 02 A6 */ mflr r0 +/* 8008C370 000892B0 38 60 00 00 */ li r3, 0 +/* 8008C374 000892B4 90 01 00 04 */ stw r0, 4(r1) +/* 8008C378 000892B8 94 21 FF F8 */ stwu r1, -8(r1) +/* 8008C37C 000892BC 4B FF F3 41 */ bl TRKTargetSetStopped +/* 8008C380 000892C0 4B FF FF 99 */ bl UnreserveEXI2Port +/* 8008C384 000892C4 4B FF ED 35 */ bl TRKSwapAndGo +/* 8008C388 000892C8 4B FF FF 61 */ bl ReserveEXI2Port +/* 8008C38C 000892CC 38 60 00 00 */ li r3, 0 +/* 8008C390 000892D0 38 21 00 08 */ addi r1, r1, 8 +/* 8008C394 000892D4 80 01 00 04 */ lwz r0, 4(r1) +/* 8008C398 000892D8 7C 08 03 A6 */ mtlr r0 +/* 8008C39C 000892DC 4E 80 00 20 */ blr diff --git a/asm/TRK_MINNOW_DOLPHIN/targimpl.s b/asm/TRK_MINNOW_DOLPHIN/targimpl.s new file mode 100644 index 0000000..ce5b958 --- /dev/null +++ b/asm/TRK_MINNOW_DOLPHIN/targimpl.s @@ -0,0 +1,1678 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80005600 - 0x8036FBA0 +.global __TRK_get_MSR +__TRK_get_MSR: +/* 8008A438 00087378 7C 60 00 A6 */ mfmsr r3 +/* 8008A43C 0008737C 4E 80 00 20 */ blr + +.global __TRK_set_MSR +__TRK_set_MSR: +/* 8008A440 00087380 7C 60 01 24 */ mtmsr r3 +/* 8008A444 00087384 4E 80 00 20 */ blr + +.global TRKValidMemory32 +TRKValidMemory32: +/* 8008A448 00087388 7C 08 02 A6 */ mflr r0 +/* 8008A44C 0008738C 90 01 00 04 */ stw r0, 4(r1) +/* 8008A450 00087390 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 8008A454 00087394 93 E1 00 14 */ stw r31, 0x14(r1) +/* 8008A458 00087398 93 C1 00 10 */ stw r30, 0x10(r1) +/* 8008A45C 0008739C 93 A1 00 0C */ stw r29, 0xc(r1) +/* 8008A460 000873A0 7C BE 2B 78 */ mr r30, r5 +/* 8008A464 000873A4 7F E4 1A 14 */ add r31, r4, r3 +/* 8008A468 000873A8 3B FF FF FF */ addi r31, r31, -1 +/* 8008A46C 000873AC 7C 1F 18 40 */ cmplw r31, r3 +/* 8008A470 000873B0 38 A0 07 00 */ li r5, 0x700 +/* 8008A474 000873B4 40 80 00 0C */ bge lbl_8008A480 +/* 8008A478 000873B8 38 60 07 00 */ li r3, 0x700 +/* 8008A47C 000873BC 48 00 00 E8 */ b lbl_8008A564 +lbl_8008A480: +/* 8008A480 000873C0 3C 80 80 37 */ lis r4, gTRKMemMap@ha +/* 8008A484 000873C4 38 84 22 10 */ addi r4, r4, gTRKMemMap@l +/* 8008A488 000873C8 38 C0 00 00 */ li r6, 0 +/* 8008A48C 000873CC 48 00 00 04 */ b lbl_8008A490 +lbl_8008A490: +/* 8008A490 000873D0 48 00 00 04 */ b lbl_8008A494 +lbl_8008A494: +/* 8008A494 000873D4 80 04 00 04 */ lwz r0, 4(r4) +/* 8008A498 000873D8 7C 03 00 40 */ cmplw r3, r0 +/* 8008A49C 000873DC 41 81 00 C4 */ bgt lbl_8008A560 +/* 8008A4A0 000873E0 80 04 00 00 */ lwz r0, 0(r4) +/* 8008A4A4 000873E4 7C 1F 00 40 */ cmplw r31, r0 +/* 8008A4A8 000873E8 41 80 00 B8 */ blt lbl_8008A560 +/* 8008A4AC 000873EC 57 C0 06 3E */ clrlwi r0, r30, 0x18 +/* 8008A4B0 000873F0 28 00 00 00 */ cmplwi r0, 0 +/* 8008A4B4 000873F4 40 82 00 18 */ bne lbl_8008A4CC +/* 8008A4B8 000873F8 54 C0 20 36 */ slwi r0, r6, 4 +/* 8008A4BC 000873FC 7C 84 02 14 */ add r4, r4, r0 +/* 8008A4C0 00087400 80 04 00 08 */ lwz r0, 8(r4) +/* 8008A4C4 00087404 2C 00 00 00 */ cmpwi r0, 0 +/* 8008A4C8 00087408 41 82 00 2C */ beq lbl_8008A4F4 +lbl_8008A4CC: +/* 8008A4CC 0008740C 57 C0 06 3E */ clrlwi r0, r30, 0x18 +/* 8008A4D0 00087410 28 00 00 01 */ cmplwi r0, 1 +/* 8008A4D4 00087414 40 82 00 28 */ bne lbl_8008A4FC +/* 8008A4D8 00087418 3C 80 80 37 */ lis r4, gTRKMemMap@ha +/* 8008A4DC 0008741C 38 84 22 10 */ addi r4, r4, gTRKMemMap@l +/* 8008A4E0 00087420 54 C0 20 36 */ slwi r0, r6, 4 +/* 8008A4E4 00087424 7C 84 02 14 */ add r4, r4, r0 +/* 8008A4E8 00087428 80 04 00 0C */ lwz r0, 0xc(r4) +/* 8008A4EC 0008742C 2C 00 00 00 */ cmpwi r0, 0 +/* 8008A4F0 00087430 40 82 00 0C */ bne lbl_8008A4FC +lbl_8008A4F4: +/* 8008A4F4 00087434 38 A0 07 00 */ li r5, 0x700 +/* 8008A4F8 00087438 48 00 00 68 */ b lbl_8008A560 +lbl_8008A4FC: +/* 8008A4FC 0008743C 3C 80 80 37 */ lis r4, gTRKMemMap@ha +/* 8008A500 00087440 54 DD 20 36 */ slwi r29, r6, 4 +/* 8008A504 00087444 38 04 22 10 */ addi r0, r4, gTRKMemMap@l +/* 8008A508 00087448 7C 80 EA 14 */ add r4, r0, r29 +/* 8008A50C 0008744C 80 04 00 00 */ lwz r0, 0(r4) +/* 8008A510 00087450 38 A0 00 00 */ li r5, 0 +/* 8008A514 00087454 7C 03 00 40 */ cmplw r3, r0 +/* 8008A518 00087458 40 80 00 14 */ bge lbl_8008A52C +/* 8008A51C 0008745C 7F C5 F3 78 */ mr r5, r30 +/* 8008A520 00087460 7C 83 00 50 */ subf r4, r3, r0 +/* 8008A524 00087464 4B FF FF 25 */ bl TRKValidMemory32 +/* 8008A528 00087468 7C 65 1B 78 */ mr r5, r3 +lbl_8008A52C: +/* 8008A52C 0008746C 2C 05 00 00 */ cmpwi r5, 0 +/* 8008A530 00087470 40 82 00 30 */ bne lbl_8008A560 +/* 8008A534 00087474 3C 60 80 37 */ lis r3, gTRKMemMap@ha +/* 8008A538 00087478 38 03 22 10 */ addi r0, r3, gTRKMemMap@l +/* 8008A53C 0008747C 7C 60 EA 14 */ add r3, r0, r29 +/* 8008A540 00087480 80 63 00 04 */ lwz r3, 4(r3) +/* 8008A544 00087484 7C 1F 18 40 */ cmplw r31, r3 +/* 8008A548 00087488 40 81 00 18 */ ble lbl_8008A560 +/* 8008A54C 0008748C 7F C5 F3 78 */ mr r5, r30 +/* 8008A550 00087490 7C 83 F8 50 */ subf r4, r3, r31 +/* 8008A554 00087494 4B FF FE F5 */ bl TRKValidMemory32 +/* 8008A558 00087498 7C 65 1B 78 */ mr r5, r3 +/* 8008A55C 0008749C 48 00 00 04 */ b lbl_8008A560 +lbl_8008A560: +/* 8008A560 000874A0 7C A3 2B 78 */ mr r3, r5 +lbl_8008A564: +/* 8008A564 000874A4 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 8008A568 000874A8 83 C1 00 10 */ lwz r30, 0x10(r1) +/* 8008A56C 000874AC 83 A1 00 0C */ lwz r29, 0xc(r1) +/* 8008A570 000874B0 38 21 00 18 */ addi r1, r1, 0x18 +/* 8008A574 000874B4 80 01 00 04 */ lwz r0, 4(r1) +/* 8008A578 000874B8 7C 08 03 A6 */ mtlr r0 +/* 8008A57C 000874BC 4E 80 00 20 */ blr + +.global TRK_ppc_memcpy +TRK_ppc_memcpy: +/* 8008A580 000874C0 7D 00 00 A6 */ mfmsr r8 +/* 8008A584 000874C4 39 40 00 00 */ li r10, 0 +lbl_8008A588: +/* 8008A588 000874C8 7C 0A 28 00 */ cmpw r10, r5 +/* 8008A58C 000874CC 41 82 00 24 */ beq lbl_8008A5B0 +/* 8008A590 000874D0 7C E0 01 24 */ mtmsr r7 +/* 8008A594 000874D4 7C 00 04 AC */ sync 0 +/* 8008A598 000874D8 7D 2A 20 AE */ lbzx r9, r10, r4 +/* 8008A59C 000874DC 7C C0 01 24 */ mtmsr r6 +/* 8008A5A0 000874E0 7C 00 04 AC */ sync 0 +/* 8008A5A4 000874E4 7D 2A 19 AE */ stbx r9, r10, r3 +/* 8008A5A8 000874E8 39 4A 00 01 */ addi r10, r10, 1 +/* 8008A5AC 000874EC 4B FF FF DC */ b lbl_8008A588 +lbl_8008A5B0: +/* 8008A5B0 000874F0 7D 00 01 24 */ mtmsr r8 +/* 8008A5B4 000874F4 7C 00 04 AC */ sync 0 +/* 8008A5B8 000874F8 4E 80 00 20 */ blr + +.global TRKTargetAccessMemory +TRKTargetAccessMemory: +/* 8008A5BC 000874FC 7C 08 02 A6 */ mflr r0 +/* 8008A5C0 00087500 90 01 00 04 */ stw r0, 4(r1) +/* 8008A5C4 00087504 94 21 FF C8 */ stwu r1, -0x38(r1) +/* 8008A5C8 00087508 BF 21 00 1C */ stmw r25, 0x1c(r1) +/* 8008A5CC 0008750C 7C 7A 1B 78 */ mr r26, r3 +/* 8008A5D0 00087510 7C 9B 23 78 */ mr r27, r4 +/* 8008A5D4 00087514 7C BC 2B 78 */ mr r28, r5 +/* 8008A5D8 00087518 7C FD 3B 78 */ mr r29, r7 +/* 8008A5DC 0008751C 3C 60 80 3B */ lis r3, gTRKExceptionStatus@ha +/* 8008A5E0 00087520 38 A3 F0 24 */ addi r5, r3, gTRKExceptionStatus@l +/* 8008A5E4 00087524 80 85 00 00 */ lwz r4, 0(r5) +/* 8008A5E8 00087528 3B E5 00 0D */ addi r31, r5, 0xd +/* 8008A5EC 0008752C 80 05 00 04 */ lwz r0, 4(r5) +/* 8008A5F0 00087530 3B C0 00 00 */ li r30, 0 +/* 8008A5F4 00087534 7F 63 DB 78 */ mr r3, r27 +/* 8008A5F8 00087538 90 81 00 08 */ stw r4, 8(r1) +/* 8008A5FC 0008753C 90 01 00 0C */ stw r0, 0xc(r1) +/* 8008A600 00087540 80 85 00 08 */ lwz r4, 8(r5) +/* 8008A604 00087544 80 05 00 0C */ lwz r0, 0xc(r5) +/* 8008A608 00087548 90 81 00 10 */ stw r4, 0x10(r1) +/* 8008A60C 0008754C 90 01 00 14 */ stw r0, 0x14(r1) +/* 8008A610 00087550 9B DF 00 00 */ stb r30, 0(r31) +/* 8008A614 00087554 48 00 14 B5 */ bl TRKTargetTranslate +/* 8008A618 00087558 2C 1D 00 00 */ cmpwi r29, 0 +/* 8008A61C 0008755C 7C 79 1B 78 */ mr r25, r3 +/* 8008A620 00087560 41 82 00 08 */ beq lbl_8008A628 +/* 8008A624 00087564 48 00 00 08 */ b lbl_8008A62C +lbl_8008A628: +/* 8008A628 00087568 3B C0 00 01 */ li r30, 1 +lbl_8008A62C: +/* 8008A62C 0008756C 80 9C 00 00 */ lwz r4, 0(r28) +/* 8008A630 00087570 7F 23 CB 78 */ mr r3, r25 +/* 8008A634 00087574 7F C5 F3 78 */ mr r5, r30 +/* 8008A638 00087578 4B FF FE 11 */ bl TRKValidMemory32 +/* 8008A63C 0008757C 7C 7E 1B 78 */ mr r30, r3 +/* 8008A640 00087580 2C 1E 00 00 */ cmpwi r30, 0 +/* 8008A644 00087584 41 82 00 10 */ beq lbl_8008A654 +/* 8008A648 00087588 38 00 00 00 */ li r0, 0 +/* 8008A64C 0008758C 90 1C 00 00 */ stw r0, 0(r28) +/* 8008A650 00087590 48 00 00 78 */ b lbl_8008A6C8 +lbl_8008A654: +/* 8008A654 00087594 4B FF FD E5 */ bl __TRK_get_MSR +/* 8008A658 00087598 3C 80 80 3F */ lis r4, gTRKCPUState@ha +/* 8008A65C 0008759C 2C 1D 00 00 */ cmpwi r29, 0 +/* 8008A660 000875A0 38 84 AC 30 */ addi r4, r4, gTRKCPUState@l +/* 8008A664 000875A4 80 04 01 F8 */ lwz r0, 0x1f8(r4) +/* 8008A668 000875A8 7C 68 1B 78 */ mr r8, r3 +/* 8008A66C 000875AC 54 00 06 F6 */ rlwinm r0, r0, 0, 0x1b, 0x1b +/* 8008A670 000875B0 7D 07 03 78 */ or r7, r8, r0 +/* 8008A674 000875B4 41 82 00 1C */ beq lbl_8008A690 +/* 8008A678 000875B8 80 BC 00 00 */ lwz r5, 0(r28) +/* 8008A67C 000875BC 7F 43 D3 78 */ mr r3, r26 +/* 8008A680 000875C0 7F 24 CB 78 */ mr r4, r25 +/* 8008A684 000875C4 7D 06 43 78 */ mr r6, r8 +/* 8008A688 000875C8 4B FF FE F9 */ bl TRK_ppc_memcpy +/* 8008A68C 000875CC 48 00 00 3C */ b lbl_8008A6C8 +lbl_8008A690: +/* 8008A690 000875D0 80 BC 00 00 */ lwz r5, 0(r28) +/* 8008A694 000875D4 7F 23 CB 78 */ mr r3, r25 +/* 8008A698 000875D8 7F 44 D3 78 */ mr r4, r26 +/* 8008A69C 000875DC 7C E6 3B 78 */ mr r6, r7 +/* 8008A6A0 000875E0 7D 07 43 78 */ mr r7, r8 +/* 8008A6A4 000875E4 4B FF FE DD */ bl TRK_ppc_memcpy +/* 8008A6A8 000875E8 7F 23 CB 78 */ mr r3, r25 +/* 8008A6AC 000875EC 80 9C 00 00 */ lwz r4, 0(r28) +/* 8008A6B0 000875F0 4B FF FC 8D */ bl TRK_flush_cache +/* 8008A6B4 000875F4 7C 1B C8 40 */ cmplw r27, r25 +/* 8008A6B8 000875F8 41 82 00 10 */ beq lbl_8008A6C8 +/* 8008A6BC 000875FC 7F 63 DB 78 */ mr r3, r27 +/* 8008A6C0 00087600 80 9C 00 00 */ lwz r4, 0(r28) +/* 8008A6C4 00087604 4B FF FC 79 */ bl TRK_flush_cache +lbl_8008A6C8: +/* 8008A6C8 00087608 88 1F 00 00 */ lbz r0, 0(r31) +/* 8008A6CC 0008760C 28 00 00 00 */ cmplwi r0, 0 +/* 8008A6D0 00087610 41 82 00 10 */ beq lbl_8008A6E0 +/* 8008A6D4 00087614 38 00 00 00 */ li r0, 0 +/* 8008A6D8 00087618 90 1C 00 00 */ stw r0, 0(r28) +/* 8008A6DC 0008761C 3B C0 07 02 */ li r30, 0x702 +lbl_8008A6E0: +/* 8008A6E0 00087620 3C 60 80 3B */ lis r3, gTRKExceptionStatus@ha +/* 8008A6E4 00087624 80 81 00 08 */ lwz r4, 8(r1) +/* 8008A6E8 00087628 80 01 00 0C */ lwz r0, 0xc(r1) +/* 8008A6EC 0008762C 38 A3 F0 24 */ addi r5, r3, gTRKExceptionStatus@l +/* 8008A6F0 00087630 7F C3 F3 78 */ mr r3, r30 +/* 8008A6F4 00087634 90 85 00 00 */ stw r4, 0(r5) +/* 8008A6F8 00087638 90 05 00 04 */ stw r0, 4(r5) +/* 8008A6FC 0008763C 80 81 00 10 */ lwz r4, 0x10(r1) +/* 8008A700 00087640 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8008A704 00087644 90 85 00 08 */ stw r4, 8(r5) +/* 8008A708 00087648 90 05 00 0C */ stw r0, 0xc(r5) +/* 8008A70C 0008764C BB 21 00 1C */ lmw r25, 0x1c(r1) +/* 8008A710 00087650 38 21 00 38 */ addi r1, r1, 0x38 +/* 8008A714 00087654 80 01 00 04 */ lwz r0, 4(r1) +/* 8008A718 00087658 7C 08 03 A6 */ mtlr r0 +/* 8008A71C 0008765C 4E 80 00 20 */ blr + +.global TRKTargetReadInstruction +TRKTargetReadInstruction: +/* 8008A720 00087660 7C 08 02 A6 */ mflr r0 +/* 8008A724 00087664 90 01 00 04 */ stw r0, 4(r1) +/* 8008A728 00087668 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8008A72C 0008766C 38 00 00 04 */ li r0, 4 +/* 8008A730 00087670 38 A1 00 08 */ addi r5, r1, 8 +/* 8008A734 00087674 90 01 00 08 */ stw r0, 8(r1) +/* 8008A738 00087678 38 C0 00 00 */ li r6, 0 +/* 8008A73C 0008767C 38 E0 00 01 */ li r7, 1 +/* 8008A740 00087680 4B FF FE 7D */ bl TRKTargetAccessMemory +/* 8008A744 00087684 2C 03 00 00 */ cmpwi r3, 0 +/* 8008A748 00087688 40 82 00 14 */ bne lbl_8008A75C +/* 8008A74C 0008768C 80 01 00 08 */ lwz r0, 8(r1) +/* 8008A750 00087690 28 00 00 04 */ cmplwi r0, 4 +/* 8008A754 00087694 41 82 00 08 */ beq lbl_8008A75C +/* 8008A758 00087698 38 60 07 00 */ li r3, 0x700 +lbl_8008A75C: +/* 8008A75C 0008769C 38 21 00 10 */ addi r1, r1, 0x10 +/* 8008A760 000876A0 80 01 00 04 */ lwz r0, 4(r1) +/* 8008A764 000876A4 7C 08 03 A6 */ mtlr r0 +/* 8008A768 000876A8 4E 80 00 20 */ blr + +.global TRKTargetAccessDefault +TRKTargetAccessDefault: +/* 8008A76C 000876AC 7C 08 02 A6 */ mflr r0 +/* 8008A770 000876B0 90 01 00 04 */ stw r0, 4(r1) +/* 8008A774 000876B4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8008A778 000876B8 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8008A77C 000876BC 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8008A780 000876C0 7C DF 33 78 */ mr r31, r6 +/* 8008A784 000876C4 28 04 00 24 */ cmplwi r4, 0x24 +/* 8008A788 000876C8 40 81 00 0C */ ble lbl_8008A794 +/* 8008A78C 000876CC 38 60 07 01 */ li r3, 0x701 +/* 8008A790 000876D0 48 00 00 C0 */ b lbl_8008A850 +lbl_8008A794: +/* 8008A794 000876D4 3C C0 80 3B */ lis r6, gTRKExceptionStatus@ha +/* 8008A798 000876D8 2C 07 00 00 */ cmpwi r7, 0 +/* 8008A79C 000876DC 39 06 F0 24 */ addi r8, r6, gTRKExceptionStatus@l +/* 8008A7A0 000876E0 80 08 00 00 */ lwz r0, 0(r8) +/* 8008A7A4 000876E4 7C 83 20 50 */ subf r4, r3, r4 +/* 8008A7A8 000876E8 80 E8 00 04 */ lwz r7, 4(r8) +/* 8008A7AC 000876EC 39 24 00 01 */ addi r9, r4, 1 +/* 8008A7B0 000876F0 3C 80 80 3F */ lis r4, gTRKCPUState@ha +/* 8008A7B4 000876F4 90 01 00 08 */ stw r0, 8(r1) +/* 8008A7B8 000876F8 38 04 AC 30 */ addi r0, r4, gTRKCPUState@l +/* 8008A7BC 000876FC 54 63 10 3A */ slwi r3, r3, 2 +/* 8008A7C0 00087700 3B C8 00 0D */ addi r30, r8, 0xd +/* 8008A7C4 00087704 90 E1 00 0C */ stw r7, 0xc(r1) +/* 8008A7C8 00087708 7C 80 1A 14 */ add r4, r0, r3 +/* 8008A7CC 0008770C 80 E8 00 08 */ lwz r7, 8(r8) +/* 8008A7D0 00087710 38 C0 00 00 */ li r6, 0 +/* 8008A7D4 00087714 80 68 00 0C */ lwz r3, 0xc(r8) +/* 8008A7D8 00087718 55 20 10 3A */ slwi r0, r9, 2 +/* 8008A7DC 0008771C 90 E1 00 10 */ stw r7, 0x10(r1) +/* 8008A7E0 00087720 7D 27 4B 78 */ mr r7, r9 +/* 8008A7E4 00087724 90 61 00 14 */ stw r3, 0x14(r1) +/* 8008A7E8 00087728 98 DE 00 00 */ stb r6, 0(r30) +/* 8008A7EC 0008772C 90 1F 00 00 */ stw r0, 0(r31) +/* 8008A7F0 00087730 41 82 00 14 */ beq lbl_8008A804 +/* 8008A7F4 00087734 7C A3 2B 78 */ mr r3, r5 +/* 8008A7F8 00087738 7C E5 3B 78 */ mr r5, r7 +/* 8008A7FC 0008773C 4B FF DD 7D */ bl TRKAppendBuffer_ui32 +/* 8008A800 00087740 48 00 00 10 */ b lbl_8008A810 +lbl_8008A804: +/* 8008A804 00087744 7C A3 2B 78 */ mr r3, r5 +/* 8008A808 00087748 7C E5 3B 78 */ mr r5, r7 +/* 8008A80C 0008774C 4B FF E0 41 */ bl TRKReadBuffer_ui32 +lbl_8008A810: +/* 8008A810 00087750 88 1E 00 00 */ lbz r0, 0(r30) +/* 8008A814 00087754 28 00 00 00 */ cmplwi r0, 0 +/* 8008A818 00087758 41 82 00 10 */ beq lbl_8008A828 +/* 8008A81C 0008775C 38 00 00 00 */ li r0, 0 +/* 8008A820 00087760 90 1F 00 00 */ stw r0, 0(r31) +/* 8008A824 00087764 38 60 07 02 */ li r3, 0x702 +lbl_8008A828: +/* 8008A828 00087768 3C A0 80 3B */ lis r5, gTRKExceptionStatus@ha +/* 8008A82C 0008776C 80 81 00 08 */ lwz r4, 8(r1) +/* 8008A830 00087770 80 01 00 0C */ lwz r0, 0xc(r1) +/* 8008A834 00087774 38 A5 F0 24 */ addi r5, r5, gTRKExceptionStatus@l +/* 8008A838 00087778 90 85 00 00 */ stw r4, 0(r5) +/* 8008A83C 0008777C 90 05 00 04 */ stw r0, 4(r5) +/* 8008A840 00087780 80 81 00 10 */ lwz r4, 0x10(r1) +/* 8008A844 00087784 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8008A848 00087788 90 85 00 08 */ stw r4, 8(r5) +/* 8008A84C 0008778C 90 05 00 0C */ stw r0, 0xc(r5) +lbl_8008A850: +/* 8008A850 00087790 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8008A854 00087794 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8008A858 00087798 38 21 00 20 */ addi r1, r1, 0x20 +/* 8008A85C 0008779C 80 01 00 04 */ lwz r0, 4(r1) +/* 8008A860 000877A0 7C 08 03 A6 */ mtlr r0 +/* 8008A864 000877A4 4E 80 00 20 */ blr + +.global TRKTargetAccessFP +TRKTargetAccessFP: +/* 8008A868 000877A8 7C 08 02 A6 */ mflr r0 +/* 8008A86C 000877AC 90 01 00 04 */ stw r0, 4(r1) +/* 8008A870 000877B0 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 8008A874 000877B4 BF 21 00 24 */ stmw r25, 0x24(r1) +/* 8008A878 000877B8 7C 79 1B 78 */ mr r25, r3 +/* 8008A87C 000877BC 7C 9C 23 78 */ mr r28, r4 +/* 8008A880 000877C0 7C BD 2B 78 */ mr r29, r5 +/* 8008A884 000877C4 7C DE 33 78 */ mr r30, r6 +/* 8008A888 000877C8 7C FF 3B 78 */ mr r31, r7 +/* 8008A88C 000877CC 28 1C 00 21 */ cmplwi r28, 0x21 +/* 8008A890 000877D0 40 81 00 0C */ ble lbl_8008A89C +/* 8008A894 000877D4 38 60 07 01 */ li r3, 0x701 +/* 8008A898 000877D8 48 00 01 04 */ b lbl_8008A99C +lbl_8008A89C: +/* 8008A89C 000877DC 3C 60 80 3B */ lis r3, gTRKExceptionStatus@ha +/* 8008A8A0 000877E0 38 83 F0 24 */ addi r4, r3, gTRKExceptionStatus@l +/* 8008A8A4 000877E4 80 64 00 00 */ lwz r3, 0(r4) +/* 8008A8A8 000877E8 3B 44 00 0D */ addi r26, r4, 0xd +/* 8008A8AC 000877EC 80 04 00 04 */ lwz r0, 4(r4) +/* 8008A8B0 000877F0 3B 60 00 00 */ li r27, 0 +/* 8008A8B4 000877F4 90 61 00 08 */ stw r3, 8(r1) +/* 8008A8B8 000877F8 90 01 00 0C */ stw r0, 0xc(r1) +/* 8008A8BC 000877FC 80 64 00 08 */ lwz r3, 8(r4) +/* 8008A8C0 00087800 80 04 00 0C */ lwz r0, 0xc(r4) +/* 8008A8C4 00087804 90 61 00 10 */ stw r3, 0x10(r1) +/* 8008A8C8 00087808 90 01 00 14 */ stw r0, 0x14(r1) +/* 8008A8CC 0008780C 9B 7A 00 00 */ stb r27, 0(r26) +/* 8008A8D0 00087810 4B FF FB 69 */ bl __TRK_get_MSR +/* 8008A8D4 00087814 60 63 20 00 */ ori r3, r3, 0x2000 +/* 8008A8D8 00087818 4B FF FB 69 */ bl __TRK_set_MSR +/* 8008A8DC 0008781C 93 7E 00 00 */ stw r27, 0(r30) +/* 8008A8E0 00087820 7F 3B CB 78 */ mr r27, r25 +/* 8008A8E4 00087824 38 60 00 00 */ li r3, 0 +/* 8008A8E8 00087828 48 00 00 04 */ b lbl_8008A8EC +lbl_8008A8EC: +/* 8008A8EC 0008782C 48 00 00 04 */ b lbl_8008A8F0 +lbl_8008A8F0: +/* 8008A8F0 00087830 48 00 00 5C */ b lbl_8008A94C +lbl_8008A8F4: +/* 8008A8F4 00087834 2C 1F 00 00 */ cmpwi r31, 0 +/* 8008A8F8 00087838 41 82 00 28 */ beq lbl_8008A920 +/* 8008A8FC 0008783C 7F 64 DB 78 */ mr r4, r27 +/* 8008A900 00087840 38 61 00 18 */ addi r3, r1, 0x18 +/* 8008A904 00087844 7F E5 FB 78 */ mr r5, r31 +/* 8008A908 00087848 48 00 0F 15 */ bl TRKPPCAccessFPRegister +/* 8008A90C 0008784C 80 A1 00 18 */ lwz r5, 0x18(r1) +/* 8008A910 00087850 7F A3 EB 78 */ mr r3, r29 +/* 8008A914 00087854 80 C1 00 1C */ lwz r6, 0x1c(r1) +/* 8008A918 00087858 4B FF DB 71 */ bl TRKAppendBuffer1_ui64 +/* 8008A91C 0008785C 48 00 00 20 */ b lbl_8008A93C +lbl_8008A920: +/* 8008A920 00087860 7F A3 EB 78 */ mr r3, r29 +/* 8008A924 00087864 38 81 00 18 */ addi r4, r1, 0x18 +/* 8008A928 00087868 4B FF DE 01 */ bl TRKReadBuffer1_ui64 +/* 8008A92C 0008786C 7F 64 DB 78 */ mr r4, r27 +/* 8008A930 00087870 38 61 00 18 */ addi r3, r1, 0x18 +/* 8008A934 00087874 7F E5 FB 78 */ mr r5, r31 +/* 8008A938 00087878 48 00 0E E5 */ bl TRKPPCAccessFPRegister +lbl_8008A93C: +/* 8008A93C 0008787C 80 9E 00 00 */ lwz r4, 0(r30) +/* 8008A940 00087880 3B 7B 00 01 */ addi r27, r27, 1 +/* 8008A944 00087884 38 04 00 08 */ addi r0, r4, 8 +/* 8008A948 00087888 90 1E 00 00 */ stw r0, 0(r30) +lbl_8008A94C: +/* 8008A94C 0008788C 7C 1B E0 40 */ cmplw r27, r28 +/* 8008A950 00087890 41 81 00 0C */ bgt lbl_8008A95C +/* 8008A954 00087894 2C 03 00 00 */ cmpwi r3, 0 +/* 8008A958 00087898 41 82 FF 9C */ beq lbl_8008A8F4 +lbl_8008A95C: +/* 8008A95C 0008789C 88 1A 00 00 */ lbz r0, 0(r26) +/* 8008A960 000878A0 28 00 00 00 */ cmplwi r0, 0 +/* 8008A964 000878A4 41 82 00 10 */ beq lbl_8008A974 +/* 8008A968 000878A8 38 00 00 00 */ li r0, 0 +/* 8008A96C 000878AC 90 1E 00 00 */ stw r0, 0(r30) +/* 8008A970 000878B0 38 60 07 02 */ li r3, 0x702 +lbl_8008A974: +/* 8008A974 000878B4 3C A0 80 3B */ lis r5, gTRKExceptionStatus@ha +/* 8008A978 000878B8 80 81 00 08 */ lwz r4, 8(r1) +/* 8008A97C 000878BC 80 01 00 0C */ lwz r0, 0xc(r1) +/* 8008A980 000878C0 38 A5 F0 24 */ addi r5, r5, gTRKExceptionStatus@l +/* 8008A984 000878C4 90 85 00 00 */ stw r4, 0(r5) +/* 8008A988 000878C8 90 05 00 04 */ stw r0, 4(r5) +/* 8008A98C 000878CC 80 81 00 10 */ lwz r4, 0x10(r1) +/* 8008A990 000878D0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8008A994 000878D4 90 85 00 08 */ stw r4, 8(r5) +/* 8008A998 000878D8 90 05 00 0C */ stw r0, 0xc(r5) +lbl_8008A99C: +/* 8008A99C 000878DC BB 21 00 24 */ lmw r25, 0x24(r1) +/* 8008A9A0 000878E0 38 21 00 40 */ addi r1, r1, 0x40 +/* 8008A9A4 000878E4 80 01 00 04 */ lwz r0, 4(r1) +/* 8008A9A8 000878E8 7C 08 03 A6 */ mtlr r0 +/* 8008A9AC 000878EC 4E 80 00 20 */ blr + +.global TRKTargetAccessExtended1 +TRKTargetAccessExtended1: +/* 8008A9B0 000878F0 7C 08 02 A6 */ mflr r0 +/* 8008A9B4 000878F4 90 01 00 04 */ stw r0, 4(r1) +/* 8008A9B8 000878F8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8008A9BC 000878FC 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8008A9C0 00087900 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8008A9C4 00087904 7C DE 33 78 */ mr r30, r6 +/* 8008A9C8 00087908 28 04 00 60 */ cmplwi r4, 0x60 +/* 8008A9CC 0008790C 40 81 00 0C */ ble lbl_8008A9D8 +/* 8008A9D0 00087910 38 60 07 01 */ li r3, 0x701 +/* 8008A9D4 00087914 48 00 01 3C */ b lbl_8008AB10 +lbl_8008A9D8: +/* 8008A9D8 00087918 3C C0 80 3B */ lis r6, gTRKExceptionStatus@ha +/* 8008A9DC 0008791C 7C 03 20 40 */ cmplw r3, r4 +/* 8008A9E0 00087920 39 26 F0 24 */ addi r9, r6, gTRKExceptionStatus@l +/* 8008A9E4 00087924 81 09 00 00 */ lwz r8, 0(r9) +/* 8008A9E8 00087928 3B E9 00 0D */ addi r31, r9, 0xd +/* 8008A9EC 0008792C 80 C9 00 04 */ lwz r6, 4(r9) +/* 8008A9F0 00087930 38 00 00 00 */ li r0, 0 +/* 8008A9F4 00087934 91 01 00 08 */ stw r8, 8(r1) +/* 8008A9F8 00087938 90 C1 00 0C */ stw r6, 0xc(r1) +/* 8008A9FC 0008793C 81 09 00 08 */ lwz r8, 8(r9) +/* 8008AA00 00087940 80 C9 00 0C */ lwz r6, 0xc(r9) +/* 8008AA04 00087944 91 01 00 10 */ stw r8, 0x10(r1) +/* 8008AA08 00087948 90 C1 00 14 */ stw r6, 0x14(r1) +/* 8008AA0C 0008794C 98 1F 00 00 */ stb r0, 0(r31) +/* 8008AA10 00087950 90 1E 00 00 */ stw r0, 0(r30) +/* 8008AA14 00087954 41 81 00 BC */ bgt lbl_8008AAD0 +/* 8008AA18 00087958 7C 83 20 50 */ subf r4, r3, r4 +/* 8008AA1C 0008795C 80 1E 00 00 */ lwz r0, 0(r30) +/* 8008AA20 00087960 39 04 00 01 */ addi r8, r4, 1 +/* 8008AA24 00087964 2C 07 00 00 */ cmpwi r7, 0 +/* 8008AA28 00087968 55 06 10 3A */ slwi r6, r8, 2 +/* 8008AA2C 0008796C 3C 80 80 3F */ lis r4, gTRKCPUState@ha +/* 8008AA30 00087970 7C 00 32 14 */ add r0, r0, r6 +/* 8008AA34 00087974 90 1E 00 00 */ stw r0, 0(r30) +/* 8008AA38 00087978 38 E4 AC 30 */ addi r7, r4, gTRKCPUState@l +/* 8008AA3C 0008797C 54 60 10 3A */ slwi r0, r3, 2 +/* 8008AA40 00087980 7C 87 02 14 */ add r4, r7, r0 +/* 8008AA44 00087984 38 84 01 A8 */ addi r4, r4, 0x1a8 +/* 8008AA48 00087988 41 82 00 14 */ beq lbl_8008AA5C +/* 8008AA4C 0008798C 7C A3 2B 78 */ mr r3, r5 +/* 8008AA50 00087990 7D 05 43 78 */ mr r5, r8 +/* 8008AA54 00087994 4B FF DB 25 */ bl TRKAppendBuffer_ui32 +/* 8008AA58 00087998 48 00 00 78 */ b lbl_8008AAD0 +lbl_8008AA5C: +/* 8008AA5C 0008799C 38 07 01 EC */ addi r0, r7, 0x1ec +/* 8008AA60 000879A0 7C 04 00 40 */ cmplw r4, r0 +/* 8008AA64 000879A4 41 81 00 28 */ bgt lbl_8008AA8C +/* 8008AA68 000879A8 38 66 FF FC */ addi r3, r6, -4 +/* 8008AA6C 000879AC 38 07 01 E8 */ addi r0, r7, 0x1e8 +/* 8008AA70 000879B0 7C 64 1A 14 */ add r3, r4, r3 +/* 8008AA74 000879B4 7C 03 00 40 */ cmplw r3, r0 +/* 8008AA78 000879B8 41 80 00 14 */ blt lbl_8008AA8C +/* 8008AA7C 000879BC 3C 60 80 3B */ lis r3, gTRKRestoreFlags@ha +/* 8008AA80 000879C0 38 63 F0 18 */ addi r3, r3, gTRKRestoreFlags@l +/* 8008AA84 000879C4 38 00 00 01 */ li r0, 1 +/* 8008AA88 000879C8 98 03 00 00 */ stb r0, 0(r3) +lbl_8008AA8C: +/* 8008AA8C 000879CC 3C 60 80 3F */ lis r3, gTRKCPUState@ha +/* 8008AA90 000879D0 38 63 AC 30 */ addi r3, r3, gTRKCPUState@l +/* 8008AA94 000879D4 38 C3 02 78 */ addi r6, r3, 0x278 +/* 8008AA98 000879D8 7C 04 30 40 */ cmplw r4, r6 +/* 8008AA9C 000879DC 41 81 00 28 */ bgt lbl_8008AAC4 +/* 8008AAA0 000879E0 55 03 10 3A */ slwi r3, r8, 2 +/* 8008AAA4 000879E4 38 03 FF FC */ addi r0, r3, -4 +/* 8008AAA8 000879E8 7C 04 02 14 */ add r0, r4, r0 +/* 8008AAAC 000879EC 7C 00 30 40 */ cmplw r0, r6 +/* 8008AAB0 000879F0 41 80 00 14 */ blt lbl_8008AAC4 +/* 8008AAB4 000879F4 3C 60 80 3B */ lis r3, gTRKRestoreFlags@ha +/* 8008AAB8 000879F8 38 63 F0 18 */ addi r3, r3, gTRKRestoreFlags@l +/* 8008AABC 000879FC 38 00 00 01 */ li r0, 1 +/* 8008AAC0 00087A00 98 03 00 01 */ stb r0, 1(r3) +lbl_8008AAC4: +/* 8008AAC4 00087A04 7C A3 2B 78 */ mr r3, r5 +/* 8008AAC8 00087A08 7D 05 43 78 */ mr r5, r8 +/* 8008AACC 00087A0C 4B FF DD 81 */ bl TRKReadBuffer_ui32 +lbl_8008AAD0: +/* 8008AAD0 00087A10 88 1F 00 00 */ lbz r0, 0(r31) +/* 8008AAD4 00087A14 28 00 00 00 */ cmplwi r0, 0 +/* 8008AAD8 00087A18 41 82 00 10 */ beq lbl_8008AAE8 +/* 8008AADC 00087A1C 38 00 00 00 */ li r0, 0 +/* 8008AAE0 00087A20 90 1E 00 00 */ stw r0, 0(r30) +/* 8008AAE4 00087A24 38 60 07 02 */ li r3, 0x702 +lbl_8008AAE8: +/* 8008AAE8 00087A28 3C A0 80 3B */ lis r5, gTRKExceptionStatus@ha +/* 8008AAEC 00087A2C 80 81 00 08 */ lwz r4, 8(r1) +/* 8008AAF0 00087A30 80 01 00 0C */ lwz r0, 0xc(r1) +/* 8008AAF4 00087A34 38 A5 F0 24 */ addi r5, r5, gTRKExceptionStatus@l +/* 8008AAF8 00087A38 90 85 00 00 */ stw r4, 0(r5) +/* 8008AAFC 00087A3C 90 05 00 04 */ stw r0, 4(r5) +/* 8008AB00 00087A40 80 81 00 10 */ lwz r4, 0x10(r1) +/* 8008AB04 00087A44 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8008AB08 00087A48 90 85 00 08 */ stw r4, 8(r5) +/* 8008AB0C 00087A4C 90 05 00 0C */ stw r0, 0xc(r5) +lbl_8008AB10: +/* 8008AB10 00087A50 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8008AB14 00087A54 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8008AB18 00087A58 38 21 00 20 */ addi r1, r1, 0x20 +/* 8008AB1C 00087A5C 80 01 00 04 */ lwz r0, 4(r1) +/* 8008AB20 00087A60 7C 08 03 A6 */ mtlr r0 +/* 8008AB24 00087A64 4E 80 00 20 */ blr + +.global TRKTargetAccessExtended2 +TRKTargetAccessExtended2: +/* 8008AB28 00087A68 7C 08 02 A6 */ mflr r0 +/* 8008AB2C 00087A6C 90 01 00 04 */ stw r0, 4(r1) +/* 8008AB30 00087A70 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 8008AB34 00087A74 BF 21 00 24 */ stmw r25, 0x24(r1) +/* 8008AB38 00087A78 7C 79 1B 78 */ mr r25, r3 +/* 8008AB3C 00087A7C 7C 9B 23 78 */ mr r27, r4 +/* 8008AB40 00087A80 7C BC 2B 78 */ mr r28, r5 +/* 8008AB44 00087A84 7C DD 33 78 */ mr r29, r6 +/* 8008AB48 00087A88 7C FE 3B 78 */ mr r30, r7 +/* 8008AB4C 00087A8C 28 1B 00 1F */ cmplwi r27, 0x1f +/* 8008AB50 00087A90 40 81 00 0C */ ble lbl_8008AB5C +/* 8008AB54 00087A94 38 60 07 01 */ li r3, 0x701 +/* 8008AB58 00087A98 48 00 01 38 */ b lbl_8008AC90 +lbl_8008AB5C: +/* 8008AB5C 00087A9C 3C 80 80 3B */ lis r4, gTRKExceptionStatus@ha +/* 8008AB60 00087AA0 38 61 00 08 */ addi r3, r1, 8 +/* 8008AB64 00087AA4 38 E4 F0 24 */ addi r7, r4, gTRKExceptionStatus@l +/* 8008AB68 00087AA8 80 A7 00 00 */ lwz r5, 0(r7) +/* 8008AB6C 00087AAC 3B E7 00 0D */ addi r31, r7, 0xd +/* 8008AB70 00087AB0 80 07 00 04 */ lwz r0, 4(r7) +/* 8008AB74 00087AB4 3B 40 00 00 */ li r26, 0 +/* 8008AB78 00087AB8 38 80 03 98 */ li r4, 0x398 +/* 8008AB7C 00087ABC 90 A1 00 0C */ stw r5, 0xc(r1) +/* 8008AB80 00087AC0 38 A0 00 01 */ li r5, 1 +/* 8008AB84 00087AC4 90 01 00 10 */ stw r0, 0x10(r1) +/* 8008AB88 00087AC8 80 C7 00 08 */ lwz r6, 8(r7) +/* 8008AB8C 00087ACC 80 07 00 0C */ lwz r0, 0xc(r7) +/* 8008AB90 00087AD0 90 C1 00 14 */ stw r6, 0x14(r1) +/* 8008AB94 00087AD4 90 01 00 18 */ stw r0, 0x18(r1) +/* 8008AB98 00087AD8 9B 5F 00 00 */ stb r26, 0(r31) +/* 8008AB9C 00087ADC 48 00 0B 59 */ bl TRKPPCAccessSPR +/* 8008ABA0 00087AE0 80 01 00 08 */ lwz r0, 8(r1) +/* 8008ABA4 00087AE4 38 61 00 08 */ addi r3, r1, 8 +/* 8008ABA8 00087AE8 38 80 03 98 */ li r4, 0x398 +/* 8008ABAC 00087AEC 64 00 A0 00 */ oris r0, r0, 0xa000 +/* 8008ABB0 00087AF0 90 01 00 08 */ stw r0, 8(r1) +/* 8008ABB4 00087AF4 38 A0 00 00 */ li r5, 0 +/* 8008ABB8 00087AF8 48 00 0B 3D */ bl TRKPPCAccessSPR +/* 8008ABBC 00087AFC 93 41 00 08 */ stw r26, 8(r1) +/* 8008ABC0 00087B00 38 61 00 08 */ addi r3, r1, 8 +/* 8008ABC4 00087B04 38 80 03 90 */ li r4, 0x390 +/* 8008ABC8 00087B08 38 A0 00 00 */ li r5, 0 +/* 8008ABCC 00087B0C 48 00 0B 29 */ bl TRKPPCAccessSPR +/* 8008ABD0 00087B10 93 5D 00 00 */ stw r26, 0(r29) +/* 8008ABD4 00087B14 7F 3A CB 78 */ mr r26, r25 +/* 8008ABD8 00087B18 38 60 00 00 */ li r3, 0 +/* 8008ABDC 00087B1C 48 00 00 04 */ b lbl_8008ABE0 +lbl_8008ABE0: +/* 8008ABE0 00087B20 48 00 00 04 */ b lbl_8008ABE4 +lbl_8008ABE4: +/* 8008ABE4 00087B24 48 00 00 5C */ b lbl_8008AC40 +lbl_8008ABE8: +/* 8008ABE8 00087B28 2C 1E 00 00 */ cmpwi r30, 0 +/* 8008ABEC 00087B2C 41 82 00 28 */ beq lbl_8008AC14 +/* 8008ABF0 00087B30 7F 44 D3 78 */ mr r4, r26 +/* 8008ABF4 00087B34 38 61 00 1C */ addi r3, r1, 0x1c +/* 8008ABF8 00087B38 7F C5 F3 78 */ mr r5, r30 +/* 8008ABFC 00087B3C 48 00 0B A9 */ bl TRKPPCAccessPairedSingleRegister +/* 8008AC00 00087B40 80 A1 00 1C */ lwz r5, 0x1c(r1) +/* 8008AC04 00087B44 7F 83 E3 78 */ mr r3, r28 +/* 8008AC08 00087B48 80 C1 00 20 */ lwz r6, 0x20(r1) +/* 8008AC0C 00087B4C 4B FF D8 7D */ bl TRKAppendBuffer1_ui64 +/* 8008AC10 00087B50 48 00 00 20 */ b lbl_8008AC30 +lbl_8008AC14: +/* 8008AC14 00087B54 7F 83 E3 78 */ mr r3, r28 +/* 8008AC18 00087B58 38 81 00 1C */ addi r4, r1, 0x1c +/* 8008AC1C 00087B5C 4B FF DB 0D */ bl TRKReadBuffer1_ui64 +/* 8008AC20 00087B60 7F 44 D3 78 */ mr r4, r26 +/* 8008AC24 00087B64 38 61 00 1C */ addi r3, r1, 0x1c +/* 8008AC28 00087B68 7F C5 F3 78 */ mr r5, r30 +/* 8008AC2C 00087B6C 48 00 0B 79 */ bl TRKPPCAccessPairedSingleRegister +lbl_8008AC30: +/* 8008AC30 00087B70 80 9D 00 00 */ lwz r4, 0(r29) +/* 8008AC34 00087B74 3B 5A 00 01 */ addi r26, r26, 1 +/* 8008AC38 00087B78 38 04 00 08 */ addi r0, r4, 8 +/* 8008AC3C 00087B7C 90 1D 00 00 */ stw r0, 0(r29) +lbl_8008AC40: +/* 8008AC40 00087B80 7C 1A D8 40 */ cmplw r26, r27 +/* 8008AC44 00087B84 41 81 00 0C */ bgt lbl_8008AC50 +/* 8008AC48 00087B88 2C 03 00 00 */ cmpwi r3, 0 +/* 8008AC4C 00087B8C 41 82 FF 9C */ beq lbl_8008ABE8 +lbl_8008AC50: +/* 8008AC50 00087B90 88 1F 00 00 */ lbz r0, 0(r31) +/* 8008AC54 00087B94 28 00 00 00 */ cmplwi r0, 0 +/* 8008AC58 00087B98 41 82 00 10 */ beq lbl_8008AC68 +/* 8008AC5C 00087B9C 38 00 00 00 */ li r0, 0 +/* 8008AC60 00087BA0 90 1D 00 00 */ stw r0, 0(r29) +/* 8008AC64 00087BA4 38 60 07 02 */ li r3, 0x702 +lbl_8008AC68: +/* 8008AC68 00087BA8 3C A0 80 3B */ lis r5, gTRKExceptionStatus@ha +/* 8008AC6C 00087BAC 80 81 00 0C */ lwz r4, 0xc(r1) +/* 8008AC70 00087BB0 80 01 00 10 */ lwz r0, 0x10(r1) +/* 8008AC74 00087BB4 38 A5 F0 24 */ addi r5, r5, gTRKExceptionStatus@l +/* 8008AC78 00087BB8 90 85 00 00 */ stw r4, 0(r5) +/* 8008AC7C 00087BBC 90 05 00 04 */ stw r0, 4(r5) +/* 8008AC80 00087BC0 80 81 00 14 */ lwz r4, 0x14(r1) +/* 8008AC84 00087BC4 80 01 00 18 */ lwz r0, 0x18(r1) +/* 8008AC88 00087BC8 90 85 00 08 */ stw r4, 8(r5) +/* 8008AC8C 00087BCC 90 05 00 0C */ stw r0, 0xc(r5) +lbl_8008AC90: +/* 8008AC90 00087BD0 BB 21 00 24 */ lmw r25, 0x24(r1) +/* 8008AC94 00087BD4 38 21 00 40 */ addi r1, r1, 0x40 +/* 8008AC98 00087BD8 80 01 00 04 */ lwz r0, 4(r1) +/* 8008AC9C 00087BDC 7C 08 03 A6 */ mtlr r0 +/* 8008ACA0 00087BE0 4E 80 00 20 */ blr + +.global TRKTargetVersions +TRKTargetVersions: +/* 8008ACA4 00087BE4 38 00 00 00 */ li r0, 0 +/* 8008ACA8 00087BE8 98 03 00 00 */ stb r0, 0(r3) +/* 8008ACAC 00087BEC 38 00 00 08 */ li r0, 8 +/* 8008ACB0 00087BF0 38 80 00 01 */ li r4, 1 +/* 8008ACB4 00087BF4 98 03 00 01 */ stb r0, 1(r3) +/* 8008ACB8 00087BF8 38 00 00 0A */ li r0, 0xa +/* 8008ACBC 00087BFC 98 83 00 02 */ stb r4, 2(r3) +/* 8008ACC0 00087C00 98 03 00 03 */ stb r0, 3(r3) +/* 8008ACC4 00087C04 38 60 00 00 */ li r3, 0 +/* 8008ACC8 00087C08 4E 80 00 20 */ blr + +.global TRKTargetSupportMask +TRKTargetSupportMask: +/* 8008ACCC 00087C0C 38 00 00 7A */ li r0, 0x7a +/* 8008ACD0 00087C10 98 03 00 00 */ stb r0, 0(r3) +/* 8008ACD4 00087C14 38 E0 00 00 */ li r7, 0 +/* 8008ACD8 00087C18 38 00 00 4F */ li r0, 0x4f +/* 8008ACDC 00087C1C 98 E3 00 01 */ stb r7, 1(r3) +/* 8008ACE0 00087C20 38 C0 00 07 */ li r6, 7 +/* 8008ACE4 00087C24 38 A0 00 01 */ li r5, 1 +/* 8008ACE8 00087C28 98 03 00 02 */ stb r0, 2(r3) +/* 8008ACEC 00087C2C 38 80 00 03 */ li r4, 3 +/* 8008ACF0 00087C30 38 00 00 80 */ li r0, 0x80 +/* 8008ACF4 00087C34 98 C3 00 03 */ stb r6, 3(r3) +/* 8008ACF8 00087C38 98 E3 00 04 */ stb r7, 4(r3) +/* 8008ACFC 00087C3C 98 E3 00 05 */ stb r7, 5(r3) +/* 8008AD00 00087C40 98 E3 00 06 */ stb r7, 6(r3) +/* 8008AD04 00087C44 98 E3 00 07 */ stb r7, 7(r3) +/* 8008AD08 00087C48 98 E3 00 08 */ stb r7, 8(r3) +/* 8008AD0C 00087C4C 98 E3 00 09 */ stb r7, 9(r3) +/* 8008AD10 00087C50 98 E3 00 0A */ stb r7, 0xa(r3) +/* 8008AD14 00087C54 98 E3 00 0B */ stb r7, 0xb(r3) +/* 8008AD18 00087C58 98 E3 00 0C */ stb r7, 0xc(r3) +/* 8008AD1C 00087C5C 98 E3 00 0D */ stb r7, 0xd(r3) +/* 8008AD20 00087C60 98 E3 00 0E */ stb r7, 0xe(r3) +/* 8008AD24 00087C64 98 E3 00 0F */ stb r7, 0xf(r3) +/* 8008AD28 00087C68 98 A3 00 10 */ stb r5, 0x10(r3) +/* 8008AD2C 00087C6C 98 E3 00 11 */ stb r7, 0x11(r3) +/* 8008AD30 00087C70 98 83 00 12 */ stb r4, 0x12(r3) +/* 8008AD34 00087C74 98 E3 00 13 */ stb r7, 0x13(r3) +/* 8008AD38 00087C78 98 E3 00 14 */ stb r7, 0x14(r3) +/* 8008AD3C 00087C7C 98 E3 00 15 */ stb r7, 0x15(r3) +/* 8008AD40 00087C80 98 E3 00 16 */ stb r7, 0x16(r3) +/* 8008AD44 00087C84 98 E3 00 17 */ stb r7, 0x17(r3) +/* 8008AD48 00087C88 98 E3 00 18 */ stb r7, 0x18(r3) +/* 8008AD4C 00087C8C 98 E3 00 19 */ stb r7, 0x19(r3) +/* 8008AD50 00087C90 98 83 00 1A */ stb r4, 0x1a(r3) +/* 8008AD54 00087C94 98 E3 00 1B */ stb r7, 0x1b(r3) +/* 8008AD58 00087C98 98 E3 00 1C */ stb r7, 0x1c(r3) +/* 8008AD5C 00087C9C 98 E3 00 1D */ stb r7, 0x1d(r3) +/* 8008AD60 00087CA0 98 E3 00 1E */ stb r7, 0x1e(r3) +/* 8008AD64 00087CA4 98 03 00 1F */ stb r0, 0x1f(r3) +/* 8008AD68 00087CA8 38 60 00 00 */ li r3, 0 +/* 8008AD6C 00087CAC 4E 80 00 20 */ blr + +.global TRKTargetCPUType +TRKTargetCPUType: +/* 8008AD70 00087CB0 7C 08 02 A6 */ mflr r0 +/* 8008AD74 00087CB4 90 01 00 04 */ stw r0, 4(r1) +/* 8008AD78 00087CB8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8008AD7C 00087CBC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8008AD80 00087CC0 7C 7F 1B 78 */ mr r31, r3 +/* 8008AD84 00087CC4 38 00 00 00 */ li r0, 0 +/* 8008AD88 00087CC8 98 1F 00 00 */ stb r0, 0(r31) +/* 8008AD8C 00087CCC 48 00 12 39 */ bl TRKTargetCPUMinorType +/* 8008AD90 00087CD0 98 7F 00 01 */ stb r3, 1(r31) +/* 8008AD94 00087CD4 3C 60 80 3F */ lis r3, gTRKBigEndian@ha +/* 8008AD98 00087CD8 38 63 91 08 */ addi r3, r3, gTRKBigEndian@l +/* 8008AD9C 00087CDC 80 63 00 00 */ lwz r3, 0(r3) +/* 8008ADA0 00087CE0 38 80 00 04 */ li r4, 4 +/* 8008ADA4 00087CE4 38 00 00 08 */ li r0, 8 +/* 8008ADA8 00087CE8 54 63 06 3E */ clrlwi r3, r3, 0x18 +/* 8008ADAC 00087CEC 98 7F 00 02 */ stb r3, 2(r31) +/* 8008ADB0 00087CF0 38 60 00 00 */ li r3, 0 +/* 8008ADB4 00087CF4 98 9F 00 03 */ stb r4, 3(r31) +/* 8008ADB8 00087CF8 98 1F 00 04 */ stb r0, 4(r31) +/* 8008ADBC 00087CFC 98 9F 00 05 */ stb r4, 5(r31) +/* 8008ADC0 00087D00 98 1F 00 06 */ stb r0, 6(r31) +/* 8008ADC4 00087D04 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8008ADC8 00087D08 38 21 00 10 */ addi r1, r1, 0x10 +/* 8008ADCC 00087D0C 80 01 00 04 */ lwz r0, 4(r1) +/* 8008ADD0 00087D10 7C 08 03 A6 */ mtlr r0 +/* 8008ADD4 00087D14 4E 80 00 20 */ blr + +.global TRKInterruptHandler +TRKInterruptHandler: +/* 8008ADD8 00087D18 7C 5A 03 A6 */ mtspr 0x1a, r2 +/* 8008ADDC 00087D1C 7C 9B 03 A6 */ mtspr 0x1b, r4 +/* 8008ADE0 00087D20 7C 93 42 A6 */ mfspr r4, 0x113 +/* 8008ADE4 00087D24 7C 40 00 26 */ mfcr r2 +/* 8008ADE8 00087D28 7C 53 43 A6 */ mtspr 0x113, r2 +/* 8008ADEC 00087D2C 3C 40 80 3E */ lis r2, gTRKState@h +/* 8008ADF0 00087D30 60 42 AB 88 */ ori r2, r2, gTRKState@l +/* 8008ADF4 00087D34 80 42 00 8C */ lwz r2, 0x8c(r2) +/* 8008ADF8 00087D38 60 42 80 02 */ ori r2, r2, 0x8002 +/* 8008ADFC 00087D3C 68 42 80 02 */ xori r2, r2, 0x8002 +/* 8008AE00 00087D40 7C 00 04 AC */ sync 0 +/* 8008AE04 00087D44 7C 40 01 24 */ mtmsr r2 +/* 8008AE08 00087D48 7C 00 04 AC */ sync 0 +/* 8008AE0C 00087D4C 3C 40 80 3E */ lis r2, TRK_saved_exceptionID@h +/* 8008AE10 00087D50 60 42 AA E0 */ ori r2, r2, TRK_saved_exceptionID@l +/* 8008AE14 00087D54 B0 62 00 00 */ sth r3, 0x0(r2) +/* 8008AE18 00087D58 2C 03 05 00 */ cmpwi r3, 0x500 +/* 8008AE1C 00087D5C 40 82 00 84 */ bne lbl_8008AEA0 +/* 8008AE20 00087D60 3C 40 80 3E */ lis r2, gTRKCPUState@h +/* 8008AE24 00087D64 60 42 AC 30 */ ori r2, r2, gTRKCPUState@l +/* 8008AE28 00087D68 7C 68 02 A6 */ mflr r3 +/* 8008AE2C 00087D6C 90 62 04 2C */ stw r3, 0x42c(r2) +/* 8008AE30 00087D70 48 00 13 8D */ bl TRKUARTInterruptHandler +/* 8008AE34 00087D74 3C 40 80 3E */ lis r2, gTRKCPUState@h +/* 8008AE38 00087D78 60 42 AC 30 */ ori r2, r2, gTRKCPUState@l +/* 8008AE3C 00087D7C 80 62 04 2C */ lwz r3, 0x42c(r2) +/* 8008AE40 00087D80 7C 68 03 A6 */ mtlr r3 +/* 8008AE44 00087D84 3C 40 80 3E */ lis r2, gTRKState@h +/* 8008AE48 00087D88 60 42 AB 88 */ ori r2, r2, gTRKState@l +/* 8008AE4C 00087D8C 80 42 00 A0 */ lwz r2, 0xa0(r2) +/* 8008AE50 00087D90 88 42 00 00 */ lbz r2, 0x0(r2) +/* 8008AE54 00087D94 2C 02 00 00 */ cmpwi r2, 0 +/* 8008AE58 00087D98 41 82 00 2C */ beq lbl_8008AE84 +/* 8008AE5C 00087D9C 3C 40 80 3A */ lis r2, gTRKExceptionStatus@h +/* 8008AE60 00087DA0 60 42 F0 24 */ ori r2, r2, gTRKExceptionStatus@l +/* 8008AE64 00087DA4 88 42 00 0C */ lbz r2, 0xc(r2) +/* 8008AE68 00087DA8 2C 02 00 01 */ cmpwi r2, 1 +/* 8008AE6C 00087DAC 41 82 00 18 */ beq lbl_8008AE84 +/* 8008AE70 00087DB0 3C 40 80 3E */ lis r2, gTRKState@h +/* 8008AE74 00087DB4 60 42 AB 88 */ ori r2, r2, gTRKState@l +/* 8008AE78 00087DB8 38 60 00 01 */ li r3, 1 +/* 8008AE7C 00087DBC 98 62 00 9C */ stb r3, 0x9c(r2) +/* 8008AE80 00087DC0 48 00 00 20 */ b lbl_8008AEA0 +lbl_8008AE84: +/* 8008AE84 00087DC4 3C 40 80 3E */ lis r2, gTRKSaveState@h +/* 8008AE88 00087DC8 60 42 AA E4 */ ori r2, r2, gTRKSaveState@l +/* 8008AE8C 00087DCC 80 62 00 88 */ lwz r3, 0x88(r2) +/* 8008AE90 00087DD0 7C 6F F1 20 */ mtcrf 0xff, r3 +/* 8008AE94 00087DD4 80 62 00 0C */ lwz r3, 0xc(r2) +/* 8008AE98 00087DD8 80 42 00 08 */ lwz r2, 0x8(r2) +/* 8008AE9C 00087DDC 4C 00 00 64 */ rfi +lbl_8008AEA0: +/* 8008AEA0 00087DE0 3C 40 80 3E */ lis r2, TRK_saved_exceptionID@h +/* 8008AEA4 00087DE4 60 42 AA E0 */ ori r2, r2, TRK_saved_exceptionID@l +/* 8008AEA8 00087DE8 A0 62 00 00 */ lhz r3, 0x0(r2) +/* 8008AEAC 00087DEC 3C 40 80 3A */ lis r2, gTRKExceptionStatus@h +/* 8008AEB0 00087DF0 60 42 F0 24 */ ori r2, r2, gTRKExceptionStatus@l +/* 8008AEB4 00087DF4 88 42 00 0C */ lbz r2, 0xc(r2) +/* 8008AEB8 00087DF8 2C 02 00 00 */ cmpwi r2, 0 +/* 8008AEBC 00087DFC 40 82 00 B0 */ bne TRKExceptionHandler +/* 8008AEC0 00087E00 3C 40 80 3E */ lis r2, gTRKCPUState@h +/* 8008AEC4 00087E04 60 42 AC 30 */ ori r2, r2, gTRKCPUState@l +/* 8008AEC8 00087E08 90 02 00 00 */ stw r0, 0x0(r2) +/* 8008AECC 00087E0C 90 22 00 04 */ stw r1, 0x4(r2) +/* 8008AED0 00087E10 7C 11 42 A6 */ mfspr r0, 0x111 +/* 8008AED4 00087E14 90 02 00 08 */ stw r0, 0x8(r2) +/* 8008AED8 00087E18 B0 62 02 F8 */ sth r3, 0x2f8(r2) +/* 8008AEDC 00087E1C B0 62 02 FA */ sth r3, 0x2fa(r2) +/* 8008AEE0 00087E20 7C 12 42 A6 */ mfspr r0, 0x112 +/* 8008AEE4 00087E24 90 02 00 0C */ stw r0, 0xc(r2) +/* 8008AEE8 00087E28 BC 82 00 10 */ stmw r4, 0x10(r2) +/* 8008AEEC 00087E2C 7F 7A 02 A6 */ mfspr r27, 0x1a +/* 8008AEF0 00087E30 7F 88 02 A6 */ mflr r28 +/* 8008AEF4 00087E34 7F B3 42 A6 */ mfspr r29, 0x113 +/* 8008AEF8 00087E38 7F C9 02 A6 */ mfctr r30 +/* 8008AEFC 00087E3C 7F E1 02 A6 */ mfxer r31 +/* 8008AF00 00087E40 BF 62 00 80 */ stmw r27, 0x80(r2) +/* 8008AF04 00087E44 48 00 0D 51 */ bl TRKSaveExtended1Block +/* 8008AF08 00087E48 3C 40 80 3A */ lis r2, gTRKExceptionStatus@h +/* 8008AF0C 00087E4C 60 42 F0 24 */ ori r2, r2, gTRKExceptionStatus@l +/* 8008AF10 00087E50 38 60 00 01 */ li r3, 1 +/* 8008AF14 00087E54 98 62 00 0C */ stb r3, 0xc(r2) +/* 8008AF18 00087E58 3C 40 80 3E */ lis r2, gTRKState@h +/* 8008AF1C 00087E5C 60 42 AB 88 */ ori r2, r2, gTRKState@l +/* 8008AF20 00087E60 80 02 00 8C */ lwz r0, 0x8c(r2) +/* 8008AF24 00087E64 7C 00 04 AC */ sync 0 +/* 8008AF28 00087E68 7C 00 01 24 */ mtmsr r0 +/* 8008AF2C 00087E6C 7C 00 04 AC */ sync 0 +/* 8008AF30 00087E70 80 02 00 80 */ lwz r0, 0x80(r2) +/* 8008AF34 00087E74 7C 08 03 A6 */ mtlr r0 +/* 8008AF38 00087E78 80 02 00 84 */ lwz r0, 0x84(r2) +/* 8008AF3C 00087E7C 7C 09 03 A6 */ mtctr r0 +/* 8008AF40 00087E80 80 02 00 88 */ lwz r0, 0x88(r2) +/* 8008AF44 00087E84 7C 01 03 A6 */ mtxer r0 +/* 8008AF48 00087E88 80 02 00 94 */ lwz r0, 0x94(r2) +/* 8008AF4C 00087E8C 7C 12 03 A6 */ mtdsisr r0 +/* 8008AF50 00087E90 80 02 00 90 */ lwz r0, 0x90(r2) +/* 8008AF54 00087E94 7C 13 03 A6 */ mtdar r0 +/* 8008AF58 00087E98 B8 62 00 0C */ lmw r3, 0xc(r2) +/* 8008AF5C 00087E9C 80 02 00 00 */ lwz r0, 0x0(r2) +/* 8008AF60 00087EA0 80 22 00 04 */ lwz r1, 0x4(r2) +/* 8008AF64 00087EA4 80 42 00 08 */ lwz r2, 0x8(r2) +/* 8008AF68 00087EA8 48 00 00 A0 */ b TRKPostInterruptEvent + +.global TRKExceptionHandler +TRKExceptionHandler: +/* 8008AF6C 00087EAC 3C 40 80 3A */ lis r2, gTRKExceptionStatus@h +/* 8008AF70 00087EB0 60 42 F0 24 */ ori r2, r2, gTRKExceptionStatus@l +/* 8008AF74 00087EB4 B0 62 00 08 */ sth r3, 0x8(r2) +/* 8008AF78 00087EB8 7C 7A 02 A6 */ mfspr r3, 0x1a +/* 8008AF7C 00087EBC 90 62 00 00 */ stw r3, 0x0(r2) +/* 8008AF80 00087EC0 A0 62 00 08 */ lhz r3, 0x8(r2) +/* 8008AF84 00087EC4 2C 03 02 00 */ cmpwi r3, 0x200 +/* 8008AF88 00087EC8 41 82 00 50 */ beq lbl_8008AFD8 +/* 8008AF8C 00087ECC 2C 03 03 00 */ cmpwi r3, 0x300 +/* 8008AF90 00087ED0 41 82 00 48 */ beq lbl_8008AFD8 +/* 8008AF94 00087ED4 2C 03 04 00 */ cmpwi r3, 0x400 +/* 8008AF98 00087ED8 41 82 00 40 */ beq lbl_8008AFD8 +/* 8008AF9C 00087EDC 2C 03 06 00 */ cmpwi r3, 0x600 +/* 8008AFA0 00087EE0 41 82 00 38 */ beq lbl_8008AFD8 +/* 8008AFA4 00087EE4 2C 03 07 00 */ cmpwi r3, 0x700 +/* 8008AFA8 00087EE8 41 82 00 30 */ beq lbl_8008AFD8 +/* 8008AFAC 00087EEC 2C 03 08 00 */ cmpwi r3, 0x800 +/* 8008AFB0 00087EF0 41 82 00 28 */ beq lbl_8008AFD8 +/* 8008AFB4 00087EF4 2C 03 10 00 */ cmpwi r3, 0x1000 +/* 8008AFB8 00087EF8 41 82 00 20 */ beq lbl_8008AFD8 +/* 8008AFBC 00087EFC 2C 03 11 00 */ cmpwi r3, 0x1100 +/* 8008AFC0 00087F00 41 82 00 18 */ beq lbl_8008AFD8 +/* 8008AFC4 00087F04 2C 03 12 00 */ cmpwi r3, 0x1200 +/* 8008AFC8 00087F08 41 82 00 10 */ beq lbl_8008AFD8 +/* 8008AFCC 00087F0C 2C 03 13 00 */ cmpwi r3, 0x1300 +/* 8008AFD0 00087F10 41 82 00 08 */ beq lbl_8008AFD8 +/* 8008AFD4 00087F14 48 00 00 10 */ b lbl_8008AFE4 +lbl_8008AFD8: +/* 8008AFD8 00087F18 7C 7A 02 A6 */ mfspr r3, 0x1a +/* 8008AFDC 00087F1C 38 63 00 04 */ addi r3, r3, 4 +/* 8008AFE0 00087F20 7C 7A 03 A6 */ mtspr 0x1a, r3 +lbl_8008AFE4: +/* 8008AFE4 00087F24 3C 40 80 3A */ lis r2, gTRKExceptionStatus@h +/* 8008AFE8 00087F28 60 42 F0 24 */ ori r2, r2, gTRKExceptionStatus@l +/* 8008AFEC 00087F2C 38 60 00 01 */ li r3, 1 +/* 8008AFF0 00087F30 98 62 00 0D */ stb r3, 0xd(r2) +/* 8008AFF4 00087F34 7C 73 42 A6 */ mfspr r3, 0x113 +/* 8008AFF8 00087F38 7C 6F F1 20 */ mtcrf 0xff, r3 +/* 8008AFFC 00087F3C 7C 51 42 A6 */ mfspr r2, 0x111 +/* 8008B000 00087F40 7C 72 42 A6 */ mfspr r3, 0x112 +/* 8008B004 00087F44 4C 00 00 64 */ rfi + +.global TRKPostInterruptEvent +TRKPostInterruptEvent: +/* 8008B008 00087F48 7C 08 02 A6 */ mflr r0 +/* 8008B00C 00087F4C 90 01 00 04 */ stw r0, 4(r1) +/* 8008B010 00087F50 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 8008B014 00087F54 3C 60 80 3F */ lis r3, gTRKState@ha +/* 8008B018 00087F58 38 63 AB 88 */ addi r3, r3, gTRKState@l +/* 8008B01C 00087F5C 38 63 00 9C */ addi r3, r3, 0x9c +/* 8008B020 00087F60 80 03 00 00 */ lwz r0, 0(r3) +/* 8008B024 00087F64 2C 00 00 00 */ cmpwi r0, 0 +/* 8008B028 00087F68 41 82 00 10 */ beq lbl_8008B038 +/* 8008B02C 00087F6C 38 00 00 00 */ li r0, 0 +/* 8008B030 00087F70 90 03 00 00 */ stw r0, 0(r3) +/* 8008B034 00087F74 48 00 00 74 */ b lbl_8008B0A8 +lbl_8008B038: +/* 8008B038 00087F78 3C 60 80 3F */ lis r3, gTRKCPUState@ha +/* 8008B03C 00087F7C 38 63 AC 30 */ addi r3, r3, gTRKCPUState@l +/* 8008B040 00087F80 80 03 02 F8 */ lwz r0, 0x2f8(r3) +/* 8008B044 00087F84 54 00 04 3E */ clrlwi r0, r0, 0x10 +/* 8008B048 00087F88 2C 00 0D 00 */ cmpwi r0, 0xd00 +/* 8008B04C 00087F8C 41 82 00 14 */ beq lbl_8008B060 +/* 8008B050 00087F90 40 80 00 44 */ bge lbl_8008B094 +/* 8008B054 00087F94 2C 00 07 00 */ cmpwi r0, 0x700 +/* 8008B058 00087F98 41 82 00 08 */ beq lbl_8008B060 +/* 8008B05C 00087F9C 48 00 00 38 */ b lbl_8008B094 +lbl_8008B060: +/* 8008B060 00087FA0 3C 80 80 3F */ lis r4, gTRKCPUState@ha +/* 8008B064 00087FA4 38 61 00 08 */ addi r3, r1, 8 +/* 8008B068 00087FA8 38 84 AC 30 */ addi r4, r4, gTRKCPUState@l +/* 8008B06C 00087FAC 80 84 00 80 */ lwz r4, 0x80(r4) +/* 8008B070 00087FB0 4B FF F6 B1 */ bl TRKTargetReadInstruction +/* 8008B074 00087FB4 80 61 00 08 */ lwz r3, 8(r1) +/* 8008B078 00087FB8 3C 03 F0 20 */ addis r0, r3, 0xf020 +/* 8008B07C 00087FBC 28 00 00 00 */ cmplwi r0, 0 +/* 8008B080 00087FC0 40 82 00 0C */ bne lbl_8008B08C +/* 8008B084 00087FC4 38 80 00 05 */ li r4, 5 +/* 8008B088 00087FC8 48 00 00 10 */ b lbl_8008B098 +lbl_8008B08C: +/* 8008B08C 00087FCC 38 80 00 03 */ li r4, 3 +/* 8008B090 00087FD0 48 00 00 08 */ b lbl_8008B098 +lbl_8008B094: +/* 8008B094 00087FD4 38 80 00 04 */ li r4, 4 +lbl_8008B098: +/* 8008B098 00087FD8 38 61 00 0C */ addi r3, r1, 0xc +/* 8008B09C 00087FDC 4B FF CD ED */ bl TRKConstructEvent +/* 8008B0A0 00087FE0 38 61 00 0C */ addi r3, r1, 0xc +/* 8008B0A4 00087FE4 4B FF CD 05 */ bl TRKPostEvent +lbl_8008B0A8: +/* 8008B0A8 00087FE8 38 21 00 18 */ addi r1, r1, 0x18 +/* 8008B0AC 00087FEC 80 01 00 04 */ lwz r0, 4(r1) +/* 8008B0B0 00087FF0 7C 08 03 A6 */ mtlr r0 +/* 8008B0B4 00087FF4 4E 80 00 20 */ blr + +.global TRKSwapAndGo +TRKSwapAndGo: +/* 8008B0B8 00087FF8 3C 60 80 3E */ lis r3, gTRKState@h +/* 8008B0BC 00087FFC 60 63 AB 88 */ ori r3, r3, gTRKState@l +/* 8008B0C0 00088000 BC 03 00 00 */ stmw r0, 0(r3) +/* 8008B0C4 00088004 7C 00 00 A6 */ mfmsr r0 +/* 8008B0C8 00088008 90 03 00 8C */ stw r0, 0x8c(r3) +/* 8008B0CC 0008800C 7C 08 02 A6 */ mflr r0 +/* 8008B0D0 00088010 90 03 00 80 */ stw r0, 0x80(r3) +/* 8008B0D4 00088014 7C 09 02 A6 */ mfctr r0 +/* 8008B0D8 00088018 90 03 00 84 */ stw r0, 0x84(r3) +/* 8008B0DC 0008801C 7C 01 02 A6 */ mfxer r0 +/* 8008B0E0 00088020 90 03 00 88 */ stw r0, 0x88(r3) +/* 8008B0E4 00088024 7C 12 02 A6 */ mfdsisr r0 +/* 8008B0E8 00088028 90 03 00 94 */ stw r0, 0x94(r3) +/* 8008B0EC 0008802C 7C 13 02 A6 */ mfdar r0 +/* 8008B0F0 00088030 90 03 00 90 */ stw r0, 0x90(r3) +/* 8008B0F4 00088034 38 20 80 02 */ li r1, -32766 +/* 8008B0F8 00088038 7C 21 08 F8 */ nor r1, r1, r1 +/* 8008B0FC 0008803C 7C 60 00 A6 */ mfmsr r3 +/* 8008B100 00088040 7C 63 08 38 */ and r3, r3, r1 +/* 8008B104 00088044 7C 60 01 24 */ mtmsr r3 +/* 8008B108 00088048 3C 40 80 3E */ lis r2, gTRKState@h +/* 8008B10C 0008804C 60 42 AB 88 */ ori r2, r2, gTRKState@l +/* 8008B110 00088050 80 42 00 A0 */ lwz r2, 0xa0(r2) +/* 8008B114 00088054 88 42 00 00 */ lbz r2, 0x0(r2) +/* 8008B118 00088058 2C 02 00 00 */ cmpwi r2, 0 +/* 8008B11C 0008805C 41 82 00 18 */ beq lbl_8008B134 +/* 8008B120 00088060 3C 40 80 3E */ lis r2, gTRKState@h +/* 8008B124 00088064 60 42 AB 88 */ ori r2, r2, gTRKState@l +/* 8008B128 00088068 38 60 00 01 */ li r3, 1 +/* 8008B12C 0008806C 98 62 00 9C */ stb r3, 0x9c(r2) +/* 8008B130 00088070 48 00 00 4C */ b TRKInterruptHandlerEnableInterrupts +lbl_8008B134: +/* 8008B134 00088074 3C 40 80 3A */ lis r2, gTRKExceptionStatus@h +/* 8008B138 00088078 60 42 F0 24 */ ori r2, r2, gTRKExceptionStatus@l +/* 8008B13C 0008807C 38 60 00 00 */ li r3, 0 +/* 8008B140 00088080 98 62 00 0C */ stb r3, 0xc(r2) +/* 8008B144 00088084 48 00 0C C9 */ bl TRKRestoreExtended1Block +/* 8008B148 00088088 3C 40 80 3E */ lis r2, gTRKCPUState@h +/* 8008B14C 0008808C 60 42 AC 30 */ ori r2, r2, gTRKCPUState@l +/* 8008B150 00088090 BB 62 00 80 */ lmw r27, 0x80(r2) +/* 8008B154 00088094 7F 7A 03 A6 */ mtspr 0x1a, r27 +/* 8008B158 00088098 7F 88 03 A6 */ mtlr r28 +/* 8008B15C 0008809C 7F AF F1 20 */ mtcrf 0xff, r29 +/* 8008B160 000880A0 7F C9 03 A6 */ mtctr r30 +/* 8008B164 000880A4 7F E1 03 A6 */ mtxer r31 +/* 8008B168 000880A8 B8 62 00 0C */ lmw r3, 0xc(r2) +/* 8008B16C 000880AC 80 02 00 00 */ lwz r0, 0x0(r2) +/* 8008B170 000880B0 80 22 00 04 */ lwz r1, 0x4(r2) +/* 8008B174 000880B4 80 42 00 08 */ lwz r2, 0x8(r2) +/* 8008B178 000880B8 4C 00 00 64 */ rfi + +.global TRKInterruptHandlerEnableInterrupts +TRKInterruptHandlerEnableInterrupts: +/* 8008B17C 000880BC 3C 40 80 3E */ lis r2, gTRKState@h +/* 8008B180 000880C0 60 42 AB 88 */ ori r2, r2, gTRKState@l +/* 8008B184 000880C4 80 02 00 8C */ lwz r0, 0x8c(r2) +/* 8008B188 000880C8 7C 00 04 AC */ sync 0 +/* 8008B18C 000880CC 7C 00 01 24 */ mtmsr r0 +/* 8008B190 000880D0 7C 00 04 AC */ sync 0 +/* 8008B194 000880D4 80 02 00 80 */ lwz r0, 0x80(r2) +/* 8008B198 000880D8 7C 08 03 A6 */ mtlr r0 +/* 8008B19C 000880DC 80 02 00 84 */ lwz r0, 0x84(r2) +/* 8008B1A0 000880E0 7C 09 03 A6 */ mtctr r0 +/* 8008B1A4 000880E4 80 02 00 88 */ lwz r0, 0x88(r2) +/* 8008B1A8 000880E8 7C 01 03 A6 */ mtxer r0 +/* 8008B1AC 000880EC 80 02 00 94 */ lwz r0, 0x94(r2) +/* 8008B1B0 000880F0 7C 12 03 A6 */ mtdsisr r0 +/* 8008B1B4 000880F4 80 02 00 90 */ lwz r0, 0x90(r2) +/* 8008B1B8 000880F8 7C 13 03 A6 */ mtdar r0 +/* 8008B1BC 000880FC B8 62 00 0C */ lmw r3, 0xc(r2) +/* 8008B1C0 00088100 80 02 00 00 */ lwz r0, 0x0(r2) +/* 8008B1C4 00088104 80 22 00 04 */ lwz r1, 0x4(r2) +/* 8008B1C8 00088108 80 42 00 08 */ lwz r2, 0x8(r2) +/* 8008B1CC 0008810C 4B FF FE 3C */ b TRKPostInterruptEvent + +.global TRKTargetInterrupt +TRKTargetInterrupt: +/* 8008B1D0 00088110 7C 08 02 A6 */ mflr r0 +/* 8008B1D4 00088114 90 01 00 04 */ stw r0, 4(r1) +/* 8008B1D8 00088118 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8008B1DC 0008811C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8008B1E0 00088120 88 03 00 00 */ lbz r0, 0(r3) +/* 8008B1E4 00088124 3B E0 00 00 */ li r31, 0 +/* 8008B1E8 00088128 2C 00 00 05 */ cmpwi r0, 5 +/* 8008B1EC 0008812C 40 80 00 30 */ bge lbl_8008B21C +/* 8008B1F0 00088130 2C 00 00 03 */ cmpwi r0, 3 +/* 8008B1F4 00088134 40 80 00 08 */ bge lbl_8008B1FC +/* 8008B1F8 00088138 48 00 00 24 */ b lbl_8008B21C +lbl_8008B1FC: +/* 8008B1FC 0008813C 48 00 02 81 */ bl TRKTargetCheckStep +/* 8008B200 00088140 2C 03 00 00 */ cmpwi r3, 0 +/* 8008B204 00088144 40 82 00 18 */ bne lbl_8008B21C +/* 8008B208 00088148 38 60 00 01 */ li r3, 1 +/* 8008B20C 0008814C 48 00 04 B1 */ bl TRKTargetSetStopped +/* 8008B210 00088150 38 60 00 90 */ li r3, 0x90 +/* 8008B214 00088154 4B FF F0 51 */ bl TRKDoNotifyStopped +/* 8008B218 00088158 7C 7F 1B 78 */ mr r31, r3 +lbl_8008B21C: +/* 8008B21C 0008815C 7F E3 FB 78 */ mr r3, r31 +/* 8008B220 00088160 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8008B224 00088164 38 21 00 10 */ addi r1, r1, 0x10 +/* 8008B228 00088168 80 01 00 04 */ lwz r0, 4(r1) +/* 8008B22C 0008816C 7C 08 03 A6 */ mtlr r0 +/* 8008B230 00088170 4E 80 00 20 */ blr + +.global TRKTargetAddStopInfo +TRKTargetAddStopInfo: +/* 8008B234 00088174 7C 08 02 A6 */ mflr r0 +/* 8008B238 00088178 90 01 00 04 */ stw r0, 4(r1) +/* 8008B23C 0008817C 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 8008B240 00088180 93 E1 00 14 */ stw r31, 0x14(r1) +/* 8008B244 00088184 93 C1 00 10 */ stw r30, 0x10(r1) +/* 8008B248 00088188 7C 7E 1B 78 */ mr r30, r3 +/* 8008B24C 0008818C 3C 60 80 3F */ lis r3, gTRKCPUState@ha +/* 8008B250 00088190 38 63 AC 30 */ addi r3, r3, gTRKCPUState@l +/* 8008B254 00088194 3B E3 00 80 */ addi r31, r3, 0x80 +/* 8008B258 00088198 80 9F 00 00 */ lwz r4, 0(r31) +/* 8008B25C 0008819C 7F C3 F3 78 */ mr r3, r30 +/* 8008B260 000881A0 4B FF D1 C5 */ bl TRKAppendBuffer1_ui32 +/* 8008B264 000881A4 2C 03 00 00 */ cmpwi r3, 0 +/* 8008B268 000881A8 40 82 00 10 */ bne lbl_8008B278 +/* 8008B26C 000881AC 38 61 00 08 */ addi r3, r1, 8 +/* 8008B270 000881B0 80 9F 00 00 */ lwz r4, 0(r31) +/* 8008B274 000881B4 4B FF F4 AD */ bl TRKTargetReadInstruction +lbl_8008B278: +/* 8008B278 000881B8 2C 03 00 00 */ cmpwi r3, 0 +/* 8008B27C 000881BC 40 82 00 10 */ bne lbl_8008B28C +/* 8008B280 000881C0 7F C3 F3 78 */ mr r3, r30 +/* 8008B284 000881C4 80 81 00 08 */ lwz r4, 8(r1) +/* 8008B288 000881C8 4B FF D1 9D */ bl TRKAppendBuffer1_ui32 +lbl_8008B28C: +/* 8008B28C 000881CC 2C 03 00 00 */ cmpwi r3, 0 +/* 8008B290 000881D0 40 82 00 1C */ bne lbl_8008B2AC +/* 8008B294 000881D4 3C 60 80 3F */ lis r3, gTRKCPUState@ha +/* 8008B298 000881D8 38 63 AC 30 */ addi r3, r3, gTRKCPUState@l +/* 8008B29C 000881DC 80 03 02 F8 */ lwz r0, 0x2f8(r3) +/* 8008B2A0 000881E0 7F C3 F3 78 */ mr r3, r30 +/* 8008B2A4 000881E4 54 04 04 3E */ clrlwi r4, r0, 0x10 +/* 8008B2A8 000881E8 4B FF D1 29 */ bl TRKAppendBuffer1_ui16 +lbl_8008B2AC: +/* 8008B2AC 000881EC 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 8008B2B0 000881F0 83 C1 00 10 */ lwz r30, 0x10(r1) +/* 8008B2B4 000881F4 38 21 00 18 */ addi r1, r1, 0x18 +/* 8008B2B8 000881F8 80 01 00 04 */ lwz r0, 4(r1) +/* 8008B2BC 000881FC 7C 08 03 A6 */ mtlr r0 +/* 8008B2C0 00088200 4E 80 00 20 */ blr + +.global TRKTargetAddExceptionInfo +TRKTargetAddExceptionInfo: +/* 8008B2C4 00088204 7C 08 02 A6 */ mflr r0 +/* 8008B2C8 00088208 90 01 00 04 */ stw r0, 4(r1) +/* 8008B2CC 0008820C 94 21 FF E8 */ stwu r1, -0x18(r1) +/* 8008B2D0 00088210 93 E1 00 14 */ stw r31, 0x14(r1) +/* 8008B2D4 00088214 93 C1 00 10 */ stw r30, 0x10(r1) +/* 8008B2D8 00088218 7C 7E 1B 78 */ mr r30, r3 +/* 8008B2DC 0008821C 3C 60 80 3B */ lis r3, gTRKExceptionStatus@ha +/* 8008B2E0 00088220 3B E3 F0 24 */ addi r31, r3, gTRKExceptionStatus@l +/* 8008B2E4 00088224 80 9F 00 00 */ lwz r4, 0(r31) +/* 8008B2E8 00088228 7F C3 F3 78 */ mr r3, r30 +/* 8008B2EC 0008822C 4B FF D1 39 */ bl TRKAppendBuffer1_ui32 +/* 8008B2F0 00088230 2C 03 00 00 */ cmpwi r3, 0 +/* 8008B2F4 00088234 40 82 00 10 */ bne lbl_8008B304 +/* 8008B2F8 00088238 38 61 00 08 */ addi r3, r1, 8 +/* 8008B2FC 0008823C 80 9F 00 00 */ lwz r4, 0(r31) +/* 8008B300 00088240 4B FF F4 21 */ bl TRKTargetReadInstruction +lbl_8008B304: +/* 8008B304 00088244 2C 03 00 00 */ cmpwi r3, 0 +/* 8008B308 00088248 40 82 00 10 */ bne lbl_8008B318 +/* 8008B30C 0008824C 7F C3 F3 78 */ mr r3, r30 +/* 8008B310 00088250 80 81 00 08 */ lwz r4, 8(r1) +/* 8008B314 00088254 4B FF D1 11 */ bl TRKAppendBuffer1_ui32 +lbl_8008B318: +/* 8008B318 00088258 2C 03 00 00 */ cmpwi r3, 0 +/* 8008B31C 0008825C 40 82 00 18 */ bne lbl_8008B334 +/* 8008B320 00088260 3C 60 80 3B */ lis r3, gTRKExceptionStatus@ha +/* 8008B324 00088264 38 63 F0 24 */ addi r3, r3, gTRKExceptionStatus@l +/* 8008B328 00088268 A0 83 00 08 */ lhz r4, 8(r3) +/* 8008B32C 0008826C 7F C3 F3 78 */ mr r3, r30 +/* 8008B330 00088270 4B FF D0 A1 */ bl TRKAppendBuffer1_ui16 +lbl_8008B334: +/* 8008B334 00088274 83 E1 00 14 */ lwz r31, 0x14(r1) +/* 8008B338 00088278 83 C1 00 10 */ lwz r30, 0x10(r1) +/* 8008B33C 0008827C 38 21 00 18 */ addi r1, r1, 0x18 +/* 8008B340 00088280 80 01 00 04 */ lwz r0, 4(r1) +/* 8008B344 00088284 7C 08 03 A6 */ mtlr r0 +/* 8008B348 00088288 4E 80 00 20 */ blr + +.global TRKTargetEnableTrace +TRKTargetEnableTrace: +/* 8008B34C 0008828C 2C 03 00 00 */ cmpwi r3, 0 +/* 8008B350 00088290 41 82 00 1C */ beq lbl_8008B36C +/* 8008B354 00088294 3C 60 80 3F */ lis r3, gTRKCPUState@ha +/* 8008B358 00088298 38 63 AC 30 */ addi r3, r3, gTRKCPUState@l +/* 8008B35C 0008829C 80 03 01 F8 */ lwz r0, 0x1f8(r3) +/* 8008B360 000882A0 60 00 04 00 */ ori r0, r0, 0x400 +/* 8008B364 000882A4 90 03 01 F8 */ stw r0, 0x1f8(r3) +/* 8008B368 000882A8 48 00 00 18 */ b lbl_8008B380 +lbl_8008B36C: +/* 8008B36C 000882AC 3C 60 80 3F */ lis r3, gTRKCPUState@ha +/* 8008B370 000882B0 38 63 AC 30 */ addi r3, r3, gTRKCPUState@l +/* 8008B374 000882B4 80 03 01 F8 */ lwz r0, 0x1f8(r3) +/* 8008B378 000882B8 54 00 05 A8 */ rlwinm r0, r0, 0, 0x16, 0x14 +/* 8008B37C 000882BC 90 03 01 F8 */ stw r0, 0x1f8(r3) +lbl_8008B380: +/* 8008B380 000882C0 38 60 00 00 */ li r3, 0 +/* 8008B384 000882C4 4E 80 00 20 */ blr + +.global TRKTargetStepDone +TRKTargetStepDone: +/* 8008B388 000882C8 3C 60 80 3B */ lis r3, gTRKStepStatus@ha +/* 8008B38C 000882CC 38 A3 F0 34 */ addi r5, r3, gTRKStepStatus@l +/* 8008B390 000882D0 80 05 00 00 */ lwz r0, 0(r5) +/* 8008B394 000882D4 38 60 00 01 */ li r3, 1 +/* 8008B398 000882D8 2C 00 00 00 */ cmpwi r0, 0 +/* 8008B39C 000882DC 41 82 00 6C */ beq lbl_8008B408 +/* 8008B3A0 000882E0 3C 80 80 3F */ lis r4, gTRKCPUState@ha +/* 8008B3A4 000882E4 38 84 AC 30 */ addi r4, r4, gTRKCPUState@l +/* 8008B3A8 000882E8 80 04 02 F8 */ lwz r0, 0x2f8(r4) +/* 8008B3AC 000882EC 54 00 04 3E */ clrlwi r0, r0, 0x10 +/* 8008B3B0 000882F0 28 00 0D 00 */ cmplwi r0, 0xd00 +/* 8008B3B4 000882F4 40 82 00 54 */ bne lbl_8008B408 +/* 8008B3B8 000882F8 88 05 00 04 */ lbz r0, 4(r5) +/* 8008B3BC 000882FC 2C 00 00 01 */ cmpwi r0, 1 +/* 8008B3C0 00088300 41 82 00 28 */ beq lbl_8008B3E8 +/* 8008B3C4 00088304 40 80 00 44 */ bge lbl_8008B408 +/* 8008B3C8 00088308 2C 00 00 00 */ cmpwi r0, 0 +/* 8008B3CC 0008830C 40 80 00 08 */ bge lbl_8008B3D4 +/* 8008B3D0 00088310 48 00 00 38 */ b lbl_8008B408 +lbl_8008B3D4: +/* 8008B3D4 00088314 80 05 00 08 */ lwz r0, 8(r5) +/* 8008B3D8 00088318 28 00 00 00 */ cmplwi r0, 0 +/* 8008B3DC 0008831C 41 82 00 2C */ beq lbl_8008B408 +/* 8008B3E0 00088320 38 60 00 00 */ li r3, 0 +/* 8008B3E4 00088324 48 00 00 24 */ b lbl_8008B408 +lbl_8008B3E8: +/* 8008B3E8 00088328 80 84 00 80 */ lwz r4, 0x80(r4) +/* 8008B3EC 0008832C 80 05 00 0C */ lwz r0, 0xc(r5) +/* 8008B3F0 00088330 7C 04 00 40 */ cmplw r4, r0 +/* 8008B3F4 00088334 41 80 00 14 */ blt lbl_8008B408 +/* 8008B3F8 00088338 80 05 00 10 */ lwz r0, 0x10(r5) +/* 8008B3FC 0008833C 7C 04 00 40 */ cmplw r4, r0 +/* 8008B400 00088340 41 81 00 08 */ bgt lbl_8008B408 +/* 8008B404 00088344 38 60 00 00 */ li r3, 0 +lbl_8008B408: +/* 8008B408 00088348 4E 80 00 20 */ blr + +.global TRKTargetDoStep +TRKTargetDoStep: +/* 8008B40C 0008834C 7C 08 02 A6 */ mflr r0 +/* 8008B410 00088350 90 01 00 04 */ stw r0, 4(r1) +/* 8008B414 00088354 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8008B418 00088358 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8008B41C 0008835C 3C 60 80 3B */ lis r3, gTRKStepStatus@ha +/* 8008B420 00088360 3B E3 F0 34 */ addi r31, r3, gTRKStepStatus@l +/* 8008B424 00088364 38 00 00 01 */ li r0, 1 +/* 8008B428 00088368 90 1F 00 00 */ stw r0, 0(r31) +/* 8008B42C 0008836C 38 60 00 01 */ li r3, 1 +/* 8008B430 00088370 4B FF FF 1D */ bl TRKTargetEnableTrace +/* 8008B434 00088374 88 1F 00 04 */ lbz r0, 4(r31) +/* 8008B438 00088378 28 00 00 00 */ cmplwi r0, 0 +/* 8008B43C 0008837C 41 82 00 0C */ beq lbl_8008B448 +/* 8008B440 00088380 28 00 00 10 */ cmplwi r0, 0x10 +/* 8008B444 00088384 40 82 00 18 */ bne lbl_8008B45C +lbl_8008B448: +/* 8008B448 00088388 3C 60 80 3B */ lis r3, gTRKStepStatus@ha +/* 8008B44C 0008838C 38 83 F0 34 */ addi r4, r3, gTRKStepStatus@l +/* 8008B450 00088390 80 64 00 08 */ lwz r3, 8(r4) +/* 8008B454 00088394 38 03 FF FF */ addi r0, r3, -1 +/* 8008B458 00088398 90 04 00 08 */ stw r0, 8(r4) +lbl_8008B45C: +/* 8008B45C 0008839C 38 60 00 00 */ li r3, 0 +/* 8008B460 000883A0 48 00 02 5D */ bl TRKTargetSetStopped +/* 8008B464 000883A4 38 60 00 00 */ li r3, 0 +/* 8008B468 000883A8 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8008B46C 000883AC 38 21 00 10 */ addi r1, r1, 0x10 +/* 8008B470 000883B0 80 01 00 04 */ lwz r0, 4(r1) +/* 8008B474 000883B4 7C 08 03 A6 */ mtlr r0 +/* 8008B478 000883B8 4E 80 00 20 */ blr + +.global TRKTargetCheckStep +TRKTargetCheckStep: +/* 8008B47C 000883BC 7C 08 02 A6 */ mflr r0 +/* 8008B480 000883C0 90 01 00 04 */ stw r0, 4(r1) +/* 8008B484 000883C4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8008B488 000883C8 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8008B48C 000883CC 3C 60 80 3B */ lis r3, gTRKStepStatus@ha +/* 8008B490 000883D0 3B E3 F0 34 */ addi r31, r3, gTRKStepStatus@l +/* 8008B494 000883D4 80 1F 00 00 */ lwz r0, 0(r31) +/* 8008B498 000883D8 2C 00 00 00 */ cmpwi r0, 0 +/* 8008B49C 000883DC 41 82 00 28 */ beq lbl_8008B4C4 +/* 8008B4A0 000883E0 38 60 00 00 */ li r3, 0 +/* 8008B4A4 000883E4 4B FF FE A9 */ bl TRKTargetEnableTrace +/* 8008B4A8 000883E8 4B FF FE E1 */ bl TRKTargetStepDone +/* 8008B4AC 000883EC 2C 03 00 00 */ cmpwi r3, 0 +/* 8008B4B0 000883F0 41 82 00 10 */ beq lbl_8008B4C0 +/* 8008B4B4 000883F4 38 00 00 00 */ li r0, 0 +/* 8008B4B8 000883F8 90 1F 00 00 */ stw r0, 0(r31) +/* 8008B4BC 000883FC 48 00 00 08 */ b lbl_8008B4C4 +lbl_8008B4C0: +/* 8008B4C0 00088400 4B FF FF 4D */ bl TRKTargetDoStep +lbl_8008B4C4: +/* 8008B4C4 00088404 3C 60 80 3B */ lis r3, gTRKStepStatus@ha +/* 8008B4C8 00088408 38 63 F0 34 */ addi r3, r3, gTRKStepStatus@l +/* 8008B4CC 0008840C 80 63 00 00 */ lwz r3, 0(r3) +/* 8008B4D0 00088410 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8008B4D4 00088414 38 21 00 10 */ addi r1, r1, 0x10 +/* 8008B4D8 00088418 80 01 00 04 */ lwz r0, 4(r1) +/* 8008B4DC 0008841C 7C 08 03 A6 */ mtlr r0 +/* 8008B4E0 00088420 4E 80 00 20 */ blr + +.global TRKTargetSingleStep +TRKTargetSingleStep: +/* 8008B4E4 00088424 7C 08 02 A6 */ mflr r0 +/* 8008B4E8 00088428 90 01 00 04 */ stw r0, 4(r1) +/* 8008B4EC 0008842C 94 21 FF F8 */ stwu r1, -8(r1) +/* 8008B4F0 00088430 2C 04 00 00 */ cmpwi r4, 0 +/* 8008B4F4 00088434 41 82 00 0C */ beq lbl_8008B500 +/* 8008B4F8 00088438 38 60 07 03 */ li r3, 0x703 +/* 8008B4FC 0008843C 48 00 00 1C */ b lbl_8008B518 +lbl_8008B500: +/* 8008B500 00088440 3C 80 80 3B */ lis r4, gTRKStepStatus@ha +/* 8008B504 00088444 38 84 F0 34 */ addi r4, r4, gTRKStepStatus@l +/* 8008B508 00088448 38 00 00 00 */ li r0, 0 +/* 8008B50C 0008844C 98 04 00 04 */ stb r0, 4(r4) +/* 8008B510 00088450 90 64 00 08 */ stw r3, 8(r4) +/* 8008B514 00088454 4B FF FE F9 */ bl TRKTargetDoStep +lbl_8008B518: +/* 8008B518 00088458 38 21 00 08 */ addi r1, r1, 8 +/* 8008B51C 0008845C 80 01 00 04 */ lwz r0, 4(r1) +/* 8008B520 00088460 7C 08 03 A6 */ mtlr r0 +/* 8008B524 00088464 4E 80 00 20 */ blr + +.global TRKTargetStepOutOfRange +TRKTargetStepOutOfRange: +/* 8008B528 00088468 7C 08 02 A6 */ mflr r0 +/* 8008B52C 0008846C 90 01 00 04 */ stw r0, 4(r1) +/* 8008B530 00088470 94 21 FF F8 */ stwu r1, -8(r1) +/* 8008B534 00088474 2C 05 00 00 */ cmpwi r5, 0 +/* 8008B538 00088478 41 82 00 0C */ beq lbl_8008B544 +/* 8008B53C 0008847C 38 60 07 03 */ li r3, 0x703 +/* 8008B540 00088480 48 00 00 20 */ b lbl_8008B560 +lbl_8008B544: +/* 8008B544 00088484 3C A0 80 3B */ lis r5, gTRKStepStatus@ha +/* 8008B548 00088488 38 A5 F0 34 */ addi r5, r5, gTRKStepStatus@l +/* 8008B54C 0008848C 38 00 00 01 */ li r0, 1 +/* 8008B550 00088490 98 05 00 04 */ stb r0, 4(r5) +/* 8008B554 00088494 90 65 00 0C */ stw r3, 0xc(r5) +/* 8008B558 00088498 90 85 00 10 */ stw r4, 0x10(r5) +/* 8008B55C 0008849C 4B FF FE B1 */ bl TRKTargetDoStep +lbl_8008B560: +/* 8008B560 000884A0 38 21 00 08 */ addi r1, r1, 8 +/* 8008B564 000884A4 80 01 00 04 */ lwz r0, 4(r1) +/* 8008B568 000884A8 7C 08 03 A6 */ mtlr r0 +/* 8008B56C 000884AC 4E 80 00 20 */ blr + +.global TRKTargetGetPC +TRKTargetGetPC: +/* 8008B570 000884B0 3C 60 80 3F */ lis r3, gTRKCPUState@ha +/* 8008B574 000884B4 38 63 AC 30 */ addi r3, r3, gTRKCPUState@l +/* 8008B578 000884B8 80 63 00 80 */ lwz r3, 0x80(r3) +/* 8008B57C 000884BC 4E 80 00 20 */ blr + +.global TRKTargetSupportRequest +TRKTargetSupportRequest: +/* 8008B580 000884C0 7C 08 02 A6 */ mflr r0 +/* 8008B584 000884C4 90 01 00 04 */ stw r0, 4(r1) +/* 8008B588 000884C8 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 8008B58C 000884CC BF 61 00 1C */ stmw r27, 0x1c(r1) +/* 8008B590 000884D0 3C 60 80 3F */ lis r3, gTRKCPUState@ha +/* 8008B594 000884D4 38 63 AC 30 */ addi r3, r3, gTRKCPUState@l +/* 8008B598 000884D8 3B E3 00 0C */ addi r31, r3, 0xc +/* 8008B59C 000884DC 80 1F 00 00 */ lwz r0, 0(r31) +/* 8008B5A0 000884E0 54 1B 06 3E */ clrlwi r27, r0, 0x18 +/* 8008B5A4 000884E4 28 1B 00 D1 */ cmplwi r27, 0xd1 +/* 8008B5A8 000884E8 41 82 00 28 */ beq lbl_8008B5D0 +/* 8008B5AC 000884EC 28 1B 00 D0 */ cmplwi r27, 0xd0 +/* 8008B5B0 000884F0 41 82 00 20 */ beq lbl_8008B5D0 +/* 8008B5B4 000884F4 38 61 00 0C */ addi r3, r1, 0xc +/* 8008B5B8 000884F8 38 80 00 04 */ li r4, 4 +/* 8008B5BC 000884FC 4B FF C8 CD */ bl TRKConstructEvent +/* 8008B5C0 00088500 38 61 00 0C */ addi r3, r1, 0xc +/* 8008B5C4 00088504 4B FF C7 E5 */ bl TRKPostEvent +/* 8008B5C8 00088508 38 60 00 00 */ li r3, 0 +/* 8008B5CC 0008850C 48 00 00 90 */ b lbl_8008B65C +lbl_8008B5D0: +/* 8008B5D0 00088510 3C 60 80 3F */ lis r3, gTRKCPUState@ha +/* 8008B5D4 00088514 38 C1 00 08 */ addi r6, r1, 8 +/* 8008B5D8 00088518 38 83 AC 30 */ addi r4, r3, gTRKCPUState@l +/* 8008B5DC 0008851C 80 64 00 10 */ lwz r3, 0x10(r4) +/* 8008B5E0 00088520 20 1B 00 D1 */ subfic r0, r27, 0xd1 +/* 8008B5E4 00088524 83 84 00 14 */ lwz r28, 0x14(r4) +/* 8008B5E8 00088528 3B C4 00 18 */ addi r30, r4, 0x18 +/* 8008B5EC 0008852C 7C 00 00 34 */ cntlzw r0, r0 +/* 8008B5F0 00088530 80 9E 00 00 */ lwz r4, 0(r30) +/* 8008B5F4 00088534 54 63 06 3E */ clrlwi r3, r3, 0x18 +/* 8008B5F8 00088538 7F 85 E3 78 */ mr r5, r28 +/* 8008B5FC 0008853C 54 08 D9 7E */ srwi r8, r0, 5 +/* 8008B600 00088540 38 E0 00 01 */ li r7, 1 +/* 8008B604 00088544 4B FF E7 CD */ bl TRKSuppAccessFile +/* 8008B608 00088548 88 01 00 08 */ lbz r0, 8(r1) +/* 8008B60C 0008854C 7C 7D 1B 78 */ mr r29, r3 +/* 8008B610 00088550 28 00 00 00 */ cmplwi r0, 0 +/* 8008B614 00088554 40 82 00 14 */ bne lbl_8008B628 +/* 8008B618 00088558 2C 1D 00 00 */ cmpwi r29, 0 +/* 8008B61C 0008855C 41 82 00 0C */ beq lbl_8008B628 +/* 8008B620 00088560 38 00 00 01 */ li r0, 1 +/* 8008B624 00088564 98 01 00 08 */ stb r0, 8(r1) +lbl_8008B628: +/* 8008B628 00088568 88 01 00 08 */ lbz r0, 8(r1) +/* 8008B62C 0008856C 28 1B 00 D1 */ cmplwi r27, 0xd1 +/* 8008B630 00088570 90 1F 00 00 */ stw r0, 0(r31) +/* 8008B634 00088574 40 82 00 10 */ bne lbl_8008B644 +/* 8008B638 00088578 80 7E 00 00 */ lwz r3, 0(r30) +/* 8008B63C 0008857C 80 9C 00 00 */ lwz r4, 0(r28) +/* 8008B640 00088580 4B FF EC FD */ bl TRK_flush_cache +lbl_8008B644: +/* 8008B644 00088584 3C 60 80 3F */ lis r3, gTRKCPUState@ha +/* 8008B648 00088588 38 A3 AC 30 */ addi r5, r3, gTRKCPUState@l +/* 8008B64C 0008858C 80 85 00 80 */ lwz r4, 0x80(r5) +/* 8008B650 00088590 7F A3 EB 78 */ mr r3, r29 +/* 8008B654 00088594 38 04 00 04 */ addi r0, r4, 4 +/* 8008B658 00088598 90 05 00 80 */ stw r0, 0x80(r5) +lbl_8008B65C: +/* 8008B65C 0008859C BB 61 00 1C */ lmw r27, 0x1c(r1) +/* 8008B660 000885A0 38 21 00 30 */ addi r1, r1, 0x30 +/* 8008B664 000885A4 80 01 00 04 */ lwz r0, 4(r1) +/* 8008B668 000885A8 7C 08 03 A6 */ mtlr r0 +/* 8008B66C 000885AC 4E 80 00 20 */ blr + +.global TRKTargetFlushCache +TRKTargetFlushCache: +/* 8008B670 000885B0 7C 08 02 A6 */ mflr r0 +/* 8008B674 000885B4 90 01 00 04 */ stw r0, 4(r1) +/* 8008B678 000885B8 94 21 FF F8 */ stwu r1, -8(r1) +/* 8008B67C 000885BC 7C 04 28 40 */ cmplw r4, r5 +/* 8008B680 000885C0 40 80 00 18 */ bge lbl_8008B698 +/* 8008B684 000885C4 7C 83 23 78 */ mr r3, r4 +/* 8008B688 000885C8 7C 84 28 50 */ subf r4, r4, r5 +/* 8008B68C 000885CC 4B FF EC B1 */ bl TRK_flush_cache +/* 8008B690 000885D0 38 60 00 00 */ li r3, 0 +/* 8008B694 000885D4 48 00 00 08 */ b lbl_8008B69C +lbl_8008B698: +/* 8008B698 000885D8 38 60 07 00 */ li r3, 0x700 +lbl_8008B69C: +/* 8008B69C 000885DC 38 21 00 08 */ addi r1, r1, 8 +/* 8008B6A0 000885E0 80 01 00 04 */ lwz r0, 4(r1) +/* 8008B6A4 000885E4 7C 08 03 A6 */ mtlr r0 +/* 8008B6A8 000885E8 4E 80 00 20 */ blr + +.global TRKTargetStopped +TRKTargetStopped: +/* 8008B6AC 000885EC 3C 60 80 3F */ lis r3, gTRKState@ha +/* 8008B6B0 000885F0 38 63 AB 88 */ addi r3, r3, gTRKState@l +/* 8008B6B4 000885F4 80 63 00 98 */ lwz r3, 0x98(r3) +/* 8008B6B8 000885F8 4E 80 00 20 */ blr + +.global TRKTargetSetStopped +TRKTargetSetStopped: +/* 8008B6BC 000885FC 3C 80 80 3F */ lis r4, gTRKState@ha +/* 8008B6C0 00088600 38 84 AB 88 */ addi r4, r4, gTRKState@l +/* 8008B6C4 00088604 90 64 00 98 */ stw r3, 0x98(r4) +/* 8008B6C8 00088608 4E 80 00 20 */ blr + +.global TRKTargetStop +TRKTargetStop: +/* 8008B6CC 0008860C 7C 08 02 A6 */ mflr r0 +/* 8008B6D0 00088610 90 01 00 04 */ stw r0, 4(r1) +/* 8008B6D4 00088614 94 21 FF F8 */ stwu r1, -8(r1) +/* 8008B6D8 00088618 38 60 00 01 */ li r3, 1 +/* 8008B6DC 0008861C 4B FF FF E1 */ bl TRKTargetSetStopped +/* 8008B6E0 00088620 38 60 00 00 */ li r3, 0 +/* 8008B6E4 00088624 38 21 00 08 */ addi r1, r1, 8 +/* 8008B6E8 00088628 80 01 00 04 */ lwz r0, 4(r1) +/* 8008B6EC 0008862C 7C 08 03 A6 */ mtlr r0 +/* 8008B6F0 00088630 4E 80 00 20 */ blr + +.global TRKPPCAccessSPR +TRKPPCAccessSPR: +/* 8008B6F4 00088634 7C 08 02 A6 */ mflr r0 +/* 8008B6F8 00088638 90 01 00 04 */ stw r0, 4(r1) +/* 8008B6FC 0008863C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8008B700 00088640 3C C0 80 37 */ lis r6, "@233"@ha +/* 8008B704 00088644 2C 05 00 00 */ cmpwi r5, 0 +/* 8008B708 00088648 38 E6 22 20 */ addi r7, r6, "@233"@l +/* 8008B70C 0008864C 80 C7 00 00 */ lwz r6, 0(r7) +/* 8008B710 00088650 80 07 00 04 */ lwz r0, 4(r7) +/* 8008B714 00088654 90 C1 00 08 */ stw r6, 8(r1) +/* 8008B718 00088658 90 01 00 0C */ stw r0, 0xc(r1) +/* 8008B71C 0008865C 80 C7 00 08 */ lwz r6, 8(r7) +/* 8008B720 00088660 80 07 00 0C */ lwz r0, 0xc(r7) +/* 8008B724 00088664 90 C1 00 10 */ stw r6, 0x10(r1) +/* 8008B728 00088668 90 01 00 14 */ stw r0, 0x14(r1) +/* 8008B72C 0008866C 80 07 00 10 */ lwz r0, 0x10(r7) +/* 8008B730 00088670 90 01 00 18 */ stw r0, 0x18(r1) +/* 8008B734 00088674 41 82 00 30 */ beq lbl_8008B764 +/* 8008B738 00088678 54 80 05 34 */ rlwinm r0, r4, 0, 0x14, 0x1a +/* 8008B73C 0008867C 54 06 30 32 */ slwi r6, r0, 6 +/* 8008B740 00088680 54 80 06 FE */ clrlwi r0, r4, 0x1b +/* 8008B744 00088684 64 C4 7C 80 */ oris r4, r6, 0x7c80 +/* 8008B748 00088688 54 00 80 1E */ slwi r0, r0, 0x10 +/* 8008B74C 0008868C 7C 80 03 78 */ or r0, r4, r0 +/* 8008B750 00088690 60 00 02 A6 */ ori r0, r0, 0x2a6 +/* 8008B754 00088694 90 01 00 08 */ stw r0, 8(r1) +/* 8008B758 00088698 3C 00 90 83 */ lis r0, 0x9083 +/* 8008B75C 0008869C 90 01 00 0C */ stw r0, 0xc(r1) +/* 8008B760 000886A0 48 00 00 2C */ b lbl_8008B78C +lbl_8008B764: +/* 8008B764 000886A4 54 80 05 34 */ rlwinm r0, r4, 0, 0x14, 0x1a +/* 8008B768 000886A8 54 06 30 32 */ slwi r6, r0, 6 +/* 8008B76C 000886AC 54 80 06 FE */ clrlwi r0, r4, 0x1b +/* 8008B770 000886B0 3C E0 80 83 */ lis r7, 0x8083 +/* 8008B774 000886B4 64 C4 7C 80 */ oris r4, r6, 0x7c80 +/* 8008B778 000886B8 90 E1 00 08 */ stw r7, 8(r1) +/* 8008B77C 000886BC 54 00 80 1E */ slwi r0, r0, 0x10 +/* 8008B780 000886C0 7C 80 03 78 */ or r0, r4, r0 +/* 8008B784 000886C4 60 00 03 A6 */ ori r0, r0, 0x3a6 +/* 8008B788 000886C8 90 01 00 0C */ stw r0, 0xc(r1) +lbl_8008B78C: +/* 8008B78C 000886CC 38 81 00 08 */ addi r4, r1, 8 +/* 8008B790 000886D0 48 00 02 0D */ bl TRKPPCAccessSpecialReg +/* 8008B794 000886D4 38 21 00 20 */ addi r1, r1, 0x20 +/* 8008B798 000886D8 80 01 00 04 */ lwz r0, 4(r1) +/* 8008B79C 000886DC 7C 08 03 A6 */ mtlr r0 +/* 8008B7A0 000886E0 4E 80 00 20 */ blr + +.global TRKPPCAccessPairedSingleRegister +TRKPPCAccessPairedSingleRegister: +/* 8008B7A4 000886E4 7C 08 02 A6 */ mflr r0 +/* 8008B7A8 000886E8 90 01 00 04 */ stw r0, 4(r1) +/* 8008B7AC 000886EC 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8008B7B0 000886F0 3C C0 80 37 */ lis r6, "@238"@ha +/* 8008B7B4 000886F4 2C 05 00 00 */ cmpwi r5, 0 +/* 8008B7B8 000886F8 38 E6 22 34 */ addi r7, r6, "@238"@l +/* 8008B7BC 000886FC 80 C7 00 00 */ lwz r6, 0(r7) +/* 8008B7C0 00088700 80 07 00 04 */ lwz r0, 4(r7) +/* 8008B7C4 00088704 90 C1 00 08 */ stw r6, 8(r1) +/* 8008B7C8 00088708 90 01 00 0C */ stw r0, 0xc(r1) +/* 8008B7CC 0008870C 80 C7 00 08 */ lwz r6, 8(r7) +/* 8008B7D0 00088710 80 07 00 0C */ lwz r0, 0xc(r7) +/* 8008B7D4 00088714 90 C1 00 10 */ stw r6, 0x10(r1) +/* 8008B7D8 00088718 90 01 00 14 */ stw r0, 0x14(r1) +/* 8008B7DC 0008871C 80 07 00 10 */ lwz r0, 0x10(r7) +/* 8008B7E0 00088720 90 01 00 18 */ stw r0, 0x18(r1) +/* 8008B7E4 00088724 41 82 00 14 */ beq lbl_8008B7F8 +/* 8008B7E8 00088728 54 80 A8 14 */ slwi r0, r4, 0x15 +/* 8008B7EC 0008872C 64 00 F0 03 */ oris r0, r0, 0xf003 +/* 8008B7F0 00088730 90 01 00 08 */ stw r0, 8(r1) +/* 8008B7F4 00088734 48 00 00 10 */ b lbl_8008B804 +lbl_8008B7F8: +/* 8008B7F8 00088738 54 80 A8 14 */ slwi r0, r4, 0x15 +/* 8008B7FC 0008873C 64 00 E0 03 */ oris r0, r0, 0xe003 +/* 8008B800 00088740 90 01 00 08 */ stw r0, 8(r1) +lbl_8008B804: +/* 8008B804 00088744 38 81 00 08 */ addi r4, r1, 8 +/* 8008B808 00088748 48 00 01 95 */ bl TRKPPCAccessSpecialReg +/* 8008B80C 0008874C 38 21 00 20 */ addi r1, r1, 0x20 +/* 8008B810 00088750 80 01 00 04 */ lwz r0, 4(r1) +/* 8008B814 00088754 7C 08 03 A6 */ mtlr r0 +/* 8008B818 00088758 4E 80 00 20 */ blr + +.global TRKPPCAccessFPRegister +TRKPPCAccessFPRegister: +/* 8008B81C 0008875C 7C 08 02 A6 */ mflr r0 +/* 8008B820 00088760 90 01 00 04 */ stw r0, 4(r1) +/* 8008B824 00088764 94 21 FF D8 */ stwu r1, -0x28(r1) +/* 8008B828 00088768 93 E1 00 24 */ stw r31, 0x24(r1) +/* 8008B82C 0008876C 93 C1 00 20 */ stw r30, 0x20(r1) +/* 8008B830 00088770 7C 7E 1B 78 */ mr r30, r3 +/* 8008B834 00088774 7C BF 2B 78 */ mr r31, r5 +/* 8008B838 00088778 3C 60 80 37 */ lis r3, "@243"@ha +/* 8008B83C 0008877C 28 04 00 20 */ cmplwi r4, 0x20 +/* 8008B840 00088780 38 C3 22 48 */ addi r6, r3, "@243"@l +/* 8008B844 00088784 80 A6 00 00 */ lwz r5, 0(r6) +/* 8008B848 00088788 38 60 00 00 */ li r3, 0 +/* 8008B84C 0008878C 80 06 00 04 */ lwz r0, 4(r6) +/* 8008B850 00088790 90 A1 00 08 */ stw r5, 8(r1) +/* 8008B854 00088794 90 01 00 0C */ stw r0, 0xc(r1) +/* 8008B858 00088798 80 A6 00 08 */ lwz r5, 8(r6) +/* 8008B85C 0008879C 80 06 00 0C */ lwz r0, 0xc(r6) +/* 8008B860 000887A0 90 A1 00 10 */ stw r5, 0x10(r1) +/* 8008B864 000887A4 90 01 00 14 */ stw r0, 0x14(r1) +/* 8008B868 000887A8 80 06 00 10 */ lwz r0, 0x10(r6) +/* 8008B86C 000887AC 90 01 00 18 */ stw r0, 0x18(r1) +/* 8008B870 000887B0 40 80 00 3C */ bge lbl_8008B8AC +/* 8008B874 000887B4 2C 1F 00 00 */ cmpwi r31, 0 +/* 8008B878 000887B8 41 82 00 14 */ beq lbl_8008B88C +/* 8008B87C 000887BC 54 80 A8 14 */ slwi r0, r4, 0x15 +/* 8008B880 000887C0 64 00 D8 03 */ oris r0, r0, 0xd803 +/* 8008B884 000887C4 90 01 00 08 */ stw r0, 8(r1) +/* 8008B888 000887C8 48 00 00 10 */ b lbl_8008B898 +lbl_8008B88C: +/* 8008B88C 000887CC 54 80 A8 14 */ slwi r0, r4, 0x15 +/* 8008B890 000887D0 64 00 C8 03 */ oris r0, r0, 0xc803 +/* 8008B894 000887D4 90 01 00 08 */ stw r0, 8(r1) +lbl_8008B898: +/* 8008B898 000887D8 7F C3 F3 78 */ mr r3, r30 +/* 8008B89C 000887DC 38 81 00 08 */ addi r4, r1, 8 +/* 8008B8A0 000887E0 7F E5 FB 78 */ mr r5, r31 +/* 8008B8A4 000887E4 48 00 00 F9 */ bl TRKPPCAccessSpecialReg +/* 8008B8A8 000887E8 48 00 00 DC */ b lbl_8008B984 +lbl_8008B8AC: +/* 8008B8AC 000887EC 40 82 00 8C */ bne lbl_8008B938 +/* 8008B8B0 000887F0 2C 1F 00 00 */ cmpwi r31, 0 +/* 8008B8B4 000887F4 41 82 00 2C */ beq lbl_8008B8E0 +/* 8008B8B8 000887F8 3C 00 D8 24 */ lis r0, 0xd824 +/* 8008B8BC 000887FC 3C 60 FC 20 */ lis r3, 0xFC20048E@ha +/* 8008B8C0 00088800 90 01 00 08 */ stw r0, 8(r1) +/* 8008B8C4 00088804 38 03 04 8E */ addi r0, r3, 0xFC20048E@l +/* 8008B8C8 00088808 90 01 00 0C */ stw r0, 0xc(r1) +/* 8008B8CC 0008880C 3C 60 D8 23 */ lis r3, 0xd823 +/* 8008B8D0 00088810 3C 00 C8 24 */ lis r0, 0xc824 +/* 8008B8D4 00088814 90 61 00 10 */ stw r3, 0x10(r1) +/* 8008B8D8 00088818 90 01 00 14 */ stw r0, 0x14(r1) +/* 8008B8DC 0008881C 48 00 00 28 */ b lbl_8008B904 +lbl_8008B8E0: +/* 8008B8E0 00088820 3C 00 D8 24 */ lis r0, 0xd824 +/* 8008B8E4 00088824 90 01 00 08 */ stw r0, 8(r1) +/* 8008B8E8 00088828 3C 00 C8 23 */ lis r0, 0xc823 +/* 8008B8EC 0008882C 3C 60 FD FE */ lis r3, 0xFDFE0D8E@ha +/* 8008B8F0 00088830 90 01 00 0C */ stw r0, 0xc(r1) +/* 8008B8F4 00088834 38 63 0D 8E */ addi r3, r3, 0xFDFE0D8E@l +/* 8008B8F8 00088838 3C 00 C8 24 */ lis r0, 0xc824 +/* 8008B8FC 0008883C 90 61 00 10 */ stw r3, 0x10(r1) +/* 8008B900 00088840 90 01 00 14 */ stw r0, 0x14(r1) +lbl_8008B904: +/* 8008B904 00088844 7F C3 F3 78 */ mr r3, r30 +/* 8008B908 00088848 38 81 00 08 */ addi r4, r1, 8 +/* 8008B90C 0008884C 7F E5 FB 78 */ mr r5, r31 +/* 8008B910 00088850 48 00 00 8D */ bl TRKPPCAccessSpecialReg +/* 8008B914 00088854 80 DE 00 04 */ lwz r6, 4(r30) +/* 8008B918 00088858 38 00 FF FF */ li r0, -1 +/* 8008B91C 0008885C 80 BE 00 00 */ lwz r5, 0(r30) +/* 8008B920 00088860 38 80 00 00 */ li r4, 0 +/* 8008B924 00088864 7C C0 00 38 */ and r0, r6, r0 +/* 8008B928 00088868 90 1E 00 04 */ stw r0, 4(r30) +/* 8008B92C 0008886C 7C A0 20 38 */ and r0, r5, r4 +/* 8008B930 00088870 90 1E 00 00 */ stw r0, 0(r30) +/* 8008B934 00088874 48 00 00 50 */ b lbl_8008B984 +lbl_8008B938: +/* 8008B938 00088878 28 04 00 21 */ cmplwi r4, 0x21 +/* 8008B93C 0008887C 40 82 00 48 */ bne lbl_8008B984 +/* 8008B940 00088880 2C 1F 00 00 */ cmpwi r31, 0 +/* 8008B944 00088884 40 82 00 0C */ bne lbl_8008B950 +/* 8008B948 00088888 80 1E 00 04 */ lwz r0, 4(r30) +/* 8008B94C 0008888C 90 1E 00 00 */ stw r0, 0(r30) +lbl_8008B950: +/* 8008B950 00088890 7F C3 F3 78 */ mr r3, r30 +/* 8008B954 00088894 7F E5 FB 78 */ mr r5, r31 +/* 8008B958 00088898 38 80 03 FE */ li r4, 0x3fe +/* 8008B95C 0008889C 4B FF FD 99 */ bl TRKPPCAccessSPR +/* 8008B960 000888A0 2C 1F 00 00 */ cmpwi r31, 0 +/* 8008B964 000888A4 41 82 00 20 */ beq lbl_8008B984 +/* 8008B968 000888A8 80 BE 00 00 */ lwz r5, 0(r30) +/* 8008B96C 000888AC 38 00 FF FF */ li r0, -1 +/* 8008B970 000888B0 38 80 00 00 */ li r4, 0 +/* 8008B974 000888B4 7C A0 00 38 */ and r0, r5, r0 +/* 8008B978 000888B8 90 1E 00 04 */ stw r0, 4(r30) +/* 8008B97C 000888BC 7C 80 20 38 */ and r0, r4, r4 +/* 8008B980 000888C0 90 1E 00 00 */ stw r0, 0(r30) +lbl_8008B984: +/* 8008B984 000888C4 83 E1 00 24 */ lwz r31, 0x24(r1) +/* 8008B988 000888C8 83 C1 00 20 */ lwz r30, 0x20(r1) +/* 8008B98C 000888CC 38 21 00 28 */ addi r1, r1, 0x28 +/* 8008B990 000888D0 80 01 00 04 */ lwz r0, 4(r1) +/* 8008B994 000888D4 7C 08 03 A6 */ mtlr r0 +/* 8008B998 000888D8 4E 80 00 20 */ blr + +.global TRKPPCAccessSpecialReg +TRKPPCAccessSpecialReg: +/* 8008B99C 000888DC 7C 08 02 A6 */ mflr r0 +/* 8008B9A0 000888E0 90 01 00 04 */ stw r0, 4(r1) +/* 8008B9A4 000888E4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8008B9A8 000888E8 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8008B9AC 000888EC 93 C1 00 08 */ stw r30, 8(r1) +/* 8008B9B0 000888F0 7C 7E 1B 78 */ mr r30, r3 +/* 8008B9B4 000888F4 7C 9F 23 78 */ mr r31, r4 +/* 8008B9B8 000888F8 3C 60 4E 80 */ lis r3, 0x4E800020@ha +/* 8008B9BC 000888FC 38 03 00 20 */ addi r0, r3, 0x4E800020@l +/* 8008B9C0 00088900 90 1F 00 10 */ stw r0, 0x10(r31) +/* 8008B9C4 00088904 7F E3 FB 78 */ mr r3, r31 +/* 8008B9C8 00088908 38 80 00 14 */ li r4, 0x14 +/* 8008B9CC 0008890C 4B FF E9 71 */ bl TRK_flush_cache +/* 8008B9D0 00088910 3C 60 80 3F */ lis r3, TRKvalue128_temp@ha +/* 8008B9D4 00088914 38 83 AB 78 */ addi r4, r3, TRKvalue128_temp@l +/* 8008B9D8 00088918 7F C3 F3 78 */ mr r3, r30 +/* 8008B9DC 0008891C 7F EC FB 78 */ mr r12, r31 +/* 8008B9E0 00088920 7D 88 03 A6 */ mtlr r12 +/* 8008B9E4 00088924 4E 80 00 21 */ blrl +/* 8008B9E8 00088928 38 60 00 00 */ li r3, 0 +/* 8008B9EC 0008892C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8008B9F0 00088930 83 C1 00 08 */ lwz r30, 8(r1) +/* 8008B9F4 00088934 38 21 00 10 */ addi r1, r1, 0x10 +/* 8008B9F8 00088938 80 01 00 04 */ lwz r0, 4(r1) +/* 8008B9FC 0008893C 7C 08 03 A6 */ mtlr r0 +/* 8008BA00 00088940 4E 80 00 20 */ blr + +.global TRKTargetSetInputPendingPtr +TRKTargetSetInputPendingPtr: +/* 8008BA04 00088944 3C 80 80 3F */ lis r4, gTRKState@ha +/* 8008BA08 00088948 38 84 AB 88 */ addi r4, r4, gTRKState@l +/* 8008BA0C 0008894C 90 64 00 A0 */ stw r3, 0xa0(r4) +/* 8008BA10 00088950 4E 80 00 20 */ blr + +.section .rodata, "a" # 0x8036FFA0 - 0x803A8380 +.balign 8 +.global gTRKMemMap +gTRKMemMap: + .4byte 0 + .4byte 0xFFFFFFFF + .4byte 0x00000001 + .4byte 0x00000001 +"@233": + .4byte 0x60000000 + .4byte 0x60000000 + .4byte 0x60000000 + .4byte 0x60000000 + .4byte 0x60000000 +"@238": + .4byte 0x60000000 + .4byte 0x60000000 + .4byte 0x60000000 + .4byte 0x60000000 + .4byte 0x60000000 +"@243": + .4byte 0x60000000 + .4byte 0x60000000 + .4byte 0x60000000 + .4byte 0x60000000 + .4byte 0x60000000 + .4byte 0 + +.section .data, "wa" # 0x803A8380 - 0x803E6000 +.global gTRKRestoreFlags +gTRKRestoreFlags: + .4byte 0 + .4byte 0 + .4byte 0 +.global gTRKExceptionStatus +gTRKExceptionStatus: + .4byte 0 + .4byte 0 + .4byte 0 + .4byte 0x01000000 +.global gTRKStepStatus +gTRKStepStatus: + .4byte 0 + .4byte 0 + .4byte 0 + .4byte 0 + .4byte 0 + +.section .bss, "wa" # 0x803E6000 - 0x80408AC0 +TRK_saved_exceptionID: + .skip 0x4 +.global gTRKSaveState +gTRKSaveState: + .skip 0x94 +TRKvalue128_temp: + .skip 0x10 +.global gTRKState +gTRKState: + .skip 0xA8 +.global gTRKCPUState +gTRKCPUState: + .skip 0x430 diff --git a/asm/TRK_MINNOW_DOLPHIN/usr_put.s b/asm/TRK_MINNOW_DOLPHIN/usr_put.s new file mode 100644 index 0000000..56ca53d --- /dev/null +++ b/asm/TRK_MINNOW_DOLPHIN/usr_put.s @@ -0,0 +1,6 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80005600 - 0x8036FBA0 +.global usr_put_initialize +usr_put_initialize: +/* 80088A90 000859D0 4E 80 00 20 */ blr |