|
|
(9 intermediate revisions by 2 users not shown) |
Line 1: |
Line 1: |
| 03/11/05 Ron Wiesen Technical Products | | 03/11/05 Ron Wiesen Technical Products |
| Four manuals follow: "TEENY", "TEENY.EXE", "TEENY.BA", and "TEENY.CO".
| |
|
| |
|
| [[TEENY MANUAL]] | | # [[TEENY MANUAL]] <br>Covers TEENY baud rate and wiring issues |
|
| | # [[TEENY.EXE MANUAL]] <br>Covers TEENY.EXE injector and Desklink |
| [[TEENY MANUAL]]
| | # [[TEENY.BA MANUAL]] <br>Describes the specialized file injected by TEENY.EXE |
| [[TEENY.EXE MANUAL]] | | # [[TEENY.CO MANUAL]] <br>Covers actual operation of TEENY |
|
| |
| 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!
| |
|
| |
|
| <pre>
| | [[Category:File Transfer]] |
| -------------------------------------------------------------------------------
| |
| 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>
| |
| -------------------------------------------------------------------------------
| |
| </pre>
| |
|
| |
| 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!
| |
| | |
| <pre>
| |
| -------------------------------------------------------------------------------
| |
| 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>
| |
| -------------------------------------------------------------------------------
| |
| </pre>
| |
| | |
| | |
| 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]]
| |
|
| |
| Laptop file TEENY.BA is a "descendant" of PC file TEENY.EXE, and there
| |
| are three "inherited" traits. TEENY.BA inherits:
| |
|
| |
| * 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.
| |
|
| |
| When you use TEENY.BA, it passes on these three traits! In other
| |
| words, you could invoke TEENY.EXE on EIGHT OCCASIONS (both working
| |
| speeds and both DSR sensitivities for each of the laptop Model types)
| |
| to separately produce EIGHT VARIANTS of laptop file TEENY.BA. Keep
| |
| "heritage" in mind should the time come to uses "some" TEENY.BA file in
| |
| "some" laptop.
| |
|
| |
| Laptop file TEENY.BA is a "loader" of TEENY.CO, in a sense. It creates
| |
| an incarnation of file TEENY.CO that is address-specific. You dictate
| |
| a specific address -- TEENY.BA constructs TEENY.CO accordingly. As is
| |
| true of any conventional .CO file, file TEENY.CO has a .CO file
| |
| descriptor and an appended image. TEENY.BA constructs both the .CO
| |
| file descriptor and the appended image of TEENY.CO based on the End
| |
| address which you dictate. If an incarnation of file TEENY.CO exists,
| |
| TEENY.BA replaces it with the specified incarnation.
| |
|
| |
| Twelve seconds after you invoke TEENY.BA, it prompts you to specify the
| |
| End address for TEENY.CO. WARNING -- specify an End address which is
| |
| at least one less than the point of MAXRAM that you anticipate will be
| |
| in effect during the use of TEENY.CO. For example, if you anticipate
| |
| that no MAXRAM software will be present when you use TEENY.CO, then the
| |
| highest possible value is:
| |
| | |
| <pre>
| |
| 62959 (for Models 100 and 102)
| |
| 61103 (for Model 200)
| |
| </pre>
| |
|
| |
| Either type a 5-digit value to specify an End address and then press
| |
| ENTER, or just press ENTER without typing anything for an END address
| |
| that is one less than the current point of HIMEM. When you press
| |
| ENTER, TEENY.BA constructs file TEENY.CO in accordance with the End
| |
| address, but TEENY.BA does not alter the current point of HIMEM.
| |
|
| |
| After TEENY.BA constructs the address-specific incarnation of file
| |
| TEENY.CO, it ends by reporting "Loaded TEENY .CO", and "Ok" appears on
| |
| the laptop screen. If you want to record the address specifics of
| |
| TEENY.CO at this time, type the following and press ENTER. The Top,
| |
| End, and Exe addresses are listed on the laptop screen.
| |
| | |
| <pre>
| |
| CALL9643 (for Models 100 and 102)
| |
| CALL13072 (for Model 200)
| |
| </pre>
| |
| | |
| [[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>
| |