Added 0.030 of PicoDrive and moved license files into root
[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 \r
12 #ifdef __cplusplus\r
13 extern "C" {\r
14 #endif\r
15 \r
16 // Pico.cpp\r
17 extern int PicoVer;\r
18 extern int PicoOpt;\r
19 int PicoInit();\r
20 void PicoExit();\r
21 int PicoReset();\r
22 int PicoFrame();\r
23 extern int PicoPad[2]; // Joypads, format is SACB RLDU\r
24 extern int (*PicoCram)(int cram); // Callback to convert colour ram 0000bbb0 ggg0rrr0\r
25 \r
26 // Area.cpp\r
27 struct PicoArea { void *data; int len; char *name; };\r
28 extern int (*PicoAcb)(struct PicoArea *); // Area callback for each block of memory\r
29 extern FILE *PmovFile;\r
30 extern int PmovAction;\r
31 // &1=for reading &2=for writing &4=volatile &8=non-volatile\r
32 int PicoAreaScan(int action,int *pmin);\r
33 // Save or load the state from PmovFile:\r
34 int PmovState();\r
35 int PmovUpdate();\r
36 \r
37 // Cart.cpp\r
38 int PicoCartLoad(FILE *f,unsigned char **prom,unsigned int *psize);\r
39 int PicoCartInsert(unsigned char *rom,unsigned int romsize);\r
40 \r
41 // Draw.cpp\r
42 extern int (*PicoScan)(unsigned int num,unsigned short *data);\r
43 extern int PicoMask; // Mask of which layers to draw\r
44 \r
45 // Sek.cpp\r
46 extern char PicoStatus[];\r
47 \r
48 // Sound.cpp\r
49 extern int PsndRate,PsndLen;\r
50 extern short *PsndOut;\r
51 extern unsigned char PicoSreg[];\r
52 \r
53 // Utils.cpp\r
54 extern int PicuAnd;\r
55 int PicuQuick(unsigned short *dest,unsigned short *src);\r
56 int PicuShrink(unsigned short *dest,int destLen,unsigned short *src,int srcLen);\r
57 int PicuMerge(unsigned short *dest,int destLen,unsigned short *src,int srcLen);\r
58 \r
59 #ifdef __cplusplus\r
60 } // End of extern "C"\r
61 #endif\r