Hi for Germany COUNTRY.SYS reports "." (dot) for the time separator, when it should be ":" (colon).
I noticed the error in FD 1.3 RC2 and FD 1.2, when using: !COUNTRY=049,,C:\FDOS\BIN\COUNTRY.SYS in FDCONFIG.SYS. I didn't test FD 1.1. FD 1.0 behaves differently: Although it reports 001 for the current country code (BX on return from AX=3800h, int21h), the time separator is correct. I tracked the error down to: Bad data: de_850 cnf 49,850,DMY,"E","U","R",0,0,".",",",".",".",1,2,_24; Germany Tom de_858 cnf 49,850,DMY,0D5h, 0,0,0,0,".",",",".",".",1,2,_24; Germany de_437 cnf 49,437,DMY,"E","U","R",0,0,".",",",".",".",1,2,_24; Germany Good data: de_850 cnf 49,850,DMY,"E","U","R",0,0,".",",",".",":",1,2,_24; Germany Tom de_858 cnf 49,858,DMY,0D5h, 0,0,0,0,".",",",".",":",1,2,_24; Germany de_437 cnf 49,437,DMY,"E","U","R",0,0,".",",",".",":",1,2,_24; Germany In HELP -> "country" (not "country.sys") it is stated correctly as ":". If you don't patch 850 to 858 COUNTRY.SYS doesn't load with: !COUNTRY=049,858,C:\FDOS\BIN\COUNTRY.SYS because 49 858 are no valid combination. This is how I patched current COUNTRY.SYS to make it work: 00003984: 2E 3A 00003995: 52 5A 000039A4: 2E 3A 000039C4: 2E 3A And I think, for Austria the time separator should also be ":". (see lines 3075-3077 of COUNTRY.ASM) *************************************************************************** I just found a second data error. If you use: !COUNTRY=049,437,C:\FDOS\BIN\COUNTRY.SYS loading COUNTRY.SYS aborts with error "could not find country info for country ID 49". I fixed this by patching: 0000041B: 5A B5 0000041C: 03 01 *************************************************************************** A third data error is regarding the "Space between value and currency symbol" bit. It is reported as NO for codepage 437 and codepage 850. It should be YES, because the symbol is "EUR" then. For codepage 858 symbol is "€", so NO is correct here. I fixed this by patching: 00003986: 01 03 000039C6: 01 03 *************************************************************************** Fourth error (?) German MS-DOS 6.22 and Windows XP SP3 report ";" as the data-list separator. I didn't find, where this is defined. So no patch from me. As this mail and patch list got (and took) longer than expected, I'm attaching a diff file. Maybe someone with access to the kernel sources can integrate this fix. Thanks in advance! *************************************************************************** By the way: To study the error and practice DOS programming I wrote a little tool to show country information as reported by AX=3800h/INT 21h in some "obscure" Pascal dialect from Japan called Cabezon. The EXE file is currently available at <https://www.bttr-software.de/tmp/COUNTRY.ZIP>. I can provide source code too, if anyone is interested, but may be currently of little use, because it depends on my expanded run-time library for Cabezon, which is still pre-beta code. Output will be similar to: ##### Country code : 49 Date format : 0001h (dd mm yy) Time format : 01h (Bit 0: 24-hour clock = YES) Thousands separator: . Decimal separator : , Date separator : . Time separator : : Data-list separator: , Currency symbol : EUR Currency format : 01h (Bit 0: Currency symbol follows value = YES Bit 1: Space between value and currency symbol = NO Bit 2: Currency symbol replaces decimal point = NO) Currency precision : 2 Case map routine : 00D8:11EF ##### Cheers, Robert -- +++ BTTR Software +++ Home page: https://www.bttr-software.de/ DOS ain't dead: https://www.bttr-software.de/forum/
--- COUNTRY-orig.ASM Sun Jun 26 21:05:00 2011 +++ COUNTRY.ASM Thu Jan 23 20:04:53 2020 @@ -192,11 +192,11 @@ __pl_858 dw 12, 48,858,0,0 dd _pl_858 __de_858 dw 12, 49,858,0,0 dd _de_858 __de_850 dw 12, 49,850,0,0 dd _de_850 -__de_437 dw 12, 49,858,0,0 +__de_437 dw 12, 49,437,0,0 dd _de_437 __ar_858 dw 12, 54,858,0,0 dd _ar_858 __ar_850 dw 12, 54,850,0,0 dd _ar_850 @@ -3088,13 +3088,13 @@ no_865 cnf 47,865,DMY,"K","r", 0,0,0," no_850 cnf 47,850,DMY,"K","r", 0,0,0,".",",",".",":",2,2,_24; Norway no_858 cnf 47,858,DMY,"K","r", 0,0,0,".",",",".",":",2,2,_24; Norway pl_852 cnf 48,852,YMD,"Z",88h, 0,0,0,".",",","-",":",0,2,_24; Poland Michal pl_850 cnf 48,850,YMD,"P","L","N",0,0,".",",","-",":",0,2,_24; Poland pl_858 cnf 48,858,YMD,"P","L","N",0,0,".",",","-",":",0,2,_24; Poland -de_850 cnf 49,850,DMY,"E","U","R",0,0,".",",",".",".",1,2,_24; Germany Tom -de_858 cnf 49,850,DMY,0D5h, 0,0,0,0,".",",",".",".",1,2,_24; Germany -de_437 cnf 49,437,DMY,"E","U","R",0,0,".",",",".",".",1,2,_24; Germany +de_850 cnf 49,850,DMY,"E","U","R",0,0,".",",",".",":",3,2,_24; Germany Tom +de_858 cnf 49,850,DMY,0D5h, 0,0,0,0,".",",",".",":",1,2,_24; Germany +de_437 cnf 49,437,DMY,"E","U","R",0,0,".",",",".",":",3,2,_24; Germany ar_850 cnf 54,850,DMY,"$", 0,0,0,0,".",",","/",".",0,2,_24; Argentina ar_858 cnf 54,858,DMY,"$", 0,0,0,0,".",",","/",".",0,2,_24; Argentina ar_437 cnf 54,437,DMY,"$", 0,0,0,0,".",",","/",".",0,2,_24; Argentina br_850 cnf 55,850,DMY,"C","r","$",0,0,".",",","/",":",2,2,_24; Brazil br_858 cnf 55,858,DMY,"C","r","$",0,0,".",",","/",":",2,2,_24; Brazil
_______________________________________________ Freedos-kernel mailing list Freedos-kernel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-kernel