Hi!

31-Дек-2006 18:46 [EMAIL PROTECTED] (Eric Auer) wrote to
freedos-kernel@lists.sourceforge.net:

EA> In the end, I would like to have 2036 "extra stabilized"
EA> so that Tom no longer needs a separate kernel version.

     Let remain alone 2036, which already released in FD 1.0 - time to start
new version.

EA> Here we go, big list of diffs  :-) . To check the 2036
EA> sources, get a source zip or use the cvs web browser:
EA> http://freedos.cvs.sourceforge.net/freedos/kernel/
EA> The Tom sources are available from Tom, but I can also
EA> provide a (not very well cleaned up) unified diff file.

     Better if it will be available for direct download.

EA> - Tom has a build2 bat file, which does a SYS CONFIG
EA>    on the kernel, copies the kernel to A:, and sorts the
EA>    map file. We could add that to the cvs.

     Why not?

EA> - buildall, build, default: more comments in cvs,
EA>    plus cvs has set dos4g=quiet

     default.bat should be defaults.bat, else there be troubles under 3DOS.

EA> - config.txt: cvs has a newer extended version
EA>    NOTE: I think there should be a FCBS note telling that
EA>    FreeDOS can provide FCBS without FCBS=... line?

     ?

EA>    The IF %config%==... example should use "".

     Of course.

EA> - hdr.h CVS version makes intr() void, Tom uses unsigned
EA>    WHICH is better? CVS probably?

     I think, better to use own function with own interface (see callint()
in Blair's CLIB), which provides better handling for registers and their
parts.

     Blair, the more I think, the more me looks, that returning CF instead
AX in callint() is better.

EA> - portab.h CVS version has some extra Watcom pragmas with
EA>    the comment "min.unpacked size" (default parm / modify)
EA>    I assume CVS is better?
EA>    The CVS version also has MK_SEG_PTR

     This is mine.

EA>    and MK_UWORD and
EA>    MK_ULONG, probably by Arkady, but I think those are not
EA>    yet actually used for much?

     But they should be, because they more readable and more safe.

EA> - config.c timeout is "time > timeout" in Tom version and
EA>    "time >= timeout" in CVS version, the latter is maybe
EA>    better for 0 timeouts / hanging timers??

     Where?

EA> - dsk.c the TOM VERSION provides an call to int 2f.4a00
EA>    to ask a potential GUI whether it is okay to display
EA>    the "insert disk a:/b:..." "DJ" message as text. A GUI
EA>    can trap this and show a dialog box instead. VERY NICE.

     Let me remind you about tom's letter in freedos-kernel @ 2006/09/19.

EA> - fatdir.c WHICH VERSION IS BETTER HERE? Tom uses
EA>    "if ((attr & D_VOLID|D_DIR)==D_VOLID) i=3" while CVS uses
EA>    "if ((attr & ~(D_RDONLY|D_ARCHIVE))==D_VOLID) i=3 else
EA>    attr &= ~D_VOLID" ... (this is in findfirst afair)

     First is old behavior, second was introduced later. I don't remember
reasons for this change (I remember there was something about this from
Jeremy), but kernel, which I download from CVS at end of December, does
contain first code:

COUNT dos_findfirst(UCOUNT attr, BYTE * name)
  if ((attr & (D_VOLID|D_DIR))==D_VOLID)
    i = 3;
[...]
  if ((attr & (D_VOLID|D_DIR))==D_VOLID)
[...]
      if ((fnp->f_dir.dir_attrib & ~(D_RDONLY | D_ARCHIVE)) == D_VOLID &&
          fnp->f_dir.dir_name[0] != DELETED)
COUNT dos_findnext(void)
    if (fnp->f_dir.dir_name[0] != '\0' && fnp->f_dir.dir_name[0] != DELETED
        && !(fnp->f_dir.dir_attrib & D_VOLID))
[...]
        /*
           MSD Command.com uses FCB FN 11 & 12 with attrib set to 0x16.
           Bits 0x21 seem to get set some where in MSD so Rd and Arc
           files are returned.
           RdOnly + Archive bits are ignored
         */
        /* Test the attribute as the final step */
        if (!(fnp->f_dir.dir_attrib & D_VOLID) &&
            !(~dmp->dm_attr_srch & (D_DIR | D_SYSTEM | D_HIDDEN) &
              fnp->f_dir.dir_attrib))

EA> - int2f.asm has different comments: CVS "INT2F/11xx" while
EA>    Tom has "INT2F/12xx and INT2F/4A01,4A02"... which is right?

     Second comment is mine correction for original wrong comment. As
usually, most my changes was lost in void.

EA> main.c what is better, STATIC int or nothing for EmulatedDriveStatus?

     "Nothing" is old K&R style and will be diagnosed by current compilers.
STATIC (read: LOCAL) marks functions, which are internal and should/need not
be exported.

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Freedos-kernel mailing list
Freedos-kernel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-kernel

Reply via email to