jmp fixes and be matching again
move to aurora fork
This commit is contained in:
parent
30d80d66a0
commit
4438f7d9c8
8 changed files with 45 additions and 21 deletions
|
|
@ -23,11 +23,14 @@ set(DOLPHIN_FILES
|
|||
set(GAME_FILES
|
||||
src/game/card.c
|
||||
src/game/fault.c
|
||||
src/game/flag.c
|
||||
src/game/frand.c
|
||||
src/game/gamework.c
|
||||
src/game/main.c
|
||||
src/game/malloc.c
|
||||
src/game/memory.c
|
||||
src/game/init.c
|
||||
src/game/pad.c
|
||||
src/game/process.c
|
||||
)
|
||||
|
||||
|
|
|
|||
2
extern/aurora
vendored
2
extern/aurora
vendored
|
|
@ -1 +1 @@
|
|||
Subproject commit 6f6861215150abc4fa00197de43754525cac07a6
|
||||
Subproject commit f713ca675055fa522bf44e2d326eb3e7941ec381
|
||||
|
|
@ -164,10 +164,10 @@ s32 gcsetjmp(jmp_buf *jump);
|
|||
s32 gclongjmp(jmp_buf *jump, s32 status);
|
||||
|
||||
#define SETJMP(jump) gcsetjmp(&(jump))
|
||||
#define SETJMP(jump, status) gclongjump(&(jump), (status))
|
||||
#define LONGJMP(jump, status) gclongjmp(&(jump), (status))
|
||||
|
||||
#define SETJMP_SET_IP(jump, func) jmp_buf->lr = (u32)func
|
||||
#define SETJMP_SET_IP(jump, sp) jmp_buf->sp = (u32)sp
|
||||
#define SETJMP_SET_IP(jump, func) jump.lr = (u32)func
|
||||
#define SETJMP_SET_SP(jump, stack_ptr) jump.sp = (u32)stack_ptr
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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() { }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue