From 02a6746c686f86adca357c061e37165719cd026a Mon Sep 17 00:00:00 2001 From: PJB3005 Date: Tue, 24 Feb 2026 23:32:45 +0100 Subject: [PATCH] Disable assert heap on DVD thread Nintendo does this probably as a debugging aid. Problem is we allocate from our DVD driver implementation, so everything explodes. --- src/m_Do/m_Do_dvd_thread.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/m_Do/m_Do_dvd_thread.cpp b/src/m_Do/m_Do_dvd_thread.cpp index 0d9eabfad9..999e01bb38 100644 --- a/src/m_Do/m_Do_dvd_thread.cpp +++ b/src/m_Do/m_Do_dvd_thread.cpp @@ -16,7 +16,13 @@ s32 mDoDvdThd::main(void* param_0) { JKRThread(OSGetCurrentThread(), 0); +#if TARGET_PC + // Disable assert heap, our DVD impl does allocs + // Can be turned back if we isolate the OS impl from game code properly. + JKRSetCurrentHeap(JKRHeap::getSystemHeap()); +#else JKRSetCurrentHeap(mDoExt_getAssertHeap()); +#endif mDoDvdThd_param_c* param = static_cast(param_0); param->mainLoop(); return 0;