From 979d772ffe2d1f00c74e038ecfbd64753d0ed15f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hrdli=C4=8Dka?= <13226155+dhrdlicka@users.noreply.github.com> Date: Thu, 21 Aug 2025 15:28:32 +0200 Subject: [PATCH 01/20] Add global config toggle for built-in manager --- src/86box.c | 40 +++++++++++++++++-------------------- src/config.c | 16 +++++++++++++++ src/include/86box/86box.h | 15 +++++++------- src/qt/qt_main.cpp | 6 +++--- src/qt/qt_styleoverride.cpp | 2 +- 5 files changed, 46 insertions(+), 33 deletions(-) diff --git a/src/86box.c b/src/86box.c index ff7e1ad08..bd5051968 100644 --- a/src/86box.c +++ b/src/86box.c @@ -219,6 +219,7 @@ int sound_muted = 0; /* (C) Is soun int jumpered_internal_ecp_dma = 0; /* (C) Jumpered internal EPC DMA */ int inhibit_multimedia_keys; /* (G) Inhibit multimedia keys on Windows. */ int force_10ms; /* (C) Force 10ms CPU frame intervals. */ +int vmm_disabled = -1; /* (G) disable built-in manager */ int other_ide_present = 0; /* IDE controllers from non-IDE cards are present */ @@ -258,7 +259,7 @@ struct accelKey def_acc_keys[NUM_ACCELS] = { }; char vmm_path[1024] = { '\0'}; /* TEMPORARY - VM manager path to scan for VMs */ -int vmm_enabled = 0; +int start_vmm = 1; /* Statistics. */ extern int mmuflush; @@ -707,9 +708,6 @@ pc_init(int argc, char *argv[]) time_t now; int c; int lvmp = 0; -#ifdef DEPRECATE_USAGE - int deprecated = 1; -#endif #ifdef ENABLE_NG int ng = 0; #endif @@ -799,9 +797,7 @@ usage: goto usage; ppath = argv[++c]; -#ifdef DEPRECATE_USAGE - deprecated = 0; -#endif + start_vmm = 0; } else if (!strcasecmp(argv[c], "--rompath") || !strcasecmp(argv[c], "-R")) { if ((c + 1) == argc) goto usage; @@ -813,9 +809,7 @@ usage: goto usage; cfg = argv[++c]; -#ifdef DEPRECATE_USAGE - deprecated = 0; -#endif + start_vmm = 0; } else if (!strcasecmp(argv[c], "--global") || !strcasecmp(argv[c], "-O")) { if ((c + 1) == argc || plat_dir_check(argv[c + 1])) goto usage; @@ -924,21 +918,12 @@ usage: else cfg = argv[c++]; -#ifdef DEPRECATE_USAGE - deprecated = 0; -#endif + start_vmm = 0; } if (c != argc) goto usage; -#ifdef DEPRECATE_USAGE - if (deprecated) - pc_show_usage("Running 86Box without a specified VM path and/or configuration\n" - "file has been deprected. Please specify one or use a manager\n" - "(Avalonia 86 is recommended).\n\n"); -#endif - path_slash(usr_path); path_slash(rom_path); @@ -1104,14 +1089,25 @@ usage: pclog("# Global configuration file: %s\n", global_cfg_path); pclog("# Configuration file: %s\n#\n\n", cfg_path); if (strlen(vmm_path) != 0) { - vmm_enabled = 1; + start_vmm = 1; pclog("# VM Manager enabled. Path: %s\n", vmm_path); } /* Load the global configuration file. */ config_load_global(); - if (!vmm_enabled) { + if (vmm_disabled && start_vmm) { +#ifdef DEPRECATE_USAGE + if (vmm_disabled < 0) { + pc_show_usage("Running 86Box without a specified VM path and/or configuration\n" + "file has been deprecated. Please specify one or use a manager\n" + "(Avalonia 86 is recommended).\n\n"); + } +#endif + start_vmm = 0; + } + + if (!start_vmm) { /* * We are about to read the configuration file, which MAY * put data into global variables (the hard- and floppy diff --git a/src/config.c b/src/config.c index 25f287eef..9856afc3b 100644 --- a/src/config.c +++ b/src/config.c @@ -136,6 +136,15 @@ load_global(void) mouse_sensitivity = 0.1; else if (mouse_sensitivity > 2.0) mouse_sensitivity = 2.0; + + vmm_disabled = ini_section_get_int(cat, "vmm_disabled", -1); + + p = ini_section_get_string(cat, "vmm_path", NULL); + if (p != NULL) + strncpy(vmm_path, p, sizeof(vmm_path) - 1); + else + // [todo] plat_vmm_path() + vmm_path[0] = 0; } /* Load "General" section. */ @@ -2200,6 +2209,13 @@ save_global(void) ini_section_set_double(cat, "mouse_sensitivity", mouse_sensitivity); else ini_section_delete_var(cat, "mouse_sensitivity"); + + if (vmm_disabled != -1) + ini_section_set_int(cat, "vmm_disabled", vmm_disabled); + else + ini_section_delete_var(cat, "vmm_disabled"); + + ini_section_set_string(cat, "vmm_path", vmm_path); } /* Save "General" section. */ diff --git a/src/include/86box/86box.h b/src/include/86box/86box.h index de66f8a0f..9d902c85d 100644 --- a/src/include/86box/86box.h +++ b/src/include/86box/86box.h @@ -116,12 +116,12 @@ extern uint64_t instru_run_ms; #define window_y monitor_settings[0].mon_window_y #define window_w monitor_settings[0].mon_window_w #define window_h monitor_settings[0].mon_window_h -extern int inhibit_multimedia_keys; /* (C) Inhibit multimedia keys on Windows. */ +extern int inhibit_multimedia_keys; /* (G) Inhibit multimedia keys on Windows. */ extern int window_remember; extern int vid_resize; /* (C) allow resizing */ extern int invert_display; /* (C) invert the display */ extern int suppress_overscan; /* (C) suppress overscans */ -extern int lang_id; /* (C) language id */ +extern int lang_id; /* (G) language id */ extern int scale; /* (C) screen scale factor */ extern int dpi_scale; /* (C) DPI scaling of the emulated screen */ extern int vid_api; /* (C) video renderer */ @@ -160,9 +160,9 @@ extern int fpu_type; /* (C) fpu type */ extern int fpu_softfloat; /* (C) fpu uses softfloat */ extern int time_sync; /* (C) enable time sync */ extern int hdd_format_type; /* (C) hard disk file format */ -extern int confirm_reset; /* (C) enable reset confirmation */ -extern int confirm_exit; /* (C) enable exit confirmation */ -extern int confirm_save; /* (C) enable save confirmation */ +extern int confirm_reset; /* (G) enable reset confirmation */ +extern int confirm_exit; /* (G) enable exit confirmation */ +extern int confirm_save; /* (G) enable save confirmation */ extern int enable_discord; /* (C) enable Discord integration */ extern int force_10ms; /* (C) force 10ms CPU frame interval */ extern int jumpered_internal_ecp_dma; /* (C) Jumpered internal EPC DMA */ @@ -177,7 +177,7 @@ extern int sound_muted; /* (C) Is sound muted? */ extern int do_auto_pause; /* (C) Auto-pause the emulator on focus loss */ extern int auto_paused; extern int force_constant_mouse; /* (C) Force constant updating of the mouse */ -extern double mouse_sensitivity; /* (C) Mouse sensitivity scale */ +extern double mouse_sensitivity; /* (G) Mouse sensitivity scale */ #ifdef _Atomic extern _Atomic double mouse_x_error; /* Mouse error accumulator - Y */ extern _Atomic double mouse_y_error; /* Mouse error accumulator - Y */ @@ -185,6 +185,7 @@ extern _Atomic double mouse_y_error; /* Mouse error accumulator - Y */ extern int pit_mode; /* (C) force setting PIT mode */ extern int fm_driver; /* (C) select FM sound driver */ extern int hook_enabled; /* (C) Keyboard hook is enabled */ +extern int vmm_disabled; /* (G) disable built-in manager */ extern char exe_path[2048]; /* path (dir) of executable */ extern char usr_path[1024]; /* path (dir) of user data */ @@ -193,7 +194,7 @@ extern char global_cfg_path[1024]; /* full path of global config file */ extern int open_dir_usr_path; /* default file open dialog directory of usr_path */ extern char uuid[MAX_UUID_LEN]; /* UUID or machine identifier */ extern char vmm_path[1024]; /* VM Manager path to scan (temporary) */ -extern int vmm_enabled; +extern int start_vmm; #ifndef USE_NEW_DYNAREC extern FILE *stdlog; /* file to log output to */ #endif diff --git a/src/qt/qt_main.cpp b/src/qt/qt_main.cpp index 374b0f4fb..200ef3b20 100644 --- a/src/qt/qt_main.cpp +++ b/src/qt/qt_main.cpp @@ -584,7 +584,7 @@ main(int argc, char *argv[]) return 0; } - if (!vmm_enabled) + if (!start_vmm) #ifdef Q_OS_MACOS qt_set_sequence_auto_mnemonic(false); #else @@ -625,10 +625,10 @@ main(int argc, char *argv[]) return 6; } - if (!vmm_enabled) + if (!start_vmm) pc_init_modules(); - if (vmm_enabled) { + if (start_vmm) { // VMManagerMain vmm; // // Hackish until there is a proper solution // QApplication::setApplicationName("86Box VM Manager"); diff --git a/src/qt/qt_styleoverride.cpp b/src/qt/qt_styleoverride.cpp index adfae0734..1319f0dae 100644 --- a/src/qt/qt_styleoverride.cpp +++ b/src/qt/qt_styleoverride.cpp @@ -42,7 +42,7 @@ StyleOverride::styleHint( QStyleHintReturn *returnData) const { /* Disable using menu with alt key */ - if (!vmm_enabled && (!kbd_req_capture || mouse_capture) && (hint == QStyle::SH_MenuBar_AltKeyNavigation)) + if (!start_vmm && (!kbd_req_capture || mouse_capture) && (hint == QStyle::SH_MenuBar_AltKeyNavigation)) return 0; return QProxyStyle::styleHint(hint, option, widget, returnData); From 821134d31efd161d06dd21c0e2aa142632e5f7d6 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Thu, 21 Aug 2025 20:38:36 +0600 Subject: [PATCH 02/20] Start manager inside a timer callback --- src/qt/qt_main.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/qt/qt_main.cpp b/src/qt/qt_main.cpp index 374b0f4fb..14eba06bf 100644 --- a/src/qt/qt_main.cpp +++ b/src/qt/qt_main.cpp @@ -635,8 +635,10 @@ main(int argc, char *argv[]) // QApplication::setApplicationDisplayName("86Box VM Manager"); // vmm.show(); // vmm.exec(); - const auto vmm_main_window = new VMManagerMainWindow(); - vmm_main_window->show(); + QTimer::singleShot(0, [] { + const auto vmm_main_window = new VMManagerMainWindow(); + vmm_main_window->show(); + }); QApplication::exec(); return 0; } From eb8ba6a4d8e593010410d020bdee8a5a40b6f7b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hrdli=C4=8Dka?= <13226155+dhrdlicka@users.noreply.github.com> Date: Thu, 21 Aug 2025 16:51:10 +0200 Subject: [PATCH 03/20] Little cleanup --- src/qt/qt_main.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/qt/qt_main.cpp b/src/qt/qt_main.cpp index 200ef3b20..d35a09b45 100644 --- a/src/qt/qt_main.cpp +++ b/src/qt/qt_main.cpp @@ -625,9 +625,6 @@ main(int argc, char *argv[]) return 6; } - if (!start_vmm) - pc_init_modules(); - if (start_vmm) { // VMManagerMain vmm; // // Hackish until there is a proper solution @@ -641,6 +638,8 @@ main(int argc, char *argv[]) return 0; } + pc_init_modules(); + // UUID / copy / move detection if(!util::compareUuid()) { QMessageBox movewarnbox; From b37cb502ba223856d59ef63c983a5c2c80c44cf0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hrdli=C4=8Dka?= <13226155+dhrdlicka@users.noreply.github.com> Date: Thu, 21 Aug 2025 16:51:36 +0200 Subject: [PATCH 04/20] Implement default VMM directory --- src/config.c | 8 +++++--- src/include/86box/plat.h | 1 + src/qt/qt_platform.cpp | 14 ++++++++++++++ src/unix/unix.c | 8 ++++++++ 4 files changed, 28 insertions(+), 3 deletions(-) diff --git a/src/config.c b/src/config.c index 9856afc3b..a76a08126 100644 --- a/src/config.c +++ b/src/config.c @@ -143,8 +143,7 @@ load_global(void) if (p != NULL) strncpy(vmm_path, p, sizeof(vmm_path) - 1); else - // [todo] plat_vmm_path() - vmm_path[0] = 0; + plat_get_vmm_dir(vmm_path, sizeof(vmm_path)); } /* Load "General" section. */ @@ -2215,7 +2214,10 @@ save_global(void) else ini_section_delete_var(cat, "vmm_disabled"); - ini_section_set_string(cat, "vmm_path", vmm_path); + if (vmm_path[0] != 0) + ini_section_set_string(cat, "vmm_path", vmm_path); + else + ini_section_delete_var(cat, "vmm_path"); } /* Save "General" section. */ diff --git a/src/include/86box/plat.h b/src/include/86box/plat.h index ef06b3429..db3c4c14b 100644 --- a/src/include/86box/plat.h +++ b/src/include/86box/plat.h @@ -146,6 +146,7 @@ extern void plat_get_exe_name(char *s, int size); extern void plat_get_global_config_dir(char *outbuf, size_t len); extern void plat_get_global_data_dir(char *outbuf, size_t len); extern void plat_get_temp_dir(char *outbuf, uint8_t len); +extern void plat_get_vmm_dir(char *outbuf, uint8_t len); extern void plat_init_rom_paths(void); extern int plat_dir_check(char *path); extern int plat_dir_create(char *path); diff --git a/src/qt/qt_platform.cpp b/src/qt/qt_platform.cpp index ee2e40d1d..74fe8249a 100644 --- a/src/qt/qt_platform.cpp +++ b/src/qt/qt_platform.cpp @@ -694,6 +694,20 @@ plat_get_temp_dir(char *outbuf, const uint8_t len) strncpy(outbuf, dir.canonicalPath().toUtf8().constData(), len); } +void +plat_get_vmm_dir(char *outbuf, const size_t len) +{ + const auto dir = QDir(QStandardPaths::standardLocations(QStandardPaths::HomeLocation)[0]).filePath("86Box VMs"); + + if (!dir.exists()) { + if (!dir.mkpath(".")) { + qWarning("Failed to create VMs directory %s", dir.absolutePath().toUtf8().constData()); + } + } + + strncpy(outbuf, dir.canonicalPath().toUtf8().constData(), len); +} + void plat_init_rom_paths(void) { diff --git a/src/unix/unix.c b/src/unix/unix.c index a28c4fc47..d35543548 100644 --- a/src/unix/unix.c +++ b/src/unix/unix.c @@ -901,6 +901,14 @@ plat_get_temp_dir(char *outbuf, uint8_t len) path_slash(outbuf); } +void +plat_get_vmm_dir(char *outbuf, const size_t len) +{ + // Return empty string. SDL 86Box does not have a VM manager + if (len > 0) + outbuf[0] = 0; +} + bool process_media_commands_3(uint8_t *id, char *fn, uint8_t *wp, int cmdargc) { From b111b6694996a2e4da70ff7fbd9d2d7c6ce61d9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hrdli=C4=8Dka?= <13226155+dhrdlicka@users.noreply.github.com> Date: Thu, 21 Aug 2025 16:57:02 +0200 Subject: [PATCH 05/20] Enable manager by default --- src/86box.c | 9 +-------- src/config.c | 4 ++-- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/src/86box.c b/src/86box.c index bd5051968..a582e114e 100644 --- a/src/86box.c +++ b/src/86box.c @@ -219,7 +219,7 @@ int sound_muted = 0; /* (C) Is soun int jumpered_internal_ecp_dma = 0; /* (C) Jumpered internal EPC DMA */ int inhibit_multimedia_keys; /* (G) Inhibit multimedia keys on Windows. */ int force_10ms; /* (C) Force 10ms CPU frame intervals. */ -int vmm_disabled = -1; /* (G) disable built-in manager */ +int vmm_disabled = 0; /* (G) disable built-in manager */ int other_ide_present = 0; /* IDE controllers from non-IDE cards are present */ @@ -1097,13 +1097,6 @@ usage: config_load_global(); if (vmm_disabled && start_vmm) { -#ifdef DEPRECATE_USAGE - if (vmm_disabled < 0) { - pc_show_usage("Running 86Box without a specified VM path and/or configuration\n" - "file has been deprecated. Please specify one or use a manager\n" - "(Avalonia 86 is recommended).\n\n"); - } -#endif start_vmm = 0; } diff --git a/src/config.c b/src/config.c index a76a08126..b00579435 100644 --- a/src/config.c +++ b/src/config.c @@ -137,7 +137,7 @@ load_global(void) else if (mouse_sensitivity > 2.0) mouse_sensitivity = 2.0; - vmm_disabled = ini_section_get_int(cat, "vmm_disabled", -1); + vmm_disabled = ini_section_get_int(cat, "vmm_disabled", 0); p = ini_section_get_string(cat, "vmm_path", NULL); if (p != NULL) @@ -2209,7 +2209,7 @@ save_global(void) else ini_section_delete_var(cat, "mouse_sensitivity"); - if (vmm_disabled != -1) + if (vmm_disabled != 0) ini_section_set_int(cat, "vmm_disabled", vmm_disabled); else ini_section_delete_var(cat, "vmm_disabled"); From 341b1a52a6697aa177f59dcc6a68c26d3b8b1920 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hrdli=C4=8Dka?= <13226155+dhrdlicka@users.noreply.github.com> Date: Thu, 21 Aug 2025 17:17:52 +0200 Subject: [PATCH 06/20] Fix -E argument; add ifdefs for SDL --- src/86box.c | 32 ++++++++++++++++++++++---------- src/config.c | 8 ++++---- src/include/86box/86box.h | 1 + 3 files changed, 27 insertions(+), 14 deletions(-) diff --git a/src/86box.c b/src/86box.c index a582e114e..bac26ceb7 100644 --- a/src/86box.c +++ b/src/86box.c @@ -219,7 +219,8 @@ int sound_muted = 0; /* (C) Is soun int jumpered_internal_ecp_dma = 0; /* (C) Jumpered internal EPC DMA */ int inhibit_multimedia_keys; /* (G) Inhibit multimedia keys on Windows. */ int force_10ms; /* (C) Force 10ms CPU frame intervals. */ -int vmm_disabled = 0; /* (G) disable built-in manager */ +int vmm_disabled = 0; /* (G) disable built-in manager */ +char vmm_path_cfg[1024] = { '\0' }; /* (G) VMs path (unless -E is used)*/ int other_ide_present = 0; /* IDE controllers from non-IDE cards are present */ @@ -632,7 +633,7 @@ pc_show_usage(char *s) #ifdef _WIN32 "-D or --debug\t\t\t- force debug output logging\n" #endif -#if 1 +#ifndef USE_SDL_UI "-E or --vmmpath\t\t- vm manager path\n" #endif "-F or --fullscreen\t\t- start in fullscreen mode\n" @@ -773,7 +774,7 @@ usage: } else if (!strcasecmp(argv[c], "--debug") || !strcasecmp(argv[c], "-D")) { force_debug = 1; #endif -//#ifdef ENABLE_NG +#ifndef USE_SDL_UI } else if (!strcasecmp(argv[c], "--vmmpath") || !strcasecmp(argv[c], "-E")) { /* Using this variable for vm manager path @@ -784,7 +785,7 @@ usage: memcpy(vmm_path, vp, sizeof(vmm_path)); else memcpy(vmm_path, vp, strlen(vp) + 1); - //#endif +#endif } else if (!strcasecmp(argv[c], "--fullscreen") || !strcasecmp(argv[c], "-F")) { start_in_fullscreen = 1; } else if (!strcasecmp(argv[c], "--logfile") || !strcasecmp(argv[c], "-L")) { @@ -1088,19 +1089,30 @@ usage: pclog("# Global configuration file: %s\n", global_cfg_path); pclog("# Configuration file: %s\n#\n\n", cfg_path); - if (strlen(vmm_path) != 0) { - start_vmm = 1; - pclog("# VM Manager enabled. Path: %s\n", vmm_path); - } /* Load the global configuration file. */ config_load_global(); - if (vmm_disabled && start_vmm) { +#ifndef USE_SDL_UI + if (vmm_disabled) +#endif + { start_vmm = 0; } - if (!start_vmm) { +#ifndef USE_SDL_UI + if (strlen(vmm_path) != 0) { + /* -E specified on the command line. */ + start_vmm = 1; + } else { + strncpy(vmm_path, vmm_path_cfg, sizeof(vmm_path) - 1) + } + + if (start_vmm) { + pclog("# VM Manager enabled. Path: %s\n", vmm_path); + } else +#endif + { /* * We are about to read the configuration file, which MAY * put data into global variables (the hard- and floppy diff --git a/src/config.c b/src/config.c index b00579435..78e441b4d 100644 --- a/src/config.c +++ b/src/config.c @@ -141,9 +141,9 @@ load_global(void) p = ini_section_get_string(cat, "vmm_path", NULL); if (p != NULL) - strncpy(vmm_path, p, sizeof(vmm_path) - 1); + strncpy(vmm_path_cfg, p, sizeof(vmm_path_cfg) - 1); else - plat_get_vmm_dir(vmm_path, sizeof(vmm_path)); + plat_get_vmm_dir(vmm_path_cfg, sizeof(vmm_path_cfg)); } /* Load "General" section. */ @@ -2214,8 +2214,8 @@ save_global(void) else ini_section_delete_var(cat, "vmm_disabled"); - if (vmm_path[0] != 0) - ini_section_set_string(cat, "vmm_path", vmm_path); + if (vmm_path_cfg[0] != 0) + ini_section_set_string(cat, "vmm_path", vmm_path_cfg); else ini_section_delete_var(cat, "vmm_path"); } diff --git a/src/include/86box/86box.h b/src/include/86box/86box.h index 9d902c85d..bde3dc2b5 100644 --- a/src/include/86box/86box.h +++ b/src/include/86box/86box.h @@ -186,6 +186,7 @@ extern int pit_mode; /* (C) force setting PIT mode */ extern int fm_driver; /* (C) select FM sound driver */ extern int hook_enabled; /* (C) Keyboard hook is enabled */ extern int vmm_disabled; /* (G) disable built-in manager */ +extern char vmm_path_cfg[1024]; /* (G) VMs path (unless -E is used) */ extern char exe_path[2048]; /* path (dir) of executable */ extern char usr_path[1024]; /* path (dir) of user data */ From bdaf1cbe55609ed96cd3131468cfd7df9656b231 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hrdli=C4=8Dka?= <13226155+dhrdlicka@users.noreply.github.com> Date: Thu, 21 Aug 2025 17:22:43 +0200 Subject: [PATCH 07/20] Fix build --- src/qt/qt_platform.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qt/qt_platform.cpp b/src/qt/qt_platform.cpp index 74fe8249a..8d0732dee 100644 --- a/src/qt/qt_platform.cpp +++ b/src/qt/qt_platform.cpp @@ -697,7 +697,7 @@ plat_get_temp_dir(char *outbuf, const uint8_t len) void plat_get_vmm_dir(char *outbuf, const size_t len) { - const auto dir = QDir(QStandardPaths::standardLocations(QStandardPaths::HomeLocation)[0]).filePath("86Box VMs"); + const auto dir = QDir(QDir::home().filePath("86Box VMs")); if (!dir.exists()) { if (!dir.mkpath(".")) { From 12a8229b906bde2a398ccd82330cec48cf85f063 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hrdli=C4=8Dka?= <13226155+dhrdlicka@users.noreply.github.com> Date: Thu, 21 Aug 2025 17:41:23 +0200 Subject: [PATCH 08/20] Fix build again --- src/86box.c | 2 +- src/qt/qt_platform.cpp | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/86box.c b/src/86box.c index bac26ceb7..9d0d95a70 100644 --- a/src/86box.c +++ b/src/86box.c @@ -1105,7 +1105,7 @@ usage: /* -E specified on the command line. */ start_vmm = 1; } else { - strncpy(vmm_path, vmm_path_cfg, sizeof(vmm_path) - 1) + strncpy(vmm_path, vmm_path_cfg, sizeof(vmm_path) - 1); } if (start_vmm) { diff --git a/src/qt/qt_platform.cpp b/src/qt/qt_platform.cpp index 8d0732dee..fb37e7507 100644 --- a/src/qt/qt_platform.cpp +++ b/src/qt/qt_platform.cpp @@ -697,7 +697,8 @@ plat_get_temp_dir(char *outbuf, const uint8_t len) void plat_get_vmm_dir(char *outbuf, const size_t len) { - const auto dir = QDir(QDir::home().filePath("86Box VMs")); + auto dir = QDir::home(); + dir.setPath("86Box VMs"); if (!dir.exists()) { if (!dir.mkpath(".")) { From 76fada4f06ff605d4bfa8c6d3c444d9f83937173 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hrdli=C4=8Dka?= <13226155+dhrdlicka@users.noreply.github.com> Date: Thu, 21 Aug 2025 17:43:42 +0200 Subject: [PATCH 09/20] And again --- src/include/86box/plat.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/include/86box/plat.h b/src/include/86box/plat.h index db3c4c14b..7b8a34857 100644 --- a/src/include/86box/plat.h +++ b/src/include/86box/plat.h @@ -146,7 +146,7 @@ extern void plat_get_exe_name(char *s, int size); extern void plat_get_global_config_dir(char *outbuf, size_t len); extern void plat_get_global_data_dir(char *outbuf, size_t len); extern void plat_get_temp_dir(char *outbuf, uint8_t len); -extern void plat_get_vmm_dir(char *outbuf, uint8_t len); +extern void plat_get_vmm_dir(char *outbuf, size_t len); extern void plat_init_rom_paths(void); extern int plat_dir_check(char *path); extern int plat_dir_create(char *path); From 1d97fd1274cf0494a68193beb61709d5d3f1d849 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hrdli=C4=8Dka?= <13226155+dhrdlicka@users.noreply.github.com> Date: Thu, 21 Aug 2025 19:14:33 +0200 Subject: [PATCH 10/20] Call load_global even with an empty config to populate default values --- src/config.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/config.c b/src/config.c index 78e441b4d..7f4279a02 100644 --- a/src/config.c +++ b/src/config.c @@ -2023,12 +2023,10 @@ config_load_global(void) if (global == NULL) { global = ini_new(); - lang_id = plat_language_code(DEFAULT_LANGUAGE); - config_log("Global config file not present or invalid!\n"); - } else { - load_global(); } + + load_global(); } /* Load the specified or a default configuration file. */ From 37dfcf7b053450380c874a4e2fd911f1b776de65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hrdli=C4=8Dka?= <13226155+dhrdlicka@users.noreply.github.com> Date: Thu, 21 Aug 2025 19:45:53 +0200 Subject: [PATCH 11/20] Fix VMs path --- src/qt/qt_platform.cpp | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/src/qt/qt_platform.cpp b/src/qt/qt_platform.cpp index fb37e7507..d8aca89d4 100644 --- a/src/qt/qt_platform.cpp +++ b/src/qt/qt_platform.cpp @@ -697,16 +697,8 @@ plat_get_temp_dir(char *outbuf, const uint8_t len) void plat_get_vmm_dir(char *outbuf, const size_t len) { - auto dir = QDir::home(); - dir.setPath("86Box VMs"); - - if (!dir.exists()) { - if (!dir.mkpath(".")) { - qWarning("Failed to create VMs directory %s", dir.absolutePath().toUtf8().constData()); - } - } - - strncpy(outbuf, dir.canonicalPath().toUtf8().constData(), len); + const auto path = QDir::home().filePath("86Box VMs"); + strncpy(outbuf, path.toUtf8().constData(), len); } void From 1a84f452ee127cdee60f8ee78d090cbeef751ab1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hrdli=C4=8Dka?= <13226155+dhrdlicka@users.noreply.github.com> Date: Thu, 21 Aug 2025 19:48:36 +0200 Subject: [PATCH 12/20] Fix logs --- src/86box.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/86box.c b/src/86box.c index 9d0d95a70..5f59dab7f 100644 --- a/src/86box.c +++ b/src/86box.c @@ -1080,15 +1080,9 @@ usage: pclog("#\n# %ls v%ls logfile, created %s\n#\n", EMU_NAME_W, EMU_VERSION_FULL_W, temp); - pclog("# VM: %s\n#\n", vm_name); - pclog("# Emulator path: %s\n", exe_path); - pclog("# Userfiles path: %s\n", usr_path); - for (rom_path_t *rom_path = &rom_paths; rom_path != NULL; rom_path = rom_path->next) { - pclog("# ROM path: %s\n", rom_path->path); - } + pclog("# Emulator path: %s\n", exe_path); pclog("# Global configuration file: %s\n", global_cfg_path); - pclog("# Configuration file: %s\n#\n\n", cfg_path); /* Load the global configuration file. */ config_load_global(); @@ -1108,11 +1102,19 @@ usage: strncpy(vmm_path, vmm_path_cfg, sizeof(vmm_path) - 1); } - if (start_vmm) { + if (start_vmm) { pclog("# VM Manager enabled. Path: %s\n", vmm_path); } else #endif { + pclog("# VM: %s\n#\n", vm_name); + pclog("# Configuration file: %s\n#\n\n", cfg_path); + pclog("# Userfiles path: %s\n", usr_path); + + for (rom_path_t *rom_path = &rom_paths; rom_path != NULL; rom_path = rom_path->next) { + pclog("# ROM path: %s\n", rom_path->path); + } + /* * We are about to read the configuration file, which MAY * put data into global variables (the hard- and floppy From 0ec66d5f8872bd95a3bb68c348452d007b4a4d5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hrdli=C4=8Dka?= <13226155+dhrdlicka@users.noreply.github.com> Date: Thu, 21 Aug 2025 19:49:09 +0200 Subject: [PATCH 13/20] Copy vmm_path to usr_path when manager is enabled --- src/86box.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/86box.c b/src/86box.c index 5f59dab7f..0b4dd4349 100644 --- a/src/86box.c +++ b/src/86box.c @@ -1087,6 +1087,7 @@ usage: /* Load the global configuration file. */ config_load_global(); + /* Determine whether to start the VM manager. */ #ifndef USE_SDL_UI if (vmm_disabled) #endif @@ -1104,6 +1105,7 @@ usage: if (start_vmm) { pclog("# VM Manager enabled. Path: %s\n", vmm_path); + strncpy(usr_path, vmm_path, sizeof(usr_path) - 1); } else #endif { From 5e808ea7402a09a4ab417e8c687d69c9054b757b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hrdli=C4=8Dka?= <13226155+dhrdlicka@users.noreply.github.com> Date: Thu, 21 Aug 2025 20:01:18 +0200 Subject: [PATCH 14/20] Save global config on load --- src/86box.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/86box.c b/src/86box.c index 0b4dd4349..fbccb4b79 100644 --- a/src/86box.c +++ b/src/86box.c @@ -1086,6 +1086,7 @@ usage: /* Load the global configuration file. */ config_load_global(); + config_save_global(); // hack /* Determine whether to start the VM manager. */ #ifndef USE_SDL_UI From c9f907455bc02e9fc32c379672d8ecd4c792f761 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hrdli=C4=8Dka?= <13226155+dhrdlicka@users.noreply.github.com> Date: Thu, 21 Aug 2025 20:20:34 +0200 Subject: [PATCH 15/20] Hook up the system directory preference to `vmm_path_cfg` --- src/qt/qt_vmmanager_preferences.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qt/qt_vmmanager_preferences.cpp b/src/qt/qt_vmmanager_preferences.cpp index b03c66aa4..cfc646df1 100644 --- a/src/qt/qt_vmmanager_preferences.cpp +++ b/src/qt/qt_vmmanager_preferences.cpp @@ -37,7 +37,7 @@ VMManagerPreferences(QWidget *parent) : ui(new Ui::VMManagerPreferences) connect(ui->dirSelectButton, &QPushButton::clicked, this, &VMManagerPreferences::chooseDirectoryLocation); const auto config = new VMManagerConfig(VMManagerConfig::ConfigType::General); - const auto configSystemDir = config->getStringValue("system_directory"); + const auto configSystemDir = vmm_path_cfg; if(!configSystemDir.isEmpty()) { // Prefer this one ui->systemDirectory->setText(configSystemDir); @@ -91,8 +91,8 @@ void VMManagerPreferences::accept() { const auto config = new VMManagerConfig(VMManagerConfig::ConfigType::General); - config->setStringValue("system_directory", ui->systemDirectory->text()); + vmm_path_cfg = ui->systemDirectory->text(); lang_id = ui->comboBoxLanguage->currentData().toInt(); config_save_global(); From c63af8935112aa32fd177e6579f1fa2290e45944 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hrdli=C4=8Dka?= <13226155+dhrdlicka@users.noreply.github.com> Date: Thu, 21 Aug 2025 20:26:51 +0200 Subject: [PATCH 16/20] Fix build --- src/qt/qt_vmmanager_preferences.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qt/qt_vmmanager_preferences.cpp b/src/qt/qt_vmmanager_preferences.cpp index cfc646df1..e5af6f714 100644 --- a/src/qt/qt_vmmanager_preferences.cpp +++ b/src/qt/qt_vmmanager_preferences.cpp @@ -37,7 +37,7 @@ VMManagerPreferences(QWidget *parent) : ui(new Ui::VMManagerPreferences) connect(ui->dirSelectButton, &QPushButton::clicked, this, &VMManagerPreferences::chooseDirectoryLocation); const auto config = new VMManagerConfig(VMManagerConfig::ConfigType::General); - const auto configSystemDir = vmm_path_cfg; + const auto configSystemDir = QString(vmm_path_cfg); if(!configSystemDir.isEmpty()) { // Prefer this one ui->systemDirectory->setText(configSystemDir); @@ -92,7 +92,7 @@ VMManagerPreferences::accept() { const auto config = new VMManagerConfig(VMManagerConfig::ConfigType::General); - vmm_path_cfg = ui->systemDirectory->text(); + vmm_path_cfg = ui->systemDirectory->text().toUtf8().constData(); lang_id = ui->comboBoxLanguage->currentData().toInt(); config_save_global(); From ae2b4d7bb829a0b72bb26bc15b1ff53a973629ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hrdli=C4=8Dka?= <13226155+dhrdlicka@users.noreply.github.com> Date: Thu, 21 Aug 2025 20:34:04 +0200 Subject: [PATCH 17/20] One more time --- src/qt/qt_vmmanager_preferences.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/qt/qt_vmmanager_preferences.cpp b/src/qt/qt_vmmanager_preferences.cpp index e5af6f714..91cbcb7fd 100644 --- a/src/qt/qt_vmmanager_preferences.cpp +++ b/src/qt/qt_vmmanager_preferences.cpp @@ -17,6 +17,7 @@ #include #include +#include #include "qt_progsettings.hpp" #include "qt_vmmanager_preferences.hpp" @@ -92,7 +93,7 @@ VMManagerPreferences::accept() { const auto config = new VMManagerConfig(VMManagerConfig::ConfigType::General); - vmm_path_cfg = ui->systemDirectory->text().toUtf8().constData(); + strncpy(vmm_path_cfg, ui->systemDirectory->text().toUtf8().constData(), sizeof(vmm_path_cfg) - 1); lang_id = ui->comboBoxLanguage->currentData().toInt(); config_save_global(); From 124fc72de6b7e2ec0efa16c57a398e011fc5caae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Umut=20=C3=87a=C4=9Fan=20U=C3=A7anok?= Date: Thu, 21 Aug 2025 23:39:55 +0300 Subject: [PATCH 18/20] Update Turkish (tr-TR) translation --- src/qt/languages/tr-TR.po | 676 +++++++++++++++++++------------------- 1 file changed, 338 insertions(+), 338 deletions(-) diff --git a/src/qt/languages/tr-TR.po b/src/qt/languages/tr-TR.po index 524399b21..42e7ab1c2 100644 --- a/src/qt/languages/tr-TR.po +++ b/src/qt/languages/tr-TR.po @@ -28,10 +28,10 @@ msgid "&Pause" msgstr "&Duraklat" msgid "Pause" -msgstr "" +msgstr "Duraklat" msgid "Re&sume" -msgstr "" +msgstr "Dev&am et" msgid "E&xit" msgstr "&Çıkış yap" @@ -148,13 +148,13 @@ msgid "RGB &Color" msgstr "RGB (&Çok renkli)" msgid "RGB (no brown)" -msgstr "" +msgstr "RGB (kahverengi olmadan)" msgid "&RGB Grayscale" msgstr "RGB (&Gri tonlu)" msgid "Generic RGBI color monitor" -msgstr "" +msgstr "Genel RGBI renkli monitör" msgid "&Amber monitor" msgstr "&Kehribar monitör" @@ -184,7 +184,7 @@ msgid "Change contrast for &monochrome display" msgstr "Gri to&nlu görüntü için kontrastı değiştir" msgid "&Media" -msgstr "&Medya" +msgstr "&Ortam" msgid "&Tools" msgstr "&Araçlar" @@ -193,7 +193,7 @@ msgid "&Settings..." msgstr "&Ayarlar..." msgid "Settings..." -msgstr "" +msgstr "Ayarlar..." msgid "&Update status bar icons" msgstr "Durum &çubuğu simgelerini güncelle" @@ -229,13 +229,13 @@ msgid "&About 86Box..." msgstr "&86Box hakkında..." msgid "&New image..." -msgstr "&Yeni imaj oluştur..." +msgstr "&Yeni görüntü oluştur..." msgid "&Existing image..." -msgstr "&İmaj seç..." +msgstr "&Görüntü seç..." msgid "Existing image (&Write-protected)..." -msgstr "İmaj &seç (Yazma korumalı)..." +msgstr "Görüntü &seç (Yazma korumalı)..." msgid "&Record" msgstr "&Kaydet" @@ -253,7 +253,7 @@ msgid "E&ject" msgstr "&Çıkar" msgid "&Image..." -msgstr "&İmaj seç..." +msgstr "&Görüntü seç..." msgid "E&xport to 86F..." msgstr "&86F olarak kaydet..." @@ -262,10 +262,10 @@ msgid "&Mute" msgstr "&Sessize al" msgid "E&mpty" -msgstr "İmajı &çıkar" +msgstr "Görüntüyü &çıkar" msgid "Reload previous image" -msgstr "Önceki imajı yeniden seç" +msgstr "Önceki görüntüyü yeniden seç" msgid "&Folder..." msgstr "&Klasör seç..." @@ -307,7 +307,7 @@ msgid "Sound Gain" msgstr "Ses Artışı" msgid "New Image" -msgstr "Yeni imaj" +msgstr "Yeni görüntü" msgid "Settings" msgstr "Ayarlar" @@ -352,16 +352,16 @@ msgid "Lock to this size" msgstr "Bu boyuta kilitle" msgid "Machine type:" -msgstr "Makine türü:" +msgstr "Anakart türü:" msgid "Machine:" -msgstr "Makine:" +msgstr "Anakart:" msgid "Configure" msgstr "Ayarla" msgid "CPU:" -msgstr "" +msgstr "İşlemci:" msgid "CPU type:" msgstr "İşlemci türü:" @@ -400,13 +400,13 @@ msgid "Dynamic Recompiler" msgstr "Dinamik Derleyici" msgid "CPU frame size" -msgstr "" +msgstr "İşlemci kare boyutu" msgid "Larger frames (less smooth)" -msgstr "" +msgstr "Daha büyük kareler (daha az akıcı)" msgid "Smaller frames (smoother)" -msgstr "" +msgstr "Daha küçük kareler (daha akıcı)" msgid "Video:" msgstr "Ekran kartı:" @@ -424,25 +424,25 @@ msgid "XGA Graphics" msgstr "XGA Grafikleri" msgid "IBM PS/55 Display Adapter Graphics" -msgstr "" +msgstr "IBM PS/55 Display Adapter Grafikleri" msgid "Keyboard:" -msgstr "" +msgstr "Klavye:" msgid "Keyboard" -msgstr "" +msgstr "Klavye" msgid "Mouse:" msgstr "Fare:" msgid "Mouse" -msgstr "" +msgstr "Fare" msgid "Joystick:" msgstr "Oyun Kolu:" msgid "Joystick" -msgstr "" +msgstr "Oyun Kolu" msgid "Joystick 1..." msgstr "1. Oyun Kolu..." @@ -475,7 +475,7 @@ msgid "MIDI In Device:" msgstr "MIDI Giriş Cihazı:" msgid "MIDI Out:" -msgstr "" +msgstr "MIDI Çıkış:" msgid "Standalone MPU-401" msgstr "Bağımsız MPU-401" @@ -487,7 +487,7 @@ msgid "FM synth driver" msgstr "FM sentez sürücüsü" msgid "Nuked (more accurate)" -msgstr "Nuked (daha doğru)" +msgstr "Nuked (daha hassas)" msgid "YMFM (faster)" msgstr "YMFM (daha hızlı)" @@ -517,46 +517,46 @@ msgid "LPT4 Device:" msgstr "LPT4 Cihazı:" msgid "Internal LPT ECP DMA:" -msgstr "" +msgstr "Dahili LPT ECP DMA'sı:" msgid "Serial port 1" -msgstr "1. Seri Port" +msgstr "1. Seri bağlantı noktası" msgid "Serial port 2" -msgstr "2. Seri Port" +msgstr "2. Seri bağlantı noktası" msgid "Serial port 3" -msgstr "3. Seri Port" +msgstr "3. Seri bağlantı noktası" msgid "Serial port 4" -msgstr "4. Seri Port" +msgstr "4. Seri bağlantı noktası" msgid "Parallel port 1" -msgstr "1. Paralel Port" +msgstr "1. Paralel bağlantı noktası" msgid "Parallel port 2" -msgstr "2. Paralel Port" +msgstr "2. Paralel bağlantı noktası" msgid "Parallel port 3" -msgstr "3. Paralel Port" +msgstr "3. Paralel bağlantı noktası" msgid "Parallel port 4" -msgstr "4. Paralel Port" +msgstr "4. Paralel bağlantı noktası" msgid "FD Controller:" msgstr "Disket Denetleyicisi:" msgid "CD-ROM Controller:" -msgstr "" +msgstr "CD-ROM Denetleyicisi:" msgid "Tertiary IDE Controller" -msgstr "Üçlü IDE Denetleyici" +msgstr "Üçüncül IDE Denetleyicisi" msgid "Quaternary IDE Controller" -msgstr "Dörtlü IDE Denetleyici" +msgstr "Dördüncül IDE Denetleyicisi" msgid "Hard disk" -msgstr "" +msgstr "Sabit disk" msgid "SCSI" msgstr "SCSI" @@ -577,16 +577,16 @@ msgid "Cassette" msgstr "Kaset" msgid "Hard disks:" -msgstr "Hard diskler:" +msgstr "Sabit diskler:" msgid "Firmware Version" -msgstr "" +msgstr "Bellenim Sürümü" msgid "&New..." -msgstr "&Yeni imaj oluştur" +msgstr "&Yeni görüntü oluştur" msgid "&Existing..." -msgstr "&İmaj dosyası seç" +msgstr "&Görüntü dosyası seç" msgid "&Remove" msgstr "&Kaldır" @@ -619,7 +619,7 @@ msgid "Type:" msgstr "Tür:" msgid "Image Format:" -msgstr "İmaj Türü:" +msgstr "Görüntü Biçimi:" msgid "Block Size:" msgstr "Blok boyutu:" @@ -640,13 +640,13 @@ msgid "MO drives:" msgstr "MO sürücüleri:" msgid "MO:" -msgstr "" +msgstr "MO:" msgid "Removable disks:" -msgstr "" +msgstr "Çıkarılabilir diskler:" msgid "Removable disk drives:" -msgstr "" +msgstr "Çıkarılabilir disk sürücüleri:" msgid "ZIP 250" msgstr "ZIP 250" @@ -658,7 +658,7 @@ msgid "ISA Memory Expansion" msgstr "ISA Bellek Artırıcı" msgid "ISA ROM Cards" -msgstr "" +msgstr "ISA ROM Kartları" msgid "Card 1:" msgstr "Kart 1:" @@ -673,13 +673,13 @@ msgid "Card 4:" msgstr "Kart 4:" msgid "Generic ISA ROM Board" -msgstr "" +msgstr "Genel ISA ROM Kartı" msgid "Generic Dual ISA ROM Board" -msgstr "" +msgstr "Genel Çift ISA ROM Kartı" msgid "Generic Quad ISA ROM Board" -msgstr "" +msgstr "Genel Dörtlü ISA ROM Kartı" msgid "ISABugger device" msgstr "ISABugger cihazı" @@ -703,16 +703,16 @@ msgid "Speed" msgstr "Hız" msgid "Removable disk %1 (%2): %3" -msgstr "" +msgstr "Çıkarılabilir disk %1 (%2): %3" msgid "&Removable disk %1 (%2): %3" -msgstr "" +msgstr "&Çıkarılabilir disk %1 (%2): %3" msgid "Removable disk images" -msgstr "" +msgstr "Çıkarılabilir disk görüntüleri" msgid "Image %1" -msgstr "" +msgstr "Görüntü %1" msgid "86Box could not find any usable ROM images.\n\nPlease download a ROM set and extract it into the \"roms\" directory." msgstr "86Box kullanılabilir hiçbir ROM dosyası bulamadı.\n\nLütfen bir ROM seti indirip \"roms\" klasörüne çıkarın." @@ -733,16 +733,16 @@ msgid "Off" msgstr "Kapalı" msgid "All images" -msgstr "Tüm imajlar" +msgstr "Tüm görüntüler" msgid "Basic sector images" -msgstr "Basit sektör imajları" +msgstr "Basit sektör görüntüleri" msgid "Surface images" -msgstr "Yüzey imajları" +msgstr "Yüzey görüntüleri" msgid "Machine \"%hs\" is not available due to missing ROMs in the roms/machines directory. Switching to an available machine." -msgstr "\"%hs\" makinesi roms/machines klasöründe gerekli ROM dosyalarının mevcut olmaması nedeniyle kullanılamıyor. Kullanılabilen başka bir makineye geçiş yapılacaktır." +msgstr "\"%hs\" anakartı roms/machines klasöründe gerekli ROM dosyalarının mevcut olmaması nedeniyle kullanılamıyor. Kullanılabilen başka bir anakarta geçiş yapılacaktır." msgid "Video card \"%hs\" is not available due to missing ROMs in the roms/video directory. Switching to an available video card." msgstr "\"%hs\" ekran kartı roms/video klasöründe gerekli ROM dosyalarının mevcut olmaması nedeniyle kullanılamıyor. Kullanılabilen başka bir ekran kartına geçiş yapılacaktır." @@ -754,7 +754,7 @@ msgid "Device \"%hs\" is not available due to missing ROMs. Ignoring the device. msgstr "\"%hs\" cihazı gerekli ROM dosyalarının mevcut olmaması nedeniyle kullanılamıyor. Bu cihaz yok sayılacaktır." msgid "Machine" -msgstr "Makine" +msgstr "Anakart" msgid "Display" msgstr "Görüntü" @@ -769,31 +769,31 @@ msgid "Network" msgstr "Ağ" msgid "Ports (COM & LPT)" -msgstr "Portlar (COM & LPT)" +msgstr "Bağlantı noktaları (COM & LPT)" msgid "Ports" -msgstr "" +msgstr "Bağlantı noktaları" msgid "Serial ports" -msgstr "" +msgstr "Seri bağlantı noktaları" msgid "Parallel ports" -msgstr "" +msgstr "Paralel bağlantı noktaları" msgid "Storage controllers" msgstr "Depolama denetleyicileri" msgid "Hard disks" -msgstr "Hard diskler" +msgstr "Sabit diskler" msgid "Disks:" -msgstr "" +msgstr "Diskler:" msgid "Floppy:" -msgstr "" +msgstr "Disket:" msgid "Controllers:" -msgstr "" +msgstr "Denetleyiciler:" msgid "Floppy & CD-ROM drives" msgstr "Disket & CD-ROM sürücüleri" @@ -802,10 +802,10 @@ msgid "Other removable devices" msgstr "Diğer kaldırılabilir cihazlar" msgid "Other peripherals" -msgstr "Diğer cihazlar" +msgstr "Diğer çevre birimleri" msgid "Other devices" -msgstr "" +msgstr "Diğer cihazlar" msgid "Click to capture mouse" msgstr "Farenin yakalanması için tıklayın" @@ -874,7 +874,7 @@ msgid "CH Flightstick Pro" msgstr "CH Flightstick Pro" msgid "CH Flightstick Pro + CH Pedals" -msgstr "" +msgstr "CH Flightstick Pro + CH Pedals" msgid "Microsoft SideWinder Pad" msgstr "Microsoft SideWinder Pad" @@ -883,28 +883,28 @@ msgid "Thrustmaster Flight Control System" msgstr "Thrustmaster Flight Control System" msgid "Thrustmaster FCS + Rudder Control System" -msgstr "" +msgstr "Thrustmaster FCS + Rudder Control System" msgid "2-button gamepad(s)" -msgstr "" +msgstr "2 düğmeli oyun tablası" msgid "2-button flight yoke" -msgstr "" +msgstr "2 düğmeli uçuş dümeni" msgid "4-button gamepad" -msgstr "" +msgstr "4 düğmeli oyun tablası" msgid "4-button flight yoke" -msgstr "" +msgstr "4 düğmeli uçuş dümeni" msgid "2-button flight yoke with throttle" -msgstr "" +msgstr "2 düğmeli, gaz kollu uçuş dümeni" msgid "4-button flight yoke with throttle" -msgstr "" +msgstr "4 düğmeli, gaz kollu uçuş dümeni" msgid "Win95 Steering Wheel (3-axis, 4-button)" -msgstr "" +msgstr "Win95 direksiyonu (3 eksenli, 4 düğmeli)" msgid "None" msgstr "Hiçbiri" @@ -919,10 +919,10 @@ msgid "&Floppy %1 (%2): %3" msgstr "&Disket %1 (%2): %3" msgid "Advanced sector images" -msgstr "Gelişmiş sektör imajları" +msgstr "Gelişmiş sektör görüntüleri" msgid "Flux images" -msgstr "Flux imajları" +msgstr "Flux görüntüleri" msgid "Are you sure you want to hard reset the emulated machine?" msgstr "Makineyi yeniden başlamaya zorlamak istediğinizden emin misiniz?" @@ -943,7 +943,7 @@ msgid "&MO %1 (%2): %3" msgstr "&MO %1 (%2): %3" msgid "MO images" -msgstr "MO imajları" +msgstr "MO görüntüleri" msgid "Welcome to 86Box!" msgstr "86Box'a hoşgeldiniz!" @@ -952,13 +952,13 @@ msgid "Internal device" msgstr "Dahili cihaz" msgid "&File" -msgstr "" +msgstr "&Dosya" msgid "&New machine..." -msgstr "" +msgstr "&Yeni makine..." msgid "&Check for updates..." -msgstr "" +msgstr "&Güncelleştirmeleri kontrol et..." msgid "Exit" msgstr "Çıkış yap" @@ -1039,7 +1039,7 @@ msgid "C&assette: %1" msgstr "K&aset: %1" msgid "Cassette images" -msgstr "Kaset imajları" +msgstr "Kaset görüntüleri" msgid "Cartridge %1: %2" msgstr "Kartuş %1: %2" @@ -1048,7 +1048,7 @@ msgid "Car&tridge %1: %2" msgstr "Kar&tuş %1: %2" msgid "Cartridge images" -msgstr "Kartuş imajları" +msgstr "Kartuş görüntüleri" msgid "Resume execution" msgstr "Çalıştırmayı sürdür" @@ -1057,7 +1057,7 @@ msgid "Pause execution" msgstr "Çalıştırmayı duraklat" msgid "Ctrl+Alt+Del" -msgstr "" +msgstr "Ctrl+Alt+Del" msgid "Press Ctrl+Alt+Del" msgstr "Ctrl+Alt+Del tuşlarına bas" @@ -1069,271 +1069,271 @@ msgid "Hard reset" msgstr "Makineyi yeniden başlat" msgid "Force shutdown" -msgstr "" +msgstr "Kapatmaya zorla" msgid "Start" -msgstr "" +msgstr "Başlat" msgid "Not running" -msgstr "" +msgstr "Çalışmıyor" msgid "Running" -msgstr "" +msgstr "Çalışıyor" msgid "Paused" -msgstr "" +msgstr "Duraklatıldı" msgid "Waiting" -msgstr "" +msgstr "Bekliyor" msgid "Powered Off" -msgstr "" +msgstr "Kapalı" msgid "%n running" -msgstr "" +msgstr "Çalışan %n" msgid "%n paused" -msgstr "" +msgstr "Duraklatılmış %n" msgid "%n waiting" -msgstr "" +msgstr "Bekleyen %n" msgid "%1 total" -msgstr "" +msgstr "Toplam %1" msgid "VMs: %1" -msgstr "" +msgstr "VM sayısı: %1" msgid "System Directory:" -msgstr "" +msgstr "Sistem Dizini:" msgid "Choose directory" -msgstr "" +msgstr "Dizin seç:" msgid "Choose configuration file" -msgstr "" +msgstr "Yapılandırma dosyası seç" msgid "86Box configuration files (86box.cfg)" -msgstr "" +msgstr "86Box yapılandırma dosyaları (86box.cfg)" msgid "Configuration read failed" -msgstr "" +msgstr "Yapılandırma okuması başarısız" msgid "Unable to open the selected configuration file for reading: %1" -msgstr "" +msgstr "Seçili yapılandırma dosyası okunmak için açılamıyor: %1" msgid "Use regular expressions in search box" -msgstr "" +msgstr "Arama kutusunda düzenli ifadeler kullan" msgid "%1 machine(s) are currently active. Are you sure you want to exit the VM manager anyway?" -msgstr "" +msgstr "%1 makine şu anda aktif. Yine de VM yöneticisinden çıkmak istediğinize emin misiniz?" msgid "Add new system wizard" -msgstr "" +msgstr "Yeni sistem ekleme sihirbazı" msgid "Introduction" -msgstr "" +msgstr "Giriş" msgid "This will help you add a new system to 86Box." -msgstr "" +msgstr "Bu sihirbaz 86Box'a yeni bir sistem eklemenizde yardımcı olacaktır." msgid "New configuration" -msgstr "" +msgstr "Yeni yapılandırma" msgid "Complete" -msgstr "" +msgstr "Tamamlandı" msgid "The wizard will now launch the configuration for the new system." -msgstr "" +msgstr "Sihirbaz şimdi yeni sistemin yapılandırmasını başlatacak." msgid "Use existing configuration" -msgstr "" +msgstr "Var olan yapılandırma kullan" msgid "Type some notes here" -msgstr "" +msgstr "Buraya not alın" msgid "Paste the contents of the existing configuration file into the box below." -msgstr "" +msgstr "Var olan yapılandırma dosyasının içeriklerini aşağıdaki kutuya yapıştırınız." msgid "Load configuration from file" -msgstr "" +msgstr "Dosyadan yapılandırma yükle" msgid "System name" -msgstr "" +msgstr "Sistem adı" msgid "System name:" -msgstr "" +msgstr "Sistem adı:" msgid "System name cannot contain certain characters" -msgstr "" +msgstr "Sistem adı belirli karakterleri içeremez" msgid "System name already exists" -msgstr "" +msgstr "Sistem adı zaten var" msgid "Please enter a directory for the system" -msgstr "" +msgstr "Lütfen sistem için bir dizin girin" msgid "Directory does not exist" -msgstr "" +msgstr "Dizin yok" msgid "A new directory for the system will be created in the selected directory above" -msgstr "" +msgstr "Sistem için yeni bir dizin yukarıda seçili dizinde oluşturulacak" msgid "System location:" -msgstr "" +msgstr "Sistem yeri:" msgid "System name and location" -msgstr "" +msgstr "Sistem adı ve yeri:" msgid "Enter the name of the system and choose the location" -msgstr "" +msgstr "Sistemin adını girin ve yerini seçin" msgid "Enter the name of the system" -msgstr "" +msgstr "Sistemin adını girin" msgid "Please enter a system name" -msgstr "" +msgstr "Lütfen bir sistem adı girin" msgid "Display name (optional):" -msgstr "" +msgstr "Görüntü adı (isteğe bağlı)" msgid "Display name:" -msgstr "" +msgstr "Görüntü adı:" msgid "Set display name" -msgstr "" +msgstr "Görüntü adını ayarla" msgid "Enter the new display name (blank to reset)" -msgstr "" +msgstr "Yeni görünü adını girin (sıfırlamak için boş bırakın)" msgid "Change &display name..." -msgstr "" +msgstr "Görüntü adını &değiştirin" msgid "Context Menu" -msgstr "" +msgstr "Bağlam Menüsü" msgid "&Open folder..." -msgstr "" +msgstr "Klas&örü aç..." msgid "Open &printer tray..." -msgstr "" +msgstr "Yazıcı te&psisini aç..." msgid "Set &icon..." -msgstr "" +msgstr "S&imge seç..." msgid "Select an icon" -msgstr "" +msgstr "Bir simge seç" msgid "C&lone..." -msgstr "" +msgstr "K&lonla..." msgid "Virtual machine \"%1\" (%2) will be cloned into:" -msgstr "" +msgstr "Sanal makine \"%1\" (%2) şuraya klonlanacaktır:" msgid "Directory %1 already exists" -msgstr "" +msgstr "Dizin &1 zaten var" msgid "You cannot use the following characters in the name: %1" -msgstr "" +msgstr "İsimde şu karakterleri kullanamazsınız: %1" msgid "Clone" -msgstr "" +msgstr "Klonla" msgid "Failed to create directory for cloned VM" -msgstr "" +msgstr "Klonlanmış VM için dizin oluşturulamadı" msgid "Failed to clone VM." -msgstr "" +msgstr "VM klonlanamadı" msgid "Directory in use" -msgstr "" +msgstr "Dizin kullanımda" msgid "The selected directory is already in use. Please select a different directory." -msgstr "" +msgstr "Seçili dizin zaten kullanımda. Lütfen farklı bir dizin seçiniz." msgid "Create directory failed" -msgstr "" +msgstr "Dizin oluşturulamadı" msgid "Unable to create the directory for the new system" -msgstr "" +msgstr "Yeni sistem için dizin oluşturulamadı" msgid "Configuration write failed" -msgstr "" +msgstr "Yapılandırmaya yazma başarısız" msgid "Unable to open the configuration file at %1 for writing" -msgstr "" +msgstr "Yapılandırma dosyası %1 yazma için açılamıyor" msgid "Error adding system" -msgstr "" +msgstr "Sistem eklenirken hata oluştu" msgid "Remove directory failed" -msgstr "" +msgstr "Dizin kaldırılamadı" msgid "Some files in the machine's directory were unable to be deleted. Please delete them manually." -msgstr "" +msgstr "Makinenin dizinindeki bazı dosyalar silinemedi. Lütfen bu dosyaları elle siliniz." msgid "Build" -msgstr "" +msgstr "Yapı" msgid "Version" -msgstr "" +msgstr "Sürüm" msgid "An update to 86Box is available: %1 %2" -msgstr "" +msgstr "86Box için bir güncelleme bulunmakta: %1 %2" msgid "An error has occurred while checking for updates: %1" -msgstr "" +msgstr "Güncellemeler kontrol edilirken bir hata oluştu: %1" msgid "An update to 86Box is available!" -msgstr "" +msgstr "86Box için bir güncelleme mevcut!" msgid "Warning" -msgstr "" +msgstr "Uyarı" msgid "&Kill" -msgstr "" +msgstr "Durmaya &zorla" msgid "Killing a virtual machine can cause data loss. Only do this if the 86Box process gets stuck.\n\nDo you really wish to kill the virtual machine \"%1\"?" -msgstr "" +msgstr "Bir sanal makineyi durmaya zorlamak veri kaybına yol açabilir. Bunu sadece 86Box işlemi takılı kalırsa uygulayın.\n\nGerçekten \"%1\" adlı sanal makineyi durmaya zorlamak istiyor musunuz?" msgid "&Delete" -msgstr "" +msgstr "&Sil" msgid "Do you really want to delete the virtual machine \"%1\" and all its files? This action cannot be undone!" -msgstr "" +msgstr "Gerçekten \"%1\" adlı sanal makineyi tüm dosyalarıyla birlikte silmek istiyor musunuz? Bu eylem geri alınamaz!" msgid "Show &config file" -msgstr "" +msgstr "Yap&ılandırma dosyasını göster" msgid "No screenshot" -msgstr "" +msgstr "Ekran görüntüsü yok" msgid "Search" -msgstr "" +msgstr "Ara" msgid "Searching for VMs..." -msgstr "" +msgstr "VM'ler aranıyor..." msgid "Found %1" -msgstr "" +msgstr "%1 bulundu" msgid "System" -msgstr "" +msgstr "Sistem" msgid "Storage" -msgstr "" +msgstr "Depolama" msgid "Disk %1: " -msgstr "" +msgstr "Disk %1: " msgid "No disks" -msgstr "" +msgstr "Disk yok" msgid "Audio" -msgstr "" +msgstr "Ses" msgid "Audio:" -msgstr "" +msgstr "Ses:" msgid "ACPI shutdown" msgstr "Makineyi ACPI kullanarak kapat" @@ -1342,7 +1342,7 @@ msgid "ACP&I shutdown" msgstr "Makineyi ACP&I kullanarak kapat" msgid "Hard disk (%1)" -msgstr "Hard disk (%1)" +msgstr "Sabit disk (%1)" msgid "MFM/RLL or ESDI CD-ROM drives never existed" msgstr "MFM/RLL veya ESDI CD-ROM sürücüleri hiçbir zaman kullanılmamıştır" @@ -1354,19 +1354,19 @@ msgid "Custom (large)..." msgstr "Diğer (büyük)..." msgid "Add New Hard Disk" -msgstr "Yeni Hard Disk İmajı Oluştur" +msgstr "Yeni Sabit Disk Görüntüsü Oluştur" msgid "Add Existing Hard Disk" -msgstr "Var Olan Hard Disk İmajı Ekleme" +msgstr "Var Olan Sabit Disk Görüntüsü Ekleme" msgid "HDI disk images cannot be larger than 4 GB." -msgstr "HDI imajları 4 GB boyutundan daha büyük olamaz." +msgstr "HDI görüntüleri 4 GB boyutundan daha büyük olamaz." msgid "Disk images cannot be larger than 127 GB." -msgstr "Disk imajları 127 GB boyutundan daha büyük olamaz." +msgstr "Disk görüntüleri 127 GB boyutundan daha büyük olamaz." msgid "Hard disk images" -msgstr "Hard disk imajları" +msgstr "Sabit disk görüntüleri" msgid "Unable to read file" msgstr "Dosya okunamıyor" @@ -1375,16 +1375,16 @@ msgid "Unable to write file" msgstr "Dosyanın üzerine yazılamıyor" msgid "HDI or HDX images with a sector size other than 512 are not supported." -msgstr "512 dışında sektör boyutu olan HDI ve HDX imajları desteklenmemektedir." +msgstr "512 dışında sektör boyutu olan HDI ve HDX görüntüleri desteklenmemektedir." msgid "Disk image file already exists" -msgstr "Bu imaj dosyası zaten mevcuttur" +msgstr "Bu görüntü dosyası zaten mevcuttur" msgid "Please specify a valid file name." msgstr "Lütfen geçerli bir dosya ismi belirleyin." msgid "Disk image created" -msgstr "Disk imajı oluşturuldu" +msgstr "Disk görüntüsü oluşturuldu" msgid "Make sure the file exists and is readable." msgstr "Dosyanın var olduğuna ve okunabildiğine emin olun." @@ -1393,7 +1393,7 @@ msgid "Make sure the file is being saved to a writable directory." msgstr "Dosyanın erişilebilir bir klasöre kaydedildiğinden emin olun." msgid "Disk image too large" -msgstr "Disk imajı çok büyük" +msgstr "Disk görüntüsü çok büyük" msgid "Remember to partition and format the newly-created drive." msgstr "Yeni oluşturulan diskte bölümler oluşturmayı ve bu bölümleri biçimlendirmeyi unutmayın." @@ -1402,7 +1402,7 @@ msgid "The selected file will be overwritten. Are you sure you want to use it?" msgstr "Seçili dosyanın üzerine yazılacaktır. Bu dosyayı kullanmak istediğinizden emin misiniz?" msgid "Unsupported disk image" -msgstr "Desteklenmeyen disk imajı" +msgstr "Desteklenmeyen disk görüntüsü" msgid "Overwrite" msgstr "Üzerine yaz" @@ -1411,13 +1411,13 @@ msgid "Don't overwrite" msgstr "Üzerine yazma" msgid "Raw image" -msgstr "Ham imaj" +msgstr "Ham görüntü" msgid "HDI image" -msgstr "HDI imajı" +msgstr "HDI görüntüsü" msgid "HDX image" -msgstr "HDX imajı" +msgstr "HDX görüntüsü" msgid "Fixed-size VHD" msgstr "Sabit boyutlu VHD" @@ -1432,13 +1432,13 @@ msgid "(N/A)" msgstr "(yok)" msgid "Raw image (.img)" -msgstr "Ham imaj (.img)" +msgstr "Ham görüntü (.img)" msgid "HDI image (.hdi)" -msgstr "HDI imajı (.hdi)" +msgstr "HDI görüntüsü (.hdi)" msgid "HDX image (.hdx)" -msgstr "HDX imajı (.hdx)" +msgstr "HDX görüntüsü (.hdx)" msgid "Fixed-size VHD (.vhd)" msgstr "Sabit boyutlu VHD (.vhd)" @@ -1462,7 +1462,7 @@ msgid "Select the parent VHD" msgstr "Ana VHD dosyasını seçin" msgid "This could mean that the parent image was modified after the differencing image was created.\n\nIt can also happen if the image files were moved or copied, or by a bug in the program that created this disk.\n\nDo you want to fix the timestamps?" -msgstr "Bu, farklandırmış imaj dosyası oluşturulduktan sonra ana imaj dosyasında bir değişiklik yapıldığı anlamına geliyor olabilir.\n\nBu durum ayrıca imaj dosyalarının kopyalanmasından, yerlerinin değiştirilmesinden veya dosyaları oluşturan programdaki bir hatadan dolayı da meydana gelmiş olabilir.\n\nZaman damgalarını düzeltmek ister misiniz?" +msgstr "Bu, farklandırmış görüntü dosyası oluşturulduktan sonra ana görüntü dosyasında bir değişiklik yapıldığı anlamına geliyor olabilir.\n\nBu durum ayrıca görüntü dosyalarının kopyalanmasından, yerlerinin değiştirilmesinden veya dosyaları oluşturan programdaki bir hatadan dolayı da meydana gelmiş olabilir.\n\nZaman damgalarını düzeltmek ister misiniz?" msgid "Parent and child disk timestamps do not match" msgstr "Ana ve ek disklerin zaman damgaları uyuşmuyor" @@ -1585,7 +1585,7 @@ msgid "Mouse sensitivity:" msgstr "Fare hassasiyeti:" msgid "Select media images from program working directory" -msgstr "Medya imajlarını programın çalışma dizininden seç" +msgstr "Medya görüntülerini programın çalışma dizininden seç" msgid "PIT mode:" msgstr "PIT modu:" @@ -1660,7 +1660,7 @@ msgid "&Connected" msgstr "&Bağlı" msgid "Clear image &history" -msgstr "İmaj geçmişini temizle" +msgstr "Görüntü geçmişini temizle" msgid "Create..." msgstr "Oluştur..." @@ -1675,7 +1675,7 @@ msgid "Null Driver" msgstr "Null sürücü" msgid "NIC:" -msgstr "" +msgstr "NIC:" msgid "NIC %1 (%2) %3" msgstr "NIC %1 (%2) %3" @@ -1747,7 +1747,7 @@ msgid "MiB" msgstr "MiB" msgid "GiB" -msgstr "" +msgstr "GiB" msgid "Network Card #1" msgstr "1. Ağ Kartı" @@ -1780,70 +1780,70 @@ msgid "Novell NetWare 2.x Key Card" msgstr "Novell NetWare 2.x Anahtar Kartı" msgid "Serial port passthrough 1" -msgstr "1. Seri Port geçişi" +msgstr "1. Seri bağlantı noktası geçişi" msgid "Serial port passthrough 2" -msgstr "2. Seri Port geçişi" +msgstr "2. Seri bağlantı noktası geçişi" msgid "Serial port passthrough 3" -msgstr "3. Seri Port geçişi" +msgstr "3. Seri bağlantı noktası geçişi" msgid "Serial port passthrough 4" -msgstr "4. Seri Port geçişi" +msgstr "4. Seri bağlantı noktası geçişi" msgid "Renderer &options..." msgstr "Derleyici seçenekleri..." msgid "PC/XT Keyboard" -msgstr "" +msgstr "PC/XT Klavyesi" msgid "AT Keyboard" -msgstr "" +msgstr "AT Klavyesi" msgid "AX Keyboard" -msgstr "" +msgstr "AX Klavyesi" msgid "PS/2 Keyboard" -msgstr "" +msgstr "PS/2 Klavyesi" msgid "PS/55 Keyboard" -msgstr "" +msgstr "PS/55 Klavyesi" msgid "Keys" -msgstr "" +msgstr "Keys" msgid "Logitech/Microsoft Bus Mouse" -msgstr "Logitech/Microsoft Bus Fare" +msgstr "Logitech/Microsoft Bus Faresi" msgid "Microsoft Bus Mouse (InPort)" -msgstr "Microsoft Bus Fare (InPort)" +msgstr "Microsoft Bus Faresi (InPort)" msgid "Mouse Systems Serial Mouse" -msgstr "Mouse Systems Seri Fare" +msgstr "Mouse Systems Seri Faresi" msgid "Mouse Systems Bus Mouse" -msgstr "Mouse Systems Bus Fare" +msgstr "Mouse Systems Bus Faresi" msgid "Microsoft Serial Mouse" -msgstr "Microsoft Seri Fare" +msgstr "Microsoft Seri Faresi" msgid "Microsoft Serial BallPoint" -msgstr "" +msgstr "Microsoft Seri BallPoint" msgid "Logitech Serial Mouse" -msgstr "Logitech Seri Fare" +msgstr "Logitech Seri Faresi" msgid "PS/2 Mouse" -msgstr "PS/2 fare" +msgstr "PS/2 Faresi" msgid "PS/2 QuickPort Mouse" -msgstr "" +msgstr "PS/2 QuickPort Faresi" msgid "3M MicroTouch (Serial)" msgstr "3M MicroTouch (seri)" msgid "Default Baud rate" -msgstr "" +msgstr "Varsayılan Baud hızı" msgid "[COM] Standard Hayes-compliant Modem" msgstr "[COM] Standart Hayes Uyumlu Modem" @@ -1870,52 +1870,52 @@ msgid "MIDI Input Device" msgstr "MIDI Giriş Cihazı" msgid "BIOS file" -msgstr "" +msgstr "BIOS dosyası" msgid "BIOS file (ROM #1)" -msgstr "" +msgstr "BIOS dosyası (ROM #1)" msgid "BIOS file (ROM #2)" -msgstr "" +msgstr "BIOS dosyası (ROM #2)" msgid "BIOS file (ROM #3)" -msgstr "" +msgstr "BIOS dosyası (ROM #3)" msgid "BIOS file (ROM #4)" -msgstr "" +msgstr "BIOS dosyası (ROM #4)" msgid "BIOS address" -msgstr "BIOS Adresi" +msgstr "BIOS adresi" msgid "BIOS address (ROM #1)" -msgstr "" +msgstr "BIOS adresi (ROM #1)" msgid "BIOS address (ROM #2)" -msgstr "" +msgstr "BIOS adresi (ROM #2)" msgid "BIOS address (ROM #3)" -msgstr "" +msgstr "BIOS adresi (ROM #3)" msgid "BIOS address (ROM #4)" -msgstr "" +msgstr "BIOS adresi (ROM #4)" msgid "Enable BIOS extension ROM Writes" msgstr "BIOS uzantı ROM yazımlarını etkinleştir" msgid "Enable BIOS extension ROM Writes (ROM #1)" -msgstr "" +msgstr "BIOS uzantı ROM yazımlarını etkinleştir (ROM #1)" msgid "Enable BIOS extension ROM Writes (ROM #2)" -msgstr "" +msgstr "BIOS uzantı ROM yazımlarını etkinleştir (ROM #2)" msgid "Enable BIOS extension ROM Writes (ROM #3)" -msgstr "" +msgstr "BIOS uzantı ROM yazımlarını etkinleştir (ROM #3)" msgid "Enable BIOS extension ROM Writes (ROM #4)" -msgstr "" +msgstr "BIOS uzantı ROM yazımlarını etkinleştir (ROM #4)" msgid "Linear framebuffer base" -msgstr "" +msgstr "Doğrusal çerçeve arabelleği baz adresi" msgid "Address" msgstr "Adres" @@ -1924,25 +1924,25 @@ msgid "IRQ" msgstr "IRQ" msgid "Serial port IRQ" -msgstr "" +msgstr "Seri bağlantı noktası IRQ'su" msgid "Parallel port IRQ" -msgstr "" +msgstr "Paralel bağlantı noktası IRQ'su" msgid "BIOS Revision" -msgstr "BIOS Sürümü" +msgstr "BIOS Revizyonu" msgid "BIOS Version" -msgstr "" +msgstr "BIOS Sürümü" msgid "BIOS Language" -msgstr "" +msgstr "BIOS Dili" msgid "IBM 5161 Expansion Unit" -msgstr "" +msgstr "IBM 5161 Genişletme Ünitesi" msgid "IBM Cassette Basic" -msgstr "" +msgstr "IBM Kaset BASIC" msgid "Translate 26 -> 17" msgstr "26 -> 17 olarak çevir" @@ -1960,16 +1960,16 @@ msgid "BIOS size" msgstr "BIOS boyutu" msgid "BIOS size (ROM #1)" -msgstr "" +msgstr "BIOS boyutu (ROM #1)" msgid "BIOS size (ROM #2)" -msgstr "" +msgstr "BIOS boyutu (ROM #2)" msgid "BIOS size (ROM #3)" -msgstr "" +msgstr "BIOS boyutu (ROM #3)" msgid "BIOS size (ROM #4)" -msgstr "" +msgstr "BIOS boyutu (ROM #4)" msgid "Map C0000-C7FFF as UMB" msgstr "C0000-C7FFF'yi UMB olarak eşle" @@ -2044,10 +2044,10 @@ msgid "Reverb Level" msgstr "Yankı Seviyesi" msgid "Interpolation Method" -msgstr "İnterpolasyon Yöntemi" +msgstr "Enterpolasyon Yöntemi" msgid "Dynamic Sample Loading" -msgstr "" +msgstr "Dinamik Kesit Yüklemesi" msgid "Reverb Output Gain" msgstr "Yankı Çıkış Sesi Artışı" @@ -2065,7 +2065,7 @@ msgid "Buttons" msgstr "Düğmeler" msgid "Serial Port" -msgstr "Seri Port" +msgstr "Seri Bağlantı Noktası" msgid "RTS toggle" msgstr "RTS ayarı" @@ -2086,7 +2086,7 @@ msgid "MAC Address" msgstr "MAC Adresi" msgid "MAC Address OUI" -msgstr "MAC Adresinin OUI'ı" +msgstr "MAC Adresinin OUI'si" msgid "Enable BIOS" msgstr "BIOS'u Etkinleştir" @@ -2137,10 +2137,10 @@ msgid "Enable Game port" msgstr "Gameport'ı etkinleştir" msgid "SID Model" -msgstr "" +msgstr "SID Modeli" msgid "SID Filter Strength" -msgstr "" +msgstr "SID Filtre Gücü" msgid "Surround module" msgstr "Surround modülü" @@ -2155,10 +2155,10 @@ msgid "SB Address" msgstr "SB adresi" msgid "Adlib Address" -msgstr "" +msgstr "AdLib adresi" msgid "Use EEPROM setting" -msgstr "" +msgstr "EEPROM ayarını kullan" msgid "WSS IRQ" msgstr "WSS IRQ" @@ -2245,16 +2245,16 @@ msgid "Blend" msgstr "Karışım" msgid "Font" -msgstr "" +msgstr "Yazı tipi" msgid "Bilinear filtering" -msgstr "Bilineer filtreleme" +msgstr "Çift doğrusal filtreleme" msgid "Video chroma-keying" -msgstr "" +msgstr "Video renk anahtarlanması" msgid "Dithering" -msgstr "Dithering" +msgstr "Titreklik" msgid "Enable NMI for CGA emulation" msgstr "CGA öykünmesi için NMI'yi etkinleştir" @@ -2296,31 +2296,31 @@ msgid "EMS mode" msgstr "EMS modu" msgid "EMS Address" -msgstr "" +msgstr "EMS adresi" msgid "EMS 1 Address" -msgstr "" +msgstr "EMS 1 adresi" msgid "EMS 2 Address" -msgstr "" +msgstr "EMS 2 adresi" msgid "EMS Memory Size" -msgstr "" +msgstr "EMS bellek büyüklüğü" msgid "EMS 1 Memory Size" -msgstr "" +msgstr "EMS 1 bellek büyüklüğü" msgid "EMS 2 Memory Size" -msgstr "" +msgstr "EMS 2 bellek büyüklüğü" msgid "Enable EMS" -msgstr "" +msgstr "EMS'yi etkinleştir" msgid "Enable EMS 1" -msgstr "" +msgstr "EMS 1'i etkinleştir" msgid "Enable EMS 2" -msgstr "" +msgstr "EMS 2'yi etkinleştir" msgid "Address for > 2 MB" msgstr "> 2 MB için adres" @@ -2377,10 +2377,10 @@ msgid "Wheel" msgstr "Tekerlek" msgid "Five + Wheel" -msgstr "Beş +Tekerlek" +msgstr "Beş + Tekerlek" msgid "Five + 2 Wheels" -msgstr "" +msgstr "Beş + 2 Tekerlek" msgid "A3 - SMT2 Serial / SMT3(R)V" msgstr "A3 - SMT2 Seri / SMT3(R)V" @@ -2446,7 +2446,7 @@ msgid "Composite" msgstr "Kompozit" msgid "True color" -msgstr "" +msgstr "Gerçek renk" msgid "Old" msgstr "Eski" @@ -2482,13 +2482,13 @@ msgid "Linear interpolation" msgstr "Doğrusal interpolasyon" msgid "Has secondary 8x8 character set" -msgstr "" +msgstr "İkincil 8x8 karakter seti var" msgid "Has Quadcolor II daughter board" -msgstr "" +msgstr "Quadcolor II yankartı var" msgid "Alternate monochrome contrast" -msgstr "" +msgstr "Alternatif tek renkli kontrast" msgid "128 KB" msgstr "128 KB" @@ -2524,7 +2524,7 @@ msgid "Gray" msgstr "Gri" msgid "Grayscale" -msgstr "" +msgstr "Gri tonlu" msgid "Color" msgstr "Renk" @@ -2542,10 +2542,10 @@ msgid "Bochs latest" msgstr "Bochs'un en son sürümü" msgid "Apply overscan deltas" -msgstr "" +msgstr "Aşırı tarama deltalarını uygula" msgid "Mono Interlaced" -msgstr "" +msgstr "Tek Renkli (Geçiş Taramalı)" msgid "Mono Non-Interlaced" msgstr "Tek Renkli (Geçiş Taramasız)" @@ -2560,7 +2560,7 @@ msgid "3Dfx Voodoo Graphics" msgstr "3Dfx Voodoo Grafikleri" msgid "3Dfx Voodoo 2" -msgstr "" +msgstr "3Dfx Voodoo 2" msgid "Obsidian SB50 + Amethyst (2 TMUs)" msgstr "Obsidian SB50 + Amethyst (2 TMU)" @@ -2632,7 +2632,7 @@ msgid "Named Pipe (Server)" msgstr "Adlandırılmış Boru (Sunucu)" msgid "Named Pipe (Client)" -msgstr "" +msgstr "Adlandırılmış Boru (İstemci)" msgid "Host Serial Passthrough" msgstr "Ana Sistem Seri Geçişi" @@ -2680,10 +2680,10 @@ msgid "Vendor" msgstr "Üretici" msgid "30 Hz (JMP2 = 1)" -msgstr "" +msgstr "30 Hz (JMP2 = 1)" msgid "60 Hz (JMP2 = 2)" -msgstr "" +msgstr "60 Hz (JMP2 = 2)" msgid "Generic PC/XT Memory Expansion" msgstr "Genel PC/XT Bellek Artırıcı" @@ -2758,184 +2758,184 @@ msgid "Could not load file %1" msgstr "%1 dosyası yüklenemedi" msgid "Key Bindings:" -msgstr "" +msgstr "Tuş Bağlamaları" msgid "Action" -msgstr "" +msgstr "Eylem" msgid "Keybind" -msgstr "" +msgstr "Tuş bağlaması" msgid "Clear binding" -msgstr "" +msgstr "Bağlamayı sil" msgid "Bind" -msgstr "" +msgstr "Bağla" msgid "Bind Key" -msgstr "" +msgstr "Tuş Bağla" msgid "Enter key combo:" -msgstr "" +msgstr "Tuş kombinasyonunu girin:" msgid "Bind conflict" -msgstr "" +msgstr "Bağlama çakışması" msgid "This key combo is already in use." -msgstr "" +msgstr "Bu tuş kombinasyonu zaten kullanılıyor." msgid "Send Control+Alt+Del" -msgstr "" +msgstr "Control+Alt+Del gönder" msgid "Send Control+Alt+Escape" -msgstr "" +msgstr "Control+Alt+Escape gönder" msgid "Toggle fullscreen" -msgstr "" +msgstr "Tam ekran modunu ayarla" msgid "Screenshot" -msgstr "" +msgstr "Ekran görüntüsü" msgid "Release mouse pointer" -msgstr "" +msgstr "Fare imlecini serbest bırak" msgid "Toggle pause" -msgstr "" +msgstr "Duraklamayı ayarla" msgid "Toggle mute" -msgstr "" +msgstr "Sessize almayı ayarla" msgid "Text files" -msgstr "" +msgstr "Metin dosyaları" msgid "ROM files" -msgstr "" +msgstr "ROM dosyaları" msgid "SoundFont files" -msgstr "" +msgstr "SoundFont dosyaları" msgid "Local Switch" -msgstr "" +msgstr "Yerel Switch" msgid "Remote Switch" -msgstr "" +msgstr "Uzak Switch" msgid "Switch:" -msgstr "" +msgstr "Switch:" msgid "Hub Mode" -msgstr "" +msgstr "Hub Modu" msgid "Hostname:" -msgstr "" +msgstr "Ana bilgisayar adı" msgid "ISA RTC" -msgstr "" +msgstr "ISA RTC" msgid "ISA RAM" -msgstr "" +msgstr "ISA RAM" msgid "ISA ROM" -msgstr "" +msgstr "ISA ROM" msgid "&Wipe NVRAM" -msgstr "" +msgstr "NVRAM'i te&mizle" msgid "This will delete all NVRAM (and related) files of the virtual machine located in the \"nvr\" subdirectory. You'll have to reconfigure the BIOS (and possibly other devices inside the VM) settings again if applicable.\n\nAre you sure you want to wipe all NVRAM contents of the virtual machine \"%1\"?" -msgstr "" +msgstr "Bu işlem, sanal makinenin \"nvr\" altdizininde bulunan tüm NVRAM (ve ilişkili) dosyalarını silecektir. Eğer uygulanabilir ise, Anakartın BIOS'unu (ve muhtemelen VM içindeki diğer cihazları) yeniden yapılandırmanız gerekecektir.\n\nSanal makinenin tüm NVRAM içeriğini silmek istediğinizden emin misiniz?" msgid "Success" -msgstr "" +msgstr "İşlem başarılı" msgid "Successfully wiped the NVRAM contents of the virtual machine \"%1\"" -msgstr "" +msgstr "\"%1\" adlı sanal makinenin NVRAM içeriği başarıyla silindi" msgid "An error occurred trying to wipe the NVRAM contents of the virtual machine \"%1\"" -msgstr "" +msgstr "\"%1\" adlı sanal makinenin NVRAM içeriği silinmeye çalışırken hata oluştu" msgid "%1 VM Manager" -msgstr "" +msgstr "%1 VM Yöneticisi" msgid "%n disk(s)" -msgstr "" +msgstr "%n disk" msgid "Unknown Status" -msgstr "" +msgstr "Bilinmeyen Durum" msgid "No Machines Found!" -msgstr "" +msgstr "Sanal Makine Bulunamadı!" msgid "Check for updates on startup" -msgstr "" +msgstr "Başlangıçta güncellemeleri kontrol et" msgid "Unable to determine release information" -msgstr "" +msgstr "Sürüm bilgisi belirlenemiyor" msgid "There was an error checking for updates:\n\n%1\n\nPlease try again later." -msgstr "" +msgstr "Güncellemeler kontrol edilirken bir hata oluştu:\n\n%1\n\nLütfen tekrar deneyin." msgid "Update check complete" -msgstr "" +msgstr "Güncelleme kontrolü tamamlandı" msgid "stable" -msgstr "" +msgstr "kararlı" msgid "beta" -msgstr "" +msgstr "beta" msgid "You are running the latest %1 version of 86Box: %2" -msgstr "" +msgstr "Şu anda 86Box'ın en yeni %1 sürümünü kullanıyorsunuz: %2" msgid "version" -msgstr "" +msgstr "sürüm" msgid "build" -msgstr "" +msgstr "yapı" msgid "You are currently running version %1." -msgstr "" +msgstr "Şu anda %1 sürümünü kullanıyorsunuz." msgid "Version %1 is now available." -msgstr "" +msgstr "Sürüm %1 şimdi mevcut." msgid "You are currently running build %1." -msgstr "" +msgstr "Şu anda %1 numaralı yapıyı kullanıyorsunuz." msgid "Build %1 is now available." -msgstr "" +msgstr "Yapı %1 şimdi mevcut." msgid "Would you like to visit the download page?" -msgstr "" +msgstr "İndirme sayfasını ziyaret etmek ister misiniz?" msgid "Visit download page" -msgstr "" +msgstr "İndirme sayfasını ziyaret et" msgid "Update check" -msgstr "" +msgstr "Güncelleme kontrolü" msgid "Checking for updates..." -msgstr "" +msgstr "Güncellemeler kontrol ediliyor..." msgid "86Box Update" -msgstr "" +msgstr "86Box Güncellemesi" msgid "Release notes:" -msgstr "" +msgstr "Sürüm notları:" msgid "%1 Hz" msgstr "%1 Hz" msgid "Virtual machine crash" -msgstr "" +msgstr "Sanal makine çöktü" msgid "The virtual machine \"%1\"'s process has unexpectedly terminated with exit code %2." -msgstr "" +msgstr "\"%1\" adlı sanal makinenin işlemi beklenmedik bir şekilde çıkış kodu %2 ile sona erdi." msgid "The system will not be added." -msgstr "" +msgstr "Sistem eklenmeyecek." msgid "&Update mouse every CPU frame" -msgstr "" +msgstr "Her CPU karesi ile fareyi güncelle" msgid "Hue" msgstr "Renk tonu" From 16d3e0614847d00c9ccbdfe3cddf8a9798815749 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Umut=20=C3=87a=C4=9Fan=20U=C3=A7anok?= Date: Thu, 21 Aug 2025 23:42:25 +0300 Subject: [PATCH 19/20] Few bits i missed --- src/qt/languages/tr-TR.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qt/languages/tr-TR.po b/src/qt/languages/tr-TR.po index 42e7ab1c2..eb75f9793 100644 --- a/src/qt/languages/tr-TR.po +++ b/src/qt/languages/tr-TR.po @@ -1012,7 +1012,7 @@ msgid "Don't reset" msgstr "Hayır" msgid "CD-ROM images" -msgstr "CD-ROM imajları" +msgstr "CD-ROM görüntüleri" msgid "%1 Device Configuration" msgstr "%1 Cihaz Yapılandırması" @@ -2638,7 +2638,7 @@ msgid "Host Serial Passthrough" msgstr "Ana Sistem Seri Geçişi" msgid "E&ject %1" -msgstr "%1 imajını &çıkar" +msgstr "%1 görüntüsünü &çıkar" msgid "&Unmute" msgstr "&Sesi aç" From d9fa1ee0f25326e4b54b980c3694f01e73277027 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Umut=20=C3=87a=C4=9Fan=20U=C3=A7anok?= Date: Thu, 21 Aug 2025 23:43:40 +0300 Subject: [PATCH 20/20] Consistency --- src/qt/languages/tr-TR.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qt/languages/tr-TR.po b/src/qt/languages/tr-TR.po index eb75f9793..59a4423b6 100644 --- a/src/qt/languages/tr-TR.po +++ b/src/qt/languages/tr-TR.po @@ -148,7 +148,7 @@ msgid "RGB &Color" msgstr "RGB (&Çok renkli)" msgid "RGB (no brown)" -msgstr "RGB (kahverengi olmadan)" +msgstr "RGB (kahverengi yok)" msgid "&RGB Grayscale" msgstr "RGB (&Gri tonlu)"