523 lines
20 KiB
Plaintext
523 lines
20 KiB
Plaintext
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> #: |