From b5a482e72cfc448db95c901028d3065b8c0cb0bb Mon Sep 17 00:00:00 2001 From: Mr-Wiseguy Date: Mon, 6 Feb 2023 18:17:56 -0500 Subject: [PATCH] Fixed crash caused by bad osSpTaskYielded implementation --- test/src/sp.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/test/src/sp.cpp b/test/src/sp.cpp index 5e4c48f..3289667 100644 --- a/test/src/sp.cpp +++ b/test/src/sp.cpp @@ -4,7 +4,7 @@ #include "recomp.h" extern "C" void osSpTaskLoad_recomp(uint8_t* restrict rdram, recomp_context* restrict ctx) { - ; + // Nothing to do here } bool dump_frame = false; @@ -36,13 +36,14 @@ extern "C" void osSpTaskStartGo_recomp(uint8_t* restrict rdram, recomp_context* } extern "C" void osSpTaskYield_recomp(uint8_t* restrict rdram, recomp_context* restrict ctx) { - ; + // Ignore yield requests (acts as if the task completed before it received the yield request) } extern "C" void osSpTaskYielded_recomp(uint8_t* restrict rdram, recomp_context* restrict ctx) { - ; + // Task yield requests are ignored, so always return 0 as tasks will never be yielded + ctx->r2 = 0; } extern "C" void __osSpSetPc_recomp(uint8_t* restrict rdram, recomp_context* restrict ctx) { - ; + assert(false); }