diff --git a/CHANGELOG b/CHANGELOG index e7cbd4b9e..0b523dfa9 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -26,7 +26,7 @@ - Added confirmation message while trying to load a Direct3D pixel shader which may not be needed or may have undesired effect. (Wengier) - - Added warning message if the Japanese PC-98 or JEGA + - Added warning message if DOS/V or Japanese PC-98/AX machine type is selected and a language file with an incompatible code page is specified. (Wengier) - Added a TrueType font selection page into Windows diff --git a/contrib/linux/com.dosbox_x.DOSBox-X.metainfo.xml.in b/contrib/linux/com.dosbox_x.DOSBox-X.metainfo.xml.in index d4b00f833..cb086ded2 100644 --- a/contrib/linux/com.dosbox_x.DOSBox-X.metainfo.xml.in +++ b/contrib/linux/com.dosbox_x.DOSBox-X.metainfo.xml.in @@ -10,7 +10,7 @@ Emulation - + diff --git a/contrib/translations/en/en_US.lng b/contrib/translations/en/en_US.lng index cd232bf2c..cab93b830 100644 --- a/contrib/translations/en/en_US.lng +++ b/contrib/translations/en/en_US.lng @@ -1305,6 +1305,10 @@ ECHO is off. :SHELL_ILLEGAL_SWITCH Invalid switch - %s +. +:SHELL_INVALID_PARAMETER +Invalid parameter - %s + . :SHELL_MISSING_PARAMETER Required parameter missing. @@ -1552,6 +1556,14 @@ The specified drive or path is invalid. :SHELL_CMD_SUBST_FAILURE SUBST: There is an error in your command line. +. +:SHELL_CMD_VTEXT_ON +DOS/V V-text is currently enabled. + +. +:SHELL_CMD_VTEXT_OFF +DOS/V V-text is currently disabled. + . :SHELL_STARTUP_TITLE Welcome to DOSBox-X ! diff --git a/contrib/translations/es/es_ES.lng b/contrib/translations/es/es_ES.lng index 45d1d50b8..9fb950dcd 100644 --- a/contrib/translations/es/es_ES.lng +++ b/contrib/translations/es/es_ES.lng @@ -1302,6 +1302,10 @@ Carácter de control inesperado: Dec %03u y Hex %#04x. :SHELL_ILLEGAL_SWITCH Parámetro no válido - %s +. +:SHELL_INVALID_PARAMETER +Parámetro no válido - %s + . :SHELL_MISSING_PARAMETER Falta un parámetro requerido. @@ -1549,6 +1553,14 @@ La ruta o unidad especificada no es válida. :SHELL_CMD_SUBST_FAILURE SUBST: Hay un error en tu línea de comando. +. +:SHELL_CMD_VTEXT_ON +DOS/V V-text está habilitado actualmente. + +. +:SHELL_CMD_VTEXT_OFF +DOS/V V-text está actualmente deshabilitado. + . :SHELL_STARTUP_TITLE Bienvenido a DOSBox-X! diff --git a/contrib/translations/fr/fr_FR.lng b/contrib/translations/fr/fr_FR.lng index 27fcc5d9f..fc25ba249 100644 --- a/contrib/translations/fr/fr_FR.lng +++ b/contrib/translations/fr/fr_FR.lng @@ -1303,6 +1303,10 @@ ECHO est désactivé. :SHELL_ILLEGAL_SWITCH Commutateur non valide - %s +. +:SHELL_INVALID_PARAMETER +Paramètre invalide - %s + . :SHELL_MISSING_PARAMETER Paramètre requis manquant. @@ -1550,6 +1554,14 @@ Le lecteur ou le chemin d'accès spécifié n'est pas valide. :SHELL_CMD_SUBST_FAILURE SUBST : Il y a une erreur dans votre ligne de commande. +. +:SHELL_CMD_VTEXT_ON +DOS/V V-text est actuellement activé. + +. +:SHELL_CMD_VTEXT_OFF +DOS/V V-text est actuellement désactivé. + . :SHELL_STARTUP_TITLE Bienvenue sur DOSBox-X ! diff --git a/contrib/translations/ja/ja_JP.lng b/contrib/translations/ja/ja_JP.lng index 2116d255b..b63c837f7 100644 --- a/contrib/translations/ja/ja_JP.lng +++ b/contrib/translations/ja/ja_JP.lng @@ -1296,6 +1296,10 @@ ECHO は です。 :SHELL_ILLEGAL_SWITCH 無効なスイッチ - %s +. +:SHELL_INVALID_PARAMETER +無効なパラメーター - %s + . :SHELL_MISSING_PARAMETER パラメータが足りません。 @@ -1542,6 +1546,14 @@ SUBST はローカルドライブにのみ使用可能です。 :SHELL_CMD_SUBST_FAILURE SUBST: コマンドラインにエラーがあります。 +. +:SHELL_CMD_VTEXT_ON +DOS/V V-text は現在有効になっています。 + +. +:SHELL_CMD_VTEXT_OFF +DOS/V V-text は現在無効になっています。 + . :SHELL_STARTUP_TITLE DOSBox-Xへようこそ ! diff --git a/contrib/translations/tr/tr_TR.lng b/contrib/translations/tr/tr_TR.lng index 01c5f3e42..24a280097 100644 --- a/contrib/translations/tr/tr_TR.lng +++ b/contrib/translations/tr/tr_TR.lng @@ -1305,6 +1305,10 @@ ECHO kapalı. :SHELL_ILLEGAL_SWITCH Geçersiz anahtar - %s +. +:SHELL_INVALID_PARAMETER +Geçersiz parametre - %s + . :SHELL_MISSING_PARAMETER Gereken parametre eksik. @@ -1552,6 +1556,14 @@ Belirtilen sürücü veya yol geçersiz. :SHELL_CMD_SUBST_FAILURE SUBST: Komut satırınızda bir hata var. +. +:SHELL_CMD_VTEXT_ON +DOS/V V-text şu anda etkin. + +. +:SHELL_CMD_VTEXT_OFF +DOS/V V-text şu anda devre dışı. + . :SHELL_STARTUP_TITLE DOSBox-X'e hoş geldiniz! diff --git a/contrib/translations/zh/zh_CN.lng b/contrib/translations/zh/zh_CN.lng index 8caa7c5bc..04bf1536a 100644 --- a/contrib/translations/zh/zh_CN.lng +++ b/contrib/translations/zh/zh_CN.lng @@ -1292,6 +1292,10 @@ ECHO状态为关. :SHELL_ILLEGAL_SWITCH 开关非法 - %s +. +:SHELL_INVALID_PARAMETER +非法参数 - %s + . :SHELL_MISSING_PARAMETER 缺少必要的参数. @@ -1535,6 +1539,14 @@ SUBST 命令只能挂载本地驱动器. :SHELL_CMD_SUBST_INVALID_PATH 指定的驱动器或目录非法. +. +:SHELL_CMD_VTEXT_ON +DOS/V V-text 当前状态为开. + +. +:SHELL_CMD_VTEXT_OFF +DOS/V V-text 当前状态为关. + . :SHELL_CMD_SUBST_FAILURE SUBST: 命令行参数错误. diff --git a/contrib/translations/zh/zh_TW.lng b/contrib/translations/zh/zh_TW.lng index 1032e1cc1..da54b5166 100644 --- a/contrib/translations/zh/zh_TW.lng +++ b/contrib/translations/zh/zh_TW.lng @@ -1288,6 +1288,10 @@ ECHO 狀態為開. :SHELL_CMD_ECHO_OFF ECHO 狀態為關. +. +:SHELL_INVALID_PARAMETER +無效的參數 - %s + . :SHELL_ILLEGAL_SWITCH 無效的參數 - %s @@ -1542,6 +1546,14 @@ SUBST 命令只能掛載本機磁碟機. :SHELL_CMD_SUBST_FAILURE SUBST: 命令列參數錯誤. +. +:SHELL_CMD_VTEXT_ON +DOS/V V-text 目前狀態為開. + +. +:SHELL_CMD_VTEXT_OFF +DOS/V V-text 目前狀態為關. + . :SHELL_STARTUP_TITLE 歡迎使用 DOSBox-X ! diff --git a/include/build_timestamp.h b/include/build_timestamp.h index a38932dd8..60937613d 100644 --- a/include/build_timestamp.h +++ b/include/build_timestamp.h @@ -1,4 +1,4 @@ /*auto-generated*/ -#define UPDATED_STR "Nov 14, 2021 11:29:49pm" -#define GIT_COMMIT_HASH "588579d" +#define UPDATED_STR "Nov 16, 2021 10:58:05pm" +#define GIT_COMMIT_HASH "5d8b20d" #define COPYRIGHT_END_YEAR "2021" diff --git a/src/dos/dos_misc.cpp b/src/dos/dos_misc.cpp index f73e452cd..6fca43da4 100644 --- a/src/dos/dos_misc.cpp +++ b/src/dos/dos_misc.cpp @@ -401,7 +401,7 @@ static bool DOS_MultiplexFunctions(void) { char psp_name[9]; DOS_MCB psp_mcb(dos.psp()-1); psp_mcb.GetFileName(psp_name); - if (((!strcmp(psp_name, "INSTALL") || !strcmp(psp_name, "INSTALLD")) && reg_sp >= 0xD000 && mem_readw(SegPhys(ss)+reg_sp)/0x100 == 0x1E) || !strcmp(psp_name, "UNERASE") || !strcmp(psp_name, "UNFORMAT")) return false; + if (((!strcmp(psp_name, "INSTALL") || !strcmp(psp_name, "INSTALLD")) && reg_sp >= 0xD000 && mem_readw(SegPhys(ss)+reg_sp)/0x100 == 0x1E) || !strcmp(psp_name, "DISKEDIT") || !strcmp(psp_name, "NDD") || !strcmp(psp_name, "NDIAGS") || !strcmp(psp_name, "UNERASE") || !strcmp(psp_name, "UNFORMAT")) return false; } reg_al = 1; reg_ah = 1; diff --git a/src/misc/messages.cpp b/src/misc/messages.cpp index acf1f06df..187dc9fce 100644 --- a/src/misc/messages.cpp +++ b/src/misc/messages.cpp @@ -173,7 +173,7 @@ void LoadMessageFile(const char * fname) { if (!strcmp(p, "CODEPAGE")) { int c = atoi(r+1); if ((!res || control->opt_langcp) && c>0 && isSupportedCP(c)) { - if ((IS_PC98_ARCH||IS_JEGA_ARCH) && c!=437 && c!=932 && !systemmessagebox("DOSBox-X language file", "You have specified a language file which uses a code page incompatible with the Japanese PC-98 or JEGA/AX system.\n\nAre you sure to use the language file for this machine type?", "yesno","question", 2)) { + if (((IS_PC98_ARCH||IS_JEGA_ARCH) && c!=437 && c!=932 && !systemmessagebox("DOSBox-X language file", "You have specified a language file which uses a code page incompatible with the Japanese PC-98 or JEGA/AX system.\n\nAre you sure to use the language file for this machine type?", "yesno","question", 2)) || (((IS_JDOSV && c!=932) || (IS_PDOSV && c!=936) || (IS_KDOSV && c!=949) || (IS_CDOSV && c!=950)) && c!=437 && !systemmessagebox("DOSBox-X language file", "You have specified a language file which uses a code page incompatible with the current DOS/V system.\n\nAre you sure to use the language file for this machine type?", "yesno","question", 2))) { fclose(mfile); dos.loaded_codepage = cp; return; diff --git a/src/shell/shell.cpp b/src/shell/shell.cpp index d7d1c5505..f1b031751 100644 --- a/src/shell/shell.cpp +++ b/src/shell/shell.cpp @@ -1199,6 +1199,7 @@ void SHELL_Init() { MSG_Add("SHELL_CMD_ECHO_ON","ECHO is on.\n"); MSG_Add("SHELL_CMD_ECHO_OFF","ECHO is off.\n"); MSG_Add("SHELL_ILLEGAL_SWITCH","Invalid switch - %s\n"); + MSG_Add("SHELL_INVALID_PARAMETER","Invalid parameter - %s\n"); MSG_Add("SHELL_MISSING_PARAMETER","Required parameter missing.\n"); MSG_Add("SHELL_MISSING_FILE","The following file is missing or corrupted: %s\n"); MSG_Add("SHELL_CMD_CHDIR_ERROR","Invalid directory - %s\n"); @@ -1268,6 +1269,8 @@ void SHELL_Init() { MSG_Add("SHELL_CMD_SUBST_NOT_LOCAL","It is only possible to use SUBST on local drives.\n"); MSG_Add("SHELL_CMD_SUBST_INVALID_PATH","The specified drive or path is invalid.\n"); MSG_Add("SHELL_CMD_SUBST_FAILURE","SUBST: There is an error in your command line.\n"); + MSG_Add("SHELL_CMD_VTEXT_ON","DOS/V V-text is currently enabled.\n"); + MSG_Add("SHELL_CMD_VTEXT_OFF","DOS/V V-text is currently disabled.\n"); std::string mapper_keybind = mapper_event_keybind_string("host"); if (mapper_keybind.empty()) mapper_keybind = "unbound"; diff --git a/src/shell/shell_cmds.cpp b/src/shell/shell_cmds.cpp index 63a679c2a..2a876d600 100644 --- a/src/shell/shell_cmds.cpp +++ b/src/shell/shell_cmds.cpp @@ -402,7 +402,7 @@ void DOS_Shell::CMD_INT2FDBG(char * args) { } else WriteOut("INT 2Fh hook was already set up.\n"); } else if (*args) - WriteOut("Invalid parameter - %s\n", args); + WriteOut(MSG_Get("SHELL_INVALID_PARAMETER"), args); } #endif @@ -771,7 +771,7 @@ void DOS_Shell::CMD_DELTREE(char * args) { return; } if (!*args) { - WriteOut(MSG_Get("SHELL_MISSING_PARAMETER"),rem); + WriteOut(MSG_Get("SHELL_MISSING_PARAMETER")); return; } @@ -3387,7 +3387,7 @@ void DOS_Shell::CMD_VER(char *args) { if (*word=='=') word=trim(word+1); if (isdigit(*word)) { if (*args) { - WriteOut("Invalid parameter - %s\n", args); + WriteOut(MSG_Get("SHELL_INVALID_PARAMETER"), args); return; } if (set_ver(word)) @@ -3397,7 +3397,7 @@ void DOS_Shell::CMD_VER(char *args) { return; } if (*word) { - WriteOut("Invalid parameter - %s\n", word); + WriteOut(MSG_Get("SHELL_INVALID_PARAMETER"), word); return; } } @@ -4166,9 +4166,9 @@ void DOS_Shell::CMD_VTEXT(char *args) else if(!strcasecmp(word, "0")) new_mode = 0x03; else { - WriteOut("Invalid parameter - %s\n", word); - return; - } + WriteOut(MSG_Get("SHELL_INVALID_PARAMETER"), word); + return; + } if(new_mode != 0xff) { reg_ax = new_mode; CALLBACK_RunRealInt(0x10); @@ -4176,6 +4176,5 @@ void DOS_Shell::CMD_VTEXT(char *args) } } uint8_t mode = real_readb(BIOSMEM_SEG, BIOSMEM_CURRENT_MODE); - WriteOut("DOS/V V-text is currently %s. Video mode is %02xh.\n", mode == 0x70?"enabled":"disabled", mode); + WriteOut(MSG_Get(mode == 0x70?"SHELL_CMD_VTEXT_ON":"SHELL_CMD_VTEXT_OFF")); } -