Moved some files around into their own place with better names from libreultra

This commit is contained in:
Ryan Myers
2021-10-21 08:24:13 -04:00
parent 8eabd39ad6
commit 2ccd255e79
8 changed files with 77 additions and 50 deletions
+12
View File
@@ -15,6 +15,18 @@
#endif
#define OS_YIELD_AUDIO_SIZE 0x400
/*
* Task Flags field
*/
#define OS_TASK_YIELDED 0x0001
#define OS_TASK_DP_WAIT 0x0002
#define OS_TASK_LOADABLE 0x0004
#define OS_TASK_SP_ONLY 0x0008
#define OS_TASK_USR0 0x0010
#define OS_TASK_USR1 0x0020
#define OS_TASK_USR2 0x0040
#define OS_TASK_USR3 0x0080
/* Flags */
#define M_TASK_FLAG0 1
#define M_TASK_FLAG1 2
+1 -1
View File
@@ -36,7 +36,7 @@ s32 osPfsDeleteFile(OSPfs *pfs, u16 company_code, u32 game_code, u8 *game_name,
ERRCK(__osPfsRWInode(pfs, &inode, OS_READ, bank));
ERRCK(__osPfsReleasePages(pfs, &inode, startpage, &sum, bank, &last_page, 1)); //TODO: magic constant
ERRCK(__osPfsRWInode(pfs, &inode, OS_WRITE, bank));
if (last_page.ipage == 1)
if (last_page.ipage == PFS_EOF)
break;
bank = last_page.inode_t.bank;
startpage = last_page.inode_t.page;
+2 -2
View File
@@ -46,10 +46,10 @@ s32 osPfsFileState(OSPfs *pfs, s32 file_no, OSPfsState *state)
break;
}
}
if (next_page.ipage == 1)
if (next_page.ipage == PFS_EOF)
break;
}
if (next_page.ipage != 1)
if (next_page.ipage != PFS_EOF)
return PFS_ERR_INCONSISTENT;
state->file_size = pages << PFS_ONE_PAGE;
+28
View File
@@ -0,0 +1,28 @@
/* The comment below is needed for this file to be picked up by generate_ld */
/* RAM_POS: 0x800D1DF0 */
#include "libultra_internal.h"
#include "viint.h"
#include "PR/sptask.h"
__OSViContext vi[2] = {0};
__OSViContext *__osViCurr = &vi[0];
__OSViContext *__osViNext = &vi[1];
//TODO: This should be defined above osInitialize
s32 osViClock = VI_NTSC_CLOCK;
OSYieldResult osSpTaskYielded(OSTask *tp) {
u32 status;
OSYieldResult result;
status = __osSpGetStatus();
if (status & SP_STATUS_YIELDED)
result = OS_TASK_YIELDED;
else
result = 0;
if (status & SP_STATUS_YIELD) {
tp->t.flags |= result;
tp->t.flags &= ~(OS_TASK_DP_WAIT);
}
return result;
}
+15
View File
@@ -0,0 +1,15 @@
/* The comment below is needed for this file to be picked up by generate_ld */
/* RAM_POS: 0x800D1E70 */
#include "libultra_internal.h"
#include "viint.h"
void *osViGetCurrentFramebuffer(void){
register u32 saveMask;
void *framep;
saveMask = __osDisableInt();
framep = __osViCurr->framep;
__osRestoreInt(saveMask);
return framep;
}
+15
View File
@@ -0,0 +1,15 @@
/* The comment below is needed for this file to be picked up by generate_ld */
/* RAM_POS: 0x800D1EB0 */
#include "libultra_internal.h"
#include "viint.h"
void *osViGetNextFramebuffer(void){
register u32 saveMask;
void *framep;
saveMask = __osDisableInt();
framep = __osViNext->framep;
__osRestoreInt(saveMask);
return framep;
}
+1 -1
View File
@@ -22,7 +22,7 @@ s32 viCounterMsg[6];
u16 retrace; //Used in viMgrMain, but it's supposed to be static in that function
u16 D_8012D192;
s32 D_8012D194[2];
OSTask tmp_task;
OSTask tmp_task; //Supposed to be statically declared in sptask.c
#define PI_Q_BUF_LEN 1
OSMesg piAccessBuf[PI_Q_BUF_LEN]; //Should be static, but this works for now
s32 __osPiAccessQueue[6];
@@ -1,52 +1,9 @@
/* The comment below is needed for this file to be picked up by generate_ld */
/* RAM_POS: 0x800D1DF0 */
/* RAM_POS: 0x800D1EF0 */
#include "libultra_internal.h"
#include "viint.h"
__OSViContext vi[2] = {0};
__OSViContext *__osViCurr = &vi[0];
__OSViContext *__osViNext = &vi[1];
//TODO: This should be defined above osInitialize
#define OS_TASK_YIELDED 0x0001
#define OS_TASK_DP_WAIT 0x0002
s32 osViClock = VI_NTSC_CLOCK;
OSYieldResult osSpTaskYielded(OSTask *tp) {
u32 status;
OSYieldResult result;
status = __osSpGetStatus();
if (status & SP_STATUS_YIELDED)
result = OS_TASK_YIELDED;
else
result = 0;
if (status & SP_STATUS_YIELD) {
tp->t.flags |= result;
tp->t.flags &= ~(OS_TASK_DP_WAIT);
}
return result;
}
void *osViGetCurrentFramebuffer(void){
register u32 saveMask;
void *framep;
saveMask = __osDisableInt();
framep = __osViCurr->framep;
__osRestoreInt(saveMask);
return framep;
}
void *osViGetNextFramebuffer(void){
register u32 saveMask;
void *framep;
saveMask = __osDisableInt();
framep = __osViNext->framep;
__osRestoreInt(saveMask);
return framep;
}
#include "PR/sptask.h"
#define _osVirtualToPhysical(ptr) \
if (ptr != NULL) { \
@@ -54,7 +11,7 @@ void *osViGetNextFramebuffer(void){
}
extern OSTask tmp_task;
OSTask *_VirtualToPhysicalTask(OSTask *intp) {
static OSTask *_VirtualToPhysicalTask(OSTask *intp) {
OSTask *tp;
tp = &tmp_task;
bcopy(intp, tp, sizeof(OSTask));