SVP save support
[picodrive.git] / Pico / carthw / svp / ssp16.c
index 9f3ec31..e612745 100644 (file)
@@ -1,5 +1,5 @@
 // basic, incomplete SSP160x (SSP1601?) interpreter
-// with SVP memory controller
+// with SVP memory controller emu
 
 // (c) Copyright 2008, Grazvydas "notaz" Ignotas
 // Free for non-commercial use.
@@ -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)