From 04fdee9d5a8883669f24e43d3a58c864757d67d6 Mon Sep 17 00:00:00 2001 From: PJB3005 Date: Tue, 24 Feb 2026 14:08:15 +0100 Subject: [PATCH] Fix mDoPrintf_vprintf_Interrupt on 64-bit This is an ABI hazard so I'm just gonna call vprintf directly. --- src/m_Do/m_Do_printf.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/m_Do/m_Do_printf.cpp b/src/m_Do/m_Do_printf.cpp index 154d54c737..13b2d070ce 100644 --- a/src/m_Do/m_Do_printf.cpp +++ b/src/m_Do/m_Do_printf.cpp @@ -124,9 +124,13 @@ void mDoPrintf_vprintf_Interrupt(char const* fmt, va_list args) { BOOL interruptStatus = OSDisableInterrupts(); if (!data_80450BB5) { data_80450BB5 = true; +#if TARGET_PC + vprintf(fmt, args); +#else uintptr_t var_r29 = (uintptr_t)&mDoPrintf_FiberStack + sizeof(mDoPrintf_FiberStack); OSSwitchFiberEx((uintptr_t)fmt, (uintptr_t)args, 0, 0, (uintptr_t)vprintf, var_r29); +#endif data_80450BB5 = false; } OSRestoreInterrupts(interruptStatus);