more win32 Pico work
[picodrive.git] / platform / win32 / GenaDrive / Emu.cpp
index b7a019c..7532353 100644 (file)
@@ -4,8 +4,9 @@
 unsigned short *EmuScreen=NULL;\r
 int EmuWidth=320,EmuHeight=224;\r
 RECT EmuScreenRect = { 0, 0, 320, 224 };\r
+int picohw_pen_pressed = 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
@@ -22,7 +23,7 @@ int EmuInit()
   memset(EmuScreen,0,len);\r
 \r
   PicoDrawSetColorFormat(1);\r
-  PicoScan=EmuScan;\r
+  PicoScanBegin=EmuScan;\r
 \r
   return 0;\r
 }\r
@@ -38,18 +39,9 @@ void EmuExit()
 }\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
@@ -67,6 +59,7 @@ int EmuFrame()
   }\r
 \r
   PicoPad[0]=input;\r
+  if (picohw_pen_pressed) PicoPad[0] |= 0x20;\r
 \r
   PsndOut=(short *)DSoundNext;\r
   PicoFrame();\r
@@ -76,12 +69,6 @@ int EmuFrame()
 }\r
 \r
 \r
-\r
-int mp3_get_offset(void) // 0-1023\r
-{\r
-  return 0;\r
-}\r
-\r
 void mp3_update(int *buffer, int length, int stereo)\r
 {\r
 }\r