diff --git a/src/audio/heap.c b/src/audio/heap.c index 78fc9fbb..870f9f3f 100644 --- a/src/audio/heap.c +++ b/src/audio/heap.c @@ -1261,9 +1261,10 @@ void audio_reset_session(struct AudioSessionSettings *preset, s32 presetId) { init_reverb_us(presetId); bzero(&gAiBuffers[0][0], (AIBUFFER_LEN * NUMAIBUFFERS)); gAudioFrameCount = 0; - while (gAudioFrameCount < 1) { - // spin - } + if (!gIsVC) + while (gAudioFrameCount < 1) { + // spin + } bzero(&gAiBuffers[0][0], (AIBUFFER_LEN * NUMAIBUFFERS)); return; } diff --git a/src/game/game_init.c b/src/game/game_init.c index e98fc46c..df7dc0fb 100644 --- a/src/game/game_init.c +++ b/src/game/game_init.c @@ -388,7 +388,7 @@ void render_init(void) { // Skip incrementing the initial framebuffer index on emulators so that they display immediately as the Gfx task finishes // VC probably emulates osViSwapBuffer accurately so instant patch breaks VC compatibility - if (gIsConsole) { // Read RDP Clock Register, has a value of zero on emulators + if (gIsConsole || gIsVC) { // Read RDP Clock Register, has a value of zero on emulators sRenderingFrameBuffer++; } gGlobalTimer++;