Actually I intended to write a short program to translate NLS-tables format to produce UNF files, but I had to do a short break for other things.
The worst part of it all is, in my opinion, having the capitalisation tables.
Thanks to Steffen's stuff, we have the 437 and 850/858 capitalisation tables.
If some brave soul encourages to produce capitalisation tables for other codepages, I may try and find some time in Christmas vacation to finish my program and write automatically several other UNF tables.
Now what would rest would possibly be to "compile" the UNF tables to a single COUNTRY.SYS file, and to allow COUNTRY= in kernel to choose the appropriate table at boot time. This is the hardest part, I guess. If only I had more time...
Aitor
Bart Oldeman wrote:
Hi, here's an approach that actually works and isn't one of the maybe we should implement esoteric feature X emails ;)Steffen claimed that even though country= doesn't work yet in our config.sys, I could use load_unf instead. So I tried and failed but with some adjustments succeeded. Here's how you can have 24-hour times in DIR and dd-mm-yy for instance: * download unf_bin_0.3_2000-07-01.zip from ftp://ftp-fd.inf.fh-rhein-sieg.de/pub/freedos/local/unf_bin_0.3_2000-07-01.zip * patch & recompile the kernel: nls.c needs this change: @@ -131,6 +131,7 @@ /* 0x14FF == installed */ r.BX = 0; /* make sure the NLSFUNC ID is updated */ + r.CX = NLS_FREEDOS_NLSFUNC_ID; if (muxGo(0, &r) != 0x14ff) return DE_FILENOTFND; /* No NLSFUNC --> no load */ if (r.BX != NLS_FREEDOS_NLSFUNC_ID) /* FreeDOS NLSFUNC will return */ * from the unf_bin zip, extract load_unf.exe and 049-850.unf * run: load_unf 049-850.unf * run: command * run: dir * watch it (German-style dates). Notes: - the new country info only affects secondary shells, not the freecom that you run load_unf.exe from - I also tried something that makes sense for the Netherlands (and it works) --- 001-437.unf Mon Dec 2 21:44:30 2002 +++ 031-437.unf Mon Dec 2 21:52:31 2002 @@ -1,5 +1,5 @@ -## Universal NLS data Format file: 001-437.unf -$country 1 +## Universal NLS data Format file: 031-437.unf +$country 31 $codepage 437 # Global options @@ -8,16 +8,16 @@ [table 1] # Extended Country Information DOS-65-01 / DOS-38 $make_size - = W1 W437 # Country ID & Codepage - = W0 # Date format: 0/1/2: U.S.A./Europe/Japan - = 36 0 0 0 0 # $.... # Currency string - = 44 0 # ,. # Thousand's separator - = 46 0 # .. # Decimal point + = W31 W437 # Country ID & Codepage + = W1 # Date format: 0/1/2: U.S.A./Europe/Japan + = 69 85 82 0 0 # EUR.. # Currency string + = 46 0 # .. # Thousand's separator + = 44 0 # ,. # Decimal point = 45 0 # -. # Date separator = 58 0 # :. # Time separator = 0 # Currency format (bit array) = 2 # Currency precision - = 0 # time format: 0/1: 12/24 houres + = 1 # time format: 0/1: 12/24 houres $go_forward 4 # Far address of upcase function (to be calc at runtime) = 44 0 # ,. # Data separator - Contributions (unf files) for other countries are welcome. This doesn't involve difficult kernel hacking or anything. Bart ---------- list options/archives/etc.: http://www.topica.com/lists/fd-dev unsubscribe: send blank email to: [EMAIL PROTECTED]
---------- list options/archives/etc.: http://www.topica.com/lists/fd-dev unsubscribe: send blank email to: [EMAIL PROTECTED] ==^================================================================ This email was sent to: [email protected] EASY UNSUBSCRIBE click here: http://topica.com/u/?bz8Rv5.bbRv4l.YXJjaGl2 Or send an email to: [EMAIL PROTECTED] T O P I C A -- Register now to manage your mail! http://www.topica.com/partner/tag02/register ==^================================================================
