rearrange globals
[picodrive.git] / platform / pandora / plat.c
index f7d6879..a2e70eb 100644 (file)
@@ -74,6 +74,7 @@ static struct in_default_bind in_evdev_defbinds[] =
        { KEY_S,        IN_BINDTYPE_PLAYER12, GBTN_B },\r
        { KEY_D,        IN_BINDTYPE_PLAYER12, GBTN_C },\r
        { KEY_ENTER,    IN_BINDTYPE_PLAYER12, GBTN_START },\r
+       { KEY_R,        IN_BINDTYPE_EMU, PEVB_RESET },\r
        { KEY_F,        IN_BINDTYPE_EMU, PEVB_FF },\r
        { KEY_BACKSPACE,IN_BINDTYPE_EMU, PEVB_FF },\r
        { KEY_BACKSLASH,IN_BINDTYPE_EMU, PEVB_MENU },\r
@@ -93,6 +94,36 @@ static struct in_default_bind in_evdev_defbinds[] =
        { 0, 0, 0 }\r
 };\r
 \r
+static const struct menu_keymap key_pbtn_map[] =\r
+{\r
+       { KEY_UP,       PBTN_UP },\r
+       { KEY_DOWN,     PBTN_DOWN },\r
+       { KEY_LEFT,     PBTN_LEFT },\r
+       { KEY_RIGHT,    PBTN_RIGHT },\r
+       /* Pandora */\r
+       { KEY_END,      PBTN_MOK },\r
+       { KEY_PAGEDOWN, PBTN_MBACK },\r
+       { KEY_HOME,     PBTN_MA2 },\r
+       { KEY_PAGEUP,   PBTN_MA3 },\r
+       { KEY_LEFTCTRL,   PBTN_MENU },\r
+       { KEY_RIGHTSHIFT, PBTN_L },\r
+       { KEY_RIGHTCTRL,  PBTN_R },\r
+       /* "normal" keyboards */\r
+       { KEY_ENTER,    PBTN_MOK },\r
+       { KEY_ESC,      PBTN_MBACK },\r
+       { KEY_SEMICOLON,  PBTN_MA2 },\r
+       { KEY_APOSTROPHE, PBTN_MA3 },\r
+       { KEY_BACKSLASH,  PBTN_MENU },\r
+       { KEY_LEFTBRACE,  PBTN_L },\r
+       { KEY_RIGHTBRACE, PBTN_R },\r
+};\r
+\r
+static const struct in_pdata pandora_evdev_pdata = {\r
+       .defbinds = in_evdev_defbinds,\r
+       .key_map = key_pbtn_map,\r
+       .kmap_size = sizeof(key_pbtn_map) / sizeof(key_pbtn_map[0]),\r
+};\r
+\r
 void pemu_prep_defconfig(void)\r
 {\r
        defaultConfig.EmuOpt |= EOPT_VSYNC|EOPT_16BPP;\r
@@ -105,24 +136,6 @@ void pemu_validate_config(void)
        currentConfig.CPUclock = plat_target_cpu_clock_get();\r
 }\r
 \r
-static void osd_text(int x, int y, const char *text)\r
-{\r
-       int len = strlen(text)*8;\r
-       int i, h;\r
-\r
-       len++;\r
-       if (x + len > g_screen_width)\r
-               len = g_screen_width - x;\r
-\r
-       for (h = 0; h < 8; h++) {\r
-               unsigned short *p;\r
-               p = (unsigned short *)g_screen_ptr + x + g_screen_width*(y + h);\r
-               for (i = len; i > 0; i--, p++)\r
-                       *p = (*p>>2) & 0x39e7;\r
-       }\r
-       emu_text_out16(x, y, text);\r
-}\r
-\r
 static void draw_cd_leds(void)\r
 {\r
        int old_reg;\r
@@ -152,10 +165,10 @@ static void draw_cd_leds(void)
 void pemu_finalize_frame(const char *fps, const char *notice)\r
 {\r
        if (notice && notice[0])\r
-               osd_text(2, g_osd_y, notice);\r
+               emu_osd_text16(2, g_osd_y, notice);\r
        if (fps && fps[0] && (currentConfig.EmuOpt & EOPT_SHOW_FPS))\r
-               osd_text(g_osd_fps_x, g_osd_y, fps);\r
-       if ((PicoAHW & PAHW_MCD) && (currentConfig.EmuOpt & EOPT_EN_CD_LEDS))\r
+               emu_osd_text16(g_osd_fps_x, g_osd_y, fps);\r
+       if ((PicoIn.AHW & PAHW_MCD) && (currentConfig.EmuOpt & EOPT_EN_CD_LEDS))\r
                draw_cd_leds();\r
 }\r
 \r
@@ -429,6 +442,11 @@ void plat_wait_till_us(unsigned int us_to)
 */\r
 }\r
 \r
+void *plat_mem_get_for_drc(size_t size)\r
+{\r
+       return NULL;\r
+}\r
+\r
 void plat_early_init(void)\r
 {\r
 }\r
@@ -500,7 +518,7 @@ void plat_init(void)
        // default ROM path\r
        strcpy(rom_fname_loaded, "/media");\r
 \r
-       in_evdev_init(in_evdev_defbinds);\r
+       in_evdev_init(&pandora_evdev_pdata);\r
        in_probe();\r
        plat_target_setup_input();\r
 \r