bugfixes related to mmap usage for ROM
[picodrive.git] / pico / pico_int.h
index f5481fc..3ee4ea1 100644 (file)
@@ -437,6 +437,8 @@ typedef struct
 #define P32XV_PRI   (1<< 7)\r
 #define P32XV_Mx    (3<< 0) // display mode mask\r
 \r
+#define P32XV_SFT   (1<< 0)\r
+\r
 #define P32XV_VBLK  (1<<15)\r
 #define P32XV_HBLK  (1<<14)\r
 #define P32XV_PEN   (1<<13)\r
@@ -474,8 +476,8 @@ typedef struct
 struct Pico32x\r
 {\r
   unsigned short regs[0x20];\r
-  unsigned short vdp_regs[0x10];\r
-  unsigned short sh2_regs[3];\r
+  unsigned short vdp_regs[0x10]; // 0x40\r
+  unsigned short sh2_regs[3];    // 0x60\r
   unsigned char pending_fb;\r
   unsigned char dirty_pal;\r
   unsigned int emu_flags;\r
@@ -547,10 +549,12 @@ int CM_compareRun(int cyc, int is_sub);
 PICO_INTERNAL void PicoFrameStart(void);\r
 void PicoDrawSync(int to, int blank_last_line);\r
 void BackFill(int reg7, int sh);\r
-void FinalizeLineRGB555(int sh, int line);\r
+void FinalizeLine555(int sh, int line);\r
 extern int DrawScanline;\r
 #define MAX_LINE_SPRITES 29\r
 extern unsigned char HighLnSpr[240][3 + MAX_LINE_SPRITES];\r
+extern void *DrawLineDestBase;\r
+extern int DrawLineDestIncrement;\r
 \r
 // draw2.c\r
 PICO_INTERNAL void PicoFrameFull();\r
@@ -559,7 +563,7 @@ PICO_INTERNAL void PicoFrameFull();
 void PicoFrameStartMode4(void);\r
 void PicoLineMode4(int line);\r
 void PicoDoHighPal555M4(void);\r
-void PicoDrawSetColorFormatMode4(int which);\r
+void PicoDrawSetOutputMode4(pdso_t which);\r
 \r
 // memory.c\r
 PICO_INTERNAL void PicoMemSetup(void);\r
@@ -702,7 +706,7 @@ void PicoReset32x(void);
 void Pico32xStartup(void);\r
 void PicoUnload32x(void);\r
 void PicoFrame32x(void);\r
-void p32x_update_irls(void);\r
+void p32x_update_irls(int nested_call);\r
 void p32x_reset_sh2s(void);\r
 \r
 // 32x/memory.c\r
@@ -717,12 +721,20 @@ void p32x_poll_event(int cpu_mask, int is_vdp);
 \r
 // 32x/draw.c\r
 void FinalizeLine32xRGB555(int sh, int line);\r
+void PicoDraw32xLayer(int offs, int lines, int mdbg);\r
+void PicoDraw32xLayerMdOnly(int offs, int lines);\r
+enum {\r
+  PDM32X_OFF,\r
+  PDM32X_32X_ONLY,\r
+  PDM32X_BOTH,\r
+};\r
+extern int Pico32xDrawMode;\r
 \r
 // 32x/pwm.c\r
 unsigned int p32x_pwm_read16(unsigned int a);\r
 void p32x_pwm_write16(unsigned int a, unsigned int d);\r
 void p32x_pwm_update(int *buf32, int length, int stereo);\r
-void p32x_timers_do(int new_line);\r
+void p32x_timers_do(int line_call);\r
 void p32x_timers_recalc(void);\r
 extern int pwm_frame_smp_cnt;\r
 \r