[Freedos-kernel] Re: Kernel bug parade / moving on

2004-06-09 Thread Eric Auer

Hi, I think "idleness percentage" is easier to understand for users than
> time of using HLT versus total FDAPM loaded time
in general :-). Displaying TOTAL time is a bit complicated in NASM but would
be a nice extra ("uptime" display).

Only with the resident module you have an idleness percentage - the module
invokes HLT (and if possible the related APM func) whenever some wait style
function is called (e.g. wait for key). It counts during how many clock ticks
the "invoke HLT" happens. The HLT is supposed to save energy. Works for me
for AMD K6-2 and Cyrix/STS/IBM 6x86 M1, but I do not know about pre-486 / ...
whether it makes any difference. I am told that QEMM does not allow the DOS
vm86 task to HLT, so FDAPM has no effect if QEMM loaded (only affects some
QEMM versions on some CPUs it seems!?).

If even HOTBOOT worked for you then probably the hot / int 19 boot
(just reload OS, do not redo BIOS init) simply crashed for you, or QEMM
translated it into a coldboot...

Strange that spinning down disks sometimes works and sometimes hangs? You
said your BIOS has no APM, so it must have been FDAPM itself which did the
spin down!? The spin down stuff writes to the IDE controller directly and
is very simple, so probably no surprise if it is not too reliable. Funny
that it spins down CD-ROM as well :-). By the way, harddisks spin up by
themselves on demand, so SPINUP command is not really needed.


> Nice program. :)
Thanks :-).

Hmmm... why are we discussing this on freedos-kernel? Maybe because of
QEMM or because I wondered on how old hardware FDAPM can run (in theory:
on all hardware, but some options break, e.g. VGAOFF if you have no VGA
and battery information if you have no APM etc. - not to mention the
attempt to SPINDOWN without IDE...)???

Ah. Now I remember. The "FDAPM saves no energy because HLT has no effect
in combination with certain hardware and QEMM versions...". For my PCs I
can usually hear the power supply fan going to lower speed (it adjusts
speed depending on temperature) after a short while if FDAPM works and
saves energy. No big change but you can hear it.

Do not attempt to measure power consumption directly unless you really
have proper tools and knowledge for that. You could break your hardware
or yourself otherwise, which is definitely bad. Take no risks.

Eric



---
This SF.Net email is sponsored by: GNOME Foundation
Hackers Unite!  GUADEC: The world's #1 Open Source Desktop Event.
GNOME Users and Developers European Conference, 28-30th June in Norway
http://2004/guadec.org
___
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


Re: [Freedos-kernel] Re: Kernel bug parade / moving on

2004-06-09 Thread Arkady V.Belousov
Hi!

9-Июн-2004 22:13 [EMAIL PROTECTED] (Eric Auer) wrote to
[EMAIL PROTECTED]:

EA> http://www.coli.uni-sb.de/~eric/stuff/soft/fdapm-16apr2004.zip

 I test it. APMOFF, APMBIOS, INFO, STATS and STANDBY doesn't work (no
APM). About flushing cache in standby don't know. SUSPEND stops my hardisk.
Wow, it was too noisy! :) Playing CD-ROM also stopped. POWEROFF stops the
disk, but not turn off the VGA, whereas VGAOFF and VGAON both works (of
course, VGAON I was should type blindly :). All *BOOT options are work, with
HOTBOOT equal to COLDBOOT.

 Well, I think, there are not enough options like IDEOFF (and, probably,
IDEON). :) On the other side, I hear, that spinning down/up disks too often
is not very good for their mechanics.

 Environment: MS-DOS, QEMM.

EA> Just use the /? function to find out more. Of the *APM* options,
EA> only APMDOS (aka. ADV:...) will work and stay TSR. All other options

 Hm. FDAPM loads as TSR (and eats 800 bytes). What I should expect from
this and how to measure effect?

 BTW, FDAPM doesn't diagnoses wrong options: for example, when I type
"advdos" instead "apmdos" and try to find resident module, I not found it,
whereas FDAPM don't say me that I was wrong.

 STATS after this says me about idleness percentage (98% in DOS, ~60%
under Windows). Not very user-friendly number. Hm, reading docs: there sayed
that this is time of using HLT versus total FDAPM loaded time. Why not say
this sentence in STATS screen? Also, you may show total and idle times
itself.

 Ops, found in doc mention of SPINDOWN, SPINUP, which not mention in
help screen. Anyway, when I run SPINDOWN, FDAPM shows five dots after
"Spinning down" message and freezes (without returning to command line).

EA> do not make FDAPM go TSR by the way. The /? screen does not mention
EA> the SPINDOWN command, but the docs do.

 Ops, I already found this. :)

EA> Have fun...

 Nice program. :)




---
This SF.Net email is sponsored by: GNOME Foundation
Hackers Unite!  GUADEC: The world's #1 Open Source Desktop Event.
GNOME Users and Developers European Conference, 28-30th June in Norway
http://2004/guadec.org
___
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


Re: [Freedos-kernel] Re: Kernel bug parade / moving on

2004-06-09 Thread Arkady V.Belousov
Hi!

9-Июн-2004 23:26 [EMAIL PROTECTED] (Aitor Santamar?a Merino) wrote to
[EMAIL PROTECTED]:

>> MS-DOS is a 16-bit OS.
ASM> io.sys and msdos.sys are 16-bit, emm386.exe is 32-bit.

 But emm386 is not part of kernel.

>> Ok, let suggest, some demo-maker makes demo, which will depends from
>>size of IO.SYS. How we should "fix" FD in this case?
ASM> It will never work then, because KERNEL.SYS will never be as small/big
ASM> as IO.SYS+MSDOS.SYS

 Why not? Make stub with given size, which will call the real kernel
file - and viola. But I don't think that this is right way for kernel.
Especially because tomorrow another application will depend from IO.SYS size
from other MS-DOS version (and/or another installed driver will change
registers differently).

>> "It" not breaks MS-DOS compatability, there is only "breakage" with
>>alone configuration of alone program coder.
ASM> For me the key testing is to check wether MS-DOS kernel does this. If it
ASM> does, then it is a clear compatibility breakage.

 If in some configuration (in MS-DOS) you load some driver and you will
not load this driver under FD and some program without this driver will
behave differently, then this is _not_ and issue of FD.

ASM> Until it is tested by someone, I'd say that the bug shouldn't be closed
ASM> or set as WONTFIX or such (no matter how much we wish it to be true).

 Right now I run (16-bit) MS-DEBUG and inspect registers (with help of
pushad instruction, as offered by Eric): some high parts are nonzero (for
example, EBX and EDX).




---
This SF.Net email is sponsored by: GNOME Foundation
Hackers Unite!  GUADEC: The world's #1 Open Source Desktop Event.
GNOME Users and Developers European Conference, 28-30th June in Norway
http://2004/guadec.org
___
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


[Freedos-kernel] patch: init-mod.h proto.h

2004-06-09 Thread Arkady V.Belousov
Hi!

init-mod.h

- cleaned prototype for function from intr.asm.
- init_fatal() described (for Watcom) as non-returned functions.

proto.h

- fatal() and panic() described (for Watcom) as non-returned functions;
  this improves code generation.
- cleaned prototypes for functions from intr.asm.
- removed prototypes for nonexisting functions.
- added brackets around parameters of macro.

About improved code generation: with `#pragma aborts' HMA_TEXT sement
reduced by another 5 bytes.

BTW, init_fatal() may be removed, because it not used.

--- Begin Message ---
diff -ruNp old/kernel/init-mod.h new/kernel/init-mod.h
--- old/kernel/init-mod.h   2004-05-29 02:51:30.0 +
+++ new/kernel/init-mod.h   2004-06-10 00:32:18.0 +
@@ -164,7 +164,7 @@ int ASMPASCAL close(int fd);
 int ASMPASCAL dup2(int oldfd, int newfd);
 seg ASMPASCAL allocmem(UWORD size);
 void ASMPASCAL init_PSPSet(seg psp_seg);
-int ASMPASCAL init_DosExec(int mode, exec_blk * ep, char * lp);
+int ASMPASCAL init_DosExec(int mode, exec_blk * ep, const char * lp);
 int ASMPASCAL init_setdrive(int drive);
 int ASMPASCAL init_switchar(int chr);
 void ASMPASCAL keycheck(void);
@@ -215,6 +215,9 @@ VOID ASMCFUNC FreeDOSmain(void);
 BOOL init_device(struct dhdr FAR * dhp, char * cmdLine,
   COUNT mode, char FAR **top);
 VOID init_fatal(BYTE * err_msg);
+#ifdef __WATCOMC__
+#pragma aux init_fatal aborts
+#endif
 
 /* prf.c */
 int VA_CDECL init_printf(const char * fmt, ...);
@@ -312,4 +315,3 @@ ULONG ASMCFUNC FAR MULULUL(ULONG mul1, U
 ULONG ASMCFUNC FAR DIVULUS(ULONG mul1, UWORD mul2); /* DIVide ULong by UShort */
 ULONG ASMCFUNC FAR DIVMODULUS(ULONG mul1, UWORD mul2, UWORD * rem); /* DIVide 
ULong by UShort */
 #endif
-
diff -ruNp old/kernel/proto.h new/kernel/proto.h
--- old/kernel/proto.h  2004-05-28 12:09:02.0 +
+++ new/kernel/proto.h  2004-06-10 00:03:10.0 +
@@ -135,6 +135,10 @@ int ParseDosName(const char *, char *, B
 VOID dump(void);
 VOID panic(BYTE * s);
 VOID fatal(BYTE * err_msg);
+#ifdef __WATCOMC__
+#pragma aux panic aborts
+#pragma aux fatal aborts
+#endif
 
 /* fatdir.c */
 VOID dir_init_fnode(f_node_ptr fnp, CLUSTER dirstart);
@@ -225,8 +229,8 @@ void FcbCloseAll(void);
 UBYTE FcbFindFirstNext(xfcb FAR * lpXfcb, BOOL First);
 
 /* intr.asm */
-COUNT ASMPASCAL res_DosExec(COUNT mode, exec_blk * ep, BYTE * lp);
-UCOUNT ASMPASCAL res_read(int fd, void *buf, UCOUNT count);
+int ASMPASCAL res_DosExec(int mode, exec_blk * ep, const char * lp);
+unsigned ASMPASCAL res_read(int fd, void *buf, unsigned count);
 #ifdef __WATCOMC__
 #pragma aux (pascal) res_DosExec modify exact [ax bx dx es]
 #pragma aux (pascal) res_read modify exact [ax bx cx dx]
@@ -236,9 +240,6 @@ UCOUNT ASMPASCAL res_read(int fd, void *
 COUNT DosDevIOctl(lregs * r);
 
 /* memmgr.c */
-seg far2para(VOID FAR * p);
-seg long2para(ULONG size);
-void FAR *add_far(void FAR * fp, unsigned off);
 VOID FAR *adjust_far(const void FAR * fp);
 COUNT DosMemAlloc(UWORD size, COUNT mode, seg * para, UWORD * asize);
 COUNT DosMemLargest(UWORD * size);
@@ -403,5 +404,4 @@ VOID ASMCFUNC exec_user(iregs FAR * irp,
 ASSERT_CONST( (BYTE FAR *)x->fcb_ext - (BYTE FAR *)x->fcbname == 8)
 */
 
-#define ASSERT_CONST(x) { typedef struct { char _xx[x ? 1 : -1]; } xx ; }
-
+#define ASSERT_CONST(x) { typedef struct { char _[(x) ? 1 : -1]; } _; }
--- End Message ---


Re: [Freedos-kernel] Re: Kernel bug parade / moving on

2004-06-09 Thread Arkady V.Belousov
Hi!

9-Июн-2004 22:13 [EMAIL PROTECTED] (Eric Auer) wrote to
[EMAIL PROTECTED]:

>>  ...and? What next? Assign C: and D: for those additional drives? All
>> other (non-adjacent to A: and B:) drive letters will mislead users.
EA> No. Users with three floppy drives are users of computers where other DOSes
EA> do indeed give C:/D: to floppy.

 AFAIK, other DOSes (by itself) don't give C: and D: letters to floppy
drives.

EA> But if we allocate drive letters after last
EA> harddisk drive letter they will not be too surprised either.

 He _will_ be surprised, because other DOSes, which was used before, do
not show extra drives (without instructing them about this).

EA> In both cases
EA> they will be more happy than if they cannot use the third drive at all.

 :) I myself never hear about computers with more than 2 drives, and I
doubt that will hear about such computers (after introducing hard drives).

EA> But then again, this only affects a very special class of 808x based PCs.

>>  No. DRIVPARM not _add_ drive letters, it _changes_ properties of
>> already registered. For example, on one broken computer with help of
>> DRIVPARM I say to DOS that change line doesn't working (properly).
EA> You actually know such a piece of hardware?

 Right now I have _no_ computers/drives with broken change line. But who
knows?

>>  Ok. How I may/should test the FDAPM? Where it (URL)?
EA> http://www.coli.uni-sb.de/~eric/stuff/soft/fdapm-16apr2004.zip

 I try test it.

>> EA> the ret / ret 8 issue in fl_lba_ReadWrite (when did that bug get INTRO...
>>  When Bart changes fl_* function from ASMC to ASMPASCAL calling
>> convention.
EA> Okay, but was that before he released 2035 or after?

 I don't remember precisely, but floppy.asm from kernel.tgz marked at 9
april of 2004.




---
This SF.Net email is sponsored by: GNOME Foundation
Hackers Unite!  GUADEC: The world's #1 Open Source Desktop Event.
GNOME Users and Developers European Conference, 28-30th June in Norway
http://2004/guadec.org
___
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


Re: [Freedos-kernel] Re: Kernel bug parade / moving on

2004-06-09 Thread Aitor Santamaría Merino
Arkady V.Belousov escribiÃ:
ÐÐÐÑÐ!
9-ÐÑÐ-2004 16:17 [EMAIL PROTECTED] (Alain) wrote to
[EMAIL PROTECTED]:
 

(Clear high parts of 32bit regs...)
How this relates to DOS?
 

MS DOS basically had no 386 stuff at all (except EMM386). In FreeDOS,
Lawrence comments that this only affected an old version of the GRDB debugger.
   

Well, I disagree that you should close the bug. The point is: we agree
that it is a VERY BAD programming practice, etc, etc.
But if you implement this (as possibly MS-DOS does), then you get a
 

MS-DOS is a 16-bit OS.
 

io.sys and msdos.sys are 16-bit, emm386.exe is 32-bit.
I don't think it's a big deal to do a
if (is386+) { XOR EAX, EAX; etc etc}
anyway, or am I missing something?
 

Ok, let suggest, some demo-maker makes demo, which will depends from
size of IO.SYS. How we should "fix" FD in this case?
 

It will never work then, because KERNEL.SYS will never be as small/big 
as IO.SYS+MSDOS.SYS

A> Yes, I agree with Aitor. We recognize it as a bug, if and only if, it
A> breaks MS-DOS compatibility.
"It" not breaks MS-DOS compatability, there is only "breakage" with
alone configuration of alone program coder.
 

For me the key testing is to check wether MS-DOS kernel does this. If it 
does, then it is a clear compatibility breakage.
Until it is tested by someone, I'd say that the bug shouldn't be closed 
or set as WONTFIX or such (no matter how much we wish it to be true).

Aitor
---
This SF.Net email is sponsored by: GNOME Foundation
Hackers Unite!  GUADEC: The world's #1 Open Source Desktop Event.
GNOME Users and Developers European Conference, 28-30th June in Norway
http://2004/guadec.org
___
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


Re: [Freedos-kernel] Re: Kernel bug parade / moving on

2004-06-09 Thread Arkady V.Belousov
Hi!

9-Июн-2004 20:19 [EMAIL PROTECTED] (Eric Auer) wrote to
[EMAIL PROTECTED]:

>> EA> About bug 1789, kernel confused by PKZIP-builtin format command
>>  Which URL?
EA> http://www.freedos.org/bugs/bugzilla/show_bug.cgi?id=1789

 Ok, I see. May you extract for me precise URL of attachment (with
diskette image)? I may try to test this image and test, how my patches
affect this.

EA> possibly fixed by you:
EA> http://www.mail-archive.com/freedos-kernel%40lists.sourceforge.net/msg00956.html

 I can't read this: :) :(

__O\_/_\_/O__
Error: could not read mail message[Errno 2] No such file or
directory:
'/data1/archive/[EMAIL PROTECTED]/msg00956.html'
_
  O/~\ /~\O

But if there is my patch for floppy.asm, then this is not the last patch,
which affects formatting: I not (yet) publish changes in dsk.c, especially
bugfixes for Genblkdev()/case 0x42 (format/verify track).

 Or, I may prepare test kernel for Matija, which will shown all values,
used for computing LBA_address in Genblockio() for LBA_transfer() in case of
mode==LBA_FORMAT. Righ now will write she (he?).




---
This SF.Net email is sponsored by: GNOME Foundation
Hackers Unite!  GUADEC: The world's #1 Open Source Desktop Event.
GNOME Users and Developers European Conference, 28-30th June in Norway
http://2004/guadec.org
___
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


Re: [Freedos-kernel] Re: Re: Kernel bug parade / moving on

2004-06-09 Thread Alain

Eric Auer escreveu:
Hi Aitor, Alain,
please ask Lawrence first if the MS DOS kernel clears the 32 bit
registers. I bet that it does NOT.
I hope he answers this ;-)
This is not related to "is the program which breaks unimportant".
if it non-existant, then...
Alain

---
This SF.Net email is sponsored by: GNOME Foundation
Hackers Unite!  GUADEC: The world's #1 Open Source Desktop Event.
GNOME Users and Developers European Conference, 28-30th June in Norway
http://2004/guadec.org
___
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


Re: [Freedos-kernel] Re: Kernel bug parade / moving on

2004-06-09 Thread Arkady V.Belousov
Салям!

9-Июн-2004 16:17 [EMAIL PROTECTED] (Alain) wrote to
[EMAIL PROTECTED]:

 (Clear high parts of 32bit regs...)
 How this relates to DOS?
>>> MS DOS basically had no 386 stuff at all (except EMM386). In FreeDOS,
>>> Lawrence comments that this only affected an old version of the GRDB debugger.
>> Well, I disagree that you should close the bug. The point is: we agree
>> that it is a VERY BAD programming practice, etc, etc.
>> But if you implement this (as possibly MS-DOS does), then you get a

 MS-DOS is a 16-bit OS.

>> I don't think it's a big deal to do a
>> if (is386+) { XOR EAX, EAX; etc etc}
>> anyway, or am I missing something?

 Ok, let suggest, some demo-maker makes demo, which will depends from
size of IO.SYS. How we should "fix" FD in this case?

A> Yes, I agree with Aitor. We recognize it as a bug, if and only if, it
A> breaks MS-DOS compatibility.

 "It" not breaks MS-DOS compatability, there is only "breakage" with
alone configuration of alone program coder.

A> That is implicit in FreeDOS manifesto, but
A> if it only breaks an unimportant program, it can be set to low priority




---
This SF.Net email is sponsored by: GNOME Foundation
Hackers Unite!  GUADEC: The world's #1 Open Source Desktop Event.
GNOME Users and Developers European Conference, 28-30th June in Norway
http://2004/guadec.org
___
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


Re: [Freedos-kernel] Re: Kernel bug parade / moving on

2004-06-09 Thread Aitor Santamaría Merino
Hi,
In response to Eric, Bugzilla is being used to track wishes as well as 
bugs (see the KEYB entry), as you can mark it as "feature".
It is unknown to me if MS-DOS will do that. MS-DOS 1.0 will not do that, 
but one should just try an MS-DOS version after 1988.

Arkady V.Belousov escribiÃ:
EA> I meant "if DOS4GW had problems with FreeDOS because FreeDOS does not
EA> clear high parts of 32 bit registers on exec then we should probably
EA> clear high parts of 32 bit registers on exec"... But now that only an
EA> old GRDB is affected, I simply marked the bug as RESOLVED WONTFIX.
Right. This is coding bug in consequent application, OS shouldn't try
to "fix" all possible errors in any possible application.
 

Have you ever read "Windows internals", which is about that user 
interface called "Windows 3.1". There are several functions in the main 
windows API (system/user/gdi) that patch already existing bugs or 
problems in other Windows applications, making it a very robust and thus 
worldwide known application.

Aitor
---
This SF.Net email is sponsored by: GNOME Foundation
Hackers Unite!  GUADEC: The world's #1 Open Source Desktop Event.
GNOME Users and Developers European Conference, 28-30th June in Norway
http://2004/guadec.org
___
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


[Freedos-kernel] Re: Kernel bug parade / moving on

2004-06-09 Thread Eric Auer

Hi Arkady!

>  ...and? What next? Assign C: and D: for those additional drives? All
> other (non-adjacent to A: and B:) drive letters will mislead users.

No. Users with three floppy drives are users of computers where other DOSes
do indeed give C:/D: to floppy. But if we allocate drive letters after last
harddisk drive letter they will not be too surprised either. In both cases
they will be more happy than if they cannot use the third drive at all.

But then again, this only affects a very special class of 808x based PCs.

>  No. DRIVPARM not _add_ drive letters, it _changes_ properties of
> already registered. For example, on one broken computer with help of
> DRIVPARM I say to DOS that change line doesn't working (properly).

You actually know such a piece of hardware? 360k drive while BIOS limited
to 160k drive or what kind of strange beast needed that? See my above comment.

>  Ok. How I may/should test the FDAPM? Where it (URL)?

http://www.coli.uni-sb.de/~eric/stuff/soft/fdapm-16apr2004.zip
Just use the /? function to find out more. Of the *APM* options,
only APMDOS (aka. ADV:...) will work and stay TSR. All other options
do not make FDAPM go TSR by the way. The /? screen does not mention
the SPINDOWN command, but the docs do. Have fun... HOTBOOT will most
likely not work - just running int 19h to reboot only works if ALL
drivers behave nicely and hook int 19h as a trigger to unload themselves,
quite unrealistic.

> EA> the ret / ret 8 issue in fl_lba_ReadWrite (when did that bug get INTRO...
>  When Bart changes fl_* function from ASMC to ASMPASCAL calling
> convention.

Okay, but was that before he released 2035 or after? What is the newest
released kernel which is free of that bug? As you know compiling the kernel
is more work than downloading it... What will trigger the bug, all LBA sector
accesses? That would be a big problem then, should everybody compile the
update themselves?

Eric


---
This SF.Net email is sponsored by: GNOME Foundation
Hackers Unite!  GUADEC: The world's #1 Open Source Desktop Event.
GNOME Users and Developers European Conference, 28-30th June in Norway
http://2004/guadec.org
___
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


Re: [Freedos-kernel] Re: Kernel bug parade / moving on

2004-06-09 Thread Arkady V.Belousov
Hi!

9-Июн-2004 20:19 [EMAIL PROTECTED] (Eric Auer) wrote to
[EMAIL PROTECTED]:

>> (Clear high parts of 32bit regs...)
>> How this relates to DOS?
EA> MS DOS basically had no 386 stuff at all (except EMM386). In FreeDOS,
EA> however, people run 386 aware programs more often. Those leave non-zero
EA> values in 32 bit registers when they exit, and the next program which you
EA> start...
EA> Whatever. You are right. Very bad programming practice to expect the high
EA> parts of the 32 bit registers to have some value.

 Expecting _any_ undocumented value is very bad practice, and changing
FD only because some "super-demo doesn't run properly", I think, not very
good. Unfortunately, in case of undocumented 16-bit registers, some other
useful programs also may expected specific values.

EA> I close that "bug report" then.

 Fine.

>> EA> If it would be DOS4GW then we would be really motivated :-).
>>  ...to built DOS4GW into kernel? You joke.
EA> I meant "if DOS4GW had problems with FreeDOS because FreeDOS does not
EA> clear high parts of 32 bit registers on exec then we should probably
EA> clear high parts of 32 bit registers on exec"... But now that only an
EA> old GRDB is affected, I simply marked the bug as RESOLVED WONTFIX.

 Right. This is coding bug in consequent application, OS shouldn't try
to "fix" all possible errors in any possible application.

>> EA> You just said that BIOS would handle it and that equipment list can handle
>> EA> up to four drives as well. So why would we need a driver sys for it? And I
>>  Because MS-DOS need it. From first versions there was reserved only two
>> letters for floppy drivers, and we can/should not change this. Especially,
>> programs with two controllers very rare...
EA> I see no convincing technical reason why FreeDOS should not auto-detect the
EA> "more than 2 floppy drives exist"

 ...and? What next? Assign C: and D: for those additional drives? All
other (non-adjacent to A: and B:) drive letters will mislead users.

EA> working computer has one. Do we need to change the FreeDOS Manifesto in
EA> order to drop DRIVPARM / DRIVER.SYS plans?

 No. DRIVPARM not _add_ drive letters, it _changes_ properties of
already registered. For example, on one broken computer with help of
DRIVPARM I say to DOS that change line doesn't working (properly).

>>  My (old) computer have no APM support.
EA> FDAPM does not need APM. If you have it, FDAPM can use it. If not, no
EA> problem. All x86 CPUs have the HLT instruction...
EA> Things which you can do without APM with FDAPM: turn VGA on/off, spin IDE
EA> harddisks down (SPINDOWN command), save energy with help of HLT instruction,
EA> using APMDOS command, show statistics about that energy saving TSR mode,
EA> reboot through "out 64,fe" / through "jmp :0" / through "int 19".

 Ok. How I may/should test the FDAPM? Where it (URL)?

>> EA> About bug 1789, kernel confused by PKZIP-builtin format command
>>  Which URL?
EA> http://www.freedos.org/bugs/bugzilla/show_bug.cgi?id=1789

 I look at this.

EA> the ret / ret 8 issue in fl_lba_ReadWrite (when did that bug get INTRODUCED?

 When Bart changes fl_* function from ASMC to ASMPASCAL calling
convention.

EA> Maybe I better downgrade to some older kernel / upgrade to a CVS kernel???).

 Better to fix the bug(s). :)




---
This SF.Net email is sponsored by: GNOME Foundation
Hackers Unite!  GUADEC: The world's #1 Open Source Desktop Event.
GNOME Users and Developers European Conference, 28-30th June in Norway
http://2004/guadec.org
___
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


[Freedos-kernel] Re: Re: Kernel bug parade / moving on

2004-06-09 Thread Eric Auer

Hi Aitor, Alain,
please ask Lawrence first if the MS DOS kernel clears the 32 bit
registers. I bet that it does NOT.

This is not related to "is the program which breaks unimportant".
Arkady (hey, 3rd person with A..-name) told that this is a feature
wish and not a bug report and I think he is exactly right with
that. See bugzilla entry 1630, as usual...

Eric



---
This SF.Net email is sponsored by: GNOME Foundation
Hackers Unite!  GUADEC: The world's #1 Open Source Desktop Event.
GNOME Users and Developers European Conference, 28-30th June in Norway
http://2004/guadec.org
___
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


Re: [Freedos-kernel] Re: Kernel bug parade / moving on

2004-06-09 Thread Alain

Aitor Santamaría Merino escreveu:
Eric Auer escribió:
Hi Arkady!
 

(Clear high parts of 32bit regs...)
How this relates to DOS?
  

MS DOS basically had no 386 stuff at all (except EMM386). In FreeDOS,
however, people run 386 aware programs more often. Those leave non-zero
values in 32 bit registers when they exit, and the next program which you
start...
Whatever. You are right. Very bad programming practice to expect the high
parts of the 32 bit registers to have some value. I close that "bug 
report"
then.

Lawrence comments that this only affected an old version of the
GRDB debugger.
Check out my comment and program on
http://www.freedos.org/bugs/bugzilla/show_bug.cgi?id=1630
 

Well, I disagree that you should close the bug. The point is: we agree 
that it is a VERY BAD programming practice, etc, etc.
But if you implement this (as possibly MS-DOS does), then you get a 
system which is more stable, although we are fixing a problem which is 
not ours.
I don't think it's a big deal to do a
if (is386+) { XOR EAX, EAX; etc etc}
anyway, or am I missing something?

Aitor
Yes, I agree with Aitor. We recognize it as a bug, if and only if, it 
breaks MS-DOS compatibility. That is implicit in FreeDOS manifesto, but 
if it only breaks an unimportant program, it can be set to low priority

Alain
---
This SF.Net email is sponsored by: GNOME Foundation
Hackers Unite!  GUADEC: The world's #1 Open Source Desktop Event.
GNOME Users and Developers European Conference, 28-30th June in Norway
http://2004/guadec.org
___
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


Re: [Freedos-kernel] Re: Kernel bug parade / moving on

2004-06-09 Thread Aitor Santamaría Merino
Eric Auer escribió:
Hi Arkady!
 

(Clear high parts of 32bit regs...)
How this relates to DOS?
   

MS DOS basically had no 386 stuff at all (except EMM386). In FreeDOS,
however, people run 386 aware programs more often. Those leave non-zero
values in 32 bit registers when they exit, and the next program which you
start...
Whatever. You are right. Very bad programming practice to expect the high
parts of the 32 bit registers to have some value. I close that "bug report"
then.
Lawrence comments that this only affected an old version of the
GRDB debugger.
Check out my comment and program on
http://www.freedos.org/bugs/bugzilla/show_bug.cgi?id=1630
 

Well, I disagree that you should close the bug. The point is: we agree 
that it is a VERY BAD programming practice, etc, etc.
But if you implement this (as possibly MS-DOS does), then you get a 
system which is more stable, although we are fixing a problem which is 
not ours.
I don't think it's a big deal to do a
if (is386+) { XOR EAX, EAX; etc etc}
anyway, or am I missing something?

Aitor
---
This SF.Net email is sponsored by: GNOME Foundation
Hackers Unite!  GUADEC: The world's #1 Open Source Desktop Event.
GNOME Users and Developers European Conference, 28-30th June in Norway
http://2004/guadec.org
___
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


[Freedos-kernel] Re: Kernel bug parade / moving on

2004-06-09 Thread Eric Auer

Hi Arkady!

> (Clear high parts of 32bit regs...)
> How this relates to DOS?

MS DOS basically had no 386 stuff at all (except EMM386). In FreeDOS,
however, people run 386 aware programs more often. Those leave non-zero
values in 32 bit registers when they exit, and the next program which you
start...

Whatever. You are right. Very bad programming practice to expect the high
parts of the 32 bit registers to have some value. I close that "bug report"
then.

Lawrence comments that this only affected an old version of the
GRDB debugger.

Check out my comment and program on
http://www.freedos.org/bugs/bugzilla/show_bug.cgi?id=1630

> EA> If it would be DOS4GW then we would be really motivated :-).
>  ...to built DOS4GW into kernel? You joke.

I meant "if DOS4GW had problems with FreeDOS because FreeDOS does not
clear high parts of 32 bit registers on exec then we should probably
clear high parts of 32 bit registers on exec"... But now that only an
old GRDB is affected, I simply marked the bug as RESOLVED WONTFIX.

> EA> You just said that BIOS would handle it and that equipment list can handle
> EA> up to four drives as well. So why would we need a driver sys for it? And I
...
>  Because MS-DOS need it. From first versions there was reserved only two
> letters for floppy drivers, and we can/should not change this. Especially,
> programs with two controllers very rare...

I see no convincing technical reason why FreeDOS should not auto-detect the
"more than 2 floppy drives exist" case instead of forcing the user to use
clumsy driver.sys manually instead... On the other hand I see no reason why
we should support a third floppy drive AT ALL. Almost no still existing and
working computer has one. Do we need to change the FreeDOS Manifesto in order
to drop DRIVPARM / DRIVER.SYS plans? Are there other devices for which DRIVPARM
and DRIVER.SYS would be actually useful? Apart from pre-286 floppy / tape 
drives with broken BIOS support or similar stuff?

> EA> do indeed suggest to make driver sys a kernel builtin if we need it...
>  This is not bug report, but wish.

Yes, but we have no "Wishzilla" available. Only Bugzilla. If you want a
better separation of bugs and wishes, we could enable the Sourceforge
wish / helpdesk / buglist system again partially (i.e. activate only the
wish database part of it. For helpdesk, people should go to FAQ and for
bugs they should use Bugzilla).

<-- COMMENTS, Jim?

>  My (old) computer have no APM support.
FDAPM does not need APM. If you have it, FDAPM can use it. If not, no problem.
All x86 CPUs have the HLT instruction...
Things which you can do without APM with FDAPM: turn VGA on/off, spin IDE
harddisks down (SPINDOWN command), save energy with help of HLT instruction,
using APMDOS command, show statistics about that energy saving TSR mode,
reboot through "out 64,fe" / through "jmp :0" / through "int 19".

> EA> About bug 1789, kernel confused by PKZIP-builtin format command
>  Which URL?
http://www.freedos.org/bugs/bugzilla/show_bug.cgi?id=1789
possibly fixed by you:
http://www.mail-archive.com/freedos-kernel%40lists.sourceforge.net/msg00956.html

the ret / ret 8 issue in fl_lba_ReadWrite (when did that bug get INTRODUCED?
Maybe I better downgrade to some older kernel / upgrade to a CVS kernel???).

(Poor Matija / Tom / Bart spam-bot-wise, but you needed the URL of bug 1789...)

Eric



---
This SF.Net email is sponsored by: GNOME Foundation
Hackers Unite!  GUADEC: The world's #1 Open Source Desktop Event.
GNOME Users and Developers European Conference, 28-30th June in Norway
http://2004/guadec.org
___
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


Re: [Freedos-kernel] Re: Re: Re: Kernel bug parade / moving on

2004-06-09 Thread Arkady V.Belousov
Hi!

9-Июн-2004 03:27 [EMAIL PROTECTED] (Eric Auer) wrote to
[EMAIL PROTECTED]:

EA> The bug submitter for "clear high parts of 32 bit registers on exec"
EA> claims to have experienced actual problems because of one program leaving
EA> values in registers and another program assuming those parts to be 0.

 Some drivers (say, himem) on machine, where was written those
garbage-dependent program, clear high parts of registers. How this relates
to DOS?

EA> However, he does not tell anything about which program is affected.

 We have proverb (fairy tale, to be precise): "go don't know where, get
don't know what". Same here: we don't know, which program affected, don't
know what it expected (and why!), how these expectations was reached (DOS?
drivers?) - and we should achive these expectations?!

EA> If it would be DOS4GW then we would be really motivated :-).

 ...to built DOS4GW into kernel? You joke.

>>  How DOS should deal with third and fourth drives - I don't know, but I
>> suggest, this is possible only through driver.sys (there you point physical
>> drive number 0..127, and it traps next logical drive letter).
EA> You just said that BIOS would handle it and that equipment list can handle
EA> up to four drives as well. So why would we need a driver sys for it? And I

 Because MS-DOS need it. From first versions there was reserved only two
letters for floppy drivers, and we can/should not change this. Especially,
programs with two controllers very rare and there are not hard to use
additional driver (and/or config.sys statement) for supporting those
additional hardware.

EA> do indeed suggest to make driver sys a kernel builtin if we need it at all.

 This is not bug report, but wish. Also, this wish about _additional
feature_, not about change for behavior. (Changing order of drive letters
assignment _is_ feature with changed behavior).

>>  Ie. you offer to integrate help, tutor and training subsystem into
>> kernel? Currently DOS ignores DOS=UMB statement, if there are no UMBs
>> available. I think, extra messages like "NO UPPER MEMORY AVAILABLE FOR YOUR
>> DOS=UMB STATEMENT" makes only uncomfortable noise.
EA> This is partially true.

 This is completely true. Me always annoys messages from NDOS' LH
command about missing UMB. Note: there may be common configs for different
environments, where one environment contains UMBs, other - not.

EA> Better error messages are sometimes good but a whole
EA> tutor system would mean noise. By the way, does the kernel suppress showing
EA> more than one UMB-warning if you have more than one DEVICEHIGH/INSTALLHIGH
EA> now?

 Don't know yet, config.c is not processed by me yet.

EA> Bernd filed a bug report / feature request to suppress the extra noise.

>> Manifest from QEMM
EA> This reminds me that some QEMM versions spoil APMDOS / ADV:... mode of
EA> FDAPM (i.e. it saves no energy if QEMM loaded). If you have QEMM yourself,
EA> feel free to test whether your version is affected in combination with your
EA> CPU and BIOS.

 My (old) computer have no APM support.

EA> Manifest was a cool piece of software at the time.

 Yes, nice.

EA> About bug 1789, kernel confused by PKZIP-builtin format command: I think
EA> the LBA-... error message happened at the beginning and the end of the
EA> process. But please do read the whole bugzilla entry and contact the bug
EA> reporter to learn more, I do not use PKZIP (I use Info-ZIP ZIP / UNZIP).

 Which URL?




---
This SF.Net email is sponsored by: GNOME Foundation
Hackers Unite!  GUADEC: The world's #1 Open Source Desktop Event.
GNOME Users and Developers European Conference, 28-30th June in Norway
http://2004/guadec.org
___
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


[Freedos-kernel] EBDA oddity / bug 1630

2004-06-09 Thread Eric Auer

Hi, forwarding a comment by Lawrence, maybe interesting???

> Well, it happened in an older version of the GRDB
> debugger.  It has since been fixed.
> 
> By the way, I don't have time to investigate this now,
> but while I have your attention, I noticed that when
> the BIOS allocates an XBDA at segment 9F80, FreeDOS
> somehow ends up stuffing bad values into 40:E and
> 40:13.  It says that I have 643K of base memory, or
> something rediculous, when I had only 638K left after
> the BIOS took its chunk.  Can you reproduce this? 
> It's easy to test.

http://www.freedos.org/bugs/bugzilla/show_bug.cgi?
id=1630

(please remove the linebreak to make the URL work)

Eric



---
This SF.Net email is sponsored by: GNOME Foundation
Hackers Unite!  GUADEC: The world's #1 Open Source Desktop Event.
GNOME Users and Developers European Conference, 28-30th June in Norway
http://2004/guadec.org
___
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel


[Freedos-kernel] Final LBACACHE tests for now

2004-06-09 Thread The Somertons
Hi,

Some more LBACACHE vs. SMARTDRV tests, I think these are the last ones for
now.

Tests for 386 SX/20, 31 MB FAT16 partition on SCSI hard drive
CONFIG.SYS and AUTOEXEC.BAT remain the same except for the changes in
caching method.

No disk cache, 3:39

LBACACHE 2 MB, 2:54
SMARTDRV 2 MB, 2:34
SMARTDRV WC 2 MB, 1:15

LBACACHE 8 MB, 2:36
SMARTDRV 8 MB, 2:28
SMARTDRV WC 8 MB, 0:50

*** Info: LBACACHE 2 MB ***
XMS handle has size (in kB) 2048
read  hits:   00016871  read  misses: 5971
write hits:   8396  write misses: 00011763
*** kilo-reads:   0022  --> percentage of hits:  0073
*** kilo-writes:  0020  --> percentage of hits:  0041

*** Info: SMARTDRV 2 MB ***
Room for256 elements of   8,192 bytes each
There have been   4,684 cache hits
and   3,364 cache misses
Cache size:  2,097,152 bytes
drive   read cache   write cache   buffering
  C:   yes   no   no

*** Info: SMARTDRV WC 2 MB ***
Room for256 elements of   8,192 bytes each
There have been   6,958 cache hits
and   1,097 cache misses
Cache size:  2,097,152 bytes
drive   read cache   write cache   buffering
  C:   yes   yes  no

*** Info: LBACACHE 8 MB ***
0x083A  XMS handle has size (in kB) 8192
read  hits:   00020675  read  misses: 1967
write hits:   9444  write misses: 00010697
*** kilo-reads:   0022  --> percentage of hits:  0091
*** kilo-writes:  0020  --> percentage of hits:  0046

*** Info: SMARTDRV 8 MB ***
Room for   1,024 elements of   8,192 bytes each
There have been   4,682 cache hits
and   3,339 cache misses
Cache size:  8,388,608 bytes
drive   read cache   write cache   buffering
  C:   yes   no   no

*** Info: SMARTDRV WC 8 MB ***
Room for   1,024 elements of   8,192 bytes each
There have been   7,152 cache hits
and812 cache misses
Cache size:  8,388,608 bytes
drive   read cache   write cache   buffering
  C:   yes   yes  no

Tests for AMD K5 PR166, 256 MB FAT16 partition on IDE/EIDE hard drive
CONFIG.SYS and AUTOEXEC.BAT remain the same except for the changes in
caching method.

No disk cache, 3:04

LBACACHE 4 MB, 2:40
SMARTDRV 4 MB, 0:42
SMARTDRV WC 4 MB, 0:35

LBACACHE 16 MB, 0:33
SMARTDRV 16 MB, 0:31
SMARTDRV WC 16 MB, 0:19

*** Info: LBACACHE 4 MB ***
XMS handle has size (in kB) 4096
read  hits:   00013968  read  misses: 00042937
write hits:   3513  write misses: 00017897
*** kilo-reads:   0056  --> percentage of hits:  0024
*** kilo-writes:  0021  --> percentage of hits:  0016

*** Info: SMARTDRV 4 MB ***
Room for512 elements of   8,192 bytes each
There have been   8,543 cache hits
and   10,315 cache misses
Cache size:  4,194,304 bytes
drive   read cache   write cache   buffering
  C:   yes   no   no

*** Info: SMARTDRV WC 4 MB ***
Room for512 elements of   8,192 bytes each
There have been   15,021 cache hits
and   3,873 cache misses
Cache size:  4,194,304 bytes
drive   read cache   write cache   buffering
  C:   yes   yes  no

*** Info: LBACACHE 16 MB ***
XMS handle has size (in kB) 00016384
read  hits:   00043294  read  misses: 00013613
write hits:   3556  write misses: 00017867
*** kilo-reads:   0056  --> percentage of hits:  0076
*** kilo-writes:  0021  --> percentage of hits:  0016

*** Info: SMARTDRV 16 MB ***
Room for   2,048 elements of   8,192 bytes each
There have been   10,211 cache hits
and   8,573 cache misses
Cache size:  16,777,216 bytes
drive   read cache   write cache   buffering
  C:   yes   no   no

*** Info: SMARTDRV WC 16 MB ***
Room for   2,048 elements of   8,192 bytes each
There have been   16,820 cache hits
and   1,999 cache misses
Cache size:  16,777,216 bytes
drive   read cache   write cache   buffering
  C:   yes   yes  no

I hope that these tests are useful to you.

Justin



---
This SF.Net email is sponsored by: GNOME Foundation
Hackers Unite!  GUADEC: The world's #1 Open Source Desktop Event.
GNOME Users and Developers European Conference, 28-30th June in Norway
http://2004/guadec.org
___
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel