Hmm, The code tries to ignore any non disk-related errors, and returns 0x00 (ignore). Ignore should become fail if it's not allowed. And when it detects a disk error it seems to set an internal flag to indicate a critical error which is then tested for in the TestCriticalError[1] function.
I guess this is because edit wants to show a dialog, and showing a dialog from inside the int24h handler is not a good idea... Soo now I wonder what is the full value of register AX? I'd expect the kernel to set values to indicate a drive not ready error. So for some reason bit 7 of AH is set? So now I wonder why not? Are you running in a VM or physical machine? What dos DR-DOS return? --Wolf [1] https://github.com/boeckmann/edit/blob/cf4e4f6fb3dc346618318bd1475552fa51c6a4b7/source/message.c#L182 On Sun, May 25, 2025, 20:34 Bernd Böckmann via Freedos-devel < freedos-devel@lists.sourceforge.net> wrote: > I wondered why EDIT let me happily write to an empty floppy drive under > FreeDOS. While investigating I noticed a discrepancy between the FreeDOS and MS-DOS > / DR-DOS kernel behavior if the critical error handler returns AX=0 > (ignore). > > FreeDOS does not indicate an error when returning from INT21.3C (create > file) after the file creation failed. On MS-DOS, DR-DOS and DosBox I get > error code 3 (path not found) on critical error return AX=0. > > For EDIT I solved this by changing the critical error handler to return > FAIL (wondering why this originally was set to IGNORE). But this is > nevertheless a discrepancy. > > > > _______________________________________________ > Freedos-devel mailing list > Freedos-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/freedos-devel >
_______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel