dir.c: allow 21.7303 to return NC, ax=0 to mean supported (EDR-DOS) EDR-DOS returns NC, AX = 0000h from 21.7303. This was incorrectly detected as "not supported" here. CF unchanged and AL = 00h is the typical error return, albeit CF unchanged AX unchanged has also been observed (on dosemu2 + lDOS + SRDISK). Reference on the correct "unsupported" return: https://sourceforge.net/p/freedos/mailman/message/59128382/ Incorrect interrupt list entry: https://fd.lod.bz/rbil/interrup/dos_kernel/217303.html
Recent Commits to freecom:master
-
dir.c: allow 21.7303 to return NC, ax=0 to mean supported (EDR-DOS)
-
set CY before calling 21.71 or 21.73 DOS functions (LFN, FAT32)
set CY before calling 21.71 or 21.73 DOS functions (LFN, FAT32) Between the current lDOS kernel (which doesn't support 21.73), SRDISK, and dosemu2 revision 6a2f4f527 the return from 21.7303 somehow is with both Carry Flag and AX preserved. This makes the DIR command think that the call is supported when it isn't. The proper check is to call with CY set before the call.