32


#32 : 081 CIA/THE LINQUIST




     <=-=*=------------------=*=-=>
     |     The  C.I.A  Files     |
     <=-=*=------------------=*=-=>
         |    The Linguist    |
        <=-=*=------------=*=-=>
        |     Instructions     |
        <=-=*=------------=*=-=>
          |      Part A      |
          <=-=*=--------=*=-=>

<=-=*=---------------------------=*=-=>
| Written by                          |
|         The Camel Jockey            |
|                          Wareforce..|
<=-=*=---------------------------=*=-=>
| Hard Copy from                      |
|                   The Arson         |
<=-=*=---------------------------=*=-=>
|                                     |
|      This file was written for      |
|                                     |
|           Gremlin's Lair            |
|           3 Rana Elite 3's          |
|           [201] 536-7794            |
|                                     |
|           Dragon Quest              |
|           10 Megs.                  |
|           [503] 292-6560            |
|                                     |
|           Abdul's Oasis             |
|           10 Megs.                  |
|           [619] 341-2984            |
|                                     |
|           Thieves Guild             |
|           2 Dr.                     |
|           [904] 683-0247            |
|                                     |
|           Pirate's Chip             |
|           10 Megs.                  |
|           [206] 734-7468            |
|                                     |
<=-=*=---------------------------=*=-=>
|                                     |
|     All sysops may use these docs   |
| for their own BBS but they may not  |
| change any of the credits in any way|
| or add to them....                  |
|                                     |
<=-=*=---------------------------=*=-=>
|              Overview               |
<=-=*=---------------------------=*=-=>
|                                     |
|     The Linguist allows you to do a |
| raw nibble dump of an entire track, |
| examine the data at your leisure,   |
| and then carry out a sector by      |
| sector translation of the raw disk  |
| nibbles into code in the form that  |
| your machine normally deals wih.  In|
| other words, the Linguist will      |
| transform all 3 of the encoding     |
| formats used on Apple disks (6&2,   |
| 5&3, and 4&4) into a recognizable   |
| and executable form.                |
|                                     |
|     The immediate importance of all |
| this is that after this is, that    |
| after dumping a track of raw nibbles|
| and translating them into ordinary  |
| hex, you can immediatly jump back to|
| Tricky Dick and display this code as|
| an Applesoft, Integer, or assembly  |
| listing.  Of course, Tricky Dick is |
| also no slouch at translating.  But |
| where a disk has too badly          |
| clobbered, too heavily protected,   |
| made sectorless, encoded in 4&4 - or|
| simply requires a raw nibble        |
| examinaton to establish the         |
| formatting - old Tricky is just not |
| up to the job.  That's when the     |
| Linguist springs into action at the |
| touch of a CTRL E to help out.      |
|                                     |
<=-=*=---------------------------=*=-=>
|     How to Instuct The Linguist     |
<=-=*=---------------------------=*=-=>
|   The Linguist Needs Tricky Dick    |
<=-=*=---------------------------=*=-=>
|                                     |
|     Tricky Disk and The Linguist    |
| have what you might call a permanent|
| intimate relationship.  That is, The|
| Linguist will not work properly     |
| unless Tricky dick is also present  |
| in memory.  This is because the     |
| program uses some of Trick Dick's   |
| internal routines in orger to both  |
| conserve RAM and to maintain an     |
| efficient interface with the user.  |
| So if you try to run The Linguist   |
| alone, you'll get some rather       |
| strange effects.                    |
|                                     |
|     Once Tricky Dick is in memory,  |
| hit CTRL C to BLOAD The Linguist.   |
| It loads in at $8000 in memory and  |
| can be accessed at any time from    |
| Tricky Dick.                        |
|                                     |
<=-=*=---------------------------=*=-=>
|    Getting From One to the Other    |
|             [^C  ^E]                |
<=-=*=---------------------------=*=-=>
|                                     |
|     When the Linguist is in memory, |
| you can jump to it at any time from |
| Tricky Dick by pressing CTRL E.     |
| When you first enter The Linguist,  |
| the disk arm recalibrates and emits |
| that grating machine-gun rattle we  |
| have all come to knw and hate.  The |
| sound effects notwithstanding, you  |
| can always get back to Tricky Dick  |
| by typing CTRL C.                   |
|                                     |
<=-=*=---------------------------=*=-=>
|           The Help Screen           |
|               [/ or ?]              |
<=-=*=---------------------------=*=-=>
|                                     |
|     If you happen to need a brief   |
| reminder about any of The Linguist's|
| commands, just hit the '/' key to   |
| display the help screen.  This      |
| brings up a list of instructions,   |
| together with their accompanying    |
| keystrokes.  A '^' before a letter  |
| indicates a CTRL key must be pressed|
| at the same ime as the letter.  You |
| can call up the help screens at any |
| time.                               |
|                                     |
<=-=*=---------------------------=*=-=>
|     The Linguist's Data Display     |
<=-=*=---------------------------=*=-=>
|                                     |
|     Hitting the space bar gets you  |
| from The Linguist's introductory or |
| help screen to the to the data      |
| display; several of the Linguist's  |
| commands also automatically do the  |
| same.  This screen shows you one    |
| memory page (256 bytes) of code in  |
| the data buffer, which starts at    |
| $4000 and ends at $7FFF in RAM.     |
| The 4-digit hex addresses on the far|
| left of the screencorrespond exactly|
| to memory locations in te buffer.   |
| This allow you to calculate the     |
| buffer locations of any block of    |
| code by simply counting up.  For    |
| example, the positions of th tenth  |
| byte in row $4000 would be $400A.   |
|                                     |
<=-=*=---------------------------=*=-=>
|          Entering Commands          |
<=-=*=---------------------------=*=-=>
|                                     |
|     The "ALL COMMANDS" message at   |
| the botton of the screen promptsyou |
| enter the instructions you want the |
| Linguist to carry out.  Each command|
| is echoed on te right of the '?'.   |
| An incorrect entry is signalled by a|
| brief "ping".                       |
|                                     |
<=-=*=---------------------------=*=-=>
|           Track Selector            |
|              [< ; >]                |
<=-=*=---------------------------=*=-=>
|                                     |
|     You can decrement or increment  |
| the track number (which appears     |
| after 'T=') a half track at a time  |
| by hitting the '<' and '>' keys     |
| respectively.  The track numbers    |
| progress up to $7f, at which point  |
| wraparound takes place.  This is to |
| allow the use of The Linguist with  |
| drives capable of reading 80-track  |
| diskettes.  To clock the track      |
| number forward or backward rapidly, |
| hold down one of the two keys and   |
| the REPT key simultaneously.  An    |
| often quicker way to input a track  |
| number is to type ';', followed by  |
| the number of number.  This only    |
| works for whole tracks, but the next|
| adjacent half track can always be   |
| specified by hitting the '<' or '>' |
| keys.                               |
|                                     |
<=-=*=---------------------------=*=-=>
|  Seeting the Disk Arm to Track $00  |
|                [^S]                 |
<=-=*=---------------------------=*=-=>
|                                     |
|     Hitting CTRL S recalibrates the |
| disk arm, pulling it back to track  |
| $00.  It cmes in handy for clocking |
| back the track number rapidly, and  |
| also to give your drive a reference |
| point to find the selected track    |
| (during a rew nibble read your      |
| machine makes no check of the track |
| numbers on te disk to find the      |
| current track).                     |
|                                     |
<=-=*=---------------------------=*=-=>
|           Reading a Track           |
|                 [^B]                |
<=-=*=---------------------------=*=-=>
|                                     |
|     Hit CTRL B to read the desired  |
| track into The Linguist's buffer.   |
| Be sure to select the correct drive |
| while still in Tricky Dick before   |
| jumping to the Linguist.  One buffer|
| page of data will appear in te data |
| display area immediately after a    |
| read.  If the introductory or help  |
| screens were up at the time of this |
| command, a switch to the data       |
| display will automatically take     |
| place.                              |
|                                     |
<=-=*=---------------------------=*=-=>

<=-=*=---------------------------=*=-=>
|      Paging through the Buffer      |
|              [<- ->]                |
<=-=*=---------------------------=*=-=>
|                                     |
|     Pressing the right arrow changes|
| the data display to the next page in|
| the buffer.  So if the data from,   |
| say, location $4000 to $40F0 are    |
| displayed, hitting the right arrow  |
| once flips to the data located from |
| $4100 to $41F0.  This can be        |
| continued until you reach the end of|
| the buffer at $7FFF.  In the same   |
| manner, the left arrow pages        |
| backward a page at a time until you |
| get to the beginning of te buffer.  |
| Extremly fast scrolling can be      |
| accomplished by holding down one of |
| the arrows and REPT at the same     |
| time.  The controls are "locked" so |
| that you never accidentally stary   |
| lower than the beginning or higher  |
| than the end of the buffer.         |
|                                     |
<=-=*=---------------------------=*=-=>
| Jumping to the Beginning or the End |
|            of the Buffer            |
|              [^B  ^N]               |
<=-=*=---------------------------=*=-=>
|                                     |
|     You can instantly get back to   |
| the beginning of the buffer at $4000|
| by hitting CTRL B; CTRL N takes you |
| right to the end. (page $7F)        |
|                                     |
<=-=*=---------------------------=*=-=>
|          Cursor Movements           |
|    [I, J, K, M AND ^I, ^J, ^K, ^M]  |
<=-=*=---------------------------=*=-=>
|                                     |
|     I, J, K, and M move the cursor  |
| around the data display just like   |
| they do when used for Applesoft     |
| editing.  When these commands take  |
| the cursor beyond the edge of the   |
| screen, scrolling or wrapping       |
| occurs.  For example, pressing 'K'  |
| when the cursor is at the end of a  |
| row causes it to jump to the        |
| beginning of the next row; pressing |
| 'M' when the cursor is on the bottom|
| line of the display causes the      |
| screen to scroll up one line.       |
| Holding down CTRL and hitting any of|
| the 4 keys increases the distance   |
| covered, causing the cursor to jump |
| to the edge of th screen.           |
|                                     |
|     A continuous scroll can be      |
| obtained by moving the cursor to the|
| top or botton of te screen and      |
| pressing REPT together with 'I' and |
| 'M' keys respectively.  This can be |
| continued untill the first or last  |
| of the buffer data appears on the   |
| screen.                             |
|                                     |
<=-=*=---------------------------=*=-=>
|     Decoding the Address Field      |
|            Information              |
|         [Cursor controls]           |
<=-=*=---------------------------=*=-=>
|                                     |
|     At the botton left of your      |
| screen you will find a separate line|
| of data consisting of a 4-digit     |
| address followed by 4 2-digit       |
| numbers.  It displays a translation |
| from 4&4 into normal hex of 8       |
| consecutive disk nibbles starting   |
| with the byte under the cursor.     |
| This enables you to decode the      |
| address field information by placing|
| the cursor on the first byte to the |
| right of 'D5 AA 96' address field   |
| header of any sector.  The data line|
| will display the results in the     |
| following order: the buffer address |
| of the byte under the cursor, the   |
| disk's volume number, the current   |
| track number, the numbr of the      |
| sector whose address field you      |
| examining, and the address field    |
| checksum.  The buffer address is    |
| always a 4-digit number and the     |
| other items are each 2-digits long. |
| All are in hexadecimal and the      |
| sector number represents the        |
| physical sector on he disk. the     |
| meaning and interpretation of this  |
| data will be fully explained in the |
| tutorial which follows the          |
| instruction section.                |
|                                     |
|     Since most disks use 4&4 nibbles|
| in the address field only, the 4&4  |
| translation will usually be         |
| meaningless if the cursor is placed |
| eleswhere among the sector data.    |
| One important exception, however,   |
| occurs when entire files have been  |
| deliberately encoded in the 4&4 mode|
| (as can be found in many current    |
| games).  If you are working with    |
| such a disk, you can decode a string|
| of 8 4&4 nibbles by positioning the |
| cursor over the first byte of any   |
| 4&4 byte-pair.                      |
|                                     |
<=-=*=---------------------------=*=-=>
|      Changing the Decoding Mode     |
|                 [^D]                |
<=-=*=---------------------------=*=-=>
|                                     |
|     To switch between the 6&2, 5&3, |
| and 4&4 decoding modes, hit CTRL D, |
| followed by the number after the    |
| '&'.  For example, if you are       |
| presently in 6&2, you will see a    |
| '<62>' just under the '<-->' at the |
| upper right of the screen.  To      |
| change to, say 5&3, type in a       |
| CTRL D, causing the cursor to leap  |
| up and cover the '6'.  This is your |
| cue to press the '5' key which      |
| automatically changes the display   |
| mode to '5&3'.  If you previously   |
| changed Tricky Dick's  D.O.S.       |
| version to 3.2, the display will    |
| already show '5&3'.                 |
|                                     |
<=-=*=---------------------------=*=-=>
|        Translating a Sector         |
|               [^T]                  |
<=-=*=---------------------------=*=-=>
|                                     |
|     After having selected the       |
| encoding mode, place the cursor over|
| the first byte after the 'D5 AA AD' |
| (on a normal disk) data field header|
| of the sector you want to translate.|
| Then press CTRL T (which evokes a   |
| high pitched squeek), and jumps back|
| into Tricky Dick with a CTRL C.  The|
| sector's raw nibbles will have to be|
| translated into normal hex bytes.   |
| The translation will be in Tricky   |
| Dick's buffer and can be displayed  |
| on the screen in the usual manner by|
| pressing any key.  You can also use |
| the procedure described in Trick    |
| Dick's instructions (Chapter 3) to  |
| get an Applesoft, Integer, or       |
| assembly listing from this code.    |
|                                     |
|     If you are jumping back and     |
| forth between Trick Dick and The    |
| Linguist to translate a series of   |
| sectors in the above manner, you may|
| be hampered somewhat by the         |
| recalibrating each time you press   |
| CTRL E.  A patch to the Linguist    |
| which eliminates this is 8026: 2C   |
| from the monitor.  However, if you  |
| change track number you must let The|
| Linguist recalibrate to get its     |
| bearings.  Do this with CTRL S as   |
| described previously.  To patch back|
| the CTRL E recalibration, type      |
| 8026: 20 from the monitor.          |
|                                     |
|     Remember that if you are        |
| translating 4&4, the disk is likely |
| to be sectorless.  What you get when|
| using this encoding mode is a       |
| translation of 512 consecutive disk |
| nibbles into 256 bytes of normal    |
| hex.                                |
|                                     |
<=-=*=---------------------------=*=-=>
|      Changing the Drive Number      |
<=-=*=---------------------------=*=-=>
|                                     |
|     You probably won't need to do   |
| this often while using The Linguist.|
| If you do, however, you will have to|
| go back to Tricky Dick with a       |
| CTRL C, change the drive number from|
| there, and then jump to The Linguist|
| with CTRL E.                        |
|                                     |
|     The other Tricky Dick parms such|
| as the sector number,  D.O.S.       |
| version, and sector marks are not   |
| relevent to the operation of The    |
| Linguist.  This is because The      |
| Linguist reads in an entire track at|
| a time and completely ignores the   |
| disk's formatting.                  |
|                                     |
<=-=*=---------------------------=*=-=>
| Getting Hard Copy from The Linguist |
<=-=*=---------------------------=*=-=>
|                                     |
|     Although no printer dump        |
| subroutine has been included in The |
| Linguist, it's easy to get hard copy|
| of a given section of the buffer.   |
| First make a note of the beginning  |
| and ending addresses on The         |
| Linguist's hex display of the block |
| of data you want to print.  Then get|
| into BASIC by hitting RESET once or |
| CTRL C twice and turn on your       |
| printer card.  Finally enter the    |
| monitor with CALL-151, type         |
| <first address>.<second address>    |
| (e.g., 4000.4010), and your printer |
| will start churning out the copy.   |
|                                     |
<=-=*=---------------------------=*=-=>
|                                     |
|     This a Wareforce docfile...     |
| Look for the next chapter in the    |
| C.I.A. series...                    |
|                                     |
|       The Linguist  (Part B)        |
|                                     |
|     Well that is it I hope you enjoy|
| it...                               |
|                                     |
|                   The Camel Jockey  |
|                                     |
|                   (:> Wareforce <:) |
|                                     |
<=-=*=---------------------------=*=-=>

<=-=*=---------------------------=*=-=>
|  Call these BBS's                   |
|                                     |
|    Gremlin's Lair    [201] 536-7794 |
|   Pirates of P.S.    [206] 783-9798 |
|      I.C's Socket    [213] 541-5607 |
|        Golden Key    [214] 263-9017 |
|    The South Pole    [312] 677-7140 |
|       The Outpost    [312] 441-6957 |
|  Tamerlane's Keep    [408] 688-9629 |
|Relm of the Rogues    [415] 941-1990 |
|      Dragon Quest    [503] 292-6560 |
|              Dune    [503] 297-7413 |
|              Rome    [503] 636-6718 |
|       Thieves Den    [512] 441-9429 |
|         The Curse    [612] 920-3576 |
|     The Safehouse    [612] 724-7066 |
|     Abdul's Oasis    [619] 341-2984 |
|          The Cove    [619] 920-3576 |
|       Apple Manor    [716] 654-7663 |
|    Temple of Doom    [805] 682-5148 |
|                                     |
<=-=*=---------------------------=*=-=>


[15]  #36  Library #8

<1-58/Last-32> <?/Q/A/+/-/P> #: 