home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / magazine / pcmagazi / 1992 / 20 / diskette / diskette.c next >
Text File  |  1992-11-04  |  1KB  |  48 lines

  1. // diskette.c 
  2.  
  3. #include<stdio.h>
  4. #include<bios.h>
  5. #include<ctype.h>
  6. #include<stdlib.h>
  7.  
  8. void main(int argc, char **argv)
  9.     {
  10.     struct diskinfo_t disk;
  11.     int counter = 0;
  12.  
  13.     if(argc > 1)
  14.         disk.drive = toupper(*argv[1])-'A';
  15.     else
  16.         disk.drive = 0;
  17.  
  18.     disk.head     = 0;  // set to read beginning of disk...
  19.     disk.track    = 0;
  20.     disk.sector   = 1;
  21.     disk.nsectors = 1;
  22.  
  23.     for(counter = 0; counter < 3; counter++)
  24.         {
  25.         _bios_disk(_DISK_RESET, &disk);     // reset disk controller
  26.                                             // verify disk sectors
  27.         if(!(_bios_disk(_DISK_VERIFY, &disk) >> 8))
  28.             {
  29.             printf("Please remove diskette in drive %c...\n",disk.drive+'A');
  30.                 // loop until disk is removed
  31.             while(!(_bios_disk(_DISK_VERIFY, &disk) >> 8))
  32.                 ;
  33.             break;
  34.             }
  35.         }
  36.  
  37.     printf("Please insert a diskette into drive %c...\n",disk.drive+'A');
  38.  
  39.     _bios_disk(_DISK_RESET, &disk);     // reset controller again
  40.             // loop until disk is inserted
  41.     while(_bios_disk(_DISK_VERIFY, &disk) >> 8)
  42.         _bios_disk(_DISK_RESET, &disk);
  43.  
  44.     printf("Thank you.\n");
  45.     exit(0);
  46.     }
  47.  
  48.