osspsetpc OK (#384)

This commit is contained in:
kyleburnette 2021-11-03 12:48:08 -07:00 committed by GitHub
parent e3830f6ab0
commit 78153a1bf4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 2 deletions

View File

@ -478,7 +478,7 @@ float __ull_to_f(unsigned long long l);
// void osVoiceControlGain(void); // void osVoiceControlGain(void);
// void osVoiceStartReadData(void); // void osVoiceStartReadData(void);
void* osViGetCurrentFramebuffer(void); void* osViGetCurrentFramebuffer(void);
s32 __osSpSetPc(void* data); s32 __osSpSetPc(void* pc);
// void __osVoiceContWrite4(void); // void __osVoiceContWrite4(void);
void __osGetHWIntrRoutine(s32 idx, OSMesgQueue** outQueue, OSMesg* outMsg); void __osGetHWIntrRoutine(s32 idx, OSMesgQueue** outQueue, OSMesg* outMsg);
void __osSetHWIntrRoutine(s32 idx, OSMesgQueue* queue, OSMesg msg); void __osSetHWIntrRoutine(s32 idx, OSMesgQueue* queue, OSMesg msg);

View File

@ -1,3 +1,13 @@
#include "global.h" #include "global.h"
#pragma GLOBAL_ASM("asm/non_matchings/boot/spsetpc/__osSpSetPc.s") s32 __osSpSetPc(void* pc) {
register u32 spStatus = HW_REG(SP_STATUS_REG, u32);
if (!(spStatus & SP_STATUS_HALT)) {
return -1;
} else {
HW_REG(SP_PC_REG, void*) = pc;
}
return 0;
}