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                <WP>                    10
Drive Error (Read or Write)        <IO>                    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...
