2022-10-16 16:05:58 +00:00
|
|
|
.include "macros.inc"
|
|
|
|
|
|
|
|
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
|
2022-10-16 16:31:36 +00:00
|
|
|
.global UpdateOrigin
|
|
|
|
UpdateOrigin:
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800524C0 0004E300 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
|
|
/* 800524C4 0004E304 7C 08 02 A6 */ mflr r0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800524C8 0004E308 3C 80 80 4C */ lis r4, Origin@ha
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800524CC 0004E30C 3C C0 80 00 */ lis r6, 0x8000
|
|
|
|
/* 800524D0 0004E310 90 01 00 14 */ stw r0, 0x14(r1)
|
|
|
|
/* 800524D4 0004E314 1C A3 00 0C */ mulli r5, r3, 0xc
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800524D8 0004E318 38 84 19 60 */ addi r4, r4, Origin@l
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800524DC 0004E31C 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
|
|
/* 800524E0 0004E320 7F E4 2A 14 */ add r31, r4, r5
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800524E4 0004E324 80 0D 83 AC */ lwz r0, AnalogMode@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800524E8 0004E328 54 07 05 6F */ rlwinm. r7, r0, 0, 21, 23
|
|
|
|
/* 800524EC 0004E32C 7C C0 1C 30 */ srw r0, r6, r3
|
|
|
|
/* 800524F0 0004E330 41 82 00 30 */ beq lbl_80052520
|
|
|
|
/* 800524F4 0004E334 28 07 05 00 */ cmplwi r7, 0x500
|
|
|
|
/* 800524F8 0004E338 41 82 00 28 */ beq lbl_80052520
|
|
|
|
/* 800524FC 0004E33C 28 07 06 00 */ cmplwi r7, 0x600
|
|
|
|
/* 80052500 0004E340 41 82 00 20 */ beq lbl_80052520
|
|
|
|
/* 80052504 0004E344 28 07 07 00 */ cmplwi r7, 0x700
|
|
|
|
/* 80052508 0004E348 41 82 00 18 */ beq lbl_80052520
|
|
|
|
/* 8005250C 0004E34C 28 07 01 00 */ cmplwi r7, 0x100
|
|
|
|
/* 80052510 0004E350 41 82 00 44 */ beq lbl_80052554
|
|
|
|
/* 80052514 0004E354 28 07 02 00 */ cmplwi r7, 0x200
|
|
|
|
/* 80052518 0004E358 41 82 00 70 */ beq lbl_80052588
|
|
|
|
/* 8005251C 0004E35C 48 00 00 9C */ b lbl_800525B8
|
|
|
|
.global lbl_80052520
|
|
|
|
lbl_80052520:
|
|
|
|
/* 80052520 0004E360 88 9F 00 06 */ lbz r4, 0x6(r31)
|
|
|
|
/* 80052524 0004E364 54 84 06 36 */ rlwinm r4, r4, 0, 24, 27
|
|
|
|
/* 80052528 0004E368 98 9F 00 06 */ stb r4, 0x6(r31)
|
|
|
|
/* 8005252C 0004E36C 88 9F 00 07 */ lbz r4, 0x7(r31)
|
|
|
|
/* 80052530 0004E370 54 84 06 36 */ rlwinm r4, r4, 0, 24, 27
|
|
|
|
/* 80052534 0004E374 98 9F 00 07 */ stb r4, 0x7(r31)
|
|
|
|
/* 80052538 0004E378 88 9F 00 08 */ lbz r4, 0x8(r31)
|
|
|
|
/* 8005253C 0004E37C 54 84 06 36 */ rlwinm r4, r4, 0, 24, 27
|
|
|
|
/* 80052540 0004E380 98 9F 00 08 */ stb r4, 0x8(r31)
|
|
|
|
/* 80052544 0004E384 88 9F 00 09 */ lbz r4, 0x9(r31)
|
|
|
|
/* 80052548 0004E388 54 84 06 36 */ rlwinm r4, r4, 0, 24, 27
|
|
|
|
/* 8005254C 0004E38C 98 9F 00 09 */ stb r4, 0x9(r31)
|
|
|
|
/* 80052550 0004E390 48 00 00 68 */ b lbl_800525B8
|
|
|
|
.global lbl_80052554
|
|
|
|
lbl_80052554:
|
|
|
|
/* 80052554 0004E394 88 9F 00 04 */ lbz r4, 0x4(r31)
|
|
|
|
/* 80052558 0004E398 54 84 00 36 */ clrrwi r4, r4, 4
|
|
|
|
/* 8005255C 0004E39C 98 9F 00 04 */ stb r4, 0x4(r31)
|
|
|
|
/* 80052560 0004E3A0 88 9F 00 05 */ lbz r4, 0x5(r31)
|
|
|
|
/* 80052564 0004E3A4 54 84 00 36 */ clrrwi r4, r4, 4
|
|
|
|
/* 80052568 0004E3A8 98 9F 00 05 */ stb r4, 0x5(r31)
|
|
|
|
/* 8005256C 0004E3AC 88 9F 00 08 */ lbz r4, 0x8(r31)
|
|
|
|
/* 80052570 0004E3B0 54 84 06 36 */ rlwinm r4, r4, 0, 24, 27
|
|
|
|
/* 80052574 0004E3B4 98 9F 00 08 */ stb r4, 0x8(r31)
|
|
|
|
/* 80052578 0004E3B8 88 9F 00 09 */ lbz r4, 0x9(r31)
|
|
|
|
/* 8005257C 0004E3BC 54 84 06 36 */ rlwinm r4, r4, 0, 24, 27
|
|
|
|
/* 80052580 0004E3C0 98 9F 00 09 */ stb r4, 0x9(r31)
|
|
|
|
/* 80052584 0004E3C4 48 00 00 34 */ b lbl_800525B8
|
|
|
|
.global lbl_80052588
|
|
|
|
lbl_80052588:
|
|
|
|
/* 80052588 0004E3C8 88 9F 00 04 */ lbz r4, 0x4(r31)
|
|
|
|
/* 8005258C 0004E3CC 54 84 00 36 */ clrrwi r4, r4, 4
|
|
|
|
/* 80052590 0004E3D0 98 9F 00 04 */ stb r4, 0x4(r31)
|
|
|
|
/* 80052594 0004E3D4 88 9F 00 05 */ lbz r4, 0x5(r31)
|
|
|
|
/* 80052598 0004E3D8 54 84 00 36 */ clrrwi r4, r4, 4
|
|
|
|
/* 8005259C 0004E3DC 98 9F 00 05 */ stb r4, 0x5(r31)
|
|
|
|
/* 800525A0 0004E3E0 88 9F 00 06 */ lbz r4, 0x6(r31)
|
|
|
|
/* 800525A4 0004E3E4 54 84 06 36 */ rlwinm r4, r4, 0, 24, 27
|
|
|
|
/* 800525A8 0004E3E8 98 9F 00 06 */ stb r4, 0x6(r31)
|
|
|
|
/* 800525AC 0004E3EC 88 9F 00 07 */ lbz r4, 0x7(r31)
|
|
|
|
/* 800525B0 0004E3F0 54 84 06 36 */ rlwinm r4, r4, 0, 24, 27
|
|
|
|
/* 800525B4 0004E3F4 98 9F 00 07 */ stb r4, 0x7(r31)
|
|
|
|
.global lbl_800525B8
|
|
|
|
lbl_800525B8:
|
|
|
|
/* 800525B8 0004E3F8 88 BF 00 02 */ lbz r5, 0x2(r31)
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800525BC 0004E3FC 80 8D 83 A8 */ lwz r4, XPatchBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800525C0 0004E400 38 A5 FF 80 */ addi r5, r5, -0x80
|
|
|
|
/* 800525C4 0004E404 98 BF 00 02 */ stb r5, 0x2(r31)
|
|
|
|
/* 800525C8 0004E408 7C 80 00 39 */ and. r0, r4, r0
|
|
|
|
/* 800525CC 0004E40C 88 9F 00 03 */ lbz r4, 0x3(r31)
|
|
|
|
/* 800525D0 0004E410 38 04 FF 80 */ addi r0, r4, -0x80
|
|
|
|
/* 800525D4 0004E414 98 1F 00 03 */ stb r0, 0x3(r31)
|
|
|
|
/* 800525D8 0004E418 88 9F 00 04 */ lbz r4, 0x4(r31)
|
|
|
|
/* 800525DC 0004E41C 38 04 FF 80 */ addi r0, r4, -0x80
|
|
|
|
/* 800525E0 0004E420 98 1F 00 04 */ stb r0, 0x4(r31)
|
|
|
|
/* 800525E4 0004E424 88 9F 00 05 */ lbz r4, 0x5(r31)
|
|
|
|
/* 800525E8 0004E428 38 04 FF 80 */ addi r0, r4, -0x80
|
|
|
|
/* 800525EC 0004E42C 98 1F 00 05 */ stb r0, 0x5(r31)
|
|
|
|
/* 800525F0 0004E430 41 82 00 30 */ beq lbl_80052620
|
|
|
|
/* 800525F4 0004E434 88 1F 00 02 */ lbz r0, 0x2(r31)
|
|
|
|
/* 800525F8 0004E438 7C 00 07 74 */ extsb r0, r0
|
|
|
|
/* 800525FC 0004E43C 2C 00 00 40 */ cmpwi r0, 0x40
|
|
|
|
/* 80052600 0004E440 40 81 00 20 */ ble lbl_80052620
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052604 0004E444 4B FD 90 ED */ bl SIGetType
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052608 0004E448 54 63 00 1E */ clrrwi r3, r3, 16
|
|
|
|
/* 8005260C 0004E44C 3C 03 F7 00 */ addis r0, r3, 0xf700
|
|
|
|
/* 80052610 0004E450 28 00 00 00 */ cmplwi r0, 0x0
|
|
|
|
/* 80052614 0004E454 40 82 00 0C */ bne lbl_80052620
|
|
|
|
/* 80052618 0004E458 38 00 00 00 */ li r0, 0x0
|
|
|
|
/* 8005261C 0004E45C 98 1F 00 02 */ stb r0, 0x2(r31)
|
|
|
|
.global lbl_80052620
|
|
|
|
lbl_80052620:
|
|
|
|
/* 80052620 0004E460 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
|
|
/* 80052624 0004E464 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
|
|
/* 80052628 0004E468 7C 08 03 A6 */ mtlr r0
|
|
|
|
/* 8005262C 0004E46C 38 21 00 10 */ addi r1, r1, 0x10
|
|
|
|
/* 80052630 0004E470 4E 80 00 20 */ blr
|
|
|
|
/* 80052634 0004E474 00 00 00 00 */ .4byte 0x00000000
|
|
|
|
/* 80052638 0004E478 00 00 00 00 */ .4byte 0x00000000
|
|
|
|
/* 8005263C 0004E47C 00 00 00 00 */ .4byte 0x00000000
|
2022-10-16 16:31:36 +00:00
|
|
|
.global PADOriginCallback
|
|
|
|
PADOriginCallback:
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052640 0004E480 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
|
|
/* 80052644 0004E484 7C 08 02 A6 */ mflr r0
|
|
|
|
/* 80052648 0004E488 90 01 00 24 */ stw r0, 0x24(r1)
|
|
|
|
/* 8005264C 0004E48C 54 80 07 3F */ clrlwi. r0, r4, 28
|
|
|
|
/* 80052650 0004E490 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
|
|
/* 80052654 0004E494 40 82 00 48 */ bne lbl_8005269C
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052658 0004E498 80 6D 83 A4 */ lwz r3, ResettingChan@sda21(r13)
|
|
|
|
/* 8005265C 0004E49C 4B FF FE 65 */ bl UpdateOrigin
|
|
|
|
/* 80052660 0004E4A0 83 ED 83 A4 */ lwz r31, ResettingChan@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052664 0004E4A4 3C 00 80 00 */ lis r0, 0x8000
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052668 0004E4A8 80 AD E9 64 */ lwz r5, EnabledBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8005266C 0004E4AC 38 81 00 08 */ addi r4, r1, 0x8
|
|
|
|
/* 80052670 0004E4B0 7C 00 FC 30 */ srw r0, r0, r31
|
|
|
|
/* 80052674 0004E4B4 7F E3 FB 78 */ mr r3, r31
|
|
|
|
/* 80052678 0004E4B8 7C A0 03 78 */ or r0, r5, r0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 8005267C 0004E4BC 90 0D E9 64 */ stw r0, EnabledBits@sda21(r13)
|
|
|
|
/* 80052680 0004E4C0 4B FD 8A 81 */ bl SIGetResponse
|
|
|
|
/* 80052684 0004E4C4 80 0D 83 AC */ lwz r0, AnalogMode@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052688 0004E4C8 7F E3 FB 78 */ mr r3, r31
|
|
|
|
/* 8005268C 0004E4CC 64 04 00 40 */ oris r4, r0, 0x40
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052690 0004E4D0 4B FD 88 E1 */ bl SISetCommand
|
|
|
|
/* 80052694 0004E4D4 80 6D E9 64 */ lwz r3, EnabledBits@sda21(r13)
|
|
|
|
/* 80052698 0004E4D8 4B FD 89 69 */ bl SIEnablePolling
|
2022-10-16 16:05:58 +00:00
|
|
|
.global lbl_8005269C
|
|
|
|
lbl_8005269C:
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 8005269C 0004E4DC 80 CD E9 60 */ lwz r6, ResettingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800526A0 0004E4E0 7C C5 00 34 */ cntlzw r5, r6
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800526A4 0004E4E4 90 AD 83 A4 */ stw r5, ResettingChan@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800526A8 0004E4E8 2C 05 00 20 */ cmpwi r5, 0x20
|
|
|
|
/* 800526AC 0004E4EC 41 82 00 40 */ beq lbl_800526EC
|
|
|
|
/* 800526B0 0004E4F0 3C 00 80 00 */ lis r0, 0x8000
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800526B4 0004E4F4 3C 60 80 4C */ lis r3, Origin@ha
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800526B8 0004E4F8 7C 00 2C 30 */ srw r0, r0, r5
|
|
|
|
/* 800526BC 0004E4FC 38 80 00 00 */ li r4, 0x0
|
|
|
|
/* 800526C0 0004E500 7C C0 00 78 */ andc r0, r6, r0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800526C4 0004E504 90 0D E9 60 */ stw r0, ResettingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800526C8 0004E508 1C 05 00 0C */ mulli r0, r5, 0xc
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800526CC 0004E50C 38 63 19 60 */ addi r3, r3, Origin@l
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800526D0 0004E510 38 A0 00 0C */ li r5, 0xc
|
|
|
|
/* 800526D4 0004E514 7C 63 02 14 */ add r3, r3, r0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800526D8 0004E518 4B FB 1C 79 */ bl memset
|
|
|
|
/* 800526DC 0004E51C 3C 80 80 05 */ lis r4, PADTypeAndStatusCallback@ha
|
|
|
|
/* 800526E0 0004E520 80 6D 83 A4 */ lwz r3, ResettingChan@sda21(r13)
|
|
|
|
/* 800526E4 0004E524 38 84 28 B0 */ addi r4, r4, PADTypeAndStatusCallback@l
|
|
|
|
/* 800526E8 0004E528 4B FD 91 C9 */ bl SIGetTypeAsync
|
2022-10-16 16:05:58 +00:00
|
|
|
.global lbl_800526EC
|
|
|
|
lbl_800526EC:
|
|
|
|
/* 800526EC 0004E52C 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
|
|
/* 800526F0 0004E530 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
|
|
/* 800526F4 0004E534 7C 08 03 A6 */ mtlr r0
|
|
|
|
/* 800526F8 0004E538 38 21 00 20 */ addi r1, r1, 0x20
|
|
|
|
/* 800526FC 0004E53C 4E 80 00 20 */ blr
|
2022-10-16 16:31:36 +00:00
|
|
|
.global PADOriginUpdateCallback
|
|
|
|
PADOriginUpdateCallback:
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052700 0004E540 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
|
|
/* 80052704 0004E544 7C 08 02 A6 */ mflr r0
|
|
|
|
/* 80052708 0004E548 3C A0 80 00 */ lis r5, 0x8000
|
|
|
|
/* 8005270C 0004E54C 90 01 00 24 */ stw r0, 0x24(r1)
|
|
|
|
/* 80052710 0004E550 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
|
|
/* 80052714 0004E554 7C 9F 23 78 */ mr r31, r4
|
|
|
|
/* 80052718 0004E558 93 C1 00 18 */ stw r30, 0x18(r1)
|
|
|
|
/* 8005271C 0004E55C 7C BE 1C 30 */ srw r30, r5, r3
|
|
|
|
/* 80052720 0004E560 93 A1 00 14 */ stw r29, 0x14(r1)
|
|
|
|
/* 80052724 0004E564 7C 7D 1B 78 */ mr r29, r3
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052728 0004E568 80 0D E9 64 */ lwz r0, EnabledBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8005272C 0004E56C 7C 00 F0 39 */ and. r0, r0, r30
|
|
|
|
/* 80052730 0004E570 41 82 00 7C */ beq lbl_800527AC
|
|
|
|
/* 80052734 0004E574 54 80 07 3F */ clrlwi. r0, r4, 28
|
|
|
|
/* 80052738 0004E578 40 82 00 08 */ bne lbl_80052740
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 8005273C 0004E57C 4B FF FD 85 */ bl UpdateOrigin
|
2022-10-16 16:05:58 +00:00
|
|
|
.global lbl_80052740
|
|
|
|
lbl_80052740:
|
|
|
|
/* 80052740 0004E580 57 E0 07 39 */ rlwinm. r0, r31, 0, 28, 28
|
|
|
|
/* 80052744 0004E584 41 82 00 68 */ beq lbl_800527AC
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052748 0004E588 4B FC F0 D9 */ bl OSDisableInterrupts
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8005274C 0004E58C 7C 7F 1B 78 */ mr r31, r3
|
|
|
|
/* 80052750 0004E590 7F C3 F3 78 */ mr r3, r30
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052754 0004E594 4B FD 89 3D */ bl SIDisablePolling
|
|
|
|
/* 80052758 0004E598 80 8D E9 64 */ lwz r4, EnabledBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8005275C 0004E59C 7F C9 F0 F8 */ nor r9, r30, r30
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052760 0004E5A0 80 0D E9 58 */ lwz r0, WaitingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052764 0004E5A4 7F A3 EB 78 */ mr r3, r29
|
|
|
|
/* 80052768 0004E5A8 7C 88 48 38 */ and r8, r4, r9
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 8005276C 0004E5AC 80 AD E9 54 */ lwz r5, CheckingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052770 0004E5B0 7C 07 48 38 */ and r7, r0, r9
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052774 0004E5B4 80 0D E9 4C */ lwz r0, BarrelBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052778 0004E5B8 7C A6 48 38 */ and r6, r5, r9
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 8005277C 0004E5BC 80 8D E9 50 */ lwz r4, PendingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052780 0004E5C0 7C 00 48 38 */ and r0, r0, r9
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052784 0004E5C4 91 0D E9 64 */ stw r8, EnabledBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052788 0004E5C8 7C 85 48 38 */ and r5, r4, r9
|
|
|
|
/* 8005278C 0004E5CC 38 80 00 00 */ li r4, 0x0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052790 0004E5D0 90 ED E9 58 */ stw r7, WaitingBits@sda21(r13)
|
|
|
|
/* 80052794 0004E5D4 90 CD E9 54 */ stw r6, CheckingBits@sda21(r13)
|
|
|
|
/* 80052798 0004E5D8 90 AD E9 50 */ stw r5, PendingBits@sda21(r13)
|
|
|
|
/* 8005279C 0004E5DC 90 0D E9 4C */ stw r0, BarrelBits@sda21(r13)
|
|
|
|
/* 800527A0 0004E5E0 4B FD 18 81 */ bl OSSetWirelessID
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800527A4 0004E5E4 7F E3 FB 78 */ mr r3, r31
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800527A8 0004E5E8 4B FC F0 B9 */ bl OSRestoreInterrupts
|
2022-10-16 16:05:58 +00:00
|
|
|
.global lbl_800527AC
|
|
|
|
lbl_800527AC:
|
|
|
|
/* 800527AC 0004E5EC 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
|
|
/* 800527B0 0004E5F0 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
|
|
/* 800527B4 0004E5F4 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
|
|
/* 800527B8 0004E5F8 83 A1 00 14 */ lwz r29, 0x14(r1)
|
|
|
|
/* 800527BC 0004E5FC 7C 08 03 A6 */ mtlr r0
|
|
|
|
/* 800527C0 0004E600 38 21 00 20 */ addi r1, r1, 0x20
|
|
|
|
/* 800527C4 0004E604 4E 80 00 20 */ blr
|
|
|
|
/* 800527C8 0004E608 00 00 00 00 */ .4byte 0x00000000
|
|
|
|
/* 800527CC 0004E60C 00 00 00 00 */ .4byte 0x00000000
|
2022-10-16 16:31:36 +00:00
|
|
|
.global PADProbeCallback
|
|
|
|
PADProbeCallback:
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800527D0 0004E610 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
|
|
/* 800527D4 0004E614 7C 08 02 A6 */ mflr r0
|
|
|
|
/* 800527D8 0004E618 90 01 00 24 */ stw r0, 0x24(r1)
|
|
|
|
/* 800527DC 0004E61C 54 80 07 3F */ clrlwi. r0, r4, 28
|
|
|
|
/* 800527E0 0004E620 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
|
|
/* 800527E4 0004E624 93 C1 00 18 */ stw r30, 0x18(r1)
|
|
|
|
/* 800527E8 0004E628 40 82 00 54 */ bne lbl_8005283C
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800527EC 0004E62C 83 CD 83 A4 */ lwz r30, ResettingChan@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800527F0 0004E630 3F E0 80 00 */ lis r31, 0x8000
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800527F4 0004E634 80 AD E9 64 */ lwz r5, EnabledBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800527F8 0004E638 38 81 00 08 */ addi r4, r1, 0x8
|
|
|
|
/* 800527FC 0004E63C 7F E0 F4 30 */ srw r0, r31, r30
|
|
|
|
/* 80052800 0004E640 7F C3 F3 78 */ mr r3, r30
|
|
|
|
/* 80052804 0004E644 7C A0 03 78 */ or r0, r5, r0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052808 0004E648 90 0D E9 64 */ stw r0, EnabledBits@sda21(r13)
|
|
|
|
/* 8005280C 0004E64C 4B FD 88 F5 */ bl SIGetResponse
|
|
|
|
/* 80052810 0004E650 80 0D 83 AC */ lwz r0, AnalogMode@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052814 0004E654 7F C3 F3 78 */ mr r3, r30
|
|
|
|
/* 80052818 0004E658 64 04 00 40 */ oris r4, r0, 0x40
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 8005281C 0004E65C 4B FD 87 55 */ bl SISetCommand
|
|
|
|
/* 80052820 0004E660 80 6D E9 64 */ lwz r3, EnabledBits@sda21(r13)
|
|
|
|
/* 80052824 0004E664 4B FD 87 DD */ bl SIEnablePolling
|
|
|
|
/* 80052828 0004E668 80 0D 83 A4 */ lwz r0, ResettingChan@sda21(r13)
|
|
|
|
/* 8005282C 0004E66C 80 6D E9 58 */ lwz r3, WaitingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052830 0004E670 7F E0 04 30 */ srw r0, r31, r0
|
|
|
|
/* 80052834 0004E674 7C 60 03 78 */ or r0, r3, r0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052838 0004E678 90 0D E9 58 */ stw r0, WaitingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
.global lbl_8005283C
|
|
|
|
lbl_8005283C:
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 8005283C 0004E67C 80 CD E9 60 */ lwz r6, ResettingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052840 0004E680 7C C5 00 34 */ cntlzw r5, r6
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052844 0004E684 90 AD 83 A4 */ stw r5, ResettingChan@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052848 0004E688 2C 05 00 20 */ cmpwi r5, 0x20
|
|
|
|
/* 8005284C 0004E68C 41 82 00 40 */ beq lbl_8005288C
|
|
|
|
/* 80052850 0004E690 3C 00 80 00 */ lis r0, 0x8000
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052854 0004E694 3C 60 80 4C */ lis r3, Origin@ha
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052858 0004E698 7C 00 2C 30 */ srw r0, r0, r5
|
|
|
|
/* 8005285C 0004E69C 38 80 00 00 */ li r4, 0x0
|
|
|
|
/* 80052860 0004E6A0 7C C0 00 78 */ andc r0, r6, r0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052864 0004E6A4 90 0D E9 60 */ stw r0, ResettingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052868 0004E6A8 1C 05 00 0C */ mulli r0, r5, 0xc
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 8005286C 0004E6AC 38 63 19 60 */ addi r3, r3, Origin@l
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052870 0004E6B0 38 A0 00 0C */ li r5, 0xc
|
|
|
|
/* 80052874 0004E6B4 7C 63 02 14 */ add r3, r3, r0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052878 0004E6B8 4B FB 1A D9 */ bl memset
|
|
|
|
/* 8005287C 0004E6BC 3C 80 80 05 */ lis r4, PADTypeAndStatusCallback@ha
|
|
|
|
/* 80052880 0004E6C0 80 6D 83 A4 */ lwz r3, ResettingChan@sda21(r13)
|
|
|
|
/* 80052884 0004E6C4 38 84 28 B0 */ addi r4, r4, PADTypeAndStatusCallback@l
|
|
|
|
/* 80052888 0004E6C8 4B FD 90 29 */ bl SIGetTypeAsync
|
2022-10-16 16:05:58 +00:00
|
|
|
.global lbl_8005288C
|
|
|
|
lbl_8005288C:
|
|
|
|
/* 8005288C 0004E6CC 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
|
|
/* 80052890 0004E6D0 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
|
|
/* 80052894 0004E6D4 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
|
|
/* 80052898 0004E6D8 7C 08 03 A6 */ mtlr r0
|
|
|
|
/* 8005289C 0004E6DC 38 21 00 20 */ addi r1, r1, 0x20
|
|
|
|
/* 800528A0 0004E6E0 4E 80 00 20 */ blr
|
|
|
|
/* 800528A4 0004E6E4 00 00 00 00 */ .4byte 0x00000000
|
|
|
|
/* 800528A8 0004E6E8 00 00 00 00 */ .4byte 0x00000000
|
|
|
|
/* 800528AC 0004E6EC 00 00 00 00 */ .4byte 0x00000000
|
2022-10-16 16:31:36 +00:00
|
|
|
.global PADTypeAndStatusCallback
|
|
|
|
PADTypeAndStatusCallback:
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800528B0 0004E6F0 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
|
|
/* 800528B4 0004E6F4 7C 08 02 A6 */ mflr r0
|
|
|
|
/* 800528B8 0004E6F8 90 01 00 24 */ stw r0, 0x24(r1)
|
|
|
|
/* 800528BC 0004E6FC 54 80 07 3F */ clrlwi. r0, r4, 28
|
|
|
|
/* 800528C0 0004E700 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
|
|
/* 800528C4 0004E704 3F E0 80 00 */ lis r31, 0x8000
|
|
|
|
/* 800528C8 0004E708 93 C1 00 18 */ stw r30, 0x18(r1)
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800528CC 0004E70C 3F C0 80 4C */ lis r30, Origin@ha
|
|
|
|
/* 800528D0 0004E710 3B DE 19 60 */ addi r30, r30, Origin@l
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800528D4 0004E714 93 A1 00 14 */ stw r29, 0x14(r1)
|
|
|
|
/* 800528D8 0004E718 93 81 00 10 */ stw r28, 0x10(r1)
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800528DC 0004E71C 83 8D 83 A4 */ lwz r28, ResettingChan@sda21(r13)
|
|
|
|
/* 800528E0 0004E720 80 6D E9 5C */ lwz r3, RecalibrateBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800528E4 0004E724 7F FD E4 30 */ srw r29, r31, r28
|
|
|
|
/* 800528E8 0004E728 7C 60 E8 78 */ andc r0, r3, r29
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800528EC 0004E72C 90 0D E9 5C */ stw r0, RecalibrateBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800528F0 0004E730 7C 67 E8 38 */ and r7, r3, r29
|
|
|
|
/* 800528F4 0004E734 38 60 00 01 */ li r3, 0x1
|
|
|
|
/* 800528F8 0004E738 41 82 00 50 */ beq lbl_80052948
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800528FC 0004E73C 80 AD E9 60 */ lwz r5, ResettingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052900 0004E740 7C A0 00 34 */ cntlzw r0, r5
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052904 0004E744 90 0D 83 A4 */ stw r0, ResettingChan@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052908 0004E748 2C 00 00 20 */ cmpwi r0, 0x20
|
|
|
|
/* 8005290C 0004E74C 41 82 02 A4 */ beq lbl_80052BB0
|
|
|
|
/* 80052910 0004E750 1C 60 00 0C */ mulli r3, r0, 0xc
|
|
|
|
/* 80052914 0004E754 7F E4 04 30 */ srw r4, r31, r0
|
|
|
|
/* 80052918 0004E758 38 1E 00 00 */ addi r0, r30, 0x0
|
|
|
|
/* 8005291C 0004E75C 7C A4 20 78 */ andc r4, r5, r4
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052920 0004E760 90 8D E9 60 */ stw r4, ResettingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052924 0004E764 7C 60 1A 14 */ add r3, r0, r3
|
|
|
|
/* 80052928 0004E768 38 80 00 00 */ li r4, 0x0
|
|
|
|
/* 8005292C 0004E76C 38 A0 00 0C */ li r5, 0xc
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052930 0004E770 4B FB 1A 21 */ bl memset
|
|
|
|
/* 80052934 0004E774 3C 80 80 05 */ lis r4, PADTypeAndStatusCallback@ha
|
|
|
|
/* 80052938 0004E778 80 6D 83 A4 */ lwz r3, ResettingChan@sda21(r13)
|
|
|
|
/* 8005293C 0004E77C 38 84 28 B0 */ addi r4, r4, PADTypeAndStatusCallback@l
|
|
|
|
/* 80052940 0004E780 4B FD 8F 71 */ bl SIGetTypeAsync
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052944 0004E784 48 00 02 6C */ b lbl_80052BB0
|
|
|
|
.global lbl_80052948
|
|
|
|
lbl_80052948:
|
|
|
|
/* 80052948 0004E788 54 85 00 C8 */ rlwinm r5, r4, 0, 3, 4
|
|
|
|
/* 8005294C 0004E78C 57 86 10 3A */ slwi r6, r28, 2
|
|
|
|
/* 80052950 0004E790 3C 05 F8 00 */ addis r0, r5, 0xf800
|
|
|
|
/* 80052954 0004E794 54 84 00 2E */ clrrwi r4, r4, 8
|
|
|
|
/* 80052958 0004E798 38 BE 00 30 */ addi r5, r30, 0x30
|
|
|
|
/* 8005295C 0004E79C 28 00 00 00 */ cmplwi r0, 0x0
|
|
|
|
/* 80052960 0004E7A0 7C 85 31 2E */ stwx r4, r5, r6
|
|
|
|
/* 80052964 0004E7A4 40 82 00 0C */ bne lbl_80052970
|
|
|
|
/* 80052968 0004E7A8 54 80 01 CF */ rlwinm. r0, r4, 0, 7, 7
|
|
|
|
/* 8005296C 0004E7AC 40 82 00 54 */ bne lbl_800529C0
|
|
|
|
.global lbl_80052970
|
|
|
|
lbl_80052970:
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052970 0004E7B0 80 ED E9 60 */ lwz r7, ResettingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052974 0004E7B4 7C E6 00 34 */ cntlzw r6, r7
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052978 0004E7B8 90 CD 83 A4 */ stw r6, ResettingChan@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8005297C 0004E7BC 2C 06 00 20 */ cmpwi r6, 0x20
|
|
|
|
/* 80052980 0004E7C0 41 82 02 30 */ beq lbl_80052BB0
|
|
|
|
/* 80052984 0004E7C4 3C A0 80 00 */ lis r5, 0x8000
|
|
|
|
/* 80052988 0004E7C8 38 1E 00 00 */ addi r0, r30, 0x0
|
|
|
|
/* 8005298C 0004E7CC 1C 66 00 0C */ mulli r3, r6, 0xc
|
|
|
|
/* 80052990 0004E7D0 38 80 00 00 */ li r4, 0x0
|
|
|
|
/* 80052994 0004E7D4 7C A6 34 30 */ srw r6, r5, r6
|
|
|
|
/* 80052998 0004E7D8 38 A0 00 0C */ li r5, 0xc
|
|
|
|
/* 8005299C 0004E7DC 7C E6 30 78 */ andc r6, r7, r6
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800529A0 0004E7E0 90 CD E9 60 */ stw r6, ResettingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800529A4 0004E7E4 7C 60 1A 14 */ add r3, r0, r3
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800529A8 0004E7E8 4B FB 19 A9 */ bl memset
|
|
|
|
/* 800529AC 0004E7EC 3C 80 80 05 */ lis r4, PADTypeAndStatusCallback@ha
|
|
|
|
/* 800529B0 0004E7F0 80 6D 83 A4 */ lwz r3, ResettingChan@sda21(r13)
|
|
|
|
/* 800529B4 0004E7F4 38 84 28 B0 */ addi r4, r4, PADTypeAndStatusCallback@l
|
|
|
|
/* 800529B8 0004E7F8 4B FD 8E F9 */ bl SIGetTypeAsync
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800529BC 0004E7FC 48 00 01 F4 */ b lbl_80052BB0
|
|
|
|
.global lbl_800529C0
|
|
|
|
lbl_800529C0:
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800529C0 0004E800 80 0D 83 B0 */ lwz r0, Spec@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800529C4 0004E804 28 00 00 02 */ cmplwi r0, 0x2
|
|
|
|
/* 800529C8 0004E808 40 80 00 80 */ bge lbl_80052A48
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800529CC 0004E80C 80 0D E9 64 */ lwz r0, EnabledBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800529D0 0004E810 7F 83 E3 78 */ mr r3, r28
|
|
|
|
/* 800529D4 0004E814 38 81 00 08 */ addi r4, r1, 0x8
|
|
|
|
/* 800529D8 0004E818 7C 00 EB 78 */ or r0, r0, r29
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800529DC 0004E81C 90 0D E9 64 */ stw r0, EnabledBits@sda21(r13)
|
|
|
|
/* 800529E0 0004E820 4B FD 87 21 */ bl SIGetResponse
|
|
|
|
/* 800529E4 0004E824 80 0D 83 AC */ lwz r0, AnalogMode@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800529E8 0004E828 7F 83 E3 78 */ mr r3, r28
|
|
|
|
/* 800529EC 0004E82C 64 04 00 40 */ oris r4, r0, 0x40
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800529F0 0004E830 4B FD 85 81 */ bl SISetCommand
|
|
|
|
/* 800529F4 0004E834 80 6D E9 64 */ lwz r3, EnabledBits@sda21(r13)
|
|
|
|
/* 800529F8 0004E838 4B FD 86 09 */ bl SIEnablePolling
|
|
|
|
/* 800529FC 0004E83C 80 AD E9 60 */ lwz r5, ResettingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052A00 0004E840 7C A0 00 34 */ cntlzw r0, r5
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052A04 0004E844 90 0D 83 A4 */ stw r0, ResettingChan@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052A08 0004E848 2C 00 00 20 */ cmpwi r0, 0x20
|
|
|
|
/* 80052A0C 0004E84C 41 82 01 A4 */ beq lbl_80052BB0
|
|
|
|
/* 80052A10 0004E850 1C 60 00 0C */ mulli r3, r0, 0xc
|
|
|
|
/* 80052A14 0004E854 7F E4 04 30 */ srw r4, r31, r0
|
|
|
|
/* 80052A18 0004E858 38 1E 00 00 */ addi r0, r30, 0x0
|
|
|
|
/* 80052A1C 0004E85C 7C A4 20 78 */ andc r4, r5, r4
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052A20 0004E860 90 8D E9 60 */ stw r4, ResettingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052A24 0004E864 7C 60 1A 14 */ add r3, r0, r3
|
|
|
|
/* 80052A28 0004E868 38 80 00 00 */ li r4, 0x0
|
|
|
|
/* 80052A2C 0004E86C 38 A0 00 0C */ li r5, 0xc
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052A30 0004E870 4B FB 19 21 */ bl memset
|
|
|
|
/* 80052A34 0004E874 3C 80 80 05 */ lis r4, PADTypeAndStatusCallback@ha
|
|
|
|
/* 80052A38 0004E878 80 6D 83 A4 */ lwz r3, ResettingChan@sda21(r13)
|
|
|
|
/* 80052A3C 0004E87C 38 84 28 B0 */ addi r4, r4, PADTypeAndStatusCallback@l
|
|
|
|
/* 80052A40 0004E880 4B FD 8E 71 */ bl SIGetTypeAsync
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052A44 0004E884 48 00 01 6C */ b lbl_80052BB0
|
|
|
|
.global lbl_80052A48
|
|
|
|
lbl_80052A48:
|
|
|
|
/* 80052A48 0004E888 54 80 00 01 */ clrrwi. r0, r4, 31
|
|
|
|
/* 80052A4C 0004E88C 41 82 00 0C */ beq lbl_80052A58
|
|
|
|
/* 80052A50 0004E890 54 80 01 4B */ rlwinm. r0, r4, 0, 5, 5
|
|
|
|
/* 80052A54 0004E894 41 82 00 74 */ beq lbl_80052AC8
|
|
|
|
.global lbl_80052A58
|
|
|
|
lbl_80052A58:
|
|
|
|
/* 80052A58 0004E898 2C 07 00 00 */ cmpwi r7, 0x0
|
|
|
|
/* 80052A5C 0004E89C 41 82 00 38 */ beq lbl_80052A94
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052A60 0004E8A0 80 6D 83 A4 */ lwz r3, ResettingChan@sda21(r13)
|
|
|
|
/* 80052A64 0004E8A4 3D 00 80 05 */ lis r8, PADOriginCallback@ha
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052A68 0004E8A8 38 1E 00 00 */ addi r0, r30, 0x0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052A6C 0004E8AC 38 8D 83 BC */ addi r4, r13, CmdCalibrate@sda21
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052A70 0004E8B0 1C C3 00 0C */ mulli r6, r3, 0xc
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052A74 0004E8B4 39 08 26 40 */ addi r8, r8, PADOriginCallback@l
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052A78 0004E8B8 38 A0 00 03 */ li r5, 0x3
|
|
|
|
/* 80052A7C 0004E8BC 38 E0 00 0A */ li r7, 0xa
|
|
|
|
/* 80052A80 0004E8C0 7C C0 32 14 */ add r6, r0, r6
|
|
|
|
/* 80052A84 0004E8C4 39 40 00 00 */ li r10, 0x0
|
|
|
|
/* 80052A88 0004E8C8 39 20 00 00 */ li r9, 0x0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052A8C 0004E8CC 4B FD 88 35 */ bl SITransfer
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052A90 0004E8D0 48 00 00 C0 */ b lbl_80052B50
|
|
|
|
.global lbl_80052A94
|
|
|
|
lbl_80052A94:
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052A94 0004E8D4 80 6D 83 A4 */ lwz r3, ResettingChan@sda21(r13)
|
|
|
|
/* 80052A98 0004E8D8 3D 00 80 05 */ lis r8, PADOriginCallback@ha
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052A9C 0004E8DC 38 1E 00 00 */ addi r0, r30, 0x0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052AA0 0004E8E0 38 8D 83 B8 */ addi r4, r13, CmdReadOrigin@sda21
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052AA4 0004E8E4 1C C3 00 0C */ mulli r6, r3, 0xc
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052AA8 0004E8E8 39 08 26 40 */ addi r8, r8, PADOriginCallback@l
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052AAC 0004E8EC 38 A0 00 01 */ li r5, 0x1
|
|
|
|
/* 80052AB0 0004E8F0 38 E0 00 0A */ li r7, 0xa
|
|
|
|
/* 80052AB4 0004E8F4 7C C0 32 14 */ add r6, r0, r6
|
|
|
|
/* 80052AB8 0004E8F8 39 40 00 00 */ li r10, 0x0
|
|
|
|
/* 80052ABC 0004E8FC 39 20 00 00 */ li r9, 0x0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052AC0 0004E900 4B FD 88 01 */ bl SITransfer
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052AC4 0004E904 48 00 00 8C */ b lbl_80052B50
|
|
|
|
.global lbl_80052AC8
|
|
|
|
lbl_80052AC8:
|
|
|
|
/* 80052AC8 0004E908 54 80 02 D7 */ rlwinm. r0, r4, 0, 11, 11
|
|
|
|
/* 80052ACC 0004E90C 41 82 00 84 */ beq lbl_80052B50
|
|
|
|
/* 80052AD0 0004E910 54 80 03 19 */ rlwinm. r0, r4, 0, 12, 12
|
|
|
|
/* 80052AD4 0004E914 40 82 00 7C */ bne lbl_80052B50
|
|
|
|
/* 80052AD8 0004E918 54 80 03 5B */ rlwinm. r0, r4, 0, 13, 13
|
|
|
|
/* 80052ADC 0004E91C 40 82 00 74 */ bne lbl_80052B50
|
|
|
|
/* 80052AE0 0004E920 54 80 00 43 */ rlwinm. r0, r4, 0, 1, 1
|
|
|
|
/* 80052AE4 0004E924 41 82 00 38 */ beq lbl_80052B1C
|
|
|
|
/* 80052AE8 0004E928 1C 9C 00 0C */ mulli r4, r28, 0xc
|
|
|
|
/* 80052AEC 0004E92C 38 1E 00 00 */ addi r0, r30, 0x0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052AF0 0004E930 3D 00 80 05 */ lis r8, PADOriginCallback@ha
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052AF4 0004E934 7F 83 E3 78 */ mr r3, r28
|
|
|
|
/* 80052AF8 0004E938 7C C0 22 14 */ add r6, r0, r4
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052AFC 0004E93C 39 08 26 40 */ addi r8, r8, PADOriginCallback@l
|
|
|
|
/* 80052B00 0004E940 38 8D 83 B8 */ addi r4, r13, CmdReadOrigin@sda21
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052B04 0004E944 38 A0 00 01 */ li r5, 0x1
|
|
|
|
/* 80052B08 0004E948 38 E0 00 0A */ li r7, 0xa
|
|
|
|
/* 80052B0C 0004E94C 39 40 00 00 */ li r10, 0x0
|
|
|
|
/* 80052B10 0004E950 39 20 00 00 */ li r9, 0x0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052B14 0004E954 4B FD 87 AD */ bl SITransfer
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052B18 0004E958 48 00 00 38 */ b lbl_80052B50
|
|
|
|
.global lbl_80052B1C
|
|
|
|
lbl_80052B1C:
|
|
|
|
/* 80052B1C 0004E95C 1C BC 00 0C */ mulli r5, r28, 0xc
|
|
|
|
/* 80052B20 0004E960 38 9E 00 40 */ addi r4, r30, 0x40
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052B24 0004E964 3D 00 80 05 */ lis r8, PADProbeCallback@ha
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052B28 0004E968 38 1E 00 00 */ addi r0, r30, 0x0
|
|
|
|
/* 80052B2C 0004E96C 7C 84 32 14 */ add r4, r4, r6
|
|
|
|
/* 80052B30 0004E970 7F 83 E3 78 */ mr r3, r28
|
|
|
|
/* 80052B34 0004E974 7C C0 2A 14 */ add r6, r0, r5
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052B38 0004E978 39 08 27 D0 */ addi r8, r8, PADProbeCallback@l
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052B3C 0004E97C 38 A0 00 03 */ li r5, 0x3
|
|
|
|
/* 80052B40 0004E980 38 E0 00 08 */ li r7, 0x8
|
|
|
|
/* 80052B44 0004E984 39 40 00 00 */ li r10, 0x0
|
|
|
|
/* 80052B48 0004E988 39 20 00 00 */ li r9, 0x0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052B4C 0004E98C 4B FD 87 75 */ bl SITransfer
|
2022-10-16 16:05:58 +00:00
|
|
|
.global lbl_80052B50
|
|
|
|
lbl_80052B50:
|
|
|
|
/* 80052B50 0004E990 2C 03 00 00 */ cmpwi r3, 0x0
|
|
|
|
/* 80052B54 0004E994 40 82 00 5C */ bne lbl_80052BB0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052B58 0004E998 80 ED E9 60 */ lwz r7, ResettingBits@sda21(r13)
|
|
|
|
/* 80052B5C 0004E99C 80 0D E9 50 */ lwz r0, PendingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052B60 0004E9A0 7C E6 00 34 */ cntlzw r6, r7
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052B64 0004E9A4 90 CD 83 A4 */ stw r6, ResettingChan@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052B68 0004E9A8 2C 06 00 20 */ cmpwi r6, 0x20
|
|
|
|
/* 80052B6C 0004E9AC 7C 00 EB 78 */ or r0, r0, r29
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052B70 0004E9B0 90 0D E9 50 */ stw r0, PendingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052B74 0004E9B4 41 82 00 3C */ beq lbl_80052BB0
|
|
|
|
/* 80052B78 0004E9B8 3C A0 80 00 */ lis r5, 0x8000
|
|
|
|
/* 80052B7C 0004E9BC 38 1E 00 00 */ addi r0, r30, 0x0
|
|
|
|
/* 80052B80 0004E9C0 1C 66 00 0C */ mulli r3, r6, 0xc
|
|
|
|
/* 80052B84 0004E9C4 38 80 00 00 */ li r4, 0x0
|
|
|
|
/* 80052B88 0004E9C8 7C A6 34 30 */ srw r6, r5, r6
|
|
|
|
/* 80052B8C 0004E9CC 38 A0 00 0C */ li r5, 0xc
|
|
|
|
/* 80052B90 0004E9D0 7C E6 30 78 */ andc r6, r7, r6
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052B94 0004E9D4 90 CD E9 60 */ stw r6, ResettingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052B98 0004E9D8 7C 60 1A 14 */ add r3, r0, r3
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052B9C 0004E9DC 4B FB 17 B5 */ bl memset
|
|
|
|
/* 80052BA0 0004E9E0 3C 80 80 05 */ lis r4, PADTypeAndStatusCallback@ha
|
|
|
|
/* 80052BA4 0004E9E4 80 6D 83 A4 */ lwz r3, ResettingChan@sda21(r13)
|
|
|
|
/* 80052BA8 0004E9E8 38 84 28 B0 */ addi r4, r4, PADTypeAndStatusCallback@l
|
|
|
|
/* 80052BAC 0004E9EC 4B FD 8D 05 */ bl SIGetTypeAsync
|
2022-10-16 16:05:58 +00:00
|
|
|
.global lbl_80052BB0
|
|
|
|
lbl_80052BB0:
|
|
|
|
/* 80052BB0 0004E9F0 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
|
|
/* 80052BB4 0004E9F4 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
|
|
/* 80052BB8 0004E9F8 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
|
|
/* 80052BBC 0004E9FC 83 A1 00 14 */ lwz r29, 0x14(r1)
|
|
|
|
/* 80052BC0 0004EA00 83 81 00 10 */ lwz r28, 0x10(r1)
|
|
|
|
/* 80052BC4 0004EA04 7C 08 03 A6 */ mtlr r0
|
|
|
|
/* 80052BC8 0004EA08 38 21 00 20 */ addi r1, r1, 0x20
|
|
|
|
/* 80052BCC 0004EA0C 4E 80 00 20 */ blr
|
2022-10-16 16:31:36 +00:00
|
|
|
.global PADReceiveCheckCallback
|
|
|
|
PADReceiveCheckCallback:
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052BD0 0004EA10 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
|
|
/* 80052BD4 0004EA14 7C 08 02 A6 */ mflr r0
|
|
|
|
/* 80052BD8 0004EA18 3C A0 80 00 */ lis r5, 0x8000
|
|
|
|
/* 80052BDC 0004EA1C 90 01 00 24 */ stw r0, 0x24(r1)
|
|
|
|
/* 80052BE0 0004EA20 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
|
|
/* 80052BE4 0004EA24 7C BF 1C 30 */ srw r31, r5, r3
|
|
|
|
/* 80052BE8 0004EA28 93 C1 00 18 */ stw r30, 0x18(r1)
|
|
|
|
/* 80052BEC 0004EA2C 7C 7E 1B 78 */ mr r30, r3
|
|
|
|
/* 80052BF0 0004EA30 93 A1 00 14 */ stw r29, 0x14(r1)
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052BF4 0004EA34 80 0D E9 64 */ lwz r0, EnabledBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052BF8 0004EA38 7C 00 F8 39 */ and. r0, r0, r31
|
|
|
|
/* 80052BFC 0004EA3C 41 82 00 F4 */ beq lbl_80052CF0
|
|
|
|
/* 80052C00 0004EA40 54 80 07 3F */ clrlwi. r0, r4, 28
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052C04 0004EA44 80 AD E9 58 */ lwz r5, WaitingBits@sda21(r13)
|
|
|
|
/* 80052C08 0004EA48 80 0D E9 54 */ lwz r0, CheckingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052C0C 0004EA4C 7F E6 F8 F8 */ nor r6, r31, r31
|
|
|
|
/* 80052C10 0004EA50 7C A5 30 38 */ and r5, r5, r6
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052C14 0004EA54 90 AD E9 58 */ stw r5, WaitingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052C18 0004EA58 7C 00 30 38 */ and r0, r0, r6
|
|
|
|
/* 80052C1C 0004EA5C 54 84 00 2E */ clrrwi r4, r4, 8
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052C20 0004EA60 90 0D E9 54 */ stw r0, CheckingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052C24 0004EA64 40 82 00 68 */ bne lbl_80052C8C
|
|
|
|
/* 80052C28 0004EA68 54 80 00 01 */ clrrwi. r0, r4, 31
|
|
|
|
/* 80052C2C 0004EA6C 41 82 00 60 */ beq lbl_80052C8C
|
|
|
|
/* 80052C30 0004EA70 54 80 02 D7 */ rlwinm. r0, r4, 0, 11, 11
|
|
|
|
/* 80052C34 0004EA74 41 82 00 58 */ beq lbl_80052C8C
|
|
|
|
/* 80052C38 0004EA78 54 80 00 43 */ rlwinm. r0, r4, 0, 1, 1
|
|
|
|
/* 80052C3C 0004EA7C 41 82 00 50 */ beq lbl_80052C8C
|
|
|
|
/* 80052C40 0004EA80 54 80 01 4B */ rlwinm. r0, r4, 0, 5, 5
|
|
|
|
/* 80052C44 0004EA84 40 82 00 48 */ bne lbl_80052C8C
|
|
|
|
/* 80052C48 0004EA88 54 80 03 19 */ rlwinm. r0, r4, 0, 12, 12
|
|
|
|
/* 80052C4C 0004EA8C 40 82 00 40 */ bne lbl_80052C8C
|
|
|
|
/* 80052C50 0004EA90 54 80 03 5B */ rlwinm. r0, r4, 0, 13, 13
|
|
|
|
/* 80052C54 0004EA94 40 82 00 38 */ bne lbl_80052C8C
|
|
|
|
/* 80052C58 0004EA98 1C 03 00 0C */ mulli r0, r3, 0xc
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052C5C 0004EA9C 3C 80 80 4C */ lis r4, Origin@ha
|
|
|
|
/* 80052C60 0004EAA0 3D 00 80 05 */ lis r8, PADOriginUpdateCallback@ha
|
|
|
|
/* 80052C64 0004EAA4 38 84 19 60 */ addi r4, r4, Origin@l
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052C68 0004EAA8 7C C4 02 14 */ add r6, r4, r0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052C6C 0004EAAC 39 08 27 00 */ addi r8, r8, PADOriginUpdateCallback@l
|
|
|
|
/* 80052C70 0004EAB0 38 8D 83 B8 */ addi r4, r13, CmdReadOrigin@sda21
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052C74 0004EAB4 38 A0 00 01 */ li r5, 0x1
|
|
|
|
/* 80052C78 0004EAB8 38 E0 00 0A */ li r7, 0xa
|
|
|
|
/* 80052C7C 0004EABC 39 40 00 00 */ li r10, 0x0
|
|
|
|
/* 80052C80 0004EAC0 39 20 00 00 */ li r9, 0x0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052C84 0004EAC4 4B FD 86 3D */ bl SITransfer
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052C88 0004EAC8 48 00 00 68 */ b lbl_80052CF0
|
|
|
|
.global lbl_80052C8C
|
|
|
|
lbl_80052C8C:
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052C8C 0004EACC 4B FC EB 95 */ bl OSDisableInterrupts
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052C90 0004EAD0 7C 7D 1B 78 */ mr r29, r3
|
|
|
|
/* 80052C94 0004EAD4 7F E3 FB 78 */ mr r3, r31
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052C98 0004EAD8 4B FD 83 F9 */ bl SIDisablePolling
|
|
|
|
/* 80052C9C 0004EADC 80 8D E9 64 */ lwz r4, EnabledBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052CA0 0004EAE0 7F E9 F8 F8 */ nor r9, r31, r31
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052CA4 0004EAE4 80 0D E9 58 */ lwz r0, WaitingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052CA8 0004EAE8 7F C3 F3 78 */ mr r3, r30
|
|
|
|
/* 80052CAC 0004EAEC 7C 88 48 38 */ and r8, r4, r9
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052CB0 0004EAF0 80 AD E9 54 */ lwz r5, CheckingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052CB4 0004EAF4 7C 07 48 38 */ and r7, r0, r9
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052CB8 0004EAF8 80 0D E9 4C */ lwz r0, BarrelBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052CBC 0004EAFC 7C A6 48 38 */ and r6, r5, r9
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052CC0 0004EB00 80 8D E9 50 */ lwz r4, PendingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052CC4 0004EB04 7C 00 48 38 */ and r0, r0, r9
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052CC8 0004EB08 91 0D E9 64 */ stw r8, EnabledBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052CCC 0004EB0C 7C 85 48 38 */ and r5, r4, r9
|
|
|
|
/* 80052CD0 0004EB10 38 80 00 00 */ li r4, 0x0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052CD4 0004EB14 90 ED E9 58 */ stw r7, WaitingBits@sda21(r13)
|
|
|
|
/* 80052CD8 0004EB18 90 CD E9 54 */ stw r6, CheckingBits@sda21(r13)
|
|
|
|
/* 80052CDC 0004EB1C 90 AD E9 50 */ stw r5, PendingBits@sda21(r13)
|
|
|
|
/* 80052CE0 0004EB20 90 0D E9 4C */ stw r0, BarrelBits@sda21(r13)
|
|
|
|
/* 80052CE4 0004EB24 4B FD 13 3D */ bl OSSetWirelessID
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052CE8 0004EB28 7F A3 EB 78 */ mr r3, r29
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052CEC 0004EB2C 4B FC EB 75 */ bl OSRestoreInterrupts
|
2022-10-16 16:05:58 +00:00
|
|
|
.global lbl_80052CF0
|
|
|
|
lbl_80052CF0:
|
|
|
|
/* 80052CF0 0004EB30 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
|
|
/* 80052CF4 0004EB34 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
|
|
/* 80052CF8 0004EB38 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
|
|
/* 80052CFC 0004EB3C 83 A1 00 14 */ lwz r29, 0x14(r1)
|
|
|
|
/* 80052D00 0004EB40 7C 08 03 A6 */ mtlr r0
|
|
|
|
/* 80052D04 0004EB44 38 21 00 20 */ addi r1, r1, 0x20
|
|
|
|
/* 80052D08 0004EB48 4E 80 00 20 */ blr
|
|
|
|
/* 80052D0C 0004EB4C 00 00 00 00 */ .4byte 0x00000000
|
2022-10-16 16:31:36 +00:00
|
|
|
.global PADReset
|
|
|
|
PADReset:
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052D10 0004EB50 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
|
|
/* 80052D14 0004EB54 7C 08 02 A6 */ mflr r0
|
|
|
|
/* 80052D18 0004EB58 90 01 00 14 */ stw r0, 0x14(r1)
|
|
|
|
/* 80052D1C 0004EB5C 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
|
|
/* 80052D20 0004EB60 93 C1 00 08 */ stw r30, 0x8(r1)
|
|
|
|
/* 80052D24 0004EB64 7C 7E 1B 78 */ mr r30, r3
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052D28 0004EB68 4B FC EA F9 */ bl OSDisableInterrupts
|
|
|
|
/* 80052D2C 0004EB6C 80 0D E9 50 */ lwz r0, PendingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052D30 0004EB70 7C 7F 1B 78 */ mr r31, r3
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052D34 0004EB74 80 8D E9 58 */ lwz r4, WaitingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052D38 0004EB78 38 E0 00 00 */ li r7, 0x0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052D3C 0004EB7C 80 6D E9 54 */ lwz r3, CheckingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052D40 0004EB80 7F DE 03 78 */ or r30, r30, r0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052D44 0004EB84 80 0D 83 B0 */ lwz r0, Spec@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052D48 0004EB88 7C 84 1B 78 */ or r4, r4, r3
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052D4C 0004EB8C 80 6D E9 60 */ lwz r3, ResettingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052D50 0004EB90 7F DE 20 78 */ andc r30, r30, r4
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052D54 0004EB94 80 AD E9 64 */ lwz r5, EnabledBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052D58 0004EB98 7C 66 F3 78 */ or r6, r3, r30
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052D5C 0004EB9C 80 6D E9 4C */ lwz r3, BarrelBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052D60 0004EBA0 7F C8 F0 F8 */ nor r8, r30, r30
|
|
|
|
/* 80052D64 0004EBA4 28 00 00 04 */ cmplwi r0, 0x4
|
|
|
|
/* 80052D68 0004EBA8 7C 60 40 38 */ and r0, r3, r8
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052D6C 0004EBAC 90 ED E9 50 */ stw r7, PendingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052D70 0004EBB0 7C A4 40 38 */ and r4, r5, r8
|
|
|
|
/* 80052D74 0004EBB4 7C C3 28 38 */ and r3, r6, r5
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052D78 0004EBB8 90 CD E9 60 */ stw r6, ResettingBits@sda21(r13)
|
|
|
|
/* 80052D7C 0004EBBC 90 8D E9 64 */ stw r4, EnabledBits@sda21(r13)
|
|
|
|
/* 80052D80 0004EBC0 90 0D E9 4C */ stw r0, BarrelBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052D84 0004EBC4 40 82 00 10 */ bne lbl_80052D94
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052D88 0004EBC8 80 0D E9 5C */ lwz r0, RecalibrateBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052D8C 0004EBCC 7C 00 F3 78 */ or r0, r0, r30
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052D90 0004EBD0 90 0D E9 5C */ stw r0, RecalibrateBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
.global lbl_80052D94
|
|
|
|
lbl_80052D94:
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052D94 0004EBD4 4B FD 82 FD */ bl SIDisablePolling
|
|
|
|
/* 80052D98 0004EBD8 80 0D 83 A4 */ lwz r0, ResettingChan@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052D9C 0004EBDC 2C 00 00 20 */ cmpwi r0, 0x20
|
|
|
|
/* 80052DA0 0004EBE0 40 82 00 54 */ bne lbl_80052DF4
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052DA4 0004EBE4 80 CD E9 60 */ lwz r6, ResettingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052DA8 0004EBE8 7C C5 00 34 */ cntlzw r5, r6
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052DAC 0004EBEC 90 AD 83 A4 */ stw r5, ResettingChan@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052DB0 0004EBF0 2C 05 00 20 */ cmpwi r5, 0x20
|
|
|
|
/* 80052DB4 0004EBF4 41 82 00 40 */ beq lbl_80052DF4
|
|
|
|
/* 80052DB8 0004EBF8 3C 00 80 00 */ lis r0, 0x8000
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052DBC 0004EBFC 3C 60 80 4C */ lis r3, Origin@ha
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052DC0 0004EC00 7C 00 2C 30 */ srw r0, r0, r5
|
|
|
|
/* 80052DC4 0004EC04 38 80 00 00 */ li r4, 0x0
|
|
|
|
/* 80052DC8 0004EC08 7C C0 00 78 */ andc r0, r6, r0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052DCC 0004EC0C 90 0D E9 60 */ stw r0, ResettingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052DD0 0004EC10 1C 05 00 0C */ mulli r0, r5, 0xc
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052DD4 0004EC14 38 63 19 60 */ addi r3, r3, Origin@l
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052DD8 0004EC18 38 A0 00 0C */ li r5, 0xc
|
|
|
|
/* 80052DDC 0004EC1C 7C 63 02 14 */ add r3, r3, r0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052DE0 0004EC20 4B FB 15 71 */ bl memset
|
|
|
|
/* 80052DE4 0004EC24 3C 80 80 05 */ lis r4, PADTypeAndStatusCallback@ha
|
|
|
|
/* 80052DE8 0004EC28 80 6D 83 A4 */ lwz r3, ResettingChan@sda21(r13)
|
|
|
|
/* 80052DEC 0004EC2C 38 84 28 B0 */ addi r4, r4, PADTypeAndStatusCallback@l
|
|
|
|
/* 80052DF0 0004EC30 4B FD 8A C1 */ bl SIGetTypeAsync
|
2022-10-16 16:05:58 +00:00
|
|
|
.global lbl_80052DF4
|
|
|
|
lbl_80052DF4:
|
|
|
|
/* 80052DF4 0004EC34 7F E3 FB 78 */ mr r3, r31
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052DF8 0004EC38 4B FC EA 69 */ bl OSRestoreInterrupts
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052DFC 0004EC3C 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
|
|
/* 80052E00 0004EC40 38 60 00 01 */ li r3, 0x1
|
|
|
|
/* 80052E04 0004EC44 83 C1 00 08 */ lwz r30, 0x8(r1)
|
|
|
|
/* 80052E08 0004EC48 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
|
|
/* 80052E0C 0004EC4C 7C 08 03 A6 */ mtlr r0
|
|
|
|
/* 80052E10 0004EC50 38 21 00 10 */ addi r1, r1, 0x10
|
|
|
|
/* 80052E14 0004EC54 4E 80 00 20 */ blr
|
|
|
|
/* 80052E18 0004EC58 00 00 00 00 */ .4byte 0x00000000
|
|
|
|
/* 80052E1C 0004EC5C 00 00 00 00 */ .4byte 0x00000000
|
2022-10-16 16:31:36 +00:00
|
|
|
.global PADRecalibrate
|
|
|
|
PADRecalibrate:
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052E20 0004EC60 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
|
|
/* 80052E24 0004EC64 7C 08 02 A6 */ mflr r0
|
|
|
|
/* 80052E28 0004EC68 90 01 00 14 */ stw r0, 0x14(r1)
|
|
|
|
/* 80052E2C 0004EC6C 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
|
|
/* 80052E30 0004EC70 93 C1 00 08 */ stw r30, 0x8(r1)
|
|
|
|
/* 80052E34 0004EC74 7C 7E 1B 78 */ mr r30, r3
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052E38 0004EC78 4B FC E9 E9 */ bl OSDisableInterrupts
|
|
|
|
/* 80052E3C 0004EC7C 80 AD E9 50 */ lwz r5, PendingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052E40 0004EC80 7C 7F 1B 78 */ mr r31, r3
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052E44 0004EC84 80 CD E9 58 */ lwz r6, WaitingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052E48 0004EC88 38 E0 00 00 */ li r7, 0x0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052E4C 0004EC8C 80 0D E9 54 */ lwz r0, CheckingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052E50 0004EC90 7F DE 2B 78 */ or r30, r30, r5
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052E54 0004EC94 80 AD E9 60 */ lwz r5, ResettingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052E58 0004EC98 3C 80 80 00 */ lis r4, 0x800030E3@ha
|
|
|
|
/* 80052E5C 0004EC9C 7C C0 03 78 */ or r0, r6, r0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052E60 0004ECA0 80 6D E9 64 */ lwz r3, EnabledBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052E64 0004ECA4 7F DE 00 78 */ andc r30, r30, r0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052E68 0004ECA8 80 0D E9 4C */ lwz r0, BarrelBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052E6C 0004ECAC 7F C8 F0 F8 */ nor r8, r30, r30
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052E70 0004ECB0 90 ED E9 50 */ stw r7, PendingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052E74 0004ECB4 7C A6 F3 78 */ or r6, r5, r30
|
|
|
|
/* 80052E78 0004ECB8 7C 65 40 38 */ and r5, r3, r8
|
|
|
|
/* 80052E7C 0004ECBC 7C 00 40 38 */ and r0, r0, r8
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052E80 0004ECC0 90 CD E9 60 */ stw r6, ResettingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052E84 0004ECC4 7C C3 18 38 */ and r3, r6, r3
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052E88 0004ECC8 90 AD E9 64 */ stw r5, EnabledBits@sda21(r13)
|
|
|
|
/* 80052E8C 0004ECCC 90 0D E9 4C */ stw r0, BarrelBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052E90 0004ECD0 88 04 30 E3 */ lbz r0, 0x800030E3@l(r4)
|
|
|
|
/* 80052E94 0004ECD4 54 00 06 73 */ rlwinm. r0, r0, 0, 25, 25
|
|
|
|
/* 80052E98 0004ECD8 40 82 00 10 */ bne lbl_80052EA8
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052E9C 0004ECDC 80 0D E9 5C */ lwz r0, RecalibrateBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052EA0 0004ECE0 7C 00 F3 78 */ or r0, r0, r30
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052EA4 0004ECE4 90 0D E9 5C */ stw r0, RecalibrateBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
.global lbl_80052EA8
|
|
|
|
lbl_80052EA8:
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052EA8 0004ECE8 4B FD 81 E9 */ bl SIDisablePolling
|
|
|
|
/* 80052EAC 0004ECEC 80 0D 83 A4 */ lwz r0, ResettingChan@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052EB0 0004ECF0 2C 00 00 20 */ cmpwi r0, 0x20
|
|
|
|
/* 80052EB4 0004ECF4 40 82 00 54 */ bne lbl_80052F08
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052EB8 0004ECF8 80 CD E9 60 */ lwz r6, ResettingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052EBC 0004ECFC 7C C5 00 34 */ cntlzw r5, r6
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052EC0 0004ED00 90 AD 83 A4 */ stw r5, ResettingChan@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052EC4 0004ED04 2C 05 00 20 */ cmpwi r5, 0x20
|
|
|
|
/* 80052EC8 0004ED08 41 82 00 40 */ beq lbl_80052F08
|
|
|
|
/* 80052ECC 0004ED0C 3C 00 80 00 */ lis r0, 0x8000
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052ED0 0004ED10 3C 60 80 4C */ lis r3, Origin@ha
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052ED4 0004ED14 7C 00 2C 30 */ srw r0, r0, r5
|
|
|
|
/* 80052ED8 0004ED18 38 80 00 00 */ li r4, 0x0
|
|
|
|
/* 80052EDC 0004ED1C 7C C0 00 78 */ andc r0, r6, r0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052EE0 0004ED20 90 0D E9 60 */ stw r0, ResettingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052EE4 0004ED24 1C 05 00 0C */ mulli r0, r5, 0xc
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052EE8 0004ED28 38 63 19 60 */ addi r3, r3, Origin@l
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052EEC 0004ED2C 38 A0 00 0C */ li r5, 0xc
|
|
|
|
/* 80052EF0 0004ED30 7C 63 02 14 */ add r3, r3, r0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052EF4 0004ED34 4B FB 14 5D */ bl memset
|
|
|
|
/* 80052EF8 0004ED38 3C 80 80 05 */ lis r4, PADTypeAndStatusCallback@ha
|
|
|
|
/* 80052EFC 0004ED3C 80 6D 83 A4 */ lwz r3, ResettingChan@sda21(r13)
|
|
|
|
/* 80052F00 0004ED40 38 84 28 B0 */ addi r4, r4, PADTypeAndStatusCallback@l
|
|
|
|
/* 80052F04 0004ED44 4B FD 89 AD */ bl SIGetTypeAsync
|
2022-10-16 16:05:58 +00:00
|
|
|
.global lbl_80052F08
|
|
|
|
lbl_80052F08:
|
|
|
|
/* 80052F08 0004ED48 7F E3 FB 78 */ mr r3, r31
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052F0C 0004ED4C 4B FC E9 55 */ bl OSRestoreInterrupts
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052F10 0004ED50 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
|
|
/* 80052F14 0004ED54 38 60 00 01 */ li r3, 0x1
|
|
|
|
/* 80052F18 0004ED58 83 C1 00 08 */ lwz r30, 0x8(r1)
|
|
|
|
/* 80052F1C 0004ED5C 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
|
|
/* 80052F20 0004ED60 7C 08 03 A6 */ mtlr r0
|
|
|
|
/* 80052F24 0004ED64 38 21 00 10 */ addi r1, r1, 0x10
|
|
|
|
/* 80052F28 0004ED68 4E 80 00 20 */ blr
|
|
|
|
/* 80052F2C 0004ED6C 00 00 00 00 */ .4byte 0x00000000
|
2022-10-16 16:31:36 +00:00
|
|
|
.global PADInit
|
|
|
|
PADInit:
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052F30 0004ED70 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
|
|
/* 80052F34 0004ED74 7C 08 02 A6 */ mflr r0
|
|
|
|
/* 80052F38 0004ED78 90 01 00 14 */ stw r0, 0x14(r1)
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052F3C 0004ED7C 80 0D E9 68 */ lwz r0, Initialized_8055CD88@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052F40 0004ED80 2C 00 00 00 */ cmpwi r0, 0x0
|
|
|
|
/* 80052F44 0004ED84 41 82 00 0C */ beq lbl_80052F50
|
|
|
|
/* 80052F48 0004ED88 38 60 00 01 */ li r3, 0x1
|
|
|
|
/* 80052F4C 0004ED8C 48 00 01 2C */ b lbl_80053078
|
|
|
|
.global lbl_80052F50
|
|
|
|
lbl_80052F50:
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052F50 0004ED90 80 6D 83 A0 */ lwz r3, __PADVersion@sda21(r13)
|
|
|
|
/* 80052F54 0004ED94 4B FC 87 8D */ bl OSRegisterVersion
|
|
|
|
/* 80052F58 0004ED98 80 8D E9 48 */ lwz r4, __PADSpec@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052F5C 0004ED9C 2C 84 00 00 */ cmpwi cr1, r4, 0x0
|
|
|
|
/* 80052F60 0004EDA0 41 86 00 58 */ beq cr1, lbl_80052FB8
|
|
|
|
/* 80052F64 0004EDA4 38 04 FF FE */ addi r0, r4, -0x2
|
|
|
|
/* 80052F68 0004EDA8 38 60 00 00 */ li r3, 0x0
|
|
|
|
/* 80052F6C 0004EDAC 28 00 00 03 */ cmplwi r0, 0x3
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052F70 0004EDB0 90 6D E9 48 */ stw r3, __PADSpec@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052F74 0004EDB4 40 81 00 34 */ ble lbl_80052FA8
|
|
|
|
/* 80052F78 0004EDB8 41 86 00 10 */ beq cr1, lbl_80052F88
|
|
|
|
/* 80052F7C 0004EDBC 28 04 00 01 */ cmplwi r4, 0x1
|
|
|
|
/* 80052F80 0004EDC0 41 82 00 18 */ beq lbl_80052F98
|
|
|
|
/* 80052F84 0004EDC4 48 00 00 30 */ b lbl_80052FB4
|
|
|
|
.global lbl_80052F88
|
|
|
|
lbl_80052F88:
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052F88 0004EDC8 3C 60 80 05 */ lis r3, SPEC0_MakeStatus@ha
|
|
|
|
/* 80052F8C 0004EDCC 38 63 36 10 */ addi r3, r3, SPEC0_MakeStatus@l
|
|
|
|
/* 80052F90 0004EDD0 90 6D 83 B4 */ stw r3, MakeStatus@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052F94 0004EDD4 48 00 00 20 */ b lbl_80052FB4
|
|
|
|
.global lbl_80052F98
|
|
|
|
lbl_80052F98:
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052F98 0004EDD8 3C 60 80 05 */ lis r3, SPEC1_MakeStatus@ha
|
|
|
|
/* 80052F9C 0004EDDC 38 63 37 30 */ addi r3, r3, SPEC1_MakeStatus@l
|
|
|
|
/* 80052FA0 0004EDE0 90 6D 83 B4 */ stw r3, MakeStatus@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052FA4 0004EDE4 48 00 00 10 */ b lbl_80052FB4
|
|
|
|
.global lbl_80052FA8
|
|
|
|
lbl_80052FA8:
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052FA8 0004EDE8 3C 60 80 05 */ lis r3, SPEC2_MakeStatus@ha
|
|
|
|
/* 80052FAC 0004EDEC 38 63 38 50 */ addi r3, r3, SPEC2_MakeStatus@l
|
|
|
|
/* 80052FB0 0004EDF0 90 6D 83 B4 */ stw r3, MakeStatus@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
.global lbl_80052FB4
|
|
|
|
lbl_80052FB4:
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052FB4 0004EDF4 90 8D 83 B0 */ stw r4, Spec@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
.global lbl_80052FB8
|
|
|
|
lbl_80052FB8:
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052FB8 0004EDF8 80 0D E4 CC */ lwz r0, __PADFixBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052FBC 0004EDFC 38 60 00 01 */ li r3, 0x1
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052FC0 0004EE00 90 6D E9 68 */ stw r3, Initialized_8055CD88@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052FC4 0004EE04 2C 00 00 00 */ cmpwi r0, 0x0
|
|
|
|
/* 80052FC8 0004EE08 41 82 00 64 */ beq lbl_8005302C
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80052FCC 0004EE0C 4B FD 2B 75 */ bl OSGetTime
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80052FD0 0004EE10 7C 68 86 70 */ srawi r8, r3, 16
|
|
|
|
/* 80052FD4 0004EE14 3C A0 00 01 */ lis r5, 0x1
|
|
|
|
/* 80052FD8 0004EE18 7C 60 FE 70 */ srawi r0, r3, 31
|
|
|
|
/* 80052FDC 0004EE1C 38 C0 00 00 */ li r6, 0x0
|
|
|
|
/* 80052FE0 0004EE20 38 E5 FF FF */ addi r7, r5, -0x1
|
|
|
|
/* 80052FE4 0004EE24 54 85 80 3E */ rotlwi r5, r4, 16
|
|
|
|
/* 80052FE8 0004EE28 7C 60 FE 70 */ srawi r0, r3, 31
|
|
|
|
/* 80052FEC 0004EE2C 50 65 80 1E */ rlwimi r5, r3, 16, 0, 15
|
|
|
|
/* 80052FF0 0004EE30 7C 84 38 38 */ and r4, r4, r7
|
|
|
|
/* 80052FF4 0004EE34 7C 60 86 70 */ srawi r0, r3, 16
|
|
|
|
/* 80052FF8 0004EE38 7C A0 38 38 */ and r0, r5, r7
|
|
|
|
/* 80052FFC 0004EE3C 7C 65 38 38 */ and r5, r3, r7
|
|
|
|
/* 80053000 0004EE40 7C 04 00 14 */ addc r0, r4, r0
|
|
|
|
/* 80053004 0004EE44 7D 07 38 38 */ and r7, r8, r7
|
|
|
|
/* 80053008 0004EE48 7C 86 31 14 */ adde r4, r6, r6
|
|
|
|
/* 8005300C 0004EE4C 3C 60 80 00 */ lis r3, 0x800030E0@ha
|
|
|
|
/* 80053010 0004EE50 7C A5 00 14 */ addc r5, r5, r0
|
|
|
|
/* 80053014 0004EE54 3C 00 F0 00 */ lis r0, 0xf000
|
|
|
|
/* 80053018 0004EE58 7C 86 21 14 */ adde r4, r6, r4
|
|
|
|
/* 8005301C 0004EE5C 7C 87 28 14 */ addc r4, r7, r5
|
|
|
|
/* 80053020 0004EE60 54 84 04 BE */ clrlwi r4, r4, 18
|
|
|
|
/* 80053024 0004EE64 B0 83 30 E0 */ sth r4, 0x800030E0@l(r3)
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053028 0004EE68 90 0D E9 5C */ stw r0, RecalibrateBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
.global lbl_8005302C
|
|
|
|
lbl_8005302C:
|
|
|
|
/* 8005302C 0004EE6C 3C 80 80 00 */ lis r4, 0x800030E0@ha
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053030 0004EE70 3C 60 80 4C */ lis r3, CmdProbeDevice@ha
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053034 0004EE74 A0 04 30 E0 */ lhz r0, 0x800030E0@l(r4)
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053038 0004EE78 38 83 19 A0 */ addi r4, r3, CmdProbeDevice@l
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8005303C 0004EE7C 54 06 42 AE */ rlwinm r6, r0, 8, 10, 23
|
|
|
|
/* 80053040 0004EE80 64 C0 4D 00 */ oris r0, r6, 0x4d00
|
|
|
|
/* 80053044 0004EE84 90 03 19 A0 */ stw r0, 0x19a0(r3)
|
|
|
|
/* 80053048 0004EE88 64 C5 4D 40 */ oris r5, r6, 0x4d40
|
|
|
|
/* 8005304C 0004EE8C 64 C3 4D 80 */ oris r3, r6, 0x4d80
|
|
|
|
/* 80053050 0004EE90 64 C0 4D C0 */ oris r0, r6, 0x4dc0
|
|
|
|
/* 80053054 0004EE94 90 A4 00 04 */ stw r5, 0x4(r4)
|
|
|
|
/* 80053058 0004EE98 90 64 00 08 */ stw r3, 0x8(r4)
|
|
|
|
/* 8005305C 0004EE9C 90 04 00 0C */ stw r0, 0xc(r4)
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053060 0004EEA0 4B FD 8A 41 */ bl SIRefreshSamplingRate
|
|
|
|
/* 80053064 0004EEA4 3C 60 80 44 */ lis r3, ShutdownFunctionInfo_80438578@ha
|
|
|
|
/* 80053068 0004EEA8 38 63 85 78 */ addi r3, r3, ShutdownFunctionInfo_80438578@l
|
|
|
|
/* 8005306C 0004EEAC 4B FC FE A5 */ bl OSRegisterShutdownFunction
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053070 0004EEB0 3C 60 F0 00 */ lis r3, 0xf000
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053074 0004EEB4 4B FF FC 9D */ bl PADReset
|
2022-10-16 16:05:58 +00:00
|
|
|
.global lbl_80053078
|
|
|
|
lbl_80053078:
|
|
|
|
/* 80053078 0004EEB8 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
|
|
/* 8005307C 0004EEBC 7C 08 03 A6 */ mtlr r0
|
|
|
|
/* 80053080 0004EEC0 38 21 00 10 */ addi r1, r1, 0x10
|
|
|
|
/* 80053084 0004EEC4 4E 80 00 20 */ blr
|
|
|
|
/* 80053088 0004EEC8 00 00 00 00 */ .4byte 0x00000000
|
|
|
|
/* 8005308C 0004EECC 00 00 00 00 */ .4byte 0x00000000
|
2022-10-16 16:31:36 +00:00
|
|
|
.global PADRead
|
|
|
|
PADRead:
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053090 0004EED0 94 21 FF B0 */ stwu r1, -0x50(r1)
|
|
|
|
/* 80053094 0004EED4 7C 08 02 A6 */ mflr r0
|
|
|
|
/* 80053098 0004EED8 90 01 00 54 */ stw r0, 0x54(r1)
|
|
|
|
/* 8005309C 0004EEDC 39 61 00 50 */ addi r11, r1, 0x50
|
|
|
|
/* 800530A0 0004EEE0 4B FB 42 71 */ bl lbl_80007310
|
|
|
|
/* 800530A4 0004EEE4 7C 70 1B 78 */ mr r16, r3
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800530A8 0004EEE8 4B FC E7 79 */ bl OSDisableInterrupts
|
|
|
|
/* 800530AC 0004EEEC 3E E0 80 4C */ lis r23, Type_804C1990@ha
|
|
|
|
/* 800530B0 0004EEF0 3E C0 80 4C */ lis r22, "@LOCAL@PADRead__FP9PADStatus@pre_status@1"@ha
|
|
|
|
/* 800530B4 0004EEF4 3E A0 80 4C */ lis r21, Origin@ha
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800530B8 0004EEF8 7C 73 1B 78 */ mr r19, r3
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800530BC 0004EEFC 3A F7 19 90 */ addi r23, r23, Type_804C1990@l
|
|
|
|
/* 800530C0 0004EF00 3A D6 19 E0 */ addi r22, r22, "@LOCAL@PADRead__FP9PADStatus@pre_status@1"@l
|
|
|
|
/* 800530C4 0004EF04 3A B5 19 60 */ addi r21, r21, Origin@l
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800530C8 0004EF08 3A 20 00 00 */ li r17, 0x0
|
|
|
|
/* 800530CC 0004EF0C 3A 40 00 00 */ li r18, 0x0
|
|
|
|
/* 800530D0 0004EF10 3B 40 FF FE */ li r26, -0x2
|
|
|
|
/* 800530D4 0004EF14 3B 60 FF FF */ li r27, -0x1
|
|
|
|
/* 800530D8 0004EF18 3B 80 FF FD */ li r28, -0x3
|
|
|
|
/* 800530DC 0004EF1C 3B A0 00 00 */ li r29, 0x0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800530E0 0004EF20 3F C0 80 05 */ lis r30, PADReceiveCheckCallback@ha
|
|
|
|
/* 800530E4 0004EF24 3F E0 80 05 */ lis r31, PADOriginUpdateCallback@ha
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800530E8 0004EF28 3F 20 80 00 */ lis r25, 0x8000
|
|
|
|
.global lbl_800530EC
|
|
|
|
lbl_800530EC:
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800530EC 0004EF2C 80 0D E9 50 */ lwz r0, PendingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800530F0 0004EF30 7F 34 94 30 */ srw r20, r25, r18
|
|
|
|
/* 800530F4 0004EF34 7C 00 A0 39 */ and. r0, r0, r20
|
|
|
|
/* 800530F8 0004EF38 41 82 00 24 */ beq lbl_8005311C
|
|
|
|
/* 800530FC 0004EF3C 38 60 00 00 */ li r3, 0x0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053100 0004EF40 4B FF FC 11 */ bl PADReset
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053104 0004EF44 9B 50 00 0A */ stb r26, 0xa(r16)
|
|
|
|
/* 80053108 0004EF48 7E 03 83 78 */ mr r3, r16
|
|
|
|
/* 8005310C 0004EF4C 38 80 00 00 */ li r4, 0x0
|
|
|
|
/* 80053110 0004EF50 38 A0 00 0A */ li r5, 0xa
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053114 0004EF54 4B FB 12 3D */ bl memset
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053118 0004EF58 48 00 03 F8 */ b lbl_80053510
|
|
|
|
.global lbl_8005311C
|
|
|
|
lbl_8005311C:
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 8005311C 0004EF5C 80 0D E9 60 */ lwz r0, ResettingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053120 0004EF60 7C 00 A0 39 */ and. r0, r0, r20
|
|
|
|
/* 80053124 0004EF64 40 82 00 10 */ bne lbl_80053134
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053128 0004EF68 80 0D 83 A4 */ lwz r0, ResettingChan@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8005312C 0004EF6C 7C 00 90 00 */ cmpw r0, r18
|
|
|
|
/* 80053130 0004EF70 40 82 00 1C */ bne lbl_8005314C
|
|
|
|
.global lbl_80053134
|
|
|
|
lbl_80053134:
|
|
|
|
/* 80053134 0004EF74 9B 50 00 0A */ stb r26, 0xa(r16)
|
|
|
|
/* 80053138 0004EF78 7E 03 83 78 */ mr r3, r16
|
|
|
|
/* 8005313C 0004EF7C 38 80 00 00 */ li r4, 0x0
|
|
|
|
/* 80053140 0004EF80 38 A0 00 0A */ li r5, 0xa
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053144 0004EF84 4B FB 12 0D */ bl memset
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053148 0004EF88 48 00 03 C8 */ b lbl_80053510
|
|
|
|
.global lbl_8005314C
|
|
|
|
lbl_8005314C:
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 8005314C 0004EF8C 80 0D E9 64 */ lwz r0, EnabledBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053150 0004EF90 7C 00 A0 39 */ and. r0, r0, r20
|
|
|
|
/* 80053154 0004EF94 40 82 00 1C */ bne lbl_80053170
|
|
|
|
/* 80053158 0004EF98 9B 70 00 0A */ stb r27, 0xa(r16)
|
|
|
|
/* 8005315C 0004EF9C 7E 03 83 78 */ mr r3, r16
|
|
|
|
/* 80053160 0004EFA0 38 80 00 00 */ li r4, 0x0
|
|
|
|
/* 80053164 0004EFA4 38 A0 00 0A */ li r5, 0xa
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053168 0004EFA8 4B FB 11 E9 */ bl memset
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8005316C 0004EFAC 48 00 03 A4 */ b lbl_80053510
|
|
|
|
.global lbl_80053170
|
|
|
|
lbl_80053170:
|
|
|
|
/* 80053170 0004EFB0 7E 43 93 78 */ mr r3, r18
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053174 0004EFB4 4B FD 72 6D */ bl SIIsChanBusy
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053178 0004EFB8 2C 03 00 00 */ cmpwi r3, 0x0
|
|
|
|
/* 8005317C 0004EFBC 41 82 00 1C */ beq lbl_80053198
|
|
|
|
/* 80053180 0004EFC0 9B 90 00 0A */ stb r28, 0xa(r16)
|
|
|
|
/* 80053184 0004EFC4 7E 03 83 78 */ mr r3, r16
|
|
|
|
/* 80053188 0004EFC8 38 80 00 00 */ li r4, 0x0
|
|
|
|
/* 8005318C 0004EFCC 38 A0 00 0A */ li r5, 0xa
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053190 0004EFD0 4B FB 11 C1 */ bl memset
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053194 0004EFD4 48 00 03 7C */ b lbl_80053510
|
|
|
|
.global lbl_80053198
|
|
|
|
lbl_80053198:
|
|
|
|
/* 80053198 0004EFD8 7E 43 93 78 */ mr r3, r18
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 8005319C 0004EFDC 4B FD 7D 55 */ bl SIGetStatus
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800531A0 0004EFE0 54 60 07 39 */ rlwinm. r0, r3, 0, 28, 28
|
|
|
|
/* 800531A4 0004EFE4 41 82 00 D0 */ beq lbl_80053274
|
|
|
|
/* 800531A8 0004EFE8 7E 43 93 78 */ mr r3, r18
|
|
|
|
/* 800531AC 0004EFEC 38 81 00 08 */ addi r4, r1, 0x8
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800531B0 0004EFF0 4B FD 7F 51 */ bl SIGetResponse
|
|
|
|
/* 800531B4 0004EFF4 80 0D E9 58 */ lwz r0, WaitingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800531B8 0004EFF8 7C 00 A0 39 */ and. r0, r0, r20
|
|
|
|
/* 800531BC 0004EFFC 41 82 00 3C */ beq lbl_800531F8
|
|
|
|
/* 800531C0 0004F000 9B B0 00 0A */ stb r29, 0xa(r16)
|
|
|
|
/* 800531C4 0004F004 7E 03 83 78 */ mr r3, r16
|
|
|
|
/* 800531C8 0004F008 38 80 00 00 */ li r4, 0x0
|
|
|
|
/* 800531CC 0004F00C 38 A0 00 0A */ li r5, 0xa
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800531D0 0004F010 4B FB 11 81 */ bl memset
|
|
|
|
/* 800531D4 0004F014 80 6D E9 54 */ lwz r3, CheckingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800531D8 0004F018 7C 60 A0 39 */ and. r0, r3, r20
|
|
|
|
/* 800531DC 0004F01C 40 82 03 34 */ bne lbl_80053510
|
|
|
|
/* 800531E0 0004F020 7C 60 A3 78 */ or r0, r3, r20
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800531E4 0004F024 90 0D E9 54 */ stw r0, CheckingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800531E8 0004F028 7E 43 93 78 */ mr r3, r18
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800531EC 0004F02C 38 9E 2B D0 */ addi r4, r30, PADReceiveCheckCallback@l
|
|
|
|
/* 800531F0 0004F030 4B FD 86 C1 */ bl SIGetTypeAsync
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800531F4 0004F034 48 00 03 1C */ b lbl_80053510
|
|
|
|
.global lbl_800531F8
|
|
|
|
lbl_800531F8:
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800531F8 0004F038 4B FC E6 29 */ bl OSDisableInterrupts
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800531FC 0004F03C 7C 78 1B 78 */ mr r24, r3
|
|
|
|
/* 80053200 0004F040 7E 83 A3 78 */ mr r3, r20
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053204 0004F044 4B FD 7E 8D */ bl SIDisablePolling
|
|
|
|
/* 80053208 0004F048 80 8D E9 64 */ lwz r4, EnabledBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8005320C 0004F04C 7E 89 A0 F8 */ nor r9, r20, r20
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053210 0004F050 80 0D E9 58 */ lwz r0, WaitingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053214 0004F054 7E 43 93 78 */ mr r3, r18
|
|
|
|
/* 80053218 0004F058 7C 88 48 38 */ and r8, r4, r9
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 8005321C 0004F05C 80 AD E9 54 */ lwz r5, CheckingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053220 0004F060 7C 07 48 38 */ and r7, r0, r9
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053224 0004F064 80 0D E9 4C */ lwz r0, BarrelBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053228 0004F068 7C A6 48 38 */ and r6, r5, r9
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 8005322C 0004F06C 80 8D E9 50 */ lwz r4, PendingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053230 0004F070 7C 00 48 38 */ and r0, r0, r9
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053234 0004F074 91 0D E9 64 */ stw r8, EnabledBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053238 0004F078 7C 85 48 38 */ and r5, r4, r9
|
|
|
|
/* 8005323C 0004F07C 38 80 00 00 */ li r4, 0x0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053240 0004F080 90 ED E9 58 */ stw r7, WaitingBits@sda21(r13)
|
|
|
|
/* 80053244 0004F084 90 CD E9 54 */ stw r6, CheckingBits@sda21(r13)
|
|
|
|
/* 80053248 0004F088 90 AD E9 50 */ stw r5, PendingBits@sda21(r13)
|
|
|
|
/* 8005324C 0004F08C 90 0D E9 4C */ stw r0, BarrelBits@sda21(r13)
|
|
|
|
/* 80053250 0004F090 4B FD 0D D1 */ bl OSSetWirelessID
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053254 0004F094 7F 03 C3 78 */ mr r3, r24
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053258 0004F098 4B FC E6 09 */ bl OSRestoreInterrupts
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8005325C 0004F09C 9B 70 00 0A */ stb r27, 0xa(r16)
|
|
|
|
/* 80053260 0004F0A0 7E 03 83 78 */ mr r3, r16
|
|
|
|
/* 80053264 0004F0A4 38 80 00 00 */ li r4, 0x0
|
|
|
|
/* 80053268 0004F0A8 38 A0 00 0A */ li r5, 0xa
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 8005326C 0004F0AC 4B FB 10 E5 */ bl memset
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053270 0004F0B0 48 00 02 A0 */ b lbl_80053510
|
|
|
|
.global lbl_80053274
|
|
|
|
lbl_80053274:
|
|
|
|
/* 80053274 0004F0B4 7E 43 93 78 */ mr r3, r18
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053278 0004F0B8 4B FD 84 79 */ bl SIGetType
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8005327C 0004F0BC 54 60 00 85 */ rlwinm. r0, r3, 0, 2, 2
|
|
|
|
/* 80053280 0004F0C0 40 82 00 08 */ bne lbl_80053288
|
|
|
|
/* 80053284 0004F0C4 7E 31 A3 78 */ or r17, r17, r20
|
|
|
|
.global lbl_80053288
|
|
|
|
lbl_80053288:
|
|
|
|
/* 80053288 0004F0C8 7E 43 93 78 */ mr r3, r18
|
|
|
|
/* 8005328C 0004F0CC 38 81 00 08 */ addi r4, r1, 0x8
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053290 0004F0D0 4B FD 7E 71 */ bl SIGetResponse
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053294 0004F0D4 2C 03 00 00 */ cmpwi r3, 0x0
|
|
|
|
/* 80053298 0004F0D8 40 82 00 1C */ bne lbl_800532B4
|
|
|
|
/* 8005329C 0004F0DC 9B 90 00 0A */ stb r28, 0xa(r16)
|
|
|
|
/* 800532A0 0004F0E0 7E 03 83 78 */ mr r3, r16
|
|
|
|
/* 800532A4 0004F0E4 38 80 00 00 */ li r4, 0x0
|
|
|
|
/* 800532A8 0004F0E8 38 A0 00 0A */ li r5, 0xa
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800532AC 0004F0EC 4B FB 10 A5 */ bl memset
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800532B0 0004F0F0 48 00 02 60 */ b lbl_80053510
|
|
|
|
.global lbl_800532B4
|
|
|
|
lbl_800532B4:
|
|
|
|
/* 800532B4 0004F0F4 80 01 00 08 */ lwz r0, 0x8(r1)
|
|
|
|
/* 800532B8 0004F0F8 54 00 00 01 */ clrrwi. r0, r0, 31
|
|
|
|
/* 800532BC 0004F0FC 41 82 00 1C */ beq lbl_800532D8
|
|
|
|
/* 800532C0 0004F100 9B 90 00 0A */ stb r28, 0xa(r16)
|
|
|
|
/* 800532C4 0004F104 7E 03 83 78 */ mr r3, r16
|
|
|
|
/* 800532C8 0004F108 38 80 00 00 */ li r4, 0x0
|
|
|
|
/* 800532CC 0004F10C 38 A0 00 0A */ li r5, 0xa
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800532D0 0004F110 4B FB 10 81 */ bl memset
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800532D4 0004F114 48 00 02 3C */ b lbl_80053510
|
|
|
|
.global lbl_800532D8
|
|
|
|
lbl_800532D8:
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800532D8 0004F118 81 8D 83 B4 */ lwz r12, MakeStatus@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800532DC 0004F11C 7E 43 93 78 */ mr r3, r18
|
|
|
|
/* 800532E0 0004F120 7E 04 83 78 */ mr r4, r16
|
|
|
|
/* 800532E4 0004F124 38 A1 00 08 */ addi r5, r1, 0x8
|
|
|
|
/* 800532E8 0004F128 7D 89 03 A6 */ mtctr r12
|
|
|
|
/* 800532EC 0004F12C 4E 80 04 21 */ bctrl
|
|
|
|
/* 800532F0 0004F130 80 17 00 00 */ lwz r0, 0x0(r23)
|
|
|
|
/* 800532F4 0004F134 54 03 00 1E */ clrrwi r3, r0, 16
|
|
|
|
/* 800532F8 0004F138 3C 03 F7 00 */ addis r0, r3, 0xf700
|
|
|
|
/* 800532FC 0004F13C 28 00 00 00 */ cmplwi r0, 0x0
|
|
|
|
/* 80053300 0004F140 40 82 00 20 */ bne lbl_80053320
|
|
|
|
/* 80053304 0004F144 A0 10 00 00 */ lhz r0, 0x0(r16)
|
|
|
|
/* 80053308 0004F148 54 00 06 30 */ rlwinm r0, r0, 0, 24, 24
|
|
|
|
/* 8005330C 0004F14C 68 00 00 80 */ xori r0, r0, 0x80
|
|
|
|
/* 80053310 0004F150 2C 00 00 00 */ cmpwi r0, 0x0
|
|
|
|
/* 80053314 0004F154 41 82 00 0C */ beq lbl_80053320
|
|
|
|
/* 80053318 0004F158 38 00 00 0A */ li r0, 0xa
|
|
|
|
/* 8005331C 0004F15C 48 00 00 08 */ b lbl_80053324
|
|
|
|
.global lbl_80053320
|
|
|
|
lbl_80053320:
|
|
|
|
/* 80053320 0004F160 38 00 00 03 */ li r0, 0x3
|
|
|
|
.global lbl_80053324
|
|
|
|
lbl_80053324:
|
|
|
|
/* 80053324 0004F164 88 96 00 02 */ lbz r4, 0x2(r22)
|
|
|
|
/* 80053328 0004F168 88 70 00 02 */ lbz r3, 0x2(r16)
|
|
|
|
/* 8005332C 0004F16C 7C 85 07 74 */ extsb r5, r4
|
|
|
|
/* 80053330 0004F170 7C A6 FE 70 */ srawi r6, r5, 31
|
|
|
|
/* 80053334 0004F174 7C 63 07 74 */ extsb r3, r3
|
|
|
|
/* 80053338 0004F178 7C 64 FE 70 */ srawi r4, r3, 31
|
|
|
|
/* 8005333C 0004F17C 7C C5 2A 78 */ xor r5, r6, r5
|
|
|
|
/* 80053340 0004F180 7C 83 1A 78 */ xor r3, r4, r3
|
|
|
|
/* 80053344 0004F184 7C A6 28 50 */ subf r5, r6, r5
|
|
|
|
/* 80053348 0004F188 7C 64 18 50 */ subf r3, r4, r3
|
|
|
|
/* 8005334C 0004F18C 7C 65 18 50 */ subf r3, r5, r3
|
|
|
|
/* 80053350 0004F190 7C 64 FE 70 */ srawi r4, r3, 31
|
|
|
|
/* 80053354 0004F194 7C 83 1A 78 */ xor r3, r4, r3
|
|
|
|
/* 80053358 0004F198 7C 64 18 50 */ subf r3, r4, r3
|
|
|
|
/* 8005335C 0004F19C 7C 03 00 00 */ cmpw r3, r0
|
|
|
|
/* 80053360 0004F1A0 40 80 01 44 */ bge lbl_800534A4
|
|
|
|
/* 80053364 0004F1A4 88 96 00 03 */ lbz r4, 0x3(r22)
|
|
|
|
/* 80053368 0004F1A8 88 70 00 03 */ lbz r3, 0x3(r16)
|
|
|
|
/* 8005336C 0004F1AC 7C 85 07 74 */ extsb r5, r4
|
|
|
|
/* 80053370 0004F1B0 7C A6 FE 70 */ srawi r6, r5, 31
|
|
|
|
/* 80053374 0004F1B4 7C 63 07 74 */ extsb r3, r3
|
|
|
|
/* 80053378 0004F1B8 7C 64 FE 70 */ srawi r4, r3, 31
|
|
|
|
/* 8005337C 0004F1BC 7C C5 2A 78 */ xor r5, r6, r5
|
|
|
|
/* 80053380 0004F1C0 7C 83 1A 78 */ xor r3, r4, r3
|
|
|
|
/* 80053384 0004F1C4 7C A6 28 50 */ subf r5, r6, r5
|
|
|
|
/* 80053388 0004F1C8 7C 64 18 50 */ subf r3, r4, r3
|
|
|
|
/* 8005338C 0004F1CC 7C 65 18 50 */ subf r3, r5, r3
|
|
|
|
/* 80053390 0004F1D0 7C 64 FE 70 */ srawi r4, r3, 31
|
|
|
|
/* 80053394 0004F1D4 7C 83 1A 78 */ xor r3, r4, r3
|
|
|
|
/* 80053398 0004F1D8 7C 64 18 50 */ subf r3, r4, r3
|
|
|
|
/* 8005339C 0004F1DC 7C 03 00 00 */ cmpw r3, r0
|
|
|
|
/* 800533A0 0004F1E0 40 80 01 04 */ bge lbl_800534A4
|
|
|
|
/* 800533A4 0004F1E4 88 96 00 04 */ lbz r4, 0x4(r22)
|
|
|
|
/* 800533A8 0004F1E8 88 70 00 04 */ lbz r3, 0x4(r16)
|
|
|
|
/* 800533AC 0004F1EC 7C 85 07 74 */ extsb r5, r4
|
|
|
|
/* 800533B0 0004F1F0 7C A6 FE 70 */ srawi r6, r5, 31
|
|
|
|
/* 800533B4 0004F1F4 7C 63 07 74 */ extsb r3, r3
|
|
|
|
/* 800533B8 0004F1F8 7C 64 FE 70 */ srawi r4, r3, 31
|
|
|
|
/* 800533BC 0004F1FC 7C C5 2A 78 */ xor r5, r6, r5
|
|
|
|
/* 800533C0 0004F200 7C 83 1A 78 */ xor r3, r4, r3
|
|
|
|
/* 800533C4 0004F204 7C A6 28 50 */ subf r5, r6, r5
|
|
|
|
/* 800533C8 0004F208 7C 64 18 50 */ subf r3, r4, r3
|
|
|
|
/* 800533CC 0004F20C 7C 65 18 50 */ subf r3, r5, r3
|
|
|
|
/* 800533D0 0004F210 7C 64 FE 70 */ srawi r4, r3, 31
|
|
|
|
/* 800533D4 0004F214 7C 83 1A 78 */ xor r3, r4, r3
|
|
|
|
/* 800533D8 0004F218 7C 64 18 50 */ subf r3, r4, r3
|
|
|
|
/* 800533DC 0004F21C 7C 03 00 00 */ cmpw r3, r0
|
|
|
|
/* 800533E0 0004F220 40 80 00 C4 */ bge lbl_800534A4
|
|
|
|
/* 800533E4 0004F224 88 96 00 05 */ lbz r4, 0x5(r22)
|
|
|
|
/* 800533E8 0004F228 88 70 00 05 */ lbz r3, 0x5(r16)
|
|
|
|
/* 800533EC 0004F22C 7C 85 07 74 */ extsb r5, r4
|
|
|
|
/* 800533F0 0004F230 7C A6 FE 70 */ srawi r6, r5, 31
|
|
|
|
/* 800533F4 0004F234 7C 63 07 74 */ extsb r3, r3
|
|
|
|
/* 800533F8 0004F238 7C 64 FE 70 */ srawi r4, r3, 31
|
|
|
|
/* 800533FC 0004F23C 7C C5 2A 78 */ xor r5, r6, r5
|
|
|
|
/* 80053400 0004F240 7C 83 1A 78 */ xor r3, r4, r3
|
|
|
|
/* 80053404 0004F244 7C A6 28 50 */ subf r5, r6, r5
|
|
|
|
/* 80053408 0004F248 7C 64 18 50 */ subf r3, r4, r3
|
|
|
|
/* 8005340C 0004F24C 7C 65 18 50 */ subf r3, r5, r3
|
|
|
|
/* 80053410 0004F250 7C 64 FE 70 */ srawi r4, r3, 31
|
|
|
|
/* 80053414 0004F254 7C 83 1A 78 */ xor r3, r4, r3
|
|
|
|
/* 80053418 0004F258 7C 64 18 50 */ subf r3, r4, r3
|
|
|
|
/* 8005341C 0004F25C 7C 03 00 00 */ cmpw r3, r0
|
|
|
|
/* 80053420 0004F260 40 80 00 84 */ bge lbl_800534A4
|
|
|
|
/* 80053424 0004F264 88 B6 00 06 */ lbz r5, 0x6(r22)
|
|
|
|
/* 80053428 0004F268 88 70 00 06 */ lbz r3, 0x6(r16)
|
|
|
|
/* 8005342C 0004F26C 7C A6 FE 70 */ srawi r6, r5, 31
|
|
|
|
/* 80053430 0004F270 7C 64 FE 70 */ srawi r4, r3, 31
|
|
|
|
/* 80053434 0004F274 7C C5 2A 78 */ xor r5, r6, r5
|
|
|
|
/* 80053438 0004F278 7C 83 1A 78 */ xor r3, r4, r3
|
|
|
|
/* 8005343C 0004F27C 7C A6 28 50 */ subf r5, r6, r5
|
|
|
|
/* 80053440 0004F280 7C 64 18 50 */ subf r3, r4, r3
|
|
|
|
/* 80053444 0004F284 7C 65 18 50 */ subf r3, r5, r3
|
|
|
|
/* 80053448 0004F288 7C 64 FE 70 */ srawi r4, r3, 31
|
|
|
|
/* 8005344C 0004F28C 7C 83 1A 78 */ xor r3, r4, r3
|
|
|
|
/* 80053450 0004F290 7C 64 18 50 */ subf r3, r4, r3
|
|
|
|
/* 80053454 0004F294 7C 03 00 00 */ cmpw r3, r0
|
|
|
|
/* 80053458 0004F298 40 80 00 4C */ bge lbl_800534A4
|
|
|
|
/* 8005345C 0004F29C 88 B6 00 07 */ lbz r5, 0x7(r22)
|
|
|
|
/* 80053460 0004F2A0 88 70 00 07 */ lbz r3, 0x7(r16)
|
|
|
|
/* 80053464 0004F2A4 7C A6 FE 70 */ srawi r6, r5, 31
|
|
|
|
/* 80053468 0004F2A8 7C 64 FE 70 */ srawi r4, r3, 31
|
|
|
|
/* 8005346C 0004F2AC 7C C5 2A 78 */ xor r5, r6, r5
|
|
|
|
/* 80053470 0004F2B0 7C 83 1A 78 */ xor r3, r4, r3
|
|
|
|
/* 80053474 0004F2B4 7C A6 28 50 */ subf r5, r6, r5
|
|
|
|
/* 80053478 0004F2B8 7C 64 18 50 */ subf r3, r4, r3
|
|
|
|
/* 8005347C 0004F2BC 7C 65 18 50 */ subf r3, r5, r3
|
|
|
|
/* 80053480 0004F2C0 7C 64 FE 70 */ srawi r4, r3, 31
|
|
|
|
/* 80053484 0004F2C4 7C 83 1A 78 */ xor r3, r4, r3
|
|
|
|
/* 80053488 0004F2C8 7C 64 18 50 */ subf r3, r4, r3
|
|
|
|
/* 8005348C 0004F2CC 7C 03 00 00 */ cmpw r3, r0
|
|
|
|
/* 80053490 0004F2D0 40 80 00 14 */ bge lbl_800534A4
|
|
|
|
/* 80053494 0004F2D4 A0 70 00 00 */ lhz r3, 0x0(r16)
|
|
|
|
/* 80053498 0004F2D8 A0 16 00 00 */ lhz r0, 0x0(r22)
|
|
|
|
/* 8005349C 0004F2DC 7C 03 00 40 */ cmplw r3, r0
|
|
|
|
/* 800534A0 0004F2E0 41 82 00 08 */ beq lbl_800534A8
|
|
|
|
.global lbl_800534A4
|
|
|
|
lbl_800534A4:
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800534A4 0004F2E4 4B FD AF DD */ bl __VIResetSIIdle
|
2022-10-16 16:05:58 +00:00
|
|
|
.global lbl_800534A8
|
|
|
|
lbl_800534A8:
|
|
|
|
/* 800534A8 0004F2E8 7E C3 B3 78 */ mr r3, r22
|
|
|
|
/* 800534AC 0004F2EC 7E 04 83 78 */ mr r4, r16
|
|
|
|
/* 800534B0 0004F2F0 38 A0 00 0C */ li r5, 0xc
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800534B4 0004F2F4 4B FB 0B 4D */ bl memcpy
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800534B8 0004F2F8 A0 10 00 00 */ lhz r0, 0x0(r16)
|
|
|
|
/* 800534BC 0004F2FC 54 00 04 A5 */ rlwinm. r0, r0, 0, 18, 18
|
|
|
|
/* 800534C0 0004F300 41 82 00 40 */ beq lbl_80053500
|
|
|
|
/* 800534C4 0004F304 9B 90 00 0A */ stb r28, 0xa(r16)
|
|
|
|
/* 800534C8 0004F308 7E 03 83 78 */ mr r3, r16
|
|
|
|
/* 800534CC 0004F30C 38 80 00 00 */ li r4, 0x0
|
|
|
|
/* 800534D0 0004F310 38 A0 00 0A */ li r5, 0xa
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800534D4 0004F314 4B FB 0E 7D */ bl memset
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800534D8 0004F318 7E 43 93 78 */ mr r3, r18
|
|
|
|
/* 800534DC 0004F31C 7E A6 AB 78 */ mr r6, r21
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800534E0 0004F320 39 1F 27 00 */ addi r8, r31, PADOriginUpdateCallback@l
|
|
|
|
/* 800534E4 0004F324 38 8D 83 B8 */ addi r4, r13, CmdReadOrigin@sda21
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800534E8 0004F328 38 A0 00 01 */ li r5, 0x1
|
|
|
|
/* 800534EC 0004F32C 38 E0 00 0A */ li r7, 0xa
|
|
|
|
/* 800534F0 0004F330 39 40 00 00 */ li r10, 0x0
|
|
|
|
/* 800534F4 0004F334 39 20 00 00 */ li r9, 0x0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800534F8 0004F338 4B FD 7D C9 */ bl SITransfer
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800534FC 0004F33C 48 00 00 14 */ b lbl_80053510
|
|
|
|
.global lbl_80053500
|
|
|
|
lbl_80053500:
|
|
|
|
/* 80053500 0004F340 9B B0 00 0A */ stb r29, 0xa(r16)
|
|
|
|
/* 80053504 0004F344 A0 10 00 00 */ lhz r0, 0x0(r16)
|
|
|
|
/* 80053508 0004F348 54 00 06 6E */ rlwinm r0, r0, 0, 25, 23
|
|
|
|
/* 8005350C 0004F34C B0 10 00 00 */ sth r0, 0x0(r16)
|
|
|
|
.global lbl_80053510
|
|
|
|
lbl_80053510:
|
|
|
|
/* 80053510 0004F350 3A 52 00 01 */ addi r18, r18, 0x1
|
|
|
|
/* 80053514 0004F354 3A D6 00 0C */ addi r22, r22, 0xc
|
|
|
|
/* 80053518 0004F358 2C 12 00 04 */ cmpwi r18, 0x4
|
|
|
|
/* 8005351C 0004F35C 3A B5 00 0C */ addi r21, r21, 0xc
|
|
|
|
/* 80053520 0004F360 3A 10 00 0C */ addi r16, r16, 0xc
|
|
|
|
/* 80053524 0004F364 3A F7 00 04 */ addi r23, r23, 0x4
|
|
|
|
/* 80053528 0004F368 41 80 FB C4 */ blt lbl_800530EC
|
|
|
|
/* 8005352C 0004F36C 7E 63 9B 78 */ mr r3, r19
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053530 0004F370 4B FC E3 31 */ bl OSRestoreInterrupts
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053534 0004F374 39 61 00 50 */ addi r11, r1, 0x50
|
|
|
|
/* 80053538 0004F378 7E 23 8B 78 */ mr r3, r17
|
|
|
|
/* 8005353C 0004F37C 4B FB 3E 21 */ bl lbl_8000735C
|
|
|
|
/* 80053540 0004F380 80 01 00 54 */ lwz r0, 0x54(r1)
|
|
|
|
/* 80053544 0004F384 7C 08 03 A6 */ mtlr r0
|
|
|
|
/* 80053548 0004F388 38 21 00 50 */ addi r1, r1, 0x50
|
|
|
|
/* 8005354C 0004F38C 4E 80 00 20 */ blr
|
2022-10-16 16:31:36 +00:00
|
|
|
.global PADControlMotor
|
|
|
|
PADControlMotor:
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053550 0004F390 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
|
|
/* 80053554 0004F394 7C 08 02 A6 */ mflr r0
|
|
|
|
/* 80053558 0004F398 90 01 00 24 */ stw r0, 0x24(r1)
|
|
|
|
/* 8005355C 0004F39C 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
|
|
/* 80053560 0004F3A0 93 C1 00 18 */ stw r30, 0x18(r1)
|
|
|
|
/* 80053564 0004F3A4 7C 9E 23 78 */ mr r30, r4
|
|
|
|
/* 80053568 0004F3A8 93 A1 00 14 */ stw r29, 0x14(r1)
|
|
|
|
/* 8005356C 0004F3AC 7C 7D 1B 78 */ mr r29, r3
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053570 0004F3B0 4B FC E2 B1 */ bl OSDisableInterrupts
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053574 0004F3B4 3C 00 80 00 */ lis r0, 0x8000
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053578 0004F3B8 80 8D E9 64 */ lwz r4, EnabledBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8005357C 0004F3BC 7C 00 EC 30 */ srw r0, r0, r29
|
|
|
|
/* 80053580 0004F3C0 7C 7F 1B 78 */ mr r31, r3
|
|
|
|
/* 80053584 0004F3C4 7C 80 00 39 */ and. r0, r4, r0
|
|
|
|
/* 80053588 0004F3C8 41 82 00 5C */ beq lbl_800535E4
|
|
|
|
/* 8005358C 0004F3CC 7F A3 EB 78 */ mr r3, r29
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053590 0004F3D0 4B FD 81 61 */ bl SIGetType
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053594 0004F3D4 54 60 00 85 */ rlwinm. r0, r3, 0, 2, 2
|
|
|
|
/* 80053598 0004F3D8 40 82 00 4C */ bne lbl_800535E4
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 8005359C 0004F3DC 80 0D 83 B0 */ lwz r0, Spec@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800535A0 0004F3E0 28 00 00 02 */ cmplwi r0, 0x2
|
|
|
|
/* 800535A4 0004F3E4 40 80 00 10 */ bge lbl_800535B4
|
|
|
|
/* 800535A8 0004F3E8 28 1E 00 02 */ cmplwi r30, 0x2
|
|
|
|
/* 800535AC 0004F3EC 40 82 00 08 */ bne lbl_800535B4
|
|
|
|
/* 800535B0 0004F3F0 3B C0 00 00 */ li r30, 0x0
|
|
|
|
.global lbl_800535B4
|
|
|
|
lbl_800535B4:
|
|
|
|
/* 800535B4 0004F3F4 3C 60 80 00 */ lis r3, 0x800030E3@ha
|
|
|
|
/* 800535B8 0004F3F8 88 03 30 E3 */ lbz r0, 0x800030E3@l(r3)
|
|
|
|
/* 800535BC 0004F3FC 54 00 06 B5 */ rlwinm. r0, r0, 0, 26, 26
|
|
|
|
/* 800535C0 0004F400 41 82 00 08 */ beq lbl_800535C8
|
|
|
|
/* 800535C4 0004F404 3B C0 00 00 */ li r30, 0x0
|
|
|
|
.global lbl_800535C8
|
|
|
|
lbl_800535C8:
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800535C8 0004F408 80 8D 83 AC */ lwz r4, AnalogMode@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800535CC 0004F40C 57 C0 07 BE */ clrlwi r0, r30, 30
|
|
|
|
/* 800535D0 0004F410 7F A3 EB 78 */ mr r3, r29
|
|
|
|
/* 800535D4 0004F414 64 84 00 40 */ oris r4, r4, 0x40
|
|
|
|
/* 800535D8 0004F418 7C 84 03 78 */ or r4, r4, r0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800535DC 0004F41C 4B FD 79 95 */ bl SISetCommand
|
|
|
|
/* 800535E0 0004F420 4B FD 79 B1 */ bl SITransferCommands
|
2022-10-16 16:05:58 +00:00
|
|
|
.global lbl_800535E4
|
|
|
|
lbl_800535E4:
|
|
|
|
/* 800535E4 0004F424 7F E3 FB 78 */ mr r3, r31
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 800535E8 0004F428 4B FC E2 79 */ bl OSRestoreInterrupts
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 800535EC 0004F42C 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
|
|
/* 800535F0 0004F430 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
|
|
/* 800535F4 0004F434 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
|
|
/* 800535F8 0004F438 83 A1 00 14 */ lwz r29, 0x14(r1)
|
|
|
|
/* 800535FC 0004F43C 7C 08 03 A6 */ mtlr r0
|
|
|
|
/* 80053600 0004F440 38 21 00 20 */ addi r1, r1, 0x20
|
|
|
|
/* 80053604 0004F444 4E 80 00 20 */ blr
|
|
|
|
/* 80053608 0004F448 00 00 00 00 */ .4byte 0x00000000
|
|
|
|
/* 8005360C 0004F44C 00 00 00 00 */ .4byte 0x00000000
|
2022-10-16 16:31:36 +00:00
|
|
|
.global SPEC0_MakeStatus
|
|
|
|
SPEC0_MakeStatus:
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053610 0004F450 38 00 00 00 */ li r0, 0x0
|
|
|
|
/* 80053614 0004F454 B0 04 00 00 */ sth r0, 0x0(r4)
|
|
|
|
/* 80053618 0004F458 80 65 00 00 */ lwz r3, 0x0(r5)
|
|
|
|
/* 8005361C 0004F45C 54 63 6F FE */ extrwi r3, r3, 1, 12
|
|
|
|
/* 80053620 0004F460 7C E3 00 D0 */ neg r7, r3
|
|
|
|
/* 80053624 0004F464 54 E3 05 EE */ rlwinm r3, r7, 0, 23, 23
|
|
|
|
/* 80053628 0004F468 B0 64 00 00 */ sth r3, 0x0(r4)
|
|
|
|
/* 8005362C 0004F46C 80 65 00 00 */ lwz r3, 0x0(r5)
|
|
|
|
/* 80053630 0004F470 54 63 5F FE */ extrwi r3, r3, 1, 10
|
|
|
|
/* 80053634 0004F474 7C 63 00 D0 */ neg r3, r3
|
|
|
|
/* 80053638 0004F478 54 66 05 AC */ rlwinm r6, r3, 0, 22, 22
|
|
|
|
/* 8005363C 0004F47C 50 E6 05 EE */ rlwimi r6, r7, 0, 23, 23
|
|
|
|
/* 80053640 0004F480 B0 C4 00 00 */ sth r6, 0x0(r4)
|
|
|
|
/* 80053644 0004F484 80 65 00 00 */ lwz r3, 0x0(r5)
|
|
|
|
/* 80053648 0004F488 54 63 47 FE */ extrwi r3, r3, 1, 7
|
|
|
|
/* 8005364C 0004F48C 7C 63 00 D0 */ neg r3, r3
|
|
|
|
/* 80053650 0004F490 50 66 05 6A */ rlwimi r6, r3, 0, 21, 21
|
|
|
|
/* 80053654 0004F494 B0 C4 00 00 */ sth r6, 0x0(r4)
|
|
|
|
/* 80053658 0004F498 80 65 00 00 */ lwz r3, 0x0(r5)
|
|
|
|
/* 8005365C 0004F49C 54 63 87 FE */ extrwi r3, r3, 1, 15
|
|
|
|
/* 80053660 0004F4A0 7C 63 00 D0 */ neg r3, r3
|
|
|
|
/* 80053664 0004F4A4 50 66 05 28 */ rlwimi r6, r3, 0, 20, 20
|
|
|
|
/* 80053668 0004F4A8 B0 C4 00 00 */ sth r6, 0x0(r4)
|
|
|
|
/* 8005366C 0004F4AC 80 65 00 00 */ lwz r3, 0x0(r5)
|
|
|
|
/* 80053670 0004F4B0 54 63 67 FE */ extrwi r3, r3, 1, 11
|
|
|
|
/* 80053674 0004F4B4 7C 63 00 D0 */ neg r3, r3
|
|
|
|
/* 80053678 0004F4B8 50 66 04 E6 */ rlwimi r6, r3, 0, 19, 19
|
|
|
|
/* 8005367C 0004F4BC B0 C4 00 00 */ sth r6, 0x0(r4)
|
|
|
|
/* 80053680 0004F4C0 80 65 00 04 */ lwz r3, 0x4(r5)
|
|
|
|
/* 80053684 0004F4C4 54 63 84 3E */ srwi r3, r3, 16
|
|
|
|
/* 80053688 0004F4C8 98 64 00 02 */ stb r3, 0x2(r4)
|
|
|
|
/* 8005368C 0004F4CC 80 65 00 04 */ lwz r3, 0x4(r5)
|
|
|
|
/* 80053690 0004F4D0 54 63 46 3E */ srwi r3, r3, 24
|
|
|
|
/* 80053694 0004F4D4 98 64 00 03 */ stb r3, 0x3(r4)
|
|
|
|
/* 80053698 0004F4D8 80 65 00 04 */ lwz r3, 0x4(r5)
|
|
|
|
/* 8005369C 0004F4DC 98 64 00 04 */ stb r3, 0x4(r4)
|
|
|
|
/* 800536A0 0004F4E0 80 65 00 04 */ lwz r3, 0x4(r5)
|
|
|
|
/* 800536A4 0004F4E4 54 63 C2 3E */ srwi r3, r3, 8
|
|
|
|
/* 800536A8 0004F4E8 98 64 00 05 */ stb r3, 0x5(r4)
|
|
|
|
/* 800536AC 0004F4EC 80 65 00 00 */ lwz r3, 0x0(r5)
|
|
|
|
/* 800536B0 0004F4F0 54 63 C6 3E */ extrwi r3, r3, 8, 16
|
|
|
|
/* 800536B4 0004F4F4 98 64 00 06 */ stb r3, 0x6(r4)
|
|
|
|
/* 800536B8 0004F4F8 28 03 00 AA */ cmplwi r3, 0xaa
|
|
|
|
/* 800536BC 0004F4FC 80 65 00 00 */ lwz r3, 0x0(r5)
|
|
|
|
/* 800536C0 0004F500 98 64 00 07 */ stb r3, 0x7(r4)
|
|
|
|
/* 800536C4 0004F504 98 04 00 08 */ stb r0, 0x8(r4)
|
|
|
|
/* 800536C8 0004F508 98 04 00 09 */ stb r0, 0x9(r4)
|
|
|
|
/* 800536CC 0004F50C 41 80 00 10 */ blt lbl_800536DC
|
|
|
|
/* 800536D0 0004F510 54 C0 04 3E */ clrlwi r0, r6, 16
|
|
|
|
/* 800536D4 0004F514 60 00 00 40 */ ori r0, r0, 0x40
|
|
|
|
/* 800536D8 0004F518 B0 04 00 00 */ sth r0, 0x0(r4)
|
|
|
|
.global lbl_800536DC
|
|
|
|
lbl_800536DC:
|
|
|
|
/* 800536DC 0004F51C 88 04 00 07 */ lbz r0, 0x7(r4)
|
|
|
|
/* 800536E0 0004F520 28 00 00 AA */ cmplwi r0, 0xaa
|
|
|
|
/* 800536E4 0004F524 41 80 00 10 */ blt lbl_800536F4
|
|
|
|
/* 800536E8 0004F528 A0 04 00 00 */ lhz r0, 0x0(r4)
|
|
|
|
/* 800536EC 0004F52C 60 00 00 20 */ ori r0, r0, 0x20
|
|
|
|
/* 800536F0 0004F530 B0 04 00 00 */ sth r0, 0x0(r4)
|
|
|
|
.global lbl_800536F4
|
|
|
|
lbl_800536F4:
|
|
|
|
/* 800536F4 0004F534 88 64 00 02 */ lbz r3, 0x2(r4)
|
|
|
|
/* 800536F8 0004F538 88 C4 00 03 */ lbz r6, 0x3(r4)
|
|
|
|
/* 800536FC 0004F53C 38 03 FF 80 */ addi r0, r3, -0x80
|
|
|
|
/* 80053700 0004F540 88 A4 00 04 */ lbz r5, 0x4(r4)
|
|
|
|
/* 80053704 0004F544 88 64 00 05 */ lbz r3, 0x5(r4)
|
|
|
|
/* 80053708 0004F548 38 C6 FF 80 */ addi r6, r6, -0x80
|
|
|
|
/* 8005370C 0004F54C 38 A5 FF 80 */ addi r5, r5, -0x80
|
|
|
|
/* 80053710 0004F550 98 04 00 02 */ stb r0, 0x2(r4)
|
|
|
|
/* 80053714 0004F554 38 03 FF 80 */ addi r0, r3, -0x80
|
|
|
|
/* 80053718 0004F558 98 C4 00 03 */ stb r6, 0x3(r4)
|
|
|
|
/* 8005371C 0004F55C 98 A4 00 04 */ stb r5, 0x4(r4)
|
|
|
|
/* 80053720 0004F560 98 04 00 05 */ stb r0, 0x5(r4)
|
|
|
|
/* 80053724 0004F564 4E 80 00 20 */ blr
|
|
|
|
/* 80053728 0004F568 00 00 00 00 */ .4byte 0x00000000
|
|
|
|
/* 8005372C 0004F56C 00 00 00 00 */ .4byte 0x00000000
|
2022-10-16 16:31:36 +00:00
|
|
|
.global SPEC1_MakeStatus
|
|
|
|
SPEC1_MakeStatus:
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053730 0004F570 38 00 00 00 */ li r0, 0x0
|
|
|
|
/* 80053734 0004F574 B0 04 00 00 */ sth r0, 0x0(r4)
|
|
|
|
/* 80053738 0004F578 80 65 00 00 */ lwz r3, 0x0(r5)
|
|
|
|
/* 8005373C 0004F57C 54 63 4F FE */ extrwi r3, r3, 1, 8
|
|
|
|
/* 80053740 0004F580 7C E3 00 D0 */ neg r7, r3
|
|
|
|
/* 80053744 0004F584 54 E3 05 EE */ rlwinm r3, r7, 0, 23, 23
|
|
|
|
/* 80053748 0004F588 B0 64 00 00 */ sth r3, 0x0(r4)
|
|
|
|
/* 8005374C 0004F58C 80 65 00 00 */ lwz r3, 0x0(r5)
|
|
|
|
/* 80053750 0004F590 54 63 47 FE */ extrwi r3, r3, 1, 7
|
|
|
|
/* 80053754 0004F594 7C 63 00 D0 */ neg r3, r3
|
|
|
|
/* 80053758 0004F598 54 66 05 AC */ rlwinm r6, r3, 0, 22, 22
|
|
|
|
/* 8005375C 0004F59C 50 E6 05 EE */ rlwimi r6, r7, 0, 23, 23
|
|
|
|
/* 80053760 0004F5A0 B0 C4 00 00 */ sth r6, 0x0(r4)
|
|
|
|
/* 80053764 0004F5A4 80 65 00 00 */ lwz r3, 0x0(r5)
|
|
|
|
/* 80053768 0004F5A8 54 63 5F FE */ extrwi r3, r3, 1, 10
|
|
|
|
/* 8005376C 0004F5AC 7C 63 00 D0 */ neg r3, r3
|
|
|
|
/* 80053770 0004F5B0 50 66 05 6A */ rlwimi r6, r3, 0, 21, 21
|
|
|
|
/* 80053774 0004F5B4 B0 C4 00 00 */ sth r6, 0x0(r4)
|
|
|
|
/* 80053778 0004F5B8 80 65 00 00 */ lwz r3, 0x0(r5)
|
|
|
|
/* 8005377C 0004F5BC 54 63 67 FE */ extrwi r3, r3, 1, 11
|
|
|
|
/* 80053780 0004F5C0 7C 63 00 D0 */ neg r3, r3
|
|
|
|
/* 80053784 0004F5C4 50 66 05 28 */ rlwimi r6, r3, 0, 20, 20
|
|
|
|
/* 80053788 0004F5C8 B0 C4 00 00 */ sth r6, 0x0(r4)
|
|
|
|
/* 8005378C 0004F5CC 80 65 00 00 */ lwz r3, 0x0(r5)
|
|
|
|
/* 80053790 0004F5D0 54 63 3F FE */ extrwi r3, r3, 1, 6
|
|
|
|
/* 80053794 0004F5D4 7C 63 00 D0 */ neg r3, r3
|
|
|
|
/* 80053798 0004F5D8 50 66 04 E6 */ rlwimi r6, r3, 0, 19, 19
|
|
|
|
/* 8005379C 0004F5DC B0 C4 00 00 */ sth r6, 0x0(r4)
|
|
|
|
/* 800537A0 0004F5E0 80 65 00 04 */ lwz r3, 0x4(r5)
|
|
|
|
/* 800537A4 0004F5E4 54 63 84 3E */ srwi r3, r3, 16
|
|
|
|
/* 800537A8 0004F5E8 98 64 00 02 */ stb r3, 0x2(r4)
|
|
|
|
/* 800537AC 0004F5EC 80 65 00 04 */ lwz r3, 0x4(r5)
|
|
|
|
/* 800537B0 0004F5F0 54 63 46 3E */ srwi r3, r3, 24
|
|
|
|
/* 800537B4 0004F5F4 98 64 00 03 */ stb r3, 0x3(r4)
|
|
|
|
/* 800537B8 0004F5F8 80 65 00 04 */ lwz r3, 0x4(r5)
|
|
|
|
/* 800537BC 0004F5FC 98 64 00 04 */ stb r3, 0x4(r4)
|
|
|
|
/* 800537C0 0004F600 80 65 00 04 */ lwz r3, 0x4(r5)
|
|
|
|
/* 800537C4 0004F604 54 63 C2 3E */ srwi r3, r3, 8
|
|
|
|
/* 800537C8 0004F608 98 64 00 05 */ stb r3, 0x5(r4)
|
|
|
|
/* 800537CC 0004F60C 80 65 00 00 */ lwz r3, 0x0(r5)
|
|
|
|
/* 800537D0 0004F610 54 63 C6 3E */ extrwi r3, r3, 8, 16
|
|
|
|
/* 800537D4 0004F614 98 64 00 06 */ stb r3, 0x6(r4)
|
|
|
|
/* 800537D8 0004F618 28 03 00 AA */ cmplwi r3, 0xaa
|
|
|
|
/* 800537DC 0004F61C 80 65 00 00 */ lwz r3, 0x0(r5)
|
|
|
|
/* 800537E0 0004F620 98 64 00 07 */ stb r3, 0x7(r4)
|
|
|
|
/* 800537E4 0004F624 98 04 00 08 */ stb r0, 0x8(r4)
|
|
|
|
/* 800537E8 0004F628 98 04 00 09 */ stb r0, 0x9(r4)
|
|
|
|
/* 800537EC 0004F62C 41 80 00 10 */ blt lbl_800537FC
|
|
|
|
/* 800537F0 0004F630 54 C0 04 3E */ clrlwi r0, r6, 16
|
|
|
|
/* 800537F4 0004F634 60 00 00 40 */ ori r0, r0, 0x40
|
|
|
|
/* 800537F8 0004F638 B0 04 00 00 */ sth r0, 0x0(r4)
|
|
|
|
.global lbl_800537FC
|
|
|
|
lbl_800537FC:
|
|
|
|
/* 800537FC 0004F63C 88 04 00 07 */ lbz r0, 0x7(r4)
|
|
|
|
/* 80053800 0004F640 28 00 00 AA */ cmplwi r0, 0xaa
|
|
|
|
/* 80053804 0004F644 41 80 00 10 */ blt lbl_80053814
|
|
|
|
/* 80053808 0004F648 A0 04 00 00 */ lhz r0, 0x0(r4)
|
|
|
|
/* 8005380C 0004F64C 60 00 00 20 */ ori r0, r0, 0x20
|
|
|
|
/* 80053810 0004F650 B0 04 00 00 */ sth r0, 0x0(r4)
|
|
|
|
.global lbl_80053814
|
|
|
|
lbl_80053814:
|
|
|
|
/* 80053814 0004F654 88 64 00 02 */ lbz r3, 0x2(r4)
|
|
|
|
/* 80053818 0004F658 88 C4 00 03 */ lbz r6, 0x3(r4)
|
|
|
|
/* 8005381C 0004F65C 38 03 FF 80 */ addi r0, r3, -0x80
|
|
|
|
/* 80053820 0004F660 88 A4 00 04 */ lbz r5, 0x4(r4)
|
|
|
|
/* 80053824 0004F664 88 64 00 05 */ lbz r3, 0x5(r4)
|
|
|
|
/* 80053828 0004F668 38 C6 FF 80 */ addi r6, r6, -0x80
|
|
|
|
/* 8005382C 0004F66C 38 A5 FF 80 */ addi r5, r5, -0x80
|
|
|
|
/* 80053830 0004F670 98 04 00 02 */ stb r0, 0x2(r4)
|
|
|
|
/* 80053834 0004F674 38 03 FF 80 */ addi r0, r3, -0x80
|
|
|
|
/* 80053838 0004F678 98 C4 00 03 */ stb r6, 0x3(r4)
|
|
|
|
/* 8005383C 0004F67C 98 A4 00 04 */ stb r5, 0x4(r4)
|
|
|
|
/* 80053840 0004F680 98 04 00 05 */ stb r0, 0x5(r4)
|
|
|
|
/* 80053844 0004F684 4E 80 00 20 */ blr
|
|
|
|
/* 80053848 0004F688 00 00 00 00 */ .4byte 0x00000000
|
|
|
|
/* 8005384C 0004F68C 00 00 00 00 */ .4byte 0x00000000
|
|
|
|
|
2022-10-16 16:31:36 +00:00
|
|
|
.global SPEC2_MakeStatus
|
|
|
|
SPEC2_MakeStatus:
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053850 0004F690 80 05 00 00 */ lwz r0, 0x0(r5)
|
|
|
|
/* 80053854 0004F694 54 00 84 BE */ extrwi r0, r0, 14, 2
|
|
|
|
/* 80053858 0004F698 B0 04 00 00 */ sth r0, 0x0(r4)
|
|
|
|
/* 8005385C 0004F69C 80 05 00 00 */ lwz r0, 0x0(r5)
|
|
|
|
/* 80053860 0004F6A0 54 00 C2 3E */ srwi r0, r0, 8
|
|
|
|
/* 80053864 0004F6A4 98 04 00 02 */ stb r0, 0x2(r4)
|
|
|
|
/* 80053868 0004F6A8 80 05 00 00 */ lwz r0, 0x0(r5)
|
|
|
|
/* 8005386C 0004F6AC 98 04 00 03 */ stb r0, 0x3(r4)
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053870 0004F6B0 80 0D 83 AC */ lwz r0, AnalogMode@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053874 0004F6B4 54 00 05 6E */ rlwinm r0, r0, 0, 21, 23
|
|
|
|
/* 80053878 0004F6B8 2C 00 04 00 */ cmpwi r0, 0x400
|
|
|
|
/* 8005387C 0004F6BC 41 82 01 78 */ beq lbl_800539F4
|
|
|
|
/* 80053880 0004F6C0 40 80 00 34 */ bge lbl_800538B4
|
|
|
|
/* 80053884 0004F6C4 2C 00 02 00 */ cmpwi r0, 0x200
|
|
|
|
/* 80053888 0004F6C8 41 82 00 E8 */ beq lbl_80053970
|
|
|
|
/* 8005388C 0004F6CC 40 80 00 1C */ bge lbl_800538A8
|
|
|
|
/* 80053890 0004F6D0 2C 00 01 00 */ cmpwi r0, 0x100
|
|
|
|
/* 80053894 0004F6D4 41 82 00 90 */ beq lbl_80053924
|
|
|
|
/* 80053898 0004F6D8 40 80 01 94 */ bge lbl_80053A2C
|
|
|
|
/* 8005389C 0004F6DC 2C 00 00 00 */ cmpwi r0, 0x0
|
|
|
|
/* 800538A0 0004F6E0 41 82 00 38 */ beq lbl_800538D8
|
|
|
|
/* 800538A4 0004F6E4 48 00 01 88 */ b lbl_80053A2C
|
|
|
|
.global lbl_800538A8
|
|
|
|
lbl_800538A8:
|
|
|
|
/* 800538A8 0004F6E8 2C 00 03 00 */ cmpwi r0, 0x300
|
|
|
|
/* 800538AC 0004F6EC 41 82 01 0C */ beq lbl_800539B8
|
|
|
|
/* 800538B0 0004F6F0 48 00 01 7C */ b lbl_80053A2C
|
|
|
|
.global lbl_800538B4
|
|
|
|
lbl_800538B4:
|
|
|
|
/* 800538B4 0004F6F4 2C 00 06 00 */ cmpwi r0, 0x600
|
|
|
|
/* 800538B8 0004F6F8 41 82 00 20 */ beq lbl_800538D8
|
|
|
|
/* 800538BC 0004F6FC 40 80 00 10 */ bge lbl_800538CC
|
|
|
|
/* 800538C0 0004F700 2C 00 05 00 */ cmpwi r0, 0x500
|
|
|
|
/* 800538C4 0004F704 41 82 00 14 */ beq lbl_800538D8
|
|
|
|
/* 800538C8 0004F708 48 00 01 64 */ b lbl_80053A2C
|
|
|
|
.global lbl_800538CC
|
|
|
|
lbl_800538CC:
|
|
|
|
/* 800538CC 0004F70C 2C 00 07 00 */ cmpwi r0, 0x700
|
|
|
|
/* 800538D0 0004F710 41 82 00 08 */ beq lbl_800538D8
|
|
|
|
/* 800538D4 0004F714 48 00 01 58 */ b lbl_80053A2C
|
|
|
|
.global lbl_800538D8
|
|
|
|
lbl_800538D8:
|
|
|
|
/* 800538D8 0004F718 80 05 00 04 */ lwz r0, 0x4(r5)
|
|
|
|
/* 800538DC 0004F71C 54 00 46 3E */ srwi r0, r0, 24
|
|
|
|
/* 800538E0 0004F720 98 04 00 04 */ stb r0, 0x4(r4)
|
|
|
|
/* 800538E4 0004F724 80 05 00 04 */ lwz r0, 0x4(r5)
|
|
|
|
/* 800538E8 0004F728 54 00 84 3E */ srwi r0, r0, 16
|
|
|
|
/* 800538EC 0004F72C 98 04 00 05 */ stb r0, 0x5(r4)
|
|
|
|
/* 800538F0 0004F730 80 05 00 04 */ lwz r0, 0x4(r5)
|
|
|
|
/* 800538F4 0004F734 54 00 C6 36 */ rlwinm r0, r0, 24, 24, 27
|
|
|
|
/* 800538F8 0004F738 98 04 00 06 */ stb r0, 0x6(r4)
|
|
|
|
/* 800538FC 0004F73C 80 05 00 04 */ lwz r0, 0x4(r5)
|
|
|
|
/* 80053900 0004F740 54 00 E6 36 */ rlwinm r0, r0, 28, 24, 27
|
|
|
|
/* 80053904 0004F744 98 04 00 07 */ stb r0, 0x7(r4)
|
|
|
|
/* 80053908 0004F748 80 05 00 04 */ lwz r0, 0x4(r5)
|
|
|
|
/* 8005390C 0004F74C 54 00 06 36 */ rlwinm r0, r0, 0, 24, 27
|
|
|
|
/* 80053910 0004F750 98 04 00 08 */ stb r0, 0x8(r4)
|
|
|
|
/* 80053914 0004F754 80 05 00 04 */ lwz r0, 0x4(r5)
|
|
|
|
/* 80053918 0004F758 54 00 26 36 */ rlwinm r0, r0, 4, 24, 27
|
|
|
|
/* 8005391C 0004F75C 98 04 00 09 */ stb r0, 0x9(r4)
|
|
|
|
/* 80053920 0004F760 48 00 01 0C */ b lbl_80053A2C
|
|
|
|
.global lbl_80053924
|
|
|
|
lbl_80053924:
|
|
|
|
/* 80053924 0004F764 80 05 00 04 */ lwz r0, 0x4(r5)
|
|
|
|
/* 80053928 0004F768 54 00 46 36 */ rlwinm r0, r0, 8, 24, 27
|
|
|
|
/* 8005392C 0004F76C 98 04 00 04 */ stb r0, 0x4(r4)
|
|
|
|
/* 80053930 0004F770 80 05 00 04 */ lwz r0, 0x4(r5)
|
|
|
|
/* 80053934 0004F774 54 00 66 36 */ rlwinm r0, r0, 12, 24, 27
|
|
|
|
/* 80053938 0004F778 98 04 00 05 */ stb r0, 0x5(r4)
|
|
|
|
/* 8005393C 0004F77C 80 05 00 04 */ lwz r0, 0x4(r5)
|
|
|
|
/* 80053940 0004F780 54 00 86 3E */ extrwi r0, r0, 8, 8
|
|
|
|
/* 80053944 0004F784 98 04 00 06 */ stb r0, 0x6(r4)
|
|
|
|
/* 80053948 0004F788 80 05 00 04 */ lwz r0, 0x4(r5)
|
|
|
|
/* 8005394C 0004F78C 54 00 C6 3E */ extrwi r0, r0, 8, 16
|
|
|
|
/* 80053950 0004F790 98 04 00 07 */ stb r0, 0x7(r4)
|
|
|
|
/* 80053954 0004F794 80 05 00 04 */ lwz r0, 0x4(r5)
|
|
|
|
/* 80053958 0004F798 54 00 06 36 */ rlwinm r0, r0, 0, 24, 27
|
|
|
|
/* 8005395C 0004F79C 98 04 00 08 */ stb r0, 0x8(r4)
|
|
|
|
/* 80053960 0004F7A0 80 05 00 04 */ lwz r0, 0x4(r5)
|
|
|
|
/* 80053964 0004F7A4 54 00 26 36 */ rlwinm r0, r0, 4, 24, 27
|
|
|
|
/* 80053968 0004F7A8 98 04 00 09 */ stb r0, 0x9(r4)
|
|
|
|
/* 8005396C 0004F7AC 48 00 00 C0 */ b lbl_80053A2C
|
|
|
|
.global lbl_80053970
|
|
|
|
lbl_80053970:
|
|
|
|
/* 80053970 0004F7B0 80 05 00 04 */ lwz r0, 0x4(r5)
|
|
|
|
/* 80053974 0004F7B4 54 00 46 36 */ rlwinm r0, r0, 8, 24, 27
|
|
|
|
/* 80053978 0004F7B8 98 04 00 04 */ stb r0, 0x4(r4)
|
|
|
|
/* 8005397C 0004F7BC 80 05 00 04 */ lwz r0, 0x4(r5)
|
|
|
|
/* 80053980 0004F7C0 54 00 66 36 */ rlwinm r0, r0, 12, 24, 27
|
|
|
|
/* 80053984 0004F7C4 98 04 00 05 */ stb r0, 0x5(r4)
|
|
|
|
/* 80053988 0004F7C8 80 05 00 04 */ lwz r0, 0x4(r5)
|
|
|
|
/* 8005398C 0004F7CC 54 00 86 36 */ rlwinm r0, r0, 16, 24, 27
|
|
|
|
/* 80053990 0004F7D0 98 04 00 06 */ stb r0, 0x6(r4)
|
|
|
|
/* 80053994 0004F7D4 80 05 00 04 */ lwz r0, 0x4(r5)
|
|
|
|
/* 80053998 0004F7D8 54 00 A6 36 */ rlwinm r0, r0, 20, 24, 27
|
|
|
|
/* 8005399C 0004F7DC 98 04 00 07 */ stb r0, 0x7(r4)
|
|
|
|
/* 800539A0 0004F7E0 80 05 00 04 */ lwz r0, 0x4(r5)
|
|
|
|
/* 800539A4 0004F7E4 54 00 C6 3E */ extrwi r0, r0, 8, 16
|
|
|
|
/* 800539A8 0004F7E8 98 04 00 08 */ stb r0, 0x8(r4)
|
|
|
|
/* 800539AC 0004F7EC 80 05 00 04 */ lwz r0, 0x4(r5)
|
|
|
|
/* 800539B0 0004F7F0 98 04 00 09 */ stb r0, 0x9(r4)
|
|
|
|
/* 800539B4 0004F7F4 48 00 00 78 */ b lbl_80053A2C
|
|
|
|
.global lbl_800539B8
|
|
|
|
lbl_800539B8:
|
|
|
|
/* 800539B8 0004F7F8 80 C5 00 04 */ lwz r6, 0x4(r5)
|
|
|
|
/* 800539BC 0004F7FC 38 00 00 00 */ li r0, 0x0
|
|
|
|
/* 800539C0 0004F800 54 C6 46 3E */ srwi r6, r6, 24
|
|
|
|
/* 800539C4 0004F804 98 C4 00 04 */ stb r6, 0x4(r4)
|
|
|
|
/* 800539C8 0004F808 80 C5 00 04 */ lwz r6, 0x4(r5)
|
|
|
|
/* 800539CC 0004F80C 54 C6 84 3E */ srwi r6, r6, 16
|
|
|
|
/* 800539D0 0004F810 98 C4 00 05 */ stb r6, 0x5(r4)
|
|
|
|
/* 800539D4 0004F814 80 C5 00 04 */ lwz r6, 0x4(r5)
|
|
|
|
/* 800539D8 0004F818 54 C6 C6 3E */ extrwi r6, r6, 8, 16
|
|
|
|
/* 800539DC 0004F81C 98 C4 00 06 */ stb r6, 0x6(r4)
|
|
|
|
/* 800539E0 0004F820 80 A5 00 04 */ lwz r5, 0x4(r5)
|
|
|
|
/* 800539E4 0004F824 98 A4 00 07 */ stb r5, 0x7(r4)
|
|
|
|
/* 800539E8 0004F828 98 04 00 08 */ stb r0, 0x8(r4)
|
|
|
|
/* 800539EC 0004F82C 98 04 00 09 */ stb r0, 0x9(r4)
|
|
|
|
/* 800539F0 0004F830 48 00 00 3C */ b lbl_80053A2C
|
|
|
|
.global lbl_800539F4
|
|
|
|
lbl_800539F4:
|
|
|
|
/* 800539F4 0004F834 80 C5 00 04 */ lwz r6, 0x4(r5)
|
|
|
|
/* 800539F8 0004F838 38 00 00 00 */ li r0, 0x0
|
|
|
|
/* 800539FC 0004F83C 54 C6 46 3E */ srwi r6, r6, 24
|
|
|
|
/* 80053A00 0004F840 98 C4 00 04 */ stb r6, 0x4(r4)
|
|
|
|
/* 80053A04 0004F844 80 C5 00 04 */ lwz r6, 0x4(r5)
|
|
|
|
/* 80053A08 0004F848 54 C6 84 3E */ srwi r6, r6, 16
|
|
|
|
/* 80053A0C 0004F84C 98 C4 00 05 */ stb r6, 0x5(r4)
|
|
|
|
/* 80053A10 0004F850 98 04 00 06 */ stb r0, 0x6(r4)
|
|
|
|
/* 80053A14 0004F854 98 04 00 07 */ stb r0, 0x7(r4)
|
|
|
|
/* 80053A18 0004F858 80 05 00 04 */ lwz r0, 0x4(r5)
|
|
|
|
/* 80053A1C 0004F85C 54 00 C6 3E */ extrwi r0, r0, 8, 16
|
|
|
|
/* 80053A20 0004F860 98 04 00 08 */ stb r0, 0x8(r4)
|
|
|
|
/* 80053A24 0004F864 80 05 00 04 */ lwz r0, 0x4(r5)
|
|
|
|
/* 80053A28 0004F868 98 04 00 09 */ stb r0, 0x9(r4)
|
|
|
|
.global lbl_80053A2C
|
|
|
|
lbl_80053A2C:
|
|
|
|
/* 80053A2C 0004F86C 88 C4 00 02 */ lbz r6, 0x2(r4)
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053A30 0004F870 3C A0 80 4C */ lis r5, Type_804C1990@ha
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053A34 0004F874 89 04 00 03 */ lbz r8, 0x3(r4)
|
|
|
|
/* 80053A38 0004F878 54 60 10 3A */ slwi r0, r3, 2
|
|
|
|
/* 80053A3C 0004F87C 39 26 FF 80 */ addi r9, r6, -0x80
|
|
|
|
/* 80053A40 0004F880 88 E4 00 04 */ lbz r7, 0x4(r4)
|
|
|
|
/* 80053A44 0004F884 88 C4 00 05 */ lbz r6, 0x5(r4)
|
|
|
|
/* 80053A48 0004F888 39 08 FF 80 */ addi r8, r8, -0x80
|
|
|
|
/* 80053A4C 0004F88C 38 E7 FF 80 */ addi r7, r7, -0x80
|
|
|
|
/* 80053A50 0004F890 99 24 00 02 */ stb r9, 0x2(r4)
|
|
|
|
/* 80053A54 0004F894 38 C6 FF 80 */ addi r6, r6, -0x80
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053A58 0004F898 38 A5 19 90 */ addi r5, r5, Type_804C1990@l
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053A5C 0004F89C 99 04 00 03 */ stb r8, 0x3(r4)
|
|
|
|
/* 80053A60 0004F8A0 98 E4 00 04 */ stb r7, 0x4(r4)
|
|
|
|
/* 80053A64 0004F8A4 98 C4 00 05 */ stb r6, 0x5(r4)
|
|
|
|
/* 80053A68 0004F8A8 7C 05 00 2E */ lwzx r0, r5, r0
|
|
|
|
/* 80053A6C 0004F8AC 54 05 00 1E */ clrrwi r5, r0, 16
|
|
|
|
/* 80053A70 0004F8B0 3C 05 F7 00 */ addis r0, r5, 0xf700
|
|
|
|
/* 80053A74 0004F8B4 28 00 00 00 */ cmplwi r0, 0x0
|
|
|
|
/* 80053A78 0004F8B8 40 82 00 44 */ bne lbl_80053ABC
|
|
|
|
/* 80053A7C 0004F8BC A0 04 00 00 */ lhz r0, 0x0(r4)
|
|
|
|
/* 80053A80 0004F8C0 54 00 06 30 */ rlwinm r0, r0, 0, 24, 24
|
|
|
|
/* 80053A84 0004F8C4 68 00 00 80 */ xori r0, r0, 0x80
|
|
|
|
/* 80053A88 0004F8C8 2C 00 00 00 */ cmpwi r0, 0x0
|
|
|
|
/* 80053A8C 0004F8CC 41 82 00 30 */ beq lbl_80053ABC
|
|
|
|
/* 80053A90 0004F8D0 3C 00 80 00 */ lis r0, 0x8000
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053A94 0004F8D4 80 AD E9 4C */ lwz r5, BarrelBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053A98 0004F8D8 7C 03 1C 30 */ srw r3, r0, r3
|
|
|
|
/* 80053A9C 0004F8DC 7C A3 1B 78 */ or r3, r5, r3
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053AA0 0004F8E0 90 6D E9 4C */ stw r3, BarrelBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053AA4 0004F8E4 38 00 00 00 */ li r0, 0x0
|
|
|
|
/* 80053AA8 0004F8E8 98 04 00 02 */ stb r0, 0x2(r4)
|
|
|
|
/* 80053AAC 0004F8EC 98 04 00 03 */ stb r0, 0x3(r4)
|
|
|
|
/* 80053AB0 0004F8F0 98 04 00 04 */ stb r0, 0x4(r4)
|
|
|
|
/* 80053AB4 0004F8F4 98 04 00 05 */ stb r0, 0x5(r4)
|
|
|
|
/* 80053AB8 0004F8F8 4E 80 00 20 */ blr
|
|
|
|
.global lbl_80053ABC
|
|
|
|
lbl_80053ABC:
|
|
|
|
/* 80053ABC 0004F8FC 1C 03 00 0C */ mulli r0, r3, 0xc
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053AC0 0004F900 3C A0 80 4C */ lis r5, Origin@ha
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053AC4 0004F904 3C C0 80 00 */ lis r6, 0x8000
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053AC8 0004F908 80 ED E9 4C */ lwz r7, BarrelBits@sda21(r13)
|
|
|
|
/* 80053ACC 0004F90C 38 A5 19 60 */ addi r5, r5, Origin@l
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053AD0 0004F910 7C A5 02 14 */ add r5, r5, r0
|
|
|
|
/* 80053AD4 0004F914 7C C0 1C 30 */ srw r0, r6, r3
|
|
|
|
/* 80053AD8 0004F918 89 05 00 02 */ lbz r8, 0x2(r5)
|
|
|
|
/* 80053ADC 0004F91C 7C E0 00 78 */ andc r0, r7, r0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053AE0 0004F920 90 0D E9 4C */ stw r0, BarrelBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053AE4 0004F924 7D 00 07 75 */ extsb. r0, r8
|
|
|
|
/* 80053AE8 0004F928 88 C4 00 02 */ lbz r6, 0x2(r4)
|
|
|
|
/* 80053AEC 0004F92C 40 81 00 20 */ ble lbl_80053B0C
|
|
|
|
/* 80053AF0 0004F930 38 68 FF 80 */ addi r3, r8, -0x80
|
|
|
|
/* 80053AF4 0004F934 7C C0 07 74 */ extsb r0, r6
|
|
|
|
/* 80053AF8 0004F938 7C 63 07 74 */ extsb r3, r3
|
|
|
|
/* 80053AFC 0004F93C 7C 00 18 00 */ cmpw r0, r3
|
|
|
|
/* 80053B00 0004F940 40 80 00 28 */ bge lbl_80053B28
|
|
|
|
/* 80053B04 0004F944 7C 66 1B 78 */ mr r6, r3
|
|
|
|
/* 80053B08 0004F948 48 00 00 20 */ b lbl_80053B28
|
|
|
|
.global lbl_80053B0C
|
|
|
|
lbl_80053B0C:
|
|
|
|
/* 80053B0C 0004F94C 40 80 00 1C */ bge lbl_80053B28
|
|
|
|
/* 80053B10 0004F950 38 68 00 7F */ addi r3, r8, 0x7f
|
|
|
|
/* 80053B14 0004F954 7C C0 07 74 */ extsb r0, r6
|
|
|
|
/* 80053B18 0004F958 7C 63 07 74 */ extsb r3, r3
|
|
|
|
/* 80053B1C 0004F95C 7C 03 00 00 */ cmpw r3, r0
|
|
|
|
/* 80053B20 0004F960 40 80 00 08 */ bge lbl_80053B28
|
|
|
|
/* 80053B24 0004F964 7C 66 1B 78 */ mr r6, r3
|
|
|
|
.global lbl_80053B28
|
|
|
|
lbl_80053B28:
|
|
|
|
/* 80053B28 0004F968 7C 08 30 50 */ subf r0, r8, r6
|
|
|
|
/* 80053B2C 0004F96C 98 04 00 02 */ stb r0, 0x2(r4)
|
|
|
|
/* 80053B30 0004F970 88 C4 00 03 */ lbz r6, 0x3(r4)
|
|
|
|
/* 80053B34 0004F974 88 E5 00 03 */ lbz r7, 0x3(r5)
|
|
|
|
/* 80053B38 0004F978 7C E0 07 75 */ extsb. r0, r7
|
|
|
|
/* 80053B3C 0004F97C 40 81 00 20 */ ble lbl_80053B5C
|
|
|
|
/* 80053B40 0004F980 38 67 FF 80 */ addi r3, r7, -0x80
|
|
|
|
/* 80053B44 0004F984 7C C0 07 74 */ extsb r0, r6
|
|
|
|
/* 80053B48 0004F988 7C 63 07 74 */ extsb r3, r3
|
|
|
|
/* 80053B4C 0004F98C 7C 00 18 00 */ cmpw r0, r3
|
|
|
|
/* 80053B50 0004F990 40 80 00 28 */ bge lbl_80053B78
|
|
|
|
/* 80053B54 0004F994 7C 66 1B 78 */ mr r6, r3
|
|
|
|
/* 80053B58 0004F998 48 00 00 20 */ b lbl_80053B78
|
|
|
|
.global lbl_80053B5C
|
|
|
|
lbl_80053B5C:
|
|
|
|
/* 80053B5C 0004F99C 40 80 00 1C */ bge lbl_80053B78
|
|
|
|
/* 80053B60 0004F9A0 38 67 00 7F */ addi r3, r7, 0x7f
|
|
|
|
/* 80053B64 0004F9A4 7C C0 07 74 */ extsb r0, r6
|
|
|
|
/* 80053B68 0004F9A8 7C 63 07 74 */ extsb r3, r3
|
|
|
|
/* 80053B6C 0004F9AC 7C 03 00 00 */ cmpw r3, r0
|
|
|
|
/* 80053B70 0004F9B0 40 80 00 08 */ bge lbl_80053B78
|
|
|
|
/* 80053B74 0004F9B4 7C 66 1B 78 */ mr r6, r3
|
|
|
|
.global lbl_80053B78
|
|
|
|
lbl_80053B78:
|
|
|
|
/* 80053B78 0004F9B8 7C 07 30 50 */ subf r0, r7, r6
|
|
|
|
/* 80053B7C 0004F9BC 98 04 00 03 */ stb r0, 0x3(r4)
|
|
|
|
/* 80053B80 0004F9C0 88 C4 00 04 */ lbz r6, 0x4(r4)
|
|
|
|
/* 80053B84 0004F9C4 88 E5 00 04 */ lbz r7, 0x4(r5)
|
|
|
|
/* 80053B88 0004F9C8 7C E0 07 75 */ extsb. r0, r7
|
|
|
|
/* 80053B8C 0004F9CC 40 81 00 20 */ ble lbl_80053BAC
|
|
|
|
/* 80053B90 0004F9D0 38 67 FF 80 */ addi r3, r7, -0x80
|
|
|
|
/* 80053B94 0004F9D4 7C C0 07 74 */ extsb r0, r6
|
|
|
|
/* 80053B98 0004F9D8 7C 63 07 74 */ extsb r3, r3
|
|
|
|
/* 80053B9C 0004F9DC 7C 00 18 00 */ cmpw r0, r3
|
|
|
|
/* 80053BA0 0004F9E0 40 80 00 28 */ bge lbl_80053BC8
|
|
|
|
/* 80053BA4 0004F9E4 7C 66 1B 78 */ mr r6, r3
|
|
|
|
/* 80053BA8 0004F9E8 48 00 00 20 */ b lbl_80053BC8
|
|
|
|
.global lbl_80053BAC
|
|
|
|
lbl_80053BAC:
|
|
|
|
/* 80053BAC 0004F9EC 40 80 00 1C */ bge lbl_80053BC8
|
|
|
|
/* 80053BB0 0004F9F0 38 67 00 7F */ addi r3, r7, 0x7f
|
|
|
|
/* 80053BB4 0004F9F4 7C C0 07 74 */ extsb r0, r6
|
|
|
|
/* 80053BB8 0004F9F8 7C 63 07 74 */ extsb r3, r3
|
|
|
|
/* 80053BBC 0004F9FC 7C 03 00 00 */ cmpw r3, r0
|
|
|
|
/* 80053BC0 0004FA00 40 80 00 08 */ bge lbl_80053BC8
|
|
|
|
/* 80053BC4 0004FA04 7C 66 1B 78 */ mr r6, r3
|
|
|
|
.global lbl_80053BC8
|
|
|
|
lbl_80053BC8:
|
|
|
|
/* 80053BC8 0004FA08 7C 07 30 50 */ subf r0, r7, r6
|
|
|
|
/* 80053BCC 0004FA0C 98 04 00 04 */ stb r0, 0x4(r4)
|
|
|
|
/* 80053BD0 0004FA10 88 C4 00 05 */ lbz r6, 0x5(r4)
|
|
|
|
/* 80053BD4 0004FA14 88 E5 00 05 */ lbz r7, 0x5(r5)
|
|
|
|
/* 80053BD8 0004FA18 7C E0 07 75 */ extsb. r0, r7
|
|
|
|
/* 80053BDC 0004FA1C 40 81 00 20 */ ble lbl_80053BFC
|
|
|
|
/* 80053BE0 0004FA20 38 67 FF 80 */ addi r3, r7, -0x80
|
|
|
|
/* 80053BE4 0004FA24 7C C0 07 74 */ extsb r0, r6
|
|
|
|
/* 80053BE8 0004FA28 7C 63 07 74 */ extsb r3, r3
|
|
|
|
/* 80053BEC 0004FA2C 7C 00 18 00 */ cmpw r0, r3
|
|
|
|
/* 80053BF0 0004FA30 40 80 00 28 */ bge lbl_80053C18
|
|
|
|
/* 80053BF4 0004FA34 7C 66 1B 78 */ mr r6, r3
|
|
|
|
/* 80053BF8 0004FA38 48 00 00 20 */ b lbl_80053C18
|
|
|
|
.global lbl_80053BFC
|
|
|
|
lbl_80053BFC:
|
|
|
|
/* 80053BFC 0004FA3C 40 80 00 1C */ bge lbl_80053C18
|
|
|
|
/* 80053C00 0004FA40 38 67 00 7F */ addi r3, r7, 0x7f
|
|
|
|
/* 80053C04 0004FA44 7C C0 07 74 */ extsb r0, r6
|
|
|
|
/* 80053C08 0004FA48 7C 63 07 74 */ extsb r3, r3
|
|
|
|
/* 80053C0C 0004FA4C 7C 03 00 00 */ cmpw r3, r0
|
|
|
|
/* 80053C10 0004FA50 40 80 00 08 */ bge lbl_80053C18
|
|
|
|
/* 80053C14 0004FA54 7C 66 1B 78 */ mr r6, r3
|
|
|
|
.global lbl_80053C18
|
|
|
|
lbl_80053C18:
|
|
|
|
/* 80053C18 0004FA58 7C 07 30 50 */ subf r0, r7, r6
|
|
|
|
/* 80053C1C 0004FA5C 98 04 00 05 */ stb r0, 0x5(r4)
|
|
|
|
/* 80053C20 0004FA60 88 64 00 06 */ lbz r3, 0x6(r4)
|
|
|
|
/* 80053C24 0004FA64 88 05 00 06 */ lbz r0, 0x6(r5)
|
|
|
|
/* 80053C28 0004FA68 7C 03 00 40 */ cmplw r3, r0
|
|
|
|
/* 80053C2C 0004FA6C 40 80 00 08 */ bge lbl_80053C34
|
|
|
|
/* 80053C30 0004FA70 7C 03 03 78 */ mr r3, r0
|
|
|
|
.global lbl_80053C34
|
|
|
|
lbl_80053C34:
|
|
|
|
/* 80053C34 0004FA74 7C 00 18 50 */ subf r0, r0, r3
|
|
|
|
/* 80053C38 0004FA78 98 04 00 06 */ stb r0, 0x6(r4)
|
|
|
|
/* 80053C3C 0004FA7C 88 64 00 07 */ lbz r3, 0x7(r4)
|
|
|
|
/* 80053C40 0004FA80 88 05 00 07 */ lbz r0, 0x7(r5)
|
|
|
|
/* 80053C44 0004FA84 7C 03 00 40 */ cmplw r3, r0
|
|
|
|
/* 80053C48 0004FA88 40 80 00 08 */ bge lbl_80053C50
|
|
|
|
/* 80053C4C 0004FA8C 7C 03 03 78 */ mr r3, r0
|
|
|
|
.global lbl_80053C50
|
|
|
|
lbl_80053C50:
|
|
|
|
/* 80053C50 0004FA90 7C 00 18 50 */ subf r0, r0, r3
|
|
|
|
/* 80053C54 0004FA94 98 04 00 07 */ stb r0, 0x7(r4)
|
|
|
|
/* 80053C58 0004FA98 4E 80 00 20 */ blr
|
|
|
|
/* 80053C5C 0004FA9C 00 00 00 00 */ .4byte 0x00000000
|
|
|
|
|
2022-10-16 16:31:36 +00:00
|
|
|
.global OnShutdown_80053C60
|
|
|
|
OnShutdown_80053C60:
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053C60 0004FAA0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
|
|
/* 80053C64 0004FAA4 7C 08 02 A6 */ mflr r0
|
|
|
|
/* 80053C68 0004FAA8 90 01 00 14 */ stw r0, 0x14(r1)
|
|
|
|
/* 80053C6C 0004FAAC 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
|
|
/* 80053C70 0004FAB0 7C 7F 1B 78 */ mr r31, r3
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053C74 0004FAB4 80 0D E9 44 */ lwz r0, SamplingCallback@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053C78 0004FAB8 2C 00 00 00 */ cmpwi r0, 0x0
|
|
|
|
/* 80053C7C 0004FABC 41 82 00 18 */ beq lbl_80053C94
|
|
|
|
/* 80053C80 0004FAC0 38 00 00 00 */ li r0, 0x0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053C84 0004FAC4 3C 60 80 05 */ lis r3, SamplingHandler@ha
|
|
|
|
/* 80053C88 0004FAC8 90 0D E9 44 */ stw r0, SamplingCallback@sda21(r13)
|
|
|
|
/* 80053C8C 0004FACC 38 63 3D 30 */ addi r3, r3, SamplingHandler@l
|
|
|
|
/* 80053C90 0004FAD0 4B FD 6F 01 */ bl SIUnregisterPollingHandler
|
2022-10-16 16:05:58 +00:00
|
|
|
.global lbl_80053C94
|
|
|
|
lbl_80053C94:
|
|
|
|
/* 80053C94 0004FAD4 2C 1F 00 00 */ cmpwi r31, 0x0
|
|
|
|
/* 80053C98 0004FAD8 40 82 00 70 */ bne lbl_80053D08
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053C9C 0004FADC 80 0D E9 60 */ lwz r0, ResettingBits@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053CA0 0004FAE0 3B E0 00 00 */ li r31, 0x0
|
|
|
|
/* 80053CA4 0004FAE4 38 60 00 00 */ li r3, 0x0
|
|
|
|
/* 80053CA8 0004FAE8 2C 00 00 00 */ cmpwi r0, 0x0
|
|
|
|
/* 80053CAC 0004FAEC 40 82 00 14 */ bne lbl_80053CC0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053CB0 0004FAF0 80 0D 83 A4 */ lwz r0, ResettingChan@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053CB4 0004FAF4 2C 00 00 20 */ cmpwi r0, 0x20
|
|
|
|
/* 80053CB8 0004FAF8 40 82 00 08 */ bne lbl_80053CC0
|
|
|
|
/* 80053CBC 0004FAFC 38 60 00 01 */ li r3, 0x1
|
|
|
|
.global lbl_80053CC0
|
|
|
|
lbl_80053CC0:
|
|
|
|
/* 80053CC0 0004FB00 2C 03 00 00 */ cmpwi r3, 0x0
|
|
|
|
/* 80053CC4 0004FB04 41 82 00 14 */ beq lbl_80053CD8
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053CC8 0004FB08 4B FD 66 F9 */ bl SIBusy
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053CCC 0004FB0C 2C 03 00 00 */ cmpwi r3, 0x0
|
|
|
|
/* 80053CD0 0004FB10 40 82 00 08 */ bne lbl_80053CD8
|
|
|
|
/* 80053CD4 0004FB14 3B E0 00 01 */ li r31, 0x1
|
|
|
|
.global lbl_80053CD8
|
|
|
|
lbl_80053CD8:
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053CD8 0004FB18 80 0D E9 40 */ lwz r0, "@LOCAL@OnShutdown__FiUl@recalibrated"@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053CDC 0004FB1C 2C 00 00 00 */ cmpwi r0, 0x0
|
|
|
|
/* 80053CE0 0004FB20 40 82 00 20 */ bne lbl_80053D00
|
|
|
|
/* 80053CE4 0004FB24 2C 1F 00 00 */ cmpwi r31, 0x0
|
|
|
|
/* 80053CE8 0004FB28 41 82 00 18 */ beq lbl_80053D00
|
|
|
|
/* 80053CEC 0004FB2C 3C 60 F0 00 */ lis r3, 0xf000
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053CF0 0004FB30 4B FF F1 31 */ bl PADRecalibrate
|
|
|
|
/* 80053CF4 0004FB34 90 6D E9 40 */ stw r3, "@LOCAL@OnShutdown__FiUl@recalibrated"@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053CF8 0004FB38 38 60 00 00 */ li r3, 0x0
|
|
|
|
/* 80053CFC 0004FB3C 48 00 00 18 */ b lbl_80053D14
|
|
|
|
.global lbl_80053D00
|
|
|
|
lbl_80053D00:
|
|
|
|
/* 80053D00 0004FB40 7F E3 FB 78 */ mr r3, r31
|
|
|
|
/* 80053D04 0004FB44 48 00 00 10 */ b lbl_80053D14
|
|
|
|
.global lbl_80053D08
|
|
|
|
lbl_80053D08:
|
|
|
|
/* 80053D08 0004FB48 38 00 00 00 */ li r0, 0x0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053D0C 0004FB4C 90 0D E9 40 */ stw r0, "@LOCAL@OnShutdown__FiUl@recalibrated"@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053D10 0004FB50 38 60 00 01 */ li r3, 0x1
|
|
|
|
.global lbl_80053D14
|
|
|
|
lbl_80053D14:
|
|
|
|
/* 80053D14 0004FB54 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
|
|
/* 80053D18 0004FB58 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
|
|
/* 80053D1C 0004FB5C 7C 08 03 A6 */ mtlr r0
|
|
|
|
/* 80053D20 0004FB60 38 21 00 10 */ addi r1, r1, 0x10
|
|
|
|
/* 80053D24 0004FB64 4E 80 00 20 */ blr
|
|
|
|
/* 80053D28 0004FB68 00 00 00 00 */ .4byte 0x00000000
|
|
|
|
/* 80053D2C 0004FB6C 00 00 00 00 */ .4byte 0x00000000
|
2022-10-16 16:31:36 +00:00
|
|
|
.global SamplingHandler
|
|
|
|
SamplingHandler:
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053D30 0004FB70 94 21 FD 20 */ stwu r1, -0x2e0(r1)
|
|
|
|
/* 80053D34 0004FB74 7C 08 02 A6 */ mflr r0
|
|
|
|
/* 80053D38 0004FB78 90 01 02 E4 */ stw r0, 0x2e4(r1)
|
|
|
|
/* 80053D3C 0004FB7C 93 E1 02 DC */ stw r31, 0x2dc(r1)
|
|
|
|
/* 80053D40 0004FB80 7C 9F 23 78 */ mr r31, r4
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053D44 0004FB84 80 0D E9 44 */ lwz r0, SamplingCallback@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053D48 0004FB88 2C 00 00 00 */ cmpwi r0, 0x0
|
|
|
|
/* 80053D4C 0004FB8C 41 82 00 30 */ beq lbl_80053D7C
|
|
|
|
/* 80053D50 0004FB90 38 61 00 08 */ addi r3, r1, 0x8
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053D54 0004FB94 4B FC 96 ED */ bl OSClearContext
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053D58 0004FB98 38 61 00 08 */ addi r3, r1, 0x8
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053D5C 0004FB9C 4B FC 94 A5 */ bl OSSetCurrentContext
|
|
|
|
/* 80053D60 0004FBA0 81 8D E9 44 */ lwz r12, SamplingCallback@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053D64 0004FBA4 7D 89 03 A6 */ mtctr r12
|
|
|
|
/* 80053D68 0004FBA8 4E 80 04 21 */ bctrl
|
|
|
|
/* 80053D6C 0004FBAC 38 61 00 08 */ addi r3, r1, 0x8
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053D70 0004FBB0 4B FC 96 D1 */ bl OSClearContext
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053D74 0004FBB4 7F E3 FB 78 */ mr r3, r31
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053D78 0004FBB8 4B FC 94 89 */ bl OSSetCurrentContext
|
2022-10-16 16:05:58 +00:00
|
|
|
.global lbl_80053D7C
|
|
|
|
lbl_80053D7C:
|
|
|
|
/* 80053D7C 0004FBBC 80 01 02 E4 */ lwz r0, 0x2e4(r1)
|
|
|
|
/* 80053D80 0004FBC0 83 E1 02 DC */ lwz r31, 0x2dc(r1)
|
|
|
|
/* 80053D84 0004FBC4 7C 08 03 A6 */ mtlr r0
|
|
|
|
/* 80053D88 0004FBC8 38 21 02 E0 */ addi r1, r1, 0x2e0
|
|
|
|
/* 80053D8C 0004FBCC 4E 80 00 20 */ blr
|
2022-10-16 16:31:36 +00:00
|
|
|
.global __PADDisableRecalibration
|
|
|
|
__PADDisableRecalibration:
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053D90 0004FBD0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
|
|
/* 80053D94 0004FBD4 7C 08 02 A6 */ mflr r0
|
|
|
|
/* 80053D98 0004FBD8 90 01 00 14 */ stw r0, 0x14(r1)
|
|
|
|
/* 80053D9C 0004FBDC 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
|
|
/* 80053DA0 0004FBE0 7C 7F 1B 78 */ mr r31, r3
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053DA4 0004FBE4 4B FC DA 7D */ bl OSDisableInterrupts
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053DA8 0004FBE8 3C A0 80 00 */ lis r5, 0x800030E3@ha
|
|
|
|
/* 80053DAC 0004FBEC 2C 1F 00 00 */ cmpwi r31, 0x0
|
|
|
|
/* 80053DB0 0004FBF0 88 85 30 E3 */ lbz r4, 0x800030E3@l(r5)
|
|
|
|
/* 80053DB4 0004FBF4 54 80 06 B0 */ rlwinm r0, r4, 0, 26, 24
|
|
|
|
/* 80053DB8 0004FBF8 98 05 30 E3 */ stb r0, 0x30e3(r5)
|
|
|
|
/* 80053DBC 0004FBFC 54 9F D7 FE */ extrwi r31, r4, 1, 25
|
|
|
|
/* 80053DC0 0004FC00 41 82 00 10 */ beq lbl_80053DD0
|
|
|
|
/* 80053DC4 0004FC04 88 05 30 E3 */ lbz r0, 0x30e3(r5)
|
|
|
|
/* 80053DC8 0004FC08 60 00 00 40 */ ori r0, r0, 0x40
|
|
|
|
/* 80053DCC 0004FC0C 98 05 30 E3 */ stb r0, 0x30e3(r5)
|
|
|
|
.global lbl_80053DD0
|
|
|
|
lbl_80053DD0:
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 80053DD0 0004FC10 4B FC DA 91 */ bl OSRestoreInterrupts
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 80053DD4 0004FC14 7F E3 FB 78 */ mr r3, r31
|
|
|
|
/* 80053DD8 0004FC18 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
|
|
/* 80053DDC 0004FC1C 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
|
|
/* 80053DE0 0004FC20 7C 08 03 A6 */ mtlr r0
|
|
|
|
/* 80053DE4 0004FC24 38 21 00 10 */ addi r1, r1, 0x10
|
|
|
|
/* 80053DE8 0004FC28 4E 80 00 20 */ blr
|
|
|
|
/* 80053DEC 0004FC2C 00 00 00 00 */ .4byte 0x00000000
|
2022-10-17 08:30:18 +00:00
|
|
|
.include "macros.inc"
|
|
|
|
|
|
|
|
.section .data, "wa" # 0x80421040 - 0x80496700 ; 0x000756C0
|
|
|
|
.global "@1_80438530"
|
|
|
|
"@1_80438530":
|
|
|
|
|
|
|
|
.4byte 0x3C3C2052
|
|
|
|
.4byte 0x564C5F53
|
|
|
|
.4byte 0x444B202D
|
|
|
|
.4byte 0x20504144
|
|
|
|
.4byte 0x20097265
|
|
|
|
.4byte 0x6C656173
|
|
|
|
.4byte 0x65206275
|
|
|
|
.4byte 0x696C643A
|
|
|
|
.4byte 0x20417567
|
|
|
|
.4byte 0x20323320
|
|
|
|
.4byte 0x32303130
|
|
|
|
.4byte 0x2031373A
|
|
|
|
.4byte 0x33333A31
|
|
|
|
.4byte 0x37202830
|
|
|
|
.4byte 0x78343330
|
|
|
|
.4byte 0x325F3134
|
|
|
|
.4byte 0x3529203E
|
|
|
|
.4byte 0x3E000000
|
|
|
|
|
|
|
|
.global ShutdownFunctionInfo_80438578
|
|
|
|
ShutdownFunctionInfo_80438578:
|
|
|
|
|
|
|
|
.4byte OnShutdown_80053C60
|
|
|
|
.4byte 0x0000007F
|
|
|
|
.4byte 0
|
|
|
|
.4byte 0
|
|
|
|
.include "macros.inc"
|
|
|
|
|
|
|
|
.section .bss, "", @nobits # 0x80496700 - 0x80556420 ; 0x000BFD20
|
|
|
|
.global Origin
|
|
|
|
Origin:
|
|
|
|
.skip 0x30
|
|
|
|
|
|
|
|
.global Type_804C1990
|
|
|
|
Type_804C1990:
|
|
|
|
.skip 0x10
|
|
|
|
|
|
|
|
.global CmdProbeDevice
|
|
|
|
CmdProbeDevice:
|
|
|
|
.skip 0x40
|
|
|
|
|
|
|
|
.global "@LOCAL@PADRead__FP9PADStatus@pre_status@1"
|
|
|
|
"@LOCAL@PADRead__FP9PADStatus@pre_status@1":
|
|
|
|
.skip 0x40
|
|
|
|
.include "macros.inc"
|
|
|
|
|
|
|
|
.section .sdata, "wa" # 0x80556420 - 0x8055C6E0 ; 0x000062C0
|
|
|
|
.global __PADVersion
|
|
|
|
__PADVersion:
|
|
|
|
|
|
|
|
.4byte "@1_80438530"
|
|
|
|
|
|
|
|
.global ResettingChan
|
|
|
|
ResettingChan:
|
|
|
|
|
|
|
|
.4byte 0x00000020
|
|
|
|
|
|
|
|
.global XPatchBits
|
|
|
|
XPatchBits:
|
|
|
|
|
|
|
|
.4byte 0xF0000000
|
|
|
|
|
|
|
|
.global AnalogMode
|
|
|
|
AnalogMode:
|
|
|
|
|
|
|
|
.4byte 0x00000300
|
|
|
|
|
|
|
|
.global Spec
|
|
|
|
Spec:
|
|
|
|
|
|
|
|
.4byte 0x00000005
|
|
|
|
|
|
|
|
.global MakeStatus
|
|
|
|
MakeStatus:
|
|
|
|
|
|
|
|
.4byte SPEC2_MakeStatus
|
|
|
|
|
|
|
|
.global CmdReadOrigin
|
|
|
|
CmdReadOrigin:
|
|
|
|
|
|
|
|
.4byte 0x41000000
|
|
|
|
|
|
|
|
.global CmdCalibrate
|
|
|
|
CmdCalibrate:
|
|
|
|
|
|
|
|
.4byte 0x42000000
|
|
|
|
.include "macros.inc"
|
|
|
|
|
|
|
|
.section .sbss, "", @nobits # 0x8055C6E0 - 0x8055DF80 ; 0x000018A0
|
|
|
|
.global "@LOCAL@OnShutdown__FiUl@recalibrated"
|
|
|
|
"@LOCAL@OnShutdown__FiUl@recalibrated":
|
|
|
|
.skip 0x4
|
|
|
|
|
|
|
|
.global SamplingCallback
|
|
|
|
SamplingCallback:
|
|
|
|
.skip 0x4
|
|
|
|
|
|
|
|
.global __PADSpec
|
|
|
|
__PADSpec:
|
|
|
|
.skip 0x4
|
|
|
|
|
|
|
|
.global BarrelBits
|
|
|
|
BarrelBits:
|
|
|
|
.skip 0x4
|
|
|
|
|
|
|
|
.global PendingBits
|
|
|
|
PendingBits:
|
|
|
|
.skip 0x4
|
|
|
|
|
|
|
|
.global CheckingBits
|
|
|
|
CheckingBits:
|
|
|
|
.skip 0x4
|
|
|
|
|
|
|
|
.global WaitingBits
|
|
|
|
WaitingBits:
|
|
|
|
.skip 0x4
|
|
|
|
|
|
|
|
.global RecalibrateBits
|
|
|
|
RecalibrateBits:
|
|
|
|
.skip 0x4
|
|
|
|
|
|
|
|
.global ResettingBits
|
|
|
|
ResettingBits:
|
|
|
|
.skip 0x4
|
|
|
|
|
|
|
|
.global EnabledBits
|
|
|
|
EnabledBits:
|
|
|
|
.skip 0x4
|
|
|
|
|
|
|
|
.global Initialized_8055CD88
|
|
|
|
Initialized_8055CD88:
|
|
|
|
.skip 0x8
|