Support coefficients re-loading for Altera scaler.

This commit is contained in:
sorgelig
2018-11-16 06:39:20 +08:00
parent c1cb177c12
commit 1060bf4aaa
2 changed files with 13 additions and 13 deletions

View File

@@ -165,7 +165,7 @@ const char *config_button_turbo_choice_msg[] = { "A only", "B only", "A & B" };
const char *joy_button_map[] = { "RIGHT", "LEFT", "DOWN", "UP", "BUTTON 1", "BUTTON 2", "BUTTON 3", "BUTTON 4", "KBD TOGGLE", "BUTTON OSD" };
const char *config_stereo_msg[] = { "0%", "25%", "50%", "100%" };
const char *config_uart_msg[] = { " None", " PPP", " Console", " USBMIDI", "USBMIDI-38K" };
const char *config_scaler_msg[] = { "Nearest Neighbor","Bilinear","Sharp Bilinear","Bicubic","Custom" };
const char *config_scaler_msg[] = { "Internal","Custom" };
char joy_bnames[12][32];
int joy_bcount = 0;
@@ -1326,7 +1326,7 @@ void HandleUI(void)
{
menumask |= 0x30;
OsdWrite(n++, " HDMI Scaler:");
sprintf(s, " \x16 Filter - %s", config_scaler_msg[user_io_get_scaler_flt()]);
sprintf(s, " \x16 Filter - %s", config_scaler_msg[user_io_get_scaler_flt() ? 1 : 0]);
OsdWrite(n++, s, menusub == 4);
memset(s, 0, sizeof(s));
@@ -1334,7 +1334,7 @@ void HandleUI(void)
if (strlen(user_io_get_scaler_coeff())) strncat(s, user_io_get_scaler_coeff(), 22);
else strcat(s, "<none>");
OsdWrite(n++, s, menusub == 5, user_io_get_scaler_flt() != 4 || !S_ISDIR(getFileType(COEFF_DIR)));
OsdWrite(n++, s, menusub == 5, !user_io_get_scaler_flt() || !S_ISDIR(getFileType(COEFF_DIR)));
OsdWrite(n++);
}
@@ -1416,12 +1416,12 @@ void HandleUI(void)
}
break;
case 4:
user_io_set_scaler_flt((user_io_get_scaler_flt() < 4) ? user_io_get_scaler_flt() + 1 : 0);
user_io_set_scaler_flt(user_io_get_scaler_flt() ? 0 : 1);
menustate = MENU_8BIT_SYSTEM1;
break;
case 5:
if (user_io_get_scaler_flt() == 4)
if (user_io_get_scaler_flt())
{
sprintf(SelectedPath, COEFF_DIR"/%s", user_io_get_scaler_coeff());
SelectFile(0, SCANO_COEFF, MENU_COEFF_FILE_SELECTED, MENU_8BIT_SYSTEM1);

View File

@@ -2590,16 +2590,14 @@ static void setScaler()
if (!spi_uio_cmd_cont(UIO_SET_FLTNUM))
{
DisableIO();
sprintf(filename, "%s/coeff.txt", HomeDir);
}
else
{
new_scaler = 1;
spi8(scaler_flt_cfg[0]);
DisableIO();
sprintf(filename, COEFF_DIR"/%s", scaler_flt_cfg + 1);
return;
}
new_scaler = 1;
spi8(scaler_flt_cfg[0]);
DisableIO();
sprintf(filename, COEFF_DIR"/%s", scaler_flt_cfg + 1);
if (FileOpen(&f, filename))
{
printf("Read scaler coefficients\n");
@@ -2664,6 +2662,7 @@ void user_io_set_scaler_flt(int n)
scaler_flt_cfg[0] = (char)n;
FileSaveConfig("scaler.cfg", &scaler_flt_cfg, sizeof(scaler_flt_cfg));
spi_uio_cmd8(UIO_SET_FLTNUM, scaler_flt_cfg[0]);
spi_uio_cmd(UIO_SET_FLTCOEF);
}
void user_io_set_scaler_coeff(char *name)
@@ -2671,6 +2670,7 @@ void user_io_set_scaler_coeff(char *name)
strcpy(scaler_flt_cfg + 1, name);
FileSaveConfig("scaler.cfg", &scaler_flt_cfg, sizeof(scaler_flt_cfg));
setScaler();
user_io_send_buttons(1);
}
static void loadScalerCfg()