FT DOS/BIOS

 FT_CHDIR()       Change the current directory
 FT_DEFAULT()     Retrieve and optionally change the current default drive
 FT_DOSVER()      Return the current DOS major and minor version as a string
 FT_DSKFREE()     Return the amount of available disk space
 FT_DSKSIZE()     Return the maximum capacity of a fixed disk
 FT_FLOPTST()     Test diskette drive status
 FT_HANDCNT()     Count number of available DOS (not network) file handles
 FT_INP()         Retrieve a byte from a specified I/O port
 FT_INT86()       Execute a software interrupt
 FT_ISPRINT()     Check printer status
 FT_ISSHARE()     Determine if DOS "Share" is installed
 FT_MKDIR()       Create a subdirectory
 FT_OUTP()        Write a byte to a specified I/O port
 FT_PEEK()        Retrieve a byte from a specified memory location.
 FT_POKE()        Write a byte to a specified memory location
 FT_REBOOT()      Force a warm or cold boot
 FT_RMDIR()       Delete a subdirectory
 FT_SETDATE()     Set the DOS system date
 FT_SETTIME()     Set the DOS system time
 FT_SYSMEM()      Determine the amount of conventional memory installed
 FT_TEMPFIL()     Create a file with a unique name

FT_FLOPTST

FT_FLOPTST()
 Test diskette drive status

 Syntax

      FT_FLOPTST( <nDrive> ) -> nStatus

 Arguments

     <nDrive> is the diskette drive number, 0 = A:, 1 = B:

 Returns

     -1 - Wrong Parameters
      0 - Drive Loaded and ready to read or write
      1 - Drive Door Open or Diskette inserted upside down
      2 - Diskette is unformatted
      3 - Write protected
      4 - Undetermined

 Description

     FT_FLOPTST() is designed as a full replacement for ISDRIVE().  Where
     ISDRIVE() returns just .T. or .F. depending if the diskette drive is
     ready or not, FT_FLOPTST() returns a numeric code designating the
     diskette drive's status.

     FT_FLOPTST() is particularly useful in backup and restore programs
     that need to test the floppy drive before writing/reading from a
     floppy disk.

 Examples

     iStatus := FT_FLOPTST( 1 )

     DO CASE
        CASE iStatus == 1
           Qout( "The door to drive A is open." )
        CASE iStatus == 2
           Qout( "The diskette in drive A is not formatted." )
        CASE iStatus == 3
           Qout( "The diskette in drive A is write-protected." )
        CASE iStatus == 4
           Qout( "Something is wrong with drive A, but I don't know what." )
     ENDCASE

 Source: FLOPTST.ASM

 Author: Joseph LaCour