diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 2cc36c6a6..e58004eb4 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -1,6 +1,27 @@ name: "CodeQL" -on: [ push, pull_request] +on: + + push: + paths: + - src/** + - cmake/** + - "**/CMakeLists.txt" + - "CMakePresets.json" + - .github/workflows/codeql.yml + - vcpkg.json + - "!**/Makefile*" + + pull_request: + paths: + - src/** + - cmake/** + - "**/CMakeLists.txt" + - "CMakePresets.json" + - .github/workflows/** + - .github/workflows/codeql.yml + - vcpkg.json + - "!**/Makefile*" jobs: analyze: diff --git a/src/include/86box/resource.h b/src/include/86box/resource.h index 397443299..431f42134 100644 --- a/src/include/86box/resource.h +++ b/src/include/86box/resource.h @@ -185,19 +185,20 @@ #ifdef USE_DYNAREC # define IDC_CHECK_DYNAREC 1017 #endif -#define IDC_MEMTEXT 1018 -#define IDC_MEMSPIN 1019 +#define IDC_CHECK_SOFTFLOAT 1018 +#define IDC_MEMTEXT 1019 +#define IDC_MEMSPIN 1020 #define IDC_TEXT_MB IDT_MB -#define IDC_VIDEO 1020 /* video config */ -#define IDC_COMBO_VIDEO 1021 -#define IDC_VIDEO_2 1022 -#define IDC_COMBO_VIDEO_2 1023 -#define IDC_CHECK_VOODOO 1024 -#define IDC_BUTTON_VOODOO 1025 -#define IDC_CHECK_IBM8514 1026 -#define IDC_CHECK_XGA 1027 -#define IDC_BUTTON_XGA 1028 +#define IDC_VIDEO 1021 /* video config */ +#define IDC_COMBO_VIDEO 1022 +#define IDC_VIDEO_2 1023 +#define IDC_COMBO_VIDEO_2 1024 +#define IDC_CHECK_VOODOO 1025 +#define IDC_BUTTON_VOODOO 1026 +#define IDC_CHECK_IBM8514 1027 +#define IDC_CHECK_XGA 1028 +#define IDC_BUTTON_XGA 1029 #define IDC_INPUT 1030 /* input config */ #define IDC_COMBO_MOUSE 1031 diff --git a/src/win/Makefile.mingw b/src/win/Makefile.mingw index c0077abc2..0aa08d267 100644 --- a/src/win/Makefile.mingw +++ b/src/win/Makefile.mingw @@ -876,7 +876,7 @@ all: $(PROG).exe 86Box.res: 86Box.rc @echo Processing $< - @$(WINDRES) $(RFLAGS) $(EXTRAS) -i $< -o 86Box.res + @$(WINDRES) -v $(RFLAGS) $(EXTRAS) -i $< -o 86Box.res $(PROG).exe: $(OBJ) 86Box.res @echo Linking $(PROG).exe .. diff --git a/src/win/languages/cs-CZ.rc b/src/win/languages/cs-CZ.rc index a2fe0eaa6..262f059b0 100644 --- a/src/win/languages/cs-CZ.rc +++ b/src/win/languages/cs-CZ.rc @@ -278,6 +278,7 @@ END #define STR_ENABLED_LOCAL "Zapnuta (místní čas)" #define STR_ENABLED_UTC "Zapnuta (UTC)" #define STR_DYNAREC "Dynamický překladač" +#define STR_SOFTFLOAT "Softfloat FPU" #define STR_VIDEO "Grafika:" #define STR_VIDEO_2 "Grafika 2:" diff --git a/src/win/languages/de-DE.rc b/src/win/languages/de-DE.rc index 735aac2b2..b2e25e332 100644 --- a/src/win/languages/de-DE.rc +++ b/src/win/languages/de-DE.rc @@ -278,6 +278,7 @@ END #define STR_ENABLED_LOCAL "Aktiviert (Lokale Uhrzeit)" #define STR_ENABLED_UTC "Aktiviert (UTC)" #define STR_DYNAREC "Dynamischer Recompiler" +#define STR_SOFTFLOAT "Softfloat FPU" #define STR_VIDEO "Videokarte:" #define STR_VIDEO_2 "Videokarte 2:" diff --git a/src/win/languages/dialogs.rc b/src/win/languages/dialogs.rc index 12613a04f..ef3b8ac62 100644 --- a/src/win/languages/dialogs.rc +++ b/src/win/languages/dialogs.rc @@ -232,20 +232,25 @@ BEGIN CFG_HMARGIN, 120, 120, CFG_CHECKBOX_HEIGHT #endif + CONTROL STR_SOFTFLOAT, IDC_CHECK_SOFTFLOAT, + "Button", BS_AUTOCHECKBOX | WS_TABSTOP, + CFG_HMARGIN, 135, 120, CFG_CHECKBOX_HEIGHT + + GROUPBOX STR_TIME_SYNC, IDC_TIME_SYNC, - CFG_HMARGIN, 135, 110, 56 + CFG_HMARGIN, 150, 110, 56 CONTROL STR_DISABLED, IDC_RADIO_TS_DISABLED, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, - 14, 147, CFG_CHECKBOX_PRI_WIDTH, CFG_CHECKBOX_HEIGHT + 14, 162, CFG_CHECKBOX_PRI_WIDTH, CFG_CHECKBOX_HEIGHT CONTROL STR_ENABLED_LOCAL, IDC_RADIO_TS_LOCAL, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, - 14, 161, CFG_CHECKBOX_PRI_WIDTH, CFG_CHECKBOX_HEIGHT + 14, 176, CFG_CHECKBOX_PRI_WIDTH, CFG_CHECKBOX_HEIGHT CONTROL STR_ENABLED_UTC, IDC_RADIO_TS_UTC, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, - 14, 175, CFG_CHECKBOX_PRI_WIDTH, CFG_CHECKBOX_HEIGHT + 14, 190, CFG_CHECKBOX_PRI_WIDTH, CFG_CHECKBOX_HEIGHT END DLG_CFG_VIDEO DIALOG DISCARDABLE CFG_PANE_LEFT, CFG_PANE_TOP, CFG_PANE_WIDTH, CFG_PANE_HEIGHT @@ -974,6 +979,7 @@ END #undef STR_ENABLED_LOCAL #undef STR_ENABLED_UTC #undef STR_DYNAREC +#undef STR_SOFTFLOAT #undef STR_VIDEO #undef STR_VIDEO_2 diff --git a/src/win/languages/en-GB.rc b/src/win/languages/en-GB.rc index f94c6ab3b..a0ed1487e 100644 --- a/src/win/languages/en-GB.rc +++ b/src/win/languages/en-GB.rc @@ -278,6 +278,7 @@ END #define STR_ENABLED_LOCAL "Enabled (local time)" #define STR_ENABLED_UTC "Enabled (UTC)" #define STR_DYNAREC "Dynamic Recompiler" +#define STR_SOFTFLOAT "Softfloat FPU" #define STR_VIDEO "Video:" #define STR_VIDEO_2 "Video 2:" diff --git a/src/win/languages/en-US.rc b/src/win/languages/en-US.rc index a0719ac1d..9464c6d6b 100644 --- a/src/win/languages/en-US.rc +++ b/src/win/languages/en-US.rc @@ -278,6 +278,7 @@ END #define STR_ENABLED_LOCAL "Enabled (local time)" #define STR_ENABLED_UTC "Enabled (UTC)" #define STR_DYNAREC "Dynamic Recompiler" +#define STR_SOFTFLOAT "Softfloat FPU" #define STR_VIDEO "Video:" #define STR_VIDEO_2 "Video 2:" diff --git a/src/win/languages/es-ES.rc b/src/win/languages/es-ES.rc index 6bfce6e52..5f138c3c2 100644 --- a/src/win/languages/es-ES.rc +++ b/src/win/languages/es-ES.rc @@ -278,6 +278,7 @@ END #define STR_ENABLED_LOCAL "Habilitado (hora local)" #define STR_ENABLED_UTC "Habilitado (UTC)" #define STR_DYNAREC "Recompilador Dinámico" +#define STR_SOFTFLOAT "Softfloat FPU" #define STR_VIDEO "Vídeo:" #define STR_VIDEO_2 "Vídeo 2:" diff --git a/src/win/languages/fi-FI.rc b/src/win/languages/fi-FI.rc index 8cd80a4e7..c32f94b41 100644 --- a/src/win/languages/fi-FI.rc +++ b/src/win/languages/fi-FI.rc @@ -278,6 +278,7 @@ END #define STR_ENABLED_LOCAL "Käytössä (paikallinen)" #define STR_ENABLED_UTC "Käytössä (UTC)" #define STR_DYNAREC "Dynaaminen uudelleenkääntäjä" +#define STR_SOFTFLOAT "Softfloat FPU" #define STR_VIDEO "Näytönohjain:" #define STR_VIDEO_2 "Näytönohjain 2:" diff --git a/src/win/languages/fr-FR.rc b/src/win/languages/fr-FR.rc index 9e0296c4c..bffedce44 100644 --- a/src/win/languages/fr-FR.rc +++ b/src/win/languages/fr-FR.rc @@ -278,6 +278,7 @@ END #define STR_ENABLED_LOCAL "Activé (heure locale)" #define STR_ENABLED_UTC "Activé (UTC)" #define STR_DYNAREC "Recompilateur dynamique" +#define STR_SOFTFLOAT "Softfloat FPU" #define STR_VIDEO "Vidéo:" #define STR_VIDEO_2 "Vidéo 2:" diff --git a/src/win/languages/hr-HR.rc b/src/win/languages/hr-HR.rc index d8a19690e..b79defcbe 100644 --- a/src/win/languages/hr-HR.rc +++ b/src/win/languages/hr-HR.rc @@ -278,6 +278,7 @@ END #define STR_ENABLED_LOCAL "Uključeno (lokalno vrijeme)" #define STR_ENABLED_UTC "Uključeno (UTC)" #define STR_DYNAREC "Dinamički rekompilator" +#define STR_SOFTFLOAT "Softfloat FPU" #define STR_VIDEO "Video:" #define STR_VIDEO_2 "Video 2:" diff --git a/src/win/languages/hu-HU.rc b/src/win/languages/hu-HU.rc index b08797ab9..9486d8e61 100644 --- a/src/win/languages/hu-HU.rc +++ b/src/win/languages/hu-HU.rc @@ -283,6 +283,7 @@ END #define STR_ENABLED_LOCAL "Engedélyezve (helyi idő)" #define STR_ENABLED_UTC "Engedélyezve (UTC)" #define STR_DYNAREC "Dinamikus újrafordítás" +#define STR_SOFTFLOAT "Softfloat FPU" #define STR_VIDEO "Videokártya:" #define STR_VIDEO_2 "Videokártya 2:" diff --git a/src/win/languages/it-IT.rc b/src/win/languages/it-IT.rc index 0790813a0..02ca9bf9f 100644 --- a/src/win/languages/it-IT.rc +++ b/src/win/languages/it-IT.rc @@ -279,6 +279,7 @@ END #define STR_ENABLED_LOCAL "Abilitata (ora locale)" #define STR_ENABLED_UTC "Abilitata (UTC)" #define STR_DYNAREC "Ricompilatore dinamico" +#define STR_SOFTFLOAT "Softfloat FPU" #define STR_VIDEO "Video:" #define STR_VIDEO_2 "Video 2:" diff --git a/src/win/languages/ja-JP.rc b/src/win/languages/ja-JP.rc index 512bde8a0..89cc42011 100644 --- a/src/win/languages/ja-JP.rc +++ b/src/win/languages/ja-JP.rc @@ -278,6 +278,7 @@ END #define STR_ENABLED_LOCAL "有効にする (現地時間)" #define STR_ENABLED_UTC "有効にする (UTC)" #define STR_DYNAREC "動的リコンパイラ" +#define STR_SOFTFLOAT "Softfloat FPU" #define STR_VIDEO "ビデオカード:" #define STR_VIDEO_2 "ビデオカード 2:" diff --git a/src/win/languages/ko-KR.rc b/src/win/languages/ko-KR.rc index 49dfe34ba..cbe3e4752 100644 --- a/src/win/languages/ko-KR.rc +++ b/src/win/languages/ko-KR.rc @@ -278,6 +278,7 @@ END #define STR_ENABLED_LOCAL "사용 (현지 시간)" #define STR_ENABLED_UTC "사용 (UTC)" #define STR_DYNAREC "동적 재컴파일" +#define STR_SOFTFLOAT "Softfloat FPU" #define STR_VIDEO "비디오 카드:" #define STR_VIDEO_2 "비디오 카드 2:" diff --git a/src/win/languages/pl-PL.rc b/src/win/languages/pl-PL.rc index 803971ee1..84fccb70d 100644 --- a/src/win/languages/pl-PL.rc +++ b/src/win/languages/pl-PL.rc @@ -278,6 +278,7 @@ END #define STR_ENABLED_LOCAL "Włączona (czas lokalny)" #define STR_ENABLED_UTC "Włączona (UTC)" #define STR_DYNAREC "Dynamiczny rekompilator" +#define STR_SOFTFLOAT "Softfloat FPU" #define STR_VIDEO "Wideo:" #define STR_VIDEO_2 "Wideo 2:" diff --git a/src/win/languages/pt-BR.rc b/src/win/languages/pt-BR.rc index 669bb91b3..b01a214ff 100644 --- a/src/win/languages/pt-BR.rc +++ b/src/win/languages/pt-BR.rc @@ -281,6 +281,7 @@ END #define STR_ENABLED_LOCAL "Ativar (hora local)" #define STR_ENABLED_UTC "Ativar (UTC)" #define STR_DYNAREC "Recompilador dinâmico" +#define STR_SOFTFLOAT "Softfloat FPU" #define STR_VIDEO "Vídeo:" #define STR_VIDEO_2 "Vídeo 2:" diff --git a/src/win/languages/pt-PT.rc b/src/win/languages/pt-PT.rc index 50f2852c8..6390453dd 100644 --- a/src/win/languages/pt-PT.rc +++ b/src/win/languages/pt-PT.rc @@ -278,6 +278,7 @@ END #define STR_ENABLED_LOCAL "Ativada (hora local)" #define STR_ENABLED_UTC "Ativada (UTC)" #define STR_DYNAREC "Recompilador dinâmico" +#define STR_SOFTFLOAT "Softfloat FPU" #define STR_VIDEO "Vídeo:" #define STR_VIDEO_2 "Vídeo 2:" diff --git a/src/win/languages/ru-RU.rc b/src/win/languages/ru-RU.rc index 741e6466e..f49247894 100644 --- a/src/win/languages/ru-RU.rc +++ b/src/win/languages/ru-RU.rc @@ -278,6 +278,7 @@ END #define STR_ENABLED_LOCAL "Включить (местное)" #define STR_ENABLED_UTC "Включить (UTC)" #define STR_DYNAREC "Динамический рекомпилятор" +#define STR_SOFTFLOAT "Softfloat FPU" #define STR_VIDEO "Видеокарта:" #define STR_VIDEO_2 "Видеокарта 2:" diff --git a/src/win/languages/sl-SI.rc b/src/win/languages/sl-SI.rc index 3f632f84c..beeb9183b 100644 --- a/src/win/languages/sl-SI.rc +++ b/src/win/languages/sl-SI.rc @@ -278,6 +278,7 @@ END #define STR_ENABLED_LOCAL "Omogočeno (lokalni čas)" #define STR_ENABLED_UTC "Omogočeno (UTC)" #define STR_DYNAREC "Dinamični prevajalnik" +#define STR_SOFTFLOAT "Softfloat FPU" #define STR_VIDEO "Video:" #define STR_VIDEO_2 "Video 2:" diff --git a/src/win/languages/tr-TR.rc b/src/win/languages/tr-TR.rc index 38f9bd16d..04e00eb0d 100644 --- a/src/win/languages/tr-TR.rc +++ b/src/win/languages/tr-TR.rc @@ -278,6 +278,7 @@ END #define STR_ENABLED_LOCAL "Etkin (yerel zaman)" #define STR_ENABLED_UTC "Etkin (UTC)" #define STR_DYNAREC "Dinamik Derleyici" +#define STR_SOFTFLOAT "Softfloat FPU" #define STR_VIDEO "Ekran kartı:" #define STR_VIDEO_2 "Ekran kartı 2:" diff --git a/src/win/languages/uk-UA.rc b/src/win/languages/uk-UA.rc index df9350364..fc3b29c84 100644 --- a/src/win/languages/uk-UA.rc +++ b/src/win/languages/uk-UA.rc @@ -278,6 +278,7 @@ END #define STR_ENABLED_LOCAL "Увімкнути (місцеве)" #define STR_ENABLED_UTC "Увімкнути (UTC)" #define STR_DYNAREC "Динамічний рекомпілятор" +#define STR_SOFTFLOAT "Softfloat FPU" #define STR_VIDEO "Відеокарта:" #define STR_VIDEO_2 "Відеокарта 2:" diff --git a/src/win/languages/zh-CN.rc b/src/win/languages/zh-CN.rc index 7a69ccbac..40ed20210 100644 --- a/src/win/languages/zh-CN.rc +++ b/src/win/languages/zh-CN.rc @@ -278,6 +278,7 @@ END #define STR_ENABLED_LOCAL "启用 (本地时间)" #define STR_ENABLED_UTC "启用 (UTC)" #define STR_DYNAREC "动态重编译器" +#define STR_SOFTFLOAT "Softfloat FPU" #define STR_VIDEO "显卡:" #define STR_VIDEO_2 "显卡 2:" diff --git a/src/win/languages/zh-TW.rc b/src/win/languages/zh-TW.rc index eda95096f..d6922164b 100644 --- a/src/win/languages/zh-TW.rc +++ b/src/win/languages/zh-TW.rc @@ -278,6 +278,7 @@ END #define STR_ENABLED_LOCAL "啟用 (本地時間)" #define STR_ENABLED_UTC "啟用 (UTC)" #define STR_DYNAREC "動態重編譯器" +#define STR_SOFTFLOAT "Softfloat FPU" #define STR_VIDEO "顯示卡:" #define STR_VIDEO_2 "顯示卡 2:" diff --git a/src/win/win_settings.c b/src/win/win_settings.c index 7129230a3..104ae0078 100644 --- a/src/win/win_settings.c +++ b/src/win/win_settings.c @@ -91,6 +91,7 @@ static uint32_t temp_mem_size; #ifdef USE_DYNAREC static int temp_dynarec; #endif +static int temp_fpu_softfloat; /* Video category */ static int temp_gfxcard[2], temp_ibm8514, temp_voodoo, temp_xga; @@ -331,6 +332,7 @@ win_settings_init(void) #ifdef USE_DYNAREC temp_dynarec = cpu_use_dynarec; #endif + temp_fpu_softfloat = fpu_softfloat; temp_fpu = fpu_type; temp_sync = time_sync; @@ -460,6 +462,7 @@ win_settings_changed(void) #ifdef USE_DYNAREC i = i || (temp_dynarec != cpu_use_dynarec); #endif + i = i || (temp_fpu_softfloat != fpu_softfloat); i = i || (temp_fpu != fpu_type); i = i || (temp_sync != time_sync); @@ -553,6 +556,7 @@ win_settings_save(void) #ifdef USE_DYNAREC cpu_use_dynarec = temp_dynarec; #endif + fpu_softfloat = temp_fpu_softfloat; fpu_type = temp_fpu; time_sync = temp_sync; @@ -678,6 +682,8 @@ win_settings_machine_recalc_fpu(HWND hdlg) c++; } + settings_set_check(hdlg, IDC_CHECK_SOFTFLOAT, temp_fpu_softfloat); + settings_enable_window(hdlg, IDC_COMBO_FPU, c > 1); temp_fpu = fpu_get_type_from_index(temp_cpu_f, temp_cpu, settings_get_cur_sel(hdlg, IDC_COMBO_FPU)); @@ -921,6 +927,8 @@ win_settings_machine_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam) settings_set_check(hdlg, IDC_CHECK_DYNAREC, 0); #endif + settings_set_check(hdlg, IDC_CHECK_SOFTFLOAT, 0); + h = GetDlgItem(hdlg, IDC_MEMSPIN); h2 = GetDlgItem(hdlg, IDC_MEMTEXT); SendMessage(h, UDM_SETBUDDY, (WPARAM) h2, 0); @@ -1014,6 +1022,8 @@ win_settings_machine_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam) temp_dynarec = settings_get_check(hdlg, IDC_CHECK_DYNAREC); #endif + temp_fpu_softfloat = settings_get_check(hdlg, IDC_CHECK_SOFTFLOAT); + if (settings_get_check(hdlg, IDC_RADIO_TS_DISABLED)) temp_sync = TIME_SYNC_DISABLED;