diff --git a/MiSTer.ini b/MiSTer.ini index 7a6ee1b..9aa80f4 100644 --- a/MiSTer.ini +++ b/MiSTer.ini @@ -14,6 +14,7 @@ vscale_mode=0 ; 0 - scale to fit the screen height. vscale_border=0 ; set vertical border for TVs cutting the upper/bottom parts of screen (1-99) ;bootscreen=0 ; uncomment to disable boot screen of some cores like Minimig. ;mouse_throttle=10 ; 1-100 mouse speed divisor. Useful for very sensitive mouses +rbf_hide_datecode=0 ; 1 - hides datecodes from rbf file names. Press F2 for quick temporary toggle ; USER button emulation by keybaord. Usually it's reset button. ; 0 - lctrl+lalt+ralt (lctrl+lgui+rgui on keyrah) @@ -44,7 +45,8 @@ video_mode=0 ; set to 1-10 (seconds) to display video info on startup/change video_info=0 -; set to 1 for automatic HDMI VSync rate adjust to match original VSync. +; Set to 1 for automatic HDMI VSync rate adjust to match original VSync. +; Set to 2 for low latency mode (single buffer). ; This option makes video butter smooth like on original emulated system. ; Adjusting is done by changing pixel clock. Not every display supports variable pixel clock. ; For proper adjusting and to reduce possible out of range pixel clock, use 60Hz HDMI video diff --git a/cfg.cpp b/cfg.cpp index aca8eca..14c73ef 100644 --- a/cfg.cpp +++ b/cfg.cpp @@ -33,7 +33,7 @@ const ini_var_t ini_vars[] = { { "KEY_MENU_AS_RGUI", (void*)(&(cfg.key_menu_as_rgui)), UINT8, 0, 1, 1 }, { "VIDEO_MODE", (void*)(cfg.video_conf), STRING, 0, sizeof(cfg.video_conf)-1, 1 }, { "VIDEO_INFO", (void*)(&(cfg.video_info)), UINT8, 0, 10, 1 }, - { "VSYNC_ADJUST", (void*)(&(cfg.vsync_adjust)), UINT8, 0, 1, 1 }, + { "VSYNC_ADJUST", (void*)(&(cfg.vsync_adjust)), UINT8, 0, 2, 1 }, { "HDMI_AUDIO_96K", (void*)(&(cfg.hdmi_audio_96k)), UINT8, 0, 1, 1 }, { "DVI_MODE", (void*)(&(cfg.dvi)), UINT8, 0, 1, 1 }, { "KBD_NOMOUSE", (void*)(&(cfg.kbd_nomouse)), UINT8, 0, 1, 1 }, @@ -42,6 +42,7 @@ const ini_var_t ini_vars[] = { { "VOLUMECTL", (void*)(&(cfg.volumectl)), UINT8, 0, 1, 1 }, { "VSCALE_MODE", (void*)(&(cfg.vscale_mode)), UINT8, 0, 3, 1 }, { "VSCALE_BORDER", (void*)(&(cfg.vscale_border)), UINT8, 0, 100, 1 }, + { "RBF_HIDE_DATECODE", (void*)(&(cfg.rbf_hide_datecode)), UINT8, 0, 1, 1 }, }; // mist ini config diff --git a/cfg.h b/cfg.h index eab8d15..6776820 100644 --- a/cfg.h +++ b/cfg.h @@ -31,6 +31,7 @@ typedef struct { uint8_t volumectl; uint8_t vscale_mode; uint8_t vscale_border; + uint8_t rbf_hide_datecode; char video_conf[1024]; } cfg_t; diff --git a/menu.cpp b/menu.cpp index fd9b946..30e28be 100644 --- a/menu.cpp +++ b/menu.cpp @@ -3550,6 +3550,9 @@ void PrintDirectory(void) } } + //not full check but should be enough. + if (cfg.rbf_hide_datecode && len > 9 && !strncmp(flist_DirItem(k)->d_name + len - 9, "_20", 3)) len -= 9; + if (len > 28) { len = 27; // trim display length if longer than 30 characters diff --git a/releases/MiSTer_20181227 b/releases/MiSTer_20181227 new file mode 100644 index 0000000..8fd8963 Binary files /dev/null and b/releases/MiSTer_20181227 differ diff --git a/user_io.cpp b/user_io.cpp index 25fe8b0..afcb00f 100644 --- a/user_io.cpp +++ b/user_io.cpp @@ -2440,6 +2440,12 @@ void user_io_kbd(uint16_t key, int press) if (press) setBrightness(BRIGHTNESS_UP, 0); } else + if (key == KEY_F2 && osd_is_visible) + { + if (press == 1) cfg.rbf_hide_datecode = !cfg.rbf_hide_datecode; + PrintDirectory(); + } + else if ((core_type == CORE_TYPE_MINIMIG2) || (core_type == CORE_TYPE_MIST) || (core_type == CORE_TYPE_ARCHIE) || @@ -2804,7 +2810,7 @@ static void setVideo() for (int i = 9; i < 21; i++) { printf("0x%X, ", vitems[i]); - if (i & 1) spi_w(vitems[i]); + if (i & 1) spi_w(vitems[i] | ((i==9 && cfg.vsync_adjust==2) ? 0x8000 : 0)); else { spi_w(vitems[i]); @@ -2898,7 +2904,7 @@ void parse_video_mode() static int adjust_video_mode(uint32_t vtime) { - printf("Adjust VSync.\n"); + printf("Adjust VSync(%d).\n", cfg.vsync_adjust); double Fpix = 100 * (vitems[1] + vitems[2] + vitems[3] + vitems[4]) * (vitems[5] + vitems[6] + vitems[7] + vitems[8]); Fpix /= vtime;