diff --git a/lib/asm/non_matchings/unknown_0CD820/__osContGetInitData.s b/lib/asm/non_matchings/unknown_0CD820/__osContGetInitData.s index 4a8bf07b..7b274885 100644 --- a/lib/asm/non_matchings/unknown_0CD820/__osContGetInitData.s +++ b/lib/asm/non_matchings/unknown_0CD820/__osContGetInitData.s @@ -2,8 +2,8 @@ glabel __osContGetInitData /* 0CDA18 800CCE18 3C0F8013 */ lui $t7, %hi(__osMaxControllers) # $t7, 0x8013 /* 0CDA1C 800CCE1C 91EFCD91 */ lbu $t7, %lo(__osMaxControllers)($t7) /* 0CDA20 800CCE20 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0CDA24 800CCE24 3C0E8013 */ lui $t6, %hi(D_8012CD50) # $t6, 0x8013 -/* 0CDA28 800CCE28 25CECD50 */ addiu $t6, %lo(D_8012CD50) # addiu $t6, $t6, -0x32b0 +/* 0CDA24 800CCE24 3C0E8013 */ lui $t6, %hi(__osContPifRam) # $t6, 0x8013 +/* 0CDA28 800CCE28 25CECD50 */ addiu $t6, %lo(__osContPifRam) # addiu $t6, $t6, -0x32b0 /* 0CDA2C 800CCE2C A3A00007 */ sb $zero, 7($sp) /* 0CDA30 800CCE30 AFAE0014 */ sw $t6, 0x14($sp) /* 0CDA34 800CCE34 19E00028 */ blez $t7, .L800CCED8 diff --git a/lib/asm/non_matchings/unknown_0CD820/__osPackReadData.s b/lib/asm/non_matchings/unknown_0CD820/__osPackReadData.s index f5005ee2..85ab93d0 100644 --- a/lib/asm/non_matchings/unknown_0CD820/__osPackReadData.s +++ b/lib/asm/non_matchings/unknown_0CD820/__osPackReadData.s @@ -1,16 +1,16 @@ glabel __osPackReadData /* 0CDD4C 800CD14C 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 0CDD50 800CD150 3C0E8013 */ lui $t6, %hi(D_8012CD50) # $t6, 0x8013 -/* 0CDD54 800CD154 25CECD50 */ addiu $t6, %lo(D_8012CD50) # addiu $t6, $t6, -0x32b0 +/* 0CDD50 800CD150 3C0E8013 */ lui $t6, %hi(__osContPifRam) # $t6, 0x8013 +/* 0CDD54 800CD154 25CECD50 */ addiu $t6, %lo(__osContPifRam) # addiu $t6, $t6, -0x32b0 /* 0CDD58 800CD158 AFAE000C */ sw $t6, 0xc($sp) /* 0CDD5C 800CD15C AFA00000 */ sw $zero, ($sp) .L800CD160: /* 0CDD60 800CD160 8FAF0000 */ lw $t7, ($sp) /* 0CDD64 800CD164 8FB90000 */ lw $t9, ($sp) -/* 0CDD68 800CD168 3C018013 */ lui $at, %hi(D_8012CD50) # $at, 0x8013 +/* 0CDD68 800CD168 3C018013 */ lui $at, %hi(__osContPifRam) # $at, 0x8013 /* 0CDD6C 800CD16C 000FC080 */ sll $t8, $t7, 2 /* 0CDD70 800CD170 00380821 */ addu $at, $at, $t8 -/* 0CDD74 800CD174 AC20CD50 */ sw $zero, %lo(D_8012CD50)($at) +/* 0CDD74 800CD174 AC20CD50 */ sw $zero, %lo(__osContPifRam)($at) /* 0CDD78 800CD178 27280001 */ addiu $t0, $t9, 1 /* 0CDD7C 800CD17C 29010010 */ slti $at, $t0, 0x10 /* 0CDD80 800CD180 1420FFF7 */ bnez $at, .L800CD160 @@ -18,7 +18,7 @@ glabel __osPackReadData /* 0CDD88 800CD188 3C198013 */ lui $t9, %hi(__osMaxControllers) # $t9, 0x8013 /* 0CDD8C 800CD18C 9339CD91 */ lbu $t9, %lo(__osMaxControllers)($t9) /* 0CDD90 800CD190 24090001 */ li $t1, 1 -/* 0CDD94 800CD194 3C018013 */ lui $at, %hi(D_8012CD8C) # $at, 0x8013 +/* 0CDD94 800CD194 3C018013 */ lui $at, %hi(__osContPifRam) # $at, 0x8013 /* 0CDD98 800CD198 240A00FF */ li $t2, 255 /* 0CDD9C 800CD19C 240B0001 */ li $t3, 1 /* 0CDDA0 800CD1A0 240C0004 */ li $t4, 4 @@ -26,7 +26,7 @@ glabel __osPackReadData /* 0CDDA8 800CD1A8 340EFFFF */ li $t6, 65535 /* 0CDDAC 800CD1AC 240FFFFF */ li $t7, -1 /* 0CDDB0 800CD1B0 2418FFFF */ li $t8, -1 -/* 0CDDB4 800CD1B4 AC29CD8C */ sw $t1, %lo(D_8012CD8C)($at) +/* 0CDDB4 800CD1B4 AC29CD8C */ sw $t1, %lo(__osContPifRam+60)($at) /* 0CDDB8 800CD1B8 A3AA0004 */ sb $t2, 4($sp) /* 0CDDBC 800CD1BC A3AB0005 */ sb $t3, 5($sp) /* 0CDDC0 800CD1C0 A3AC0006 */ sb $t4, 6($sp) diff --git a/lib/asm/non_matchings/unknown_0CD820/__osPackRequestData.s b/lib/asm/non_matchings/unknown_0CD820/__osPackRequestData.s index 3faa7cbc..f1416683 100644 --- a/lib/asm/non_matchings/unknown_0CD820/__osPackRequestData.s +++ b/lib/asm/non_matchings/unknown_0CD820/__osPackRequestData.s @@ -5,20 +5,20 @@ glabel __osPackRequestData .L800CCEF4: /* 0CDAF4 800CCEF4 8FAE0000 */ lw $t6, ($sp) /* 0CDAF8 800CCEF8 8FB80000 */ lw $t8, ($sp) -/* 0CDAFC 800CCEFC 3C018013 */ lui $at, %hi(D_8012CD50) # $at, 0x8013 +/* 0CDAFC 800CCEFC 3C018013 */ lui $at, %hi(__osContPifRam) # $at, 0x8013 /* 0CDB00 800CCF00 000E7880 */ sll $t7, $t6, 2 /* 0CDB04 800CCF04 002F0821 */ addu $at, $at, $t7 -/* 0CDB08 800CCF08 AC20CD50 */ sw $zero, %lo(D_8012CD50)($at) +/* 0CDB08 800CCF08 AC20CD50 */ sw $zero, %lo(__osContPifRam)($at) /* 0CDB0C 800CCF0C 27190001 */ addiu $t9, $t8, 1 /* 0CDB10 800CCF10 2B210010 */ slti $at, $t9, 0x10 /* 0CDB14 800CCF14 1420FFF7 */ bnez $at, .L800CCEF4 /* 0CDB18 800CCF18 AFB90000 */ sw $t9, ($sp) /* 0CDB1C 800CCF1C 3C198013 */ lui $t9, %hi(__osMaxControllers) # $t9, 0x8013 /* 0CDB20 800CCF20 9339CD91 */ lbu $t9, %lo(__osMaxControllers)($t9) -/* 0CDB24 800CCF24 3C098013 */ lui $t1, %hi(D_8012CD50) # $t1, 0x8013 +/* 0CDB24 800CCF24 3C098013 */ lui $t1, %hi(__osContPifRam) # $t1, 0x8013 /* 0CDB28 800CCF28 24080001 */ li $t0, 1 -/* 0CDB2C 800CCF2C 3C018013 */ lui $at, %hi(D_8012CD8C) # $at, 0x8013 -/* 0CDB30 800CCF30 2529CD50 */ addiu $t1, %lo(D_8012CD50) # addiu $t1, $t1, -0x32b0 +/* 0CDB2C 800CCF2C 3C018013 */ lui $at, %hi(__osContPifRam) # $at, 0x8013 +/* 0CDB30 800CCF30 2529CD50 */ addiu $t1, %lo(__osContPifRam) # addiu $t1, $t1, -0x32b0 /* 0CDB34 800CCF34 240A00FF */ li $t2, 255 /* 0CDB38 800CCF38 240B0001 */ li $t3, 1 /* 0CDB3C 800CCF3C 240C0003 */ li $t4, 3 @@ -26,7 +26,7 @@ glabel __osPackRequestData /* 0CDB44 800CCF44 240E00FF */ li $t6, 255 /* 0CDB48 800CCF48 240F00FF */ li $t7, 255 /* 0CDB4C 800CCF4C 241800FF */ li $t8, 255 -/* 0CDB50 800CCF50 AC28CD8C */ sw $t0, %lo(D_8012CD8C)($at) +/* 0CDB50 800CCF50 AC28CD8C */ sw $t0, %lo(__osContPifRam+60)($at) /* 0CDB54 800CCF54 AFA9000C */ sw $t1, 0xc($sp) /* 0CDB58 800CCF58 A3AA0004 */ sb $t2, 4($sp) /* 0CDB5C 800CCF5C A3AB0005 */ sb $t3, 5($sp) diff --git a/lib/asm/non_matchings/unknown_0CD820/osContGetReadData.s b/lib/asm/non_matchings/unknown_0CD820/osContGetReadData.s index c447d1eb..9614abeb 100644 --- a/lib/asm/non_matchings/unknown_0CD820/osContGetReadData.s +++ b/lib/asm/non_matchings/unknown_0CD820/osContGetReadData.s @@ -1,9 +1,9 @@ glabel osContGetReadData /* 0CDCA4 800CD0A4 3C0F8013 */ lui $t7, %hi(__osMaxControllers) # $t7, 0x8013 /* 0CDCA8 800CD0A8 91EFCD91 */ lbu $t7, %lo(__osMaxControllers)($t7) -/* 0CDCAC 800CD0AC 3C0E8013 */ lui $t6, %hi(D_8012CD50) # $t6, 0x8013 +/* 0CDCAC 800CD0AC 3C0E8013 */ lui $t6, %hi(__osContPifRam) # $t6, 0x8013 /* 0CDCB0 800CD0B0 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 0CDCB4 800CD0B4 25CECD50 */ addiu $t6, %lo(D_8012CD50) # addiu $t6, $t6, -0x32b0 +/* 0CDCB4 800CD0B4 25CECD50 */ addiu $t6, %lo(__osContPifRam) # addiu $t6, $t6, -0x32b0 /* 0CDCB8 800CD0B8 AFAE000C */ sw $t6, 0xc($sp) /* 0CDCBC 800CD0BC 19E00021 */ blez $t7, .L800CD144 /* 0CDCC0 800CD0C0 AFA00000 */ sw $zero, ($sp) diff --git a/lib/asm/non_matchings/unknown_0CD820/osContInit.s b/lib/asm/non_matchings/unknown_0CD820/osContInit.s index 46389661..f124db18 100644 --- a/lib/asm/non_matchings/unknown_0CD820/osContInit.s +++ b/lib/asm/non_matchings/unknown_0CD820/osContInit.s @@ -1,7 +1,7 @@ glabel osContInit /* 0CD820 800CCC20 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 0CD824 800CCC24 3C0E800E */ lui $t6, %hi(D_800E38C0) # $t6, 0x800e -/* 0CD828 800CCC28 8DCE38C0 */ lw $t6, %lo(D_800E38C0)($t6) +/* 0CD824 800CCC24 3C0E800E */ lui $t6, %hi(__osContinitialized) # $t6, 0x800e +/* 0CD828 800CCC28 8DCE38C0 */ lw $t6, %lo(__osContinitialized)($t6) /* 0CD82C 800CCC2C AFBF0024 */ sw $ra, 0x24($sp) /* 0CD830 800CCC30 AFA40080 */ sw $a0, 0x80($sp) /* 0CD834 800CCC34 AFA50084 */ sw $a1, 0x84($sp) @@ -12,9 +12,9 @@ glabel osContInit /* 0CD848 800CCC48 00001025 */ move $v0, $zero .L800CCC4C: /* 0CD84C 800CCC4C 240F0001 */ li $t7, 1 -/* 0CD850 800CCC50 3C01800E */ lui $at, %hi(D_800E38C0) # $at, 0x800e +/* 0CD850 800CCC50 3C01800E */ lui $at, %hi(__osContinitialized) # $at, 0x800e /* 0CD854 800CCC54 0C03486C */ jal osGetTime -/* 0CD858 800CCC58 AC2F38C0 */ sw $t7, %lo(D_800E38C0)($at) +/* 0CD858 800CCC58 AC2F38C0 */ sw $t7, %lo(__osContinitialized)($at) /* 0CD85C 800CCC5C 3C050007 */ lui $a1, (0x0007A120 >> 16) # lui $a1, 7 /* 0CD860 800CCC60 3C06800E */ lui $a2, %hi(osClockRate) # $a2, 0x800e /* 0CD864 800CCC64 3C07800E */ lui $a3, %hi(osClockRate+4) # $a3, 0x800e @@ -93,8 +93,8 @@ glabel osContInit /* 0CD980 800CCD80 A038CD91 */ sb $t8, %lo(__osMaxControllers)($at) /* 0CD984 800CCD84 0C0333BA */ jal __osPackRequestData /* 0CD988 800CCD88 00002025 */ move $a0, $zero -/* 0CD98C 800CCD8C 3C058013 */ lui $a1, %hi(D_8012CD50) # $a1, 0x8013 -/* 0CD990 800CCD90 24A5CD50 */ addiu $a1, %lo(D_8012CD50) # addiu $a1, $a1, -0x32b0 +/* 0CD98C 800CCD8C 3C058013 */ lui $a1, %hi(__osContPifRam) # $a1, 0x8013 +/* 0CD990 800CCD90 24A5CD50 */ addiu $a1, %lo(__osContPifRam) # addiu $a1, $a1, -0x32b0 /* 0CD994 800CCD94 0C0335B0 */ jal __osSiRawStartDma /* 0CD998 800CCD98 24040001 */ li $a0, 1 /* 0CD99C 800CCD9C AFA20078 */ sw $v0, 0x78($sp) @@ -102,8 +102,8 @@ glabel osContInit /* 0CD9A4 800CCDA4 27A5007C */ addiu $a1, $sp, 0x7c /* 0CD9A8 800CCDA8 0C0322EC */ jal osRecvMesg /* 0CD9AC 800CCDAC 24060001 */ li $a2, 1 -/* 0CD9B0 800CCDB0 3C058013 */ lui $a1, %hi(D_8012CD50) # $a1, 0x8013 -/* 0CD9B4 800CCDB4 24A5CD50 */ addiu $a1, %lo(D_8012CD50) # addiu $a1, $a1, -0x32b0 +/* 0CD9B0 800CCDB0 3C058013 */ lui $a1, %hi(__osContPifRam) # $a1, 0x8013 +/* 0CD9B4 800CCDB4 24A5CD50 */ addiu $a1, %lo(__osContPifRam) # addiu $a1, $a1, -0x32b0 /* 0CD9B8 800CCDB8 0C0335B0 */ jal __osSiRawStartDma /* 0CD9BC 800CCDBC 00002025 */ move $a0, $zero /* 0CD9C0 800CCDC0 AFA20078 */ sw $v0, 0x78($sp) diff --git a/lib/asm/non_matchings/unknown_0CD820/osContStartReadData.s b/lib/asm/non_matchings/unknown_0CD820/osContStartReadData.s index 93432d31..2dbdf980 100644 --- a/lib/asm/non_matchings/unknown_0CD820/osContStartReadData.s +++ b/lib/asm/non_matchings/unknown_0CD820/osContStartReadData.s @@ -11,8 +11,8 @@ glabel osContStartReadData /* 0CDC04 800CD004 00000000 */ nop /* 0CDC08 800CD008 0C033453 */ jal __osPackReadData /* 0CDC0C 800CD00C 00000000 */ nop -/* 0CDC10 800CD010 3C058013 */ lui $a1, %hi(D_8012CD50) # $a1, 0x8013 -/* 0CDC14 800CD014 24A5CD50 */ addiu $a1, %lo(D_8012CD50) # addiu $a1, $a1, -0x32b0 +/* 0CDC10 800CD010 3C058013 */ lui $a1, %hi(__osContPifRam) # $a1, 0x8013 +/* 0CDC14 800CD014 24A5CD50 */ addiu $a1, %lo(__osContPifRam) # addiu $a1, $a1, -0x32b0 /* 0CDC18 800CD018 0C0335B0 */ jal __osSiRawStartDma /* 0CDC1C 800CD01C 24040001 */ li $a0, 1 /* 0CDC20 800CD020 AFA2001C */ sw $v0, 0x1c($sp) @@ -25,19 +25,19 @@ glabel osContStartReadData .L800CD038: /* 0CDC38 800CD038 8FB80018 */ lw $t8, 0x18($sp) /* 0CDC3C 800CD03C 8FA80018 */ lw $t0, 0x18($sp) -/* 0CDC40 800CD040 3C018013 */ lui $at, %hi(D_8012CD50) # $at, 0x8013 +/* 0CDC40 800CD040 3C018013 */ lui $at, %hi(__osContPifRam) # $at, 0x8013 /* 0CDC44 800CD044 0018C880 */ sll $t9, $t8, 2 /* 0CDC48 800CD048 00390821 */ addu $at, $at, $t9 /* 0CDC4C 800CD04C 240F00FF */ li $t7, 255 -/* 0CDC50 800CD050 AC2FCD50 */ sw $t7, %lo(D_8012CD50)($at) +/* 0CDC50 800CD050 AC2FCD50 */ sw $t7, %lo(__osContPifRam)($at) /* 0CDC54 800CD054 25090001 */ addiu $t1, $t0, 1 /* 0CDC58 800CD058 29210010 */ slti $at, $t1, 0x10 /* 0CDC5C 800CD05C 1420FFF6 */ bnez $at, .L800CD038 /* 0CDC60 800CD060 AFA90018 */ sw $t1, 0x18($sp) -/* 0CDC64 800CD064 3C018013 */ lui $at, %hi(D_8012CD8C) # $at, 0x8013 -/* 0CDC68 800CD068 3C058013 */ lui $a1, %hi(D_8012CD50) # $a1, 0x8013 -/* 0CDC6C 800CD06C AC20CD8C */ sw $zero, %lo(D_8012CD8C)($at) -/* 0CDC70 800CD070 24A5CD50 */ addiu $a1, %lo(D_8012CD50) # addiu $a1, $a1, -0x32b0 +/* 0CDC64 800CD064 3C018013 */ lui $at, %hi(__osContPifRam) # $at, 0x8013 +/* 0CDC68 800CD068 3C058013 */ lui $a1, %hi(__osContPifRam) # $a1, 0x8013 +/* 0CDC6C 800CD06C AC20CD8C */ sw $zero, %lo(__osContPifRam+60)($at) +/* 0CDC70 800CD070 24A5CD50 */ addiu $a1, %lo(__osContPifRam) # addiu $a1, $a1, -0x32b0 /* 0CDC74 800CD074 0C0335B0 */ jal __osSiRawStartDma /* 0CDC78 800CD078 00002025 */ move $a0, $zero /* 0CDC7C 800CD07C 240A0001 */ li $t2, 1 diff --git a/lib/src/os/controller.c b/lib/src/os/controller.c index 2b70199b..48842269 100644 --- a/lib/src/os/controller.c +++ b/lib/src/os/controller.c @@ -20,10 +20,8 @@ // OSMesg __osEepromTimerMsg; // OSPifRam __osPfsPifRam; // 8012CDE0 -s32 D_800E38C0 = 0; - -s32 D_8012CD50[15]; -s32 D_8012CD8C; +u32 __osContinitialized = 0; +OSPifRam __osContPifRam; u8 __osContLastCmd; u8 __osMaxControllers; // 8012CD91 s32 D_8012CD94;