.include "macros.inc" .section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860 .global TRK_InitializeMessageBuffers TRK_InitializeMessageBuffers: /* 80016F68 00012DA8 3C 60 80 49 */ lis r3, gTRKMsgBufs@ha /* 80016F6C 00012DAC 38 00 00 00 */ li r0, 0x0 /* 80016F70 00012DB0 38 83 71 48 */ addi r4, r3, gTRKMsgBufs@l /* 80016F74 00012DB4 90 03 71 48 */ stw r0, 0x7148(r3) /* 80016F78 00012DB8 38 60 00 00 */ li r3, 0x0 /* 80016F7C 00012DBC 90 04 08 8C */ stw r0, 0x88c(r4) /* 80016F80 00012DC0 90 04 11 18 */ stw r0, 0x1118(r4) /* 80016F84 00012DC4 4E 80 00 20 */ blr .global TRK_GetFreeBuffer TRK_GetFreeBuffer: /* 80016F88 00012DC8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80016F8C 00012DCC 7C 08 02 A6 */ mflr r0 /* 80016F90 00012DD0 90 01 00 24 */ stw r0, 0x24(r1) /* 80016F94 00012DD4 38 00 00 00 */ li r0, 0x0 /* 80016F98 00012DD8 BF 41 00 08 */ stmw r26, 0x8(r1) /* 80016F9C 00012DDC 7C 7A 1B 78 */ mr r26, r3 /* 80016FA0 00012DE0 7C 9B 23 78 */ mr r27, r4 /* 80016FA4 00012DE4 3B C0 03 00 */ li r30, 0x300 /* 80016FA8 00012DE8 3B A0 00 00 */ li r29, 0x0 /* 80016FAC 00012DEC 3B E0 00 01 */ li r31, 0x1 /* 80016FB0 00012DF0 90 04 00 00 */ stw r0, 0x0(r4) /* 80016FB4 00012DF4 48 00 00 3C */ b lbl_80016FF0 .global lbl_80016FB8 lbl_80016FB8: /* 80016FB8 00012DF8 7F A3 EB 78 */ mr r3, r29 /* 80016FBC 00012DFC 48 00 00 69 */ bl TRKGetBuffer /* 80016FC0 00012E00 80 03 00 00 */ lwz r0, 0x0(r3) /* 80016FC4 00012E04 7C 7C 1B 78 */ mr r28, r3 /* 80016FC8 00012E08 2C 00 00 00 */ cmpwi r0, 0x0 /* 80016FCC 00012E0C 40 82 00 20 */ bne lbl_80016FEC /* 80016FD0 00012E10 38 80 00 01 */ li r4, 0x1 /* 80016FD4 00012E14 48 00 00 9D */ bl TRKResetBuffer /* 80016FD8 00012E18 93 FC 00 00 */ stw r31, 0x0(r28) /* 80016FDC 00012E1C 3B C0 00 00 */ li r30, 0x0 /* 80016FE0 00012E20 93 9B 00 00 */ stw r28, 0x0(r27) /* 80016FE4 00012E24 93 BA 00 00 */ stw r29, 0x0(r26) /* 80016FE8 00012E28 3B A0 00 03 */ li r29, 0x3 .global lbl_80016FEC lbl_80016FEC: /* 80016FEC 00012E2C 3B BD 00 01 */ addi r29, r29, 0x1 .global lbl_80016FF0 lbl_80016FF0: /* 80016FF0 00012E30 2C 1D 00 03 */ cmpwi r29, 0x3 /* 80016FF4 00012E34 41 80 FF C4 */ blt lbl_80016FB8 /* 80016FF8 00012E38 2C 1E 03 00 */ cmpwi r30, 0x300 /* 80016FFC 00012E3C 40 82 00 10 */ bne lbl_8001700C /* 80017000 00012E40 3C 60 80 42 */ lis r3, "@stringBase0_80421D00"@ha /* 80017004 00012E44 38 63 1D 00 */ addi r3, r3, "@stringBase0_80421D00"@l /* 80017008 00012E48 48 00 69 89 */ bl OSReport .global lbl_8001700C lbl_8001700C: /* 8001700C 00012E4C 7F C3 F3 78 */ mr r3, r30 /* 80017010 00012E50 BB 41 00 08 */ lmw r26, 0x8(r1) /* 80017014 00012E54 80 01 00 24 */ lwz r0, 0x24(r1) /* 80017018 00012E58 7C 08 03 A6 */ mtlr r0 /* 8001701C 00012E5C 38 21 00 20 */ addi r1, r1, 0x20 /* 80017020 00012E60 4E 80 00 20 */ blr .global TRKGetBuffer TRKGetBuffer: /* 80017024 00012E64 28 03 00 02 */ cmplwi r3, 0x2 /* 80017028 00012E68 38 00 00 00 */ li r0, 0x0 /* 8001702C 00012E6C 41 81 00 14 */ bgt lbl_80017040 /* 80017030 00012E70 1C 03 08 8C */ mulli r0, r3, 0x88c /* 80017034 00012E74 3C 60 80 49 */ lis r3, gTRKMsgBufs@ha /* 80017038 00012E78 38 63 71 48 */ addi r3, r3, gTRKMsgBufs@l /* 8001703C 00012E7C 7C 03 02 14 */ add r0, r3, r0 .global lbl_80017040 lbl_80017040: /* 80017040 00012E80 7C 03 03 78 */ mr r3, r0 /* 80017044 00012E84 4E 80 00 20 */ blr .global TRK_ReleaseBuffer TRK_ReleaseBuffer: /* 80017048 00012E88 2C 03 FF FF */ cmpwi r3, -0x1 /* 8001704C 00012E8C 4D 82 00 20 */ beqlr /* 80017050 00012E90 28 03 00 02 */ cmplwi r3, 0x2 /* 80017054 00012E94 4D 81 00 20 */ bgtlr /* 80017058 00012E98 1C 03 08 8C */ mulli r0, r3, 0x88c /* 8001705C 00012E9C 3C 60 80 49 */ lis r3, gTRKMsgBufs@ha /* 80017060 00012EA0 38 80 00 00 */ li r4, 0x0 /* 80017064 00012EA4 38 63 71 48 */ addi r3, r3, gTRKMsgBufs@l /* 80017068 00012EA8 7C 83 01 2E */ stwx r4, r3, r0 /* 8001706C 00012EAC 4E 80 00 20 */ blr .global TRKResetBuffer TRKResetBuffer: /* 80017070 00012EB0 2C 04 00 00 */ cmpwi r4, 0x0 /* 80017074 00012EB4 38 00 00 00 */ li r0, 0x0 /* 80017078 00012EB8 90 03 00 04 */ stw r0, 0x4(r3) /* 8001707C 00012EBC 90 03 00 08 */ stw r0, 0x8(r3) /* 80017080 00012EC0 4C 82 00 20 */ bnelr /* 80017084 00012EC4 38 80 00 00 */ li r4, 0x0 /* 80017088 00012EC8 38 A0 08 80 */ li r5, 0x880 /* 8001708C 00012ECC 38 63 00 0C */ addi r3, r3, 0xc /* 80017090 00012ED0 4B FF E7 3C */ b TRK_memset /* 80017094 00012ED4 4E 80 00 20 */ blr .global TRK_SetBufferPosition TRK_SetBufferPosition: /* 80017098 00012ED8 28 04 08 80 */ cmplwi r4, 0x880 /* 8001709C 00012EDC 38 A0 00 00 */ li r5, 0x0 /* 800170A0 00012EE0 40 81 00 0C */ ble lbl_800170AC /* 800170A4 00012EE4 38 A0 03 01 */ li r5, 0x301 /* 800170A8 00012EE8 48 00 00 18 */ b lbl_800170C0 .global lbl_800170AC lbl_800170AC: /* 800170AC 00012EEC 80 03 00 04 */ lwz r0, 0x4(r3) /* 800170B0 00012EF0 90 83 00 08 */ stw r4, 0x8(r3) /* 800170B4 00012EF4 7C 04 00 40 */ cmplw r4, r0 /* 800170B8 00012EF8 40 81 00 08 */ ble lbl_800170C0 /* 800170BC 00012EFC 90 83 00 04 */ stw r4, 0x4(r3) .global lbl_800170C0 lbl_800170C0: /* 800170C0 00012F00 7C A3 2B 78 */ mr r3, r5 /* 800170C4 00012F04 4E 80 00 20 */ blr .global TRK_AppendBuffer TRK_AppendBuffer: /* 800170C8 00012F08 94 21 FF E0 */ stwu r1, -0x20(r1) /* 800170CC 00012F0C 7C 08 02 A6 */ mflr r0 /* 800170D0 00012F10 2C 05 00 00 */ cmpwi r5, 0x0 /* 800170D4 00012F14 90 01 00 24 */ stw r0, 0x24(r1) /* 800170D8 00012F18 93 E1 00 1C */ stw r31, 0x1c(r1) /* 800170DC 00012F1C 3B E0 00 00 */ li r31, 0x0 /* 800170E0 00012F20 93 C1 00 18 */ stw r30, 0x18(r1) /* 800170E4 00012F24 7C BE 2B 78 */ mr r30, r5 /* 800170E8 00012F28 93 A1 00 14 */ stw r29, 0x14(r1) /* 800170EC 00012F2C 7C 7D 1B 78 */ mr r29, r3 /* 800170F0 00012F30 40 82 00 0C */ bne lbl_800170FC /* 800170F4 00012F34 38 60 00 00 */ li r3, 0x0 /* 800170F8 00012F38 48 00 00 58 */ b lbl_80017150 .global lbl_800170FC lbl_800170FC: /* 800170FC 00012F3C 80 03 00 08 */ lwz r0, 0x8(r3) /* 80017100 00012F40 20 C0 08 80 */ subfic r6, r0, 0x880 /* 80017104 00012F44 7C 06 28 40 */ cmplw r6, r5 /* 80017108 00012F48 40 80 00 0C */ bge lbl_80017114 /* 8001710C 00012F4C 3B E0 03 01 */ li r31, 0x301 /* 80017110 00012F50 7C DE 33 78 */ mr r30, r6 .global lbl_80017114 lbl_80017114: /* 80017114 00012F54 28 1E 00 01 */ cmplwi r30, 0x1 /* 80017118 00012F58 40 82 00 14 */ bne lbl_8001712C /* 8001711C 00012F5C 7C 63 02 14 */ add r3, r3, r0 /* 80017120 00012F60 88 04 00 00 */ lbz r0, 0x0(r4) /* 80017124 00012F64 98 03 00 0C */ stb r0, 0xc(r3) /* 80017128 00012F68 48 00 00 14 */ b lbl_8001713C .global lbl_8001712C lbl_8001712C: /* 8001712C 00012F6C 7C 63 02 14 */ add r3, r3, r0 /* 80017130 00012F70 7F C5 F3 78 */ mr r5, r30 /* 80017134 00012F74 38 63 00 0C */ addi r3, r3, 0xc /* 80017138 00012F78 4B FF E5 59 */ bl TRK_memcpy .global lbl_8001713C lbl_8001713C: /* 8001713C 00012F7C 80 1D 00 08 */ lwz r0, 0x8(r29) /* 80017140 00012F80 7F E3 FB 78 */ mr r3, r31 /* 80017144 00012F84 7C 00 F2 14 */ add r0, r0, r30 /* 80017148 00012F88 90 1D 00 08 */ stw r0, 0x8(r29) /* 8001714C 00012F8C 90 1D 00 04 */ stw r0, 0x4(r29) .global lbl_80017150 lbl_80017150: /* 80017150 00012F90 80 01 00 24 */ lwz r0, 0x24(r1) /* 80017154 00012F94 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80017158 00012F98 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8001715C 00012F9C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80017160 00012FA0 7C 08 03 A6 */ mtlr r0 /* 80017164 00012FA4 38 21 00 20 */ addi r1, r1, 0x20 /* 80017168 00012FA8 4E 80 00 20 */ blr .global TRK_ReadBuffer TRK_ReadBuffer: /* 8001716C 00012FAC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80017170 00012FB0 7C 08 02 A6 */ mflr r0 /* 80017174 00012FB4 2C 05 00 00 */ cmpwi r5, 0x0 /* 80017178 00012FB8 90 01 00 24 */ stw r0, 0x24(r1) /* 8001717C 00012FBC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80017180 00012FC0 3B E0 00 00 */ li r31, 0x0 /* 80017184 00012FC4 93 C1 00 18 */ stw r30, 0x18(r1) /* 80017188 00012FC8 7C BE 2B 78 */ mr r30, r5 /* 8001718C 00012FCC 93 A1 00 14 */ stw r29, 0x14(r1) /* 80017190 00012FD0 7C 7D 1B 78 */ mr r29, r3 /* 80017194 00012FD4 40 82 00 0C */ bne lbl_800171A0 /* 80017198 00012FD8 38 60 00 00 */ li r3, 0x0 /* 8001719C 00012FDC 48 00 00 44 */ b lbl_800171E0 .global lbl_800171A0 lbl_800171A0: /* 800171A0 00012FE0 80 C3 00 08 */ lwz r6, 0x8(r3) /* 800171A4 00012FE4 80 03 00 04 */ lwz r0, 0x4(r3) /* 800171A8 00012FE8 7C 06 00 50 */ subf r0, r6, r0 /* 800171AC 00012FEC 7C 05 00 40 */ cmplw r5, r0 /* 800171B0 00012FF0 40 81 00 0C */ ble lbl_800171BC /* 800171B4 00012FF4 3B E0 03 02 */ li r31, 0x302 /* 800171B8 00012FF8 7C 1E 03 78 */ mr r30, r0 .global lbl_800171BC lbl_800171BC: /* 800171BC 00012FFC 7C DD 32 14 */ add r6, r29, r6 /* 800171C0 00013000 7C 83 23 78 */ mr r3, r4 /* 800171C4 00013004 7F C5 F3 78 */ mr r5, r30 /* 800171C8 00013008 38 86 00 0C */ addi r4, r6, 0xc /* 800171CC 0001300C 4B FF E4 C5 */ bl TRK_memcpy /* 800171D0 00013010 80 1D 00 08 */ lwz r0, 0x8(r29) /* 800171D4 00013014 7F E3 FB 78 */ mr r3, r31 /* 800171D8 00013018 7C 00 F2 14 */ add r0, r0, r30 /* 800171DC 0001301C 90 1D 00 08 */ stw r0, 0x8(r29) .global lbl_800171E0 lbl_800171E0: /* 800171E0 00013020 80 01 00 24 */ lwz r0, 0x24(r1) /* 800171E4 00013024 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 800171E8 00013028 83 C1 00 18 */ lwz r30, 0x18(r1) /* 800171EC 0001302C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 800171F0 00013030 7C 08 03 A6 */ mtlr r0 /* 800171F4 00013034 38 21 00 20 */ addi r1, r1, 0x20 /* 800171F8 00013038 4E 80 00 20 */ blr .global TRKAppendBuffer1_ui32 TRKAppendBuffer1_ui32: /* 800171FC 0001303C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80017200 00013040 7C 08 02 A6 */ mflr r0 /* 80017204 00013044 90 01 00 24 */ stw r0, 0x24(r1) /* 80017208 00013048 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8001720C 0001304C 93 C1 00 18 */ stw r30, 0x18(r1) /* 80017210 00013050 93 A1 00 14 */ stw r29, 0x14(r1) /* 80017214 00013054 7C 7D 1B 78 */ mr r29, r3 /* 80017218 00013058 80 0D E3 28 */ lwz r0, gTRKBigEndian@sda21(r13) /* 8001721C 0001305C 90 81 00 08 */ stw r4, 0x8(r1) /* 80017220 00013060 2C 00 00 00 */ cmpwi r0, 0x0 /* 80017224 00013064 41 82 00 0C */ beq lbl_80017230 /* 80017228 00013068 38 81 00 08 */ addi r4, r1, 0x8 /* 8001722C 0001306C 48 00 00 28 */ b lbl_80017254 .global lbl_80017230 lbl_80017230: /* 80017230 00013070 88 E1 00 0B */ lbz r7, 0xb(r1) /* 80017234 00013074 38 81 00 0C */ addi r4, r1, 0xc /* 80017238 00013078 88 C1 00 0A */ lbz r6, 0xa(r1) /* 8001723C 0001307C 88 A1 00 09 */ lbz r5, 0x9(r1) /* 80017240 00013080 88 01 00 08 */ lbz r0, 0x8(r1) /* 80017244 00013084 98 E1 00 0C */ stb r7, 0xc(r1) /* 80017248 00013088 98 C1 00 0D */ stb r6, 0xd(r1) /* 8001724C 0001308C 98 A1 00 0E */ stb r5, 0xe(r1) /* 80017250 00013090 98 01 00 0F */ stb r0, 0xf(r1) .global lbl_80017254 lbl_80017254: /* 80017254 00013094 80 A3 00 08 */ lwz r5, 0x8(r3) /* 80017258 00013098 3B E0 00 04 */ li r31, 0x4 /* 8001725C 0001309C 3B C0 00 00 */ li r30, 0x0 /* 80017260 000130A0 20 05 08 80 */ subfic r0, r5, 0x880 /* 80017264 000130A4 28 00 00 04 */ cmplwi r0, 0x4 /* 80017268 000130A8 40 80 00 0C */ bge lbl_80017274 /* 8001726C 000130AC 3B C0 03 01 */ li r30, 0x301 /* 80017270 000130B0 7C 1F 03 78 */ mr r31, r0 .global lbl_80017274 lbl_80017274: /* 80017274 000130B4 28 1F 00 01 */ cmplwi r31, 0x1 /* 80017278 000130B8 40 82 00 14 */ bne lbl_8001728C /* 8001727C 000130BC 7C 63 2A 14 */ add r3, r3, r5 /* 80017280 000130C0 88 04 00 00 */ lbz r0, 0x0(r4) /* 80017284 000130C4 98 03 00 0C */ stb r0, 0xc(r3) /* 80017288 000130C8 48 00 00 14 */ b lbl_8001729C .global lbl_8001728C lbl_8001728C: /* 8001728C 000130CC 7C 63 2A 14 */ add r3, r3, r5 /* 80017290 000130D0 7F E5 FB 78 */ mr r5, r31 /* 80017294 000130D4 38 63 00 0C */ addi r3, r3, 0xc /* 80017298 000130D8 4B FF E3 F9 */ bl TRK_memcpy .global lbl_8001729C lbl_8001729C: /* 8001729C 000130DC 80 1D 00 08 */ lwz r0, 0x8(r29) /* 800172A0 000130E0 7F C3 F3 78 */ mr r3, r30 /* 800172A4 000130E4 7C 00 FA 14 */ add r0, r0, r31 /* 800172A8 000130E8 90 1D 00 08 */ stw r0, 0x8(r29) /* 800172AC 000130EC 90 1D 00 04 */ stw r0, 0x4(r29) /* 800172B0 000130F0 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 800172B4 000130F4 83 C1 00 18 */ lwz r30, 0x18(r1) /* 800172B8 000130F8 83 A1 00 14 */ lwz r29, 0x14(r1) /* 800172BC 000130FC 80 01 00 24 */ lwz r0, 0x24(r1) /* 800172C0 00013100 7C 08 03 A6 */ mtlr r0 /* 800172C4 00013104 38 21 00 20 */ addi r1, r1, 0x20 /* 800172C8 00013108 4E 80 00 20 */ blr .global TRKAppendBuffer1_ui64 TRKAppendBuffer1_ui64: /* 800172CC 0001310C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 800172D0 00013110 7C 08 02 A6 */ mflr r0 /* 800172D4 00013114 90 01 00 34 */ stw r0, 0x34(r1) /* 800172D8 00013118 93 E1 00 2C */ stw r31, 0x2c(r1) /* 800172DC 0001311C 7C 7F 1B 78 */ mr r31, r3 /* 800172E0 00013120 93 C1 00 28 */ stw r30, 0x28(r1) /* 800172E4 00013124 93 A1 00 24 */ stw r29, 0x24(r1) /* 800172E8 00013128 80 0D E3 28 */ lwz r0, gTRKBigEndian@sda21(r13) /* 800172EC 0001312C 90 A1 00 08 */ stw r5, 0x8(r1) /* 800172F0 00013130 2C 00 00 00 */ cmpwi r0, 0x0 /* 800172F4 00013134 90 C1 00 0C */ stw r6, 0xc(r1) /* 800172F8 00013138 41 82 00 0C */ beq lbl_80017304 /* 800172FC 0001313C 38 81 00 08 */ addi r4, r1, 0x8 /* 80017300 00013140 48 00 00 48 */ b lbl_80017348 .global lbl_80017304 lbl_80017304: /* 80017304 00013144 89 61 00 0F */ lbz r11, 0xf(r1) /* 80017308 00013148 38 81 00 10 */ addi r4, r1, 0x10 /* 8001730C 0001314C 89 41 00 0E */ lbz r10, 0xe(r1) /* 80017310 00013150 89 21 00 0D */ lbz r9, 0xd(r1) /* 80017314 00013154 89 01 00 0C */ lbz r8, 0xc(r1) /* 80017318 00013158 88 E1 00 0B */ lbz r7, 0xb(r1) /* 8001731C 0001315C 88 C1 00 0A */ lbz r6, 0xa(r1) /* 80017320 00013160 88 A1 00 09 */ lbz r5, 0x9(r1) /* 80017324 00013164 88 01 00 08 */ lbz r0, 0x8(r1) /* 80017328 00013168 99 61 00 10 */ stb r11, 0x10(r1) /* 8001732C 0001316C 99 41 00 11 */ stb r10, 0x11(r1) /* 80017330 00013170 99 21 00 12 */ stb r9, 0x12(r1) /* 80017334 00013174 99 01 00 13 */ stb r8, 0x13(r1) /* 80017338 00013178 98 E1 00 14 */ stb r7, 0x14(r1) /* 8001733C 0001317C 98 C1 00 15 */ stb r6, 0x15(r1) /* 80017340 00013180 98 A1 00 16 */ stb r5, 0x16(r1) /* 80017344 00013184 98 01 00 17 */ stb r0, 0x17(r1) .global lbl_80017348 lbl_80017348: /* 80017348 00013188 80 A3 00 08 */ lwz r5, 0x8(r3) /* 8001734C 0001318C 3B C0 00 08 */ li r30, 0x8 /* 80017350 00013190 3B A0 00 00 */ li r29, 0x0 /* 80017354 00013194 20 05 08 80 */ subfic r0, r5, 0x880 /* 80017358 00013198 28 00 00 08 */ cmplwi r0, 0x8 /* 8001735C 0001319C 40 80 00 0C */ bge lbl_80017368 /* 80017360 000131A0 3B A0 03 01 */ li r29, 0x301 /* 80017364 000131A4 7C 1E 03 78 */ mr r30, r0 .global lbl_80017368 lbl_80017368: /* 80017368 000131A8 28 1E 00 01 */ cmplwi r30, 0x1 /* 8001736C 000131AC 40 82 00 14 */ bne lbl_80017380 /* 80017370 000131B0 7C 63 2A 14 */ add r3, r3, r5 /* 80017374 000131B4 88 04 00 00 */ lbz r0, 0x0(r4) /* 80017378 000131B8 98 03 00 0C */ stb r0, 0xc(r3) /* 8001737C 000131BC 48 00 00 14 */ b lbl_80017390 .global lbl_80017380 lbl_80017380: /* 80017380 000131C0 7C 63 2A 14 */ add r3, r3, r5 /* 80017384 000131C4 7F C5 F3 78 */ mr r5, r30 /* 80017388 000131C8 38 63 00 0C */ addi r3, r3, 0xc /* 8001738C 000131CC 4B FF E3 05 */ bl TRK_memcpy .global lbl_80017390 lbl_80017390: /* 80017390 000131D0 80 1F 00 08 */ lwz r0, 0x8(r31) /* 80017394 000131D4 7F A3 EB 78 */ mr r3, r29 /* 80017398 000131D8 7C 00 F2 14 */ add r0, r0, r30 /* 8001739C 000131DC 90 1F 00 08 */ stw r0, 0x8(r31) /* 800173A0 000131E0 90 1F 00 04 */ stw r0, 0x4(r31) /* 800173A4 000131E4 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 800173A8 000131E8 83 C1 00 28 */ lwz r30, 0x28(r1) /* 800173AC 000131EC 83 A1 00 24 */ lwz r29, 0x24(r1) /* 800173B0 000131F0 80 01 00 34 */ lwz r0, 0x34(r1) /* 800173B4 000131F4 7C 08 03 A6 */ mtlr r0 /* 800173B8 000131F8 38 21 00 30 */ addi r1, r1, 0x30 /* 800173BC 000131FC 4E 80 00 20 */ blr .global TRKAppendBuffer_ui8 TRKAppendBuffer_ui8: /* 800173C0 00013200 39 20 00 00 */ li r9, 0x0 /* 800173C4 00013204 38 E0 00 00 */ li r7, 0x0 /* 800173C8 00013208 48 00 00 44 */ b lbl_8001740C .global lbl_800173CC lbl_800173CC: /* 800173CC 0001320C 80 E3 00 08 */ lwz r7, 0x8(r3) /* 800173D0 00013210 89 04 00 00 */ lbz r8, 0x0(r4) /* 800173D4 00013214 28 07 08 80 */ cmplwi r7, 0x880 /* 800173D8 00013218 41 80 00 0C */ blt lbl_800173E4 /* 800173DC 0001321C 38 E0 03 01 */ li r7, 0x301 /* 800173E0 00013220 48 00 00 24 */ b lbl_80017404 .global lbl_800173E4 lbl_800173E4: /* 800173E4 00013224 7C C3 3A 14 */ add r6, r3, r7 /* 800173E8 00013228 38 07 00 01 */ addi r0, r7, 0x1 /* 800173EC 0001322C 99 06 00 0C */ stb r8, 0xc(r6) /* 800173F0 00013230 38 E0 00 00 */ li r7, 0x0 /* 800173F4 00013234 80 C3 00 04 */ lwz r6, 0x4(r3) /* 800173F8 00013238 90 03 00 08 */ stw r0, 0x8(r3) /* 800173FC 0001323C 38 06 00 01 */ addi r0, r6, 0x1 /* 80017400 00013240 90 03 00 04 */ stw r0, 0x4(r3) .global lbl_80017404 lbl_80017404: /* 80017404 00013244 39 29 00 01 */ addi r9, r9, 0x1 /* 80017408 00013248 38 84 00 01 */ addi r4, r4, 0x1 .global lbl_8001740C lbl_8001740C: /* 8001740C 0001324C 2C 07 00 00 */ cmpwi r7, 0x0 /* 80017410 00013250 40 82 00 0C */ bne lbl_8001741C /* 80017414 00013254 7C 09 28 00 */ cmpw r9, r5 /* 80017418 00013258 41 80 FF B4 */ blt lbl_800173CC .global lbl_8001741C lbl_8001741C: /* 8001741C 0001325C 7C E3 3B 78 */ mr r3, r7 /* 80017420 00013260 4E 80 00 20 */ blr .global TRKAppendBuffer_ui32 TRKAppendBuffer_ui32: /* 80017424 00013264 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80017428 00013268 7C 08 02 A6 */ mflr r0 /* 8001742C 0001326C 90 01 00 34 */ stw r0, 0x34(r1) /* 80017430 00013270 BF 41 00 18 */ stmw r26, 0x18(r1) /* 80017434 00013274 7C 7D 1B 78 */ mr r29, r3 /* 80017438 00013278 7C 9B 23 78 */ mr r27, r4 /* 8001743C 0001327C 7C BE 2B 78 */ mr r30, r5 /* 80017440 00013280 3B E0 00 00 */ li r31, 0x0 /* 80017444 00013284 3B 40 00 00 */ li r26, 0x0 /* 80017448 00013288 48 00 00 A4 */ b lbl_800174EC .global lbl_8001744C lbl_8001744C: /* 8001744C 0001328C 80 0D E3 28 */ lwz r0, gTRKBigEndian@sda21(r13) /* 80017450 00013290 80 7B 00 00 */ lwz r3, 0x0(r27) /* 80017454 00013294 2C 00 00 00 */ cmpwi r0, 0x0 /* 80017458 00013298 90 61 00 0C */ stw r3, 0xc(r1) /* 8001745C 0001329C 41 82 00 0C */ beq lbl_80017468 /* 80017460 000132A0 38 81 00 0C */ addi r4, r1, 0xc /* 80017464 000132A4 48 00 00 28 */ b lbl_8001748C .global lbl_80017468 lbl_80017468: /* 80017468 000132A8 88 C1 00 0F */ lbz r6, 0xf(r1) /* 8001746C 000132AC 38 81 00 08 */ addi r4, r1, 0x8 /* 80017470 000132B0 88 A1 00 0E */ lbz r5, 0xe(r1) /* 80017474 000132B4 88 61 00 0D */ lbz r3, 0xd(r1) /* 80017478 000132B8 88 01 00 0C */ lbz r0, 0xc(r1) /* 8001747C 000132BC 98 C1 00 08 */ stb r6, 0x8(r1) /* 80017480 000132C0 98 A1 00 09 */ stb r5, 0x9(r1) /* 80017484 000132C4 98 61 00 0A */ stb r3, 0xa(r1) /* 80017488 000132C8 98 01 00 0B */ stb r0, 0xb(r1) .global lbl_8001748C lbl_8001748C: /* 8001748C 000132CC 80 7D 00 08 */ lwz r3, 0x8(r29) /* 80017490 000132D0 3B 80 00 04 */ li r28, 0x4 /* 80017494 000132D4 3B 40 00 00 */ li r26, 0x0 /* 80017498 000132D8 20 03 08 80 */ subfic r0, r3, 0x880 /* 8001749C 000132DC 28 00 00 04 */ cmplwi r0, 0x4 /* 800174A0 000132E0 40 80 00 0C */ bge lbl_800174AC /* 800174A4 000132E4 3B 40 03 01 */ li r26, 0x301 /* 800174A8 000132E8 7C 1C 03 78 */ mr r28, r0 .global lbl_800174AC lbl_800174AC: /* 800174AC 000132EC 28 1C 00 01 */ cmplwi r28, 0x1 /* 800174B0 000132F0 40 82 00 14 */ bne lbl_800174C4 /* 800174B4 000132F4 7C 7D 1A 14 */ add r3, r29, r3 /* 800174B8 000132F8 88 04 00 00 */ lbz r0, 0x0(r4) /* 800174BC 000132FC 98 03 00 0C */ stb r0, 0xc(r3) /* 800174C0 00013300 48 00 00 14 */ b lbl_800174D4 .global lbl_800174C4 lbl_800174C4: /* 800174C4 00013304 7C 7D 1A 14 */ add r3, r29, r3 /* 800174C8 00013308 7F 85 E3 78 */ mr r5, r28 /* 800174CC 0001330C 38 63 00 0C */ addi r3, r3, 0xc /* 800174D0 00013310 4B FF E1 C1 */ bl TRK_memcpy .global lbl_800174D4 lbl_800174D4: /* 800174D4 00013314 80 1D 00 08 */ lwz r0, 0x8(r29) /* 800174D8 00013318 3B 7B 00 04 */ addi r27, r27, 0x4 /* 800174DC 0001331C 3B FF 00 01 */ addi r31, r31, 0x1 /* 800174E0 00013320 7C 00 E2 14 */ add r0, r0, r28 /* 800174E4 00013324 90 1D 00 08 */ stw r0, 0x8(r29) /* 800174E8 00013328 90 1D 00 04 */ stw r0, 0x4(r29) .global lbl_800174EC lbl_800174EC: /* 800174EC 0001332C 2C 1A 00 00 */ cmpwi r26, 0x0 /* 800174F0 00013330 40 82 00 0C */ bne lbl_800174FC /* 800174F4 00013334 7C 1F F0 00 */ cmpw r31, r30 /* 800174F8 00013338 41 80 FF 54 */ blt lbl_8001744C .global lbl_800174FC lbl_800174FC: /* 800174FC 0001333C 7F 43 D3 78 */ mr r3, r26 /* 80017500 00013340 BB 41 00 18 */ lmw r26, 0x18(r1) /* 80017504 00013344 80 01 00 34 */ lwz r0, 0x34(r1) /* 80017508 00013348 7C 08 03 A6 */ mtlr r0 /* 8001750C 0001334C 38 21 00 30 */ addi r1, r1, 0x30 /* 80017510 00013350 4E 80 00 20 */ blr .global TRKReadBuffer1_ui64 TRKReadBuffer1_ui64: /* 80017514 00013354 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80017518 00013358 7C 08 02 A6 */ mflr r0 /* 8001751C 0001335C 90 01 00 34 */ stw r0, 0x34(r1) /* 80017520 00013360 BF 61 00 1C */ stmw r27, 0x1c(r1) /* 80017524 00013364 7C 7B 1B 78 */ mr r27, r3 /* 80017528 00013368 7C 9D 23 78 */ mr r29, r4 /* 8001752C 0001336C 80 0D E3 28 */ lwz r0, gTRKBigEndian@sda21(r13) /* 80017530 00013370 2C 00 00 00 */ cmpwi r0, 0x0 /* 80017534 00013374 41 82 00 0C */ beq lbl_80017540 /* 80017538 00013378 7F BE EB 78 */ mr r30, r29 /* 8001753C 0001337C 48 00 00 08 */ b lbl_80017544 .global lbl_80017540 lbl_80017540: /* 80017540 00013380 3B C1 00 08 */ addi r30, r1, 0x8 .global lbl_80017544 lbl_80017544: /* 80017544 00013384 80 83 00 08 */ lwz r4, 0x8(r3) /* 80017548 00013388 3B 80 00 08 */ li r28, 0x8 /* 8001754C 0001338C 80 03 00 04 */ lwz r0, 0x4(r3) /* 80017550 00013390 3B E0 00 00 */ li r31, 0x0 /* 80017554 00013394 7C 04 00 50 */ subf r0, r4, r0 /* 80017558 00013398 28 00 00 08 */ cmplwi r0, 0x8 /* 8001755C 0001339C 40 80 00 0C */ bge lbl_80017568 /* 80017560 000133A0 3B E0 03 02 */ li r31, 0x302 /* 80017564 000133A4 7C 1C 03 78 */ mr r28, r0 .global lbl_80017568 lbl_80017568: /* 80017568 000133A8 7C 9B 22 14 */ add r4, r27, r4 /* 8001756C 000133AC 7F C3 F3 78 */ mr r3, r30 /* 80017570 000133B0 7F 85 E3 78 */ mr r5, r28 /* 80017574 000133B4 38 84 00 0C */ addi r4, r4, 0xc /* 80017578 000133B8 4B FF E1 19 */ bl TRK_memcpy /* 8001757C 000133BC 80 1B 00 08 */ lwz r0, 0x8(r27) /* 80017580 000133C0 7C 00 E2 14 */ add r0, r0, r28 /* 80017584 000133C4 90 1B 00 08 */ stw r0, 0x8(r27) /* 80017588 000133C8 80 0D E3 28 */ lwz r0, gTRKBigEndian@sda21(r13) /* 8001758C 000133CC 2C 00 00 00 */ cmpwi r0, 0x0 /* 80017590 000133D0 40 82 00 4C */ bne lbl_800175DC /* 80017594 000133D4 2C 1F 00 00 */ cmpwi r31, 0x0 /* 80017598 000133D8 40 82 00 44 */ bne lbl_800175DC /* 8001759C 000133DC 88 1E 00 07 */ lbz r0, 0x7(r30) /* 800175A0 000133E0 98 1D 00 00 */ stb r0, 0x0(r29) /* 800175A4 000133E4 88 1E 00 06 */ lbz r0, 0x6(r30) /* 800175A8 000133E8 98 1D 00 01 */ stb r0, 0x1(r29) /* 800175AC 000133EC 88 1E 00 05 */ lbz r0, 0x5(r30) /* 800175B0 000133F0 98 1D 00 02 */ stb r0, 0x2(r29) /* 800175B4 000133F4 88 1E 00 04 */ lbz r0, 0x4(r30) /* 800175B8 000133F8 98 1D 00 03 */ stb r0, 0x3(r29) /* 800175BC 000133FC 88 1E 00 03 */ lbz r0, 0x3(r30) /* 800175C0 00013400 98 1D 00 04 */ stb r0, 0x4(r29) /* 800175C4 00013404 88 1E 00 02 */ lbz r0, 0x2(r30) /* 800175C8 00013408 98 1D 00 05 */ stb r0, 0x5(r29) /* 800175CC 0001340C 88 1E 00 01 */ lbz r0, 0x1(r30) /* 800175D0 00013410 98 1D 00 06 */ stb r0, 0x6(r29) /* 800175D4 00013414 88 1E 00 00 */ lbz r0, 0x0(r30) /* 800175D8 00013418 98 1D 00 07 */ stb r0, 0x7(r29) .global lbl_800175DC lbl_800175DC: /* 800175DC 0001341C 7F E3 FB 78 */ mr r3, r31 /* 800175E0 00013420 BB 61 00 1C */ lmw r27, 0x1c(r1) /* 800175E4 00013424 80 01 00 34 */ lwz r0, 0x34(r1) /* 800175E8 00013428 7C 08 03 A6 */ mtlr r0 /* 800175EC 0001342C 38 21 00 30 */ addi r1, r1, 0x30 /* 800175F0 00013430 4E 80 00 20 */ blr .global TRKReadBuffer_ui8 TRKReadBuffer_ui8: /* 800175F4 00013434 94 21 FF E0 */ stwu r1, -0x20(r1) /* 800175F8 00013438 7C 08 02 A6 */ mflr r0 /* 800175FC 0001343C 90 01 00 24 */ stw r0, 0x24(r1) /* 80017600 00013440 BF 41 00 08 */ stmw r26, 0x8(r1) /* 80017604 00013444 7C 7A 1B 78 */ mr r26, r3 /* 80017608 00013448 7C 9B 23 78 */ mr r27, r4 /* 8001760C 0001344C 7C BC 2B 78 */ mr r28, r5 /* 80017610 00013450 3B A0 00 00 */ li r29, 0x0 /* 80017614 00013454 3B C0 00 00 */ li r30, 0x0 /* 80017618 00013458 48 00 00 4C */ b lbl_80017664 .global lbl_8001761C lbl_8001761C: /* 8001761C 0001345C 80 7A 00 08 */ lwz r3, 0x8(r26) /* 80017620 00013460 3B E0 00 01 */ li r31, 0x1 /* 80017624 00013464 80 1A 00 04 */ lwz r0, 0x4(r26) /* 80017628 00013468 3B C0 00 00 */ li r30, 0x0 /* 8001762C 0001346C 7C 03 00 50 */ subf r0, r3, r0 /* 80017630 00013470 28 00 00 01 */ cmplwi r0, 0x1 /* 80017634 00013474 40 80 00 0C */ bge lbl_80017640 /* 80017638 00013478 3B C0 03 02 */ li r30, 0x302 /* 8001763C 0001347C 7C 1F 03 78 */ mr r31, r0 .global lbl_80017640 lbl_80017640: /* 80017640 00013480 7C 9A 1A 14 */ add r4, r26, r3 /* 80017644 00013484 7F E5 FB 78 */ mr r5, r31 /* 80017648 00013488 7C 7B EA 14 */ add r3, r27, r29 /* 8001764C 0001348C 38 84 00 0C */ addi r4, r4, 0xc /* 80017650 00013490 4B FF E0 41 */ bl TRK_memcpy /* 80017654 00013494 80 1A 00 08 */ lwz r0, 0x8(r26) /* 80017658 00013498 3B BD 00 01 */ addi r29, r29, 0x1 /* 8001765C 0001349C 7C 00 FA 14 */ add r0, r0, r31 /* 80017660 000134A0 90 1A 00 08 */ stw r0, 0x8(r26) .global lbl_80017664 lbl_80017664: /* 80017664 000134A4 2C 1E 00 00 */ cmpwi r30, 0x0 /* 80017668 000134A8 40 82 00 0C */ bne lbl_80017674 /* 8001766C 000134AC 7C 1D E0 00 */ cmpw r29, r28 /* 80017670 000134B0 41 80 FF AC */ blt lbl_8001761C .global lbl_80017674 lbl_80017674: /* 80017674 000134B4 7F C3 F3 78 */ mr r3, r30 /* 80017678 000134B8 BB 41 00 08 */ lmw r26, 0x8(r1) /* 8001767C 000134BC 80 01 00 24 */ lwz r0, 0x24(r1) /* 80017680 000134C0 7C 08 03 A6 */ mtlr r0 /* 80017684 000134C4 38 21 00 20 */ addi r1, r1, 0x20 /* 80017688 000134C8 4E 80 00 20 */ blr .global TRKReadBuffer_ui32 TRKReadBuffer_ui32: /* 8001768C 000134CC 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80017690 000134D0 7C 08 02 A6 */ mflr r0 /* 80017694 000134D4 90 01 00 34 */ stw r0, 0x34(r1) /* 80017698 000134D8 BF 21 00 14 */ stmw r25, 0x14(r1) /* 8001769C 000134DC 7C 7B 1B 78 */ mr r27, r3 /* 800176A0 000134E0 7C 9F 23 78 */ mr r31, r4 /* 800176A4 000134E4 7C BC 2B 78 */ mr r28, r5 /* 800176A8 000134E8 3B A0 00 00 */ li r29, 0x0 /* 800176AC 000134EC 3B C0 00 00 */ li r30, 0x0 /* 800176B0 000134F0 48 00 00 9C */ b lbl_8001774C .global lbl_800176B4 lbl_800176B4: /* 800176B4 000134F4 80 0D E3 28 */ lwz r0, gTRKBigEndian@sda21(r13) /* 800176B8 000134F8 2C 00 00 00 */ cmpwi r0, 0x0 /* 800176BC 000134FC 41 82 00 0C */ beq lbl_800176C8 /* 800176C0 00013500 7F FA FB 78 */ mr r26, r31 /* 800176C4 00013504 48 00 00 08 */ b lbl_800176CC .global lbl_800176C8 lbl_800176C8: /* 800176C8 00013508 3B 41 00 08 */ addi r26, r1, 0x8 .global lbl_800176CC lbl_800176CC: /* 800176CC 0001350C 80 7B 00 08 */ lwz r3, 0x8(r27) /* 800176D0 00013510 3B 20 00 04 */ li r25, 0x4 /* 800176D4 00013514 80 1B 00 04 */ lwz r0, 0x4(r27) /* 800176D8 00013518 3B C0 00 00 */ li r30, 0x0 /* 800176DC 0001351C 7C 03 00 50 */ subf r0, r3, r0 /* 800176E0 00013520 28 00 00 04 */ cmplwi r0, 0x4 /* 800176E4 00013524 40 80 00 0C */ bge lbl_800176F0 /* 800176E8 00013528 3B C0 03 02 */ li r30, 0x302 /* 800176EC 0001352C 7C 19 03 78 */ mr r25, r0 .global lbl_800176F0 lbl_800176F0: /* 800176F0 00013530 7C 9B 1A 14 */ add r4, r27, r3 /* 800176F4 00013534 7F 43 D3 78 */ mr r3, r26 /* 800176F8 00013538 7F 25 CB 78 */ mr r5, r25 /* 800176FC 0001353C 38 84 00 0C */ addi r4, r4, 0xc /* 80017700 00013540 4B FF DF 91 */ bl TRK_memcpy /* 80017704 00013544 80 1B 00 08 */ lwz r0, 0x8(r27) /* 80017708 00013548 7C 00 CA 14 */ add r0, r0, r25 /* 8001770C 0001354C 90 1B 00 08 */ stw r0, 0x8(r27) /* 80017710 00013550 80 0D E3 28 */ lwz r0, gTRKBigEndian@sda21(r13) /* 80017714 00013554 2C 00 00 00 */ cmpwi r0, 0x0 /* 80017718 00013558 40 82 00 2C */ bne lbl_80017744 /* 8001771C 0001355C 2C 1E 00 00 */ cmpwi r30, 0x0 /* 80017720 00013560 40 82 00 24 */ bne lbl_80017744 /* 80017724 00013564 88 1A 00 03 */ lbz r0, 0x3(r26) /* 80017728 00013568 98 1F 00 00 */ stb r0, 0x0(r31) /* 8001772C 0001356C 88 1A 00 02 */ lbz r0, 0x2(r26) /* 80017730 00013570 98 1F 00 01 */ stb r0, 0x1(r31) /* 80017734 00013574 88 1A 00 01 */ lbz r0, 0x1(r26) /* 80017738 00013578 98 1F 00 02 */ stb r0, 0x2(r31) /* 8001773C 0001357C 88 1A 00 00 */ lbz r0, 0x0(r26) /* 80017740 00013580 98 1F 00 03 */ stb r0, 0x3(r31) .global lbl_80017744 lbl_80017744: /* 80017744 00013584 3B FF 00 04 */ addi r31, r31, 0x4 /* 80017748 00013588 3B BD 00 01 */ addi r29, r29, 0x1 .global lbl_8001774C lbl_8001774C: /* 8001774C 0001358C 2C 1E 00 00 */ cmpwi r30, 0x0 /* 80017750 00013590 40 82 00 0C */ bne lbl_8001775C /* 80017754 00013594 7C 1D E0 00 */ cmpw r29, r28 /* 80017758 00013598 41 80 FF 5C */ blt lbl_800176B4 .global lbl_8001775C lbl_8001775C: /* 8001775C 0001359C 7F C3 F3 78 */ mr r3, r30 /* 80017760 000135A0 BB 21 00 14 */ lmw r25, 0x14(r1) /* 80017764 000135A4 80 01 00 34 */ lwz r0, 0x34(r1) /* 80017768 000135A8 7C 08 03 A6 */ mtlr r0 /* 8001776C 000135AC 38 21 00 30 */ addi r1, r1, 0x30 /* 80017770 000135B0 4E 80 00 20 */ blr .include "macros.inc" .section .data, "wa" # 0x80421040 - 0x80496700 ; 0x000756C0 .global "@stringBase0_80421D00" "@stringBase0_80421D00": .4byte 0x4D657472 .4byte 0x6F54524B .4byte 0x202D2045 .4byte 0x52524F52 .4byte 0x203A204E .4byte 0x6F206275 .4byte 0x66666572 .4byte 0x20617661 .4byte 0x696C6162 .4byte 0x6C650A00 .include "macros.inc" .section .bss, "", @nobits # 0x80496700 - 0x80556420 ; 0x000BFD20 .global gTRKMsgBufs gTRKMsgBufs: .skip 0x19A8