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
