diff options
| author | cadmic <cadmic24@gmail.com> | 2024-09-06 10:32:29 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-06 19:32:29 +0200 |
| commit | d374e71cb83cef8f4b73679ffc55e13e665ec911 (patch) | |
| tree | d16262f8c11b588f07f313c164e6fd884967506a /src | |
| parent | 2ce648a7c674b08fbfe9d4ced935b4e4956963ac (diff) | |
Fix size of leoDiskStack (#2143)
Diffstat (limited to 'src')
| -rw-r--r-- | src/libleo/api/cacreateleomanager.c | 3 | ||||
| -rw-r--r-- | src/libleo/api/cjcreateleomanager.c | 3 | ||||
| -rw-r--r-- | src/libleo/leo/leointerrupt.c | 2 |
3 files changed, 5 insertions, 3 deletions
diff --git a/src/libleo/api/cacreateleomanager.c b/src/libleo/api/cacreateleomanager.c index 7628f5889..1f2caf6d9 100644 --- a/src/libleo/api/cacreateleomanager.c +++ b/src/libleo/api/cacreateleomanager.c @@ -1,4 +1,5 @@ #include "global.h" +#include "ultra64/asm.h" #include "ultra64/leo.h" #include "ultra64/leoappli.h" #include "ultra64/leodrive.h" @@ -25,7 +26,7 @@ s32 LeoCACreateLeoManager(s32 comPri, s32 intPri, OSMesg* cmdBuf, s32 cmdMsgCnt) driveRomHandle = osDriveRomInit(); __leoActive = true; - __osSetHWIntrRoutine(OS_INTR_CART, __osLeoInterrupt, STACK_TOP(leoDiskStack)); + __osSetHWIntrRoutine(OS_INTR_CART, __osLeoInterrupt, (u8*)STACK_TOP(leoDiskStack) - FRAMESZ(SZREG * NARGSAVE)); leoInitialize(comPri, intPri, cmdBuf, cmdMsgCnt); if (osResetType == 1) { // NMI diff --git a/src/libleo/api/cjcreateleomanager.c b/src/libleo/api/cjcreateleomanager.c index c10e1fd26..e3a518300 100644 --- a/src/libleo/api/cjcreateleomanager.c +++ b/src/libleo/api/cjcreateleomanager.c @@ -1,4 +1,5 @@ #include "global.h" +#include "ultra64/asm.h" #include "ultra64/leo.h" #include "ultra64/leoappli.h" #include "ultra64/leodrive.h" @@ -25,7 +26,7 @@ s32 LeoCJCreateLeoManager(s32 comPri, s32 intPri, OSMesg* cmdBuf, s32 cmdMsgCnt) driveRomHandle = osDriveRomInit(); __leoActive = true; - __osSetHWIntrRoutine(OS_INTR_CART, __osLeoInterrupt, STACK_TOP(leoDiskStack)); + __osSetHWIntrRoutine(OS_INTR_CART, __osLeoInterrupt, (u8*)STACK_TOP(leoDiskStack) - FRAMESZ(SZREG * NARGSAVE)); leoInitialize(comPri, intPri, cmdBuf, cmdMsgCnt); if (osResetType == 1) { // NMI diff --git a/src/libleo/leo/leointerrupt.c b/src/libleo/leo/leointerrupt.c index e11d34508..d9e2175ad 100644 --- a/src/libleo/leo/leointerrupt.c +++ b/src/libleo/leo/leointerrupt.c @@ -9,7 +9,7 @@ extern OSHWIntr __OSGlobalIntMask; void __osLeoAbnormalResume(void); void __osLeoResume(void); -STACK(leoDiskStack, 0xFF0); +STACK(leoDiskStack, 0x1000); s32 __osLeoInterrupt(void) { u32 stat = 0; |
