From 72e5023fade738954035199aacf4076c69c52477 Mon Sep 17 00:00:00 2001 From: notaz Date: Tue, 3 Jan 2012 20:05:54 +0200 Subject: bring GPUvBlank back to be used for interlace emulation --- libpcsxcore/plugins.h | 4 ++-- libpcsxcore/psxcounters.c | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'libpcsxcore') diff --git a/libpcsxcore/plugins.h b/libpcsxcore/plugins.h index f7f6248..dfa8722 100644 --- a/libpcsxcore/plugins.h +++ b/libpcsxcore/plugins.h @@ -94,7 +94,7 @@ typedef long (CALLBACK* GPUfreeze)(uint32_t, GPUFreeze_t *); typedef long (CALLBACK* GPUgetScreenPic)(unsigned char *); typedef long (CALLBACK* GPUshowScreenPic)(unsigned char *); typedef void (CALLBACK* GPUclearDynarec)(void (CALLBACK *callback)(void)); -typedef void (CALLBACK* GPUvBlank)(int); +typedef void (CALLBACK* GPUvBlank)(int, int); // GPU function pointers extern GPUupdateLace GPU_updateLace; @@ -119,7 +119,7 @@ extern GPUfreeze GPU_freeze; extern GPUgetScreenPic GPU_getScreenPic; extern GPUshowScreenPic GPU_showScreenPic; extern GPUclearDynarec GPU_clearDynarec; -extern GPUvBlank GPU_vBlank; // unused +extern GPUvBlank GPU_vBlank; // CD-ROM Functions typedef long (CALLBACK* CDRinit)(void); diff --git a/libpcsxcore/psxcounters.c b/libpcsxcore/psxcounters.c index 5056c70..8b8fea8 100644 --- a/libpcsxcore/psxcounters.c +++ b/libpcsxcore/psxcounters.c @@ -291,7 +291,7 @@ void psxRcntUpdate() if( hSyncCount == VBlankStart ) { HW_GPU_STATUS &= ~PSXGPU_LCF; - + GPU_vBlank( 1, 0 ); setIrq( 0x01 ); EmuUpdate(); @@ -307,6 +307,7 @@ void psxRcntUpdate() gpuSyncPluginSR(); if( (HW_GPU_STATUS & PSXGPU_ILACE_BITS) == PSXGPU_ILACE_BITS ) HW_GPU_STATUS |= frame_counter << 31; + GPU_vBlank( 0, HW_GPU_STATUS >> 31 ); } // Schedule next call, in hsyncs -- cgit v1.2.3