more wip SVP code
[picodrive.git] / Pico / Memory.c
index f9d7f69..48c32a6 100644 (file)
@@ -317,7 +317,6 @@ static void OtherWrite8End(u32 a,u32 d,int realsize)
     Pico.m.prot_bytes[(a>>2)&1] = (u8)d;\r
 }\r
 \r
-\r
 #include "MemoryCmn.c"\r
 \r
 \r
@@ -498,15 +497,26 @@ static void PicoWrite32(u32 a,u32 d)
 // -----------------------------------------------------------------\r
 \r
 // TODO: asm code\r
-u32  (*PicoRead16Hook)(u32 a, int realsize) = OtherRead16End;\r
-void (*PicoWrite8Hook)(u32 a, u32 d, int realsize) = OtherWrite8End;\r
+static void OtherWrite16End(u32 a,u32 d,int realsize)\r
+{\r
+  PicoWrite8Hook(a,  d>>8, realsize);\r
+  PicoWrite8Hook(a+1,d&0xff, realsize);\r
+}\r
 \r
-PICO_INTERNAL void PicoMemSetup(void)\r
+u32  (*PicoRead16Hook) (u32 a, int realsize) = OtherRead16End;\r
+void (*PicoWrite8Hook) (u32 a, u32 d, int realsize) = OtherWrite8End;\r
+void (*PicoWrite16Hook)(u32 a, u32 d, int realsize) = OtherWrite16End;\r
+\r
+PICO_INTERNAL void PicoMemResetHooks(void)\r
 {\r
   // default unmapped/cart specific handlers\r
   PicoRead16Hook = OtherRead16End;\r
   PicoWrite8Hook = OtherWrite8End;\r
+  PicoWrite16Hook = OtherWrite16End;\r
+}\r
 \r
+PICO_INTERNAL void PicoMemSetup(void)\r
+{\r
   // Setup memory callbacks:\r
 #ifdef EMU_C68K\r
   PicoCpuCM68k.checkpc=PicoCheckPc;\r