home *** CD-ROM | disk | FTP | other *** search
- DFOCO DOCUMENTATION
-
- COPYRIGHT 1979
- BY S. J. SINGER
-
-
- DFOCO IS A FAST FORMAT AND COPY UTILITY FOR CP/M AND THE DELTA
- FLOPPY DISK CONTROLLER. IT PERMITS FORMATTING DISKS IN BOTH THE STANDARD
- IBM FORMAT AND A VARIETY OF NON STANDARD FORMATS AS WELL AS COPYING
- ENTIRE DISKS OR ONLY SPECIFIED TRACKS FROM ONE DISK TO ANOTHER.
- IN ADDITION DFOCO PERMITS RELATIVELY EFFICIENT SINGLE DISK DRIVE COPIES
- AND WILL COPY FORMATS AND DISPLAY THE FORMAT ON ANY SPECIFIED TRACK OF
- ANY DISK. DFOCO SUPPORTS THE USE OF 4 DISK DRIVES.
- DFOCO MAY BE USED BOTH SINGLE DENSITY (FM) AND DOUBLE DENSITY (MFM).
- THE OPERATIONS PERFORMED ARE IN GENERAL THE SAME BUT MAY BE SLIGHTLY
- MORE LIMITED IN THE CASE OF DOUBLE DENSITY.
- DFOCO WILL RUN ON ANY 8080 OR Z-80 BASED SYSTEM USING THE DELTA
- DISK CONTROLLER. THE PROGRAM USES CP/M FOR ALL CONSOLE INPUT-OUTPUT,
- HOWEVER ALL DISK OPERATIONS ARE DIRECTLY EXECUTED BY DFOCO. THIS IS
- NECESSARY BECAUSE DFOCO USES NON CP/M COMMANDS LIKE DISK TRACK READ,
- AND DFOCO KEEPS CONTROL OF ALL DISK ERRORS TO FACILITATE ACCOUNTING
- AND ERROR RECOVERY. IT SHOULD BE POSSIBLE HOWEVER, TO MODIFY DFOCO
- TO RUN WITH ANY WESTERN DIGITAL 1771 OR 1791 BASED DISK CONTROLER.
- THERE ARE TWO DIFFERENT VERSIONS OF DFOCO, ONE FOR STANDARD DISK DRIVES
- AND THE OTHER FOR FAST SEEK PERSCI DRIVES. THE SINGLE DENSITY OPERATIONS
- WILL BE DESCRIBED IN DETAIL FIRST.
-
-
-
- * * * * * * * SINGLE DENSITY OPERATIONS * * * * * * *
-
-
- VALIDATING DISKS
-
- IT IS OFTEN USEFUL TO BE ABLE TO TELL WHETHER OR NOT THE RECORDING
- SURFACE OF A DISK IS COMPLETELY INTACT BEFORE USING THE DISK. THIS IS
- ESPECIALLY TRUE SINCE WHILE CP/M ALWAYS CHECKS FOR READ ERRORS THERE IS
- NO CHECK DONE FOR WRITE ERRORS. YOU WILL NOT KNOW YOU HAVE A BAD COPY
- OF A FILE UNTIL THE FIRST TIME YOU TRY TO READ IT AGAIN WHICH MAY BE DAYS
- OR EVEN MONTHS LATER.
- VALIDATING A DISK CONSISTS SIMPLY OF READING EACH SECTOR ON THE
- DISK AND VERIFYING THAT THE CRC IS CORRECT. THIS SIMPLE PROCESS NOT ONLY
- DETECTS PHYSICAL DAMAGE TO THE MEDIA SUCH AS SCRATCHES BUT ALSO FORMATTING
- ERRORS SOMETIMES CAUSED BY NOISE TRANSIENTS, ERRORS WHICH WILL DISAPPEAR
- UPON REFORMATTING THE DISK. THE FOLLOWING ARE EXAMPLES OF VALIDATION COMMANDS.
-
- VALID (DEFAULT IS DRIVE A:)
- VALID C:
- VALID D: RETRY 20
-
-
- THE PROGRAM WILL READ THE ENTIRE DISK AND REPORT ANY READ ERRORS.
- IF A CRC ERROR OCCURS THE SECTOR WILL BE REREAD A MAXIMUM OF EITHER
- THE NUMBER OF RETRYS SPECIFIED OR 10 TIMES IF NO RETRY COUNT IS ENTERED.
- BOTH THE TOTAL NUMBER OF PERMANENT OR HARD ERROR AND RETRYS ARE REPORTED
- AT THE END OF THE VALIDATION PROCESS.
-
- SUCCESSFUL VALIDATION DRIVE B:
-
- OR
-
- PERMANENT READ ERROR TRACK 17 SECTOR 5 DRIVE B
- PERMANENT READ ERROR TRACK 42 SECTOR 19 DRIVE B
- THERE WERE 27 RETRYS AND 2 HARD ERRORS
-
-
- COPYING DISKS
-
- ALL OR PART OF A DISK MAY BE COPIED BETWEEN ANY SPECIFIED DRIVES.
- THE FOLLOWING ARE EXAMPLES OF TYPICAL COPY COMMANDS:
-
- COPY (DEFAULT IS A: TO B:)
- COPY A: TO C:
- COPY D: TO B: RETRY 20
- COPY A: TO C: TRACK 0-1
- COPY B: TO D: TRACK 3 - 20
- COPY A: TO A: (SINGLE DISK TRANSFER)
-
- DFOCO WILL RESPOND WITH AND ACKNOWLEDGMENT AND INSTRUCTIONS. FOR EXAMPLE:
-
- COPYING DISK A TO DISK B
- TYPE RETURN TO START
-
- THE PROGRAM WILL HALT AND WAIT FOR DISKS TO BE CHANGED ETC. AND
- WILL BEGIN THE ACTUAL COPY OPERATION AFTER RETURN IS TYPED. IF YOU HAVE
- MADE AN ERROR AND WISH TO REENTER THE COMMAND TYPE CONTROL C. THE COPY
- OPERATION IS OPTIMIZED FOR SPEED. THE PROGRAM WILL DETERMINE THE MAXIMUM
- AMOUNT OF MEMORY AVAILABLE AND READ WHOLE TRACKS FROM THE SOURCE DISK
- UNTIL THE MEMORY IS FILLED. THEN THE ENTIRE MEMORY BUFFER IS WRITTEN
- ONTO THE DESTINATION DISK. ALL TRANSFERS ARE VERIFIED. AS EACH TRACK IS
- WRITTEN ONTO THE DESTINATION DISK IT IS READ BACK AND COMPARED BYTE BY
- BYTE WITH THE CONTENTS OF THE MEMORY BUFFER. ANY ERRORS ARE REPORTED.
- IF THE SOURCE AND DESTINATION ARE THE SAME DFOCO WILL FIRST
- RESPOND WITH A REQUEST THAT YOU VERIFY THAT YOU REALLY WANT TO PERFORM
- A SINGLE DRIVE COPY. IF THE REQUEST IS ACKNOWLEDGED THE PROGRAM
- WILL INDICATE WHICH DISK TO MOUNT IN THE SPECIFIED DRIVE.
- AS WITH TWO DRIVE COPIES THE PROGRAM WILL FILL THE ENTIRE MEMORY BUFFER
- WITH DATA. THE PROGRAM WILL THEN HALT AND NOTIFY YOU TO CHANGE DISKS.
- THE NUMBER OF DISK CHANGES REQUIRED WILL OF COURSE DEPEND UPON THE
- AMOUNT OF MEMORY AVAILABLE. WITH A 48K SYSTEM 8 SWAPS ARE REQUIRED, WITH
- A 64K SYSTEM ONLY 6 ARE NEEDED.
-
-
- COPYING DISKS WITH DIFFERENT SIZE SECTORS
-
- DFOCO WILL COPY DISKS WITH SECTORS OF 128, 256 OR 512 BYTES. THE
- PRIMARY LIMITATION OF THE PROGRAM IS THAT BOTH DISKS MUST HAVE THE SAME
- SIZE SECTORS. THE SIZE SHOULD BE SPECIFIED IN THE COPY COMMAND.
-
- COPY A: TO C: SIZE 256
- COPY B: TO A: SIZE 512
- COPY C: TO D: SIZE 128
-
- SPECIFYING A SECTOR SIZE OF OTHER THAN 128, 256 OR 512 BYTES WILL
- GENERATE AN ERROR MESSAGE.
-
-
-
- ERROR HANDLING DURING COPY OPERATIONS
-
-
- ERROR HANDLING AND RECOVERY IS AN EXTREMELY INPORTANT PART OF ANY
- DISK FILE MANAGEMENT SYSTEM. DFOCO IS DESIGNED TO PERMIT THE MAXIMUM RECOVERY
- OF DATA FROM DAMAGED OR "CRASHED" DISKS. TWO TYPES OF ERRORS OCCUR DURING
- COPY OPERATIONS, ERRORS IN READING FROM THE SOURCE DISK AND ERRORS WRITING
- TO THE DESTINATION DISK. READ ERRORS ARE BY FAR THE MOST COMMON.
- IF A READ ERROR OCCURS DFOCO WILL ATTEMPT TO REREAD THE SECTOR 10
- (OR RETRY) TIMES. IF THE READ ERROR PERSISTS ONE OF TWO ACTIONS MAY BE CHOSEN.
- THE DEFAULT IS TO FILL THE SECTOR WITH E5H AND WRITE IT ON THE DESTINATION
- DISK. THE OTHER CHOICE IS SIMPLY TO ACCEPT THE DATA AS READ IN AND WRITE IT ON
- THE DESTINATION DISK. THIS IS THE NOFILL OPTION. NOFILL PERMITS THE MAXIMUM
- DATA RECOVERY BUT REQUIRES CAREFUL INSPECTION OF THE SECTOR CAUSING THE ERROR
- SINCE THE ERRORS MAY NOT BE OBVIOUS.
- WRITE ERRORS ARE HANDLED IN A SOMEWHAT DIFFERENT FASHION. SINCE THERE
- IS USUALLY NO VALUABLE DATA ON THE DESTINATION DISK, THE NORMAL CHOICE IS TO
- NOT PERMIT COPY OPERATIONS IF WRITE ERROR OCCUR. DFOCO WILL ATTEMPT TO WRITE
- A SECTOR 10 (OR RETRY) TIMES. IF THE ERROR PERSISTS, DFOCO WILL STOP THE COPY
- OPERATION AND VALIDATE THE DESTINATION DISK THUS REPORTING ALL BAD SECTORS.
- IT IS POSSIBLE TO COPY IN THE PRESENCE OF WRITE ERRORS BY TURNING OFF THE
- WRITE VERIFICATION, THE NOVERIFY OPTION. HOWEVER SINCE DISKS HAVE BECOME
- RELATIVELY INEXPENSIVE THIS OPTION IS PROBABLY UNWISE EXCEPT IN VERY SPECIAL
- CASES. SOME EXAMPLES ARE AS FOLLOWS:
-
- COPY B: TO C: NOFILL RETRY 25
- COPY A: TO B: TRACK 0-5 NOVERIFY
- COPY D: TO A: NOVERIFY NOFILL
-
-
- DISK FORMATTING AND MAPPING
-
- THE STANDARD IBM FORMAT FOR 8 INCH FLOPPY DISKS IS GIVEN IN THE
- WESTERN DIGITAL DOCUMENTATION FOR THE 1791 DISK CONROLLER CHIP AND IN VARIOUS
- IBM DOCUMENTS. THE USUAL FORMAT IS "SOFT SECTORED". THIS MEANS ESSENTIALLY
- THAT THE TRACK AND SECTOR NUMBERS ARE ACTUALLY WRITTEN ON THE DISK AS DATA
- RATHER THAN BEING DETERMINED BY THE PRESENCE OF PHYSICAL INDICATORS SUCH AS
- HOLES IN THE DISK. FORMATTING A DISK CONSISTS OF WRITING BOTH THE TRACK
- AND SECTOR NUMBERS AS WELL AS CLOCKING INFORMATION FOR THE CONTROLER ON THE
- DISK. IT IS IMPORTANT TO REMEMBER THAT A "BLANK" DISK IS BY NO MEANS REALLY
- BLANK. RATHER IT CONTAINS A GREAT DEAL OF FORMATTING INFORMATION WITHOUT
- WHICH THE CONTROLER IS TOTALLY UNABLE TO READ IT.
- BECAUSE OF THIS "SOFT SECTORING" IT IS SOMETIMES POSSIBLE AND OFTEN
- USEFUL TO CHANGE THE FORMAT TO ALLOW INCREASED AMOUNTS OF DATA TO BE WRITTEN
- ON THE DISK OR HIGHER SPEED OF OPERATION. THERE ARE TWO POSSIBLE CHANGES
- THAT ARE USEFUL, CHANGING THE SIZE OF THE SECTORS OR CHANGING THEIR ORDERING.
- THIS VERSION OF DFOCO SUPPORTS THREE DIFFERENT SECTOR SIZES USING
- THE "IBM" SOFT SECTOR FORMAT. SECTORS MAY BE FORMATED WITH THE NORMAL
- 26 SECTORS OF 128 BYTES OR WITH 16 SECTORS OF 256 BYTES OR 8 SECTORS OF
- 512 BYTES EACH. USING 256 OR 512 BYTE SECTORS ALLOWS APPROXIMATELY
- 20% MORE DATA TO BE WRITTEN ON A SINGLE DISK, HOWEVER THERE ARE AT PRESENT
- FEW PROGRAMS WHICH WILL SUPPORT THE USE OF LARGER SECTORS.
- DFOCO ALSO SUPPORTS A WIDE VARIETY OF SECTOR ORDERINGS.
- THE DESIGN OF CP/M DATES FROM A TIME WHEN DISK CONTROLLERS WERE
- QUITE SLOW AND COMPUTER MEMORIES SMALL AND VERY COSTLY. SMALL MEMORIES
- DICTATED SMALL SECTOR SIZES ON DISKS SINCE THE LARGER THE SECTORS THE LARGER
- THE MEMORY BUFFERS REQUIRED. SLOW CONTROLERS MEANT THAT HAVING READ A SECTOR
- FROM THE DISK IT WAS NECESSARY TO WAIT BEFORE ANOTHER SECTOR COULD BE READ.
- DELAYS OF 5 SECTOR TIMES (ABOUT 25 MSEC) WERE COMMON. THUS CP/M IS SET UP
- TO READ EVERY 6TH SECTOR AROUND THE DISK. THIS STRATEGY UNFORTUNATELY IS
- FAR FROM OPTIMAL FOR PRESENT DAY CONTROLLERS WHICH CAN READ CONSECUTIVE
- SECTORS FROM A DISK WITH EASE. NOTE THAT DFOCO WHICH READS AN ENTIRE TRACK
- IN A SINGLE DISK REVOLUTION IS OVER 5 TIMES AS FAST AS PIP. UNFORTUNATELY
- CP/M STANDARD SYSTEM PROGRAMS SUCH AS PIP AND THE ASSEMBLER CAN ONLY BE
- SPEEDED UP A SMALL AMOUNT, ABOUT 20 PER CENT, BY CHANGING DISK FORMATS ALONE.
- HOWEVER, NEW PROGRAMS WRITTEN TO TAKE ADVANTAGE OF FASTER CONTROLERS CAN
- BE SPEEDED UP A GREAT DEAL MORE.
-
-
- MAPPING DISK FORMATS
-
- WHEN EXPERIMENTING WITH NONSTANDARD FORMATS IT IS OFTEN VERY USEFUL
- TO BE ABLE TO READ AND DISPLAY THE ACTUAL DISK FORMAT. YOU CAN'T NECECESSARILY
- TELL WHATS ON A DISK BY LOOKING AT THE LABEL. THE MAP COMMAND READS THE FORMAT
- FROM A SINGLE TRACK ON A SPECIFIED DISK AND DISPLAYS IT. THERE ARE 26 SECTORS
- PER TRACK IN THE STANDARD IBM FORMAT WHICH ARE NUMBERED IN SEQUENTIAL ORDER.
- TO DISPLAY THE SECTOR ORDERING TYPE:
-
- MAP (DEFAULT IS TRACK 0 DRIVE A:)
- MAP C: TRACK 76
-
- THE PROGRAM WILL READ THE SPECIFIED TRACK AND DISPLAY THE PHYSICAL TO
- LOGICAL SECTOR MAPPING. THE PHYSICAL SECTORS STARTING FROM THE SINGLE INDEX
- HOLE IN THE DISK ARE SIMPLY NUMBERED 1 THRU 26. THE CORRESPONDING LOGICAL
- SECTORS ACTUALLY WRITTEN ON THE DISK ARE DISPLAYED BESIDE THE PHYSICAL SECTOR
- NUMBER. FOR DISKS FORMATTED WITH LESS THAN 26 SECTORS, THE UNUSED LOGICAL
- SECTOR NUMBERS DISPLAY AS A '-'.
- OCCASIONALLY DFOCO WILL DISPLAY OBVIOUSLY INCORRECT MAPPING DATA, FOR
- EXAMPLE TRACK 404 SECTOR NUMBER 201. THIS MEANS THE FORMAT ON THE DISK IS
- INCORRECT. THE DISK CONTROLLER WILL OFTEN READ THESE DISKS CORRECTLY
- BUT IT IS USUALLY A GOOD IDEA TO COPY THE DATA TO A CORRECTLY FORMATTED DISK.
- FORMATTING PROBLEMS OF THIS TYPE OFTEN SHOW UP WHEN YOU ATTEMPT TO READ
- DISKS PRODUCED ON ANOTHER COMPUTER SYSTEM. IF THE HEAD ALLIGNMENT IF ONLY
- SLIGHTLY DIFFERENT FROM YOURS YOU MAY GET MAPPING ERRORS EVEN THOUGH YOU ARE
- USUALLY ABLE TO READ THE DATA CORRECTLY.
-
-
- FORMATTING DISKS
-
-
- DFOCO PERMITS FORMATTING DISKS ON ANY DRIVE SUPPORTED BY CP/M. EITHER
- THE ENTIRE DISK OR SPECIFIED TRACKS MAY BE FORMATTED. IT IS EVEN POSSIBLE
- TO WRITE DIFFERENT FORMATS ON DIFFERENT TRACKS OF THE SAME DISK.
-
- STANDARD FORMAT
-
-
- TO WRITE THE STANDARD IBM FORMAT ON A DISK TYPE
-
- FORMAT (DEFAULT IS DRIVE A)
- FORMAT B:
- FORMAT C: TRACK 20-40
-
- THE PROGRAM WILL HALT AND THEN RESPOND WITH:
-
- STANDARD IBM 3740 FORMAT
-
- INSERT DISK TO BE FORMATTED IN DRIVE A
- TYPE CARRIAGE RETURN
-
- NON STANDARD FORMATS MAY HAVE ALMOST ANY FORM YOU SPECIFY. THE FIRST
- VARIATION IS TO OFFSET THE SAME FORMAT FROM TRACK TO TRACK. THIS IS USEFUL
- TO COMPENSATE FOR THE TIME IT TAKES TO STEP THE HEAD FROM ONE TRACK TO
- ANOTHER AND IS ONE OF THE TECHNIQUES USED IN DFOCO TO INCREASE THE COPY SPEED.
- THE FOLLOWING IS AN EXAMPLE OF TRACK OFFSETTING:
-
- FORMAT B: OFFSET 5
-
- THIS RESULTS IN THE FOLLOWING FORMAT ON THE DISK
-
- TRACK 0 TRACK 1 TRACK 2 ETC.
-
- SECTOR 1 6 11
- SECTOR 2 7 12
- SECTOR 3 8 13
- SECTOR 4 9 14
-
- A SECOND FORMATTING VARIATION IS TO SKEW THE SECTORS BY A CONSTANT
- AMOUNT. THIS CAN BE SPECIFIED AS FOLLOWS.
-
- FORMAT B: SKEW 3
-
- THIS WILL RESULT IN A DISPLAY OF THE PHYSICAL TO LOGICAL SECTOR MAPPING
- AND PERMIT CHANGING THE SPECIFICATIONS BEFORE WRITING THE FORMAT ON THE DISK.
-
- PHYSICAL LOGICAL PHYSICAL LOGICAL
- SECTOR SECTOR SECTOR SECTOR
- 1 1 14 14
- 2 4 15 17
- 3 7 16 20
- 4 10 17 23
- 5 13 18 26
- 6 16 19 3
- 7 19 20 6
- 8 22 21 9
- 9 25 22 12
- 10 2 23 15
- 11 5 24 18
- 12 8 25 21
- 13 11 26 24
-
- TYPE RETURN TO FORMAT, SECTOR NO TO CORRECT
-
- TYPING A SECTOR NUMBER ALLOWS THE LOGICAL SECTOR NUMBER TO BE CHANGED.
- BEFORE USING A SECTOR NUMBER IT MUST BE FIRST SET TO ZERO SINCE THE PROGRAM
- CHECKS AND DOES NOT PERMIT TWO SECTORS WITH THE SAME NUMBER. THE SECTOR MAPPING
- IS REDISPLAYED FOR VERIFICATION AFTER EACH CHANGE.
- THE FINAL FORMATTING OPTION IS SIMPLY TO TYPE IN THE PHYSICAL TO LOGICAL
- SECTOR MAPPING FOR EACH SECTOR. TO SELECT THIS OPTION TYPE:
-
- SPECIAL FORMAT A:
-
- THE PROGRAM WILL RESPOND BY DISPLAYING EACH PHYSICAL SECTOR NUMBER
- AND WAITING FOR THE CORRESPONDING LOGICAL SECTOR NUMBER TO BE ENTERED. AGAIN
- THE PROGRAM CHECKS THE SECTOR NUMBERS AS ENTERED AND WILL NOT ALLOW THE SAME
- SECTOR NUMBER TO BE USED TWICE.
- NOTE THAT THE VARIOUS OPTIONS MAY BE COMBINED IF DESIRED.
-
-
- SPECIAL FORMAT B: TRACK 0-1
- FORMAT C: OFFSET 6 SKEW 3 TRACK 10-76
-
- IT IS EVEN POSSIBLE TO COPY THE FORMAT FROM ONE DISK TO ANOTHER
-
- COPY FORMAT A: TO B:
- COPY FORMAT B: TO D: TRACK 10
-
-
-
- FORMATTING WITH DIFFERENT SIZE SECTORS
-
- THE DEFAULT SECTOR SIZE GENERATED BY DFOCO IS 128 BYTES, HOWEVER THE
- PROGRAM WILL ALSO FORMAT TRACKS WITH 16 SECTORS OF 256 BYTES OR 8 SECTORS OF
- 512 BYTES. THE SECTOR SIZE IS SPECIFIED BY THE SIZE PARAMETER.
-
- FORMAT B: SIZE 512
- SPECIAL FORMAT A: SIZE 256
- FORMAT C: OFFSET 2 SIZE 512
-
- CAUTION MUST BE USED WITH THE SPECIAL FORMAT OPTION SINCE DFOCO WILL
- ALLOW SECTOR NUMBERS GREATER THAN THE NUMBER OF SECTORS ON A TRACK. THE
- 1791 WILL ACTUALLY READ SECTORS NUMBERED IN THIS FASHION. FOR EXAMPLE
- A TRACK MAY BE FORMATTED WITH 8 512 BYTE SECTORS NUMBERED 11 THRU 18, HOWEVER
- DISKS WRITTEN IN THIS FASHION MAY NOT VALIDATE CORRECTLY. IT IS ALSO POSSIBLE
- TO FORMAT A DISK WITH DIFFERENT SIZE SECTORS ON DIFFERENT TRACKS. AGAIN, DISKS
- WRITTEN IN THIS FASHION MAY NOT VALIDATE CORRECTLY.
- REGARDLESS OF THE SECTOR SIZE AND MAPPING CHOSEN, TRACK 0 OF THE
- DISK IS ALWAYS WRITTEN IN THE STANDARD IBM 3740 FORMAT. THIS IS DONE TO
- FACILITATE IDENTIFICATION OF THE DISK FORMAT BY A PROGRAM. READ AND WRITE
- OPERATIONS TO A DISK MAY ACTUALLY BE IMPOSSIBLE AND "HANG" THE CONTROLLER
- IF THE PROGRAM EXPECTS A FORMAT THAT IS NOT PRESENT. THIS IS ESPECIALLY
- TRUE IF THE INCORRECT DENSITY IS SELECTED.
-
-
- PROGRAM TIMING
-
- THE FOLLOWING TIMING FIGURES ARE TYPICAL OF A 64K SYSTEM AND WILL BE
- SLIGHTLY HIGHER FOR SMALLER SYSTEMS. THE COPY TIMINGS VARY WITH DISK FORMATS.
- IF THE FORMAT IS NON STANDARD BUT THE SAME ON BOTH DISKS THE TIMES ARE THE
- SAME AS FOR STANDARD FORMATS BUT IF THE SECTOR FORMATS ARE DIFFERENT ON THE
- TWO DISKS THE COPY TIMES WILL BE INCREASED. THE FOLLOWING TIMINGS ARE FOR
- SINGLE DENSITY ONLY.
-
-
- VALIDATING 17 SEC
- FORMATTING 43 SEC (INCLUDES VALIDATION)
-
- COPY SAME FORMAT 46 SEC
- COPY DIFFERENT FORMAT 90 SEC AVERAGE
- 300 SEC WORST CASE
-
- IF THE FORMAT IS DIFFERENT ON DIFFERENT TRACKS OF A DISK IT MAY BE
- POSSIBLE TO INCREASE COPY SPEED WITH THE USING OPTION. SINCE A WRITE OPERATION
- TAKES TWICE AS LONG AS A READ OPERATION THE PROGRAM CAN OPTIMIZE THE COPY
- BY READING THE TRACK FORMAT FROM THE DESTINATION DISK AND USING IT TO
- CONTROL READING AND WRITING. A SAMPLE COPY WITH THIS OPTION IS
-
- COPY A: TO B: USING 3
-
- THIS CAUSES TRACK 3 TO BE READ FROM THE DESTINATION DISK AND USED TO
- CONTROL THE COPY OPERATION. THIS CAN OFTEN DOUBLE THE COPY SPEED IF THE FORMATS
- ARE DIFFERENT ON THE TWO DISKS.
-
-
- * * * * * * * DOUBLE DENSITY OPERATIONS * * * * * * *
-
-
- WITH A FEW EXCEPTIONS THE SAME OPERATIONS ARE AVAILABLE DOUBLE
- DENSITY AS ARE AVAILABLE SINGLE DENSITY. DOUBLE DENSITY MAY BE SELECTED EITHER
- BY ADDING A D TO THE DESIRED COMMAND OR BY PLACING THE CODE DD ANYWHERE
- ON THE COMMAND LINE. SOME EXAMPLES:
-
- DVALID B:
- VALID A: SIZE 512 DD
-
- DCOPY A: TO B: SIZE 256
- DCOPY
- COPY B: TO D: DD SIZE 512
-
- DFORMAT
- DFORMAT B: SIZE 512
- FORMAT C: SIZE 256 DD
-
- THE FOLLOWING EXCEPTIONS SHOULD BE NOTED. THE MAPPING FUNCTION
- IS NOT AVAILABLE DOUBLE DENSITY. IT IS DIFFICULT TO DO AN ACCURATE
- TRACK READ OF THE FORMAT ON A DOUBLE DENSITY DISK DUE TO THE FORMAT USED.
- EVEN WHERE NOT SPECIFICALLY PROHIBITED, IT IS RECOMMENDED THAT OPERATIONS
- REQUIRING TRACK READ SUCH AS COPY FORMAT OR COPY USING NOT BE ATTEMPED.
- PROBLEMS IN READING THE FORMAT FROM DISKS MAY CAUSE UNPREDICTABLE RESULTS.
- THE SPECIAL FORMAT FUNCTION IS NOT AVAILABLE DOUBLE DENSITY.
- THE STANDARD FORMATS PROVIDED BY THE PROGRAM DOUBLE DENSITY ARE AS FOLLOWS:
-
- 128 BYTE SECTORS -
-
- TRACK 0 STANDARD 3740 FORMAT SINGLE DENSITY. TRACKS 1-76 HAVE 51
- SECTORS WRITTEN IN A 6 TO 1 INTERLACE PATTERN FOR USE WITH CP/M VERS 1.4.
- THE SECTOR ORDER IS AS FILLOWS:
-
- 1,18,35,10,27,44,2,19,36,11,28,45,3,20,37,12,29,46,4,21,38,13,30,47,5,
- 22,39,14,31,48,6,23,40,15,32,49,7,24,41,16,33,50,8,25,42,17,34,51,9,26,43
-
- ONE ADDITIONAL FEATURE IS PROVIDED FOR USE WITH CP/M. THE LAST BYTE
- OF DATA ON TRACK ZERO SECTOR ONE IS WRITTEN WITH A SPECIAL FLAG BYTE TO
- INDICATE THE FORMAT OF THE REST OF THE DISK. THE CODES ARE
-
- E5 SINGLE DENSITY (E5 IS THE STANDARD FILL CHAR)
- DD DOUBLE DENSITY 51 SECTORS PER TRACK
- 4D "QUAD" DOUBLE DENSITY DOUBLE SIDED DISK
- TO INSERT THE "QUAD" CODE INTO SECTOR ONE OF A 128 BYTE SECTOR DISK
- THE FOLLOWING EXAMPLES MAY BE USED:
-
- DFORMAT C: QUAD
- DFORMAT A: QUAD
-
- 256 BYTE SECTORS -
-
- DOUBLE DENSITY DISKS FORMATTED WITH 256 BYTE SECTORS ARE IN STANDARD
- IBM FORMAT. 26 SECTORS OF 256 BYTES. TRACK ZERO IS SINGLE DENSITY 3740 FORMAT.
- THERE IS NO FLAG BYTE IN SECTOR 1 OF TRACK ZERO
-
- 512 BYTE SECTORS -
-
- DOUBLE DENSITY DISKS FORMATTED WITH 512 BYTE SECTORS HAVE 16 SECTORS
- PER TRACK. TRACK ZERO IS STANDARD 3740 FORMAT. NO FLAG BYTE ON TRACK ZERO
-
- THE OFFSET AND SKEW FUNCTIONS WORK AS BEFORE ALTHOUGH THE EFFECT OF
- FURTHER SKEWING THE ALREADY INTERLACED 128 BYTE PATTERN MAY BE CONFUSING.
-
- COPYING DISKS DOUBLE DENSITY IS ALMOST EXACTLY THE SAME AS COPYING
- THEM SINGLE DENSITY. TWO SIMPLE RULES MUST BE OBSERVED.
-
- 1. BOTH DISKS MUST BE OF THE SAME DENSITY.
- 2. BOTH DISKS MUST HAVE THE SAME SECTOR SIZE.
-
- A VIOLATION OF THES RULES MAY CAUSE THE CONTROLLER TO "HANG" REQUIRING THE
- COMPUTER TO BE RESET TO RECOVER.
-
- IT WILL BE NOTED THAT COPY OPERATIONS ON DOUBLE DENSITY DISKS HAVING
- 51 SECTORS IS MUCH SLOWER THAN OTHER COPY OPERATIONS. THIS IS BECAUSE THE
- SECTORS ON THESE DISKS ARE WRITTEN SO CLOSE TOGETHER THAT THE 1791 CONTROLLER
- DOES NOT HAVE TIME TO WRITE CONSECUTIVE SECTORS ALTHOUGH IT IS ABLE TO
- READ CONSECUTIVE SECTORS IN THIS FORMAT. COPY OPERATIONS ON DISKS IN THIS
- FORMAT READ AND WRITE EVERY OTHER SECTOR THUS REQUIRING TWICE AS MANY DISK
- REVOLUTIONS AND TWICE THE TIME.
- DOUBLE SIDED OR "QUAD" DISKS ARE NOT AUTOMATICALLY COPIED BY DFOCO
- IN A SINGLE OPERATION BUT REQUIRE TWO COPY OPERATIONS. TO COPY A "QUAD"
- DISK YOU MIGHT TYPE:
-
- DCOPY A: TO C: (COPY THE FRONT SIDE)
- DCOPY B: TO D: (COPY THE BACK SIDE)
-
- A SINGLE "QUAD" COPY OPERATION WILL BE ADDED TO DFOCO LATER.
-
- Known bugs:
- DFOCO WON'T COPY ON A SINGLE DISK SYSTEM. IT ALSO DOESN'T
- COPY TRACK ZERO CORRECTLY IF THE DISK IS FORMATTED IN OTHER
- THAN 128 BYTE SECTORS. MANY SECTIONS WERE JUST COPIED FROM THE
- OLD FOCO AND HAVEN'T EVEN BEEN TRIED NEVER MIND DEBUGGED.
- I JUST FIXED THE PARTS I ACTUALLY USE MYSELF NOW AND
- DISTRIBUTED IT TO OTHERS WHO MIGHT LIKE TO USE THOSE FEATURES.
- STRAIGHT FORMAT COPY AND VALIDATE WORK FOR THREE SECTOR SIZES
- WITH THE EXCEPTIONS NOTED ABOVE.
-