aboutsummaryrefslogtreecommitdiff
path: root/libpsn00b/psxgpu/common.c
diff options
context:
space:
mode:
authorspicyjpeg <thatspicyjpeg@gmail.com>2023-06-20 03:17:34 +0200
committerspicyjpeg <thatspicyjpeg@gmail.com>2023-06-20 03:17:34 +0200
commiteaea5649a0803cc4bfeb6d21ee9f4098d4b493fc (patch)
tree786f6edfae0c6affe0d7c7b222cd12f52578ca01 /libpsn00b/psxgpu/common.c
parent7eed71a90bed67e4a987a9db55e15e9403523dca (diff)
downloadpsn00bsdk-eaea5649a0803cc4bfeb6d21ee9f4098d4b493fc.tar.gz
Fix IRQ bugs, PutDispEnv() PAL screen centering
Diffstat (limited to 'libpsn00b/psxgpu/common.c')
-rw-r--r--libpsn00b/psxgpu/common.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/libpsn00b/psxgpu/common.c b/libpsn00b/psxgpu/common.c
index 7e0758b..5678f35 100644
--- a/libpsn00b/psxgpu/common.c
+++ b/libpsn00b/psxgpu/common.c
@@ -88,13 +88,15 @@ void ResetGraph(int mode) {
// Perform some basic system initialization when ResetGraph() is called for
// the first time.
if (!ResetCallback()) {
- EnterCriticalSection();
+ int _exit = EnterCriticalSection();
+
InterruptCallback(IRQ_VBLANK, &_vblank_handler);
InterruptCallback(IRQ_GPU, &_gpu_irq_handler);
DMACallback(DMA_GPU, &_gpu_dma_handler);
-
_gpu_video_mode = (GPU_GP1 >> 20) & 1;
- ExitCriticalSection();
+
+ if (_exit)
+ ExitCriticalSection();
_sdk_log("setup done, default mode is %s\n", _gpu_video_mode ? "PAL" : "NTSC");
}