sethwinterrupt OK (#301)

This commit is contained in:
EllipticEllipsis 2021-09-30 01:09:13 +01:00 committed by GitHub
parent ef875bc221
commit 3098767688
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 2 deletions

View File

@ -479,7 +479,7 @@ void* osViGetCurrentFramebuffer(void);
s32 __osSpSetPc(void* data); s32 __osSpSetPc(void* data);
// void __osVoiceContWrite4(void); // void __osVoiceContWrite4(void);
void __osGetHWIntrRoutine(s32 idx, OSMesgQueue** outQueue, OSMesg* outMsg); void __osGetHWIntrRoutine(s32 idx, OSMesgQueue** outQueue, OSMesg* outMsg);
// void __osSetHWIntrRoutine(void); void __osSetHWIntrRoutine(s32 idx, OSMesgQueue* queue, OSMesg msg);
u32 __osGetWatchLo(void); u32 __osGetWatchLo(void);
void __osSetWatchLo(u32 value); void __osSetWatchLo(u32 value);
f32 fmodf(f32 dividend, f32 divisor); f32 fmodf(f32 dividend, f32 divisor);

View File

@ -1,3 +1,10 @@
#include "global.h" #include "global.h"
#pragma GLOBAL_ASM("asm/non_matchings/boot/sethwinterrupt/__osSetHWIntrRoutine.s") void __osSetHWIntrRoutine(s32 idx, OSMesgQueue* queue, OSMesg msg) {
register s32 prevInt = __osDisableInt();
__osHwIntTable[idx].queue = queue;
__osHwIntTable[idx].msg = msg;
__osRestoreInt(prevInt);
}