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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global __EXI2Imm
__EXI2Imm:
/* 801DA2A4 001D5F04 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801DA2A8 001D5F08 7C 08 02 A6 */ mflr r0
/* 801DA2AC 001D5F0C 90 01 00 24 */ stw r0, 0x24(r1)
/* 801DA2B0 001D5F10 39 61 00 20 */ addi r11, r1, 0x20
/* 801DA2B4 001D5F14 4B FE CE 71 */ bl _savegpr_26
/* 801DA2B8 001D5F18 2C 05 00 00 */ cmpwi r5, 0
/* 801DA2BC 001D5F1C 41 82 01 5C */ beq lbl_801DA418
/* 801DA2C0 001D5F20 2C 84 00 00 */ cmpwi cr1, r4, 0
/* 801DA2C4 001D5F24 38 00 00 00 */ li r0, 0
/* 801DA2C8 001D5F28 38 E0 00 00 */ li r7, 0
/* 801DA2CC 001D5F2C 40 85 01 44 */ ble cr1, lbl_801DA410
/* 801DA2D0 001D5F30 2C 04 00 08 */ cmpwi r4, 8
/* 801DA2D4 001D5F34 39 24 FF F8 */ addi r9, r4, -8
/* 801DA2D8 001D5F38 40 81 01 04 */ ble lbl_801DA3DC
/* 801DA2DC 001D5F3C 39 00 00 00 */ li r8, 0
/* 801DA2E0 001D5F40 41 84 00 18 */ blt cr1, lbl_801DA2F8
/* 801DA2E4 001D5F44 3C C0 80 00 */ lis r6, 0x7FFFFFFE@ha
/* 801DA2E8 001D5F48 38 C6 FF FE */ addi r6, r6, 0x7FFFFFFE@l
/* 801DA2EC 001D5F4C 7C 04 30 00 */ cmpw r4, r6
/* 801DA2F0 001D5F50 41 81 00 08 */ bgt lbl_801DA2F8
/* 801DA2F4 001D5F54 39 00 00 01 */ li r8, 1
lbl_801DA2F8:
/* 801DA2F8 001D5F58 2C 08 00 00 */ cmpwi r8, 0
/* 801DA2FC 001D5F5C 41 82 00 E0 */ beq lbl_801DA3DC
/* 801DA300 001D5F60 39 09 00 07 */ addi r8, r9, 7
/* 801DA304 001D5F64 7C 66 1B 78 */ mr r6, r3
/* 801DA308 001D5F68 55 08 E8 FE */ srwi r8, r8, 3
/* 801DA30C 001D5F6C 7D 09 03 A6 */ mtctr r8
/* 801DA310 001D5F70 2C 09 00 00 */ cmpwi r9, 0
/* 801DA314 001D5F74 40 81 00 C8 */ ble lbl_801DA3DC
lbl_801DA318:
/* 801DA318 001D5F78 21 27 00 03 */ subfic r9, r7, 3
/* 801DA31C 001D5F7C 39 07 00 01 */ addi r8, r7, 1
/* 801DA320 001D5F80 23 88 00 03 */ subfic r28, r8, 3
/* 801DA324 001D5F84 89 46 00 00 */ lbz r10, 0(r6)
/* 801DA328 001D5F88 39 07 00 02 */ addi r8, r7, 2
/* 801DA32C 001D5F8C 8B 66 00 01 */ lbz r27, 1(r6)
/* 801DA330 001D5F90 23 A8 00 03 */ subfic r29, r8, 3
/* 801DA334 001D5F94 57 9C 18 38 */ slwi r28, r28, 3
/* 801DA338 001D5F98 55 28 18 38 */ slwi r8, r9, 3
/* 801DA33C 001D5F9C 7D 87 00 D0 */ neg r12, r7
/* 801DA340 001D5FA0 7D 5A 40 30 */ slw r26, r10, r8
/* 801DA344 001D5FA4 57 BE 18 38 */ slwi r30, r29, 3
/* 801DA348 001D5FA8 8B E6 00 02 */ lbz r31, 2(r6)
/* 801DA34C 001D5FAC 39 07 00 04 */ addi r8, r7, 4
/* 801DA350 001D5FB0 21 68 00 03 */ subfic r11, r8, 3
/* 801DA354 001D5FB4 7C 00 D3 78 */ or r0, r0, r26
/* 801DA358 001D5FB8 7F 7C E0 30 */ slw r28, r27, r28
/* 801DA35C 001D5FBC 39 07 00 05 */ addi r8, r7, 5
/* 801DA360 001D5FC0 7F FF F0 30 */ slw r31, r31, r30
/* 801DA364 001D5FC4 8B A6 00 03 */ lbz r29, 3(r6)
/* 801DA368 001D5FC8 55 8C 18 38 */ slwi r12, r12, 3
/* 801DA36C 001D5FCC 7C 00 E3 78 */ or r0, r0, r28
/* 801DA370 001D5FD0 21 48 00 03 */ subfic r10, r8, 3
/* 801DA374 001D5FD4 39 07 00 06 */ addi r8, r7, 6
/* 801DA378 001D5FD8 7F BD 60 30 */ slw r29, r29, r12
/* 801DA37C 001D5FDC 7C 00 FB 78 */ or r0, r0, r31
/* 801DA380 001D5FE0 21 28 00 03 */ subfic r9, r8, 3
/* 801DA384 001D5FE4 39 07 00 07 */ addi r8, r7, 7
/* 801DA388 001D5FE8 55 4C 18 38 */ slwi r12, r10, 3
/* 801DA38C 001D5FEC 8B E6 00 05 */ lbz r31, 5(r6)
/* 801DA390 001D5FF0 21 08 00 03 */ subfic r8, r8, 3
/* 801DA394 001D5FF4 55 2A 18 38 */ slwi r10, r9, 3
/* 801DA398 001D5FF8 8B C6 00 04 */ lbz r30, 4(r6)
/* 801DA39C 001D5FFC 55 6B 18 38 */ slwi r11, r11, 3
/* 801DA3A0 001D6000 7C 00 EB 78 */ or r0, r0, r29
/* 801DA3A4 001D6004 89 26 00 07 */ lbz r9, 7(r6)
/* 801DA3A8 001D6008 7F DE 58 30 */ slw r30, r30, r11
/* 801DA3AC 001D600C 89 66 00 06 */ lbz r11, 6(r6)
/* 801DA3B0 001D6010 55 08 18 38 */ slwi r8, r8, 3
/* 801DA3B4 001D6014 7F EC 60 30 */ slw r12, r31, r12
/* 801DA3B8 001D6018 7C 00 F3 78 */ or r0, r0, r30
/* 801DA3BC 001D601C 7D 6A 50 30 */ slw r10, r11, r10
/* 801DA3C0 001D6020 7C 00 63 78 */ or r0, r0, r12
/* 801DA3C4 001D6024 7D 28 40 30 */ slw r8, r9, r8
/* 801DA3C8 001D6028 7C 00 53 78 */ or r0, r0, r10
/* 801DA3CC 001D602C 38 E7 00 08 */ addi r7, r7, 8
/* 801DA3D0 001D6030 7C 00 43 78 */ or r0, r0, r8
/* 801DA3D4 001D6034 38 C6 00 08 */ addi r6, r6, 8
/* 801DA3D8 001D6038 42 00 FF 40 */ bdnz lbl_801DA318
lbl_801DA3DC:
/* 801DA3DC 001D603C 7C C7 20 50 */ subf r6, r7, r4
/* 801DA3E0 001D6040 7D 23 3A 14 */ add r9, r3, r7
/* 801DA3E4 001D6044 7C C9 03 A6 */ mtctr r6
/* 801DA3E8 001D6048 7C 07 20 00 */ cmpw r7, r4
/* 801DA3EC 001D604C 40 80 00 24 */ bge lbl_801DA410
lbl_801DA3F0:
/* 801DA3F0 001D6050 20 C7 00 03 */ subfic r6, r7, 3
/* 801DA3F4 001D6054 89 09 00 00 */ lbz r8, 0(r9)
/* 801DA3F8 001D6058 54 C6 18 38 */ slwi r6, r6, 3
/* 801DA3FC 001D605C 39 29 00 01 */ addi r9, r9, 1
/* 801DA400 001D6060 7D 06 30 30 */ slw r6, r8, r6
/* 801DA404 001D6064 38 E7 00 01 */ addi r7, r7, 1
/* 801DA408 001D6068 7C 00 33 78 */ or r0, r0, r6
/* 801DA40C 001D606C 42 00 FF E4 */ bdnz lbl_801DA3F0
lbl_801DA410:
/* 801DA410 001D6070 3C C0 CD 00 */ lis r6, 0xCD006838@ha
/* 801DA414 001D6074 90 06 68 38 */ stw r0, 0xCD006838@l(r6)
lbl_801DA418:
/* 801DA418 001D6078 54 A6 10 3A */ slwi r6, r5, 2
/* 801DA41C 001D607C 38 04 FF FF */ addi r0, r4, -1
/* 801DA420 001D6080 60 C7 00 01 */ ori r7, r6, 1
/* 801DA424 001D6084 54 00 20 36 */ slwi r0, r0, 4
/* 801DA428 001D6088 3C C0 CD 00 */ lis r6, 0xCD006834@ha
/* 801DA42C 001D608C 7C E0 03 78 */ or r0, r7, r0
/* 801DA430 001D6090 90 06 68 34 */ stw r0, 0xCD006834@l(r6)
lbl_801DA434:
/* 801DA434 001D6094 80 06 68 34 */ lwz r0, 0x6834(r6)
/* 801DA438 001D6098 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 801DA43C 001D609C 40 82 FF F8 */ bne lbl_801DA434
/* 801DA440 001D60A0 2C 05 00 00 */ cmpwi r5, 0
/* 801DA444 001D60A4 40 82 01 2C */ bne lbl_801DA570
/* 801DA448 001D60A8 3C A0 CD 00 */ lis r5, 0xCD006838@ha
/* 801DA44C 001D60AC 2C 84 00 00 */ cmpwi cr1, r4, 0
/* 801DA450 001D60B0 80 05 68 38 */ lwz r0, 0xCD006838@l(r5)
/* 801DA454 001D60B4 38 A0 00 00 */ li r5, 0
/* 801DA458 001D60B8 40 85 01 18 */ ble cr1, lbl_801DA570
/* 801DA45C 001D60BC 2C 04 00 08 */ cmpwi r4, 8
/* 801DA460 001D60C0 38 E4 FF F8 */ addi r7, r4, -8
/* 801DA464 001D60C4 40 81 00 E0 */ ble lbl_801DA544
/* 801DA468 001D60C8 39 00 00 00 */ li r8, 0
/* 801DA46C 001D60CC 41 84 00 18 */ blt cr1, lbl_801DA484
/* 801DA470 001D60D0 3C C0 80 00 */ lis r6, 0x7FFFFFFE@ha
/* 801DA474 001D60D4 38 C6 FF FE */ addi r6, r6, 0x7FFFFFFE@l
/* 801DA478 001D60D8 7C 04 30 00 */ cmpw r4, r6
/* 801DA47C 001D60DC 41 81 00 08 */ bgt lbl_801DA484
/* 801DA480 001D60E0 39 00 00 01 */ li r8, 1
lbl_801DA484:
/* 801DA484 001D60E4 2C 08 00 00 */ cmpwi r8, 0
/* 801DA488 001D60E8 41 82 00 BC */ beq lbl_801DA544
/* 801DA48C 001D60EC 38 C7 00 07 */ addi r6, r7, 7
/* 801DA490 001D60F0 54 C6 E8 FE */ srwi r6, r6, 3
/* 801DA494 001D60F4 7C C9 03 A6 */ mtctr r6
/* 801DA498 001D60F8 2C 07 00 00 */ cmpwi r7, 0
/* 801DA49C 001D60FC 40 81 00 A8 */ ble lbl_801DA544
lbl_801DA4A0:
/* 801DA4A0 001D6100 20 C5 00 03 */ subfic r6, r5, 3
/* 801DA4A4 001D6104 38 E5 00 01 */ addi r7, r5, 1
/* 801DA4A8 001D6108 54 C8 18 38 */ slwi r8, r6, 3
/* 801DA4AC 001D610C 7C 09 44 30 */ srw r9, r0, r8
/* 801DA4B0 001D6110 20 E7 00 03 */ subfic r7, r7, 3
/* 801DA4B4 001D6114 54 E8 18 38 */ slwi r8, r7, 3
/* 801DA4B8 001D6118 99 23 00 00 */ stb r9, 0(r3)
/* 801DA4BC 001D611C 38 E5 00 02 */ addi r7, r5, 2
/* 801DA4C0 001D6120 7C C5 00 D0 */ neg r6, r5
/* 801DA4C4 001D6124 7C 09 44 30 */ srw r9, r0, r8
/* 801DA4C8 001D6128 54 C8 18 38 */ slwi r8, r6, 3
/* 801DA4CC 001D612C 20 E7 00 03 */ subfic r7, r7, 3
/* 801DA4D0 001D6130 54 E6 18 38 */ slwi r6, r7, 3
/* 801DA4D4 001D6134 99 23 00 01 */ stb r9, 1(r3)
/* 801DA4D8 001D6138 7C 09 34 30 */ srw r9, r0, r6
/* 801DA4DC 001D613C 7C 08 44 30 */ srw r8, r0, r8
/* 801DA4E0 001D6140 38 C5 00 04 */ addi r6, r5, 4
/* 801DA4E4 001D6144 99 23 00 02 */ stb r9, 2(r3)
/* 801DA4E8 001D6148 20 E6 00 03 */ subfic r7, r6, 3
/* 801DA4EC 001D614C 38 C5 00 05 */ addi r6, r5, 5
/* 801DA4F0 001D6150 99 03 00 03 */ stb r8, 3(r3)
/* 801DA4F4 001D6154 54 E7 18 38 */ slwi r7, r7, 3
/* 801DA4F8 001D6158 7C 09 3C 30 */ srw r9, r0, r7
/* 801DA4FC 001D615C 20 C6 00 03 */ subfic r6, r6, 3
/* 801DA500 001D6160 54 C8 18 38 */ slwi r8, r6, 3
/* 801DA504 001D6164 99 23 00 04 */ stb r9, 4(r3)
/* 801DA508 001D6168 38 C5 00 06 */ addi r6, r5, 6
/* 801DA50C 001D616C 20 E6 00 03 */ subfic r7, r6, 3
/* 801DA510 001D6170 7C 08 44 30 */ srw r8, r0, r8
/* 801DA514 001D6174 38 C5 00 07 */ addi r6, r5, 7
/* 801DA518 001D6178 99 03 00 05 */ stb r8, 5(r3)
/* 801DA51C 001D617C 54 E7 18 38 */ slwi r7, r7, 3
/* 801DA520 001D6180 38 A5 00 08 */ addi r5, r5, 8
/* 801DA524 001D6184 20 C6 00 03 */ subfic r6, r6, 3
/* 801DA528 001D6188 7C 07 3C 30 */ srw r7, r0, r7
/* 801DA52C 001D618C 54 C6 18 38 */ slwi r6, r6, 3
/* 801DA530 001D6190 98 E3 00 06 */ stb r7, 6(r3)
/* 801DA534 001D6194 7C 06 34 30 */ srw r6, r0, r6
/* 801DA538 001D6198 98 C3 00 07 */ stb r6, 7(r3)
/* 801DA53C 001D619C 38 63 00 08 */ addi r3, r3, 8
/* 801DA540 001D61A0 42 00 FF 60 */ bdnz lbl_801DA4A0
lbl_801DA544:
/* 801DA544 001D61A4 7C C5 20 50 */ subf r6, r5, r4
/* 801DA548 001D61A8 7C C9 03 A6 */ mtctr r6
/* 801DA54C 001D61AC 7C 05 20 00 */ cmpw r5, r4
/* 801DA550 001D61B0 40 80 00 20 */ bge lbl_801DA570
lbl_801DA554:
/* 801DA554 001D61B4 20 85 00 03 */ subfic r4, r5, 3
/* 801DA558 001D61B8 38 A5 00 01 */ addi r5, r5, 1
/* 801DA55C 001D61BC 54 84 18 38 */ slwi r4, r4, 3
/* 801DA560 001D61C0 7C 04 24 30 */ srw r4, r0, r4
/* 801DA564 001D61C4 98 83 00 00 */ stb r4, 0(r3)
/* 801DA568 001D61C8 38 63 00 01 */ addi r3, r3, 1
/* 801DA56C 001D61CC 42 00 FF E8 */ bdnz lbl_801DA554
lbl_801DA570:
/* 801DA570 001D61D0 39 61 00 20 */ addi r11, r1, 0x20
/* 801DA574 001D61D4 38 60 00 01 */ li r3, 1
/* 801DA578 001D61D8 4B FE CB F9 */ bl _restgpr_26
/* 801DA57C 001D61DC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801DA580 001D61E0 7C 08 03 A6 */ mtlr r0
/* 801DA584 001D61E4 38 21 00 20 */ addi r1, r1, 0x20
/* 801DA588 001D61E8 4E 80 00 20 */ blr
.global __DBEXIInit
__DBEXIInit:
/* 801DA58C 001D61EC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801DA590 001D61F0 7C 08 02 A6 */ mflr r0
/* 801DA594 001D61F4 3C 60 00 02 */ lis r3, 0x00018000@ha
/* 801DA598 001D61F8 90 01 00 24 */ stw r0, 0x24(r1)
/* 801DA59C 001D61FC 38 63 80 00 */ addi r3, r3, 0x00018000@l
/* 801DA5A0 001D6200 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801DA5A4 001D6204 48 09 45 49 */ bl __OSMaskInterrupts
/* 801DA5A8 001D6208 3C 60 CD 00 */ lis r3, 0xCD006834@ha
lbl_801DA5AC:
/* 801DA5AC 001D620C 80 03 68 34 */ lwz r0, 0xCD006834@l(r3)
/* 801DA5B0 001D6210 54 00 07 FE */ clrlwi r0, r0, 0x1f
/* 801DA5B4 001D6214 28 00 00 01 */ cmplwi r0, 1
/* 801DA5B8 001D6218 41 82 FF F4 */ beq lbl_801DA5AC
/* 801DA5BC 001D621C 3F E0 CD 00 */ lis r31, 0xCD006828@ha
/* 801DA5C0 001D6220 38 00 00 00 */ li r0, 0
/* 801DA5C4 001D6224 90 1F 68 28 */ stw r0, 0xCD006828@l(r31)
/* 801DA5C8 001D6228 3C 60 B4 00 */ lis r3, 0xb400
/* 801DA5CC 001D622C 3C 00 D4 00 */ lis r0, 0xd400
/* 801DA5D0 001D6230 38 80 00 04 */ li r4, 4
/* 801DA5D4 001D6234 90 61 00 0C */ stw r3, 0xc(r1)
/* 801DA5D8 001D6238 38 61 00 0C */ addi r3, r1, 0xc
/* 801DA5DC 001D623C 38 A0 00 01 */ li r5, 1
/* 801DA5E0 001D6240 90 01 00 08 */ stw r0, 8(r1)
/* 801DA5E4 001D6244 80 1F 68 28 */ lwz r0, 0x6828(r31)
/* 801DA5E8 001D6248 70 00 04 05 */ andi. r0, r0, 0x405
/* 801DA5EC 001D624C 60 00 00 C0 */ ori r0, r0, 0xc0
/* 801DA5F0 001D6250 90 1F 68 28 */ stw r0, 0x6828(r31)
/* 801DA5F4 001D6254 4B FF FC B1 */ bl __EXI2Imm
lbl_801DA5F8:
/* 801DA5F8 001D6258 80 1F 68 34 */ lwz r0, 0x6834(r31)
/* 801DA5FC 001D625C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 801DA600 001D6260 40 82 FF F8 */ bne lbl_801DA5F8
/* 801DA604 001D6264 38 61 00 08 */ addi r3, r1, 8
/* 801DA608 001D6268 38 80 00 04 */ li r4, 4
/* 801DA60C 001D626C 38 A0 00 01 */ li r5, 1
/* 801DA610 001D6270 4B FF FC 95 */ bl __EXI2Imm
/* 801DA614 001D6274 3C 60 CD 00 */ lis r3, 0xCD006834@ha
lbl_801DA618:
/* 801DA618 001D6278 80 03 68 34 */ lwz r0, 0xCD006834@l(r3)
/* 801DA61C 001D627C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 801DA620 001D6280 40 82 FF F8 */ bne lbl_801DA618
/* 801DA624 001D6284 3C 60 CD 00 */ lis r3, 0xCD006828@ha
/* 801DA628 001D6288 80 03 68 28 */ lwz r0, 0xCD006828@l(r3)
/* 801DA62C 001D628C 70 00 04 05 */ andi. r0, r0, 0x405
/* 801DA630 001D6290 90 03 68 28 */ stw r0, 0x6828(r3)
/* 801DA634 001D6294 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801DA638 001D6298 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801DA63C 001D629C 7C 08 03 A6 */ mtlr r0
/* 801DA640 001D62A0 38 21 00 20 */ addi r1, r1, 0x20
/* 801DA644 001D62A4 4E 80 00 20 */ blr
.global __DBEXIReadReg
__DBEXIReadReg:
/* 801DA648 001D62A8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801DA64C 001D62AC 7C 08 02 A6 */ mflr r0
/* 801DA650 001D62B0 38 C0 00 00 */ li r6, 0
/* 801DA654 001D62B4 90 01 00 24 */ stw r0, 0x24(r1)
/* 801DA658 001D62B8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801DA65C 001D62BC 7C BF 2B 78 */ mr r31, r5
/* 801DA660 001D62C0 38 A0 00 01 */ li r5, 1
/* 801DA664 001D62C4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801DA668 001D62C8 7C 9E 23 78 */ mr r30, r4
/* 801DA66C 001D62CC 38 80 00 04 */ li r4, 4
/* 801DA670 001D62D0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801DA674 001D62D4 93 81 00 10 */ stw r28, 0x10(r1)
/* 801DA678 001D62D8 3F 80 CD 00 */ lis r28, 0xCD006828@ha
/* 801DA67C 001D62DC 90 61 00 08 */ stw r3, 8(r1)
/* 801DA680 001D62E0 38 61 00 08 */ addi r3, r1, 8
/* 801DA684 001D62E4 90 C1 00 0C */ stw r6, 0xc(r1)
/* 801DA688 001D62E8 80 1C 68 28 */ lwz r0, 0xCD006828@l(r28)
/* 801DA68C 001D62EC 70 00 04 05 */ andi. r0, r0, 0x405
/* 801DA690 001D62F0 60 00 00 C0 */ ori r0, r0, 0xc0
/* 801DA694 001D62F4 90 1C 68 28 */ stw r0, 0x6828(r28)
/* 801DA698 001D62F8 4B FF FC 0D */ bl __EXI2Imm
/* 801DA69C 001D62FC 7C 60 00 34 */ cntlzw r0, r3
/* 801DA6A0 001D6300 54 1D D9 7E */ srwi r29, r0, 5
lbl_801DA6A4:
/* 801DA6A4 001D6304 80 1C 68 34 */ lwz r0, 0x6834(r28)
/* 801DA6A8 001D6308 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 801DA6AC 001D630C 40 82 FF F8 */ bne lbl_801DA6A4
/* 801DA6B0 001D6310 38 61 00 0C */ addi r3, r1, 0xc
/* 801DA6B4 001D6314 38 80 00 04 */ li r4, 4
/* 801DA6B8 001D6318 38 A0 00 00 */ li r5, 0
/* 801DA6BC 001D631C 4B FF FB E9 */ bl __EXI2Imm
/* 801DA6C0 001D6320 7C 60 00 34 */ cntlzw r0, r3
/* 801DA6C4 001D6324 3C 60 CD 00 */ lis r3, 0xCD006834@ha
/* 801DA6C8 001D6328 54 00 D9 7E */ srwi r0, r0, 5
/* 801DA6CC 001D632C 7F A6 03 78 */ or r6, r29, r0
lbl_801DA6D0:
/* 801DA6D0 001D6330 80 03 68 34 */ lwz r0, 0xCD006834@l(r3)
/* 801DA6D4 001D6334 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 801DA6D8 001D6338 40 82 FF F8 */ bne lbl_801DA6D0
/* 801DA6DC 001D633C 3C 60 CD 00 */ lis r3, 0xCD006828@ha
/* 801DA6E0 001D6340 2C 9F 00 02 */ cmpwi cr1, r31, 2
/* 801DA6E4 001D6344 80 03 68 28 */ lwz r0, 0xCD006828@l(r3)
/* 801DA6E8 001D6348 70 00 04 05 */ andi. r0, r0, 0x405
/* 801DA6EC 001D634C 90 03 68 28 */ stw r0, 0x6828(r3)
/* 801DA6F0 001D6350 41 86 00 24 */ beq cr1, lbl_801DA714
/* 801DA6F4 001D6354 40 84 00 34 */ bge cr1, lbl_801DA728
/* 801DA6F8 001D6358 2C 1F 00 01 */ cmpwi r31, 1
/* 801DA6FC 001D635C 40 80 00 08 */ bge lbl_801DA704
/* 801DA700 001D6360 48 00 00 28 */ b lbl_801DA728
lbl_801DA704:
/* 801DA704 001D6364 80 01 00 0C */ lwz r0, 0xc(r1)
/* 801DA708 001D6368 54 00 46 3E */ srwi r0, r0, 0x18
/* 801DA70C 001D636C 98 1E 00 00 */ stb r0, 0(r30)
/* 801DA710 001D6370 48 00 00 34 */ b lbl_801DA744
lbl_801DA714:
/* 801DA714 001D6374 80 61 00 0C */ lwz r3, 0xc(r1)
/* 801DA718 001D6378 54 60 C4 2E */ rlwinm r0, r3, 0x18, 0x10, 0x17
/* 801DA71C 001D637C 50 60 46 3E */ rlwimi r0, r3, 8, 0x18, 0x1f
/* 801DA720 001D6380 B0 1E 00 00 */ sth r0, 0(r30)
/* 801DA724 001D6384 48 00 00 20 */ b lbl_801DA744
lbl_801DA728:
/* 801DA728 001D6388 80 81 00 0C */ lwz r4, 0xc(r1)
/* 801DA72C 001D638C 54 83 42 1E */ rlwinm r3, r4, 8, 8, 0xf
/* 801DA730 001D6390 54 80 C4 2E */ rlwinm r0, r4, 0x18, 0x10, 0x17
/* 801DA734 001D6394 50 83 C0 0E */ rlwimi r3, r4, 0x18, 0, 7
/* 801DA738 001D6398 50 80 46 3E */ rlwimi r0, r4, 8, 0x18, 0x1f
/* 801DA73C 001D639C 7C 60 03 78 */ or r0, r3, r0
/* 801DA740 001D63A0 90 1E 00 00 */ stw r0, 0(r30)
lbl_801DA744:
/* 801DA744 001D63A4 7C C0 00 34 */ cntlzw r0, r6
/* 801DA748 001D63A8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801DA74C 001D63AC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801DA750 001D63B0 54 03 D9 7E */ srwi r3, r0, 5
/* 801DA754 001D63B4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801DA758 001D63B8 83 81 00 10 */ lwz r28, 0x10(r1)
/* 801DA75C 001D63BC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801DA760 001D63C0 7C 08 03 A6 */ mtlr r0
/* 801DA764 001D63C4 38 21 00 20 */ addi r1, r1, 0x20
/* 801DA768 001D63C8 4E 80 00 20 */ blr
.global __DBEXIWriteReg
__DBEXIWriteReg:
/* 801DA76C 001D63CC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801DA770 001D63D0 7C 08 02 A6 */ mflr r0
/* 801DA774 001D63D4 2C 05 00 02 */ cmpwi r5, 2
/* 801DA778 001D63D8 90 01 00 24 */ stw r0, 0x24(r1)
/* 801DA77C 001D63DC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801DA780 001D63E0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801DA784 001D63E4 90 61 00 08 */ stw r3, 8(r1)
/* 801DA788 001D63E8 41 82 00 24 */ beq lbl_801DA7AC
/* 801DA78C 001D63EC 40 80 00 34 */ bge lbl_801DA7C0
/* 801DA790 001D63F0 2C 05 00 01 */ cmpwi r5, 1
/* 801DA794 001D63F4 40 80 00 08 */ bge lbl_801DA79C
/* 801DA798 001D63F8 48 00 00 28 */ b lbl_801DA7C0
lbl_801DA79C:
/* 801DA79C 001D63FC 88 04 00 00 */ lbz r0, 0(r4)
/* 801DA7A0 001D6400 54 00 C0 0E */ slwi r0, r0, 0x18
/* 801DA7A4 001D6404 90 01 00 0C */ stw r0, 0xc(r1)
/* 801DA7A8 001D6408 48 00 00 34 */ b lbl_801DA7DC
lbl_801DA7AC:
/* 801DA7AC 001D640C A0 64 00 00 */ lhz r3, 0(r4)
/* 801DA7B0 001D6410 54 60 42 1E */ rlwinm r0, r3, 8, 8, 0xf
/* 801DA7B4 001D6414 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7
/* 801DA7B8 001D6418 90 01 00 0C */ stw r0, 0xc(r1)
/* 801DA7BC 001D641C 48 00 00 20 */ b lbl_801DA7DC
lbl_801DA7C0:
/* 801DA7C0 001D6420 80 84 00 00 */ lwz r4, 0(r4)
/* 801DA7C4 001D6424 54 83 42 1E */ rlwinm r3, r4, 8, 8, 0xf
/* 801DA7C8 001D6428 54 80 C4 2E */ rlwinm r0, r4, 0x18, 0x10, 0x17
/* 801DA7CC 001D642C 50 83 C0 0E */ rlwimi r3, r4, 0x18, 0, 7
/* 801DA7D0 001D6430 50 80 46 3E */ rlwimi r0, r4, 8, 0x18, 0x1f
/* 801DA7D4 001D6434 7C 60 03 78 */ or r0, r3, r0
/* 801DA7D8 001D6438 90 01 00 0C */ stw r0, 0xc(r1)
lbl_801DA7DC:
/* 801DA7DC 001D643C 3F C0 CD 00 */ lis r30, 0xCD006828@ha
/* 801DA7E0 001D6440 38 61 00 08 */ addi r3, r1, 8
/* 801DA7E4 001D6444 80 1E 68 28 */ lwz r0, 0xCD006828@l(r30)
/* 801DA7E8 001D6448 38 80 00 04 */ li r4, 4
/* 801DA7EC 001D644C 38 A0 00 01 */ li r5, 1
/* 801DA7F0 001D6450 70 00 04 05 */ andi. r0, r0, 0x405
/* 801DA7F4 001D6454 60 00 00 C0 */ ori r0, r0, 0xc0
/* 801DA7F8 001D6458 90 1E 68 28 */ stw r0, 0x6828(r30)
/* 801DA7FC 001D645C 4B FF FA A9 */ bl __EXI2Imm
/* 801DA800 001D6460 7C 60 00 34 */ cntlzw r0, r3
/* 801DA804 001D6464 54 1F D9 7E */ srwi r31, r0, 5
lbl_801DA808:
/* 801DA808 001D6468 80 1E 68 34 */ lwz r0, 0x6834(r30)
/* 801DA80C 001D646C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 801DA810 001D6470 40 82 FF F8 */ bne lbl_801DA808
/* 801DA814 001D6474 38 61 00 0C */ addi r3, r1, 0xc
/* 801DA818 001D6478 38 80 00 04 */ li r4, 4
/* 801DA81C 001D647C 38 A0 00 01 */ li r5, 1
/* 801DA820 001D6480 4B FF FA 85 */ bl __EXI2Imm
/* 801DA824 001D6484 7C 60 00 34 */ cntlzw r0, r3
/* 801DA828 001D6488 3C 60 CD 00 */ lis r3, 0xCD006834@ha
/* 801DA82C 001D648C 54 00 D9 7E */ srwi r0, r0, 5
/* 801DA830 001D6490 7F E5 03 78 */ or r5, r31, r0
lbl_801DA834:
/* 801DA834 001D6494 80 03 68 34 */ lwz r0, 0xCD006834@l(r3)
/* 801DA838 001D6498 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 801DA83C 001D649C 40 82 FF F8 */ bne lbl_801DA834
/* 801DA840 001D64A0 3C 80 CD 00 */ lis r4, 0xCD006828@ha
/* 801DA844 001D64A4 7C A0 00 34 */ cntlzw r0, r5
/* 801DA848 001D64A8 80 A4 68 28 */ lwz r5, 0xCD006828@l(r4)
/* 801DA84C 001D64AC 54 03 D9 7E */ srwi r3, r0, 5
/* 801DA850 001D64B0 70 A0 04 05 */ andi. r0, r5, 0x405
/* 801DA854 001D64B4 90 04 68 28 */ stw r0, 0x6828(r4)
/* 801DA858 001D64B8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801DA85C 001D64BC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801DA860 001D64C0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801DA864 001D64C4 7C 08 03 A6 */ mtlr r0
/* 801DA868 001D64C8 38 21 00 20 */ addi r1, r1, 0x20
/* 801DA86C 001D64CC 4E 80 00 20 */ blr
.global __DBEXIReadRam
__DBEXIReadRam:
/* 801DA870 001D64D0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801DA874 001D64D4 7C 08 02 A6 */ mflr r0
/* 801DA878 001D64D8 90 01 00 24 */ stw r0, 0x24(r1)
/* 801DA87C 001D64DC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801DA880 001D64E0 3F E0 CD 00 */ lis r31, 0xCD006828@ha
/* 801DA884 001D64E4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801DA888 001D64E8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801DA88C 001D64EC 7C 9D 23 78 */ mr r29, r4
/* 801DA890 001D64F0 38 80 00 04 */ li r4, 4
/* 801DA894 001D64F4 93 81 00 10 */ stw r28, 0x10(r1)
/* 801DA898 001D64F8 7C BC 2B 78 */ mr r28, r5
/* 801DA89C 001D64FC 38 A0 00 01 */ li r5, 1
/* 801DA8A0 001D6500 90 61 00 08 */ stw r3, 8(r1)
/* 801DA8A4 001D6504 38 61 00 08 */ addi r3, r1, 8
/* 801DA8A8 001D6508 80 1F 68 28 */ lwz r0, 0xCD006828@l(r31)
/* 801DA8AC 001D650C 70 00 04 05 */ andi. r0, r0, 0x405
/* 801DA8B0 001D6510 60 00 00 C0 */ ori r0, r0, 0xc0
/* 801DA8B4 001D6514 90 1F 68 28 */ stw r0, 0x6828(r31)
/* 801DA8B8 001D6518 4B FF F9 ED */ bl __EXI2Imm
/* 801DA8BC 001D651C 7C 60 00 34 */ cntlzw r0, r3
/* 801DA8C0 001D6520 54 1E D9 7E */ srwi r30, r0, 5
lbl_801DA8C4:
/* 801DA8C4 001D6524 80 1F 68 34 */ lwz r0, 0x6834(r31)
/* 801DA8C8 001D6528 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 801DA8CC 001D652C 40 82 FF F8 */ bne lbl_801DA8C4
/* 801DA8D0 001D6530 3F E0 CD 00 */ lis r31, 0xcd00
/* 801DA8D4 001D6534 48 00 00 3C */ b lbl_801DA910
lbl_801DA8D8:
/* 801DA8D8 001D6538 38 61 00 0C */ addi r3, r1, 0xc
/* 801DA8DC 001D653C 38 80 00 04 */ li r4, 4
/* 801DA8E0 001D6540 38 A0 00 00 */ li r5, 0
/* 801DA8E4 001D6544 4B FF F9 C1 */ bl __EXI2Imm
/* 801DA8E8 001D6548 7C 60 00 34 */ cntlzw r0, r3
/* 801DA8EC 001D654C 54 00 D9 7E */ srwi r0, r0, 5
/* 801DA8F0 001D6550 7F DE 03 78 */ or r30, r30, r0
lbl_801DA8F4:
/* 801DA8F4 001D6554 80 1F 68 34 */ lwz r0, 0x6834(r31)
/* 801DA8F8 001D6558 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 801DA8FC 001D655C 40 82 FF F8 */ bne lbl_801DA8F4
/* 801DA900 001D6560 80 01 00 0C */ lwz r0, 0xc(r1)
/* 801DA904 001D6564 3B 9C FF FC */ addi r28, r28, -4
/* 801DA908 001D6568 90 1D 00 00 */ stw r0, 0(r29)
/* 801DA90C 001D656C 3B BD 00 04 */ addi r29, r29, 4
lbl_801DA910:
/* 801DA910 001D6570 2C 1C 00 00 */ cmpwi r28, 0
/* 801DA914 001D6574 41 81 FF C4 */ bgt lbl_801DA8D8
/* 801DA918 001D6578 3C 80 CD 00 */ lis r4, 0xCD006828@ha
/* 801DA91C 001D657C 7F C0 00 34 */ cntlzw r0, r30
/* 801DA920 001D6580 80 A4 68 28 */ lwz r5, 0xCD006828@l(r4)
/* 801DA924 001D6584 54 03 D9 7E */ srwi r3, r0, 5
/* 801DA928 001D6588 70 A0 04 05 */ andi. r0, r5, 0x405
/* 801DA92C 001D658C 90 04 68 28 */ stw r0, 0x6828(r4)
/* 801DA930 001D6590 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801DA934 001D6594 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801DA938 001D6598 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801DA93C 001D659C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801DA940 001D65A0 83 81 00 10 */ lwz r28, 0x10(r1)
/* 801DA944 001D65A4 7C 08 03 A6 */ mtlr r0
/* 801DA948 001D65A8 38 21 00 20 */ addi r1, r1, 0x20
/* 801DA94C 001D65AC 4E 80 00 20 */ blr
.global __DBEXIWriteRam
__DBEXIWriteRam:
/* 801DA950 001D65B0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801DA954 001D65B4 7C 08 02 A6 */ mflr r0
/* 801DA958 001D65B8 90 01 00 24 */ stw r0, 0x24(r1)
/* 801DA95C 001D65BC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801DA960 001D65C0 3F E0 CD 00 */ lis r31, 0xCD006828@ha
/* 801DA964 001D65C4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801DA968 001D65C8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801DA96C 001D65CC 7C 9D 23 78 */ mr r29, r4
/* 801DA970 001D65D0 38 80 00 04 */ li r4, 4
/* 801DA974 001D65D4 93 81 00 10 */ stw r28, 0x10(r1)
/* 801DA978 001D65D8 7C BC 2B 78 */ mr r28, r5
/* 801DA97C 001D65DC 38 A0 00 01 */ li r5, 1
/* 801DA980 001D65E0 90 61 00 08 */ stw r3, 8(r1)
/* 801DA984 001D65E4 38 61 00 08 */ addi r3, r1, 8
/* 801DA988 001D65E8 80 1F 68 28 */ lwz r0, 0xCD006828@l(r31)
/* 801DA98C 001D65EC 70 00 04 05 */ andi. r0, r0, 0x405
/* 801DA990 001D65F0 60 00 00 C0 */ ori r0, r0, 0xc0
/* 801DA994 001D65F4 90 1F 68 28 */ stw r0, 0x6828(r31)
/* 801DA998 001D65F8 4B FF F9 0D */ bl __EXI2Imm
/* 801DA99C 001D65FC 7C 60 00 34 */ cntlzw r0, r3
/* 801DA9A0 001D6600 54 1E D9 7E */ srwi r30, r0, 5
lbl_801DA9A4:
/* 801DA9A4 001D6604 80 1F 68 34 */ lwz r0, 0x6834(r31)
/* 801DA9A8 001D6608 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 801DA9AC 001D660C 40 82 FF F8 */ bne lbl_801DA9A4
/* 801DA9B0 001D6610 3F E0 CD 00 */ lis r31, 0xcd00
/* 801DA9B4 001D6614 48 00 00 3C */ b lbl_801DA9F0
lbl_801DA9B8:
/* 801DA9B8 001D6618 80 1D 00 00 */ lwz r0, 0(r29)
/* 801DA9BC 001D661C 38 61 00 0C */ addi r3, r1, 0xc
/* 801DA9C0 001D6620 38 80 00 04 */ li r4, 4
/* 801DA9C4 001D6624 38 A0 00 01 */ li r5, 1
/* 801DA9C8 001D6628 90 01 00 0C */ stw r0, 0xc(r1)
/* 801DA9CC 001D662C 3B BD 00 04 */ addi r29, r29, 4
/* 801DA9D0 001D6630 4B FF F8 D5 */ bl __EXI2Imm
/* 801DA9D4 001D6634 7C 60 00 34 */ cntlzw r0, r3
/* 801DA9D8 001D6638 54 00 D9 7E */ srwi r0, r0, 5
/* 801DA9DC 001D663C 7F DE 03 78 */ or r30, r30, r0
lbl_801DA9E0:
/* 801DA9E0 001D6640 80 1F 68 34 */ lwz r0, 0x6834(r31)
/* 801DA9E4 001D6644 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 801DA9E8 001D6648 40 82 FF F8 */ bne lbl_801DA9E0
/* 801DA9EC 001D664C 3B 9C FF FC */ addi r28, r28, -4
lbl_801DA9F0:
/* 801DA9F0 001D6650 2C 1C 00 00 */ cmpwi r28, 0
/* 801DA9F4 001D6654 41 81 FF C4 */ bgt lbl_801DA9B8
/* 801DA9F8 001D6658 3C 80 CD 00 */ lis r4, 0xCD006828@ha
/* 801DA9FC 001D665C 7F C0 00 34 */ cntlzw r0, r30
/* 801DAA00 001D6660 80 A4 68 28 */ lwz r5, 0xCD006828@l(r4)
/* 801DAA04 001D6664 54 03 D9 7E */ srwi r3, r0, 5
/* 801DAA08 001D6668 70 A0 04 05 */ andi. r0, r5, 0x405
/* 801DAA0C 001D666C 90 04 68 28 */ stw r0, 0x6828(r4)
/* 801DAA10 001D6670 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801DAA14 001D6674 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801DAA18 001D6678 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801DAA1C 001D667C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801DAA20 001D6680 83 81 00 10 */ lwz r28, 0x10(r1)
/* 801DAA24 001D6684 7C 08 03 A6 */ mtlr r0
/* 801DAA28 001D6688 38 21 00 20 */ addi r1, r1, 0x20
/* 801DAA2C 001D668C 4E 80 00 20 */ blr
|