diff --git a/keycodes.h b/keycodes.h index cfbf99b..fe4881b 100644 --- a/keycodes.h +++ b/keycodes.h @@ -332,7 +332,8 @@ const unsigned short usb2ps2[] = { 0x01, // 42: F9 0x09, // 43: F10 0x78, // 44: F11 - 0x07, // 45: F12 + OSD_LOC, // 45: F12 (OSD) + // 0x07, // 45: F12 EXT | 0x7c, // 46: Print Screen NUM_LOCK_TOGGLE, // 47: Scroll Lock 0x77, // 48: Pause (special key handled inside user_io) diff --git a/main.c b/main.c index e2269fd..7113241 100644 --- a/main.c +++ b/main.c @@ -197,6 +197,11 @@ int main(void) HandleFpga(); HandleUI(); } + + // 8 bit cores can also have a ui + if(user_io_core_type() == CORE_TYPE_8BIT) { + HandleUI(); + } } return 0; } diff --git a/menu.c b/menu.c index 790b5a4..1cbbdb7 100644 --- a/menu.c +++ b/menu.c @@ -295,15 +295,43 @@ void HandleUI(void) { if(user_io_core_type() == CORE_TYPE_MINIMIG) menustate = MENU_MAIN1; - else + else if(user_io_core_type() == CORE_TYPE_MIST) menustate = MENU_MIST_MAIN1; - - menusub = 0; + else + menustate = MENU_DUMMY_MAIN1; + + menusub = 0; OsdClear(); OsdEnable(DISABLE_KEYBOARD); } break; + /******************************************************************/ + /* dummy main menu */ + /******************************************************************/ + + case MENU_DUMMY_MAIN1 : + menumask=0; + OsdSetTitle("Menu", 0); + + OsdWrite(0, "", 0,0); + OsdWrite(1, " Dummy menu test", 0,0); + OsdWrite(2, "", 0,0); + OsdWrite(3, "", 0,0); + OsdWrite(4, "", 0,0); + OsdWrite(5, "", 0,0); + OsdWrite(6, "", 0,0); + OsdWrite(7, "", 0,0); + menustate = MENU_DUMMY_MAIN2; + parentstate=MENU_DUMMY_MAIN1; + break; + + case MENU_DUMMY_MAIN2 : + // menu key closes menu + if (menu) + menustate = MENU_NONE1; + break; + /******************************************************************/ /* mist main menu */ /******************************************************************/ diff --git a/menu.h b/menu.h index 99090a6..d184104 100644 --- a/menu.h +++ b/menu.h @@ -84,6 +84,10 @@ enum MENU MENU_MIST_VIDEO2, MENU_MIST_VIDEO_ADJUST1, MENU_MIST_VIDEO_ADJUST2, + + // Dummy menu entries + MENU_DUMMY_MAIN1, + MENU_DUMMY_MAIN2, }; // UI strings, used by boot messages diff --git a/osd.c b/osd.c index 1395807..fe25d4d 100644 --- a/osd.c +++ b/osd.c @@ -660,8 +660,9 @@ unsigned char OsdGetCtrl(void) DisableOsd(); } - // mist/atari core uses local queue - if(user_io_core_type() == CORE_TYPE_MIST) + // mist/atari and 8bit cores use local queue + if((user_io_core_type() == CORE_TYPE_MIST) || + (user_io_core_type() == CORE_TYPE_8BIT)) c1 = OsdKeyGet(); // add front menu button