/ MCUME_pico / display / emuapi.h
emuapi.h
 1  #ifndef EMUAPI_H
 2  #define EMUAPI_H
 3  
 4  #include "platform_config.h"
 5  #include "emucfg.h"
 6  
 7  #define ACTION_NONE     0
 8  #define ACTION_RUN      1
 9  
10  #define MASK_JOY2_RIGHT 0x0001
11  #define MASK_JOY2_LEFT  0x0002
12  #define MASK_JOY2_UP    0x0004
13  #define MASK_JOY2_DOWN  0x0008
14  #define MASK_JOY2_BTN   0x0010
15  #define MASK_KEY_USER1  0x0020
16  #define MASK_KEY_USER2  0x0040
17  #define MASK_KEY_USER3  0x0080
18  #define MASK_JOY1_RIGHT 0x0100
19  #define MASK_JOY1_LEFT  0x0200
20  #define MASK_JOY1_UP    0x0400
21  #define MASK_JOY1_DOWN  0x0800
22  #define MASK_JOY1_BTN   0x1000
23  #define MASK_KEY_USER4  0x2000
24  #define MASK_OSKB       0x8000
25  
26  #define RGBVAL16(r,g,b)  ( (((r>>3)&0x1f)<<11) | (((g>>2)&0x3f)<<5) | (((b>>3)&0x1f)<<0) )
27  
28  #ifdef __cplusplus
29  extern "C"
30  {
31  #endif
32  extern void emu_init(void);
33  extern void emu_start(void);
34  extern void emu_resetSD(void);
35  
36  extern void emu_printf(const char * text);
37  extern void emu_printi(int val);
38  extern void * emu_Malloc(int size);
39  extern void emu_Free(void * pt);
40  
41  extern int emu_FileOpen(const char * filepath, const char * mode);
42  extern int emu_FileRead(void * buf, int size, int handler);
43  extern int emu_FileGetc(int handler);
44  extern int emu_FileSeek(int handler, int seek, int origin);
45  extern int emu_FileTell(int handler);
46  extern void emu_FileClose(int handler);
47  
48  extern unsigned int emu_FileSize(const char * filepath);
49  extern unsigned int emu_LoadFile(const char * filepath, void * buf, int size);
50  
51  extern void emu_SetPaletteEntry(unsigned char r, unsigned char g, unsigned char b, int index);
52  extern void emu_DrawLinePal16(unsigned char * VBuf, int width, int height, int line);
53  extern void emu_DrawLine16(unsigned short * VBuf, int width, int height, int line);
54  extern void emu_DrawScreenPal16(unsigned char * VBuf, int width, int height, int stride);
55  extern void emu_DrawVsync(void);
56  extern int emu_FrameSkip(void);
57  extern int emu_IsVga(void);
58  //extern void emu_DrawLine(unsigned char * VBuf, int width, int height, int line);
59  //extern void * emu_LineBuffer(int line);
60  
61  extern void emu_InitJoysticks(void);
62  extern int emu_SwapJoysticks(int statusOnly);
63  extern unsigned short emu_DebounceLocalKeys(void);
64  extern int emu_ReadKeys(void);
65  extern int emu_GetPad(void);
66  extern int emu_ReadAnalogJoyX(int min, int max);
67  extern int emu_ReadAnalogJoyY(int min, int max);
68  extern int emu_ReadI2CKeyboard(void);
69  extern unsigned char emu_ReadI2CKeyboard2(int row);
70  extern void emu_KeyboardOnUp(int keymodifer, int key);
71  extern void emu_KeyboardOnDown(int keymodifer, int key);
72  extern int emu_oskbActive(void);
73  
74  extern void emu_sndPlaySound(int chan, int volume, int freq);
75  extern void emu_sndPlayBuzz(int size, int val);
76  extern void emu_sndInit();
77  extern void emu_resetus(void);
78  extern int emu_us(void);
79  
80  extern int emu_setKeymap(int index);
81  
82  extern void emu_FileTempInit(void); 
83  extern void emu_FileTempRead(int addr, unsigned char * val, int n); 
84  extern void emu_FileTempWrite(int addr, unsigned char val); 
85  extern void emu_printh(int val);
86  #ifdef __cplusplus
87  }
88  #endif
89  
90  
91  #endif