diff --git a/src/gvars/gvars.c b/src/gvars/gvars.c index 4b2593fd3..55ba5dcb3 100644 --- a/src/gvars/gvars.c +++ b/src/gvars/gvars.c @@ -14023,9 +14023,9 @@ __OSEventState __osEventStateTab[15] = {0}; u32 var8009c758 = 0; u32 var8009c75c = 0; OSTimer var8009c760 = {0}; -u64 __osCurrentTime = 0; +OSTime __osCurrentTime = 0; u32 __osBaseCounter = 0; -u32 var8009c78c = 0; +u32 __osViIntrCount = 0; u32 __osTimerCounter = 0; u32 var8009c794 = 0; u32 var8009c798 = 0; diff --git a/src/include/gvars/gvars.h b/src/include/gvars/gvars.h index aa0d3873e..ad7fe2acf 100644 --- a/src/include/gvars/gvars.h +++ b/src/include/gvars/gvars.h @@ -471,9 +471,9 @@ extern u32 var8009c400; extern u32 var8009c650; extern __OSEventState __osEventStateTab[15]; extern OSTimer var8009c760; -extern u64 __osCurrentTime; +extern OSTime __osCurrentTime; extern u32 __osBaseCounter; -extern u32 var8009c78c; +extern u32 __osViIntrCount; extern u32 __osTimerCounter; extern OSMesg piAccessBuf; extern OSMesgQueue __osPiAccessQueue; diff --git a/src/lib/ultra/io/vimgr.c b/src/lib/ultra/io/vimgr.c index bf2ac7e82..603f2bb11 100644 --- a/src/lib/ultra/io/vimgr.c +++ b/src/lib/ultra/io/vimgr.c @@ -126,12 +126,12 @@ glabel viMgrMain /* 321c: 3c018009 */ lui $at,%hi(var80090290) /* 3220: a4230290 */ sh $v1,%lo(var80090290)($at) .L00003224: -/* 3224: 3c13800a */ lui $s3,%hi(var8009c78c) +/* 3224: 3c13800a */ lui $s3,%hi(__osViIntrCount) /* 3228: 3c12800a */ lui $s2,%hi(__osBaseCounter) /* 322c: 3c11800a */ lui $s1,%hi(__osCurrentTime) /* 3230: 2631c780 */ addiu $s1,$s1,%lo(__osCurrentTime) /* 3234: 2652c788 */ addiu $s2,$s2,%lo(__osBaseCounter) -/* 3238: 2673c78c */ addiu $s3,$s3,%lo(var8009c78c) +/* 3238: 2673c78c */ addiu $s3,$s3,%lo(__osViIntrCount) /* 323c: 2415000d */ addiu $s5,$zero,0xd /* 3240: 27b40044 */ addiu $s4,$sp,0x44 .L00003244: diff --git a/src/lib/ultra/os/timerintr.c b/src/lib/ultra/os/timerintr.c index 977818eb2..0b51ea1f9 100644 --- a/src/lib/ultra/os/timerintr.c +++ b/src/lib/ultra/os/timerintr.c @@ -13,8 +13,8 @@ glabel __osTimerServicesInit /* 491c8: 3c188006 */ lui $t8,%hi(__osTimerList) /* 491cc: 8f1808a0 */ lw $t8,%lo(__osTimerList)($t8) /* 491d0: ac20c788 */ sw $zero,%lo(__osBaseCounter)($at) -/* 491d4: 3c01800a */ lui $at,%hi(var8009c78c) -/* 491d8: ac20c78c */ sw $zero,%lo(var8009c78c)($at) +/* 491d4: 3c01800a */ lui $at,%hi(__osViIntrCount) +/* 491d8: ac20c78c */ sw $zero,%lo(__osViIntrCount)($at) /* 491dc: 3c198006 */ lui $t9,%hi(__osTimerList) /* 491e0: af180004 */ sw $t8,0x4($t8) /* 491e4: 8f3908a0 */ lw $t9,%lo(__osTimerList)($t9) @@ -41,6 +41,21 @@ glabel __osTimerServicesInit /* 49238: af00001c */ sw $zero,0x1c($t8) ); +// Mismatch: Needs bss relocation for __osCurrentTime +//void __osTimerServicesInit(void) +//{ +// __osCurrentTime = 0; +// __osBaseCounter = 0; +// __osViIntrCount = 0; +// +// __osTimerList->prev = __osTimerList; +// __osTimerList->next = __osTimerList->prev; +// __osTimerList->remaining = 0; +// __osTimerList->interval = __osTimerList->remaining; +// __osTimerList->mq = NULL; +// __osTimerList->msg = 0; +//} + void __osTimerInterrupt(void) { OSTimer *t;