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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global MPSendAsync
MPSendAsync:
/* 802F13A0 002ED000 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802F13A4 002ED004 7C 08 02 A6 */ mflr r0
/* 802F13A8 002ED008 90 01 00 14 */ stw r0, 0x14(r1)
/* 802F13AC 002ED00C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802F13B0 002ED010 7C DF 33 78 */ mr r31, r6
/* 802F13B4 002ED014 93 C1 00 08 */ stw r30, 8(r1)
/* 802F13B8 002ED018 7D 3E 4B 78 */ mr r30, r9
/* 802F13BC 002ED01C 80 0D AF 38 */ lwz r0, lbl_806401F8-_SDA_BASE_(r13)
/* 802F13C0 002ED020 2C 00 00 00 */ cmpwi r0, 0
/* 802F13C4 002ED024 40 82 00 0C */ bne lbl_802F13D0
/* 802F13C8 002ED028 38 60 FF 14 */ li r3, -236
/* 802F13CC 002ED02C 48 00 00 A4 */ b lbl_802F1470
lbl_802F13D0:
/* 802F13D0 002ED030 80 0D AF 3C */ lwz r0, lbl_806401FC-_SDA_BASE_(r13)
/* 802F13D4 002ED034 2C 00 00 00 */ cmpwi r0, 0
/* 802F13D8 002ED038 41 82 00 0C */ beq lbl_802F13E4
/* 802F13DC 002ED03C 38 60 FF FF */ li r3, -1
/* 802F13E0 002ED040 48 00 00 90 */ b lbl_802F1470
lbl_802F13E4:
/* 802F13E4 002ED044 54 C0 07 39 */ rlwinm. r0, r6, 0, 0x1c, 0x1c
/* 802F13E8 002ED048 91 09 00 18 */ stw r8, 0x18(r9)
/* 802F13EC 002ED04C 38 00 00 00 */ li r0, 0
/* 802F13F0 002ED050 90 69 00 1C */ stw r3, 0x1c(r9)
/* 802F13F4 002ED054 90 09 00 04 */ stw r0, 4(r9)
/* 802F13F8 002ED058 90 89 00 20 */ stw r4, 0x20(r9)
/* 802F13FC 002ED05C 90 C9 00 24 */ stw r6, 0x24(r9)
/* 802F1400 002ED060 90 A9 00 28 */ stw r5, 0x28(r9)
/* 802F1404 002ED064 90 A9 00 2C */ stw r5, 0x2c(r9)
/* 802F1408 002ED068 90 E9 00 30 */ stw r7, 0x30(r9)
/* 802F140C 002ED06C 41 82 00 2C */ beq lbl_802F1438
/* 802F1410 002ED070 4B F7 D3 4D */ bl OSDisableInterrupts
/* 802F1414 002ED074 80 82 AA 30 */ lwz r4, lbl_80643030-_SDA2_BASE_(r2)
/* 802F1418 002ED078 57 E0 0F 3C */ rlwinm r0, r31, 1, 0x1c, 0x1e
/* 802F141C 002ED07C 7C 84 02 14 */ add r4, r4, r0
/* 802F1420 002ED080 A3 E4 58 D2 */ lhz r31, 0x58d2(r4)
/* 802F1424 002ED084 38 1F 00 01 */ addi r0, r31, 1
/* 802F1428 002ED088 B0 04 58 D2 */ sth r0, 0x58d2(r4)
/* 802F142C 002ED08C 4B F7 D3 59 */ bl OSRestoreInterrupts
/* 802F1430 002ED090 93 FE 00 34 */ stw r31, 0x34(r30)
/* 802F1434 002ED094 48 00 00 08 */ b lbl_802F143C
lbl_802F1438:
/* 802F1438 002ED098 90 09 00 34 */ stw r0, 0x34(r9)
lbl_802F143C:
/* 802F143C 002ED09C 48 00 09 5D */ bl MPGetConnectedAIDs
/* 802F1440 002ED0A0 80 1E 00 2C */ lwz r0, 0x2c(r30)
/* 802F1444 002ED0A4 7F C4 F3 78 */ mr r4, r30
/* 802F1448 002ED0A8 80 C2 AA 30 */ lwz r6, lbl_80643030-_SDA2_BASE_(r2)
/* 802F144C 002ED0AC 38 A0 00 00 */ li r5, 0
/* 802F1450 002ED0B0 7C 00 18 38 */ and r0, r0, r3
/* 802F1454 002ED0B4 90 1E 00 2C */ stw r0, 0x2c(r30)
/* 802F1458 002ED0B8 38 66 6D E4 */ addi r3, r6, 0x6de4
/* 802F145C 002ED0BC 4B FF F5 FD */ bl MPiSendRequest
/* 802F1460 002ED0C0 2C 03 00 00 */ cmpwi r3, 0
/* 802F1464 002ED0C4 40 80 00 08 */ bge lbl_802F146C
/* 802F1468 002ED0C8 48 00 00 08 */ b lbl_802F1470
lbl_802F146C:
/* 802F146C 002ED0CC 38 60 00 00 */ li r3, 0
lbl_802F1470:
/* 802F1470 002ED0D0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802F1474 002ED0D4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802F1478 002ED0D8 83 C1 00 08 */ lwz r30, 8(r1)
/* 802F147C 002ED0DC 7C 08 03 A6 */ mtlr r0
/* 802F1480 002ED0E0 38 21 00 10 */ addi r1, r1, 0x10
/* 802F1484 002ED0E4 4E 80 00 20 */ blr
.global MPiStartupTxRx
MPiStartupTxRx:
/* 802F1488 002ED0E8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802F148C 002ED0EC 7C 08 02 A6 */ mflr r0
/* 802F1490 002ED0F0 38 A0 00 20 */ li r5, 0x20
/* 802F1494 002ED0F4 90 01 00 14 */ stw r0, 0x14(r1)
/* 802F1498 002ED0F8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802F149C 002ED0FC 83 E2 AA 30 */ lwz r31, lbl_80643030-_SDA2_BASE_(r2)
/* 802F14A0 002ED100 38 7F 6D E4 */ addi r3, r31, 0x6de4
/* 802F14A4 002ED104 38 9F 6E 04 */ addi r4, r31, 0x6e04
/* 802F14A8 002ED108 4B F7 DA 51 */ bl OSInitMessageQueue
/* 802F14AC 002ED10C 38 7F 6E 88 */ addi r3, r31, 0x6e88
/* 802F14B0 002ED110 38 9F 6E A8 */ addi r4, r31, 0x6ea8
/* 802F14B4 002ED114 38 A0 00 20 */ li r5, 0x20
/* 802F14B8 002ED118 4B F7 DA 41 */ bl OSInitMessageQueue
/* 802F14BC 002ED11C 38 7F 6F 28 */ addi r3, r31, 0x6f28
/* 802F14C0 002ED120 38 9F 6F 48 */ addi r4, r31, 0x6f48
/* 802F14C4 002ED124 38 A0 00 20 */ li r5, 0x20
/* 802F14C8 002ED128 4B F7 DA 31 */ bl OSInitMessageQueue
/* 802F14CC 002ED12C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802F14D0 002ED130 38 60 00 00 */ li r3, 0
/* 802F14D4 002ED134 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802F14D8 002ED138 7C 08 03 A6 */ mtlr r0
/* 802F14DC 002ED13C 38 21 00 10 */ addi r1, r1, 0x10
/* 802F14E0 002ED140 4E 80 00 20 */ blr
.global MPiStartupTxRxLater
MPiStartupTxRxLater:
/* 802F14E4 002ED144 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802F14E8 002ED148 7C 08 02 A6 */ mflr r0
/* 802F14EC 002ED14C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802F14F0 002ED150 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802F14F4 002ED154 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802F14F8 002ED158 83 C2 AA 30 */ lwz r30, lbl_80643030-_SDA2_BASE_(r2)
/* 802F14FC 002ED15C 3B FE 6D E4 */ addi r31, r30, 0x6de4
lbl_802F1500:
/* 802F1500 002ED160 7F E3 FB 78 */ mr r3, r31
/* 802F1504 002ED164 38 81 00 10 */ addi r4, r1, 0x10
/* 802F1508 002ED168 38 A0 00 00 */ li r5, 0
/* 802F150C 002ED16C 4B F7 DB 15 */ bl OSReceiveMessage
/* 802F1510 002ED170 2C 03 00 00 */ cmpwi r3, 0
/* 802F1514 002ED174 40 82 FF EC */ bne lbl_802F1500
/* 802F1518 002ED178 3B FE 6E 88 */ addi r31, r30, 0x6e88
lbl_802F151C:
/* 802F151C 002ED17C 7F E3 FB 78 */ mr r3, r31
/* 802F1520 002ED180 38 81 00 0C */ addi r4, r1, 0xc
/* 802F1524 002ED184 38 A0 00 00 */ li r5, 0
/* 802F1528 002ED188 4B F7 DA F9 */ bl OSReceiveMessage
/* 802F152C 002ED18C 2C 03 00 00 */ cmpwi r3, 0
/* 802F1530 002ED190 40 82 FF EC */ bne lbl_802F151C
/* 802F1534 002ED194 3B FE 6F 28 */ addi r31, r30, 0x6f28
lbl_802F1538:
/* 802F1538 002ED198 7F E3 FB 78 */ mr r3, r31
/* 802F153C 002ED19C 38 81 00 08 */ addi r4, r1, 8
/* 802F1540 002ED1A0 38 A0 00 00 */ li r5, 0
/* 802F1544 002ED1A4 4B F7 DA DD */ bl OSReceiveMessage
/* 802F1548 002ED1A8 2C 03 00 00 */ cmpwi r3, 0
/* 802F154C 002ED1AC 40 82 FF EC */ bne lbl_802F1538
/* 802F1550 002ED1B0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802F1554 002ED1B4 38 60 00 00 */ li r3, 0
/* 802F1558 002ED1B8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802F155C 002ED1BC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802F1560 002ED1C0 7C 08 03 A6 */ mtlr r0
/* 802F1564 002ED1C4 38 21 00 20 */ addi r1, r1, 0x20
/* 802F1568 002ED1C8 4E 80 00 20 */ blr
.global MPiCleanupTxRxEarlier
MPiCleanupTxRxEarlier:
/* 802F156C 002ED1CC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802F1570 002ED1D0 7C 08 02 A6 */ mflr r0
/* 802F1574 002ED1D4 90 01 00 24 */ stw r0, 0x24(r1)
/* 802F1578 002ED1D8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802F157C 002ED1DC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802F1580 002ED1E0 83 C2 AA 30 */ lwz r30, lbl_80643030-_SDA2_BASE_(r2)
/* 802F1584 002ED1E4 2C 1E 00 00 */ cmpwi r30, 0
/* 802F1588 002ED1E8 41 82 00 88 */ beq lbl_802F1610
/* 802F158C 002ED1EC 3B FE 6D E4 */ addi r31, r30, 0x6de4
/* 802F1590 002ED1F0 48 00 00 10 */ b lbl_802F15A0
lbl_802F1594:
/* 802F1594 002ED1F4 80 81 00 08 */ lwz r4, 8(r1)
/* 802F1598 002ED1F8 38 60 FF 00 */ li r3, -256
/* 802F159C 002ED1FC 48 00 20 69 */ bl MPiNotifyDataSentToPort
lbl_802F15A0:
/* 802F15A0 002ED200 7F E3 FB 78 */ mr r3, r31
/* 802F15A4 002ED204 38 81 00 08 */ addi r4, r1, 8
/* 802F15A8 002ED208 38 A0 00 00 */ li r5, 0
/* 802F15AC 002ED20C 4B F7 DA 75 */ bl OSReceiveMessage
/* 802F15B0 002ED210 2C 03 00 00 */ cmpwi r3, 0
/* 802F15B4 002ED214 40 82 FF E0 */ bne lbl_802F1594
/* 802F15B8 002ED218 3B FE 6E 88 */ addi r31, r30, 0x6e88
/* 802F15BC 002ED21C 48 00 00 10 */ b lbl_802F15CC
lbl_802F15C0:
/* 802F15C0 002ED220 80 81 00 08 */ lwz r4, 8(r1)
/* 802F15C4 002ED224 38 60 FF 00 */ li r3, -256
/* 802F15C8 002ED228 48 00 20 3D */ bl MPiNotifyDataSentToPort
lbl_802F15CC:
/* 802F15CC 002ED22C 7F E3 FB 78 */ mr r3, r31
/* 802F15D0 002ED230 38 81 00 08 */ addi r4, r1, 8
/* 802F15D4 002ED234 38 A0 00 00 */ li r5, 0
/* 802F15D8 002ED238 4B F7 DA 49 */ bl OSReceiveMessage
/* 802F15DC 002ED23C 2C 03 00 00 */ cmpwi r3, 0
/* 802F15E0 002ED240 40 82 FF E0 */ bne lbl_802F15C0
/* 802F15E4 002ED244 3B FE 6F 28 */ addi r31, r30, 0x6f28
/* 802F15E8 002ED248 48 00 00 10 */ b lbl_802F15F8
lbl_802F15EC:
/* 802F15EC 002ED24C 80 81 00 08 */ lwz r4, 8(r1)
/* 802F15F0 002ED250 38 60 FF 00 */ li r3, -256
/* 802F15F4 002ED254 48 00 20 11 */ bl MPiNotifyDataSentToPort
lbl_802F15F8:
/* 802F15F8 002ED258 7F E3 FB 78 */ mr r3, r31
/* 802F15FC 002ED25C 38 81 00 08 */ addi r4, r1, 8
/* 802F1600 002ED260 38 A0 00 00 */ li r5, 0
/* 802F1604 002ED264 4B F7 DA 1D */ bl OSReceiveMessage
/* 802F1608 002ED268 2C 03 00 00 */ cmpwi r3, 0
/* 802F160C 002ED26C 40 82 FF E0 */ bne lbl_802F15EC
lbl_802F1610:
/* 802F1610 002ED270 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802F1614 002ED274 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802F1618 002ED278 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802F161C 002ED27C 7C 08 03 A6 */ mtlr r0
/* 802F1620 002ED280 38 21 00 20 */ addi r1, r1, 0x20
/* 802F1624 002ED284 4E 80 00 20 */ blr
.global MPiCleanupTxRx
MPiCleanupTxRx:
/* 802F1628 002ED288 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802F162C 002ED28C 7C 08 02 A6 */ mflr r0
/* 802F1630 002ED290 90 01 00 14 */ stw r0, 0x14(r1)
/* 802F1634 002ED294 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802F1638 002ED298 83 E2 AA 30 */ lwz r31, lbl_80643030-_SDA2_BASE_(r2)
/* 802F163C 002ED29C 2C 1F 00 00 */ cmpwi r31, 0
/* 802F1640 002ED2A0 41 82 00 34 */ beq lbl_802F1674
/* 802F1644 002ED2A4 38 7F 6E 04 */ addi r3, r31, 0x6e04
/* 802F1648 002ED2A8 38 80 00 00 */ li r4, 0
/* 802F164C 002ED2AC 38 A0 00 80 */ li r5, 0x80
/* 802F1650 002ED2B0 4B D1 2A B5 */ bl memset
/* 802F1654 002ED2B4 38 7F 6E A8 */ addi r3, r31, 0x6ea8
/* 802F1658 002ED2B8 38 80 00 00 */ li r4, 0
/* 802F165C 002ED2BC 38 A0 00 80 */ li r5, 0x80
/* 802F1660 002ED2C0 4B D1 2A A5 */ bl memset
/* 802F1664 002ED2C4 38 7F 6F 48 */ addi r3, r31, 0x6f48
/* 802F1668 002ED2C8 38 80 00 00 */ li r4, 0
/* 802F166C 002ED2CC 38 A0 00 80 */ li r5, 0x80
/* 802F1670 002ED2D0 4B D1 2A 95 */ bl memset
lbl_802F1674:
/* 802F1674 002ED2D4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802F1678 002ED2D8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802F167C 002ED2DC 7C 08 03 A6 */ mtlr r0
/* 802F1680 002ED2E0 38 21 00 10 */ addi r1, r1, 0x10
/* 802F1684 002ED2E4 4E 80 00 20 */ blr
.global MPiParseReceivedFrame
MPiParseReceivedFrame:
/* 802F1688 002ED2E8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802F168C 002ED2EC 7C 08 02 A6 */ mflr r0
/* 802F1690 002ED2F0 90 01 00 34 */ stw r0, 0x34(r1)
/* 802F1694 002ED2F4 39 61 00 30 */ addi r11, r1, 0x30
/* 802F1698 002ED2F8 4B ED 5A 81 */ bl _savegpr_23
/* 802F169C 002ED2FC 2C 06 00 00 */ cmpwi r6, 0
/* 802F16A0 002ED300 7C 78 1B 78 */ mr r24, r3
/* 802F16A4 002ED304 41 82 01 64 */ beq lbl_802F1808
/* 802F16A8 002ED308 54 C0 07 FF */ clrlwi. r0, r6, 0x1f
/* 802F16AC 002ED30C 40 82 01 5C */ bne lbl_802F1808
/* 802F16B0 002ED310 81 02 AA 30 */ lwz r8, lbl_80643030-_SDA2_BASE_(r2)
/* 802F16B4 002ED314 54 60 08 3C */ slwi r0, r3, 1
/* 802F16B8 002ED318 38 E0 00 01 */ li r7, 1
/* 802F16BC 002ED31C 7C DD 33 78 */ mr r29, r6
/* 802F16C0 002ED320 80 68 57 60 */ lwz r3, 0x5760(r8)
/* 802F16C4 002ED324 7C BA 2B 78 */ mr r26, r5
/* 802F16C8 002ED328 7C 9C 23 78 */ mr r28, r4
/* 802F16CC 002ED32C 7F C8 02 14 */ add r30, r8, r0
/* 802F16D0 002ED330 7C F9 18 30 */ slw r25, r7, r3
/* 802F16D4 002ED334 3B 60 00 01 */ li r27, 1
/* 802F16D8 002ED338 3F E0 00 01 */ lis r31, 1
/* 802F16DC 002ED33C 3A E0 01 00 */ li r23, 0x100
/* 802F16E0 002ED340 48 00 01 20 */ b lbl_802F1800
lbl_802F16E4:
/* 802F16E4 002ED344 2C 1B 00 00 */ cmpwi r27, 0
/* 802F16E8 002ED348 40 82 00 1C */ bne lbl_802F1704
/* 802F16EC 002ED34C A0 1A 00 00 */ lhz r0, 0(r26)
/* 802F16F0 002ED350 3B 5A 00 02 */ addi r26, r26, 2
/* 802F16F4 002ED354 3B BD FF FE */ addi r29, r29, -2
/* 802F16F8 002ED358 54 1C 44 2E */ rlwinm r28, r0, 8, 0x10, 0x17
/* 802F16FC 002ED35C 50 1C C6 3E */ rlwimi r28, r0, 0x18, 0x18, 0x1f
/* 802F1700 002ED360 48 00 00 08 */ b lbl_802F1708
lbl_802F1704:
/* 802F1704 002ED364 3B 60 00 00 */ li r27, 0
lbl_802F1708:
/* 802F1708 002ED368 57 86 0D FD */ rlwinm. r6, r28, 1, 0x17, 0x1e
/* 802F170C 002ED36C 40 82 00 08 */ bne lbl_802F1714
/* 802F1710 002ED370 38 C0 02 00 */ li r6, 0x200
lbl_802F1714:
/* 802F1714 002ED374 57 89 A7 FE */ rlwinm r9, r28, 0x14, 0x1f, 0x1f
/* 802F1718 002ED378 57 88 AF FE */ rlwinm r8, r28, 0x15, 0x1f, 0x1f
/* 802F171C 002ED37C 7C 09 00 D0 */ neg r0, r9
/* 802F1720 002ED380 57 83 C7 3E */ rlwinm r3, r28, 0x18, 0x1c, 0x1f
/* 802F1724 002ED384 7C 00 4B 78 */ or r0, r0, r9
/* 802F1728 002ED388 7C 88 00 D0 */ neg r4, r8
/* 802F172C 002ED38C 7C 00 FE 70 */ srawi r0, r0, 0x1f
/* 802F1730 002ED390 54 84 07 BC */ rlwinm r4, r4, 0, 0x1e, 0x1e
/* 802F1734 002ED394 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e
/* 802F1738 002ED398 7C 00 22 14 */ add r0, r0, r4
/* 802F173C 002ED39C 7C 06 02 14 */ add r0, r6, r0
/* 802F1740 002ED3A0 7C 00 E8 40 */ cmplw r0, r29
/* 802F1744 002ED3A4 41 81 00 C4 */ bgt lbl_802F1808
/* 802F1748 002ED3A8 2C 08 00 00 */ cmpwi r8, 0
/* 802F174C 002ED3AC 7F 45 D3 78 */ mr r5, r26
/* 802F1750 002ED3B0 7F 5A 32 14 */ add r26, r26, r6
/* 802F1754 002ED3B4 7F A6 E8 50 */ subf r29, r6, r29
/* 802F1758 002ED3B8 41 82 00 1C */ beq lbl_802F1774
/* 802F175C 002ED3BC A0 1A 00 00 */ lhz r0, 0(r26)
/* 802F1760 002ED3C0 3B 5A 00 02 */ addi r26, r26, 2
/* 802F1764 002ED3C4 3B BD FF FE */ addi r29, r29, -2
/* 802F1768 002ED3C8 54 07 44 2E */ rlwinm r7, r0, 8, 0x10, 0x17
/* 802F176C 002ED3CC 50 07 C6 3E */ rlwimi r7, r0, 0x18, 0x18, 0x1f
/* 802F1770 002ED3D0 48 00 00 08 */ b lbl_802F1778
lbl_802F1774:
/* 802F1774 002ED3D4 38 E0 00 00 */ li r7, 0
lbl_802F1778:
/* 802F1778 002ED3D8 2C 09 00 00 */ cmpwi r9, 0
/* 802F177C 002ED3DC 41 82 00 1C */ beq lbl_802F1798
/* 802F1780 002ED3E0 A0 1A 00 00 */ lhz r0, 0(r26)
/* 802F1784 002ED3E4 3B 5A 00 02 */ addi r26, r26, 2
/* 802F1788 002ED3E8 3B BD FF FE */ addi r29, r29, -2
/* 802F178C 002ED3EC 54 04 44 2E */ rlwinm r4, r0, 8, 0x10, 0x17
/* 802F1790 002ED3F0 50 04 C6 3E */ rlwimi r4, r0, 0x18, 0x18, 0x1f
/* 802F1794 002ED3F4 48 00 00 08 */ b lbl_802F179C
lbl_802F1798:
/* 802F1798 002ED3F8 38 9F FF FF */ addi r4, r31, -1
lbl_802F179C:
/* 802F179C 002ED3FC 7C 80 C8 39 */ and. r0, r4, r25
/* 802F17A0 002ED400 41 82 00 60 */ beq lbl_802F1800
/* 802F17A4 002ED404 2C 08 00 00 */ cmpwi r8, 0
/* 802F17A8 002ED408 41 82 00 50 */ beq lbl_802F17F8
/* 802F17AC 002ED40C 54 60 2E 34 */ rlwinm r0, r3, 5, 0x18, 0x1a
/* 802F17B0 002ED410 7D 1E 02 14 */ add r8, r30, r0
/* 802F17B4 002ED414 A0 88 57 D2 */ lhz r4, 0x57d2(r8)
/* 802F17B8 002ED418 54 80 07 FF */ clrlwi. r0, r4, 0x1f
/* 802F17BC 002ED41C 41 82 00 0C */ beq lbl_802F17C8
/* 802F17C0 002ED420 38 00 00 01 */ li r0, 1
/* 802F17C4 002ED424 48 00 00 24 */ b lbl_802F17E8
lbl_802F17C8:
/* 802F17C8 002ED428 54 E0 08 3C */ slwi r0, r7, 1
/* 802F17CC 002ED42C 7C 00 20 50 */ subf r0, r0, r4
/* 802F17D0 002ED430 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 802F17D4 002ED434 38 04 FF 00 */ addi r0, r4, -256
/* 802F17D8 002ED438 7C 84 BB 38 */ orc r4, r4, r23
/* 802F17DC 002ED43C 54 00 F8 7E */ srwi r0, r0, 1
/* 802F17E0 002ED440 7C 00 20 50 */ subf r0, r0, r4
/* 802F17E4 002ED444 54 00 0F FE */ srwi r0, r0, 0x1f
lbl_802F17E8:
/* 802F17E8 002ED448 2C 00 00 00 */ cmpwi r0, 0
/* 802F17EC 002ED44C 41 82 00 14 */ beq lbl_802F1800
/* 802F17F0 002ED450 54 E0 0C 3C */ rlwinm r0, r7, 1, 0x10, 0x1e
/* 802F17F4 002ED454 B0 08 57 D2 */ sth r0, 0x57d2(r8)
lbl_802F17F8:
/* 802F17F8 002ED458 7F 04 C3 78 */ mr r4, r24
/* 802F17FC 002ED45C 48 00 1E 21 */ bl MPiNotifyDataReceivedToPort
lbl_802F1800:
/* 802F1800 002ED460 2C 1D 00 00 */ cmpwi r29, 0
/* 802F1804 002ED464 41 81 FE E0 */ bgt lbl_802F16E4
lbl_802F1808:
/* 802F1808 002ED468 39 61 00 30 */ addi r11, r1, 0x30
/* 802F180C 002ED46C 4B ED 59 59 */ bl _restgpr_23
/* 802F1810 002ED470 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802F1814 002ED474 7C 08 03 A6 */ mtlr r0
/* 802F1818 002ED478 38 21 00 30 */ addi r1, r1, 0x30
/* 802F181C 002ED47C 4E 80 00 20 */ blr
.global MPiProcessDataSentNotification
MPiProcessDataSentNotification:
/* 802F1820 002ED480 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802F1824 002ED484 7C 08 02 A6 */ mflr r0
/* 802F1828 002ED488 90 01 00 24 */ stw r0, 0x24(r1)
/* 802F182C 002ED48C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802F1830 002ED490 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802F1834 002ED494 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802F1838 002ED498 93 81 00 10 */ stw r28, 0x10(r1)
/* 802F183C 002ED49C 7C 7C 1B 78 */ mr r28, r3
/* 802F1840 002ED4A0 48 00 05 59 */ bl MPGetConnectedAIDs
/* 802F1844 002ED4A4 80 82 AA 30 */ lwz r4, lbl_80643030-_SDA2_BASE_(r2)
/* 802F1848 002ED4A8 7C 7F E0 78 */ andc r31, r3, r28
/* 802F184C 002ED4AC 3B C4 6E 88 */ addi r30, r4, 0x6e88
/* 802F1850 002ED4B0 3B A4 6F 28 */ addi r29, r4, 0x6f28
/* 802F1854 002ED4B4 48 00 00 70 */ b lbl_802F18C4
lbl_802F1858:
/* 802F1858 002ED4B8 80 61 00 08 */ lwz r3, 8(r1)
/* 802F185C 002ED4BC 80 03 00 2C */ lwz r0, 0x2c(r3)
/* 802F1860 002ED4C0 7F E4 00 38 */ and r4, r31, r0
/* 802F1864 002ED4C4 90 83 00 2C */ stw r4, 0x2c(r3)
/* 802F1868 002ED4C8 83 81 00 08 */ lwz r28, 8(r1)
/* 802F186C 002ED4CC 80 1C 00 24 */ lwz r0, 0x24(r28)
/* 802F1870 002ED4D0 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 802F1874 002ED4D4 41 82 00 44 */ beq lbl_802F18B8
/* 802F1878 002ED4D8 2C 04 00 00 */ cmpwi r4, 0
/* 802F187C 002ED4DC 41 82 00 3C */ beq lbl_802F18B8
/* 802F1880 002ED4E0 48 00 05 19 */ bl MPGetConnectedAIDs
/* 802F1884 002ED4E4 80 1C 00 2C */ lwz r0, 0x2c(r28)
/* 802F1888 002ED4E8 7C 00 18 39 */ and. r0, r0, r3
/* 802F188C 002ED4EC 90 1C 00 2C */ stw r0, 0x2c(r28)
/* 802F1890 002ED4F0 41 82 00 18 */ beq lbl_802F18A8
/* 802F1894 002ED4F4 7F C3 F3 78 */ mr r3, r30
/* 802F1898 002ED4F8 7F 84 E3 78 */ mr r4, r28
/* 802F189C 002ED4FC 38 A0 00 00 */ li r5, 0
/* 802F18A0 002ED500 4B F7 D6 B9 */ bl OSSendMessage
/* 802F18A4 002ED504 48 00 00 20 */ b lbl_802F18C4
lbl_802F18A8:
/* 802F18A8 002ED508 7F 84 E3 78 */ mr r4, r28
/* 802F18AC 002ED50C 38 60 00 00 */ li r3, 0
/* 802F18B0 002ED510 48 00 1D 55 */ bl MPiNotifyDataSentToPort
/* 802F18B4 002ED514 48 00 00 10 */ b lbl_802F18C4
lbl_802F18B8:
/* 802F18B8 002ED518 7F 84 E3 78 */ mr r4, r28
/* 802F18BC 002ED51C 38 60 00 00 */ li r3, 0
/* 802F18C0 002ED520 48 00 1D 45 */ bl MPiNotifyDataSentToPort
lbl_802F18C4:
/* 802F18C4 002ED524 7F A3 EB 78 */ mr r3, r29
/* 802F18C8 002ED528 38 81 00 08 */ addi r4, r1, 8
/* 802F18CC 002ED52C 38 A0 00 00 */ li r5, 0
/* 802F18D0 002ED530 4B F7 D7 51 */ bl OSReceiveMessage
/* 802F18D4 002ED534 2C 03 00 01 */ cmpwi r3, 1
/* 802F18D8 002ED538 41 82 FF 80 */ beq lbl_802F1858
/* 802F18DC 002ED53C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802F18E0 002ED540 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802F18E4 002ED544 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802F18E8 002ED548 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802F18EC 002ED54C 83 81 00 10 */ lwz r28, 0x10(r1)
/* 802F18F0 002ED550 7C 08 03 A6 */ mtlr r0
/* 802F18F4 002ED554 38 21 00 20 */ addi r1, r1, 0x20
/* 802F18F8 002ED558 4E 80 00 20 */ blr
.global MPiMakeSendFrame
MPiMakeSendFrame:
/* 802F18FC 002ED55C 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 802F1900 002ED560 7C 08 02 A6 */ mflr r0
/* 802F1904 002ED564 90 01 00 44 */ stw r0, 0x44(r1)
/* 802F1908 002ED568 39 61 00 40 */ addi r11, r1, 0x40
/* 802F190C 002ED56C 4B ED 58 01 */ bl _savegpr_20
/* 802F1910 002ED570 83 E2 AA 30 */ lwz r31, lbl_80643030-_SDA2_BASE_(r2)
/* 802F1914 002ED574 7C 95 23 78 */ mr r21, r4
/* 802F1918 002ED578 7C B8 2B 78 */ mr r24, r5
/* 802F191C 002ED57C 7C 74 1B 78 */ mr r20, r3
/* 802F1920 002ED580 3A FF 6E 88 */ addi r23, r31, 0x6e88
/* 802F1924 002ED584 7C D6 33 78 */ mr r22, r6
/* 802F1928 002ED588 7E E3 BB 78 */ mr r3, r23
/* 802F192C 002ED58C 38 81 00 08 */ addi r4, r1, 8
/* 802F1930 002ED590 38 A0 00 00 */ li r5, 0
/* 802F1934 002ED594 4B F7 D6 ED */ bl OSReceiveMessage
/* 802F1938 002ED598 2C 03 00 00 */ cmpwi r3, 0
/* 802F193C 002ED59C 40 82 00 14 */ bne lbl_802F1950
/* 802F1940 002ED5A0 38 7F 6D E4 */ addi r3, r31, 0x6de4
/* 802F1944 002ED5A4 38 81 00 08 */ addi r4, r1, 8
/* 802F1948 002ED5A8 38 A0 00 00 */ li r5, 0
/* 802F194C 002ED5AC 4B F7 D6 D5 */ bl OSReceiveMessage
lbl_802F1950:
/* 802F1950 002ED5B0 2C 03 00 00 */ cmpwi r3, 0
/* 802F1954 002ED5B4 7C 7D 1B 78 */ mr r29, r3
/* 802F1958 002ED5B8 41 82 00 AC */ beq lbl_802F1A04
/* 802F195C 002ED5BC 83 C1 00 08 */ lwz r30, 8(r1)
/* 802F1960 002ED5C0 80 1E 00 2C */ lwz r0, 0x2c(r30)
/* 802F1964 002ED5C4 2C 00 00 00 */ cmpwi r0, 0
/* 802F1968 002ED5C8 40 82 00 18 */ bne lbl_802F1980
/* 802F196C 002ED5CC 7F C4 F3 78 */ mr r4, r30
/* 802F1970 002ED5D0 38 60 00 00 */ li r3, 0
/* 802F1974 002ED5D4 48 00 1C 91 */ bl MPiNotifyDataSentToPort
/* 802F1978 002ED5D8 3B A0 00 00 */ li r29, 0
/* 802F197C 002ED5DC 48 00 00 88 */ b lbl_802F1A04
lbl_802F1980:
/* 802F1980 002ED5E0 7C 00 C0 79 */ andc. r0, r0, r24
/* 802F1984 002ED5E4 40 82 00 48 */ bne lbl_802F19CC
/* 802F1988 002ED5E8 83 5E 00 28 */ lwz r26, 0x28(r30)
/* 802F198C 002ED5EC 3C 60 00 01 */ lis r3, 0x0000FFFE@ha
/* 802F1990 002ED5F0 38 03 FF FE */ addi r0, r3, 0x0000FFFE@l
/* 802F1994 002ED5F4 83 9E 00 1C */ lwz r28, 0x1c(r30)
/* 802F1998 002ED5F8 57 44 04 3C */ rlwinm r4, r26, 0, 0x10, 0x1e
/* 802F199C 002ED5FC 83 7E 00 20 */ lwz r27, 0x20(r30)
/* 802F19A0 002ED600 7C 64 00 50 */ subf r3, r4, r0
/* 802F19A4 002ED604 83 3E 00 24 */ lwz r25, 0x24(r30)
/* 802F19A8 002ED608 7C 00 20 50 */ subf r0, r0, r4
/* 802F19AC 002ED60C 83 1E 00 34 */ lwz r24, 0x34(r30)
/* 802F19B0 002ED610 7C 60 03 78 */ or r0, r3, r0
/* 802F19B4 002ED614 7F C4 F3 78 */ mr r4, r30
/* 802F19B8 002ED618 54 17 0F FE */ srwi r23, r0, 0x1f
/* 802F19BC 002ED61C 38 7F 6F 28 */ addi r3, r31, 0x6f28
/* 802F19C0 002ED620 38 A0 00 00 */ li r5, 0
/* 802F19C4 002ED624 4B F7 D5 95 */ bl OSSendMessage
/* 802F19C8 002ED628 48 00 00 3C */ b lbl_802F1A04
lbl_802F19CC:
/* 802F19CC 002ED62C 3B A0 00 00 */ li r29, 0
/* 802F19D0 002ED630 48 00 03 C9 */ bl MPGetConnectedAIDs
/* 802F19D4 002ED634 80 1E 00 2C */ lwz r0, 0x2c(r30)
/* 802F19D8 002ED638 7C 00 18 39 */ and. r0, r0, r3
/* 802F19DC 002ED63C 90 1E 00 2C */ stw r0, 0x2c(r30)
/* 802F19E0 002ED640 41 82 00 18 */ beq lbl_802F19F8
/* 802F19E4 002ED644 7E E3 BB 78 */ mr r3, r23
/* 802F19E8 002ED648 7F C4 F3 78 */ mr r4, r30
/* 802F19EC 002ED64C 38 A0 00 00 */ li r5, 0
/* 802F19F0 002ED650 4B F7 D5 69 */ bl OSSendMessage
/* 802F19F4 002ED654 48 00 00 10 */ b lbl_802F1A04
lbl_802F19F8:
/* 802F19F8 002ED658 7F C4 F3 78 */ mr r4, r30
/* 802F19FC 002ED65C 38 60 00 00 */ li r3, 0
/* 802F1A00 002ED660 48 00 1C 05 */ bl MPiNotifyDataSentToPort
lbl_802F1A04:
/* 802F1A04 002ED664 2C 1D 00 00 */ cmpwi r29, 0
/* 802F1A08 002ED668 40 82 00 20 */ bne lbl_802F1A28
/* 802F1A0C 002ED66C 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
/* 802F1A10 002ED670 3B 80 00 00 */ li r28, 0
/* 802F1A14 002ED674 3B 43 FF FF */ addi r26, r3, 0x0000FFFF@l
/* 802F1A18 002ED678 3B 60 00 00 */ li r27, 0
/* 802F1A1C 002ED67C 3B 20 00 00 */ li r25, 0
/* 802F1A20 002ED680 3B 00 00 00 */ li r24, 0
/* 802F1A24 002ED684 3A E0 00 00 */ li r23, 0
lbl_802F1A28:
/* 802F1A28 002ED688 7C 17 00 D0 */ neg r0, r23
/* 802F1A2C 002ED68C 57 3F EF FE */ rlwinm r31, r25, 0x1d, 0x1f, 0x1f
/* 802F1A30 002ED690 7C 04 BB 78 */ or r4, r0, r23
/* 802F1A34 002ED694 7C 1F 00 D0 */ neg r0, r31
/* 802F1A38 002ED698 7C 83 FE 70 */ srawi r3, r4, 0x1f
/* 802F1A3C 002ED69C 7C 00 FB 78 */ or r0, r0, r31
/* 802F1A40 002ED6A0 7C 00 FE 70 */ srawi r0, r0, 0x1f
/* 802F1A44 002ED6A4 54 63 07 BC */ rlwinm r3, r3, 0, 0x1e, 0x1e
/* 802F1A48 002ED6A8 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e
/* 802F1A4C 002ED6AC 7C 1B 02 14 */ add r0, r27, r0
/* 802F1A50 002ED6B0 7C 60 1A 14 */ add r3, r0, r3
/* 802F1A54 002ED6B4 3B A3 00 02 */ addi r29, r3, 2
/* 802F1A58 002ED6B8 7C 1D A8 40 */ cmplw r29, r21
/* 802F1A5C 002ED6BC 40 81 00 0C */ ble lbl_802F1A68
/* 802F1A60 002ED6C0 38 60 FF 01 */ li r3, -255
/* 802F1A64 002ED6C4 48 00 00 90 */ b lbl_802F1AF4
lbl_802F1A68:
/* 802F1A68 002ED6C8 38 DB 00 01 */ addi r6, r27, 1
/* 802F1A6C 002ED6CC 7C 85 FE 70 */ srawi r5, r4, 0x1f
/* 802F1A70 002ED6D0 54 DE FE 3E */ rlwinm r30, r6, 0x1f, 0x18, 0x1f
/* 802F1A74 002ED6D4 7C 84 FE 70 */ srawi r4, r4, 0x1f
/* 802F1A78 002ED6D8 57 20 45 2E */ rlwinm r0, r25, 8, 0x14, 0x17
/* 802F1A7C 002ED6DC 2C 1C 00 00 */ cmpwi r28, 0
/* 802F1A80 002ED6E0 7F C3 F3 78 */ mr r3, r30
/* 802F1A84 002ED6E4 53 23 45 2E */ rlwimi r3, r25, 8, 0x14, 0x17
/* 802F1A88 002ED6E8 50 C0 FE 3E */ rlwimi r0, r6, 0x1f, 0x18, 0x1f
/* 802F1A8C 002ED6EC 50 A0 04 E6 */ rlwimi r0, r5, 0, 0x13, 0x13
/* 802F1A90 002ED6F0 50 83 04 E6 */ rlwimi r3, r4, 0, 0x13, 0x13
/* 802F1A94 002ED6F4 54 00 44 2E */ rlwinm r0, r0, 8, 0x10, 0x17
/* 802F1A98 002ED6F8 50 60 C6 FE */ rlwimi r0, r3, 0x18, 0x1b, 0x1f
/* 802F1A9C 002ED6FC 7C 00 A7 2C */ sthbrx r0, 0, r20
/* 802F1AA0 002ED700 41 82 00 14 */ beq lbl_802F1AB4
/* 802F1AA4 002ED704 7F 84 E3 78 */ mr r4, r28
/* 802F1AA8 002ED708 7F 65 DB 78 */ mr r5, r27
/* 802F1AAC 002ED70C 38 74 00 02 */ addi r3, r20, 2
/* 802F1AB0 002ED710 4B D1 25 51 */ bl memcpy
lbl_802F1AB4:
/* 802F1AB4 002ED714 2C 1F 00 00 */ cmpwi r31, 0
/* 802F1AB8 002ED718 38 7E 00 01 */ addi r3, r30, 1
/* 802F1ABC 002ED71C 41 82 00 10 */ beq lbl_802F1ACC
/* 802F1AC0 002ED720 54 60 08 3C */ slwi r0, r3, 1
/* 802F1AC4 002ED724 38 63 00 01 */ addi r3, r3, 1
/* 802F1AC8 002ED728 7F 14 07 2C */ sthbrx r24, r20, r0
lbl_802F1ACC:
/* 802F1ACC 002ED72C 2C 17 00 00 */ cmpwi r23, 0
/* 802F1AD0 002ED730 41 82 00 0C */ beq lbl_802F1ADC
/* 802F1AD4 002ED734 54 60 08 3C */ slwi r0, r3, 1
/* 802F1AD8 002ED738 7F 54 07 2C */ sthbrx r26, r20, r0
lbl_802F1ADC:
/* 802F1ADC 002ED73C 2C 16 00 00 */ cmpwi r22, 0
/* 802F1AE0 002ED740 41 82 00 10 */ beq lbl_802F1AF0
/* 802F1AE4 002ED744 A0 14 00 00 */ lhz r0, 0(r20)
/* 802F1AE8 002ED748 60 00 80 00 */ ori r0, r0, 0x8000
/* 802F1AEC 002ED74C B0 14 00 00 */ sth r0, 0(r20)
lbl_802F1AF0:
/* 802F1AF0 002ED750 7F A3 EB 78 */ mr r3, r29
lbl_802F1AF4:
/* 802F1AF4 002ED754 39 61 00 40 */ addi r11, r1, 0x40
/* 802F1AF8 002ED758 4B ED 56 61 */ bl _restgpr_20
/* 802F1AFC 002ED75C 80 01 00 44 */ lwz r0, 0x44(r1)
/* 802F1B00 002ED760 7C 08 03 A6 */ mtlr r0
/* 802F1B04 002ED764 38 21 00 40 */ addi r1, r1, 0x40
/* 802F1B08 002ED768 4E 80 00 20 */ blr
.global MPiClearSendQueue
MPiClearSendQueue:
/* 802F1B0C 002ED76C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802F1B10 002ED770 7C 08 02 A6 */ mflr r0
/* 802F1B14 002ED774 90 01 00 24 */ stw r0, 0x24(r1)
/* 802F1B18 002ED778 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802F1B1C 002ED77C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802F1B20 002ED780 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802F1B24 002ED784 93 81 00 10 */ stw r28, 0x10(r1)
/* 802F1B28 002ED788 7C 7C 1B 78 */ mr r28, r3
/* 802F1B2C 002ED78C 48 00 02 6D */ bl MPGetConnectedAIDs
/* 802F1B30 002ED790 80 82 AA 30 */ lwz r4, lbl_80643030-_SDA2_BASE_(r2)
/* 802F1B34 002ED794 7C 7F 1B 78 */ mr r31, r3
/* 802F1B38 002ED798 3B C4 6E 88 */ addi r30, r4, 0x6e88
/* 802F1B3C 002ED79C 3B A4 6D E4 */ addi r29, r4, 0x6de4
/* 802F1B40 002ED7A0 48 00 00 28 */ b lbl_802F1B68
lbl_802F1B44:
/* 802F1B44 002ED7A4 80 81 00 08 */ lwz r4, 8(r1)
/* 802F1B48 002ED7A8 38 60 00 00 */ li r3, 0
/* 802F1B4C 002ED7AC 80 04 00 2C */ lwz r0, 0x2c(r4)
/* 802F1B50 002ED7B0 7C 00 F8 38 */ and r0, r0, r31
/* 802F1B54 002ED7B4 90 04 00 2C */ stw r0, 0x2c(r4)
/* 802F1B58 002ED7B8 80 81 00 08 */ lwz r4, 8(r1)
/* 802F1B5C 002ED7BC 48 00 1A A9 */ bl MPiNotifyDataSentToPort
/* 802F1B60 002ED7C0 37 9C FF FF */ addic. r28, r28, -1
/* 802F1B64 002ED7C4 40 81 00 34 */ ble lbl_802F1B98
lbl_802F1B68:
/* 802F1B68 002ED7C8 7F C3 F3 78 */ mr r3, r30
/* 802F1B6C 002ED7CC 38 81 00 08 */ addi r4, r1, 8
/* 802F1B70 002ED7D0 38 A0 00 00 */ li r5, 0
/* 802F1B74 002ED7D4 4B F7 D4 AD */ bl OSReceiveMessage
/* 802F1B78 002ED7D8 2C 03 00 00 */ cmpwi r3, 0
/* 802F1B7C 002ED7DC 40 82 00 14 */ bne lbl_802F1B90
/* 802F1B80 002ED7E0 7F A3 EB 78 */ mr r3, r29
/* 802F1B84 002ED7E4 38 81 00 08 */ addi r4, r1, 8
/* 802F1B88 002ED7E8 38 A0 00 00 */ li r5, 0
/* 802F1B8C 002ED7EC 4B F7 D4 95 */ bl OSReceiveMessage
lbl_802F1B90:
/* 802F1B90 002ED7F0 2C 03 00 00 */ cmpwi r3, 0
/* 802F1B94 002ED7F4 40 82 FF B0 */ bne lbl_802F1B44
lbl_802F1B98:
/* 802F1B98 002ED7F8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802F1B9C 002ED7FC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802F1BA0 002ED800 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802F1BA4 002ED804 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802F1BA8 002ED808 83 81 00 10 */ lwz r28, 0x10(r1)
/* 802F1BAC 002ED80C 7C 08 03 A6 */ mtlr r0
/* 802F1BB0 002ED810 38 21 00 20 */ addi r1, r1, 0x20
/* 802F1BB4 002ED814 4E 80 00 20 */ blr
|