summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/MetroTRK/dispatch.s92
-rw-r--r--asm/MetroTRK/mainloop.s2
-rw-r--r--asm/MetroTRK/msghndlr.s1202
-rw-r--r--asm/MetroTRK/nubinit.s4
-rw-r--r--asm/MetroTRK/support.s486
-rw-r--r--asm/MetroTRK/usr_put.s47
-rw-r--r--asm/text_6.s1817
-rw-r--r--asm/text_6_2.s4
-rw-r--r--obj_files.mk4
9 files changed, 1837 insertions, 1821 deletions
diff --git a/asm/MetroTRK/dispatch.s b/asm/MetroTRK/dispatch.s
new file mode 100644
index 0000000..66f9b52
--- /dev/null
+++ b/asm/MetroTRK/dispatch.s
@@ -0,0 +1,92 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global TRKDispatchMessage
+TRKDispatchMessage:
+/* 801D577C 001D13DC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 801D5780 001D13E0 7C 08 02 A6 */ mflr r0
+/* 801D5784 001D13E4 38 80 00 00 */ li r4, 0
+/* 801D5788 001D13E8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 801D578C 001D13EC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 801D5790 001D13F0 3B E0 05 00 */ li r31, 0x500
+/* 801D5794 001D13F4 93 C1 00 08 */ stw r30, 8(r1)
+/* 801D5798 001D13F8 7C 7E 1B 78 */ mr r30, r3
+/* 801D579C 001D13FC 4B FF FB 6D */ bl TRKSetBufferPosition
+/* 801D57A0 001D1400 88 1E 00 14 */ lbz r0, 0x14(r30)
+/* 801D57A4 001D1404 28 00 00 1A */ cmplwi r0, 0x1a
+/* 801D57A8 001D1408 41 81 00 F8 */ bgt lbl_801D58A0
+/* 801D57AC 001D140C 3C 60 80 42 */ lis r3, lbl_80423188@ha
+/* 801D57B0 001D1410 54 00 10 3A */ slwi r0, r0, 2
+/* 801D57B4 001D1414 38 63 31 88 */ addi r3, r3, lbl_80423188@l
+/* 801D57B8 001D1418 7C 03 00 2E */ lwzx r0, r3, r0
+/* 801D57BC 001D141C 7C 09 03 A6 */ mtctr r0
+/* 801D57C0 001D1420 4E 80 04 20 */ bctr
+/* 801D57C4 001D1424 7F C3 F3 78 */ mr r3, r30
+/* 801D57C8 001D1428 48 00 11 35 */ bl TRKDoConnect
+/* 801D57CC 001D142C 7C 7F 1B 78 */ mr r31, r3
+/* 801D57D0 001D1430 48 00 00 D0 */ b lbl_801D58A0
+/* 801D57D4 001D1434 7F C3 F3 78 */ mr r3, r30
+/* 801D57D8 001D1438 48 00 10 89 */ bl TRKDoDisconnect
+/* 801D57DC 001D143C 7C 7F 1B 78 */ mr r31, r3
+/* 801D57E0 001D1440 48 00 00 C0 */ b lbl_801D58A0
+/* 801D57E4 001D1444 7F C3 F3 78 */ mr r3, r30
+/* 801D57E8 001D1448 48 00 0F FD */ bl TRKDoReset
+/* 801D57EC 001D144C 7C 7F 1B 78 */ mr r31, r3
+/* 801D57F0 001D1450 48 00 00 B0 */ b lbl_801D58A0
+/* 801D57F4 001D1454 7F C3 F3 78 */ mr r3, r30
+/* 801D57F8 001D1458 48 00 0F 71 */ bl TRKDoOverride
+/* 801D57FC 001D145C 7C 7F 1B 78 */ mr r31, r3
+/* 801D5800 001D1460 48 00 00 A0 */ b lbl_801D58A0
+/* 801D5804 001D1464 7F C3 F3 78 */ mr r3, r30
+/* 801D5808 001D1468 48 00 0F 59 */ bl TRKDoVersions
+/* 801D580C 001D146C 7C 7F 1B 78 */ mr r31, r3
+/* 801D5810 001D1470 48 00 00 90 */ b lbl_801D58A0
+/* 801D5814 001D1474 7F C3 F3 78 */ mr r3, r30
+/* 801D5818 001D1478 48 00 0F 41 */ bl TRKDoSupportMask
+/* 801D581C 001D147C 7C 7F 1B 78 */ mr r31, r3
+/* 801D5820 001D1480 48 00 00 80 */ b lbl_801D58A0
+/* 801D5824 001D1484 7F C3 F3 78 */ mr r3, r30
+/* 801D5828 001D1488 48 00 0C E9 */ bl TRKDoReadMemory
+/* 801D582C 001D148C 7C 7F 1B 78 */ mr r31, r3
+/* 801D5830 001D1490 48 00 00 70 */ b lbl_801D58A0
+/* 801D5834 001D1494 7F C3 F3 78 */ mr r3, r30
+/* 801D5838 001D1498 48 00 0A BD */ bl TRKDoWriteMemory
+/* 801D583C 001D149C 7C 7F 1B 78 */ mr r31, r3
+/* 801D5840 001D14A0 48 00 00 60 */ b lbl_801D58A0
+/* 801D5844 001D14A4 7F C3 F3 78 */ mr r3, r30
+/* 801D5848 001D14A8 48 00 08 89 */ bl TRKDoReadRegisters
+/* 801D584C 001D14AC 7C 7F 1B 78 */ mr r31, r3
+/* 801D5850 001D14B0 48 00 00 50 */ b lbl_801D58A0
+/* 801D5854 001D14B4 7F C3 F3 78 */ mr r3, r30
+/* 801D5858 001D14B8 48 00 05 BD */ bl TRKDoWriteRegisters
+/* 801D585C 001D14BC 7C 7F 1B 78 */ mr r31, r3
+/* 801D5860 001D14C0 48 00 00 40 */ b lbl_801D58A0
+/* 801D5864 001D14C4 7F C3 F3 78 */ mr r3, r30
+/* 801D5868 001D14C8 48 00 04 C9 */ bl TRKDoContinue
+/* 801D586C 001D14CC 7C 7F 1B 78 */ mr r31, r3
+/* 801D5870 001D14D0 48 00 00 30 */ b lbl_801D58A0
+/* 801D5874 001D14D4 7F C3 F3 78 */ mr r3, r30
+/* 801D5878 001D14D8 48 00 01 E5 */ bl TRKDoStep
+/* 801D587C 001D14DC 7C 7F 1B 78 */ mr r31, r3
+/* 801D5880 001D14E0 48 00 00 20 */ b lbl_801D58A0
+/* 801D5884 001D14E4 7F C3 F3 78 */ mr r3, r30
+/* 801D5888 001D14E8 48 00 01 09 */ bl TRKDoStop
+/* 801D588C 001D14EC 7C 7F 1B 78 */ mr r31, r3
+/* 801D5890 001D14F0 48 00 00 10 */ b lbl_801D58A0
+/* 801D5894 001D14F4 7F C3 F3 78 */ mr r3, r30
+/* 801D5898 001D14F8 48 00 00 2D */ bl TRKDoSetOption
+/* 801D589C 001D14FC 7C 7F 1B 78 */ mr r31, r3
+lbl_801D58A0:
+/* 801D58A0 001D1500 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 801D58A4 001D1504 7F E3 FB 78 */ mr r3, r31
+/* 801D58A8 001D1508 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 801D58AC 001D150C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 801D58B0 001D1510 7C 08 03 A6 */ mtlr r0
+/* 801D58B4 001D1514 38 21 00 10 */ addi r1, r1, 0x10
+/* 801D58B8 001D1518 4E 80 00 20 */ blr
+
+.global TRKInitializeDispatcher
+TRKInitializeDispatcher:
+/* 801D58BC 001D151C 38 60 00 00 */ li r3, 0
+/* 801D58C0 001D1520 4E 80 00 20 */ blr
diff --git a/asm/MetroTRK/mainloop.s b/asm/MetroTRK/mainloop.s
index 791fbb7..174da85 100644
--- a/asm/MetroTRK/mainloop.s
+++ b/asm/MetroTRK/mainloop.s
@@ -34,7 +34,7 @@ lbl_801D488C:
lbl_801D489C:
/* 801D489C 001D04FC 80 61 00 10 */ lwz r3, 0x10(r1)
/* 801D48A0 001D0500 48 00 0B 3D */ bl TRKGetBuffer
-/* 801D48A4 001D0504 48 00 0E D9 */ bl func_801D577C
+/* 801D48A4 001D0504 48 00 0E D9 */ bl TRKDispatchMessage
/* 801D48A8 001D0508 48 00 00 1C */ b lbl_801D48C4
lbl_801D48AC:
/* 801D48AC 001D050C 3B E0 00 01 */ li r31, 1
diff --git a/asm/MetroTRK/msghndlr.s b/asm/MetroTRK/msghndlr.s
new file mode 100644
index 0000000..6fb20b9
--- /dev/null
+++ b/asm/MetroTRK/msghndlr.s
@@ -0,0 +1,1202 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global TRKDoSetOption
+TRKDoSetOption:
+/* 801D58C4 001D1524 94 21 FF B0 */ stwu r1, -0x50(r1)
+/* 801D58C8 001D1528 7C 08 02 A6 */ mflr r0
+/* 801D58CC 001D152C 3C 80 80 40 */ lis r4, lbl_803FD680@ha
+/* 801D58D0 001D1530 90 01 00 54 */ stw r0, 0x54(r1)
+/* 801D58D4 001D1534 93 E1 00 4C */ stw r31, 0x4c(r1)
+/* 801D58D8 001D1538 3B E4 D6 80 */ addi r31, r4, lbl_803FD680@l
+/* 801D58DC 001D153C 93 C1 00 48 */ stw r30, 0x48(r1)
+/* 801D58E0 001D1540 88 03 00 18 */ lbz r0, 0x18(r3)
+/* 801D58E4 001D1544 8B C3 00 1C */ lbz r30, 0x1c(r3)
+/* 801D58E8 001D1548 28 00 00 01 */ cmplwi r0, 1
+/* 801D58EC 001D154C 40 82 00 30 */ bne lbl_801D591C
+/* 801D58F0 001D1550 38 7F 00 00 */ addi r3, r31, 0
+/* 801D58F4 001D1554 4B FF FE 01 */ bl usr_puts_serial
+/* 801D58F8 001D1558 28 1E 00 00 */ cmplwi r30, 0
+/* 801D58FC 001D155C 41 82 00 10 */ beq lbl_801D590C
+/* 801D5900 001D1560 38 7F 00 20 */ addi r3, r31, 0x20
+/* 801D5904 001D1564 4B FF FD F1 */ bl usr_puts_serial
+/* 801D5908 001D1568 48 00 00 0C */ b lbl_801D5914
+lbl_801D590C:
+/* 801D590C 001D156C 38 7F 00 28 */ addi r3, r31, 0x28
+/* 801D5910 001D1570 4B FF FD E5 */ bl usr_puts_serial
+lbl_801D5914:
+/* 801D5914 001D1574 7F C3 F3 78 */ mr r3, r30
+/* 801D5918 001D1578 48 00 40 85 */ bl SetUseSerialIO
+lbl_801D591C:
+/* 801D591C 001D157C 38 61 00 08 */ addi r3, r1, 8
+/* 801D5920 001D1580 38 80 00 00 */ li r4, 0
+/* 801D5924 001D1584 38 A0 00 40 */ li r5, 0x40
+/* 801D5928 001D1588 4B E2 E8 0D */ bl TRK_memset
+/* 801D592C 001D158C 3C 60 80 49 */ lis r3, lbl_804907E8@ha
+/* 801D5930 001D1590 38 00 00 80 */ li r0, 0x80
+/* 801D5934 001D1594 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
+/* 801D5938 001D1598 38 C0 00 40 */ li r6, 0x40
+/* 801D593C 001D159C 81 09 00 00 */ lwz r8, 0(r9)
+/* 801D5940 001D15A0 38 A0 00 00 */ li r5, 0
+/* 801D5944 001D15A4 98 01 00 0C */ stb r0, 0xc(r1)
+/* 801D5948 001D15A8 38 61 00 08 */ addi r3, r1, 8
+/* 801D594C 001D15AC 38 E8 00 01 */ addi r7, r8, 1
+/* 801D5950 001D15B0 38 80 00 40 */ li r4, 0x40
+/* 801D5954 001D15B4 91 01 00 14 */ stw r8, 0x14(r1)
+/* 801D5958 001D15B8 38 07 00 01 */ addi r0, r7, 1
+/* 801D595C 001D15BC 90 E9 00 00 */ stw r7, 0(r9)
+/* 801D5960 001D15C0 90 C1 00 08 */ stw r6, 8(r1)
+/* 801D5964 001D15C4 98 A1 00 10 */ stb r5, 0x10(r1)
+/* 801D5968 001D15C8 90 09 00 00 */ stw r0, 0(r9)
+/* 801D596C 001D15CC 90 E1 00 14 */ stw r7, 0x14(r1)
+/* 801D5970 001D15D0 48 00 3C 9D */ bl func_801D960C
+/* 801D5974 001D15D4 80 01 00 54 */ lwz r0, 0x54(r1)
+/* 801D5978 001D15D8 38 60 00 00 */ li r3, 0
+/* 801D597C 001D15DC 83 E1 00 4C */ lwz r31, 0x4c(r1)
+/* 801D5980 001D15E0 83 C1 00 48 */ lwz r30, 0x48(r1)
+/* 801D5984 001D15E4 7C 08 03 A6 */ mtlr r0
+/* 801D5988 001D15E8 38 21 00 50 */ addi r1, r1, 0x50
+/* 801D598C 001D15EC 4E 80 00 20 */ blr
+
+.global TRKDoStop
+TRKDoStop:
+/* 801D5990 001D15F0 94 21 FF B0 */ stwu r1, -0x50(r1)
+/* 801D5994 001D15F4 7C 08 02 A6 */ mflr r0
+/* 801D5998 001D15F8 90 01 00 54 */ stw r0, 0x54(r1)
+/* 801D599C 001D15FC 93 E1 00 4C */ stw r31, 0x4c(r1)
+/* 801D59A0 001D1600 48 00 1C 5D */ bl TRKTargetStop
+/* 801D59A4 001D1604 2C 03 07 04 */ cmpwi r3, 0x704
+/* 801D59A8 001D1608 41 82 00 2C */ beq lbl_801D59D4
+/* 801D59AC 001D160C 40 80 00 10 */ bge lbl_801D59BC
+/* 801D59B0 001D1610 2C 03 00 00 */ cmpwi r3, 0
+/* 801D59B4 001D1614 41 82 00 18 */ beq lbl_801D59CC
+/* 801D59B8 001D1618 48 00 00 34 */ b lbl_801D59EC
+lbl_801D59BC:
+/* 801D59BC 001D161C 2C 03 07 06 */ cmpwi r3, 0x706
+/* 801D59C0 001D1620 41 82 00 24 */ beq lbl_801D59E4
+/* 801D59C4 001D1624 40 80 00 28 */ bge lbl_801D59EC
+/* 801D59C8 001D1628 48 00 00 14 */ b lbl_801D59DC
+lbl_801D59CC:
+/* 801D59CC 001D162C 3B E0 00 00 */ li r31, 0
+/* 801D59D0 001D1630 48 00 00 20 */ b lbl_801D59F0
+lbl_801D59D4:
+/* 801D59D4 001D1634 3B E0 00 21 */ li r31, 0x21
+/* 801D59D8 001D1638 48 00 00 18 */ b lbl_801D59F0
+lbl_801D59DC:
+/* 801D59DC 001D163C 3B E0 00 22 */ li r31, 0x22
+/* 801D59E0 001D1640 48 00 00 10 */ b lbl_801D59F0
+lbl_801D59E4:
+/* 801D59E4 001D1644 3B E0 00 20 */ li r31, 0x20
+/* 801D59E8 001D1648 48 00 00 08 */ b lbl_801D59F0
+lbl_801D59EC:
+/* 801D59EC 001D164C 3B E0 00 01 */ li r31, 1
+lbl_801D59F0:
+/* 801D59F0 001D1650 38 61 00 08 */ addi r3, r1, 8
+/* 801D59F4 001D1654 38 80 00 00 */ li r4, 0
+/* 801D59F8 001D1658 38 A0 00 40 */ li r5, 0x40
+/* 801D59FC 001D165C 4B E2 E7 39 */ bl TRK_memset
+/* 801D5A00 001D1660 3C 60 80 49 */ lis r3, lbl_804907E8@ha
+/* 801D5A04 001D1664 38 00 00 80 */ li r0, 0x80
+/* 801D5A08 001D1668 39 03 07 E8 */ addi r8, r3, lbl_804907E8@l
+/* 801D5A0C 001D166C 38 A0 00 40 */ li r5, 0x40
+/* 801D5A10 001D1670 80 E8 00 00 */ lwz r7, 0(r8)
+/* 801D5A14 001D1674 38 61 00 08 */ addi r3, r1, 8
+/* 801D5A18 001D1678 98 01 00 0C */ stb r0, 0xc(r1)
+/* 801D5A1C 001D167C 38 80 00 40 */ li r4, 0x40
+/* 801D5A20 001D1680 38 C7 00 01 */ addi r6, r7, 1
+/* 801D5A24 001D1684 90 E1 00 14 */ stw r7, 0x14(r1)
+/* 801D5A28 001D1688 38 06 00 01 */ addi r0, r6, 1
+/* 801D5A2C 001D168C 90 C8 00 00 */ stw r6, 0(r8)
+/* 801D5A30 001D1690 90 A1 00 08 */ stw r5, 8(r1)
+/* 801D5A34 001D1694 9B E1 00 10 */ stb r31, 0x10(r1)
+/* 801D5A38 001D1698 90 08 00 00 */ stw r0, 0(r8)
+/* 801D5A3C 001D169C 90 C1 00 14 */ stw r6, 0x14(r1)
+/* 801D5A40 001D16A0 48 00 3B CD */ bl func_801D960C
+/* 801D5A44 001D16A4 80 01 00 54 */ lwz r0, 0x54(r1)
+/* 801D5A48 001D16A8 38 60 00 00 */ li r3, 0
+/* 801D5A4C 001D16AC 83 E1 00 4C */ lwz r31, 0x4c(r1)
+/* 801D5A50 001D16B0 7C 08 03 A6 */ mtlr r0
+/* 801D5A54 001D16B4 38 21 00 50 */ addi r1, r1, 0x50
+/* 801D5A58 001D16B8 4E 80 00 20 */ blr
+
+.global TRKDoStep
+TRKDoStep:
+/* 801D5A5C 001D16BC 94 21 FE A0 */ stwu r1, -0x160(r1)
+/* 801D5A60 001D16C0 7C 08 02 A6 */ mflr r0
+/* 801D5A64 001D16C4 38 80 00 00 */ li r4, 0
+/* 801D5A68 001D16C8 90 01 01 64 */ stw r0, 0x164(r1)
+/* 801D5A6C 001D16CC BF 61 01 4C */ stmw r27, 0x14c(r1)
+/* 801D5A70 001D16D0 7C 7B 1B 78 */ mr r27, r3
+/* 801D5A74 001D16D4 4B FF F8 95 */ bl TRKSetBufferPosition
+/* 801D5A78 001D16D8 8B FB 00 18 */ lbz r31, 0x18(r27)
+/* 801D5A7C 001D16DC 83 BB 00 20 */ lwz r29, 0x20(r27)
+/* 801D5A80 001D16E0 2C 1F 00 10 */ cmpwi r31, 0x10
+/* 801D5A84 001D16E4 83 9B 00 24 */ lwz r28, 0x24(r27)
+/* 801D5A88 001D16E8 41 82 00 2C */ beq lbl_801D5AB4
+/* 801D5A8C 001D16EC 40 80 00 1C */ bge lbl_801D5AA8
+/* 801D5A90 001D16F0 2C 1F 00 01 */ cmpwi r31, 1
+/* 801D5A94 001D16F4 41 82 00 8C */ beq lbl_801D5B20
+/* 801D5A98 001D16F8 40 80 00 FC */ bge lbl_801D5B94
+/* 801D5A9C 001D16FC 2C 1F 00 00 */ cmpwi r31, 0
+/* 801D5AA0 001D1700 40 80 00 14 */ bge lbl_801D5AB4
+/* 801D5AA4 001D1704 48 00 00 F0 */ b lbl_801D5B94
+lbl_801D5AA8:
+/* 801D5AA8 001D1708 2C 1F 00 12 */ cmpwi r31, 0x12
+/* 801D5AAC 001D170C 40 80 00 E8 */ bge lbl_801D5B94
+/* 801D5AB0 001D1710 48 00 00 70 */ b lbl_801D5B20
+lbl_801D5AB4:
+/* 801D5AB4 001D1714 8B DB 00 1C */ lbz r30, 0x1c(r27)
+/* 801D5AB8 001D1718 28 1E 00 01 */ cmplwi r30, 1
+/* 801D5ABC 001D171C 40 80 01 38 */ bge lbl_801D5BF4
+/* 801D5AC0 001D1720 38 61 01 08 */ addi r3, r1, 0x108
+/* 801D5AC4 001D1724 38 80 00 00 */ li r4, 0
+/* 801D5AC8 001D1728 38 A0 00 40 */ li r5, 0x40
+/* 801D5ACC 001D172C 4B E2 E6 69 */ bl TRK_memset
+/* 801D5AD0 001D1730 3C 60 80 49 */ lis r3, lbl_804907E8@ha
+/* 801D5AD4 001D1734 38 00 00 80 */ li r0, 0x80
+/* 801D5AD8 001D1738 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
+/* 801D5ADC 001D173C 38 C0 00 40 */ li r6, 0x40
+/* 801D5AE0 001D1740 81 09 00 00 */ lwz r8, 0(r9)
+/* 801D5AE4 001D1744 38 A0 00 11 */ li r5, 0x11
+/* 801D5AE8 001D1748 98 01 01 0C */ stb r0, 0x10c(r1)
+/* 801D5AEC 001D174C 38 61 01 08 */ addi r3, r1, 0x108
+/* 801D5AF0 001D1750 38 E8 00 01 */ addi r7, r8, 1
+/* 801D5AF4 001D1754 38 80 00 40 */ li r4, 0x40
+/* 801D5AF8 001D1758 91 01 01 14 */ stw r8, 0x114(r1)
+/* 801D5AFC 001D175C 38 07 00 01 */ addi r0, r7, 1
+/* 801D5B00 001D1760 90 E9 00 00 */ stw r7, 0(r9)
+/* 801D5B04 001D1764 90 C1 01 08 */ stw r6, 0x108(r1)
+/* 801D5B08 001D1768 98 A1 01 10 */ stb r5, 0x110(r1)
+/* 801D5B0C 001D176C 90 09 00 00 */ stw r0, 0(r9)
+/* 801D5B10 001D1770 90 E1 01 14 */ stw r7, 0x114(r1)
+/* 801D5B14 001D1774 48 00 3A F9 */ bl func_801D960C
+/* 801D5B18 001D1778 38 60 00 00 */ li r3, 0
+/* 801D5B1C 001D177C 48 00 02 00 */ b lbl_801D5D1C
+lbl_801D5B20:
+/* 801D5B20 001D1780 48 00 1D 15 */ bl func_801D7834
+/* 801D5B24 001D1784 7C 03 E8 40 */ cmplw r3, r29
+/* 801D5B28 001D1788 41 80 00 0C */ blt lbl_801D5B34
+/* 801D5B2C 001D178C 7C 03 E0 40 */ cmplw r3, r28
+/* 801D5B30 001D1790 40 81 00 C4 */ ble lbl_801D5BF4
+lbl_801D5B34:
+/* 801D5B34 001D1794 38 61 00 C8 */ addi r3, r1, 0xc8
+/* 801D5B38 001D1798 38 80 00 00 */ li r4, 0
+/* 801D5B3C 001D179C 38 A0 00 40 */ li r5, 0x40
+/* 801D5B40 001D17A0 4B E2 E5 F5 */ bl TRK_memset
+/* 801D5B44 001D17A4 3C 60 80 49 */ lis r3, lbl_804907E8@ha
+/* 801D5B48 001D17A8 38 00 00 80 */ li r0, 0x80
+/* 801D5B4C 001D17AC 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
+/* 801D5B50 001D17B0 38 C0 00 40 */ li r6, 0x40
+/* 801D5B54 001D17B4 81 09 00 00 */ lwz r8, 0(r9)
+/* 801D5B58 001D17B8 38 A0 00 11 */ li r5, 0x11
+/* 801D5B5C 001D17BC 98 01 00 CC */ stb r0, 0xcc(r1)
+/* 801D5B60 001D17C0 38 61 00 C8 */ addi r3, r1, 0xc8
+/* 801D5B64 001D17C4 38 E8 00 01 */ addi r7, r8, 1
+/* 801D5B68 001D17C8 38 80 00 40 */ li r4, 0x40
+/* 801D5B6C 001D17CC 91 01 00 D4 */ stw r8, 0xd4(r1)
+/* 801D5B70 001D17D0 38 07 00 01 */ addi r0, r7, 1
+/* 801D5B74 001D17D4 90 E9 00 00 */ stw r7, 0(r9)
+/* 801D5B78 001D17D8 90 C1 00 C8 */ stw r6, 0xc8(r1)
+/* 801D5B7C 001D17DC 98 A1 00 D0 */ stb r5, 0xd0(r1)
+/* 801D5B80 001D17E0 90 09 00 00 */ stw r0, 0(r9)
+/* 801D5B84 001D17E4 90 E1 00 D4 */ stw r7, 0xd4(r1)
+/* 801D5B88 001D17E8 48 00 3A 85 */ bl func_801D960C
+/* 801D5B8C 001D17EC 38 60 00 00 */ li r3, 0
+/* 801D5B90 001D17F0 48 00 01 8C */ b lbl_801D5D1C
+lbl_801D5B94:
+/* 801D5B94 001D17F4 38 61 00 88 */ addi r3, r1, 0x88
+/* 801D5B98 001D17F8 38 80 00 00 */ li r4, 0
+/* 801D5B9C 001D17FC 38 A0 00 40 */ li r5, 0x40
+/* 801D5BA0 001D1800 4B E2 E5 95 */ bl TRK_memset
+/* 801D5BA4 001D1804 3C 60 80 49 */ lis r3, lbl_804907E8@ha
+/* 801D5BA8 001D1808 38 00 00 80 */ li r0, 0x80
+/* 801D5BAC 001D180C 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
+/* 801D5BB0 001D1810 38 C0 00 40 */ li r6, 0x40
+/* 801D5BB4 001D1814 81 09 00 00 */ lwz r8, 0(r9)
+/* 801D5BB8 001D1818 38 A0 00 12 */ li r5, 0x12
+/* 801D5BBC 001D181C 98 01 00 8C */ stb r0, 0x8c(r1)
+/* 801D5BC0 001D1820 38 61 00 88 */ addi r3, r1, 0x88
+/* 801D5BC4 001D1824 38 E8 00 01 */ addi r7, r8, 1
+/* 801D5BC8 001D1828 38 80 00 40 */ li r4, 0x40
+/* 801D5BCC 001D182C 91 01 00 94 */ stw r8, 0x94(r1)
+/* 801D5BD0 001D1830 38 07 00 01 */ addi r0, r7, 1
+/* 801D5BD4 001D1834 90 E9 00 00 */ stw r7, 0(r9)
+/* 801D5BD8 001D1838 90 C1 00 88 */ stw r6, 0x88(r1)
+/* 801D5BDC 001D183C 98 A1 00 90 */ stb r5, 0x90(r1)
+/* 801D5BE0 001D1840 90 09 00 00 */ stw r0, 0(r9)
+/* 801D5BE4 001D1844 90 E1 00 94 */ stw r7, 0x94(r1)
+/* 801D5BE8 001D1848 48 00 3A 25 */ bl func_801D960C
+/* 801D5BEC 001D184C 38 60 00 00 */ li r3, 0
+/* 801D5BF0 001D1850 48 00 01 2C */ b lbl_801D5D1C
+lbl_801D5BF4:
+/* 801D5BF4 001D1854 48 00 1A 31 */ bl func_801D7624
+/* 801D5BF8 001D1858 2C 03 00 00 */ cmpwi r3, 0
+/* 801D5BFC 001D185C 40 82 00 64 */ bne lbl_801D5C60
+/* 801D5C00 001D1860 38 61 00 48 */ addi r3, r1, 0x48
+/* 801D5C04 001D1864 38 80 00 00 */ li r4, 0
+/* 801D5C08 001D1868 38 A0 00 40 */ li r5, 0x40
+/* 801D5C0C 001D186C 4B E2 E5 29 */ bl TRK_memset
+/* 801D5C10 001D1870 3C 60 80 49 */ lis r3, lbl_804907E8@ha
+/* 801D5C14 001D1874 38 00 00 80 */ li r0, 0x80
+/* 801D5C18 001D1878 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
+/* 801D5C1C 001D187C 38 C0 00 40 */ li r6, 0x40
+/* 801D5C20 001D1880 81 09 00 00 */ lwz r8, 0(r9)
+/* 801D5C24 001D1884 38 A0 00 16 */ li r5, 0x16
+/* 801D5C28 001D1888 98 01 00 4C */ stb r0, 0x4c(r1)
+/* 801D5C2C 001D188C 38 61 00 48 */ addi r3, r1, 0x48
+/* 801D5C30 001D1890 38 E8 00 01 */ addi r7, r8, 1
+/* 801D5C34 001D1894 38 80 00 40 */ li r4, 0x40
+/* 801D5C38 001D1898 91 01 00 54 */ stw r8, 0x54(r1)
+/* 801D5C3C 001D189C 38 07 00 01 */ addi r0, r7, 1
+/* 801D5C40 001D18A0 90 E9 00 00 */ stw r7, 0(r9)
+/* 801D5C44 001D18A4 90 C1 00 48 */ stw r6, 0x48(r1)
+/* 801D5C48 001D18A8 98 A1 00 50 */ stb r5, 0x50(r1)
+/* 801D5C4C 001D18AC 90 09 00 00 */ stw r0, 0(r9)
+/* 801D5C50 001D18B0 90 E1 00 54 */ stw r7, 0x54(r1)
+/* 801D5C54 001D18B4 48 00 39 B9 */ bl func_801D960C
+/* 801D5C58 001D18B8 38 60 00 00 */ li r3, 0
+/* 801D5C5C 001D18BC 48 00 00 C0 */ b lbl_801D5D1C
+lbl_801D5C60:
+/* 801D5C60 001D18C0 38 61 00 08 */ addi r3, r1, 8
+/* 801D5C64 001D18C4 38 80 00 00 */ li r4, 0
+/* 801D5C68 001D18C8 38 A0 00 40 */ li r5, 0x40
+/* 801D5C6C 001D18CC 4B E2 E4 C9 */ bl TRK_memset
+/* 801D5C70 001D18D0 3C 60 80 49 */ lis r3, lbl_804907E8@ha
+/* 801D5C74 001D18D4 38 00 00 80 */ li r0, 0x80
+/* 801D5C78 001D18D8 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
+/* 801D5C7C 001D18DC 38 C0 00 40 */ li r6, 0x40
+/* 801D5C80 001D18E0 81 09 00 00 */ lwz r8, 0(r9)
+/* 801D5C84 001D18E4 38 A0 00 00 */ li r5, 0
+/* 801D5C88 001D18E8 98 01 00 0C */ stb r0, 0xc(r1)
+/* 801D5C8C 001D18EC 38 61 00 08 */ addi r3, r1, 8
+/* 801D5C90 001D18F0 38 E8 00 01 */ addi r7, r8, 1
+/* 801D5C94 001D18F4 38 80 00 40 */ li r4, 0x40
+/* 801D5C98 001D18F8 91 01 00 14 */ stw r8, 0x14(r1)
+/* 801D5C9C 001D18FC 38 07 00 01 */ addi r0, r7, 1
+/* 801D5CA0 001D1900 90 E9 00 00 */ stw r7, 0(r9)
+/* 801D5CA4 001D1904 90 C1 00 08 */ stw r6, 8(r1)
+/* 801D5CA8 001D1908 98 A1 00 10 */ stb r5, 0x10(r1)
+/* 801D5CAC 001D190C 90 09 00 00 */ stw r0, 0(r9)
+/* 801D5CB0 001D1910 90 E1 00 14 */ stw r7, 0x14(r1)
+/* 801D5CB4 001D1914 48 00 39 59 */ bl func_801D960C
+/* 801D5CB8 001D1918 2C 1F 00 10 */ cmpwi r31, 0x10
+/* 801D5CBC 001D191C 38 60 00 00 */ li r3, 0
+/* 801D5CC0 001D1920 41 82 00 2C */ beq lbl_801D5CEC
+/* 801D5CC4 001D1924 40 80 00 1C */ bge lbl_801D5CE0
+/* 801D5CC8 001D1928 2C 1F 00 01 */ cmpwi r31, 1
+/* 801D5CCC 001D192C 41 82 00 38 */ beq lbl_801D5D04
+/* 801D5CD0 001D1930 40 80 00 4C */ bge lbl_801D5D1C
+/* 801D5CD4 001D1934 2C 1F 00 00 */ cmpwi r31, 0
+/* 801D5CD8 001D1938 40 80 00 14 */ bge lbl_801D5CEC
+/* 801D5CDC 001D193C 48 00 00 40 */ b lbl_801D5D1C
+lbl_801D5CE0:
+/* 801D5CE0 001D1940 2C 1F 00 12 */ cmpwi r31, 0x12
+/* 801D5CE4 001D1944 40 80 00 38 */ bge lbl_801D5D1C
+/* 801D5CE8 001D1948 48 00 00 1C */ b lbl_801D5D04
+lbl_801D5CEC:
+/* 801D5CEC 001D194C 20 1F 00 10 */ subfic r0, r31, 0x10
+/* 801D5CF0 001D1950 7F C3 F3 78 */ mr r3, r30
+/* 801D5CF4 001D1954 7C 00 00 34 */ cntlzw r0, r0
+/* 801D5CF8 001D1958 54 04 D9 7E */ srwi r4, r0, 5
+/* 801D5CFC 001D195C 48 00 1B C5 */ bl func_801D78C0
+/* 801D5D00 001D1960 48 00 00 1C */ b lbl_801D5D1C
+lbl_801D5D04:
+/* 801D5D04 001D1964 20 1F 00 11 */ subfic r0, r31, 0x11
+/* 801D5D08 001D1968 7F A3 EB 78 */ mr r3, r29
+/* 801D5D0C 001D196C 7C 00 00 34 */ cntlzw r0, r0
+/* 801D5D10 001D1970 7F 84 E3 78 */ mr r4, r28
+/* 801D5D14 001D1974 54 05 D9 7E */ srwi r5, r0, 5
+/* 801D5D18 001D1978 48 00 1B 2D */ bl func_801D7844
+lbl_801D5D1C:
+/* 801D5D1C 001D197C BB 61 01 4C */ lmw r27, 0x14c(r1)
+/* 801D5D20 001D1980 80 01 01 64 */ lwz r0, 0x164(r1)
+/* 801D5D24 001D1984 7C 08 03 A6 */ mtlr r0
+/* 801D5D28 001D1988 38 21 01 60 */ addi r1, r1, 0x160
+/* 801D5D2C 001D198C 4E 80 00 20 */ blr
+
+.global TRKDoContinue
+TRKDoContinue:
+/* 801D5D30 001D1990 94 21 FF 70 */ stwu r1, -0x90(r1)
+/* 801D5D34 001D1994 7C 08 02 A6 */ mflr r0
+/* 801D5D38 001D1998 90 01 00 94 */ stw r0, 0x94(r1)
+/* 801D5D3C 001D199C 48 00 18 E9 */ bl func_801D7624
+/* 801D5D40 001D19A0 2C 03 00 00 */ cmpwi r3, 0
+/* 801D5D44 001D19A4 40 82 00 64 */ bne lbl_801D5DA8
+/* 801D5D48 001D19A8 38 61 00 48 */ addi r3, r1, 0x48
+/* 801D5D4C 001D19AC 38 80 00 00 */ li r4, 0
+/* 801D5D50 001D19B0 38 A0 00 40 */ li r5, 0x40
+/* 801D5D54 001D19B4 4B E2 E3 E1 */ bl TRK_memset
+/* 801D5D58 001D19B8 3C 60 80 49 */ lis r3, lbl_804907E8@ha
+/* 801D5D5C 001D19BC 38 00 00 80 */ li r0, 0x80
+/* 801D5D60 001D19C0 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
+/* 801D5D64 001D19C4 38 C0 00 40 */ li r6, 0x40
+/* 801D5D68 001D19C8 81 09 00 00 */ lwz r8, 0(r9)
+/* 801D5D6C 001D19CC 38 A0 00 16 */ li r5, 0x16
+/* 801D5D70 001D19D0 98 01 00 4C */ stb r0, 0x4c(r1)
+/* 801D5D74 001D19D4 38 61 00 48 */ addi r3, r1, 0x48
+/* 801D5D78 001D19D8 38 E8 00 01 */ addi r7, r8, 1
+/* 801D5D7C 001D19DC 38 80 00 40 */ li r4, 0x40
+/* 801D5D80 001D19E0 91 01 00 54 */ stw r8, 0x54(r1)
+/* 801D5D84 001D19E4 38 07 00 01 */ addi r0, r7, 1
+/* 801D5D88 001D19E8 90 E9 00 00 */ stw r7, 0(r9)
+/* 801D5D8C 001D19EC 90 C1 00 48 */ stw r6, 0x48(r1)
+/* 801D5D90 001D19F0 98 A1 00 50 */ stb r5, 0x50(r1)
+/* 801D5D94 001D19F4 90 09 00 00 */ stw r0, 0(r9)
+/* 801D5D98 001D19F8 90 E1 00 54 */ stw r7, 0x54(r1)
+/* 801D5D9C 001D19FC 48 00 38 71 */ bl func_801D960C
+/* 801D5DA0 001D1A00 38 60 00 00 */ li r3, 0
+/* 801D5DA4 001D1A04 48 00 00 60 */ b lbl_801D5E04
+lbl_801D5DA8:
+/* 801D5DA8 001D1A08 38 61 00 08 */ addi r3, r1, 8
+/* 801D5DAC 001D1A0C 38 80 00 00 */ li r4, 0
+/* 801D5DB0 001D1A10 38 A0 00 40 */ li r5, 0x40
+/* 801D5DB4 001D1A14 4B E2 E3 81 */ bl TRK_memset
+/* 801D5DB8 001D1A18 3C 60 80 49 */ lis r3, lbl_804907E8@ha
+/* 801D5DBC 001D1A1C 38 00 00 80 */ li r0, 0x80
+/* 801D5DC0 001D1A20 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
+/* 801D5DC4 001D1A24 38 C0 00 40 */ li r6, 0x40
+/* 801D5DC8 001D1A28 81 09 00 00 */ lwz r8, 0(r9)
+/* 801D5DCC 001D1A2C 38 A0 00 00 */ li r5, 0
+/* 801D5DD0 001D1A30 98 01 00 0C */ stb r0, 0xc(r1)
+/* 801D5DD4 001D1A34 38 61 00 08 */ addi r3, r1, 8
+/* 801D5DD8 001D1A38 38 E8 00 01 */ addi r7, r8, 1
+/* 801D5DDC 001D1A3C 38 80 00 40 */ li r4, 0x40
+/* 801D5DE0 001D1A40 91 01 00 14 */ stw r8, 0x14(r1)
+/* 801D5DE4 001D1A44 38 07 00 01 */ addi r0, r7, 1
+/* 801D5DE8 001D1A48 90 E9 00 00 */ stw r7, 0(r9)
+/* 801D5DEC 001D1A4C 90 C1 00 08 */ stw r6, 8(r1)
+/* 801D5DF0 001D1A50 98 A1 00 10 */ stb r5, 0x10(r1)
+/* 801D5DF4 001D1A54 90 09 00 00 */ stw r0, 0(r9)
+/* 801D5DF8 001D1A58 90 E1 00 14 */ stw r7, 0x14(r1)
+/* 801D5DFC 001D1A5C 48 00 38 11 */ bl func_801D960C
+/* 801D5E00 001D1A60 48 00 3B 59 */ bl TRKTargetContinue
+lbl_801D5E04:
+/* 801D5E04 001D1A64 80 01 00 94 */ lwz r0, 0x94(r1)
+/* 801D5E08 001D1A68 7C 08 03 A6 */ mtlr r0
+/* 801D5E0C 001D1A6C 38 21 00 90 */ addi r1, r1, 0x90
+/* 801D5E10 001D1A70 4E 80 00 20 */ blr
+
+.global TRKDoWriteRegisters
+TRKDoWriteRegisters:
+/* 801D5E14 001D1A74 94 21 FF 20 */ stwu r1, -0xe0(r1)
+/* 801D5E18 001D1A78 7C 08 02 A6 */ mflr r0
+/* 801D5E1C 001D1A7C 38 80 00 00 */ li r4, 0
+/* 801D5E20 001D1A80 90 01 00 E4 */ stw r0, 0xe4(r1)
+/* 801D5E24 001D1A84 93 E1 00 DC */ stw r31, 0xdc(r1)
+/* 801D5E28 001D1A88 93 C1 00 D8 */ stw r30, 0xd8(r1)
+/* 801D5E2C 001D1A8C 93 A1 00 D4 */ stw r29, 0xd4(r1)
+/* 801D5E30 001D1A90 93 81 00 D0 */ stw r28, 0xd0(r1)
+/* 801D5E34 001D1A94 7C 7C 1B 78 */ mr r28, r3
+/* 801D5E38 001D1A98 8B E3 00 18 */ lbz r31, 0x18(r3)
+/* 801D5E3C 001D1A9C A3 C3 00 1C */ lhz r30, 0x1c(r3)
+/* 801D5E40 001D1AA0 A3 A3 00 20 */ lhz r29, 0x20(r3)
+/* 801D5E44 001D1AA4 4B FF F4 C5 */ bl TRKSetBufferPosition
+/* 801D5E48 001D1AA8 7C 1E E8 40 */ cmplw r30, r29
+/* 801D5E4C 001D1AAC 40 81 00 64 */ ble lbl_801D5EB0
+/* 801D5E50 001D1AB0 38 61 00 4C */ addi r3, r1, 0x4c
+/* 801D5E54 001D1AB4 38 80 00 00 */ li r4, 0
+/* 801D5E58 001D1AB8 38 A0 00 40 */ li r5, 0x40
+/* 801D5E5C 001D1ABC 4B E2 E2 D9 */ bl TRK_memset
+/* 801D5E60 001D1AC0 3C 60 80 49 */ lis r3, lbl_804907E8@ha
+/* 801D5E64 001D1AC4 38 00 00 80 */ li r0, 0x80
+/* 801D5E68 001D1AC8 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
+/* 801D5E6C 001D1ACC 38 C0 00 40 */ li r6, 0x40
+/* 801D5E70 001D1AD0 81 09 00 00 */ lwz r8, 0(r9)
+/* 801D5E74 001D1AD4 38 A0 00 14 */ li r5, 0x14
+/* 801D5E78 001D1AD8 98 01 00 50 */ stb r0, 0x50(r1)
+/* 801D5E7C 001D1ADC 38 61 00 4C */ addi r3, r1, 0x4c
+/* 801D5E80 001D1AE0 38 E8 00 01 */ addi r7, r8, 1
+/* 801D5E84 001D1AE4 38 80 00 40 */ li r4, 0x40
+/* 801D5E88 001D1AE8 91 01 00 58 */ stw r8, 0x58(r1)
+/* 801D5E8C 001D1AEC 38 07 00 01 */ addi r0, r7, 1
+/* 801D5E90 001D1AF0 90 E9 00 00 */ stw r7, 0(r9)
+/* 801D5E94 001D1AF4 90 C1 00 4C */ stw r6, 0x4c(r1)
+/* 801D5E98 001D1AF8 98 A1 00 54 */ stb r5, 0x54(r1)
+/* 801D5E9C 001D1AFC 90 09 00 00 */ stw r0, 0(r9)
+/* 801D5EA0 001D1B00 90 E1 00 58 */ stw r7, 0x58(r1)
+/* 801D5EA4 001D1B04 48 00 37 69 */ bl func_801D960C
+/* 801D5EA8 001D1B08 38 60 00 00 */ li r3, 0
+/* 801D5EAC 001D1B0C 48 00 02 04 */ b lbl_801D60B0
+lbl_801D5EB0:
+/* 801D5EB0 001D1B10 7F 83 E3 78 */ mr r3, r28
+/* 801D5EB4 001D1B14 38 80 00 40 */ li r4, 0x40
+/* 801D5EB8 001D1B18 4B FF F4 51 */ bl TRKSetBufferPosition
+/* 801D5EBC 001D1B1C 2C 1F 00 02 */ cmpwi r31, 2
+/* 801D5EC0 001D1B20 41 82 00 64 */ beq lbl_801D5F24
+/* 801D5EC4 001D1B24 40 80 00 14 */ bge lbl_801D5ED8
+/* 801D5EC8 001D1B28 2C 1F 00 00 */ cmpwi r31, 0
+/* 801D5ECC 001D1B2C 41 82 00 18 */ beq lbl_801D5EE4
+/* 801D5ED0 001D1B30 40 80 00 34 */ bge lbl_801D5F04
+/* 801D5ED4 001D1B34 48 00 00 90 */ b lbl_801D5F64
+lbl_801D5ED8:
+/* 801D5ED8 001D1B38 2C 1F 00 04 */ cmpwi r31, 4
+/* 801D5EDC 001D1B3C 40 80 00 88 */ bge lbl_801D5F64
+/* 801D5EE0 001D1B40 48 00 00 64 */ b lbl_801D5F44
+lbl_801D5EE4:
+/* 801D5EE4 001D1B44 7F C3 F3 78 */ mr r3, r30
+/* 801D5EE8 001D1B48 7F A4 EB 78 */ mr r4, r29
+/* 801D5EEC 001D1B4C 7F 85 E3 78 */ mr r5, r28
+/* 801D5EF0 001D1B50 38 C1 00 08 */ addi r6, r1, 8
+/* 801D5EF4 001D1B54 38 E0 00 00 */ li r7, 0
+/* 801D5EF8 001D1B58 48 00 28 01 */ bl TRKTargetAccessDefault
+/* 801D5EFC 001D1B5C 7C 7F 1B 78 */ mr r31, r3
+/* 801D5F00 001D1B60 48 00 00 68 */ b lbl_801D5F68
+lbl_801D5F04:
+/* 801D5F04 001D1B64 7F C3 F3 78 */ mr r3, r30
+/* 801D5F08 001D1B68 7F A4 EB 78 */ mr r4, r29
+/* 801D5F0C 001D1B6C 7F 85 E3 78 */ mr r5, r28
+/* 801D5F10 001D1B70 38 C1 00 08 */ addi r6, r1, 8
+/* 801D5F14 001D1B74 38 E0 00 00 */ li r7, 0
+/* 801D5F18 001D1B78 48 00 22 D5 */ bl TRKTargetAccessFP
+/* 801D5F1C 001D1B7C 7C 7F 1B 78 */ mr r31, r3
+/* 801D5F20 001D1B80 48 00 00 48 */ b lbl_801D5F68
+lbl_801D5F24:
+/* 801D5F24 001D1B84 7F C3 F3 78 */ mr r3, r30
+/* 801D5F28 001D1B88 7F A4 EB 78 */ mr r4, r29
+/* 801D5F2C 001D1B8C 7F 85 E3 78 */ mr r5, r28
+/* 801D5F30 001D1B90 38 C1 00 08 */ addi r6, r1, 8
+/* 801D5F34 001D1B94 38 E0 00 00 */ li r7, 0
+/* 801D5F38 001D1B98 48 00 21 45 */ bl TRKTargetAccessExtended1
+/* 801D5F3C 001D1B9C 7C 7F 1B 78 */ mr r31, r3
+/* 801D5F40 001D1BA0 48 00 00 28 */ b lbl_801D5F68
+lbl_801D5F44:
+/* 801D5F44 001D1BA4 7F C3 F3 78 */ mr r3, r30
+/* 801D5F48 001D1BA8 7F A4 EB 78 */ mr r4, r29
+/* 801D5F4C 001D1BAC 7F 85 E3 78 */ mr r5, r28
+/* 801D5F50 001D1BB0 38 C1 00 08 */ addi r6, r1, 8
+/* 801D5F54 001D1BB4 38 E0 00 00 */ li r7, 0
+/* 801D5F58 001D1BB8 48 00 1C ED */ bl TRKTargetAccessExtended2
+/* 801D5F5C 001D1BBC 7C 7F 1B 78 */ mr r31, r3
+/* 801D5F60 001D1BC0 48 00 00 08 */ b lbl_801D5F68
+lbl_801D5F64:
+/* 801D5F64 001D1BC4 3B E0 07 03 */ li r31, 0x703
+lbl_801D5F68:
+/* 801D5F68 001D1BC8 7F 83 E3 78 */ mr r3, r28
+/* 801D5F6C 001D1BCC 38 80 00 00 */ li r4, 0
+/* 801D5F70 001D1BD0 4B FF F3 C9 */ bl TRKResetBuffer
+/* 801D5F74 001D1BD4 2C 1F 00 00 */ cmpwi r31, 0
+/* 801D5F78 001D1BD8 40 82 00 54 */ bne lbl_801D5FCC
+/* 801D5F7C 001D1BDC 38 61 00 8C */ addi r3, r1, 0x8c
+/* 801D5F80 001D1BE0 38 80 00 00 */ li r4, 0
+/* 801D5F84 001D1BE4 38 A0 00 40 */ li r5, 0x40
+/* 801D5F88 001D1BE8 4B E2 E1 AD */ bl TRK_memset
+/* 801D5F8C 001D1BEC 3C 60 80 49 */ lis r3, lbl_804907E8@ha
+/* 801D5F90 001D1BF0 38 00 00 40 */ li r0, 0x40
+/* 801D5F94 001D1BF4 38 E3 07 E8 */ addi r7, r3, lbl_804907E8@l
+/* 801D5F98 001D1BF8 38 A0 00 80 */ li r5, 0x80
+/* 801D5F9C 001D1BFC 80 C7 00 00 */ lwz r6, 0(r7)
+/* 801D5FA0 001D1C00 7F 83 E3 78 */ mr r3, r28
+/* 801D5FA4 001D1C04 90 01 00 8C */ stw r0, 0x8c(r1)
+/* 801D5FA8 001D1C08 38 81 00 8C */ addi r4, r1, 0x8c
+/* 801D5FAC 001D1C0C 38 06 00 01 */ addi r0, r6, 1
+/* 801D5FB0 001D1C10 98 A1 00 90 */ stb r5, 0x90(r1)
+/* 801D5FB4 001D1C14 38 A0 00 40 */ li r5, 0x40
+/* 801D5FB8 001D1C18 9B E1 00 94 */ stb r31, 0x94(r1)
+/* 801D5FBC 001D1C1C 90 07 00 00 */ stw r0, 0(r7)
+/* 801D5FC0 001D1C20 90 C1 00 98 */ stw r6, 0x98(r1)
+/* 801D5FC4 001D1C24 4B FF F2 A1 */ bl TRKAppendBuffer
+/* 801D5FC8 001D1C28 7C 7F 1B 78 */ mr r31, r3
+lbl_801D5FCC:
+/* 801D5FCC 001D1C2C 2C 1F 00 00 */ cmpwi r31, 0
+/* 801D5FD0 001D1C30 41 82 00 D8 */ beq lbl_801D60A8
+/* 801D5FD4 001D1C34 2C 1F 07 03 */ cmpwi r31, 0x703
+/* 801D5FD8 001D1C38 41 82 00 38 */ beq lbl_801D6010
+/* 801D5FDC 001D1C3C 40 80 00 1C */ bge lbl_801D5FF8
+/* 801D5FE0 001D1C40 2C 1F 07 01 */ cmpwi r31, 0x701
+/* 801D5FE4 001D1C44 41 82 00 34 */ beq lbl_801D6018
+/* 801D5FE8 001D1C48 40 80 00 40 */ bge lbl_801D6028
+/* 801D5FEC 001D1C4C 2C 1F 03 02 */ cmpwi r31, 0x302
+/* 801D5FF0 001D1C50 41 82 00 30 */ beq lbl_801D6020
+/* 801D5FF4 001D1C54 48 00 00 54 */ b lbl_801D6048
+lbl_801D5FF8:
+/* 801D5FF8 001D1C58 2C 1F 07 06 */ cmpwi r31, 0x706
+/* 801D5FFC 001D1C5C 41 82 00 44 */ beq lbl_801D6040
+/* 801D6000 001D1C60 40 80 00 48 */ bge lbl_801D6048
+/* 801D6004 001D1C64 2C 1F 07 05 */ cmpwi r31, 0x705
+/* 801D6008 001D1C68 40 80 00 30 */ bge lbl_801D6038
+/* 801D600C 001D1C6C 48 00 00 24 */ b lbl_801D6030
+lbl_801D6010:
+/* 801D6010 001D1C70 3B E0 00 12 */ li r31, 0x12
+/* 801D6014 001D1C74 48 00 00 38 */ b lbl_801D604C
+lbl_801D6018:
+/* 801D6018 001D1C78 3B E0 00 14 */ li r31, 0x14
+/* 801D601C 001D1C7C 48 00 00 30 */ b lbl_801D604C
+lbl_801D6020:
+/* 801D6020 001D1C80 3B E0 00 02 */ li r31, 2
+/* 801D6024 001D1C84 48 00 00 28 */ b lbl_801D604C
+lbl_801D6028:
+/* 801D6028 001D1C88 3B E0 00 15 */ li r31, 0x15
+/* 801D602C 001D1C8C 48 00 00 20 */ b lbl_801D604C
+lbl_801D6030:
+/* 801D6030 001D1C90 3B E0 00 21 */ li r31, 0x21
+/* 801D6034 001D1C94 48 00 00 18 */ b lbl_801D604C
+lbl_801D6038:
+/* 801D6038 001D1C98 3B E0 00 22 */ li r31, 0x22
+/* 801D603C 001D1C9C 48 00 00 10 */ b lbl_801D604C
+lbl_801D6040:
+/* 801D6040 001D1CA0 3B E0 00 20 */ li r31, 0x20
+/* 801D6044 001D1CA4 48 00 00 08 */ b lbl_801D604C
+lbl_801D6048:
+/* 801D6048 001D1CA8 3B E0 00 03 */ li r31, 3
+lbl_801D604C:
+/* 801D604C 001D1CAC 38 61 00 0C */ addi r3, r1, 0xc
+/* 801D6050 001D1CB0 38 80 00 00 */ li r4, 0
+/* 801D6054 001D1CB4 38 A0 00 40 */ li r5, 0x40
+/* 801D6058 001D1CB8 4B E2 E0 DD */ bl TRK_memset
+/* 801D605C 001D1CBC 3C 60 80 49 */ lis r3, lbl_804907E8@ha
+/* 801D6060 001D1CC0 38 00 00 80 */ li r0, 0x80
+/* 801D6064 001D1CC4 39 03 07 E8 */ addi r8, r3, lbl_804907E8@l
+/* 801D6068 001D1CC8 38 A0 00 40 */ li r5, 0x40
+/* 801D606C 001D1CCC 80 E8 00 00 */ lwz r7, 0(r8)
+/* 801D6070 001D1CD0 38 61 00 0C */ addi r3, r1, 0xc
+/* 801D6074 001D1CD4 98 01 00 10 */ stb r0, 0x10(r1)
+/* 801D6078 001D1CD8 38 80 00 40 */ li r4, 0x40
+/* 801D607C 001D1CDC 38 C7 00 01 */ addi r6, r7, 1
+/* 801D6080 001D1CE0 90 E1 00 18 */ stw r7, 0x18(r1)
+/* 801D6084 001D1CE4 38 06 00 01 */ addi r0, r6, 1
+/* 801D6088 001D1CE8 90 C8 00 00 */ stw r6, 0(r8)
+/* 801D608C 001D1CEC 90 A1 00 0C */ stw r5, 0xc(r1)
+/* 801D6090 001D1CF0 9B E1 00 14 */ stb r31, 0x14(r1)
+/* 801D6094 001D1CF4 90 08 00 00 */ stw r0, 0(r8)
+/* 801D6098 001D1CF8 90 C1 00 18 */ stw r6, 0x18(r1)
+/* 801D609C 001D1CFC 48 00 35 71 */ bl func_801D960C
+/* 801D60A0 001D1D00 38 60 00 00 */ li r3, 0
+/* 801D60A4 001D1D04 48 00 00 0C */ b lbl_801D60B0
+lbl_801D60A8:
+/* 801D60A8 001D1D08 7F 83 E3 78 */ mr r3, r28
+/* 801D60AC 001D1D0C 4B FF EC 31 */ bl TRKMessageSend
+lbl_801D60B0:
+/* 801D60B0 001D1D10 80 01 00 E4 */ lwz r0, 0xe4(r1)
+/* 801D60B4 001D1D14 83 E1 00 DC */ lwz r31, 0xdc(r1)
+/* 801D60B8 001D1D18 83 C1 00 D8 */ lwz r30, 0xd8(r1)
+/* 801D60BC 001D1D1C 83 A1 00 D4 */ lwz r29, 0xd4(r1)
+/* 801D60C0 001D1D20 83 81 00 D0 */ lwz r28, 0xd0(r1)
+/* 801D60C4 001D1D24 7C 08 03 A6 */ mtlr r0
+/* 801D60C8 001D1D28 38 21 00 E0 */ addi r1, r1, 0xe0
+/* 801D60CC 001D1D2C 4E 80 00 20 */ blr
+
+.global TRKDoReadRegisters
+TRKDoReadRegisters:
+/* 801D60D0 001D1D30 94 21 FF 20 */ stwu r1, -0xe0(r1)
+/* 801D60D4 001D1D34 7C 08 02 A6 */ mflr r0
+/* 801D60D8 001D1D38 90 01 00 E4 */ stw r0, 0xe4(r1)
+/* 801D60DC 001D1D3C 93 E1 00 DC */ stw r31, 0xdc(r1)
+/* 801D60E0 001D1D40 7C 7F 1B 78 */ mr r31, r3
+/* 801D60E4 001D1D44 A0 83 00 1C */ lhz r4, 0x1c(r3)
+/* 801D60E8 001D1D48 A0 03 00 20 */ lhz r0, 0x20(r3)
+/* 801D60EC 001D1D4C 7C 04 00 40 */ cmplw r4, r0
+/* 801D60F0 001D1D50 40 81 00 64 */ ble lbl_801D6154
+/* 801D60F4 001D1D54 38 61 00 4C */ addi r3, r1, 0x4c
+/* 801D60F8 001D1D58 38 80 00 00 */ li r4, 0
+/* 801D60FC 001D1D5C 38 A0 00 40 */ li r5, 0x40
+/* 801D6100 001D1D60 4B E2 E0 35 */ bl TRK_memset
+/* 801D6104 001D1D64 3C 60 80 49 */ lis r3, lbl_804907E8@ha
+/* 801D6108 001D1D68 38 00 00 80 */ li r0, 0x80
+/* 801D610C 001D1D6C 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
+/* 801D6110 001D1D70 38 C0 00 40 */ li r6, 0x40
+/* 801D6114 001D1D74 81 09 00 00 */ lwz r8, 0(r9)
+/* 801D6118 001D1D78 38 A0 00 14 */ li r5, 0x14
+/* 801D611C 001D1D7C 98 01 00 50 */ stb r0, 0x50(r1)
+/* 801D6120 001D1D80 38 61 00 4C */ addi r3, r1, 0x4c
+/* 801D6124 001D1D84 38 E8 00 01 */ addi r7, r8, 1
+/* 801D6128 001D1D88 38 80 00 40 */ li r4, 0x40
+/* 801D612C 001D1D8C 91 01 00 58 */ stw r8, 0x58(r1)
+/* 801D6130 001D1D90 38 07 00 01 */ addi r0, r7, 1
+/* 801D6134 001D1D94 90 E9 00 00 */ stw r7, 0(r9)
+/* 801D6138 001D1D98 90 C1 00 4C */ stw r6, 0x4c(r1)
+/* 801D613C 001D1D9C 98 A1 00 54 */ stb r5, 0x54(r1)
+/* 801D6140 001D1DA0 90 09 00 00 */ stw r0, 0(r9)
+/* 801D6144 001D1DA4 90 E1 00 58 */ stw r7, 0x58(r1)
+/* 801D6148 001D1DA8 48 00 34 C5 */ bl func_801D960C
+/* 801D614C 001D1DAC 38 60 00 00 */ li r3, 0
+/* 801D6150 001D1DB0 48 00 01 90 */ b lbl_801D62E0
+lbl_801D6154:
+/* 801D6154 001D1DB4 3C 80 80 49 */ lis r4, lbl_804907E8@ha
+/* 801D6158 001D1DB8 38 00 00 80 */ li r0, 0x80
+/* 801D615C 001D1DBC 38 C4 07 E8 */ addi r6, r4, lbl_804907E8@l
+/* 801D6160 001D1DC0 38 E0 04 68 */ li r7, 0x468
+/* 801D6164 001D1DC4 80 A6 00 00 */ lwz r5, 0(r6)
+/* 801D6168 001D1DC8 38 80 00 00 */ li r4, 0
+/* 801D616C 001D1DCC 98 01 00 90 */ stb r0, 0x90(r1)
+/* 801D6170 001D1DD0 38 05 00 01 */ addi r0, r5, 1
+/* 801D6174 001D1DD4 90 E1 00 8C */ stw r7, 0x8c(r1)
+/* 801D6178 001D1DD8 90 06 00 00 */ stw r0, 0(r6)
+/* 801D617C 001D1DDC 90 A1 00 98 */ stw r5, 0x98(r1)
+/* 801D6180 001D1DE0 4B FF F1 B9 */ bl TRKResetBuffer
+/* 801D6184 001D1DE4 7F E3 FB 78 */ mr r3, r31
+/* 801D6188 001D1DE8 38 81 00 8C */ addi r4, r1, 0x8c
+/* 801D618C 001D1DEC 38 A0 00 40 */ li r5, 0x40
+/* 801D6190 001D1DF0 4B FF EE E5 */ bl TRKAppendBuffer_ui8
+/* 801D6194 001D1DF4 7F E5 FB 78 */ mr r5, r31
+/* 801D6198 001D1DF8 38 C1 00 08 */ addi r6, r1, 8
+/* 801D619C 001D1DFC 38 60 00 00 */ li r3, 0
+/* 801D61A0 001D1E00 38 80 00 24 */ li r4, 0x24
+/* 801D61A4 001D1E04 38 E0 00 01 */ li r7, 1
+/* 801D61A8 001D1E08 48 00 25 51 */ bl TRKTargetAccessDefault
+/* 801D61AC 001D1E0C 2C 03 00 00 */ cmpwi r3, 0
+/* 801D61B0 001D1E10 40 82 00 1C */ bne lbl_801D61CC
+/* 801D61B4 001D1E14 7F E5 FB 78 */ mr r5, r31
+/* 801D61B8 001D1E18 38 C1 00 08 */ addi r6, r1, 8
+/* 801D61BC 001D1E1C 38 60 00 00 */ li r3, 0
+/* 801D61C0 001D1E20 38 80 00 21 */ li r4, 0x21
+/* 801D61C4 001D1E24 38 E0 00 01 */ li r7, 1
+/* 801D61C8 001D1E28 48 00 20 25 */ bl TRKTargetAccessFP
+lbl_801D61CC:
+/* 801D61CC 001D1E2C 2C 03 00 00 */ cmpwi r3, 0
+/* 801D61D0 001D1E30 40 82 00 1C */ bne lbl_801D61EC
+/* 801D61D4 001D1E34 7F E5 FB 78 */ mr r5, r31
+/* 801D61D8 001D1E38 38 C1 00 08 */ addi r6, r1, 8
+/* 801D61DC 001D1E3C 38 60 00 00 */ li r3, 0
+/* 801D61E0 001D1E40 38 80 00 60 */ li r4, 0x60
+/* 801D61E4 001D1E44 38 E0 00 01 */ li r7, 1
+/* 801D61E8 001D1E48 48 00 1E 95 */ bl TRKTargetAccessExtended1
+lbl_801D61EC:
+/* 801D61EC 001D1E4C 2C 03 00 00 */ cmpwi r3, 0
+/* 801D61F0 001D1E50 40 82 00 1C */ bne lbl_801D620C
+/* 801D61F4 001D1E54 7F E5 FB 78 */ mr r5, r31
+/* 801D61F8 001D1E58 38 C1 00 08 */ addi r6, r1, 8
+/* 801D61FC 001D1E5C 38 60 00 00 */ li r3, 0
+/* 801D6200 001D1E60 38 80 00 1F */ li r4, 0x1f
+/* 801D6204 001D1E64 38 E0 00 01 */ li r7, 1
+/* 801D6208 001D1E68 48 00 1A 3D */ bl TRKTargetAccessExtended2
+lbl_801D620C:
+/* 801D620C 001D1E6C 2C 03 00 00 */ cmpwi r3, 0
+/* 801D6210 001D1E70 41 82 00 C8 */ beq lbl_801D62D8
+/* 801D6214 001D1E74 2C 03 07 04 */ cmpwi r3, 0x704
+/* 801D6218 001D1E78 41 82 00 48 */ beq lbl_801D6260
+/* 801D621C 001D1E7C 40 80 00 1C */ bge lbl_801D6238
+/* 801D6220 001D1E80 2C 03 07 02 */ cmpwi r3, 0x702
+/* 801D6224 001D1E84 41 82 00 34 */ beq lbl_801D6258
+/* 801D6228 001D1E88 40 80 00 20 */ bge lbl_801D6248
+/* 801D622C 001D1E8C 2C 03 07 01 */ cmpwi r3, 0x701
+/* 801D6230 001D1E90 40 80 00 20 */ bge lbl_801D6250
+/* 801D6234 001D1E94 48 00 00 44 */ b lbl_801D6278
+lbl_801D6238:
+/* 801D6238 001D1E98 2C 03 07 06 */ cmpwi r3, 0x706
+/* 801D623C 001D1E9C 41 82 00 34 */ beq lbl_801D6270
+/* 801D6240 001D1EA0 40 80 00 38 */ bge lbl_801D6278
+/* 801D6244 001D1EA4 48 00 00 24 */ b lbl_801D6268
+lbl_801D6248:
+/* 801D6248 001D1EA8 3B E0 00 12 */ li r31, 0x12
+/* 801D624C 001D1EAC 48 00 00 30 */ b lbl_801D627C
+lbl_801D6250:
+/* 801D6250 001D1EB0 3B E0 00 14 */ li r31, 0x14
+/* 801D6254 001D1EB4 48 00 00 28 */ b lbl_801D627C
+lbl_801D6258:
+/* 801D6258 001D1EB8 3B E0 00 15 */ li r31, 0x15
+/* 801D625C 001D1EBC 48 00 00 20 */ b lbl_801D627C
+lbl_801D6260:
+/* 801D6260 001D1EC0 3B E0 00 21 */ li r31, 0x21
+/* 801D6264 001D1EC4 48 00 00 18 */ b lbl_801D627C
+lbl_801D6268:
+/* 801D6268 001D1EC8 3B E0 00 22 */ li r31, 0x22
+/* 801D626C 001D1ECC 48 00 00 10 */ b lbl_801D627C
+lbl_801D6270:
+/* 801D6270 001D1ED0 3B E0 00 20 */ li r31, 0x20
+/* 801D6274 001D1ED4 48 00 00 08 */ b lbl_801D627C
+lbl_801D6278:
+/* 801D6278 001D1ED8 3B E0 00 03 */ li r31, 3
+lbl_801D627C:
+/* 801D627C 001D1EDC 38 61 00 0C */ addi r3, r1, 0xc
+/* 801D6280 001D1EE0 38 80 00 00 */ li r4, 0
+/* 801D6284 001D1EE4 38 A0 00 40 */ li r5, 0x40
+/* 801D6288 001D1EE8 4B E2 DE AD */ bl TRK_memset
+/* 801D628C 001D1EEC 3C 60 80 49 */ lis r3, lbl_804907E8@ha
+/* 801D6290 001D1EF0 38 00 00 80 */ li r0, 0x80
+/* 801D6294 001D1EF4 39 03 07 E8 */ addi r8, r3, lbl_804907E8@l
+/* 801D6298 001D1EF8 38 A0 00 40 */ li r5, 0x40
+/* 801D629C 001D1EFC 80 E8 00 00 */ lwz r7, 0(r8)
+/* 801D62A0 001D1F00 38 61 00 0C */ addi r3, r1, 0xc
+/* 801D62A4 001D1F04 98 01 00 10 */ stb r0, 0x10(r1)
+/* 801D62A8 001D1F08 38 80 00 40 */ li r4, 0x40
+/* 801D62AC 001D1F0C 38 C7 00 01 */ addi r6, r7, 1
+/* 801D62B0 001D1F10 90 E1 00 18 */ stw r7, 0x18(r1)
+/* 801D62B4 001D1F14 38 06 00 01 */ addi r0, r6, 1
+/* 801D62B8 001D1F18 90 C8 00 00 */ stw r6, 0(r8)
+/* 801D62BC 001D1F1C 90 A1 00 0C */ stw r5, 0xc(r1)
+/* 801D62C0 001D1F20 9B E1 00 14 */ stb r31, 0x14(r1)
+/* 801D62C4 001D1F24 90 08 00 00 */ stw r0, 0(r8)
+/* 801D62C8 001D1F28 90 C1 00 18 */ stw r6, 0x18(r1)
+/* 801D62CC 001D1F2C 48 00 33 41 */ bl func_801D960C
+/* 801D62D0 001D1F30 38 60 00 00 */ li r3, 0
+/* 801D62D4 001D1F34 48 00 00 0C */ b lbl_801D62E0
+lbl_801D62D8:
+/* 801D62D8 001D1F38 7F E3 FB 78 */ mr r3, r31
+/* 801D62DC 001D1F3C 4B FF EA 01 */ bl TRKMessageSend
+lbl_801D62E0:
+/* 801D62E0 001D1F40 80 01 00 E4 */ lwz r0, 0xe4(r1)
+/* 801D62E4 001D1F44 83 E1 00 DC */ lwz r31, 0xdc(r1)
+/* 801D62E8 001D1F48 7C 08 03 A6 */ mtlr r0
+/* 801D62EC 001D1F4C 38 21 00 E0 */ addi r1, r1, 0xe0
+/* 801D62F0 001D1F50 4E 80 00 20 */ blr
+
+.global TRKDoWriteMemory
+TRKDoWriteMemory:
+/* 801D62F4 001D1F54 54 2B 06 FE */ clrlwi r11, r1, 0x1b
+/* 801D62F8 001D1F58 7C 2C 0B 78 */ mr r12, r1
+/* 801D62FC 001D1F5C 21 6B F6 C0 */ subfic r11, r11, -2368
+/* 801D6300 001D1F60 7C 21 59 6E */ stwux r1, r1, r11
+/* 801D6304 001D1F64 7C 08 02 A6 */ mflr r0
+/* 801D6308 001D1F68 90 0C 00 04 */ stw r0, 4(r12)
+/* 801D630C 001D1F6C 93 EC FF FC */ stw r31, -4(r12)
+/* 801D6310 001D1F70 93 CC FF F8 */ stw r30, -8(r12)
+/* 801D6314 001D1F74 93 AC FF F4 */ stw r29, -0xc(r12)
+/* 801D6318 001D1F78 7C 7D 1B 78 */ mr r29, r3
+/* 801D631C 001D1F7C 8B E3 00 18 */ lbz r31, 0x18(r3)
+/* 801D6320 001D1F80 83 C3 00 20 */ lwz r30, 0x20(r3)
+/* 801D6324 001D1F84 57 E0 07 BD */ rlwinm. r0, r31, 0, 0x1e, 0x1e
+/* 801D6328 001D1F88 A0 83 00 1C */ lhz r4, 0x1c(r3)
+/* 801D632C 001D1F8C 41 82 00 64 */ beq lbl_801D6390
+/* 801D6330 001D1F90 38 61 00 64 */ addi r3, r1, 0x64
+/* 801D6334 001D1F94 38 80 00 00 */ li r4, 0
+/* 801D6338 001D1F98 38 A0 00 40 */ li r5, 0x40
+/* 801D633C 001D1F9C 4B E2 DD F9 */ bl TRK_memset
+/* 801D6340 001D1FA0 3C 60 80 49 */ lis r3, lbl_804907E8@ha
+/* 801D6344 001D1FA4 38 00 00 80 */ li r0, 0x80
+/* 801D6348 001D1FA8 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
+/* 801D634C 001D1FAC 38 C0 00 40 */ li r6, 0x40
+/* 801D6350 001D1FB0 81 09 00 00 */ lwz r8, 0(r9)
+/* 801D6354 001D1FB4 38 A0 00 12 */ li r5, 0x12
+/* 801D6358 001D1FB8 98 01 00 68 */ stb r0, 0x68(r1)
+/* 801D635C 001D1FBC 38 61 00 64 */ addi r3, r1, 0x64
+/* 801D6360 001D1FC0 38 E8 00 01 */ addi r7, r8, 1
+/* 801D6364 001D1FC4 38 80 00 40 */ li r4, 0x40
+/* 801D6368 001D1FC8 91 01 00 70 */ stw r8, 0x70(r1)
+/* 801D636C 001D1FCC 38 07 00 01 */ addi r0, r7, 1
+/* 801D6370 001D1FD0 90 E9 00 00 */ stw r7, 0(r9)
+/* 801D6374 001D1FD4 90 C1 00 64 */ stw r6, 0x64(r1)
+/* 801D6378 001D1FD8 98 A1 00 6C */ stb r5, 0x6c(r1)
+/* 801D637C 001D1FDC 90 09 00 00 */ stw r0, 0(r9)
+/* 801D6380 001D1FE0 90 E1 00 70 */ stw r7, 0x70(r1)
+/* 801D6384 001D1FE4 48 00 32 89 */ bl func_801D960C
+/* 801D6388 001D1FE8 38 60 00 00 */ li r3, 0
+/* 801D638C 001D1FEC 48 00 01 64 */ b lbl_801D64F0
+lbl_801D6390:
+/* 801D6390 001D1FF0 90 81 00 20 */ stw r4, 0x20(r1)
+/* 801D6394 001D1FF4 38 80 00 40 */ li r4, 0x40
+/* 801D6398 001D1FF8 4B FF EF 71 */ bl TRKSetBufferPosition
+/* 801D639C 001D1FFC 80 A1 00 20 */ lwz r5, 0x20(r1)
+/* 801D63A0 001D2000 7F A3 EB 78 */ mr r3, r29
+/* 801D63A4 001D2004 38 81 01 00 */ addi r4, r1, 0x100
+/* 801D63A8 001D2008 4B FF EE 31 */ bl TRKReadBuffer
+/* 801D63AC 001D200C 57 E0 EF FE */ rlwinm r0, r31, 0x1d, 0x1f, 0x1f
+/* 801D63B0 001D2010 7F C4 F3 78 */ mr r4, r30
+/* 801D63B4 001D2014 38 61 01 00 */ addi r3, r1, 0x100
+/* 801D63B8 001D2018 38 A1 00 20 */ addi r5, r1, 0x20
+/* 801D63BC 001D201C 68 06 00 01 */ xori r6, r0, 1
+/* 801D63C0 001D2020 38 E0 00 00 */ li r7, 0
+/* 801D63C4 001D2024 48 00 24 75 */ bl TRKTargetAccessMemory
+/* 801D63C8 001D2028 7C 60 1B 78 */ mr r0, r3
+/* 801D63CC 001D202C 7F A3 EB 78 */ mr r3, r29
+/* 801D63D0 001D2030 7C 1F 03 78 */ mr r31, r0
+/* 801D63D4 001D2034 38 80 00 00 */ li r4, 0
+/* 801D63D8 001D2038 4B FF EF 61 */ bl TRKResetBuffer
+/* 801D63DC 001D203C 2C 1F 00 00 */ cmpwi r31, 0
+/* 801D63E0 001D2040 40 82 00 54 */ bne lbl_801D6434
+/* 801D63E4 001D2044 38 61 00 A4 */ addi r3, r1, 0xa4
+/* 801D63E8 001D2048 38 80 00 00 */ li r4, 0
+/* 801D63EC 001D204C 38 A0 00 40 */ li r5, 0x40
+/* 801D63F0 001D2050 4B E2 DD 45 */ bl TRK_memset
+/* 801D63F4 001D2054 3C 60 80 49 */ lis r3, lbl_804907E8@ha
+/* 801D63F8 001D2058 38 00 00 40 */ li r0, 0x40
+/* 801D63FC 001D205C 38 E3 07 E8 */ addi r7, r3, lbl_804907E8@l
+/* 801D6400 001D2060 38 A0 00 80 */ li r5, 0x80
+/* 801D6404 001D2064 80 C7 00 00 */ lwz r6, 0(r7)
+/* 801D6408 001D2068 7F A3 EB 78 */ mr r3, r29
+/* 801D640C 001D206C 90 01 00 A4 */ stw r0, 0xa4(r1)
+/* 801D6410 001D2070 38 81 00 A4 */ addi r4, r1, 0xa4
+/* 801D6414 001D2074 38 06 00 01 */ addi r0, r6, 1
+/* 801D6418 001D2078 98 A1 00 A8 */ stb r5, 0xa8(r1)
+/* 801D641C 001D207C 38 A0 00 40 */ li r5, 0x40
+/* 801D6420 001D2080 9B E1 00 AC */ stb r31, 0xac(r1)
+/* 801D6424 001D2084 90 07 00 00 */ stw r0, 0(r7)
+/* 801D6428 001D2088 90 C1 00 B0 */ stw r6, 0xb0(r1)
+/* 801D642C 001D208C 4B FF EE 39 */ bl TRKAppendBuffer
+/* 801D6430 001D2090 7C 7F 1B 78 */ mr r31, r3
+lbl_801D6434:
+/* 801D6434 001D2094 2C 1F 00 00 */ cmpwi r31, 0
+/* 801D6438 001D2098 41 82 00 B0 */ beq lbl_801D64E8
+/* 801D643C 001D209C 38 1F F9 00 */ addi r0, r31, -1792
+/* 801D6440 001D20A0 28 00 00 06 */ cmplwi r0, 6
+/* 801D6444 001D20A4 41 81 00 44 */ bgt lbl_801D6488
+/* 801D6448 001D20A8 3C 60 80 42 */ lis r3, lbl_804231F8@ha
+/* 801D644C 001D20AC 54 00 10 3A */ slwi r0, r0, 2
+/* 801D6450 001D20B0 38 63 31 F8 */ addi r3, r3, lbl_804231F8@l
+/* 801D6454 001D20B4 7C 03 00 2E */ lwzx r0, r3, r0
+/* 801D6458 001D20B8 7C 09 03 A6 */ mtctr r0
+/* 801D645C 001D20BC 4E 80 04 20 */ bctr
+/* 801D6460 001D20C0 3B E0 00 15 */ li r31, 0x15
+/* 801D6464 001D20C4 48 00 00 28 */ b lbl_801D648C
+/* 801D6468 001D20C8 3B E0 00 13 */ li r31, 0x13
+/* 801D646C 001D20CC 48 00 00 20 */ b lbl_801D648C
+/* 801D6470 001D20D0 3B E0 00 21 */ li r31, 0x21
+/* 801D6474 001D20D4 48 00 00 18 */ b lbl_801D648C
+/* 801D6478 001D20D8 3B E0 00 22 */ li r31, 0x22
+/* 801D647C 001D20DC 48 00 00 10 */ b lbl_801D648C
+/* 801D6480 001D20E0 3B E0 00 20 */ li r31, 0x20
+/* 801D6484 001D20E4 48 00 00 08 */ b lbl_801D648C
+lbl_801D6488:
+/* 801D6488 001D20E8 3B E0 00 03 */ li r31, 3
+lbl_801D648C:
+/* 801D648C 001D20EC 38 61 00 24 */ addi r3, r1, 0x24
+/* 801D6490 001D20F0 38 80 00 00 */ li r4, 0
+/* 801D6494 001D20F4 38 A0 00 40 */ li r5, 0x40
+/* 801D6498 001D20F8 4B E2 DC 9D */ bl TRK_memset
+/* 801D649C 001D20FC 3C 60 80 49 */ lis r3, lbl_804907E8@ha
+/* 801D64A0 001D2100 38 00 00 80 */ li r0, 0x80
+/* 801D64A4 001D2104 39 03 07 E8 */ addi r8, r3, lbl_804907E8@l
+/* 801D64A8 001D2108 38 A0 00 40 */ li r5, 0x40
+/* 801D64AC 001D210C 80 E8 00 00 */ lwz r7, 0(r8)
+/* 801D64B0 001D2110 38 61 00 24 */ addi r3, r1, 0x24
+/* 801D64B4 001D2114 98 01 00 28 */ stb r0, 0x28(r1)
+/* 801D64B8 001D2118 38 80 00 40 */ li r4, 0x40
+/* 801D64BC 001D211C 38 C7 00 01 */ addi r6, r7, 1
+/* 801D64C0 001D2120 90 E1 00 30 */ stw r7, 0x30(r1)
+/* 801D64C4 001D2124 38 06 00 01 */ addi r0, r6, 1
+/* 801D64C8 001D2128 90 C8 00 00 */ stw r6, 0(r8)
+/* 801D64CC 001D212C 90 A1 00 24 */ stw r5, 0x24(r1)
+/* 801D64D0 001D2130 9B E1 00 2C */ stb r31, 0x2c(r1)
+/* 801D64D4 001D2134 90 08 00 00 */ stw r0, 0(r8)
+/* 801D64D8 001D2138 90 C1 00 30 */ stw r6, 0x30(r1)
+/* 801D64DC 001D213C 48 00 31 31 */ bl func_801D960C
+/* 801D64E0 001D2140 38 60 00 00 */ li r3, 0
+/* 801D64E4 001D2144 48 00 00 0C */ b lbl_801D64F0
+lbl_801D64E8:
+/* 801D64E8 001D2148 7F A3 EB 78 */ mr r3, r29
+/* 801D64EC 001D214C 4B FF E7 F1 */ bl TRKMessageSend
+lbl_801D64F0:
+/* 801D64F0 001D2150 81 41 00 00 */ lwz r10, 0(r1)
+/* 801D64F4 001D2154 80 0A 00 04 */ lwz r0, 4(r10)
+/* 801D64F8 001D2158 83 EA FF FC */ lwz r31, -4(r10)
+/* 801D64FC 001D215C 83 CA FF F8 */ lwz r30, -8(r10)
+/* 801D6500 001D2160 83 AA FF F4 */ lwz r29, -0xc(r10)
+/* 801D6504 001D2164 7C 08 03 A6 */ mtlr r0
+/* 801D6508 001D2168 7D 41 53 78 */ mr r1, r10
+/* 801D650C 001D216C 4E 80 00 20 */ blr
+
+.global TRKDoReadMemory
+TRKDoReadMemory:
+/* 801D6510 001D2170 54 2B 06 FE */ clrlwi r11, r1, 0x1b
+/* 801D6514 001D2174 7C 2C 0B 78 */ mr r12, r1
+/* 801D6518 001D2178 21 6B F6 C0 */ subfic r11, r11, -2368
+/* 801D651C 001D217C 7C 21 59 6E */ stwux r1, r1, r11
+/* 801D6520 001D2180 7C 08 02 A6 */ mflr r0
+/* 801D6524 001D2184 90 0C 00 04 */ stw r0, 4(r12)
+/* 801D6528 001D2188 93 EC FF FC */ stw r31, -4(r12)
+/* 801D652C 001D218C 7C 7F 1B 78 */ mr r31, r3
+/* 801D6530 001D2190 93 CC FF F8 */ stw r30, -8(r12)
+/* 801D6534 001D2194 93 AC FF F4 */ stw r29, -0xc(r12)
+/* 801D6538 001D2198 93 8C FF F0 */ stw r28, -0x10(r12)
+/* 801D653C 001D219C 8B C3 00 18 */ lbz r30, 0x18(r3)
+/* 801D6540 001D21A0 83 83 00 20 */ lwz r28, 0x20(r3)
+/* 801D6544 001D21A4 57 C0 07 BD */ rlwinm. r0, r30, 0, 0x1e, 0x1e
+/* 801D6548 001D21A8 A0 63 00 1C */ lhz r3, 0x1c(r3)
+/* 801D654C 001D21AC 41 82 00 64 */ beq lbl_801D65B0
+/* 801D6550 001D21B0 38 61 00 64 */ addi r3, r1, 0x64
+/* 801D6554 001D21B4 38 80 00 00 */ li r4, 0
+/* 801D6558 001D21B8 38 A0 00 40 */ li r5, 0x40
+/* 801D655C 001D21BC 4B E2 DB D9 */ bl TRK_memset
+/* 801D6560 001D21C0 3C 60 80 49 */ lis r3, lbl_804907E8@ha
+/* 801D6564 001D21C4 38 00 00 80 */ li r0, 0x80
+/* 801D6568 001D21C8 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
+/* 801D656C 001D21CC 38 C0 00 40 */ li r6, 0x40
+/* 801D6570 001D21D0 81 09 00 00 */ lwz r8, 0(r9)
+/* 801D6574 001D21D4 38 A0 00 12 */ li r5, 0x12
+/* 801D6578 001D21D8 98 01 00 68 */ stb r0, 0x68(r1)
+/* 801D657C 001D21DC 38 61 00 64 */ addi r3, r1, 0x64
+/* 801D6580 001D21E0 38 E8 00 01 */ addi r7, r8, 1
+/* 801D6584 001D21E4 38 80 00 40 */ li r4, 0x40
+/* 801D6588 001D21E8 91 01 00 70 */ stw r8, 0x70(r1)
+/* 801D658C 001D21EC 38 07 00 01 */ addi r0, r7, 1
+/* 801D6590 001D21F0 90 E9 00 00 */ stw r7, 0(r9)
+/* 801D6594 001D21F4 90 C1 00 64 */ stw r6, 0x64(r1)
+/* 801D6598 001D21F8 98 A1 00 6C */ stb r5, 0x6c(r1)
+/* 801D659C 001D21FC 90 09 00 00 */ stw r0, 0(r9)
+/* 801D65A0 001D2200 90 E1 00 70 */ stw r7, 0x70(r1)
+/* 801D65A4 001D2204 48 00 30 69 */ bl func_801D960C
+/* 801D65A8 001D2208 38 60 00 00 */ li r3, 0
+/* 801D65AC 001D220C 48 00 01 88 */ b lbl_801D6734
+lbl_801D65B0:
+/* 801D65B0 001D2210 57 C0 EF FE */ rlwinm r0, r30, 0x1d, 0x1f, 0x1f
+/* 801D65B4 001D2214 90 61 00 20 */ stw r3, 0x20(r1)
+/* 801D65B8 001D2218 7F 84 E3 78 */ mr r4, r28
+/* 801D65BC 001D221C 38 61 01 00 */ addi r3, r1, 0x100
+/* 801D65C0 001D2220 38 A1 00 20 */ addi r5, r1, 0x20
+/* 801D65C4 001D2224 68 06 00 01 */ xori r6, r0, 1
+/* 801D65C8 001D2228 38 E0 00 01 */ li r7, 1
+/* 801D65CC 001D222C 48 00 22 6D */ bl TRKTargetAccessMemory
+/* 801D65D0 001D2230 7C 60 1B 78 */ mr r0, r3
+/* 801D65D4 001D2234 7F E3 FB 78 */ mr r3, r31
+/* 801D65D8 001D2238 7C 1D 03 78 */ mr r29, r0
+/* 801D65DC 001D223C 38 80 00 00 */ li r4, 0
+/* 801D65E0 001D2240 4B FF ED 59 */ bl TRKResetBuffer
+/* 801D65E4 001D2244 2C 1D 00 00 */ cmpwi r29, 0
+/* 801D65E8 001D2248 40 82 00 90 */ bne lbl_801D6678
+/* 801D65EC 001D224C 38 61 00 A4 */ addi r3, r1, 0xa4
+/* 801D65F0 001D2250 38 80 00 00 */ li r4, 0
+/* 801D65F4 001D2254 38 A0 00 40 */ li r5, 0x40
+/* 801D65F8 001D2258 4B E2 DB 3D */ bl TRK_memset
+/* 801D65FC 001D225C 3C 60 80 49 */ lis r3, lbl_804907E8@ha
+/* 801D6600 001D2260 80 81 00 20 */ lwz r4, 0x20(r1)
+/* 801D6604 001D2264 38 E3 07 E8 */ addi r7, r3, lbl_804907E8@l
+/* 801D6608 001D2268 39 00 00 80 */ li r8, 0x80
+/* 801D660C 001D226C 80 C7 00 00 */ lwz r6, 0(r7)
+/* 801D6610 001D2270 38 04 00 40 */ addi r0, r4, 0x40
+/* 801D6614 001D2274 90 01 00 A4 */ stw r0, 0xa4(r1)
+/* 801D6618 001D2278 7F E3 FB 78 */ mr r3, r31
+/* 801D661C 001D227C 38 06 00 01 */ addi r0, r6, 1
+/* 801D6620 001D2280 38 81 00 A4 */ addi r4, r1, 0xa4
+/* 801D6624 001D2284 9B A1 00 AC */ stb r29, 0xac(r1)
+/* 801D6628 001D2288 38 A0 00 40 */ li r5, 0x40
+/* 801D662C 001D228C 99 01 00 A8 */ stb r8, 0xa8(r1)
+/* 801D6630 001D2290 90 07 00 00 */ stw r0, 0(r7)
+/* 801D6634 001D2294 90 C1 00 B0 */ stw r6, 0xb0(r1)
+/* 801D6638 001D2298 4B FF EC 2D */ bl TRKAppendBuffer
+/* 801D663C 001D229C 57 C0 06 73 */ rlwinm. r0, r30, 0, 0x19, 0x19
+/* 801D6640 001D22A0 41 82 00 24 */ beq lbl_801D6664
+/* 801D6644 001D22A4 57 80 06 FE */ clrlwi r0, r28, 0x1b
+/* 801D6648 001D22A8 38 81 01 00 */ addi r4, r1, 0x100
+/* 801D664C 001D22AC 80 A1 00 20 */ lwz r5, 0x20(r1)
+/* 801D6650 001D22B0 7F E3 FB 78 */ mr r3, r31
+/* 801D6654 001D22B4 7C 84 02 14 */ add r4, r4, r0
+/* 801D6658 001D22B8 4B FF EC 0D */ bl TRKAppendBuffer
+/* 801D665C 001D22BC 7C 7D 1B 78 */ mr r29, r3
+/* 801D6660 001D22C0 48 00 00 18 */ b lbl_801D6678
+lbl_801D6664:
+/* 801D6664 001D22C4 80 A1 00 20 */ lwz r5, 0x20(r1)
+/* 801D6668 001D22C8 7F E3 FB 78 */ mr r3, r31
+/* 801D666C 001D22CC 38 81 01 00 */ addi r4, r1, 0x100
+/* 801D6670 001D22D0 4B FF EB F5 */ bl TRKAppendBuffer
+/* 801D6674 001D22D4 7C 7D 1B 78 */ mr r29, r3
+lbl_801D6678:
+/* 801D6678 001D22D8 2C 1D 00 00 */ cmpwi r29, 0
+/* 801D667C 001D22DC 41 82 00 B0 */ beq lbl_801D672C
+/* 801D6680 001D22E0 38 1D F9 00 */ addi r0, r29, -1792
+/* 801D6684 001D22E4 28 00 00 06 */ cmplwi r0, 6
+/* 801D6688 001D22E8 41 81 00 44 */ bgt lbl_801D66CC
+/* 801D668C 001D22EC 3C 60 80 42 */ lis r3, lbl_80423214@ha
+/* 801D6690 001D22F0 54 00 10 3A */ slwi r0, r0, 2
+/* 801D6694 001D22F4 38 63 32 14 */ addi r3, r3, lbl_80423214@l
+/* 801D6698 001D22F8 7C 03 00 2E */ lwzx r0, r3, r0
+/* 801D669C 001D22FC 7C 09 03 A6 */ mtctr r0
+/* 801D66A0 001D2300 4E 80 04 20 */ bctr
+/* 801D66A4 001D2304 3B A0 00 15 */ li r29, 0x15
+/* 801D66A8 001D2308 48 00 00 28 */ b lbl_801D66D0
+/* 801D66AC 001D230C 3B A0 00 13 */ li r29, 0x13
+/* 801D66B0 001D2310 48 00 00 20 */ b lbl_801D66D0
+/* 801D66B4 001D2314 3B A0 00 21 */ li r29, 0x21
+/* 801D66B8 001D2318 48 00 00 18 */ b lbl_801D66D0
+/* 801D66BC 001D231C 3B A0 00 22 */ li r29, 0x22
+/* 801D66C0 001D2320 48 00 00 10 */ b lbl_801D66D0
+/* 801D66C4 001D2324 3B A0 00 20 */ li r29, 0x20
+/* 801D66C8 001D2328 48 00 00 08 */ b lbl_801D66D0
+lbl_801D66CC:
+/* 801D66CC 001D232C 3B A0 00 03 */ li r29, 3
+lbl_801D66D0:
+/* 801D66D0 001D2330 38 61 00 24 */ addi r3, r1, 0x24
+/* 801D66D4 001D2334 38 80 00 00 */ li r4, 0
+/* 801D66D8 001D2338 38 A0 00 40 */ li r5, 0x40
+/* 801D66DC 001D233C 4B E2 DA 59 */ bl TRK_memset
+/* 801D66E0 001D2340 3C 60 80 49 */ lis r3, lbl_804907E8@ha
+/* 801D66E4 001D2344 38 00 00 80 */ li r0, 0x80
+/* 801D66E8 001D2348 39 03 07 E8 */ addi r8, r3, lbl_804907E8@l
+/* 801D66EC 001D234C 38 A0 00 40 */ li r5, 0x40
+/* 801D66F0 001D2350 80 E8 00 00 */ lwz r7, 0(r8)
+/* 801D66F4 001D2354 38 61 00 24 */ addi r3, r1, 0x24
+/* 801D66F8 001D2358 98 01 00 28 */ stb r0, 0x28(r1)
+/* 801D66FC 001D235C 38 80 00 40 */ li r4, 0x40
+/* 801D6700 001D2360 38 C7 00 01 */ addi r6, r7, 1
+/* 801D6704 001D2364 90 E1 00 30 */ stw r7, 0x30(r1)
+/* 801D6708 001D2368 38 06 00 01 */ addi r0, r6, 1
+/* 801D670C 001D236C 90 C8 00 00 */ stw r6, 0(r8)
+/* 801D6710 001D2370 90 A1 00 24 */ stw r5, 0x24(r1)
+/* 801D6714 001D2374 9B A1 00 2C */ stb r29, 0x2c(r1)
+/* 801D6718 001D2378 90 08 00 00 */ stw r0, 0(r8)
+/* 801D671C 001D237C 90 C1 00 30 */ stw r6, 0x30(r1)
+/* 801D6720 001D2380 48 00 2E ED */ bl func_801D960C
+/* 801D6724 001D2384 38 60 00 00 */ li r3, 0
+/* 801D6728 001D2388 48 00 00 0C */ b lbl_801D6734
+lbl_801D672C:
+/* 801D672C 001D238C 7F E3 FB 78 */ mr r3, r31
+/* 801D6730 001D2390 4B FF E5 AD */ bl TRKMessageSend
+lbl_801D6734:
+/* 801D6734 001D2394 81 41 00 00 */ lwz r10, 0(r1)
+/* 801D6738 001D2398 80 0A 00 04 */ lwz r0, 4(r10)
+/* 801D673C 001D239C 83 EA FF FC */ lwz r31, -4(r10)
+/* 801D6740 001D23A0 83 CA FF F8 */ lwz r30, -8(r10)
+/* 801D6744 001D23A4 83 AA FF F4 */ lwz r29, -0xc(r10)
+/* 801D6748 001D23A8 83 8A FF F0 */ lwz r28, -0x10(r10)
+/* 801D674C 001D23AC 7C 08 03 A6 */ mtlr r0
+/* 801D6750 001D23B0 7D 41 53 78 */ mr r1, r10
+/* 801D6754 001D23B4 4E 80 00 20 */ blr
+
+.global TRKDoSupportMask
+TRKDoSupportMask:
+/* 801D6758 001D23B8 38 60 00 00 */ li r3, 0
+/* 801D675C 001D23BC 4E 80 00 20 */ blr
+
+.global TRKDoVersions
+TRKDoVersions:
+/* 801D6760 001D23C0 38 60 00 00 */ li r3, 0
+/* 801D6764 001D23C4 4E 80 00 20 */ blr
+
+.global TRKDoOverride
+TRKDoOverride:
+/* 801D6768 001D23C8 94 21 FF B0 */ stwu r1, -0x50(r1)
+/* 801D676C 001D23CC 7C 08 02 A6 */ mflr r0
+/* 801D6770 001D23D0 38 80 00 00 */ li r4, 0
+/* 801D6774 001D23D4 38 A0 00 40 */ li r5, 0x40
+/* 801D6778 001D23D8 90 01 00 54 */ stw r0, 0x54(r1)
+/* 801D677C 001D23DC 38 61 00 08 */ addi r3, r1, 8
+/* 801D6780 001D23E0 4B E2 D9 B5 */ bl TRK_memset
+/* 801D6784 001D23E4 3C 60 80 49 */ lis r3, lbl_804907E8@ha
+/* 801D6788 001D23E8 38 00 00 80 */ li r0, 0x80
+/* 801D678C 001D23EC 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
+/* 801D6790 001D23F0 38 C0 00 40 */ li r6, 0x40
+/* 801D6794 001D23F4 81 09 00 00 */ lwz r8, 0(r9)
+/* 801D6798 001D23F8 38 A0 00 00 */ li r5, 0
+/* 801D679C 001D23FC 98 01 00 0C */ stb r0, 0xc(r1)
+/* 801D67A0 001D2400 38 61 00 08 */ addi r3, r1, 8
+/* 801D67A4 001D2404 38 E8 00 01 */ addi r7, r8, 1
+/* 801D67A8 001D2408 38 80 00 40 */ li r4, 0x40
+/* 801D67AC 001D240C 91 01 00 14 */ stw r8, 0x14(r1)
+/* 801D67B0 001D2410 38 07 00 01 */ addi r0, r7, 1
+/* 801D67B4 001D2414 90 E9 00 00 */ stw r7, 0(r9)
+/* 801D67B8 001D2418 90 C1 00 08 */ stw r6, 8(r1)
+/* 801D67BC 001D241C 98 A1 00 10 */ stb r5, 0x10(r1)
+/* 801D67C0 001D2420 90 09 00 00 */ stw r0, 0(r9)
+/* 801D67C4 001D2424 90 E1 00 14 */ stw r7, 0x14(r1)
+/* 801D67C8 001D2428 48 00 2E 45 */ bl func_801D960C
+/* 801D67CC 001D242C 48 00 2A E5 */ bl __TRK_copy_vectors
+/* 801D67D0 001D2430 80 01 00 54 */ lwz r0, 0x54(r1)
+/* 801D67D4 001D2434 38 60 00 00 */ li r3, 0
+/* 801D67D8 001D2438 7C 08 03 A6 */ mtlr r0
+/* 801D67DC 001D243C 38 21 00 50 */ addi r1, r1, 0x50
+/* 801D67E0 001D2440 4E 80 00 20 */ blr
+
+.global TRKDoReset
+TRKDoReset:
+/* 801D67E4 001D2444 94 21 FF B0 */ stwu r1, -0x50(r1)
+/* 801D67E8 001D2448 7C 08 02 A6 */ mflr r0
+/* 801D67EC 001D244C 38 80 00 00 */ li r4, 0
+/* 801D67F0 001D2450 38 A0 00 40 */ li r5, 0x40
+/* 801D67F4 001D2454 90 01 00 54 */ stw r0, 0x54(r1)
+/* 801D67F8 001D2458 38 61 00 08 */ addi r3, r1, 8
+/* 801D67FC 001D245C 4B E2 D9 39 */ bl TRK_memset
+/* 801D6800 001D2460 3C 60 80 49 */ lis r3, lbl_804907E8@ha
+/* 801D6804 001D2464 38 00 00 80 */ li r0, 0x80
+/* 801D6808 001D2468 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
+/* 801D680C 001D246C 38 C0 00 40 */ li r6, 0x40
+/* 801D6810 001D2470 81 09 00 00 */ lwz r8, 0(r9)
+/* 801D6814 001D2474 38 A0 00 00 */ li r5, 0
+/* 801D6818 001D2478 98 01 00 0C */ stb r0, 0xc(r1)
+/* 801D681C 001D247C 38 61 00 08 */ addi r3, r1, 8
+/* 801D6820 001D2480 38 E8 00 01 */ addi r7, r8, 1
+/* 801D6824 001D2484 38 80 00 40 */ li r4, 0x40
+/* 801D6828 001D2488 91 01 00 14 */ stw r8, 0x14(r1)
+/* 801D682C 001D248C 38 07 00 01 */ addi r0, r7, 1
+/* 801D6830 001D2490 90 E9 00 00 */ stw r7, 0(r9)
+/* 801D6834 001D2494 90 C1 00 08 */ stw r6, 8(r1)
+/* 801D6838 001D2498 98 A1 00 10 */ stb r5, 0x10(r1)
+/* 801D683C 001D249C 90 09 00 00 */ stw r0, 0(r9)
+/* 801D6840 001D24A0 90 E1 00 14 */ stw r7, 0x14(r1)
+/* 801D6844 001D24A4 48 00 2D C9 */ bl func_801D960C
+/* 801D6848 001D24A8 4B E2 F8 75 */ bl __TRK_reset
+/* 801D684C 001D24AC 80 01 00 54 */ lwz r0, 0x54(r1)
+/* 801D6850 001D24B0 38 60 00 00 */ li r3, 0
+/* 801D6854 001D24B4 7C 08 03 A6 */ mtlr r0
+/* 801D6858 001D24B8 38 21 00 50 */ addi r1, r1, 0x50
+/* 801D685C 001D24BC 4E 80 00 20 */ blr
+
+.global TRKDoDisconnect
+TRKDoDisconnect:
+/* 801D6860 001D24C0 94 21 FF A0 */ stwu r1, -0x60(r1)
+/* 801D6864 001D24C4 7C 08 02 A6 */ mflr r0
+/* 801D6868 001D24C8 3C 60 80 49 */ lis r3, lbl_804907EC@ha
+/* 801D686C 001D24CC 38 A0 00 40 */ li r5, 0x40
+/* 801D6870 001D24D0 90 01 00 64 */ stw r0, 0x64(r1)
+/* 801D6874 001D24D4 38 83 07 EC */ addi r4, r3, lbl_804907EC@l
+/* 801D6878 001D24D8 38 00 00 00 */ li r0, 0
+/* 801D687C 001D24DC 38 61 00 14 */ addi r3, r1, 0x14
+/* 801D6880 001D24E0 90 04 00 00 */ stw r0, 0(r4)
+/* 801D6884 001D24E4 38 80 00 00 */ li r4, 0
+/* 801D6888 001D24E8 4B E2 D8 AD */ bl TRK_memset
+/* 801D688C 001D24EC 3C 60 80 49 */ lis r3, lbl_804907E8@ha
+/* 801D6890 001D24F0 38 00 00 80 */ li r0, 0x80
+/* 801D6894 001D24F4 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
+/* 801D6898 001D24F8 38 C0 00 40 */ li r6, 0x40
+/* 801D689C 001D24FC 81 09 00 00 */ lwz r8, 0(r9)
+/* 801D68A0 001D2500 38 A0 00 00 */ li r5, 0
+/* 801D68A4 001D2504 98 01 00 18 */ stb r0, 0x18(r1)
+/* 801D68A8 001D2508 38 61 00 14 */ addi r3, r1, 0x14
+/* 801D68AC 001D250C 38 E8 00 01 */ addi r7, r8, 1
+/* 801D68B0 001D2510 38 80 00 40 */ li r4, 0x40
+/* 801D68B4 001D2514 91 01 00 20 */ stw r8, 0x20(r1)
+/* 801D68B8 001D2518 38 07 00 01 */ addi r0, r7, 1
+/* 801D68BC 001D251C 90 E9 00 00 */ stw r7, 0(r9)
+/* 801D68C0 001D2520 90 C1 00 14 */ stw r6, 0x14(r1)
+/* 801D68C4 001D2524 98 A1 00 1C */ stb r5, 0x1c(r1)
+/* 801D68C8 001D2528 90 09 00 00 */ stw r0, 0(r9)
+/* 801D68CC 001D252C 90 E1 00 20 */ stw r7, 0x20(r1)
+/* 801D68D0 001D2530 48 00 2D 3D */ bl func_801D960C
+/* 801D68D4 001D2534 38 61 00 08 */ addi r3, r1, 8
+/* 801D68D8 001D2538 38 80 00 01 */ li r4, 1
+/* 801D68DC 001D253C 4B FF E0 79 */ bl TRKConstructEvent
+/* 801D68E0 001D2540 38 61 00 08 */ addi r3, r1, 8
+/* 801D68E4 001D2544 4B FF E0 89 */ bl TRKPostEvent
+/* 801D68E8 001D2548 80 01 00 64 */ lwz r0, 0x64(r1)
+/* 801D68EC 001D254C 38 60 00 00 */ li r3, 0
+/* 801D68F0 001D2550 7C 08 03 A6 */ mtlr r0
+/* 801D68F4 001D2554 38 21 00 60 */ addi r1, r1, 0x60
+/* 801D68F8 001D2558 4E 80 00 20 */ blr
+
+.global TRKDoConnect
+TRKDoConnect:
+/* 801D68FC 001D255C 94 21 FF B0 */ stwu r1, -0x50(r1)
+/* 801D6900 001D2560 7C 08 02 A6 */ mflr r0
+/* 801D6904 001D2564 3C 60 80 49 */ lis r3, lbl_804907EC@ha
+/* 801D6908 001D2568 38 A0 00 40 */ li r5, 0x40
+/* 801D690C 001D256C 90 01 00 54 */ stw r0, 0x54(r1)
+/* 801D6910 001D2570 38 83 07 EC */ addi r4, r3, lbl_804907EC@l
+/* 801D6914 001D2574 38 00 00 01 */ li r0, 1
+/* 801D6918 001D2578 38 61 00 08 */ addi r3, r1, 8
+/* 801D691C 001D257C 90 04 00 00 */ stw r0, 0(r4)
+/* 801D6920 001D2580 38 80 00 00 */ li r4, 0
+/* 801D6924 001D2584 4B E2 D8 11 */ bl TRK_memset
+/* 801D6928 001D2588 3C 60 80 49 */ lis r3, lbl_804907E8@ha
+/* 801D692C 001D258C 38 00 00 80 */ li r0, 0x80
+/* 801D6930 001D2590 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
+/* 801D6934 001D2594 38 C0 00 40 */ li r6, 0x40
+/* 801D6938 001D2598 81 09 00 00 */ lwz r8, 0(r9)
+/* 801D693C 001D259C 38 A0 00 00 */ li r5, 0
+/* 801D6940 001D25A0 98 01 00 0C */ stb r0, 0xc(r1)
+/* 801D6944 001D25A4 38 61 00 08 */ addi r3, r1, 8
+/* 801D6948 001D25A8 38 E8 00 01 */ addi r7, r8, 1
+/* 801D694C 001D25AC 38 80 00 40 */ li r4, 0x40
+/* 801D6950 001D25B0 91 01 00 14 */ stw r8, 0x14(r1)
+/* 801D6954 001D25B4 38 07 00 01 */ addi r0, r7, 1
+/* 801D6958 001D25B8 90 E9 00 00 */ stw r7, 0(r9)
+/* 801D695C 001D25BC 90 C1 00 08 */ stw r6, 8(r1)
+/* 801D6960 001D25C0 98 A1 00 10 */ stb r5, 0x10(r1)
+/* 801D6964 001D25C4 90 09 00 00 */ stw r0, 0(r9)
+/* 801D6968 001D25C8 90 E1 00 14 */ stw r7, 0x14(r1)
+/* 801D696C 001D25CC 48 00 2C A1 */ bl func_801D960C
+/* 801D6970 001D25D0 80 01 00 54 */ lwz r0, 0x54(r1)
+/* 801D6974 001D25D4 38 60 00 00 */ li r3, 0
+/* 801D6978 001D25D8 7C 08 03 A6 */ mtlr r0
+/* 801D697C 001D25DC 38 21 00 50 */ addi r1, r1, 0x50
+/* 801D6980 001D25E0 4E 80 00 20 */ blr
+
+.global SetTRKConnected
+SetTRKConnected:
+/* 801D6984 001D25E4 3C 80 80 49 */ lis r4, lbl_804907EC@ha
+/* 801D6988 001D25E8 90 64 07 EC */ stw r3, lbl_804907EC@l(r4)
+/* 801D698C 001D25EC 4E 80 00 20 */ blr
+
+.global GetTRKConnected
+GetTRKConnected:
+/* 801D6990 001D25F0 3C 60 80 49 */ lis r3, lbl_804907EC@ha
+/* 801D6994 001D25F4 38 63 07 EC */ addi r3, r3, lbl_804907EC@l
+/* 801D6998 001D25F8 80 63 00 00 */ lwz r3, 0(r3)
+/* 801D699C 001D25FC 4E 80 00 20 */ blr
diff --git a/asm/MetroTRK/nubinit.s b/asm/MetroTRK/nubinit.s
index 4052260..cc5aa31 100644
--- a/asm/MetroTRK/nubinit.s
+++ b/asm/MetroTRK/nubinit.s
@@ -63,7 +63,7 @@ lbl_801D4C14:
lbl_801D4C18:
/* 801D4C18 001D0878 2C 1F 00 00 */ cmpwi r31, 0
/* 801D4C1C 001D087C 40 82 00 08 */ bne lbl_801D4C24
-/* 801D4C20 001D0880 48 00 0A D1 */ bl func_801D56F0
+/* 801D4C20 001D0880 48 00 0A D1 */ bl usr_put_initialize
lbl_801D4C24:
/* 801D4C24 001D0884 2C 1F 00 00 */ cmpwi r31, 0
/* 801D4C28 001D0888 40 82 00 0C */ bne lbl_801D4C34
@@ -77,7 +77,7 @@ lbl_801D4C34:
lbl_801D4C44:
/* 801D4C44 001D08A4 2C 1F 00 00 */ cmpwi r31, 0
/* 801D4C48 001D08A8 40 82 00 0C */ bne lbl_801D4C54
-/* 801D4C4C 001D08AC 48 00 0C 71 */ bl func_801D58BC
+/* 801D4C4C 001D08AC 48 00 0C 71 */ bl TRKInitializeDispatcher
/* 801D4C50 001D08B0 7C 7F 1B 78 */ mr r31, r3
lbl_801D4C54:
/* 801D4C54 001D08B4 48 00 48 D1 */ bl InitializeProgramEndTrap
diff --git a/asm/MetroTRK/support.s b/asm/MetroTRK/support.s
new file mode 100644
index 0000000..d58dcbe
--- /dev/null
+++ b/asm/MetroTRK/support.s
@@ -0,0 +1,486 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global HandlePositionFileSupportRequest
+HandlePositionFileSupportRequest:
+/* 801D69A0 001D2600 94 21 FF 90 */ stwu r1, -0x70(r1)
+/* 801D69A4 001D2604 7C 08 02 A6 */ mflr r0
+/* 801D69A8 001D2608 90 01 00 74 */ stw r0, 0x74(r1)
+/* 801D69AC 001D260C 93 E1 00 6C */ stw r31, 0x6c(r1)
+/* 801D69B0 001D2610 7C BF 2B 78 */ mr r31, r5
+/* 801D69B4 001D2614 38 A0 00 40 */ li r5, 0x40
+/* 801D69B8 001D2618 93 C1 00 68 */ stw r30, 0x68(r1)
+/* 801D69BC 001D261C 7C DE 33 78 */ mr r30, r6
+/* 801D69C0 001D2620 93 A1 00 64 */ stw r29, 0x64(r1)
+/* 801D69C4 001D2624 7C 9D 23 78 */ mr r29, r4
+/* 801D69C8 001D2628 38 80 00 00 */ li r4, 0
+/* 801D69CC 001D262C 93 81 00 60 */ stw r28, 0x60(r1)
+/* 801D69D0 001D2630 7C 7C 1B 78 */ mr r28, r3
+/* 801D69D4 001D2634 38 61 00 14 */ addi r3, r1, 0x14
+/* 801D69D8 001D2638 4B E2 D7 5D */ bl TRK_memset
+/* 801D69DC 001D263C 38 60 00 D4 */ li r3, 0xd4
+/* 801D69E0 001D2640 38 00 00 40 */ li r0, 0x40
+/* 801D69E4 001D2644 98 61 00 18 */ stb r3, 0x18(r1)
+/* 801D69E8 001D2648 38 61 00 0C */ addi r3, r1, 0xc
+/* 801D69EC 001D264C 38 81 00 08 */ addi r4, r1, 8
+/* 801D69F0 001D2650 90 01 00 14 */ stw r0, 0x14(r1)
+/* 801D69F4 001D2654 93 81 00 1C */ stw r28, 0x1c(r1)
+/* 801D69F8 001D2658 80 1D 00 00 */ lwz r0, 0(r29)
+/* 801D69FC 001D265C 90 01 00 20 */ stw r0, 0x20(r1)
+/* 801D6A00 001D2660 9B E1 00 24 */ stb r31, 0x24(r1)
+/* 801D6A04 001D2664 4B FF EA 05 */ bl TRKGetFreeBuffer
+/* 801D6A08 001D2668 7C 7F 1B 79 */ or. r31, r3, r3
+/* 801D6A0C 001D266C 40 82 00 18 */ bne lbl_801D6A24
+/* 801D6A10 001D2670 80 61 00 08 */ lwz r3, 8(r1)
+/* 801D6A14 001D2674 38 81 00 14 */ addi r4, r1, 0x14
+/* 801D6A18 001D2678 38 A0 00 40 */ li r5, 0x40
+/* 801D6A1C 001D267C 4B FF E6 59 */ bl TRKAppendBuffer_ui8
+/* 801D6A20 001D2680 7C 7F 1B 78 */ mr r31, r3
+lbl_801D6A24:
+/* 801D6A24 001D2684 2C 1F 00 00 */ cmpwi r31, 0
+/* 801D6A28 001D2688 40 82 00 5C */ bne lbl_801D6A84
+/* 801D6A2C 001D268C 38 60 00 00 */ li r3, 0
+/* 801D6A30 001D2690 38 00 FF FF */ li r0, -1
+/* 801D6A34 001D2694 90 7E 00 00 */ stw r3, 0(r30)
+/* 801D6A38 001D2698 38 81 00 10 */ addi r4, r1, 0x10
+/* 801D6A3C 001D269C 38 A0 00 03 */ li r5, 3
+/* 801D6A40 001D26A0 38 C0 00 03 */ li r6, 3
+/* 801D6A44 001D26A4 90 1D 00 00 */ stw r0, 0(r29)
+/* 801D6A48 001D26A8 38 E0 00 00 */ li r7, 0
+/* 801D6A4C 001D26AC 80 61 00 08 */ lwz r3, 8(r1)
+/* 801D6A50 001D26B0 48 00 02 65 */ bl TRKRequestSend
+/* 801D6A54 001D26B4 7C 7F 1B 79 */ or. r31, r3, r3
+/* 801D6A58 001D26B8 40 82 00 24 */ bne lbl_801D6A7C
+/* 801D6A5C 001D26BC 80 61 00 10 */ lwz r3, 0x10(r1)
+/* 801D6A60 001D26C0 4B FF E9 7D */ bl TRKGetBuffer
+/* 801D6A64 001D26C4 28 03 00 00 */ cmplwi r3, 0
+/* 801D6A68 001D26C8 41 82 00 14 */ beq lbl_801D6A7C
+/* 801D6A6C 001D26CC 80 03 00 20 */ lwz r0, 0x20(r3)
+/* 801D6A70 001D26D0 90 1E 00 00 */ stw r0, 0(r30)
+/* 801D6A74 001D26D4 80 03 00 28 */ lwz r0, 0x28(r3)
+/* 801D6A78 001D26D8 90 1D 00 00 */ stw r0, 0(r29)
+lbl_801D6A7C:
+/* 801D6A7C 001D26DC 80 61 00 10 */ lwz r3, 0x10(r1)
+/* 801D6A80 001D26E0 4B FF E8 F9 */ bl TRKReleaseBuffer
+lbl_801D6A84:
+/* 801D6A84 001D26E4 80 61 00 0C */ lwz r3, 0xc(r1)
+/* 801D6A88 001D26E8 4B FF E8 F1 */ bl TRKReleaseBuffer
+/* 801D6A8C 001D26EC 80 01 00 74 */ lwz r0, 0x74(r1)
+/* 801D6A90 001D26F0 7F E3 FB 78 */ mr r3, r31
+/* 801D6A94 001D26F4 83 E1 00 6C */ lwz r31, 0x6c(r1)
+/* 801D6A98 001D26F8 83 C1 00 68 */ lwz r30, 0x68(r1)
+/* 801D6A9C 001D26FC 83 A1 00 64 */ lwz r29, 0x64(r1)
+/* 801D6AA0 001D2700 83 81 00 60 */ lwz r28, 0x60(r1)
+/* 801D6AA4 001D2704 7C 08 03 A6 */ mtlr r0
+/* 801D6AA8 001D2708 38 21 00 70 */ addi r1, r1, 0x70
+/* 801D6AAC 001D270C 4E 80 00 20 */ blr
+
+.global HandleCloseFileSupportRequest
+HandleCloseFileSupportRequest:
+/* 801D6AB0 001D2710 94 21 FF 90 */ stwu r1, -0x70(r1)
+/* 801D6AB4 001D2714 7C 08 02 A6 */ mflr r0
+/* 801D6AB8 001D2718 38 A0 00 40 */ li r5, 0x40
+/* 801D6ABC 001D271C 90 01 00 74 */ stw r0, 0x74(r1)
+/* 801D6AC0 001D2720 93 E1 00 6C */ stw r31, 0x6c(r1)
+/* 801D6AC4 001D2724 7C 7F 1B 78 */ mr r31, r3
+/* 801D6AC8 001D2728 38 61 00 14 */ addi r3, r1, 0x14
+/* 801D6ACC 001D272C 93 C1 00 68 */ stw r30, 0x68(r1)
+/* 801D6AD0 001D2730 93 A1 00 64 */ stw r29, 0x64(r1)
+/* 801D6AD4 001D2734 7C 9D 23 78 */ mr r29, r4
+/* 801D6AD8 001D2738 38 80 00 00 */ li r4, 0
+/* 801D6ADC 001D273C 4B E2 D6 59 */ bl TRK_memset
+/* 801D6AE0 001D2740 38 60 00 D3 */ li r3, 0xd3
+/* 801D6AE4 001D2744 38 00 00 40 */ li r0, 0x40
+/* 801D6AE8 001D2748 98 61 00 18 */ stb r3, 0x18(r1)
+/* 801D6AEC 001D274C 38 61 00 0C */ addi r3, r1, 0xc
+/* 801D6AF0 001D2750 38 81 00 08 */ addi r4, r1, 8
+/* 801D6AF4 001D2754 90 01 00 14 */ stw r0, 0x14(r1)
+/* 801D6AF8 001D2758 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 801D6AFC 001D275C 4B FF E9 0D */ bl TRKGetFreeBuffer
+/* 801D6B00 001D2760 7C 7F 1B 79 */ or. r31, r3, r3
+/* 801D6B04 001D2764 40 82 00 18 */ bne lbl_801D6B1C
+/* 801D6B08 001D2768 80 61 00 08 */ lwz r3, 8(r1)
+/* 801D6B0C 001D276C 38 81 00 14 */ addi r4, r1, 0x14
+/* 801D6B10 001D2770 38 A0 00 40 */ li r5, 0x40
+/* 801D6B14 001D2774 4B FF E5 61 */ bl TRKAppendBuffer_ui8
+/* 801D6B18 001D2778 7C 7F 1B 78 */ mr r31, r3
+lbl_801D6B1C:
+/* 801D6B1C 001D277C 2C 1F 00 00 */ cmpwi r31, 0
+/* 801D6B20 001D2780 40 82 00 50 */ bne lbl_801D6B70
+/* 801D6B24 001D2784 38 00 00 00 */ li r0, 0
+/* 801D6B28 001D2788 38 81 00 10 */ addi r4, r1, 0x10
+/* 801D6B2C 001D278C 90 1D 00 00 */ stw r0, 0(r29)
+/* 801D6B30 001D2790 38 A0 00 03 */ li r5, 3
+/* 801D6B34 001D2794 38 C0 00 03 */ li r6, 3
+/* 801D6B38 001D2798 38 E0 00 00 */ li r7, 0
+/* 801D6B3C 001D279C 80 61 00 08 */ lwz r3, 8(r1)
+/* 801D6B40 001D27A0 48 00 01 75 */ bl TRKRequestSend
+/* 801D6B44 001D27A4 7C 7F 1B 79 */ or. r31, r3, r3
+/* 801D6B48 001D27A8 40 82 00 10 */ bne lbl_801D6B58
+/* 801D6B4C 001D27AC 80 61 00 10 */ lwz r3, 0x10(r1)
+/* 801D6B50 001D27B0 4B FF E8 8D */ bl TRKGetBuffer
+/* 801D6B54 001D27B4 7C 7E 1B 78 */ mr r30, r3
+lbl_801D6B58:
+/* 801D6B58 001D27B8 2C 1F 00 00 */ cmpwi r31, 0
+/* 801D6B5C 001D27BC 40 82 00 0C */ bne lbl_801D6B68
+/* 801D6B60 001D27C0 80 1E 00 20 */ lwz r0, 0x20(r30)
+/* 801D6B64 001D27C4 90 1D 00 00 */ stw r0, 0(r29)
+lbl_801D6B68:
+/* 801D6B68 001D27C8 80 61 00 10 */ lwz r3, 0x10(r1)
+/* 801D6B6C 001D27CC 4B FF E8 0D */ bl TRKReleaseBuffer
+lbl_801D6B70:
+/* 801D6B70 001D27D0 80 61 00 0C */ lwz r3, 0xc(r1)
+/* 801D6B74 001D27D4 4B FF E8 05 */ bl TRKReleaseBuffer
+/* 801D6B78 001D27D8 80 01 00 74 */ lwz r0, 0x74(r1)
+/* 801D6B7C 001D27DC 7F E3 FB 78 */ mr r3, r31
+/* 801D6B80 001D27E0 83 E1 00 6C */ lwz r31, 0x6c(r1)
+/* 801D6B84 001D27E4 83 C1 00 68 */ lwz r30, 0x68(r1)
+/* 801D6B88 001D27E8 83 A1 00 64 */ lwz r29, 0x64(r1)
+/* 801D6B8C 001D27EC 7C 08 03 A6 */ mtlr r0
+/* 801D6B90 001D27F0 38 21 00 70 */ addi r1, r1, 0x70
+/* 801D6B94 001D27F4 4E 80 00 20 */ blr
+
+.global HandleOpenFileSupportRequest
+HandleOpenFileSupportRequest:
+/* 801D6B98 001D27F8 94 21 FF 90 */ stwu r1, -0x70(r1)
+/* 801D6B9C 001D27FC 7C 08 02 A6 */ mflr r0
+/* 801D6BA0 001D2800 90 01 00 74 */ stw r0, 0x74(r1)
+/* 801D6BA4 001D2804 BF 61 00 5C */ stmw r27, 0x5c(r1)
+/* 801D6BA8 001D2808 7C 7B 1B 78 */ mr r27, r3
+/* 801D6BAC 001D280C 7C 9F 23 78 */ mr r31, r4
+/* 801D6BB0 001D2810 7C BC 2B 78 */ mr r28, r5
+/* 801D6BB4 001D2814 7C DD 33 78 */ mr r29, r6
+/* 801D6BB8 001D2818 38 61 00 14 */ addi r3, r1, 0x14
+/* 801D6BBC 001D281C 38 80 00 00 */ li r4, 0
+/* 801D6BC0 001D2820 38 A0 00 40 */ li r5, 0x40
+/* 801D6BC4 001D2824 4B E2 D5 71 */ bl TRK_memset
+/* 801D6BC8 001D2828 38 60 00 00 */ li r3, 0
+/* 801D6BCC 001D282C 38 00 00 D2 */ li r0, 0xd2
+/* 801D6BD0 001D2830 90 7C 00 00 */ stw r3, 0(r28)
+/* 801D6BD4 001D2834 7F 63 DB 78 */ mr r3, r27
+/* 801D6BD8 001D2838 98 01 00 18 */ stb r0, 0x18(r1)
+/* 801D6BDC 001D283C 48 00 06 19 */ bl TRK_strlen
+/* 801D6BE0 001D2840 38 03 00 41 */ addi r0, r3, 0x41
+/* 801D6BE4 001D2844 9B E1 00 1C */ stb r31, 0x1c(r1)
+/* 801D6BE8 001D2848 7F 63 DB 78 */ mr r3, r27
+/* 801D6BEC 001D284C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 801D6BF0 001D2850 48 00 06 05 */ bl TRK_strlen
+/* 801D6BF4 001D2854 38 03 00 01 */ addi r0, r3, 1
+/* 801D6BF8 001D2858 38 61 00 0C */ addi r3, r1, 0xc
+/* 801D6BFC 001D285C B0 01 00 20 */ sth r0, 0x20(r1)
+/* 801D6C00 001D2860 38 81 00 08 */ addi r4, r1, 8
+/* 801D6C04 001D2864 4B FF E8 05 */ bl TRKGetFreeBuffer
+/* 801D6C08 001D2868 80 61 00 08 */ lwz r3, 8(r1)
+/* 801D6C0C 001D286C 38 81 00 14 */ addi r4, r1, 0x14
+/* 801D6C10 001D2870 38 A0 00 40 */ li r5, 0x40
+/* 801D6C14 001D2874 4B FF E4 61 */ bl TRKAppendBuffer_ui8
+/* 801D6C18 001D2878 7C 7F 1B 79 */ or. r31, r3, r3
+/* 801D6C1C 001D287C 40 82 00 24 */ bne lbl_801D6C40
+/* 801D6C20 001D2880 7F 63 DB 78 */ mr r3, r27
+/* 801D6C24 001D2884 48 00 05 D1 */ bl TRK_strlen
+/* 801D6C28 001D2888 7C 65 1B 78 */ mr r5, r3
+/* 801D6C2C 001D288C 80 61 00 08 */ lwz r3, 8(r1)
+/* 801D6C30 001D2890 7F 64 DB 78 */ mr r4, r27
+/* 801D6C34 001D2894 38 A5 00 01 */ addi r5, r5, 1
+/* 801D6C38 001D2898 4B FF E4 3D */ bl TRKAppendBuffer_ui8
+/* 801D6C3C 001D289C 7C 7F 1B 78 */ mr r31, r3
+lbl_801D6C40:
+/* 801D6C40 001D28A0 2C 1F 00 00 */ cmpwi r31, 0
+/* 801D6C44 001D28A4 40 82 00 50 */ bne lbl_801D6C94
+/* 801D6C48 001D28A8 38 00 00 00 */ li r0, 0
+/* 801D6C4C 001D28AC 38 81 00 10 */ addi r4, r1, 0x10
+/* 801D6C50 001D28B0 90 1D 00 00 */ stw r0, 0(r29)
+/* 801D6C54 001D28B4 38 A0 00 07 */ li r5, 7
+/* 801D6C58 001D28B8 38 C0 00 03 */ li r6, 3
+/* 801D6C5C 001D28BC 38 E0 00 00 */ li r7, 0
+/* 801D6C60 001D28C0 80 61 00 08 */ lwz r3, 8(r1)
+/* 801D6C64 001D28C4 48 00 00 51 */ bl TRKRequestSend
+/* 801D6C68 001D28C8 7C 7F 1B 79 */ or. r31, r3, r3
+/* 801D6C6C 001D28CC 40 82 00 10 */ bne lbl_801D6C7C
+/* 801D6C70 001D28D0 80 61 00 10 */ lwz r3, 0x10(r1)
+/* 801D6C74 001D28D4 4B FF E7 69 */ bl TRKGetBuffer
+/* 801D6C78 001D28D8 7C 7E 1B 78 */ mr r30, r3
+lbl_801D6C7C:
+/* 801D6C7C 001D28DC 80 1E 00 20 */ lwz r0, 0x20(r30)
+/* 801D6C80 001D28E0 90 1D 00 00 */ stw r0, 0(r29)
+/* 801D6C84 001D28E4 80 1E 00 18 */ lwz r0, 0x18(r30)
+/* 801D6C88 001D28E8 90 1C 00 00 */ stw r0, 0(r28)
+/* 801D6C8C 001D28EC 80 61 00 10 */ lwz r3, 0x10(r1)
+/* 801D6C90 001D28F0 4B FF E6 E9 */ bl TRKReleaseBuffer
+lbl_801D6C94:
+/* 801D6C94 001D28F4 80 61 00 0C */ lwz r3, 0xc(r1)
+/* 801D6C98 001D28F8 4B FF E6 E1 */ bl TRKReleaseBuffer
+/* 801D6C9C 001D28FC 7F E3 FB 78 */ mr r3, r31
+/* 801D6CA0 001D2900 BB 61 00 5C */ lmw r27, 0x5c(r1)
+/* 801D6CA4 001D2904 80 01 00 74 */ lwz r0, 0x74(r1)
+/* 801D6CA8 001D2908 7C 08 03 A6 */ mtlr r0
+/* 801D6CAC 001D290C 38 21 00 70 */ addi r1, r1, 0x70
+/* 801D6CB0 001D2910 4E 80 00 20 */ blr
+
+.global TRKRequestSend
+TRKRequestSend:
+/* 801D6CB4 001D2914 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 801D6CB8 001D2918 7C 08 02 A6 */ mflr r0
+/* 801D6CBC 001D291C 90 01 00 34 */ stw r0, 0x34(r1)
+/* 801D6CC0 001D2920 38 00 FF FF */ li r0, -1
+/* 801D6CC4 001D2924 BE C1 00 08 */ stmw r22, 8(r1)
+/* 801D6CC8 001D2928 7C 97 23 78 */ mr r23, r4
+/* 801D6CCC 001D292C 7C 76 1B 78 */ mr r22, r3
+/* 801D6CD0 001D2930 7C F8 3B 78 */ mr r24, r7
+/* 801D6CD4 001D2934 3B 86 00 01 */ addi r28, r6, 1
+/* 801D6CD8 001D2938 3B E0 00 00 */ li r31, 0
+/* 801D6CDC 001D293C 3B 20 00 01 */ li r25, 1
+/* 801D6CE0 001D2940 90 04 00 00 */ stw r0, 0(r4)
+/* 801D6CE4 001D2944 48 00 01 0C */ b lbl_801D6DF0
+lbl_801D6CE8:
+/* 801D6CE8 001D2948 7E C3 B3 78 */ mr r3, r22
+/* 801D6CEC 001D294C 4B FF DF F1 */ bl TRKMessageSend
+/* 801D6CF0 001D2950 7C 7F 1B 79 */ or. r31, r3, r3
+/* 801D6CF4 001D2954 40 82 00 F8 */ bne lbl_801D6DEC
+/* 801D6CF8 001D2958 2C 18 00 00 */ cmpwi r24, 0
+/* 801D6CFC 001D295C 41 82 00 08 */ beq lbl_801D6D04
+/* 801D6D00 001D2960 3B A0 00 00 */ li r29, 0
+lbl_801D6D04:
+/* 801D6D04 001D2964 4B FF E9 1D */ bl TRKTestForPacket
+/* 801D6D08 001D2968 90 77 00 00 */ stw r3, 0(r23)
+/* 801D6D0C 001D296C 80 77 00 00 */ lwz r3, 0(r23)
+/* 801D6D10 001D2970 2C 03 FF FF */ cmpwi r3, -1
+/* 801D6D14 001D2974 40 82 00 20 */ bne lbl_801D6D34
+/* 801D6D18 001D2978 2C 18 00 00 */ cmpwi r24, 0
+/* 801D6D1C 001D297C 41 82 FF E8 */ beq lbl_801D6D04
+/* 801D6D20 001D2980 3C 80 04 C5 */ lis r4, 0x04C4B3EC@ha
+/* 801D6D24 001D2984 3B BD 00 01 */ addi r29, r29, 1
+/* 801D6D28 001D2988 38 04 B3 EC */ addi r0, r4, 0x04C4B3EC@l
+/* 801D6D2C 001D298C 7C 1D 00 40 */ cmplw r29, r0
+/* 801D6D30 001D2990 41 80 FF D4 */ blt lbl_801D6D04
+lbl_801D6D34:
+/* 801D6D34 001D2994 2C 03 FF FF */ cmpwi r3, -1
+/* 801D6D38 001D2998 41 82 00 44 */ beq lbl_801D6D7C
+/* 801D6D3C 001D299C 3B 20 00 00 */ li r25, 0
+/* 801D6D40 001D29A0 4B FF E6 9D */ bl TRKGetBuffer
+/* 801D6D44 001D29A4 38 80 00 00 */ li r4, 0
+/* 801D6D48 001D29A8 7C 7E 1B 78 */ mr r30, r3
+/* 801D6D4C 001D29AC 4B FF E5 BD */ bl TRKSetBufferPosition
+/* 801D6D50 001D29B0 80 9E 00 08 */ lwz r4, 8(r30)
+/* 801D6D54 001D29B4 38 7E 00 10 */ addi r3, r30, 0x10
+/* 801D6D58 001D29B8 48 00 2F 0D */ bl func_801D9C64
+/* 801D6D5C 001D29BC 8B 7E 00 14 */ lbz r27, 0x14(r30)
+/* 801D6D60 001D29C0 28 1B 00 80 */ cmplwi r27, 0x80
+/* 801D6D64 001D29C4 40 80 00 18 */ bge lbl_801D6D7C
+/* 801D6D68 001D29C8 80 77 00 00 */ lwz r3, 0(r23)
+/* 801D6D6C 001D29CC 4B FF E8 05 */ bl TRKProcessInput
+/* 801D6D70 001D29D0 38 00 FF FF */ li r0, -1
+/* 801D6D74 001D29D4 90 17 00 00 */ stw r0, 0(r23)
+/* 801D6D78 001D29D8 4B FF FF 8C */ b lbl_801D6D04
+lbl_801D6D7C:
+/* 801D6D7C 001D29DC 80 77 00 00 */ lwz r3, 0(r23)
+/* 801D6D80 001D29E0 2C 03 FF FF */ cmpwi r3, -1
+/* 801D6D84 001D29E4 41 82 00 68 */ beq lbl_801D6DEC
+/* 801D6D88 001D29E8 80 1E 00 08 */ lwz r0, 8(r30)
+/* 801D6D8C 001D29EC 28 00 00 40 */ cmplwi r0, 0x40
+/* 801D6D90 001D29F0 40 80 00 08 */ bge lbl_801D6D98
+/* 801D6D94 001D29F4 3B 20 00 01 */ li r25, 1
+lbl_801D6D98:
+/* 801D6D98 001D29F8 2C 1F 00 00 */ cmpwi r31, 0
+/* 801D6D9C 001D29FC 40 82 00 10 */ bne lbl_801D6DAC
+/* 801D6DA0 001D2A00 2C 19 00 00 */ cmpwi r25, 0
+/* 801D6DA4 001D2A04 40 82 00 08 */ bne lbl_801D6DAC
+/* 801D6DA8 001D2A08 8B 5E 00 18 */ lbz r26, 0x18(r30)
+lbl_801D6DAC:
+/* 801D6DAC 001D2A0C 2C 1F 00 00 */ cmpwi r31, 0
+/* 801D6DB0 001D2A10 40 82 00 20 */ bne lbl_801D6DD0
+/* 801D6DB4 001D2A14 2C 19 00 00 */ cmpwi r25, 0
+/* 801D6DB8 001D2A18 40 82 00 18 */ bne lbl_801D6DD0
+/* 801D6DBC 001D2A1C 2C 1B 00 80 */ cmpwi r27, 0x80
+/* 801D6DC0 001D2A20 40 82 00 0C */ bne lbl_801D6DCC
+/* 801D6DC4 001D2A24 2C 1A 00 00 */ cmpwi r26, 0
+/* 801D6DC8 001D2A28 41 82 00 08 */ beq lbl_801D6DD0
+lbl_801D6DCC:
+/* 801D6DCC 001D2A2C 3B 20 00 01 */ li r25, 1
+lbl_801D6DD0:
+/* 801D6DD0 001D2A30 2C 1F 00 00 */ cmpwi r31, 0
+/* 801D6DD4 001D2A34 40 82 00 0C */ bne lbl_801D6DE0
+/* 801D6DD8 001D2A38 2C 19 00 00 */ cmpwi r25, 0
+/* 801D6DDC 001D2A3C 41 82 00 10 */ beq lbl_801D6DEC
+lbl_801D6DE0:
+/* 801D6DE0 001D2A40 4B FF E5 99 */ bl TRKReleaseBuffer
+/* 801D6DE4 001D2A44 38 00 FF FF */ li r0, -1
+/* 801D6DE8 001D2A48 90 17 00 00 */ stw r0, 0(r23)
+lbl_801D6DEC:
+/* 801D6DEC 001D2A4C 3B 9C FF FF */ addi r28, r28, -1
+lbl_801D6DF0:
+/* 801D6DF0 001D2A50 2C 1C 00 00 */ cmpwi r28, 0
+/* 801D6DF4 001D2A54 41 82 00 18 */ beq lbl_801D6E0C
+/* 801D6DF8 001D2A58 80 17 00 00 */ lwz r0, 0(r23)
+/* 801D6DFC 001D2A5C 2C 00 FF FF */ cmpwi r0, -1
+/* 801D6E00 001D2A60 40 82 00 0C */ bne lbl_801D6E0C
+/* 801D6E04 001D2A64 2C 1F 00 00 */ cmpwi r31, 0
+/* 801D6E08 001D2A68 41 82 FE E0 */ beq lbl_801D6CE8
+lbl_801D6E0C:
+/* 801D6E0C 001D2A6C 80 17 00 00 */ lwz r0, 0(r23)
+/* 801D6E10 001D2A70 2C 00 FF FF */ cmpwi r0, -1
+/* 801D6E14 001D2A74 40 82 00 08 */ bne lbl_801D6E1C
+/* 801D6E18 001D2A78 3B E0 08 00 */ li r31, 0x800
+lbl_801D6E1C:
+/* 801D6E1C 001D2A7C 7F E3 FB 78 */ mr r3, r31
+/* 801D6E20 001D2A80 BA C1 00 08 */ lmw r22, 8(r1)
+/* 801D6E24 001D2A84 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 801D6E28 001D2A88 7C 08 03 A6 */ mtlr r0
+/* 801D6E2C 001D2A8C 38 21 00 30 */ addi r1, r1, 0x30
+/* 801D6E30 001D2A90 4E 80 00 20 */ blr
+
+.global TRKSuppAccessFile
+TRKSuppAccessFile:
+/* 801D6E34 001D2A94 94 21 FF 70 */ stwu r1, -0x90(r1)
+/* 801D6E38 001D2A98 7C 08 02 A6 */ mflr r0
+/* 801D6E3C 001D2A9C 90 01 00 94 */ stw r0, 0x94(r1)
+/* 801D6E40 001D2AA0 BE 61 00 5C */ stmw r19, 0x5c(r1)
+/* 801D6E44 001D2AA4 7C 98 23 79 */ or. r24, r4, r4
+/* 801D6E48 001D2AA8 7C 77 1B 78 */ mr r23, r3
+/* 801D6E4C 001D2AAC 7C B9 2B 78 */ mr r25, r5
+/* 801D6E50 001D2AB0 7C DA 33 78 */ mr r26, r6
+/* 801D6E54 001D2AB4 7C FB 3B 78 */ mr r27, r7
+/* 801D6E58 001D2AB8 7D 1C 43 78 */ mr r28, r8
+/* 801D6E5C 001D2ABC 41 82 00 10 */ beq lbl_801D6E6C
+/* 801D6E60 001D2AC0 80 19 00 00 */ lwz r0, 0(r25)
+/* 801D6E64 001D2AC4 28 00 00 00 */ cmplwi r0, 0
+/* 801D6E68 001D2AC8 40 82 00 0C */ bne lbl_801D6E74
+lbl_801D6E6C:
+/* 801D6E6C 001D2ACC 38 60 00 02 */ li r3, 2
+/* 801D6E70 001D2AD0 48 00 01 D0 */ b lbl_801D7040
+lbl_801D6E74:
+/* 801D6E74 001D2AD4 38 00 00 00 */ li r0, 0
+/* 801D6E78 001D2AD8 3B A0 00 00 */ li r29, 0
+/* 801D6E7C 001D2ADC 90 1A 00 00 */ stw r0, 0(r26)
+/* 801D6E80 001D2AE0 3B C0 00 00 */ li r30, 0
+/* 801D6E84 001D2AE4 3A A0 00 00 */ li r21, 0
+/* 801D6E88 001D2AE8 48 00 01 88 */ b lbl_801D7010
+lbl_801D6E8C:
+/* 801D6E8C 001D2AEC 38 61 00 14 */ addi r3, r1, 0x14
+/* 801D6E90 001D2AF0 38 80 00 00 */ li r4, 0
+/* 801D6E94 001D2AF4 38 A0 00 40 */ li r5, 0x40
+/* 801D6E98 001D2AF8 4B E2 D2 9D */ bl TRK_memset
+/* 801D6E9C 001D2AFC 80 19 00 00 */ lwz r0, 0(r25)
+/* 801D6EA0 001D2B00 38 60 08 00 */ li r3, 0x800
+/* 801D6EA4 001D2B04 7C 1E 00 50 */ subf r0, r30, r0
+/* 801D6EA8 001D2B08 28 00 08 00 */ cmplwi r0, 0x800
+/* 801D6EAC 001D2B0C 41 81 00 08 */ bgt lbl_801D6EB4
+/* 801D6EB0 001D2B10 7C 03 03 78 */ mr r3, r0
+lbl_801D6EB4:
+/* 801D6EB4 001D2B14 2C 1C 00 00 */ cmpwi r28, 0
+/* 801D6EB8 001D2B18 7C 7F 1B 78 */ mr r31, r3
+/* 801D6EBC 001D2B1C 38 00 00 D0 */ li r0, 0xd0
+/* 801D6EC0 001D2B20 41 82 00 08 */ beq lbl_801D6EC8
+/* 801D6EC4 001D2B24 38 00 00 D1 */ li r0, 0xd1
+lbl_801D6EC8:
+/* 801D6EC8 001D2B28 2C 1C 00 00 */ cmpwi r28, 0
+/* 801D6ECC 001D2B2C 98 01 00 18 */ stb r0, 0x18(r1)
+/* 801D6ED0 001D2B30 38 00 00 40 */ li r0, 0x40
+/* 801D6ED4 001D2B34 40 82 00 08 */ bne lbl_801D6EDC
+/* 801D6ED8 001D2B38 38 1F 00 40 */ addi r0, r31, 0x40
+lbl_801D6EDC:
+/* 801D6EDC 001D2B3C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 801D6EE0 001D2B40 38 61 00 0C */ addi r3, r1, 0xc
+/* 801D6EE4 001D2B44 38 81 00 08 */ addi r4, r1, 8
+/* 801D6EE8 001D2B48 92 E1 00 1C */ stw r23, 0x1c(r1)
+/* 801D6EEC 001D2B4C B3 E1 00 20 */ sth r31, 0x20(r1)
+/* 801D6EF0 001D2B50 4B FF E5 19 */ bl TRKGetFreeBuffer
+/* 801D6EF4 001D2B54 80 61 00 08 */ lwz r3, 8(r1)
+/* 801D6EF8 001D2B58 38 81 00 14 */ addi r4, r1, 0x14
+/* 801D6EFC 001D2B5C 38 A0 00 40 */ li r5, 0x40
+/* 801D6F00 001D2B60 4B FF E1 75 */ bl TRKAppendBuffer_ui8
+/* 801D6F04 001D2B64 2C 1C 00 00 */ cmpwi r28, 0
+/* 801D6F08 001D2B68 7C 75 1B 78 */ mr r21, r3
+/* 801D6F0C 001D2B6C 40 82 00 20 */ bne lbl_801D6F2C
+/* 801D6F10 001D2B70 2C 15 00 00 */ cmpwi r21, 0
+/* 801D6F14 001D2B74 40 82 00 18 */ bne lbl_801D6F2C
+/* 801D6F18 001D2B78 80 61 00 08 */ lwz r3, 8(r1)
+/* 801D6F1C 001D2B7C 7F E5 FB 78 */ mr r5, r31
+/* 801D6F20 001D2B80 7C 98 F2 14 */ add r4, r24, r30
+/* 801D6F24 001D2B84 4B FF E1 51 */ bl TRKAppendBuffer_ui8
+/* 801D6F28 001D2B88 7C 75 1B 78 */ mr r21, r3
+lbl_801D6F2C:
+/* 801D6F2C 001D2B8C 2C 15 00 00 */ cmpwi r21, 0
+/* 801D6F30 001D2B90 40 82 00 D4 */ bne lbl_801D7004
+/* 801D6F34 001D2B94 2C 1B 00 00 */ cmpwi r27, 0
+/* 801D6F38 001D2B98 41 82 00 C0 */ beq lbl_801D6FF8
+/* 801D6F3C 001D2B9C 2C 1C 00 00 */ cmpwi r28, 0
+/* 801D6F40 001D2BA0 38 00 00 00 */ li r0, 0
+/* 801D6F44 001D2BA4 41 82 00 10 */ beq lbl_801D6F54
+/* 801D6F48 001D2BA8 28 17 00 00 */ cmplwi r23, 0
+/* 801D6F4C 001D2BAC 40 82 00 08 */ bne lbl_801D6F54
+/* 801D6F50 001D2BB0 38 00 00 01 */ li r0, 1
+lbl_801D6F54:
+/* 801D6F54 001D2BB4 2C 1C 00 00 */ cmpwi r28, 0
+/* 801D6F58 001D2BB8 80 61 00 08 */ lwz r3, 8(r1)
+/* 801D6F5C 001D2BBC 38 81 00 10 */ addi r4, r1, 0x10
+/* 801D6F60 001D2BC0 38 A0 00 05 */ li r5, 5
+/* 801D6F64 001D2BC4 7C 00 00 34 */ cntlzw r0, r0
+/* 801D6F68 001D2BC8 38 C0 00 03 */ li r6, 3
+/* 801D6F6C 001D2BCC 54 07 D9 7E */ srwi r7, r0, 5
+/* 801D6F70 001D2BD0 4B FF FD 45 */ bl TRKRequestSend
+/* 801D6F74 001D2BD4 7C 75 1B 79 */ or. r21, r3, r3
+/* 801D6F78 001D2BD8 40 82 00 10 */ bne lbl_801D6F88
+/* 801D6F7C 001D2BDC 80 61 00 10 */ lwz r3, 0x10(r1)
+/* 801D6F80 001D2BE0 4B FF E4 5D */ bl TRKGetBuffer
+/* 801D6F84 001D2BE4 7C 76 1B 78 */ mr r22, r3
+lbl_801D6F88:
+/* 801D6F88 001D2BE8 80 16 00 20 */ lwz r0, 0x20(r22)
+/* 801D6F8C 001D2BEC 2C 1C 00 00 */ cmpwi r28, 0
+/* 801D6F90 001D2BF0 A2 76 00 24 */ lhz r19, 0x24(r22)
+/* 801D6F94 001D2BF4 54 14 06 3E */ clrlwi r20, r0, 0x18
+/* 801D6F98 001D2BF8 41 82 00 40 */ beq lbl_801D6FD8
+/* 801D6F9C 001D2BFC 2C 15 00 00 */ cmpwi r21, 0
+/* 801D6FA0 001D2C00 40 82 00 38 */ bne lbl_801D6FD8
+/* 801D6FA4 001D2C04 7C 13 F8 40 */ cmplw r19, r31
+/* 801D6FA8 001D2C08 41 81 00 30 */ bgt lbl_801D6FD8
+/* 801D6FAC 001D2C0C 7E C3 B3 78 */ mr r3, r22
+/* 801D6FB0 001D2C10 38 80 00 40 */ li r4, 0x40
+/* 801D6FB4 001D2C14 4B FF E3 55 */ bl TRKSetBufferPosition
+/* 801D6FB8 001D2C18 7E C3 B3 78 */ mr r3, r22
+/* 801D6FBC 001D2C1C 7E 65 9B 78 */ mr r5, r19
+/* 801D6FC0 001D2C20 7C 98 F2 14 */ add r4, r24, r30
+/* 801D6FC4 001D2C24 4B FF DE 35 */ bl TRKReadBuffer_ui8
+/* 801D6FC8 001D2C28 7C 75 1B 78 */ mr r21, r3
+/* 801D6FCC 001D2C2C 2C 15 03 02 */ cmpwi r21, 0x302
+/* 801D6FD0 001D2C30 40 82 00 08 */ bne lbl_801D6FD8
+/* 801D6FD4 001D2C34 3A A0 00 00 */ li r21, 0
+lbl_801D6FD8:
+/* 801D6FD8 001D2C38 7C 13 F8 40 */ cmplw r19, r31
+/* 801D6FDC 001D2C3C 41 82 00 0C */ beq lbl_801D6FE8
+/* 801D6FE0 001D2C40 7E 7F 9B 78 */ mr r31, r19
+/* 801D6FE4 001D2C44 3B A0 00 01 */ li r29, 1
+lbl_801D6FE8:
+/* 801D6FE8 001D2C48 92 9A 00 00 */ stw r20, 0(r26)
+/* 801D6FEC 001D2C4C 80 61 00 10 */ lwz r3, 0x10(r1)
+/* 801D6FF0 001D2C50 4B FF E3 89 */ bl TRKReleaseBuffer
+/* 801D6FF4 001D2C54 48 00 00 10 */ b lbl_801D7004
+lbl_801D6FF8:
+/* 801D6FF8 001D2C58 80 61 00 08 */ lwz r3, 8(r1)
+/* 801D6FFC 001D2C5C 4B FF DC E1 */ bl TRKMessageSend
+/* 801D7000 001D2C60 7C 75 1B 78 */ mr r21, r3
+lbl_801D7004:
+/* 801D7004 001D2C64 80 61 00 0C */ lwz r3, 0xc(r1)
+/* 801D7008 001D2C68 4B FF E3 71 */ bl TRKReleaseBuffer
+/* 801D700C 001D2C6C 7F DE FA 14 */ add r30, r30, r31
+lbl_801D7010:
+/* 801D7010 001D2C70 2C 1D 00 00 */ cmpwi r29, 0
+/* 801D7014 001D2C74 40 82 00 24 */ bne lbl_801D7038
+/* 801D7018 001D2C78 80 19 00 00 */ lwz r0, 0(r25)
+/* 801D701C 001D2C7C 7C 1E 00 40 */ cmplw r30, r0
+/* 801D7020 001D2C80 40 80 00 18 */ bge lbl_801D7038
+/* 801D7024 001D2C84 2C 15 00 00 */ cmpwi r21, 0
+/* 801D7028 001D2C88 40 82 00 10 */ bne lbl_801D7038
+/* 801D702C 001D2C8C 80 1A 00 00 */ lwz r0, 0(r26)
+/* 801D7030 001D2C90 2C 00 00 00 */ cmpwi r0, 0
+/* 801D7034 001D2C94 41 82 FE 58 */ beq lbl_801D6E8C
+lbl_801D7038:
+/* 801D7038 001D2C98 93 D9 00 00 */ stw r30, 0(r25)
+/* 801D703C 001D2C9C 7E A3 AB 78 */ mr r3, r21
+lbl_801D7040:
+/* 801D7040 001D2CA0 BA 61 00 5C */ lmw r19, 0x5c(r1)
+/* 801D7044 001D2CA4 80 01 00 94 */ lwz r0, 0x94(r1)
+/* 801D7048 001D2CA8 7C 08 03 A6 */ mtlr r0
+/* 801D704C 001D2CAC 38 21 00 90 */ addi r1, r1, 0x90
+/* 801D7050 001D2CB0 4E 80 00 20 */ blr
diff --git a/asm/MetroTRK/usr_put.s b/asm/MetroTRK/usr_put.s
new file mode 100644
index 0000000..3278225
--- /dev/null
+++ b/asm/MetroTRK/usr_put.s
@@ -0,0 +1,47 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global usr_put_initialize
+usr_put_initialize:
+/* 801D56F0 001D1350 4E 80 00 20 */ blr
+
+.global usr_puts_serial
+usr_puts_serial:
+/* 801D56F4 001D1354 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 801D56F8 001D1358 7C 08 02 A6 */ mflr r0
+/* 801D56FC 001D135C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 801D5700 001D1360 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 801D5704 001D1364 3B E0 00 00 */ li r31, 0
+/* 801D5708 001D1368 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 801D570C 001D136C 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 801D5710 001D1370 7C 7D 1B 78 */ mr r29, r3
+/* 801D5714 001D1374 38 60 00 00 */ li r3, 0
+/* 801D5718 001D1378 48 00 00 30 */ b lbl_801D5748
+lbl_801D571C:
+/* 801D571C 001D137C 48 00 12 75 */ bl GetTRKConnected
+/* 801D5720 001D1380 9B C1 00 08 */ stb r30, 8(r1)
+/* 801D5724 001D1384 7C 7E 1B 78 */ mr r30, r3
+/* 801D5728 001D1388 38 60 00 00 */ li r3, 0
+/* 801D572C 001D138C 9B E1 00 09 */ stb r31, 9(r1)
+/* 801D5730 001D1390 48 00 12 55 */ bl SetTRKConnected
+/* 801D5734 001D1394 38 61 00 08 */ addi r3, r1, 8
+/* 801D5738 001D1398 4B E3 23 8D */ bl func_80007AC4
+/* 801D573C 001D139C 7F C3 F3 78 */ mr r3, r30
+/* 801D5740 001D13A0 48 00 12 45 */ bl SetTRKConnected
+/* 801D5744 001D13A4 38 60 00 00 */ li r3, 0
+lbl_801D5748:
+/* 801D5748 001D13A8 2C 03 00 00 */ cmpwi r3, 0
+/* 801D574C 001D13AC 40 82 00 14 */ bne lbl_801D5760
+/* 801D5750 001D13B0 88 1D 00 00 */ lbz r0, 0(r29)
+/* 801D5754 001D13B4 3B BD 00 01 */ addi r29, r29, 1
+/* 801D5758 001D13B8 7C 1E 07 75 */ extsb. r30, r0
+/* 801D575C 001D13BC 40 82 FF C0 */ bne lbl_801D571C
+lbl_801D5760:
+/* 801D5760 001D13C0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 801D5764 001D13C4 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 801D5768 001D13C8 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 801D576C 001D13CC 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 801D5770 001D13D0 7C 08 03 A6 */ mtlr r0
+/* 801D5774 001D13D4 38 21 00 20 */ addi r1, r1, 0x20
+/* 801D5778 001D13D8 4E 80 00 20 */ blr
diff --git a/asm/text_6.s b/asm/text_6.s
index 700302c..931df7e 100644
--- a/asm/text_6.s
+++ b/asm/text_6.s
@@ -2,1821 +2,6 @@
.section .text, "ax" # 0x80006980 - 0x803E1E60
-.global func_801D56F0
-func_801D56F0:
-/* 801D56F0 001D1350 4E 80 00 20 */ blr
-
-.global usr_puts_serial
-usr_puts_serial:
-/* 801D56F4 001D1354 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 801D56F8 001D1358 7C 08 02 A6 */ mflr r0
-/* 801D56FC 001D135C 90 01 00 24 */ stw r0, 0x24(r1)
-/* 801D5700 001D1360 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 801D5704 001D1364 3B E0 00 00 */ li r31, 0
-/* 801D5708 001D1368 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 801D570C 001D136C 93 A1 00 14 */ stw r29, 0x14(r1)
-/* 801D5710 001D1370 7C 7D 1B 78 */ mr r29, r3
-/* 801D5714 001D1374 38 60 00 00 */ li r3, 0
-/* 801D5718 001D1378 48 00 00 30 */ b lbl_801D5748
-lbl_801D571C:
-/* 801D571C 001D137C 48 00 12 75 */ bl func_801D6990
-/* 801D5720 001D1380 9B C1 00 08 */ stb r30, 8(r1)
-/* 801D5724 001D1384 7C 7E 1B 78 */ mr r30, r3
-/* 801D5728 001D1388 38 60 00 00 */ li r3, 0
-/* 801D572C 001D138C 9B E1 00 09 */ stb r31, 9(r1)
-/* 801D5730 001D1390 48 00 12 55 */ bl SetTRKConnected
-/* 801D5734 001D1394 38 61 00 08 */ addi r3, r1, 8
-/* 801D5738 001D1398 4B E3 23 8D */ bl func_80007AC4
-/* 801D573C 001D139C 7F C3 F3 78 */ mr r3, r30
-/* 801D5740 001D13A0 48 00 12 45 */ bl SetTRKConnected
-/* 801D5744 001D13A4 38 60 00 00 */ li r3, 0
-lbl_801D5748:
-/* 801D5748 001D13A8 2C 03 00 00 */ cmpwi r3, 0
-/* 801D574C 001D13AC 40 82 00 14 */ bne lbl_801D5760
-/* 801D5750 001D13B0 88 1D 00 00 */ lbz r0, 0(r29)
-/* 801D5754 001D13B4 3B BD 00 01 */ addi r29, r29, 1
-/* 801D5758 001D13B8 7C 1E 07 75 */ extsb. r30, r0
-/* 801D575C 001D13BC 40 82 FF C0 */ bne lbl_801D571C
-lbl_801D5760:
-/* 801D5760 001D13C0 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 801D5764 001D13C4 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 801D5768 001D13C8 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 801D576C 001D13CC 83 A1 00 14 */ lwz r29, 0x14(r1)
-/* 801D5770 001D13D0 7C 08 03 A6 */ mtlr r0
-/* 801D5774 001D13D4 38 21 00 20 */ addi r1, r1, 0x20
-/* 801D5778 001D13D8 4E 80 00 20 */ blr
-
-.global func_801D577C
-func_801D577C:
-/* 801D577C 001D13DC 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 801D5780 001D13E0 7C 08 02 A6 */ mflr r0
-/* 801D5784 001D13E4 38 80 00 00 */ li r4, 0
-/* 801D5788 001D13E8 90 01 00 14 */ stw r0, 0x14(r1)
-/* 801D578C 001D13EC 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 801D5790 001D13F0 3B E0 05 00 */ li r31, 0x500
-/* 801D5794 001D13F4 93 C1 00 08 */ stw r30, 8(r1)
-/* 801D5798 001D13F8 7C 7E 1B 78 */ mr r30, r3
-/* 801D579C 001D13FC 4B FF FB 6D */ bl TRKSetBufferPosition
-/* 801D57A0 001D1400 88 1E 00 14 */ lbz r0, 0x14(r30)
-/* 801D57A4 001D1404 28 00 00 1A */ cmplwi r0, 0x1a
-/* 801D57A8 001D1408 41 81 00 F8 */ bgt lbl_801D58A0
-/* 801D57AC 001D140C 3C 60 80 42 */ lis r3, lbl_80423188@ha
-/* 801D57B0 001D1410 54 00 10 3A */ slwi r0, r0, 2
-/* 801D57B4 001D1414 38 63 31 88 */ addi r3, r3, lbl_80423188@l
-/* 801D57B8 001D1418 7C 03 00 2E */ lwzx r0, r3, r0
-/* 801D57BC 001D141C 7C 09 03 A6 */ mtctr r0
-/* 801D57C0 001D1420 4E 80 04 20 */ bctr
-/* 801D57C4 001D1424 7F C3 F3 78 */ mr r3, r30
-/* 801D57C8 001D1428 48 00 11 35 */ bl func_801D68FC
-/* 801D57CC 001D142C 7C 7F 1B 78 */ mr r31, r3
-/* 801D57D0 001D1430 48 00 00 D0 */ b lbl_801D58A0
-/* 801D57D4 001D1434 7F C3 F3 78 */ mr r3, r30
-/* 801D57D8 001D1438 48 00 10 89 */ bl func_801D6860
-/* 801D57DC 001D143C 7C 7F 1B 78 */ mr r31, r3
-/* 801D57E0 001D1440 48 00 00 C0 */ b lbl_801D58A0
-/* 801D57E4 001D1444 7F C3 F3 78 */ mr r3, r30
-/* 801D57E8 001D1448 48 00 0F FD */ bl func_801D67E4
-/* 801D57EC 001D144C 7C 7F 1B 78 */ mr r31, r3
-/* 801D57F0 001D1450 48 00 00 B0 */ b lbl_801D58A0
-/* 801D57F4 001D1454 7F C3 F3 78 */ mr r3, r30
-/* 801D57F8 001D1458 48 00 0F 71 */ bl func_801D6768
-/* 801D57FC 001D145C 7C 7F 1B 78 */ mr r31, r3
-/* 801D5800 001D1460 48 00 00 A0 */ b lbl_801D58A0
-/* 801D5804 001D1464 7F C3 F3 78 */ mr r3, r30
-/* 801D5808 001D1468 48 00 0F 59 */ bl func_801D6760
-/* 801D580C 001D146C 7C 7F 1B 78 */ mr r31, r3
-/* 801D5810 001D1470 48 00 00 90 */ b lbl_801D58A0
-/* 801D5814 001D1474 7F C3 F3 78 */ mr r3, r30
-/* 801D5818 001D1478 48 00 0F 41 */ bl func_801D6758
-/* 801D581C 001D147C 7C 7F 1B 78 */ mr r31, r3
-/* 801D5820 001D1480 48 00 00 80 */ b lbl_801D58A0
-/* 801D5824 001D1484 7F C3 F3 78 */ mr r3, r30
-/* 801D5828 001D1488 48 00 0C E9 */ bl func_801D6510
-/* 801D582C 001D148C 7C 7F 1B 78 */ mr r31, r3
-/* 801D5830 001D1490 48 00 00 70 */ b lbl_801D58A0
-/* 801D5834 001D1494 7F C3 F3 78 */ mr r3, r30
-/* 801D5838 001D1498 48 00 0A BD */ bl func_801D62F4
-/* 801D583C 001D149C 7C 7F 1B 78 */ mr r31, r3
-/* 801D5840 001D14A0 48 00 00 60 */ b lbl_801D58A0
-/* 801D5844 001D14A4 7F C3 F3 78 */ mr r3, r30
-/* 801D5848 001D14A8 48 00 08 89 */ bl func_801D60D0
-/* 801D584C 001D14AC 7C 7F 1B 78 */ mr r31, r3
-/* 801D5850 001D14B0 48 00 00 50 */ b lbl_801D58A0
-/* 801D5854 001D14B4 7F C3 F3 78 */ mr r3, r30
-/* 801D5858 001D14B8 48 00 05 BD */ bl func_801D5E14
-/* 801D585C 001D14BC 7C 7F 1B 78 */ mr r31, r3
-/* 801D5860 001D14C0 48 00 00 40 */ b lbl_801D58A0
-/* 801D5864 001D14C4 7F C3 F3 78 */ mr r3, r30
-/* 801D5868 001D14C8 48 00 04 C9 */ bl func_801D5D30
-/* 801D586C 001D14CC 7C 7F 1B 78 */ mr r31, r3
-/* 801D5870 001D14D0 48 00 00 30 */ b lbl_801D58A0
-/* 801D5874 001D14D4 7F C3 F3 78 */ mr r3, r30
-/* 801D5878 001D14D8 48 00 01 E5 */ bl func_801D5A5C
-/* 801D587C 001D14DC 7C 7F 1B 78 */ mr r31, r3
-/* 801D5880 001D14E0 48 00 00 20 */ b lbl_801D58A0
-/* 801D5884 001D14E4 7F C3 F3 78 */ mr r3, r30
-/* 801D5888 001D14E8 48 00 01 09 */ bl func_801D5990
-/* 801D588C 001D14EC 7C 7F 1B 78 */ mr r31, r3
-/* 801D5890 001D14F0 48 00 00 10 */ b lbl_801D58A0
-/* 801D5894 001D14F4 7F C3 F3 78 */ mr r3, r30
-/* 801D5898 001D14F8 48 00 00 2D */ bl func_801D58C4
-/* 801D589C 001D14FC 7C 7F 1B 78 */ mr r31, r3
-lbl_801D58A0:
-/* 801D58A0 001D1500 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 801D58A4 001D1504 7F E3 FB 78 */ mr r3, r31
-/* 801D58A8 001D1508 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 801D58AC 001D150C 83 C1 00 08 */ lwz r30, 8(r1)
-/* 801D58B0 001D1510 7C 08 03 A6 */ mtlr r0
-/* 801D58B4 001D1514 38 21 00 10 */ addi r1, r1, 0x10
-/* 801D58B8 001D1518 4E 80 00 20 */ blr
-
-.global func_801D58BC
-func_801D58BC:
-/* 801D58BC 001D151C 38 60 00 00 */ li r3, 0
-/* 801D58C0 001D1520 4E 80 00 20 */ blr
-
-.global func_801D58C4
-func_801D58C4:
-/* 801D58C4 001D1524 94 21 FF B0 */ stwu r1, -0x50(r1)
-/* 801D58C8 001D1528 7C 08 02 A6 */ mflr r0
-/* 801D58CC 001D152C 3C 80 80 40 */ lis r4, lbl_803FD680@ha
-/* 801D58D0 001D1530 90 01 00 54 */ stw r0, 0x54(r1)
-/* 801D58D4 001D1534 93 E1 00 4C */ stw r31, 0x4c(r1)
-/* 801D58D8 001D1538 3B E4 D6 80 */ addi r31, r4, lbl_803FD680@l
-/* 801D58DC 001D153C 93 C1 00 48 */ stw r30, 0x48(r1)
-/* 801D58E0 001D1540 88 03 00 18 */ lbz r0, 0x18(r3)
-/* 801D58E4 001D1544 8B C3 00 1C */ lbz r30, 0x1c(r3)
-/* 801D58E8 001D1548 28 00 00 01 */ cmplwi r0, 1
-/* 801D58EC 001D154C 40 82 00 30 */ bne lbl_801D591C
-/* 801D58F0 001D1550 38 7F 00 00 */ addi r3, r31, 0
-/* 801D58F4 001D1554 4B FF FE 01 */ bl usr_puts_serial
-/* 801D58F8 001D1558 28 1E 00 00 */ cmplwi r30, 0
-/* 801D58FC 001D155C 41 82 00 10 */ beq lbl_801D590C
-/* 801D5900 001D1560 38 7F 00 20 */ addi r3, r31, 0x20
-/* 801D5904 001D1564 4B FF FD F1 */ bl usr_puts_serial
-/* 801D5908 001D1568 48 00 00 0C */ b lbl_801D5914
-lbl_801D590C:
-/* 801D590C 001D156C 38 7F 00 28 */ addi r3, r31, 0x28
-/* 801D5910 001D1570 4B FF FD E5 */ bl usr_puts_serial
-lbl_801D5914:
-/* 801D5914 001D1574 7F C3 F3 78 */ mr r3, r30
-/* 801D5918 001D1578 48 00 40 85 */ bl SetUseSerialIO
-lbl_801D591C:
-/* 801D591C 001D157C 38 61 00 08 */ addi r3, r1, 8
-/* 801D5920 001D1580 38 80 00 00 */ li r4, 0
-/* 801D5924 001D1584 38 A0 00 40 */ li r5, 0x40
-/* 801D5928 001D1588 4B E2 E8 0D */ bl TRK_memset
-/* 801D592C 001D158C 3C 60 80 49 */ lis r3, lbl_804907E8@ha
-/* 801D5930 001D1590 38 00 00 80 */ li r0, 0x80
-/* 801D5934 001D1594 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
-/* 801D5938 001D1598 38 C0 00 40 */ li r6, 0x40
-/* 801D593C 001D159C 81 09 00 00 */ lwz r8, 0(r9)
-/* 801D5940 001D15A0 38 A0 00 00 */ li r5, 0
-/* 801D5944 001D15A4 98 01 00 0C */ stb r0, 0xc(r1)
-/* 801D5948 001D15A8 38 61 00 08 */ addi r3, r1, 8
-/* 801D594C 001D15AC 38 E8 00 01 */ addi r7, r8, 1
-/* 801D5950 001D15B0 38 80 00 40 */ li r4, 0x40
-/* 801D5954 001D15B4 91 01 00 14 */ stw r8, 0x14(r1)
-/* 801D5958 001D15B8 38 07 00 01 */ addi r0, r7, 1
-/* 801D595C 001D15BC 90 E9 00 00 */ stw r7, 0(r9)
-/* 801D5960 001D15C0 90 C1 00 08 */ stw r6, 8(r1)
-/* 801D5964 001D15C4 98 A1 00 10 */ stb r5, 0x10(r1)
-/* 801D5968 001D15C8 90 09 00 00 */ stw r0, 0(r9)
-/* 801D596C 001D15CC 90 E1 00 14 */ stw r7, 0x14(r1)
-/* 801D5970 001D15D0 48 00 3C 9D */ bl func_801D960C
-/* 801D5974 001D15D4 80 01 00 54 */ lwz r0, 0x54(r1)
-/* 801D5978 001D15D8 38 60 00 00 */ li r3, 0
-/* 801D597C 001D15DC 83 E1 00 4C */ lwz r31, 0x4c(r1)
-/* 801D5980 001D15E0 83 C1 00 48 */ lwz r30, 0x48(r1)
-/* 801D5984 001D15E4 7C 08 03 A6 */ mtlr r0
-/* 801D5988 001D15E8 38 21 00 50 */ addi r1, r1, 0x50
-/* 801D598C 001D15EC 4E 80 00 20 */ blr
-
-.global func_801D5990
-func_801D5990:
-/* 801D5990 001D15F0 94 21 FF B0 */ stwu r1, -0x50(r1)
-/* 801D5994 001D15F4 7C 08 02 A6 */ mflr r0
-/* 801D5998 001D15F8 90 01 00 54 */ stw r0, 0x54(r1)
-/* 801D599C 001D15FC 93 E1 00 4C */ stw r31, 0x4c(r1)
-/* 801D59A0 001D1600 48 00 1C 5D */ bl TRKTargetStop
-/* 801D59A4 001D1604 2C 03 07 04 */ cmpwi r3, 0x704
-/* 801D59A8 001D1608 41 82 00 2C */ beq lbl_801D59D4
-/* 801D59AC 001D160C 40 80 00 10 */ bge lbl_801D59BC
-/* 801D59B0 001D1610 2C 03 00 00 */ cmpwi r3, 0
-/* 801D59B4 001D1614 41 82 00 18 */ beq lbl_801D59CC
-/* 801D59B8 001D1618 48 00 00 34 */ b lbl_801D59EC
-lbl_801D59BC:
-/* 801D59BC 001D161C 2C 03 07 06 */ cmpwi r3, 0x706
-/* 801D59C0 001D1620 41 82 00 24 */ beq lbl_801D59E4
-/* 801D59C4 001D1624 40 80 00 28 */ bge lbl_801D59EC
-/* 801D59C8 001D1628 48 00 00 14 */ b lbl_801D59DC
-lbl_801D59CC:
-/* 801D59CC 001D162C 3B E0 00 00 */ li r31, 0
-/* 801D59D0 001D1630 48 00 00 20 */ b lbl_801D59F0
-lbl_801D59D4:
-/* 801D59D4 001D1634 3B E0 00 21 */ li r31, 0x21
-/* 801D59D8 001D1638 48 00 00 18 */ b lbl_801D59F0
-lbl_801D59DC:
-/* 801D59DC 001D163C 3B E0 00 22 */ li r31, 0x22
-/* 801D59E0 001D1640 48 00 00 10 */ b lbl_801D59F0
-lbl_801D59E4:
-/* 801D59E4 001D1644 3B E0 00 20 */ li r31, 0x20
-/* 801D59E8 001D1648 48 00 00 08 */ b lbl_801D59F0
-lbl_801D59EC:
-/* 801D59EC 001D164C 3B E0 00 01 */ li r31, 1
-lbl_801D59F0:
-/* 801D59F0 001D1650 38 61 00 08 */ addi r3, r1, 8
-/* 801D59F4 001D1654 38 80 00 00 */ li r4, 0
-/* 801D59F8 001D1658 38 A0 00 40 */ li r5, 0x40
-/* 801D59FC 001D165C 4B E2 E7 39 */ bl TRK_memset
-/* 801D5A00 001D1660 3C 60 80 49 */ lis r3, lbl_804907E8@ha
-/* 801D5A04 001D1664 38 00 00 80 */ li r0, 0x80
-/* 801D5A08 001D1668 39 03 07 E8 */ addi r8, r3, lbl_804907E8@l
-/* 801D5A0C 001D166C 38 A0 00 40 */ li r5, 0x40
-/* 801D5A10 001D1670 80 E8 00 00 */ lwz r7, 0(r8)
-/* 801D5A14 001D1674 38 61 00 08 */ addi r3, r1, 8
-/* 801D5A18 001D1678 98 01 00 0C */ stb r0, 0xc(r1)
-/* 801D5A1C 001D167C 38 80 00 40 */ li r4, 0x40
-/* 801D5A20 001D1680 38 C7 00 01 */ addi r6, r7, 1
-/* 801D5A24 001D1684 90 E1 00 14 */ stw r7, 0x14(r1)
-/* 801D5A28 001D1688 38 06 00 01 */ addi r0, r6, 1
-/* 801D5A2C 001D168C 90 C8 00 00 */ stw r6, 0(r8)
-/* 801D5A30 001D1690 90 A1 00 08 */ stw r5, 8(r1)
-/* 801D5A34 001D1694 9B E1 00 10 */ stb r31, 0x10(r1)
-/* 801D5A38 001D1698 90 08 00 00 */ stw r0, 0(r8)
-/* 801D5A3C 001D169C 90 C1 00 14 */ stw r6, 0x14(r1)
-/* 801D5A40 001D16A0 48 00 3B CD */ bl func_801D960C
-/* 801D5A44 001D16A4 80 01 00 54 */ lwz r0, 0x54(r1)
-/* 801D5A48 001D16A8 38 60 00 00 */ li r3, 0
-/* 801D5A4C 001D16AC 83 E1 00 4C */ lwz r31, 0x4c(r1)
-/* 801D5A50 001D16B0 7C 08 03 A6 */ mtlr r0
-/* 801D5A54 001D16B4 38 21 00 50 */ addi r1, r1, 0x50
-/* 801D5A58 001D16B8 4E 80 00 20 */ blr
-
-.global func_801D5A5C
-func_801D5A5C:
-/* 801D5A5C 001D16BC 94 21 FE A0 */ stwu r1, -0x160(r1)
-/* 801D5A60 001D16C0 7C 08 02 A6 */ mflr r0
-/* 801D5A64 001D16C4 38 80 00 00 */ li r4, 0
-/* 801D5A68 001D16C8 90 01 01 64 */ stw r0, 0x164(r1)
-/* 801D5A6C 001D16CC BF 61 01 4C */ stmw r27, 0x14c(r1)
-/* 801D5A70 001D16D0 7C 7B 1B 78 */ mr r27, r3
-/* 801D5A74 001D16D4 4B FF F8 95 */ bl TRKSetBufferPosition
-/* 801D5A78 001D16D8 8B FB 00 18 */ lbz r31, 0x18(r27)
-/* 801D5A7C 001D16DC 83 BB 00 20 */ lwz r29, 0x20(r27)
-/* 801D5A80 001D16E0 2C 1F 00 10 */ cmpwi r31, 0x10
-/* 801D5A84 001D16E4 83 9B 00 24 */ lwz r28, 0x24(r27)
-/* 801D5A88 001D16E8 41 82 00 2C */ beq lbl_801D5AB4
-/* 801D5A8C 001D16EC 40 80 00 1C */ bge lbl_801D5AA8
-/* 801D5A90 001D16F0 2C 1F 00 01 */ cmpwi r31, 1
-/* 801D5A94 001D16F4 41 82 00 8C */ beq lbl_801D5B20
-/* 801D5A98 001D16F8 40 80 00 FC */ bge lbl_801D5B94
-/* 801D5A9C 001D16FC 2C 1F 00 00 */ cmpwi r31, 0
-/* 801D5AA0 001D1700 40 80 00 14 */ bge lbl_801D5AB4
-/* 801D5AA4 001D1704 48 00 00 F0 */ b lbl_801D5B94
-lbl_801D5AA8:
-/* 801D5AA8 001D1708 2C 1F 00 12 */ cmpwi r31, 0x12
-/* 801D5AAC 001D170C 40 80 00 E8 */ bge lbl_801D5B94
-/* 801D5AB0 001D1710 48 00 00 70 */ b lbl_801D5B20
-lbl_801D5AB4:
-/* 801D5AB4 001D1714 8B DB 00 1C */ lbz r30, 0x1c(r27)
-/* 801D5AB8 001D1718 28 1E 00 01 */ cmplwi r30, 1
-/* 801D5ABC 001D171C 40 80 01 38 */ bge lbl_801D5BF4
-/* 801D5AC0 001D1720 38 61 01 08 */ addi r3, r1, 0x108
-/* 801D5AC4 001D1724 38 80 00 00 */ li r4, 0
-/* 801D5AC8 001D1728 38 A0 00 40 */ li r5, 0x40
-/* 801D5ACC 001D172C 4B E2 E6 69 */ bl TRK_memset
-/* 801D5AD0 001D1730 3C 60 80 49 */ lis r3, lbl_804907E8@ha
-/* 801D5AD4 001D1734 38 00 00 80 */ li r0, 0x80
-/* 801D5AD8 001D1738 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
-/* 801D5ADC 001D173C 38 C0 00 40 */ li r6, 0x40
-/* 801D5AE0 001D1740 81 09 00 00 */ lwz r8, 0(r9)
-/* 801D5AE4 001D1744 38 A0 00 11 */ li r5, 0x11
-/* 801D5AE8 001D1748 98 01 01 0C */ stb r0, 0x10c(r1)
-/* 801D5AEC 001D174C 38 61 01 08 */ addi r3, r1, 0x108
-/* 801D5AF0 001D1750 38 E8 00 01 */ addi r7, r8, 1
-/* 801D5AF4 001D1754 38 80 00 40 */ li r4, 0x40
-/* 801D5AF8 001D1758 91 01 01 14 */ stw r8, 0x114(r1)
-/* 801D5AFC 001D175C 38 07 00 01 */ addi r0, r7, 1
-/* 801D5B00 001D1760 90 E9 00 00 */ stw r7, 0(r9)
-/* 801D5B04 001D1764 90 C1 01 08 */ stw r6, 0x108(r1)
-/* 801D5B08 001D1768 98 A1 01 10 */ stb r5, 0x110(r1)
-/* 801D5B0C 001D176C 90 09 00 00 */ stw r0, 0(r9)
-/* 801D5B10 001D1770 90 E1 01 14 */ stw r7, 0x114(r1)
-/* 801D5B14 001D1774 48 00 3A F9 */ bl func_801D960C
-/* 801D5B18 001D1778 38 60 00 00 */ li r3, 0
-/* 801D5B1C 001D177C 48 00 02 00 */ b lbl_801D5D1C
-lbl_801D5B20:
-/* 801D5B20 001D1780 48 00 1D 15 */ bl func_801D7834
-/* 801D5B24 001D1784 7C 03 E8 40 */ cmplw r3, r29
-/* 801D5B28 001D1788 41 80 00 0C */ blt lbl_801D5B34
-/* 801D5B2C 001D178C 7C 03 E0 40 */ cmplw r3, r28
-/* 801D5B30 001D1790 40 81 00 C4 */ ble lbl_801D5BF4
-lbl_801D5B34:
-/* 801D5B34 001D1794 38 61 00 C8 */ addi r3, r1, 0xc8
-/* 801D5B38 001D1798 38 80 00 00 */ li r4, 0
-/* 801D5B3C 001D179C 38 A0 00 40 */ li r5, 0x40
-/* 801D5B40 001D17A0 4B E2 E5 F5 */ bl TRK_memset
-/* 801D5B44 001D17A4 3C 60 80 49 */ lis r3, lbl_804907E8@ha
-/* 801D5B48 001D17A8 38 00 00 80 */ li r0, 0x80
-/* 801D5B4C 001D17AC 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
-/* 801D5B50 001D17B0 38 C0 00 40 */ li r6, 0x40
-/* 801D5B54 001D17B4 81 09 00 00 */ lwz r8, 0(r9)
-/* 801D5B58 001D17B8 38 A0 00 11 */ li r5, 0x11
-/* 801D5B5C 001D17BC 98 01 00 CC */ stb r0, 0xcc(r1)
-/* 801D5B60 001D17C0 38 61 00 C8 */ addi r3, r1, 0xc8
-/* 801D5B64 001D17C4 38 E8 00 01 */ addi r7, r8, 1
-/* 801D5B68 001D17C8 38 80 00 40 */ li r4, 0x40
-/* 801D5B6C 001D17CC 91 01 00 D4 */ stw r8, 0xd4(r1)
-/* 801D5B70 001D17D0 38 07 00 01 */ addi r0, r7, 1
-/* 801D5B74 001D17D4 90 E9 00 00 */ stw r7, 0(r9)
-/* 801D5B78 001D17D8 90 C1 00 C8 */ stw r6, 0xc8(r1)
-/* 801D5B7C 001D17DC 98 A1 00 D0 */ stb r5, 0xd0(r1)
-/* 801D5B80 001D17E0 90 09 00 00 */ stw r0, 0(r9)
-/* 801D5B84 001D17E4 90 E1 00 D4 */ stw r7, 0xd4(r1)
-/* 801D5B88 001D17E8 48 00 3A 85 */ bl func_801D960C
-/* 801D5B8C 001D17EC 38 60 00 00 */ li r3, 0
-/* 801D5B90 001D17F0 48 00 01 8C */ b lbl_801D5D1C
-lbl_801D5B94:
-/* 801D5B94 001D17F4 38 61 00 88 */ addi r3, r1, 0x88
-/* 801D5B98 001D17F8 38 80 00 00 */ li r4, 0
-/* 801D5B9C 001D17FC 38 A0 00 40 */ li r5, 0x40
-/* 801D5BA0 001D1800 4B E2 E5 95 */ bl TRK_memset
-/* 801D5BA4 001D1804 3C 60 80 49 */ lis r3, lbl_804907E8@ha
-/* 801D5BA8 001D1808 38 00 00 80 */ li r0, 0x80
-/* 801D5BAC 001D180C 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
-/* 801D5BB0 001D1810 38 C0 00 40 */ li r6, 0x40
-/* 801D5BB4 001D1814 81 09 00 00 */ lwz r8, 0(r9)
-/* 801D5BB8 001D1818 38 A0 00 12 */ li r5, 0x12
-/* 801D5BBC 001D181C 98 01 00 8C */ stb r0, 0x8c(r1)
-/* 801D5BC0 001D1820 38 61 00 88 */ addi r3, r1, 0x88
-/* 801D5BC4 001D1824 38 E8 00 01 */ addi r7, r8, 1
-/* 801D5BC8 001D1828 38 80 00 40 */ li r4, 0x40
-/* 801D5BCC 001D182C 91 01 00 94 */ stw r8, 0x94(r1)
-/* 801D5BD0 001D1830 38 07 00 01 */ addi r0, r7, 1
-/* 801D5BD4 001D1834 90 E9 00 00 */ stw r7, 0(r9)
-/* 801D5BD8 001D1838 90 C1 00 88 */ stw r6, 0x88(r1)
-/* 801D5BDC 001D183C 98 A1 00 90 */ stb r5, 0x90(r1)
-/* 801D5BE0 001D1840 90 09 00 00 */ stw r0, 0(r9)
-/* 801D5BE4 001D1844 90 E1 00 94 */ stw r7, 0x94(r1)
-/* 801D5BE8 001D1848 48 00 3A 25 */ bl func_801D960C
-/* 801D5BEC 001D184C 38 60 00 00 */ li r3, 0
-/* 801D5BF0 001D1850 48 00 01 2C */ b lbl_801D5D1C
-lbl_801D5BF4:
-/* 801D5BF4 001D1854 48 00 1A 31 */ bl func_801D7624
-/* 801D5BF8 001D1858 2C 03 00 00 */ cmpwi r3, 0
-/* 801D5BFC 001D185C 40 82 00 64 */ bne lbl_801D5C60
-/* 801D5C00 001D1860 38 61 00 48 */ addi r3, r1, 0x48
-/* 801D5C04 001D1864 38 80 00 00 */ li r4, 0
-/* 801D5C08 001D1868 38 A0 00 40 */ li r5, 0x40
-/* 801D5C0C 001D186C 4B E2 E5 29 */ bl TRK_memset
-/* 801D5C10 001D1870 3C 60 80 49 */ lis r3, lbl_804907E8@ha
-/* 801D5C14 001D1874 38 00 00 80 */ li r0, 0x80
-/* 801D5C18 001D1878 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
-/* 801D5C1C 001D187C 38 C0 00 40 */ li r6, 0x40
-/* 801D5C20 001D1880 81 09 00 00 */ lwz r8, 0(r9)
-/* 801D5C24 001D1884 38 A0 00 16 */ li r5, 0x16
-/* 801D5C28 001D1888 98 01 00 4C */ stb r0, 0x4c(r1)
-/* 801D5C2C 001D188C 38 61 00 48 */ addi r3, r1, 0x48
-/* 801D5C30 001D1890 38 E8 00 01 */ addi r7, r8, 1
-/* 801D5C34 001D1894 38 80 00 40 */ li r4, 0x40
-/* 801D5C38 001D1898 91 01 00 54 */ stw r8, 0x54(r1)
-/* 801D5C3C 001D189C 38 07 00 01 */ addi r0, r7, 1
-/* 801D5C40 001D18A0 90 E9 00 00 */ stw r7, 0(r9)
-/* 801D5C44 001D18A4 90 C1 00 48 */ stw r6, 0x48(r1)
-/* 801D5C48 001D18A8 98 A1 00 50 */ stb r5, 0x50(r1)
-/* 801D5C4C 001D18AC 90 09 00 00 */ stw r0, 0(r9)
-/* 801D5C50 001D18B0 90 E1 00 54 */ stw r7, 0x54(r1)
-/* 801D5C54 001D18B4 48 00 39 B9 */ bl func_801D960C
-/* 801D5C58 001D18B8 38 60 00 00 */ li r3, 0
-/* 801D5C5C 001D18BC 48 00 00 C0 */ b lbl_801D5D1C
-lbl_801D5C60:
-/* 801D5C60 001D18C0 38 61 00 08 */ addi r3, r1, 8
-/* 801D5C64 001D18C4 38 80 00 00 */ li r4, 0
-/* 801D5C68 001D18C8 38 A0 00 40 */ li r5, 0x40
-/* 801D5C6C 001D18CC 4B E2 E4 C9 */ bl TRK_memset
-/* 801D5C70 001D18D0 3C 60 80 49 */ lis r3, lbl_804907E8@ha
-/* 801D5C74 001D18D4 38 00 00 80 */ li r0, 0x80
-/* 801D5C78 001D18D8 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
-/* 801D5C7C 001D18DC 38 C0 00 40 */ li r6, 0x40
-/* 801D5C80 001D18E0 81 09 00 00 */ lwz r8, 0(r9)
-/* 801D5C84 001D18E4 38 A0 00 00 */ li r5, 0
-/* 801D5C88 001D18E8 98 01 00 0C */ stb r0, 0xc(r1)
-/* 801D5C8C 001D18EC 38 61 00 08 */ addi r3, r1, 8
-/* 801D5C90 001D18F0 38 E8 00 01 */ addi r7, r8, 1
-/* 801D5C94 001D18F4 38 80 00 40 */ li r4, 0x40
-/* 801D5C98 001D18F8 91 01 00 14 */ stw r8, 0x14(r1)
-/* 801D5C9C 001D18FC 38 07 00 01 */ addi r0, r7, 1
-/* 801D5CA0 001D1900 90 E9 00 00 */ stw r7, 0(r9)
-/* 801D5CA4 001D1904 90 C1 00 08 */ stw r6, 8(r1)
-/* 801D5CA8 001D1908 98 A1 00 10 */ stb r5, 0x10(r1)
-/* 801D5CAC 001D190C 90 09 00 00 */ stw r0, 0(r9)
-/* 801D5CB0 001D1910 90 E1 00 14 */ stw r7, 0x14(r1)
-/* 801D5CB4 001D1914 48 00 39 59 */ bl func_801D960C
-/* 801D5CB8 001D1918 2C 1F 00 10 */ cmpwi r31, 0x10
-/* 801D5CBC 001D191C 38 60 00 00 */ li r3, 0
-/* 801D5CC0 001D1920 41 82 00 2C */ beq lbl_801D5CEC
-/* 801D5CC4 001D1924 40 80 00 1C */ bge lbl_801D5CE0
-/* 801D5CC8 001D1928 2C 1F 00 01 */ cmpwi r31, 1
-/* 801D5CCC 001D192C 41 82 00 38 */ beq lbl_801D5D04
-/* 801D5CD0 001D1930 40 80 00 4C */ bge lbl_801D5D1C
-/* 801D5CD4 001D1934 2C 1F 00 00 */ cmpwi r31, 0
-/* 801D5CD8 001D1938 40 80 00 14 */ bge lbl_801D5CEC
-/* 801D5CDC 001D193C 48 00 00 40 */ b lbl_801D5D1C
-lbl_801D5CE0:
-/* 801D5CE0 001D1940 2C 1F 00 12 */ cmpwi r31, 0x12
-/* 801D5CE4 001D1944 40 80 00 38 */ bge lbl_801D5D1C
-/* 801D5CE8 001D1948 48 00 00 1C */ b lbl_801D5D04
-lbl_801D5CEC:
-/* 801D5CEC 001D194C 20 1F 00 10 */ subfic r0, r31, 0x10
-/* 801D5CF0 001D1950 7F C3 F3 78 */ mr r3, r30
-/* 801D5CF4 001D1954 7C 00 00 34 */ cntlzw r0, r0
-/* 801D5CF8 001D1958 54 04 D9 7E */ srwi r4, r0, 5
-/* 801D5CFC 001D195C 48 00 1B C5 */ bl func_801D78C0
-/* 801D5D00 001D1960 48 00 00 1C */ b lbl_801D5D1C
-lbl_801D5D04:
-/* 801D5D04 001D1964 20 1F 00 11 */ subfic r0, r31, 0x11
-/* 801D5D08 001D1968 7F A3 EB 78 */ mr r3, r29
-/* 801D5D0C 001D196C 7C 00 00 34 */ cntlzw r0, r0
-/* 801D5D10 001D1970 7F 84 E3 78 */ mr r4, r28
-/* 801D5D14 001D1974 54 05 D9 7E */ srwi r5, r0, 5
-/* 801D5D18 001D1978 48 00 1B 2D */ bl func_801D7844
-lbl_801D5D1C:
-/* 801D5D1C 001D197C BB 61 01 4C */ lmw r27, 0x14c(r1)
-/* 801D5D20 001D1980 80 01 01 64 */ lwz r0, 0x164(r1)
-/* 801D5D24 001D1984 7C 08 03 A6 */ mtlr r0
-/* 801D5D28 001D1988 38 21 01 60 */ addi r1, r1, 0x160
-/* 801D5D2C 001D198C 4E 80 00 20 */ blr
-
-.global func_801D5D30
-func_801D5D30:
-/* 801D5D30 001D1990 94 21 FF 70 */ stwu r1, -0x90(r1)
-/* 801D5D34 001D1994 7C 08 02 A6 */ mflr r0
-/* 801D5D38 001D1998 90 01 00 94 */ stw r0, 0x94(r1)
-/* 801D5D3C 001D199C 48 00 18 E9 */ bl func_801D7624
-/* 801D5D40 001D19A0 2C 03 00 00 */ cmpwi r3, 0
-/* 801D5D44 001D19A4 40 82 00 64 */ bne lbl_801D5DA8
-/* 801D5D48 001D19A8 38 61 00 48 */ addi r3, r1, 0x48
-/* 801D5D4C 001D19AC 38 80 00 00 */ li r4, 0
-/* 801D5D50 001D19B0 38 A0 00 40 */ li r5, 0x40
-/* 801D5D54 001D19B4 4B E2 E3 E1 */ bl TRK_memset
-/* 801D5D58 001D19B8 3C 60 80 49 */ lis r3, lbl_804907E8@ha
-/* 801D5D5C 001D19BC 38 00 00 80 */ li r0, 0x80
-/* 801D5D60 001D19C0 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
-/* 801D5D64 001D19C4 38 C0 00 40 */ li r6, 0x40
-/* 801D5D68 001D19C8 81 09 00 00 */ lwz r8, 0(r9)
-/* 801D5D6C 001D19CC 38 A0 00 16 */ li r5, 0x16
-/* 801D5D70 001D19D0 98 01 00 4C */ stb r0, 0x4c(r1)
-/* 801D5D74 001D19D4 38 61 00 48 */ addi r3, r1, 0x48
-/* 801D5D78 001D19D8 38 E8 00 01 */ addi r7, r8, 1
-/* 801D5D7C 001D19DC 38 80 00 40 */ li r4, 0x40
-/* 801D5D80 001D19E0 91 01 00 54 */ stw r8, 0x54(r1)
-/* 801D5D84 001D19E4 38 07 00 01 */ addi r0, r7, 1
-/* 801D5D88 001D19E8 90 E9 00 00 */ stw r7, 0(r9)
-/* 801D5D8C 001D19EC 90 C1 00 48 */ stw r6, 0x48(r1)
-/* 801D5D90 001D19F0 98 A1 00 50 */ stb r5, 0x50(r1)
-/* 801D5D94 001D19F4 90 09 00 00 */ stw r0, 0(r9)
-/* 801D5D98 001D19F8 90 E1 00 54 */ stw r7, 0x54(r1)
-/* 801D5D9C 001D19FC 48 00 38 71 */ bl func_801D960C
-/* 801D5DA0 001D1A00 38 60 00 00 */ li r3, 0
-/* 801D5DA4 001D1A04 48 00 00 60 */ b lbl_801D5E04
-lbl_801D5DA8:
-/* 801D5DA8 001D1A08 38 61 00 08 */ addi r3, r1, 8
-/* 801D5DAC 001D1A0C 38 80 00 00 */ li r4, 0
-/* 801D5DB0 001D1A10 38 A0 00 40 */ li r5, 0x40
-/* 801D5DB4 001D1A14 4B E2 E3 81 */ bl TRK_memset
-/* 801D5DB8 001D1A18 3C 60 80 49 */ lis r3, lbl_804907E8@ha
-/* 801D5DBC 001D1A1C 38 00 00 80 */ li r0, 0x80
-/* 801D5DC0 001D1A20 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
-/* 801D5DC4 001D1A24 38 C0 00 40 */ li r6, 0x40
-/* 801D5DC8 001D1A28 81 09 00 00 */ lwz r8, 0(r9)
-/* 801D5DCC 001D1A2C 38 A0 00 00 */ li r5, 0
-/* 801D5DD0 001D1A30 98 01 00 0C */ stb r0, 0xc(r1)
-/* 801D5DD4 001D1A34 38 61 00 08 */ addi r3, r1, 8
-/* 801D5DD8 001D1A38 38 E8 00 01 */ addi r7, r8, 1
-/* 801D5DDC 001D1A3C 38 80 00 40 */ li r4, 0x40
-/* 801D5DE0 001D1A40 91 01 00 14 */ stw r8, 0x14(r1)
-/* 801D5DE4 001D1A44 38 07 00 01 */ addi r0, r7, 1
-/* 801D5DE8 001D1A48 90 E9 00 00 */ stw r7, 0(r9)
-/* 801D5DEC 001D1A4C 90 C1 00 08 */ stw r6, 8(r1)
-/* 801D5DF0 001D1A50 98 A1 00 10 */ stb r5, 0x10(r1)
-/* 801D5DF4 001D1A54 90 09 00 00 */ stw r0, 0(r9)
-/* 801D5DF8 001D1A58 90 E1 00 14 */ stw r7, 0x14(r1)
-/* 801D5DFC 001D1A5C 48 00 38 11 */ bl func_801D960C
-/* 801D5E00 001D1A60 48 00 3B 59 */ bl TRKTargetContinue
-lbl_801D5E04:
-/* 801D5E04 001D1A64 80 01 00 94 */ lwz r0, 0x94(r1)
-/* 801D5E08 001D1A68 7C 08 03 A6 */ mtlr r0
-/* 801D5E0C 001D1A6C 38 21 00 90 */ addi r1, r1, 0x90
-/* 801D5E10 001D1A70 4E 80 00 20 */ blr
-
-.global func_801D5E14
-func_801D5E14:
-/* 801D5E14 001D1A74 94 21 FF 20 */ stwu r1, -0xe0(r1)
-/* 801D5E18 001D1A78 7C 08 02 A6 */ mflr r0
-/* 801D5E1C 001D1A7C 38 80 00 00 */ li r4, 0
-/* 801D5E20 001D1A80 90 01 00 E4 */ stw r0, 0xe4(r1)
-/* 801D5E24 001D1A84 93 E1 00 DC */ stw r31, 0xdc(r1)
-/* 801D5E28 001D1A88 93 C1 00 D8 */ stw r30, 0xd8(r1)
-/* 801D5E2C 001D1A8C 93 A1 00 D4 */ stw r29, 0xd4(r1)
-/* 801D5E30 001D1A90 93 81 00 D0 */ stw r28, 0xd0(r1)
-/* 801D5E34 001D1A94 7C 7C 1B 78 */ mr r28, r3
-/* 801D5E38 001D1A98 8B E3 00 18 */ lbz r31, 0x18(r3)
-/* 801D5E3C 001D1A9C A3 C3 00 1C */ lhz r30, 0x1c(r3)
-/* 801D5E40 001D1AA0 A3 A3 00 20 */ lhz r29, 0x20(r3)
-/* 801D5E44 001D1AA4 4B FF F4 C5 */ bl TRKSetBufferPosition
-/* 801D5E48 001D1AA8 7C 1E E8 40 */ cmplw r30, r29
-/* 801D5E4C 001D1AAC 40 81 00 64 */ ble lbl_801D5EB0
-/* 801D5E50 001D1AB0 38 61 00 4C */ addi r3, r1, 0x4c
-/* 801D5E54 001D1AB4 38 80 00 00 */ li r4, 0
-/* 801D5E58 001D1AB8 38 A0 00 40 */ li r5, 0x40
-/* 801D5E5C 001D1ABC 4B E2 E2 D9 */ bl TRK_memset
-/* 801D5E60 001D1AC0 3C 60 80 49 */ lis r3, lbl_804907E8@ha
-/* 801D5E64 001D1AC4 38 00 00 80 */ li r0, 0x80
-/* 801D5E68 001D1AC8 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
-/* 801D5E6C 001D1ACC 38 C0 00 40 */ li r6, 0x40
-/* 801D5E70 001D1AD0 81 09 00 00 */ lwz r8, 0(r9)
-/* 801D5E74 001D1AD4 38 A0 00 14 */ li r5, 0x14
-/* 801D5E78 001D1AD8 98 01 00 50 */ stb r0, 0x50(r1)
-/* 801D5E7C 001D1ADC 38 61 00 4C */ addi r3, r1, 0x4c
-/* 801D5E80 001D1AE0 38 E8 00 01 */ addi r7, r8, 1
-/* 801D5E84 001D1AE4 38 80 00 40 */ li r4, 0x40
-/* 801D5E88 001D1AE8 91 01 00 58 */ stw r8, 0x58(r1)
-/* 801D5E8C 001D1AEC 38 07 00 01 */ addi r0, r7, 1
-/* 801D5E90 001D1AF0 90 E9 00 00 */ stw r7, 0(r9)
-/* 801D5E94 001D1AF4 90 C1 00 4C */ stw r6, 0x4c(r1)
-/* 801D5E98 001D1AF8 98 A1 00 54 */ stb r5, 0x54(r1)
-/* 801D5E9C 001D1AFC 90 09 00 00 */ stw r0, 0(r9)
-/* 801D5EA0 001D1B00 90 E1 00 58 */ stw r7, 0x58(r1)
-/* 801D5EA4 001D1B04 48 00 37 69 */ bl func_801D960C
-/* 801D5EA8 001D1B08 38 60 00 00 */ li r3, 0
-/* 801D5EAC 001D1B0C 48 00 02 04 */ b lbl_801D60B0
-lbl_801D5EB0:
-/* 801D5EB0 001D1B10 7F 83 E3 78 */ mr r3, r28
-/* 801D5EB4 001D1B14 38 80 00 40 */ li r4, 0x40
-/* 801D5EB8 001D1B18 4B FF F4 51 */ bl TRKSetBufferPosition
-/* 801D5EBC 001D1B1C 2C 1F 00 02 */ cmpwi r31, 2
-/* 801D5EC0 001D1B20 41 82 00 64 */ beq lbl_801D5F24
-/* 801D5EC4 001D1B24 40 80 00 14 */ bge lbl_801D5ED8
-/* 801D5EC8 001D1B28 2C 1F 00 00 */ cmpwi r31, 0
-/* 801D5ECC 001D1B2C 41 82 00 18 */ beq lbl_801D5EE4
-/* 801D5ED0 001D1B30 40 80 00 34 */ bge lbl_801D5F04
-/* 801D5ED4 001D1B34 48 00 00 90 */ b lbl_801D5F64
-lbl_801D5ED8:
-/* 801D5ED8 001D1B38 2C 1F 00 04 */ cmpwi r31, 4
-/* 801D5EDC 001D1B3C 40 80 00 88 */ bge lbl_801D5F64
-/* 801D5EE0 001D1B40 48 00 00 64 */ b lbl_801D5F44
-lbl_801D5EE4:
-/* 801D5EE4 001D1B44 7F C3 F3 78 */ mr r3, r30
-/* 801D5EE8 001D1B48 7F A4 EB 78 */ mr r4, r29
-/* 801D5EEC 001D1B4C 7F 85 E3 78 */ mr r5, r28
-/* 801D5EF0 001D1B50 38 C1 00 08 */ addi r6, r1, 8
-/* 801D5EF4 001D1B54 38 E0 00 00 */ li r7, 0
-/* 801D5EF8 001D1B58 48 00 28 01 */ bl TRKTargetAccessDefault
-/* 801D5EFC 001D1B5C 7C 7F 1B 78 */ mr r31, r3
-/* 801D5F00 001D1B60 48 00 00 68 */ b lbl_801D5F68
-lbl_801D5F04:
-/* 801D5F04 001D1B64 7F C3 F3 78 */ mr r3, r30
-/* 801D5F08 001D1B68 7F A4 EB 78 */ mr r4, r29
-/* 801D5F0C 001D1B6C 7F 85 E3 78 */ mr r5, r28
-/* 801D5F10 001D1B70 38 C1 00 08 */ addi r6, r1, 8
-/* 801D5F14 001D1B74 38 E0 00 00 */ li r7, 0
-/* 801D5F18 001D1B78 48 00 22 D5 */ bl TRKTargetAccessFP
-/* 801D5F1C 001D1B7C 7C 7F 1B 78 */ mr r31, r3
-/* 801D5F20 001D1B80 48 00 00 48 */ b lbl_801D5F68
-lbl_801D5F24:
-/* 801D5F24 001D1B84 7F C3 F3 78 */ mr r3, r30
-/* 801D5F28 001D1B88 7F A4 EB 78 */ mr r4, r29
-/* 801D5F2C 001D1B8C 7F 85 E3 78 */ mr r5, r28
-/* 801D5F30 001D1B90 38 C1 00 08 */ addi r6, r1, 8
-/* 801D5F34 001D1B94 38 E0 00 00 */ li r7, 0
-/* 801D5F38 001D1B98 48 00 21 45 */ bl TRKTargetAccessExtended1
-/* 801D5F3C 001D1B9C 7C 7F 1B 78 */ mr r31, r3
-/* 801D5F40 001D1BA0 48 00 00 28 */ b lbl_801D5F68
-lbl_801D5F44:
-/* 801D5F44 001D1BA4 7F C3 F3 78 */ mr r3, r30
-/* 801D5F48 001D1BA8 7F A4 EB 78 */ mr r4, r29
-/* 801D5F4C 001D1BAC 7F 85 E3 78 */ mr r5, r28
-/* 801D5F50 001D1BB0 38 C1 00 08 */ addi r6, r1, 8
-/* 801D5F54 001D1BB4 38 E0 00 00 */ li r7, 0
-/* 801D5F58 001D1BB8 48 00 1C ED */ bl TRKTargetAccessExtended2
-/* 801D5F5C 001D1BBC 7C 7F 1B 78 */ mr r31, r3
-/* 801D5F60 001D1BC0 48 00 00 08 */ b lbl_801D5F68
-lbl_801D5F64:
-/* 801D5F64 001D1BC4 3B E0 07 03 */ li r31, 0x703
-lbl_801D5F68:
-/* 801D5F68 001D1BC8 7F 83 E3 78 */ mr r3, r28
-/* 801D5F6C 001D1BCC 38 80 00 00 */ li r4, 0
-/* 801D5F70 001D1BD0 4B FF F3 C9 */ bl TRKResetBuffer
-/* 801D5F74 001D1BD4 2C 1F 00 00 */ cmpwi r31, 0
-/* 801D5F78 001D1BD8 40 82 00 54 */ bne lbl_801D5FCC
-/* 801D5F7C 001D1BDC 38 61 00 8C */ addi r3, r1, 0x8c
-/* 801D5F80 001D1BE0 38 80 00 00 */ li r4, 0
-/* 801D5F84 001D1BE4 38 A0 00 40 */ li r5, 0x40
-/* 801D5F88 001D1BE8 4B E2 E1 AD */ bl TRK_memset
-/* 801D5F8C 001D1BEC 3C 60 80 49 */ lis r3, lbl_804907E8@ha
-/* 801D5F90 001D1BF0 38 00 00 40 */ li r0, 0x40
-/* 801D5F94 001D1BF4 38 E3 07 E8 */ addi r7, r3, lbl_804907E8@l
-/* 801D5F98 001D1BF8 38 A0 00 80 */ li r5, 0x80
-/* 801D5F9C 001D1BFC 80 C7 00 00 */ lwz r6, 0(r7)
-/* 801D5FA0 001D1C00 7F 83 E3 78 */ mr r3, r28
-/* 801D5FA4 001D1C04 90 01 00 8C */ stw r0, 0x8c(r1)
-/* 801D5FA8 001D1C08 38 81 00 8C */ addi r4, r1, 0x8c
-/* 801D5FAC 001D1C0C 38 06 00 01 */ addi r0, r6, 1
-/* 801D5FB0 001D1C10 98 A1 00 90 */ stb r5, 0x90(r1)
-/* 801D5FB4 001D1C14 38 A0 00 40 */ li r5, 0x40
-/* 801D5FB8 001D1C18 9B E1 00 94 */ stb r31, 0x94(r1)
-/* 801D5FBC 001D1C1C 90 07 00 00 */ stw r0, 0(r7)
-/* 801D5FC0 001D1C20 90 C1 00 98 */ stw r6, 0x98(r1)
-/* 801D5FC4 001D1C24 4B FF F2 A1 */ bl TRKAppendBuffer
-/* 801D5FC8 001D1C28 7C 7F 1B 78 */ mr r31, r3
-lbl_801D5FCC:
-/* 801D5FCC 001D1C2C 2C 1F 00 00 */ cmpwi r31, 0
-/* 801D5FD0 001D1C30 41 82 00 D8 */ beq lbl_801D60A8
-/* 801D5FD4 001D1C34 2C 1F 07 03 */ cmpwi r31, 0x703
-/* 801D5FD8 001D1C38 41 82 00 38 */ beq lbl_801D6010
-/* 801D5FDC 001D1C3C 40 80 00 1C */ bge lbl_801D5FF8
-/* 801D5FE0 001D1C40 2C 1F 07 01 */ cmpwi r31, 0x701
-/* 801D5FE4 001D1C44 41 82 00 34 */ beq lbl_801D6018
-/* 801D5FE8 001D1C48 40 80 00 40 */ bge lbl_801D6028
-/* 801D5FEC 001D1C4C 2C 1F 03 02 */ cmpwi r31, 0x302
-/* 801D5FF0 001D1C50 41 82 00 30 */ beq lbl_801D6020
-/* 801D5FF4 001D1C54 48 00 00 54 */ b lbl_801D6048
-lbl_801D5FF8:
-/* 801D5FF8 001D1C58 2C 1F 07 06 */ cmpwi r31, 0x706
-/* 801D5FFC 001D1C5C 41 82 00 44 */ beq lbl_801D6040
-/* 801D6000 001D1C60 40 80 00 48 */ bge lbl_801D6048
-/* 801D6004 001D1C64 2C 1F 07 05 */ cmpwi r31, 0x705
-/* 801D6008 001D1C68 40 80 00 30 */ bge lbl_801D6038
-/* 801D600C 001D1C6C 48 00 00 24 */ b lbl_801D6030
-lbl_801D6010:
-/* 801D6010 001D1C70 3B E0 00 12 */ li r31, 0x12
-/* 801D6014 001D1C74 48 00 00 38 */ b lbl_801D604C
-lbl_801D6018:
-/* 801D6018 001D1C78 3B E0 00 14 */ li r31, 0x14
-/* 801D601C 001D1C7C 48 00 00 30 */ b lbl_801D604C
-lbl_801D6020:
-/* 801D6020 001D1C80 3B E0 00 02 */ li r31, 2
-/* 801D6024 001D1C84 48 00 00 28 */ b lbl_801D604C
-lbl_801D6028:
-/* 801D6028 001D1C88 3B E0 00 15 */ li r31, 0x15
-/* 801D602C 001D1C8C 48 00 00 20 */ b lbl_801D604C
-lbl_801D6030:
-/* 801D6030 001D1C90 3B E0 00 21 */ li r31, 0x21
-/* 801D6034 001D1C94 48 00 00 18 */ b lbl_801D604C
-lbl_801D6038:
-/* 801D6038 001D1C98 3B E0 00 22 */ li r31, 0x22
-/* 801D603C 001D1C9C 48 00 00 10 */ b lbl_801D604C
-lbl_801D6040:
-/* 801D6040 001D1CA0 3B E0 00 20 */ li r31, 0x20
-/* 801D6044 001D1CA4 48 00 00 08 */ b lbl_801D604C
-lbl_801D6048:
-/* 801D6048 001D1CA8 3B E0 00 03 */ li r31, 3
-lbl_801D604C:
-/* 801D604C 001D1CAC 38 61 00 0C */ addi r3, r1, 0xc
-/* 801D6050 001D1CB0 38 80 00 00 */ li r4, 0
-/* 801D6054 001D1CB4 38 A0 00 40 */ li r5, 0x40
-/* 801D6058 001D1CB8 4B E2 E0 DD */ bl TRK_memset
-/* 801D605C 001D1CBC 3C 60 80 49 */ lis r3, lbl_804907E8@ha
-/* 801D6060 001D1CC0 38 00 00 80 */ li r0, 0x80
-/* 801D6064 001D1CC4 39 03 07 E8 */ addi r8, r3, lbl_804907E8@l
-/* 801D6068 001D1CC8 38 A0 00 40 */ li r5, 0x40
-/* 801D606C 001D1CCC 80 E8 00 00 */ lwz r7, 0(r8)
-/* 801D6070 001D1CD0 38 61 00 0C */ addi r3, r1, 0xc
-/* 801D6074 001D1CD4 98 01 00 10 */ stb r0, 0x10(r1)
-/* 801D6078 001D1CD8 38 80 00 40 */ li r4, 0x40
-/* 801D607C 001D1CDC 38 C7 00 01 */ addi r6, r7, 1
-/* 801D6080 001D1CE0 90 E1 00 18 */ stw r7, 0x18(r1)
-/* 801D6084 001D1CE4 38 06 00 01 */ addi r0, r6, 1
-/* 801D6088 001D1CE8 90 C8 00 00 */ stw r6, 0(r8)
-/* 801D608C 001D1CEC 90 A1 00 0C */ stw r5, 0xc(r1)
-/* 801D6090 001D1CF0 9B E1 00 14 */ stb r31, 0x14(r1)
-/* 801D6094 001D1CF4 90 08 00 00 */ stw r0, 0(r8)
-/* 801D6098 001D1CF8 90 C1 00 18 */ stw r6, 0x18(r1)
-/* 801D609C 001D1CFC 48 00 35 71 */ bl func_801D960C
-/* 801D60A0 001D1D00 38 60 00 00 */ li r3, 0
-/* 801D60A4 001D1D04 48 00 00 0C */ b lbl_801D60B0
-lbl_801D60A8:
-/* 801D60A8 001D1D08 7F 83 E3 78 */ mr r3, r28
-/* 801D60AC 001D1D0C 4B FF EC 31 */ bl TRKMessageSend
-lbl_801D60B0:
-/* 801D60B0 001D1D10 80 01 00 E4 */ lwz r0, 0xe4(r1)
-/* 801D60B4 001D1D14 83 E1 00 DC */ lwz r31, 0xdc(r1)
-/* 801D60B8 001D1D18 83 C1 00 D8 */ lwz r30, 0xd8(r1)
-/* 801D60BC 001D1D1C 83 A1 00 D4 */ lwz r29, 0xd4(r1)
-/* 801D60C0 001D1D20 83 81 00 D0 */ lwz r28, 0xd0(r1)
-/* 801D60C4 001D1D24 7C 08 03 A6 */ mtlr r0
-/* 801D60C8 001D1D28 38 21 00 E0 */ addi r1, r1, 0xe0
-/* 801D60CC 001D1D2C 4E 80 00 20 */ blr
-
-.global func_801D60D0
-func_801D60D0:
-/* 801D60D0 001D1D30 94 21 FF 20 */ stwu r1, -0xe0(r1)
-/* 801D60D4 001D1D34 7C 08 02 A6 */ mflr r0
-/* 801D60D8 001D1D38 90 01 00 E4 */ stw r0, 0xe4(r1)
-/* 801D60DC 001D1D3C 93 E1 00 DC */ stw r31, 0xdc(r1)
-/* 801D60E0 001D1D40 7C 7F 1B 78 */ mr r31, r3
-/* 801D60E4 001D1D44 A0 83 00 1C */ lhz r4, 0x1c(r3)
-/* 801D60E8 001D1D48 A0 03 00 20 */ lhz r0, 0x20(r3)
-/* 801D60EC 001D1D4C 7C 04 00 40 */ cmplw r4, r0
-/* 801D60F0 001D1D50 40 81 00 64 */ ble lbl_801D6154
-/* 801D60F4 001D1D54 38 61 00 4C */ addi r3, r1, 0x4c
-/* 801D60F8 001D1D58 38 80 00 00 */ li r4, 0
-/* 801D60FC 001D1D5C 38 A0 00 40 */ li r5, 0x40
-/* 801D6100 001D1D60 4B E2 E0 35 */ bl TRK_memset
-/* 801D6104 001D1D64 3C 60 80 49 */ lis r3, lbl_804907E8@ha
-/* 801D6108 001D1D68 38 00 00 80 */ li r0, 0x80
-/* 801D610C 001D1D6C 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
-/* 801D6110 001D1D70 38 C0 00 40 */ li r6, 0x40
-/* 801D6114 001D1D74 81 09 00 00 */ lwz r8, 0(r9)
-/* 801D6118 001D1D78 38 A0 00 14 */ li r5, 0x14
-/* 801D611C 001D1D7C 98 01 00 50 */ stb r0, 0x50(r1)
-/* 801D6120 001D1D80 38 61 00 4C */ addi r3, r1, 0x4c
-/* 801D6124 001D1D84 38 E8 00 01 */ addi r7, r8, 1
-/* 801D6128 001D1D88 38 80 00 40 */ li r4, 0x40
-/* 801D612C 001D1D8C 91 01 00 58 */ stw r8, 0x58(r1)
-/* 801D6130 001D1D90 38 07 00 01 */ addi r0, r7, 1
-/* 801D6134 001D1D94 90 E9 00 00 */ stw r7, 0(r9)
-/* 801D6138 001D1D98 90 C1 00 4C */ stw r6, 0x4c(r1)
-/* 801D613C 001D1D9C 98 A1 00 54 */ stb r5, 0x54(r1)
-/* 801D6140 001D1DA0 90 09 00 00 */ stw r0, 0(r9)
-/* 801D6144 001D1DA4 90 E1 00 58 */ stw r7, 0x58(r1)
-/* 801D6148 001D1DA8 48 00 34 C5 */ bl func_801D960C
-/* 801D614C 001D1DAC 38 60 00 00 */ li r3, 0
-/* 801D6150 001D1DB0 48 00 01 90 */ b lbl_801D62E0
-lbl_801D6154:
-/* 801D6154 001D1DB4 3C 80 80 49 */ lis r4, lbl_804907E8@ha
-/* 801D6158 001D1DB8 38 00 00 80 */ li r0, 0x80
-/* 801D615C 001D1DBC 38 C4 07 E8 */ addi r6, r4, lbl_804907E8@l
-/* 801D6160 001D1DC0 38 E0 04 68 */ li r7, 0x468
-/* 801D6164 001D1DC4 80 A6 00 00 */ lwz r5, 0(r6)
-/* 801D6168 001D1DC8 38 80 00 00 */ li r4, 0
-/* 801D616C 001D1DCC 98 01 00 90 */ stb r0, 0x90(r1)
-/* 801D6170 001D1DD0 38 05 00 01 */ addi r0, r5, 1
-/* 801D6174 001D1DD4 90 E1 00 8C */ stw r7, 0x8c(r1)
-/* 801D6178 001D1DD8 90 06 00 00 */ stw r0, 0(r6)
-/* 801D617C 001D1DDC 90 A1 00 98 */ stw r5, 0x98(r1)
-/* 801D6180 001D1DE0 4B FF F1 B9 */ bl TRKResetBuffer
-/* 801D6184 001D1DE4 7F E3 FB 78 */ mr r3, r31
-/* 801D6188 001D1DE8 38 81 00 8C */ addi r4, r1, 0x8c
-/* 801D618C 001D1DEC 38 A0 00 40 */ li r5, 0x40
-/* 801D6190 001D1DF0 4B FF EE E5 */ bl TRKAppendBuffer_ui8
-/* 801D6194 001D1DF4 7F E5 FB 78 */ mr r5, r31
-/* 801D6198 001D1DF8 38 C1 00 08 */ addi r6, r1, 8
-/* 801D619C 001D1DFC 38 60 00 00 */ li r3, 0
-/* 801D61A0 001D1E00 38 80 00 24 */ li r4, 0x24
-/* 801D61A4 001D1E04 38 E0 00 01 */ li r7, 1
-/* 801D61A8 001D1E08 48 00 25 51 */ bl TRKTargetAccessDefault
-/* 801D61AC 001D1E0C 2C 03 00 00 */ cmpwi r3, 0
-/* 801D61B0 001D1E10 40 82 00 1C */ bne lbl_801D61CC
-/* 801D61B4 001D1E14 7F E5 FB 78 */ mr r5, r31
-/* 801D61B8 001D1E18 38 C1 00 08 */ addi r6, r1, 8
-/* 801D61BC 001D1E1C 38 60 00 00 */ li r3, 0
-/* 801D61C0 001D1E20 38 80 00 21 */ li r4, 0x21
-/* 801D61C4 001D1E24 38 E0 00 01 */ li r7, 1
-/* 801D61C8 001D1E28 48 00 20 25 */ bl TRKTargetAccessFP
-lbl_801D61CC:
-/* 801D61CC 001D1E2C 2C 03 00 00 */ cmpwi r3, 0
-/* 801D61D0 001D1E30 40 82 00 1C */ bne lbl_801D61EC
-/* 801D61D4 001D1E34 7F E5 FB 78 */ mr r5, r31
-/* 801D61D8 001D1E38 38 C1 00 08 */ addi r6, r1, 8
-/* 801D61DC 001D1E3C 38 60 00 00 */ li r3, 0
-/* 801D61E0 001D1E40 38 80 00 60 */ li r4, 0x60
-/* 801D61E4 001D1E44 38 E0 00 01 */ li r7, 1
-/* 801D61E8 001D1E48 48 00 1E 95 */ bl TRKTargetAccessExtended1
-lbl_801D61EC:
-/* 801D61EC 001D1E4C 2C 03 00 00 */ cmpwi r3, 0
-/* 801D61F0 001D1E50 40 82 00 1C */ bne lbl_801D620C
-/* 801D61F4 001D1E54 7F E5 FB 78 */ mr r5, r31
-/* 801D61F8 001D1E58 38 C1 00 08 */ addi r6, r1, 8
-/* 801D61FC 001D1E5C 38 60 00 00 */ li r3, 0
-/* 801D6200 001D1E60 38 80 00 1F */ li r4, 0x1f
-/* 801D6204 001D1E64 38 E0 00 01 */ li r7, 1
-/* 801D6208 001D1E68 48 00 1A 3D */ bl TRKTargetAccessExtended2
-lbl_801D620C:
-/* 801D620C 001D1E6C 2C 03 00 00 */ cmpwi r3, 0
-/* 801D6210 001D1E70 41 82 00 C8 */ beq lbl_801D62D8
-/* 801D6214 001D1E74 2C 03 07 04 */ cmpwi r3, 0x704
-/* 801D6218 001D1E78 41 82 00 48 */ beq lbl_801D6260
-/* 801D621C 001D1E7C 40 80 00 1C */ bge lbl_801D6238
-/* 801D6220 001D1E80 2C 03 07 02 */ cmpwi r3, 0x702
-/* 801D6224 001D1E84 41 82 00 34 */ beq lbl_801D6258
-/* 801D6228 001D1E88 40 80 00 20 */ bge lbl_801D6248
-/* 801D622C 001D1E8C 2C 03 07 01 */ cmpwi r3, 0x701
-/* 801D6230 001D1E90 40 80 00 20 */ bge lbl_801D6250
-/* 801D6234 001D1E94 48 00 00 44 */ b lbl_801D6278
-lbl_801D6238:
-/* 801D6238 001D1E98 2C 03 07 06 */ cmpwi r3, 0x706
-/* 801D623C 001D1E9C 41 82 00 34 */ beq lbl_801D6270
-/* 801D6240 001D1EA0 40 80 00 38 */ bge lbl_801D6278
-/* 801D6244 001D1EA4 48 00 00 24 */ b lbl_801D6268
-lbl_801D6248:
-/* 801D6248 001D1EA8 3B E0 00 12 */ li r31, 0x12
-/* 801D624C 001D1EAC 48 00 00 30 */ b lbl_801D627C
-lbl_801D6250:
-/* 801D6250 001D1EB0 3B E0 00 14 */ li r31, 0x14
-/* 801D6254 001D1EB4 48 00 00 28 */ b lbl_801D627C
-lbl_801D6258:
-/* 801D6258 001D1EB8 3B E0 00 15 */ li r31, 0x15
-/* 801D625C 001D1EBC 48 00 00 20 */ b lbl_801D627C
-lbl_801D6260:
-/* 801D6260 001D1EC0 3B E0 00 21 */ li r31, 0x21
-/* 801D6264 001D1EC4 48 00 00 18 */ b lbl_801D627C
-lbl_801D6268:
-/* 801D6268 001D1EC8 3B E0 00 22 */ li r31, 0x22
-/* 801D626C 001D1ECC 48 00 00 10 */ b lbl_801D627C
-lbl_801D6270:
-/* 801D6270 001D1ED0 3B E0 00 20 */ li r31, 0x20
-/* 801D6274 001D1ED4 48 00 00 08 */ b lbl_801D627C
-lbl_801D6278:
-/* 801D6278 001D1ED8 3B E0 00 03 */ li r31, 3
-lbl_801D627C:
-/* 801D627C 001D1EDC 38 61 00 0C */ addi r3, r1, 0xc
-/* 801D6280 001D1EE0 38 80 00 00 */ li r4, 0
-/* 801D6284 001D1EE4 38 A0 00 40 */ li r5, 0x40
-/* 801D6288 001D1EE8 4B E2 DE AD */ bl TRK_memset
-/* 801D628C 001D1EEC 3C 60 80 49 */ lis r3, lbl_804907E8@ha
-/* 801D6290 001D1EF0 38 00 00 80 */ li r0, 0x80
-/* 801D6294 001D1EF4 39 03 07 E8 */ addi r8, r3, lbl_804907E8@l
-/* 801D6298 001D1EF8 38 A0 00 40 */ li r5, 0x40
-/* 801D629C 001D1EFC 80 E8 00 00 */ lwz r7, 0(r8)
-/* 801D62A0 001D1F00 38 61 00 0C */ addi r3, r1, 0xc
-/* 801D62A4 001D1F04 98 01 00 10 */ stb r0, 0x10(r1)
-/* 801D62A8 001D1F08 38 80 00 40 */ li r4, 0x40
-/* 801D62AC 001D1F0C 38 C7 00 01 */ addi r6, r7, 1
-/* 801D62B0 001D1F10 90 E1 00 18 */ stw r7, 0x18(r1)
-/* 801D62B4 001D1F14 38 06 00 01 */ addi r0, r6, 1
-/* 801D62B8 001D1F18 90 C8 00 00 */ stw r6, 0(r8)
-/* 801D62BC 001D1F1C 90 A1 00 0C */ stw r5, 0xc(r1)
-/* 801D62C0 001D1F20 9B E1 00 14 */ stb r31, 0x14(r1)
-/* 801D62C4 001D1F24 90 08 00 00 */ stw r0, 0(r8)
-/* 801D62C8 001D1F28 90 C1 00 18 */ stw r6, 0x18(r1)
-/* 801D62CC 001D1F2C 48 00 33 41 */ bl func_801D960C
-/* 801D62D0 001D1F30 38 60 00 00 */ li r3, 0
-/* 801D62D4 001D1F34 48 00 00 0C */ b lbl_801D62E0
-lbl_801D62D8:
-/* 801D62D8 001D1F38 7F E3 FB 78 */ mr r3, r31
-/* 801D62DC 001D1F3C 4B FF EA 01 */ bl TRKMessageSend
-lbl_801D62E0:
-/* 801D62E0 001D1F40 80 01 00 E4 */ lwz r0, 0xe4(r1)
-/* 801D62E4 001D1F44 83 E1 00 DC */ lwz r31, 0xdc(r1)
-/* 801D62E8 001D1F48 7C 08 03 A6 */ mtlr r0
-/* 801D62EC 001D1F4C 38 21 00 E0 */ addi r1, r1, 0xe0
-/* 801D62F0 001D1F50 4E 80 00 20 */ blr
-
-.global func_801D62F4
-func_801D62F4:
-/* 801D62F4 001D1F54 54 2B 06 FE */ clrlwi r11, r1, 0x1b
-/* 801D62F8 001D1F58 7C 2C 0B 78 */ mr r12, r1
-/* 801D62FC 001D1F5C 21 6B F6 C0 */ subfic r11, r11, -2368
-/* 801D6300 001D1F60 7C 21 59 6E */ stwux r1, r1, r11
-/* 801D6304 001D1F64 7C 08 02 A6 */ mflr r0
-/* 801D6308 001D1F68 90 0C 00 04 */ stw r0, 4(r12)
-/* 801D630C 001D1F6C 93 EC FF FC */ stw r31, -4(r12)
-/* 801D6310 001D1F70 93 CC FF F8 */ stw r30, -8(r12)
-/* 801D6314 001D1F74 93 AC FF F4 */ stw r29, -0xc(r12)
-/* 801D6318 001D1F78 7C 7D 1B 78 */ mr r29, r3
-/* 801D631C 001D1F7C 8B E3 00 18 */ lbz r31, 0x18(r3)
-/* 801D6320 001D1F80 83 C3 00 20 */ lwz r30, 0x20(r3)
-/* 801D6324 001D1F84 57 E0 07 BD */ rlwinm. r0, r31, 0, 0x1e, 0x1e
-/* 801D6328 001D1F88 A0 83 00 1C */ lhz r4, 0x1c(r3)
-/* 801D632C 001D1F8C 41 82 00 64 */ beq lbl_801D6390
-/* 801D6330 001D1F90 38 61 00 64 */ addi r3, r1, 0x64
-/* 801D6334 001D1F94 38 80 00 00 */ li r4, 0
-/* 801D6338 001D1F98 38 A0 00 40 */ li r5, 0x40
-/* 801D633C 001D1F9C 4B E2 DD F9 */ bl TRK_memset
-/* 801D6340 001D1FA0 3C 60 80 49 */ lis r3, lbl_804907E8@ha
-/* 801D6344 001D1FA4 38 00 00 80 */ li r0, 0x80
-/* 801D6348 001D1FA8 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
-/* 801D634C 001D1FAC 38 C0 00 40 */ li r6, 0x40
-/* 801D6350 001D1FB0 81 09 00 00 */ lwz r8, 0(r9)
-/* 801D6354 001D1FB4 38 A0 00 12 */ li r5, 0x12
-/* 801D6358 001D1FB8 98 01 00 68 */ stb r0, 0x68(r1)
-/* 801D635C 001D1FBC 38 61 00 64 */ addi r3, r1, 0x64
-/* 801D6360 001D1FC0 38 E8 00 01 */ addi r7, r8, 1
-/* 801D6364 001D1FC4 38 80 00 40 */ li r4, 0x40
-/* 801D6368 001D1FC8 91 01 00 70 */ stw r8, 0x70(r1)
-/* 801D636C 001D1FCC 38 07 00 01 */ addi r0, r7, 1
-/* 801D6370 001D1FD0 90 E9 00 00 */ stw r7, 0(r9)
-/* 801D6374 001D1FD4 90 C1 00 64 */ stw r6, 0x64(r1)
-/* 801D6378 001D1FD8 98 A1 00 6C */ stb r5, 0x6c(r1)
-/* 801D637C 001D1FDC 90 09 00 00 */ stw r0, 0(r9)
-/* 801D6380 001D1FE0 90 E1 00 70 */ stw r7, 0x70(r1)
-/* 801D6384 001D1FE4 48 00 32 89 */ bl func_801D960C
-/* 801D6388 001D1FE8 38 60 00 00 */ li r3, 0
-/* 801D638C 001D1FEC 48 00 01 64 */ b lbl_801D64F0
-lbl_801D6390:
-/* 801D6390 001D1FF0 90 81 00 20 */ stw r4, 0x20(r1)
-/* 801D6394 001D1FF4 38 80 00 40 */ li r4, 0x40
-/* 801D6398 001D1FF8 4B FF EF 71 */ bl TRKSetBufferPosition
-/* 801D639C 001D1FFC 80 A1 00 20 */ lwz r5, 0x20(r1)
-/* 801D63A0 001D2000 7F A3 EB 78 */ mr r3, r29
-/* 801D63A4 001D2004 38 81 01 00 */ addi r4, r1, 0x100
-/* 801D63A8 001D2008 4B FF EE 31 */ bl TRKReadBuffer
-/* 801D63AC 001D200C 57 E0 EF FE */ rlwinm r0, r31, 0x1d, 0x1f, 0x1f
-/* 801D63B0 001D2010 7F C4 F3 78 */ mr r4, r30
-/* 801D63B4 001D2014 38 61 01 00 */ addi r3, r1, 0x100
-/* 801D63B8 001D2018 38 A1 00 20 */ addi r5, r1, 0x20
-/* 801D63BC 001D201C 68 06 00 01 */ xori r6, r0, 1
-/* 801D63C0 001D2020 38 E0 00 00 */ li r7, 0
-/* 801D63C4 001D2024 48 00 24 75 */ bl TRKTargetAccessMemory
-/* 801D63C8 001D2028 7C 60 1B 78 */ mr r0, r3
-/* 801D63CC 001D202C 7F A3 EB 78 */ mr r3, r29
-/* 801D63D0 001D2030 7C 1F 03 78 */ mr r31, r0
-/* 801D63D4 001D2034 38 80 00 00 */ li r4, 0
-/* 801D63D8 001D2038 4B FF EF 61 */ bl TRKResetBuffer
-/* 801D63DC 001D203C 2C 1F 00 00 */ cmpwi r31, 0
-/* 801D63E0 001D2040 40 82 00 54 */ bne lbl_801D6434
-/* 801D63E4 001D2044 38 61 00 A4 */ addi r3, r1, 0xa4
-/* 801D63E8 001D2048 38 80 00 00 */ li r4, 0
-/* 801D63EC 001D204C 38 A0 00 40 */ li r5, 0x40
-/* 801D63F0 001D2050 4B E2 DD 45 */ bl TRK_memset
-/* 801D63F4 001D2054 3C 60 80 49 */ lis r3, lbl_804907E8@ha
-/* 801D63F8 001D2058 38 00 00 40 */ li r0, 0x40
-/* 801D63FC 001D205C 38 E3 07 E8 */ addi r7, r3, lbl_804907E8@l
-/* 801D6400 001D2060 38 A0 00 80 */ li r5, 0x80
-/* 801D6404 001D2064 80 C7 00 00 */ lwz r6, 0(r7)
-/* 801D6408 001D2068 7F A3 EB 78 */ mr r3, r29
-/* 801D640C 001D206C 90 01 00 A4 */ stw r0, 0xa4(r1)
-/* 801D6410 001D2070 38 81 00 A4 */ addi r4, r1, 0xa4
-/* 801D6414 001D2074 38 06 00 01 */ addi r0, r6, 1
-/* 801D6418 001D2078 98 A1 00 A8 */ stb r5, 0xa8(r1)
-/* 801D641C 001D207C 38 A0 00 40 */ li r5, 0x40
-/* 801D6420 001D2080 9B E1 00 AC */ stb r31, 0xac(r1)
-/* 801D6424 001D2084 90 07 00 00 */ stw r0, 0(r7)
-/* 801D6428 001D2088 90 C1 00 B0 */ stw r6, 0xb0(r1)
-/* 801D642C 001D208C 4B FF EE 39 */ bl TRKAppendBuffer
-/* 801D6430 001D2090 7C 7F 1B 78 */ mr r31, r3
-lbl_801D6434:
-/* 801D6434 001D2094 2C 1F 00 00 */ cmpwi r31, 0
-/* 801D6438 001D2098 41 82 00 B0 */ beq lbl_801D64E8
-/* 801D643C 001D209C 38 1F F9 00 */ addi r0, r31, -1792
-/* 801D6440 001D20A0 28 00 00 06 */ cmplwi r0, 6
-/* 801D6444 001D20A4 41 81 00 44 */ bgt lbl_801D6488
-/* 801D6448 001D20A8 3C 60 80 42 */ lis r3, lbl_804231F8@ha
-/* 801D644C 001D20AC 54 00 10 3A */ slwi r0, r0, 2
-/* 801D6450 001D20B0 38 63 31 F8 */ addi r3, r3, lbl_804231F8@l
-/* 801D6454 001D20B4 7C 03 00 2E */ lwzx r0, r3, r0
-/* 801D6458 001D20B8 7C 09 03 A6 */ mtctr r0
-/* 801D645C 001D20BC 4E 80 04 20 */ bctr
-/* 801D6460 001D20C0 3B E0 00 15 */ li r31, 0x15
-/* 801D6464 001D20C4 48 00 00 28 */ b lbl_801D648C
-/* 801D6468 001D20C8 3B E0 00 13 */ li r31, 0x13
-/* 801D646C 001D20CC 48 00 00 20 */ b lbl_801D648C
-/* 801D6470 001D20D0 3B E0 00 21 */ li r31, 0x21
-/* 801D6474 001D20D4 48 00 00 18 */ b lbl_801D648C
-/* 801D6478 001D20D8 3B E0 00 22 */ li r31, 0x22
-/* 801D647C 001D20DC 48 00 00 10 */ b lbl_801D648C
-/* 801D6480 001D20E0 3B E0 00 20 */ li r31, 0x20
-/* 801D6484 001D20E4 48 00 00 08 */ b lbl_801D648C
-lbl_801D6488:
-/* 801D6488 001D20E8 3B E0 00 03 */ li r31, 3
-lbl_801D648C:
-/* 801D648C 001D20EC 38 61 00 24 */ addi r3, r1, 0x24
-/* 801D6490 001D20F0 38 80 00 00 */ li r4, 0
-/* 801D6494 001D20F4 38 A0 00 40 */ li r5, 0x40
-/* 801D6498 001D20F8 4B E2 DC 9D */ bl TRK_memset
-/* 801D649C 001D20FC 3C 60 80 49 */ lis r3, lbl_804907E8@ha
-/* 801D64A0 001D2100 38 00 00 80 */ li r0, 0x80
-/* 801D64A4 001D2104 39 03 07 E8 */ addi r8, r3, lbl_804907E8@l
-/* 801D64A8 001D2108 38 A0 00 40 */ li r5, 0x40
-/* 801D64AC 001D210C 80 E8 00 00 */ lwz r7, 0(r8)
-/* 801D64B0 001D2110 38 61 00 24 */ addi r3, r1, 0x24
-/* 801D64B4 001D2114 98 01 00 28 */ stb r0, 0x28(r1)
-/* 801D64B8 001D2118 38 80 00 40 */ li r4, 0x40
-/* 801D64BC 001D211C 38 C7 00 01 */ addi r6, r7, 1
-/* 801D64C0 001D2120 90 E1 00 30 */ stw r7, 0x30(r1)
-/* 801D64C4 001D2124 38 06 00 01 */ addi r0, r6, 1
-/* 801D64C8 001D2128 90 C8 00 00 */ stw r6, 0(r8)
-/* 801D64CC 001D212C 90 A1 00 24 */ stw r5, 0x24(r1)
-/* 801D64D0 001D2130 9B E1 00 2C */ stb r31, 0x2c(r1)
-/* 801D64D4 001D2134 90 08 00 00 */ stw r0, 0(r8)
-/* 801D64D8 001D2138 90 C1 00 30 */ stw r6, 0x30(r1)
-/* 801D64DC 001D213C 48 00 31 31 */ bl func_801D960C
-/* 801D64E0 001D2140 38 60 00 00 */ li r3, 0
-/* 801D64E4 001D2144 48 00 00 0C */ b lbl_801D64F0
-lbl_801D64E8:
-/* 801D64E8 001D2148 7F A3 EB 78 */ mr r3, r29
-/* 801D64EC 001D214C 4B FF E7 F1 */ bl TRKMessageSend
-lbl_801D64F0:
-/* 801D64F0 001D2150 81 41 00 00 */ lwz r10, 0(r1)
-/* 801D64F4 001D2154 80 0A 00 04 */ lwz r0, 4(r10)
-/* 801D64F8 001D2158 83 EA FF FC */ lwz r31, -4(r10)
-/* 801D64FC 001D215C 83 CA FF F8 */ lwz r30, -8(r10)
-/* 801D6500 001D2160 83 AA FF F4 */ lwz r29, -0xc(r10)
-/* 801D6504 001D2164 7C 08 03 A6 */ mtlr r0
-/* 801D6508 001D2168 7D 41 53 78 */ mr r1, r10
-/* 801D650C 001D216C 4E 80 00 20 */ blr
-
-.global func_801D6510
-func_801D6510:
-/* 801D6510 001D2170 54 2B 06 FE */ clrlwi r11, r1, 0x1b
-/* 801D6514 001D2174 7C 2C 0B 78 */ mr r12, r1
-/* 801D6518 001D2178 21 6B F6 C0 */ subfic r11, r11, -2368
-/* 801D651C 001D217C 7C 21 59 6E */ stwux r1, r1, r11
-/* 801D6520 001D2180 7C 08 02 A6 */ mflr r0
-/* 801D6524 001D2184 90 0C 00 04 */ stw r0, 4(r12)
-/* 801D6528 001D2188 93 EC FF FC */ stw r31, -4(r12)
-/* 801D652C 001D218C 7C 7F 1B 78 */ mr r31, r3
-/* 801D6530 001D2190 93 CC FF F8 */ stw r30, -8(r12)
-/* 801D6534 001D2194 93 AC FF F4 */ stw r29, -0xc(r12)
-/* 801D6538 001D2198 93 8C FF F0 */ stw r28, -0x10(r12)
-/* 801D653C 001D219C 8B C3 00 18 */ lbz r30, 0x18(r3)
-/* 801D6540 001D21A0 83 83 00 20 */ lwz r28, 0x20(r3)
-/* 801D6544 001D21A4 57 C0 07 BD */ rlwinm. r0, r30, 0, 0x1e, 0x1e
-/* 801D6548 001D21A8 A0 63 00 1C */ lhz r3, 0x1c(r3)
-/* 801D654C 001D21AC 41 82 00 64 */ beq lbl_801D65B0
-/* 801D6550 001D21B0 38 61 00 64 */ addi r3, r1, 0x64
-/* 801D6554 001D21B4 38 80 00 00 */ li r4, 0
-/* 801D6558 001D21B8 38 A0 00 40 */ li r5, 0x40
-/* 801D655C 001D21BC 4B E2 DB D9 */ bl TRK_memset
-/* 801D6560 001D21C0 3C 60 80 49 */ lis r3, lbl_804907E8@ha
-/* 801D6564 001D21C4 38 00 00 80 */ li r0, 0x80
-/* 801D6568 001D21C8 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
-/* 801D656C 001D21CC 38 C0 00 40 */ li r6, 0x40
-/* 801D6570 001D21D0 81 09 00 00 */ lwz r8, 0(r9)
-/* 801D6574 001D21D4 38 A0 00 12 */ li r5, 0x12
-/* 801D6578 001D21D8 98 01 00 68 */ stb r0, 0x68(r1)
-/* 801D657C 001D21DC 38 61 00 64 */ addi r3, r1, 0x64
-/* 801D6580 001D21E0 38 E8 00 01 */ addi r7, r8, 1
-/* 801D6584 001D21E4 38 80 00 40 */ li r4, 0x40
-/* 801D6588 001D21E8 91 01 00 70 */ stw r8, 0x70(r1)
-/* 801D658C 001D21EC 38 07 00 01 */ addi r0, r7, 1
-/* 801D6590 001D21F0 90 E9 00 00 */ stw r7, 0(r9)
-/* 801D6594 001D21F4 90 C1 00 64 */ stw r6, 0x64(r1)
-/* 801D6598 001D21F8 98 A1 00 6C */ stb r5, 0x6c(r1)
-/* 801D659C 001D21FC 90 09 00 00 */ stw r0, 0(r9)
-/* 801D65A0 001D2200 90 E1 00 70 */ stw r7, 0x70(r1)
-/* 801D65A4 001D2204 48 00 30 69 */ bl func_801D960C
-/* 801D65A8 001D2208 38 60 00 00 */ li r3, 0
-/* 801D65AC 001D220C 48 00 01 88 */ b lbl_801D6734
-lbl_801D65B0:
-/* 801D65B0 001D2210 57 C0 EF FE */ rlwinm r0, r30, 0x1d, 0x1f, 0x1f
-/* 801D65B4 001D2214 90 61 00 20 */ stw r3, 0x20(r1)
-/* 801D65B8 001D2218 7F 84 E3 78 */ mr r4, r28
-/* 801D65BC 001D221C 38 61 01 00 */ addi r3, r1, 0x100
-/* 801D65C0 001D2220 38 A1 00 20 */ addi r5, r1, 0x20
-/* 801D65C4 001D2224 68 06 00 01 */ xori r6, r0, 1
-/* 801D65C8 001D2228 38 E0 00 01 */ li r7, 1
-/* 801D65CC 001D222C 48 00 22 6D */ bl TRKTargetAccessMemory
-/* 801D65D0 001D2230 7C 60 1B 78 */ mr r0, r3
-/* 801D65D4 001D2234 7F E3 FB 78 */ mr r3, r31
-/* 801D65D8 001D2238 7C 1D 03 78 */ mr r29, r0
-/* 801D65DC 001D223C 38 80 00 00 */ li r4, 0
-/* 801D65E0 001D2240 4B FF ED 59 */ bl TRKResetBuffer
-/* 801D65E4 001D2244 2C 1D 00 00 */ cmpwi r29, 0
-/* 801D65E8 001D2248 40 82 00 90 */ bne lbl_801D6678
-/* 801D65EC 001D224C 38 61 00 A4 */ addi r3, r1, 0xa4
-/* 801D65F0 001D2250 38 80 00 00 */ li r4, 0
-/* 801D65F4 001D2254 38 A0 00 40 */ li r5, 0x40
-/* 801D65F8 001D2258 4B E2 DB 3D */ bl TRK_memset
-/* 801D65FC 001D225C 3C 60 80 49 */ lis r3, lbl_804907E8@ha
-/* 801D6600 001D2260 80 81 00 20 */ lwz r4, 0x20(r1)
-/* 801D6604 001D2264 38 E3 07 E8 */ addi r7, r3, lbl_804907E8@l
-/* 801D6608 001D2268 39 00 00 80 */ li r8, 0x80
-/* 801D660C 001D226C 80 C7 00 00 */ lwz r6, 0(r7)
-/* 801D6610 001D2270 38 04 00 40 */ addi r0, r4, 0x40
-/* 801D6614 001D2274 90 01 00 A4 */ stw r0, 0xa4(r1)
-/* 801D6618 001D2278 7F E3 FB 78 */ mr r3, r31
-/* 801D661C 001D227C 38 06 00 01 */ addi r0, r6, 1
-/* 801D6620 001D2280 38 81 00 A4 */ addi r4, r1, 0xa4
-/* 801D6624 001D2284 9B A1 00 AC */ stb r29, 0xac(r1)
-/* 801D6628 001D2288 38 A0 00 40 */ li r5, 0x40
-/* 801D662C 001D228C 99 01 00 A8 */ stb r8, 0xa8(r1)
-/* 801D6630 001D2290 90 07 00 00 */ stw r0, 0(r7)
-/* 801D6634 001D2294 90 C1 00 B0 */ stw r6, 0xb0(r1)
-/* 801D6638 001D2298 4B FF EC 2D */ bl TRKAppendBuffer
-/* 801D663C 001D229C 57 C0 06 73 */ rlwinm. r0, r30, 0, 0x19, 0x19
-/* 801D6640 001D22A0 41 82 00 24 */ beq lbl_801D6664
-/* 801D6644 001D22A4 57 80 06 FE */ clrlwi r0, r28, 0x1b
-/* 801D6648 001D22A8 38 81 01 00 */ addi r4, r1, 0x100
-/* 801D664C 001D22AC 80 A1 00 20 */ lwz r5, 0x20(r1)
-/* 801D6650 001D22B0 7F E3 FB 78 */ mr r3, r31
-/* 801D6654 001D22B4 7C 84 02 14 */ add r4, r4, r0
-/* 801D6658 001D22B8 4B FF EC 0D */ bl TRKAppendBuffer
-/* 801D665C 001D22BC 7C 7D 1B 78 */ mr r29, r3
-/* 801D6660 001D22C0 48 00 00 18 */ b lbl_801D6678
-lbl_801D6664:
-/* 801D6664 001D22C4 80 A1 00 20 */ lwz r5, 0x20(r1)
-/* 801D6668 001D22C8 7F E3 FB 78 */ mr r3, r31
-/* 801D666C 001D22CC 38 81 01 00 */ addi r4, r1, 0x100
-/* 801D6670 001D22D0 4B FF EB F5 */ bl TRKAppendBuffer
-/* 801D6674 001D22D4 7C 7D 1B 78 */ mr r29, r3
-lbl_801D6678:
-/* 801D6678 001D22D8 2C 1D 00 00 */ cmpwi r29, 0
-/* 801D667C 001D22DC 41 82 00 B0 */ beq lbl_801D672C
-/* 801D6680 001D22E0 38 1D F9 00 */ addi r0, r29, -1792
-/* 801D6684 001D22E4 28 00 00 06 */ cmplwi r0, 6
-/* 801D6688 001D22E8 41 81 00 44 */ bgt lbl_801D66CC
-/* 801D668C 001D22EC 3C 60 80 42 */ lis r3, lbl_80423214@ha
-/* 801D6690 001D22F0 54 00 10 3A */ slwi r0, r0, 2
-/* 801D6694 001D22F4 38 63 32 14 */ addi r3, r3, lbl_80423214@l
-/* 801D6698 001D22F8 7C 03 00 2E */ lwzx r0, r3, r0
-/* 801D669C 001D22FC 7C 09 03 A6 */ mtctr r0
-/* 801D66A0 001D2300 4E 80 04 20 */ bctr
-/* 801D66A4 001D2304 3B A0 00 15 */ li r29, 0x15
-/* 801D66A8 001D2308 48 00 00 28 */ b lbl_801D66D0
-/* 801D66AC 001D230C 3B A0 00 13 */ li r29, 0x13
-/* 801D66B0 001D2310 48 00 00 20 */ b lbl_801D66D0
-/* 801D66B4 001D2314 3B A0 00 21 */ li r29, 0x21
-/* 801D66B8 001D2318 48 00 00 18 */ b lbl_801D66D0
-/* 801D66BC 001D231C 3B A0 00 22 */ li r29, 0x22
-/* 801D66C0 001D2320 48 00 00 10 */ b lbl_801D66D0
-/* 801D66C4 001D2324 3B A0 00 20 */ li r29, 0x20
-/* 801D66C8 001D2328 48 00 00 08 */ b lbl_801D66D0
-lbl_801D66CC:
-/* 801D66CC 001D232C 3B A0 00 03 */ li r29, 3
-lbl_801D66D0:
-/* 801D66D0 001D2330 38 61 00 24 */ addi r3, r1, 0x24
-/* 801D66D4 001D2334 38 80 00 00 */ li r4, 0
-/* 801D66D8 001D2338 38 A0 00 40 */ li r5, 0x40
-/* 801D66DC 001D233C 4B E2 DA 59 */ bl TRK_memset
-/* 801D66E0 001D2340 3C 60 80 49 */ lis r3, lbl_804907E8@ha
-/* 801D66E4 001D2344 38 00 00 80 */ li r0, 0x80
-/* 801D66E8 001D2348 39 03 07 E8 */ addi r8, r3, lbl_804907E8@l
-/* 801D66EC 001D234C 38 A0 00 40 */ li r5, 0x40
-/* 801D66F0 001D2350 80 E8 00 00 */ lwz r7, 0(r8)
-/* 801D66F4 001D2354 38 61 00 24 */ addi r3, r1, 0x24
-/* 801D66F8 001D2358 98 01 00 28 */ stb r0, 0x28(r1)
-/* 801D66FC 001D235C 38 80 00 40 */ li r4, 0x40
-/* 801D6700 001D2360 38 C7 00 01 */ addi r6, r7, 1
-/* 801D6704 001D2364 90 E1 00 30 */ stw r7, 0x30(r1)
-/* 801D6708 001D2368 38 06 00 01 */ addi r0, r6, 1
-/* 801D670C 001D236C 90 C8 00 00 */ stw r6, 0(r8)
-/* 801D6710 001D2370 90 A1 00 24 */ stw r5, 0x24(r1)
-/* 801D6714 001D2374 9B A1 00 2C */ stb r29, 0x2c(r1)
-/* 801D6718 001D2378 90 08 00 00 */ stw r0, 0(r8)
-/* 801D671C 001D237C 90 C1 00 30 */ stw r6, 0x30(r1)
-/* 801D6720 001D2380 48 00 2E ED */ bl func_801D960C
-/* 801D6724 001D2384 38 60 00 00 */ li r3, 0
-/* 801D6728 001D2388 48 00 00 0C */ b lbl_801D6734
-lbl_801D672C:
-/* 801D672C 001D238C 7F E3 FB 78 */ mr r3, r31
-/* 801D6730 001D2390 4B FF E5 AD */ bl TRKMessageSend
-lbl_801D6734:
-/* 801D6734 001D2394 81 41 00 00 */ lwz r10, 0(r1)
-/* 801D6738 001D2398 80 0A 00 04 */ lwz r0, 4(r10)
-/* 801D673C 001D239C 83 EA FF FC */ lwz r31, -4(r10)
-/* 801D6740 001D23A0 83 CA FF F8 */ lwz r30, -8(r10)
-/* 801D6744 001D23A4 83 AA FF F4 */ lwz r29, -0xc(r10)
-/* 801D6748 001D23A8 83 8A FF F0 */ lwz r28, -0x10(r10)
-/* 801D674C 001D23AC 7C 08 03 A6 */ mtlr r0
-/* 801D6750 001D23B0 7D 41 53 78 */ mr r1, r10
-/* 801D6754 001D23B4 4E 80 00 20 */ blr
-
-.global func_801D6758
-func_801D6758:
-/* 801D6758 001D23B8 38 60 00 00 */ li r3, 0
-/* 801D675C 001D23BC 4E 80 00 20 */ blr
-
-.global func_801D6760
-func_801D6760:
-/* 801D6760 001D23C0 38 60 00 00 */ li r3, 0
-/* 801D6764 001D23C4 4E 80 00 20 */ blr
-
-.global func_801D6768
-func_801D6768:
-/* 801D6768 001D23C8 94 21 FF B0 */ stwu r1, -0x50(r1)
-/* 801D676C 001D23CC 7C 08 02 A6 */ mflr r0
-/* 801D6770 001D23D0 38 80 00 00 */ li r4, 0
-/* 801D6774 001D23D4 38 A0 00 40 */ li r5, 0x40
-/* 801D6778 001D23D8 90 01 00 54 */ stw r0, 0x54(r1)
-/* 801D677C 001D23DC 38 61 00 08 */ addi r3, r1, 8
-/* 801D6780 001D23E0 4B E2 D9 B5 */ bl TRK_memset
-/* 801D6784 001D23E4 3C 60 80 49 */ lis r3, lbl_804907E8@ha
-/* 801D6788 001D23E8 38 00 00 80 */ li r0, 0x80
-/* 801D678C 001D23EC 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
-/* 801D6790 001D23F0 38 C0 00 40 */ li r6, 0x40
-/* 801D6794 001D23F4 81 09 00 00 */ lwz r8, 0(r9)
-/* 801D6798 001D23F8 38 A0 00 00 */ li r5, 0
-/* 801D679C 001D23FC 98 01 00 0C */ stb r0, 0xc(r1)
-/* 801D67A0 001D2400 38 61 00 08 */ addi r3, r1, 8
-/* 801D67A4 001D2404 38 E8 00 01 */ addi r7, r8, 1
-/* 801D67A8 001D2408 38 80 00 40 */ li r4, 0x40
-/* 801D67AC 001D240C 91 01 00 14 */ stw r8, 0x14(r1)
-/* 801D67B0 001D2410 38 07 00 01 */ addi r0, r7, 1
-/* 801D67B4 001D2414 90 E9 00 00 */ stw r7, 0(r9)
-/* 801D67B8 001D2418 90 C1 00 08 */ stw r6, 8(r1)
-/* 801D67BC 001D241C 98 A1 00 10 */ stb r5, 0x10(r1)
-/* 801D67C0 001D2420 90 09 00 00 */ stw r0, 0(r9)
-/* 801D67C4 001D2424 90 E1 00 14 */ stw r7, 0x14(r1)
-/* 801D67C8 001D2428 48 00 2E 45 */ bl func_801D960C
-/* 801D67CC 001D242C 48 00 2A E5 */ bl __TRK_copy_vectors
-/* 801D67D0 001D2430 80 01 00 54 */ lwz r0, 0x54(r1)
-/* 801D67D4 001D2434 38 60 00 00 */ li r3, 0
-/* 801D67D8 001D2438 7C 08 03 A6 */ mtlr r0
-/* 801D67DC 001D243C 38 21 00 50 */ addi r1, r1, 0x50
-/* 801D67E0 001D2440 4E 80 00 20 */ blr
-
-.global func_801D67E4
-func_801D67E4:
-/* 801D67E4 001D2444 94 21 FF B0 */ stwu r1, -0x50(r1)
-/* 801D67E8 001D2448 7C 08 02 A6 */ mflr r0
-/* 801D67EC 001D244C 38 80 00 00 */ li r4, 0
-/* 801D67F0 001D2450 38 A0 00 40 */ li r5, 0x40
-/* 801D67F4 001D2454 90 01 00 54 */ stw r0, 0x54(r1)
-/* 801D67F8 001D2458 38 61 00 08 */ addi r3, r1, 8
-/* 801D67FC 001D245C 4B E2 D9 39 */ bl TRK_memset
-/* 801D6800 001D2460 3C 60 80 49 */ lis r3, lbl_804907E8@ha
-/* 801D6804 001D2464 38 00 00 80 */ li r0, 0x80
-/* 801D6808 001D2468 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
-/* 801D680C 001D246C 38 C0 00 40 */ li r6, 0x40
-/* 801D6810 001D2470 81 09 00 00 */ lwz r8, 0(r9)
-/* 801D6814 001D2474 38 A0 00 00 */ li r5, 0
-/* 801D6818 001D2478 98 01 00 0C */ stb r0, 0xc(r1)
-/* 801D681C 001D247C 38 61 00 08 */ addi r3, r1, 8
-/* 801D6820 001D2480 38 E8 00 01 */ addi r7, r8, 1
-/* 801D6824 001D2484 38 80 00 40 */ li r4, 0x40
-/* 801D6828 001D2488 91 01 00 14 */ stw r8, 0x14(r1)
-/* 801D682C 001D248C 38 07 00 01 */ addi r0, r7, 1
-/* 801D6830 001D2490 90 E9 00 00 */ stw r7, 0(r9)
-/* 801D6834 001D2494 90 C1 00 08 */ stw r6, 8(r1)
-/* 801D6838 001D2498 98 A1 00 10 */ stb r5, 0x10(r1)
-/* 801D683C 001D249C 90 09 00 00 */ stw r0, 0(r9)
-/* 801D6840 001D24A0 90 E1 00 14 */ stw r7, 0x14(r1)
-/* 801D6844 001D24A4 48 00 2D C9 */ bl func_801D960C
-/* 801D6848 001D24A8 4B E2 F8 75 */ bl __TRK_reset
-/* 801D684C 001D24AC 80 01 00 54 */ lwz r0, 0x54(r1)
-/* 801D6850 001D24B0 38 60 00 00 */ li r3, 0
-/* 801D6854 001D24B4 7C 08 03 A6 */ mtlr r0
-/* 801D6858 001D24B8 38 21 00 50 */ addi r1, r1, 0x50
-/* 801D685C 001D24BC 4E 80 00 20 */ blr
-
-.global func_801D6860
-func_801D6860:
-/* 801D6860 001D24C0 94 21 FF A0 */ stwu r1, -0x60(r1)
-/* 801D6864 001D24C4 7C 08 02 A6 */ mflr r0
-/* 801D6868 001D24C8 3C 60 80 49 */ lis r3, lbl_804907EC@ha
-/* 801D686C 001D24CC 38 A0 00 40 */ li r5, 0x40
-/* 801D6870 001D24D0 90 01 00 64 */ stw r0, 0x64(r1)
-/* 801D6874 001D24D4 38 83 07 EC */ addi r4, r3, lbl_804907EC@l
-/* 801D6878 001D24D8 38 00 00 00 */ li r0, 0
-/* 801D687C 001D24DC 38 61 00 14 */ addi r3, r1, 0x14
-/* 801D6880 001D24E0 90 04 00 00 */ stw r0, 0(r4)
-/* 801D6884 001D24E4 38 80 00 00 */ li r4, 0
-/* 801D6888 001D24E8 4B E2 D8 AD */ bl TRK_memset
-/* 801D688C 001D24EC 3C 60 80 49 */ lis r3, lbl_804907E8@ha
-/* 801D6890 001D24F0 38 00 00 80 */ li r0, 0x80
-/* 801D6894 001D24F4 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
-/* 801D6898 001D24F8 38 C0 00 40 */ li r6, 0x40
-/* 801D689C 001D24FC 81 09 00 00 */ lwz r8, 0(r9)
-/* 801D68A0 001D2500 38 A0 00 00 */ li r5, 0
-/* 801D68A4 001D2504 98 01 00 18 */ stb r0, 0x18(r1)
-/* 801D68A8 001D2508 38 61 00 14 */ addi r3, r1, 0x14
-/* 801D68AC 001D250C 38 E8 00 01 */ addi r7, r8, 1
-/* 801D68B0 001D2510 38 80 00 40 */ li r4, 0x40
-/* 801D68B4 001D2514 91 01 00 20 */ stw r8, 0x20(r1)
-/* 801D68B8 001D2518 38 07 00 01 */ addi r0, r7, 1
-/* 801D68BC 001D251C 90 E9 00 00 */ stw r7, 0(r9)
-/* 801D68C0 001D2520 90 C1 00 14 */ stw r6, 0x14(r1)
-/* 801D68C4 001D2524 98 A1 00 1C */ stb r5, 0x1c(r1)
-/* 801D68C8 001D2528 90 09 00 00 */ stw r0, 0(r9)
-/* 801D68CC 001D252C 90 E1 00 20 */ stw r7, 0x20(r1)
-/* 801D68D0 001D2530 48 00 2D 3D */ bl func_801D960C
-/* 801D68D4 001D2534 38 61 00 08 */ addi r3, r1, 8
-/* 801D68D8 001D2538 38 80 00 01 */ li r4, 1
-/* 801D68DC 001D253C 4B FF E0 79 */ bl TRKConstructEvent
-/* 801D68E0 001D2540 38 61 00 08 */ addi r3, r1, 8
-/* 801D68E4 001D2544 4B FF E0 89 */ bl TRKPostEvent
-/* 801D68E8 001D2548 80 01 00 64 */ lwz r0, 0x64(r1)
-/* 801D68EC 001D254C 38 60 00 00 */ li r3, 0
-/* 801D68F0 001D2550 7C 08 03 A6 */ mtlr r0
-/* 801D68F4 001D2554 38 21 00 60 */ addi r1, r1, 0x60
-/* 801D68F8 001D2558 4E 80 00 20 */ blr
-
-.global func_801D68FC
-func_801D68FC:
-/* 801D68FC 001D255C 94 21 FF B0 */ stwu r1, -0x50(r1)
-/* 801D6900 001D2560 7C 08 02 A6 */ mflr r0
-/* 801D6904 001D2564 3C 60 80 49 */ lis r3, lbl_804907EC@ha
-/* 801D6908 001D2568 38 A0 00 40 */ li r5, 0x40
-/* 801D690C 001D256C 90 01 00 54 */ stw r0, 0x54(r1)
-/* 801D6910 001D2570 38 83 07 EC */ addi r4, r3, lbl_804907EC@l
-/* 801D6914 001D2574 38 00 00 01 */ li r0, 1
-/* 801D6918 001D2578 38 61 00 08 */ addi r3, r1, 8
-/* 801D691C 001D257C 90 04 00 00 */ stw r0, 0(r4)
-/* 801D6920 001D2580 38 80 00 00 */ li r4, 0
-/* 801D6924 001D2584 4B E2 D8 11 */ bl TRK_memset
-/* 801D6928 001D2588 3C 60 80 49 */ lis r3, lbl_804907E8@ha
-/* 801D692C 001D258C 38 00 00 80 */ li r0, 0x80
-/* 801D6930 001D2590 39 23 07 E8 */ addi r9, r3, lbl_804907E8@l
-/* 801D6934 001D2594 38 C0 00 40 */ li r6, 0x40
-/* 801D6938 001D2598 81 09 00 00 */ lwz r8, 0(r9)
-/* 801D693C 001D259C 38 A0 00 00 */ li r5, 0
-/* 801D6940 001D25A0 98 01 00 0C */ stb r0, 0xc(r1)
-/* 801D6944 001D25A4 38 61 00 08 */ addi r3, r1, 8
-/* 801D6948 001D25A8 38 E8 00 01 */ addi r7, r8, 1
-/* 801D694C 001D25AC 38 80 00 40 */ li r4, 0x40
-/* 801D6950 001D25B0 91 01 00 14 */ stw r8, 0x14(r1)
-/* 801D6954 001D25B4 38 07 00 01 */ addi r0, r7, 1
-/* 801D6958 001D25B8 90 E9 00 00 */ stw r7, 0(r9)
-/* 801D695C 001D25BC 90 C1 00 08 */ stw r6, 8(r1)
-/* 801D6960 001D25C0 98 A1 00 10 */ stb r5, 0x10(r1)
-/* 801D6964 001D25C4 90 09 00 00 */ stw r0, 0(r9)
-/* 801D6968 001D25C8 90 E1 00 14 */ stw r7, 0x14(r1)
-/* 801D696C 001D25CC 48 00 2C A1 */ bl func_801D960C
-/* 801D6970 001D25D0 80 01 00 54 */ lwz r0, 0x54(r1)
-/* 801D6974 001D25D4 38 60 00 00 */ li r3, 0
-/* 801D6978 001D25D8 7C 08 03 A6 */ mtlr r0
-/* 801D697C 001D25DC 38 21 00 50 */ addi r1, r1, 0x50
-/* 801D6980 001D25E0 4E 80 00 20 */ blr
-
-.global SetTRKConnected
-SetTRKConnected:
-/* 801D6984 001D25E4 3C 80 80 49 */ lis r4, lbl_804907EC@ha
-/* 801D6988 001D25E8 90 64 07 EC */ stw r3, lbl_804907EC@l(r4)
-/* 801D698C 001D25EC 4E 80 00 20 */ blr
-
-.global func_801D6990
-func_801D6990:
-/* 801D6990 001D25F0 3C 60 80 49 */ lis r3, lbl_804907EC@ha
-/* 801D6994 001D25F4 38 63 07 EC */ addi r3, r3, lbl_804907EC@l
-/* 801D6998 001D25F8 80 63 00 00 */ lwz r3, 0(r3)
-/* 801D699C 001D25FC 4E 80 00 20 */ blr
-
-.global HandlePositionFileSupportRequest
-HandlePositionFileSupportRequest:
-/* 801D69A0 001D2600 94 21 FF 90 */ stwu r1, -0x70(r1)
-/* 801D69A4 001D2604 7C 08 02 A6 */ mflr r0
-/* 801D69A8 001D2608 90 01 00 74 */ stw r0, 0x74(r1)
-/* 801D69AC 001D260C 93 E1 00 6C */ stw r31, 0x6c(r1)
-/* 801D69B0 001D2610 7C BF 2B 78 */ mr r31, r5
-/* 801D69B4 001D2614 38 A0 00 40 */ li r5, 0x40
-/* 801D69B8 001D2618 93 C1 00 68 */ stw r30, 0x68(r1)
-/* 801D69BC 001D261C 7C DE 33 78 */ mr r30, r6
-/* 801D69C0 001D2620 93 A1 00 64 */ stw r29, 0x64(r1)
-/* 801D69C4 001D2624 7C 9D 23 78 */ mr r29, r4
-/* 801D69C8 001D2628 38 80 00 00 */ li r4, 0
-/* 801D69CC 001D262C 93 81 00 60 */ stw r28, 0x60(r1)
-/* 801D69D0 001D2630 7C 7C 1B 78 */ mr r28, r3
-/* 801D69D4 001D2634 38 61 00 14 */ addi r3, r1, 0x14
-/* 801D69D8 001D2638 4B E2 D7 5D */ bl TRK_memset
-/* 801D69DC 001D263C 38 60 00 D4 */ li r3, 0xd4
-/* 801D69E0 001D2640 38 00 00 40 */ li r0, 0x40
-/* 801D69E4 001D2644 98 61 00 18 */ stb r3, 0x18(r1)
-/* 801D69E8 001D2648 38 61 00 0C */ addi r3, r1, 0xc
-/* 801D69EC 001D264C 38 81 00 08 */ addi r4, r1, 8
-/* 801D69F0 001D2650 90 01 00 14 */ stw r0, 0x14(r1)
-/* 801D69F4 001D2654 93 81 00 1C */ stw r28, 0x1c(r1)
-/* 801D69F8 001D2658 80 1D 00 00 */ lwz r0, 0(r29)
-/* 801D69FC 001D265C 90 01 00 20 */ stw r0, 0x20(r1)
-/* 801D6A00 001D2660 9B E1 00 24 */ stb r31, 0x24(r1)
-/* 801D6A04 001D2664 4B FF EA 05 */ bl TRKGetFreeBuffer
-/* 801D6A08 001D2668 7C 7F 1B 79 */ or. r31, r3, r3
-/* 801D6A0C 001D266C 40 82 00 18 */ bne lbl_801D6A24
-/* 801D6A10 001D2670 80 61 00 08 */ lwz r3, 8(r1)
-/* 801D6A14 001D2674 38 81 00 14 */ addi r4, r1, 0x14
-/* 801D6A18 001D2678 38 A0 00 40 */ li r5, 0x40
-/* 801D6A1C 001D267C 4B FF E6 59 */ bl TRKAppendBuffer_ui8
-/* 801D6A20 001D2680 7C 7F 1B 78 */ mr r31, r3
-lbl_801D6A24:
-/* 801D6A24 001D2684 2C 1F 00 00 */ cmpwi r31, 0
-/* 801D6A28 001D2688 40 82 00 5C */ bne lbl_801D6A84
-/* 801D6A2C 001D268C 38 60 00 00 */ li r3, 0
-/* 801D6A30 001D2690 38 00 FF FF */ li r0, -1
-/* 801D6A34 001D2694 90 7E 00 00 */ stw r3, 0(r30)
-/* 801D6A38 001D2698 38 81 00 10 */ addi r4, r1, 0x10
-/* 801D6A3C 001D269C 38 A0 00 03 */ li r5, 3
-/* 801D6A40 001D26A0 38 C0 00 03 */ li r6, 3
-/* 801D6A44 001D26A4 90 1D 00 00 */ stw r0, 0(r29)
-/* 801D6A48 001D26A8 38 E0 00 00 */ li r7, 0
-/* 801D6A4C 001D26AC 80 61 00 08 */ lwz r3, 8(r1)
-/* 801D6A50 001D26B0 48 00 02 65 */ bl func_801D6CB4
-/* 801D6A54 001D26B4 7C 7F 1B 79 */ or. r31, r3, r3
-/* 801D6A58 001D26B8 40 82 00 24 */ bne lbl_801D6A7C
-/* 801D6A5C 001D26BC 80 61 00 10 */ lwz r3, 0x10(r1)
-/* 801D6A60 001D26C0 4B FF E9 7D */ bl TRKGetBuffer
-/* 801D6A64 001D26C4 28 03 00 00 */ cmplwi r3, 0
-/* 801D6A68 001D26C8 41 82 00 14 */ beq lbl_801D6A7C
-/* 801D6A6C 001D26CC 80 03 00 20 */ lwz r0, 0x20(r3)
-/* 801D6A70 001D26D0 90 1E 00 00 */ stw r0, 0(r30)
-/* 801D6A74 001D26D4 80 03 00 28 */ lwz r0, 0x28(r3)
-/* 801D6A78 001D26D8 90 1D 00 00 */ stw r0, 0(r29)
-lbl_801D6A7C:
-/* 801D6A7C 001D26DC 80 61 00 10 */ lwz r3, 0x10(r1)
-/* 801D6A80 001D26E0 4B FF E8 F9 */ bl TRKReleaseBuffer
-lbl_801D6A84:
-/* 801D6A84 001D26E4 80 61 00 0C */ lwz r3, 0xc(r1)
-/* 801D6A88 001D26E8 4B FF E8 F1 */ bl TRKReleaseBuffer
-/* 801D6A8C 001D26EC 80 01 00 74 */ lwz r0, 0x74(r1)
-/* 801D6A90 001D26F0 7F E3 FB 78 */ mr r3, r31
-/* 801D6A94 001D26F4 83 E1 00 6C */ lwz r31, 0x6c(r1)
-/* 801D6A98 001D26F8 83 C1 00 68 */ lwz r30, 0x68(r1)
-/* 801D6A9C 001D26FC 83 A1 00 64 */ lwz r29, 0x64(r1)
-/* 801D6AA0 001D2700 83 81 00 60 */ lwz r28, 0x60(r1)
-/* 801D6AA4 001D2704 7C 08 03 A6 */ mtlr r0
-/* 801D6AA8 001D2708 38 21 00 70 */ addi r1, r1, 0x70
-/* 801D6AAC 001D270C 4E 80 00 20 */ blr
-
-.global HandleCloseFileSupportRequest
-HandleCloseFileSupportRequest:
-/* 801D6AB0 001D2710 94 21 FF 90 */ stwu r1, -0x70(r1)
-/* 801D6AB4 001D2714 7C 08 02 A6 */ mflr r0
-/* 801D6AB8 001D2718 38 A0 00 40 */ li r5, 0x40
-/* 801D6ABC 001D271C 90 01 00 74 */ stw r0, 0x74(r1)
-/* 801D6AC0 001D2720 93 E1 00 6C */ stw r31, 0x6c(r1)
-/* 801D6AC4 001D2724 7C 7F 1B 78 */ mr r31, r3
-/* 801D6AC8 001D2728 38 61 00 14 */ addi r3, r1, 0x14
-/* 801D6ACC 001D272C 93 C1 00 68 */ stw r30, 0x68(r1)
-/* 801D6AD0 001D2730 93 A1 00 64 */ stw r29, 0x64(r1)
-/* 801D6AD4 001D2734 7C 9D 23 78 */ mr r29, r4
-/* 801D6AD8 001D2738 38 80 00 00 */ li r4, 0
-/* 801D6ADC 001D273C 4B E2 D6 59 */ bl TRK_memset
-/* 801D6AE0 001D2740 38 60 00 D3 */ li r3, 0xd3
-/* 801D6AE4 001D2744 38 00 00 40 */ li r0, 0x40
-/* 801D6AE8 001D2748 98 61 00 18 */ stb r3, 0x18(r1)
-/* 801D6AEC 001D274C 38 61 00 0C */ addi r3, r1, 0xc
-/* 801D6AF0 001D2750 38 81 00 08 */ addi r4, r1, 8
-/* 801D6AF4 001D2754 90 01 00 14 */ stw r0, 0x14(r1)
-/* 801D6AF8 001D2758 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 801D6AFC 001D275C 4B FF E9 0D */ bl TRKGetFreeBuffer
-/* 801D6B00 001D2760 7C 7F 1B 79 */ or. r31, r3, r3
-/* 801D6B04 001D2764 40 82 00 18 */ bne lbl_801D6B1C
-/* 801D6B08 001D2768 80 61 00 08 */ lwz r3, 8(r1)
-/* 801D6B0C 001D276C 38 81 00 14 */ addi r4, r1, 0x14
-/* 801D6B10 001D2770 38 A0 00 40 */ li r5, 0x40
-/* 801D6B14 001D2774 4B FF E5 61 */ bl TRKAppendBuffer_ui8
-/* 801D6B18 001D2778 7C 7F 1B 78 */ mr r31, r3
-lbl_801D6B1C:
-/* 801D6B1C 001D277C 2C 1F 00 00 */ cmpwi r31, 0
-/* 801D6B20 001D2780 40 82 00 50 */ bne lbl_801D6B70
-/* 801D6B24 001D2784 38 00 00 00 */ li r0, 0
-/* 801D6B28 001D2788 38 81 00 10 */ addi r4, r1, 0x10
-/* 801D6B2C 001D278C 90 1D 00 00 */ stw r0, 0(r29)
-/* 801D6B30 001D2790 38 A0 00 03 */ li r5, 3
-/* 801D6B34 001D2794 38 C0 00 03 */ li r6, 3
-/* 801D6B38 001D2798 38 E0 00 00 */ li r7, 0
-/* 801D6B3C 001D279C 80 61 00 08 */ lwz r3, 8(r1)
-/* 801D6B40 001D27A0 48 00 01 75 */ bl func_801D6CB4
-/* 801D6B44 001D27A4 7C 7F 1B 79 */ or. r31, r3, r3
-/* 801D6B48 001D27A8 40 82 00 10 */ bne lbl_801D6B58
-/* 801D6B4C 001D27AC 80 61 00 10 */ lwz r3, 0x10(r1)
-/* 801D6B50 001D27B0 4B FF E8 8D */ bl TRKGetBuffer
-/* 801D6B54 001D27B4 7C 7E 1B 78 */ mr r30, r3
-lbl_801D6B58:
-/* 801D6B58 001D27B8 2C 1F 00 00 */ cmpwi r31, 0
-/* 801D6B5C 001D27BC 40 82 00 0C */ bne lbl_801D6B68
-/* 801D6B60 001D27C0 80 1E 00 20 */ lwz r0, 0x20(r30)
-/* 801D6B64 001D27C4 90 1D 00 00 */ stw r0, 0(r29)
-lbl_801D6B68:
-/* 801D6B68 001D27C8 80 61 00 10 */ lwz r3, 0x10(r1)
-/* 801D6B6C 001D27CC 4B FF E8 0D */ bl TRKReleaseBuffer
-lbl_801D6B70:
-/* 801D6B70 001D27D0 80 61 00 0C */ lwz r3, 0xc(r1)
-/* 801D6B74 001D27D4 4B FF E8 05 */ bl TRKReleaseBuffer
-/* 801D6B78 001D27D8 80 01 00 74 */ lwz r0, 0x74(r1)
-/* 801D6B7C 001D27DC 7F E3 FB 78 */ mr r3, r31
-/* 801D6B80 001D27E0 83 E1 00 6C */ lwz r31, 0x6c(r1)
-/* 801D6B84 001D27E4 83 C1 00 68 */ lwz r30, 0x68(r1)
-/* 801D6B88 001D27E8 83 A1 00 64 */ lwz r29, 0x64(r1)
-/* 801D6B8C 001D27EC 7C 08 03 A6 */ mtlr r0
-/* 801D6B90 001D27F0 38 21 00 70 */ addi r1, r1, 0x70
-/* 801D6B94 001D27F4 4E 80 00 20 */ blr
-
-.global HandleOpenFileSupportRequest
-HandleOpenFileSupportRequest:
-/* 801D6B98 001D27F8 94 21 FF 90 */ stwu r1, -0x70(r1)
-/* 801D6B9C 001D27FC 7C 08 02 A6 */ mflr r0
-/* 801D6BA0 001D2800 90 01 00 74 */ stw r0, 0x74(r1)
-/* 801D6BA4 001D2804 BF 61 00 5C */ stmw r27, 0x5c(r1)
-/* 801D6BA8 001D2808 7C 7B 1B 78 */ mr r27, r3
-/* 801D6BAC 001D280C 7C 9F 23 78 */ mr r31, r4
-/* 801D6BB0 001D2810 7C BC 2B 78 */ mr r28, r5
-/* 801D6BB4 001D2814 7C DD 33 78 */ mr r29, r6
-/* 801D6BB8 001D2818 38 61 00 14 */ addi r3, r1, 0x14
-/* 801D6BBC 001D281C 38 80 00 00 */ li r4, 0
-/* 801D6BC0 001D2820 38 A0 00 40 */ li r5, 0x40
-/* 801D6BC4 001D2824 4B E2 D5 71 */ bl TRK_memset
-/* 801D6BC8 001D2828 38 60 00 00 */ li r3, 0
-/* 801D6BCC 001D282C 38 00 00 D2 */ li r0, 0xd2
-/* 801D6BD0 001D2830 90 7C 00 00 */ stw r3, 0(r28)
-/* 801D6BD4 001D2834 7F 63 DB 78 */ mr r3, r27
-/* 801D6BD8 001D2838 98 01 00 18 */ stb r0, 0x18(r1)
-/* 801D6BDC 001D283C 48 00 06 19 */ bl TRK_strlen
-/* 801D6BE0 001D2840 38 03 00 41 */ addi r0, r3, 0x41
-/* 801D6BE4 001D2844 9B E1 00 1C */ stb r31, 0x1c(r1)
-/* 801D6BE8 001D2848 7F 63 DB 78 */ mr r3, r27
-/* 801D6BEC 001D284C 90 01 00 14 */ stw r0, 0x14(r1)
-/* 801D6BF0 001D2850 48 00 06 05 */ bl TRK_strlen
-/* 801D6BF4 001D2854 38 03 00 01 */ addi r0, r3, 1
-/* 801D6BF8 001D2858 38 61 00 0C */ addi r3, r1, 0xc
-/* 801D6BFC 001D285C B0 01 00 20 */ sth r0, 0x20(r1)
-/* 801D6C00 001D2860 38 81 00 08 */ addi r4, r1, 8
-/* 801D6C04 001D2864 4B FF E8 05 */ bl TRKGetFreeBuffer
-/* 801D6C08 001D2868 80 61 00 08 */ lwz r3, 8(r1)
-/* 801D6C0C 001D286C 38 81 00 14 */ addi r4, r1, 0x14
-/* 801D6C10 001D2870 38 A0 00 40 */ li r5, 0x40
-/* 801D6C14 001D2874 4B FF E4 61 */ bl TRKAppendBuffer_ui8
-/* 801D6C18 001D2878 7C 7F 1B 79 */ or. r31, r3, r3
-/* 801D6C1C 001D287C 40 82 00 24 */ bne lbl_801D6C40
-/* 801D6C20 001D2880 7F 63 DB 78 */ mr r3, r27
-/* 801D6C24 001D2884 48 00 05 D1 */ bl TRK_strlen
-/* 801D6C28 001D2888 7C 65 1B 78 */ mr r5, r3
-/* 801D6C2C 001D288C 80 61 00 08 */ lwz r3, 8(r1)
-/* 801D6C30 001D2890 7F 64 DB 78 */ mr r4, r27
-/* 801D6C34 001D2894 38 A5 00 01 */ addi r5, r5, 1
-/* 801D6C38 001D2898 4B FF E4 3D */ bl TRKAppendBuffer_ui8
-/* 801D6C3C 001D289C 7C 7F 1B 78 */ mr r31, r3
-lbl_801D6C40:
-/* 801D6C40 001D28A0 2C 1F 00 00 */ cmpwi r31, 0
-/* 801D6C44 001D28A4 40 82 00 50 */ bne lbl_801D6C94
-/* 801D6C48 001D28A8 38 00 00 00 */ li r0, 0
-/* 801D6C4C 001D28AC 38 81 00 10 */ addi r4, r1, 0x10
-/* 801D6C50 001D28B0 90 1D 00 00 */ stw r0, 0(r29)
-/* 801D6C54 001D28B4 38 A0 00 07 */ li r5, 7
-/* 801D6C58 001D28B8 38 C0 00 03 */ li r6, 3
-/* 801D6C5C 001D28BC 38 E0 00 00 */ li r7, 0
-/* 801D6C60 001D28C0 80 61 00 08 */ lwz r3, 8(r1)
-/* 801D6C64 001D28C4 48 00 00 51 */ bl func_801D6CB4
-/* 801D6C68 001D28C8 7C 7F 1B 79 */ or. r31, r3, r3
-/* 801D6C6C 001D28CC 40 82 00 10 */ bne lbl_801D6C7C
-/* 801D6C70 001D28D0 80 61 00 10 */ lwz r3, 0x10(r1)
-/* 801D6C74 001D28D4 4B FF E7 69 */ bl TRKGetBuffer
-/* 801D6C78 001D28D8 7C 7E 1B 78 */ mr r30, r3
-lbl_801D6C7C:
-/* 801D6C7C 001D28DC 80 1E 00 20 */ lwz r0, 0x20(r30)
-/* 801D6C80 001D28E0 90 1D 00 00 */ stw r0, 0(r29)
-/* 801D6C84 001D28E4 80 1E 00 18 */ lwz r0, 0x18(r30)
-/* 801D6C88 001D28E8 90 1C 00 00 */ stw r0, 0(r28)
-/* 801D6C8C 001D28EC 80 61 00 10 */ lwz r3, 0x10(r1)
-/* 801D6C90 001D28F0 4B FF E6 E9 */ bl TRKReleaseBuffer
-lbl_801D6C94:
-/* 801D6C94 001D28F4 80 61 00 0C */ lwz r3, 0xc(r1)
-/* 801D6C98 001D28F8 4B FF E6 E1 */ bl TRKReleaseBuffer
-/* 801D6C9C 001D28FC 7F E3 FB 78 */ mr r3, r31
-/* 801D6CA0 001D2900 BB 61 00 5C */ lmw r27, 0x5c(r1)
-/* 801D6CA4 001D2904 80 01 00 74 */ lwz r0, 0x74(r1)
-/* 801D6CA8 001D2908 7C 08 03 A6 */ mtlr r0
-/* 801D6CAC 001D290C 38 21 00 70 */ addi r1, r1, 0x70
-/* 801D6CB0 001D2910 4E 80 00 20 */ blr
-
-.global func_801D6CB4
-func_801D6CB4:
-/* 801D6CB4 001D2914 94 21 FF D0 */ stwu r1, -0x30(r1)
-/* 801D6CB8 001D2918 7C 08 02 A6 */ mflr r0
-/* 801D6CBC 001D291C 90 01 00 34 */ stw r0, 0x34(r1)
-/* 801D6CC0 001D2920 38 00 FF FF */ li r0, -1
-/* 801D6CC4 001D2924 BE C1 00 08 */ stmw r22, 8(r1)
-/* 801D6CC8 001D2928 7C 97 23 78 */ mr r23, r4
-/* 801D6CCC 001D292C 7C 76 1B 78 */ mr r22, r3
-/* 801D6CD0 001D2930 7C F8 3B 78 */ mr r24, r7
-/* 801D6CD4 001D2934 3B 86 00 01 */ addi r28, r6, 1
-/* 801D6CD8 001D2938 3B E0 00 00 */ li r31, 0
-/* 801D6CDC 001D293C 3B 20 00 01 */ li r25, 1
-/* 801D6CE0 001D2940 90 04 00 00 */ stw r0, 0(r4)
-/* 801D6CE4 001D2944 48 00 01 0C */ b lbl_801D6DF0
-lbl_801D6CE8:
-/* 801D6CE8 001D2948 7E C3 B3 78 */ mr r3, r22
-/* 801D6CEC 001D294C 4B FF DF F1 */ bl TRKMessageSend
-/* 801D6CF0 001D2950 7C 7F 1B 79 */ or. r31, r3, r3
-/* 801D6CF4 001D2954 40 82 00 F8 */ bne lbl_801D6DEC
-/* 801D6CF8 001D2958 2C 18 00 00 */ cmpwi r24, 0
-/* 801D6CFC 001D295C 41 82 00 08 */ beq lbl_801D6D04
-/* 801D6D00 001D2960 3B A0 00 00 */ li r29, 0
-lbl_801D6D04:
-/* 801D6D04 001D2964 4B FF E9 1D */ bl TRKTestForPacket
-/* 801D6D08 001D2968 90 77 00 00 */ stw r3, 0(r23)
-/* 801D6D0C 001D296C 80 77 00 00 */ lwz r3, 0(r23)
-/* 801D6D10 001D2970 2C 03 FF FF */ cmpwi r3, -1
-/* 801D6D14 001D2974 40 82 00 20 */ bne lbl_801D6D34
-/* 801D6D18 001D2978 2C 18 00 00 */ cmpwi r24, 0
-/* 801D6D1C 001D297C 41 82 FF E8 */ beq lbl_801D6D04
-/* 801D6D20 001D2980 3C 80 04 C5 */ lis r4, 0x04C4B3EC@ha
-/* 801D6D24 001D2984 3B BD 00 01 */ addi r29, r29, 1
-/* 801D6D28 001D2988 38 04 B3 EC */ addi r0, r4, 0x04C4B3EC@l
-/* 801D6D2C 001D298C 7C 1D 00 40 */ cmplw r29, r0
-/* 801D6D30 001D2990 41 80 FF D4 */ blt lbl_801D6D04
-lbl_801D6D34:
-/* 801D6D34 001D2994 2C 03 FF FF */ cmpwi r3, -1
-/* 801D6D38 001D2998 41 82 00 44 */ beq lbl_801D6D7C
-/* 801D6D3C 001D299C 3B 20 00 00 */ li r25, 0
-/* 801D6D40 001D29A0 4B FF E6 9D */ bl TRKGetBuffer
-/* 801D6D44 001D29A4 38 80 00 00 */ li r4, 0
-/* 801D6D48 001D29A8 7C 7E 1B 78 */ mr r30, r3
-/* 801D6D4C 001D29AC 4B FF E5 BD */ bl TRKSetBufferPosition
-/* 801D6D50 001D29B0 80 9E 00 08 */ lwz r4, 8(r30)
-/* 801D6D54 001D29B4 38 7E 00 10 */ addi r3, r30, 0x10
-/* 801D6D58 001D29B8 48 00 2F 0D */ bl func_801D9C64
-/* 801D6D5C 001D29BC 8B 7E 00 14 */ lbz r27, 0x14(r30)
-/* 801D6D60 001D29C0 28 1B 00 80 */ cmplwi r27, 0x80
-/* 801D6D64 001D29C4 40 80 00 18 */ bge lbl_801D6D7C
-/* 801D6D68 001D29C8 80 77 00 00 */ lwz r3, 0(r23)
-/* 801D6D6C 001D29CC 4B FF E8 05 */ bl TRKProcessInput
-/* 801D6D70 001D29D0 38 00 FF FF */ li r0, -1
-/* 801D6D74 001D29D4 90 17 00 00 */ stw r0, 0(r23)
-/* 801D6D78 001D29D8 4B FF FF 8C */ b lbl_801D6D04
-lbl_801D6D7C:
-/* 801D6D7C 001D29DC 80 77 00 00 */ lwz r3, 0(r23)
-/* 801D6D80 001D29E0 2C 03 FF FF */ cmpwi r3, -1
-/* 801D6D84 001D29E4 41 82 00 68 */ beq lbl_801D6DEC
-/* 801D6D88 001D29E8 80 1E 00 08 */ lwz r0, 8(r30)
-/* 801D6D8C 001D29EC 28 00 00 40 */ cmplwi r0, 0x40
-/* 801D6D90 001D29F0 40 80 00 08 */ bge lbl_801D6D98
-/* 801D6D94 001D29F4 3B 20 00 01 */ li r25, 1
-lbl_801D6D98:
-/* 801D6D98 001D29F8 2C 1F 00 00 */ cmpwi r31, 0
-/* 801D6D9C 001D29FC 40 82 00 10 */ bne lbl_801D6DAC
-/* 801D6DA0 001D2A00 2C 19 00 00 */ cmpwi r25, 0
-/* 801D6DA4 001D2A04 40 82 00 08 */ bne lbl_801D6DAC
-/* 801D6DA8 001D2A08 8B 5E 00 18 */ lbz r26, 0x18(r30)
-lbl_801D6DAC:
-/* 801D6DAC 001D2A0C 2C 1F 00 00 */ cmpwi r31, 0
-/* 801D6DB0 001D2A10 40 82 00 20 */ bne lbl_801D6DD0
-/* 801D6DB4 001D2A14 2C 19 00 00 */ cmpwi r25, 0
-/* 801D6DB8 001D2A18 40 82 00 18 */ bne lbl_801D6DD0
-/* 801D6DBC 001D2A1C 2C 1B 00 80 */ cmpwi r27, 0x80
-/* 801D6DC0 001D2A20 40 82 00 0C */ bne lbl_801D6DCC
-/* 801D6DC4 001D2A24 2C 1A 00 00 */ cmpwi r26, 0
-/* 801D6DC8 001D2A28 41 82 00 08 */ beq lbl_801D6DD0
-lbl_801D6DCC:
-/* 801D6DCC 001D2A2C 3B 20 00 01 */ li r25, 1
-lbl_801D6DD0:
-/* 801D6DD0 001D2A30 2C 1F 00 00 */ cmpwi r31, 0
-/* 801D6DD4 001D2A34 40 82 00 0C */ bne lbl_801D6DE0
-/* 801D6DD8 001D2A38 2C 19 00 00 */ cmpwi r25, 0
-/* 801D6DDC 001D2A3C 41 82 00 10 */ beq lbl_801D6DEC
-lbl_801D6DE0:
-/* 801D6DE0 001D2A40 4B FF E5 99 */ bl TRKReleaseBuffer
-/* 801D6DE4 001D2A44 38 00 FF FF */ li r0, -1
-/* 801D6DE8 001D2A48 90 17 00 00 */ stw r0, 0(r23)
-lbl_801D6DEC:
-/* 801D6DEC 001D2A4C 3B 9C FF FF */ addi r28, r28, -1
-lbl_801D6DF0:
-/* 801D6DF0 001D2A50 2C 1C 00 00 */ cmpwi r28, 0
-/* 801D6DF4 001D2A54 41 82 00 18 */ beq lbl_801D6E0C
-/* 801D6DF8 001D2A58 80 17 00 00 */ lwz r0, 0(r23)
-/* 801D6DFC 001D2A5C 2C 00 FF FF */ cmpwi r0, -1
-/* 801D6E00 001D2A60 40 82 00 0C */ bne lbl_801D6E0C
-/* 801D6E04 001D2A64 2C 1F 00 00 */ cmpwi r31, 0
-/* 801D6E08 001D2A68 41 82 FE E0 */ beq lbl_801D6CE8
-lbl_801D6E0C:
-/* 801D6E0C 001D2A6C 80 17 00 00 */ lwz r0, 0(r23)
-/* 801D6E10 001D2A70 2C 00 FF FF */ cmpwi r0, -1
-/* 801D6E14 001D2A74 40 82 00 08 */ bne lbl_801D6E1C
-/* 801D6E18 001D2A78 3B E0 08 00 */ li r31, 0x800
-lbl_801D6E1C:
-/* 801D6E1C 001D2A7C 7F E3 FB 78 */ mr r3, r31
-/* 801D6E20 001D2A80 BA C1 00 08 */ lmw r22, 8(r1)
-/* 801D6E24 001D2A84 80 01 00 34 */ lwz r0, 0x34(r1)
-/* 801D6E28 001D2A88 7C 08 03 A6 */ mtlr r0
-/* 801D6E2C 001D2A8C 38 21 00 30 */ addi r1, r1, 0x30
-/* 801D6E30 001D2A90 4E 80 00 20 */ blr
-
-.global TRKSuppAccessFile
-TRKSuppAccessFile:
-/* 801D6E34 001D2A94 94 21 FF 70 */ stwu r1, -0x90(r1)
-/* 801D6E38 001D2A98 7C 08 02 A6 */ mflr r0
-/* 801D6E3C 001D2A9C 90 01 00 94 */ stw r0, 0x94(r1)
-/* 801D6E40 001D2AA0 BE 61 00 5C */ stmw r19, 0x5c(r1)
-/* 801D6E44 001D2AA4 7C 98 23 79 */ or. r24, r4, r4
-/* 801D6E48 001D2AA8 7C 77 1B 78 */ mr r23, r3
-/* 801D6E4C 001D2AAC 7C B9 2B 78 */ mr r25, r5
-/* 801D6E50 001D2AB0 7C DA 33 78 */ mr r26, r6
-/* 801D6E54 001D2AB4 7C FB 3B 78 */ mr r27, r7
-/* 801D6E58 001D2AB8 7D 1C 43 78 */ mr r28, r8
-/* 801D6E5C 001D2ABC 41 82 00 10 */ beq lbl_801D6E6C
-/* 801D6E60 001D2AC0 80 19 00 00 */ lwz r0, 0(r25)
-/* 801D6E64 001D2AC4 28 00 00 00 */ cmplwi r0, 0
-/* 801D6E68 001D2AC8 40 82 00 0C */ bne lbl_801D6E74
-lbl_801D6E6C:
-/* 801D6E6C 001D2ACC 38 60 00 02 */ li r3, 2
-/* 801D6E70 001D2AD0 48 00 01 D0 */ b lbl_801D7040
-lbl_801D6E74:
-/* 801D6E74 001D2AD4 38 00 00 00 */ li r0, 0
-/* 801D6E78 001D2AD8 3B A0 00 00 */ li r29, 0
-/* 801D6E7C 001D2ADC 90 1A 00 00 */ stw r0, 0(r26)
-/* 801D6E80 001D2AE0 3B C0 00 00 */ li r30, 0
-/* 801D6E84 001D2AE4 3A A0 00 00 */ li r21, 0
-/* 801D6E88 001D2AE8 48 00 01 88 */ b lbl_801D7010
-lbl_801D6E8C:
-/* 801D6E8C 001D2AEC 38 61 00 14 */ addi r3, r1, 0x14
-/* 801D6E90 001D2AF0 38 80 00 00 */ li r4, 0
-/* 801D6E94 001D2AF4 38 A0 00 40 */ li r5, 0x40
-/* 801D6E98 001D2AF8 4B E2 D2 9D */ bl TRK_memset
-/* 801D6E9C 001D2AFC 80 19 00 00 */ lwz r0, 0(r25)
-/* 801D6EA0 001D2B00 38 60 08 00 */ li r3, 0x800
-/* 801D6EA4 001D2B04 7C 1E 00 50 */ subf r0, r30, r0
-/* 801D6EA8 001D2B08 28 00 08 00 */ cmplwi r0, 0x800
-/* 801D6EAC 001D2B0C 41 81 00 08 */ bgt lbl_801D6EB4
-/* 801D6EB0 001D2B10 7C 03 03 78 */ mr r3, r0
-lbl_801D6EB4:
-/* 801D6EB4 001D2B14 2C 1C 00 00 */ cmpwi r28, 0
-/* 801D6EB8 001D2B18 7C 7F 1B 78 */ mr r31, r3
-/* 801D6EBC 001D2B1C 38 00 00 D0 */ li r0, 0xd0
-/* 801D6EC0 001D2B20 41 82 00 08 */ beq lbl_801D6EC8
-/* 801D6EC4 001D2B24 38 00 00 D1 */ li r0, 0xd1
-lbl_801D6EC8:
-/* 801D6EC8 001D2B28 2C 1C 00 00 */ cmpwi r28, 0
-/* 801D6ECC 001D2B2C 98 01 00 18 */ stb r0, 0x18(r1)
-/* 801D6ED0 001D2B30 38 00 00 40 */ li r0, 0x40
-/* 801D6ED4 001D2B34 40 82 00 08 */ bne lbl_801D6EDC
-/* 801D6ED8 001D2B38 38 1F 00 40 */ addi r0, r31, 0x40
-lbl_801D6EDC:
-/* 801D6EDC 001D2B3C 90 01 00 14 */ stw r0, 0x14(r1)
-/* 801D6EE0 001D2B40 38 61 00 0C */ addi r3, r1, 0xc
-/* 801D6EE4 001D2B44 38 81 00 08 */ addi r4, r1, 8
-/* 801D6EE8 001D2B48 92 E1 00 1C */ stw r23, 0x1c(r1)
-/* 801D6EEC 001D2B4C B3 E1 00 20 */ sth r31, 0x20(r1)
-/* 801D6EF0 001D2B50 4B FF E5 19 */ bl TRKGetFreeBuffer
-/* 801D6EF4 001D2B54 80 61 00 08 */ lwz r3, 8(r1)
-/* 801D6EF8 001D2B58 38 81 00 14 */ addi r4, r1, 0x14
-/* 801D6EFC 001D2B5C 38 A0 00 40 */ li r5, 0x40
-/* 801D6F00 001D2B60 4B FF E1 75 */ bl TRKAppendBuffer_ui8
-/* 801D6F04 001D2B64 2C 1C 00 00 */ cmpwi r28, 0
-/* 801D6F08 001D2B68 7C 75 1B 78 */ mr r21, r3
-/* 801D6F0C 001D2B6C 40 82 00 20 */ bne lbl_801D6F2C
-/* 801D6F10 001D2B70 2C 15 00 00 */ cmpwi r21, 0
-/* 801D6F14 001D2B74 40 82 00 18 */ bne lbl_801D6F2C
-/* 801D6F18 001D2B78 80 61 00 08 */ lwz r3, 8(r1)
-/* 801D6F1C 001D2B7C 7F E5 FB 78 */ mr r5, r31
-/* 801D6F20 001D2B80 7C 98 F2 14 */ add r4, r24, r30
-/* 801D6F24 001D2B84 4B FF E1 51 */ bl TRKAppendBuffer_ui8
-/* 801D6F28 001D2B88 7C 75 1B 78 */ mr r21, r3
-lbl_801D6F2C:
-/* 801D6F2C 001D2B8C 2C 15 00 00 */ cmpwi r21, 0
-/* 801D6F30 001D2B90 40 82 00 D4 */ bne lbl_801D7004
-/* 801D6F34 001D2B94 2C 1B 00 00 */ cmpwi r27, 0
-/* 801D6F38 001D2B98 41 82 00 C0 */ beq lbl_801D6FF8
-/* 801D6F3C 001D2B9C 2C 1C 00 00 */ cmpwi r28, 0
-/* 801D6F40 001D2BA0 38 00 00 00 */ li r0, 0
-/* 801D6F44 001D2BA4 41 82 00 10 */ beq lbl_801D6F54
-/* 801D6F48 001D2BA8 28 17 00 00 */ cmplwi r23, 0
-/* 801D6F4C 001D2BAC 40 82 00 08 */ bne lbl_801D6F54
-/* 801D6F50 001D2BB0 38 00 00 01 */ li r0, 1
-lbl_801D6F54:
-/* 801D6F54 001D2BB4 2C 1C 00 00 */ cmpwi r28, 0
-/* 801D6F58 001D2BB8 80 61 00 08 */ lwz r3, 8(r1)
-/* 801D6F5C 001D2BBC 38 81 00 10 */ addi r4, r1, 0x10
-/* 801D6F60 001D2BC0 38 A0 00 05 */ li r5, 5
-/* 801D6F64 001D2BC4 7C 00 00 34 */ cntlzw r0, r0
-/* 801D6F68 001D2BC8 38 C0 00 03 */ li r6, 3
-/* 801D6F6C 001D2BCC 54 07 D9 7E */ srwi r7, r0, 5
-/* 801D6F70 001D2BD0 4B FF FD 45 */ bl func_801D6CB4
-/* 801D6F74 001D2BD4 7C 75 1B 79 */ or. r21, r3, r3
-/* 801D6F78 001D2BD8 40 82 00 10 */ bne lbl_801D6F88
-/* 801D6F7C 001D2BDC 80 61 00 10 */ lwz r3, 0x10(r1)
-/* 801D6F80 001D2BE0 4B FF E4 5D */ bl TRKGetBuffer
-/* 801D6F84 001D2BE4 7C 76 1B 78 */ mr r22, r3
-lbl_801D6F88:
-/* 801D6F88 001D2BE8 80 16 00 20 */ lwz r0, 0x20(r22)
-/* 801D6F8C 001D2BEC 2C 1C 00 00 */ cmpwi r28, 0
-/* 801D6F90 001D2BF0 A2 76 00 24 */ lhz r19, 0x24(r22)
-/* 801D6F94 001D2BF4 54 14 06 3E */ clrlwi r20, r0, 0x18
-/* 801D6F98 001D2BF8 41 82 00 40 */ beq lbl_801D6FD8
-/* 801D6F9C 001D2BFC 2C 15 00 00 */ cmpwi r21, 0
-/* 801D6FA0 001D2C00 40 82 00 38 */ bne lbl_801D6FD8
-/* 801D6FA4 001D2C04 7C 13 F8 40 */ cmplw r19, r31
-/* 801D6FA8 001D2C08 41 81 00 30 */ bgt lbl_801D6FD8
-/* 801D6FAC 001D2C0C 7E C3 B3 78 */ mr r3, r22
-/* 801D6FB0 001D2C10 38 80 00 40 */ li r4, 0x40
-/* 801D6FB4 001D2C14 4B FF E3 55 */ bl TRKSetBufferPosition
-/* 801D6FB8 001D2C18 7E C3 B3 78 */ mr r3, r22
-/* 801D6FBC 001D2C1C 7E 65 9B 78 */ mr r5, r19
-/* 801D6FC0 001D2C20 7C 98 F2 14 */ add r4, r24, r30
-/* 801D6FC4 001D2C24 4B FF DE 35 */ bl TRKReadBuffer_ui8
-/* 801D6FC8 001D2C28 7C 75 1B 78 */ mr r21, r3
-/* 801D6FCC 001D2C2C 2C 15 03 02 */ cmpwi r21, 0x302
-/* 801D6FD0 001D2C30 40 82 00 08 */ bne lbl_801D6FD8
-/* 801D6FD4 001D2C34 3A A0 00 00 */ li r21, 0
-lbl_801D6FD8:
-/* 801D6FD8 001D2C38 7C 13 F8 40 */ cmplw r19, r31
-/* 801D6FDC 001D2C3C 41 82 00 0C */ beq lbl_801D6FE8
-/* 801D6FE0 001D2C40 7E 7F 9B 78 */ mr r31, r19
-/* 801D6FE4 001D2C44 3B A0 00 01 */ li r29, 1
-lbl_801D6FE8:
-/* 801D6FE8 001D2C48 92 9A 00 00 */ stw r20, 0(r26)
-/* 801D6FEC 001D2C4C 80 61 00 10 */ lwz r3, 0x10(r1)
-/* 801D6FF0 001D2C50 4B FF E3 89 */ bl TRKReleaseBuffer
-/* 801D6FF4 001D2C54 48 00 00 10 */ b lbl_801D7004
-lbl_801D6FF8:
-/* 801D6FF8 001D2C58 80 61 00 08 */ lwz r3, 8(r1)
-/* 801D6FFC 001D2C5C 4B FF DC E1 */ bl TRKMessageSend
-/* 801D7000 001D2C60 7C 75 1B 78 */ mr r21, r3
-lbl_801D7004:
-/* 801D7004 001D2C64 80 61 00 0C */ lwz r3, 0xc(r1)
-/* 801D7008 001D2C68 4B FF E3 71 */ bl TRKReleaseBuffer
-/* 801D700C 001D2C6C 7F DE FA 14 */ add r30, r30, r31
-lbl_801D7010:
-/* 801D7010 001D2C70 2C 1D 00 00 */ cmpwi r29, 0
-/* 801D7014 001D2C74 40 82 00 24 */ bne lbl_801D7038
-/* 801D7018 001D2C78 80 19 00 00 */ lwz r0, 0(r25)
-/* 801D701C 001D2C7C 7C 1E 00 40 */ cmplw r30, r0
-/* 801D7020 001D2C80 40 80 00 18 */ bge lbl_801D7038
-/* 801D7024 001D2C84 2C 15 00 00 */ cmpwi r21, 0
-/* 801D7028 001D2C88 40 82 00 10 */ bne lbl_801D7038
-/* 801D702C 001D2C8C 80 1A 00 00 */ lwz r0, 0(r26)
-/* 801D7030 001D2C90 2C 00 00 00 */ cmpwi r0, 0
-/* 801D7034 001D2C94 41 82 FE 58 */ beq lbl_801D6E8C
-lbl_801D7038:
-/* 801D7038 001D2C98 93 D9 00 00 */ stw r30, 0(r25)
-/* 801D703C 001D2C9C 7E A3 AB 78 */ mr r3, r21
-lbl_801D7040:
-/* 801D7040 001D2CA0 BA 61 00 5C */ lmw r19, 0x5c(r1)
-/* 801D7044 001D2CA4 80 01 00 94 */ lwz r0, 0x94(r1)
-/* 801D7048 001D2CA8 7C 08 03 A6 */ mtlr r0
-/* 801D704C 001D2CAC 38 21 00 90 */ addi r1, r1, 0x90
-/* 801D7050 001D2CB0 4E 80 00 20 */ blr
-
.global func_801D7054
func_801D7054:
/* 801D7054 001D2CB4 38 60 00 00 */ li r3, 0
@@ -1860,7 +45,7 @@ lbl_801D70B8:
/* 801D70C0 001D2D20 38 A0 00 02 */ li r5, 2
/* 801D70C4 001D2D24 38 C0 00 03 */ li r6, 3
/* 801D70C8 001D2D28 38 E0 00 01 */ li r7, 1
-/* 801D70CC 001D2D2C 4B FF FB E9 */ bl func_801D6CB4
+/* 801D70CC 001D2D2C 4B FF FB E9 */ bl TRKRequestSend
/* 801D70D0 001D2D30 7C 7F 1B 79 */ or. r31, r3, r3
/* 801D70D4 001D2D34 40 82 00 0C */ bne lbl_801D70E0
/* 801D70D8 001D2D38 80 61 00 10 */ lwz r3, 0x10(r1)
diff --git a/asm/text_6_2.s b/asm/text_6_2.s
index f1ade34..40a5b65 100644
--- a/asm/text_6_2.s
+++ b/asm/text_6_2.s
@@ -2132,7 +2132,7 @@ func_801D8FC0:
/* 801D8FE8 001D4C48 38 60 00 01 */ li r3, 1
/* 801D8FEC 001D4C4C 48 00 00 78 */ b lbl_801D9064
lbl_801D8FF0:
-/* 801D8FF0 001D4C50 4B FF D9 A1 */ bl func_801D6990
+/* 801D8FF0 001D4C50 4B FF D9 A1 */ bl GetTRKConnected
/* 801D8FF4 001D4C54 2C 03 00 00 */ cmpwi r3, 0
/* 801D8FF8 001D4C58 40 82 00 0C */ bne lbl_801D9004
/* 801D8FFC 001D4C5C 38 60 00 01 */ li r3, 1
@@ -2189,7 +2189,7 @@ __TRK_write_console:
/* 801D90A4 001D4D04 38 60 00 01 */ li r3, 1
/* 801D90A8 001D4D08 48 00 00 78 */ b lbl_801D9120
lbl_801D90AC:
-/* 801D90AC 001D4D0C 4B FF D8 E5 */ bl func_801D6990
+/* 801D90AC 001D4D0C 4B FF D8 E5 */ bl GetTRKConnected
/* 801D90B0 001D4D10 2C 03 00 00 */ cmpwi r3, 0
/* 801D90B4 001D4D14 40 82 00 0C */ bne lbl_801D90C0
/* 801D90B8 001D4D18 38 60 00 01 */ li r3, 1
diff --git a/obj_files.mk b/obj_files.mk
index 1051599..a593b01 100644
--- a/obj_files.mk
+++ b/obj_files.mk
@@ -76,6 +76,10 @@ TEXT_O_FILES := \
$(BUILD_DIR)/asm/MetroTRK/msg.o \
$(BUILD_DIR)/asm/MetroTRK/msgbuf.o \
$(BUILD_DIR)/asm/MetroTRK/serpoll.o \
+ $(BUILD_DIR)/asm/MetroTRK/usr_put.o \
+ $(BUILD_DIR)/asm/MetroTRK/dispatch.o \
+ $(BUILD_DIR)/asm/MetroTRK/msghndlr.o \
+ $(BUILD_DIR)/asm/MetroTRK/support.o \
$(BUILD_DIR)/asm/text_6.o \
$(BUILD_DIR)/asm/MetroTRK/mem_TRK.o \
$(BUILD_DIR)/asm/init.o \