On Tue, 4 May 2021 00:59:19 +0800
TK Chia <[email protected]> wrote:

> Hello Tom,
> 
> > even if anyone else could compile this: how exactly would you test
> > this?  
> 
> [...]
> 
> > I am not able to *immediatly*, or even *after some thought* see the problem.
> > that doesn't mean it doesn't exist. it only means it's not easy to
> > understand or reproduce.  
> 
> I am not _totally_ sure, but Andrew Bird wrote regression tests, and
> also designed a Python-based test harness, for dosemu2 + fdpp (see
> https://github.com/dosemu2/dosemu2/blob/devel/test/test_dos.py etc.).
> 
> I guess we can either look closely at the test suite to see which test
> exercises the patched code, or we can ask Andrew Bird about it...
> 
> Thank you!
> 

Hi there,

Creating a standalone test case is not easy, as the int2f/1217 function
is designed to be called only by a redirector, which is called by DOS
itself via int2f/11xx functions. Specifically, it requires that the
stack be the DOS one, not the user's. The error case can be seen in normal use
when trying to map a virgin drive on Dosemu2 e.g. 'lredir X: 
/path/to/directory'.
As TK Chia noted there is a test in the Dosemu2 test suite that shows the 
problem
and it's called 'test_mfs_lredir_command', but doesn't offer any greater 
functionality
than typing the above command at the command line.

The int2f/1217 function is to be provided by DOS to return the CDS entry for any
requested drive, see RBIL http://www.ctyme.com/intr/rb-4391.htm . The only error
that is documented to occur is if the requested index is greater than the
effective lastdrive value. Until my patch FreeDOS kernels would validate the CDS
flags and return an error if certain flags were not set. This is not the 
behaviour
of the many other DOSes I tested and causes the problem for Dosemu2's 
redirector when
mapping new drives. Older versions of Dosemu did not use the int2f/1217 
function,
instead relying on finding the CDS array via the LoL (SYSVARS) info obtained 
from the
undocumented function int21/52, hence did not suffer from this problem.

I'm not sure that you should be switching out the kernel at this late stage in 
the 1.3rc
series, at least not just for this patch. Then again I'm not really a FreeDOS 
user
myself, so it's probably not right for me to try to steer you either way. 


Hope it helps,


Andrew



_______________________________________________
Freedos-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to