1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
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 TRKWriteUARTN
/* 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 TRKWriteUARTN
/* 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 TRKWriteUARTN
/* 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 TRKTargetGetPC
/* 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 TRKWriteUARTN
/* 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 TRKWriteUARTN
/* 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 TRKTargetStopped
/* 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 TRKWriteUARTN
/* 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 TRKWriteUARTN
/* 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 TRKTargetSingleStep
/* 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 TRKTargetStepOutOfRange
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 TRKTargetStopped
/* 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 TRKWriteUARTN
/* 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 TRKWriteUARTN
/* 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 TRKWriteUARTN
/* 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 TRKWriteUARTN
/* 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 TRKWriteUARTN
/* 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 TRKWriteUARTN
/* 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 TRKWriteUARTN
/* 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 TRKWriteUARTN
/* 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 TRKWriteUARTN
/* 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 TRKWriteUARTN
/* 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 TRKWriteUARTN
/* 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 TRKWriteUARTN
/* 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 TRKWriteUARTN
/* 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 TRKWriteUARTN
/* 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
|