home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / sigm / vol136 / bbscan.doc < prev    next >
Encoding:
Text File  |  1984-04-29  |  3.2 KB  |  91 lines

  1. ******* BBSCAN USERS GUIDE *******
  2.  
  3. 25/11/82    WRITTEN BY GEOFF HAYNES
  4.  
  5. 1. PURPOSE
  6.     THIS PROGRAM WAS WRITTEN TO VERIFY THE
  7.     INTEGRITY OF 8" SINGLE DENSITY DISKETTES
  8.     USING IBM SOFT SECTOR FORMAT. THIS VERSION
  9.     IS SPECIFICALLY WRITTEN FOR THE 'BIGBOARD'
  10.     MICROPROCESSOR BOARD.
  11.  
  12.     THE PROGRAM CAN BE USED BOTH FOR VERIFYING
  13.     BLANK DISKS PRIOR TO USE, AND TO CHECK THE
  14.     STATUS OF DISKS CONTAINING USER DATA, SINCE
  15.     IT PERFORMS NO WRITING.
  16.  
  17. 2. OPERATION
  18.     FIRST, BBSCAN READS THE DIRECTORY SECTORS
  19.     ON THE DISK BEING SCANNED, SO THAT IF ERRORS
  20.     ARE DETECTED IN THE USER AREA, THEY WILL BE
  21.     LINKED TO THE CORRESPONDING FILE NAME IF THAT
  22.     SECTOR HAS BEEN ALLOCATED, AND THAT FILENAME
  23.     WILL BE INCLUDED IN THE ERROR REPORT FOR THE
  24.     FAILING SECTOR.
  25.     IT THEN COMMENCES READING ALL SECTORS ON THE
  26.     DISK. IF AN ERROR IS DETECTED, THE READ
  27.     OPERATION FOR THAT SECTOR IS RETRIED UP TO 9
  28.     MORE TIMES. IF THE SECTOR IS READ SUCCESSFULLY
  29.     DURING RETRY, THE ERROR IS CONSIDERED TEMPORARY
  30.     AND IS SO INDICATED IN THE ERROR REPORT.
  31.     OTHERWISE THE ERROR IS REPORTED AS PERMANENT.
  32.     THE ERROR REPORT DISPLAYS THE PHYSICAL TRACK
  33.     AND SECTOR IN ERROR, THE TYPE OF ERROR,
  34.     (I.E. TEMP OR PERM), THE STATUS BYTE RECEIVED
  35.     FROM THE DISK CONTROLLER (AS DEFINED IN THE
  36.     1771 FDC CHIP SPECS), AND THE DISPOSITION OF
  37.     THE SECTOR (CP/M SECTOR, DIRECTORY SECTOR,
  38.     UNALLOCATED SECTOR, OR THE ASSOCIATED FILE
  39.     NAME IF ALLOCATED.
  40.  
  41.     IN ORDER TO DETERMINE WHETHER ERRORS ARE EITHER
  42.     TEMPORARY OR PERMANENT, ALL DISK I/O MUST BYPASS
  43.     BDOS, OTHERWISE TEMPORARY ERRORS WILL NOT BE
  44.     DETECTED AT ALL, AND PERMANENT ONES WILL INVOKE
  45.     THE INFAMOUS 'BDOS ERROR ON X: BAD SECTOR' MESSAGE.
  46.     ADDITIONALLY, SINCE THE BIOS NORMALLY HANDLES
  47.     THE ACTUAL RETRY DURING DISK READ/WRITE OPERATIONS,
  48.     THE RETRY FUNCTION IN BIOS MUST ALSO BE BYPASSED,
  49.     OR DISABLED BY DYNAMIC PATCHING, IN ORDER TO
  50.     DETECT TEMPORARY ERRORS.
  51.  
  52.     IN THE CASE OF THE 'BIGBOARD', THE RETRY COUNT
  53.     BYTE USED BY THE MONITOR IS LOADED BY BBSCAN,
  54.     AND THE CALL TO THE READ ROUTINE IS DIRECTED
  55.     TO A LOCATION PAST THE POINT WHERE THE ROUTINE
  56.     INITIALIZES THE COUNT. IN THIS WAY, BBSCAN HAS
  57.     FULL CONTROL OVER RETRY.
  58.  
  59.     BBSCAN PROCESSES EACH TRACK IN A PHYSICALLY
  60.     SEQUENTIAL SECTOR SEQUENCE RATHER THAN THE
  61.     CP/M 'LOGICALLY' SEQUENTIAL SEQUENCE. BY
  62.     DOING THIS, THE ERROR REPORT CLEARLY INDICATES
  63.     SCRATCHES ON THE MEDIA, BECAUSE THE SECTOR VALUE
  64.     IS THE SAME ACROSS MULTIPLE TRACKS. THIS WOULD
  65.     NOT BE OBVIOUS IN THE CASE OF A LOGICALLY
  66.     SEQUENTIAL SCAN.
  67.  
  68. 3. USING THE PROGRAM
  69.     THE SOURCE FILE SHOULD REQUIRE NO MODIFICATION
  70.     PRIOR TO ASSEMBLY. THIS RATHER BOLD STATEMENT
  71.     ASSUMES THAT THE ROM-BASED MONITOR (PFM) IN
  72.     YOUR SYSTEM IS THE SAME LEVEL AS THAT FOR
  73.     WHICH THIS PROGRAM WAS DEVELOPED. THE VERSION
  74.     ON THE DEVELOPMENT SYSTEM IS 3.3, DATED
  75.     AUGUST 2, 1980. IF YOURS IS DIFFERENT, YOU
  76.     SHOULD CHECK THE EQUATES AT THE START OF THE
  77.     LISTING WHICH POINT INTO THE MONITOR.
  78.     THE COMMENTS FIELD FOR THESE EQUATES INDICATES
  79.     WHICH LABELS THEY REFER TO IN THE MONITOR
  80.     LISTING 'ROM.PRN' WHICH COMES WITH THE BIGBOARD
  81.     CP/M PACKAGE.
  82.  
  83.     THE PROGRAM MAY BE INVOKED IN THE FOLLOWING WAYS:
  84.         A)  'BBSCAN'
  85.       OR    B)  'BBSCAN X' WHERE X=DRIVE NAME
  86.  
  87.     IN THE FIRST CASE, THE PROGRAM WILL EXECUTE ON
  88.     THE CURRENTLY LOGGED DRIVE.
  89.     IN THE SECOND CASE, IT WILL RUN ON THE DRIVE
  90.     SPECIFIED BY 'X'
  91.