emuapi.h
1 #ifndef EMUAPI_H 2 #define EMUAPI_H 3 4 #include "platform_config.h" 5 6 //#define TIMER_REND 1 7 #define EXTRA_HEAP 0x10 8 9 // Title: < > 10 #define TITLE " File Selector" 11 #define ROMSDIR "/" 12 13 #define emu_Init(ROM) { } 14 #define emu_Step(x) { } 15 16 #define PALETTE_SIZE 2 17 #define VID_FRAME_SKIP 0x3 18 #define TFT_VBUFFER_YCROP 0 19 #define SINGLELINE_RENDERING 1 20 21 #define ACTION_NONE 0 22 #define ACTION_MAXKBDVAL 225 23 #define ACTION_EXITKBD 128 24 #define ACTION_RUNTFT 129 25 #define ACTION_RUNVGA 130 26 27 #ifdef KEYMAP_PRESENT 28 29 #define TAREA_W_DEF 32 30 #define TAREA_H_DEF 32 31 #define TAREA_END 255 32 #define TAREA_NEW_ROW 254 33 #define TAREA_NEW_COL 253 34 #define TAREA_XY 252 35 #define TAREA_WH 251 36 37 #define KEYBOARD_X 10 38 #define KEYBOARD_Y 8 39 #define KEYBOARD_KEY_H 40 40 #define KEYBOARD_KEY_W 30 41 #define KEYBOARD_HIT_COLOR RGBVAL16(0xff,0x00,0x00) 42 43 const unsigned short keysw[] = { 44 TAREA_XY,KEYBOARD_X,KEYBOARD_Y+16, 45 TAREA_WH,KEYBOARD_KEY_W,KEYBOARD_KEY_H-6, 46 TAREA_NEW_ROW,30,30,30,30,30,30,30,30,30,30, 47 TAREA_NEW_ROW,30,30,30,30,30,30,30,30,30,30, 48 TAREA_NEW_ROW,30,30,30,30,30,30,30,30,30,30, 49 TAREA_NEW_ROW,30,30,30,30,30,30,30,30,30,30, 50 TAREA_END}; 51 52 const unsigned short key_map1[] = { 53 30,31,32,33,34,35,36,37,38,39, 54 20,26, 8,21,23,28,25,12,18,19, 55 4, 9, 7,22, 4,11,13,14,15,40, 56 25, 6,27,29,224,5,17,16,225,44 57 }; 58 59 #ifdef HAS_I2CKBD 60 const unsigned short i2ckeys[] = { 61 0X0080,0X0008,0X0180,0X0108,0X0280,0X0208,0X0380,0X0308,0X0480,0X0408, 62 0X0040,0X0004,0X0140,0X0104,0X0240,0X0204,0X0340,0X0304,0X0440,0X0404, 63 0X0020,0X0002,0X0120,0X0102,0X0220,0X0202,0X0320,0X0302,0X0420,0X0402, 64 0X0010,0X0001,0X0110,0X0101,0X0210,0X0201,0X0310,0X0301,0X0410,0X0401, 65 }; 66 #endif 67 68 #endif 69 70 71 #define MASK_JOY2_RIGHT 0x0001 72 #define MASK_JOY2_LEFT 0x0002 73 #define MASK_JOY2_UP 0x0004 74 #define MASK_JOY2_DOWN 0x0008 75 #define MASK_JOY2_BTN 0x0010 76 #define MASK_KEY_USER1 0x0020 77 #define MASK_KEY_USER2 0x0040 78 #define MASK_KEY_USER3 0x0080 79 #define MASK_JOY1_RIGHT 0x0100 80 #define MASK_JOY1_LEFT 0x0200 81 #define MASK_JOY1_UP 0x0400 82 #define MASK_JOY1_DOWN 0x0800 83 #define MASK_JOY1_BTN 0x1000 84 #define MASK_KEY_USER4 0x2000 85 86 87 extern void emu_init(void); 88 extern void emu_start(void); 89 extern void emu_resetSD(void); 90 91 extern void emu_printf(char * text); 92 extern void emu_printi(int val); 93 extern void * emu_Malloc(int size); 94 extern void emu_Free(void * pt); 95 96 extern int emu_FileOpen(char * filename); 97 extern int emu_FileRead(char * buf, int size); 98 extern unsigned char emu_FileGetc(void); 99 extern int emu_FileSeek(int seek); 100 extern void emu_FileClose(void); 101 extern int emu_FileSize(char * filename); 102 extern int emu_LoadFile(char * filename, char * buf, int size); 103 extern int emu_LoadFileSeek(char * filename, char * buf, int size, int seek); 104 extern void emu_FileTempInit(void); 105 extern void emu_FileTempRead(int addr, unsigned char * val, int n); 106 extern void emu_FileTempWrite(int addr, unsigned char val); 107 108 extern void emu_SetPaletteEntry(unsigned char r, unsigned char g, unsigned char b, int index); 109 extern void emu_DrawScreen(unsigned char * VBuf, int width, int height, int stride); 110 extern void emu_DrawLine(unsigned char * VBuf, int width, int height, int line); 111 extern void emu_DrawLine8(unsigned char * VBuf, int width, int height, int line); 112 extern void emu_DrawLine16(unsigned short * VBuf, int width, int height, int line); 113 extern void emu_DrawVsync(void); 114 extern int emu_FrameSkip(void); 115 extern void * emu_LineBuffer(int line); 116 117 extern void emu_InitJoysticks(void); 118 extern int emu_SwapJoysticks(int statusOnly); 119 extern unsigned short emu_DebounceLocalKeys(void); 120 extern int emu_ReadKeys(void); 121 extern int emu_GetPad(void); 122 extern int emu_ReadAnalogJoyX(int min, int max); 123 extern int emu_ReadAnalogJoyY(int min, int max); 124 extern int emu_ReadI2CKeyboard(void); 125 extern void emu_KeyboardOnUp(int keymodifer, int key); 126 extern void emu_KeyboardOnDown(int keymodifer, int key); 127 128 extern void emu_sndPlaySound(int chan, int volume, int freq); 129 extern void emu_sndPlayBuzz(int size, int val); 130 extern void emu_sndInit(); 131 extern void emu_resetus(void); 132 extern int emu_us(void); 133 134 extern int emu_setKeymap(int index); 135 136 extern void emu_FileTempInit(void); 137 extern void emu_FileTempRead(int addr, unsigned char * val, int n); 138 extern void emu_FileTempWrite(int addr, unsigned char val); 139 extern void emu_printh(int val); 140 141 #endif