Re: [Freedos-kernel] Announce: COUNTRY.SYS

2004-08-23 Thread Luchezar Georgiev
Ciao, Eduardo,
We strive for MS-DOS compatibility, and MS-DOS, PC-DOS, PTS-DOS, OS/2, 
Windows 9x and Windows NT all use the same format that is so well 
described in the RBIL tables 2619-2622. So I chose that.
IMHO, the COUNTRY.SYS format does not affect compatibility, as the 
information is accessed through DOS interrupts.
But not everybody installs FreeDOS from the installer and uses all its 
external commands / files. I've always strived to make the kernel a 
drop-in replacement of the MS-DOS kernel (apart from Windows support). So, 
it now works with HIMEM.SYS, SMARTDRV.EXE *and* COUNTRY.SYS of MS-DOS! ;-) 
It doesn't yet work with the menu stuff of MS-DOS, but who knows, perhaps 
this will be changed...

Actually, one of the reasons I chose that format is that I needed to test 
my COUNTRY= code with a COUNTRY.SYS file that is *really* correct, and 
what more correct than the Windows 98 COUNTRY.SYS? Only *after* ensuring 
that the code works right, I composed our COUNTRY.ASM and fixed its bugs 
to make it compatible with the *already* correct code. Could I do it 
otherwise? If we had an already existing COUNTRY.SYS - yes, but debugging 
*both* code *and* data is far beyond my abilities... ;-)

Besides, the RBIL describes the COUNTRY.SYS format of 
MS-DOS/PC-DOS/PTS-DOS/OS2/Win9x/WinNT rather well, and we always try to 
follow the RBIL in our kernel work (which is even written in our docs).

DR-DOS, for instance, uses a different one.
DR-DOS has never been 100% MS-DOS compatible, which is one of our goals, 
albeit we'll never reach it, of course, but... the only true goal is the 
unreachable one ;-) I think that FreeDOS is already much more MS-DOS 
compatible than DR-DOS. (This is not to say that DR-DOS is bad, no! ;-)

I won't hide that I prefer Steffen's format, as I've already implemented 
NLSFUNC using that but, if we finally go for the MS format, we should 
consider to expand it to include a Yes/No table (for int 21.65.23), 
which is a nice addition in Steffen's version. It is pretty 
straightforward, but it will invalidate the use of COUNTRY.SYS files 
from those OSes in FreeDOS (apart from legal and/or ethical issues).
As far as I can understand (and I don't understand it very much), 
Steffen's format is similar to that of DR-DOS, which isn't well described 
in the RBIL. I think that the Yes/No character can be used only in 
*fully* translated, complete versions of FreeDOS. Besides, there are other 
responses like Abort, Retry, Ignore, Fail? that are not covered there. 
Therefore, such characters are much better translated along with the 
strings. So, until we have *fully* translated version of FreeDOS (like 
German or Italian MS-DOS, for example), those configurable Yes/No 
characters are unusable.

As for ethical and/or legal obstacles, I don't see any. The Russians of 
PhysTechSoft use it in their PTS-DOS and nobody has sued them yet. Do you 
think that if Microsoft had even the slightest chance to win, they 
wouldn't sue them? Remember how Adobe Systems (the little Microsoft ;-) 
sued Dmitry Sklyarov of ElComSoft, Russia. At the time of the announce of 
PTS-DOS, MS-DOS wasn't yet killed by Microsoft, so it was a direct 
competitor. FreeDOS can't be a competitor of something that Microsoft 
killed by their own hands. FreeDOS *cannot* be compared with Linux in this 
context, as Linux *is* a direct competitor of the Windows NT family, which 
Microsoft won't kill soon ;-)

A presto,
Lucio
---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


Re: [Freedos-kernel] Announce: COUNTRY.SYS

2004-08-22 Thread Luchezar Georgiev
Hello,
All that MS does - enclose _public_ information into own file format.
What is permitted for Zeus, is not permitted for mortals! :-( That's 
exactly what I meant when I wrote that Microsoft are the biggest thefts. 
Even their first Basic interpreter was from public domain sources. Not 
speaking about QDOS - MS-DOS, Lattice C - Microsoft C, VMS - NT, and so 
on.

Thus, I don't think that this is beyond fair use to reuse this public 
information. Violation (probably!) if we use original MS files and/or 
their format, but layouts are not property of MS.
Their COUNTRY.SYS format is safe to use, because PTS-DOS and OS/2 also use 
it and nobody has sued PhysTechSoft or IBM yet ;-) I've never understood 
copyright well (and even think that copyright is anti-natural!) but I 
don't think that a file format or data structures can be copyrighted at 
all.

Regards,
Lucho
---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


Re: [Freedos-kernel] Announce: COUNTRY.SYS

2004-08-22 Thread Eduardo Casino
Lucho wrote:

 We strive for MS-DOS compatibility, and MS-DOS, PC-DOS, PTS-DOS, OS/2, 
 Windows 9x and Windows NT all use the same format that is so well 
 described in the RBIL tables 2619-2622. So I chose that.

IMHO, the COUNTRY.SYS format does not affect compatibility, as the
information is accessed through DOS interrupts. DR-DOS, for instance,
uses a different one.

I won't hide that I prefer Steffen's format, as I've already implemented
NLSFUNC using that but, if we finally go for the MS format, we should
consider to expand it to include a Yes/No table (for int 21.65.23),
which is a nice addition in Steffen's version. It is pretty
straightforward, but it will invalidate the use of COUNTRY.SYS files
from those OSes in FreeDOS (apart from legal and/or ethical issues).

Regards,
Eduardo.

 



---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


[Freedos-kernel] Announce: COUNTRY.SYS

2004-08-21 Thread Luchezar Georgiev
Hello,
At http://linux.tu-varna.acad.bg/~lig/freedos/kernel/ are a kernel patch 
collection (CVSPATCH.TXT) and binaries (KERNEL.SYS and COUNTRY.SYS) that 
add COUNTRY.SYS file support to the kernel and move the hard-coded country 
data from the kernel where it belongs - to a separate COUNTRY.SYS file, as 
in all other DOSes. The COUNTRY.SYS file format is the same used in 
MS-DOS, PC-DOS, PTS-DOS, OS/2, Windows 9x and Windows NT, and is described 
in the Ralf Brown Interrupts List (tables 2619-2622). The so modified 
kernel has also been successfully tested with the CONFIG.SYS file of 
Windows 98 (MS-DOS 7.10). Some more countries were added. Note that 
COUNTRY.SYS is still under 2 KB versus 30 KB for MS-DOS 7.10 because it 
consists of only CTYINFO data and doesn't have any uppercase and filename 
tables. Of course, if (when) such information is added to COUNTRY.SYS 
later, the kernel code to read it can easily be added too. The 
aforementioned patch also moves the copyright message from the kernel to 
the AUTOEXEC.BAT file where it can be enjoyed for as long as needed, 
instead of appearing for only 3 seconds during bootstrap. (This may not be 
accepted but I'll never understand why. You know I'm a copyright 
illiterate or at least ignorant.) The patch also modifies EXEFLAT.C so it 
can process kernels without any relocations and make the kernel 
independent from the loading segment in this case. (Of course the kernel 
still needs to be loaded at segment 60h. Those 3 bytes the patch adds to 
the stub allow for future kernels, independent from the loading segment. I 
think 3 bytes aren't a high price to pay for that.) CVSPATCH.TXT contains 
other small optimisations too.

Enjoy!
Lucho
---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


Re: [Freedos-kernel] Announce: COUNTRY.SYS

2004-08-21 Thread Bernd Blaauw
Lucho, impressive progress.
Though I don't use any COUNTRY/codepage/keyboard_layout things myself, 
this can be quite usefull.
I can imagine Aitor being happy, for example.
He does a lot with these things.
Now only NLSFUNC is missing (in progress by Eduardo Casino)?

btw, no source for your country.sys provided (or did I not look good 
enough?)

Bernd
---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


Re: [Freedos-kernel] Announce: COUNTRY.SYS

2004-08-21 Thread tom ehlert
Hello Eduardo,

 Lucho, Steffen, everybody, we should have some discussion to determine
 which COUNTRY.SYS format we should use in FreeDOS.

1'st let me state that I never used NLSFUNC, so I may be the wrong
person.

2'nd, all I needed for FreeDOS was 24 hour time/european date,
and I implemented it
in the kernel.sys (rather then in some external COUNTRY.SYS),
because it requires only a few bytes (for the current supported
date,time, currency,...) and is hardly worth the requirement of an
extra COUNTRY.SYS.
this changes IMO, if uppercasing tables etc. are supported for many
countries, but not sooner; and I think that moving the date/time
functionality to *require* COUNTRY.SYS is a step in the wrong
direction (even if it suits lucho in his attempts to get a few byte
smaller kernel)


 In fact, I've had a working NLSFUNC for some weeks now. The only thing
 it needs for general availability is a kernel with functions 2f.1226 to
 2f.1229. Actually, it works with the implementation of these functions
 that I posted to this list (I modified NLSFUNC to avoid running out of
 stack as Bart suggested) and it even works calling to the int21
 equivalents (saving the caller stack and switching to a local one before
 calling int21).

Congratulations.
I still don't understand why this should be done from inside DOS;
in real life you'll have an external utility
   NLSFUNC SET LANGUAGE GREEK
or similar that can use any desired method, and doesn't have to rely
on fancy kernel internal calls/IOCTLS/etc.
I may be wrong with that, though.

 Another problem is that it does _not_ uses the MS COUNTRY.SYS format,
 but the one that Steffen Kaiser designed when he was implementing the
 NLS support for the kernel. The advantages are that it was designed with
 the kernel NLS structures in mind and that there are also utilities to
 convert to/from a text (source) format.

IMO that's not a disadvantage.
We can't use MS country.sys anyway, and there are hardly many
third party COUNTRY.SYS's floating around we must be compatible with.

I'd prefer a different country.sys format alltogether, with smaller
size in mind.
It doesn't has to be xxZIP'ed (due to relative large decoding code
size), but you get get a significant amount of compression by some

'this toupper table is almost the same as the table before with the expection
of characters 187-192 and 205-119, differences follow'

not difficult to implement, and worth the effort IMO.



just my 2 cents

tom




















 Regards,
 Eduardo.




 ---
 SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
 Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
 http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
 ___
 Freedos-kernel mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/freedos-kernel


-- 
Best regards,
Tom Ehlert
mailto:[EMAIL PROTECTED]
+49-241-79886



---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


Re: [Freedos-kernel] Announce: COUNTRY.SYS

2004-08-21 Thread Aitor Santamaría Merino
Hi,
tom ehlert escribió:
Hello Eduardo,
 

Lucho, Steffen, everybody, we should have some discussion to determine
which COUNTRY.SYS format we should use in FreeDOS.
   

1'st let me state that I never used NLSFUNC, so I may be the wrong
person.
 

Well, neither do I because as I never change codepages once DOS is 
loaded, I use the formally incorrect but practical MODE CON CP SEL= 
instead of NLSFUNC/CHCP.
However, I appreciate that
1) NLSFUNC was marked (with no opposition so far) as pre-1.0
2) Eduardo's attempt has shown some other small lacks in kernel that are 
being addressed (by him and by other person), so that's good :)

2'nd, all I needed for FreeDOS was 24 hour time/european date,
and I implemented it
in the kernel.sys (rather then in some external COUNTRY.SYS),
because it requires only a few bytes (for the current supported
date,time, currency,...) and is hardly worth the requirement of an
extra COUNTRY.SYS.
this changes IMO, if uppercasing tables etc. are supported for many
countries, but not sooner; and I think that moving the date/time
functionality to *require* COUNTRY.SYS is a step in the wrong
direction (even if it suits lucho in his attempts to get a few byte
smaller kernel)
 

I agree, but perhaps Eduardo means that he is taking steps in order to 
use the WHOLE information (including the collating/capital/lowercase 
tables), but with a COUNTRY.SYS format which is not the same as MS but 
the same than Steffen uses with LOAD_UNC and such.
My personal opinion is that, up to copyright issues, I guess that it is 
better to use the MS format, because otherwise we don't have the 
collating/uppercase/lowercase tables except for American English and for 
German, but not for other formats.

In fact, I've had a working NLSFUNC for some weeks now. The only thing
it needs for general availability is a kernel with functions 2f.1226 to
2f.1229. Actually, it works with the implementation of these functions
that I posted to this list (I modified NLSFUNC to avoid running out of
stack as Bart suggested) and it even works calling to the int21
equivalents (saving the caller stack and switching to a local one before
calling int21).
   

Congratulations.
I still don't understand why this should be done from inside DOS;
 

MS compatibility: this is the way MS-NLSFUNC works (see RBIL's: Int 
2F/AX=1226h, http://www.ctyme.com/intr/rb-4406.htm).

Another problem is that it does _not_ uses the MS COUNTRY.SYS format,
but the one that Steffen Kaiser designed when he was implementing the
NLS support for the kernel. The advantages are that it was designed with
the kernel NLS structures in mind and that there are also utilities to
convert to/from a text (source) format.
   

IMO that's not a disadvantage.
We can't use MS country.sys anyway, and there are hardly many
third party COUNTRY.SYS's floating around we must be compatible with.
I'd prefer a different country.sys format alltogether, with smaller
size in mind.
It doesn't has to be xxZIP'ed (due to relative large decoding code
size), but you get get a significant amount of compression by some
'this toupper table is almost the same as the table before with the expection
of characters 187-192 and 205-119, differences follow'
not difficult to implement, and worth the effort IMO.
 

Yes, but as I mentioned, the problem is that, how do we get collating 
tables, etc for other countries than US and Germany? We could rely on 
user's efforts to create those tables, but this can be quite laborious 
(provided that, for copyright issues, the COUNTRY.SYS of the 
competitors are distributable).

Aitor
---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


Re: [Freedos-kernel] Announce: COUNTRY.SYS

2004-08-21 Thread tom ehlert
Hello Aitor,

 Yes, but as I mentioned, the problem is that, how do we get collating
 tables, etc for other countries than US and Germany? We could rely on
 user's efforts to create those tables, but this can be quite laborious
 (provided that, for copyright issues, the COUNTRY.SYS of the 
 competitors are distributable).

well - we get it the same way that the MS COUNTRY information was
collected - BY MANUAL EFFORT BY HOWEVER DOES IT - paid or not.

using MS COUNTRY.SYS isn't an option
other COUNTRY.SYS's simply don't exist.

and IMO the way that all your 100+ keyboard tables were obtained is -
even if it *might* not be strictly illegal - certainly far beyond any
means of 'fair use'

simply sort of 'disassembling' some work that MS has done, and
pretending this is our work, is hardly anything I appreciate.

so I would really dislike this continued in country.sys.

IMO, if it's important to have south guinean keybors support/collating
tables, some south guinean local should provide these tables.

and if nobody provides these tables - fine.

but ripping of MS(DOS/Windows/WinNT) these tables is really something
I dislike.

BTW: all MKEYB tables were created manually (AFAIK; at least if I did
them)
it would be easy to write a compiler/interpreter to make (X)keyb
tables usable in MKEYB as well; I simply don't like the tables.




tom













---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


Re: [Freedos-kernel] Announce: COUNTRY.SYS

2004-08-21 Thread Bart Oldeman
On Sun, 22 Aug 2004, Aitor Santamaría Merino wrote:

 Yes, but as I mentioned, the problem is that, how do we get collating
 tables, etc for other countries than US and Germany? We could rely on
 user's efforts to create those tables, but this can be quite laborious

Probably best to have a look at the locale tables in Linux. If one can
make an automatic conversion from there it would go a long way (probably
not 100% MS compatible but is that desirable for collation algorithms? --
they've probably changed themselves too).

On Linux we have in
/usr/share/i18n/locales
a file called iso14651_1 which has the Unicode collating table (you can
search the internet for iso 14651). That on its own would go a long way
(good enough for English, German, Dutch, Italian -- Spanish has some
exceptions with ch and ll, Lithuanian has y between i and k). Then some
individual country/language combinations do a few modifications on that.

e.g. a fragment of bg_BG:

LC_COLLATE

% We have made the following changes to the basic collation scheme in
% the file iso14651_t1:
%   1. The Cyrillic script is first in the order.
%   2. The non-Bulgarian Cyrillic letters are sorted according to
%  their transliteration with Bulgarian Cyrillic letters.

copy iso14651_t1
reorder-after 9
CYR-A
CYR-BE
CYR-VE
CYR-GHE
[...]

It's still a lot of work but it's not that the information itself isn't
there.

Bart


---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


Re: [Freedos-kernel] Announce: COUNTRY.SYS

2004-08-21 Thread Aitor Santamaría Merino
Hi Bart,
Thanks for pointing out!
Actually I ignore if Linux works with some notion similar to codepges at 
all (I once tried to port a single ASCII chart drawing program from DOS 
to Linux and found out lots of blanks #219 in the table.
If Unicode is the only collating table present, as you say this would 
have the quite a lot of work to do to create the suitable Unicode 
collating table, then remapping according to the particular codepage.
Good that at least the info is there.

Anyway, I just want to make it clear that I am not for having MS 
compatible COUNTRY.SYS files per se, and I don't mind at all if there is 
a non-compatible format for COUNTRY.SYS (just all the same that MS-MODE 
won't work with the final FD-DISPLAY.SYS), but I was just trying to find 
out the (legal) way to get the maximum data with minimum effort.

Aitor
Bart Oldeman escribió:
On Sun, 22 Aug 2004, Aitor Santamaría Merino wrote:
 

Yes, but as I mentioned, the problem is that, how do we get collating
tables, etc for other countries than US and Germany? We could rely on
user's efforts to create those tables, but this can be quite laborious
   

Probably best to have a look at the locale tables in Linux. If one can
make an automatic conversion from there it would go a long way (probably
not 100% MS compatible but is that desirable for collation algorithms? --
they've probably changed themselves too).
 

[...]
---
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink  Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
___
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel