#define SH2_DRCBLK_RAM_SHIFT 1\r
#define SH2_DRCBLK_DA_SHIFT 1\r
\r
+#define SH2_WRITE_SHIFT 25\r
+\r
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
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
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
\r
// 32x/draw.c\r
void FinalizeLine32xRGB555(int sh, int line);\r
+void PicoDraw32xLayer(int offs, int lines, int mdbg);\r
+extern int Pico32xDrawMode;\r
\r
// 32x/pwm.c\r
unsigned int p32x_pwm_read16(unsigned int a);\r
#define elprintf(w,f,...)\r
#endif\r
\r
+// profiling\r
+#ifdef PPROF\r
+#include <platform/linux/pprof.h>\r
+#else\r
+#define pprof_init()\r
+#define pprof_finish()\r
+#define pprof_start(x)\r
+#define pprof_end(...)\r
+#define pprof_end_sub(...)\r
+#endif\r
+\r
+// misc\r
#ifdef _MSC_VER\r
#define cdprintf\r
#else\r