[Freedos-kernel] Announce: COUNTRY.SYS
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] Compilers (the eternal topic :)
Hallo Bart, Well if I claim I can get it under 64K I'm not lying. Did I say you're lying? OW compiles *plain 2035* as 66318 bytes uncompressed for me for FAT32/386. Why your kernel is bigger after all these optimizations is a puzzle. I've read that on low memory machines its optimizer may be limited I have 256 MB RAM and 60 MB free XMS (the rest is for a XMSDSK) - surely enough for it. but I can't think of anything else. What version of OpenWatcom are you using? I use 1.2. I can't otherwise explain the size difference For the unstable branch it's 64700 or so. Even after reducing kernel size with my latest patches I still get 65830 bytes. That's more than a kilobyte bigger! How can we explain that? Changing the calling convention to #pragma aux default parm [ax dx cx] modify [ax dx es fs] in portab.h (careful, don't do that for SYS EXEFLAT) Unfortunately this causes compile errors as early as in dsk.c for me, so I can't use it. and making LoL (init-mod.h, main.c) extern struct lol FAR * const LoL; (see the const) chops of another couple 100s of bytes. Adding const shortens it by 16 bytes for me, so I added it. Borland kernel size doesn't change. The smiley implies that it can't be freely downloaded from Vietnam. Maybe you can but I can't. Why are we so different? I'm much older than you but we both sound like it was the opposite! ;-) Everything can be physically downloaded. ...if you know the right URL at the right time ;-) But that's a silly argument and by publically encouraging it you're not doing this project a favour. Oh, sorry, did I trod the kitten again (as we say here)? I'm scared of myself but not ashamed :) Why? Because I'm a complete copyright illiterate, or at least ignorant. And I'm too old to change. Right, checking again I see it compresses a SYS file like a COM file. Well with some hand holding (load at 50:100) you could treat kernel.sys like a COM file too. Haven't tried that though. Let me first achieve your uncompressed kernel sizes with OpenWatcom. I hope you help me with this. 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] Information wants to be free
Hallo Bart and Tom, In this case, instead of pursuing a technical solution (Open Watcom is open source so can be changed) to reach a certain goal, you suggest I go for an illegal black-box solution, the cowards' way out. All right, I was a fly, now I'm a coward. Very well. Perhaps I'm something like a flying coward :) By ignoring Borland's copyright you indirectly hurt the OW project because the other means to reach your goal would be to modify it. All right, Bart, I feel like an elephant in a glass store here - whatever I do breaks something. I don't understand why I hurt OpenWatcom?! I like this compiler very much and if you help me achieve smaller compressed kernel size with it, I'll gladly drop Borland, because I don't like it at all! Otherwise I find your comments very interesting and must agree with most of them. Not only Bulgarians. 3/4 of the world thinks so. And many Americans and Germans too, by the way. there is a german saying 'hey guys - eat shit! Billions of flies can't be wrong' So we're just billions of flies to you. Very well :) Otherwise it's a great anti-fashion proverb. information is as much a product as a car or a house, and it costs similar effort. I disagree. Building 1000 houses costs one almost 1000 times more than a single house. Making 1000 copies of a program costs one much less than developing the program itself. It's a false analogy. Aren't 10 copies of Windows enough to cover its development costs? But no, they sell 1, with an 10% profit! What's this if not a huge exploitation of the whole world by a single corporation? That's why I'll be so happy when Microsoft die, as Joe Cosentino signs in his FreeDOS song ;-) and the people who made this product must be paid - some way or the other. I agree, but by buying a second-hand BC copy Bart wouldn't pay the Borland programmers in any way. just because you can technically copy it (whithout causing me any direct harm) does NOT imply you MAY do that. Legally wise - yes, but my conscience is 100% clear. You know that I'm not really such a coward :) please accept the fact, that there is FREE information, and for some other information you have to pay, or you will kill the producer in the long run (because he will starve to death) Oh, if I could starve Microsoft to death! Alas, as Bart suggest, it seems I even help them grow :( it's simple as that: they want your money IF you use their software. they offer you a deal, which you can accept - or deny. stop using their software, and you don't have to pay them a dime. If I stop using it, what will they gain? Nothing! There is no logic here. I assume your company produces some sort of (hardware) gadget, that it sells - which in the end ends up as salary in your pockets. I wonder what happens if I rip off your gadgets design and internal software, 'reengineer' the gadget, produce it myself (at much lower cost as I don't have to pay the engineers), and sell it at a price below your gadget. probably neither your employer nor you what be very glad in the end. This cowardly deed has nothing to do with mine. I don't use BC as a competitor of Borland. I'm not a threat to them. Whereas you (in the role you describe) would kill our product with what you do. But we know that the world we live in is so nasty, so we've taken measures against such actions :) I'd like to add that we must consider standards of living too. When I say 3/4 of the world thinks so, I also mean that 3/4 of the world is so poor they can't pay even a modest price for a piece of software. The majority where I belong, whereas you probably belong to the minority. Imagine you're asked to pay not $70 but $700 for a copy of 4DOS. Would you do it? Hardly, however lawful you are. OK, Tom, neither of us can convince the other one. So, let's not argue anymore, OK? It's always nice to hear your opinion on a topic I understand much worse than you do. 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] Information wants to be free
Hi! 21--2004 17:43 [EMAIL PROTECTED] (Luchezar Georgiev) wrote to [EMAIL PROTECTED]: LG I agree, but by buying a second-hand BC copy Bart wouldn't pay the Borland LG programmers in any way. Companies like RIAA and MPAA strive against reselling services (like one on Amazon). --- 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
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
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] Information wants to be free
Hello Luchezar, Not only Bulgarians. 3/4 of the world thinks so. And many Americans and Germans too, by the way. there is a german saying 'hey guys - eat shit! Billions of flies can't be wrong' So we're just billions of flies to you. Very well :) Otherwise it's a great anti-fashion proverb. no. it means 'just because many, many people do X, that doesn't prove X to be right' (nor does it prove it's wrong) information is as much a product as a car or a house, and it costs similar effort. I disagree. Building 1000 houses costs one almost 1000 times more than a single house. Making 1000 copies of a program costs one much less than developing the program itself. It's a false analogy. but developing just one copy of a program (that is worht to be bought) is usually more expensive than building a house; after it's finished it's indeed fairly inexpensive to sell it multiple times. unfortunately I haven't yet found many customers that pay me the price of a house for a single copy;) So I sold the first copy of Drive Snapshot for the same price as the thousandth, and (of course hope to sell millions). Do you really think after having sold thousand copies, I'm a good programmer, who deserves any dollar he makes, and after selling millions copies (and having charged money for it) I'll be suddenly an immoral man ? IMO it will (or propably 'would') still be the same thing: the customer gets some value for some amount of money. if the product is good enough, that the customer is happy - great. if not - not so great. But the customers contentness is probably not related to the fact, that I'm billionaire or not. 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
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
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
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
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