Perhaps BIOS INT 13H 16H: Media change detection - it has the status:
80H = diskette drive not ready or not installed
What can solve your problem - I do not have enough antique equipment and software to check it personally.
#include <dos.h> unsigned int DetectMediaChange() { union REGS regs; regs.h.ah = 0x16; // Detect Media Change regs.h.dl = 0; // Drive A int86( 0x13, ®s, ®s ); // BIOS Disk I/O INT 13h return regs.h.ah ; // Status : 00H = diskette change line not active // 01H = invalid drive number // 06H = either change line is not supported or // disk change line is active (media was swapped) // 80H = diskette drive not ready or not installed // else= BIOS disk error code if CF is set to CY }
source share