mirror of
https://github.com/zeldaret/oot
synced 2026-09-08 19:42:34 -04:00
padmgr and related (#71)
* In process of moving changes over from old repo * Merged in changes * Finished import of padmgr changes from old repo * Adjusted some volatile * Improving padmgr volatile situation * Almost matched osReadMempak * Working on osMempakDataCRC * Explanations and equivalents but no matches for osMempakAddrCRC and osMempakDataCRC * OK after merge * Matched osMempakAddrCRC and osMempakDataCRC * Matched osReadMempak * Updated PadMgr function names to be less like original code * Changed variable names to make them further from original code * Changed names and it stopped matching * Undid clang-format steamrollering whitespace memes * Cleaned up Input names * More formatting changes * Moved padmgr to z64.h, deleted padmgr.h
This commit is contained in:
+3
-3
@@ -74,7 +74,7 @@ glabel D_80145BD8
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel func_800C7974
|
||||
glabel PadMgr_ProcessInputs
|
||||
/* B3EB14 800C7974 27BDFFB0 */ addiu $sp, $sp, -0x50
|
||||
/* B3EB18 800C7978 AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* B3EB1C 800C797C AFB40028 */ sw $s4, 0x28($sp)
|
||||
@@ -82,7 +82,7 @@ glabel func_800C7974
|
||||
/* B3EB24 800C7984 AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* B3EB28 800C7988 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* B3EB2C 800C798C AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* B3EB30 800C7990 0C031CEF */ jal PadMgr_Lock2
|
||||
/* B3EB30 800C7990 0C031CEF */ jal PadMgr_LockPadData
|
||||
/* B3EB34 800C7994 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* B3EB38 800C7998 928E02A9 */ lbu $t6, 0x2a9($s4)
|
||||
/* B3EB3C 800C799C 26900230 */ addiu $s0, $s4, 0x230
|
||||
@@ -243,7 +243,7 @@ glabel func_800C7974
|
||||
/* B3ED84 800C7BE4 1420FF71 */ bnez $at, .L800C79AC
|
||||
/* B3ED88 800C7BE8 26730006 */ addiu $s3, $s3, 6
|
||||
.L800C7BEC:
|
||||
/* B3ED8C 800C7BEC 0C031CF9 */ jal PadMgr_Unlock2
|
||||
/* B3ED8C 800C7BEC 0C031CF9 */ jal PadMgr_UnlockPadData
|
||||
/* B3ED90 800C7BF0 02802025 */ move $a0, $s4
|
||||
/* B3ED94 800C7BF4 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* B3ED98 800C7BF8 8FB00018 */ lw $s0, 0x18($sp)
|
||||
+3
-3
@@ -1,4 +1,4 @@
|
||||
glabel func_800C7E08
|
||||
glabel PadMgr_RequestPadData
|
||||
/* B3EFA8 800C7E08 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* B3EFAC 800C7E0C AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* B3EFB0 800C7E10 AFB40028 */ sw $s4, 0x28($sp)
|
||||
@@ -8,7 +8,7 @@ glabel func_800C7E08
|
||||
/* B3EFC0 800C7E20 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* B3EFC4 800C7E24 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* B3EFC8 800C7E28 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* B3EFCC 800C7E2C 0C031CEF */ jal PadMgr_Lock2
|
||||
/* B3EFCC 800C7E2C 0C031CEF */ jal PadMgr_LockPadData
|
||||
/* B3EFD0 800C7E30 AFA40030 */ sw $a0, 0x30($sp)
|
||||
/* B3EFD4 800C7E34 8FB10030 */ lw $s1, 0x30($sp)
|
||||
/* B3EFD8 800C7E38 02608025 */ move $s0, $s3
|
||||
@@ -86,7 +86,7 @@ glabel func_800C7E08
|
||||
/* B3F0EC 800C7F4C 26310018 */ addiu $s1, $s1, 0x18
|
||||
/* B3F0F0 800C7F50 1653FFBD */ bne $s2, $s3, .L800C7E48
|
||||
/* B3F0F4 800C7F54 26100018 */ addiu $s0, $s0, 0x18
|
||||
/* B3F0F8 800C7F58 0C031CF9 */ jal PadMgr_Unlock2
|
||||
/* B3F0F8 800C7F58 0C031CF9 */ jal PadMgr_UnlockPadData
|
||||
/* B3F0FC 800C7F5C 8FA40030 */ lw $a0, 0x30($sp)
|
||||
/* B3F100 800C7F60 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* B3F104 800C7F64 8FB00018 */ lw $s0, 0x18($sp)
|
||||
+8
-8
@@ -152,7 +152,7 @@ glabel D_80145ABC
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel func_800C740C
|
||||
glabel PadMgr_RumbleControl
|
||||
/* B3E5AC 800C740C 27BDFFB8 */ addiu $sp, $sp, -0x48
|
||||
/* B3E5B0 800C7410 AFBF0034 */ sw $ra, 0x34($sp)
|
||||
/* B3E5B4 800C7414 AFB40028 */ sw $s4, 0x28($sp)
|
||||
@@ -162,7 +162,7 @@ glabel func_800C740C
|
||||
/* B3E5C4 800C7424 AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* B3E5C8 800C7428 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* B3E5CC 800C742C AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* B3E5D0 800C7430 0C031C94 */ jal PadMgr_LockGetControllerQueue
|
||||
/* B3E5D0 800C7430 0C031C94 */ jal PadMgr_LockSerialMesgQueue
|
||||
/* B3E5D4 800C7434 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* B3E5D8 800C7438 AFA2003C */ sw $v0, 0x3c($sp)
|
||||
/* B3E5DC 800C743C 0000A825 */ move $s5, $zero
|
||||
@@ -210,7 +210,7 @@ glabel func_800C740C
|
||||
/* B3E680 800C74E0 0C00084C */ jal osSyncPrintf
|
||||
/* B3E684 800C74E4 248458CC */ addiu $a0, %lo(D_801458CC) # addiu $a0, $a0, 0x58cc
|
||||
/* B3E688 800C74E8 02402025 */ move $a0, $s2
|
||||
/* B3E68C 800C74EC 0C0401E0 */ jal osSetVibration
|
||||
/* B3E68C 800C74EC 0C0401E0 */ jal osSetRumble
|
||||
/* B3E690 800C74F0 02C02825 */ move $a1, $s6
|
||||
/* B3E694 800C74F4 10400010 */ beqz $v0, .L800C7538
|
||||
/* B3E698 800C74F8 240D0003 */ li $t5, 3
|
||||
@@ -257,7 +257,7 @@ glabel func_800C740C
|
||||
/* B3E734 800C7594 0C00084C */ jal osSyncPrintf
|
||||
/* B3E738 800C7598 24845944 */ addiu $a0, %lo(D_80145944) # addiu $a0, $a0, 0x5944
|
||||
/* B3E73C 800C759C 02402025 */ move $a0, $s2
|
||||
/* B3E740 800C75A0 0C0401E0 */ jal osSetVibration
|
||||
/* B3E740 800C75A0 0C0401E0 */ jal osSetRumble
|
||||
/* B3E744 800C75A4 00002825 */ move $a1, $zero
|
||||
/* B3E748 800C75A8 1040000F */ beqz $v0, .L800C75E8
|
||||
/* B3E74C 800C75AC 3C048014 */ lui $a0, %hi(D_80145948) # $a0, 0x8014
|
||||
@@ -344,7 +344,7 @@ glabel func_800C740C
|
||||
/* B3E87C 800C76DC 028E9021 */ addu $s2, $s4, $t6
|
||||
/* B3E880 800C76E0 265202BC */ addiu $s2, $s2, 0x2bc
|
||||
/* B3E884 800C76E4 02402825 */ move $a1, $s2
|
||||
/* B3E888 800C76E8 0C04027D */ jal osProbeVibrationPack
|
||||
/* B3E888 800C76E8 0C04027D */ jal osProbeRumblePak
|
||||
/* B3E88C 800C76EC 00403025 */ move $a2, $v0
|
||||
/* B3E890 800C76F0 14400018 */ bnez $v0, .L800C7754
|
||||
/* B3E894 800C76F4 2401000B */ li $at, 11
|
||||
@@ -352,10 +352,10 @@ glabel func_800C740C
|
||||
/* B3E89C 800C76FC 0293C021 */ addu $t8, $s4, $s3
|
||||
/* B3E8A0 800C7700 A30F02AE */ sb $t7, 0x2ae($t8)
|
||||
/* B3E8A4 800C7704 02402025 */ move $a0, $s2
|
||||
/* B3E8A8 800C7708 0C0401E0 */ jal osSetVibration
|
||||
/* B3E8A8 800C7708 0C0401E0 */ jal osSetRumble
|
||||
/* B3E8AC 800C770C 24050001 */ li $a1, 1
|
||||
/* B3E8B0 800C7710 02402025 */ move $a0, $s2
|
||||
/* B3E8B4 800C7714 0C0401E0 */ jal osSetVibration
|
||||
/* B3E8B4 800C7714 0C0401E0 */ jal osSetRumble
|
||||
/* B3E8B8 800C7718 00002825 */ move $a1, $zero
|
||||
/* B3E8BC 800C771C 3C048014 */ lui $a0, %hi(D_80145A28) # $a0, 0x8014
|
||||
/* B3E8C0 800C7720 0C00084C */ jal osSyncPrintf
|
||||
@@ -411,7 +411,7 @@ glabel func_800C740C
|
||||
/* B3E97C 800C77DC 02802025 */ move $a0, $s4
|
||||
/* B3E980 800C77E0 252A0001 */ addiu $t2, $t1, 1
|
||||
/* B3E984 800C77E4 AC2AA4F0 */ sw $t2, %lo(D_8016A4F0)($at)
|
||||
/* B3E988 800C77E8 0C031CBF */ jal PadMgr_UnlockReleaseControllerQueue
|
||||
/* B3E988 800C77E8 0C031CBF */ jal PadMgr_UnlockSerialMesgQueue
|
||||
/* B3E98C 800C77EC 8FA5003C */ lw $a1, 0x3c($sp)
|
||||
/* B3E990 800C77F0 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
/* B3E994 800C77F4 8FB00018 */ lw $s0, 0x18($sp)
|
||||
@@ -1,13 +0,0 @@
|
||||
glabel func_800C7948
|
||||
/* B3EAE8 800C7948 90AE0000 */ lbu $t6, ($a1)
|
||||
/* B3EAEC 800C794C 240800F0 */ li $t0, 240
|
||||
/* B3EAF0 800C7950 A08E02B2 */ sb $t6, 0x2b2($a0)
|
||||
/* B3EAF4 800C7954 90AF0001 */ lbu $t7, 1($a1)
|
||||
/* B3EAF8 800C7958 A08F02B3 */ sb $t7, 0x2b3($a0)
|
||||
/* B3EAFC 800C795C 90B80002 */ lbu $t8, 2($a1)
|
||||
/* B3EB00 800C7960 A09802B4 */ sb $t8, 0x2b4($a0)
|
||||
/* B3EB04 800C7964 90B90003 */ lbu $t9, 3($a1)
|
||||
/* B3EB08 800C7968 A09902B5 */ sb $t9, 0x2b5($a0)
|
||||
/* B3EB0C 800C796C 03E00008 */ jr $ra
|
||||
/* B3EB10 800C7970 A088045D */ sb $t0, 0x45d($a0)
|
||||
|
||||
@@ -1,137 +0,0 @@
|
||||
.rdata
|
||||
glabel D_80145BE4
|
||||
.asciz "../padmgr.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80145BF0
|
||||
.asciz "this->pad_status[i].type = %x\n"
|
||||
.balign 4
|
||||
|
||||
glabel D_80145C10
|
||||
.asciz "知らない種類のコントローラが接続されています\n"
|
||||
# EUC-JP: 知らない種類のコントローラが接続されています | An unknown type of controller is connected
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel func_800C7C14
|
||||
/* B3EDB4 800C7C14 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* B3EDB8 800C7C18 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* B3EDBC 800C7C1C AFB30020 */ sw $s3, 0x20($sp)
|
||||
/* B3EDC0 800C7C20 00809825 */ move $s3, $a0
|
||||
/* B3EDC4 800C7C24 AFB2001C */ sw $s2, 0x1c($sp)
|
||||
/* B3EDC8 800C7C28 AFB10018 */ sw $s1, 0x18($sp)
|
||||
/* B3EDCC 800C7C2C 0C031C94 */ jal PadMgr_LockGetControllerQueue
|
||||
/* B3EDD0 800C7C30 AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* B3EDD4 800C7C34 00408825 */ move $s1, $v0
|
||||
/* B3EDD8 800C7C38 0C0403BC */ jal osContStartReadData /*(OSMesgQueue *mq)*/
|
||||
/* B3EDDC 800C7C3C 00402025 */ move $a0, $v0
|
||||
/* B3EDE0 800C7C40 8E630460 */ lw $v1, 0x460($s3)
|
||||
/* B3EDE4 800C7C44 10600003 */ beqz $v1, .L800C7C54
|
||||
/* B3EDE8 800C7C48 02602025 */ move $a0, $s3
|
||||
/* B3EDEC 800C7C4C 0060F809 */ jalr $v1
|
||||
/* B3EDF0 800C7C50 8E650464 */ lw $a1, 0x464($s3)
|
||||
.L800C7C54:
|
||||
/* B3EDF4 800C7C54 02202025 */ move $a0, $s1
|
||||
/* B3EDF8 800C7C58 00002825 */ move $a1, $zero
|
||||
/* B3EDFC 800C7C5C 0C000CA0 */ jal osRecvMesg
|
||||
/* B3EE00 800C7C60 24060001 */ li $a2, 1
|
||||
/* B3EE04 800C7C64 26700290 */ addiu $s0, $s3, 0x290
|
||||
/* B3EE08 800C7C68 0C0403DD */ jal osContGetReadData /*(OSContPad *pad)*/
|
||||
/* B3EE0C 800C7C6C 02002025 */ move $a0, $s0
|
||||
/* B3EE10 800C7C70 926E045E */ lbu $t6, 0x45e($s3)
|
||||
/* B3EE14 800C7C74 02002025 */ move $a0, $s0
|
||||
/* B3EE18 800C7C78 11C00003 */ beqz $t6, .L800C7C88
|
||||
/* B3EE1C 800C7C7C 00000000 */ nop
|
||||
/* B3EE20 800C7C80 0C001114 */ jal bzero
|
||||
/* B3EE24 800C7C84 24050018 */ li $a1, 24
|
||||
.L800C7C88:
|
||||
/* B3EE28 800C7C88 0C031E5D */ jal func_800C7974
|
||||
/* B3EE2C 800C7C8C 02602025 */ move $a0, $s3
|
||||
/* B3EE30 800C7C90 0C040C84 */ jal func_80103210
|
||||
/* B3EE34 800C7C94 02202025 */ move $a0, $s1
|
||||
/* B3EE38 800C7C98 02202025 */ move $a0, $s1
|
||||
/* B3EE3C 800C7C9C 00002825 */ move $a1, $zero
|
||||
/* B3EE40 800C7CA0 0C000CA0 */ jal osRecvMesg
|
||||
/* B3EE44 800C7CA4 24060001 */ li $a2, 1
|
||||
/* B3EE48 800C7CA8 0C040CA3 */ jal func_8010328C
|
||||
/* B3EE4C 800C7CAC 02602025 */ move $a0, $s3
|
||||
/* B3EE50 800C7CB0 02602025 */ move $a0, $s3
|
||||
/* B3EE54 800C7CB4 0C031CBF */ jal PadMgr_UnlockReleaseControllerQueue
|
||||
/* B3EE58 800C7CB8 02202825 */ move $a1, $s1
|
||||
/* B3EE5C 800C7CBC 00009025 */ move $s2, $zero
|
||||
/* B3EE60 800C7CC0 00008825 */ move $s1, $zero
|
||||
/* B3EE64 800C7CC4 02608025 */ move $s0, $s3
|
||||
.L800C7CC8:
|
||||
/* B3EE68 800C7CC8 920F0003 */ lbu $t7, 3($s0)
|
||||
/* B3EE6C 800C7CCC 55E00014 */ bnezl $t7, .L800C7D20
|
||||
/* B3EE70 800C7CD0 26310001 */ addiu $s1, $s1, 1
|
||||
/* B3EE74 800C7CD4 96180000 */ lhu $t8, ($s0)
|
||||
/* B3EE78 800C7CD8 24010005 */ li $at, 5
|
||||
/* B3EE7C 800C7CDC 3C048014 */ lui $a0, %hi(D_80145BE4) # $a0, 0x8014
|
||||
/* B3EE80 800C7CE0 17010005 */ bne $t8, $at, .L800C7CF8
|
||||
/* B3EE84 800C7CE4 24845BE4 */ addiu $a0, %lo(D_80145BE4) # addiu $a0, $a0, 0x5be4
|
||||
/* B3EE88 800C7CE8 24190001 */ li $t9, 1
|
||||
/* B3EE8C 800C7CEC 02394004 */ sllv $t0, $t9, $s1
|
||||
/* B3EE90 800C7CF0 1000000A */ b .L800C7D1C
|
||||
/* B3EE94 800C7CF4 02489025 */ or $s2, $s2, $t0
|
||||
.L800C7CF8:
|
||||
/* B3EE98 800C7CF8 0C000B84 */ jal LogUtils_LogThreadId
|
||||
/* B3EE9C 800C7CFC 240501CA */ li $a1, 458
|
||||
/* B3EEA0 800C7D00 3C048014 */ lui $a0, %hi(D_80145BF0) # $a0, 0x8014
|
||||
/* B3EEA4 800C7D04 24845BF0 */ addiu $a0, %lo(D_80145BF0) # addiu $a0, $a0, 0x5bf0
|
||||
/* B3EEA8 800C7D08 0C00084C */ jal osSyncPrintf
|
||||
/* B3EEAC 800C7D0C 96050000 */ lhu $a1, ($s0)
|
||||
/* B3EEB0 800C7D10 3C048014 */ lui $a0, %hi(D_80145C10) # $a0, 0x8014
|
||||
/* B3EEB4 800C7D14 0C00084C */ jal osSyncPrintf
|
||||
/* B3EEB8 800C7D18 24845C10 */ addiu $a0, %lo(D_80145C10) # addiu $a0, $a0, 0x5c10
|
||||
.L800C7D1C:
|
||||
/* B3EEBC 800C7D1C 26310001 */ addiu $s1, $s1, 1
|
||||
.L800C7D20:
|
||||
/* B3EEC0 800C7D20 24010004 */ li $at, 4
|
||||
/* B3EEC4 800C7D24 1621FFE8 */ bne $s1, $at, .L800C7CC8
|
||||
/* B3EEC8 800C7D28 26100004 */ addiu $s0, $s0, 4
|
||||
/* B3EECC 800C7D2C A27202A8 */ sb $s2, 0x2a8($s3)
|
||||
/* B3EED0 800C7D30 3C098017 */ lui $t1, %hi(gFaultStruct+0x7CD) # $t1, 0x8017
|
||||
/* B3EED4 800C7D34 9129B5F5 */ lbu $t1, %lo(gFaultStruct+0x7CD)($t1)
|
||||
/* B3EED8 800C7D38 51200006 */ beql $t1, $zero, .L800C7D54
|
||||
/* B3EEDC 800C7D3C 926A045C */ lbu $t2, 0x45c($s3)
|
||||
/* B3EEE0 800C7D40 0C031E06 */ jal func_800C7818
|
||||
/* B3EEE4 800C7D44 02602025 */ move $a0, $s3
|
||||
/* B3EEE8 800C7D48 1000001B */ b .L800C7DB8
|
||||
/* B3EEEC 800C7D4C 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* B3EEF0 800C7D50 926A045C */ lbu $t2, 0x45c($s3)
|
||||
.L800C7D54:
|
||||
/* B3EEF4 800C7D54 59400009 */ blezl $t2, .L800C7D7C
|
||||
/* B3EEF8 800C7D58 926D045D */ lbu $t5, 0x45d($s3)
|
||||
/* B3EEFC 800C7D5C 926B045C */ lbu $t3, 0x45c($s3)
|
||||
/* B3EF00 800C7D60 02602025 */ move $a0, $s3
|
||||
/* B3EF04 800C7D64 256CFFFF */ addiu $t4, $t3, -1
|
||||
/* B3EF08 800C7D68 0C031E06 */ jal func_800C7818
|
||||
/* B3EF0C 800C7D6C A26C045C */ sb $t4, 0x45c($s3)
|
||||
/* B3EF10 800C7D70 10000011 */ b .L800C7DB8
|
||||
/* B3EF14 800C7D74 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* B3EF18 800C7D78 926D045D */ lbu $t5, 0x45d($s3)
|
||||
.L800C7D7C:
|
||||
/* B3EF1C 800C7D7C 55A00006 */ bnezl $t5, .L800C7D98
|
||||
/* B3EF20 800C7D80 926E045E */ lbu $t6, 0x45e($s3)
|
||||
/* B3EF24 800C7D84 0C031E06 */ jal func_800C7818
|
||||
/* B3EF28 800C7D88 02602025 */ move $a0, $s3
|
||||
/* B3EF2C 800C7D8C 1000000A */ b .L800C7DB8
|
||||
/* B3EF30 800C7D90 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* B3EF34 800C7D94 926E045E */ lbu $t6, 0x45e($s3)
|
||||
.L800C7D98:
|
||||
/* B3EF38 800C7D98 55C00007 */ bnezl $t6, .L800C7DB8
|
||||
/* B3EF3C 800C7D9C 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* B3EF40 800C7DA0 0C031D03 */ jal func_800C740C
|
||||
/* B3EF44 800C7DA4 02602025 */ move $a0, $s3
|
||||
/* B3EF48 800C7DA8 926F045D */ lbu $t7, 0x45d($s3)
|
||||
/* B3EF4C 800C7DAC 25F8FFFF */ addiu $t8, $t7, -1
|
||||
/* B3EF50 800C7DB0 A278045D */ sb $t8, 0x45d($s3)
|
||||
/* B3EF54 800C7DB4 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L800C7DB8:
|
||||
/* B3EF58 800C7DB8 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* B3EF5C 800C7DBC 8FB10018 */ lw $s1, 0x18($sp)
|
||||
/* B3EF60 800C7DC0 8FB2001C */ lw $s2, 0x1c($sp)
|
||||
/* B3EF64 800C7DC4 8FB30020 */ lw $s3, 0x20($sp)
|
||||
/* B3EF68 800C7DC8 03E00008 */ jr $ra
|
||||
/* B3EF6C 800C7DCC 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
Reference in New Issue
Block a user