From 2622e14e351667af0243a0b20d172a3bac63cb9c Mon Sep 17 00:00:00 2001 From: Wengier Date: Thu, 30 Jul 2020 14:53:45 -0400 Subject: [PATCH] CP 853 --- CHANGELOG | 4 +- include/CMakeLists.txt | 1 + include/cp853_uni.h | 35 +++++ mappings/CP853.TXT | 268 ++++++++++++++++++++++++++++++++ mappings/regenerate.sh | 1 + src/dos/drive_local.cpp | 5 + vs2015/dosbox-x.vcxproj | 1 + vs2015/dosbox-x.vcxproj.filters | 3 + 8 files changed, 316 insertions(+), 2 deletions(-) create mode 100644 include/cp853_uni.h create mode 100644 mappings/CP853.TXT diff --git a/CHANGELOG b/CHANGELOG index a9c533dfa..ae293929e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,8 +2,8 @@ - Add and enable the setting "usescancodes=auto" by default to fix issues with non-US keyboards on SDL1 builds. (Wengier) - - Added code pages 808, 850, 852, 855, 857, 858, - 869 and 872 for host to guest code page mapping + - Added code pages 808, 850, 852, 853, 855, 857, + 858, 869, 872 for host to guest codepage mapping on mounted local or overlay drives. (Wengier) - Fixed inputting of ASCII character 224 and 240 in Windows SDL2 or MinGW builds. (Wengier) diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt index 62b68447d..a044a0a89 100644 --- a/include/CMakeLists.txt +++ b/include/CMakeLists.txt @@ -14,6 +14,7 @@ set(INCLUDES "${CMAKE_CURRENT_LIST_DIR}/cp808_uni.h" "${CMAKE_CURRENT_LIST_DIR}/cp850_uni.h" "${CMAKE_CURRENT_LIST_DIR}/cp852_uni.h" + "${CMAKE_CURRENT_LIST_DIR}/cp853_uni.h" "${CMAKE_CURRENT_LIST_DIR}/cp855_uni.h" "${CMAKE_CURRENT_LIST_DIR}/cp857_uni.h" "${CMAKE_CURRENT_LIST_DIR}/cp858_uni.h" diff --git a/include/cp853_uni.h b/include/cp853_uni.h new file mode 100644 index 000000000..f62a6308e --- /dev/null +++ b/include/cp853_uni.h @@ -0,0 +1,35 @@ +/* single-byte charset to unicode. 0x0000 means no mapping */ +const uint16_t cp853_to_unicode[256] = { + 0x0000,0x263a,0x263b,0x2665,0x2666,0x2663,0x2660,0x2022, /* 0x00-0x07 */ + 0x25d8,0x25cb,0x25d9,0x2642,0x2640,0x266a,0x266b,0x263c, /* 0x08-0x0F */ + 0x25ba,0x25c4,0x2195,0x203c,0x00b6,0x00a7,0x25ac,0x21a8, /* 0x10-0x17 */ + 0x2191,0x2193,0x2192,0x2190,0x221f,0x2194,0x25b2,0x25bc, /* 0x18-0x1F */ + 0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027, /* 0x20-0x27 */ + 0x0028,0x0029,0x002a,0x002b,0x002c,0x002d,0x002e,0x002f, /* 0x28-0x2F */ + 0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037, /* 0x30-0x37 */ + 0x0038,0x0039,0x003a,0x003b,0x003c,0x003d,0x003e,0x003f, /* 0x38-0x3F */ + 0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047, /* 0x40-0x47 */ + 0x0048,0x0049,0x004a,0x004b,0x004c,0x004d,0x004e,0x004f, /* 0x48-0x4F */ + 0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057, /* 0x50-0x57 */ + 0x0058,0x0059,0x005a,0x005b,0x005c,0x005d,0x005e,0x005f, /* 0x58-0x5F */ + 0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067, /* 0x60-0x67 */ + 0x0068,0x0069,0x006a,0x006b,0x006c,0x006d,0x006e,0x006f, /* 0x68-0x6F */ + 0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077, /* 0x70-0x77 */ + 0x0078,0x0079,0x007a,0x007b,0x007c,0x007d,0x007e,0x007f, /* 0x78-0x7F */ + 0x00c7,0x00fc,0x00e9,0x00e2,0x00e4,0x00e0,0x0109,0x00e7, /* 0x80-0x87 */ + 0x00ea,0x00eb,0x00e8,0x00ef,0x00ee,0x00ec,0x00c4,0x0108, /* 0x88-0x8F */ + 0x00c9,0x010b,0x010a,0x00f4,0x00f6,0x00f2,0x00fb,0x00f9, /* 0x90-0x97 */ + 0x0130,0x00d6,0x00dc,0x011d,0x00a3,0x011c,0x00d7,0x0135, /* 0x98-0x9F */ + 0x00e1,0x00ed,0x00f3,0x00fa,0x00f1,0x00d1,0x011e,0x011f, /* 0xA0-0xA7 */ + 0x0124,0x0125,0x0000,0x00bd,0x0134,0x015f,0x00ab,0x00bb, /* 0xA8-0xAF */ + 0x2591,0x2592,0x2593,0x2502,0x2524,0x00c1,0x00c2,0x00c0, /* 0xB0-0xB7 */ + 0x015e,0x2563,0x2551,0x2557,0x255d,0x017b,0x017c,0x2510, /* 0xB8-0xBF */ + 0x2514,0x2534,0x252c,0x251c,0x2500,0x253c,0x015c,0x015d, /* 0xC0-0xC7 */ + 0x255a,0x2554,0x2569,0x2566,0x2560,0x2550,0x256c,0x00a4, /* 0xC8-0xCF */ + 0x0000,0x0000,0x00ca,0x00cb,0x00c8,0x0131,0x00cd,0x00ce, /* 0xD0-0xD7 */ + 0x00cf,0x2518,0x250c,0x2588,0x2584,0x0000,0x00cc,0x2580, /* 0xD8-0xDF */ + 0x00d3,0x00df,0x00d4,0x00d2,0x0120,0x0121,0x00b5,0x0126, /* 0xE0-0xE7 */ + 0x0127,0x00da,0x00db,0x00d9,0x016c,0x016d,0x0000,0x00b4, /* 0xE8-0xEF */ + 0x00ad,0x0000,0x2113,0x0149,0x02d8,0x00a7,0x00f7,0x00b8, /* 0xF0-0xF7 */ + 0x00b0,0x00a8,0x02d9,0x0000,0x00b3,0x00b2,0x25a0,0x00a0 /* 0xF8-0xFF */ +}; diff --git a/mappings/CP853.TXT b/mappings/CP853.TXT new file mode 100644 index 000000000..37e21227a --- /dev/null +++ b/mappings/CP853.TXT @@ -0,0 +1,268 @@ +# +# Name: cp853_DOSLatin3 to Unicode table +# Unicode version: 2.0 +# Table version: 2.00 +# Table format: Format A +# Date: 04/24/96 +# Contact: Shawn.Steele@microsoft.com +# +# General notes: none +# +# Format: Three tab-separated columns +# Column #1 is the cp853_DOSLatin3 code (in hex) +# Column #2 is the Unicode (in hex as 0xXXXX) +# Column #3 is the Unicode name (follows a comment sign, '#') +# +# The entries are in cp853_DOSLatin3 order +# +# DOSBox-X: This has been modified to reflect the actual character codes on IBM PC MS-DOS CP437 +0x00 0x0000 #NULL +0x01 0x263A #START OF HEADING +0x02 0x263B #START OF TEXT +0x03 0x2665 #END OF TEXT +0x04 0x2666 #END OF TRANSMISSION +0x05 0x2663 #ENQUIRY +0x06 0x2660 #ACKNOWLEDGE +0x07 0x2022 #BELL +0x08 0x25D8 #BACKSPACE +0x09 0x25CB #HORIZONTAL TABULATION +0x0a 0x25D9 #LINE FEED +0x0b 0x2642 #VERTICAL TABULATION +0x0c 0x2640 #FORM FEED +0x0d 0x266A #CARRIAGE RETURN +0x0e 0x266B #SHIFT OUT +0x0f 0x263C #SHIFT IN +0x10 0x25BA #DATA LINK ESCAPE +0x11 0x25C4 #DEVICE CONTROL ONE +0x12 0x2195 #DEVICE CONTROL TWO +0x13 0x203C #DEVICE CONTROL THREE +0x14 0x00B6 #DEVICE CONTROL FOUR +0x15 0x00A7 #NEGATIVE ACKNOWLEDGE +0x16 0x25AC #SYNCHRONOUS IDLE +0x17 0x21A8 #END OF TRANSMISSION BLOCK +0x18 0x2191 #CANCEL +0x19 0x2193 #END OF MEDIUM +0x1a 0x2192 #SUBSTITUTE +0x1b 0x2190 #ESCAPE +0x1c 0x221F #FILE SEPARATOR +0x1d 0x2194 #GROUP SEPARATOR +0x1e 0x25B2 #RECORD SEPARATOR +0x1f 0x25BC #UNIT SEPARATOR +0x20 0x0020 #SPACE +0x21 0x0021 #EXCLAMATION MARK +0x22 0x0022 #QUOTATION MARK +0x23 0x0023 #NUMBER SIGN +0x24 0x0024 #DOLLAR SIGN +0x25 0x0025 #PERCENT SIGN +0x26 0x0026 #AMPERSAND +0x27 0x0027 #APOSTROPHE +0x28 0x0028 #LEFT PARENTHESIS +0x29 0x0029 #RIGHT PARENTHESIS +0x2A 0x002A #ASTERISK +0x2B 0x002B #PLUS SIGN +0x2C 0x002C #COMMA +0x2D 0x002D #HYPHEN-MINUS +0x2E 0x002E #FULL STOP +0x2F 0x002F #SOLIDUS +0x30 0x0030 #DIGIT ZERO +0x31 0x0031 #DIGIT ONE +0x32 0x0032 #DIGIT TWO +0x33 0x0033 #DIGIT THREE +0x34 0x0034 #DIGIT FOUR +0x35 0x0035 #DIGIT FIVE +0x36 0x0036 #DIGIT SIX +0x37 0x0037 #DIGIT SEVEN +0x38 0x0038 #DIGIT EIGHT +0x39 0x0039 #DIGIT NINE +0x3A 0x003A #COLON +0x3B 0x003B #SEMICOLON +0x3C 0x003C #LESS-THAN SIGN +0x3D 0x003D #EQUALS SIGN +0x3E 0x003E #GREATER-THAN SIGN +0x3F 0x003F #QUESTION MARK +0x40 0x0040 #COMMERCIAL AT +0x41 0x0041 #LATIN CAPITAL LETTER A +0x42 0x0042 #LATIN CAPITAL LETTER B +0x43 0x0043 #LATIN CAPITAL LETTER C +0x44 0x0044 #LATIN CAPITAL LETTER D +0x45 0x0045 #LATIN CAPITAL LETTER E +0x46 0x0046 #LATIN CAPITAL LETTER F +0x47 0x0047 #LATIN CAPITAL LETTER G +0x48 0x0048 #LATIN CAPITAL LETTER H +0x49 0x0049 #LATIN CAPITAL LETTER I +0x4A 0x004A #LATIN CAPITAL LETTER J +0x4B 0x004B #LATIN CAPITAL LETTER K +0x4C 0x004C #LATIN CAPITAL LETTER L +0x4D 0x004D #LATIN CAPITAL LETTER M +0x4E 0x004E #LATIN CAPITAL LETTER N +0x4F 0x004F #LATIN CAPITAL LETTER O +0x50 0x0050 #LATIN CAPITAL LETTER P +0x51 0x0051 #LATIN CAPITAL LETTER Q +0x52 0x0052 #LATIN CAPITAL LETTER R +0x53 0x0053 #LATIN CAPITAL LETTER S +0x54 0x0054 #LATIN CAPITAL LETTER T +0x55 0x0055 #LATIN CAPITAL LETTER U +0x56 0x0056 #LATIN CAPITAL LETTER V +0x57 0x0057 #LATIN CAPITAL LETTER W +0x58 0x0058 #LATIN CAPITAL LETTER X +0x59 0x0059 #LATIN CAPITAL LETTER Y +0x5A 0x005A #LATIN CAPITAL LETTER Z +0x5B 0x005B #LEFT SQUARE BRACKET +0x5C 0x005C #REVERSE SOLIDUS +0x5D 0x005D #RIGHT SQUARE BRACKET +0x5E 0x005E #CIRCUMFLEX ACCENT +0x5F 0x005F #LOW LINE +0x60 0x0060 #GRAVE ACCENT +0x61 0x0061 #LATIN SMALL LETTER A +0x62 0x0062 #LATIN SMALL LETTER B +0x63 0x0063 #LATIN SMALL LETTER C +0x64 0x0064 #LATIN SMALL LETTER D +0x65 0x0065 #LATIN SMALL LETTER E +0x66 0x0066 #LATIN SMALL LETTER F +0x67 0x0067 #LATIN SMALL LETTER G +0x68 0x0068 #LATIN SMALL LETTER H +0x69 0x0069 #LATIN SMALL LETTER I +0x6A 0x006A #LATIN SMALL LETTER J +0x6B 0x006B #LATIN SMALL LETTER K +0x6C 0x006C #LATIN SMALL LETTER L +0x6D 0x006D #LATIN SMALL LETTER M +0x6E 0x006E #LATIN SMALL LETTER N +0x6F 0x006F #LATIN SMALL LETTER O +0x70 0x0070 #LATIN SMALL LETTER P +0x71 0x0071 #LATIN SMALL LETTER Q +0x72 0x0072 #LATIN SMALL LETTER R +0x73 0x0073 #LATIN SMALL LETTER S +0x74 0x0074 #LATIN SMALL LETTER T +0x75 0x0075 #LATIN SMALL LETTER U +0x76 0x0076 #LATIN SMALL LETTER V +0x77 0x0077 #LATIN SMALL LETTER W +0x78 0x0078 #LATIN SMALL LETTER X +0x79 0x0079 #LATIN SMALL LETTER Y +0x7A 0x007A #LATIN SMALL LETTER Z +0x7B 0x007B #LEFT CURLY BRACKET +0x7C 0x007C #VERTICAL LINE +0x7D 0x007D #RIGHT CURLY BRACKET +0x7E 0x007E #TILDE +0x7F 0x007F #DELETE +0x80 0x00C7 #LATIN CAPITAL LETTER C WITH CEDILLA +0x81 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS +0x82 0x00E9 #LATIN SMALL LETTER E WITH ACUTE +0x83 0x00E2 #LATIN SMALL LETTER A WITH CIRCUMFLEX +0x84 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS +0x85 0x00E0 #LATIN SMALL LETTER A WITH GRAVE +0x86 0x0109 #LATIN SMALL LETTER C WITH CIRCUMFLEX +0x87 0x00E7 #LATIN SMALL LETTER C WITH CEDILLA +0x88 0x00EA #LATIN SMALL LETTER E WITH CIRCUMFLEX +0x89 0x00EB #LATIN SMALL LETTER E WITH DIAERESIS +0x8A 0x00E8 #LATIN SMALL LETTER E WITH GRAVE +0x8B 0x00EF #LATIN SMALL LETTER I WITH DIAERESIS +0x8C 0x00EE #LATIN SMALL LETTER I WITH CIRCUMFLEX +0x8D 0x00EC #LATIN SMALL LETTER I WITH GRAVE +0x8E 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS +0x8F 0x0108 #LATIN CAPITAL LETTER C WITH CIRCUMFLEX +0x90 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE +0x91 0x010B #LATIN SMALL LETTER C WITH DOT ABOVE +0x92 0x010A #LATIN CAPITAL LETTER C WITH DOT ABOVE +0x93 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX +0x94 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS +0x95 0x00F2 #LATIN SMALL LETTER O WITH GRAVE +0x96 0x00FB #LATIN SMALL LETTER U WITH CIRCUMFLEX +0x97 0x00F9 #LATIN SMALL LETTER U WITH GRAVE +0x98 0x0130 #LATIN CAPITAL LETTER I WITH DOT ABOVE +0x99 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS +0x9A 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS +0x9B 0x011D #LATIN SMALL LETTER G WITH CIRCUMFLEX +0x9C 0x00A3 #POUND SIGN +0x9D 0x011C #LATIN CAPITAL LETTER G WITH CIRCUMFLEX +0x9E 0x00D7 #MULTIPLICATION SIGN +0x9F 0x0135 #LATIN SMALL LETTER J WITH CIRCUMFLEX +0xA0 0x00E1 #LATIN SMALL LETTER A WITH ACUTE +0xA1 0x00ED #LATIN SMALL LETTER I WITH ACUTE +0xA2 0x00F3 #LATIN SMALL LETTER O WITH ACUTE +0xA3 0x00FA #LATIN SMALL LETTER U WITH ACUTE +0xA4 0x00F1 #LATIN SMALL LETTER N WITH TILDE +0xA5 0x00D1 #LATIN CAPITAL LETTER N WITH TILDE +0xA6 0x011E #LATIN CAPITAL LETTER G WITH BREVE +0xA7 0x011F #LATIN SMALL LETTER G WITH BREVE +0xA8 0x0124 #LATIN CAPITAL LETTER H WITH CIRCUMFLEX +0xA9 0x0125 #LATIN SMALL LETTER H WITH CIRCUMFLEX +0xAB 0x00BD #VULGAR FRACTION ONE HALF +0xAC 0x0134 #LATIN CAPITAL LETTER J WITH CIRCUMFLEX +0xAD 0x015F #LATIN SMALL LETTER S WITH CEDILLA +0xAE 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +0xAF 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +0xB0 0x2591 #LIGHT SHADE +0xB1 0x2592 #MEDIUM SHADE +0xB2 0x2593 #DARK SHADE +0xB3 0x2502 #BOX DRAWINGS LIGHT VERTICAL +0xB4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT +0xB5 0x00C1 #LATIN CAPITAL LETTER A WITH ACUTE +0xB6 0x00C2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX +0xB7 0x00C0 #LATIN CAPITAL LETTER A WITH GRAVE +0xB8 0x015E #LATIN CAPITAL LETTER S WITH CEDILLA +0xB9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT +0xBA 0x2551 #BOX DRAWINGS DOUBLE VERTICAL +0xBB 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT +0xBC 0x255D #BOX DRAWINGS DOUBLE UP AND LEFT +0xBD 0x017B #LATIN CAPITAL LETTER Z WITH DOT ABOVE +0xBE 0x017C #LATIN SMALL LETTER Z WITH DOT ABOVE +0xBF 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT +0xC0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT +0xC1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL +0xC2 0x252C #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL +0xC3 0x251C #BOX DRAWINGS LIGHT VERTICAL AND RIGHT +0xC4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL +0xC5 0x253C #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL +0xC6 0x015C #LATIN CAPITAL LETTER S WITH CIRCUMFLEX +0xC7 0x015D #LATIN SMALL LETTER S WITH CIRCUMFLEX +0xC8 0x255A #BOX DRAWINGS DOUBLE UP AND RIGHT +0xC9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT +0xCA 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL +0xCB 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL +0xCC 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT +0xCD 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL +0xCE 0x256C #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL +0xCF 0x00A4 #CURRENCY SIGN +0xD2 0x00CA #LATIN CAPITAL LETTER E WITH CIRCUMFLEX +0xD3 0x00CB #LATIN CAPITAL LETTER E WITH DIAERESIS +0xD4 0x00C8 #LATIN CAPITAL LETTER E WITH GRAVE +0xD5 0x0131 #LATIN SMALL LETTER DOTLESS I +0xD6 0x00CD #LATIN CAPITAL LETTER I WITH ACUTE +0xD7 0x00CE #LATIN CAPITAL LETTER I WITH CIRCUMFLEX +0xD8 0x00CF #LATIN CAPITAL LETTER I WITH DIAERESIS +0xD9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT +0xDA 0x250C #BOX DRAWINGS LIGHT DOWN AND RIGHT +0xDB 0x2588 #FULL BLOCK +0xDC 0x2584 #LOWER HALF BLOCK +0xDE 0x00CC #LATIN CAPITAL LETTER I WITH GRAVE +0xDF 0x2580 #UPPER HALF BLOCK +0xE0 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE +0xE1 0x00DF #LATIN SMALL LETTER SHARP S +0xE2 0x00D4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX +0xE3 0x00D2 #LATIN CAPITAL LETTER O WITH GRAVE +0xE4 0x0120 #LATIN CAPITAL LETTER G WITH DOT ABOVE +0xE5 0x0121 #LATIN SMALL LETTER G WITH DOT ABOVE +0xE6 0x00B5 #MICRO SIGN +0xE7 0x0126 #LATIN CAPITAL LETTER H WITH STROKE +0xE8 0x0127 #LATIN SMALL LETTER H WITH STROKE +0xE9 0x00DA #LATIN CAPITAL LETTER U WITH ACUTE +0xEA 0x00DB #LATIN CAPITAL LETTER U WITH CIRCUMFLEX +0xEB 0x00D9 #LATIN CAPITAL LETTER U WITH GRAVE +0xEC 0x016C #LATIN CAPITAL LETTER U WITH BREVE +0xED 0x016D #LATIN SMALL LETTER U WITH BREVE +0xEF 0x00B4 #ACUTE ACCENT +0xF0 0x00AD #SOFT HYPHEN +0xF2 0x2113 #SCRIPT SMALL L +0xF3 0x0149 #LATIN SMALL LETTER N PRECEDED BY APOSTROPHE +0xF4 0x02D8 #BREVE +0xF5 0x00A7 #SECTION SIGN +0xF6 0x00F7 #DIVISION SIGN +0xF7 0x00B8 #CEDILLA +0xF8 0x00B0 #DEGREE SIGN +0xF9 0x00A8 #DIAERESIS +0xFA 0x02D9 #DOT ABOVE +0xFC 0x00B3 #SUPERSCRIPT THREE +0xFD 0x00B2 #SUPERSCRIPT TWO +0xFE 0x25A0 #BLACK SQUARE +0xFF 0x00A0 #NO-BREAK SPACE + \ No newline at end of file diff --git a/mappings/regenerate.sh b/mappings/regenerate.sh index a507a240a..c87e0d981 100755 --- a/mappings/regenerate.sh +++ b/mappings/regenerate.sh @@ -3,6 +3,7 @@ ./sb2u.pl cp808_to_unicode ../include/cp808_uni.h || exit 1 ./sb2u.pl cp850_to_unicode ../include/cp850_uni.h || exit 1 ./sb2u.pl cp852_to_unicode ../include/cp852_uni.h || exit 1 +./sb2u.pl cp853_to_unicode ../include/cp853_uni.h || exit 1 ./sb2u.pl cp855_to_unicode ../include/cp855_uni.h || exit 1 ./sb2u.pl cp857_to_unicode ../include/cp857_uni.h || exit 1 ./sb2u.pl cp858_to_unicode ../include/cp858_uni.h || exit 1 diff --git a/src/dos/drive_local.cpp b/src/dos/drive_local.cpp index bdccbc265..d561d65ad 100644 --- a/src/dos/drive_local.cpp +++ b/src/dos/drive_local.cpp @@ -46,6 +46,7 @@ #include "cp808_uni.h" #include "cp850_uni.h" #include "cp852_uni.h" +#include "cp853_uni.h" #include "cp855_uni.h" #include "cp857_uni.h" #include "cp858_uni.h" @@ -301,6 +302,8 @@ bool CodePageHostToGuest(char *d/*CROSS_LEN*/,const host_cnv_char_t *s/*CROSS_LE return String_HOST_TO_SBCS(d,s,cp850_to_unicode,sizeof(cp850_to_unicode)/sizeof(cp850_to_unicode[0])); case 852: return String_HOST_TO_SBCS(d,s,cp852_to_unicode,sizeof(cp852_to_unicode)/sizeof(cp852_to_unicode[0])); + case 853: + return String_HOST_TO_SBCS(d,s,cp853_to_unicode,sizeof(cp853_to_unicode)/sizeof(cp853_to_unicode[0])); case 855: return String_HOST_TO_SBCS(d,s,cp855_to_unicode,sizeof(cp855_to_unicode)/sizeof(cp855_to_unicode[0])); case 857: @@ -338,6 +341,8 @@ bool CodePageGuestToHost(host_cnv_char_t *d/*CROSS_LEN*/,const char *s/*CROSS_LE return String_SBCS_TO_HOST(d,s,cp850_to_unicode,sizeof(cp850_to_unicode)/sizeof(cp850_to_unicode[0])); case 852: return String_SBCS_TO_HOST(d,s,cp852_to_unicode,sizeof(cp852_to_unicode)/sizeof(cp852_to_unicode[0])); + case 853: + return String_SBCS_TO_HOST(d,s,cp853_to_unicode,sizeof(cp853_to_unicode)/sizeof(cp853_to_unicode[0])); case 855: return String_SBCS_TO_HOST(d,s,cp855_to_unicode,sizeof(cp855_to_unicode)/sizeof(cp855_to_unicode[0])); case 857: diff --git a/vs2015/dosbox-x.vcxproj b/vs2015/dosbox-x.vcxproj index 7c9750e3e..6a9bd3818 100644 --- a/vs2015/dosbox-x.vcxproj +++ b/vs2015/dosbox-x.vcxproj @@ -1143,6 +1143,7 @@ copy "$(SolutionDir)\..\shaders\*.*" "$(OutputPath)\shaders\" + diff --git a/vs2015/dosbox-x.vcxproj.filters b/vs2015/dosbox-x.vcxproj.filters index 2e888eb4f..646039e88 100644 --- a/vs2015/dosbox-x.vcxproj.filters +++ b/vs2015/dosbox-x.vcxproj.filters @@ -1283,6 +1283,9 @@ Includes + + Includes + Includes