From a4b9c88695e489690da84ef0aaa73e638569cb4d Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Sat, 10 Dec 2022 21:56:41 -0300 Subject: [PATCH 1/5] Jenkins: Disable -Werror flags for building SDL2 --- .ci/build.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.ci/build.sh b/.ci/build.sh index f0d91fe18..54c875e68 100644 --- a/.ci/build.sh +++ b/.ci/build.sh @@ -1006,6 +1006,8 @@ else rm -rf "$cache_dir/SDL2-"* # remove old versions wget -qO - https://www.libsdl.org/release/SDL2-2.0.20.tar.gz | tar zxf - -C "$cache_dir" || rm -rf "$prefix" fi + cp cmake/flags-gcc.cmake cmake/flags-gcc.cmake.old + sed -i -e 's/ -Werror=.*\([" ]\)/\1/g' cmake/flags-gcc.cmake # temporary hack for -Werror=old-style-definition non-compliance prefix_build="$cache_dir/SDL2-2.0.20-build-$arch_deb" cmake -G Ninja -D SDL_SHARED=ON -D SDL_STATIC=OFF \ \ @@ -1028,6 +1030,7 @@ else -S "$prefix" -B "$prefix_build" || exit 99 cmake --build "$prefix_build" -j$(nproc) || exit 99 cmake --install "$prefix_build" || exit 99 + mv cmake/flags-gcc.cmake.old cmake/flags-gcc.cmake # Archive Discord Game SDK library. 7z e -y -o"archive_tmp/usr/lib" "$discord_zip" "lib/$arch_discord/discord_game_sdk.so" From 104d21f806d300841784dad8b16f8915de37ce13 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Thu, 12 Jan 2023 14:00:10 +0600 Subject: [PATCH 2/5] vid_mga: Fix Matrox Mystique MGA modes Clock selection now works properly --- src/video/vid_mga.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/video/vid_mga.c b/src/video/vid_mga.c index ef7a2b366..56dcf9605 100644 --- a/src/video/vid_mga.c +++ b/src/video/vid_mga.c @@ -848,7 +848,7 @@ mystique_recalctimings(svga_t *svga) mystique_t *mystique = (mystique_t *) svga->p; int clk_sel = (svga->miscout >> 2) & 3; - svga->clock = (cpuclock * (float) (1ull << 32)) / svga->getclock(clk_sel & 2, svga->clock_gen); + svga->clock = (cpuclock * (float) (1ull << 32)) / svga->getclock(clk_sel & 3, svga->clock_gen); if (mystique->crtcext_regs[1] & CRTCX_R1_HTOTAL8) svga->htotal += 0x100; @@ -896,7 +896,9 @@ mystique_recalctimings(svga_t *svga) svga->ma = svga->maback = (svga->maback - (mystique->ma_latch_old << 2)) + (svga->ma_latch << 2); mystique->ma_latch_old = svga->ma_latch; } - + + svga->rowoffset <<= 1; + switch (mystique->xmulctrl & XMULCTRL_DEPTH_MASK) { case XMULCTRL_DEPTH_8: case XMULCTRL_DEPTH_2G8V16: From 72118bb259a8e22ed316c80e55b9d43296ad1bf1 Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Sat, 14 Jan 2023 19:13:14 -0300 Subject: [PATCH 3/5] Jenkins: Add FluidSynth compilation to remove JACK and fix SDL compilation --- .ci/AppImageBuilder.yml | 1 - .ci/build.sh | 20 +++++++++++++++++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/.ci/AppImageBuilder.yml b/.ci/AppImageBuilder.yml index 69376b511..3d83e2851 100644 --- a/.ci/AppImageBuilder.yml +++ b/.ci/AppImageBuilder.yml @@ -45,7 +45,6 @@ AppDir: include: - libedit2 # if (CLI:BOOL=ON|QT:BOOL=OFF) - libevdev2 # if QT:BOOL=ON - - libfluidsynth2 - libfreetype6 - libgbm1 # if QT:BOOL=ON - libgl1 # if QT:BOOL=ON diff --git a/.ci/build.sh b/.ci/build.sh index 42790abb8..bde8cb09e 100644 --- a/.ci/build.sh +++ b/.ci/build.sh @@ -986,7 +986,8 @@ else sdl_ui=OFF grep -qiE "^QT:BOOL=ON" build/CMakeCache.txt || sdl_ui=ON - # Build rtmidi without JACK support to remove the dependency on libjack. + # Build rtmidi without JACK support to remove the dependency on libjack, as + # the Debian libjack is very likely to be incompatible with the system jackd. prefix="$cache_dir/rtmidi-4.0.0" if [ ! -d "$prefix" ] then @@ -998,6 +999,21 @@ else cmake --build "$prefix_build" -j$(nproc) || exit 99 cmake --install "$prefix_build" || exit 99 + # Build FluidSynth without JACK support to remove the dependency on libjack once again. + prefix="$cache_dir/fluidsynth-2.3.0" + if [ ! -d "$prefix" ] + then + rm -rf "$cache_dir/fluidsynth-"* # remove old versions + wget -qO - https://github.com/FluidSynth/fluidsynth/archive/refs/tags/v2.3.0.tar.gz | tar zxf - -C "$cache_dir" || rm -rf "$prefix" + fi + cp cmake/flags-gcc.cmake cmake/flags-gcc.cmake.old + sed -i -e 's/ -Werror=.*\([" ]\)/\1/g' cmake/flags-gcc.cmake # temporary hack for -Werror=old-style-definition non-compliance on FluidSynth and SDL2 + prefix_build="$prefix/build-$arch_deb" + cmake -G Ninja -D enable-jack=OFF -D enable-sdl2=$sdl_ss -D "CMAKE_TOOLCHAIN_FILE=$toolchain_file" -D "CMAKE_INSTALL_PREFIX=$cwd_root/archive_tmp/usr" -S "$prefix" -B "$prefix_build" || exit 99 + cmake --build "$prefix_build" -j$(nproc) || exit 99 + cmake --install "$prefix_build" || exit 99 + cp -p "$cwd_root/archive_tmp/usr/bin/fluidsynth" fluidsynth + # Build SDL2 for joystick and FAudio support, with most components # disabled to remove the dependencies on PulseAudio and libdrm. prefix="$cache_dir/SDL2-2.0.20" @@ -1006,8 +1022,6 @@ else rm -rf "$cache_dir/SDL2-"* # remove old versions wget -qO - https://www.libsdl.org/release/SDL2-2.0.20.tar.gz | tar zxf - -C "$cache_dir" || rm -rf "$prefix" fi - cp cmake/flags-gcc.cmake cmake/flags-gcc.cmake.old - sed -i -e 's/ -Werror=.*\([" ]\)/\1/g' cmake/flags-gcc.cmake # temporary hack for -Werror=old-style-definition non-compliance prefix_build="$cache_dir/SDL2-2.0.20-build-$arch_deb" cmake -G Ninja -D SDL_SHARED=ON -D SDL_STATIC=OFF \ \ From 781ebb04a711c0610f3ea19cd63cca8d97970a86 Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Sun, 15 Jan 2023 16:01:22 -0300 Subject: [PATCH 4/5] No ChAnGeS --- .ci/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/build.sh b/.ci/build.sh index bde8cb09e..31e1d770f 100644 --- a/.ci/build.sh +++ b/.ci/build.sh @@ -12,7 +12,7 @@ # # Authors: RichardG, # -# Copyright 2021-2022 RichardG. +# Copyright 2021-2023 RichardG. # # From 74f3393fe6f7ea72bbc3d314d95560841902b0c0 Mon Sep 17 00:00:00 2001 From: Alexander Babikov <2708460+lemondrops@users.noreply.github.com> Date: Wed, 18 Jan 2023 15:57:59 +0500 Subject: [PATCH 5/5] Display dynarec information in the About box --- src/include/86box/language.h | 14 +++++++++++++- src/qt/qt_mainwindow.cpp | 17 +++++++++++++---- src/win/languages/cs-CZ.rc | 3 +++ src/win/languages/de-DE.rc | 3 +++ src/win/languages/en-GB.rc | 3 +++ src/win/languages/en-US.rc | 3 +++ src/win/languages/es-ES.rc | 3 +++ src/win/languages/fi-FI.rc | 3 +++ src/win/languages/fr-FR.rc | 3 +++ src/win/languages/hr-HR.rc | 3 +++ src/win/languages/hu-HU.rc | 3 +++ src/win/languages/it-IT.rc | 3 +++ src/win/languages/ja-JP.rc | 3 +++ src/win/languages/ko-KR.rc | 3 +++ src/win/languages/pl-PL.rc | 3 +++ src/win/languages/pt-BR.rc | 3 +++ src/win/languages/pt-PT.rc | 3 +++ src/win/languages/ru-RU.rc | 3 +++ src/win/languages/sl-SI.rc | 3 +++ src/win/languages/tr-TR.rc | 3 +++ src/win/languages/uk-UA.rc | 3 +++ src/win/languages/zh-CN.rc | 3 +++ src/win/languages/zh-TW.rc | 3 +++ src/win/win_about.c | 15 ++++++++++++++- 24 files changed, 103 insertions(+), 6 deletions(-) diff --git a/src/include/86box/language.h b/src/include/86box/language.h index 8db604efc..1fd5bdf61 100644 --- a/src/include/86box/language.h +++ b/src/include/86box/language.h @@ -150,6 +150,18 @@ #define IDS_2160 2160 // "ACPI shutdown" #define IDS_2161 2161 // "Settings" #define IDS_2162 2162 // "Early drive" +#define IDS_2163 2163 // "no dynarec" +#define IDS_2164 2164 // "old dynarec" +#define IDS_2165 2165 // "new dynarec" +#ifdef USE_DYNAREC +# ifdef USE_NEW_DYNAREC +# define IDS_DYNAREC IDS_2165 +# else +# define IDS_DYNAREC IDS_2164 +# endif +#else +# define IDS_DYNAREC IDS_2163 +#endif #define IDS_4096 4096 // "Hard disk (%s)" #define IDS_4097 4097 // "%01i:%01i" @@ -258,7 +270,7 @@ #define IDS_LANG_ENUS IDS_7168 -#define STR_NUM_2048 115 +#define STR_NUM_2048 118 // UNUSED: #define STR_NUM_3072 11 #define STR_NUM_4096 40 #define STR_NUM_4352 6 diff --git a/src/qt/qt_mainwindow.cpp b/src/qt/qt_mainwindow.cpp index f0e8fdc34..0a1a359ff 100644 --- a/src/qt/qt_mainwindow.cpp +++ b/src/qt/qt_mainwindow.cpp @@ -2095,12 +2095,21 @@ MainWindow::on_actionAbout_86Box_triggered() { QMessageBox msgBox; msgBox.setTextFormat(Qt::RichText); - QString githash; + QString versioninfo; #ifdef EMU_GIT_HASH - githash = QString(" [%1]").arg(EMU_GIT_HASH); + versioninfo = QString(" [%1]").arg(EMU_GIT_HASH); #endif - githash.append(QString(" [%1]").arg(QSysInfo::buildCpuArchitecture())); - msgBox.setText(QString("%3%1%2").arg(EMU_VERSION_FULL, githash, tr("86Box v"))); +#ifdef USE_DYNAREC +# ifdef USE_NEW_DYNAREC +# define DYNAREC_STR "new dynarec" +# else +# define DYNAREC_STR "old dynarec" +# endif +#else +# define DYNAREC_STR "no dynarec" +#endif + versioninfo.append(QString(" [%1, %2]").arg(QSysInfo::buildCpuArchitecture(), tr(DYNAREC_STR))); + msgBox.setText(QString("%3%1%2").arg(EMU_VERSION_FULL, versioninfo, tr("86Box v"))); msgBox.setInformativeText(tr("An emulator of old computers\n\nAuthors: Sarah Walker, Miran Grca, Fred N. van Kempen (waltje), SA1988, Tiseno100, reenigne, leilei, JohnElliott, greatpsycho, and others.\n\nReleased under the GNU General Public License version 2 or later. See LICENSE for more information.")); msgBox.setWindowTitle("About 86Box"); msgBox.addButton("OK", QMessageBox::ButtonRole::AcceptRole); diff --git a/src/win/languages/cs-CZ.rc b/src/win/languages/cs-CZ.rc index 9b49fc01d..635d2dc89 100644 --- a/src/win/languages/cs-CZ.rc +++ b/src/win/languages/cs-CZ.rc @@ -522,6 +522,9 @@ BEGIN IDS_2160 "Vypnout skrze rozhraní ACPI" IDS_2161 "Nastavení" IDS_2162 "Časná mechanika" + IDS_2163 "no dynarec" + IDS_2164 "old dynarec" + IDS_2165 "new dynarec" END STRINGTABLE DISCARDABLE diff --git a/src/win/languages/de-DE.rc b/src/win/languages/de-DE.rc index 74199b6da..308657978 100644 --- a/src/win/languages/de-DE.rc +++ b/src/win/languages/de-DE.rc @@ -522,6 +522,9 @@ BEGIN IDS_2160 "ACPI-basiertes Herunterfahren" IDS_2161 "Optionen" IDS_2162 "Früheres Laufwerk" + IDS_2163 "no dynarec" + IDS_2164 "old dynarec" + IDS_2165 "new dynarec" END STRINGTABLE DISCARDABLE diff --git a/src/win/languages/en-GB.rc b/src/win/languages/en-GB.rc index dc0ec3627..0cc4a8f5a 100644 --- a/src/win/languages/en-GB.rc +++ b/src/win/languages/en-GB.rc @@ -522,6 +522,9 @@ BEGIN IDS_2160 "ACPI shutdown" IDS_2161 "Settings" IDS_2162 "Earlier drive" + IDS_2163 "no dynarec" + IDS_2164 "old dynarec" + IDS_2165 "new dynarec" END STRINGTABLE DISCARDABLE diff --git a/src/win/languages/en-US.rc b/src/win/languages/en-US.rc index d166b1d0c..12100b0bf 100644 --- a/src/win/languages/en-US.rc +++ b/src/win/languages/en-US.rc @@ -522,6 +522,9 @@ BEGIN IDS_2160 "ACPI shutdown" IDS_2161 "Settings" IDS_2162 "Earlier drive" + IDS_2163 "no dynarec" + IDS_2164 "old dynarec" + IDS_2165 "new dynarec" END STRINGTABLE DISCARDABLE diff --git a/src/win/languages/es-ES.rc b/src/win/languages/es-ES.rc index faba0638c..cf9c03371 100644 --- a/src/win/languages/es-ES.rc +++ b/src/win/languages/es-ES.rc @@ -522,6 +522,9 @@ BEGIN IDS_2160 "ACPI shutdown" IDS_2161 "Settings" IDS_2162 "Unidad anterior" + IDS_2163 "no dynarec" + IDS_2164 "old dynarec" + IDS_2165 "new dynarec" END STRINGTABLE DISCARDABLE diff --git a/src/win/languages/fi-FI.rc b/src/win/languages/fi-FI.rc index 127508bdd..852778a96 100644 --- a/src/win/languages/fi-FI.rc +++ b/src/win/languages/fi-FI.rc @@ -522,6 +522,9 @@ BEGIN IDS_2160 "ACPI-sammutus" IDS_2161 "Asetukset" IDS_2162 "Aiemmat asemat" + IDS_2163 "no dynarec" + IDS_2164 "old dynarec" + IDS_2165 "new dynarec" END STRINGTABLE DISCARDABLE diff --git a/src/win/languages/fr-FR.rc b/src/win/languages/fr-FR.rc index c7cdf65d7..8e005ebcd 100644 --- a/src/win/languages/fr-FR.rc +++ b/src/win/languages/fr-FR.rc @@ -522,6 +522,9 @@ BEGIN IDS_2160 "ACPI shutdown" IDS_2161 "Settings" IDS_2162 "Lecteur plus tôt" + IDS_2163 "no dynarec" + IDS_2164 "old dynarec" + IDS_2165 "new dynarec" END STRINGTABLE DISCARDABLE diff --git a/src/win/languages/hr-HR.rc b/src/win/languages/hr-HR.rc index f2952bbcf..b1b4a3524 100644 --- a/src/win/languages/hr-HR.rc +++ b/src/win/languages/hr-HR.rc @@ -522,6 +522,9 @@ BEGIN IDS_2160 "ACPI bazirano gašenje" IDS_2161 "Postavke" IDS_2162 "Raniji pogon" + IDS_2163 "no dynarec" + IDS_2164 "old dynarec" + IDS_2165 "new dynarec" END STRINGTABLE DISCARDABLE diff --git a/src/win/languages/hu-HU.rc b/src/win/languages/hu-HU.rc index 0ffa215c0..0692c1cdd 100644 --- a/src/win/languages/hu-HU.rc +++ b/src/win/languages/hu-HU.rc @@ -526,6 +526,9 @@ BEGIN IDS_2160 "ACPI shutdown" IDS_2161 "Settings" IDS_2162 "Korábbi meghajtó" + IDS_2163 "no dynarec" + IDS_2164 "old dynarec" + IDS_2165 "new dynarec" END STRINGTABLE DISCARDABLE diff --git a/src/win/languages/it-IT.rc b/src/win/languages/it-IT.rc index 960e9e205..bf82c116f 100644 --- a/src/win/languages/it-IT.rc +++ b/src/win/languages/it-IT.rc @@ -523,6 +523,9 @@ BEGIN IDS_2160 "ACPI shutdown" IDS_2161 "Settings" IDS_2162 "Unità anteriore" + IDS_2163 "no dynarec" + IDS_2164 "old dynarec" + IDS_2165 "new dynarec" END STRINGTABLE DISCARDABLE diff --git a/src/win/languages/ja-JP.rc b/src/win/languages/ja-JP.rc index edcf3f668..e1fc2bae9 100644 --- a/src/win/languages/ja-JP.rc +++ b/src/win/languages/ja-JP.rc @@ -522,6 +522,9 @@ BEGIN IDS_2160 "ACPIシャットダウン" IDS_2161 "設定" IDS_2162 "アーリードライブ" + IDS_2163 "no dynarec" + IDS_2164 "old dynarec" + IDS_2165 "new dynarec" END STRINGTABLE DISCARDABLE diff --git a/src/win/languages/ko-KR.rc b/src/win/languages/ko-KR.rc index a5f0cfe57..9379205fe 100644 --- a/src/win/languages/ko-KR.rc +++ b/src/win/languages/ko-KR.rc @@ -522,6 +522,9 @@ BEGIN IDS_2160 "ACPI 종료" IDS_2161 "설정" IDS_2162 "이전 드라이브" + IDS_2163 "no dynarec" + IDS_2164 "old dynarec" + IDS_2165 "new dynarec" END STRINGTABLE DISCARDABLE diff --git a/src/win/languages/pl-PL.rc b/src/win/languages/pl-PL.rc index ec59c5ef1..054428e5b 100644 --- a/src/win/languages/pl-PL.rc +++ b/src/win/languages/pl-PL.rc @@ -522,6 +522,9 @@ BEGIN IDS_2160 "Wyłączenie ACPI" IDS_2161 "Ustawienia" IDS_2162 "Wcześniejszy napęd" + IDS_2163 "no dynarec" + IDS_2164 "old dynarec" + IDS_2165 "new dynarec" END STRINGTABLE DISCARDABLE diff --git a/src/win/languages/pt-BR.rc b/src/win/languages/pt-BR.rc index 8d16a2a48..7147854bc 100644 --- a/src/win/languages/pt-BR.rc +++ b/src/win/languages/pt-BR.rc @@ -525,6 +525,9 @@ BEGIN IDS_2160 "Desligamento por ACPI" IDS_2161 "Configurações" IDS_2162 "Unidade anterior" + IDS_2163 "no dynarec" + IDS_2164 "old dynarec" + IDS_2165 "new dynarec" END STRINGTABLE DISCARDABLE diff --git a/src/win/languages/pt-PT.rc b/src/win/languages/pt-PT.rc index 704262b3d..0deeebc41 100644 --- a/src/win/languages/pt-PT.rc +++ b/src/win/languages/pt-PT.rc @@ -522,6 +522,9 @@ BEGIN IDS_2160 "Encerramento ACPI" IDS_2161 "Definições" IDS_2162 "Unidade anterior" + IDS_2163 "no dynarec" + IDS_2164 "old dynarec" + IDS_2165 "new dynarec" END STRINGTABLE DISCARDABLE diff --git a/src/win/languages/ru-RU.rc b/src/win/languages/ru-RU.rc index 667cfafa6..7cb75fb48 100644 --- a/src/win/languages/ru-RU.rc +++ b/src/win/languages/ru-RU.rc @@ -522,6 +522,9 @@ BEGIN IDS_2160 "Сигнал завершения ACPI" IDS_2161 "Настройки машины" IDS_2162 "Предыдущий дисковод" + IDS_2163 "no dynarec" + IDS_2164 "old dynarec" + IDS_2165 "new dynarec" END STRINGTABLE DISCARDABLE diff --git a/src/win/languages/sl-SI.rc b/src/win/languages/sl-SI.rc index 3bdf357f4..7a56d4cc5 100644 --- a/src/win/languages/sl-SI.rc +++ b/src/win/languages/sl-SI.rc @@ -522,6 +522,9 @@ BEGIN IDS_2160 "Zaustavitev ACPI" IDS_2161 "Nastavitve" IDS_2162 "Zgodnejši pogon" + IDS_2163 "no dynarec" + IDS_2164 "old dynarec" + IDS_2165 "new dynarec" END STRINGTABLE DISCARDABLE diff --git a/src/win/languages/tr-TR.rc b/src/win/languages/tr-TR.rc index 858bf0a01..896f6a300 100644 --- a/src/win/languages/tr-TR.rc +++ b/src/win/languages/tr-TR.rc @@ -522,6 +522,9 @@ BEGIN IDS_2160 "ACPI kapatma" IDS_2161 "Ayarlar" IDS_2162 "Daha erken sürüş" + IDS_2163 "no dynarec" + IDS_2164 "old dynarec" + IDS_2165 "new dynarec" END STRINGTABLE DISCARDABLE diff --git a/src/win/languages/uk-UA.rc b/src/win/languages/uk-UA.rc index 9f7f92cbe..332966686 100644 --- a/src/win/languages/uk-UA.rc +++ b/src/win/languages/uk-UA.rc @@ -522,6 +522,9 @@ BEGIN IDS_2160 "Сигнал завершення ACPI" IDS_2161 "Налаштування машини" IDS_2162 "Більш ранній дисковод" + IDS_2163 "no dynarec" + IDS_2164 "old dynarec" + IDS_2165 "new dynarec" END STRINGTABLE DISCARDABLE diff --git a/src/win/languages/zh-CN.rc b/src/win/languages/zh-CN.rc index 88a7e9055..13f878cb6 100644 --- a/src/win/languages/zh-CN.rc +++ b/src/win/languages/zh-CN.rc @@ -522,6 +522,9 @@ BEGIN IDS_2160 "ACPI 关机" IDS_2161 "设置" IDS_2162 "早先的驱动器" + IDS_2163 "no dynarec" + IDS_2164 "old dynarec" + IDS_2165 "new dynarec" END STRINGTABLE DISCARDABLE diff --git a/src/win/languages/zh-TW.rc b/src/win/languages/zh-TW.rc index e06f8525c..f922c950b 100644 --- a/src/win/languages/zh-TW.rc +++ b/src/win/languages/zh-TW.rc @@ -522,6 +522,9 @@ BEGIN IDS_2160 "ACPI 關機" IDS_2161 "設定" IDS_2162 "早先的光碟機" + IDS_2163 "no dynarec" + IDS_2164 "old dynarec" + IDS_2165 "new dynarec" END STRINGTABLE DISCARDABLE diff --git a/src/win/win_about.c b/src/win/win_about.c index c343eb7f0..f0c692b75 100644 --- a/src/win/win_about.c +++ b/src/win/win_about.c @@ -45,9 +45,22 @@ AboutDialogCreate(HWND hwnd) wchar_t emu_version[256]; i = swprintf(emu_version, sizeof(emu_version), L"%ls v%ls", EMU_NAME_W, EMU_VERSION_FULL_W); #ifdef EMU_GIT_HASH - swprintf(&emu_version[i], sizeof(emu_version) - i, L" [%ls]", EMU_GIT_HASH_W); + i += swprintf(&emu_version[i], sizeof(emu_version) - i, L" [%ls]", EMU_GIT_HASH_W); #endif +#if defined(__arm__) || defined(__TARGET_ARCH_ARM) +# define ARCH_STR L"arm" +#elif defined(__aarch64__) || defined(_M_ARM64) +# define ARCH_STR L"arm64" +#elif defined(__i386) || defined(__i386__) || defined(_M_IX86) +# define ARCH_STR L"i386" +#elif defined(__x86_64) || defined(__x86_64__) || defined(__amd64) || defined(_M_X64) +# define ARCH_STR L"x86_64" +#else +# define ARCH_STR L"unknown" +#endif + swprintf(&emu_version[i], sizeof(emu_version) - i, L" [%ls, %ls]", ARCH_STR, plat_get_string(IDS_DYNAREC)); + tdconfig.cbSize = sizeof(tdconfig); tdconfig.hwndParent = hwnd; tdconfig.hInstance = hinstance;