From 35f8595a057f5d20a7c92a808e600454f783ab0e Mon Sep 17 00:00:00 2001 From: marqs Date: Thu, 25 Jun 2026 18:35:05 +0300 Subject: [PATCH] misc fixes * fix compiler warnings * fix Last Used initial input * remove duplicate gtia_pal branch * include hdmi_ar into saved profile --- ip/pll_reconfig/inc/pll_reconfig_regs.h | 2 +- software/sys_controller/av_controller.c | 9 +++++---- software/sys_controller/ic_drivers/it6613/hdmitx.h | 3 +-- software/sys_controller/inc/firmware.h | 4 ++-- software/sys_controller/src/menu.c | 3 --- software/sys_controller/src/userdata.c | 3 +++ 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/ip/pll_reconfig/inc/pll_reconfig_regs.h b/ip/pll_reconfig/inc/pll_reconfig_regs.h index 6fefd40..cdc283e 100644 --- a/ip/pll_reconfig/inc/pll_reconfig_regs.h +++ b/ip/pll_reconfig/inc/pll_reconfig_regs.h @@ -36,7 +36,7 @@ typedef union { // char regs typedef struct { - char data[160]; + alt_u32 data[5]; } pll_config_data_regs; typedef struct { diff --git a/software/sys_controller/av_controller.c b/software/sys_controller/av_controller.c index 8e48b58..0e8b3f9 100644 --- a/software/sys_controller/av_controller.c +++ b/software/sys_controller/av_controller.c @@ -87,7 +87,7 @@ alt_u8 profile_sel, profile_sel_menu, sd_profile_sel_menu, input_profiles[AV_LAS char row1[LCD_ROW_LEN+1], row2[LCD_ROW_LEN+1], menu_row1[LCD_ROW_LEN+1], menu_row2[LCD_ROW_LEN+1]; extern alt_u8 menu_active; -avinput_t target_input; +avinput_t target_input, last_input; alt_u8 pcm1862_active; @@ -1029,12 +1029,12 @@ void update_settings(int init_setup) { refresh_osd(); } if (init_setup) - target_input = ts.def_input; + target_input = (ts.def_input == AV_LAST) ? last_input : ts.def_input; memcpy(&cs, &ts, sizeof(settings_t)); } -int main() +int main(int argc, char **argv, char **envp) { ths_input_t target_ths = 0; pcm_input_t target_pcm = 0; @@ -1223,6 +1223,7 @@ int main() cm.avinput = target_input; cm.sync_active = 0; + last_input = target_input; ths_source_sel(target_ths, (cm.cc.video_lpf > 1) ? (VIDEO_LPF_MAX-cm.cc.video_lpf) : THS_LPF_BYPASS); tvp_powerdown(); DisableAudioOutput(); @@ -1258,7 +1259,7 @@ int main() cm.clkcnt = 0; //TODO: proper invalidate } if (tc.tx_mode != TX_DVI) { - if (tc.hdmi_itc != cm.cc.hdmi_itc || tc.hdmi_ar != cm.cc.hdmi_ar) { + if ((tc.hdmi_itc != cm.cc.hdmi_itc) || (tc.hdmi_ar != cm.cc.hdmi_ar)) { //EnableAVIInfoFrame(FALSE, NULL); printf("setting ITC to %d\nsetting Aspect-Ratio to %d\n", tc.hdmi_itc, tc.hdmi_ar); HDMITX_SetAVIInfoFrame(vmode_out.vic, (tc.tx_mode == TX_HDMI_RGB) ? F_MODE_RGB444 : F_MODE_YUV444, tc.hdmi_ar, 0, tc.hdmi_itc, vm_conf.hdmitx_pixr_ifr); diff --git a/software/sys_controller/ic_drivers/it6613/hdmitx.h b/software/sys_controller/ic_drivers/it6613/hdmitx.h index 857a7ab..470419d 100644 --- a/software/sys_controller/ic_drivers/it6613/hdmitx.h +++ b/software/sys_controller/ic_drivers/it6613/hdmitx.h @@ -17,7 +17,7 @@ #ifdef SUPPORT_SYNCEMBEDDED -#pragma message("defined SUPPORT_SYNCEMBEDDED for Sync Embedded timing input or CCIR656 input.") +#pragma message("defined SUPPORT_SYNCEMBEDDED for Sync Embedded timing input or CCIR656 input.") #endif #ifndef _MCU_ // DSSSHA need large computation data rather than 8051 supported. @@ -52,7 +52,6 @@ //#define NULL 0 //typedef unsigned char bool; -typedef unsigned char bool; #include "sysconfig.h" // Hardwired to CPU reset diff --git a/software/sys_controller/inc/firmware.h b/software/sys_controller/inc/firmware.h index 5c192e7..84c9dba 100644 --- a/software/sys_controller/inc/firmware.h +++ b/software/sys_controller/inc/firmware.h @@ -24,7 +24,7 @@ #include "sysconfig.h" #define FW_VER_MAJOR 1 -#define FW_VER_MINOR 21 +#define FW_VER_MINOR 22 #ifdef OSDLANG_JP #define FW_SUFFIX "j" @@ -61,7 +61,7 @@ typedef struct { } rem_update_dev; int fw_init_secondary(); -int fw_update(); +int fw_update(char *dirname, char *filename); void fw_update_commit(uint32_t* cluster_idx, uint32_t bytes_to_copy, uint16_t fs_csize, uint16_t fs_startsec, uint32_t flash_addr); #endif diff --git a/software/sys_controller/src/menu.c b/software/sys_controller/src/menu.c index 105af23..87d7fb2 100644 --- a/software/sys_controller/src/menu.c +++ b/software/sys_controller/src/menu.c @@ -705,9 +705,6 @@ int load_lc_palette_set(char *dirname, char *filename) { } else if (strncmp(tmpbuf, "maria_pal", 10) == 0) { offset = offsetof(lc_palette_set, maria_pal)/4; entries_remaining = 256; - } else if (strncmp(tmpbuf, "gtia_pal", 10) == 0) { - offset = offsetof(lc_palette_set, gtia_pal)/4; - entries_remaining = 128; } else if (strncmp(tmpbuf, "sms_pal", 10) == 0) { offset = offsetof(lc_palette_set, sms_pal)/4; entries_remaining = 64; diff --git a/software/sys_controller/src/userdata.c b/software/sys_controller/src/userdata.c index bdd2cb9..1f244dd 100644 --- a/software/sys_controller/src/userdata.c +++ b/software/sys_controller/src/userdata.c @@ -50,6 +50,7 @@ extern uint8_t update_cur_vm; extern SD_DEV sdcard_dev; extern c_shmask_t c_shmask; extern c_lc_palette_set_t c_lc_palette_set; +extern avinput_t last_input; char target_profile_name[USERDATA_NAME_LEN+1], cur_profile_name[USERDATA_NAME_LEN+1]; @@ -67,6 +68,7 @@ const ude_item_map ude_initcfg_items[] = { UDE_ITEM(10, 120, ts.osd_status_timeout), UDE_ITEM(11, 120, ts.osd_highlight_color), UDE_ITEM(12, 120, ts.phase_hotkey_enable), + UDE_ITEM(13, 122, last_input), }; const ude_item_map ude_profile_items[] = { @@ -140,6 +142,7 @@ const ude_item_map ude_profile_items[] = { // 65 reserved UDE_ITEM(66, 120, tc.panasonic_hack), UDE_ITEM(67, 120, tc.o480p_pbox), + UDE_ITEM(61, 122, tc.hdmi_ar), }; int write_userdata(uint8_t entry) {