From 23481179eb763cb13dbed185c7ef107efadb20b8 Mon Sep 17 00:00:00 2001 From: Ryan Myers Date: Thu, 14 Oct 2021 15:32:02 -0400 Subject: [PATCH] Rename gRetraceCount and minor cleanup --- .../non_matchings/sched/__scHandleRetrace.s | 22 +++++++------- lib/src/mips1/sc/sched.c | 30 +++++++++---------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/lib/asm/non_matchings/sched/__scHandleRetrace.s b/lib/asm/non_matchings/sched/__scHandleRetrace.s index 4fe94072..69db475e 100644 --- a/lib/asm/non_matchings/sched/__scHandleRetrace.s +++ b/lib/asm/non_matchings/sched/__scHandleRetrace.s @@ -125,18 +125,18 @@ glabel __scHandleRetrace /* 07A5D8 800799D8 0C01E7EA */ jal __scExec /* 07A5DC 800799DC 02202025 */ move $a0, $s1 .L800799E0: -/* 07A5E0 800799E0 3C0D800E */ lui $t5, %hi(D_800DE760) # $t5, 0x800e -/* 07A5E4 800799E4 8DADE764 */ lw $t5, %lo(D_800DE760+4)($t5) -/* 07A5E8 800799E8 3C0C800E */ lui $t4, %hi(D_800DE760) # $t4, 0x800e -/* 07A5EC 800799EC 8D8CE760 */ lw $t4, %lo(D_800DE760)($t4) +/* 07A5E0 800799E0 3C0D800E */ lui $t5, %hi(gRetraceCount) # $t5, 0x800e +/* 07A5E4 800799E4 8DADE764 */ lw $t5, %lo(gRetraceCount+4)($t5) +/* 07A5E8 800799E8 3C0C800E */ lui $t4, %hi(gRetraceCount) # $t4, 0x800e +/* 07A5EC 800799EC 8D8CE760 */ lw $t4, %lo(gRetraceCount)($t4) /* 07A5F0 800799F0 25AF0001 */ addiu $t7, $t5, 1 /* 07A5F4 800799F4 2DE10001 */ sltiu $at, $t7, 1 /* 07A5F8 800799F8 01817021 */ addu $t6, $t4, $at -/* 07A5FC 800799FC 3C01800E */ lui $at, %hi(D_800DE760) # $at, 0x800e +/* 07A5FC 800799FC 3C01800E */ lui $at, %hi(gRetraceCount) # $at, 0x800e /* 07A600 80079A00 3C02800E */ lui $v0, %hi(D_800DE750) # $v0, 0x800e /* 07A604 80079A04 2442E750 */ addiu $v0, %lo(D_800DE750) # addiu $v0, $v0, -0x18b0 -/* 07A608 80079A08 AC2EE760 */ sw $t6, %lo(D_800DE760)($at) -/* 07A60C 80079A0C AC2FE764 */ sw $t7, %lo(D_800DE760+4)($at) +/* 07A608 80079A08 AC2EE760 */ sw $t6, %lo(gRetraceCount)($at) +/* 07A60C 80079A0C AC2FE764 */ sw $t7, %lo(gRetraceCount+4)($at) /* 07A610 80079A10 8C580000 */ lw $t8, ($v0) /* 07A614 80079A14 00000000 */ nop /* 07A618 80079A18 27190001 */ addiu $t9, $t8, 1 @@ -183,10 +183,10 @@ glabel __scHandleRetrace /* 07A6A4 80079AA4 92020000 */ lbu $v0, ($s0) /* 07A6A8 80079AA8 24010001 */ li $at, 1 /* 07A6AC 80079AAC 14410016 */ bne $v0, $at, .L80079B08 -/* 07A6B0 80079AB0 3C04800E */ lui $a0, %hi(D_800DE760) # $a0, 0x800e -/* 07A6B4 80079AB4 3C05800E */ lui $a1, %hi(D_800DE760) # $a1, 0x800e -/* 07A6B8 80079AB8 8CA5E764 */ lw $a1, %lo(D_800DE760+4)($a1) -/* 07A6BC 80079ABC 8C84E760 */ lw $a0, %lo(D_800DE760)($a0) +/* 07A6B0 80079AB0 3C04800E */ lui $a0, %hi(gRetraceCount) # $a0, 0x800e +/* 07A6B4 80079AB4 3C05800E */ lui $a1, %hi(gRetraceCount) # $a1, 0x800e +/* 07A6B8 80079AB8 8CA5E764 */ lw $a1, %lo(gRetraceCount+4)($a1) +/* 07A6BC 80079ABC 8C84E760 */ lw $a0, %lo(gRetraceCount)($a0) /* 07A6C0 80079AC0 24060000 */ li $a2, 0 /* 07A6C4 80079AC4 0C033AA3 */ jal __ull_rem /* 07A6C8 80079AC8 24070002 */ li $a3, 2 diff --git a/lib/src/mips1/sc/sched.c b/lib/src/mips1/sc/sched.c index 6d1dbc96..3d120b16 100644 --- a/lib/src/mips1/sc/sched.c +++ b/lib/src/mips1/sc/sched.c @@ -10,6 +10,7 @@ /* * private typedefs and defines */ +#define UNK_MSG 99 #define VIDEO_MSG 666 #define RSP_DONE_MSG 667 #define RDP_DONE_MSG 668 @@ -31,7 +32,7 @@ s32 D_800DE754 = 0; s32 D_800DE758 = 0; s32 D_800DE75C = 0; // Currently unknown, might be a different type. -u64 D_800DE760 = 0; +u64 gRetraceCount = 0; /*******************************/ @@ -112,8 +113,7 @@ void osScAddClient(OSSched *sc, OSScClient *c, OSMesgQueue *msgQ, u8 arg3){ osSetIntMask(mask); } -void osScRemoveClient(OSSched *sc, OSScClient *c) -{ +void osScRemoveClient(OSSched *sc, OSScClient *c) { OSScClient *client = sc->clientList; OSScClient *prev = 0; OSIntMask mask; @@ -122,10 +122,10 @@ void osScRemoveClient(OSSched *sc, OSScClient *c) while (client != 0) { if (client == c) { - if(prev) - prev->next = c->next; - else - sc->clientList = c->next; + if(prev) + prev->next = c->next; + else + sc->clientList = c->next; break; } prev = client; @@ -135,7 +135,7 @@ void osScRemoveClient(OSSched *sc, OSScClient *c) osSetIntMask(mask); } -OSMesgQueue *osScGetCmdQ(OSSched *sc){ +OSMesgQueue *osScGetCmdQ(OSSched *sc) { return &sc->cmdQ; } @@ -175,7 +175,7 @@ static void __scMain(void *arg) { __scHandleRDP(sc); break; - case (99): + case (UNK_MSG): func_80079760(sc); break; @@ -217,12 +217,11 @@ void func_80079760(OSSched *sc) { } } -void dummy_80079808() { -} -void dummy_80079810() { -} +void dummy_80079808() {} +void dummy_80079810() {} #ifdef NON_MATCHING +//Down to a single regalloc void __scHandleRetrace(OSSched *sc) { OSScTask *rspTask = NULL; OSScClient *client; @@ -285,7 +284,7 @@ void __scHandleRetrace(OSSched *sc) { if (__scSchedule(sc, &sp, &dp, state) != state) __scExec(sc, sp, dp); - D_800DE760++; + gRetraceCount++; D_800DE750++; sc->frameCount++; @@ -303,7 +302,8 @@ void __scHandleRetrace(OSSched *sc) { for (client = sc->clientList; client != 0; client = client->next) { if (client->unk0 == 1) { - if (D_800DE760 % 2 == 0) { + //Only run this on even calls to this function + if (gRetraceCount % 2 == 0) { osSendMesg(client->msgQ, sc, OS_MESG_NOBLOCK); if (sc->audioListHead) { func_80079760(sc);