mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
si lib functions matched
This commit is contained in:
@@ -187,7 +187,7 @@ typedef struct {
|
||||
|
||||
/* Controller interface */
|
||||
|
||||
extern s32 osContInit(OSMesgQueue *mq, u8 *bitpattern, OSContStatus *status);
|
||||
extern s32 osContInit(OSMesgQueue *mq, u8 *bitpattern, OSContStatus *data);
|
||||
extern s32 osContReset(OSMesgQueue *, OSContStatus *);
|
||||
extern s32 osContStartQuery(OSMesgQueue *);
|
||||
extern s32 osContStartReadData(OSMesgQueue *mq);
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
glabel __osSiCreateAccessQueue
|
||||
/* 0CE200 800CD600 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0CE204 800CD604 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0CE208 800CD608 240E0001 */ li $t6, 1
|
||||
/* 0CE20C 800CD60C 3C01800E */ lui $at, %hi(D_800E38D0) # $at, 0x800e
|
||||
/* 0CE210 800CD610 3C048013 */ lui $a0, %hi(D_8012CE28) # $a0, 0x8013
|
||||
/* 0CE214 800CD614 3C058013 */ lui $a1, %hi(D_8012CE20) # $a1, 0x8013
|
||||
/* 0CE218 800CD618 AC2E38D0 */ sw $t6, %lo(D_800E38D0)($at)
|
||||
/* 0CE21C 800CD61C 24A5CE20 */ addiu $a1, %lo(D_8012CE20) # addiu $a1, $a1, -0x31e0
|
||||
/* 0CE220 800CD620 2484CE28 */ addiu $a0, %lo(D_8012CE28) # addiu $a0, $a0, -0x31d8
|
||||
/* 0CE224 800CD624 0C032208 */ jal osCreateMesgQueue
|
||||
/* 0CE228 800CD628 24060001 */ li $a2, 1
|
||||
/* 0CE22C 800CD62C 3C048013 */ lui $a0, %hi(D_8012CE28) # $a0, 0x8013
|
||||
/* 0CE230 800CD630 2484CE28 */ addiu $a0, %lo(D_8012CE28) # addiu $a0, $a0, -0x31d8
|
||||
/* 0CE234 800CD634 00002825 */ move $a1, $zero
|
||||
/* 0CE238 800CD638 0C03238C */ jal osSendMesg
|
||||
/* 0CE23C 800CD63C 00003025 */ move $a2, $zero
|
||||
/* 0CE240 800CD640 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0CE244 800CD644 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 0CE248 800CD648 03E00008 */ jr $ra
|
||||
/* 0CE24C 800CD64C 00000000 */ nop
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
glabel __osSiGetAccess
|
||||
/* 0CE250 800CD650 3C0E800E */ lui $t6, %hi(D_800E38D0) # $t6, 0x800e
|
||||
/* 0CE254 800CD654 8DCE38D0 */ lw $t6, %lo(D_800E38D0)($t6)
|
||||
/* 0CE258 800CD658 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 0CE25C 800CD65C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0CE260 800CD660 15C00003 */ bnez $t6, .L800CD670
|
||||
/* 0CE264 800CD664 00000000 */ nop
|
||||
/* 0CE268 800CD668 0C033580 */ jal __osSiCreateAccessQueue
|
||||
/* 0CE26C 800CD66C 00000000 */ nop
|
||||
.L800CD670:
|
||||
/* 0CE270 800CD670 3C048013 */ lui $a0, %hi(D_8012CE28) # $a0, 0x8013
|
||||
/* 0CE274 800CD674 2484CE28 */ addiu $a0, %lo(D_8012CE28) # addiu $a0, $a0, -0x31d8
|
||||
/* 0CE278 800CD678 27A5001C */ addiu $a1, $sp, 0x1c
|
||||
/* 0CE27C 800CD67C 0C0322EC */ jal osRecvMesg
|
||||
/* 0CE280 800CD680 24060001 */ li $a2, 1
|
||||
/* 0CE284 800CD684 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0CE288 800CD688 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 0CE28C 800CD68C 03E00008 */ jr $ra
|
||||
/* 0CE290 800CD690 00000000 */ nop
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
glabel __osSiRelAccess
|
||||
/* 0CE294 800CD694 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0CE298 800CD698 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0CE29C 800CD69C 3C048013 */ lui $a0, %hi(D_8012CE28) # $a0, 0x8013
|
||||
/* 0CE2A0 800CD6A0 2484CE28 */ addiu $a0, %lo(D_8012CE28) # addiu $a0, $a0, -0x31d8
|
||||
/* 0CE2A4 800CD6A4 00002825 */ move $a1, $zero
|
||||
/* 0CE2A8 800CD6A8 0C03238C */ jal osSendMesg
|
||||
/* 0CE2AC 800CD6AC 00003025 */ move $a2, $zero
|
||||
/* 0CE2B0 800CD6B0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0CE2B4 800CD6B4 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 0CE2B8 800CD6B8 03E00008 */ jr $ra
|
||||
/* 0CE2BC 800CD6BC 00000000 */ nop
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
#define HALF_MIL_CYLCES 500000U
|
||||
#define ONE_MIL_CYLCES 1000000U
|
||||
#define HALF_SECOND HALF_MIL_CYLCES * osClockRate / ONE_MIL_CYLCES
|
||||
#define HALF_A_SECOND HALF_MIL_CYLCES * osClockRate / ONE_MIL_CYLCES
|
||||
|
||||
u32 __osContinitialized = 0;
|
||||
OSPifRam __osContPifRam;
|
||||
@@ -33,9 +33,9 @@ s32 osContInit(OSMesgQueue *mq, u8 *bitpattern, OSContStatus *data) {
|
||||
}
|
||||
__osContinitialized = TRUE;
|
||||
t = osGetTime();
|
||||
if (HALF_SECOND > t) {
|
||||
if (HALF_A_SECOND > t) {
|
||||
osCreateMesgQueue(&timerMesgQueue, &dummy, 1);
|
||||
osSetTimer(&mytimer, HALF_SECOND - t, 0, &timerMesgQueue, &dummy);
|
||||
osSetTimer(&mytimer, HALF_A_SECOND - t, 0, &timerMesgQueue, &dummy);
|
||||
osRecvMesg(&timerMesgQueue, &dummy, OS_MESG_BLOCK);
|
||||
}
|
||||
__osMaxControllers = MAXCONTROLLERS;
|
||||
|
||||
+23
-10
@@ -4,18 +4,18 @@
|
||||
#include "types.h"
|
||||
#include "macros.h"
|
||||
#include "libultra_internal.h"
|
||||
#include "controller.h"
|
||||
#include "src/memory.h"
|
||||
|
||||
s32 D_800E38D0 = 0;
|
||||
u32 __osSiAccessQueueEnabled = 0;
|
||||
|
||||
// Ok, so I completely gave up on the rest of these bss variables.
|
||||
// This is probably not the right place for them, but we can always
|
||||
// fix that later.
|
||||
|
||||
s32 D_8012CE20[2];
|
||||
s32 D_8012CE28[6];
|
||||
s32 __osEepPifRam[15];
|
||||
s32 D_8012CE7C; //__osEepPifRam.pifstatus
|
||||
#define SI_Q_BUF_LEN 1
|
||||
static OSMesg siAccessBuf[SI_Q_BUF_LEN];
|
||||
OSMesgQueue __osSiAccessQueue;
|
||||
OSPifRam __osEepPifRam;
|
||||
s32 viThread[172];
|
||||
s32 viEventQueue[6];
|
||||
s32 viEventBuf[6];
|
||||
@@ -25,7 +25,8 @@ u16 retrace; //Used in viMgrMain, but it's supposed to be static in that functio
|
||||
u16 D_8012D192;
|
||||
s32 D_8012D194[2];
|
||||
s32 D_8012D1A0[16];
|
||||
s32 piAccessBuf[2]; //Should be static, but this works for now
|
||||
#define PI_Q_BUF_LEN 1
|
||||
OSMesg piAccessBuf[PI_Q_BUF_LEN]; //Should be static, but this works for now
|
||||
s32 __osPiAccessQueue[6];
|
||||
OSTimer D_8012D200;
|
||||
OSTime __osCurrentTime;
|
||||
@@ -36,7 +37,19 @@ u32 D_8012D234[2];
|
||||
s32 D_8012D240[108];
|
||||
MemoryPoolSlot *gMainMemoryPool;
|
||||
|
||||
GLOBAL_ASM("lib/asm/non_matchings/unknown_0CE200/__osSiCreateAccessQueue.s")
|
||||
GLOBAL_ASM("lib/asm/non_matchings/unknown_0CE200/__osSiGetAccess.s")
|
||||
GLOBAL_ASM("lib/asm/non_matchings/unknown_0CE200/__osSiRelAccess.s")
|
||||
void __osSiCreateAccessQueue(void) {
|
||||
__osSiAccessQueueEnabled = 1;
|
||||
osCreateMesgQueue(&__osSiAccessQueue, siAccessBuf, SI_Q_BUF_LEN);
|
||||
osSendMesg(&__osSiAccessQueue, NULL, OS_MESG_NOBLOCK);
|
||||
}
|
||||
void __osSiGetAccess(void) {
|
||||
OSMesg dummyMesg;
|
||||
if (!__osSiAccessQueueEnabled)
|
||||
__osSiCreateAccessQueue();
|
||||
osRecvMesg(&__osSiAccessQueue, &dummyMesg, OS_MESG_BLOCK);
|
||||
}
|
||||
void __osSiRelAccess(void) {
|
||||
osSendMesg(&__osSiAccessQueue, NULL, OS_MESG_NOBLOCK);
|
||||
}
|
||||
|
||||
GLOBAL_ASM("lib/asm/non_matchings/unknown_0CE200/__osSiRawStartDma.s")
|
||||
|
||||
Reference in New Issue
Block a user