|
|
Line 245: |
Line 245: |
| intervention in a session DeskLink. | | intervention in a session DeskLink. |
| | | |
| About DeskLink
| | == About DeskLink == |
| | | |
| DeskLink (also known as BOOSTER-LINK) is freeware placed in the public | | DeskLink (also known as BOOSTER-LINK) is freeware placed in the public |
Line 315: |
Line 315: |
|
| |
|
| [[TEENY.CO MANUAL]] | | [[TEENY.CO MANUAL]] |
|
| |
| ==Orientation==
| |
|
| |
| File TEENY.CO has an image which is simply called "Teeny" throughout
| |
| this manual. The name Teeny describes the amount of laptop memory that
| |
| is needed to hold the image. For what it does in comparison to similar
| |
| software, the name is appropriate -- the image is teeny! Although the
| |
| Teeny image is internally specific by Tandy laptop Model type, its size
| |
| and its usage are identical for all laptop models. Use of, and
| |
| operational aspects of the Teeny image are thoroughly covered in this
| |
| manual.
| |
|
| |
| Teeny gets used most by folks at the extremes of experience with Tandy
| |
| laptops. Many neophytes use Teeny because it is in the public domain
| |
| and easy to acquire. Many experts use Teeny because its image is so
| |
| very small, and it has certain operational aspects that are not found
| |
| in commercial software. Often a neophyte starts with Teeny, graduates
| |
| to other software, and returns to Teeny usage at the expert stage.
| |
|
| |
| == Invocation Facts ==
| |
|
| |
| The image of Teeny is one contiguous block. Its size is 747. A block
| |
| of 747 adjacent cells, within the HIMEM region of the laptop memory,
| |
| holds the image during a session of its use. In regard to Tandy laptop
| |
| operation, there is nothing abnormal about the image of Teeny -- it's
| |
| quite conventional. If you are an expert, move on to the "Trigger File
| |
| Creation" and "Invocation via Trigger File" sections of this manual
| |
| which may be of some interest.
| |
|
| |
| The laptop menu shows a "Bytes free" quantity. Of the total amount of
| |
| Random Access Memory (RAM) that is equipped in the laptop, "Bytes free"
| |
| is just one portion among several portions. The "Bytes free" portion
| |
| is the amount of RAM that is not (yet) consumed. The amount of RAM
| |
| that is consumed is the total of quantities from all other portions.
| |
| As consumption increases and decreases, the "Bytes free" quantity of
| |
| RAM contracts and expands, respectively. Refer to "About RAM in the
| |
| Model 10x laptops", at the Club 100 site, for complete detail.
| |
|
| |
| Regardless of how the Teeny image is invoked, the HIMEM region of RAM
| |
| is where the action is at during a Teeny session. The image within the
| |
| HIMEM region is what controls the laptop during a Teeny session. When
| |
| or how the image gets placed within the HIMEM region is no longer
| |
| pertinent once a Teeny session is under way. When you end a session of
| |
| Teeny, the Teeny image no longer controls the laptop but it still is
| |
| intact at 747 adjacent cells within the HIMEM region.
| |
|
| |
| From the laptop menu, there are two ways to invoke the Teeny image: via
| |
| its laptop command file named TEENY.CO, or via a trigger file. Both of
| |
| these files have a ".CO file descriptor" and an appended image. The
| |
| .CO file descriptor describes the specific RAM addresses where the
| |
| content of the appended image belongs, as well as where to start
| |
| "execution" for an invocation. The descriptor size is 6, and an image
| |
| content appends it.
| |
|
| |
| * TEENY.CO file -- file size is 753: 6 for the descriptor, and 747 for
| |
| the entire content of the Teeny image. Invocation via TEENY.CO is
| |
| recommended for a neophyte.
| |
| * Trigger file -- file size is 7: 6 for the descriptor, and 1 for its
| |
| content which is a vestige of the Teeny image. The trigger file
| |
| consumes 746 less RAM than file TEENY.CO. Invocation via a trigger
| |
| file is only recommended for experienced folks because of the
| |
| unforgiving nature of trigger files.
| |
|
| |
| Each incarnation of laptop command file TEENY.CO is address-specific --
| |
| each has a specific HIMEM requirement which must be met for successful
| |
| invocation. The trigger file is created from some address-specific
| |
| incarnation of file TEENY.CO, so it has an inherited HIMEM requirement.
| |
| Whenever you attempt an invocation, the laptop inspects the .CO file
| |
| descriptor to identify the HIMEM requirement. Based on the point of
| |
| HIMEM, the laptop either allows or disallows the invocation.
| |
|
| |
| * Where the point of HIMEM indicates that address-specific cells are
| |
| available within the HIMEM region, the laptop "loads" the cells with
| |
| content from the appended image and then it relinquishes control to
| |
| the "execution" cell -- a session of Teeny is under way. For the
| |
| TEENY.CO file, 747 cells are loaded. For the trigger file, only 1
| |
| cell (the execution cell) is loaded and proper operation depends on
| |
| remnant content (image of Teeny) in the adjacent block of 746 cells.
| |
|
| |
| * Where the point of HIMEM is "too high", the laptop disallows an
| |
| invocation because the HIMEM requirement is not met. All cells in
| |
| the HIMEM region remain as-is -- the laptop just issues a beep. A
| |
| neophyte might think it is Teeny that issues the beep.
| |
|
| |
| If the HIMEM requirement of an incarnation is not met, there are two
| |
| remedies. You set the point of HIMEM low enough for the requirement to
| |
| be met, or you leave the point of HIMEM as-is and obtain a different
| |
| incarnation (see the "TEENY.BA MANUAL" for detail) that has a HIMEM
| |
| requirement which is met. The incarnation that allows the least
| |
| consumption of RAM has a HIMEM requirement that is 747 less than the
| |
| point of MAXRAM. The chart below lists this HIMEM requirement for the
| |
| Model 10x and Model 200 laptops.
| |
|
| |
| <pre>
| |
| MAXRAM-747 | Model 10x | Model 200 |
| |
| HIMEM Requirement | 62213 | 60357 |
| |
| </pre>
| |
|
| |
| == Invocation via TEENY.CO File ==
| |
|
| |
| This procedure invokes Teeny by using laptop command file TEENY.CO and,
| |
| in cases where it is necessary, this procedure also sets the point of
| |
| HIMEM equal to the HIMEM requirement of TEENY.CO.
| |
|
| |
| # Use the arrow keys to navigate the wide cursor bar over the name
| |
| TEENY.CO at the laptop menu.
| |
| # Press the ENTER key. If the HIMEM requirement is met, the laptop
| |
| relinquishes control to Teeny and its guide/prompt appears. A session
| |
| of Teeny is under way -- this procedure is complete.<br><br>
| |
| Where the HIMEM requirement is not met, the laptop issues a beep. Go
| |
| on to step 3 of this procedure.
| |
| # Use the arrow keys to navigate the wide cursor bar over the name
| |
| BASIC at the laptop menu.
| |
| # Press the ENTER key. This invokes the BASIC interpreter.
| |
| # Two entries are illustrated below as they appear on the 40-column
| |
| screen of the laptop. Type the first entry exactly as shown -- five
| |
| lines then appear as a result of this entry, and then "Ok" appears at
| |
| the following line.
| |
|
| |
| Study the result where 5-digit values appear in column 6 to column 10.
| |
| Point of HIMEM is illustrated as "himem". HIMEM requirement is
| |
| illustrated as "hmreq". A value that is 746 more than the HIMEM
| |
| requirement is illustrated as "endat".
| |
|
| |
| <pre>
| |
| 1111111111222222222233333333334
| |
| 1234567890123456789012345678901234567890
| |
| ________________________________________
| |
| |Ok |
| |
| Type |?" pH "HIMEM:LOADM"TEENY | and then press ENTER.
| |
| | pH himem | Point of HIMEM
| |
| |Top: hmreq | HIMEM requirement
| |
| |End: endat | HIMEM requirement+746
| |
| |Exe: hmreq |
| |
| |?OM Error | Out-of-Memory Error
| |
| |Ok |
| |
| Type |CLEAR0,hmreq:MENU | and then press ENTER.
| |
| </pre>
| |
|
| |
| <ol start="6">
| |
| <li>Using the "hmreq" value, type the second entry -- the laptop menu
| |
| appears. Go back to step 1 of this procedure.<li>
| |
| </ol>
| |
|
| |
| == Trigger File Creation ==
| |
|
| |
| This procedure eliminates the TEENY.CO file and replaces it with a
| |
| trigger file named Thmreq.CO where "hmreq" is the 5-digit HIMEM
| |
| requirement. This procedure also sets the point of HIMEM equal to the
| |
| HIMEM requirement.
| |
|
| |
| 1. Use the arrow keys to navigate the wide cursor bar over the name
| |
| BASIC at the laptop menu.
| |
|
| |
| 2. Press the ENTER key. This invokes the BASIC interpreter.
| |
|
| |
| 3. An entry is illustrated below as it appears on the 40-column screen
| |
| of the laptop. Type the entry exactly as it is shown. As a result of
| |
| this entry, three lines appear that show the "Top", "End", and "Exe"
| |
| addresses of file TEENY.CO. The 5-digit value of Top (and Exe) appears
| |
| in column 6 to column 10. This value is the HIMEM requirement, which
| |
| is illustrated as "hmreq".
| |
|
| |
| <pre>
| |
| 1111111111222222222233333333334
| |
| 1234567890123456789012345678901234567890
| |
| ________________________________________
| |
| |Ok |
| |
| Type |LOADM"TEENY":T=PEEK(7300)*7-2821:R=PEEK(|
| |
| |T+1)*256+PEEK(T):KILL"TEENY.CO":SAVEM"T"|
| |
| |+MID$(STR$(R),2),R,R,R | and then press ENTER.
| |
| |Top: hmreq | HIMEM requirement
| |
| |End: endat |
| |
| |Exe: hmreq |
| |
| </pre>
| |
|
| |
|
| |
| Look at the line that directly follows the line that shows the "Exe"
| |
| address. If "?OM Error" is seen at this line, go to step 5. If "Ok"
| |
| is seen at this line (then "?OM Error" is not seen), go to step 4.
| |
|
| |
| 4. Type the entry shown below. The laptop menu appears. File name
| |
| TEENY.CO is not found -- it has been eliminated. The trigger file name
| |
| (e.g., T60357.CO) is found on the menu -- the five numerals of the name
| |
| identify the HIMEM requirement of the trigger file.
| |
|
| |
| <pre>
| |
| |Top: hmreq | HIMEM requirement
| |
| |End: endat |
| |
| |Exe: hmreq |
| |
| |Ok | "?OM Error" not seen
| |
| Type |CLEAR0,R:MENU | and then press ENTER.
| |
|
| |
| </pre>
| |
|
| |
| This procedure is complete. Move on to the "Invocation via Trigger
| |
| File" section of this manual.
| |
|
| |
| 5. Using the "hmreq" value, type the entry shown below and then go
| |
| back to step 3 of this procedure.
| |
|
| |
| <pre>
| |
| |Top: hmreq | HIMEM requirement
| |
| |End: endat |
| |
| |Exe: hmreq |
| |
| |?OM Error | Out-of-Memory Error
| |
| |Ok |
| |
| Type |CLEARFRE(""),hmreq | and then press ENTER.
| |
| |Ok |
| |
| </pre>
| |
|
| |
| == Invocation via Trigger File ==
| |
|
| |
| This procedure invokes Teeny by using a trigger file or, in cases where
| |
| it is necessary, this procedure eliminates a trigger file.
| |
|
| |
| 1. Use the arrow keys to navigate the wide cursor bar over the name of
| |
| the trigger file (e.g., T60357.CO).
| |
|
| |
| 2. Press the ENTER key. If the HIMEM requirement is met, the laptop
| |
| relinquishes control to Teeny and its guide/prompt appears. A session
| |
| of Teeny is under way -- this procedure is complete.
| |
|
| |
| Where the HIMEM requirement is not met, the laptop issues a beep. Go
| |
| on to step 3 of this procedure.
| |
|
| |
| 3. Use the arrow keys to navigate the wide cursor bar over the name
| |
| BASIC at the laptop menu.
| |
|
| |
| 4. Press the ENTER key. This invokes the BASIC interpreter.
| |
|
| |
| 5. An entry is illustrated below as it appears on the 40-column screen
| |
| of the laptop. Type the entry exactly as it is shown. As a result of
| |
| this entry, the point of HIMEM appears as a 5-digit value in column 2
| |
| to column 6 on a line by itself. The value for the point of HIMEM is
| |
| illustrated as "himem". Directly below it, all of the file names are
| |
| listed with three names per line starting at columns 1, 13 and 25.
| |
|
| |
| <pre>
| |
| 1111111111222222222233333333334
| |
| 1234567890123456789012345678901234567890
| |
| ________________________________________
| |
| |Ok |
| |
| Type |?HIMEM"pH":FILES | and then press ENTER.
| |
| | himem pH | Point of HIMEM
| |
| |Thmreq.CO ADRS .DO NOTES .DO | The trigger file name
| |
| |Ok |
| |
| </pre>
| |
|
| |
| Look at the list of file names and find the trigger file name. A name
| |
| of the Thmreq.CO form identifies a trigger file, where "hmreq" is its
| |
| 5-digit HIMEM requirement. If the point of HIMEM exceeds the HIMEM
| |
| requirement of the trigger file by MORE THAN 1, go to step 7. If the
| |
| point of HIMEM exceeds the HIMEM requirement of the trigger file by
| |
| EXACTLY 1, go to step 6.
| |
|
| |
| 6. Type the entry shown below -- the laptop menu appears. Go back to
| |
| step 1 of this procedure.
| |
|
| |
| <pre>
| |
| | himem pH | Point of HIMEM
| |
| |Thmreq.CO ADRS .DO NOTES .DO | exactly hmreq + 1
| |
| |Ok |
| |
| Type |CLEAR0,HIMEM-1:MENU | and then press ENTER.
| |
| </pre>
| |
|
| |
| 7. Type the entry shown below -- the laptop menu appears. This
| |
| eliminates the trigger file -- this procedure is complete.
| |
|
| |
| <pre>
| |
| | himem pH | Point of HIMEM
| |
| |Thmreq.CO ADRS .DO NOTES .DO | more than hmreq + 1
| |
| |Ok |
| |
| Type |KILL"Thmreq.CO":MENU | and then press ENTER.
| |
| </pre>
| |
|
| |
| == Guide/Prompt ==
| |
|
| |
| Teeny issues a two-line guide/prompt: the upper line is the guide, the
| |
| lower line is the prompt. These two lines are illustrated below
| |
| exactly as they appear on the 40-column screen of the laptop.
| |
|
| |
| The guide line is only a visual aid. It identifies column positions of
| |
| fields in the prompt line, and it has a notation (C=KLSQ) regarding
| |
| arguments of the command field. The prompt line has two fields that
| |
| are separated. The command field [C] is column 3. Column 4 is merely
| |
| a separator [ ] between fields. The file name field [FFFFFF.XX] spans
| |
| from column 5 to column 13.
| |
|
| |
| Teeny provides a blinking cursor (illustrated by _ below) on the prompt
| |
| line at column 3, which is the command field. Use of the command field
| |
| is mandatory -- you must type a command. You do not have to use the
| |
| rest of the prompt line -- its use is optional.
| |
|
| |
| <pre>
| |
| 1111111111222222222233333333334
| |
| 1234567890123456789012345678901234567890
| |
| ________________________________________
| |
| Guide |> C FFFFFF.XX (C=KLSQ) |
| |
| Prompt |> _ |
| |
| </pre>
| |
|
| |
| == Command Syntax ==
| |
|
| |
| Regarding arguments of the command field, the notation (C=KLSQ) shows
| |
| an equal sign followed by four upper case letters: K, L, S, and Q. The
| |
| equal sign denotes the query command. Upper case letters K, L, S, and
| |
| Q correspond to the Kill, Load, Save, and Quit commands.
| |
|
| |
| Command syntax is the same for every command -- you may include a file
| |
| name, but you are not compelled to do so. If you include a file name,
| |
| then you may also append commentary after the file name -- Teeny
| |
| ignores anything you type at column 14 and onward.
| |
|
| |
| Letter "P" is upper case, and letter "p" is lower case. For file names
| |
| that you type, the case of each and every letter may be important. For
| |
| example, LAPTOP.CO and LApTOP.CO and LAPTOp.CO are slightly different
| |
| file names that may refer to three distinct files, or they may all
| |
| refer to the same file. Teeny takes each character of a file name
| |
| precisely the way you type it and, based on the command, treats the
| |
| file name in different ways -- see "File Name Treatment" for detail.
| |
| For convenience however, you can keep the CAPS LOCK key engaged during
| |
| a Teeny session so that file names are always treated in the same way.
| |
|
| |
| There are some restrictions on the names of files. The laptop imposes
| |
| the first restriction, Teeny enforces it, and it applies to every
| |
| command. The first restriction is that the lead-character of a name
| |
| can not be a numeral or certain special characters. For example, the
| |
| name 4SCORE.DO is illegal. To make it compatible with as large a group
| |
| of other masters (e.g., Floppy by Tandy, TS-DOS by Traveling Software)
| |
| as practical, Teeny imposes the second restriction, which applies to
| |
| the Kill, Load, and Save commands. This second restriction is that the
| |
| lead-character of the file name extension must be one of three letters:
| |
| B, C, or D. Other masters and Teeny use a convention where the
| |
| lead-letter of the file name extension indicates the laptop file type.
| |
| There are three file types: BASIC, Command, and ASCII. And the
| |
| corresponding letters are: B for BASIC, C for Command, and D for ASCII.
| |
| For a Load command with a file name such as WONDER.B4 for example,
| |
| Teeny inserts the file content into that portion of laptop memory where
| |
| BASIC file types belong.
| |
|
| |
| The slave device that is attached at the RS-232C port of the laptop (a
| |
| Disk Drive, or a PC during a DeskLink session) maintains its disk
| |
| directory of file names and file content within its media. Certain
| |
| differences among various slave devices are noteworthy and offer useful
| |
| operational potential -- see "Slave Device Nuance" for detail.
| |
|
| |
| See the illustration below. It shows an example for every command.
| |
| Each example is a command which includes a file name. Note that the
| |
| name included with the example Quit command is not legitimate for use
| |
| with any of the other commands. Every example also includes commentary
| |
| that begins at column 15. The file name and comment in each example
| |
| form an explanation of what the command means. They are elaborate
| |
| examples, yet you can use them as-is during a Teeny session because
| |
| they are correct in their syntax!
| |
|
| |
| <pre>
| |
| 1111111111222222222233333333334
| |
| 1234567890123456789012345678901234567890
| |
| ________________________________________
| |
| Guide |> C FFFFFF.XX (C=KLSQ) |
| |
| Prompt |> = Wonder.B4 Does file exist at disk? | Syntax of query
| |
|
| |
| Guide |> C FFFFFF.XX (C=KLSQ) |
| |
| Prompt |> K AtDisk.BA BASIC file erase at disk | Syntax of Kill
| |
|
| |
| Guide |> C FFFFFF.XX (C=KLSQ) |
| |
| Prompt |> L Laptop.CO Command file into memory | Syntax of Load
| |
|
| |
| Guide |> C FFFFFF.XX (C=KLSQ) |
| |
| Prompt |> S OnDisk.DO ASCII file onto the disk | Syntax of Save
| |
|
| |
| Guide |> C FFFFFF.XX (C=KLSQ) |
| |
| Prompt |> Q meansQuit so Teeny session ends | Syntax of Quit
| |
| </pre>
| |
|
| |
| For a command (except for Quit command) where you include a file name,
| |
| you must type the name so it aligns correctly in the file name field.
| |
| Type one or more spaces if needed to pad a name so that the file name
| |
| field is completely filled (type NAME .DO for a file named NAME.DO).
| |
|
| |
| == Command Action ==
| |
|
| |
| Teeny associates a file name with every command - even with the Quit
| |
| command which produces no action except to end the Teeny session. The
| |
| action by all the other commands is file name dependent, and the two
| |
| restrictions on the names of files are pertinent.
| |
|
| |
| There are two places a file can exist: at the disk, or in the memory of
| |
| the Tandy laptop. A file, of a specific name, either exists or does
| |
| not exist. So there are four cases for you to consider with respect to
| |
| any file name. For a specific name, a file is found:
| |
|
| |
| # nowhere (neither place)
| |
| # one place, at the disk (not in memory)
| |
| # one place, in memory (not at the disk)
| |
| # both places
| |
|
| |
| The chart below summarizes the query, Kill, Load, and Save commands for
| |
| all four cases. Below the chart, there is a paragraph for each command
| |
| that explains its action. The terms "Identical file name" and
| |
| "NORMALIZED file name" appear in these paragraphs to distinguish
| |
| between different treatments that Teeny applies to file names. See
| |
| "File Name Treatment" for the distinction.
| |
|
| |
| <pre>
| |
| | nowhere | one place, | one place, | both places |
| |
| | | AT THE DISK | IN MEMORY | |
| |
| ___ case #1 ___ ___ case #2 ___ ___ case #3 ___ ___ case #4 ___
| |
| query | "FF Err" | "SN Err" | "FF Err" | "SN Err" |
| |
| | (at the disk) | Specific Name | (at the disk) | Specific Name |
| |
| Kill | "FF Err" |Possible ERASE | "FF Err" |Possible ERASE |
| |
| | (at the disk) | AT THE DISK | (at the disk) | AT THE DISK |
| |
| Load | "FF Err" |Possible INSERT| "FF Err" | "AE Err" |
| |
| | (at the disk) | IN MEMORY | (at the disk) | (in memory) |
| |
| Save | "FF Err" | "AE Err" |Possible INSERT| "AE Err" |
| |
| | (in memory) | (at the disk) | AT THE DISK | (at the disk) |
| |
| </pre>
| |
|
| |
| The action of the query command merely is to respond with an error.
| |
| The query command ascertains extant of the Identical file name found AT
| |
| THE DISK. There are two possible responses by the query command. If
| |
| Teeny fails to find any file name AT THE DISK by the Identical file
| |
| name (which is case #1 and also case #3), then the response "FF Err" is
| |
| given. Otherwise at least one specific name is extant AT THE DISK that
| |
| is recognized by the Identical file name (which is case #2 and case
| |
| #4), and the response "SN Err" is given. See "Slave Device Nuance".
| |
|
| |
| The action of the Kill command is to erase a file of an Identical file
| |
| name AT THE DISK. The action is possible for case #2 and case #4. For
| |
| either of these cases, Teeny will erase the file AT THE DISK unless
| |
| there is some condition (e.g., Write-Protected disk) that prevents the
| |
| action. If the action is prevented, Teeny issues an error that is
| |
| pertinent. For case #1 and case #3, Teeny issues "FF Err" because it
| |
| fails to find the Identical file name AT THE DISK.
| |
|
| |
| The action of the Load command is to insert IN MEMORY a file, based on
| |
| content found at disk. The action is possible for case #2 only. For
| |
| this case, Teeny makes an exact copy of the content and assigns a
| |
| NORMALIZED file name in the memory directory of the laptop unless there
| |
| is some condition (e.g., not enough free memory) that prevents the
| |
| action. If the action is prevented, Teeny issues an error that is
| |
| pertinent. For case #1 and case #3, Teeny issues "FF Err" because it
| |
| fails to find the Identical file name at the disk. For case #4, Teeny
| |
| issues "AE Err" because it finds the NORMALIZED file name already is
| |
| assigned in the memory directory.
| |
|
| |
| The action of the Save command is to insert AT DISK a file, based on
| |
| content found in memory. The action is possible for case #3 only. For
| |
| this case, Teeny makes an exact copy of the content and assigns an
| |
| Identical name in the disk directory unless there is some condition
| |
| (e.g., Write-Protected disk) that prevents the action. If the action
| |
| is prevented, Teeny issues an error that is pertinent. See "Slave
| |
| Device Nuance". For case #1, Teeny issues "FF Err" because it fails to
| |
| find the NORMALIZED file name in the memory directory of the laptop.
| |
| For case #2 and case #4, Teeny issues "AE Err" because it finds the
| |
| Identical file name already is assigned in the disk directory.
| |
|
| |
| == Error Codes ==
| |
|
| |
| Teeny issues a 2-letter error code, such as "NM Err", if it encounters
| |
| some condition or fault that prevents command action. The chart below
| |
| lists each error code with its meaning, and indicates the relationship,
| |
| if any, to each command: query, Kill, Load, Save, and Quit. Indicators
| |
| "Disk" and "Memory" identify the place (i.e., at Disk or in Memory)
| |
| where a condition is pertinent. The "**" indicator is used for error
| |
| codes that have a clear meaning of place (e.g., Out of Memory), or have
| |
| a generalized meaning.
| |
|
| |
| <pre>
| |
| |________ Code and Meaning ________|query_|_Kill_|_Load_|_Save_|_Quit_|
| |
| | NM NaMe illegal (e.g. 4SCORE.DO) | ** | ** | ** | ** | ** |
| |
| | SN Specific Name found | Disk | | | | |
| |
| | FF Fail to Find name | Disk | Disk | Disk |Memory| |
| |
| | AE file Already Exists | | |Memory| Disk | |
| |
| | ND No Disk media in drive | ** | ** | ** | ** | |
| |
| | WP Write-Protected disk media | | ** | | ** | |
| |
| | DF Drive directory Full | | | | ** | |
| |
| | FL FuLL memory directory | | | ** | | |
| |
| | OM Out of Memory (i.e. capacity) | | | ** | | |
| |
| | NR RS-232 Not Ready (e.g. cable) | ** | ** | ** | ** | |
| |
| | IO I/O fault (e.g. RS-232) | ** | ** | ** | ** | |
| |
| | CM CoMmunication fault | ** | ** | ** | ** | |
| |
| </pre>
| |
|
| |
| The Load command can not overwrite a file in memory. You must Quit
| |
| Teeny, kill the file in memory, then invoke Teeny again to load the
| |
| file from disk. The example below shows the "discovery" that the file
| |
| exists in memory, and the Quit of Teeny.
| |
|
| |
| <pre>
| |
| > L NAME .DO
| |
| AE Err (file Already Exists in memory)
| |
| > Q
| |
| </pre>
| |
|
| |
| The 6-command example below shows a comedy of errors that finally
| |
| overwrites a file at the disk. Only the first command includes a file
| |
| name -- see "File Name Memory".
| |
|
| |
| <pre>
| |
| > S NAME .DO
| |
| NR Err (plug in cable, power on drive)
| |
| > S
| |
| ND Err (insert disk)
| |
| > S
| |
| WP Err (remove disk write-protect)
| |
| > S
| |
| AE Err (file Already Exists at disk)
| |
| > K
| |
| > S
| |
| </pre>
| |
|
| |
| == File Name Memory ==
| |
|
| |
| Teeny remembers the last file name you typed. All commands need a file
| |
| name and Teeny uses the remembered file name when you don't explicitly
| |
| supply one. Even the Quit command needs a file name, but the name does
| |
| not have to be legitimate. The 2-command example below overwrites a
| |
| disk file.
| |
|
| |
| <pre>
| |
| > K NAME .DO
| |
| > S
| |
| </pre>
| |
|
| |
| File Name Treatment
| |
|
| |
| Teeny treats a file name two ways:
| |
|
| |
| * Identical -- exactly as typed by you
| |
| * NORMALIZED -- so that all letters are upper case
| |
|
| |
| Mixed upper and lower case is allowed for file names at the disk
| |
| directory of the slave device. A file identified by an Identical name
| |
| at the disk directory is erased at disk, as a result of the Kill
| |
| command. Likewise, a file inserted at disk, as a result of the Save
| |
| command, gets an Identical name at the disk directory. For DeskLink,
| |
| mixed case is not pertinent because the operating system of the PC
| |
| treats mixed case as if it is all upper case. For a Disk Drive, mixed
| |
| case is pertinent.
| |
|
| |
| All upper case is the norm for file names within the memory directory
| |
| of the laptop. A file inserted in memory, as a result of the Load
| |
| command, gets a NORMALIZED name in the memory directory of the laptop.
| |
|
| |
| The chart below shows the use of file name AnYmIx.Do in the query,
| |
| Kill, Load, and Save commands. The Identical file name of AnYmIx.Do
| |
| applies at the disk directory of the slave device for each of these
| |
| commands. The NORMALIZED file name of ANYMIX.DO applies in the memory
| |
| directory of the laptop for only the Load and Save commands.
| |
|
| |
| <pre>
| |
| _______ Directory _______
| |
| __Command __| at Disk | in Memory |____ Overall action summary ____
| |
| = AnYmIx.Do | Identical | | By AnYmIx.Do, query at disk.
| |
| | | -- |
| |
| K AnYmIx.Do | Identical | | By AnYmIx.Do, erase at disk.
| |
| | | -- |
| |
| L AnYmIx.Do | Identical | | Content of AnYmIx.Do at disk,
| |
| | | NORMALIZED | insert for ANYMIX.DO in memory.
| |
| S AnYmIx.Do | | NORMALIZED | Content of ANYMIX.DO in memory,
| |
| | Identical | | insert for AnYmIx.Do at disk.
| |
| </pre>
| |
|
| |
| Where you use Teeny with a Disk Drive, you can use file names that have
| |
| differences of letter case to your advantage. You can have content in
| |
| memory under a NORMALIZED file name which you actively work with (e.g.,
| |
| TEXT), while you have content at disk which reflects your prior
| |
| activity under one or more Identical names.
| |
|
| |
| An example for media back-up purposes uses one Identical name where the
| |
| last character is lower case, such as ACTIVE.Do. Use the S ACTIVE.DO
| |
| and S ACTIVE.Do commands to save your active content, in duplicate, at
| |
| the disk. Should the diskette media suffer from erosion (e.g., by some
| |
| physical damage) there's some chance that one disk file is left intact.
| |
| Ordinarily you use the L ACTIVE.DO command to insert the active content
| |
| in memory under the NORMALIZED file name ACTIVE.DO. But you can resort
| |
| to the L ACTIVE.Do command if the need arises.
| |
|
| |
| An example for archival purposes uses a series of Identical names. A
| |
| series such as Series.do, SEries.do, SERies.do and so on can be used to
| |
| represent some progressive activity. And a series such as sERIES.DO,
| |
| seRIES.DO, serIES.DO and so on can be used to represent some regressive
| |
| activity. The query command is very useful for "learning" the limits
| |
| of an archival series after you "forgot" the limits.
| |
|
| |
| == Slave Device Nuance ==
| |
|
| |
| For the query command with a PC during a DeskLink session, the ? wild
| |
| card character can be used within the file name extension. This forms
| |
| a "file spec" which covers a range of specific file names. Note that
| |
| the name portion is specific, and the extension portion is not
| |
| specific. The chart below lists eight query commands for a name of WOW
| |
| where each query has a different file spec. The chart assumes nine
| |
| files of the name WOW are extant, and has a column for each extension
| |
| of the name WOW. For each query, the indicator "met" identifies every
| |
| file name that meets the file spec and thus contributes toward the
| |
| response "SN Err" for Specific Name. The file spec with extension ??
| |
| is global, so all of the nine files contribute toward the response.
| |
|
| |
| <pre>
| |
| query & name| Files with a name of WOW exist, the Extensions are: |
| |
| ____________| .B | .B4 | .BA | .C | .C1 | .CO | .D | .D4 | .DO |
| |
| = WOW .?? | met | met | met | met | met | met | met | met | met |
| |
| = WOW .? | met | | | met | | | met | | |
| |
| = WOW .B? | met | met | met | | | | | | |
| |
| = WOW .C? | | | | met | met | met | | | |
| |
| = WOW .D? | | | | | | | met | met | met |
| |
| = WOW .?1 | | | | | met | | | | |
| |
| = WOW .?4 | | met | | | | | | met | |
| |
| = WOW .?O | | | | | | met | | | met |
| |
| </pre>
| |
|
| |
| For the Save command with a Disk Drive, there must be at least one file
| |
| name slot available at the disk directory, and the directory must
| |
| manifest enough capacity in terms of sectors at the media to insert
| |
| (i.e., hold) the file content. Otherwise, the response "DF Err" for
| |
| Drive directory Full is given. The chart below lists the quantity of
| |
| file name slots, and the capacity and quantity of sectors for diskette
| |
| media that is formatted by various Disk Drives.
| |
|
| |
| <pre>
| |
| ________ Disk Drive _________ _ File Name Slots __ _Capacity/Sectors_
| |
| | Brother Disk Drive FB100 | 40 | 101120 / 79 |
| |
| | Purple Computing Disk Drive | 40 | 101120 / 79 |
| |
| | Tandy Portable Disk Drive | 40 | 101120 / 79 |
| |
| | Tandy Portable Disk Drive 2 | 40 bank0, 40 bank1 | 202240 / 158 |
| |
| </pre>
| |
|
| |
| == Diskette Formatter ==
| |
|
| |
| Teeny does not have a command to format a diskette in a Disk Drive. If
| |
| it did, the image of Teeny would not be so teeny! Make your own BASIC
| |
| program and use it on occasions when you want to format some diskettes.
| |
|
| |
| Just invoke the BASIC interpreter at the laptop menu and then type four
| |
| entries, the last of which ends the interpretation session. The four
| |
| entries are illustrated below exactly as they appear on the 40-column
| |
| screen of the laptop as you type them. Note that the second entry is
| |
| very long and it wraps into seven lines on the screen.
| |
|
| |
| <pre>
| |
| 1111111111222222222233333333334
| |
| 1234567890123456789012345678901234567890
| |
| ________________________________________
| |
| Type |NEW | and then press ENTER.
| |
| |Ok |
| |
| Type |0CLEAR1:IFLEN(INKEY$)THENRUNELSE?"FORMAT|
| |
| | [Y]es";:IFNOTINPUT$(1)="Y"THENMENUELSE?|
| |
| |:MAXFILES=1:OPEN"COM:98N1DNN"FOROUTPUTAS|
| |
| |1:?#1,"ZZ"CHR$(6)CHR$(0)CHR$(249);:CLOSE|
| |
| |:M=PEEK(919):FORI=0TO0STEP0:IFSGN(M)XORS|
| |
| |GN(INP(179+M)AND32+4*M)THENBEEP:RUNELSEN|
| |
| |EXT | and then press ENTER.
| |
| Type |SAVE"DF21 | and then press ENTER.
| |
| |Ok |
| |
| Type |MENU | and then press ENTER.
| |
| </pre>
| |
|
| |
| The third entry assigns DF21.BA as the file name of this BASIC program.
| |
| After the fourth entry the laptop menu appears and the name DF21.BA can
| |
| be seen. This BASIC program is not specific by Tandy laptop Model type
| |
| so it can be used by all laptop models (200 or 10x). Use it to format
| |
| diskette media placed in the:
| |
|
| |
| * Purple Computing Disk Drive -- with DIP switches set for 19200 Baud
| |
| * Tandy Portable Disk Drive -- with DIP switches set for 19200 Baud
| |
| * Tandy Portable Disk Drive 2
| |
|
| |
| == Change Working Speed ==
| |
|
| |
| TEENY.EXE casts Teeny with a working speed of either 19200 Baud or 9600
| |
| Baud (see the "TEENY.EXE MANUAL" for detail). Where it isn't practical
| |
| to recast Teeny (e.g., no PC available), this procedure can be used as
| |
| an expedient. It changes the working speed of Teeny. This procedure
| |
| may be used with laptop command file TEENY.CO or with a trigger file.
| |
|
| |
| # Use the arrow keys to navigate the wide cursor bar over the name
| |
| BASIC at the laptop menu.
| |
| # Press the ENTER key. This invokes the BASIC interpreter.
| |
| # Two entries are illustrated below as they appear on the 40-column
| |
| screen of the laptop: one for laptop command file TEENY.CO, one for a
| |
| trigger file. Type the appropriate entry exactly as it is shown.
| |
|
| |
| <pre>
| |
| 1111111111222222222233333333334 (for TEENY.CO file)
| |
| 1234567890123456789012345678901234567890
| |
| ________________________________________
| |
| |Ok |
| |
| Type |LOADM"TEENY | and then press ENTER.
| |
|
| |
| 1111111111222222222233333333334 (for trigger file)
| |
| 1234567890123456789012345678901234567890
| |
| ________________________________________
| |
| |Ok |
| |
| Type |LOADM"Thmreq | and then press ENTER.
| |
| </pre>
| |
|
| |
| As a result of the entry above, three lines appear that show the "Top",
| |
| "End", and "Exe" addresses of the file. The 5-digit value of Top (and
| |
| Exe) appears in column 6 to column 10. This value is the HIMEM
| |
| requirement, which is illustrated as "hmreq".
| |
|
| |
| Look at the line that directly follows the line that shows the "Exe"
| |
| address. If "?OM Error" is seen at this line, go to step 6. If "Ok"
| |
| is seen at this line (then "?OM Error" is not seen), go to step 4.
| |
|
| |
| 4. Carefully type the long entry shown below.
| |
|
| |
| <pre>
| |
| |Top: hmreq | HIMEM requirement
| |
| |End: endat |
| |
| |Exe: hmreq |
| |
| |Ok | "?OM Error" not seen
| |
| Type |T=PEEK(7300)*7-2821:R=PEEK(T+1)*256+PEEK|
| |
| |(T):C=R+213:IFPEEK(C+1)-56THENMENUELSEFO|
| |
| |RI=0TO0STEP0:S=PEEK(C):?MID$("NormalSLOW|
| |
| |",82-1.08^S,6)" working speed. [C]hange?|
| |
| |":IFINSTR("cC",INPUT$(1))THENPOKEC,1XORS|
| |
| |:NEXTELSEIFPEEK(T+2)-1THENSAVEM"TEENY",R|
| |
| |,R+746,R | and then press ENTER.
| |
| </pre>
| |
|
| |
| If the screen shows either the "Normal working speed. [C]hange?" or
| |
| "SLOW working speed. [C]hange?" message, all is well -- go to step 5.
| |
|
| |
| If the screen shows only the " working speed. [C]hange?" message, the
| |
| image of Teeny is not in place -- go back to step 3.
| |
|
| |
| If the laptop menu appears or if an Error message appears (e.g., FC
| |
| Error), something is wrong. Likely, the entry was incorrectly typed --
| |
| go back to step 1 (laptop menu) or to step 3 (Error message).
| |
|
| |
| 5. The working speed of Teeny is shown at the screen along with the
| |
| "[C]hange?" prompt, as shown below. Normal speed is 19200 Baud. SLOW
| |
| speed is 9600 Baud. Each time you press the C key, the working speed
| |
| changes.
| |
|
| |
| When the desired working speed is shown, press ENTER to accept it and
| |
| then type the entry shown below -- the laptop menu appears. This
| |
| procedure is complete.
| |
|
| |
| <pre>
| |
| |Normal working speed. [C]hange? | C changes the speed.
| |
| |SLOW working speed. [C]hange? | C changes the speed.
| |
| |Normal working speed. [C]hange? | C changes the speed.
| |
| |SLOW working speed. [C]hange? | ENTER accepts speed.
| |
| |Ok |
| |
| Type |MENU | and then press ENTER.
| |
| </pre>
| |
|
| |
| 6. Using the "hmreq" value, type the entry shown below and then go
| |
| back to step 3 of this procedure.
| |
|
| |
| <pre>
| |
| |Top: hmreq | HIMEM requirement
| |
| |End: endat |
| |
| |Exe: hmreq |
| |
| |?OM Error | Out-of-Memory Error
| |
| |Ok |
| |
| Type |CLEARFRE(""),hmreq | and then press ENTER.
| |
| |Ok |
| |
| </pre>
| |
|
| |
| == Change DSR Sensitivity ==
| |
|
| |
| TEENY.EXE casts Teeny so that it either is sensitive to the DSR control
| |
| line or is not sensitive to the DSR control line (see the "TEENY.EXE
| |
| MANUAL" for detail). Where a Nul-modem cable is not appropriate to the
| |
| DSR usage of Teeny (e.g., DSR control line not connected while there is
| |
| sensitivity to the DSR control line by Teeny) and it isn't practical to
| |
| recast Teeny (e.g., no PC available), this procedure can be used as an
| |
| expedient. It changes the DSR usage of Teeny. This procedure may be
| |
| used with laptop command file TEENY.CO or with a trigger file.
| |
|
| |
| # Use the arrow keys to navigate the wide cursor bar over the name
| |
| BASIC at the laptop menu.
| |
| # Press the ENTER key. This invokes the BASIC interpreter.
| |
| # Two entries are illustrated below as they appear on the 40-column
| |
| screen of the laptop: one for laptop command file TEENY.CO, one for a
| |
| trigger file. Type the appropriate entry exactly as it is shown.
| |
|
| |
| <pre>
| |
| 1111111111222222222233333333334 (for TEENY.CO file)
| |
| 1234567890123456789012345678901234567890
| |
| ________________________________________
| |
| |Ok |
| |
| Type |LOADM"TEENY | and then press ENTER.
| |
|
| |
| 1111111111222222222233333333334 (for trigger file)
| |
| 1234567890123456789012345678901234567890
| |
| ________________________________________
| |
| |Ok |
| |
| Type |LOADM"Thmreq | and then press ENTER.
| |
| </pre>
| |
|
| |
| As a result of the entry above, three lines appear that show the "Top",
| |
| "End", and "Exe" addresses of the file. The 5-digit value of Top (and
| |
| Exe) appears in column 6 to column 10. This value is the HIMEM
| |
| requirement, which is illustrated as "hmreq".
| |
|
| |
| Look at the line that directly follows the line that shows the "Exe"
| |
| address. If "?OM Error" is seen at this line, go to step 6. If "Ok"
| |
| is seen at this line (then "?OM Error" is not seen), go to step 4.
| |
|
| |
| 4. Carefully type the long entry shown below.
| |
|
| |
| <pre>
| |
| |Top: hmreq | HIMEM requirement
| |
| |End: endat |
| |
| |Exe: hmreq |
| |
| |Ok | "?OM Error" not seen
| |
| Type |T=PEEK(7300)*7-2821:R=PEEK(T+1)*256+PEEK|
| |
| |(T):C=R+572-341*SGN(91-T/-31):IFPEEK(C+1|
| |
| |)-4THENMENUELSEFORI=0TO0STEP0:S=PEEK(C):|
| |
| |?"DSR U"MID$("nu",SAND5)"sed. [C]hange?"|
| |
| |:IFINSTR("cC",INPUT$(1))THENPOKEC,215XOR|
| |
| |S:NEXTELSEIFPEEK(T+2)-1THENSAVEM"TEENY",|
| |
| |R,R+746,R | and then press ENTER.
| |
| </pre>
| |
|
| |
| If the screen shows either the "DSR Used. [C]hange?" or "DSR Unused.
| |
| [C]hange?" message, all is well -- go to step 5.
| |
|
| |
| If the laptop menu appears or if an Error message appears (e.g., FC
| |
| Error), something is wrong. Likely, the entry was incorrectly typed --
| |
| go back to step 1 (laptop menu) or to step 3 (Error message).
| |
|
| |
| 5. The sensitivity to the DSR control line by Teeny is shown at the
| |
| screen as DSR usage along with the "[C]hange?" prompt, as shown below.
| |
| DSR Used means Teeny is sensitive to the DSR control line. DSR Unused
| |
| means Teeny is not sensitive to the DSR control line. Each time you
| |
| press the C key, the DSR usage changes.
| |
|
| |
| When the desired DSR usage is shown, press ENTER to accept it and then
| |
| type the entry shown below -- the laptop menu appears. This procedure
| |
| is complete.
| |
|
| |
| <pre>
| |
| |DSR Used. [C]hange? | C changes DSR usage.
| |
| |DSR Unused. [C]hange? | C changes DSR usage.
| |
| |DSR Used. [C]hange? | C changes DSR usage.
| |
| |DSR Unused. [C]hange? | ENTER accepts usage.
| |
| |Ok |
| |
| Type |MENU | and then press ENTER.
| |
| </pre>
| |
|
| |
| 6. Using the "hmreq" value, type the entry shown below and then go
| |
| back to step 3 of this procedure.
| |
|
| |
| <pre>
| |
| |Top: hmreq | HIMEM requirement
| |
| |End: endat |
| |
| |Exe: hmreq |
| |
| |?OM Error | Out-of-Memory Error
| |
| |Ok |
| |
| Type |CLEARFRE(""),hmreq | and then press ENTER.
| |
| |Ok |
| |
| </pre>
| |
|
| |
| == Beefs, Tips, Quirks and Humor ==
| |
|
| |
| 1. I keep pressing the Q key but Teeny refuses to Quit.
| |
|
| |
| Type Q Q to Quit -- that's the Q key, a space, and another Q key. Or,
| |
| you could press the reset button. But, <BREAK> won't Quit Teeny.
| |
|
| |
| Do you remember that Teeny "remembers" the previous file name? What?
| |
| You say you just invoked Teeny, changed your mind and now want to quit
| |
| but you haven't even typed any file name. Tough! The first file name
| |
| that Teeny initially "remembers" is not something that you typed but is
| |
| something that Teeny considers garbage as a file name for the Quit
| |
| command. It may be garbage left by a prior operation or by the way
| |
| Teeny was invoked (from the menu or from BASIC). Do you think the
| |
| image of Teeny can be so teeny by having great gobs of initialization
| |
| logic?
| |
|
| |
| 2. I press a function key and Teeny goes nuts and pukes and scrolls
| |
| the screen.
| |
|
| |
| NEWS FLASH -- When running Teeny from BASIC, don't press any function
| |
| key. If you do, whatever string is assigned ("Files", "Load ", or God
| |
| forbid "K MYFILE.DO") is fed to Teeny for consumption.
| |
|
| |
| 3. Everything was going well. It was cool. I was a Loadin'/Savin'
| |
| dude with Teeny -- I mean fast man -- really burnin' up the disk. But
| |
| now, like... you know... I mean ... Teeny just sits there -- stoned
| |
| -- don't do squat. What it is Bro?
| |
|
| |
| The trouble is bad Karma and lack of Cosmic vibes. Really! I checked
| |
| with my Guru and she had a vision and saw what went down with you man.
| |
| Like... you know... I mean ... your disk drive tuned out man. She
| |
| saw you take a smoke break. I know it was some good stuff 'cause she
| |
| said you was gone for a quite a while. Your disk drive took a break
| |
| too! Went trance-like in low power mode she said.
| |
|
| |
| Flip the disk drive power switch off and on. Now reunite with Teeny,
| |
| live long & prosper. Later dude!
| |
|
| |
| 4. I created file DAMNED.2B but Teeny won't Save it. What gives?
| |
|
| |
| With some devilish application programs, you can make a file name
| |
| extension that's damned to be straight from Hell -- repent. Actually,
| |
| the disk drive is willing to Save your file but it's Teeny that doesn't
| |
| like the file name extension. The BASIC interpreter's NAME AS command
| |
| doesn't change file name extensions, so no help there. Another fine
| |
| pickle you've got into Ollie.
| |
|
| |
| To absolve your sin, go to BASIC and kill the file. Follow the Marine
| |
| Corps motto "Kill 'em all and let God sort 'em out" for any other files
| |
| in memory that have condemned file name extensions.
| |
| </pre>
| |
03/11/05 Ron Wiesen Technical Products
Four manuals follow: "TEENY", "TEENY.EXE", "TEENY.BA", and "TEENY.CO".
TEENY MANUAL
TEENY.EXE MANUAL
This manual has five sections. They are in the order that is naturally
occurring for TEENY.EXE usage. The first section answers questions of
where, how, and why with respect to TEENY.EXE invocation.
The next two sections bear on your interaction with TEENY.EXE while it
controls your PC, and how your interactions relate to your current and
future circumstances.
The last two sections are meaningful after TEENY.EXE control of your PC
has ended. Be sure to read the "Bonus" section, lest your PC screen
display fool you into believing that TEENY.EXE still controls your PC.
Both of these last sections cover DeskLink invocations: by TEENY.EXE,
and manually by you.
TEENY.EXE Placement and Syntax
TEENY.EXE is an executable file for a PC. The ideal locale for this
file is C:\ROOT in a fixed disk drive, and A:\ROOT in a floppy
diskette. Place it there now!
The command name is TEENY. The command TEENY /? explains everything,
and the syntax it reveals is especially important. Do the TEENY /?
command now!
-------------------------------------------------------------------------------
C:\ROOT> TEENY /?
-------------------------------------------------------------------------------
Purpose: Boot the Tandy laptop Model 100, 102, or 200 with TEENY for later use.
The boot speed applies now, the working speed of TEENY applies later.
Syntax: TEENY [/p] [/BS] [/S] [/IDSR] [/DOS] [pace]
/p is COM port number. Range: 1 to 4. Default: 1.
/BS is boot speed at 9600 Baud, rather than 19200 Baud.
/S sets TEENY to 9600 Baud working speed, rather than 19200 Baud.
/IDSR makes TEENY insensitive to DSR control line (i.e., DSR unused).
/DOS declares Op Sys as DOS in order to have no pace (i.e., override).
pace is useful only if the Op Sys is Windows, rather than DOS. Where
you don't specify pace, the Op Sys is surveyed: for Windows a
medium pace is set, DOS has no pace. The value set by the survey
is reliable in most cases. Low pace values work well, high values
work fast but can fail. Range: 10 to 99. Set by survey: 40.
Examples:
Port 1 Boot at 19200. TEENY set to 19200, DSR is used. If Windows, pace by 40.
TEENY
Port 1 Boot at 9600. TEENY set to 9600, DSR is used. If Windows, pace by 40.
TEENY /BS /S
Port 2 Boot at 9600. TEENY set to 19200, DSR unused. If Windows, pace by 40.
TEENY /2 /BS /IDSR
Port 3 Boot at 19200. TEENY set to 19200, DSR is used. Windows, pace is 25.
TEENY /3 25
Port 4 Boot at 9600. TEENY set to 9600, DSR is used. DOS declared, no pace.
TEENY /4 /BS /S /DOS
C:\ROOT>
-------------------------------------------------------------------------------
TEENY boots the laptop. The end result is creation of an incarnation
of laptop command file TEENY.CO within the laptop.
The switches /1, /2, /3, and /4 steer the boot to any of four COM ports
of the PC: COM1, COM2, COM3, or COM4. If you don't explicitly supply
one of these switches, the default is boot to the COM1 port.
There's a /BS switch for boot at 9600 Baud. This is needed for a PC
where its COM port(s) can not operate any higher than 9600 Baud. If
you don't explicitly supply this switch, the default is boot at 19200
Baud. Note: do not confuse this /BS switch with the /S switch.
There's a /S switch for creation of an incarnation of TEENY.CO that
works at 9600 Baud. If you don't explicitly supply this switch, the
default is creation of TEENY.CO that works at 19200 Baud. Where the
Tandy Portable Disk Drive 2 is the slave device, it only operates at
19200 Baud -- do not supply the /S switch. Where the Brother Disk
Drive FB100 is the slave device, it only operates at 9600 Baud --
supply the /S switch. For the other Disk Drives (note #1), you have a
choice: 19200 Baud, or 9600 Baud. Where the cable to the slave device
runs through an area of high electrical noise, select 9600 Baud so you
have some immunity to noise. If you plan to use Disk Drive emulation
by "some PC" (note #2) and its COM port(s) can not operate any higher
than 9600 Baud, then select 9600 Baud.
<block>
Note #1 Prior to the use of TEENY.CO with the Tandy Portable Disk Drive
or the Purple Computing Disk Drive, you must establish its
operational speed so that it matches the working speed of
TEENY.CO. See the "Slave Disk Devices" section of the "TEENY
MANUAL" for detail.
</block>
<block>
Note #2 The PC used for TEENY.EXE is not, necessarily, the "same PC"
which you might subsequently use for Disk Drive emulation. See
"About DeskLink" for Disk Drive emulation and 9600 Baud detail.
</block>
There's a /IDSR switch for creation of an incarnation of TEENY.CO that
is insensitive to the DSR control line (i.e., DSR unused). If you
don't explicitly supply this switch, the default is creation of
TEENY.CO that is sensitive to the DSR control line. Where the cable to
the slave device is an inferior arrangement that has no connection to
DSR at the laptop side (e.g., a PalmOS device with a deficient serial
HotSync cable), you consequently must make TEENY.CO insensitive to the
DSR control line -- supply the /IDSR switch.
There's a /DOS switch that in all cases is not needed but in certain
cases may be desirable to use. If you don't explicitly supply this
switch, the boot operation might proceed in a slow-paced fashion that's
appropriate for a Windows Op Sys despite that fact that the Op Sys
which currently controls the PC is a DOS Op Sys. For example, some
dual-boot arrangements are cases that allow a PC to be controlled by
either a Windows Op Sys or a DOS Op Sys. Also there are cases where
removal of a Windows Op Sys from a PC is incomplete in the sense that
the PC environment still retains traces of the former Windows Op Sys
while the current Op Sys is a DOS Op Sys. In such cases you may, by
supplying the /DOS switch, declare the Op Sys as DOS in order to have
no pace (i.e., fastest possible boot operation) which overrides pacing
that would occur for a Windows Op Sys.
There's a "pace" argument you might need to supply to avoid failure of
the boot. If you don't explicitly supply this argument, the operating
system is surveyed: for Windows the boot is conducted at a medium pace
of 40, for DOS the boot is conducted as quickly as possible without any
pace. If you do supply this argument, there is no survey (i.e.,
Windows is assumed) and the boot is conducted at the pace you specify:
from 10 to 99 characters per second.
Initially you don't know whether to supply a pace argument or not. The
practical approach is to not supply it and see what happens. If the
boot completes, you're done. During the boot, the PC screen shows a
reducing down-count to indicate progress toward completion. Also, a
[Wait] shows during any period of suspension and it disappears whenever
boot progress continues. Should the boot fail, the [Wait] persists and
the down-count hangs (i.e., stops), but no harm occurs. The PC screen
also shows the pace value and explains how to escape from the hung-up
condition at both the PC and at the laptop. If it fails, just use the
TEENY command again with a lower value for the pace.
What lower value of pace should be tried? Nobody can know that. It's
a matter of how Windows "mediates" the COM ports of your PC, and that
depends upon a lot of things -- things that change. But it has nothing
to do with the hardware in your PC. Clock speed of the CPU doesn't
matter. Type of UART at the COM port doesn't matter. And restarting
Windows in so-called "DOS mode" doesn't help because Windows still
mediates the COM ports in that mode. Just guess at a lower value of
pace and try it!
Primary Objective
TEENY.EXE has one primary objective -- creation of an incarnation of
command file TEENY.CO within the Tandy laptop. Once file TEENY.CO is
created, you might not ever need to use TEENY.EXE again! Note that
TEENY.CO has three traits that it "inherits" from TEENY.EXE.
- working speed -- either 9600 Baud or 19200 Baud, based on whether
you did or did not supply the /S switch when you invoked TEENY.EXE.
- DSR sensitivity -- either insensitive (i.e., DSR unused/ignored) or
sensitive (i.e., DSR used and expected), based on whether you did or
did not supply the /IDSR switch when you invoked TEENY.EXE.
- laptop Model type -- either type 10x or type 200, based on the Model
of Tandy laptop that TEENY.EXE detected via the COM port of the PC.
TEENY.EXE interacts with you; read and follow the directions that
appear on the PC screen. TEENY.EXE directs you step by step. In some
steps you are directed with terminology that's peculiar to a Tandy
laptop. For example, "At laptop, type an End address and press Enter"
does not precisely tell you what to type, but "End address" is peculiar
to a Tandy laptop in regard to .CO type files. Perhaps you have no
idea about what is an appropriate End address for file TEENY.CO -- the
PC screen gives you some limiting guidance such as "Do not use an End
address higher than 62959" which corresponds to "stuff" TEENY.EXE has
extracted from your Tandy laptop. In other steps you are directed in
precise ways. For example, "At laptop, type ?HIMEM:CALL9643 and press
Enter" does tell you precisely what to do.
Option
After it creates an incarnation of file TEENY.CO, TEENY.EXE then leaves
you an option. Said another way, the primary objective has been
achieved but you have a decision to make now that might matter to you
in the future. The decision is not critical, there is no right or
wrong choice -- just choose! Do you want to:
- conserve memory in the Tandy laptop. The Tandy laptop now is
consuming memory that holds BASIC statements, should you purge the
statements to recover the memory they consume? NEW recovers the
memory.
- be able to re-create TEENY.CO without using TEENY.EXE, a PC, and a
null-modem cable. Such stand-alone ability now is held within the
Tandy laptop, should you retain it for future use? SAVE"TEENY
retains it in the form of a BASIC program file named TEENY.BA.
File TEENY.CO, like any conventional .CO file, is immutable. TEENY.EXE
has cast an incarnation of file TEENY.CO in concrete -- so to speak.
It inherits laptop Model type, working speed, and DSR sensitivity as
traits. It has an End address that you specified. These fit your
circumstance now, but the future may present you with a different
circumstance that requires another incarnation of file TEENY.CO that is
different. Consider the future -- TEENY.EXE leaves you an option for
how to handle a future circumstance: use TEENY.EXE again, or use
TEENY.BA. Using TEENY.EXE, you can select a different working speed
and/or DSR sensitivity and/or specify a different End address. Using
TEENY.BA, you can only specify a different End address.
Bonus
Make no mistake about it, TEENY.EXE finishes! It knows when it is
done, and it ends. When TEENY.EXE ends, it no longer has control of
your PC. It has done its work -- end of story, finito, that's all
folks.
TEENY.EXE has a bonus that is related to DeskLink and it gives you that
bonus if it can. If it is technically possible, TEENY.EXE gives you
the bonus when it finishes. You may get the bonus, you may not get it.
If you do get the bonus then your PC screen shows two listings of
"laptop-type" file names, and directly below these two file name
listings "To exit Desk-Link, press F10." is seen.
The bonus is that TEENY.EXE invokes DeskLink on your behalf just after
TEENY.EXE lists, on the PC screen, laptop-type file names that it finds
within:
- the memory of the Tandy laptop. File names TEENY.CO and TEENY.BA
are not in this (first) listing.
- a particular drive and directory of the PC. The particular drive
and directory (e.g., C:\ROOT) are indicated above this (second)
listing.
If you plan to immediately use TEENY.CO at the Tandy laptop to transfer
laptop files to or from the PC, then this bonus has value to you. With
manual invocation of DeskLink, a "brag screen" is all that appears at
the PC -- it does not list any file names whatsoever. The bonus is
that TEENY.EXE provides two listings of file names and then it invokes
DeskLink in a way that leaves the screen intact.
It is DeskLink that has control of your PC. So don't expect to see any
change in the file name listings at the PC screen while you are using
TEENY.CO to transfer files. TEENY.EXE gave you a bonus, not magic
intervention in a session DeskLink.
About DeskLink
DeskLink (also known as BOOSTER-LINK) is freeware placed in the public
domain by Club 100. Sessions of DeskLink provide Disk Drive emulation.
DeskLink is useful to Personal Computer (PC) owners who also own a
Tandy laptop or NEC notebook, and have a suitable null-modem cable.
The "Null-modem Cable" section of the "TEENY MANUAL" details what is
suitable for DeskLink. DeskLink freeware is distributed as the PC
command file DESKLINK.COM.
Although your usage of TEENY.EXE might invoke a session of DeskLink,
you must manually invoke it for other sessions. So placement of
DESKLINK.COM and its command line syntax for manual invocation are
necessarily detailed here. Certain desirable aspects of DeskLink that
pertain to its operation as a slave to TEENY.CO, and generally do not
pertain to other masters, are explained in the "Slave Device Nuance"
section of "TEENY.CO MANUAL".
DESKLINK.COM is a command file for a PC. The ideal locale for this
file is C:\ROOT in a fixed disk drive, and A:\ROOT in a floppy
diskette. Place it there now!
The command name is DESKLINK. The command DESKLINK /? explains
everything, and the syntax for its switches has much in common with
the syntax of TEENY.EXE. Do the DESKLINK /? command now!
-------------------------------------------------------------------------------
C:\ROOT> DESKLINK /?
DESK-LINK (version 1.05)
(c) 1987, Traveling Software, Inc.
Usage: DESKLINK dir
Function: PC disk emulation of a TANDY Disk Drive via "COM1:" at 19200 baud.
Notation: dir - root directory name (\ROOT used if omitted).
Switches: /2 - to communicate through "COM2:".
/S - to communicate at 9600 baud.
C:\ROOT>
-------------------------------------------------------------------------------
DeskLink makes a COM port of a PC respond, to stimulation, in the slave
fashion that a Disk Drive (e.g., Tandy Portable Disk Drive) exhibits.
Although the disk media of a PC differs considerably from the media of
a Disk Drive, stimulations and responses are alike. Thus, DeskLink is
an emulator of a Disk Drive. Thus, the stimulations by a master such
as TEENY.CO evoke operations which involve "laptop type" files and some
file repository within a PC.
There's a "dir" argument so you can specify what directory in the PC
current drive you want to use as the repository of "laptop type" files.
If you don't explicitly supply this argument, the default directory
\ROOT of the current drive is the repository.
There's a /2 switch which steers operation to the COM2 port of the PC.
If you don't explicitly supply this switch, the default is the COM1
port.
There's a /S switch for 9600 Baud operation. This is needed for a PC
where its COM port(s) can not operate any higher than 9600 Baud. Where
the null-modem cable runs through an area of high electrical noise,
supply the /S switch for immunity to noise. If you don't explicitly
supply this switch, the default is 19200 Baud operation.
TEENY.BA MANUAL
TEENY.CO MANUAL