Hi! - clarification for Luch's patch.
--- Begin Message ---diff -ruNp old/kernel/inthndlr.c new/kernel/inthndlr.c --- old/kernel/inthndlr.c 2004-07-25 02:53:58.000000000 +0000 +++ new/kernel/inthndlr.c 2004-07-25 16:54:58.000000000 +0000 @@ -1232,7 +1232,14 @@ dispatch: if (lr.DL < lastdrive) { struct cds FAR *cdsp = CDSp + lr.DL; - if (cdsp->cdsDpb) /* letter of physical drive? */ + /* NOTE: Lucho founds, that in MS-DOS INT21/5F07 and 5F08 works + only for CDS entries, where _offset_ in DPB pointer is not + zero (somewhat related to secondary drive letters of block + drives). Without such check in FreeDOS, FORMAT utilities + break RAM drives. Meaning of this patch, what it affects + and why - all completely unclear. --avb + */ + if (FP_OFF(cdsp->cdsDpb)) /* letter of physical drive? */ { cdsp->cdsFlags &= ~CDSPHYSDRV; if (lr.AL == 7)
--- End Message ---
