DOCS FOR: TRICKY DICK OVERVIEW OF C.I.A --------------------------------------------------------------------------------- CIA is a collection of utilities which may be used to help deprotect disks and un-crash "crashed" disks. The modules are described below: TRICKY DICK is a disk editor that can be used on both normal and most protected disks. It will read in a sector directly from disk and list the sector's contents to screen or printer in Integer, Applesoft, assembler, hex and ASCII. Tricky Dick can patch and customize your disk, protect your software, and read and alter normal and most protected disks. THE LINGUIST dumps a track of raw nibbles directly from any disk - protected or not. It also decodes address data on the disk and translates raw disk nibbles into hex. The translated nibbles then can be listed by TRICKY DICK in BASIC, assembler and ASCII. This makes it possible to list the programs and textfiles from any disk, normal, damaged or locked. It can be used to look closer at a program, examine disk formatting and recover lost programs no matter how badly the disk is damaged. THE TRACER automatically searches normal and most protected disks sector by sector for any 1-6 strings you specify in ASCII or hex. It will also find the VTOC, catalog sectors, and track/sector lists on normal and protected disks. You can choose any or all of its 9 search options, and they will be carried out simultaneously, scanning an entire disk in 19-135 seconds. When it finds something that you're looking for it jumps back into TRICKY DICK and places a cursor on the item it's found. THE CODE BREAKER makes use of a special table in DOS 3.3 and 3.2 to decrypt the most popular "secret code" used to hide commercial programs from prying eyes. THE TRACKER shadows the disk arm, reporting its every move as DOS LOADS, SAVES, RENAMES, or does anything else to a disk. It leaves a list of every track and sector visited, and every read or write operation carried out during any disk access. THE TRACKER can be used to find out exactly where a disk is crashing, make a permanent record of your files, and learn more about how DOS works. -------------------------------------------------------------------------- THE CIA MODULES TRICKY DICK controls the operations of the other CIA utilities. First, BRUN TRICKY DICK. Then when you need to call upon one of the other utilities, you BLOAD it. A single keystroke transfers control to the utility you BLOAD and enables it to carry out its work. During certain operations, the module will pass data to TRICKY DICK for special processing. For example, when the TRACER finds a string it's looking for, it jumps back to TRICKY DICK, displays the string, and places TRICKY DICK'S cursor on the first character. TRICKY DICK is in charge and you can edit the string and/or other data in the sector where it resides. The only exception to this system is THE TRACKER which works alone. The docs following are for TRICKY DICK only: TRICKY DICK DOCS ---------------- THE DISPLAY Press any key to get out of the display that appears when TRICKY DICK is run. This will bring up the data viewing area, but will leave intact the three lines of parameters at the top of the screen and the command line at the bottom. "ALL COMMANDS" at the lower right of the screen prompts you to enter the instruction you wish TRICKY DICK to execute. Each command is echoed on the right of the ':' to serve of a reminder of your last input. HELP SCREEN (/ or ?): The help screen lists each command. A ^ before a letter means that the CTRL key must be pressed at the same time as the letter. Hit any key to go back to the data display. SELECT DOS VERSION (CTRL D): Toggles between DOS 3.2/3.3 The current version is shown under the word DOS at the top of the display. SLOT, DRIVE AND DEVICE SELECT (CTRL O): Brings the cursor up next to 'SL-'. If your disk controller is in SLOT 6, hit RETURN, if not type the slot #. If a card with P5 and P6 PROMS is present, DOS 3.2 will automatically be brought into play. The cursor will move to 'DR=' -type in the # of the drive which has the disk you wish to work on. After that, press RETURN to go to 'PR='. The default (PR=0) means that printer output is disabled. Enter your printer card's slot # when you are ready to print out some data from Tricky Dick. TRACK AND SECTOR SELECT ( ; < > ): ';' puts the cursor next to 'T='. Select the track # and hit RETURN. The cursor will then go to 'S='. Select the sector # and hit RETURN. A RETURN alone for T or S accepts the value shown. You can increment or decrement the track # shown by hitting < or > (with or without pressing the shift key). Track #'s wrap around after track $22. You can also < and > the sector # and in DOS 3.2 sectors wrap at $0C, with 3.3, they wrap at $0F. However, the ';' command allows you to designate track #s greater than $22 or sector #s greater than $0F/$0C. READING A SECTOR (CTRL R): Press CTRL R to read the sector you've selected into TRICKY DICK'S buffer. The sector data will be displayed in the data viewing area. VOLUME NUMBER: The volume # of the disk you just read will appear under the letters 'VOL'. CURSOR MOVEMENT (I,J,K,M AND ^I,^J^K^M): I, J, K, and M move the cursor around the data display. When the cursor goes beyond the edge of the screen, scrolling or wrap-around occurs. Scrolling can be continued until the first or last line of sector data appears on the screen. Holding down CTRL and hitting any of these 4 keys increases the distance covered, causing the cursor to jump to the edge of the display. EDITING SINGLE BYTES IN THE DISPLAY: Place the cursor over the byte you want to change, and type in the new hex value. Single-digit hex numbers must be entered with a leading 0 i.e. enter 5 as 05. If you type the first digit and change your mind, hit 'J' or 'K' to move the cursor away and cancel the entry. If you want to change the digit, hit the SPACEBAR and start again. DATA ENTRY MODES (CTRL @) (") ('): Just after loading TRICKY DICK, the words "NORMAL HEX" will appear at the lower left of the screen next to the word "DATA". That means that you can enter hex digits and these digits will appear in the data display under the cursor. This allows you to edit the screen display before writing it to disk. Typing " (SHIFT 2) puts you in "high ASCII" mode and causes an inverse "HIGH ASCII" message to appear in the lower left corner of the screen. In this mode, each time you press ANY key, its corresponding ASCII code # with the high bit set will appear under the cursor, and the cursor will advance to the next space. This lets you type alphanumeric characters into the data display without looking up their corresponding high ASCII codes. Before you can issue any other command, you'll need to hit the CTRL SHIFT P (CTRL @). This puts you back into the "NORMAL HEX" mode and allows TRICKY DICK to accept your keyboard commands again. Typing ' (SHIFT 7) will place you in standard, or "low" ASCII mode. Each keypress will leave its normal ASCII under the cursor. To return to normal TRICKY DICK functions, hit CTRL SHIFT P (CTRL @). THE DATA DISPLAY: When you read a sector, the data viewing area shows the first half (the first 128 bytes) of the sector data. On the far right of the screen you will also see an 8 column alphanumeric symbol display. This part of the screen gives an ASCII translation or the hex data. CTRL characters are in inverse and all flashing symbols get changed to normal. To view the second half of the sector, hit either CTRL M or RETURN, bringing the cursor to the bottom of the screen. To scroll throught the remaining data, hold down the M and REPT keys. You can scroll back to the beginning by hitting CTRL-I, followed by pressing I and REPT. Alternatively, hold down the CTRL key and press F, M, and F, in that order. The column of hex #s on the far left which are followed by a ':' tell you what portion of the sector data you're viewing. They are offsets in TRICKY DICK'S data buffer and range from $00 to $FF in 8 byte increments. FLIPPING DATA DISPLAYS (CTRL F): When in the viewing mode, CTRL F will erase the alphanumeric symbols on the right of the screen and display all the data in the last sector read. The cursor will remain over the same byte during the flip. The leftmost column of numbers indicates the buffer offsets, but with the trailing zero omitted to retain clear screen formatting. Press CTRL F again to get back to the partial screen with ASCII and the next 128 bytes of data, starting with the row in the full display where you left your cursor. SECTOR FILLING (CTRL Z, CTRL X): In either of the above 2 displays, CTRL Z replaces the sector data with zeros beginning with the byte over which the cursor is placed, and extending to the right to the end of the sector. CTRL X fills the sector from the cursor to the end with the byte value under the cursor. These commands don't write anything to the disk itself. DISASSEMBLING SECTOR DATA (L): Hitting L disassembles the sector code beginning with the byte under the cursor and continuing until the screen is filled. The middle column of the display gives the ASCII translation of the hex data to its left. Repeatedly pressing the L carries on the disassembly until the end of the sector is reached. After disassembling a screenful of hex, you can return to the previous hex display by hitting the SPACEBAR or some other noncommand key. The cursor will be positioned next to the last byte that was disassembled. LISTING APPLESOFT AND INTEGER CODE (CTRL L) (L): If the sector data contains Applesoft or Integer BASIC code, a listing can also be displayed. Select the language that you want to list by pressing CTRL L then typing an A for Applesoft, an I for Integer or a * for assembler. Finally hit L for a listing which begins with the byte under the cursor. Keep typing L's until you have listed all the code in the sector buffer. WRITING TO THE DISK (CTRL W): CTRL W followed by 'Y' writes the contents of the sector buffer to the sector whose address shown at the top of the screen. WARNING: Be sure that all the information shown on the screen is correct before you write it, if you make a mistake you'll clobber the disk, maybe irreparably. Check to be certain you've selected the correct drive, track and sector #'s and that the data displayed on the screen is the data you want written on the disk. When you press CTRL W you'll hear 6 short tones. Keying in a 'Y' during this sequence writes to the disk and stops the tones. If you press CTRL W by mistake, you can simply elect not to do anything and when the 6 tones cease, the write instruction is automatically cancelled. ERROR MESSAGES: When an error occurs during the operation of TRICKY DICK, a tone is sounded and a flashing error message occurs inside the '<-->' mark in the upper right corner of the screen. Just above, Tricky Dick displays the accompanying DOS error code inside the '<00>'. a subsequent normal read or write operation clears both the error message and its code from the screen. The chart below shows the type of error, its flashing designator, and its DOS code. Type of Error '<-->' designation DOS code Write Protect Error 10 Drive Error (Read or Write) 40 DEALING WITH NON-STANDARD SECTOR MARKS (CTRL S): These are the features that let you read and write to disks whose formatting has been altered. To do this with the least amount of work, use THE LINGUIST to determine the nature and extent of the alterations. Hit CTRL S and the cursor will jump up to first byte of the sector marks. You can move the cursor along this data with the left and right arrows. To replace any digit, position the cursor over it and type in the new digit. The change will appear and the cursor will move to the next symbol. A RETURN gets the cursor back to the data display. In the top line, "D5AA96" is the standard DOS 3.3 address field header and "DEAA" is the address field trailer. If you've changed the DOS version to 3.2 the top line will read "D5AAB5" which is the 3.2 header. The next line "D5AAAD" refers to the data field header and "DEAA" is that field's trailer. IMPORTANT: By replacing one or more of the header or trailer bytes with a '00', you can tell TRICKY DICK to accept any value in that position. For example, 'DE00' in the first line causes the second byte of all address field trailers to be ignored during reading or writing. The third line shows the data field header and trailer (the latter with an added 'EB') once again. The header and trailer you select here will appear in the data field of the next sector you WRITE to the disk. This line is used only for writing and allows you to alter the values in the data field header and trailer of any sector you write to the disk. Finally, by changing the 'Y's' in the DOS mark section to 'N's', you can tell TRICKY DICK to ignore the address field checksum (the first Y) and/or the data field checksum (the second Y). The 'O' just below the 2 'Y's' indicates that TRICKY DICK will always write a sector of data to the disk with a data field checksum of $00. PRINTING HARD COPY FROM TRICKY DICK (CTRL P) (P): Typing CTRL P allows you to select the form in which you wish the sector data in TRICKY DICK'S display to be printed. The cursor will jump to the print select parameter, prompting you to type in one of the following instructions: 'H' for a hex dump with ASCII translations 'A' for an Applesoft listing of the sector code 'I' for an Integer listing '*' for a disassembly The next step is to type CTRL O, followed by 2 RETURNS. This brings the cursor in position next to the 'PR=' for you to key enter the slot # of your printer interface. After making sure that your printer is turned on, type 'P' for the action to begin. If you select the wrong slot, you may find that TRICKY DICK hangs, or that other strange things happen. If you are in the *, A or I modes you'll get a listing from the last cursor position to the end of the sector data. In the 'H' mode, you get a full sector dump irrespective of the cursor position. MODULE CHECK-OUT (SHIFT M): Typing a SHIFT M displays a list of the TRICKY DICK coresident modules, their names and a brief description of their functions. If one of the modules is already in memory, its name will be displayed at the top of the screen just to the right of the inverse 'TRICKY DICK'. If no module is in memory, TRICKY DICK'S version # will be displayed. EXITING TRICKY DICK (RESET OR CTRL C): You can restart TRICKY DICK by typing '&' (or CALL 2051). CTRL Y (or 803G) from the monitor also gets things going again. JUMPING TO A MODULE (CTRL E): To load a module while running TRICKY DICK, type CTRL C followed by BLOAD (name of module). When the drive stops, type '&' and you're ready. When you get back to TRICKY DICK you'll notice the name of the module presently in memory replaces the version # in the banner at the top of the screen. To go into a module you have loaded into memory, type CTRL E and the module's introductory display will appear on the screen. Hit any key and you're ready. If you hit CTRL E with no module in memory, TRICKY DICK will let you know by sounding a rather pleasant tone. When you jump to one of the modules, the words "TRICKY DICK" at the top of the screen get changed from inverse to normal. At the same instant, the module's name switches from normal to inverse. This lets you know at a glance which program you're "in" - it's always the one whose name is in inverse. -------------------------------------------------------------------- THAT'S ALL FOLKS...