diff --git a/menu.cpp b/menu.cpp index f1d3a80..b202427 100644 --- a/menu.cpp +++ b/menu.cpp @@ -2880,7 +2880,7 @@ void HandleUI(void) break; case MENU_ST_SYSTEM1: - menumask = 0x3fff; + menumask = 0x7fff; OsdSetTitle("Config", 0); m = 0; @@ -2927,21 +2927,26 @@ void HandleUI(void) else strcat(s, "Mono"); OsdWrite(m++, s, menusub == 9); + strcpy(s, " Mono 60Hz: "); + if (tos_system_ctrl() & TOS_CONTROL_MDE60) strcat(s, "On"); + else strcat(s, "Off"); + OsdWrite(m++, s, menusub == 10); + strcpy(s, " Border: "); if (tos_system_ctrl() & TOS_CONTROL_BORDER) strcat(s, "Visible"); else strcat(s, "Full"); - OsdWrite(m++, s, menusub == 10); + OsdWrite(m++, s, menusub == 11); strcpy(s, " Scanlines: "); strcat(s, tos_scanlines[(tos_system_ctrl() >> 20) & 3]); - OsdWrite(m++, s, menusub == 11); + OsdWrite(m++, s, menusub == 12); strcpy(s, " YM-Audio: "); strcat(s, tos_stereo[(tos_system_ctrl() & TOS_CONTROL_STEREO) ? 1 : 0]); - OsdWrite(m++, s, menusub == 12); + OsdWrite(m++, s, menusub == 13); for (; m < OsdGetSize() - 1; m++) OsdWrite(m); - OsdWrite(15, STD_EXIT, menusub == 13); + OsdWrite(15, STD_EXIT, menusub == 14); parentstate = menustate; menustate = MENU_ST_SYSTEM2; @@ -3026,11 +3031,16 @@ void HandleUI(void) break; case 10: - tos_update_sysctrl(tos_system_ctrl() ^ TOS_CONTROL_BORDER); + tos_update_sysctrl(tos_system_ctrl() ^ TOS_CONTROL_MDE60); menustate = MENU_ST_SYSTEM1; break; case 11: + tos_update_sysctrl(tos_system_ctrl() ^ TOS_CONTROL_BORDER); + menustate = MENU_ST_SYSTEM1; + break; + + case 12: { // next scanline state int scan = ((tos_system_ctrl() >> 20) + 1) & 3; @@ -3039,13 +3049,13 @@ void HandleUI(void) } break; - case 12: + case 13: tos_update_sysctrl(tos_system_ctrl() ^ TOS_CONTROL_STEREO); menustate = MENU_ST_SYSTEM1; break; - case 13: + case 14: menustate = MENU_ST_MAIN1; menusub = 4; if (need_reset) tos_reset(1); diff --git a/support/st/st_tos.h b/support/st/st_tos.h index c4483f6..a034d21 100644 --- a/support/st/st_tos.h +++ b/support/st/st_tos.h @@ -66,6 +66,7 @@ #define TOS_CONTROL_VIKING 0x10000000 // Viking graphics card #define TOS_CONTROL_BORDER 0x20000000 +#define TOS_CONTROL_MDE60 0x40000000 extern const char* tos_mem[]; extern const char* tos_scanlines[]; diff --git a/user_io.cpp b/user_io.cpp index 07a642d..0d59802 100644 --- a/user_io.cpp +++ b/user_io.cpp @@ -556,7 +556,7 @@ int GetUARTMode() return 0; } -int SetUARTMode(int mode) +void SetUARTMode(int mode) { if (is_st()) tos_uart_mode(mode != 3); MakeFile("/tmp/CORENAME", user_io_get_core_name_ex()); diff --git a/user_io.h b/user_io.h index d7a5040..455def2 100644 --- a/user_io.h +++ b/user_io.h @@ -243,7 +243,7 @@ int user_io_is_dualsdr(); uint16_t altcfg(int alt = -1); int GetUARTMode(); -int SetUARTMode(int mode); +void SetUARTMode(int mode); int GetMidiLinkMode(); void SetMidiLinkMode(int mode);