From 94fc546caae61453b7a703d75ecf0bc677756b1f Mon Sep 17 00:00:00 2001 From: notaz Date: Wed, 6 Feb 2008 16:25:58 +0000 Subject: [PATCH] SVP Tasco's PMC fix git-svn-id: file:///home/notaz/opt/svn/PicoDrive@351 be3aeb3a-fb24-0410-a615-afba39da0efa --- Pico/carthw/svp/ssp16.c | 3 ++- platform/win32/GenaDrive/DSound.cpp | 4 ++-- platform/win32/GenaDrive/version.h | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Pico/carthw/svp/ssp16.c b/Pico/carthw/svp/ssp16.c index d89e6ad..e612745 100644 --- a/Pico/carthw/svp/ssp16.c +++ b/Pico/carthw/svp/ssp16.c @@ -653,10 +653,11 @@ static u32 read_PMC(void) // elprintf(EL_ANOMALY|EL_SVP, "prev PMC not used @ %04x", GET_PPC_OFFS()); ssp->emu_status |= SSP_PMC_SET; ssp->emu_status &= ~SSP_PMC_HAVE_ADDR; + return ((rPMC.h << 4) & 0xfff0) | ((rPMC.h >> 4) & 0xf); } else { ssp->emu_status |= SSP_PMC_HAVE_ADDR; + return rPMC.h; } - return rPMC.h; } static void write_PMC(u32 d) diff --git a/platform/win32/GenaDrive/DSound.cpp b/platform/win32/GenaDrive/DSound.cpp index f05d47b..50e4edc 100644 --- a/platform/win32/GenaDrive/DSound.cpp +++ b/platform/win32/GenaDrive/DSound.cpp @@ -110,14 +110,14 @@ static int DSoundFake() int diff; diff = ticks - ticks_old; - if (diff >= 0 && diff < 1000000/60) + if (diff >= 0 && diff < 1000000/60*4) { while (diff >= 0 && diff < 1000000/60) { Sleep(1); diff = GetTickCount()*1000 - ticks_old; } - ticks_old = ticks + 1000000/60; + ticks_old += 1000000/60; } else ticks_old = ticks; diff --git a/platform/win32/GenaDrive/version.h b/platform/win32/GenaDrive/version.h index 95717b1..405cb9c 100644 --- a/platform/win32/GenaDrive/version.h +++ b/platform/win32/GenaDrive/version.h @@ -1,2 +1,2 @@ -#define VERSION "1.40" +#define VERSION "1.40a" -- 2.39.2