Re: [Freedos-devel] Country information in FreeDOS

2009-01-28 Thread Eric Auer


Hi!

 I will do some more tests later whether also other country dependend
 functions (like thousands separator, currency format...) are affected
 but I suppose these functions don't properly work too.

They do - date and number format are country-controlled in
apps such as our command.com and our text editor edit :-p

 Anyway, they are rarely needed - only important ones are
 these around upcase converting.

That depends on what your app does! Many DOS countries
mainly use ASCII and maybe a few accented chars, but for
example Cyrillic DOS users will definitely enjoy case
and collating (sortorder) tables for their charsets...

 I am using kernel version 2038pre/2036 svn
 [version Jul 28 2007 compiled Oct 21 2007]

This and normal 2036 / 2038 use built-in country info,
as said. The unstable / devel kernel 2037, however,
handles country data files. You can try that one... As
far as I remember, there were no official updates for
the 2037 kernel since FreeDOS 1.0, so bugs fixed in the
normal kernel since 1.0 will not be fixed in 2037 yet
but still it works well enough so you can give it a try.



 The dynamic loading of Country.sys will be the definitive
 solution, of course, but it takes much time.

It probably does not - while 2037 rewrites much of the
whole country handling, you can alledgedly rip out the
built-in countries of 2036 / 2038 and throw in the
country data file handling of 2037, as long as it is
sufficiently bug-free. However, that makes you depend
on having a data file around. I would be happy if some
developer could COMBINE both styles into one patch for
2038 which ALLOWS data files without FORCING you to use
them. In particular, date / time / number formats being
available as built-in to those who cannot or do not want
to load a country sys data file would be very nice...



 Can you before it will be done add the
 hardcoded support also for 042,852 setting?
 (non Cyrillic east europe)

Can you give an exact but ASCII explanation of what has
to be changed for that? I mean if you would type the
special chars directly in an email, you cannot be sure
they will look as intended for everybody on the list.

Confusingly, the country definitions of the 2036 / 2038
kernel seem to be not in nls* or nls/* but in config.c
for the normal things: German, Dutch, Finnish, Polish,
Ukrainian, Russian, Bulgarian, Japanese and Spanish are
built-in as far as default codepage number, date format,
number format, currency format and currency name are
concerned, all indexed by country number...

HOWEVER, apparently only ONE codepage can be built-in
at a time as far as the OTHER properties are concerned,
and only German 850 and American 437 are supported, USA
being what you get when you fetch a precompiled kernel.
This is what the nls*.* and nls/*.* files do and this is
what the 2037 country sys datafile load does much better.

In case you were wondering, differences are at how the
chars 82, 83, 85, 88 to 8d, 93 to 98, 9b, a0 to a3, c6,
d0, d5, e4, e7 and ec are upcased in codepage 850 (some
are upcased into their unaccented form by the way). In
codepage 437, they are not alphabetic and not upcased.

The date, time and currency settings also differ, but as
said, those are built-in for several languages while the
upcase table and collating tables are only built-in for a
single codepage, as is the yes no character (either Y N
or J N here). This is because the tables are big and this
is why the better solution for sort/upcase country support
is indeed loading a country sys data file.

I am sure Tom can send you a German upcase precompiled
kernel from his collection :-). Then you can check if it
works as expected at least for codepage 850. You should
also check the 2037 devel / unstable kernel in FreeDOS 1.0,
maybe somebody knows the right URL for the zip of exactly
that precompiled version? Maybe it is that one... :-) The
zip contains 2 kernels (with and without FAT32 support) so
just copy one over your kernel dot sys file to switch to
unstable. There is also a country sys data file (27 kB!)
and a special SYS. Both normal and unstable SYS do work
for both kernels, but special SYS has extra experimental
features built-in... Give the whole thing a try here:

www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.0/pkgs/unstablx.zip



 BTW: Did you add the recent Rayer's fixes into kernel to
 be it able to boot on cheap notebooks?

I reply to that one in a separate thread...

Eric




--
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] Country information in FreeDOS

2009-01-28 Thread Eric Auer

Hi, after comparing the wikipedia codepage 850
and 852 information, I have the impression that
the sort / upcase tables for 852 would differ
from the 850 case at the following points:

85, 86, 88, 8a, 8b, 8d, 8f
91, 92, 95 to 98, 9b, 9c, 9d, 9f
a4 to a9, ab, ac, ad
b7, b8, bd, be
d0, d2, d4, d5, d8, dd, de
e3 to e8, ea, eb, ee
f0, f9



This might be useful to create some 042-852.unf
file based on 049-850.unf and then compile the
hc and up files somehow (HOW?). By the way, our
current nls_hc.asm DIFFERS from our 001-437.hc!

asm file, actually compiled into the kernel:
segment CONST2
extern _CharMapSrvc:wrt DGROUP

hc files, to let the user drop in 001 or 049:
segment _DATA
extern _CharMapSrvc:wrt TGROUP



Of course, you can also edit config.c to get
only the date, time, number and currency stuff
fixed without fixing the sort and upcase tabs
and you can - probably preferred - also use a
kernel which supports country sys data files,
such as the one from unstablx.zip of 1.0 ...

Eric





--
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] Country information in FreeDOS

2009-01-25 Thread Tom Ehlert

 I will do some more tests later whether also other country dependend
 functions (like thousands separator, currency format...) are affected but I
 suppose these functions don't properly work too.

whatever you suppose - thousands separator, currency format, date
format, time format should be working in 36 and 38 kernel.


 Anyway, they are rarely
 needed - only important ones are these around upcase converting.

obviously, the implementer of the partial country code found the date
and time format *much* more important then some obscure upcase
support, as this requires different charactersets anyway (which
weren't available at this time)

 The dynamic loading of Country.sys will be the definitive solution, of
 course, but it takes much time. Can you before it will be done add the
 hardcoded support also for 042,852 setting? (non Cyrillic east europe)

 BTW: Did you add the recent Rayer's fixes into kernel to be it able to boot
 on cheap notebooks?

sorry, what fixes  ? solving which problem, anyway ?

Tom


--
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


[Freedos-devel] Country information in FreeDOS

2009-01-24 Thread Ladislav Lacina
I want to ask whether is planned to fix the country infos through functions 
INT21h/AX=65xxh in 1.1 release.
Now it doesn't properly work ant it is quite painful. The biggest problem are 
the unsupported lower-upper case converting tables. (f.e. INT21h/AX=6521h works 
badly)
Even loading the COUNTRY.SYS (country=042,852,c:\freedos\bin\country.sys) 
doesn't help :-(--
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] Country information in FreeDOS

2009-01-24 Thread Eric Auer

Hi!

 I want to ask whether is planned to fix the country infos through
 functions INT21h/AX=65xxh in 1.1 release.
 Now it doesn't properly work ant it is quite painful. The biggest
 problem are the unsupported lower-upper case converting tables.
 (f.e. INT21h/AX=6521h works badly)

What else is broken in COUNTRY?

 Even loading the COUNTRY.SYS (country=042,852,
 c:\freedos\bin\country.sys) doesn't help

This is because you do not actually load it ;-)
Only the unstable / testing / devel branch of the
kernel (2037) has country.sys loading ability yet,
the stable kernel (2038) uses a built-in table of
country properties which is limited somewhat...

It would be optimal to port the 2037 country code
while preserving the ability to use built-in data
for people who do not need case advanced country
data so those people can still get along without
needing a separate country.sys file at boot :-).

The relevant SVN releases, see freedos.org source
code in the orange navbar on top of the page, are
in unstable 2035-dev / 2037:  1261 country bugfix
1023 very mixed patches including country handling
see also: Lucho inthndlr / country.asm / config.c
and intr.asm lseek... and Eduardo country.asm for
the uppercase and collating tables
related patch in stable: 1142 country bugfix
...and maybe others... :-)

Eric




--
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel