mirror of
https://github.com/zeldaret/oot.git
synced 2025-08-12 01:40:47 +00:00
Fix most compiler warnings in the boot and code segments (#674)
* Less warnings in boot & code segments * few more warnings gone * Ran formatter * z_view warning gone * -> 1 * f31 -> 31 * Remove function casts * Few more small improvements * Separate declaration and assignment in func_80091738 and Item_Give Co-authored-by: Thar0 <maximilianc64@gmail.com>
This commit is contained in:
parent
d615ec4f31
commit
f9d96d9f73
208 changed files with 1702 additions and 1846 deletions
|
@ -42,9 +42,9 @@ const f64 D_800122E0[] = { 10e0L, 10e1L, 10e3L, 10e7L, 10e15L, 10e31L, 10e63L, 1
|
|||
|
||||
void _Ldtob(_Pft* args, u8 type) {
|
||||
u8 buff[BUFF_LEN];
|
||||
u8* ptr;
|
||||
u8* ptr = buff;
|
||||
u32 sp70;
|
||||
f64 val;
|
||||
f64 val = args->v.ld;
|
||||
/* maybe struct? */
|
||||
s16 err;
|
||||
s16 nsig;
|
||||
|
@ -60,14 +60,10 @@ void _Ldtob(_Pft* args, u8 type) {
|
|||
u8 drop;
|
||||
s32 n2;
|
||||
|
||||
ptr = buff;
|
||||
val = args->v.ld;
|
||||
if (args->prec < 0) {
|
||||
args->prec = 6;
|
||||
} else {
|
||||
if (args->prec == 0 && (type == 'g' || type == 'G')) {
|
||||
args->prec = 1;
|
||||
}
|
||||
} else if (args->prec == 0 && (type == 'g' || type == 'G')) {
|
||||
args->prec = 1;
|
||||
}
|
||||
err = _Ldunscale(&exp, (_Pft*)args);
|
||||
if (err > 0) {
|
||||
|
@ -90,18 +86,16 @@ void _Ldtob(_Pft* args, u8 type) {
|
|||
val *= D_800122E0[i];
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (exp > 0) {
|
||||
factor = 1;
|
||||
exp &= ~3;
|
||||
} else if (exp > 0) {
|
||||
factor = 1;
|
||||
exp &= ~3;
|
||||
|
||||
for (n = exp, i = 0; n > 0; n >>= 1, i++) {
|
||||
if ((n & 1) != 0) {
|
||||
factor *= D_800122E0[i];
|
||||
}
|
||||
for (n = exp, i = 0; n > 0; n >>= 1, i++) {
|
||||
if ((n & 1) != 0) {
|
||||
factor *= D_800122E0[i];
|
||||
}
|
||||
val /= factor;
|
||||
}
|
||||
val /= factor;
|
||||
}
|
||||
gen = ((type == 'f') ? exp + 10 : 6) + args->prec;
|
||||
if (gen > 0x13) {
|
||||
|
@ -157,27 +151,28 @@ void _Ldtob(_Pft* args, u8 type) {
|
|||
}
|
||||
|
||||
s16 _Ldunscale(s16* pex, _Pft* px) {
|
||||
|
||||
u16* ps = (u16*)px;
|
||||
s16 xchar = (ps[_D0] & _DMASK) >> _DOFF;
|
||||
|
||||
if (xchar == _DMAX) { /* NaN or INF */
|
||||
*pex = 0;
|
||||
return (s16)(ps[_D0] & _DFRAC || ps[_D1] || ps[_D2] || ps[_D3] ? NAN : INF);
|
||||
} else if (0 < xchar) {
|
||||
ps[_D0] = (ps[_D0] & ~_DMASK) | (_DBIAS << _DOFF);
|
||||
*pex = xchar - (_DBIAS - 1);
|
||||
return (FINITE);
|
||||
return FINITE;
|
||||
}
|
||||
if (0 > xchar) {
|
||||
return NAN;
|
||||
} else {
|
||||
*pex = 0;
|
||||
return (0);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
void _Genld(_Pft* px, u8 code, u8* p, s16 nsig, s16 xexp) {
|
||||
u8 point = '.';
|
||||
|
||||
if (nsig <= 0) {
|
||||
nsig = 1,
|
||||
|
||||
|
|
|
@ -7,20 +7,20 @@ u8 D_8000AF84[] = "0123456789ABCDEF";
|
|||
|
||||
void _Litob(_Pft* args, u8 type) {
|
||||
u8 buff[BUFF_LEN];
|
||||
const u8* num_map;
|
||||
const u8* numMap;
|
||||
s32 base;
|
||||
s32 buff_ind;
|
||||
s32 idx;
|
||||
u64 num;
|
||||
lldiv_t quotrem;
|
||||
|
||||
if (type == 'X') {
|
||||
num_map = D_8000AF84;
|
||||
numMap = D_8000AF84;
|
||||
} else {
|
||||
num_map = D_8000AF70;
|
||||
numMap = D_8000AF70;
|
||||
}
|
||||
|
||||
base = (type == 'o') ? 8 : ((type != 'x' && type != 'X') ? 10 : 16);
|
||||
buff_ind = BUFF_LEN;
|
||||
idx = BUFF_LEN;
|
||||
num = args->v.ll;
|
||||
|
||||
if ((type == 'd' || type == 'i') && args->v.ll < 0) {
|
||||
|
@ -28,29 +28,29 @@ void _Litob(_Pft* args, u8 type) {
|
|||
}
|
||||
|
||||
if (num != 0 || args->prec != 0) {
|
||||
buff[--buff_ind] = num_map[num % base];
|
||||
buff[--idx] = numMap[num % base];
|
||||
}
|
||||
|
||||
args->v.ll = num / base;
|
||||
|
||||
while (args->v.ll > 0 && buff_ind > 0) {
|
||||
while (args->v.ll > 0 && idx > 0) {
|
||||
quotrem = lldiv(args->v.ll, base);
|
||||
args->v.ll = quotrem.quot;
|
||||
buff[--buff_ind] = num_map[quotrem.rem];
|
||||
buff[--idx] = numMap[quotrem.rem];
|
||||
}
|
||||
|
||||
args->n1 = BUFF_LEN - buff_ind;
|
||||
args->n1 = BUFF_LEN - idx;
|
||||
|
||||
memcpy(args->s, buff + buff_ind, args->n1);
|
||||
memcpy(args->s, buff + idx, args->n1);
|
||||
|
||||
if (args->n1 < args->prec) {
|
||||
args->nz0 = args->prec - args->n1;
|
||||
}
|
||||
|
||||
if (args->prec < 0 && (args->flags & (FLAGS_ZERO | FLAGS_MINUS)) == FLAGS_ZERO) {
|
||||
buff_ind = args->width - args->n0 - args->nz0 - args->n1;
|
||||
if (buff_ind > 0) {
|
||||
args->nz0 += buff_ind;
|
||||
idx = args->width - args->n0 - args->nz0 - args->n1;
|
||||
if (idx > 0) {
|
||||
args->nz0 += idx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
for (i = 0; *a >= '0' && *a <= '9'; a++) \
|
||||
if (i < 999) \
|
||||
i = *a + i * 10 - '0';
|
||||
|
||||
#define _PROUT(fmt, _size) \
|
||||
if (_size > 0) { \
|
||||
arg = (void*)pfn(arg, fmt, _size); \
|
||||
|
@ -30,20 +31,19 @@ char zeroes[] = "00000000000000000000000000000000";
|
|||
|
||||
void _Putfld(_Pft*, va_list*, u8, u8*);
|
||||
|
||||
s32 _Printf(char* (*pfn)(char*, const char*, size_t), char* arg, const char* fmt, va_list ap) {
|
||||
s32 _Printf(PrintCallback pfn, void* arg, const char* fmt, va_list ap) {
|
||||
_Pft x;
|
||||
x.nchar = 0;
|
||||
while (1) {
|
||||
const u8* s;
|
||||
u8 c;
|
||||
u8* t;
|
||||
|
||||
static const u8 fchar[] = " +-#0";
|
||||
while (true) {
|
||||
static const char fchar[] = " +-#0";
|
||||
static const u32 fbit[] = { FLAGS_SPACE, FLAGS_PLUS, FLAGS_MINUS, FLAGS_HASH, FLAGS_ZERO, 0 };
|
||||
|
||||
const u8* s = (u8*)fmt;
|
||||
u8 c;
|
||||
const char* t;
|
||||
u8 ac[0x20];
|
||||
|
||||
s = (u8*)fmt;
|
||||
while ((c = *s) != 0 && c != '%') {
|
||||
s++;
|
||||
}
|
||||
|
@ -105,7 +105,6 @@ void _Putfld(_Pft* px, va_list* pap, u8 code, u8* ac) {
|
|||
px->n0 = px->nz0 = px->n1 = px->nz1 = px->n2 = px->nz2 = 0;
|
||||
|
||||
switch (code) {
|
||||
|
||||
case 'c':
|
||||
ac[px->n0++] = va_arg(*pap, u32);
|
||||
break;
|
||||
|
@ -136,7 +135,6 @@ void _Putfld(_Pft* px, va_list* pap, u8 code, u8* ac) {
|
|||
|
||||
_Litob(px, code);
|
||||
break;
|
||||
|
||||
case 'x':
|
||||
case 'X':
|
||||
case 'u':
|
||||
|
@ -165,7 +163,6 @@ void _Putfld(_Pft* px, va_list* pap, u8 code, u8* ac) {
|
|||
px->s = (char*)&ac[px->n0];
|
||||
_Litob(px, code);
|
||||
break;
|
||||
|
||||
case 'e':
|
||||
case 'f':
|
||||
case 'g':
|
||||
|
@ -186,7 +183,6 @@ void _Putfld(_Pft* px, va_list* pap, u8 code, u8* ac) {
|
|||
px->s = (char*)&ac[px->n0];
|
||||
_Ldtob(px, code);
|
||||
break;
|
||||
|
||||
case 'n':
|
||||
if (px->qual == 'h') {
|
||||
*(va_arg(*pap, u16*)) = px->nchar;
|
||||
|
@ -200,11 +196,10 @@ void _Putfld(_Pft* px, va_list* pap, u8 code, u8* ac) {
|
|||
break;
|
||||
|
||||
case 'p':
|
||||
px->v.ll = (s64)va_arg(*pap, void*);
|
||||
px->v.ll = va_arg(*pap, void*);
|
||||
px->s = (char*)&ac[px->n0];
|
||||
_Litob(px, 'x');
|
||||
break;
|
||||
|
||||
case 's':
|
||||
px->s = va_arg(*pap, char*);
|
||||
px->n1 = strlen(px->s);
|
||||
|
@ -212,11 +207,9 @@ void _Putfld(_Pft* px, va_list* pap, u8 code, u8* ac) {
|
|||
px->n1 = px->prec;
|
||||
}
|
||||
break;
|
||||
|
||||
case '%':
|
||||
ac[px->n0++] = '%';
|
||||
break;
|
||||
|
||||
default:
|
||||
ac[px->n0++] = code;
|
||||
break;
|
||||
|
|
|
@ -5,14 +5,13 @@ void __osDevMgrMain(void* arg) {
|
|||
OSIoMesg* ioMesg;
|
||||
OSMesg sp70;
|
||||
OSMesg sp6C;
|
||||
OSMgrArgs* arg0;
|
||||
OSMgrArgs* arg0 = (OSMgrArgs*)arg;
|
||||
__OSTranxInfo* transfer;
|
||||
__OSBlockInfo* block;
|
||||
s32 phi_s2;
|
||||
s32 phi_s0;
|
||||
u32 sp54;
|
||||
|
||||
arg0 = (OSMgrArgs*)arg;
|
||||
ioMesg = NULL;
|
||||
|
||||
while (true) {
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
#include "global.h"
|
||||
|
||||
s32 __osPiRawStartDma(s32 dir, u32 cartAddr, void* dramAddr, size_t size) {
|
||||
register s32 status;
|
||||
status = HW_REG(PI_STATUS_REG, u32);
|
||||
register s32 status = HW_REG(PI_STATUS_REG, u32);
|
||||
|
||||
while (status & (PI_STATUS_BUSY | PI_STATUS_IOBUSY | PI_STATUS_ERROR)) {
|
||||
status = HW_REG(PI_STATUS_REG, u32);
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
#include "global.h"
|
||||
|
||||
s32 __osSiDeviceBusy() {
|
||||
register u32 status;
|
||||
status = HW_REG(SI_STATUS_REG, u32);
|
||||
s32 __osSiDeviceBusy(void) {
|
||||
register u32 status = HW_REG(SI_STATUS_REG, u32);
|
||||
|
||||
if (status & (SI_STATUS_DMA_BUSY | SI_STATUS_IO_READ_BUSY)) {
|
||||
return true;
|
||||
} else {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#include "global.h"
|
||||
|
||||
OSViContext* __osViGetCurrentContext() {
|
||||
OSViContext* __osViGetCurrentContext(void) {
|
||||
return __osViCurr;
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ OSViContext vi[2] = { 0 };
|
|||
OSViContext* __osViCurr = &vi[0];
|
||||
OSViContext* __osViNext = &vi[1];
|
||||
|
||||
void __osViInit() {
|
||||
void __osViInit(void) {
|
||||
bzero(vi, sizeof(vi));
|
||||
__osViCurr = &vi[0];
|
||||
__osViNext = &vi[1];
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
#include "global.h"
|
||||
|
||||
void __osViSwapContext() {
|
||||
register OSViMode* s0;
|
||||
register OSViContext* s1;
|
||||
void __osViSwapContext(void) {
|
||||
register OSViMode* viMode;
|
||||
register OSViContext* viNext;
|
||||
u32 origin;
|
||||
u32 hStart;
|
||||
u32 vstart;
|
||||
|
@ -11,52 +11,52 @@ void __osViSwapContext() {
|
|||
register u32 s2;
|
||||
|
||||
field = 0;
|
||||
s1 = __osViNext;
|
||||
s0 = s1->modep;
|
||||
viNext = __osViNext;
|
||||
viMode = viNext->modep;
|
||||
field = HW_REG(VI_V_CURRENT_LINE_REG, u32) & 1;
|
||||
s2 = osVirtualToPhysical(s1->buffer);
|
||||
origin = (s0->fldRegs[field].origin) + s2;
|
||||
if (s1->state & 2) {
|
||||
s1->x.scale |= s0->comRegs.xScale & ~0xfff;
|
||||
s2 = osVirtualToPhysical(viNext->buffer);
|
||||
origin = (viMode->fldRegs[field].origin) + s2;
|
||||
if (viNext->state & 2) {
|
||||
viNext->x.scale |= viMode->comRegs.xScale & ~0xfff;
|
||||
} else {
|
||||
s1->x.scale = s0->comRegs.xScale;
|
||||
viNext->x.scale = viMode->comRegs.xScale;
|
||||
}
|
||||
if (s1->state & 4) {
|
||||
sp34 = (u32)(s0->fldRegs[field].yScale & 0xfff);
|
||||
s1->y.scale = s1->y.factor * sp34;
|
||||
s1->y.scale |= s0->fldRegs[field].yScale & ~0xfff;
|
||||
if (viNext->state & 4) {
|
||||
sp34 = (u32)(viMode->fldRegs[field].yScale & 0xfff);
|
||||
viNext->y.scale = viNext->y.factor * sp34;
|
||||
viNext->y.scale |= viMode->fldRegs[field].yScale & ~0xfff;
|
||||
} else {
|
||||
s1->y.scale = s0->fldRegs[field].yScale;
|
||||
viNext->y.scale = viMode->fldRegs[field].yScale;
|
||||
}
|
||||
|
||||
vstart = (s0->fldRegs[field].vStart - (__additional_scanline << 0x10)) + __additional_scanline;
|
||||
hStart = s0->comRegs.hStart;
|
||||
vstart = (viMode->fldRegs[field].vStart - (__additional_scanline << 0x10)) + __additional_scanline;
|
||||
hStart = viMode->comRegs.hStart;
|
||||
|
||||
if (s1->state & 0x20) {
|
||||
if (viNext->state & 0x20) {
|
||||
hStart = 0;
|
||||
}
|
||||
if (s1->state & 0x40) {
|
||||
s1->y.scale = 0;
|
||||
origin = osVirtualToPhysical(s1->buffer);
|
||||
if (viNext->state & 0x40) {
|
||||
viNext->y.scale = 0;
|
||||
origin = osVirtualToPhysical(viNext->buffer);
|
||||
}
|
||||
if (s1->state & 0x80) {
|
||||
s1->y.scale = (s1->y.offset << 0x10) & 0x3ff0000;
|
||||
origin = osVirtualToPhysical(s1->buffer);
|
||||
if (viNext->state & 0x80) {
|
||||
viNext->y.scale = (viNext->y.offset << 0x10) & 0x3ff0000;
|
||||
origin = osVirtualToPhysical(viNext->buffer);
|
||||
}
|
||||
HW_REG(VI_ORIGIN_REG, u32) = origin;
|
||||
HW_REG(VI_WIDTH_REG, u32) = s0->comRegs.width;
|
||||
HW_REG(VI_BURST_REG, u32) = s0->comRegs.burst;
|
||||
HW_REG(VI_V_SYNC_REG, u32) = s0->comRegs.vSync;
|
||||
HW_REG(VI_H_SYNC_REG, u32) = s0->comRegs.hSync;
|
||||
HW_REG(VI_LEAP_REG, u32) = s0->comRegs.leap;
|
||||
HW_REG(VI_WIDTH_REG, u32) = viMode->comRegs.width;
|
||||
HW_REG(VI_BURST_REG, u32) = viMode->comRegs.burst;
|
||||
HW_REG(VI_V_SYNC_REG, u32) = viMode->comRegs.vSync;
|
||||
HW_REG(VI_H_SYNC_REG, u32) = viMode->comRegs.hSync;
|
||||
HW_REG(VI_LEAP_REG, u32) = viMode->comRegs.leap;
|
||||
HW_REG(VI_H_START_REG, u32) = hStart;
|
||||
HW_REG(VI_V_START_REG, u32) = vstart;
|
||||
HW_REG(VI_V_BURST_REG, u32) = s0->fldRegs[field].vBurst;
|
||||
HW_REG(VI_INTR_REG, u32) = s0->fldRegs[field].vIntr;
|
||||
HW_REG(VI_X_SCALE_REG, u32) = s1->x.scale;
|
||||
HW_REG(VI_Y_SCALE_REG, u32) = s1->y.scale;
|
||||
HW_REG(VI_CONTROL_REG, u32) = s1->features;
|
||||
HW_REG(VI_V_BURST_REG, u32) = viMode->fldRegs[field].vBurst;
|
||||
HW_REG(VI_INTR_REG, u32) = viMode->fldRegs[field].vIntr;
|
||||
HW_REG(VI_X_SCALE_REG, u32) = viNext->x.scale;
|
||||
HW_REG(VI_Y_SCALE_REG, u32) = viNext->y.scale;
|
||||
HW_REG(VI_CONTROL_REG, u32) = viNext->features;
|
||||
__osViNext = __osViCurr;
|
||||
__osViCurr = s1;
|
||||
__osViCurr = viNext;
|
||||
*__osViNext = *__osViCurr;
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
OSPiHandle __CartRomHandle;
|
||||
|
||||
OSPiHandle* osCartRomInit() {
|
||||
OSPiHandle* osCartRomInit(void) {
|
||||
register u32 a;
|
||||
register s32 status;
|
||||
register u32 prevInt;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
OSPiHandle __DriveRomHandle;
|
||||
|
||||
OSPiHandle* osDriveRomInit() {
|
||||
OSPiHandle* osDriveRomInit(void) {
|
||||
register s32 status;
|
||||
register u32 a;
|
||||
register s32 prevInt;
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
s32 osEPiStartDma(OSPiHandle* handle, OSIoMesg* mb, s32 direction) {
|
||||
s32 ret;
|
||||
|
||||
if (!__osPiDevMgr.initialized) {
|
||||
return -1;
|
||||
}
|
||||
|
@ -15,9 +16,9 @@ s32 osEPiStartDma(OSPiHandle* handle, OSIoMesg* mb, s32 direction) {
|
|||
}
|
||||
|
||||
if (mb->hdr.pri == 1) {
|
||||
ret = osJamMesg(osPiGetCmdQueue(), (OSMesg)mb, 0);
|
||||
ret = osJamMesg(osPiGetCmdQueue(), (OSMesg)mb, OS_MESG_NOBLOCK);
|
||||
} else {
|
||||
ret = osSendMesg(osPiGetCmdQueue(), (OSMesg)mb, 0);
|
||||
ret = osSendMesg(osPiGetCmdQueue(), (OSMesg)mb, OS_MESG_NOBLOCK);
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#include "global.h"
|
||||
#include "ultra64/internal.h"
|
||||
|
||||
OSMesgQueue* osPiGetCmdQueue() {
|
||||
OSMesgQueue* osPiGetCmdQueue(void) {
|
||||
if (!__osPiDevMgr.initialized) {
|
||||
return NULL;
|
||||
}
|
||||
|
|
|
@ -2,11 +2,12 @@
|
|||
|
||||
// TODO: name magic constants
|
||||
void osViBlack(u8 active) {
|
||||
register u32 int_disabled = __osDisableInt();
|
||||
register u32 prevInt = __osDisableInt();
|
||||
|
||||
if (active) {
|
||||
__osViNext->state |= 0x20;
|
||||
} else {
|
||||
__osViNext->state &= ~0x20;
|
||||
}
|
||||
__osRestoreInt(int_disabled);
|
||||
__osRestoreInt(prevInt);
|
||||
}
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
#include "global.h"
|
||||
|
||||
void* osViGetNextFramebuffer() {
|
||||
void* osViGetNextFramebuffer(void) {
|
||||
s32 prevInt = __osDisableInt();
|
||||
void* buff = __osViNext->buffer;
|
||||
|
||||
__osRestoreInt(prevInt);
|
||||
return buff;
|
||||
}
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
#include "global.h"
|
||||
|
||||
void osViSetMode(OSViMode* mode) {
|
||||
register u32 int_disabled = __osDisableInt();
|
||||
register u32 prevInt = __osDisableInt();
|
||||
|
||||
__osViNext->modep = mode;
|
||||
__osViNext->state = 1;
|
||||
__osViNext->features = __osViNext->modep->comRegs.ctrl;
|
||||
__osRestoreInt(int_disabled);
|
||||
|
||||
__osRestoreInt(prevInt);
|
||||
}
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
#include "global.h"
|
||||
|
||||
void osViSetSpecialFeatures(u32 func) {
|
||||
register u32 int_disabled = __osDisableInt();
|
||||
register u32 prevInt = __osDisableInt();
|
||||
|
||||
if (func & OS_VI_GAMMA_ON) {
|
||||
__osViNext->features |= OS_VI_GAMMA;
|
||||
}
|
||||
|
@ -32,5 +33,6 @@ void osViSetSpecialFeatures(u32 func) {
|
|||
__osViNext->features |= __osViNext->modep->comRegs.ctrl & (OS_VI_UNK200 | OS_VI_UNK100);
|
||||
}
|
||||
__osViNext->state |= 8;
|
||||
__osRestoreInt(int_disabled);
|
||||
|
||||
__osRestoreInt(prevInt);
|
||||
}
|
||||
|
|
|
@ -2,16 +2,13 @@
|
|||
|
||||
void osViSetXScale(f32 value) {
|
||||
register u32 nomValue;
|
||||
register u32 saveMask;
|
||||
|
||||
saveMask = __osDisableInt();
|
||||
register u32 prevInt = __osDisableInt();
|
||||
|
||||
__osViNext->x.factor = value;
|
||||
|
||||
__osViNext->state |= 0x2;
|
||||
|
||||
nomValue = __osViNext->modep->comRegs.xScale & 0xfff;
|
||||
__osViNext->x.scale = (u32)(__osViNext->x.factor * nomValue) & 0xFFF;
|
||||
|
||||
__osRestoreInt(saveMask);
|
||||
__osRestoreInt(prevInt);
|
||||
}
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
#include "global.h"
|
||||
|
||||
void osViSetYScale(f32 scale) {
|
||||
register s32 prevInt;
|
||||
register s32 prevInt = __osDisableInt();
|
||||
|
||||
prevInt = __osDisableInt();
|
||||
__osViNext->y.factor = scale;
|
||||
__osViNext->state |= 4;
|
||||
|
||||
__osRestoreInt(prevInt);
|
||||
}
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
#include "global.h"
|
||||
|
||||
void osViSwapBuffer(void* vaddr) {
|
||||
u32 int_disabled = __osDisableInt();
|
||||
u32 prevInt = __osDisableInt();
|
||||
|
||||
__osViNext->buffer = vaddr;
|
||||
__osViNext->state |= 0x10; // TODO: figure out what this flag means
|
||||
__osRestoreInt(int_disabled);
|
||||
|
||||
__osRestoreInt(prevInt);
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ OSPiHandle* __osCurrentHandle[] = {
|
|||
};
|
||||
|
||||
void osCreatePiManager(OSPri pri, OSMesgQueue* cmdQ, OSMesg* cmdBuf, s32 cmdMsgCnt) {
|
||||
u32 int_disabled;
|
||||
u32 prevInt;
|
||||
OSPri newPri;
|
||||
OSPri currentPri;
|
||||
|
||||
|
@ -36,7 +36,7 @@ void osCreatePiManager(OSPri pri, OSMesgQueue* cmdQ, OSMesg* cmdBuf, s32 cmdMsgC
|
|||
newPri = currentPri;
|
||||
osSetThreadPri(NULL, pri);
|
||||
}
|
||||
int_disabled = __osDisableInt();
|
||||
prevInt = __osDisableInt();
|
||||
|
||||
__osPiDevMgr.initialized = true;
|
||||
__osPiDevMgr.cmdQueue = cmdQ;
|
||||
|
@ -49,7 +49,7 @@ void osCreatePiManager(OSPri pri, OSMesgQueue* cmdQ, OSMesg* cmdBuf, s32 cmdMsgC
|
|||
osCreateThread(&piThread, 0, __osDevMgrMain, (void*)&__osPiDevMgr, piStackThread + sizeof(piStackThread), pri);
|
||||
osStartThread(&piThread);
|
||||
|
||||
__osRestoreInt(int_disabled);
|
||||
__osRestoreInt(prevInt);
|
||||
|
||||
if (newPri != -1) {
|
||||
osSetThreadPri(NULL, newPri);
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
#include "global.h"
|
||||
|
||||
char* proutSprintf(char* dst, const char* fmt, size_t size) {
|
||||
return (char*)memcpy(dst, fmt, size) + size;
|
||||
void* proutSprintf(void* dst, const char* fmt, u32 size) {
|
||||
return (void*)((u32)memcpy(dst, fmt, size) + size);
|
||||
}
|
||||
|
||||
s32 vsprintf(char* dst, const char* fmt, va_list args) {
|
||||
s32 ret = _Printf(&proutSprintf, dst, fmt, args);
|
||||
s32 ret = _Printf(proutSprintf, dst, fmt, args);
|
||||
if (ret > -1) {
|
||||
dst[ret] = 0;
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ s32 sprintf(char* dst, const char* fmt, ...) {
|
|||
va_list args;
|
||||
va_start(args, fmt);
|
||||
|
||||
ret = _Printf(&proutSprintf, dst, fmt, args);
|
||||
ret = _Printf(proutSprintf, dst, fmt, args);
|
||||
if (ret > -1) {
|
||||
dst[ret] = 0;
|
||||
}
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
#include "global.h"
|
||||
|
||||
const u8* strchr(const u8* str, s32 ch) {
|
||||
const char* strchr(const char* str, s32 ch) {
|
||||
u8 c = ch;
|
||||
|
||||
while (*str != c) {
|
||||
if (*str == 0) {
|
||||
return NULL;
|
||||
|
@ -11,17 +12,19 @@ const u8* strchr(const u8* str, s32 ch) {
|
|||
return str;
|
||||
}
|
||||
|
||||
size_t strlen(const u8* str) {
|
||||
const u8* ptr = str;
|
||||
u32 strlen(const char* str) {
|
||||
const char* ptr = str;
|
||||
|
||||
while (*ptr) {
|
||||
ptr++;
|
||||
}
|
||||
return ptr - str;
|
||||
}
|
||||
|
||||
void* memcpy(void* dst, const void* src, size_t size) {
|
||||
void* memcpy(void* dst, const void* src, u32 size) {
|
||||
u8* _dst = dst;
|
||||
const u8* _src = src;
|
||||
|
||||
while (size > 0) {
|
||||
*_dst++ = *_src++;
|
||||
size--;
|
||||
|
|
|
@ -22,9 +22,10 @@ u32 __additional_scanline = 0;
|
|||
void viMgrMain(void*);
|
||||
|
||||
void osCreateViManager(OSPri pri) {
|
||||
u32 int_disabled;
|
||||
u32 prevInt;
|
||||
OSPri newPri;
|
||||
OSPri currentPri;
|
||||
|
||||
if (!__osViDevMgr.initialized) {
|
||||
__osTimerServicesInit();
|
||||
__additional_scanline = 0;
|
||||
|
@ -44,7 +45,7 @@ void osCreateViManager(OSPri pri) {
|
|||
osSetThreadPri(NULL, pri);
|
||||
}
|
||||
|
||||
int_disabled = __osDisableInt();
|
||||
prevInt = __osDisableInt();
|
||||
__osViDevMgr.initialized = true;
|
||||
__osViDevMgr.mgrThread = &viThread;
|
||||
__osViDevMgr.cmdQueue = &viEventQueue;
|
||||
|
@ -56,7 +57,7 @@ void osCreateViManager(OSPri pri) {
|
|||
osCreateThread(&viThread, 0, &viMgrMain, &__osViDevMgr, viThreadStack + sizeof(viThreadStack), pri);
|
||||
__osViInit();
|
||||
osStartThread(&viThread);
|
||||
__osRestoreInt(int_disabled);
|
||||
__osRestoreInt(prevInt);
|
||||
if (newPri != -1) {
|
||||
osSetThreadPri(NULL, newPri);
|
||||
}
|
||||
|
@ -68,9 +69,8 @@ void viMgrMain(void* vargs) {
|
|||
static u16 viRetrace;
|
||||
u32 addTime;
|
||||
viMesgStruct* mesg;
|
||||
u32 temp; // always 0
|
||||
u32 temp = 0; // always 0
|
||||
|
||||
temp = 0;
|
||||
mesg = NULL;
|
||||
viRetrace = __osViGetCurrentContext()->retraceCount;
|
||||
if (viRetrace == 0) {
|
||||
|
@ -79,7 +79,7 @@ void viMgrMain(void* vargs) {
|
|||
|
||||
args = (OSMgrArgs*)vargs;
|
||||
|
||||
while (1) {
|
||||
while (true) {
|
||||
osRecvMesg(args->eventQueue, (OSMesg)&mesg, OS_MESG_BLOCK);
|
||||
switch (mesg->unk00) {
|
||||
case 13:
|
||||
|
@ -107,9 +107,7 @@ void viMgrMain(void* vargs) {
|
|||
__osBaseCounter = osGetCount();
|
||||
addTime = __osBaseCounter - addTime;
|
||||
__osCurrentTime = __osCurrentTime + addTime;
|
||||
|
||||
break;
|
||||
|
||||
case 14:
|
||||
__osTimerInterrupt();
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue