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