[Freedos-kernel] Re: [Freedos-cvs] kernel/kernel entry.asm,1.26,1.27 inthndlr.c,1.86,1.87 io.asm,1.16,1.17 nlssupt.asm,1.12,1.13
Hi! 30--2004 19:31 [EMAIL PROTECTED] (Bart Oldeman) wrote to [EMAIL PROTECTED]: +++ io.asm30 May 2004 19:31:07 - 1.17 +%include stacks.inc +++ nlssupt.asm 30 May 2004 19:31:07 - 1.13 + %include stacks.inc Don't forget to fix rules in makefile. --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id149alloc_id66op=click ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-devel] Re: [Freedos-cvs] kernel/hdr device.h,1.21,1.22
Hi! 29--2004 12:30 [EMAIL PROTECTED] (Bart Oldeman) wrote to [EMAIL PROTECTED]: No, all right: r_catfun is a xreg.x and r_cat is a xreg.h. Mistake is in my comment: I was should say difference is that r_cat comes _after_ r_fun to make consistent with CX. BO No, it can't be. See Table 02597 in RBIL at int2f/ax=0802, BO ---command codes 13h,19h--- BO which is what the patch implemented. Ok. When I receive latest sources, I review them. --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id149alloc_id66op=click ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] [announce] kernel 2035 and bye
Hi, I've uploaded kernel 2035 to http://sourceforge.net/project/showfiles.php?group_id=5109 important fixes: Fix problems with USBASPI.SYS, DI1000DD.SYS Fixed invalid opcode with debug foo.txt, same with netware redirected logins. Don't move the EBDA by default. Use switches=/e:-1 if you want the auto-sized movement (#1771) Made int21/ah=25,35 reentrant. Solves problem with Intel PRO/1000 driver. Fix dir corruption bug if you delete the first entry in the root directory on FAT32. Fix non-working F5/F8 for autoexec.bat (#1777) With this I'm leaving FreeDOS for the next couple of months at least. I may put up an update for MEM but that's it. There was a bit of noise on the mailing list but the main reason is that I'm generally happy about the kernel, all I wanted in the beginning is to get it to cooperate nicely with DOSEMU. That's done and more. Squeezing even more bytes out of the kernel and fixing even more bugs is certainly possible, but it's time to leave that to someone else as my (volunteer) job is finished. Thanks for your attention and help, Bart --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] [announce] kernel 2035 and bye
Hi, It's sad to hear that you say bye, but hopeful to read that you mention at least a break for two months, although I understand your reasons. Could I ask you something before you go? Could you please review bugzilla and try, as far as you understand/know about it, leave the kernel bugs in a state that represents current kernel 2035? (i.e. close the bugs that have been fixed, for example). If you haven't already done this, of course. Aitor Bart Oldeman escribió: Hi, I've uploaded kernel 2035 to http://sourceforge.net/project/showfiles.php?group_id=5109 important fixes: Fix problems with USBASPI.SYS, DI1000DD.SYS Fixed invalid opcode with debug foo.txt, same with netware redirected logins. Don't move the EBDA by default. Use switches=/e:-1 if you want the auto-sized movement (#1771) Made int21/ah=25,35 reentrant. Solves problem with Intel PRO/1000 driver. Fix dir corruption bug if you delete the first entry in the root directory on FAT32. Fix non-working F5/F8 for autoexec.bat (#1777) With this I'm leaving FreeDOS for the next couple of months at least. I may put up an update for MEM but that's it. There was a bit of noise on the mailing list but the main reason is that I'm generally happy about the kernel, all I wanted in the beginning is to get it to cooperate nicely with DOSEMU. That's done and more. Squeezing even more bytes out of the kernel and fixing even more bugs is certainly possible, but it's time to leave that to someone else as my (volunteer) job is finished. Thanks for your attention and help, Bart --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] config.sys problems with 2.0.34 and 2.0.35
A while ago I reported a problem I had with FreeDOS kernel 2.0.34 and PXELINUX+memdisk: http://www.mail-archive.com/[EMAIL PROTECTED]/msg00761.html Well, I have some more information. First, the problem only happens on certain machines. Right now, I can only reproduce it on a Dell Dimension 450. Second, and more interestingly, the problem has changed with the release of 2.0.35. It still only happens on my Dimenstion 450. But instead of not reading config.sys at all, I receive an error whenever config.sys processes a DEVICE= or DEVICEHIGH= line. For instance: CONFIG.SYS error in line 4 DEVICE=himem64.exe ^ ...and so on, one for each DEVICE= or DEVICEHIGH= line. I tried using DEVICE=A:\himem64.exe and the same thing happened. Once I get to a DOS prompt, dir himem64.exe shows that file is present. But I suspect something about the way files are read during processing of CONFIG.SYS is different than how they are read once I get to the command prompt. Again, this only happens on one machine. So I know the problem is not in my config.sys file, although I am appending it below anyway. Since the behavor improved between 2.0.34 and 2.0.35, I am hoping this will ring a bell with someone and make this easy to fix. This is blocking me from upgrading beyond 2.0.33. As always, I am ready to do whatever testing you need. Thanks! - Pat == config.sys == LASTDRIVE=Z DOS=HIGH,UMB ;; Pick exactly one of these XMS providers DEVICE=himem64.exe ;DEVICE=A:\fdxxms.sys bios ps ;DEVICE=himem.sys /testmem:off ;; UMB provider ;DEVICE=umbpci.sys DEVICE=emm386.exe NOEMS ;; MSCLIENT networking gadget DEVICEHIGH=\net\ifshlp.sys ;; Required for installing XP under VMware. Thanks to Scott Card for ;; figuring this out. FILES=30 --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3149alloc_id=8166op=click ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] Re: [Freedos-cvs] kernel/docs history.txt,1.77,1.78
Hi! 30--2004 20:56 [EMAIL PROTECTED] (Bart Oldeman) wrote to [EMAIL PROTECTED]: +++ history.txt 30 May 2004 20:56:29 - 1.78 + * inithma.c: moved fmemcmp's into a checkHMA function. ... into EnabledA20() function. + * inithma.c: HMAFree == 0xfff0 - bytesToAllocate + is valid and may happen if the buffers occupy exactly all HMA + space up to and including the last byte at :. Failing + caused all buffers to go low ... * inithma.c: condition HMAFree=0xfff0-bytesToAllocate was wrong and prevents to allocate HMA space up to and including byte at :ffef. May cause to move all buffers low. Fixed. Note: because 0xfff0 here is not a _size_, but a pointer (also as HMAFree is a _pointer_), you _can't_ allocate all HMA space up to and including the last byte at :, only up to, but not including :fff0. + * inthndlr.c: cleanups (merge common code into long_check and + short_check). Made int21/3301,2e,54 consistent with MSDOS + behaviour. Hm. I check MS-DOS 6.22. For INT21/3301/DL=2 I receive DL=0 (FreeDOS incosistent), then INT21/3300 returns DL=0 (consistent). Same for DL=3. I think, for full consistency DL change should be added into INT/3301: /* DosVars - get/set dos variables */ case 0x33: switch (irp-AL) { /* Set Ctrl-C flag */ case 0x01: break_ena = irp-DL 1; + /* fall through */ /* Get Ctrl-C flag */ case 0x00: irp-DL = break_ena; break; (Here 0x00 and 0x01 swapped and `break' removed). --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id149alloc_id66op=click ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
Re: [Freedos-kernel] Re: [Freedos-devel] Re: [Freedos-cvs] kernel/hdr device.h,1.21,1.22
Hi! 30--2004 09:24 Arkady V.Belousov wrote to [EMAIL PROTECTED]: No, all right: r_catfun is a xreg.x and r_cat is a xreg.h. Mistake is in my comment: I was should say difference is that r_cat comes _after_ r_fun to make consistent with CX. BO No, it can't be. See Table 02597 in RBIL at int2f/ax=0802, BO ---command codes 13h,19h--- BO which is what the patch implemented. AVB Ok. When I receive latest sources, I review them. ...but my change consistent with previous source. For example: was if ((rp-r_count 8) == 0x48), now if (rp-r_cat == 0x48). Ie. _was_ category value _after_ function value. PS: r_cat and r_fun at first look was associated for me with kitten and funny. :) --- This SF.Net email is sponsored by: Oracle 10g Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id149alloc_id66op=click ___ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel
[Freedos-kernel] patch: inthndlr.c
Hi! - bugfix for INT21/3301: MS-DOS clears high buts of DL. ---BeginMessage--- diff -ruNp old/kernel/inthndlr.c new/kernel/inthndlr.c --- old/kernel/inthndlr.c 2004-05-28 12:08:32.0 + +++ new/kernel/inthndlr.c 2004-05-31 07:29:14.0 + @@ -78,14 +78,14 @@ VOID ASMCFUNC int21_syscall(iregs FAR * case 0x33: switch (irp-AL) { - /* Get Ctrl-C flag */ -case 0x00: - irp-DL = break_ena; - break; - /* Set Ctrl-C flag */ case 0x01: break_ena = irp-DL 1; + /* fall through */ + + /* Get Ctrl-C flag */ +case 0x00: + irp-DL = break_ena; break; case 0x02: /* andrew schulman: get/set extended control break */ @@ -1049,7 +1049,7 @@ dispatch: /* dta for this call is set on entry. This */ /* needs to be changed for new versions.*/ rc = DosFindFirst(lr.CX, FP_DS_DX); - lr.AX = 0; + lr.AX = 0; /* ??? - avb */ goto short_check; /* Dos Find Next*/ @@ -1057,7 +1057,7 @@ dispatch: /* dta for this call is set on entry. This */ /* needs to be changed for new versions.*/ rc = DosFindNext(); - lr.AX = 0; + lr.AX = 0; /* ??? - avb */ goto short_check; /* case 0x50: ---End Message---
[Freedos-kernel] patch: break.c
Hi! - removed extraneous variable assignment; code optimization. ---BeginMessage--- diff -ruNp old/kernel/break.c new/kernel/break.c --- old/kernel/break.c 2004-04-14 08:40:36.0 + +++ new/kernel/break.c 2004-04-24 11:55:44.0 + @@ -53,13 +53,13 @@ unsigned char ctrl_break_pressed(void) unsigned char check_handle_break(struct dhdr FAR **pdev) { - unsigned char c = CTL_C; - if (!ctrl_break_pressed()) -c = (unsigned char)ndread(syscon); - if (c != CTL_C *pdev != syscon) -c = (unsigned char)ndread(pdev); - if (c == CTL_C) + unsigned char c; + 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; } @@ -90,4 +90,3 @@ void handle_break(struct dhdr FAR **pdev spawn_int23();/* invoke user INT-23 and never come back */ } - ---End Message---
[Freedos-kernel] patch: dsk.c
Hi! - code optimization. ---BeginMessage--- diff -ruNp old/kernel/dsk.c new/kernel/dsk.c --- old/kernel/dsk.c2004-05-29 02:51:30.0 + +++ new/kernel/dsk.c2004-05-31 06:07:48.0 + @@ -92,7 +92,7 @@ extern struct DynS ASM Dyn; /*TE - array access functions */ ddt *getddt(int dev) { - return (((ddt *) Dyn.Buffer)[dev]); + return (ddt*)Dyn.Buffer + dev; } STATIC VOID tmark(ddt *pddt) @@ -360,9 +360,7 @@ STATIC WORD blk_Media(rqptr rp, ddt * pd STATIC WORD getbpb(ddt * pddt) { - ULONG count; bpb *pbpbarray = pddt-ddt_bpb; - unsigned secs_per_cyl; WORD ret; /* pddt-ddt_descflags |= DF_NOACCESS; @@ -427,19 +425,20 @@ STATIC WORD getbpb(ddt * pddt) printf(BPB_NFSECT= %04x\n, pbpbarray-bpb_nfsect); #endif - count = - pbpbarray-bpb_nsize == 0 ? - pbpbarray-bpb_huge : pbpbarray-bpb_nsize; - secs_per_cyl = pbpbarray-bpb_nheads * pbpbarray-bpb_nsecs; - - if (secs_per_cyl == 0) { -tmark(pddt); -return failure(E_FAILURE); +unsigned secs_per_cyl = pbpbarray-bpb_nheads * pbpbarray-bpb_nsecs; + +if (secs_per_cyl == 0) +{ + tmark(pddt); + return failure(E_FAILURE); +} +/* this field is problematic for partitions 65535 cylinders, + in general 512 GiB. However: we are not using it ourselves. */ +pddt-ddt_ncyl = (UWORD)(((pbpbarray-bpb_nsize == 0 ? + pbpbarray-bpb_huge : pbpbarray-bpb_nsize) + - 1) / secs_per_cyl) + 1; } - /* this field is problematic for partitions 65535 cylinders, - in general 512 GiB. However: we are not using it ourselves. */ - pddt-ddt_ncyl = (UWORD)((count + (secs_per_cyl - 1)) / secs_per_cyl); tmark(pddt); @@ -1064,15 +1063,8 @@ STATIC int LBA_Transfer(ddt * pddt, UWOR LBA_address += count; totaltodo -= count; -buffer = adjust_far((char FAR *)buffer + count * 512); +buffer = adjust_far((char FAR *)buffer + count * 512u); } - return (error_code); + return error_code; } - -/* - * Revision 1.17 2001/05/13 tomehlert - * Added full support for LBA hard drives - * initcode moved (mostly) to initdisk.c - * lower interface partly redesigned - */ ---End Message---