some more risky timing changes
[picodrive.git] / pico / pico_int.h
index f439d6a..743ecb4 100644 (file)
@@ -283,6 +283,7 @@ extern SH2 sh2s[2];
 #define OSC_NTSC 53693100\r
 #define OSC_PAL  53203424\r
 \r
+// PicoVideo.debug_p\r
 #define PVD_KILL_A    (1 << 0)\r
 #define PVD_KILL_B    (1 << 1)\r
 #define PVD_KILL_S_LO (1 << 2)\r
@@ -292,6 +293,20 @@ extern SH2 sh2s[2];
 #define PVD_FORCE_B   (1 << 6)\r
 #define PVD_FORCE_S   (1 << 7)\r
 \r
+// PicoVideo.status, not part of real SR\r
+#define SR_PAL        (1 << 0)\r
+#define SR_DMA        (1 << 1)\r
+#define SR_HB         (1 << 2)\r
+#define SR_VB         (1 << 3)\r
+#define SR_ODD        (1 << 4)\r
+#define SR_C          (1 << 5)\r
+#define SR_SOVR       (1 << 6)\r
+#define SR_F          (1 << 7)\r
+#define SR_FULL       (1 << 8)\r
+#define SR_EMPT       (1 << 9)\r
+// not part of real SR\r
+#define PVS_ACTIVE    (1 << 16)\r
+\r
 struct PicoVideo\r
 {\r
   unsigned char reg[0x20];\r
@@ -299,14 +314,15 @@ struct PicoVideo
   unsigned char pending;      // 1 if waiting for second half of 32-bit command\r
   unsigned char type;         // Command type (v/c/vsram read/write)\r
   unsigned short addr;        // Read/Write address\r
-  int status;                 // Status bits\r
+  unsigned int status;        // Status bits (SR) and extra flags\r
   unsigned char pending_ints; // pending interrupts: ??VH????\r
   signed char lwrite_cnt;     // VDP write count during active display line\r
   unsigned short v_counter;   // V-counter\r
   unsigned short debug;       // raw debug register\r
   unsigned char debug_p;      // ... parsed: PVD_*\r
-  unsigned char addr_u;\r
-  unsigned char pad[0x0c];\r
+  unsigned char addr_u;       // bit16 of .addr\r
+  unsigned char hint_cnt;\r
+  unsigned char pad[0x0b];\r
 };\r
 \r
 struct PicoMisc\r
@@ -684,7 +700,6 @@ extern struct Pico Pico;
 extern struct PicoSRAM SRam;\r
 extern int PicoPadInt[2];\r
 extern int emustatus;\r
-extern int scanlines_total;\r
 extern void (*PicoResetHook)(void);\r
 extern void (*PicoLineHook)(void);\r
 PICO_INTERNAL int  CheckDMA(void);\r