#include <zlib/zlib.h>\r
\r
\r
+void *g_screen_ptr;\r
+\r
+#if !SCREEN_SIZE_FIXED\r
+int g_screen_width = SCREEN_WIDTH;\r
+int g_screen_height = SCREEN_HEIGHT;\r
+#endif\r
+\r
char *PicoConfigFile = "config.cfg";\r
currentConfig_t currentConfig, defaultConfig;\r
char noticeMsg[64] = { 0, };\r
#endif\r
}\r
\r
-#ifndef UIQ3\r
-void emu_textOut8(int x, int y, const char *text)\r
-{\r
- int i,l,len=strlen(text);\r
- unsigned char *screen = (unsigned char *)SCREEN_BUFFER + x + y*SCREEN_WIDTH;\r
-\r
- /* always using built-in font */\r
- for (i = 0; i < len; i++)\r
- {\r
- for (l=0;l<8;l++)\r
- {\r
- unsigned char fd = fontdata8x8[((text[i])*8)+l];\r
- if (fd&0x80) screen[l*SCREEN_WIDTH+0]=0xf0;\r
- if (fd&0x40) screen[l*SCREEN_WIDTH+1]=0xf0;\r
- if (fd&0x20) screen[l*SCREEN_WIDTH+2]=0xf0;\r
- if (fd&0x10) screen[l*SCREEN_WIDTH+3]=0xf0;\r
- if (fd&0x08) screen[l*SCREEN_WIDTH+4]=0xf0;\r
- if (fd&0x04) screen[l*SCREEN_WIDTH+5]=0xf0;\r
- if (fd&0x02) screen[l*SCREEN_WIDTH+6]=0xf0;\r
- if (fd&0x01) screen[l*SCREEN_WIDTH+7]=0xf0;\r
- }\r
- screen += 8;\r
- }\r
+/* always using built-in font */\r
+\r
+#define mk_text_out(name, type, val) \\r
+void name(int x, int y, const char *text) \\r
+{ \\r
+ int i, l, len = strlen(text); \\r
+ type *screen = (type *)g_screen_ptr + x + y * g_screen_width; \\r
+ \\r
+ for (i = 0; i < len; i++, screen += 8) \\r
+ { \\r
+ for (l = 0; l < 8; l++) \\r
+ { \\r
+ unsigned char fd = fontdata8x8[text[i] * 8 + l];\\r
+ type *s = screen + l * g_screen_width; \\r
+ if (fd&0x80) s[0] = val; \\r
+ if (fd&0x40) s[1] = val; \\r
+ if (fd&0x20) s[2] = val; \\r
+ if (fd&0x10) s[3] = val; \\r
+ if (fd&0x08) s[4] = val; \\r
+ if (fd&0x04) s[5] = val; \\r
+ if (fd&0x02) s[6] = val; \\r
+ if (fd&0x01) s[7] = val; \\r
+ } \\r
+ } \\r
}\r
\r
-void emu_textOut16(int x, int y, const char *text)\r
-{\r
- int i,l,len=strlen(text);\r
- unsigned short *screen = (unsigned short *)SCREEN_BUFFER + x + y*SCREEN_WIDTH;\r
+mk_text_out(emu_textOut8, unsigned char, 0xf0)\r
+mk_text_out(emu_textOut16, unsigned short, 0xffff)\r
\r
- for (i = 0; i < len; i++)\r
- {\r
- for (l=0;l<8;l++)\r
- {\r
- unsigned char fd = fontdata8x8[((text[i])*8)+l];\r
- if(fd&0x80) screen[l*SCREEN_WIDTH+0]=0xffff;\r
- if(fd&0x40) screen[l*SCREEN_WIDTH+1]=0xffff;\r
- if(fd&0x20) screen[l*SCREEN_WIDTH+2]=0xffff;\r
- if(fd&0x10) screen[l*SCREEN_WIDTH+3]=0xffff;\r
- if(fd&0x08) screen[l*SCREEN_WIDTH+4]=0xffff;\r
- if(fd&0x04) screen[l*SCREEN_WIDTH+5]=0xffff;\r
- if(fd&0x02) screen[l*SCREEN_WIDTH+6]=0xffff;\r
- if(fd&0x01) screen[l*SCREEN_WIDTH+7]=0xffff;\r
- }\r
- screen += 8;\r
- }\r
-}\r
-#endif\r
+#undef mk_text_out\r
\r
#ifdef PSP\r
#define MAX_COMBO_KEY 23\r
#define MAX_COMBO_KEY 31\r
#endif\r
\r
+// FIXME\r
void emu_findKeyBindCombos(void)\r
{\r
int act, u;\r