diff --git a/keycodes.h b/keycodes.h index ef7b5e9..5973876 100644 --- a/keycodes.h +++ b/keycodes.h @@ -99,7 +99,7 @@ const unsigned short usb2ami[] = { 0x5f, // 44: F11 0x69 | OSD, // 45: F12 (OSD) 0x6e | OSD, // 46: Print Screen (OSD) - 0x69 | OSD, // 47: Scroll Lock (OSD) + NUM_LOCK_TOGGLE, // 47: Scroll Lock (OSD) MISS, // 48: Pause MISS, // 49: Insert MISS, // 4a: Home @@ -219,7 +219,7 @@ const unsigned short usb2atari[] = { MISS, // 44: F11 OSD_LOC, // 45: F12 MISS, // 46: Print Screen - MISS, // 47: Scroll Lock + NUM_LOCK_TOGGLE, // 47: Scroll Lock MISS, // 48: Pause 0x52, // 49: Insert 0x47, // 4a: Home diff --git a/menu.c b/menu.c index 4723f32..c46d861 100644 --- a/menu.c +++ b/menu.c @@ -100,6 +100,13 @@ const char *helptexts[]={ 0 }; + +const char* scanlines[]={"Off","25%","50%","75%"}; +unsigned int scan=0; + +const char* stereo[]={"Mono","Stereo"}; +unsigned int sstereo=0; + unsigned char config_autofire = 0; // file selection menu variables @@ -315,7 +322,7 @@ void HandleUI(void) /* everything else is in submenus */ OsdWrite(3, " Storage \x16", menusub == 2,0); OsdWrite(4, " System \x16", menusub == 3,0); - OsdWrite(5, " Video \x16", menusub == 4,0); + OsdWrite(5, " Audio / Video \x16", menusub == 4,0); OsdWrite(6, " Firmware & Core \x16", menusub == 5,0); OsdWrite(7, STD_EXIT, menusub == 6,0); @@ -559,29 +566,35 @@ void HandleUI(void) case MENU_MIST_VIDEO1 : - menumask=0x0f; - OsdSetTitle("Video", 0); - OsdWrite(0, "", 0,0); + menumask=0x3f; + OsdSetTitle("A/V", 0); strcpy(s, " PAL mode: "); if(tos_system_ctrl & TOS_CONTROL_PAL50HZ) strcat(s, "50Hz"); else strcat(s, "56Hz"); - OsdWrite(1, s, menusub == 0,0); + OsdWrite(0, s, menusub == 0,0); strcpy(s, " Blitter: "); strcat(s, (tos_system_ctrl & TOS_CONTROL_BLITTER)?"on":"off"); - OsdWrite(2, s, menusub == 1, 0); + OsdWrite(1, s, menusub == 1, 0); strcpy(s, " Screen: "); if(tos_system_ctrl & TOS_CONTROL_VIDEO_COLOR) strcat(s, "Color"); else strcat(s, "Mono"); - OsdWrite(3, s, menusub == 2,0); - - OsdWrite(4, "", 0,0); - OsdWrite(5, "", 0,0); - OsdWrite(6, "", 0,0); - OsdWrite(7, STD_EXIT, menusub == 3,0); + + OsdWrite(2, "", 0,0); + OsdWrite(3, s, menusub == 2,0); + + strcpy(s," Scanlines: "); + strcat(s,scanlines[scan & 0x3]); + OsdWrite(4,s,menusub==3,0); + strcpy(s," Audio: "); + strcat(s,stereo[sstereo & 0x1]); + OsdWrite(5, s, menusub==4,0); + OsdWrite(6, "", 0,0); + OsdWrite(7, STD_EXIT, menusub == 5,0); + parentstate = menustate; menustate = MENU_MIST_VIDEO2; @@ -605,14 +618,25 @@ void HandleUI(void) menustate = MENU_MIST_VIDEO1; break; - case 2: - tos_update_sysctrl(tos_system_ctrl ^ TOS_CONTROL_VIDEO_COLOR); - menustate = MENU_MIST_VIDEO1; - break; + case 2: + tos_update_sysctrl(tos_system_ctrl ^ TOS_CONTROL_VIDEO_COLOR); + menustate = MENU_MIST_VIDEO1; + break; - case 3: + case 3: + scan=(scan+1) & 0x3; + tos_update_sysctrl((tos_system_ctrl & 0x3fffffff) | (scan<<30)); + menustate=MENU_MIST_VIDEO1; + break; + case 4: + sstereo++; + tos_update_sysctrl(tos_system_ctrl ^ 0x20000000); + menustate=MENU_MIST_VIDEO1; + break; + case 5: menustate = MENU_MIST_MAIN1; menusub = 4; + break; } } break;