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 ---