SVP Tasco's PMC fix
authornotaz <notasas@gmail.com>
Wed, 6 Feb 2008 16:25:58 +0000 (16:25 +0000)
committernotaz <notasas@gmail.com>
Wed, 6 Feb 2008 16:25:58 +0000 (16:25 +0000)
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@351 be3aeb3a-fb24-0410-a615-afba39da0efa

Pico/carthw/svp/ssp16.c
platform/win32/GenaDrive/DSound.cpp
platform/win32/GenaDrive/version.h

index d89e6ad..e612745 100644 (file)
@@ -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)
index f05d47b..50e4edc 100644 (file)
@@ -110,14 +110,14 @@ static int DSoundFake()
   int diff;\r
 \r
   diff = ticks - ticks_old;\r
-  if (diff >= 0 && diff < 1000000/60)\r
+  if (diff >= 0 && diff < 1000000/60*4)\r
   {\r
     while (diff >= 0 && diff < 1000000/60)\r
     {\r
       Sleep(1);\r
       diff = GetTickCount()*1000 - ticks_old;\r
     }\r
-    ticks_old = ticks + 1000000/60;\r
+    ticks_old += 1000000/60;\r
   }\r
   else\r
     ticks_old = ticks;\r
index 95717b1..405cb9c 100644 (file)
@@ -1,2 +1,2 @@
-#define VERSION "1.40"\r
+#define VERSION "1.40a"\r
 \r