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 | | . | | (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> #: