unsigned short *EmuScreen=NULL;\r
int EmuWidth=320,EmuHeight=224;\r
RECT EmuScreenRect = { 0, 0, 320, 224 };\r
+int PicoPadAdd = 0;\r
\r
-static int EmuScan(unsigned int num, void *sdata);\r
+static int EmuScan(unsigned int num);\r
unsigned char *PicoDraw2FB = NULL;\r
\r
int EmuInit()\r
memset(EmuScreen,0,len);\r
\r
PicoDrawSetColorFormat(1);\r
- PicoScan=EmuScan;\r
+ PicoScanBegin=EmuScan;\r
\r
return 0;\r
}\r
}\r
\r
// Megadrive scanline callback:\r
-static int EmuScan(unsigned int num, void *sdata)\r
+static int EmuScan(unsigned int num)\r
{\r
- unsigned short *pd=NULL;\r
- unsigned short *ps=NULL;\r
-\r
- if (num>=(unsigned int)EmuHeight) return 0;\r
-\r
- // Copy scanline to screen buffer:\r
- pd=EmuScreen+(num<<8)+(num<<6);\r
- ps=(unsigned short *)sdata;\r
-\r
- memcpy(pd, ps, 320*2);\r
+ DrawLineDest=EmuScreen+(num<<8)+(num<<6);\r
\r
return 0;\r
}\r
}\r
\r
PicoPad[0]=input;\r
+ PicoPad[0]|=PicoPadAdd;\r
\r
PsndOut=(short *)DSoundNext;\r
PicoFrame();\r