jmp fixes and be matching again

move to aurora fork
This commit is contained in:
dbalatoni13 2025-04-04 00:47:03 +02:00
parent 30d80d66a0
commit 4438f7d9c8
8 changed files with 45 additions and 21 deletions

View file

@ -1,6 +1,9 @@
#include "dolphin.h"
#include "game/gamework_data.h"
#ifdef TARGET_PC
#include "string.h"
#endif
static u8 _Sys_Flag[16];
static u8 *GetFlagPtr(u32 flag)
@ -39,4 +42,4 @@ void _ClearFlag(u32 flag)
void _InitFlag(void)
{
memset(_Sys_Flag, 0, sizeof(_Sys_Flag));
}
}

View file

@ -1,6 +1,6 @@
#include "game/jmp.h"
s32 gcsetjmp(register JMPBUF *jump)
s32 gcsetjmp(register jmp_buf *jump)
{
// clang-format off
asm {
@ -37,7 +37,7 @@ s32 gcsetjmp(register JMPBUF *jump)
}
// clang-format off
asm s32 gclongjmp(register JMPBUF *jump, register s32 status) {
asm s32 gclongjmp(register jmp_buf *jump, register s32 status) {
nofralloc
lwz r5, jump->lr
lwz r6, jump->cr

View file

@ -205,16 +205,16 @@ void main(void)
#endif
}
// void HuSysVWaitSet(s16 vcount)
//{
// minimumVcount = vcount;
// minimumVcountf = vcount;
// }
//
// s16 HuSysVWaitGet(s16 param)
//{
// return (s16) minimumVcount;
// }
void HuSysVWaitSet(s16 vcount)
{
minimumVcount = vcount;
minimumVcountf = vcount;
}
s16 HuSysVWaitGet(s16 param)
{
return (s16) minimumVcount;
}
s32 rnd_seed = 0x0000D9ED;

View file

@ -84,7 +84,7 @@ Process *HuPrcCreate(void (*func)(void), u16 prio, u32 stack_size, s32 extra_siz
process->stat = 0;
process->prio = prio;
process->sleep_time = 0;
process->base_sp = ((size_t)HuMemMemoryAlloc(heap, stack_size, FAKE_RETADDR)) + stack_size - 8;
process->base_sp = ((uintptr_t)HuMemMemoryAlloc(heap, stack_size, FAKE_RETADDR)) + stack_size - 8;
SETJMP(process->jump);
SETJMP_SET_IP(process->jump, func);
SETJMP_SET_SP(process->jump, process->base_sp);
@ -191,7 +191,7 @@ static void gcTerminateProcess(Process *process)
}
UnlinkProcess(&processtop, process);
processcnt--;
longjmp(processjmpbuf, 2);
LONGJMP(processjmpbuf, 2);
}
void HuPrcEnd()
@ -240,7 +240,7 @@ void HuPrcCall(s32 tick)
Process *process;
s32 ret;
processcur = processtop;
ret = setjmp(processjmpbuf);
ret = SETJMP(processjmpbuf);
while (1) {
switch (ret) {
case 2:

View file

@ -518,6 +518,24 @@ OSInterruptMask __OSUnmaskInterrupts(OSInterruptMask mask)
return 0;
}
void SISetSamplingRate(u32 msec)
{
// Maybe we could include SI later
puts("SISetSamplingRate is a stub");
}
VIRetraceCallback VISetPostRetraceCallback(VIRetraceCallback callback)
{
puts("VISetPostRetraceCallback is a stub");
// TODO
return callback;
}
void msmSysRegularProc(void)
{
puts("msmSysRegularProc is a stub");
}
// Hudson
void HuDvdErrDispInit(GXRenderModeObj *rmode, void *xfb1, void *xfb2) { }
void HuAudInit() { }