+++ /dev/null
-\r
-#include "app.h"\r
-\r
-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);\r
-unsigned char *PicoDraw2FB = NULL;\r
-\r
-int EmuInit()\r
-{\r
- int len=0;\r
-\r
- PicoInit();\r
-\r
- // Allocate screen:\r
- EmuWidth=320; EmuHeight=224;\r
- len=EmuWidth*EmuHeight; len<<=1;\r
- EmuScreen=(unsigned short *)malloc(len); if (EmuScreen==NULL) return 1;\r
- PicoDraw2FB=(unsigned char *)malloc((8+320)*(8+224+8)*2);\r
- memset(EmuScreen,0,len);\r
-\r
- PicoDrawSetColorFormat(1);\r
- PicoScanBegin=EmuScan;\r
-\r
- return 0;\r
-}\r
-\r
-void EmuExit()\r
-{\r
- //RomFree();\r
- free(EmuScreen); EmuScreen=NULL; // Deallocate screen\r
- free(PicoDraw2FB);\r
- EmuWidth=EmuHeight=0;\r
-\r
- PicoExit();\r
-}\r
-\r
-// Megadrive scanline callback:\r
-static int EmuScan(unsigned int num)\r
-{\r
- DrawLineDest=EmuScreen+(num<<8)+(num<<6);\r
- \r
- return 0;\r
-}\r
-\r
-int EmuFrame()\r
-{\r
- char map[12]={0,1,2,3,8,9,10,4,11,12,13,14}; // Joypads, format is UDLR BCAS ZYXM\r
- int a=0,input=0;\r
- \r
- // Set Megadrive buttons:\r
- for (a=0;a<12;a++)\r
- {\r
- int m=map[a];\r
- if (m>=0) if (Inp.button[m]>30) input|=1<<a;\r
- }\r
-\r
- PicoPad[0]=input;\r
- PicoPad[0]|=PicoPadAdd;\r
-\r
- PsndOut=(short *)DSoundNext;\r
- PicoFrame();\r
- PsndOut=NULL;\r
-\r
- return 0;\r
-}\r
-\r
-\r
-void mp3_update(int *buffer, int length, int stereo)\r
-{\r
-}\r
-\r
-void mp3_start_play(FILE *f, int pos)\r
-{\r
-}\r
-\r
-int mp3_get_bitrate(FILE *f, int size)\r
-{\r
- return -1;\r
-}\r
-\r