[Freedos-kernel] Goodbye from Lucho (this time forever)
Sorry Bart, I was wrong AGAIN. I will add creation times again, and this will END my participation in the FreeDOS project. I feel that I'm NOT good for such activity anymore. Jack R.Ellis was right to never participate in mailing lists. At the age of 45, it's time for me to leave the struggle to the youger generations (such as Bart). So, gentlemen - let me resign from FreeDOS development now! Goodbye, people, and sometimes remember Lucho from Bulgaria... And don't forget that MANY Bulgarians are MUCH better than me! --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Creation times
#include #include #include int main(void) { int fd = open("fool.dat", O_WRONLY|O_CREAT|O_TRUNC); write(fd, "hello", 5); close(fd); sleep(2); fd = open("fool.dat", O_WRONLY); write(fd, "hello bye", 9); close(fd); return 0; } Thanks, Bart. Seems that as I already have written so, I AM THE FOOL HERE! Tested, and it's really as you say. Then why my files I worked over in FreeDOS were all with creation times = write times? No, I will resign from kernel development. Let me leave it to the more competent and young. No, seriously!!! --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Creation times
The question is: does anyone know what does MS-DOS do? What now unstable FreeDOS does - ZERO creation time/date and access date on each directory entry write. Verified. --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Reading new COUNTRY.SYS records
Hola Eduardo, Not really. In the worst case, only the 4 bytes for the empty DBCS table will be unused. The idea is to overwrite the hardcoded tables for CTYINFO, UCASE, FCHAR, and COLLATE and allocate new memory (if needed) for FUCASE, LCASE and DBCS _only_. What about a combination of your (1) and (3) methods - increase static memory only for FUCASE (by 130 bytes or so) and not support DBCS in COUNTRY.SYS? Arkady wrote that MS-DOS 6.2 doesn't support LCASE for codepage 866 either. I don't see the point. You have the array of nlsPointer structures, which tells you where the tables are for each subfunction. If you have a look at nls_hc.asm, maybe it will be clearer. Indeed, now I see an array ot SEG Table? pointers there. Eduardo, let's keep it simple. If you do the changes to NLS_HC.ASM needed to support the *current* information in COUNTRY.SYS, I'll change CONFIG.C as per your (1) and (3) methods. I detest having to dynamically allocate NLS memory in the kernel. Thanks, Lucho --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Lucho gives up arguing with Arkady
CVS isn't accesible for me. Sorry, I can't help you. Lucho, you introduce change in interface. _Such_ actions necessarily _must_ be discussed and approved. By whom? By the Boss? Who is the Boss? Arkady? So "don't ask me more" is not in given case. Eric, read and remember forever! I SWEAR TO NEVER EVER DO ANYTHING YOU WISH ANYMORE!!! Now, please continue the argument with Arkady as I'm sick and tired of this wasting of my and everyone's time! No, GPL means *current* version, and the URL points to it. URL is reduced for convenience, but for law clarity (for which you at all mention license) you should mention complate license name. Explicitly. I do this. "GNU General Public License". Period. If we continue such idiotic discussions, I'll leave FreeDOS development. I don't need it anymore anyway. Whoever wants to keep arguing with Arkady, please go on. I give up. --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Patch: COUNTRY.ASM
BTW, Lucho, if you wish, I may prepare for you macroses in TASM to ease writing more readable and safer country.asm. Probably, someone then may translate these macro to NASM? Such translation will be very difficult if not impossible because NASM is too incompatible :-( So, don't bother with it. --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Boot drive incompatibility with other boot sectors
The trouble is that most SYSes don't bother to set this value - they just copy the whole data area from the old boot sector and replace only the code and OEM ID. So the FF remains there. Verified. _And_ their boot code reuse this field? Yes. No DOS boot sector trusts BIOS DL value like us... (Because as I wrote it just can't be trusted very much) Well, right now I look at boot code of MS-SYS6, and found, that it not uses 24h offset itself Wrong. The read sector subroutine does use it. See http://www.kzin.com/bootsec/dos5pbra.txt but pass value from there to kernel. So the kernel uses it too, thus it's even more important. I not check what SYS does with original 24h field, but image inside SYS contains 80h value, so I doubt that MS-SYS preserves this field. That the image in SYS contains 80 doesn't prove nothing. Again, it hurts to be smart when eveyone else is dumb :) --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Creation times
I wonder about those creation time set removals. It looks like your I will consider reverting it, but a config.sys option is overkill. Yes, it is. It'll be difficult to revert it as it leaded to numerous other optimisations. Besides, I already explained why I removed it. Why add back an useless feafure without solid argumentation? (Useless as it was setting creation time on each write.) Unless you can make it set creation times only once, which is difficult. Not speaking about access date, which shouldn't be set in DOS as it would mean unexpected writes. In summary, I didn't do this change only to be reverted back because Bart doesn't like it. Don't apply it to his stable branch, but *leave* it in our unstable, please. --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Boot drive incompatibility with other boot sectors
No, they state several times that ONLY 0 AND 80 may be boot drives. Ok. What about boot managers? The option mentioned below is for boot managers too. For this, an option of SYS will revert back to DL = boot drive Hm. Your arguments sounds reasonable. But I continue to _feel_, that using BIOS info instead fixed value is better (except buggy BIOSes, which pass wrong drive#). Did you read my other message about these BIOSes? I repeat it below. You _suggest_, that _some_ SYS (may) remain untouched 24h field when it overwrite boot sector _and_ its boot code reuse this value? Or you know such _known and usable_ SYS with such (strange!) behavior? If first, then we shouldn't worry about this; if second, then, probably, we should force bugfixing of those SYS. It's like waiting a letter from a dead person, as we say here ;-) Let me repeat my other message, because it seems that it vanished. Award BIOS dated 1999 for Intel i810, and the original IBM PC/AT BIOS don't seem to pass anything in DL on Int 19h. How did I verify it? For those who can't guess, let this be my little secret ;-G (Table 00653) Values Bootstrap loader is called with (IBM BIOS): CS:IP = h:7C00h DH = access bits 7-6,4-0: don't care bit 5: =0 device supported by INT 13 DL = boot drive 00h first floppy 80h first hard disk The above excerpt from the RBIL also proves that not all BIOSes pass boot drive in DL on Int 19h, and even if they do (e.g. IBM BIOS), they pass *only* 0 or 80h. Period. (And end of FF kludge ;-) Regards, Lucho --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Reading new COUNTRY.SYS records
Hola Eduardo, I don't mind adding the changes to nls_hc.asm, but I'm not sure that I like that option. Neither do I like it very much, but (1) and (3) are most straightforward and easiest to implement. In a private mail, Eric suggested a fourth option: Check if there is enough room for loading the package and, if not, allocate extra memory only for the additional tables. This will keep the kernel size unchanged and optimze the memory useage, as only a percentage of NLS packages are bigger than the default. The problem is that the already statically allocated memory for hard-coded tables will be lost. I've been thinking about how to implement this, and I've come up with this: We could insert a null pointer for subfunction 0 just before subfunction 1 (CTYINFO) into nls_hc.asm, which will be ignored by NLS functions as subfunction 0 does not exist (example patch below). This will add just 5 bytes to the tables and can be used as a placeholder for subfunction 3 (LCASE). This maintains all the pointers into predictable indexes and prevents moving the CTYINFO table when loading a package with LCASE. When loading a package from COUNTRY.SYS, we should do something like the following pseudocode before actually reading the data: extra_memory = 0; if (LCASE_is_present) extra_memory += 258; /* sizeof(WORD) + actual length */ if (UCASE_offset != FUCASE_offset) extra_memory += 130; if (DBCS_length != 0) extra_memory += 2 + DBCS_length; /* sizeof(WORD) + actual_length */ allocate(extra_memory); And then, read the info overwriting the harcoded tables for UCASE, FCHAR, CTYINFO, YESNO and COLLATE and into the allocated memory for LCASE, FUCASE (if different than UCASE) and DBCS (if non-empty.) But we will have a common memory for all the information and could not distinguish between the beginnings of the different structures. It's better to allocate memory separately for each one. I still think that half a kilobyte isn't a big price to pay, PROVIDED THAT SOMEONE WILL REALLY USE THE DOUBLE-BYTE TABLES. As far as I know, there are complete Chinese, Korean and Japanese packages that install their own font, NLS and keyboard support, and most people will use them and not our inferior but much more difficult to set up COUNTRY + NLSFUNC + DISPLAY + KEYBOARD + whatever :-/ If nobody will use them, then your option (1) is the one to implement. Chinese, Japanese and Korean friends, please express your opinion now. Last not least, we don't have these tables yet, and may not have them. Regards, Lucho --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Boot sector drive incompatibility with other boot sectors
Ie., second disk was enumerated as 80h (and, for example, partitions from it was labeled earlier, than from first disk)? Yes, exactly. This warning may be only because authors of tose spec may know about existance of buggy BIOSes. No, they state several times that ONLY 0 AND 80 may be boot drives. No, not better. For example: if you use boot manager, which supports loading boot record from second disk, then (your) boot code will not work in such configurations, if it will contain 80h. And vice versa: let suggest, that BIOS swaps disks numbers. In this cases you can't boot (your) boot record, if it will contain 81h. For this, an option of SYS will revert back to DL = boot drive Hm. Or you mean, that _some_ (non-FD!) SYS, which writes own boot sector, by some strange/buggy reason will preserve FD's boot record _field_ "drive number" (offset 0x24) and then its boot code will reuse this field? Yes. How this alien buggy SYS relates to our boot code and dependence from BIOS info? I already explained. If it overwrites our boot sector, it won't boot. --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: Re: [Freedos-kernel] Boot sector drive incompatibility with other boot sectors
The BIOS Boot specification warns that only 0 and 80h can be [...] [...] interesting enough... Nevertheless, trying it gives me 404... Moved - http://www.phoenix.com/NR/rdonlyres/56E38DE2-3E6F-4743-835F-B4A53726ABED/0/specsbbs101.pdf --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Boot sector drive incompatibility with other boot sectors
Hello, Award BIOS dated 1999 for Intel i810, and the original IBM PC/AT BIOS don't seem to pass anything in DL on Int 19h. How did I verify it? For those who can't guess, let this be my little secret ;-G (Table 00653) Values Bootstrap loader is called with (IBM BIOS): CS:IP = h:7C00h DH = access bits 7-6,4-0: don't care bit 5: =0 device supported by INT 13 DL = boot drive 00h first floppy 80h first hard disk The above excerpt from the RBIL also proves that not all BIOSes pass boot drive in DL on Int 19h, and even if they do (e.g. IBM BIOS), they pass *only* 0 or 80h. Period. (And end of FF kludge ;-) Regards, Lucho --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Fixing near f-nodes
Hallo Bart, There is really no need to allocate the near fnodes, they can simply be chosen fixed. Sure - great idea! In this case Tom's patch can be removed. That would require split_path and dir_open to take the near fnode as a parameter, etc, and e.g. dos_rename() to do: split_path(path2, fcbname, &fnode2); split_path(path1, fcbname, &fnode1); where fnode1 and fnode2 are the two near fnodes. This is the other real solution I can think of, it's a little more intrusive though. It'd be good. Unfortunately I'm not competent enough to do this change :( Could you try to do it? Regards, Lucho --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Tom's patch dated 5 July applied in its full glory :)
Do you mean http://www.mail-archive.com/[EMAIL PROTECTED]/msg01070.html yes (It doesn't contain other comments but those in the patch.) If you confirm, I can apply it. yes. Just applied and committed (and updated binary on my site ;-) --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Reading new COUNTRY.SYS records
Eduardo, couldn't we divide the work between ourselves? If you do the changes in nls_hc.asm for the third option you offered (make enough room), I will add the necessary code in config.c ;-) --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Creation times
Hallo Bart, merge in some changes from UNSTABLE If Bart doesn't like some changes, I don't mind if they're not merged them into "stable" ;-) I wonder about those creation time set removals. It looks like your removing a useful feature here. Sure a reason given is "MSDOS 7.10 doesn't do this". Well, I say, who cares about this specific DOS, Isn't *this* specific OS what we try to emulate as closely as possible (including even its bugs)? many other OS'es *do* set the creation time. Did it hurt that FreeDOS did this? It didn't actually do that. FreeDOS did *always* set the creation time *equal* to the write time. So the creation time didn't hold even a single of bit of information and was therefore misleading. Making it set the creation time *only* once, when a file is created, is surprisingly difficult (I tried and failed), and is not required for a DOS anyway. Let's not try to be bigger catholics than the pope. Maybe it should be a config.sys option if it did hurt in certain (documented) circumstances. Too complex. I like the KISS principle (Keep It Simple, Stupid = KISS :) which is pretty annoying if you check out on Linux -- I'll really have to push a patch to Steffen to allow FreeCOM not to choke on LF-ended batch files... Now when AUTOEXEC.BAT is just one line ending with LF, not CRLF, FreeCOM happily processes it ;-) Regards, Lucho --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Boot sector drive incompatibility with other boot sectors
My AwardBIOS here for example does have such a feature. However, when I look at the boot record of my second hard drive, I see again boot drive = 80. Do you try to boot from second drive with this boot record (which contains 80h)? And it boots fine (without accessing first disk)? Yes, of course. So, BIOS probably swaps Not probably - surely. "Probably"?! In this case it not need to pass to boot code information about boot drive! The BIOS Boot specification (http://www.phoenix.com/resources/specs-bbs101.pdf) warns that only 0 and 80h can be safely considered as boot devices, albeit it recommends (but doesn't require) that BIOS passes boot device in DL on Int 19h. The 0/80h limitation is due to the MS-DOS boot sectors, of course. So, whatever we decide, we should remove the FF kludge in any case. I already expressed my opinion - I agree with Jeremy and Eric that choice (2) is better for compatibility reasons. "Will"? Do you mean, that currend FD boot record (with FFh mask) doesn't work when loading FD from second disk?! It works until replaced by another boot sector that tries to boot off drive FF. --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Boot sector drive incompatibility with other boot sectors
Although I dislike the idea of patching the bootsector, choice 2 does seem most compatible and is slightly smaller boot code (as the logic is moved to sys). I agree and prefer method 2 too. The distance between this new patched boot sector offset and the existing boot segment offset seems constant for all boot sectors, so patch location IS uniform ;-) --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Re: 2F-122F
In addition, the MS-ish interface allows "revert to real version number" by passing a value of zero. RBIL doesn't says this. It does say this. D-2F122F says: DX = DOS version number (h = return true DOS version). RBIL also says this is supported by Matthias Paul's FREEVER.COM. Do you see now why I won't remove it? --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] PATCH: Improve DBCS support
Hola, Eduardo! This patch adds DBCS support to DOS-65-23 (Determine if a character represents yes/no response) as specified by RBIL, and fixes DOS-63-00 (Get Double Byte Character Set lead-byte table.) It now returns the DBCS table from the active NLS package, not the harcoded one. Applies to up-to-date CVS UNSTABLE. It's at http://perso.wanadoo.es/samelborp/dbcs.zip Thanks. I saw, applied, built, committed it and updated my binary ;-) Now let's see what can we do for reading the new parts of COUNTRY.SYS Regards, Lucho --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] break.c, inithma.c
unsigned char check_handle_break(struct dhdr FAR **pdev) { - unsigned char c; + unsigned char c = 0; if (ctrl_break_pressed() || (c = (unsigned char)ndread(&syscon)) == CTL_C || *pdev != syscon && (c = (unsigned char)ndread(pdev))== CTL_C) { handle(break(pdev, -1); } return c; } Wrong. If no Ctrl-break (ctrl_break_pressed() returns false), then called second part of condition (c = ndread()). So, my code _is_ correct, and this extra assignemnt is useless code spending. *You* are wrong. If "ctrl_break_pressed()" returns true, "c" (and therefore the function return value) would be *undefined* without my patch! +static struct { /* Boot sector of a RAM-Disk */ + UBYTE dummy1[3];/* HIMEM.SYS uses 3, but FDXMS uses 2 */ + char Name[5]; [...] +} VDISK_BOOT_SECTOR = { + {0xcf,' ',' '}, + {"VDISK"}, Unfortunately, newer standards prohibit to assign nonterminated strings to arrays (ie. 5-character string "VDISK" _plus_ trerminating zero not fit into 5-bytes array, so newer compilers should compain). Surprisingly, even OpenWatcom 1.3 (so new that it's not even announced!) doesn't complain! ;-) --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Tom's patch dated 5 July
Hallo Tom, at least I know the problem - and described it when publishing the patch. Do you mean http://www.mail-archive.com/[EMAIL PROTECTED]/msg01070.html (It doesn't contain other comments but those in the patch.) If you confirm, I can apply it. it happens if a int24 handler returns to itself directly, instead of the 'normal' way to return to DOS with some error code. But an Int 24h handler returns with an IRET, so to return to itself means that it's re-entrant! In that case the near f_nodes are never freed (until the program terminates) the only real solution that comes to my mind is to undo the alloc_fnode() change, even if that costs a few byte in low memory; if you don't have UMB's, it even saves a few byte (the memory used by the 2 near_fnodes) You mean, to undo Bart's changes? Only Bart can do this... Regards, Lucho --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Re: Boot sector drive incompatibility with other boot sectors
Hallo, Therefore I vote for a SYS option which lets you decide whether or not the 0x80 in the boot sector will be used. The DEFAULT should be, in my opinion, to accept the value from the boot manager / MBR / BIOS for harddisks. For floppy, 0 will be in the boot sector, and the DEFAULT should probably be to ignore the value from the BIOS / boot manager. Why discriminate between floppy and hard disk? So: - no more 0xff - always write 0 or 0x80 I agree with both of the above. - allow control (patching, e.g. "mov variable,reg <-> mov reg,variable") of the actual source (value from caller versus value in boot sector) of the used boot drive number. Can you give more details for the above? I don't like patching boot sectors at non-uniform places. Regards, Lucho --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] showing off with low RAM?
Hallo Eric, we already do have 622k low DOS RAM free in a quite straightforward configuration (in DOSEMU, where HIMEM / EMM386 take almost no memory, even 627k), and I never met any program which really needed more than 590k, so this is only about bragging. Exactly. I have 629 KB free in FreeDOS and that's enough for me. More interesting and useful would definitely be something like my suggested "checksum some/all SFT entry fields and force an update of the corresponding f_node if a SFT entry is found to be changed from outside. I believe this would be necessary to allow DOS boxes to work inside Win 3.x standard mode (DSWAP/WSWAP)." Then go ahead, what are you waiting for? You do have write CVS access, don't you? ;-) But remember what Tom said about the 3m long stick (that he won't touch the unstable kernel). Got the hint? ;-) programs which call int 13 directly have to check for DMA boundaries themselves) nor do we have the "original int vectors 10/13/15/19/1b" data at 70:100 or the DDPT at 0:522 (we have it at 70:0). Hard to tell which compatibility problems those details could cause. If I remember correctly, Bart had some solid arguments against moving from 60:0 to 70:0... Bonus question: Does MS DOS actually call int 25/26 itself or does it - like FreeDOS - only offer int 25/26 for disk tools, but calls the device drivers directly for everything else? It's like FreeDOS - doesn't call Int 25h/26h itself but calls the device drivers directly. Regards, Lucho --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] 2F-122F
RBIL is not very clear how! RBIL is correct that it's only for MS-DOS 4.0. And we even don't may prove this or check how those MS-DOS editions support this function. From what I tested, it's only in MS-DOS 4.0 indeed. But I've said I won't remove it, period. --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Boot sector drive incompatibility with other boot sectors
Hallo Tom, "D:"==second disk? Second disk is a 81h value. Only 0 and 80 are used by MS-DOS. All other values are "FreeDOS extensions" ;-) are you SURE ? Just checked that, and now I'm even more sure. I remember a BIOS that had the option to boot from 2'nd drive. this only makes sense if DOS then boots from 0x81. My AwardBIOS here for example does have such a feature. However, when I look at the boot record of my second hard drive, I see again boot drive = 80. So, BIOS probably swaps the hard drives in this case, much the same way it can swap the floppy drives A: and B:, if that feature is enabled. And if so, our "extensions" will be in conflict with the BIOS. Therefore, I propose to set the default boot drive to 0 for A/B (as it is now), 80 for C/D and FF in all other cases, unless /B specified. Regards, Lucho --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Patch: COUNTRY.ASM
Hola, Eduardo! OK, done again. New patch in: http://perso.wanadoo.es/samelborp/country3.zip It also adds complete NLS info for (de,at)/(850,858,437), and keeps the entry for tr/850, but makes tr/857 the default. Thanks! Just applied it, tested, uploaded the 7K binary to my page, and committed to CVS. Please, do it yourself. However, you should keep in mind the following limitations if you overwrite the kernel hardcoded tables: * The hardcoded NLS package points the UCASE and FUCASE pointers to the same table. This is OK for the most of the country/codepage pairs, but will not allow loading info for codepage 852. * The harcoded package does not have enough space for a non-empty DBCS table, so it won't be possible to load the info for Japanese, Chinese or any other language with DBCS. * There is no room for the LCASE table, so it won't be possible to load the ru/866 pair. Hmm... these limitations make me doubt that I can cope well enough :-( Any other volunteers? I see three options: - Overwrite the hardcoded tables for "compatible" packages and just throw a message like "NLS package too complex. Use NLSFUNC" if the package has FUCASE, LCASE or non-empty DBCS (I don't remember who suggested that) - Leave the hardcoded pages untouched and allocate memory for the new package, then chain to nlsInfo.chain and make it the active package. This is what FD NLSFUNC does and what I think that Steffen had in mind when designing the nls support. - This one will not make me very popular :-) : Make enough room in the hardcoded tables. This will mean 258 (LCASE) + 130 (FUCASE) + 132 (DBCS) = 520 more bytes. Probably 132 bytes for DBCS is way too much and 16 or 32 should be enough in practice, but this is the theoretical maximum, AFAIK. I'd prefer the last approach. But let's hear other's opinions too before starting to write it. Thanks, Lucho --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Boot sector drive incompatibility with other boot sectors
I don't understand this. SYS writes 0/FF only into its own images, builtin into SYS executables. And, if _after_ SYS someone will change boot loader, then 0/FF value also will be replaced. Where is trouble? The trouble is that most SYSes don't bother to set this value - they just copy the whole data area from the old boot sector and replace only the code and OEM ID. So the FF remains there. Verified. "D:"==second disk? Second disk is a 81h value. Only 0 and 80 are used by MS-DOS. All other values are "FreeDOS extensions" ;-) I think, current behavior (use fixed drive# in case of A:/C: and BIOS value in other cases, including HDs), is good and flexible way. Currently, fixed drive number 0 is used for floppies, but for hard disks, FF is used, which is troublesome if FreeDOS is replaced by another DOS later. Now Jeremy added an option to set the boot drive to an arbitrary value, which solves the issue. But FF is still default for hard disks. --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Re: kernel/kernel country.asm, inthndlr.c
Здравствуйте, Аркадий! Show this, please. See it in the CVS, along with the nice additions of Eduardo. Let me ask reverse question: why you add this _another FreeDOS specific function, which duplicates another specific function_, whereas only some version probably support this function (and RBIL is not very clear how!). It's not FreeDOS-specific. It's MS-DOS 4.0 specific. And some software uses it. Don't ask me more. Now your patches mention GPL (which associated with GPL1) No, GPL means *current* version, and the URL points to it. and removes (parts? of) tom's patch. As you wrote youself, it's better to have the whole patch than parts of it. And even better is to solve entirely the problem which this kludge solves partially. But we don't know the problem :-( Пока, Лъчо --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Re: Boot sector drive incompatibility with other boot sectors
Hallo Eric, I think there should be a command line option for SYS, yes. Jeremy already implemented an option to choose the exact value of stored boot drive if the target SYS drive is not a floppy. The default value is FF, as it was before. I'd use 80, for example. For floppy, I vote for default 00. Of course. For harddisk, I am undecided. Only very few boot managers fail to pass the correct drive number to the boot sector. Some even need the boot sector to follow the value (e.g. you should be able to boot FreeDOS from drive 0x81 with help of the LILO "table" option). I remember that Bart or someone else pointed out to a buggy Toshiba BIOS which had inspired the FF kludge. But I doubt that there are other such buggy BIOSes to justify keeping that kludge further. My suggestion - maybe kludgy - would be to STORE a value of 80 but to USE the value passed by the MBR / boot manager! Good suggestion! I agree with you, however patching the boot sector isn't something I like :-/ Recently we had a boot sector which used "shift register by 4 bits" opcode. Oops. Jeremy already fixed that. Rejoyce, 8088-ers ;-) I don't like very much having to patch one more value in the boot sector... The latest SYS now has the option, so the issue is now somewhat solved. Jeremy will decide whether to follow your advice. Thanks, Lucho --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Patch: COUNTRY.ASM
Hola Eduardo, This patch adds complete NLS tables to COUNTRY.SYS for the following country/codepage pairs: es/850, es/437, us/437, us/850, uk/850, uk/437, ar/850, ar/437, la/850, la/437, au/437, au/850 Includes an extension: table 23 (Yes and No chars). As it is a bit long, you can download it from: http://perso.wanadoo.es/samelborp/country.zip Thanks! But earlier, I changed the format of the CTYINFO table back to the old, much more readable format, by using a macro (idea by Arkady). So it won't apply. Would it be too difficult for you to modify it for the new COUNTRY.ASM? You can update it from unstable CVS branch. When I can apply it successfully, I can try to write a code to read the tables from COUNTRY.SYS into the kernel tables (unless you want to do this yourself, of course ;-) Regards, Lucho --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] PRF.C test fails for [far] pointers
Hello Bart - it's nice to hear from you again! the only thing wrong is the comment: you have to use -DFORSYS. Otherwise the libc printf (not the one in prf.c) is used, and in the small model this prints indeed a near pointer for %p and 1234:5678 (simply 5678). Thank you for this explanation. (Tom also answered me that with -DFORSYS everything works fine.) Today I understood this myself while trying to fix the %l bug I had introduced with my unstable PRF.C optimisation two days ago. I didn't realise that I got a bug, because I did the test without -DFORSYS and the libc printf worked fine except for %p - same as the unstable version. Fortunately I fixed the bug. Also I changed PRF.C to include the internal printf even if only TEST is defined. This way the variable argument macros are included in the test too, as they're used by the kernel. By the way, why are they so different in various compilers, and why Bruce BCC macros were chosen? Regards, Lucho --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Re: kernel/kernel country.asm, inthndlr.c
above shown MASM/TASM style, when _text_ with delimiters (spaces and/or comas) enclosed into brackets (<99h,0,0,0,0>). This allows to pass enclosed content as one argument. This is need, because list my be different: eg, <"RUB",0,0>. How deal with this in NASM, I don't know. Neither do I. Anyway, it's now converted to the old nice table format ;-) Also, what about reference from __il to _me (instead _il?)? Fixed. (Has nothing to do with the Israeli/Arab conflict ;-) And what about INT2F/122F? Although only MS-DOS 4.0 had it, I won't remove it (and it affects os_setver_m**or as I noted ;-) "rare" not equal to "nonexisting". :) Exactly as the case with the Tom's f_nodes kludge ;-) --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] PRF.C test fails for [far] pointers
Tom, the PRF.C test for %p (far pointers) fails for both kernel branches (shows just 5678 instead of 1234:5678). I think that you've written most of the code there, so could you please take a closer look - what could be wrong with it? Thank you... --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Boot sector drive incompatibility with other boot sectors
Hello, I'd like to raise the issue of the boot drive value in the boot sector. Now our SYS stores 0 if the drive is A: or B: and FF in all other cases. Then the boot sectors check if this value is FF and if so, use DL from BIOS, else use the drive number from the boot sector. While this smart boot sector code behaviour overcomes wrong values in DL stored by some "brain-dead" BIOSes if the boot drive is A: (but not if it's C:), the FF value written to by SYS causes a compatibility problem. What happens if someone decides to overwrite our boot sector later with a boot sector from another DOS? The FF will remain there (I checked that with PC-DOS) and the new boot sector will try to boot off drive FF, which will fail. Being too smart sometimes hurts (if everyone else is dumb ;-) So, I propose that SYS stores 0 if the drive is A: or B:, 80 if the drive is C: or D:, and FF in all other cases, and that we add a special boot drive option that can be used by advanced users to store whatever value they like. We could also just leave that value unchanged from the old boot sector as most other SYSes doo, thus placing the responcibility on FORMAT ;-) Please express your opinions on this issue. Changing the SYS behaviour is easy, but taking the right decision isn't. Thanks, Lucho --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Informer by Kondakov K.V.
Hi Justin, My sound card is a Creative Labs Sound Blaster 16/AWE32 ISA. With a slightly earlier card (Creative Labs Sound Blaster 16/PnP ISA) Informer happily works on my other machine under the same unstable kernel. NSSI works there only if I disable the CD-ROM driver (no UDMA drives there) but then creates bad report file (CHKDSK complains) for some reason :-( Regards, Lucho --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] NSSI Works!!!
Hallo Tom, Thanks for the information! Unfortunately if UDMA or CD-ROM driver is loaded, it hangs at the "checking memory for viruses" stage under the unstable CVS kernel. these were my results also - with boring, rock stable now DOES IT WORK ON UNSTABLE OR NOT ? As I wrote, it works, if neither UDMA nor CD-ROM driver is loaded. But for Justin it works with a CD-ROM driver. The difference is that my CD-ROM driver supports UDMA while his probably doesn't... WHICH UNSTABLE ? Current CVS version. but scince NSSI is under active developement, the author can probably tell us what we are doing wrong. Or just differently than MS-DOS :) unfortunately, this las sentence was just a joke. Why? Regards, Lucho --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] #pragma in UNSTABLE breaks compilation with OpenWatcom 1.2
#pragma aux default parm [ax dx cx] modify [ax dx es fs] Thanks, Eduardo - Jeremy already noted these errors on CPU < 386 this and today I fixed it in the CVS by applying it only for an 80386. The pragma was suggested by Bart. I don't understand how it works but it does decrease kernel size significantly. Regards, Lucho --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: kernel/kernel country.asm, inthndlr.c
Здравствуйте, Аркадий! Of course, entry may be defined through macro. Someting like: ENTRY 1,437,MDY,<"$",0,0,0,0>, ",",".","-",":",0,2,_12 ; US ENTRY 785,864,DMY,<0A4h,0,0,0,0>,".",",","/",":",3,3,_12 ; Middle East ENTRY 972,862,DMY,<99h,0,0,0,0>, ",","."," ",":",2,2,_24 ; Israel Good idea (You're king of macros ;-) I'll try to implment it... I think, here is mistake, because me use GPL2, not plain GPL. The first version of the GPL is now very rare. The URL refers to the current version 2, which will remain current until the SCO vs IBM lawsuit ends, according to Prof. Eben Moglen of FSF. r.FLAGS &= ~FLG_CARRY; - break; + CritErrCode = SUCCESS; + rc = DosClose(r.BX); + goto short_check; Better to place "r.FLAGS &=" right before "goto" to make common tail for many branches. Possible. Пока, Лъчо --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Re: int 2f.122f...
If I right remember, Lucho's patch affect os_major and os_minor. No, it affects os_setver_m??or. --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] NSSI Works!!!
Hi again, Justin! In FreeDOS 2035a, NSSI crashed. In the newest unstable kernel, NSSI works excellent! Get NSSI at http://www.navsoft.cz Thanks for the information! Unfortunately if UDMA or CD-ROM driver is loaded, it hangs at the "checking memory for viruses" stage under the unstable CVS kernel. Else it works, but hangs at the "Checking NLSFUNC" stage when creating automatic report. Needless to say everything works under MS-DOS 7.10. Regards, Lucho --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Informer by Kondakov K.V.
Hi Justin, A freeware DOS hardware detection program called Informer froze/locked up during sound card detection. Informer is my old friend. I've used it for UDMA. It works for me with the latest unstable kernel, despite that I have 3 (THREE) sound cards installed here, one of them embedded in the main board. What sound card do you have, and which kind of bus (PCI/ISA)? Regards, Lucho --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Kernel no longer removes or renames the current directory
Bom dia, Alain! Now the kernel no longer removes or renames the current directory of the drive for which this is requested. This says that it does not do what is requested... Could you please rewrite or explain it? MS-DOS never removes or renames the current directory of the drive for which this is requested but always fails with "attempted to remove current directory" error instead. Now FreeDOS does the same --- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Exact URLs for the kernel and SYS binaries
CVS already updated. Binary at And question again: how to download this lates image? http://linux.tu-varna.acad.bg/~lig/freedos/kernel/KERNEL.SYS http://linux.tu-varna.acad.bg/~lig/freedos/kernel/SYS.COM The boot code in SYS now has the DMA 64K boundary cross bug fix (thanks, Jeremy! :) --- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Kernel no longer removes or renames the current directory
Hello, I did some changes to the biggest file of all, FATFS.C. Now the kernel no longer removes or renames the current directory of the drive for which this is requested. I also did numerous optimisations, cleanups, a-la MS-DOS behaviour changes regarding creation/access stamps etc. Sources in CVS already updated. Binary at http://linux.tu-varna.acad.bg/~lig/freedos/kernel/ Enjoy! Lucho --- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Re: [Freedos-cvs] kernel/utils wlinker.bat,1.3.2.1,1.3.2.2
Microsoft LINK accepts a trailing colon (;) after the last meaningful argument instead of commas Sorry about my bad English. The dictionary says that the ";" sign is called semicolon, not colon! --- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Re: [Freedos-cvs] kernel/utils wlinker.bat,1.3.2.1,1.3.2.2
+%BASE%\binw\ms2wlink %1 %2 %3 %4 %5 %6 %7 %8 %9 >kernel.lnk If you have a better fix, I will gladly change it. Microsoft LINK accepts a trailing colon (;) after the last meaningful argument instead of commas. Perhaps this would work for MS2WLINK too? Like this: +%BASE%\binw\ms2wlink %1 %2 %3 %4 %5 %6 %7 %8 %9; >kernel.lnk --- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: Zurenava DOS extender hangs on exit
Michael, the KAVDOS32 problem is in its Zurenava DOS extender (Russian, of course ;-) Bind any 32-bit DOS executable with it and it'll hang on exit under FreeDOS and cleanly exit under MS-DOS. Zurenava source and binary code are available in a ZIP archive at http://dx.zr.spb.ru/zrdx047.zip --- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] COMDRIVE compatibility problem and analysis
Eric, why don't you fill in a Bugzilla entry with this problem? Lucho Tue, 31 Aug 2004 18:53:29 +0200 (MEST), Eric Auer <[EMAIL PROTECTED]>: Hi all, please check: http://www.coli.uni-sb.de/~eric/comdrive-analysis.txt.gz ... and tell me how to make (either by fixing FreeDOS or comdrive or both) this potentially very useful tool work with FreeDOS. Thanks! Download URL for the program itself (10k download) is in the txt, too. COMDRIVE 1.1 (Shareware by EnterTec - does that still exist?) is a device driver which can fetch bpb and sectors from remote drives, to make the remote drive visible locally (read-only). It can also send sectors from arbitrary FAT1x local drives to a remote computer. You connect 2 PCs, both with COMDRIVE loaded, over a null modem cabel on com1 or com2. The included SEL tool allows you to select the remote drive letter to be used. Problem: This only seems to work with floppy drives and "a bit" with ramdisks (Tyler knows more - I could only analyze, not test). Maybe something is broken with out BPB refresh logics? Or int 28 is sometimes called while DOS stacks are busy? Or the function 0x13 (generic IOCTL) implementation of the driver is too bad? Or the driver calls the get-bpb function (int 21.440d.0860) with not properly specified parameters? More details about possible problems can be found in my analysis text. Happy bug-hunting and thanks in advance! --- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Who marked bug 1820 as fixed?!
Who marked bug 1820 as fixed? Nobody had fixed it yet as far as I know, so I re-opened it. Whoever you are, please don't do so in the future without notice or publishing a fix. Be more responsible. --- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: FD vs. MS incompatibility (undocumented) breaks BRUN45
Hi Michael, and thank you very much for noticing this incompatibility! I wonder how many such undocumented things remain to fix... Indeed, incompatibility is a bigger problem for us than bugs. I was looking at why Solitaire Suite doesn't work with FreeDOS per a recent Bugzilla entry. It instead fails with a QuickBASIC BRUN45 or invalid opcode error. Turns out that BRUN45 expects int 21h, function 4Ah, to return the resized segment (the entry ES value) in AX on successful return. FreeDOS, naturally, leaves AX values to their entry value upon success. I must note that not only MS-DOS, but also DR-DOS does this! Just wonder how did they learn that?! This behavior is not documented in RBIL or MS-DOS Encyclopedia. However, I ran a simple test program under the Win2K DOS box and AX does change to the ES/resize segment after the INT 21h function 4Ah call. Then I forced the AX value to ES/segment value under the debugger and Solitaire Suite started up. This is *nowhere* documented indeed. So, call it a pearl ;-) The consequence of BRUN45 depending on AX holding a resized segment can cause it to load programs at invalid segment addresses with the expected poor results. Occasionally it even works. This may affect a fairly large number of programs. It certainly affects Solitaire Suite. It affects all non-statically linked programs built by Quick Basic. I suppose this post should go to kernel list, as well, but I did that recently for the 32RTM bug and don't want to annoy the thrifty bandwidth-savers by overdoing it. Besides, is there anybody who reads kernel who doesn't read devel? I used to be such a man but now I subscribe to all the 3 lists (because I knew you'd do that! ;-) Anyway, please find a new kernel binary and patch collection at my well-known kernel page (don't you have a bookmark for it already? ;-) that is http://linux.tu-varna.acad.bg/~lig/freedos/kernel/ Here's the corresponding unstable kernel branch patch chunk: --- cvs/kernel/kernel/inthndlr.c 2004-07-25 12:55:58.0 +0200 +++ src/kernel/kernel/inthndlr.c 2004-08-30 10:33:46.0 +0200 @@ -1003,6 +986,7 @@ panic("after 4a: MCB chain corrupted"); goto error_exit; } + lr.AX = lr.ES; /* Undocumented MS-DOS behaviour expected by BRUN45! */ break; /* Load and Execute Program */ Thanks once more, and... keep up the good work! ;-) Regards, Lucho --- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: DOSLFN 0.33 incompatibility
Hallo Eric, before we re-invent the wheel again, we should first try to get DOSLFN working with FreeDOS again. Jason writes that DOSLFN uses the FAT32 sector I/O functions for FAT32 enabled kernels for ALL drives in DOSLFN 0.33, and he thinks that DOS should be clever enough for that. In other words, he thinks that FreeDOS has a compatibility issue. DOSLFN 0.32, on the other hand, dynamically selected the FAT1x or the FAT32 API depending on the partition type for each drive (as far as I remember), which meant very slightly more complex code. When you copied me part of your conversation with him, I didn't understand anything and asked you to explain me. You didn't. Now when I raised the question again, I'm glad you responded, but again without enough details so I can't understand the issue. We handle the FAT32 functions (Int 21h AH=73h) through our inthndlr.c:int21_fat32() function. Which subfunctions exactly are the problem? As far as I can see, they don't check if the drive is FAT32 before issuing the lower-level calls. LFNs as a separate driver are better than LFNs as part of the kernel if you ask me. Somewhat harder to implement but LFN in the kernel would make the kernel much bigger and you never know if MS might eventually insist on their LFN-related patents. Making DOSLFN non-freeware (-> license costs to MS...) would be much easier than making FreeDOS kernel non-free in such a case. That won't happen - M$ licenses specific types of hardware, not software products that use LFNs. Do they charge Datalight just because their ROM-DOS has LFN support? No, of course. They charge products with LFNs falling into specific categories, which may or may not use ROM-DOS or DOSLFN. Jason is not planning to drop FreeDOS support, but he thinks that a bug in FreeDOS causes the 0.33 problems. Somehow reminds me of the FreeCOM vs. 2035a problems recently :-P. I've also always thought that the biggest problem of our kernel is incompatibility, not bugs. So, if he, you or anyone else points out what *exactly* is wrong in our Int 21h AH=73h implementation, I'll gladly fix it. Regards, Lucho --- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Updated unstable kernel patches and binary
it doesn't compile. Sorry - it turned out that my patches were against a mixture of stable and unstable branch! Now I got the real unstable CVS sources, cleaned up mine, and the resulting patch became larger, because it contains some Arkady changes not in unstable CVS yet. Just uploaded it on the same place, http://linux.tu-varna.acad.bg/~lig/freedos/kernel/ --- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: Updated unstable kernel patches and binary
the TU-Varna FTP server has currently some [space?] problems and I can't upload the files there Problems got fixed so I uploaded both the patches and the binary there. You probably know the URL: http://linux.tu-varna.acad.bg/~lig/freedos/kernel/ One more note: PLEASE don't link to it from pages visited very often. This may increase traffic so the administrators there may DELETE my files. This is an educational server NOT for mass download. --- 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] Updated unstable kernel patches and binary
Hello, I'm ready with updated unstable kernel patches + binary. By popular request, the copyright message is back, albeit in an abridged form that still says everything necessary! ;-) More simplifications were done. For example, my tests show that the InitializaAllDrives() kludge is no longer needed so I happily removed it :) This kernel has now NLSFUNC support by Eduardo (slightly modified by me). Needless to say that despite all this, the kernel is still below 40 KB (80 sectors) long! (Would I offer it otherwise? :) With its COUNTRY.SYS and NLSFUNC support, the unstable (read - dangerous :) kernel has now more features than the stable one, which should be expected from an unstable (read - advanced :) kernel. Unfortunately, the TU-Varna FTP server has currently some [space?] problems and I can't upload the files there, so I enclose them here. Hope nobody minds this larger message. Enjoy! Lucho P.S. After sending the above message, I got the following auto-reply: Your mail to 'Freedos-kernel' with the subject Updated unstable kernel patches and binary Is being held until the list moderator can review it for approval. The reason it is being held: Message body is too big: 76015 bytes but there's a limit of 40 KB Either the message will get posted to the list, or you will receive notification of the moderator's decision. I don't know who is that "moderator", but obviously I can't send the kernel binary. So here's the patch only. Now you know about the limitation. 40 KB must be a SACRED number EVEN for SourceForge! CVSPATCH.GZ Description: GNU Zip compressed data
Re: [Freedos-kernel] Getting COUNTRY.SYS done right
About country sys: Do NOT copy it from another DOS. It's NOT copied! See COUNTRY.ASM in http://linux.tu-varna.acad.bg/~lig/freedos/kernel/CVSPATCH.TXT --- 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] Microsoft C is Lattice C
(some) big corporations _do_ thefting. For example, Sony theft Walkman idea (AFAIR, from Bulgarian inventor), Logitech was reject co-operation with Russian developers, but then (quietly) reuse their ideas in own mice. :( I didn't know those things, and they only support my anti-corporate attitude :-( Lattice C -> Microsoft C, Do you sure, that MSC is a LC? Yes. Here is a quote from the book "IBM's Personal Computer" by Chris DeVoney, Que Corporation, Indianalopopis, 1983, page 214: C [...] Digital Research developed its own version of C, whereas Microsoft licensed its compiler for MS-DOS from Lattice Associates of New York. Microsoft has enhanced this version of C with several additional functions and programming tools. --- 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] Free space count not updated?!
It's declared in hdr/xstructs.h as xdpbforformat.setdpbcounts.nfreeclst but I don't see it updated anywhere! I suppose that this should be done at the end of kernel/fattab.c:link_fat() along with the update of the dpbp->dpb_xnfreeclst, but how to do it? I was wrong. It's fsinfo.fi_nfreeclst and is updated in the following line in fattab.c:write_fsinfo(): fip->fi_nfreeclst = dpbp->dpb_xnfreeclst; --- 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] Free space count not updated
Now I discovered this using DISKEDIT. It's a double word at offset 488 (1E8h) of the second sector of the FAT32 boot record (which consists of three sectors, not one as for FAT12 and FAT16). But actually this is described in http://www.microsoft.com/hwdev/download/hardware/fatgen103.pdf It's declared in hdr/xstructs.h as xdpbforformat.setdpbcounts.nfreeclst but I don't see it updated anywhere! I suppose that this should be done at the end of kernel/fattab.c:link_fat() along with the update of the dpbp->dpb_xnfreeclst, but how to do it? --- 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] dpb_xnfreeclst not updated when allocating new clusters?
I get same under MS-DOS 7.1 and its scandisk after massive files moving between disks. I even don't know, where MS-DOS stores this value! Now I discovered this using DISKEDIT. It's a double word at offset 488 (1E8h) of the second sector of the FAT32 boot record (which consists of three sectors, not one as for FAT12 and FAT16). But actually this is described in http://www.microsoft.com/hwdev/download/hardware/fatgen103.pdf --- 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] Re: [Freedos-kernel] The holy Copyright © ® ™
Hallo Bernd, How much space does the bootsector have? "Loading FreeDOS kernel (licensed under GPL)" The boot sector is a tight place. What you suggest is possible, albeit not for all boot sectors, and at the price of removing the error message, if any. So I don't think it's a good solution. bootsector: mentioning kernel + GPL kernel: commented out full notice (so does not get compiled in, but in sources) Almost each kernel source file has a header with the full copyright notice left from DOS-C. autoexec.bat: optional file, contains full notice as you currently have kernel should contain the GPL-message, but I don't think there's any need that it shows the GPL-message while being loaded. I fully agree, but Bart doesn't - alas! :-( Bootsector can do that, IF there's enough space in it. Unfortunately, it has more important things to do than showing this. Full "(c) P Villani 19xx-20xx, licensed under GPL, see license for usage and distribution terms" can be in the optional autoexec.bat file Exactly as I did. But now I promised Bart to bring it back and will do so, however I hate it! (But it will be same as in my AUTOEXEC.BAT) Anyway, tomorrow I'll find some other victim to cut off ;-) So much for the copyright voodoo magic words ;-) Groet, 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
Bom dia, Alain! I believe that being hated as much as "a certain man" is a matter of behaviour. I always use this analogy: Oracle's product are very expensive, but their custumers are content and Oracle is not hated at all. M$ make we feel bad, not because they charge, but because they force us in ways that we want not, or something like that... (I believe that this would happen even if their product was not so bad) I agree. William Henry Gates the Third is not a human. And he has not been such even 25 years ago. Currently I improve (cure) my nose, so I again delay my answer around a week. Can someone translate that from Russian :) (It could be some code that the CIA should not see) He wanted to say that his nose was running because he suffered from cold and he was curing himself Be healthy, Arkady! 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] The justice finally caught the criminal!
Lucho, whatever you do. Please leave that copyright message in. You made a proposal to change it. Then just removed it. Which is worse. The justice finally caught the criminal! I didn't remove it, I had just *moved* it to AUTOEXEC.BAT where it can be enjoyed in its full glory for as long as you wish instead of only for 3 seconds, and I announced that in my COUNTRY.SYS announcement, stating that I anticipate a stormy reaction to that. And here it is! OK, I added it back to main.c but the kernel became > 40 KB. So I must find a way to optimise it further. When I do this (hopefully tomorrow), I'll upload the new files. --- 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, Yes that's what I meant. What are the errors dsk.c gives you? None! :-O Don't know why, but now when I edited the UTILS\MAKEFILE to define EXEFLAT for EXEFLAT.C so that the pragma doesn't affect it, OpenWatcom 1.3 *successfully* built the kernel and the size is... guess what - exactly 63850 bytes, as you wrote! But this is... after adding Eduardo's Int 2F-12 functions! Apack packs that to 42200 bytes. If I pack the "exeflatted" kernel by it as a .COM file, I get 41967 bytes. UPX gives me 41460 bytes. The other #pragma aux default you suggested gives me 64042 bytes uncompressed, and 41183 bytes compressed by UPX as a .COM file. I suspect I could never reach the "sacred" size of 40960 bytes :-( For comparison, the "aPacked" Borland 4.0 kernel is now only 40832 bytes. No, Watcom is just too smart to produce well-compressible code! :) Groet, 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
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] Compilers (the eternal topic :)
Mon, 23 Aug 2004 00:00:30 +1200 (NZST), Bart Oldeman <[EMAIL PROTECTED]>: 63978 bytes!!! HOORAY!!! ;-) ;-) ;-) Still strange. I get 64266, doesn't matter whether it's OW 1.2 or 1.3. Strange indeed. #if !defined(FORSYS) #pragma aux default parm [ax dx cx] modify [ax dx es fs] #endif in portab.h works only if you use the 386 options that may explain why it didn't work for you. What do you mean by "the 386 options"? I do use the -3 option as well as -zff -zgf options. The pragma reduces it to 63850 (from 64266, ie. 416 bytes). Wow! I'd like to try this. To reduce compressed size you can try #pragma aux default parm [ax dx] modify [ax bx cx dx es fs] which adds ~200 bytes uncompressed but reduces 300 compressed. Very interesting! Does it also require "the 386 options" you mention, and what are these options? Also shuffling the link order helps a bit. . ~100 bytes off compressed kernel. Indeed! It helps the Borland kernel too - 86 packed bytes less. -zm gets it further but that's broken (segments messed up), but if that can be fixed you just need to get it below 40960 (80 sectors). That's the threshold I'd like to reach with Watcom in order to replace Borland by it. Anyway the code generator hasn't improved from our point of view. That's the only weak point indeed. They didn't seem to fix the bug I reported (bug 407) either. I suspect there are other bugs introduced in 11.0 but not present in 10.6 that remain in 13.0 (1.3). The compiler is significantly faster for certain code (not sure if that affects FD-kernel). In case you're interested I've put the changes below. Thanks! I read it and saved for my reference. Quite impressive list of changes! I especially like the support of all the instruction sets into the assembler (we use some of them here). Now we have not only the best universal x86 compiler, but also the best MASM-compatible x86 assembler! Shame on Borland who introduced 3DNow! in their inline assmbler but not in their stand-alone TASM! :-( 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
[Freedos-kernel] dpb_xnfreeclst not updated when allocating new clusters?
Hello, I noticed that I often get CHKDSK/SCANDISK errors that my FAT32 freespace count is incorrect. This happens when I write new files onto my disk, e.g. free space decreases. I see that dpb_xnfreeclust is incremented / decremented in fattab.c:link_fat() but is this the only place where it must be adusted? 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
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] Compilers (the eternal topic :)
Hello, I had forgotten to rename the FAT and CPU variables to XFAT and XCPU, so what I was getting was a 8086 kernel! Hm. How you miss "kbc8632" instead "kbc38632"? No, the Borland configuration file was correct, the problem was with my other configuration files! OpenWatcom 1.3, the uncompressed 80386/FAT32 kernel is... OW 1.3? Do you mean, 1.3 is ready?! They had moved the 1.3 from the devel/beta subdirectory onto a new one: http://downloads.openwatcom.org/ftp/zips-1.3/ I think it's a good sign that they're ready to announce it soon. But Bart probably knows more ;-) 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] Compilers (the eternal topic :)
UPX compressed it to 41604 bytes as COM and 41614 bytes as EXE. I mean as SYS, not as EXE. I just changed the first 4 bytes to FF to fake it. --- 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 :)
63978 bytes!!! HOORAY!!! ;-) ;-) ;-) I'm looking forward to say "Goodbye, Borland! Welcome, Watcom!" ;-) Sadly, I can't do this yet - UPX compressed it to 41604 bytes as COM and 41614 bytes as EXE. aPack - to 42071 bytes as COM. In contrast, the "cowardly" Borland 4.0 FAT32/80386 aPacked kernel is just 40718 bytes, almost a kilobyte smaller. So, unfortunately I have to remain a "coward" :-( 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, resolve rejects in exeflat.c :( Sorry, my fault. Just fixed that and uploaded a new CVSPATCH.TXT, including a SYS fix - OpenWatcom 1.3 now complains about missing return type of fat32readwrite so I addeed an "int" at both places. I've uploaded it to http://freedos.sf.net/kernel/kwc38632.txt so you can compare the map file. Thanks! Silly me, I had forgotten to rename the FAT and CPU variables to XFAT and XCPU, so what I was getting was a 8086 kernel! Now, with OpenWatcom 1.3, the uncompressed 80386/FAT32 kernel is... 63978 bytes!!! HOORAY!!! ;-) ;-) ;-) Congratulations, Bart! Now we can make some experiments with first "exeflatting" the kernel, then packing it. But first, please write about your #pragma aux default - why doesn't it work for me? Thank you very much - now I'm looking forward to say "Goodbye, Borland! Welcome, Watcom!" ;-) 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
Hello, 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). Great. Sorry but I've missed your implementations - could you re-post them, so they're integrated? Lucho, Steffen, everybody, we should have some discussion to determine which COUNTRY.SYS format we should use in FreeDOS. 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. 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. But as more and more countries and / or functions are added to the kernel, the need of an external COUNTRY.SYS (as in other DOSes) increases. Soon or later it would have to be separated. The sooner - the better. Now I dared to do this, knowing that not everybody will like it. Well, that's why we have two branches - stable (rock-solid, but stoned :) and unstable (dangerous, but moving :) 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) Not only because Lucho wants a smaller kernel, but also because this allows for adding the future functionality. Who said that 24 hour time requires COUNTRY.SYS? Just change 1 bit in NLS_HC.ASM :) Did you note in COUNTRY.ASM (in my CVSPATCH.TXT) that the US data is there, unlike the MS version? This means that USA may not be default anymore. (What's *the* important country missing there? ;-) As to filename tables, I think that all file names should be only ASCII for greater compatibility. And as to other language tools, Chinese, Japanese and Korean users have their own tools for that, as Bulgarians and Russians have for the Cyrillic support. For example, we have a CYR.COM that does all the keyboard / screen stuff and is very convenient to use. Alas, as all Bulgarian software, it can't be used in FreeDOS, because not only it lacks sources, but even the authors are unknown! ;-) There's nothing more discouraging that doing something and finding it not accepted. If so then I'm afraid I won't have anything more to do here except to say "goodbye" again, this time for good :-( Regards from Bulgaria, 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] Tom - a billionaire?! ;-)
Hallo Tom, 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). Please don't. You won't be the same Tom if you do. The millions will debauch you. No, I'm serious! 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 ? Not suddenly. It happens gradually until you gradually turn from a good man to a bloodsucker! :-( 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. If you don't have the power and don't use deceiving advertisement and dirty marketing tricks to achieve those millions, you won't have them - fortunately for all of us *and* for yourself, too! ;-) But the customers contentness is probably not related to the fact, that I'm billionaire or not. I don't know for your customers, but I'd stop respecting you, should you become so, since you wouldn't be Tom anymore. But as I wrote, I'm sure this won't happen, so you'll remain the same good old Tom ;-) 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
btw, no source for your country.sys provided (or did I not look good enough?) Yes. Source file COUNTRY.ASM is in the patch file, CVSPATCH.TXT ;-) --- 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] 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
[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] Patch: Allow seeing ZIP disk serial number
interesting loading option, I have SCSI internal zip100 iomega drive. Does DEVLOAD 3.13 also work for you instead of DYNALOAD? (no idea if we have put it online somewhere, though :( ) I haven't tried it, but there is no reason why it shouldn't work. --- 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 Tom, It's not worth a penny because it can be freely downloaded from Vietnam (I posted the URL here ;-) I know bulgarians think that way. Not only Bulgarians. 3/4 of the world thinks so. And many Americans and Germans too, by the way. It's still theft. It would be a theft if I *move* the files. If I copy them, I don't deprive anybody form anything. The whole nature of information allows copying, so it cannot be private property of anyone. All information but some reasonably secret and personal data must be free for everyone. Quite the contrary, corporations steal our money when they ask us to buy their software. Microsoft stole everything they released. The criminals are they, not we. There is no fair (honest) way to become a millionnaire or a billionaire. And because we're not millionaires or billionaires, we're not criminals. Good programmers who really deserve money, like you or Joergen Ibsen, get it even from people like me. I registered my copy of aPack! Would I register it if it it was made by a corporation like Borland? Never! They're too rich anyway! Copyright is dying, long life copyleft! ;-) 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] Compilers (the eternal topic :)
Hallo Bart, Question is how much of a difference can you tolerate? From you I get the impression that a 100K uncompressed kernel that compresses to 3 bytes would be preferable to a 64K one that compresses to 4 bytes. ;-) I could never use an uncompressed kernel that is below 64 KB. OpenWatcom makes the FAT32/80386 unstable kernel 66330 bytes long. The maximum size that UPX accepts is 65350 bytes. The difference is almost a kilobyte. How could we reduce the kernel further without crippling it? It's difficult! I've seen compressed differences between Turbo C++ 1.01 and OW going down over the years. As for Borland, is it worth spending $59+postage for an unsupported product on an obscure Ebay site when so many free compilers are available? It's not worth a penny because it can be freely downloaded from Vietnam (I posted the URL here ;-) How about Digital Mars for instance? A very good compiler in my opinion, backed by Walter Bright's C++ great compiler "know-how", but Tom once wrote that he gave up porting the kernel to it as he didn't see advantages. I experimented a bit -- as it turns out once the uncompressed size goes to <64K you can stick on a SYS header to kernel.sys, UPX the already exeflatted SYS file and use that. For some reason in this case UPX is better than APACK by the way. Well I got it down to ~41300 bytes vs. your 40957. Now you're just lucky that 40957 is just below the 80 sector boundary but the difference is gone at 40961 bytes. Does that < 64K kernel support FAT32? Hardly. The 40K one at my site does. So that's an incorrect comparison. Besides, aPack doesn't compress .SYS files at all. An incorrect comparison again. Did I say it was bad? I just claim it's not the best tool for our job and has several other disadvantages. You're right, but I have to put up with its disadvantages for one big advantage - KING SIZE! ;-) Do Datalight really use it because the entropy is lower so the compressed size goes down? Their DOS is not compressed at all, although I offered them some stubs to compress a < 64K kernel. Of course they lost the "race" (MSVC, Intel, GCC) when Sybase took over and eventually stopped development. And from what I gather 11.x however introduced various obscure linker bugs, and loop optimization bugs (most are fixed in OW now). And OW still has years to catch up in terms of C++ standards (slowly getting there). The information about loop optimisation bugs is very important. So, not all of them are fixed yet? For example a colleague of mine discovered such a bug which I reported to them. It's present in all Watcoms since 11.0 but wasn't there in 10.6! Unfortunately, there are no bug-free compilers :-( 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] Patch: Allow seeing ZIP disk serial number
Did you run "guest" to load the drivers for the parallel port Zip Drive? Yes, and it worked for me. I tried it three months ago and I could not get it to work. Kernel version is 2.1.34. I had composed a simple batch file (LOADZIP.BAT) to replace GUEST and consume less memory. It's dated 2 May 2004 so it had worked with build 2034, as GUEST did. Here it is @dynaload c:\iomega\aspippm1.sys file=byte.ilm speed=1 info @c:\iomega\scsicfg.exe /v @dynaload c:\iomega\scsidrvr.sys --- 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] Re: Int 2f.122f already supported?
Hallo Eric, does FreeDOS already support int 2f.122f, set DOS version number? Now it does - see patch below ;-) We already had a similar function on another API (int 21 somewhere), but using int 2f.122f would be DOS 4+ compatible and nice for a SETVER... See the updated CVSPATCH.TXT and KERNEL.SYS at http://linux.tu-varna.acad.bg/~lig/freedos/kernel/ Regards, Lucho P.S. I'm not responsible for damages to the following patch caused by my e-mail client, Opera! For the real patch, see CVSPATCH.TXT. Needless to say that it's for the unstable (DANGEROUS :) branch. --- cvs/kernel/kernel/inthndlr.c2004-07-25 20:12:50.0 +0200 +++ src/kernel/kernel/inthndlr.c2004-08-16 20:36:32.0 +0200 @@ -1876,6 +1874,19 @@ doesn't work!! */ break; +case 0x2f: + if (r.DX) + { +os_setver_major = r.DL; +os_setver_minor = r.DH; + } + else + { +os_setver_major = os_major; +os_setver_minor = os_minor; + } + break; + default: if (r.AL <= 0x31) { --- cvs/kernel/kernel/main.c2004-07-24 19:02:42.0 +0200 +++ src/kernel/kernel/main.c2004-08-16 20:50:38.0 +0200 @@ -267,6 +267,7 @@ LoL->os_setver_major = LoL->os_major = MAJOR_RELEASE; LoL->os_setver_minor = LoL->os_minor = MINOR_RELEASE; + LoL->rev_number = REVISION_SEQ; /* move kernel to high conventional RAM, just below the init code */ #ifdef __WATCOMC__ --- 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] HiNTOS vs HX - Japheth about to win :)
4 days ago, I wrote: I see! OK, when I copied it from W98 to C:\HX, PESTUB patched MASM 6.15 successfully, so I can now run it in FreeDOS, this time perfectly, also when building real projects with NMAKE and assembling multiple files at once. Congratulations! However, when I apply PESTUB to Digital Mars 8.38 (SC.EXE and SCPPN.EXE), it still crashes with a register dump (general protection fault) when I try to build real projects with SMAKE, but works when converted by HiNTOS, albeit *not* in FreeDOS :-( But on the next day, Japeth fixed an incompatibility in DKRNL32.DLL, and now I can run both ML and SC in FreeDOS too! So, the only tool that I ran in MS-DOS but can't run in FreeDOS is the Windows version of RAR (currently HX's DUSER32.DLL doesn't have the "ExitWindowsEx" call that RAR needs). But *if* Eugene Roshal fixes the long standing "Not enough memory" archive update bug in the DOS version of RAR, RAR32, I would be able to run RAR32 as I run RAR in FreeDOS too, so then HX will really be the winner because it works in FreeDOS too, without the SFT magic that HiNTOS does! ;-) 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
[Freedos-kernel] Patch: Allow seeing ZIP disk serial number
Hello, First, I'd like to express my gratitude to Alain Mouette for his generous donation of an external 100 MB parallel ZIP drive + disks to me which allowed me to catch the bug below. Thank you, Alain! Attached is the file CVSPATCH.TXT - a cumulative patch for the unstable branch that contains a fix for a bug in IOCTL.C which prevented the ZIP drive serial number to be seen. The problem was that the r_unit field was incorrectly set to unit number, whereas it must be set to subunit number. And while I was at it, I also added assignments of the SI and DI fields for IOCTL 13h/19h, because the IBM PC DOS Techical Update explicitly states that these fields contain SI/DI on pages 104 and 105. Needless to say that I also updated CVSPATCH.TXT and KERNEL.SYS at http://linux.tu-varna.acad.bg/~lig/freedos/kernel/ Sorry for the relatively big attachment that contains patches that were already known, but Opera screws up copied-and-pasted chunks of code so attaching the patch file is the only cure for this. Regards, Luchodiff -Naur cvs/kernel/hdr/device.h src/kernel/hdr/device.h --- cvs/kernel/hdr/device.h 2004-07-24 19:02:42.0 +0200 +++ src/kernel/hdr/device.h 2004-08-16 10:30:12.0 +0200 @@ -374,7 +374,8 @@ struct { UBYTE _r_cat; /* Category code */ UBYTE _r_fun; /* Function code */ - UBYTE unused[4]; /* SI or DI contents or DS:reqhdr */ + UWORD _r_si; /* Contents of SI and DI */ + UWORD _r_di; /* (PC DOS 7 Technical Update, pp 104,105) */ union { struct gblkio FAR *_r_io; @@ -424,6 +425,8 @@ /* generic IOCTL and IOCTL query macros */ #define r_cat _r_x._r_gen._r_cat #define r_fun _r_x._r_gen._r_fun +#define r_si_r_x._r_gen._r_si +#define r_di_r_x._r_gen._r_di #define r_rw_r_x._r_gen._r_par._r_rw #define r_io_r_x._r_gen._r_par._r_io #define r_fv_r_x._r_gen._r_par._r_fv diff -Naur cvs/kernel/kernel/inthndlr.c src/kernel/kernel/inthndlr.c --- cvs/kernel/kernel/inthndlr.c2004-07-25 20:12:50.0 +0200 +++ src/kernel/kernel/inthndlr.c2004-08-13 12:05:56.0 +0200 @@ -698,10 +698,8 @@ case 0x30: lr.AL = os_setver_major; lr.AH = os_setver_minor; - lr.BH = OEM_ID; - lr.CH = REVISION_MAJOR; /* JPP */ - lr.CL = REVISION_MINOR; - lr.BL = REVISION_SEQ; + lr.BX = (OEM_ID << 8) | REVISION_SEQ; + lr.CX = 0; /* serial number must be 0 or buggy 32RTM thrashes stack! */ if (ReturnAnyDosVersionExpected) { diff -Naur cvs/kernel/kernel/ioctl.c src/kernel/kernel/ioctl.c --- cvs/kernel/kernel/ioctl.c 2004-07-24 19:02:42.0 +0200 +++ src/kernel/kernel/ioctl.c 2004-08-16 12:39:48.0 +0200 @@ -92,8 +92,9 @@ sft FAR *s; struct dhdr FAR *dev; + struct dpb FAR *dpbp; unsigned attr, flags; - UBYTE cmd; + UBYTE cmd, unit; switch (r->AL) { @@ -141,8 +142,6 @@ case 0x0e: case 0x0f: case 0x11: -{ - struct dpb FAR *dpbp; /* Line below previously returned the deviceheader at r->bl. But, DOS numbers its drives starting at 1, not 0. A=1, B=2, and so @@ -154,25 +153,23 @@ #define NDN_HACK #ifdef NDN_HACK /* NDN feeds the actual ASCII drive letter to this function */ - UBYTE unit = (r->BL & 0x1f) - 1; +unit = (r->BL & 0x1f) - 1; #else - UBYTE unit = r->BL - 1; +unit = r->BL - 1; #endif - if (unit == 0xff) - unit = default_drive; - CharReqHdr.r_unit = unit; - - if ((dpbp = get_dpb(unit)) == NULL) - { -if (r->AL != 0x09) - return DE_INVLDDRV; -attr = ATTR_REMOTE; - } - else - { -dev = dpbp->dpb_device; -attr = dev->dh_attr; - } +if (unit == 0xff) + unit = default_drive; + +if ((dpbp = get_dpb(unit)) == NULL) +{ + if (r->AL != 0x09) +return DE_INVLDDRV; + attr = ATTR_REMOTE; +} +else +{ + dev = dpbp->dpb_device; + attr = dev->dh_attr; } } /* switch */ @@ -186,6 +183,8 @@ { CharReqHdr.r_cat = r->CH;/* category (major) code */ CharReqHdr.r_fun = r->CL;/* function (minor) code */ +CharReqHdr.r_si = r->SI; /* contents of SI and DI */ +CharReqHdr.r_di = r->DI; CharReqHdr.r_io = MK_FP(r->DS, r->DX);/* parameter block */ } else @@ -194,6 +193,7 @@ CharReqHdr.r_trans = MK_FP(r->DS, r->DX); } CharReqHdr.r_length = sizeof(request); + CharReqHdr.r_unit = dpbp->dpb_subunit; CharReqHdr.r_status = 0; switch (r->AL) @@ -256,7 +256,7 @@ case 0x09: { - const struct cds FAR *cdsp = get_cds(CharReqHdr.r_unit); + const struct cds FAR *cdsp = get_cds(unit); if (cdsp == NULL) return DE_INVLDDRV; if (cdsp->cdsFlags & CDSSUBST) diff -Naur cvs/kern
Re: [Freedos-kernel] Compilers (the eternal topic :)
Hallo Bart, We'll make a deal. If Borland fixes their bug in 32RTM as part of open sourcing their old 16bit targetting compiler (even lower than the chance that RBIL will be updated) I'll go for it ;) And this means - never, and you know it! ;-) I do recognize other compilers but... Glad to hear that! ;-) BC isn't a target for freedos optimizations; there's one and only one target to optimize for : WATCOM. so BC specific optimization is a waste of time (ours and yours) True, but my optimisation isn't BC-specific. It's beneficial for all compilers but Watcom! ;-) Besides, you know that Borland C++ 4.0 produces the smallest possible packed kernel binary file. Sometimes kernel file size is what matters (for floppy and ROM disks) and sometimes - the resident size in RAM (where Watcom is the king), if the DOS is in low RAM or if there is no cache. Depends. This is not to say that I like Borland. They added 3DNow! to their inline assembler in C++Builder 6, but NOT in their TASM, which makes me extremely angry at them! But on the other hand, Datalight still use Borland as their one and only compiler for ROM-DOS. If it was so bad, would they use it? This just being tom's opinion but I still agree -- I even agree more than I did a couple months ago, that's why I rejected my own idea of using "_seg *" pointers. I played for a while again with Turbo C++ back then but in the end decided that the difference was just too big. I agree that this was a right decision. Bart, some programmers claim that the only true Watcom is 10.6-, and 11.0+ is NO LONGER WATCOM as it was RUINED by Sybase. I have compared the code generated by both, and the difference is not so big, plus the code by 11.0+ is more optimal. What you can say on these Watcom version differences? 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] 32RTM Bug Found, no good fix
Hallo Bart, whatever, now we have 2035, 2.0.35, 1.1.35, and 0.0.35 all as version numbers ;) ...and 2035, 2035a (why not rename them to STABLE?) and 2035a-UNSTABLE releases ;) Just have to send Ralf Brown another email as my previous mod to interrupt.f will be obsolete. ...in the hope that the probability of releasing the next version of the RBIL is greater than the probability of releasing the next version of the GPL (and neither of them is zero ;-) Anyway most references other than RBIL tell that the serial number isn't used as such. True. Moreover, the IBM PC-DOS 7 technical reference update (http://www.redbooks.ibm.com/redbooks/pdfs/gg244459.pdf) says: = start quote = 30H — Get DOS Version Number Purpose Returns the DOS version number. Examples PUSHCX ; CX destroyed in call PUSHBX MOV AH,30H ; Function Call – Get PC DOS 7 ; Version INT 21H ; Issue request to DOS MOV MajorVersion,AL ; Save Version MOV MinorVersion,AH MOV DOS_Running_From,BH ; POP BX POP CX - MajorVersionDB ?; X of X.YY MinorVersionDB ?; YY of X.YY DOS_Running_FromDB ?; 0 = DOS not running in ROM DOS_Running_FromDB ?; 8 = DOS running in ROM Comments On entry, AH contains 30H. On return, CX is set to 0. AL contains the major version number. AH contains the minor version number. BH contains 8 or 0 for DOS running or not running in ROM. If AL returns a major version number of 0, you can assume that the DOS version is pre-DOS 2.00. Use function call 33H AL=6 (Get or Set System Value) to get the true version number. = end quote = Not that it says "On return, CX is set to 0". So, the RBIL is just one of the references - not to be absolutised. www.htl-steyr.ac.at/~morg/ pcinfo/hardware/interrupts/inte2zlc.htm That URL doesn't work. The correct URL (without the extra space) is: www.htl-steyr.ac.at/~morg/pcinfo/hardware/interrupts/inte2zlc.htm tells us that " - the OEM serial number is a rarity, though some older OEM DOS versions implemented this feature". Most likely 32RTM wouldn't run on those older OEM DOS versions either then. Yes. This patch won't apply without manual tweaks Lucho, please fix your email client. I can't fix Opera - it's closed source ;-) Lines were wrapped and indentation also messed up (hard tabs?). Sorry. From now on, I'll enclose my eventual patches as plain text attachments. They'll work then. There's also a pointless "optimization", that the compiler can do for us as well. Will Watcom (the only compiler you recognise) do this? Borland won't, I'm sure. So my optimisation is NOT pointless. By the way, Bart, as an OpenWatcom contributor, would you please post news here and on fd-devel when version 1.3 is officially released? Thanks. 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] The long posts by Eric
ok, that's bit clearer than his email (which was about 10x longer than necessary, but obviously I'm the only one here who thinks that?). No, I also agree. I am back today after some days off. Sorry, Eric, I couldn't read your whole mail, or I would never be able to get up to date in a single day. Please a bit more effort in summarizing? Many thanks! :) I agree too. Eric, please use an editor when you write e-mail - don't write directly in mailx(1). 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] Re: 32RTM Bug Found, copyleft message
Hallo Eric, Even 2035z would still mean a sufficiently small CX value and 32RTM would work. If CX is nonzero, 32RTM will *not* work. And CX *is* zero in *all* DOS version I've tested (MS-DOS, PC-DOS, ROM-DOS and DR-DOS). Michael, Tom and Alain are right. There's nothing else we could do but clear CX. What's more important after all - that FreeCOM shows 1.1.35 instead of 0.0.35, or that 32RTM works? I think that the answer is obvious for everybody. Yes we DO want to mention the license! MENTION. Not display the whole 18k file, obviously. That's exactly what I meant with my proposal (it fits on 2 lines despite the wraparound that my mail client will probably do): FreeDOS kernel build 2035a-UNSTABLE Copyleft 1985-2004 Pasquale J. Villani and The FreeDOS Project. NO WARRANTY. Licensed under the GNU General Public License This increases the size in RAM by ZERO bytes and the size on disk by some really small number of bytes - and our kernel is very small on disk already anyway. So leave the banner message as is, thank you. The current message does more than simply MENTIONING the GPL. That's why I think it's too long. Just MENTIONING the GPL is enough - most people nowadays already know it. It's not like it was back in 1991! 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] Initial copyleft / licensing message
FreeDOS kernel build 2035a-WHATEVER. Copyright... This kernel comes with ABSOLUTELY NO WARRANTY and you are welcome to redistribute it under certain conditions; press F1 for details. I'd prefer this: FreeDOS kernel build 2035a-UNSTABLE Copyleft 1995-2004 Pasquale J. Villani and the FreeDOS Project. NO WARRANTY. Licensed under the GNU General Public License Nice idea and very easy to implement. :) I think, this is even _should_ be implemented, as startup screen should be cleaned. Please don't put the licensing conditions into the kernel! We strive for small size, don't we? Besides, that GNOMOVISION example is in the 12 year olg GPL2 only. The Alfero license, which is said to be the example for the future (mythical?) GPL3, doesn't have this example. If you ask me, the smaller startup message the better, and no license games at DOS bootstrap! 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] 32RTM Bug Found, no good fix
Thank you very much, Michael, for your discovery of the 32RTM bug! There you have it folks. A dumb bug in a Borland product that by purest happenstance fails under FreeDOS and not MS-DOS. I don't have any idea how to gracefully fix the problem other than to have FreeDOS change its serial number. And it shouldn't have to do that. Sure. But since it's easier to make the kernel return a serial mumber of 0 as MS-DOS does than to patch each and every copy of 32RTM.EXE, I changed our function 30h to return 0 in CX. I tested this change and now 32RTM works without -X as Michael wrote indeed! So I uploaded a new unstable kernel binary at http://linux.tu-varna.acad.bg/~lig/freedos/kernel/ along with a comulative patch (CVSPATCH.TXT) for the unstable branch consisting of the Eduardo's NLS patch and the following patch. Thus, regrettably we're back to version 0.0.35 now (as reported by the FreeCOM's VER /R ;-) I guess 32RTM now stands for "32 times Read The Manual!" ;-) Do you see now what I meant when I wrote that MS-DOS has a better "bug compatibility"? ;-) Regards, Lucho --- cvs/kernel/kernel/inthndlr.c 2004-07-25 20:12:50.0 +0200 +++ src/kernel/kernel/inthndlr.c 2004-08-13 12:05:56.0 +0200 @@ -698,10 +698,8 @@ case 0x30: lr.AL = os_setver_major; lr.AH = os_setver_minor; - lr.BH = OEM_ID; - lr.CH = REVISION_MAJOR; /* JPP */ - lr.CL = REVISION_MINOR; - lr.BL = REVISION_SEQ; + lr.BX = (OEM_ID << 8) | REVISION_SEQ; + lr.CX = 0; /* serial number must be 0 or buggy 32RTM thrashes stack! */ if (ReturnAnyDosVersionExpected) { --- 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] Good luck, Arkady!
My working machine died, so I currently change my machine, disks and OS. Good luck with your new PC, and may you have at least one FAT32 volume! :) --- 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] Re: 32RTM bug
Hello Michael, I don't want to suggest basic things you've probably already thought of, but want to point out that the actual exception due to REP MOVSW in protected mode is significant. It's not a crash within FreeDOS or failure within the real mode INT 21h handler. Looks like a bad pointer to me. I tried "int 0x21 ah=0x34" in both MS-DOS 7.10 and FreeDOS. In both, the returned offset in BX is 321h although the segment in ES is slightly lower in MS-DOS than in FreeDOS (C9h vs D2h). But in both cases, the memory location pointed to by ES:BX was 0. So, that pointer seems valid to me. I also tried to catch the real pointer value when called by 32RTM with STEPDOS. It didn't came to calling DOS function 34h at all! The latest DOS function I saw before it showed the "Unhandled exception" message was 2Fh (get DTA). The returned value by function 2Fh in ES:BX was 1376:80h. Of course, that bad pointer could have come about due to stack corruption real or pmode, stack overflow back into Borland's data storage, memory corruption, or changing an unexpected register, but RTM lives long enough to get back to the RTM code itself, presumably in the DPMI dispatch/return area. I don't think the actual ES:BX return value is the problem, because it's not had a chance to be used at the exception point. You may be right that it's a bad pointer in the context of the real call. Could you catch what pointer it returns when called by 32RTM? The returned value in ES:BX when I test it by "int" is D2:321h. I tried manually shoehorning my own GDT entry in the RTM GDTand overwriting RTM's IDT for exception 0DH so I could catch the exception without any luck other than a change in exception message, but I could try again if nobody has any idea why it's failing. Alas, this seems so, indeed... If you can see the pointer DOS function 34h returns (or even the byte pointed to by it) when called by 32RTM, this may help. Thanks, 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] Re: 32RTM bug
Hallo Bart, case 0x34: lr.ES = FP_SEG(&InDOS); lr.BX = FP_SEG(&InDOS); break; What could be wrong here? Copy and paste is broken where you are. Not copy and paste, my head is broken because I typed it by hand! ;-) with lr.BX = FP_OFF(&InDOS); it would be correct. But that's what it does in my source so... Of course it's FP_OFF, not FP_SEG for lr.BX - I just mistyped it :-( Stack usage during the call? that's what I suspected. Eric suggested (in a private email) to make int21/ah=34 reentrant like we did for 25 and 35. However than it would completely execute on the user stack and that stack seemed to have been the problem (only 30 words?). How do you know that the user stack is just 30 words? Since you said commenting out calls to the int2a handler didn't help... The only other extra stack user is the macro for 386 registers. Perhaps compiling for <386 or pushing/popping these on the kernel stack would work around that. I tried a 80186 kernel but the result is the same. I don't know how to implement the other suggestion but because of the test results so far I'm not sure if the problem is indeed the stack. 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] Re: 32RTM bug
Using the -X option bypasses the InDOS function call, so you don't see a problem when you use that 32RTM option. But the InDOS call just does: case 0x34: lr.ES = FP_SEG(&InDOS); lr.BX = FP_SEG(&InDOS); break; What could be wrong here? The InDOS flag value itself? Stack usage during the call? --- 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] HiNTOS vs HX
Hello Japheth, and thanks for your reply! I downloaded all the 10 ZIPs there but none contained CRTDLL.DLL Yes. That is because CRTDLL.DLL is copyright MS and is included in every windows OS. I see! OK, when I copied it from W98 to C:\HX, PESTUB patched MASM 6.15 successfully, so I can now run it in FreeDOS, this time perfectly, also when building real projects with NMAKE and assembling multiple files at once. Congratulations! However, when I apply PESTUB to Digital Mars 8.38 (SC.EXE and SCPPN.EXE), it still crashes with a register dump (general protection fault) when I try to build real projects with SMAKE, but works when converted by HiNTOS, albeit *not* in FreeDOS :-( 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] Re: 32RTM bug
dos_crit_sect: mov [_Int21AX],ax ; needed! pushax ; This must be here!!! mov ah,82h ; re-enrty sake before disk stack int 2ah ; Calling Server Hook! pop ax ret I don't understand the comments here. Who wrote this code? Does "re-enrty sake before disk stack" mean that this code has to be executed on the user stack? Anyway, one could experiment by commenting out all "call dos_crit_sect"s in entry.asm. Just tried what you suggested, Bart, but unfortunately the result is the same :-( Any other ideas? 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] HiNTOS vs HX
Wed, 11 Aug 2004 23:46:27 +1200 (NZST), Bart Oldeman <[EMAIL PROTECTED]>: On Wed, 11 Aug 2004, Luchezar Georgiev wrote: HiNTOS is a DOS extender and Windows emulator that converts Windows console programs into programs that run in both Windows and DOS. It's the only one that can convert *fixed* PE executables (WDOSX can't!). HiNTOS is at http://www.alex-hint.narod.ru/hintos-e.html Just in case you didn't know, there's yet another program in this department: HX, see http://www.japheth.de. Japheth has been very helpful in finding bugs in DOSEMU's built-in DOS extender (yes even though the DPMI spec doesn't mention it, a DPMI server will have to provide some DOS extender services to be compatible just because Windows' built-in DPMI server does that too). Thank you, Bart! I didn't know about HX (so I wasn't right that HiNTOS is unique!), hence I spent a few hours on it. I downloaded all the 10 ZIPs there but none contained CRTDLL.DLL that PESTUB.EXE needs. So I couldn't use it. But I tried the resident mode. The idea is great - for the price of just 496 resident bytes you could run PE files unpatched! But although I was able to run ML 6.15 and SC 8.38 on their own in both MS-DOS and FreeDOS (RAR 3.30 failed with a message that the required ExitWindowsEx call is unsupported), both failed with register dumps when I tried to build real projects with NMAKE and SMAKE, respectively, although I set DPMILDR=8 as recommended. (BCC 5.02 however ran successfully even in FreeDOS because it didn't have the chance to use 32RTM ;-) But TLIB failed to run in both MS-DOS and FreeDOS. So, at least for me, HiNTOS is the winner, because it runs RAR 3.30, ML 6.15 and SC 8.38 successfully, including when building projects with NMAKE and SMAKE, albeit HiNTOS doesn't support FreeDOS and DR-DOS but only MS-DOS, PC-DOS and ROM-DOS. But I'm sure that if Japheth and Alex unite, they'll blow out Windows with their future SUPER OS! 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] HiNTOS
Hello Michael, Last not least, since it modifies the SFTs, the HiNTOS DOS extender (or Windows to DOS converter) doesn't work at all in FreeDOS. This is either a really obscure extender or else also known under a different name, as even Google Usenet search doesn't pick up a hint of it. But it doesn't sound like it's a current issue for anyone. HiNTOS is a DOS extender and Windows emulator that converts Windows console programs into programs that run in both Windows and DOS. It's the only one that can convert *fixed* PE executables (WDOSX can't!). It's available at http://www.alex-hint.narod.ru/hintos-e.html and I think it's becoming more and more important now when everybody releases Windows console programs without DOS counterparts. I converted successfully with it: Digital Mars C/C++ 8.38, MASM 6.15 and RAR 3.30 (its DOS version fails to modify existing archives but its Windows console version can do it). HiNTOS works under MS-DOS, PC-DOS and ROM-DOS, but not under DR-DOS and FreeDOS. To make it run under FreeDOS, the kernel will have to be rewritten not only to show SFT data to the outside world but also to work with this data internally as MS-DOS does. This won't happen soon, if 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