DOS provides the interrupt 2f/12xx functions for use by filesystem redirectors in order that they do not need to access structures and variables using undocumented methods. Interrupt 2f/1217 is a function used by a redirector to get the CDS entry corresponding to a drive without iterating the CDS array found via SYSVARS LOL. FreeDOS currently validates the flags in CDS entry before deciding whether to return the entry to the caller. This behaviour prevents a redirector receiving the CDS entry corresponding to an as yet unassigned drive so preventing any new drive mapping. I've tested the following flavours of DOS and only FreeDOS does this. # DOS variants returning new CDS entries okay DR-DOS 6.00-930319 7.00 7.01 7.02-971119 7.02-980123 7.03 8.00 MS-DOS 3.10 3.20 3.21 3.30-Nec 3.30 3.31 4.01 5.00 6.00 6.20 6.21 6.22 7.00 7.10 PC-DOS 3.00-Compaq 3.00 3.10-850307 3.10-850422 3.10-Compaq 3.20-851230 3.20-860221 3.30 3.31-Compaq 4.00 4.01 5.00 5.02 6.10 6.30 7.00 7.10 7.2K # DOS variants that return error rather than new CDS entry FR-DOS 1.00 1.10 1.20 This patch introduces an unvalidated version of get_cds() and calls it only for the int2f/1217h call, other uses remain as before.
fdkernel
FreeDOS kernel - branch from 2042 SVN 0xFD kernel
The FreeDOS kernel implements the core MS/PC-DOS (R) compatible functions. It is derived from Pat Villani's DOS-C kernel and released under the GPL v2. Please see http://www.freedos.org/ for more details about the FreeDOS (TM) Project. Compiled kernels ready to use (just copy kernel.sys over an existing install) are available at http://www.fdos.org/kernel/testing/git/ - also available are the source archive and fdpkg compatible packages.
This version of the kernel is intended only for 8086+ or 80386+ IBM compatible computers in continuation of the goals of the FreeDOS Project. Please see http://www.fdos.org/kernel for my 0xDC kernel that is work on merging back in some of the original portability aspects and other supported features at the cost of some compatibility with older hardware/software.
Please feel free to email me - PerditionC@gmail.com Jan 2014