4892fc4caddf6f5c3673f97937fde4178626937f
[cyclone68000.git] / Pico / Pico.h
1 \r
2 // -------------------- Pico Library --------------------\r
3 \r
4 // Pico Megadrive Emulator Library - Header File\r
5 \r
6 // This code is licensed under the GNU General Public License version 2.0 and the MAME License.\r
7 // You can choose the license that has the most advantages for you.\r
8 \r
9 // SVN repository can be found at http://code.google.com/p/cyclone68000/\r
10 \r
11 #ifdef __cplusplus\r
12 extern "C" {\r
13 #endif\r
14 \r
15 // Pico.cpp\r
16 extern int PicoVer;\r
17 extern int PicoOpt;\r
18 int PicoInit();\r
19 void PicoExit();\r
20 int PicoReset();\r
21 int PicoFrame();\r
22 extern int PicoPad[2]; // Joypads, format is SACB RLDU\r
23 extern int (*PicoCram)(int cram); // Callback to convert colour ram 0000bbb0 ggg0rrr0\r
24 \r
25 // Area.cpp\r
26 struct PicoArea { void *data; int len; char *name; };\r
27 extern int (*PicoAcb)(struct PicoArea *); // Area callback for each block of memory\r
28 extern FILE *PmovFile;\r
29 extern int PmovAction;\r
30 // &1=for reading &2=for writing &4=volatile &8=non-volatile\r
31 int PicoAreaScan(int action,int *pmin);\r
32 // Save or load the state from PmovFile:\r
33 int PmovState();\r
34 int PmovUpdate();\r
35 \r
36 // Cart.cpp\r
37 int PicoCartLoad(FILE *f,unsigned char **prom,unsigned int *psize);\r
38 int PicoCartInsert(unsigned char *rom,unsigned int romsize);\r
39 \r
40 // Draw.cpp\r
41 extern int (*PicoScan)(unsigned int num,unsigned short *data);\r
42 extern int PicoMask; // Mask of which layers to draw\r
43 \r
44 // Sek.cpp\r
45 extern char PicoStatus[];\r
46 \r
47 // Sound.cpp\r
48 extern int PsndRate,PsndLen;\r
49 extern short *PsndOut;\r
50 extern unsigned char PicoSreg[];\r
51 \r
52 // Utils.cpp\r
53 extern int PicuAnd;\r
54 int PicuQuick(unsigned short *dest,unsigned short *src);\r
55 int PicuShrink(unsigned short *dest,int destLen,unsigned short *src,int srcLen);\r
56 int PicuMerge(unsigned short *dest,int destLen,unsigned short *src,int srcLen);\r
57 \r
58 #ifdef __cplusplus\r
59 } // End of extern "C"\r
60 #endif\r