REAPER A. TRACK DISPLAY This section contains the status of each track being copied or examined. Currently selected track is shown with green dots in each corner of its status area. The currently selected track may be changed by clicking with the left mouse button on the desired track. This is also the way you may selectively enable or disable individual tracks from the copy process. To enable/disable a track, click on the track until it shows either solid blue (disabled), or empty (enabled). If there is only one type of error on the track, the status will be shown in yellow. If previous analyzations contained errors, and the final analyzation produced no errors, the "OK" status will also be shown in yellow just to alert you of extra analyzations required on that track. If there are multiple errors on the track, the most severe will be shown, and will be in red. You may see why a track was shown in red by selecting the track you wish to view, and then selecting Display Analysis from the Display Select section. Status Codes (in order of severity): Always Red ~~~~~~~~~~ R Read error W Write error V Verify error Red - Multiple error codes, Yellow - Single error code ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ L Long track X Sync error (doesn't match Sync Value set) G Gap not found (or too many found) B Sectors found not 11 (normal AmigaDOS) S Sector number in sector headers incorrect T Track number in sector headers incorrect H Header checksum in sector header incorrect D Data checksum in sector headers incorrect o- or -o Okay status (green, yellow if previous errors) Note: Actual number of sectors found is compared to number of "correct" values for S,T,H,D status checks. B. COPY DoIt (disk-arrow-disk) This button will attempt to copy the diskette. Source only selected: Perform a checkdisk. ~~~~~~~~~~~ This is mainly useful for single drive users who may want to analyze a disk before committing to actually copying the disk, along with possibly needing to swap disks. Destination only selected: Perform a write test. ~~~~~~~~~~~~~~~~ This will tell you how much data can be stored on each drive. Most drives store around 12000 (0x2ee0) to 12600 (0x3138) bytes of data depending on the speed of the drive. Your drives should fall somewhere in this range, if too close to, or outside of either, you may want to have your drive speed adjusted. If you do not know how to do this, see Appendix B: Adjusting Drive Speed. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ There are a few options that modify how the copy will be performed. You might want to try the following: Index ON Sync ON Index OFF Sync ON Index ON Sync ON Analyze MANUAL Index ON Sync OFF Analyze MANUAL Index ON Sync OFF Index OFF Sync OFF Source (top numbered 1-4) Select source drive. You may only select drives that are attached to the system, other source buttons will not be selectable. You may only select one source drive. If you click on the currently selected source drive, you will have selected no source drives, and a write test will occur if you click the DoIt button. Destination (bottom numbered 1-4) Select destination drive(s). You may only select drives that are attached to your system, other destination buttons will not be selectable. If you click on the only selected destination drive, you will have selected no destination drives, and a checkdisk will occur if you click the DoIt button. C. TRACKS Alpha (top left) This button selects the start as the one to be adjusted using the track adjust buttons. Clicking twice will set start track to 00. Omega (bottom left) This button selects the end track as the one to be adjusted using the track adjust buttons. Clicking twice will set end track to 79. Start Track (top middle) This window shows the starting track where the copy operation will begin. The start track may be modified directly by clicking in this window and typing in the track number. Stop Track (bottom middle) This window shows the ending track where the copy operation will end. The end track may be modified directly by clicking in this window and typing in the track number. Track Adjust (top/bottom right) These buttons may be used to adjust either the start or end track. The track adjusted may be selected by either the Alpha (start track) or Omega (end track) buttons. Changing track number directly also selects which will be adjusted by track adjust buttons. D. HEADS Head 0 (top) Head 1 (bottom) These buttons select or deselect which will be considered during the copy operation. This way you can make single sided copies. At least one head must be selected, and the program will enforce this by automatically selecting the opposite head if you try to deselect the only head selected. E. COPY SELECT Verify This button toggles write verification. After writing a track, it will be re-read and verified against the track read from the source. Index This button toggles index wait. If index wait is selected, the track will not be read or written until the index mark on the disk is found. Sync This button toggles sync wait. If sync wait is selected, track will not be read until the sync value is recognized on the disk. Default ("D" button) This button sets default values for copying, and cleans the status display. If clicked twice, all values are reset to their beginning configurations. ~~~ Sync Value (window right of "D" button) This window holds the sync value used when sycn wait is selected. You may click in this window, and enter a 4 digit hex value for sync value. If the value is a valid sync value, it is displayed in blue. If it is not a valid sync, it is displayed in red. See Appendix A: Disk Format for more, information about sync values. ~~~~~~~~~~~ ~~~~~~~~~~~ Sync Number (rightmost window) This window holds the number of syncs needed to satisfy certain function requirements. You may click in this window and enter any two digit decimal number. The functions: MIN_SYNC, MAX_SYNC, MIN_ANY, and MAX_ANY use this number for finding sectors on minimum or maximum sync values found in sequence. If "00" is entered, the window will show "any" - this means that the number of syncs is not important. F. TRACK FORMAT MFM format ("MFM" button) Selects MFM format. This will also automatically select 2us bits. 2us bits ("2us" button) Sets data bits to 2us (microseconds). (Normal for MFM format). GCR format ("GCR" button) Select GCR format. This will also automatically select 4us bits. 4us bits ("4us" button) Sets data bits to 4us (microseconds). (Normal for GCR format). See Appendix A: Disk Format for more information. ~~~~~~~~~~~~~~~~~~~~~~~ G. ANALYSIS/ERROR LEVELS Analysis Level (magnifying-glass over disk) Selects depth of analyzation used during copy/checkdisk operation. Auto (automatic) selects deepest analyzation possible, and if one analyzation fails, others will be attempted trying to find the format of the track. Semi (semi-automatic) selects only minimal analyzation, if it fails, it records error conditions, and continues. Man (manual) selects no analyzation, and simply reads and writes based on index wait and sync wait. Error Level Selects depth of error analyzation. Auto (automatic) selects automatic error retry, if analyzations fail, the copy operation will attempt to re-read the source disk, and re-perform analyzations. Semi (semi-automatic) if errors are discovered during analyzation, the track will not be re-read, and the copy operation will simply continue. Man (manual) will pause on errors and allow you to assist in anlayzing the current track. You may then select analyzations to perform, attempting to find one that properly recognizes the track, use the "write" function to write the track, and then click on the DoIt button to continue the copy process with the next track. H. STATUS WINDOW This window is used to inform you of various status conditions, errors, and messages. During the copy operation, it displays memory being used. During analyzations, it may display extra information about sectors that it examines. See Appendix C: Errors and Status Messages for a complete list. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ I. FUNCTION SELECT Analyze (magnifying-glass over disk) This button will perform the analysis or function displayed in the function window. If it is an analysis, the display section will show the reults of the analyzation. Function Window The Function/Analysis window shows the name of the current analysis (green) or function (blue). An analysis will produce an analyzation display and will attempt to find sectors in the currently read track data. A function will not produce an analyzation display, but will perform various operations that may affect future analyzations (for example, by shifting track data). If you click the left mouse button in this window, the Data Display section will show a list of functions and analyses that can be performed, you may then click on one of the displayed names, and it will be placed in the function window for you. This allows you to shortcut the Function Adjust buttons if you wish. Function Adjust These buttons show the previous (left arrow button), and next (right arrow button) function or analysis available. If you have data in the lower display you want preserved, you may change the function display using these buttons as opposed to clicking in the function window. J. DISPLAY SELECT Raw Display ("R" button) This button selects raw MFM display/editing in display window. Data/Disasm Display ("D" button) Clicking the Data/Disasm button toggles between decoded data, and the disassembly displays. Analayze Display ("A" button) This button selects the analysis information display. See Display Window for information pertaining to each display. K. PARAMETER CONTROL Play Parameter ("Triangle") This button will bring up a list of available parameters in the Data Display window. Clicking on a parameter name will highlite it, clicking a second time will execute the parameter. Be sure to have The Reaper in a disk drive if program was run from diskette so that the parameter instructions can be loaded. Record Parameter ("Circle") This button will begin recoding a new parameter. You will be asked for the name of the parameter to record. After performing whatever functions you need to successfully copy the disk you are working on, press Record Parameters again. This will turn off recording and update the parameter file. L. DISPLAY CONTROL Display Control button top to bottom: Top Page-Up Scroll-Up Scroll-Down Page-Down Bottom For each display control, we will describe its function according to what data is currently in the Display Window. Top/Bottom Raw Go to beginning/end of raw data. Data Go to beginning/end of decoded sector data. (double click) Go to beginning/end sector. Disasm Go start/end of sector disassembly. Analysis Go to previous/next page of analyses. Page-Up/Page-Down Raw Previous/next page of raw data. Data Go to previous/next page of decoded sector data, or go to previous/next sector if at beginning/end of sector data. Disasm Go to previous/next page of sector disassembly. Analysis Go to previous/next page of analyses. Scroll-Up/Scroll-Down Raw Scroll raw data down/up ("look" upwards/downwards). Data Scroll decoded sector data down/up. Disasm Scroll sector disassembly down/up. Analysis Scroll analyses down/up. Note: If you press, and hold down the left mouse button on either of the scroll buttons, it will repeat automatically for you. Lower Display Window This section is used for a variety of display purposes. M. RAW DISPLAY The information is displayed in raw MFM format. Sync values, that match Sync Value, are underlined in green. Other valid sync values are underlined in red. Where a potential sector may exist, usually a sync value preceeded by an MFM "AAAA", is marked in orange. This allows you to tell at a glance where possible sync values, and sectors may be located. The status window shows the offset of the raw data from the beginning of the track data read. Editing Raw MFM data: The information in the raw display may be edited simply by clicking with the left mouse button on the data you wish to change. You may then enter the 4 digit hex value to change the data. See FIX_CKSM function regarding correcting sector checksums during raw MFM editing. N. DATA DISPLAY The decoded sector(s) are displayed. An analysis yielding decoded sectors must have been performed prior to this, otherwise, there will be no information to display. The display shows the sector header information at the top of the display, and the decoded sector below. The status window shows which physical sector is being viewed. The beginning of the sector data is marked with a green ">" mark. The end of the sector data is marked with a red ">" mark (data past end is not displayed, data contained in last data line is part of decoded data). The address of the data will be shown on the left of the display. This address is the same as shown in the disassembly display. O. DISASSEMBLY DISPLAY The sector currently shown in the decoded display, is shown disassembled. The addresses shown match those in the decoded display. P. ANALYSIS DISPLAY This will show you an in depth view of track status information. Lets look at each analysis field: Function Name of analysis performed. Score Confidence in analysis results. Secs Number of sectors found. Trklen Analyzed length of track. Gaplen Analyzed length of gap data. Trk Number of matching track values in headers. Sec Number of matching sector values in headers. Gap Number of "gaps" found. Hdrs Correct checksums of header data. Data Correct checksums of data area. Sync? First sync value found by analysis. After performing a number of analyses, you may select an analysis for the WRITE function to use in storing the track by clicking with the left mouse button on its analysis line. The currently selected analysis will be highlighted. FUNCTIONS/ANALYSES NORMAL - Denotes a function. ITALIC - Denotes an analysis - number is a "score" value multiplied by the number of sectors found, and also subtracted for each sector over 11 found. (11 being a "standard" AmigaDOS format.) This can be used as a measure of "confidence" in the results of the-analysis. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ READ Reads currently selected track. Also sets RAW display mode and displays track MFM data. WRITE Writes currently selected track based on selected analysis, or simply writes track as read if no prior analyses. ANALYZE Perform same analyzation or series of analyzations as a copy operation performs. AMIGADOS 100 Find sectors assuming sectors are normal AmigaDOS format. FINDSYNC 100 Attempts to find sectors using Sync Value to find beginning of each sector. ANY_SYNC 80 Attempts to find sectors using ANY valid sync value as sector beginning. MIN_SYNC 120 Attempts to find sectors that have a minimum number of Sync Values not less than Sync Num. MAX_SYNC 120 Attempts to find sectors that have a maximum number of Sync Values not more than Sync Num. MIN_ANY 90 Attempts to find sectors that have a minimum number of any valid sync values not less than Sync Num. MAX_ANY 90 Attempts to find sectors that have a maximum number of any valid sync values not more than Sync Num. SIZE_GAP Set flag for analyses to attempt to find the gap by searching for sector that is not the same size as other sectors. This automatically resets HDR_GAP flag. HDR_GAP Set flag for analyses to attempt to find the gap using the information in each sector header. This automatically resets SIZE_GAP flag. FINDHDRS Toggle flag for analyses to look for shifted sector header information. FIX_SECS 120 Analyses will attempt to line up sectors, by lining up sync values so that all sync values match. FIX_SYNC Function will set all "valid" sync values, to Sync Value. It will also make sure each sector is preceeded by Sync Num Sync Values. FIX_CKSM Toggle flag to force checksum correction when editing data. If flag is set, when a value is changed, the checksum value for the sector the data resides in is recalculated and also changed. RED_ERRS Disable all tracks, except those containing multiple (red) errors. This is a quick and easy way of re-copying just those tracks that caused trouble, to either retry them, or change values (such as Sync Wait, or Index Wait, or Analysis Levels, etc), and try again. YELLERRS Disable all tracks, except those containing single (yellow) errors. BOTHERRS Disable all tracks, except those containing and (red and yellow) errors. UNDOERRS Enable previously disabled (by RED_ERRS, YELLERRS, or BOTHERRS) tracks. SEC_TRK 100 Choose only sectors that contain proper track numbers in sector header information in writing. (Those that contributed to Trk count in analysis field). SEC_SEC 100 Choose only sectors that contain proper sector numbers in sector header information for writing. (Those that contributed to Sec count in analysis field). SEC_HDRS 100 Choose only sectors that contain proper sector header checksums in sector header information for writing. (Those that contributed to Hdrs count in analysis field). SEC_DATA 100 Choose only sectors that contain proper sector data checksums in sector header information for writing. (Those that contributed to Data count in analysis field). SAVE_GAP Toggle flag for WRITE function to attempt to save gap information, as read, otherwise fills gap with null data. SHIFT_<< Shift raw data left one bit position. SHIFT_>> Shift raw data right one bit position. EXITPROG Exit the program. Parameter Only functions ~~~~~~~~~~~~~~~~~~~~~~~~ The following functions are only available by editing the parameter file directly. They will not show up in the Function Window. ABORT Abors current copy attempt. INDEX [ ON | OFF ] Turns index wait on or off. SYNC [ #### | OFF ] Turn Sync on (and set Sync Value to ####), or off. ALVL [ AUTO | SEMI | MAN ] Set analysis level. ELVL [ AUTO | SEMI | MAN ] Set error level. COPYIT Perform "normal" copy routine, as though user had hit DoIt button. STAT "string" Show string in status display (must be < 32 characters). NEXT Skip remainder of parameter commands for this track and continue on to next track. EXEC "program name" Execute an external program. FIND [ SEC n ] {"string" | hex-digits } Attempt to find information in raw track data. Look in sector "n" decoded data if "SEC n" specified. You may either search for string data (string to search for must be contained in quotes), or hex data. Hex data can be up to 8 hex digits long and must be preceeded by "0x" (ie. 0x41). If the data is found, the address may be used in the EDIT function by using the "@" option. EDIT [ SEC n ] [ @ [ + | - ] ] [offs] = {"string" | hex [,hex] } Edit raw track data. Specifying "SEC n" you will change data contained in decoded sector "n." The "@" symbol references the location found by the FIND function. Offset need not be specified following the "@" symbol. You may add or subtract an offset if you wish. The hex data may be two, four, or eight digits (and can be continued using the "," operator if you need to change a lot of data). IF-CONDITIONAL The if-conditional is begun with an open parenthesis, and ended with a close parenthesis. Format: (v?#[,v?#[...]] command [command [...]]) ~~~~~~~ v?# : v = variable; ? = conditional; # = number command : parameter command(s). Variables: (lower-case acceptable for any variable) ~~~~~~~~~~ S Sector numbers in headers okay. T Track numbers in headers okay. B Number of blocks (sectors) found. H Number of header checksums okay. D Number of data checksums okay. Boolean variables: (no conditional - simple truth tests) ~~~~~~~~~~~~~~~~~~ @ FIND offset valid R Read error W Write error V Verify error G Gap error X Sync error L Long track error Conditionals: ~~~~~~~~~~~~~ < Less than > Greater than = Equal Numbers: ~~~~~~~~ 0x# Hexadecimal number (1-4 digits) $# Hexadecimal number (1-4 digits) # decimal number (0-65535) Example if-conditionals: ~~~~~~~~~~~~~~~~~~~~~~~~ (b<11,b>11 index on alvl man read write) If not 11 sectors (blocks), turn index wait on, set analysis level to manual, read, then write track. (G sync off read analyze write) If gap not found, turn sync wait off, read track, perform copy operation analyze, write track. (@,G,L edit sec 2 @=0x47ea edit sec 2 @+0x40=0x47ea write ) If find offset valid, gap valid, and it's a long track, edit sector 2 data, at find, to be hex 0x47EA, edit sector 2 data, at find + 40 hex to be 0x47EA Appendix A: Disk Format The Amiga supports two different encoding formats. The one used in most cases is MFM (Modified Frequency Modulation). The other is GCR (Group Coded Recording). Data Bit Cells Each track contains bits written to the disk as changes in magnetization. A change in magnetization represents a 1 bit, a steady magnetization a 0 bit. The distance between changes (pulses) is expressed as a measure of time, usually microseconds (us). The Amiga checks for pulses every 2 us. If there is no pulse, the bit is off. If there is a pulse, the bit is on. Writing data this way causes a problem. The time of unchanging magnetization cannot be too long, or the disk controller will not be synchronized with the data. This is caused by the drive being a slightly different speed than when the data was originally written. To solve this problem, the data must be encoded such that not to many null (0) bits are consecutive. The controller needs to know where to read data from the disk. The way this is accomplished is by marking the start of data with a bit combination that cannot normally occur. This is another reason data needs to be coded. A special bit combination of this type is called sync marking. The Amiga supports 2 different bit cell sizes. 2us is the normal Amiga format (MFM) and 4us is used by the GCR format. MFM Format This is the standard Amiga disk format. Special "clock" bits are inserted between each dat bit to insure that the controller does not get out of synchronization with the data. This solves the problem discussed earlier with restricting the number of consecutive null bits. The way "clock" bits are set is simple. If an adjacent data bit is set, a reset clock bit is inserted, if the adjacent bits are not set, a set clock bit is inserted. For example - to encode the value $78: Byte: $78 Bits: %01111000 The encoding would be as follows: Data bits: % 0 1 1 1 1 0 0 0 Clock bits: % 1 0 0 0 0 0 1 1 Encoded: %1001010101001010 ^ Note: The first bit depends upon the preceding data bits. ~~~~~~~~~ This form of encoding prevents to many consecutive null bits. It also prevents two or more 1 bits consecutively. This is also important because the controller cannot recognize a change in magnetization that occurs to quickly. Sync Word For synchronization, the disk is searched for a special sync word. This word cannot be in the normal data since the controller would synchronize at the worng location. A combination that cannot be produced by normal encoding must be used. A sequence consisting of a null clock bit between to null data bits is used. Normally a set clock bit would occur between reset data bits. AmigaDOS uses the combination $4489 as a sync word. d d $4489 = %0100010010001001 c After the controller finds this word, it knows data begins here, and read data without error. GCR Format The other format supported by the Amiga controller, is the GCR (Group Code Recording) format. This format occupies less space on disk, but also has a disadvantage. The GCR format specially encodes four data bits into five data bits. After the encoding there are never more than two null bits, or more than eight one bits consecutively. This eliminates the problem of too many null bits. The disadvantage arises in that several one bits can be consecutive. The controller cannot process these rapidly, thus the recording density must be reduced by slowing the record speed to half (from 2us to 4us). The following is the coding table for GCR: Hex. Dec. Binary GCR ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $0 0 0000 01010 $1 1 0001 01011 $2 2 0010 10010 $3 3 0011 10011 $4 4 0100 01110 $5 5 0101 01111 $6 6 0110 10110 $7 7 0111 10111 $8 8 1000 01001 $9 9 1001 11001 $A 10 1010 11010 $B 11 1011 11011 $C 12 1100 01101 $D 13 1101 11101 $E 14 1110 11110 $F 15 1111 10101 For example, $28 = %0010 1000 = 10010 01001 = 1001 0010 01 $9 $2 -- The remaining two bits are excess. Because of this, four byte blocks are encoded to five byte blocks. This makes the encoding and decoding of data much trickier than the MFM format. Synchronizing GCR data is different as well. Since it's impossible to have more than eight 1 bits in sequence, this is what is used. The controller recognizes nine or more 1 bits sequentially as a synchronization marker. Reading starts as soon as a null bit is found after recognizing the sync mark. The first data following the sync mark always begins with a null bit. If this is not the case, the data is shifted by the corresponding number of bits. Data written appears as follows: $FFFF ......FF55 .....Data Sync Sync-End Data bits Format of an Amiga track An Amiga track contains 11 sectors of 512 bytes each. The data is stored in MFM format. There is also information preceeding each sector that allows DOS to know which sector it is examining. The headers and sector data are stored in the following format: MFM Data Information $AAAA $00 $AAAA $00 $4489 - Sync Word (Normal AmigaDOS) $4489 - Sync Word $xxxx $FF *Format I.D. ($FF = AmigaDOS) $xxxx $yyyy $?? *Track Number $yyyy $zzzz $?? *Sector Number $zzzz $xxxx $?? *Number of sectors 'til gap. $xxxx $AAAA(32 words) *Unused area $xxxx(16 words) *Block Checksum (long) $yyyy(16 words) *Data Checksum (long) *The above is the block header information for an AmigaDOS sector, followed by: $zzzz (1024 words) Sector data (512 bytes) ...and then, the next sector... $4489 - Sync Word $4489 - ...etc... The Format Identification indicates that the track is AmigaDOS format (if the Format Identification is $FF). An MS-DOS disk is also coded in MFM format, but uses $FE for sector header, and $FB for data (both preceeded by 3 $4489 syncs). It also has an entirely different track structure. The Track Number contains the track number just read. The Sector Number contains the sector number read. The next byte contains the number of sectors before the gap, including the current sector. Therefore, if the value is one, the gap immediately follows the current sector. This byte is important to AmigaDOS format, for the gap can be at a different location on each track, and can exist after any sector. The next 16 bytes are not used. These were originally to provide recovery information for AmigaDOS in case a sector somehow got damaged. They are now unused. The next 16 bytes contain the Block Checksum and the Data Checksum. This is used by DOS for finding errors on the disk. Both are formed by the coded data and stored in MFM format. Some copy protections rely on the fact that making a checksum incorrect, will cause the disk to become unreadable for DOS, even though the data is still correct. Therefore each sector is made up of a 64 ($40) byte header, and 1,024 ($400) bytes of data. This gives you a block resulting in 1,088 ($440) bytes. On each track there are 11 sectors, and one track gap (of about 696 ($2B8) bytes). This makes a track of about 12,664 ($3178) bytes. Track Gap The track gap is a section which is written to the disk along with the sectors. The gap contains no significant information. While writing data it is important not to overwrite information that just got written. Since the track is circular, a safety gap must exist between the last sector, and the first sector. Another reason for this gap is that there may not exist enough room on the track for a complete sector. The gap is about $2B8 (696) bytes long in the Amiga format. This changes slightly due to speed differences between drive motors. The gap is usually written first, and then all the sectors, this allows the final sector to overwrite part of the gap, rather than important information. Appendix B: Adjusting Drive Speed WARNING: Opening your drive, or adjusting your drive speed may void your warranty. ~~~ First, turn off the computer, and disconnect the drive cables (making sure you remember which goes where, and in what orientation!). In order to adjust your drive speed, you must open the drive case (if it is an external drive), and find the potentiometer used to change the speed. This "pot" usually has a "slot" that looks like you could turn it with a very small screwdriver. It will either appear to be a small circular rod that attaches to a small "box," or it may actually be a small round object attached directly to the drive controller board itself (the controller board that is physically part of the drive). Once you've found the pot, you should reconnect the drive to the computer (without the case), so that you can try the pot, with the drive running. Perform a Write Test using The Reaper. Select only the destination drives you wish to test, and click on the DoIt button. The drive speed will be continuously updated until you either press a mouse button, or a key. This will allow you to see what effect turning the pot has on the drive speed. If you slow down the drive speed, the more data will be written to a track, and the numbers will get larger. If you speed up the drive speed, less data will be written to a track, and the numbers will get smaller. This is one way you may copy a copy protected disk that contains a "long track." This will allow you to write the extra data contained in a long track to the drive. Appendix C: Errors and Status Messages ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Note: Any error condition regarding memory is an internal error and should not occur. If you see one of these errors, please report the error to us, as well as any information that may be helpful regarding what you were attempting when you received the error. ABORTED Copy/CheckDisk aborted. A key was pressed to interrupt the copy or checkdisk process. CHECKDISK DONE CheckDisk operation completed. CHECKDISK... A Check Disk is currently being performed. CHECKSUM EDITING Checksums will be re-calculated and corrected in sectors that are changed due to any data editing. nnnn CHIP nnnn FAST Shows status condition of memory while copying. DEFAULT SETTINGS Copy settings have been set to default copy settings. DON'T CHECKSUM EDITING Checksums will not be corrected in sectors that are edited. ~~~ DONE COPYING Copy operation completed. DRIVE d LENGTH 0xnnnn (nnnnn) Shows write length for drive "d" in hex & decimal. DRIVE NOT AVAILABLE You cannot select a drive that is not hooked to the system. ERROR: DMA Failure reading/writing disk. Possible hardware failure. ERROR: DRIVE NOT READY Drive not responding. Possible hardware failure. ERROR: INDEX Failure while waiting for index mark. ERROR: INTERNAL nn Should not occur. Please contact us with details on how this error occured. ERROR: NO DISK Write failure due to no disk in drive. ERROR: OUT OF MEMORY No memory available for operation. ERROR: SEEK Error while seeking correct track. Possible hardware failure. ERROR: WRITE FAIL Failure writing disk. ERROR: WRITE PROTECT Write failure due to disk being write protected. FIND GAP BY HEADER Analyzing should find gap by using sector header information. FIND GAP BY SIZE Analyzing should find gap by finding sector of differing size. FIND SHIFTED HEADERS Analyzing should attempt to find headers that may be moved. GAP LARGER THAN DATA Analyzed length of track gap larger than the data length of sector containing the gap. This should not be seen, but may under strange circumstances -- This is caused by not being able to figure out the proper track gap length. INSERT DESTINATION DISK Request to swap source with destination disk. INSERT SOURCE DISK Request to swap destination with source disk. MFM: hhhh-hhhh Shows range (in hex) of data displayed in raw format. MUST HAVE 1 SELECTED You must have at least 1 drive selected. NO ANALYSIS FOR CKSUM FIX An analysis must be available to fix sector checksums. NO ANALYSIS FOR TRACK No analysis performed for current track. NO DATA IN SECTOR Small sector that didn't have enough MFM data to decode. NO DATA SECTORS STORED No decoded sector data for current track. NO DESTINATION DRIVES SELECTED RE-SELECT FOR A DISK CHECK You have not selected any destination drives, and if you re-select the DoIt button, a Check Disk will be performed. NO MEM AVAIL FOR SHIFT No memory available to shift to track left or right one bit. NO MEMORY FOR ANALYSIS Memory not available for analysis. NO MEMORY FOR WRITE TEST Memory couldn't be allocated to use for write test. NO SECTORS FOR CKSUMS FIX Decoded sector data must be available to fix sector checksums. NO SOURCE DRIVE SELECTED RE-SELECT FOR WRITE TEST You have not selected a source drive, and if you re-select the DoIt button, a Write Test will be performed. NO TRACK DATA IN MEMORY No MFM data loaded for current track for MFM display. NO WORDS IN SECTOR This is an internal error, and should not occur. NOT SAVING GAP DATA Will not attempt to save original gap data when writing. ~~~ OUT OF MEM - GAP SPLIT Couldn't get memory to recover sector out of gap data. OUT OF SECTOR DATA MEM Ran out of memory to decode a sector. OUT OF SECTOR MEM Couldn't get memory for sector decoding. PARAMETER COPY COMPLETE Copy using a parameter is completed. PARM: NON-NUM IN RANGE A non-numeric value was found in parsing the track range. PARM: READING PARAMETERS An error occured while reading the parameter file. PARM: TRACK RANGE The start of track range was higher than the end of range. PARM: UNKNOWN COMMAND A function/analysis in a parameter definition does not exist. See functions/analysis for list of valid. PHYSICAL LENGTH: 0xnnnn Shows total physical length of track in analysis display. RESET ALL SETTINGS All settings have been reset to initial startup settings. ~~~ SAVING GAP DATA Will attempt to save original gap data when writing. TRACK: nn HEAD: nn SEC: nn Shows current track, head, and sector information for decoded data. WRITE TEST... Signifies a write test in progress. This file + Diagram1.IFF, Diagram2.IFF and Diagram3.IFF will give you the 100 % complete manual for The Reaper! Manual by Endless Sleep of P A R A N O I M I A !