1731 lines
80 KiB
ArmAsm
1731 lines
80 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
|
|
.global SIBusy
|
|
SIBusy:
|
|
/* 8002A3C0 00026200 3C 60 80 43 */ lis r3, Si@ha
|
|
/* 8002A3C4 00026204 80 83 FB D0 */ lwz r4, Si@l(r3)
|
|
/* 8002A3C8 00026208 20 64 FF FF */ subfic r3, r4, -0x1
|
|
/* 8002A3CC 0002620C 38 04 00 01 */ addi r0, r4, 0x1
|
|
/* 8002A3D0 00026210 7C 60 03 78 */ or r0, r3, r0
|
|
/* 8002A3D4 00026214 54 03 0F FE */ srwi r3, r0, 31
|
|
/* 8002A3D8 00026218 4E 80 00 20 */ blr
|
|
/* 8002A3DC 0002621C 00 00 00 00 */ .4byte 0x00000000
|
|
.global SIIsChanBusy
|
|
SIIsChanBusy:
|
|
/* 8002A3E0 00026220 3C 80 80 4A */ lis r4, Packet@ha
|
|
/* 8002A3E4 00026224 54 60 28 34 */ slwi r0, r3, 5
|
|
/* 8002A3E8 00026228 38 84 A3 50 */ addi r4, r4, Packet@l
|
|
/* 8002A3EC 0002622C 38 A0 00 00 */ li r5, 0x0
|
|
/* 8002A3F0 00026230 7C 04 00 2E */ lwzx r0, r4, r0
|
|
/* 8002A3F4 00026234 2C 00 FF FF */ cmpwi r0, -0x1
|
|
/* 8002A3F8 00026238 40 82 00 14 */ bne lbl_8002A40C
|
|
/* 8002A3FC 0002623C 3C 80 80 43 */ lis r4, Si@ha
|
|
/* 8002A400 00026240 80 04 FB D0 */ lwz r0, Si@l(r4)
|
|
/* 8002A404 00026244 7C 00 18 00 */ cmpw r0, r3
|
|
/* 8002A408 00026248 40 82 00 08 */ bne lbl_8002A410
|
|
.global lbl_8002A40C
|
|
lbl_8002A40C:
|
|
/* 8002A40C 0002624C 38 A0 00 01 */ li r5, 0x1
|
|
.global lbl_8002A410
|
|
lbl_8002A410:
|
|
/* 8002A410 00026250 7C A3 2B 78 */ mr r3, r5
|
|
/* 8002A414 00026254 4E 80 00 20 */ blr
|
|
/* 8002A418 00026258 00 00 00 00 */ .4byte 0x00000000
|
|
/* 8002A41C 0002625C 00 00 00 00 */ .4byte 0x00000000
|
|
.global CompleteTransfer
|
|
CompleteTransfer:
|
|
/* 8002A420 00026260 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 8002A424 00026264 7C 08 02 A6 */ mflr r0
|
|
/* 8002A428 00026268 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 8002A42C 0002626C 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
/* 8002A430 00026270 93 C1 00 18 */ stw r30, 0x18(r1)
|
|
/* 8002A434 00026274 3F C0 80 43 */ lis r30, Si@ha
|
|
/* 8002A438 00026278 93 A1 00 14 */ stw r29, 0x14(r1)
|
|
/* 8002A43C 0002627C 3F A0 CD 00 */ lis r29, 0xCD006438@ha
|
|
/* 8002A440 00026280 83 FD 64 38 */ lwz r31, 0xCD006438@l(r29)
|
|
/* 8002A444 00026284 80 1D 64 34 */ lwz r0, 0x6434(r29)
|
|
/* 8002A448 00026288 64 00 80 00 */ oris r0, r0, 0x8000
|
|
/* 8002A44C 0002628C 54 00 00 3C */ clrrwi r0, r0, 1
|
|
/* 8002A450 00026290 90 1D 64 34 */ stw r0, 0x6434(r29)
|
|
/* 8002A454 00026294 80 1E FB D0 */ lwz r0, Si@l(r30)
|
|
/* 8002A458 00026298 2C 00 FF FF */ cmpwi r0, -0x1
|
|
/* 8002A45C 0002629C 41 82 02 98 */ beq lbl_8002A6F4
|
|
/* 8002A460 000262A0 4B FF B7 11 */ bl __OSGetSystemTime
|
|
/* 8002A464 000262A4 80 FE FB D0 */ lwz r7, -0x430(r30)
|
|
/* 8002A468 000262A8 3C C0 80 4A */ lis r6, XferTime@ha
|
|
/* 8002A46C 000262AC 38 BE FB D0 */ addi r5, r30, -0x430
|
|
/* 8002A470 000262B0 54 E7 18 38 */ slwi r7, r7, 3
|
|
/* 8002A474 000262B4 38 C6 A3 D0 */ addi r6, r6, XferTime@l
|
|
/* 8002A478 000262B8 80 05 00 08 */ lwz r0, 0x8(r5)
|
|
/* 8002A47C 000262BC 7C C6 3A 14 */ add r6, r6, r7
|
|
/* 8002A480 000262C0 90 86 00 04 */ stw r4, 0x4(r6)
|
|
/* 8002A484 000262C4 38 E0 00 00 */ li r7, 0x0
|
|
/* 8002A488 000262C8 54 08 F0 BF */ srwi. r8, r0, 2
|
|
/* 8002A48C 000262CC 80 A5 00 0C */ lwz r5, 0xc(r5)
|
|
/* 8002A490 000262D0 90 66 00 00 */ stw r3, 0x0(r6)
|
|
/* 8002A494 000262D4 41 82 00 B0 */ beq lbl_8002A544
|
|
/* 8002A498 000262D8 28 08 00 08 */ cmplwi r8, 0x8
|
|
/* 8002A49C 000262DC 38 68 FF F8 */ addi r3, r8, -0x8
|
|
/* 8002A4A0 000262E0 40 81 00 6C */ ble lbl_8002A50C
|
|
/* 8002A4A4 000262E4 38 03 00 07 */ addi r0, r3, 0x7
|
|
/* 8002A4A8 000262E8 38 9D 64 00 */ addi r4, r29, 0x6400
|
|
/* 8002A4AC 000262EC 54 00 E8 FE */ srwi r0, r0, 3
|
|
/* 8002A4B0 000262F0 7C 09 03 A6 */ mtctr r0
|
|
/* 8002A4B4 000262F4 28 03 00 00 */ cmplwi r3, 0x0
|
|
/* 8002A4B8 000262F8 40 81 00 54 */ ble lbl_8002A50C
|
|
.global lbl_8002A4BC
|
|
lbl_8002A4BC:
|
|
/* 8002A4BC 000262FC 80 04 00 80 */ lwz r0, 0x80(r4)
|
|
/* 8002A4C0 00026300 38 E7 00 08 */ addi r7, r7, 0x8
|
|
/* 8002A4C4 00026304 90 05 00 00 */ stw r0, 0x0(r5)
|
|
/* 8002A4C8 00026308 80 04 00 84 */ lwz r0, 0x84(r4)
|
|
/* 8002A4CC 0002630C 90 05 00 04 */ stw r0, 0x4(r5)
|
|
/* 8002A4D0 00026310 80 04 00 88 */ lwz r0, 0x88(r4)
|
|
/* 8002A4D4 00026314 90 05 00 08 */ stw r0, 0x8(r5)
|
|
/* 8002A4D8 00026318 80 04 00 8C */ lwz r0, 0x8c(r4)
|
|
/* 8002A4DC 0002631C 90 05 00 0C */ stw r0, 0xc(r5)
|
|
/* 8002A4E0 00026320 80 04 00 90 */ lwz r0, 0x90(r4)
|
|
/* 8002A4E4 00026324 90 05 00 10 */ stw r0, 0x10(r5)
|
|
/* 8002A4E8 00026328 80 04 00 94 */ lwz r0, 0x94(r4)
|
|
/* 8002A4EC 0002632C 90 05 00 14 */ stw r0, 0x14(r5)
|
|
/* 8002A4F0 00026330 80 04 00 98 */ lwz r0, 0x98(r4)
|
|
/* 8002A4F4 00026334 90 05 00 18 */ stw r0, 0x18(r5)
|
|
/* 8002A4F8 00026338 80 04 00 9C */ lwz r0, 0x9c(r4)
|
|
/* 8002A4FC 0002633C 38 84 00 20 */ addi r4, r4, 0x20
|
|
/* 8002A500 00026340 90 05 00 1C */ stw r0, 0x1c(r5)
|
|
/* 8002A504 00026344 38 A5 00 20 */ addi r5, r5, 0x20
|
|
/* 8002A508 00026348 42 00 FF B4 */ bdnz lbl_8002A4BC
|
|
.global lbl_8002A50C
|
|
lbl_8002A50C:
|
|
/* 8002A50C 0002634C 54 E3 10 3A */ slwi r3, r7, 2
|
|
/* 8002A510 00026350 3C 00 CD 00 */ lis r0, 0xcd00
|
|
/* 8002A514 00026354 7C 60 1A 14 */ add r3, r0, r3
|
|
/* 8002A518 00026358 7C 07 40 50 */ subf r0, r7, r8
|
|
/* 8002A51C 0002635C 38 63 64 00 */ addi r3, r3, 0x6400
|
|
/* 8002A520 00026360 7C 09 03 A6 */ mtctr r0
|
|
/* 8002A524 00026364 7C 07 40 40 */ cmplw r7, r8
|
|
/* 8002A528 00026368 40 80 00 1C */ bge lbl_8002A544
|
|
.global lbl_8002A52C
|
|
lbl_8002A52C:
|
|
/* 8002A52C 0002636C 80 03 00 80 */ lwz r0, 0x80(r3)
|
|
/* 8002A530 00026370 38 E7 00 01 */ addi r7, r7, 0x1
|
|
/* 8002A534 00026374 90 05 00 00 */ stw r0, 0x0(r5)
|
|
/* 8002A538 00026378 38 A5 00 04 */ addi r5, r5, 0x4
|
|
/* 8002A53C 0002637C 38 63 00 04 */ addi r3, r3, 0x4
|
|
/* 8002A540 00026380 42 00 FF EC */ bdnz lbl_8002A52C
|
|
.global lbl_8002A544
|
|
lbl_8002A544:
|
|
/* 8002A544 00026384 3C 60 80 43 */ lis r3, Si@ha
|
|
/* 8002A548 00026388 38 63 FB D0 */ addi r3, r3, Si@l
|
|
/* 8002A54C 0002638C 80 03 00 08 */ lwz r0, 0x8(r3)
|
|
/* 8002A550 00026390 54 03 07 BF */ clrlwi. r3, r0, 30
|
|
/* 8002A554 00026394 41 82 01 0C */ beq lbl_8002A660
|
|
/* 8002A558 00026398 54 E0 10 3A */ slwi r0, r7, 2
|
|
/* 8002A55C 0002639C 3C 80 CD 00 */ lis r4, 0xcd00
|
|
/* 8002A560 000263A0 7C C4 02 14 */ add r6, r4, r0
|
|
/* 8002A564 000263A4 80 06 64 80 */ lwz r0, 0x6480(r6)
|
|
/* 8002A568 000263A8 38 80 00 00 */ li r4, 0x0
|
|
/* 8002A56C 000263AC 41 82 00 F4 */ beq lbl_8002A660
|
|
/* 8002A570 000263B0 28 03 00 08 */ cmplwi r3, 0x8
|
|
/* 8002A574 000263B4 38 E3 FF F8 */ addi r7, r3, -0x8
|
|
/* 8002A578 000263B8 40 81 00 BC */ ble lbl_8002A634
|
|
/* 8002A57C 000263BC 38 C7 00 07 */ addi r6, r7, 0x7
|
|
/* 8002A580 000263C0 54 C6 E8 FE */ srwi r6, r6, 3
|
|
/* 8002A584 000263C4 7C C9 03 A6 */ mtctr r6
|
|
/* 8002A588 000263C8 28 07 00 00 */ cmplwi r7, 0x0
|
|
/* 8002A58C 000263CC 40 81 00 A8 */ ble lbl_8002A634
|
|
.global lbl_8002A590
|
|
lbl_8002A590:
|
|
/* 8002A590 000263D0 20 C4 00 03 */ subfic r6, r4, 0x3
|
|
/* 8002A594 000263D4 38 E4 00 01 */ addi r7, r4, 0x1
|
|
/* 8002A598 000263D8 54 C8 18 38 */ slwi r8, r6, 3
|
|
/* 8002A59C 000263DC 7C 09 44 30 */ srw r9, r0, r8
|
|
/* 8002A5A0 000263E0 20 E7 00 03 */ subfic r7, r7, 0x3
|
|
/* 8002A5A4 000263E4 54 E8 18 38 */ slwi r8, r7, 3
|
|
/* 8002A5A8 000263E8 99 25 00 00 */ stb r9, 0x0(r5)
|
|
/* 8002A5AC 000263EC 38 E4 00 02 */ addi r7, r4, 0x2
|
|
/* 8002A5B0 000263F0 7C C4 00 D0 */ neg r6, r4
|
|
/* 8002A5B4 000263F4 7C 09 44 30 */ srw r9, r0, r8
|
|
/* 8002A5B8 000263F8 99 25 00 01 */ stb r9, 0x1(r5)
|
|
/* 8002A5BC 000263FC 54 C8 18 38 */ slwi r8, r6, 3
|
|
/* 8002A5C0 00026400 20 E7 00 03 */ subfic r7, r7, 0x3
|
|
/* 8002A5C4 00026404 54 E6 18 38 */ slwi r6, r7, 3
|
|
/* 8002A5C8 00026408 7C 09 34 30 */ srw r9, r0, r6
|
|
/* 8002A5CC 0002640C 99 25 00 02 */ stb r9, 0x2(r5)
|
|
/* 8002A5D0 00026410 38 C4 00 04 */ addi r6, r4, 0x4
|
|
/* 8002A5D4 00026414 7C 08 44 30 */ srw r8, r0, r8
|
|
/* 8002A5D8 00026418 20 E6 00 03 */ subfic r7, r6, 0x3
|
|
/* 8002A5DC 0002641C 99 05 00 03 */ stb r8, 0x3(r5)
|
|
/* 8002A5E0 00026420 38 C4 00 05 */ addi r6, r4, 0x5
|
|
/* 8002A5E4 00026424 54 E7 18 38 */ slwi r7, r7, 3
|
|
/* 8002A5E8 00026428 7C 09 3C 30 */ srw r9, r0, r7
|
|
/* 8002A5EC 0002642C 20 C6 00 03 */ subfic r6, r6, 0x3
|
|
/* 8002A5F0 00026430 54 C8 18 38 */ slwi r8, r6, 3
|
|
/* 8002A5F4 00026434 99 25 00 04 */ stb r9, 0x4(r5)
|
|
/* 8002A5F8 00026438 38 C4 00 06 */ addi r6, r4, 0x6
|
|
/* 8002A5FC 0002643C 20 E6 00 03 */ subfic r7, r6, 0x3
|
|
/* 8002A600 00026440 7C 08 44 30 */ srw r8, r0, r8
|
|
/* 8002A604 00026444 38 C4 00 07 */ addi r6, r4, 0x7
|
|
/* 8002A608 00026448 99 05 00 05 */ stb r8, 0x5(r5)
|
|
/* 8002A60C 0002644C 54 E7 18 38 */ slwi r7, r7, 3
|
|
/* 8002A610 00026450 38 84 00 08 */ addi r4, r4, 0x8
|
|
/* 8002A614 00026454 20 C6 00 03 */ subfic r6, r6, 0x3
|
|
/* 8002A618 00026458 7C 07 3C 30 */ srw r7, r0, r7
|
|
/* 8002A61C 0002645C 98 E5 00 06 */ stb r7, 0x6(r5)
|
|
/* 8002A620 00026460 54 C6 18 38 */ slwi r6, r6, 3
|
|
/* 8002A624 00026464 7C 06 34 30 */ srw r6, r0, r6
|
|
/* 8002A628 00026468 98 C5 00 07 */ stb r6, 0x7(r5)
|
|
/* 8002A62C 0002646C 38 A5 00 08 */ addi r5, r5, 0x8
|
|
/* 8002A630 00026470 42 00 FF 60 */ bdnz lbl_8002A590
|
|
.global lbl_8002A634
|
|
lbl_8002A634:
|
|
/* 8002A634 00026474 7C C4 18 50 */ subf r6, r4, r3
|
|
/* 8002A638 00026478 7C C9 03 A6 */ mtctr r6
|
|
/* 8002A63C 0002647C 7C 04 18 40 */ cmplw r4, r3
|
|
/* 8002A640 00026480 40 80 00 20 */ bge lbl_8002A660
|
|
.global lbl_8002A644
|
|
lbl_8002A644:
|
|
/* 8002A644 00026484 20 64 00 03 */ subfic r3, r4, 0x3
|
|
/* 8002A648 00026488 38 84 00 01 */ addi r4, r4, 0x1
|
|
/* 8002A64C 0002648C 54 63 18 38 */ slwi r3, r3, 3
|
|
/* 8002A650 00026490 7C 03 1C 30 */ srw r3, r0, r3
|
|
/* 8002A654 00026494 98 65 00 00 */ stb r3, 0x0(r5)
|
|
/* 8002A658 00026498 38 A5 00 01 */ addi r5, r5, 0x1
|
|
/* 8002A65C 0002649C 42 00 FF E8 */ bdnz lbl_8002A644
|
|
.global lbl_8002A660
|
|
lbl_8002A660:
|
|
/* 8002A660 000264A0 3C 60 CD 00 */ lis r3, 0xCD006434@ha
|
|
/* 8002A664 000264A4 80 03 64 34 */ lwz r0, 0xCD006434@l(r3)
|
|
/* 8002A668 000264A8 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2
|
|
/* 8002A66C 000264AC 41 82 00 54 */ beq lbl_8002A6C0
|
|
/* 8002A670 000264B0 3C 60 80 43 */ lis r3, Si@ha
|
|
/* 8002A674 000264B4 80 83 FB D0 */ lwz r4, Si@l(r3)
|
|
/* 8002A678 000264B8 20 04 00 03 */ subfic r0, r4, 0x3
|
|
/* 8002A67C 000264BC 54 00 18 38 */ slwi r0, r0, 3
|
|
/* 8002A680 000264C0 7F FF 04 30 */ srw r31, r31, r0
|
|
/* 8002A684 000264C4 57 FF 07 3E */ clrlwi r31, r31, 28
|
|
/* 8002A688 000264C8 57 E0 07 39 */ rlwinm. r0, r31, 0, 28, 28
|
|
/* 8002A68C 000264CC 41 82 00 24 */ beq lbl_8002A6B0
|
|
/* 8002A690 000264D0 3C 60 80 43 */ lis r3, Type_8042FBE8@ha
|
|
/* 8002A694 000264D4 54 84 10 3A */ slwi r4, r4, 2
|
|
/* 8002A698 000264D8 38 63 FB E8 */ addi r3, r3, Type_8042FBE8@l
|
|
/* 8002A69C 000264DC 7C 03 20 2E */ lwzx r0, r3, r4
|
|
/* 8002A6A0 000264E0 54 00 06 31 */ rlwinm. r0, r0, 0, 24, 24
|
|
/* 8002A6A4 000264E4 40 82 00 0C */ bne lbl_8002A6B0
|
|
/* 8002A6A8 000264E8 38 00 00 08 */ li r0, 0x8
|
|
/* 8002A6AC 000264EC 7C 03 21 2E */ stwx r0, r3, r4
|
|
.global lbl_8002A6B0
|
|
lbl_8002A6B0:
|
|
/* 8002A6B0 000264F0 2C 1F 00 00 */ cmpwi r31, 0x0
|
|
/* 8002A6B4 000264F4 40 82 00 34 */ bne lbl_8002A6E8
|
|
/* 8002A6B8 000264F8 3B E0 00 04 */ li r31, 0x4
|
|
/* 8002A6BC 000264FC 48 00 00 2C */ b lbl_8002A6E8
|
|
.global lbl_8002A6C0
|
|
lbl_8002A6C0:
|
|
/* 8002A6C0 00026500 4B FF B4 B1 */ bl __OSGetSystemTime
|
|
/* 8002A6C4 00026504 3C C0 80 43 */ lis r6, Si@ha
|
|
/* 8002A6C8 00026508 3C A0 80 4A */ lis r5, TypeTime@ha
|
|
/* 8002A6CC 0002650C 80 06 FB D0 */ lwz r0, Si@l(r6)
|
|
/* 8002A6D0 00026510 38 A5 A3 F0 */ addi r5, r5, TypeTime@l
|
|
/* 8002A6D4 00026514 3B E0 00 00 */ li r31, 0x0
|
|
/* 8002A6D8 00026518 54 00 18 38 */ slwi r0, r0, 3
|
|
/* 8002A6DC 0002651C 7C A5 02 14 */ add r5, r5, r0
|
|
/* 8002A6E0 00026520 90 85 00 04 */ stw r4, 0x4(r5)
|
|
/* 8002A6E4 00026524 90 65 00 00 */ stw r3, 0x0(r5)
|
|
.global lbl_8002A6E8
|
|
lbl_8002A6E8:
|
|
/* 8002A6E8 00026528 3C 60 80 43 */ lis r3, Si@ha
|
|
/* 8002A6EC 0002652C 38 00 FF FF */ li r0, -0x1
|
|
/* 8002A6F0 00026530 90 03 FB D0 */ stw r0, Si@l(r3)
|
|
.global lbl_8002A6F4
|
|
lbl_8002A6F4:
|
|
/* 8002A6F4 00026534 7F E3 FB 78 */ mr r3, r31
|
|
/* 8002A6F8 00026538 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 8002A6FC 0002653C 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
/* 8002A700 00026540 83 A1 00 14 */ lwz r29, 0x14(r1)
|
|
/* 8002A704 00026544 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 8002A708 00026548 7C 08 03 A6 */ mtlr r0
|
|
/* 8002A70C 0002654C 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 8002A710 00026550 4E 80 00 20 */ blr
|
|
/* 8002A714 00026554 00 00 00 00 */ .4byte 0x00000000
|
|
/* 8002A718 00026558 00 00 00 00 */ .4byte 0x00000000
|
|
/* 8002A71C 0002655C 00 00 00 00 */ .4byte 0x00000000
|
|
.global SIInterruptHandler
|
|
SIInterruptHandler:
|
|
/* 8002A720 00026560 94 21 FF B0 */ stwu r1, -0x50(r1)
|
|
/* 8002A724 00026564 7C 08 02 A6 */ mflr r0
|
|
/* 8002A728 00026568 90 01 00 54 */ stw r0, 0x54(r1)
|
|
/* 8002A72C 0002656C 39 61 00 50 */ addi r11, r1, 0x50
|
|
/* 8002A730 00026570 4B FD CB E5 */ bl lbl_80007314
|
|
/* 8002A734 00026574 3C A0 CD 00 */ lis r5, 0xCD006434@ha
|
|
/* 8002A738 00026578 3F 60 80 4A */ lis r27, Packet@ha
|
|
/* 8002A73C 0002657C 82 A5 64 34 */ lwz r21, 0xCD006434@l(r5)
|
|
/* 8002A740 00026580 7C 7E 1B 78 */ mr r30, r3
|
|
/* 8002A744 00026584 7C 9F 23 78 */ mr r31, r4
|
|
/* 8002A748 00026588 3B 7B A3 50 */ addi r27, r27, Packet@l
|
|
/* 8002A74C 0002658C 56 A3 00 02 */ clrrwi r3, r21, 30
|
|
/* 8002A750 00026590 3C 03 40 00 */ addis r0, r3, 0x4000
|
|
/* 8002A754 00026594 28 00 00 00 */ cmplwi r0, 0x0
|
|
/* 8002A758 00026598 40 82 01 A4 */ bne lbl_8002A8FC
|
|
/* 8002A75C 0002659C 3E 20 80 43 */ lis r17, Si@ha
|
|
/* 8002A760 000265A0 82 D1 FB D0 */ lwz r22, Si@l(r17)
|
|
/* 8002A764 000265A4 4B FF FC BD */ bl CompleteTransfer
|
|
/* 8002A768 000265A8 38 91 FB D0 */ addi r4, r17, -0x430
|
|
/* 8002A76C 000265AC 38 00 00 00 */ li r0, 0x0
|
|
/* 8002A770 000265B0 83 04 00 10 */ lwz r24, 0x10(r4)
|
|
/* 8002A774 000265B4 7C 77 1B 78 */ mr r23, r3
|
|
/* 8002A778 000265B8 7E DC B3 78 */ mr r28, r22
|
|
/* 8002A77C 000265BC 3A 3B 00 00 */ addi r17, r27, 0x0
|
|
/* 8002A780 000265C0 90 04 00 10 */ stw r0, 0x10(r4)
|
|
/* 8002A784 000265C4 3B 40 00 00 */ li r26, 0x0
|
|
.global lbl_8002A788
|
|
lbl_8002A788:
|
|
/* 8002A788 000265C8 3B 9C 00 01 */ addi r28, r28, 0x1
|
|
/* 8002A78C 000265CC 57 80 F0 02 */ slwi r0, r28, 30
|
|
/* 8002A790 000265D0 57 83 0F FE */ srwi r3, r28, 31
|
|
/* 8002A794 000265D4 7C 03 00 50 */ subf r0, r3, r0
|
|
/* 8002A798 000265D8 54 00 10 3E */ rotlwi r0, r0, 2
|
|
/* 8002A79C 000265DC 7F 80 1A 14 */ add r28, r0, r3
|
|
/* 8002A7A0 000265E0 57 80 28 34 */ slwi r0, r28, 5
|
|
/* 8002A7A4 000265E4 7F B1 02 14 */ add r29, r17, r0
|
|
/* 8002A7A8 000265E8 7C 11 00 2E */ lwzx r0, r17, r0
|
|
/* 8002A7AC 000265EC 2C 00 FF FF */ cmpwi r0, -0x1
|
|
/* 8002A7B0 000265F0 41 82 00 6C */ beq lbl_8002A81C
|
|
/* 8002A7B4 000265F4 4B FF B3 BD */ bl __OSGetSystemTime
|
|
/* 8002A7B8 000265F8 80 BD 00 18 */ lwz r5, 0x18(r29)
|
|
/* 8002A7BC 000265FC 6C 60 80 00 */ xoris r0, r3, 0x8000
|
|
/* 8002A7C0 00026600 80 7D 00 1C */ lwz r3, 0x1c(r29)
|
|
/* 8002A7C4 00026604 6C A5 80 00 */ xoris r5, r5, 0x8000
|
|
/* 8002A7C8 00026608 7C 63 20 10 */ subfc r3, r3, r4
|
|
/* 8002A7CC 0002660C 7C A5 01 10 */ subfe r5, r5, r0
|
|
/* 8002A7D0 00026610 7C A0 01 10 */ subfe r5, r0, r0
|
|
/* 8002A7D4 00026614 7C A5 00 D1 */ neg. r5, r5
|
|
/* 8002A7D8 00026618 40 82 00 44 */ bne lbl_8002A81C
|
|
/* 8002A7DC 0002661C 80 7D 00 00 */ lwz r3, 0x0(r29)
|
|
/* 8002A7E0 00026620 80 9D 00 04 */ lwz r4, 0x4(r29)
|
|
/* 8002A7E4 00026624 80 BD 00 08 */ lwz r5, 0x8(r29)
|
|
/* 8002A7E8 00026628 80 DD 00 0C */ lwz r6, 0xc(r29)
|
|
/* 8002A7EC 0002662C 80 FD 00 10 */ lwz r7, 0x10(r29)
|
|
/* 8002A7F0 00026630 81 1D 00 14 */ lwz r8, 0x14(r29)
|
|
/* 8002A7F4 00026634 48 00 05 4D */ bl __SITransfer
|
|
/* 8002A7F8 00026638 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8002A7FC 0002663C 41 82 00 2C */ beq lbl_8002A828
|
|
/* 8002A800 00026640 1C 7C 00 30 */ mulli r3, r28, 0x30
|
|
/* 8002A804 00026644 38 1B 00 C0 */ addi r0, r27, 0xc0
|
|
/* 8002A808 00026648 7C 60 1A 14 */ add r3, r0, r3
|
|
/* 8002A80C 0002664C 4B FF 13 55 */ bl OSCancelAlarm
|
|
/* 8002A810 00026650 38 00 FF FF */ li r0, -0x1
|
|
/* 8002A814 00026654 90 1D 00 00 */ stw r0, 0x0(r29)
|
|
/* 8002A818 00026658 48 00 00 10 */ b lbl_8002A828
|
|
.global lbl_8002A81C
|
|
lbl_8002A81C:
|
|
/* 8002A81C 0002665C 3B 5A 00 01 */ addi r26, r26, 0x1
|
|
/* 8002A820 00026660 2C 1A 00 04 */ cmpwi r26, 0x4
|
|
/* 8002A824 00026664 41 80 FF 64 */ blt lbl_8002A788
|
|
.global lbl_8002A828
|
|
lbl_8002A828:
|
|
/* 8002A828 00026668 2C 18 00 00 */ cmpwi r24, 0x0
|
|
/* 8002A82C 0002666C 41 82 00 1C */ beq lbl_8002A848
|
|
/* 8002A830 00026670 7F 0C C3 78 */ mr r12, r24
|
|
/* 8002A834 00026674 7E C3 B3 78 */ mr r3, r22
|
|
/* 8002A838 00026678 7E E4 BB 78 */ mr r4, r23
|
|
/* 8002A83C 0002667C 7F E5 FB 78 */ mr r5, r31
|
|
/* 8002A840 00026680 7D 89 03 A6 */ mtctr r12
|
|
/* 8002A844 00026684 4E 80 04 21 */ bctrl
|
|
.global lbl_8002A848
|
|
lbl_8002A848:
|
|
/* 8002A848 00026688 3C A0 CD 00 */ lis r5, 0xCD006438@ha
|
|
/* 8002A84C 0002668C 3C 60 80 43 */ lis r3, Type_8042FBE8@ha
|
|
/* 8002A850 00026690 56 C0 18 38 */ slwi r0, r22, 3
|
|
/* 8002A854 00026694 3C 80 0F 00 */ lis r4, 0xf00
|
|
/* 8002A858 00026698 7C 84 06 30 */ sraw r4, r4, r0
|
|
/* 8002A85C 0002669C 80 C5 64 38 */ lwz r6, 0xCD006438@l(r5)
|
|
/* 8002A860 000266A0 56 C0 10 3A */ slwi r0, r22, 2
|
|
/* 8002A864 000266A4 38 63 FB E8 */ addi r3, r3, Type_8042FBE8@l
|
|
/* 8002A868 000266A8 7C C6 20 38 */ and r6, r6, r4
|
|
/* 8002A86C 000266AC 90 C5 64 38 */ stw r6, 0x6438(r5)
|
|
/* 8002A870 000266B0 7C C3 02 14 */ add r6, r3, r0
|
|
/* 8002A874 000266B4 7C 03 00 2E */ lwzx r0, r3, r0
|
|
/* 8002A878 000266B8 28 00 00 80 */ cmplwi r0, 0x80
|
|
/* 8002A87C 000266BC 40 82 00 80 */ bne lbl_8002A8FC
|
|
/* 8002A880 000266C0 56 C0 28 34 */ slwi r0, r22, 5
|
|
/* 8002A884 000266C4 38 7B 00 00 */ addi r3, r27, 0x0
|
|
/* 8002A888 000266C8 7C 03 00 2E */ lwzx r0, r3, r0
|
|
/* 8002A88C 000266CC 38 80 00 00 */ li r4, 0x0
|
|
/* 8002A890 000266D0 2C 00 FF FF */ cmpwi r0, -0x1
|
|
/* 8002A894 000266D4 40 82 00 14 */ bne lbl_8002A8A8
|
|
/* 8002A898 000266D8 3C 60 80 43 */ lis r3, Si@ha
|
|
/* 8002A89C 000266DC 80 03 FB D0 */ lwz r0, Si@l(r3)
|
|
/* 8002A8A0 000266E0 7C 00 B0 00 */ cmpw r0, r22
|
|
/* 8002A8A4 000266E4 40 82 00 08 */ bne lbl_8002A8AC
|
|
.global lbl_8002A8A8
|
|
lbl_8002A8A8:
|
|
/* 8002A8A8 000266E8 38 80 00 01 */ li r4, 0x1
|
|
.global lbl_8002A8AC
|
|
lbl_8002A8AC:
|
|
/* 8002A8AC 000266EC 2C 04 00 00 */ cmpwi r4, 0x0
|
|
/* 8002A8B0 000266F0 40 82 00 4C */ bne lbl_8002A8FC
|
|
/* 8002A8B4 000266F4 3C 80 80 00 */ lis r4, 0x800000F8@ha
|
|
/* 8002A8B8 000266F8 3D 00 80 03 */ lis r8, GetTypeCallback@ha
|
|
/* 8002A8BC 000266FC 80 04 00 F8 */ lwz r0, 0x800000F8@l(r4)
|
|
/* 8002A8C0 00026700 3C 60 43 1C */ lis r3, 0x431c
|
|
/* 8002A8C4 00026704 38 83 DE 83 */ addi r4, r3, -0x217d
|
|
/* 8002A8C8 00026708 39 08 B4 30 */ addi r8, r8, GetTypeCallback@l
|
|
/* 8002A8CC 0002670C 54 00 F0 BE */ srwi r0, r0, 2
|
|
/* 8002A8D0 00026710 7E C3 B3 78 */ mr r3, r22
|
|
/* 8002A8D4 00026714 7C 04 00 16 */ mulhwu r0, r4, r0
|
|
/* 8002A8D8 00026718 38 8D E4 C0 */ addi r4, r13, "@LOCAL@SIInterruptHandler__FsP9OSContext@cmdTypeAndStatus"@sda21
|
|
/* 8002A8DC 0002671C 38 A0 00 01 */ li r5, 0x1
|
|
/* 8002A8E0 00026720 38 E0 00 03 */ li r7, 0x3
|
|
/* 8002A8E4 00026724 39 20 00 00 */ li r9, 0x0
|
|
/* 8002A8E8 00026728 54 0A 8B FE */ srwi r10, r0, 15
|
|
/* 8002A8EC 0002672C 54 00 BA 72 */ rlwinm r0, r0, 23, 9, 25
|
|
/* 8002A8F0 00026730 7C 00 52 14 */ add r0, r0, r10
|
|
/* 8002A8F4 00026734 54 0A E8 FE */ srwi r10, r0, 3
|
|
/* 8002A8F8 00026738 48 00 09 C9 */ bl SITransfer
|
|
.global lbl_8002A8FC
|
|
lbl_8002A8FC:
|
|
/* 8002A8FC 0002673C 56 A3 00 C8 */ rlwinm r3, r21, 0, 3, 4
|
|
/* 8002A900 00026740 3C 03 E8 00 */ addis r0, r3, 0xe800
|
|
/* 8002A904 00026744 28 00 00 00 */ cmplwi r0, 0x0
|
|
/* 8002A908 00026748 40 82 01 EC */ bne lbl_8002AAF4
|
|
/* 8002A90C 0002674C 48 00 36 75 */ bl VIGetCurrentLine
|
|
/* 8002A910 00026750 3C 80 80 43 */ lis r4, Si@ha
|
|
/* 8002A914 00026754 3F 20 80 43 */ lis r25, Type_8042FBE8@ha
|
|
/* 8002A918 00026758 38 84 FB D0 */ addi r4, r4, Si@l
|
|
/* 8002A91C 0002675C 3F 80 CD 00 */ lis r28, 0xCD006400@ha
|
|
/* 8002A920 00026760 80 04 00 04 */ lwz r0, 0x4(r4)
|
|
/* 8002A924 00026764 3A 63 00 01 */ addi r19, r3, 0x1
|
|
/* 8002A928 00026768 3B 39 FB E8 */ addi r25, r25, Type_8042FBE8@l
|
|
/* 8002A92C 0002676C 3B 1C 64 00 */ addi r24, r28, 0xCD006400@l
|
|
/* 8002A930 00026770 54 12 85 BE */ extrwi r18, r0, 10, 6
|
|
/* 8002A934 00026774 3A FB 01 80 */ addi r23, r27, 0x180
|
|
/* 8002A938 00026778 3A DB 01 A0 */ addi r22, r27, 0x1a0
|
|
/* 8002A93C 0002677C 3A BB 01 B0 */ addi r21, r27, 0x1b0
|
|
/* 8002A940 00026780 3A 80 00 00 */ li r20, 0x0
|
|
/* 8002A944 00026784 3B A0 00 08 */ li r29, 0x8
|
|
/* 8002A948 00026788 3A 20 00 01 */ li r17, 0x1
|
|
.global lbl_8002A94C
|
|
lbl_8002A94C:
|
|
/* 8002A94C 0002678C 4B FF 6E D5 */ bl OSDisableInterrupts
|
|
/* 8002A950 00026790 20 14 00 03 */ subfic r0, r20, 0x3
|
|
/* 8002A954 00026794 83 5C 64 38 */ lwz r26, 0x6438(r28)
|
|
/* 8002A958 00026798 54 00 18 38 */ slwi r0, r0, 3
|
|
/* 8002A95C 0002679C 7F 5A 04 30 */ srw r26, r26, r0
|
|
/* 8002A960 000267A0 57 40 07 39 */ rlwinm. r0, r26, 0, 28, 28
|
|
/* 8002A964 000267A4 41 82 00 14 */ beq lbl_8002A978
|
|
/* 8002A968 000267A8 80 19 00 00 */ lwz r0, 0x0(r25)
|
|
/* 8002A96C 000267AC 54 00 06 31 */ rlwinm. r0, r0, 0, 24, 24
|
|
/* 8002A970 000267B0 40 82 00 08 */ bne lbl_8002A978
|
|
/* 8002A974 000267B4 93 B9 00 00 */ stw r29, 0x0(r25)
|
|
.global lbl_8002A978
|
|
lbl_8002A978:
|
|
/* 8002A978 000267B8 4B FF 6E E9 */ bl OSRestoreInterrupts
|
|
/* 8002A97C 000267BC 57 40 06 B5 */ rlwinm. r0, r26, 0, 26, 26
|
|
/* 8002A980 000267C0 41 82 00 20 */ beq lbl_8002A9A0
|
|
/* 8002A984 000267C4 80 18 00 04 */ lwz r0, 0x4(r24)
|
|
/* 8002A988 000267C8 38 60 00 01 */ li r3, 0x1
|
|
/* 8002A98C 000267CC 90 17 00 00 */ stw r0, 0x0(r23)
|
|
/* 8002A990 000267D0 80 18 00 08 */ lwz r0, 0x8(r24)
|
|
/* 8002A994 000267D4 90 17 00 04 */ stw r0, 0x4(r23)
|
|
/* 8002A998 000267D8 92 36 00 00 */ stw r17, 0x0(r22)
|
|
/* 8002A99C 000267DC 48 00 00 08 */ b lbl_8002A9A4
|
|
.global lbl_8002A9A0
|
|
lbl_8002A9A0:
|
|
/* 8002A9A0 000267E0 38 60 00 00 */ li r3, 0x0
|
|
.global lbl_8002A9A4
|
|
lbl_8002A9A4:
|
|
/* 8002A9A4 000267E4 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8002A9A8 000267E8 41 82 00 08 */ beq lbl_8002A9B0
|
|
/* 8002A9AC 000267EC 92 75 00 00 */ stw r19, 0x0(r21)
|
|
.global lbl_8002A9B0
|
|
lbl_8002A9B0:
|
|
/* 8002A9B0 000267F0 3A 94 00 01 */ addi r20, r20, 0x1
|
|
/* 8002A9B4 000267F4 3B 18 00 0C */ addi r24, r24, 0xc
|
|
/* 8002A9B8 000267F8 2C 14 00 04 */ cmpwi r20, 0x4
|
|
/* 8002A9BC 000267FC 3A F7 00 08 */ addi r23, r23, 0x8
|
|
/* 8002A9C0 00026800 3A D6 00 04 */ addi r22, r22, 0x4
|
|
/* 8002A9C4 00026804 3A B5 00 04 */ addi r21, r21, 0x4
|
|
/* 8002A9C8 00026808 3B 39 00 04 */ addi r25, r25, 0x4
|
|
/* 8002A9CC 0002680C 41 80 FF 80 */ blt lbl_8002A94C
|
|
/* 8002A9D0 00026810 3C 80 80 43 */ lis r4, Si@ha
|
|
/* 8002A9D4 00026814 3C 60 80 00 */ lis r3, 0x8000
|
|
/* 8002A9D8 00026818 38 84 FB D0 */ addi r4, r4, Si@l
|
|
/* 8002A9DC 0002681C 38 00 00 18 */ li r0, 0x18
|
|
/* 8002A9E0 00026820 80 A4 00 04 */ lwz r5, 0x4(r4)
|
|
/* 8002A9E4 00026824 7C 60 04 30 */ srw r0, r3, r0
|
|
/* 8002A9E8 00026828 38 9B 01 B0 */ addi r4, r27, 0x1b0
|
|
/* 8002A9EC 0002682C 56 46 F8 7E */ srwi r6, r18, 1
|
|
/* 8002A9F0 00026830 7C A0 00 39 */ and. r0, r5, r0
|
|
/* 8002A9F4 00026834 41 82 00 24 */ beq lbl_8002AA18
|
|
/* 8002A9F8 00026838 80 04 00 00 */ lwz r0, 0x0(r4)
|
|
/* 8002A9FC 0002683C 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8002AA00 00026840 41 82 00 F4 */ beq lbl_8002AAF4
|
|
/* 8002AA04 00026844 80 04 00 00 */ lwz r0, 0x0(r4)
|
|
/* 8002AA08 00026848 7C 06 02 14 */ add r0, r6, r0
|
|
/* 8002AA0C 0002684C 7C 00 98 40 */ cmplw r0, r19
|
|
/* 8002AA10 00026850 40 80 00 08 */ bge lbl_8002AA18
|
|
/* 8002AA14 00026854 48 00 00 E0 */ b lbl_8002AAF4
|
|
.global lbl_8002AA18
|
|
lbl_8002AA18:
|
|
/* 8002AA18 00026858 38 00 00 19 */ li r0, 0x19
|
|
/* 8002AA1C 0002685C 7C 60 04 30 */ srw r0, r3, r0
|
|
/* 8002AA20 00026860 7C A0 00 39 */ and. r0, r5, r0
|
|
/* 8002AA24 00026864 41 82 00 24 */ beq lbl_8002AA48
|
|
/* 8002AA28 00026868 80 04 00 04 */ lwz r0, 0x4(r4)
|
|
/* 8002AA2C 0002686C 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8002AA30 00026870 41 82 00 C4 */ beq lbl_8002AAF4
|
|
/* 8002AA34 00026874 80 04 00 04 */ lwz r0, 0x4(r4)
|
|
/* 8002AA38 00026878 7C 06 02 14 */ add r0, r6, r0
|
|
/* 8002AA3C 0002687C 7C 00 98 40 */ cmplw r0, r19
|
|
/* 8002AA40 00026880 40 80 00 08 */ bge lbl_8002AA48
|
|
/* 8002AA44 00026884 48 00 00 B0 */ b lbl_8002AAF4
|
|
.global lbl_8002AA48
|
|
lbl_8002AA48:
|
|
/* 8002AA48 00026888 38 00 00 1A */ li r0, 0x1a
|
|
/* 8002AA4C 0002688C 7C 60 04 30 */ srw r0, r3, r0
|
|
/* 8002AA50 00026890 7C A0 00 39 */ and. r0, r5, r0
|
|
/* 8002AA54 00026894 41 82 00 24 */ beq lbl_8002AA78
|
|
/* 8002AA58 00026898 80 04 00 08 */ lwz r0, 0x8(r4)
|
|
/* 8002AA5C 0002689C 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8002AA60 000268A0 41 82 00 94 */ beq lbl_8002AAF4
|
|
/* 8002AA64 000268A4 80 04 00 08 */ lwz r0, 0x8(r4)
|
|
/* 8002AA68 000268A8 7C 06 02 14 */ add r0, r6, r0
|
|
/* 8002AA6C 000268AC 7C 00 98 40 */ cmplw r0, r19
|
|
/* 8002AA70 000268B0 40 80 00 08 */ bge lbl_8002AA78
|
|
/* 8002AA74 000268B4 48 00 00 80 */ b lbl_8002AAF4
|
|
.global lbl_8002AA78
|
|
lbl_8002AA78:
|
|
/* 8002AA78 000268B8 38 00 00 1B */ li r0, 0x1b
|
|
/* 8002AA7C 000268BC 7C 60 04 30 */ srw r0, r3, r0
|
|
/* 8002AA80 000268C0 7C A0 00 39 */ and. r0, r5, r0
|
|
/* 8002AA84 000268C4 41 82 00 24 */ beq lbl_8002AAA8
|
|
/* 8002AA88 000268C8 80 04 00 0C */ lwz r0, 0xc(r4)
|
|
/* 8002AA8C 000268CC 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8002AA90 000268D0 41 82 00 64 */ beq lbl_8002AAF4
|
|
/* 8002AA94 000268D4 80 04 00 0C */ lwz r0, 0xc(r4)
|
|
/* 8002AA98 000268D8 7C 06 02 14 */ add r0, r6, r0
|
|
/* 8002AA9C 000268DC 7C 00 98 40 */ cmplw r0, r19
|
|
/* 8002AAA0 000268E0 40 80 00 08 */ bge lbl_8002AAA8
|
|
/* 8002AAA4 000268E4 48 00 00 50 */ b lbl_8002AAF4
|
|
.global lbl_8002AAA8
|
|
lbl_8002AAA8:
|
|
/* 8002AAA8 000268E8 38 7B 01 B0 */ addi r3, r27, 0x1b0
|
|
/* 8002AAAC 000268EC 38 00 00 00 */ li r0, 0x0
|
|
/* 8002AAB0 000268F0 90 03 00 00 */ stw r0, 0x0(r3)
|
|
/* 8002AAB4 000268F4 3A 3B 01 C0 */ addi r17, r27, 0x1c0
|
|
/* 8002AAB8 000268F8 3A 40 00 00 */ li r18, 0x0
|
|
/* 8002AABC 000268FC 90 03 00 04 */ stw r0, 0x4(r3)
|
|
/* 8002AAC0 00026900 90 03 00 08 */ stw r0, 0x8(r3)
|
|
/* 8002AAC4 00026904 90 03 00 0C */ stw r0, 0xc(r3)
|
|
.global lbl_8002AAC8
|
|
lbl_8002AAC8:
|
|
/* 8002AAC8 00026908 81 91 00 00 */ lwz r12, 0x0(r17)
|
|
/* 8002AACC 0002690C 2C 0C 00 00 */ cmpwi r12, 0x0
|
|
/* 8002AAD0 00026910 41 82 00 14 */ beq lbl_8002AAE4
|
|
/* 8002AAD4 00026914 7F C3 F3 78 */ mr r3, r30
|
|
/* 8002AAD8 00026918 7F E4 FB 78 */ mr r4, r31
|
|
/* 8002AADC 0002691C 7D 89 03 A6 */ mtctr r12
|
|
/* 8002AAE0 00026920 4E 80 04 21 */ bctrl
|
|
.global lbl_8002AAE4
|
|
lbl_8002AAE4:
|
|
/* 8002AAE4 00026924 3A 52 00 01 */ addi r18, r18, 0x1
|
|
/* 8002AAE8 00026928 3A 31 00 04 */ addi r17, r17, 0x4
|
|
/* 8002AAEC 0002692C 2C 12 00 04 */ cmpwi r18, 0x4
|
|
/* 8002AAF0 00026930 41 80 FF D8 */ blt lbl_8002AAC8
|
|
.global lbl_8002AAF4
|
|
lbl_8002AAF4:
|
|
/* 8002AAF4 00026934 39 61 00 50 */ addi r11, r1, 0x50
|
|
/* 8002AAF8 00026938 4B FD C8 69 */ bl lbl_80007360
|
|
/* 8002AAFC 0002693C 80 01 00 54 */ lwz r0, 0x54(r1)
|
|
/* 8002AB00 00026940 7C 08 03 A6 */ mtlr r0
|
|
/* 8002AB04 00026944 38 21 00 50 */ addi r1, r1, 0x50
|
|
/* 8002AB08 00026948 4E 80 00 20 */ blr
|
|
/* 8002AB0C 0002694C 00 00 00 00 */ .4byte 0x00000000
|
|
.global SIEnablePollingInterrupt
|
|
SIEnablePollingInterrupt:
|
|
/* 8002AB10 00026950 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 8002AB14 00026954 7C 08 02 A6 */ mflr r0
|
|
/* 8002AB18 00026958 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 8002AB1C 0002695C 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
/* 8002AB20 00026960 7C 7F 1B 78 */ mr r31, r3
|
|
/* 8002AB24 00026964 4B FF 6C FD */ bl OSDisableInterrupts
|
|
/* 8002AB28 00026968 3C 80 CD 00 */ lis r4, 0xCD006434@ha
|
|
/* 8002AB2C 0002696C 2C 1F 00 00 */ cmpwi r31, 0x0
|
|
/* 8002AB30 00026970 80 A4 64 34 */ lwz r5, 0xCD006434@l(r4)
|
|
/* 8002AB34 00026974 54 BF 2F FE */ extrwi r31, r5, 1, 4
|
|
/* 8002AB38 00026978 41 82 00 24 */ beq lbl_8002AB5C
|
|
/* 8002AB3C 0002697C 3C 80 80 4A */ lis r4, InputBufferVcount@ha
|
|
/* 8002AB40 00026980 38 00 00 00 */ li r0, 0x0
|
|
/* 8002AB44 00026984 94 04 A5 00 */ stwu r0, InputBufferVcount@l(r4)
|
|
/* 8002AB48 00026988 64 A5 08 00 */ oris r5, r5, 0x800
|
|
/* 8002AB4C 0002698C 90 04 00 04 */ stw r0, 0x4(r4)
|
|
/* 8002AB50 00026990 90 04 00 08 */ stw r0, 0x8(r4)
|
|
/* 8002AB54 00026994 90 04 00 0C */ stw r0, 0xc(r4)
|
|
/* 8002AB58 00026998 48 00 00 08 */ b lbl_8002AB60
|
|
.global lbl_8002AB5C
|
|
lbl_8002AB5C:
|
|
/* 8002AB5C 0002699C 54 A5 01 46 */ rlwinm r5, r5, 0, 5, 3
|
|
.global lbl_8002AB60
|
|
lbl_8002AB60:
|
|
/* 8002AB60 000269A0 3C 80 CD 00 */ lis r4, 0xCD006434@ha
|
|
/* 8002AB64 000269A4 54 A0 00 7C */ rlwinm r0, r5, 0, 1, 30
|
|
/* 8002AB68 000269A8 90 04 64 34 */ stw r0, 0xCD006434@l(r4)
|
|
/* 8002AB6C 000269AC 4B FF 6C F5 */ bl OSRestoreInterrupts
|
|
/* 8002AB70 000269B0 7F E3 FB 78 */ mr r3, r31
|
|
/* 8002AB74 000269B4 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
/* 8002AB78 000269B8 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 8002AB7C 000269BC 7C 08 03 A6 */ mtlr r0
|
|
/* 8002AB80 000269C0 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 8002AB84 000269C4 4E 80 00 20 */ blr
|
|
/* 8002AB88 000269C8 00 00 00 00 */ .4byte 0x00000000
|
|
/* 8002AB8C 000269CC 00 00 00 00 */ .4byte 0x00000000
|
|
.global SIUnregisterPollingHandler
|
|
SIUnregisterPollingHandler:
|
|
/* 8002AB90 000269D0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 8002AB94 000269D4 7C 08 02 A6 */ mflr r0
|
|
/* 8002AB98 000269D8 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 8002AB9C 000269DC 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
/* 8002ABA0 000269E0 93 C1 00 08 */ stw r30, 0x8(r1)
|
|
/* 8002ABA4 000269E4 7C 7E 1B 78 */ mr r30, r3
|
|
/* 8002ABA8 000269E8 4B FF 6C 79 */ bl OSDisableInterrupts
|
|
/* 8002ABAC 000269EC 3C 80 80 4A */ lis r4, RDSTHandler@ha
|
|
/* 8002ABB0 000269F0 38 00 00 04 */ li r0, 0x4
|
|
/* 8002ABB4 000269F4 7C 7F 1B 78 */ mr r31, r3
|
|
/* 8002ABB8 000269F8 38 A0 00 00 */ li r5, 0x0
|
|
/* 8002ABBC 000269FC 38 84 A5 10 */ addi r4, r4, RDSTHandler@l
|
|
/* 8002ABC0 00026A00 7C 09 03 A6 */ mtctr r0
|
|
/* 8002ABC4 00026A04 60 00 00 00 */ nop
|
|
.global lbl_8002ABC8
|
|
lbl_8002ABC8:
|
|
/* 8002ABC8 00026A08 80 04 00 00 */ lwz r0, 0x0(r4)
|
|
/* 8002ABCC 00026A0C 7C 00 F0 40 */ cmplw r0, r30
|
|
/* 8002ABD0 00026A10 40 82 00 7C */ bne lbl_8002AC4C
|
|
/* 8002ABD4 00026A14 3C 60 80 4A */ lis r3, RDSTHandler@ha
|
|
/* 8002ABD8 00026A18 54 A0 10 3A */ slwi r0, r5, 2
|
|
/* 8002ABDC 00026A1C 38 63 A5 10 */ addi r3, r3, RDSTHandler@l
|
|
/* 8002ABE0 00026A20 38 80 00 00 */ li r4, 0x0
|
|
/* 8002ABE4 00026A24 7C 83 01 2E */ stwx r4, r3, r0
|
|
/* 8002ABE8 00026A28 38 80 00 00 */ li r4, 0x0
|
|
/* 8002ABEC 00026A2C 80 03 00 00 */ lwz r0, 0x0(r3)
|
|
/* 8002ABF0 00026A30 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8002ABF4 00026A34 40 82 00 38 */ bne lbl_8002AC2C
|
|
/* 8002ABF8 00026A38 80 03 00 04 */ lwz r0, 0x4(r3)
|
|
/* 8002ABFC 00026A3C 38 80 00 01 */ li r4, 0x1
|
|
/* 8002AC00 00026A40 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8002AC04 00026A44 40 82 00 28 */ bne lbl_8002AC2C
|
|
/* 8002AC08 00026A48 80 03 00 08 */ lwz r0, 0x8(r3)
|
|
/* 8002AC0C 00026A4C 38 80 00 02 */ li r4, 0x2
|
|
/* 8002AC10 00026A50 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8002AC14 00026A54 40 82 00 18 */ bne lbl_8002AC2C
|
|
/* 8002AC18 00026A58 80 03 00 0C */ lwz r0, 0xc(r3)
|
|
/* 8002AC1C 00026A5C 38 80 00 03 */ li r4, 0x3
|
|
/* 8002AC20 00026A60 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8002AC24 00026A64 40 82 00 08 */ bne lbl_8002AC2C
|
|
/* 8002AC28 00026A68 38 80 00 04 */ li r4, 0x4
|
|
.global lbl_8002AC2C
|
|
lbl_8002AC2C:
|
|
/* 8002AC2C 00026A6C 2C 04 00 04 */ cmpwi r4, 0x4
|
|
/* 8002AC30 00026A70 40 82 00 0C */ bne lbl_8002AC3C
|
|
/* 8002AC34 00026A74 38 60 00 00 */ li r3, 0x0
|
|
/* 8002AC38 00026A78 4B FF FE D9 */ bl SIEnablePollingInterrupt
|
|
.global lbl_8002AC3C
|
|
lbl_8002AC3C:
|
|
/* 8002AC3C 00026A7C 7F E3 FB 78 */ mr r3, r31
|
|
/* 8002AC40 00026A80 4B FF 6C 21 */ bl OSRestoreInterrupts
|
|
/* 8002AC44 00026A84 38 60 00 01 */ li r3, 0x1
|
|
/* 8002AC48 00026A88 48 00 00 1C */ b lbl_8002AC64
|
|
.global lbl_8002AC4C
|
|
lbl_8002AC4C:
|
|
/* 8002AC4C 00026A8C 38 84 00 04 */ addi r4, r4, 0x4
|
|
/* 8002AC50 00026A90 38 A5 00 01 */ addi r5, r5, 0x1
|
|
/* 8002AC54 00026A94 42 00 FF 74 */ bdnz lbl_8002ABC8
|
|
/* 8002AC58 00026A98 7F E3 FB 78 */ mr r3, r31
|
|
/* 8002AC5C 00026A9C 4B FF 6C 05 */ bl OSRestoreInterrupts
|
|
/* 8002AC60 00026AA0 38 60 00 00 */ li r3, 0x0
|
|
.global lbl_8002AC64
|
|
lbl_8002AC64:
|
|
/* 8002AC64 00026AA4 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 8002AC68 00026AA8 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
/* 8002AC6C 00026AAC 83 C1 00 08 */ lwz r30, 0x8(r1)
|
|
/* 8002AC70 00026AB0 7C 08 03 A6 */ mtlr r0
|
|
/* 8002AC74 00026AB4 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 8002AC78 00026AB8 4E 80 00 20 */ blr
|
|
/* 8002AC7C 00026ABC 00 00 00 00 */ .4byte 0x00000000
|
|
.global SIInit
|
|
SIInit:
|
|
/* 8002AC80 00026AC0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 8002AC84 00026AC4 7C 08 02 A6 */ mflr r0
|
|
/* 8002AC88 00026AC8 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 8002AC8C 00026ACC 80 0D E4 C4 */ lwz r0, "@LOCAL@SIInit__Fv@Initialized"@sda21(r13)
|
|
/* 8002AC90 00026AD0 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8002AC94 00026AD4 40 82 00 9C */ bne lbl_8002AD30
|
|
/* 8002AC98 00026AD8 80 6D 81 00 */ lwz r3, __SIVersion@sda21(r13)
|
|
/* 8002AC9C 00026ADC 4B FF 0A 45 */ bl OSRegisterVersion
|
|
/* 8002ACA0 00026AE0 3C C0 80 4A */ lis r6, Packet@ha
|
|
/* 8002ACA4 00026AE4 3C 80 80 43 */ lis r4, Si@ha
|
|
/* 8002ACA8 00026AE8 38 A6 A3 50 */ addi r5, r6, Packet@l
|
|
/* 8002ACAC 00026AEC 38 E0 FF FF */ li r7, -0x1
|
|
/* 8002ACB0 00026AF0 38 84 FB D0 */ addi r4, r4, Si@l
|
|
/* 8002ACB4 00026AF4 38 00 00 00 */ li r0, 0x0
|
|
/* 8002ACB8 00026AF8 90 E5 00 60 */ stw r7, 0x60(r5)
|
|
/* 8002ACBC 00026AFC 38 60 00 00 */ li r3, 0x0
|
|
/* 8002ACC0 00026B00 90 E5 00 40 */ stw r7, 0x40(r5)
|
|
/* 8002ACC4 00026B04 90 E5 00 20 */ stw r7, 0x20(r5)
|
|
/* 8002ACC8 00026B08 90 E6 A3 50 */ stw r7, -0x5cb0(r6)
|
|
/* 8002ACCC 00026B0C 90 04 00 04 */ stw r0, 0x4(r4)
|
|
/* 8002ACD0 00026B10 48 00 0C F1 */ bl SISetSamplingRate
|
|
/* 8002ACD4 00026B14 3C 60 CD 00 */ lis r3, 0xCD006434@ha
|
|
.global lbl_8002ACD8
|
|
lbl_8002ACD8:
|
|
/* 8002ACD8 00026B18 80 03 64 34 */ lwz r0, 0xCD006434@l(r3)
|
|
/* 8002ACDC 00026B1C 54 00 07 FF */ clrlwi. r0, r0, 31
|
|
/* 8002ACE0 00026B20 40 82 FF F8 */ bne lbl_8002ACD8
|
|
/* 8002ACE4 00026B24 3C 60 CD 00 */ lis r3, 0xCD006434@ha
|
|
/* 8002ACE8 00026B28 3C 00 80 00 */ lis r0, 0x8000
|
|
/* 8002ACEC 00026B2C 3C 80 80 03 */ lis r4, SIInterruptHandler@ha
|
|
/* 8002ACF0 00026B30 90 03 64 34 */ stw r0, 0xCD006434@l(r3)
|
|
/* 8002ACF4 00026B34 38 84 A7 20 */ addi r4, r4, SIInterruptHandler@l
|
|
/* 8002ACF8 00026B38 38 60 00 14 */ li r3, 0x14
|
|
/* 8002ACFC 00026B3C 4B FF 6B 95 */ bl __OSSetInterruptHandler
|
|
/* 8002AD00 00026B40 38 60 08 00 */ li r3, 0x800
|
|
/* 8002AD04 00026B44 4B FF 6F 6D */ bl __OSUnmaskInterrupts
|
|
/* 8002AD08 00026B48 38 60 00 00 */ li r3, 0x0
|
|
/* 8002AD0C 00026B4C 48 00 09 E5 */ bl SIGetType
|
|
/* 8002AD10 00026B50 38 60 00 01 */ li r3, 0x1
|
|
/* 8002AD14 00026B54 48 00 09 DD */ bl SIGetType
|
|
/* 8002AD18 00026B58 38 60 00 02 */ li r3, 0x2
|
|
/* 8002AD1C 00026B5C 48 00 09 D5 */ bl SIGetType
|
|
/* 8002AD20 00026B60 38 60 00 03 */ li r3, 0x3
|
|
/* 8002AD24 00026B64 48 00 09 CD */ bl SIGetType
|
|
/* 8002AD28 00026B68 38 00 00 01 */ li r0, 0x1
|
|
/* 8002AD2C 00026B6C 90 0D E4 C4 */ stw r0, "@LOCAL@SIInit__Fv@Initialized"@sda21(r13)
|
|
.global lbl_8002AD30
|
|
lbl_8002AD30:
|
|
/* 8002AD30 00026B70 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 8002AD34 00026B74 7C 08 03 A6 */ mtlr r0
|
|
/* 8002AD38 00026B78 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 8002AD3C 00026B7C 4E 80 00 20 */ blr
|
|
.global __SITransfer
|
|
__SITransfer:
|
|
/* 8002AD40 00026B80 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 8002AD44 00026B84 7C 08 02 A6 */ mflr r0
|
|
/* 8002AD48 00026B88 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 8002AD4C 00026B8C 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 8002AD50 00026B90 4B FD C5 E9 */ bl lbl_80007338
|
|
/* 8002AD54 00026B94 7C 7B 1B 78 */ mr r27, r3
|
|
/* 8002AD58 00026B98 7C 9C 23 78 */ mr r28, r4
|
|
/* 8002AD5C 00026B9C 7C BD 2B 78 */ mr r29, r5
|
|
/* 8002AD60 00026BA0 7C DA 33 78 */ mr r26, r6
|
|
/* 8002AD64 00026BA4 7C FE 3B 78 */ mr r30, r7
|
|
/* 8002AD68 00026BA8 7D 1F 43 78 */ mr r31, r8
|
|
/* 8002AD6C 00026BAC 4B FF 6A B5 */ bl OSDisableInterrupts
|
|
/* 8002AD70 00026BB0 3D 00 80 43 */ lis r8, Si@ha
|
|
/* 8002AD74 00026BB4 80 08 FB D0 */ lwz r0, Si@l(r8)
|
|
/* 8002AD78 00026BB8 2C 00 FF FF */ cmpwi r0, -0x1
|
|
/* 8002AD7C 00026BBC 41 82 00 10 */ beq lbl_8002AD8C
|
|
/* 8002AD80 00026BC0 4B FF 6A E1 */ bl OSRestoreInterrupts
|
|
/* 8002AD84 00026BC4 38 60 00 00 */ li r3, 0x0
|
|
/* 8002AD88 00026BC8 48 00 01 50 */ b lbl_8002AED8
|
|
.global lbl_8002AD8C
|
|
lbl_8002AD8C:
|
|
/* 8002AD8C 00026BCC 3C E0 CD 00 */ lis r7, 0xCD006438@ha
|
|
/* 8002AD90 00026BD0 57 64 18 38 */ slwi r4, r27, 3
|
|
/* 8002AD94 00026BD4 3C A0 0F 00 */ lis r5, 0xf00
|
|
/* 8002AD98 00026BD8 81 27 64 38 */ lwz r9, 0xCD006438@l(r7)
|
|
/* 8002AD9C 00026BDC 7C A5 26 30 */ sraw r5, r5, r4
|
|
/* 8002ADA0 00026BE0 38 1D 00 03 */ addi r0, r29, 0x3
|
|
/* 8002ADA4 00026BE4 7D 29 28 38 */ and r9, r9, r5
|
|
/* 8002ADA8 00026BE8 91 27 64 38 */ stw r9, 0x6438(r7)
|
|
/* 8002ADAC 00026BEC 38 C8 FB D0 */ addi r6, r8, -0x430
|
|
/* 8002ADB0 00026BF0 54 04 F0 BF */ srwi. r4, r0, 2
|
|
/* 8002ADB4 00026BF4 93 68 FB D0 */ stw r27, -0x430(r8)
|
|
/* 8002ADB8 00026BF8 38 A0 00 00 */ li r5, 0x0
|
|
/* 8002ADBC 00026BFC 93 E6 00 10 */ stw r31, 0x10(r6)
|
|
/* 8002ADC0 00026C00 93 C6 00 08 */ stw r30, 0x8(r6)
|
|
/* 8002ADC4 00026C04 93 46 00 0C */ stw r26, 0xc(r6)
|
|
/* 8002ADC8 00026C08 41 82 00 B4 */ beq lbl_8002AE7C
|
|
/* 8002ADCC 00026C0C 28 04 00 08 */ cmplwi r4, 0x8
|
|
/* 8002ADD0 00026C10 38 C4 FF F8 */ addi r6, r4, -0x8
|
|
/* 8002ADD4 00026C14 40 81 00 70 */ ble lbl_8002AE44
|
|
/* 8002ADD8 00026C18 38 06 00 07 */ addi r0, r6, 0x7
|
|
/* 8002ADDC 00026C1C 7F 88 E3 78 */ mr r8, r28
|
|
/* 8002ADE0 00026C20 54 00 E8 FE */ srwi r0, r0, 3
|
|
/* 8002ADE4 00026C24 38 E7 64 00 */ addi r7, r7, 0x6400
|
|
/* 8002ADE8 00026C28 7C 09 03 A6 */ mtctr r0
|
|
/* 8002ADEC 00026C2C 28 06 00 00 */ cmplwi r6, 0x0
|
|
/* 8002ADF0 00026C30 40 81 00 54 */ ble lbl_8002AE44
|
|
.global lbl_8002ADF4
|
|
lbl_8002ADF4:
|
|
/* 8002ADF4 00026C34 80 08 00 00 */ lwz r0, 0x0(r8)
|
|
/* 8002ADF8 00026C38 38 A5 00 08 */ addi r5, r5, 0x8
|
|
/* 8002ADFC 00026C3C 90 07 00 80 */ stw r0, 0x80(r7)
|
|
/* 8002AE00 00026C40 80 08 00 04 */ lwz r0, 0x4(r8)
|
|
/* 8002AE04 00026C44 90 07 00 84 */ stw r0, 0x84(r7)
|
|
/* 8002AE08 00026C48 80 08 00 08 */ lwz r0, 0x8(r8)
|
|
/* 8002AE0C 00026C4C 90 07 00 88 */ stw r0, 0x88(r7)
|
|
/* 8002AE10 00026C50 80 08 00 0C */ lwz r0, 0xc(r8)
|
|
/* 8002AE14 00026C54 90 07 00 8C */ stw r0, 0x8c(r7)
|
|
/* 8002AE18 00026C58 80 08 00 10 */ lwz r0, 0x10(r8)
|
|
/* 8002AE1C 00026C5C 90 07 00 90 */ stw r0, 0x90(r7)
|
|
/* 8002AE20 00026C60 80 08 00 14 */ lwz r0, 0x14(r8)
|
|
/* 8002AE24 00026C64 90 07 00 94 */ stw r0, 0x94(r7)
|
|
/* 8002AE28 00026C68 80 08 00 18 */ lwz r0, 0x18(r8)
|
|
/* 8002AE2C 00026C6C 90 07 00 98 */ stw r0, 0x98(r7)
|
|
/* 8002AE30 00026C70 80 08 00 1C */ lwz r0, 0x1c(r8)
|
|
/* 8002AE34 00026C74 39 08 00 20 */ addi r8, r8, 0x20
|
|
/* 8002AE38 00026C78 90 07 00 9C */ stw r0, 0x9c(r7)
|
|
/* 8002AE3C 00026C7C 38 E7 00 20 */ addi r7, r7, 0x20
|
|
/* 8002AE40 00026C80 42 00 FF B4 */ bdnz lbl_8002ADF4
|
|
.global lbl_8002AE44
|
|
lbl_8002AE44:
|
|
/* 8002AE44 00026C84 54 A7 10 3A */ slwi r7, r5, 2
|
|
/* 8002AE48 00026C88 3C 00 CD 00 */ lis r0, 0xcd00
|
|
/* 8002AE4C 00026C8C 7C C0 3A 14 */ add r6, r0, r7
|
|
/* 8002AE50 00026C90 7C 05 20 50 */ subf r0, r5, r4
|
|
/* 8002AE54 00026C94 7C FC 3A 14 */ add r7, r28, r7
|
|
/* 8002AE58 00026C98 38 C6 64 00 */ addi r6, r6, 0x6400
|
|
/* 8002AE5C 00026C9C 7C 09 03 A6 */ mtctr r0
|
|
/* 8002AE60 00026CA0 7C 05 20 40 */ cmplw r5, r4
|
|
/* 8002AE64 00026CA4 40 80 00 18 */ bge lbl_8002AE7C
|
|
.global lbl_8002AE68
|
|
lbl_8002AE68:
|
|
/* 8002AE68 00026CA8 80 07 00 00 */ lwz r0, 0x0(r7)
|
|
/* 8002AE6C 00026CAC 38 E7 00 04 */ addi r7, r7, 0x4
|
|
/* 8002AE70 00026CB0 90 06 00 80 */ stw r0, 0x80(r6)
|
|
/* 8002AE74 00026CB4 38 C6 00 04 */ addi r6, r6, 0x4
|
|
/* 8002AE78 00026CB8 42 00 FF F0 */ bdnz lbl_8002AE68
|
|
.global lbl_8002AE7C
|
|
lbl_8002AE7C:
|
|
/* 8002AE7C 00026CBC 38 9D FF 80 */ addi r4, r29, -0x80
|
|
/* 8002AE80 00026CC0 20 1D 00 80 */ subfic r0, r29, 0x80
|
|
/* 8002AE84 00026CC4 7C 80 00 F8 */ nor r0, r4, r0
|
|
/* 8002AE88 00026CC8 3D 20 CD 00 */ lis r9, 0xCD006434@ha
|
|
/* 8002AE8C 00026CCC 7C 05 FE 70 */ srawi r5, r0, 31
|
|
/* 8002AE90 00026CD0 7C DF 00 D0 */ neg r6, r31
|
|
/* 8002AE94 00026CD4 38 9E FF 80 */ addi r4, r30, -0x80
|
|
/* 8002AE98 00026CD8 20 1E 00 80 */ subfic r0, r30, 0x80
|
|
/* 8002AE9C 00026CDC 7C 80 00 F8 */ nor r0, r4, r0
|
|
/* 8002AEA0 00026CE0 81 09 64 34 */ lwz r8, 0xCD006434@l(r9)
|
|
/* 8002AEA4 00026CE4 7C 00 FE 70 */ srawi r0, r0, 31
|
|
/* 8002AEA8 00026CE8 7C C7 FB 78 */ or r7, r6, r31
|
|
/* 8002AEAC 00026CEC 7F A4 28 78 */ andc r4, r29, r5
|
|
/* 8002AEB0 00026CF0 65 06 80 00 */ oris r6, r8, 0x8000
|
|
/* 8002AEB4 00026CF4 50 E6 F8 42 */ rlwimi r6, r7, 31, 1, 1
|
|
/* 8002AEB8 00026CF8 7F C0 00 78 */ andc r0, r30, r0
|
|
/* 8002AEBC 00026CFC 50 86 82 5E */ rlwimi r6, r4, 16, 9, 15
|
|
/* 8002AEC0 00026D00 50 06 44 6E */ rlwimi r6, r0, 8, 17, 23
|
|
/* 8002AEC4 00026D04 53 66 0F 7C */ rlwimi r6, r27, 1, 29, 30
|
|
/* 8002AEC8 00026D08 60 C0 00 01 */ ori r0, r6, 0x1
|
|
/* 8002AECC 00026D0C 90 09 64 34 */ stw r0, 0x6434(r9)
|
|
/* 8002AED0 00026D10 4B FF 69 91 */ bl OSRestoreInterrupts
|
|
/* 8002AED4 00026D14 38 60 00 01 */ li r3, 0x1
|
|
.global lbl_8002AED8
|
|
lbl_8002AED8:
|
|
/* 8002AED8 00026D18 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 8002AEDC 00026D1C 4B FD C4 A9 */ bl lbl_80007384
|
|
/* 8002AEE0 00026D20 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 8002AEE4 00026D24 7C 08 03 A6 */ mtlr r0
|
|
/* 8002AEE8 00026D28 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 8002AEEC 00026D2C 4E 80 00 20 */ blr
|
|
.global SIGetStatus
|
|
SIGetStatus:
|
|
/* 8002AEF0 00026D30 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 8002AEF4 00026D34 7C 08 02 A6 */ mflr r0
|
|
/* 8002AEF8 00026D38 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 8002AEFC 00026D3C 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
/* 8002AF00 00026D40 93 C1 00 08 */ stw r30, 0x8(r1)
|
|
/* 8002AF04 00026D44 7C 7E 1B 78 */ mr r30, r3
|
|
/* 8002AF08 00026D48 4B FF 69 19 */ bl OSDisableInterrupts
|
|
/* 8002AF0C 00026D4C 3C 80 CD 00 */ lis r4, 0xCD006438@ha
|
|
/* 8002AF10 00026D50 20 1E 00 03 */ subfic r0, r30, 0x3
|
|
/* 8002AF14 00026D54 83 E4 64 38 */ lwz r31, 0xCD006438@l(r4)
|
|
/* 8002AF18 00026D58 54 00 18 38 */ slwi r0, r0, 3
|
|
/* 8002AF1C 00026D5C 7F FF 04 30 */ srw r31, r31, r0
|
|
/* 8002AF20 00026D60 57 E0 07 39 */ rlwinm. r0, r31, 0, 28, 28
|
|
/* 8002AF24 00026D64 41 82 00 24 */ beq lbl_8002AF48
|
|
/* 8002AF28 00026D68 3C 80 80 43 */ lis r4, Type_8042FBE8@ha
|
|
/* 8002AF2C 00026D6C 57 C5 10 3A */ slwi r5, r30, 2
|
|
/* 8002AF30 00026D70 38 84 FB E8 */ addi r4, r4, Type_8042FBE8@l
|
|
/* 8002AF34 00026D74 7C 04 28 2E */ lwzx r0, r4, r5
|
|
/* 8002AF38 00026D78 54 00 06 31 */ rlwinm. r0, r0, 0, 24, 24
|
|
/* 8002AF3C 00026D7C 40 82 00 0C */ bne lbl_8002AF48
|
|
/* 8002AF40 00026D80 38 00 00 08 */ li r0, 0x8
|
|
/* 8002AF44 00026D84 7C 04 29 2E */ stwx r0, r4, r5
|
|
.global lbl_8002AF48
|
|
lbl_8002AF48:
|
|
/* 8002AF48 00026D88 4B FF 69 19 */ bl OSRestoreInterrupts
|
|
/* 8002AF4C 00026D8C 7F E3 FB 78 */ mr r3, r31
|
|
/* 8002AF50 00026D90 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
/* 8002AF54 00026D94 83 C1 00 08 */ lwz r30, 0x8(r1)
|
|
/* 8002AF58 00026D98 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 8002AF5C 00026D9C 7C 08 03 A6 */ mtlr r0
|
|
/* 8002AF60 00026DA0 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 8002AF64 00026DA4 4E 80 00 20 */ blr
|
|
/* 8002AF68 00026DA8 00 00 00 00 */ .4byte 0x00000000
|
|
/* 8002AF6C 00026DAC 00 00 00 00 */ .4byte 0x00000000
|
|
.global SISetCommand
|
|
SISetCommand:
|
|
/* 8002AF70 00026DB0 1C 63 00 0C */ mulli r3, r3, 0xc
|
|
/* 8002AF74 00026DB4 3C 00 CD 00 */ lis r0, 0xcd00
|
|
/* 8002AF78 00026DB8 7C 60 1A 14 */ add r3, r0, r3
|
|
/* 8002AF7C 00026DBC 90 83 64 00 */ stw r4, 0x6400(r3)
|
|
/* 8002AF80 00026DC0 4E 80 00 20 */ blr
|
|
/* 8002AF84 00026DC4 00 00 00 00 */ .4byte 0x00000000
|
|
/* 8002AF88 00026DC8 00 00 00 00 */ .4byte 0x00000000
|
|
/* 8002AF8C 00026DCC 00 00 00 00 */ .4byte 0x00000000
|
|
.global SITransferCommands
|
|
SITransferCommands:
|
|
/* 8002AF90 00026DD0 3C 60 CD 00 */ lis r3, 0xCD006438@ha
|
|
/* 8002AF94 00026DD4 3C 00 80 00 */ lis r0, 0x8000
|
|
/* 8002AF98 00026DD8 90 03 64 38 */ stw r0, 0xCD006438@l(r3)
|
|
/* 8002AF9C 00026DDC 4E 80 00 20 */ blr
|
|
.global SISetXY
|
|
SISetXY:
|
|
/* 8002AFA0 00026DE0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 8002AFA4 00026DE4 7C 08 02 A6 */ mflr r0
|
|
/* 8002AFA8 00026DE8 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 8002AFAC 00026DEC 54 80 40 2E */ slwi r0, r4, 8
|
|
/* 8002AFB0 00026DF0 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
/* 8002AFB4 00026DF4 54 7F 80 1E */ slwi r31, r3, 16
|
|
/* 8002AFB8 00026DF8 7F FF 03 78 */ or r31, r31, r0
|
|
/* 8002AFBC 00026DFC 4B FF 68 65 */ bl OSDisableInterrupts
|
|
/* 8002AFC0 00026E00 3C A0 80 43 */ lis r5, Si@ha
|
|
/* 8002AFC4 00026E04 3C 80 CD 00 */ lis r4, 0xCD006430@ha
|
|
/* 8002AFC8 00026E08 38 A5 FB D0 */ addi r5, r5, Si@l
|
|
/* 8002AFCC 00026E0C 80 05 00 04 */ lwz r0, 0x4(r5)
|
|
/* 8002AFD0 00026E10 54 00 06 0A */ rlwinm r0, r0, 0, 24, 5
|
|
/* 8002AFD4 00026E14 7C 1F FB 78 */ or r31, r0, r31
|
|
/* 8002AFD8 00026E18 93 E5 00 04 */ stw r31, 0x4(r5)
|
|
/* 8002AFDC 00026E1C 93 E4 64 30 */ stw r31, 0xCD006430@l(r4)
|
|
/* 8002AFE0 00026E20 4B FF 68 81 */ bl OSRestoreInterrupts
|
|
/* 8002AFE4 00026E24 7F E3 FB 78 */ mr r3, r31
|
|
/* 8002AFE8 00026E28 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
/* 8002AFEC 00026E2C 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 8002AFF0 00026E30 7C 08 03 A6 */ mtlr r0
|
|
/* 8002AFF4 00026E34 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 8002AFF8 00026E38 4E 80 00 20 */ blr
|
|
/* 8002AFFC 00026E3C 00 00 00 00 */ .4byte 0x00000000
|
|
.global SIEnablePolling
|
|
SIEnablePolling:
|
|
/* 8002B000 00026E40 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 8002B004 00026E44 7C 08 02 A6 */ mflr r0
|
|
/* 8002B008 00026E48 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8002B00C 00026E4C 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 8002B010 00026E50 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
/* 8002B014 00026E54 7C 7F 1B 78 */ mr r31, r3
|
|
/* 8002B018 00026E58 40 82 00 14 */ bne lbl_8002B02C
|
|
/* 8002B01C 00026E5C 3C 60 80 43 */ lis r3, Si@ha
|
|
/* 8002B020 00026E60 38 63 FB D0 */ addi r3, r3, Si@l
|
|
/* 8002B024 00026E64 80 63 00 04 */ lwz r3, 0x4(r3)
|
|
/* 8002B028 00026E68 48 00 00 4C */ b lbl_8002B074
|
|
.global lbl_8002B02C
|
|
lbl_8002B02C:
|
|
/* 8002B02C 00026E6C 4B FF 67 F5 */ bl OSDisableInterrupts
|
|
/* 8002B030 00026E70 57 FF 46 3E */ srwi r31, r31, 24
|
|
/* 8002B034 00026E74 3C C0 80 43 */ lis r6, Si@ha
|
|
/* 8002B038 00026E78 57 E8 E7 3E */ extrwi r8, r31, 4, 24
|
|
/* 8002B03C 00026E7C 3C 80 CD 00 */ lis r4, 0xCD006438@ha
|
|
/* 8002B040 00026E80 38 C6 FB D0 */ addi r6, r6, Si@l
|
|
/* 8002B044 00026E84 3C 00 80 00 */ lis r0, 0x8000
|
|
/* 8002B048 00026E88 65 07 03 FF */ oris r7, r8, 0x3ff
|
|
/* 8002B04C 00026E8C 80 A6 00 04 */ lwz r5, 0x4(r6)
|
|
/* 8002B050 00026E90 60 E7 FF F0 */ ori r7, r7, 0xfff0
|
|
/* 8002B054 00026E94 7F FF 38 38 */ and r31, r31, r7
|
|
/* 8002B058 00026E98 7C A5 40 78 */ andc r5, r5, r8
|
|
/* 8002B05C 00026E9C 7C BF FB 78 */ or r31, r5, r31
|
|
/* 8002B060 00026EA0 93 E6 00 04 */ stw r31, 0x4(r6)
|
|
/* 8002B064 00026EA4 90 04 64 38 */ stw r0, 0xCD006438@l(r4)
|
|
/* 8002B068 00026EA8 93 E4 64 30 */ stw r31, 0x6430(r4)
|
|
/* 8002B06C 00026EAC 4B FF 67 F5 */ bl OSRestoreInterrupts
|
|
/* 8002B070 00026EB0 7F E3 FB 78 */ mr r3, r31
|
|
.global lbl_8002B074
|
|
lbl_8002B074:
|
|
/* 8002B074 00026EB4 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 8002B078 00026EB8 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
/* 8002B07C 00026EBC 7C 08 03 A6 */ mtlr r0
|
|
/* 8002B080 00026EC0 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 8002B084 00026EC4 4E 80 00 20 */ blr
|
|
/* 8002B088 00026EC8 00 00 00 00 */ .4byte 0x00000000
|
|
/* 8002B08C 00026ECC 00 00 00 00 */ .4byte 0x00000000
|
|
.global SIDisablePolling
|
|
SIDisablePolling:
|
|
/* 8002B090 00026ED0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 8002B094 00026ED4 7C 08 02 A6 */ mflr r0
|
|
/* 8002B098 00026ED8 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8002B09C 00026EDC 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 8002B0A0 00026EE0 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
/* 8002B0A4 00026EE4 7C 7F 1B 78 */ mr r31, r3
|
|
/* 8002B0A8 00026EE8 40 82 00 14 */ bne lbl_8002B0BC
|
|
/* 8002B0AC 00026EEC 3C 60 80 43 */ lis r3, Si@ha
|
|
/* 8002B0B0 00026EF0 38 63 FB D0 */ addi r3, r3, Si@l
|
|
/* 8002B0B4 00026EF4 80 63 00 04 */ lwz r3, 0x4(r3)
|
|
/* 8002B0B8 00026EF8 48 00 00 30 */ b lbl_8002B0E8
|
|
.global lbl_8002B0BC
|
|
lbl_8002B0BC:
|
|
/* 8002B0BC 00026EFC 4B FF 67 65 */ bl OSDisableInterrupts
|
|
/* 8002B0C0 00026F00 3C C0 80 43 */ lis r6, Si@ha
|
|
/* 8002B0C4 00026F04 57 E0 46 36 */ rlwinm r0, r31, 8, 24, 27
|
|
/* 8002B0C8 00026F08 38 C6 FB D0 */ addi r6, r6, Si@l
|
|
/* 8002B0CC 00026F0C 3C 80 CD 00 */ lis r4, 0xCD006430@ha
|
|
/* 8002B0D0 00026F10 80 A6 00 04 */ lwz r5, 0x4(r6)
|
|
/* 8002B0D4 00026F14 7C BF 00 78 */ andc r31, r5, r0
|
|
/* 8002B0D8 00026F18 93 E4 64 30 */ stw r31, 0xCD006430@l(r4)
|
|
/* 8002B0DC 00026F1C 93 E6 00 04 */ stw r31, 0x4(r6)
|
|
/* 8002B0E0 00026F20 4B FF 67 81 */ bl OSRestoreInterrupts
|
|
/* 8002B0E4 00026F24 7F E3 FB 78 */ mr r3, r31
|
|
.global lbl_8002B0E8
|
|
lbl_8002B0E8:
|
|
/* 8002B0E8 00026F28 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 8002B0EC 00026F2C 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
/* 8002B0F0 00026F30 7C 08 03 A6 */ mtlr r0
|
|
/* 8002B0F4 00026F34 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 8002B0F8 00026F38 4E 80 00 20 */ blr
|
|
/* 8002B0FC 00026F3C 00 00 00 00 */ .4byte 0x00000000
|
|
.global SIGetResponse
|
|
SIGetResponse:
|
|
/* 8002B100 00026F40 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 8002B104 00026F44 7C 08 02 A6 */ mflr r0
|
|
/* 8002B108 00026F48 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 8002B10C 00026F4C 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
/* 8002B110 00026F50 93 C1 00 18 */ stw r30, 0x18(r1)
|
|
/* 8002B114 00026F54 7C 9E 23 78 */ mr r30, r4
|
|
/* 8002B118 00026F58 93 A1 00 14 */ stw r29, 0x14(r1)
|
|
/* 8002B11C 00026F5C 7C 7D 1B 78 */ mr r29, r3
|
|
/* 8002B120 00026F60 93 81 00 10 */ stw r28, 0x10(r1)
|
|
/* 8002B124 00026F64 4B FF 66 FD */ bl OSDisableInterrupts
|
|
/* 8002B128 00026F68 7C 7F 1B 78 */ mr r31, r3
|
|
/* 8002B12C 00026F6C 4B FF 66 F5 */ bl OSDisableInterrupts
|
|
/* 8002B130 00026F70 3C 80 CD 00 */ lis r4, 0xCD006438@ha
|
|
/* 8002B134 00026F74 20 1D 00 03 */ subfic r0, r29, 0x3
|
|
/* 8002B138 00026F78 83 84 64 38 */ lwz r28, 0xCD006438@l(r4)
|
|
/* 8002B13C 00026F7C 54 00 18 38 */ slwi r0, r0, 3
|
|
/* 8002B140 00026F80 7F 9C 04 30 */ srw r28, r28, r0
|
|
/* 8002B144 00026F84 57 80 07 39 */ rlwinm. r0, r28, 0, 28, 28
|
|
/* 8002B148 00026F88 41 82 00 24 */ beq lbl_8002B16C
|
|
/* 8002B14C 00026F8C 3C 80 80 43 */ lis r4, Type_8042FBE8@ha
|
|
/* 8002B150 00026F90 57 A5 10 3A */ slwi r5, r29, 2
|
|
/* 8002B154 00026F94 38 84 FB E8 */ addi r4, r4, Type_8042FBE8@l
|
|
/* 8002B158 00026F98 7C 04 28 2E */ lwzx r0, r4, r5
|
|
/* 8002B15C 00026F9C 54 00 06 31 */ rlwinm. r0, r0, 0, 24, 24
|
|
/* 8002B160 00026FA0 40 82 00 0C */ bne lbl_8002B16C
|
|
/* 8002B164 00026FA4 38 00 00 08 */ li r0, 0x8
|
|
/* 8002B168 00026FA8 7C 04 29 2E */ stwx r0, r4, r5
|
|
.global lbl_8002B16C
|
|
lbl_8002B16C:
|
|
/* 8002B16C 00026FAC 4B FF 66 F5 */ bl OSRestoreInterrupts
|
|
/* 8002B170 00026FB0 57 80 06 B5 */ rlwinm. r0, r28, 0, 26, 26
|
|
/* 8002B174 00026FB4 41 82 00 44 */ beq lbl_8002B1B8
|
|
/* 8002B178 00026FB8 1C BD 00 0C */ mulli r5, r29, 0xc
|
|
/* 8002B17C 00026FBC 3C 00 CD 00 */ lis r0, 0xcd00
|
|
/* 8002B180 00026FC0 3C 80 80 4A */ lis r4, InputBuffer@ha
|
|
/* 8002B184 00026FC4 3C 60 80 4A */ lis r3, InputBufferValid@ha
|
|
/* 8002B188 00026FC8 7C C0 2A 14 */ add r6, r0, r5
|
|
/* 8002B18C 00026FCC 38 84 A4 D0 */ addi r4, r4, InputBuffer@l
|
|
/* 8002B190 00026FD0 57 A5 18 38 */ slwi r5, r29, 3
|
|
/* 8002B194 00026FD4 80 06 64 04 */ lwz r0, 0x6404(r6)
|
|
/* 8002B198 00026FD8 7C 04 29 2E */ stwx r0, r4, r5
|
|
/* 8002B19C 00026FDC 7C A4 2A 14 */ add r5, r4, r5
|
|
/* 8002B1A0 00026FE0 57 A0 10 3A */ slwi r0, r29, 2
|
|
/* 8002B1A4 00026FE4 38 63 A4 F0 */ addi r3, r3, InputBufferValid@l
|
|
/* 8002B1A8 00026FE8 80 C6 64 08 */ lwz r6, 0x6408(r6)
|
|
/* 8002B1AC 00026FEC 38 80 00 01 */ li r4, 0x1
|
|
/* 8002B1B0 00026FF0 90 C5 00 04 */ stw r6, 0x4(r5)
|
|
/* 8002B1B4 00026FF4 7C 83 01 2E */ stwx r4, r3, r0
|
|
.global lbl_8002B1B8
|
|
lbl_8002B1B8:
|
|
/* 8002B1B8 00026FF8 3C 60 80 4A */ lis r3, InputBufferValid@ha
|
|
/* 8002B1BC 00026FFC 57 A4 10 3A */ slwi r4, r29, 2
|
|
/* 8002B1C0 00027000 38 63 A4 F0 */ addi r3, r3, InputBufferValid@l
|
|
/* 8002B1C4 00027004 38 00 00 00 */ li r0, 0x0
|
|
/* 8002B1C8 00027008 7F 83 20 2E */ lwzx r28, r3, r4
|
|
/* 8002B1CC 0002700C 2C 1C 00 00 */ cmpwi r28, 0x0
|
|
/* 8002B1D0 00027010 7C 03 21 2E */ stwx r0, r3, r4
|
|
/* 8002B1D4 00027014 41 82 00 24 */ beq lbl_8002B1F8
|
|
/* 8002B1D8 00027018 3C 60 80 4A */ lis r3, InputBuffer@ha
|
|
/* 8002B1DC 0002701C 57 A4 18 38 */ slwi r4, r29, 3
|
|
/* 8002B1E0 00027020 38 63 A4 D0 */ addi r3, r3, InputBuffer@l
|
|
/* 8002B1E4 00027024 7C 03 20 2E */ lwzx r0, r3, r4
|
|
/* 8002B1E8 00027028 7C 63 22 14 */ add r3, r3, r4
|
|
/* 8002B1EC 0002702C 90 1E 00 00 */ stw r0, 0x0(r30)
|
|
/* 8002B1F0 00027030 80 03 00 04 */ lwz r0, 0x4(r3)
|
|
/* 8002B1F4 00027034 90 1E 00 04 */ stw r0, 0x4(r30)
|
|
.global lbl_8002B1F8
|
|
lbl_8002B1F8:
|
|
/* 8002B1F8 00027038 7F E3 FB 78 */ mr r3, r31
|
|
/* 8002B1FC 0002703C 4B FF 66 65 */ bl OSRestoreInterrupts
|
|
/* 8002B200 00027040 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 8002B204 00027044 7F 83 E3 78 */ mr r3, r28
|
|
/* 8002B208 00027048 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
/* 8002B20C 0002704C 83 A1 00 14 */ lwz r29, 0x14(r1)
|
|
/* 8002B210 00027050 83 81 00 10 */ lwz r28, 0x10(r1)
|
|
/* 8002B214 00027054 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 8002B218 00027058 7C 08 03 A6 */ mtlr r0
|
|
/* 8002B21C 0002705C 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 8002B220 00027060 4E 80 00 20 */ blr
|
|
/* 8002B224 00027064 00 00 00 00 */ .4byte 0x00000000
|
|
/* 8002B228 00027068 00 00 00 00 */ .4byte 0x00000000
|
|
/* 8002B22C 0002706C 00 00 00 00 */ .4byte 0x00000000
|
|
.global AlarmHandler
|
|
AlarmHandler:
|
|
/* 8002B230 00027070 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 8002B234 00027074 7C 08 02 A6 */ mflr r0
|
|
/* 8002B238 00027078 3C C0 80 4A */ lis r6, Alarm@ha
|
|
/* 8002B23C 0002707C 3C A0 2A AB */ lis r5, 0x2aab
|
|
/* 8002B240 00027080 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 8002B244 00027084 38 C6 A4 10 */ addi r6, r6, Alarm@l
|
|
/* 8002B248 00027088 7C 06 18 50 */ subf r0, r6, r3
|
|
/* 8002B24C 0002708C 38 65 AA AB */ addi r3, r5, -0x5555
|
|
/* 8002B250 00027090 7C 03 00 96 */ mulhw r0, r3, r0
|
|
/* 8002B254 00027094 3C 80 80 4A */ lis r4, Packet@ha
|
|
/* 8002B258 00027098 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
/* 8002B25C 0002709C 38 84 A3 50 */ addi r4, r4, Packet@l
|
|
/* 8002B260 000270A0 7C 00 1E 70 */ srawi r0, r0, 3
|
|
/* 8002B264 000270A4 54 03 0F FE */ srwi r3, r0, 31
|
|
/* 8002B268 000270A8 7C 00 1A 14 */ add r0, r0, r3
|
|
/* 8002B26C 000270AC 54 00 28 34 */ slwi r0, r0, 5
|
|
/* 8002B270 000270B0 7C 64 00 2E */ lwzx r3, r4, r0
|
|
/* 8002B274 000270B4 7F E4 02 14 */ add r31, r4, r0
|
|
/* 8002B278 000270B8 2C 03 FF FF */ cmpwi r3, -0x1
|
|
/* 8002B27C 000270BC 41 82 00 2C */ beq lbl_8002B2A8
|
|
/* 8002B280 000270C0 80 9F 00 04 */ lwz r4, 0x4(r31)
|
|
/* 8002B284 000270C4 80 BF 00 08 */ lwz r5, 0x8(r31)
|
|
/* 8002B288 000270C8 80 DF 00 0C */ lwz r6, 0xc(r31)
|
|
/* 8002B28C 000270CC 80 FF 00 10 */ lwz r7, 0x10(r31)
|
|
/* 8002B290 000270D0 81 1F 00 14 */ lwz r8, 0x14(r31)
|
|
/* 8002B294 000270D4 4B FF FA AD */ bl __SITransfer
|
|
/* 8002B298 000270D8 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8002B29C 000270DC 41 82 00 0C */ beq lbl_8002B2A8
|
|
/* 8002B2A0 000270E0 38 00 FF FF */ li r0, -0x1
|
|
/* 8002B2A4 000270E4 90 1F 00 00 */ stw r0, 0x0(r31)
|
|
.global lbl_8002B2A8
|
|
lbl_8002B2A8:
|
|
/* 8002B2A8 000270E8 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 8002B2AC 000270EC 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
/* 8002B2B0 000270F0 7C 08 03 A6 */ mtlr r0
|
|
/* 8002B2B4 000270F4 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 8002B2B8 000270F8 4E 80 00 20 */ blr
|
|
/* 8002B2BC 000270FC 00 00 00 00 */ .4byte 0x00000000
|
|
.global SITransfer
|
|
SITransfer:
|
|
/* 8002B2C0 00027100 94 21 FF C0 */ stwu r1, -0x40(r1)
|
|
/* 8002B2C4 00027104 7C 08 02 A6 */ mflr r0
|
|
/* 8002B2C8 00027108 90 01 00 44 */ stw r0, 0x44(r1)
|
|
/* 8002B2CC 0002710C 39 61 00 40 */ addi r11, r1, 0x40
|
|
/* 8002B2D0 00027110 4B FD C0 55 */ bl lbl_80007324
|
|
/* 8002B2D4 00027114 3F E0 80 4A */ lis r31, Packet@ha
|
|
/* 8002B2D8 00027118 54 6B 28 34 */ slwi r11, r3, 5
|
|
/* 8002B2DC 0002711C 3B FF A3 50 */ addi r31, r31, Packet@l
|
|
/* 8002B2E0 00027120 7C 75 1B 78 */ mr r21, r3
|
|
/* 8002B2E4 00027124 38 1F 00 00 */ addi r0, r31, 0x0
|
|
/* 8002B2E8 00027128 7C 96 23 78 */ mr r22, r4
|
|
/* 8002B2EC 0002712C 7C B7 2B 78 */ mr r23, r5
|
|
/* 8002B2F0 00027130 7C D8 33 78 */ mr r24, r6
|
|
/* 8002B2F4 00027134 7C F9 3B 78 */ mr r25, r7
|
|
/* 8002B2F8 00027138 7D 1A 43 78 */ mr r26, r8
|
|
/* 8002B2FC 0002713C 7D 3B 4B 78 */ mr r27, r9
|
|
/* 8002B300 00027140 7D 5C 53 78 */ mr r28, r10
|
|
/* 8002B304 00027144 7F A0 5A 14 */ add r29, r0, r11
|
|
/* 8002B308 00027148 4B FF 65 19 */ bl OSDisableInterrupts
|
|
/* 8002B30C 0002714C 80 1D 00 00 */ lwz r0, 0x0(r29)
|
|
/* 8002B310 00027150 7C 7E 1B 78 */ mr r30, r3
|
|
/* 8002B314 00027154 2C 00 FF FF */ cmpwi r0, -0x1
|
|
/* 8002B318 00027158 40 82 00 14 */ bne lbl_8002B32C
|
|
/* 8002B31C 0002715C 3C 60 80 43 */ lis r3, Si@ha
|
|
/* 8002B320 00027160 80 03 FB D0 */ lwz r0, Si@l(r3)
|
|
/* 8002B324 00027164 7C 00 A8 00 */ cmpw r0, r21
|
|
/* 8002B328 00027168 40 82 00 14 */ bne lbl_8002B33C
|
|
.global lbl_8002B32C
|
|
lbl_8002B32C:
|
|
/* 8002B32C 0002716C 7F C3 F3 78 */ mr r3, r30
|
|
/* 8002B330 00027170 4B FF 65 31 */ bl OSRestoreInterrupts
|
|
/* 8002B334 00027174 38 60 00 00 */ li r3, 0x0
|
|
/* 8002B338 00027178 48 00 00 DC */ b lbl_8002B414
|
|
.global lbl_8002B33C
|
|
lbl_8002B33C:
|
|
/* 8002B33C 0002717C 4B FF A8 35 */ bl __OSGetSystemTime
|
|
/* 8002B340 00027180 7F 80 DB 79 */ or. r0, r28, r27
|
|
/* 8002B344 00027184 7C 68 1B 78 */ mr r8, r3
|
|
/* 8002B348 00027188 40 82 00 10 */ bne lbl_8002B358
|
|
/* 8002B34C 0002718C 7C 9C 23 78 */ mr r28, r4
|
|
/* 8002B350 00027190 7D 1B 43 78 */ mr r27, r8
|
|
/* 8002B354 00027194 48 00 00 20 */ b lbl_8002B374
|
|
.global lbl_8002B358
|
|
lbl_8002B358:
|
|
/* 8002B358 00027198 56 A5 18 38 */ slwi r5, r21, 3
|
|
/* 8002B35C 0002719C 38 1F 00 80 */ addi r0, r31, 0x80
|
|
/* 8002B360 000271A0 7C C0 2A 14 */ add r6, r0, r5
|
|
/* 8002B364 000271A4 80 A6 00 04 */ lwz r5, 0x4(r6)
|
|
/* 8002B368 000271A8 80 06 00 00 */ lwz r0, 0x0(r6)
|
|
/* 8002B36C 000271AC 7F 9C 28 14 */ addc r28, r28, r5
|
|
/* 8002B370 000271B0 7F 7B 01 14 */ adde r27, r27, r0
|
|
.global lbl_8002B374
|
|
lbl_8002B374:
|
|
/* 8002B374 000271B4 6C 60 80 00 */ xoris r0, r3, 0x8000
|
|
/* 8002B378 000271B8 6F 65 80 00 */ xoris r5, r27, 0x8000
|
|
/* 8002B37C 000271BC 7C 7C 20 10 */ subfc r3, r28, r4
|
|
/* 8002B380 000271C0 7C A5 01 10 */ subfe r5, r5, r0
|
|
/* 8002B384 000271C4 7C A0 01 10 */ subfe r5, r0, r0
|
|
/* 8002B388 000271C8 7C A5 00 D1 */ neg. r5, r5
|
|
/* 8002B38C 000271CC 41 82 00 28 */ beq lbl_8002B3B4
|
|
/* 8002B390 000271D0 1C 75 00 30 */ mulli r3, r21, 0x30
|
|
/* 8002B394 000271D4 38 1F 00 C0 */ addi r0, r31, 0xc0
|
|
/* 8002B398 000271D8 7C C4 E0 10 */ subfc r6, r4, r28
|
|
/* 8002B39C 000271DC 3C E0 80 03 */ lis r7, AlarmHandler@ha
|
|
/* 8002B3A0 000271E0 7C 60 1A 14 */ add r3, r0, r3
|
|
/* 8002B3A4 000271E4 7C A8 D9 10 */ subfe r5, r8, r27
|
|
/* 8002B3A8 000271E8 38 E7 B2 30 */ addi r7, r7, AlarmHandler@l
|
|
/* 8002B3AC 000271EC 4B FF 06 B5 */ bl OSSetAlarm
|
|
/* 8002B3B0 000271F0 48 00 00 38 */ b lbl_8002B3E8
|
|
.global lbl_8002B3B4
|
|
lbl_8002B3B4:
|
|
/* 8002B3B4 000271F4 7E A3 AB 78 */ mr r3, r21
|
|
/* 8002B3B8 000271F8 7E C4 B3 78 */ mr r4, r22
|
|
/* 8002B3BC 000271FC 7E E5 BB 78 */ mr r5, r23
|
|
/* 8002B3C0 00027200 7F 06 C3 78 */ mr r6, r24
|
|
/* 8002B3C4 00027204 7F 27 CB 78 */ mr r7, r25
|
|
/* 8002B3C8 00027208 7F 48 D3 78 */ mr r8, r26
|
|
/* 8002B3CC 0002720C 4B FF F9 75 */ bl __SITransfer
|
|
/* 8002B3D0 00027210 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8002B3D4 00027214 41 82 00 14 */ beq lbl_8002B3E8
|
|
/* 8002B3D8 00027218 7F C3 F3 78 */ mr r3, r30
|
|
/* 8002B3DC 0002721C 4B FF 64 85 */ bl OSRestoreInterrupts
|
|
/* 8002B3E0 00027220 38 60 00 01 */ li r3, 0x1
|
|
/* 8002B3E4 00027224 48 00 00 30 */ b lbl_8002B414
|
|
.global lbl_8002B3E8
|
|
lbl_8002B3E8:
|
|
/* 8002B3E8 00027228 92 BD 00 00 */ stw r21, 0x0(r29)
|
|
/* 8002B3EC 0002722C 7F C3 F3 78 */ mr r3, r30
|
|
/* 8002B3F0 00027230 92 DD 00 04 */ stw r22, 0x4(r29)
|
|
/* 8002B3F4 00027234 92 FD 00 08 */ stw r23, 0x8(r29)
|
|
/* 8002B3F8 00027238 93 1D 00 0C */ stw r24, 0xc(r29)
|
|
/* 8002B3FC 0002723C 93 3D 00 10 */ stw r25, 0x10(r29)
|
|
/* 8002B400 00027240 93 5D 00 14 */ stw r26, 0x14(r29)
|
|
/* 8002B404 00027244 93 9D 00 1C */ stw r28, 0x1c(r29)
|
|
/* 8002B408 00027248 93 7D 00 18 */ stw r27, 0x18(r29)
|
|
/* 8002B40C 0002724C 4B FF 64 55 */ bl OSRestoreInterrupts
|
|
/* 8002B410 00027250 38 60 00 01 */ li r3, 0x1
|
|
.global lbl_8002B414
|
|
lbl_8002B414:
|
|
/* 8002B414 00027254 39 61 00 40 */ addi r11, r1, 0x40
|
|
/* 8002B418 00027258 4B FD BF 59 */ bl lbl_80007370
|
|
/* 8002B41C 0002725C 80 01 00 44 */ lwz r0, 0x44(r1)
|
|
/* 8002B420 00027260 7C 08 03 A6 */ mtlr r0
|
|
/* 8002B424 00027264 38 21 00 40 */ addi r1, r1, 0x40
|
|
/* 8002B428 00027268 4E 80 00 20 */ blr
|
|
/* 8002B42C 0002726C 00 00 00 00 */ .4byte 0x00000000
|
|
.global GetTypeCallback
|
|
GetTypeCallback:
|
|
/* 8002B430 00027270 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 8002B434 00027274 7C 08 02 A6 */ mflr r0
|
|
/* 8002B438 00027278 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 8002B43C 0002727C 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 8002B440 00027280 4B FD BE F9 */ bl lbl_80007338
|
|
/* 8002B444 00027284 3F E0 80 43 */ lis r31, Type_8042FBE8@ha
|
|
/* 8002B448 00027288 3F C0 80 4A */ lis r30, Packet@ha
|
|
/* 8002B44C 0002728C 54 7D 10 3A */ slwi r29, r3, 2
|
|
/* 8002B450 00027290 7C 7A 1B 78 */ mr r26, r3
|
|
/* 8002B454 00027294 3B FF FB E8 */ addi r31, r31, Type_8042FBE8@l
|
|
/* 8002B458 00027298 7C 9B 23 78 */ mr r27, r4
|
|
/* 8002B45C 0002729C 7C 1F E8 2E */ lwzx r0, r31, r29
|
|
/* 8002B460 000272A0 3B DE A3 50 */ addi r30, r30, Packet@l
|
|
/* 8002B464 000272A4 54 00 06 6E */ rlwinm r0, r0, 0, 25, 23
|
|
/* 8002B468 000272A8 7C 00 23 78 */ or r0, r0, r4
|
|
/* 8002B46C 000272AC 7C 1F E9 2E */ stwx r0, r31, r29
|
|
/* 8002B470 000272B0 4B FF A7 01 */ bl __OSGetSystemTime
|
|
/* 8002B474 000272B4 57 45 18 38 */ slwi r5, r26, 3
|
|
/* 8002B478 000272B8 38 1E 00 A0 */ addi r0, r30, 0xa0
|
|
/* 8002B47C 000272BC 7C A0 2A 14 */ add r5, r0, r5
|
|
/* 8002B480 000272C0 7F 9F E8 2E */ lwzx r28, r31, r29
|
|
/* 8002B484 000272C4 57 60 07 3F */ clrlwi. r0, r27, 28
|
|
/* 8002B488 000272C8 90 85 00 04 */ stw r4, 0x4(r5)
|
|
/* 8002B48C 000272CC 3C 00 80 00 */ lis r0, 0x8000
|
|
/* 8002B490 000272D0 80 8D E4 CC */ lwz r4, __PADFixBits@sda21(r13)
|
|
/* 8002B494 000272D4 90 65 00 00 */ stw r3, 0x0(r5)
|
|
/* 8002B498 000272D8 7C 06 D4 30 */ srw r6, r0, r26
|
|
/* 8002B49C 000272DC 7C 80 30 78 */ andc r0, r4, r6
|
|
/* 8002B4A0 000272E0 90 0D E4 CC */ stw r0, __PADFixBits@sda21(r13)
|
|
/* 8002B4A4 000272E4 7C 9B 30 38 */ and r27, r4, r6
|
|
/* 8002B4A8 000272E8 40 82 00 24 */ bne lbl_8002B4CC
|
|
/* 8002B4AC 000272EC 57 83 00 C8 */ rlwinm r3, r28, 0, 3, 4
|
|
/* 8002B4B0 000272F0 3C 03 F8 00 */ addis r0, r3, 0xf800
|
|
/* 8002B4B4 000272F4 28 00 00 00 */ cmplwi r0, 0x0
|
|
/* 8002B4B8 000272F8 40 82 00 14 */ bne lbl_8002B4CC
|
|
/* 8002B4BC 000272FC 57 80 00 01 */ clrrwi. r0, r28, 31
|
|
/* 8002B4C0 00027300 41 82 00 0C */ beq lbl_8002B4CC
|
|
/* 8002B4C4 00027304 57 80 01 4B */ rlwinm. r0, r28, 0, 5, 5
|
|
/* 8002B4C8 00027308 41 82 00 5C */ beq lbl_8002B524
|
|
.global lbl_8002B4CC
|
|
lbl_8002B4CC:
|
|
/* 8002B4CC 0002730C 7F 43 D3 78 */ mr r3, r26
|
|
/* 8002B4D0 00027310 38 80 00 00 */ li r4, 0x0
|
|
/* 8002B4D4 00027314 4B FF 8B 4D */ bl OSSetWirelessID
|
|
/* 8002B4D8 00027318 7F 9F E8 2E */ lwzx r28, r31, r29
|
|
/* 8002B4DC 0002731C 57 43 20 36 */ slwi r3, r26, 4
|
|
/* 8002B4E0 00027320 38 1E 01 E0 */ addi r0, r30, 0x1e0
|
|
/* 8002B4E4 00027324 3B A0 00 00 */ li r29, 0x0
|
|
/* 8002B4E8 00027328 7F C0 1A 14 */ add r30, r0, r3
|
|
/* 8002B4EC 0002732C 3B 60 00 00 */ li r27, 0x0
|
|
.global lbl_8002B4F0
|
|
lbl_8002B4F0:
|
|
/* 8002B4F0 00027330 81 9E 00 00 */ lwz r12, 0x0(r30)
|
|
/* 8002B4F4 00027334 2C 0C 00 00 */ cmpwi r12, 0x0
|
|
/* 8002B4F8 00027338 41 82 00 18 */ beq lbl_8002B510
|
|
/* 8002B4FC 0002733C 7F 43 D3 78 */ mr r3, r26
|
|
/* 8002B500 00027340 7F 84 E3 78 */ mr r4, r28
|
|
/* 8002B504 00027344 93 7E 00 00 */ stw r27, 0x0(r30)
|
|
/* 8002B508 00027348 7D 89 03 A6 */ mtctr r12
|
|
/* 8002B50C 0002734C 4E 80 04 21 */ bctrl
|
|
.global lbl_8002B510
|
|
lbl_8002B510:
|
|
/* 8002B510 00027350 3B BD 00 01 */ addi r29, r29, 0x1
|
|
/* 8002B514 00027354 3B DE 00 04 */ addi r30, r30, 0x4
|
|
/* 8002B518 00027358 2C 1D 00 04 */ cmpwi r29, 0x4
|
|
/* 8002B51C 0002735C 41 80 FF D4 */ blt lbl_8002B4F0
|
|
/* 8002B520 00027360 48 00 01 AC */ b lbl_8002B6CC
|
|
.global lbl_8002B524
|
|
lbl_8002B524:
|
|
/* 8002B524 00027364 7F 43 D3 78 */ mr r3, r26
|
|
/* 8002B528 00027368 4B FF 8A 79 */ bl OSGetWirelessID
|
|
/* 8002B52C 0002736C 2C 1B 00 00 */ cmpwi r27, 0x0
|
|
/* 8002B530 00027370 54 7B 42 2E */ rlwinm r27, r3, 8, 8, 23
|
|
/* 8002B534 00027374 41 82 00 58 */ beq lbl_8002B58C
|
|
/* 8002B538 00027378 57 60 02 D7 */ rlwinm. r0, r27, 0, 11, 11
|
|
/* 8002B53C 0002737C 41 82 00 50 */ beq lbl_8002B58C
|
|
/* 8002B540 00027380 3C 60 00 D0 */ lis r3, 0xd0
|
|
/* 8002B544 00027384 38 1E 01 D0 */ addi r0, r30, 0x1d0
|
|
/* 8002B548 00027388 38 63 FF 00 */ addi r3, r3, -0x100
|
|
/* 8002B54C 0002738C 3D 00 80 03 */ lis r8, GetTypeCallback@ha
|
|
/* 8002B550 00027390 7C 80 EA 14 */ add r4, r0, r29
|
|
/* 8002B554 00027394 38 00 00 80 */ li r0, 0x80
|
|
/* 8002B558 00027398 7F 63 18 38 */ and r3, r27, r3
|
|
/* 8002B55C 0002739C 7C 1F E9 2E */ stwx r0, r31, r29
|
|
/* 8002B560 000273A0 64 63 4E 10 */ oris r3, r3, 0x4e10
|
|
/* 8002B564 000273A4 7C DF EA 14 */ add r6, r31, r29
|
|
/* 8002B568 000273A8 90 64 00 00 */ stw r3, 0x0(r4)
|
|
/* 8002B56C 000273AC 7F 43 D3 78 */ mr r3, r26
|
|
/* 8002B570 000273B0 39 08 B4 30 */ addi r8, r8, GetTypeCallback@l
|
|
/* 8002B574 000273B4 38 A0 00 03 */ li r5, 0x3
|
|
/* 8002B578 000273B8 38 E0 00 03 */ li r7, 0x3
|
|
/* 8002B57C 000273BC 39 40 00 00 */ li r10, 0x0
|
|
/* 8002B580 000273C0 39 20 00 00 */ li r9, 0x0
|
|
/* 8002B584 000273C4 4B FF FD 3D */ bl SITransfer
|
|
/* 8002B588 000273C8 48 00 01 44 */ b lbl_8002B6CC
|
|
.global lbl_8002B58C
|
|
lbl_8002B58C:
|
|
/* 8002B58C 000273CC 57 80 02 D7 */ rlwinm. r0, r28, 0, 11, 11
|
|
/* 8002B590 000273D0 41 82 00 7C */ beq lbl_8002B60C
|
|
/* 8002B594 000273D4 3C 60 00 D0 */ lis r3, 0xd0
|
|
/* 8002B598 000273D8 38 03 FF 00 */ addi r0, r3, -0x100
|
|
/* 8002B59C 000273DC 7F 83 00 38 */ and r3, r28, r0
|
|
/* 8002B5A0 000273E0 7F 60 00 38 */ and r0, r27, r0
|
|
/* 8002B5A4 000273E4 7C 00 18 40 */ cmplw r0, r3
|
|
/* 8002B5A8 000273E8 41 82 00 DC */ beq lbl_8002B684
|
|
/* 8002B5AC 000273EC 57 60 02 D7 */ rlwinm. r0, r27, 0, 11, 11
|
|
/* 8002B5B0 000273F0 40 82 00 14 */ bne lbl_8002B5C4
|
|
/* 8002B5B4 000273F4 64 7B 00 10 */ oris r27, r3, 0x10
|
|
/* 8002B5B8 000273F8 7F 43 D3 78 */ mr r3, r26
|
|
/* 8002B5BC 000273FC 57 64 C4 3E */ extrwi r4, r27, 16, 8
|
|
/* 8002B5C0 00027400 4B FF 8A 61 */ bl OSSetWirelessID
|
|
.global lbl_8002B5C4
|
|
lbl_8002B5C4:
|
|
/* 8002B5C4 00027404 3C 60 80 43 */ lis r3, Type_8042FBE8@ha
|
|
/* 8002B5C8 00027408 38 1E 01 D0 */ addi r0, r30, 0x1d0
|
|
/* 8002B5CC 0002740C 38 63 FB E8 */ addi r3, r3, Type_8042FBE8@l
|
|
/* 8002B5D0 00027410 3D 00 80 03 */ lis r8, GetTypeCallback@ha
|
|
/* 8002B5D4 00027414 7C 80 EA 14 */ add r4, r0, r29
|
|
/* 8002B5D8 00027418 67 65 4E 00 */ oris r5, r27, 0x4e00
|
|
/* 8002B5DC 0002741C 7C C3 EA 14 */ add r6, r3, r29
|
|
/* 8002B5E0 00027420 38 00 00 80 */ li r0, 0x80
|
|
/* 8002B5E4 00027424 90 A4 00 00 */ stw r5, 0x0(r4)
|
|
/* 8002B5E8 00027428 7F 43 D3 78 */ mr r3, r26
|
|
/* 8002B5EC 0002742C 39 08 B4 30 */ addi r8, r8, GetTypeCallback@l
|
|
/* 8002B5F0 00027430 38 A0 00 03 */ li r5, 0x3
|
|
/* 8002B5F4 00027434 90 06 00 00 */ stw r0, 0x0(r6)
|
|
/* 8002B5F8 00027438 38 E0 00 03 */ li r7, 0x3
|
|
/* 8002B5FC 0002743C 39 40 00 00 */ li r10, 0x0
|
|
/* 8002B600 00027440 39 20 00 00 */ li r9, 0x0
|
|
/* 8002B604 00027444 4B FF FC BD */ bl SITransfer
|
|
/* 8002B608 00027448 48 00 00 C4 */ b lbl_8002B6CC
|
|
.global lbl_8002B60C
|
|
lbl_8002B60C:
|
|
/* 8002B60C 0002744C 57 80 00 43 */ rlwinm. r0, r28, 0, 1, 1
|
|
/* 8002B610 00027450 41 82 00 68 */ beq lbl_8002B678
|
|
/* 8002B614 00027454 3C 80 00 D0 */ lis r4, 0xd0
|
|
/* 8002B618 00027458 7F 43 D3 78 */ mr r3, r26
|
|
/* 8002B61C 0002745C 38 04 FF 00 */ addi r0, r4, -0x100
|
|
/* 8002B620 00027460 7F 9B 00 38 */ and r27, r28, r0
|
|
/* 8002B624 00027464 67 7B 00 10 */ oris r27, r27, 0x10
|
|
/* 8002B628 00027468 57 64 C4 3E */ extrwi r4, r27, 16, 8
|
|
/* 8002B62C 0002746C 4B FF 89 F5 */ bl OSSetWirelessID
|
|
/* 8002B630 00027470 3C 60 80 43 */ lis r3, Type_8042FBE8@ha
|
|
/* 8002B634 00027474 38 1E 01 D0 */ addi r0, r30, 0x1d0
|
|
/* 8002B638 00027478 38 63 FB E8 */ addi r3, r3, Type_8042FBE8@l
|
|
/* 8002B63C 0002747C 3D 00 80 03 */ lis r8, GetTypeCallback@ha
|
|
/* 8002B640 00027480 7C 80 EA 14 */ add r4, r0, r29
|
|
/* 8002B644 00027484 67 65 4E 00 */ oris r5, r27, 0x4e00
|
|
/* 8002B648 00027488 7C C3 EA 14 */ add r6, r3, r29
|
|
/* 8002B64C 0002748C 38 00 00 80 */ li r0, 0x80
|
|
/* 8002B650 00027490 90 A4 00 00 */ stw r5, 0x0(r4)
|
|
/* 8002B654 00027494 7F 43 D3 78 */ mr r3, r26
|
|
/* 8002B658 00027498 39 08 B4 30 */ addi r8, r8, GetTypeCallback@l
|
|
/* 8002B65C 0002749C 38 A0 00 03 */ li r5, 0x3
|
|
/* 8002B660 000274A0 90 06 00 00 */ stw r0, 0x0(r6)
|
|
/* 8002B664 000274A4 38 E0 00 03 */ li r7, 0x3
|
|
/* 8002B668 000274A8 39 40 00 00 */ li r10, 0x0
|
|
/* 8002B66C 000274AC 39 20 00 00 */ li r9, 0x0
|
|
/* 8002B670 000274B0 4B FF FC 51 */ bl SITransfer
|
|
/* 8002B674 000274B4 48 00 00 58 */ b lbl_8002B6CC
|
|
.global lbl_8002B678
|
|
lbl_8002B678:
|
|
/* 8002B678 000274B8 7F 43 D3 78 */ mr r3, r26
|
|
/* 8002B67C 000274BC 38 80 00 00 */ li r4, 0x0
|
|
/* 8002B680 000274C0 4B FF 89 A1 */ bl OSSetWirelessID
|
|
.global lbl_8002B684
|
|
lbl_8002B684:
|
|
/* 8002B684 000274C4 7F 9F E8 2E */ lwzx r28, r31, r29
|
|
/* 8002B688 000274C8 57 43 20 36 */ slwi r3, r26, 4
|
|
/* 8002B68C 000274CC 38 1E 01 E0 */ addi r0, r30, 0x1e0
|
|
/* 8002B690 000274D0 3B A0 00 00 */ li r29, 0x0
|
|
/* 8002B694 000274D4 7F C0 1A 14 */ add r30, r0, r3
|
|
/* 8002B698 000274D8 3B 60 00 00 */ li r27, 0x0
|
|
.global lbl_8002B69C
|
|
lbl_8002B69C:
|
|
/* 8002B69C 000274DC 81 9E 00 00 */ lwz r12, 0x0(r30)
|
|
/* 8002B6A0 000274E0 2C 0C 00 00 */ cmpwi r12, 0x0
|
|
/* 8002B6A4 000274E4 41 82 00 18 */ beq lbl_8002B6BC
|
|
/* 8002B6A8 000274E8 7F 43 D3 78 */ mr r3, r26
|
|
/* 8002B6AC 000274EC 7F 84 E3 78 */ mr r4, r28
|
|
/* 8002B6B0 000274F0 93 7E 00 00 */ stw r27, 0x0(r30)
|
|
/* 8002B6B4 000274F4 7D 89 03 A6 */ mtctr r12
|
|
/* 8002B6B8 000274F8 4E 80 04 21 */ bctrl
|
|
.global lbl_8002B6BC
|
|
lbl_8002B6BC:
|
|
/* 8002B6BC 000274FC 3B BD 00 01 */ addi r29, r29, 0x1
|
|
/* 8002B6C0 00027500 3B DE 00 04 */ addi r30, r30, 0x4
|
|
/* 8002B6C4 00027504 2C 1D 00 04 */ cmpwi r29, 0x4
|
|
/* 8002B6C8 00027508 41 80 FF D4 */ blt lbl_8002B69C
|
|
.global lbl_8002B6CC
|
|
lbl_8002B6CC:
|
|
/* 8002B6CC 0002750C 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 8002B6D0 00027510 4B FD BC B5 */ bl lbl_80007384
|
|
/* 8002B6D4 00027514 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 8002B6D8 00027518 7C 08 03 A6 */ mtlr r0
|
|
/* 8002B6DC 0002751C 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 8002B6E0 00027520 4E 80 00 20 */ blr
|
|
/* 8002B6E4 00027524 00 00 00 00 */ .4byte 0x00000000
|
|
/* 8002B6E8 00027528 00 00 00 00 */ .4byte 0x00000000
|
|
/* 8002B6EC 0002752C 00 00 00 00 */ .4byte 0x00000000
|
|
.global SIGetType
|
|
SIGetType:
|
|
/* 8002B6F0 00027530 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 8002B6F4 00027534 7C 08 02 A6 */ mflr r0
|
|
/* 8002B6F8 00027538 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 8002B6FC 0002753C 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 8002B700 00027540 4B FD BC 3D */ bl lbl_8000733C
|
|
/* 8002B704 00027544 7C 7B 1B 78 */ mr r27, r3
|
|
/* 8002B708 00027548 4B FF 61 19 */ bl OSDisableInterrupts
|
|
/* 8002B70C 0002754C 3C A0 80 43 */ lis r5, Type_8042FBE8@ha
|
|
/* 8002B710 00027550 3C 80 80 4A */ lis r4, TypeTime@ha
|
|
/* 8002B714 00027554 57 66 10 3A */ slwi r6, r27, 2
|
|
/* 8002B718 00027558 57 60 18 38 */ slwi r0, r27, 3
|
|
/* 8002B71C 0002755C 38 A5 FB E8 */ addi r5, r5, Type_8042FBE8@l
|
|
/* 8002B720 00027560 38 84 A3 F0 */ addi r4, r4, TypeTime@l
|
|
/* 8002B724 00027564 7F 85 30 2E */ lwzx r28, r5, r6
|
|
/* 8002B728 00027568 7F C5 32 14 */ add r30, r5, r6
|
|
/* 8002B72C 0002756C 7C 7D 1B 78 */ mr r29, r3
|
|
/* 8002B730 00027570 7F E4 02 14 */ add r31, r4, r0
|
|
/* 8002B734 00027574 4B FF A4 3D */ bl __OSGetSystemTime
|
|
/* 8002B738 00027578 80 DF 00 04 */ lwz r6, 0x4(r31)
|
|
/* 8002B73C 0002757C 3C A0 80 43 */ lis r5, Si@ha
|
|
/* 8002B740 00027580 80 1F 00 00 */ lwz r0, 0x0(r31)
|
|
/* 8002B744 00027584 38 A5 FB D0 */ addi r5, r5, Si@l
|
|
/* 8002B748 00027588 7D 06 20 10 */ subfc r8, r6, r4
|
|
/* 8002B74C 0002758C 80 85 00 04 */ lwz r4, 0x4(r5)
|
|
/* 8002B750 00027590 7C E0 19 10 */ subfe r7, r0, r3
|
|
/* 8002B754 00027594 38 60 00 80 */ li r3, 0x80
|
|
/* 8002B758 00027598 7C 60 DE 30 */ sraw r0, r3, r27
|
|
/* 8002B75C 0002759C 7C 80 00 39 */ and. r0, r4, r0
|
|
/* 8002B760 000275A0 41 82 00 34 */ beq lbl_8002B794
|
|
/* 8002B764 000275A4 28 1C 00 08 */ cmplwi r28, 0x8
|
|
/* 8002B768 000275A8 41 82 00 20 */ beq lbl_8002B788
|
|
/* 8002B76C 000275AC 4B FF A4 05 */ bl __OSGetSystemTime
|
|
/* 8002B770 000275B0 90 9F 00 04 */ stw r4, 0x4(r31)
|
|
/* 8002B774 000275B4 90 7F 00 00 */ stw r3, 0x0(r31)
|
|
/* 8002B778 000275B8 7F A3 EB 78 */ mr r3, r29
|
|
/* 8002B77C 000275BC 4B FF 60 E5 */ bl OSRestoreInterrupts
|
|
/* 8002B780 000275C0 7F 83 E3 78 */ mr r3, r28
|
|
/* 8002B784 000275C4 48 00 01 08 */ b lbl_8002B88C
|
|
.global lbl_8002B788
|
|
lbl_8002B788:
|
|
/* 8002B788 000275C8 90 7E 00 00 */ stw r3, 0x0(r30)
|
|
/* 8002B78C 000275CC 3B 80 00 80 */ li r28, 0x80
|
|
/* 8002B790 000275D0 48 00 00 98 */ b lbl_8002B828
|
|
.global lbl_8002B794
|
|
lbl_8002B794:
|
|
/* 8002B794 000275D4 3C 80 80 00 */ lis r4, 0x800000F8@ha
|
|
/* 8002B798 000275D8 3C 60 10 62 */ lis r3, 0x1062
|
|
/* 8002B79C 000275DC 80 A4 00 F8 */ lwz r5, 0x800000F8@l(r4)
|
|
/* 8002B7A0 000275E0 38 C3 4D D3 */ addi r6, r3, 0x4dd3
|
|
/* 8002B7A4 000275E4 38 00 00 00 */ li r0, 0x0
|
|
/* 8002B7A8 000275E8 6C E4 80 00 */ xoris r4, r7, 0x8000
|
|
/* 8002B7AC 000275EC 54 A3 F0 BE */ srwi r3, r5, 2
|
|
/* 8002B7B0 000275F0 7C 66 18 16 */ mulhwu r3, r6, r3
|
|
/* 8002B7B4 000275F4 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 8002B7B8 000275F8 54 65 D1 BE */ srwi r5, r3, 6
|
|
/* 8002B7BC 000275FC 1C 65 00 32 */ mulli r3, r5, 0x32
|
|
/* 8002B7C0 00027600 7C 68 18 10 */ subfc r3, r8, r3
|
|
/* 8002B7C4 00027604 7C 84 01 10 */ subfe r4, r4, r0
|
|
/* 8002B7C8 00027608 7C 80 01 10 */ subfe r4, r0, r0
|
|
/* 8002B7CC 0002760C 7C 84 00 D1 */ neg. r4, r4
|
|
/* 8002B7D0 00027610 40 82 00 1C */ bne lbl_8002B7EC
|
|
/* 8002B7D4 00027614 28 1C 00 08 */ cmplwi r28, 0x8
|
|
/* 8002B7D8 00027618 41 82 00 14 */ beq lbl_8002B7EC
|
|
/* 8002B7DC 0002761C 7F A3 EB 78 */ mr r3, r29
|
|
/* 8002B7E0 00027620 4B FF 60 81 */ bl OSRestoreInterrupts
|
|
/* 8002B7E4 00027624 7F 83 E3 78 */ mr r3, r28
|
|
/* 8002B7E8 00027628 48 00 00 A4 */ b lbl_8002B88C
|
|
.global lbl_8002B7EC
|
|
lbl_8002B7EC:
|
|
/* 8002B7EC 0002762C 1C 65 00 4B */ mulli r3, r5, 0x4b
|
|
/* 8002B7F0 00027630 38 00 00 00 */ li r0, 0x0
|
|
/* 8002B7F4 00027634 6C E4 80 00 */ xoris r4, r7, 0x8000
|
|
/* 8002B7F8 00027638 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 8002B7FC 0002763C 7C 68 18 10 */ subfc r3, r8, r3
|
|
/* 8002B800 00027640 7C 84 01 10 */ subfe r4, r4, r0
|
|
/* 8002B804 00027644 7C 80 01 10 */ subfe r4, r0, r0
|
|
/* 8002B808 00027648 7C 84 00 D1 */ neg. r4, r4
|
|
/* 8002B80C 0002764C 40 82 00 10 */ bne lbl_8002B81C
|
|
/* 8002B810 00027650 38 00 00 80 */ li r0, 0x80
|
|
/* 8002B814 00027654 90 1E 00 00 */ stw r0, 0x0(r30)
|
|
/* 8002B818 00027658 48 00 00 10 */ b lbl_8002B828
|
|
.global lbl_8002B81C
|
|
lbl_8002B81C:
|
|
/* 8002B81C 0002765C 38 00 00 80 */ li r0, 0x80
|
|
/* 8002B820 00027660 90 1E 00 00 */ stw r0, 0x0(r30)
|
|
/* 8002B824 00027664 3B 80 00 80 */ li r28, 0x80
|
|
.global lbl_8002B828
|
|
lbl_8002B828:
|
|
/* 8002B828 00027668 4B FF A3 49 */ bl __OSGetSystemTime
|
|
/* 8002B82C 0002766C 90 9F 00 04 */ stw r4, 0x4(r31)
|
|
/* 8002B830 00027670 3C 80 43 1C */ lis r4, 0x431c
|
|
/* 8002B834 00027674 39 24 DE 83 */ addi r9, r4, -0x217d
|
|
/* 8002B838 00027678 3D 00 80 03 */ lis r8, GetTypeCallback@ha
|
|
/* 8002B83C 0002767C 90 7F 00 00 */ stw r3, 0x0(r31)
|
|
/* 8002B840 00027680 3C A0 80 00 */ lis r5, 0x800000F8@ha
|
|
/* 8002B844 00027684 7F 63 DB 78 */ mr r3, r27
|
|
/* 8002B848 00027688 7F C6 F3 78 */ mr r6, r30
|
|
/* 8002B84C 0002768C 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5)
|
|
/* 8002B850 00027690 39 08 B4 30 */ addi r8, r8, GetTypeCallback@l
|
|
/* 8002B854 00027694 38 8D E4 C8 */ addi r4, r13, "@LOCAL@SIGetType__Fl@cmdTypeAndStatus"@sda21
|
|
/* 8002B858 00027698 38 A0 00 01 */ li r5, 0x1
|
|
/* 8002B85C 0002769C 54 00 F0 BE */ srwi r0, r0, 2
|
|
/* 8002B860 000276A0 38 E0 00 03 */ li r7, 0x3
|
|
/* 8002B864 000276A4 7C 09 00 16 */ mulhwu r0, r9, r0
|
|
/* 8002B868 000276A8 39 20 00 00 */ li r9, 0x0
|
|
/* 8002B86C 000276AC 54 0A 8B FE */ srwi r10, r0, 15
|
|
/* 8002B870 000276B0 54 00 BA 72 */ rlwinm r0, r0, 23, 9, 25
|
|
/* 8002B874 000276B4 7C 00 52 14 */ add r0, r0, r10
|
|
/* 8002B878 000276B8 54 0A E8 FE */ srwi r10, r0, 3
|
|
/* 8002B87C 000276BC 4B FF FA 45 */ bl SITransfer
|
|
/* 8002B880 000276C0 7F A3 EB 78 */ mr r3, r29
|
|
/* 8002B884 000276C4 4B FF 5F DD */ bl OSRestoreInterrupts
|
|
/* 8002B888 000276C8 7F 83 E3 78 */ mr r3, r28
|
|
.global lbl_8002B88C
|
|
lbl_8002B88C:
|
|
/* 8002B88C 000276CC 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 8002B890 000276D0 4B FD BA F9 */ bl lbl_80007388
|
|
/* 8002B894 000276D4 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 8002B898 000276D8 7C 08 03 A6 */ mtlr r0
|
|
/* 8002B89C 000276DC 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 8002B8A0 000276E0 4E 80 00 20 */ blr
|
|
/* 8002B8A4 000276E4 00 00 00 00 */ .4byte 0x00000000
|
|
/* 8002B8A8 000276E8 00 00 00 00 */ .4byte 0x00000000
|
|
/* 8002B8AC 000276EC 00 00 00 00 */ .4byte 0x00000000
|
|
.global SIGetTypeAsync
|
|
SIGetTypeAsync:
|
|
/* 8002B8B0 000276F0 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 8002B8B4 000276F4 7C 08 02 A6 */ mflr r0
|
|
/* 8002B8B8 000276F8 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 8002B8BC 000276FC 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
/* 8002B8C0 00027700 93 C1 00 18 */ stw r30, 0x18(r1)
|
|
/* 8002B8C4 00027704 93 A1 00 14 */ stw r29, 0x14(r1)
|
|
/* 8002B8C8 00027708 7C 9D 23 78 */ mr r29, r4
|
|
/* 8002B8CC 0002770C 93 81 00 10 */ stw r28, 0x10(r1)
|
|
/* 8002B8D0 00027710 7C 7C 1B 78 */ mr r28, r3
|
|
/* 8002B8D4 00027714 4B FF 5F 4D */ bl OSDisableInterrupts
|
|
/* 8002B8D8 00027718 7C 7F 1B 78 */ mr r31, r3
|
|
/* 8002B8DC 0002771C 7F 83 E3 78 */ mr r3, r28
|
|
/* 8002B8E0 00027720 4B FF FE 11 */ bl SIGetType
|
|
/* 8002B8E4 00027724 3C 80 80 43 */ lis r4, Type_8042FBE8@ha
|
|
/* 8002B8E8 00027728 57 80 10 3A */ slwi r0, r28, 2
|
|
/* 8002B8EC 0002772C 38 84 FB E8 */ addi r4, r4, Type_8042FBE8@l
|
|
/* 8002B8F0 00027730 7C 7E 1B 78 */ mr r30, r3
|
|
/* 8002B8F4 00027734 7C 04 00 2E */ lwzx r0, r4, r0
|
|
/* 8002B8F8 00027738 54 00 06 31 */ rlwinm. r0, r0, 0, 24, 24
|
|
/* 8002B8FC 0002773C 41 82 00 84 */ beq lbl_8002B980
|
|
/* 8002B900 00027740 3C 60 80 4A */ lis r3, TypeCallback@ha
|
|
/* 8002B904 00027744 57 80 20 36 */ slwi r0, r28, 4
|
|
/* 8002B908 00027748 38 63 A5 30 */ addi r3, r3, TypeCallback@l
|
|
/* 8002B90C 0002774C 7C 03 00 6E */ lwzux r0, r3, r0
|
|
/* 8002B910 00027750 7C 00 E8 40 */ cmplw r0, r29
|
|
/* 8002B914 00027754 41 82 00 80 */ beq lbl_8002B994
|
|
/* 8002B918 00027758 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8002B91C 0002775C 40 82 00 0C */ bne lbl_8002B928
|
|
/* 8002B920 00027760 93 A3 00 00 */ stw r29, 0x0(r3)
|
|
/* 8002B924 00027764 48 00 00 70 */ b lbl_8002B994
|
|
.global lbl_8002B928
|
|
lbl_8002B928:
|
|
/* 8002B928 00027768 80 03 00 04 */ lwz r0, 0x4(r3)
|
|
/* 8002B92C 0002776C 7C 00 E8 40 */ cmplw r0, r29
|
|
/* 8002B930 00027770 41 82 00 64 */ beq lbl_8002B994
|
|
/* 8002B934 00027774 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8002B938 00027778 40 82 00 0C */ bne lbl_8002B944
|
|
/* 8002B93C 0002777C 93 A3 00 04 */ stw r29, 0x4(r3)
|
|
/* 8002B940 00027780 48 00 00 54 */ b lbl_8002B994
|
|
.global lbl_8002B944
|
|
lbl_8002B944:
|
|
/* 8002B944 00027784 80 03 00 08 */ lwz r0, 0x8(r3)
|
|
/* 8002B948 00027788 7C 00 E8 40 */ cmplw r0, r29
|
|
/* 8002B94C 0002778C 41 82 00 48 */ beq lbl_8002B994
|
|
/* 8002B950 00027790 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8002B954 00027794 40 82 00 0C */ bne lbl_8002B960
|
|
/* 8002B958 00027798 93 A3 00 08 */ stw r29, 0x8(r3)
|
|
/* 8002B95C 0002779C 48 00 00 38 */ b lbl_8002B994
|
|
.global lbl_8002B960
|
|
lbl_8002B960:
|
|
/* 8002B960 000277A0 80 03 00 0C */ lwz r0, 0xc(r3)
|
|
/* 8002B964 000277A4 7C 00 E8 40 */ cmplw r0, r29
|
|
/* 8002B968 000277A8 41 82 00 2C */ beq lbl_8002B994
|
|
/* 8002B96C 000277AC 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8002B970 000277B0 40 82 00 24 */ bne lbl_8002B994
|
|
/* 8002B974 000277B4 93 A3 00 0C */ stw r29, 0xc(r3)
|
|
/* 8002B978 000277B8 48 00 00 1C */ b lbl_8002B994
|
|
/* 8002B97C 000277BC 48 00 00 18 */ b lbl_8002B994
|
|
.global lbl_8002B980
|
|
lbl_8002B980:
|
|
/* 8002B980 000277C0 7F AC EB 78 */ mr r12, r29
|
|
/* 8002B984 000277C4 7F 83 E3 78 */ mr r3, r28
|
|
/* 8002B988 000277C8 7F C4 F3 78 */ mr r4, r30
|
|
/* 8002B98C 000277CC 7D 89 03 A6 */ mtctr r12
|
|
/* 8002B990 000277D0 4E 80 04 21 */ bctrl
|
|
.global lbl_8002B994
|
|
lbl_8002B994:
|
|
/* 8002B994 000277D4 7F E3 FB 78 */ mr r3, r31
|
|
/* 8002B998 000277D8 4B FF 5E C9 */ bl OSRestoreInterrupts
|
|
/* 8002B99C 000277DC 7F C3 F3 78 */ mr r3, r30
|
|
/* 8002B9A0 000277E0 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 8002B9A4 000277E4 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
/* 8002B9A8 000277E8 83 A1 00 14 */ lwz r29, 0x14(r1)
|
|
/* 8002B9AC 000277EC 83 81 00 10 */ lwz r28, 0x10(r1)
|
|
/* 8002B9B0 000277F0 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 8002B9B4 000277F4 7C 08 03 A6 */ mtlr r0
|
|
/* 8002B9B8 000277F8 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 8002B9BC 000277FC 4E 80 00 20 */ blr
|
|
.include "macros.inc"
|
|
|
|
.section .data, "wa" # 0x80421040 - 0x80496700 ; 0x000756C0
|
|
.global "@1_8042FB88"
|
|
"@1_8042FB88":
|
|
|
|
.4byte 0x3C3C2052
|
|
.4byte 0x564C5F53
|
|
.4byte 0x444B202D
|
|
.4byte 0x20534920
|
|
.4byte 0x0972656C
|
|
.4byte 0x65617365
|
|
.4byte 0x20627569
|
|
.4byte 0x6C643A20
|
|
.4byte 0x41756720
|
|
.4byte 0x32332032
|
|
.4byte 0x30313020
|
|
.4byte 0x31373A33
|
|
.4byte 0x333A3138
|
|
.4byte 0x20283078
|
|
.4byte 0x34333032
|
|
.4byte 0x5F313435
|
|
.4byte 0x29203E3E
|
|
.4byte 0
|
|
|
|
.global Si
|
|
Si:
|
|
|
|
.4byte 0xFFFFFFFF
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
|
|
.global Type_8042FBE8
|
|
Type_8042FBE8:
|
|
|
|
.4byte 0x00000008
|
|
.4byte 0x00000008
|
|
.4byte 0x00000008
|
|
.4byte 0x00000008
|
|
.include "macros.inc"
|
|
|
|
.section .bss, "", @nobits # 0x80496700 - 0x80556420 ; 0x000BFD20
|
|
.global Packet
|
|
Packet:
|
|
.skip 0x80
|
|
|
|
.global XferTime
|
|
XferTime:
|
|
.skip 0x20
|
|
|
|
.global TypeTime
|
|
TypeTime:
|
|
.skip 0x20
|
|
|
|
.global Alarm
|
|
Alarm:
|
|
.skip 0xC0
|
|
|
|
.global InputBuffer
|
|
InputBuffer:
|
|
.skip 0x20
|
|
|
|
.global InputBufferValid
|
|
InputBufferValid:
|
|
.skip 0x10
|
|
|
|
.global InputBufferVcount
|
|
InputBufferVcount:
|
|
.skip 0x10
|
|
|
|
.global RDSTHandler
|
|
RDSTHandler:
|
|
.skip 0x20
|
|
|
|
.global TypeCallback
|
|
TypeCallback:
|
|
.skip 0x40
|
|
.include "macros.inc"
|
|
|
|
.section .sdata, "wa" # 0x80556420 - 0x8055C6E0 ; 0x000062C0
|
|
.global __SIVersion
|
|
__SIVersion:
|
|
|
|
.4byte "@1_8042FB88"
|
|
.4byte 0
|
|
.include "macros.inc"
|
|
|
|
.section .sbss, "", @nobits # 0x8055C6E0 - 0x8055DF80 ; 0x000018A0
|
|
.global "@LOCAL@SIInterruptHandler__FsP9OSContext@cmdTypeAndStatus"
|
|
"@LOCAL@SIInterruptHandler__FsP9OSContext@cmdTypeAndStatus":
|
|
.skip 0x4
|
|
|
|
.global "@LOCAL@SIInit__Fv@Initialized"
|
|
"@LOCAL@SIInit__Fv@Initialized":
|
|
.skip 0x4
|
|
|
|
.global "@LOCAL@SIGetType__Fl@cmdTypeAndStatus"
|
|
"@LOCAL@SIGetType__Fl@cmdTypeAndStatus":
|
|
.skip 0x4
|
|
|
|
.global __PADFixBits
|
|
__PADFixBits:
|
|
.skip 0x4
|