Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!umich!yale!cs.utexas.edu!tut.cis.ohio-state.edu!rutgers!att!mcdchg!laidbak!obdient!vpnet!kji From: kji@vpnet.chi.il.us (Ken Isacson) Newsgroups: comp.lang.c Subject: Detect Floppy In Drive EXAMPLE!!!! Keywords: c source floppy Message-ID: <269bd432-3bbcomp.lang.c@vpnet.chi.il.us> Date: 12 Jul 90 01:55:20 GMT Lines: 75 I had posted, and at least one other has as well, a question regarding detecting the presence of a floppy in the disk drive. Well here are my results: ----------- cut here ----------- /********************************************************* * * * PURPOSE : A sample C program written in TC to test * * if a disk in drive A. * * * * AUTHOR : Ken Isacson July 11, 1990 * * * * kji@vpnet.chi.il.us * * * * NOTES : This program accomplishes this test in two * * ways. The first way I attempted was with * * the use of interrupt 0x25. It works, but * * then I stumbled across 'absread.' They * * both do the same thing, but I would * * recommend using 'absread' for portability * * purposes. * * * * CREDIT : The assembler version was partially * * suggested by Bill Wilson; however, his * * version had some mistakes and errors which * * I have corrected in this version. * * * *********************************************************/ #include #include #include main() { union REGS regs; struct SREGS segreg; char junk[1024]; /* read an absolute sector */ regs.x.cx=1; /* # of sectors to read */ regs.x.dx=1; /* starting sector number */ segreg.ds=FP_SEG(junk); /* segment of buffer */ regs.x.bx=FP_OFF(junk); /* offset of buffer */ regs.x.ax=1; /* drive to read, a=0, b=1 ... */ int86x(0x25,®s,®s,&segreg); if (regs.x.cflag == 0) { printf("There IS a disk in the drive,\n"); } else { printf("There is NOT a disk in the drive,\n"); } printf("according to int86x(0x25,®s,®s,&segreg).\n"); if (absread(1,1,0,junk) == 0) { printf("There IS a disk in the drive,\n"); } else { printf("There is NOT a disk in the drive,\n"); } printf("according to absread(0,1,0,junk).\n"); } -------- cut end ------------- If you find this useful or if you have any comments, please send me some EMAIL. Ken Isacson kji@vpnet.chi.il.us