' *** TRCKCHCK.LST *** 2nd GFA-Manual, page 11-25 FUNCTION track_check(drive,side,track) ' ' *** Check track (≥0) on side (0/1) on disk in drive (0=A, 1=B, etc.) ' *** XBIOS 19 (Flopver) checks if sectors are good (returns TRUE) ' *** Function returns FALSE if at least one sector is bad ' ' *** Global: track_sect& ' LOCAL buffer%,r%,i INLINE buffer%,1024 IF track_sect=0 ! first time? ~BIOS(4,0,L:buffer%,1,0,drive) ! load bootsector track_sect=CARD(ROR&(WORD{buffer%+24},8)) ! sectors/track ENDIF FOR i=0 TO 511 ! clear first part of buffer BYTE{ADD(buffer%,i)}=0 NEXT i ~XBIOS(19,L:buffer%,L:0,drive,1,track,side,track_sect) ! check track IF WORD{buffer%}=0 ! every sector good RETURN TRUE ELSE ! at least one bad sector RETURN FALSE ENDIF ENDFUNC ' ***** '