gfx chip faker, hint vector
[picodrive.git] / Pico / cd / Memory.c
index 21cc12a..58fb5c2 100644 (file)
@@ -24,8 +24,8 @@ typedef unsigned int   u32;
 \r
 //#define __debug_io\r
 //#define __debug_io2\r
-#define rdprintf dprintf\r
-//#define rdprintf(...)\r
+//#define rdprintf dprintf\r
+#define rdprintf(...)\r
 \r
 // -----------------------------------------------------------------\r
 \r
@@ -61,7 +61,7 @@ static u32 m68k_reg_read16(u32 a)
       dprintf("m68k reserved read");\r
       goto end;\r
     case 0xC:\r
-      dprintf("m68k stopwatch read");\r
+      dprintf("m68k stopwatch timer read");\r
       break;\r
   }\r
 \r
@@ -118,9 +118,11 @@ static void m68k_reg_write8(u32 a, u32 d)
       return;\r
     case 6:\r
       *((char *)&Pico_mcd->m.hint_vector+1) = d;\r
+      Pico_mcd->bios[0x72 + 1] = d; // simple hint vector changer\r
       return;\r
     case 7:\r
       *(char *)&Pico_mcd->m.hint_vector = d;\r
+      Pico_mcd->bios[0x72] = d;\r
       return;\r
     case 0xe:\r
       //dprintf("m68k: comm flag: %02x", d);\r
@@ -162,7 +164,10 @@ static u32 s68k_reg_read16(u32 a)
       d = Read_CDC_Host(1); // Gens returns 0 here on byte reads\r
       goto end;\r
     case 0xC:\r
-      dprintf("s68k stopwatch read");\r
+      dprintf("s68k stopwatch timer read");\r
+      break;\r
+    case 0x30:\r
+      dprintf("s68k int3 timer read");\r
       break;\r
     case 0x34: // fader\r
       d = 0; // no busy bit\r
@@ -210,6 +215,12 @@ static void s68k_reg_write8(u32 a, u32 d)
     case 0xa:\r
       dprintf("s68k set CDC dma addr");\r
       break;\r
+    case 0xc:\r
+      dprintf("s68k set stopwatch timer");\r
+      break;\r
+    case 0x31:\r
+      dprintf("s68k set int3 timer");\r
+      break;\r
     case 0x33: // IRQ mask\r
       dprintf("s68k irq mask: %02x", d);\r
       if ((d&(1<<4)) && (Pico_mcd->s68k_regs[0x37]&4) && !(Pico_mcd->s68k_regs[0x33]&(1<<4))) {\r