Finish migrating to new mem handling. Make carthw db external.
[picodrive.git] / pico / carthw / svp / svp.c
index be9414e..504f8d3 100644 (file)
@@ -8,7 +8,7 @@
 
 #include "../../pico_int.h"
 #include "compiler.h"
-#ifdef __GP2X__
+#if defined(__linux__) && defined(ARM)
 #include <sys/mman.h>
 #endif
 
@@ -100,7 +100,7 @@ static int PicoSVPDma(unsigned int source, int len, unsigned short **srcp, unsig
 
 void PicoSVPInit(void)
 {
-#ifdef __GP2X__
+#if defined(__linux__) && defined(ARM)
        int ret;
        ret = munmap(tcache, SSP_DRC_SIZE);
        printf("munmap tcache: %i\n", ret);
@@ -110,7 +110,7 @@ void PicoSVPInit(void)
 
 static void PicoSVPShutdown(void)
 {
-#ifdef __GP2X__
+#if defined(__linux__) && defined(ARM)
        // also unmap tcache
        PicoSVPInit();
 #endif
@@ -121,7 +121,7 @@ void PicoSVPStartup(void)
 {
        void *tmp;
 
-       elprintf(EL_SVP, "SVP init");
+       elprintf(EL_STATUS, "SVP startup");
 
        tmp = realloc(Pico.rom, 0x200000 + sizeof(*svp));
        if (tmp == NULL)
@@ -135,7 +135,7 @@ void PicoSVPStartup(void)
        svp = (void *) ((char *)tmp + 0x200000);
        memset(svp, 0, sizeof(*svp));
 
-#ifdef __GP2X__
+#if defined(__linux__) && defined(ARM)
        tmp = mmap(tcache, SSP_DRC_SIZE, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_SHARED|MAP_ANONYMOUS, -1, 0);
        printf("mmap tcache: %p, asked %p\n", tmp, tcache);
 #endif
@@ -150,9 +150,7 @@ void PicoSVPStartup(void)
 #endif
 
        // init ok, setup hooks..
-       PicoRead16Hook = PicoSVPRead16;
-       PicoWrite8Hook = PicoSVPWrite8;
-       PicoWrite16Hook = PicoSVPWrite16;
+       PicoCartMemSetup = PicoSVPMemSetup;
        PicoDmaHook = PicoSVPDma;
        PicoResetHook = PicoSVPReset;
        PicoLineHook = PicoSVPLine;