diff options
| -rw-r--r-- | asm/MetroTRK/dispatch.s | 92 | ||||
| -rw-r--r-- | asm/MetroTRK/mainloop.s | 2 | ||||
| -rw-r--r-- | asm/MetroTRK/msghndlr.s | 1202 | ||||
| -rw-r--r-- | asm/MetroTRK/nubinit.s | 4 | ||||
| -rw-r--r-- | asm/MetroTRK/support.s | 486 | ||||
| -rw-r--r-- | asm/MetroTRK/usr_put.s | 47 | ||||
| -rw-r--r-- | asm/text_6.s | 1817 | ||||
| -rw-r--r-- | asm/text_6_2.s | 4 | ||||
| -rw-r--r-- | obj_files.mk | 4 | 
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                                       \ | 
