Skip to content

Conversation

@ecm-pushbx
Copy link
Contributor

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.

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.
@ecm-pushbx
Copy link
Contributor Author

There is another problem: EDR-DOS returns AX = 0000h from 21.7303. This is incorrectly detected as "not supported" in dir.c -- I will add another commit for that soon.

@ecm-pushbx
Copy link
Contributor Author

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

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
@ecm-pushbx
Copy link
Contributor Author

Linked this PR from dosemu2/dosemu2#2395

@PerditionC PerditionC merged commit a6ffd2a into FDOS:master Feb 20, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants