next up previous


QTPI v1.66 for SMS/QDOS
A Communications Program for
SMS and QDOS operating systems.

Jonathan Hudson








Copyright ©1993-1999 Jonathan R Hudson. jrhudson@bigfoot.com

This edition of the QTPI documentation is consistent with version 1.66 of QTPI .

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Copyright

QTPI is distributed under the GNU Public Licence.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

If you find QTPI useful you are encouraged to make a small donation to an animal welfare or environmental charity.

The QTPI source code is available, under the terms of the GNU Public Licence, for download from http://www.bigfoot.com/~jrhudson/


Contents


List of Figures


List of Tables

Overview

             
System Requirements

QTPI is a communications program for SMS/QDOS compatible operating systems, these include QDOS, SMS2, SMSQ, SMSQ/E and probably many other operating systems starting SMS. It will also run on the QDOS derived operating systems (Minerva, ST/QL and Amiga/QDOS) originally implemented on the Sinclair QL. QL/QDOS based systems may not be able to enjoy full QTPI functionality without additional hardware such as the (super)Hermes serial co-processor from TF Services tony@firshman.demon.co.uk and extended graphics cards. Specific QL caveats are described in the appendices to this manual.

QTPI also runs on the UNIX (uqlx), Macintosh (Qemulator) and DOS/Windows QL emulators, thought you'd be much better off using these system's native terminal programs.

QTPI uses the "Pointer Interface" or "Extended Environment" (or even "Pointer Environment" (PE)). If this is not supplied as part of the system software for your computer, you will have to obtain the files ptr_gen, wman and hot_rext from a commercial source. QL/QDOS users who are members of the QUANTA user group can obtain a free (and obsolete) version of the PE ptr_gen, wman; however this version may not support QTPI functionality. QDOS users also require Toolkit II (TKII).

     
File Select

If you have the Menu Extensions (JMS) on your system, then QTPI can optionally use these (i.e. this requires menu_rext).

One other freely distributable software product, the c68 env_bin environment variables extension is mandatory. env_bin is a freely distributable c68 extension by Dave Nash, Dave Walker and Dave Woodman. This is available, inter alia, from my web site.

These items are not subject to the QTPI license.

 

QTPI is an acronym for Quintessential Telecommunications, Pointer Interface, or perhaps Quintessential Telecommunications, Peculiarly Intuitive (or even quaintly terrible, pathetic implementation, but don't tell anyone I told you that.

QTPI is a working name during program development that unfortunately stuck. The author continues to be deeply embarrassed, and is likely to remain so for the foreseeable future; however thin this ludicrous attempt at humour may wear.

QTPI supports a scripting language; this requires a Thing, Client Server Manager (CSM). QTPI v1.60 and later require CSM v1.17 or later. CSM 1.22 or later is recommended.

  The source to QTPI is freely available under the GNU Public License. Please note that I foolishly embarked on QTPI  before I had learned how to program the Pointer Interface; the code is thus obscure, unclear, uncommented and possibly full of bugs.

   
Configuration

The external configuration required by QTPI is defined by two environment variables.

QTPI_DATA
The QTPI configuration file. The default data file is flp1_QTPI_dat. This file contains all the configuration information for QTPI. You can change this name to suit your particular setup. QTPI does not use data defaults when locating the data file, you must specify the full path.
QTPI_OPT
Command Line options likely to be useful for all other configurations. This environment variable is defined by a space delimited string. Only the options you want need to be present.
nofs Don't use File Select even if it's available.
mono Use a mono colour scheme.
slow Use the slow comms mode (rather than so called high speed). You're unlikely to want this.
flag=N Sets value of the so called special flags, (default 0). The special flags are ad hoc hacks of dubious value described in version specific release notes.
cols=N Set screen columns (default 80).
rows=N Set screen rows (default 24).
serl=N Set number of serial ports (default 2).
conf=N Default action for unconfirmed changes.
0.
Save (default)
1.
Don't save
2.
Go Back
phon=N Default action for unconfirmed changes
0.
Save (default)
1.
Don't save
2.
Go Back

Numeric values may be in any format parsable by strtol(3) with base of 0, i.e. decimal, octal with leading 0 or hexadecimal with leading 0x.

For example:

setenv "QTPI_DATA=win3_qtpi_QTPI_dat"
setenv "QTPI_OPT=flag=0xe0 nofs cols=72 rows=22 phon=2 conf=1"
setenv "QTPI_OPT=flag=224  nofs cols=72 rows=22 phon=2 conf=1"
setenv "QTPI_OPT=flag=0340 nofs cols=72 rows=22 phon=2 conf=1"
You can just put these in your BOOT file and forget them !

  The QTPI archive provides an example phone book; it is just that, an example, I accept no responsibility for the accuracy of the information therein

   
Installation

QTPI uses four categories of files, you may choose to place them in four discrete directories or all in one place, or any such combination, the choice is yours.

QTPI
The program.
QTPI_dat
A data file describing QTPI internal configuration items.
QBook_dat
QTPI data files (Program configuration and phone book)
XPR*_library
The XPR file transfer libraries (* represents a protocol, see page [*])
*_prefs
XPR preference files, created and maintained by the XPR library to store your preferred parameters.

     
QTPI XPR Libraries

XPR Overview

  XPR stands for eXternal PRotocol. It is a method of providing file transfer protocols to a communications program in an open and extensible fashion. You can use the XPR libraries with any program that supports the XPR standard. If you wished to write, for example, a stand-alone ZMODEM server, or even a BBS (Bulletin Board System), you could use XPR to provide a file transfer capability. Documentation, source code and program examples on writing and using XPR compliant programs may be available from various BBS, or email me for more information.

The XPR implementation in QTPI is derived from the elegant shared libraries available under AmigaOS; alas the QDOS version is an ugly, primative hack. The following XPRs are currently available.

XMODEM
  The original file transfer protocol. It is widely supported on most hardware platforms. It is slow and does not support batch transfers. It is supported on most BBS. It offers a numbers of options, for example 128 byte blocks or 1K blocks and either checksum or CRC error checking. Use 1K blocks and CRC where possible.
YMODEM
  As XMODEM, but with added batch capabilities. Offers a 'G' option that is faster at the cost of reduced error checking.
ZMODEM
  A modern and sophisticated protocol that supports batch operations, automatic initiation of transfers, sliding windows and automatically variable block size depending on line condition. It is widely available on most platforms. If you have the choice, use ZMODEM, it'll save your phone bill and nerves. All modern BBS systems support ZMODEM.

ZMODEM can be auto-activated (i.e. respond to remote file transfer requests), for both send and receive.    

SEALink
A sliding window protocol with batch capabilities. It is limited by its small (128 byte) block size. The protocol suffers from a number of design features that can result in handshake problems if even a single protocol character is lost or corrupt. Recent versions of XPR-SEALink (QTPI) and QBOX BBS (1.19m or later) contain debugged SEALinks that may work well.

 

Kermit
A rather old fashioned batch protocol with good error detection and correction at the expense of speed. It will usually cope with very poor lines. Widely supported on mainframe computers and in academia. The XPR implementation supports 1K blocks and level 3 (CRC) error checking and will (allegedly, (actually after v3.2)) communicate with Kermit servers.

   

ASCII
Not a protocol at all ! It has no error checking capability. It offers translation between end of file format and can add a space to otherwise blank lines, which may be useful when using BBS mail editors.

   
XPR Preferences

Each XPR library has a preferences file associated with it. This file defines the settings used by an XPR library. If this file does not exist it will be created using default values. You can edit these values from within QTPI, see page [*]. These files are named *_prefs where * represents the protocol name. The rules for locating these files are described on page [*].

   
Files and directories

qtpi_dat

The data file defining QTPI internal configuration may be defined by the QTPI_DATA environment variable. If this is not defined, the default is flp1_QTPI_dat.

setenv "QTPI_DATA=win1_comms_QTPIxmodem.dat"

You must have loaded (respr/lrespr etc) the env_bin extension for this. If you're not sure about this, please study the env_bin documentation.

You may also invoke the program with the -s command option, for example,

ex QTPI;'-s win1_comms_OldModem_dat'

The space between the -s and the file name is optional. The data file is located as follows:

The phone book file is defined from within QTPI , from either the Files or Preferences menus, and is stored in the qtpi_dat file.

XPR Library Path

The XPR Libraries are located as follows:

     
XPR Prefs Path

The XPR preference files are located by:

Serial Buffer

QTPI supports the environment variable QEM_BUFFER (sic) to define a serial buffer size. The serial buffer size is determined by:

Given reliable hardware (uqlx, superHermes, Atari, QXL with 16550 PC UART), then there is no reason to change this.

Getting Started

   

QTPI is a Pointer Environment program, this should mean that it has a standard, intuitive user interface; I do not intend explaining how the PE works (in fact I haven't the faintest idea); some clues might be gleaned from the Pointer Environment manual, available from the usual vendors (Jochen Merz Software et al).

This document also assumes that you have some knowledge of basic computer communications and thus may not explain every option in detail.

A great deal of basic communications information is available from the following sources.

The QeM manual
. QeM was a non-Pointer precursor to QTPI , so QTPI is a natural progression from QeM. This document is available from a number of BBS. It is tediously detailed.  
The LFAX manual
(Lester Wareham) contains much useful material on connecting a modem to your system and solving modem problems, even if you're not using Class 1 fax.  
Qualsoft Terminal
The Quill format doc file distributed with the version of QualSoft Terminal supplied with the QUANTA QConnect offer has some useful general advice on QL Comms.    

Luminaries
Well known SMS/QDOS comms luminaries such as Phil Borman, Tony Firshman, Graham Goodwin and Wayne Weedon (and many others 2.1) are extremely knowledgeable on these programs (and QL Comms in general). They are an excellent source of free advice, you will find them (any many others) friendly, welcoming and helpful. Your local QUANTA sub-group or SMS/QDOS BBS Sysop may also be able to help.  

The Author
In extremis, you could ask me ! The most reliable way to contact me is by e-mail jrhudson@bigfoot.com , or, publicly, by posting in maus.computer.ql.intl. If you choose to post in the newsgroup, ensuring the message header carries an X-Comment-To: tag will increase the chance of a reply.

   

     
Invoking QTPI

You can invoke QTPI using EX and EW commands from the command line, or by exec'ing from a QPAC2 menu. You can also HOT_LOAD1 it from a hotkey. Some moderately cunning hotkey options are described on page [*].

When QTPI starts up, you will see an About Box giving the program version number and the Pointer Environment version number. Please quote these numbers if you need to report a problem.

QTPI displays, by default, both a pointer and a cursor in the main terminal window. The terminal window can only accept keyboard input when the cursor is in the window; this is a feature of the rather disfunctional wman Window Manager.

QTPI Icons

        You will see a number of icons on the left of the screen. The first three are the standard Pointer move, size and sleep icons.

qtpi.png

QTPI initially uses a 512 x 256 pixel area, the move icon is therefore of no use on a basic system, but is functional on SMS and extended display QL systems.

The size icon permits resize; from approximately 21 lines (224 pixels) to your screen maximum-2, this gives 24 text lines on a standard QL screen and 58 text lines on a 800x600 enhanced display. In order to easily achieve the 80x24 character cell screen for VT/ANSI applications, a right mouse button (RMB)   click on the resize button will force a 80x24 display, while a left mouse button (LMB)   click (or CTRL-F3) will invoke the standard resize function.

The QTPI window may also be varied in the horizontal.

The sleep icon will iconify QTPI . In this state, it continues to read incoming serial data, so log files are maintained and auto-XPR (ZMODEM) requests are honoured, however when you click the icon (button), then the restored screen will be redrawn to the degree defined by the 'Connections' menu 'On Wake' item (see page [*]. If QTPI receives an XPR ZMODEM request while it is iconified, then the full screen will be picked to the front and the transfer will proceed. If QTPI is configured to start XPRs iconified, then the pick happens when the transfer completes, so you could use QTPI as a background ZMODEM server. The pick and restore can be quite spectacular (or disturbing), particularly if you are working on another application at the time!

The other icons are described in the relevent chapter for that menu. The Status bar describes the current state of QTPI; the majority of the fields are self explanatory, with the possible exception of Flags; three characters describe the RXEOL, TXEOL (see page [*]) and wrap (page [*]) states. The EOL values are c for Carriage Return / Line Feed, l for Line Feed and R for Carriage Return. The wrap indicator will be w when wrap is enabled, or space otherwise.

    If you have the QPAC2 (or equivalent) button frame software, then the QTPI button is placed in the button frame, if you don't have this software, then you get a small button at the pointer position. You can move this button by LMB click and dragging it. In both cases, RMB click on the button restores QTPI . QTPI uses the standard Pointer keys for move and sleep, CTRL-F4 and CTRL-F1 respectively.

The other icons represent the Files Menu (F6), Modem Menu (F7), Preferences Menu (F8), Phone Book (F9), Transfer Icon (F10), "Handy Items" (CTRL-F6) and Exit (Shift-Enter).

Files Menu

   

 

   
File Menu Options

The disk icon invokes the FILES menu, the selection key is F6 (SHIFT-F1). The files menu offers the following options.

qtpiFM.png

 
Capture All (C)
Captures incoming serial data to a file. Any currently buffered serial data is also stored.  
Capture Now (A)
Captures incoming serial data to a file. Any currently buffered serial data is ignored.  
Send Text (S)
Transmits a text file.
Upload (U)
Uploads (sends) file(s) using the currently defined XPR protocol.  
Download (D)
Downloads (receives) file(s) using the currently defined XPR protocol.    
XPR Protocol (X)
Displays a menu listing the available XPRs. You may load a new protocol from this menu.
XPR Prefs (P)
 Invokes the current XPR preferences edit screen.  
File Options (F)
Displays a menu listing default files and directories used by QTPI.  
Review Buffer (R)
Displays the contents of the Review Buffer.  
Xfer Buffer (X)
Displays the contents of the xfer Buffer.  
Run External (N)
Runs (interprets or executes) a script file. See the QTPIScript manual for further details of the QTPI scripting language and facilities.  

The Capture All, Capture Now and Send Text options will prompt you for a file name.

The Upload option will also prompt for a file name, or names. The selection for upload depends on the XPR Protocol chosen; some protocols (Kermit, SEALink, YMODEM and ZMODEM) allow batch uploads (i.e. more than one file). For batch protocols, you may define multiple files, wildcarded file names and /or the name of a file listing the files you wish to transfer. This is described in the File Transfer section.

The Download option will request a file name for the non-batch (XMODEM & ASCII) transfers. For batch transfers, the name supplied by the host is used.

The XPR Protocol will present you with a list of the XPR options installed on you system. Note the usage of the Libr Dir setting to define the device and /or directory where the protocols are stored.

The XPR Preference item will present you with a list of options for the current XPR transfer library. Each setting is described in the XPR Transfer chapter, page [*] et al. The File Options choice allows you to change a number of file and directory related items. If you select Save or SaveAs from the Commands option in this section, QTPI saves all configurable information, not just the files related items. The following file options are available.

qtpiFP.png

Phone Book
The location of the QTPI phone book qbook_dat  

Send From
The default directory for ASCII send files  

Receive To
The default directory for ASCII capture  

Upload Dir
The default directory for XPR upload  

Download Dir
The default directory for XPR download  

Libr Dir
The default location for XPR libraries  

HOT Keys
The file describing QTPI specific HOT KEYS  

Default Log
The default log (capture) file  
Start with
Either Log open or Log Closed. Only valid if a default log file name is defined. If the setting Log Open is used, then a capture log is open as soon as you invoke QTPI .  

Script Log
The default output file for scripts invoked by QTPI .  

Start Script
The name of a script file to be interpreted (or executed) when QTPI is invoked.  

Stop Script
The name of a script file to be interpreted (or executed) when QTPI is exited.  

User Menu
The name of a file defining the current User Menu. The format of this file is described on page [*].  

Review Buffer and Capture Options

    QTPI internally buffers the last 64 Kbytes of data received. This can be viewed by selecting the review buffer item from the Files menu. This opens a separate window that can be moved, scrolled and resized. If you have a SMS or extended display system, you can move the review window clear of the QTPI window and thus view current and logged data at the same time. The data displayed in the review buffer is a snapshot of the QTPI internal buffer. It can be updated with the most recent contents of the internal buffer using the WAKE icon. Note that QTPI  may only display incoming data if you either move the review window so it does not overlap the QTPI window or you pick the QTPI window to the top. You can use HOT_KEYS to toggle between QTPI and the review buffer, for example.  

ert HOT_LOAD1(q,QTPI)
ert HOT_PICK('x','QTPI Review') : REMark Pick is not wake
ert HOT_WAKE('X','QTPI Review') : REMark Wake is not pick

When you PICK the review buffer, the window is brought to the front, if you WAKE the review buffer, then it is brought to the front, and reloaded from the latest data in QTPI 's internal buffer. You can just define a single key toggle between QTPI and the review buffer. In the first case, ALT q will toggle between WAKEing QTPI  and WAKEing the review buffer, once the review buffer has been initially invoked.

The Review Window supports the following key / mouse actions.  

ESC
Exit, close review window
CTRL-F2
Refresh, loads the latest data from QTPI's buffer.
CTRL-F3
Resize according to usual PE rules
CTRL-F4
Move window
T
Top of buffer
B
Bottom of buffer
ALT DOWN
Page down
ENTER,RMB,ALT UP
Page Up
Space,LMB
Line down
Shift space
Line up
The Review buffer does not interpret control characters, these will displayed according to the facilities of your operating system. The review buffer may filter out carriage returns. If you want to see a captured session in full emulation, you must save the data to a file.

Such capture files (see page [*]) may be played back with QTPI in local mode , (see page [*]), using the Send Text menu option. The results of XPR file transfers are also recorded in the xfer buffer. The Capture Options reflect the review buffer functionality  

Capture All
Stores all data currently in the review buffer and subsequent data to the specified log file.  
Capture Now
Stores all subsequent data in the log file .The Default Log from the Miscellaneous (Handy) menu is a Capture Now log.    

Scripting

  QTPI supports scripting via a number of extensions available using the Client Server Manager (CSM) Thing. This is described in the QTPIScript manual.

    
HotKey Trickery

QTPI has always been HOT_KEY friendly. QTPI  supports the concept of job specific hot keys. These are HOT_KEY definitions stored in a file that is loaded during QTPI start up. Such HOT_KEYS are only defined while QTPI is running. If there is a conflict with previous HOT_KEY definitions, the conflicting definitions are saved, and restored when QTPI exits. This of course, only works if you cleanly exit QTPI , if you RJOB it, then the QTPI  specific keys are not removed and the conflicting ones are not restored. The QTPI specific HOT_KEYS just stuff characters into the keyboard queue. As SMS/QDOS is a multi-tasking system and HOT_KEYS, are, alas, a system wide resource, then this obviously has system wide implications, however as comms programs tend to be used in an exclusive mode, you may not find this a problem. I find some definitions like ALT-U (upload), ALT-D (download), ALT-R (Review) quite useful. If you don't like it, you don't have to use it. The name of the hot key file is defined as in the Files Options menu, (see page [*]). The default is dev_QTPI-Keys_dat. I happen to like illegal characters in such file names, change it if you don't. The QTPI-Keys file is an ASCII text file that can be edited with a standard text editor. The format is:

Any attempt to use either hash or comma as a HOT_KEY will result at best in abject failure. You (probably) deserve any problems it creates. Hexadecimal equivalents for function keys may be defined in your system manual, assuming the vendor has provided one.

If you have, for example,

ERT HOT_THING (r, RJob)
in your boot file, and
    
#Define Review hotkey (ALT R)
R,\xeaR

in the QTPI-Keys file, then :- Before running QTPI , ``ALT R'' and ``ALT r'' give the `Rjob' thing. Run QTPI , ``ALT R'' gives the Review Buffer, ``ALT r'' gives the `RJob' thing. Exit QTPI (cleanly), and both give `Rjob' again. Almost impressed? You should be!

I also suggest that you read the comments in the example QTPI `hotkeys' file for otherwise undocumented examples.

Modem Menu

   

Modem Menu Options

  The MODEM menu is selected with F7 (SHIFT-F2). The menu offers the following options.

qtpiMM.png

Dial (D)
Presents a text requester for a phone number to dial.  

Disconnect (I)
Sends the disconnect command to the modem.  

Connect (C)
Sends the connect command to the modem.  

Answer (A)
Sends the answer command to the modem.  

Auto Answer (U)
Sends the auto-answer command to the modem.  

Reset Line (R)
Sends an initialise command to the modem, resets some internal parameters.  

Version (V)
Sends the inquire command to the modem. Displays an about box. Click on OK or enter ESCape to continue.  

AT Strings (T)
Defines modem commands for Hayes compatible modems.  

Modem Commands

      The AT Strings item displays a window to enter or change modem command strings. Special, control characters may be included using an escape notation (see page [*], QTPI Escape Sequences).

The items and the defaults are:

qtpiMP.png

Modem Init
This command is sent before dialling and when the Reset Line or Init Modem commands are used. The defaults is ATZ\r.  

Pre Dial
The dial command. This is sent immediately before the phone number. The default is ATD.  

Post Dial
Sent after the phone number. The default is \r (carriage return).  

Apres Dial
A string that may be sent between the Pre Dial string and the actual phone number. This may be used to invoke extra telecomms services, such as Mercury cost call back.  

Disconnect
A command to disconnect the modem "drop the line". Should only be used in extremis, as failing to log off correctly may annoy BBS sysops. The default is +++\|\~ATH0\r.  

Connect
A command to seize the line. Default is ATH1.  

Answer
Command to get the modem to answer the phone. The default is ATA.  

Auto Answer
Command to get the modem to automatically answer the phone. The value after the = is the number of rings before the modem answers. The default is ATS0=2.  

Reset
Command to reset the modem. Default is +++\|\~ATZ\r.  

Version
Command to return version and status information from the modem. QTPI version information is also displayed. The default modem command is ATI0I1I2I3\r.  

Get Carrier
A string returned by the modem when a carrier is detected (a connect, going on line). The default is CONNECT. Supra modems return CARRIER before a CONNECT message. QTPI will start the call timer when it recognises the Get Carrier string.  

Drop Carrier
A string returned by the modem when a carrier is lost (a disconnect, dropping the line). The default is NO CARRIER. QTPI will stop the call timer when it recognises the Drop Carrier string.  

     
QTPI Escape Sequences

Certain special characters can be defined using a `C' like escape sequence notation. The escape character is the backslash. The following escape commands are provided. These may be used in AT modem command strings, or in QTPI HOTKEYS. Some sequences, such as the delays, are only applicable in modem control sequences,
\r
Carriage return (ASCII 13)
\n
Line feed (ASCII 10)
\e
Current line terminator (as configured by the TX EOL Code field)
\\
The backslash character (ASCII 92)
\t
Tab character (ASCII 9)
\b
Backspace character (ASCII 8)
\s
Space character (ASCII 32)
\f
Formfeed character (ASCII 12)
\nnn
nnn is an Octal (base 8) number, inserts the ASCII value nnn into the text string. The text \033 would insert the ESCape character into the output string.
\xnn
nn is a hexadecimal (base 16) number. \x1b would insert the ESCape character.
\|
One second delay before next character.
\~
0.1 second delay before next character.
\+
10 second delay before next character.
\u
Sends the current phone book login string.

Preferences Menu

 

Preference Menu Options

The "question mark" icon invokes the PREFERENCES menu, the selection key is F8 (SHIFT- F3). You are presented with a menu with options of:

qtpiPM.png

Connection (C)
Displays an edit page for general, configurable items.  
Files (F)
Displays file preferences edit page.  
Modem (M)
Displays modem AT edit page.  

The Connection option invokes a selection page for the general terminal preferences. The file and modem selections here are the same as are available from the Files / Preferences and Modem / AT Strings menus described earlier.

Prefs Sub Menu

  The pull down menu associated with this and other configuration related displays has three options displayed in the title bar.

qtpiSM.png

Commands (F3)
Pulls down a command sub-menu, described below.  
Abort (Shift-Tab)
Returns from the menu and restores (where possible), changed values to the previous value.  
Quit (ESC)
Returns from the menu and uses all edited (new) values.  

Prefs Sub Menu - Options

  The 'Commands F3' menu has the following options, some of which may be unavailable, depending on context.

Open (O)
Opens and reads a data file. The setup described by the file will become the current setup.  
Save (S)
Saves data to the current data file.  
Save As (A)
Saves data to a user-defined file.  
Defaults (D)
Returns values to default values.  
Init Modem (I)
Initialises the serial line and modem (if possible).  

   
Connection Options

The Connections window displays a window that allows you to change a number of connection options. These items may be text (you are invited to type a response), toggle (a number of preset items are available), or 'other' (where a menu or additional dialogue box will be presented).

Toggle fields (those having number of preset values), may be toggled forwards using ENTER / RMB or backwards using SPACE / LMB. For example, if the Baud field displays 9600, then ENTER / RMB will change it to 19200 and SPACE / LMB will change it to 4800. This is more natural with a mouse than keyboard.

qtpiPP.png

   
Emulation

The terminal emulation, VT52, VT100 / VT102, ANSIn (n=1 to 4). ANSI modes are described on page [*].

   
Port

The serial port, ser1 or ser2 (or more if defined). Note that users of superHermes should read carefully the Comm Dev section.

   
Parity

This item offers the standard SMS / QDOS parity settings. QTPI maintains the serial device with no parity and handles these parity settings internally. This means that Even Parity and CIS mode are exactly the same (and all binary file transfer protocols run as 8 bit, regardless of parity).

Parity is correctly asserted on transmit and, if set, masked out on receive (no check is done on receive parity (this is, after all, the latter part of the 20th century).

The parity setting is not denoted as part if the serial device name, but between the device name and the emulation (e.g ser2hr e VT100 for even parity) in the status line.

   
Flow

This defines the hardware flow control (or not).

   
Translate

This item controls the serial device's internal translation of EOL / EOF codes. This may be described in your operating system manual and is perhaps better handled by the QTPI RX/TX EOL parameters.

     
Baud

The baud rate. QTPI will set the baud rate to the value specified here. If this is set to None, then the baud rate pertaining before QTPI was invoked is used. If your system vendor has bothered to make methods of obtaining baud rates greater than 19200 freely available, then these may be supported.

   
RX EOL

The received character(s) that represent End of Line.  

   
TX EOL

The characters that QTPI transmits when you press ENTER (or Sending a text file, when a LineFeed ASCII 10 character is encountered).

   
Del Char

The character that is sent when the DELETE key is pressed. Options are BS (ASCII 8) or DEL (ASCII 127).

       
VT Wrap

The Wrap parameter has values On,Off,force. When you select VT100 or VT102, wrap is set to off (VT100 standard), unless you have wrap = force, in which case QTPI will autowrap long lines. If you use ANSI emulation with a PC based BBS, you will almost certainly require Wrap = On to view ANSI graphics correctly.  

   
XPR Protocol

The selected file transfer protocol. When you click on this item, a menu will display the currently available file transfer protocol(s).

   
Beep

Controls if QTPI beeps on completion of XPR file transfers.

   
CSI

This controls the usage of the CSI character (ASCII 9b hex, 155 decimal). This character is the eight bit ANSI lead in control character (the seven bit VT100 equivalent is ESC[ ). If this field is defined as Interpret, then CSI is used as a control character. If this field is defined as display, then ASCII 155 is displayed. This field is only effective with ANSI emulations. If CSI is defined as interpret, and your are using an ANSI emulation, then CSI is also transmitted as the lead in for arrow and function keys. This means you can use QTPI as an 8 bit ANSI terminal.

Unless you know you need this, leave it as display.

   
Arrow Keys

This item defines the effect of the arrow keys. This may have values Move Pointer or As Keys. If this is set to Move Pointer, then these keys move the PE pointer and do not transmit codes to the host. You must use SHIFT-Arrow key to transmit arrow key codes to the host in this mode.

The Move Pointer mode has an unfortunate side effect with ALT / HOT KEY strings, described on page [*].

I STRONGLY RECOMMEND THAT YOU USE THE DEFAULT As Keys MODE.

If the mode is 'As Keys', then the arrow key codes are transmitted to the host and do not move the pointer. In this mode, you need a mouse to move the pointer in the terminal window only. The arrow keys will still move the pointer in all the other windows and menus. You can therefore use As Keys mode without a mouse, you just have to select menus by function key rather than with the pointer.

     
7bit keys

In the following section, a caret (^) indicates pressing the CONTROL key and a subsequent key.

The SMS/QDOS keyboard does not directly map onto the commonly used ISO / ECMA type mapping that some Unix (Internet) applications such as Pine expect. A particular problem is that QTPI cannot (in a portable, maintainable (non-keyrow) way) distinguish between ^J and the ENTER key (they both result in the QTPI TX EOL character(s), and some other key presses are lamentably non-standard, for example, ^^ produces (char) 30 on an ISO / ECMA keyboard, but SMS / QDOS requires ^~. In addition, an ISO / ECMA keyboard does not distinguish between ^X and ^x, (i.e shift is ignored) but QDOS does. All this makes it difficult to use programs like Pine which uses ^_, ^^, ^@ and ^J.

QTPI may be configured (at a phone book entry level) so that CONTROL-SHIFT-X produces an ISO / ECMA CONTROL-x. This is achieved by setting the 7-bit keys option. With this enabled, (char)160 - (char)191 are mapped into the range (char)0 - (char)31. With this setting, ^j would send (char)10 regardless of the QTPI TX EOL code, ^^ would send ^^ (i.e both these involve using the SHIFT key) etc. Note that using the 7-bit keys option will preclude using some non-English, SMS / QDOS proprietary, characters.

   
Xfer Signoff

In versions of QTPI < 1.63, the file transfer status window was displayed for 5 seconds (or until you CANCELLED), after a file transfer had completed. The Xfer Signoff value defined this timeout in `clock ticks' (1/50 second European QL). The default value is 250 (5 seconds). It may be set in the range 0-32676.

   
Comm Dev

This field may be used for two purposes.

1.
For non-standard serial devices.
2.
To add extra options to standard devices.
      Examples of the first case would include devices such as superHermes or Jan Bredenbeek's QCON device.

All parameters necessary to define the serial port are taken from the Comm Dev field.

Comm Dev: ser3_b38.4k_u2k_t_u2k
Comm Dev: QCON_9600

In the second case, additional options present in SMS2 operating systems that are not available in QDOS may be added to the serial definition. In this case, the Comm Dev field is prefixed with 'plus' (+).

For example, using SMS2, to avoid TRAnslations opening the port as serNd.

Comm Dev: +d

     
VT Keypad

The usage of VT100 keypad emulation is controlled by this configuration item, VT Keypad, which takes values Yes or No. The key presses used for VT100 keypad emulation are also so used for some non-English accented characters, particularly German. With VT Keypad = Yes, you get the VT100 escape sequences, with VT Keypad = No, you get the normal QDOS character. If you want to use VT100 keypad and German, you have a problem to which I currently have no solution, other than suggesting HyperTerminal or Seyon.

The VT100 KeyPad emulation Keys are shown in table 5.1.

 
Table 5.1: VT100 Keypad
VT Key Keypress VT Key Keypress
PF1 F1 Key Pad 5 CTRL 5
PF2 F2 Key Pad 6 CTRL 6
PF3 F3 Key Pad 7 CTRL 7
PF4 F4 Key Pad 8 CTRL 8
Key Pad 0 CTRL 0 Key Pad 9 CTRL 9
Key Pad 1 CTRL 1 Key Pad - CTRL -
Key Pad 2 CTRL 2 Key Pad , CTRL ,
Key Pad 3 CTRL 3 Key Pad . CTRL .
Key Pad 4 CTRL 4 Key Pad ENTER CTRL /
 

   
Job Swap

The key used to cycle jobs. Some host operating systems (Unix and VMS for example) use CONTROL-C as the interrupt key, so you can change the SMS/QDOS key here. QTPI will restore your default value on exit.

   
Xon/Xoff

Controls whether the QTPI uses the XON-XOFF protocol to pace the host.

   
Controls

Determines whether low ASCII (0-31) characters are Displayed or Interpreted.

     
Exit Baud

This takes the legal QDOS baud values or None or Never. If a numeric value is displayed, then that baud rate will be re-instated on QTPI exit. If the field is set to "None", then the baud rate in force when QTPI was invoked is restored (or at least the value suggested from the system variable offset, sys_tmod). If Never is selected, then no change of baud rate is made.

         
Access

This setting controls access to the serial line, taking values On Line, Local or Echo. In Echo mode, typed characters are both echoed to the screen and transmitted to the host. This may be useful for direct connections between two machines where the host does not provide echo.

Local Mode may be used for replaying captured data with the original emulation.

   
Scroll

This parameter defines the number of lines that are scrolled when a NewLine is required in the bottom line of the display. Screen scrolling is a relatively expensive operation on SMS / QDOS, so setting this to a value greater than 1 can be very effective in speeding up text display to the screen. The value used is a compromise between speed and readability. 0 (or 1) gives a smooth, slow display, 4 is a good working value, 16 is fast but jerky and difficult to read.

   
Dial Try and Wait

These two parameters control the redial of a BUSY phone number. To use this feature, you must have a Hayes compatible modem giving verbose (text) responses.

The Dial Try item defines the number of attempts QTPI will make to dial a number before it gets a connection.

The Dial Wait item defines the delay in seconds between dial attempts.

If either of these values is zero, then auto-redial is disabled.

     
Cmd Delay

This setting controls a inter-character delay when commands (such as dial) are sent to the modem, the units are 1/50 second, and the valid range is 0 (the default, i.e. no delay) to 32767 (over 10 minutes ).

This setting was not only useful for QXL owners with the abysmal serial drivers (prior to SMSQ 2.38) , but remains so for owners of older modems. I discovered by accident that while Cmd Delay = 0 works fine for modern, quality modems, I have to set Cmd Delay = 12 (1/4 sec delay between characters) to get it to dial with an old, obsolete Amstrad SM2400 modem. In the case of the SM2400, QTPI  otherwise sent the characters faster than the modem could cope in command mode.

Use of CMD Delay may enable use of QTPI with older modems that have previously refused to dial from the phone book or modem menu.

I recommend that if your modem has failed on dial with older versions, then you should start with Cmd Delay = 25 and work down to a minimum safe value. If you do this dialling your own number, it costs you nothing.

     
Ser Buffer

This defines the memory used by QTPI to buffer serial input, it may be from 1280 bytes to the maximum your free memory permits. The value set on the Connection page will only come into effect when you re-start the program (i.e. it is not dynamic). You may define it using the symbol 'k' for multiples of 1024 bytes (i.e. 16K and 16384 are equivalent). The default of 16K bytes should be sufficient for all applications. The value set here may be over-ridden by the environment variable QEM_BUFFER (sic).

     
Start XPR

This offers the choice of Full screen, Iconified or Info-Icon. QTPI can start XPR transfers with QTPI in a iconified (button) state, this allows the transfers to proceed faster (about 10%) as it does not display on- going statistics and lets you get on with something else. QTPI will be picked to the front of the screen when it finishes. The Icon state just displays a button; Info-Icon displays a button that is updated with number of bytes, errors and timeouts. This setting provides a compromise between speed and operator sanity.

           
On Wake

Aka the Casablanca option, (so called because it uses a procedure called PlayItAgainSam()). This option instructs QTPI to replay (some of) the review buffer to the terminal screen after a WAKE. QTPI redraws the lesser of:

1.
last 24 screen lines (delimited by LF)
2.
From last form feed (Home/Clear screen)
3.
last 2K in review buffer (or all if less)

You can enable and disable this behaviour from the Connection screen, using the On Wake field options Redraw or Clear).

At present QTPI adds information such as log open times to the review buffer. Note that if you have a complex ANSI screen, it may be bigger than 2K and not have ANY LFs in it, thus it would not be correctly redrawn, this is a feature.

   
CR in log

This item controls whether CR ((char)13) remains in or is removed from QTPI logs.

   
One Liner

The One Liner key defines a key stroke that will cause all subsequent screen output to be displayed on a single line. This acts as a toggle, so the first press of the key sets one liner mode and the next sets the display back to normal. Data received is stored in the log file as normal.

The purpose of this key is to maximise the speed of download of text files (mail messages, bulletins etc). The one line display provides some visual feedback without the slowdown caused by the dismally slow QDOS scrolling speed.

The One Liner parameter is the ASCII value of the key required (as defined in your system user guide), for example, to set the One Liner toggle to CONTROL-ONE, this value would be 145. When QTPI  is in One Liner mode, the figure 1 is displayed in the status line.

     
Caveat Non-Mousers

In Arrow Keys = Move Pointer mode, the PE ludicrously removes spaces from HOT_KEY or ALTKEY strings before they are delivered to the program. This means that if you have defined a hotkey in Move Pointer mode as, for example:

ert HOT_KEY ('a','spaced out man') 
ALTKEY 'a','spaced out man'

and press ALT-A on the main QTPI screen, you will get spacedoutman without the spaces. If you pressed ALT-A in a text requester (the phone number one from the F7 menu for example), then you get the spaces. HOT and ALT Keys work normally (i.e with spaces) in As Keys arrow key mode. I STRONGLY RECOMMEND THAT YOU USE em As Keys.

  This facility is only available with PE v1.23 and later. If you run a version of the PE less than 1.23, then the cursor keys always move the pointer. It is highly unlikely that QTPI will work with such old versions of the PE.

   
Phone Book Menu

The next icon represents the PHONE BOOK menu, the selection key is F9 (SHIFT-F4). A menu is displayed listing all the phone book entries (with scroll bars if necessary).

qtpiDM.png

LMB click on an entry will pull down a sub-menu allowing you to maintain that entry or the phone book. RMB on an entry will dial the entry's phone number. The auto-redial features are described on page [*].

The sub-menu offers:

qtpiDM1.png

Dial (D)
Dial the selected entry  
Edit (E)
Edit the selected entry  
Zap (Z)
Delete the selected entry  
New Entry (N)
Add a new entry  
Open (O)
Open and read a new phone book file  
Save (S)
Save phone book to the currently defined phone book file.  
Save As (A)
Save phone book to user-defined file.  
List (L)
List phone book contents to user-defined file or device.  
If no entry is selected, (i.e. you select Commands F3) then the D,E,Z options will be ghosted and unavailable. You can only use the file options (New Entry through List).

   
Edit phone entry

The screen to edit and amend phone book entries has the following entries.

qtpiDM2.png

   
Name

The name of the BBS or service.

   
Phone Number

The phone number of the BBS or service

   
Login

A string that may be transmitted to the host as part of the logon sequence. This string will be transmitted automatically if the host sends an ENQ (ASCII 5) character. It may also be transmitted manually from the Handy Items menu.

   
Login++

If this string is defined, it is concatenated to the Login string.

   
Comment

A comment that may describes the host service. You can use this field for anything you like.

   
Modem Ini

A string (that may contain QTPI escape sequences) that is used to initialise the modem. This may be used with obsolete modems/services using 1200/75 bps where a special command has to be sent to the modem to change the baud rate.

   
XPR Protocols

The XPR Protocol (file transfer protocol) used by the service. If this is defined and different from the current XPR, then the new protocol will be loaded before the service is dialled.

Miscellaneous phone book fields

                 

These other fields will replace the preference values if different. If the baud rate in the phone book is set to None, then it is not changed.

The size of the phone book is limited only by media, memory and common sense.

   
Transfer Menu

The next icon represents the TRANSFER icon, the selection key is F10 (SHIFT- F5). You must have defined an XPR upload or download from the Files menu before you select this item. The requirement to invoke transfers via the TRANSFER icon depends on the protocol selected. If you need to hit F10 (Shift-F5/Xfer Icon), a message is displayed in the status area. If the protocol supports batch transfers, then when you are downloading, selecting download from the Files menu will start the download immediately. You only need to use the F10/Xfer Icon to start a download when you have to define a download file name (i.e. using XMODEM, KERMIT (Host Server) or XPRASCII)

If you have chosen Full screen transfer windows, a window be displayed showing the progress of the transfer; otherwise an icon will be displayed.

qtpiZM.png

Therefore, to download a file using a batch protocol, you should do:
1.
Start the download on the remote system (BBS).
2.
Hit F7,D (or have it on a hotkey).
The download then starts immediately. If you use ZMODEM, you don't even have to do this, starting the transfer on the host system will automatically start it in QTPI.

   
Miscellaneous Icons

   
The Handy Items

The next icons represents OTHER HANDY items, the selection key is CONTROL-F6 (CONTROL-SHIFT-F1). These are items that are useful but have no where else to live.

qtpiHM.png

Answerback (A)
Returns the last used Answerback (the contents of a phone book login and login++ fields).  

Reset Terminal (S)
Resets terminal settings to default and clears the terminal screen.  

Clear Terminal (C)
Clears the terminal screen (no settings changed).  

Output Toggle (O)
This item controls whether QTPI displays received text on the screen. This is not as ludicrous as it at first sounds ! If output is set OFF, then an indicator appears in the extreme left of the status bar. This is green when data is being received, and red when it is not. In monochrome, the indicator is white in the quiet state, black when receiving, in both modes it is in contrast to the menu bar. Such data is still logged and stored in the review buffer, and ZMODEM auto-receive will still work.  

ReDial (R)
Redials the last selected phone number.  

Def Log (D)
Toggles the state of the default log file. You must have defined a default log file.  

   
User Menu Item

   
User Menu Item

The next item is the User Menu. The icon may appear to resemble a right pointing arrow decked out in a fairly common menu title bar colour scheme. The selection key is Control-Shift-F3 (0xf3). Please note that no illustration is included because I don't know what you have included in your personal menu.

This option invokes a user defined menu that will run scripts. The File Menu option User Menu is the name of the user menu definition (UMD) file. Note that this entry is only read at startup, so to define a UMD, you must either do it in QTPI, exit and restart or add a line to qtpi_dat before you start, for example:

User Menu=flp2_QTPIMenu_dat

The format of the UMD file is very simple. Any line starting with a hash (#) is a comment, and anything else is a data line. The first data line is the name of the menu, the rest are menu items. Menu Items are of the format.

item name | script file name | selection key

The vertical bar is a mandatory separator.

So for example, given some example scripts in, we could construct the above UMD file as:

# This is a QTPI UMD file 
#
# The rather original title is
Jonathan's Menu
# And some wonderfully useful options are ....
FS Upload | flp2_fsup_bas | U
Send Text | flp2_sendtxt_bas|S
Fax Send|flp2_fax_bas |X
XPR ASCII | flp2_upasc_bas | A
BBS Dial|flp2_dialer_bas|D
# Selection key is not mandatory. 
# White space around bars is optional too
Config|flp2_config_bas
# That's all for now folks .....

And, against all traditions, here is a moderately useful example.

Arvind's Menu
Echo On | flp2_EchoOn_bas | E
Echo Off | flp2_EchoOff_bas | F

Where the files that invoked are, respectively.

100 CLIENT 'QTPI'
110 REQUEST 'qtpi','set access=echo',a$
120 FREECLIENT 'qtpi'

100 CLIENT 'QTPI'
110 REQUEST 'qtpi','set access=on line',a$
120 FREECLIENT 'qtpi'

   
Bye Item and Auto Dial

Bye Item

The next icon is the BYE item, the selection key is SHIFT-ENTER. This quits the QTPI program. You get a requester if you exit with uncommitted changes to the configuration data file or phone book. The options are:

qtpiCX.png

qtpiEX.png

Save (S)
Save data and exit program.  
Don't Save (D)
Exit, don't save data.  
Go Back (G,ESC)
Abandon the exit (i.e. go back to the terminal screen).  
Note: QTPI does not check the save file media is writable. It assumes that if you select 'Save' then you have ensured a writable disk is available.

     
Auto Dial Menu

If you use the repeat dial feature (by defining the dial try and dial wait items in the Connection menu, an additional icon will be displayed when dialing is in progress. The icon represents (to those of vivid imagination), a stop-watch. The number of tries and the timeout period are displayed below this icon. If the dial succeeds (the modem returns the Get Carrier string (CONNECT), then these items are removed. If you select the icon (with the pointer or by CONTROL-F7), a menu with the options of Online, Abort or Quit is displayed.

Online (O)
Cancels the redial sequence and places QTPI in its internal connected state (i.e. the clock changes to the connect timer, QTPI recognises the No Carrier string to stop the timer).  

Abort (A)
Just cancels the redial sequence.  

Quit (ESC)
Sends the modem the disconnect string before cancelling the redial sequence.  
If you dial one shot, i.e. with Dial Try set to zero, then the stop watch icon is displayed but no countdown or timer. The icon is removed when when a CONNECT is received or you use the CONTROL-F7 menu to cancel dialing, or a key is pressed.

   
XPR Details

   
XPR Hints

   
General XPR Hints

The progress of the transfer is displayed in the XPR window, unless QTPI is iconified. In the (extremely) rare event of a QTPI / XPR transfer appearing to get stuck, hitting the QUIT item (or pressing ESCAPE) about six times, will abort any transfer. If the sender is still sending to you, typing a number of CONTROL-Xs should shut it up.

In extremis you could RJOB the protocol. To reload it, first set the protocol to "None", then to the desired protocol. The Files section of QTPI has two entries, Upload Dir and Download Dir. These are just short cuts to prevent you having to enter a full path name in the respective Up / Down load file name requester. You just append your required file name. For example, if Upload Dir is ram2_ and you wanted to upload, using ZMODEM, all files in ram2_, then you would just have to append a star to the initial choice presented in the 'Upload' filename requester, giving ram2_*. If this requester is initially blank, then you have not defined UpLoad or Download Dir. If the protocol supports batch downloads (i.e. Kermit, ZModem, YModem), then the Download Dir field is ignored, but a download directory may be defined in the XPR Preferences. SEALink is a little strange, in that if a file name is given, then it is used. You should make sure DownLoad Dir is blank (and you have specified a Default receive path in your SEALink Prefs, page [*]) , if you want to use host supplied SEALink names.

   
Preloading Upload names

Note that you can preload the upload buffer name before you do an upload, even before you dial the BBS/Service if you want. Select upload from the files menu, specify the file names that you want to upload. QTPI will beep and give you the F10 / Xfer Icon message. Just ignore it for the time being.

Now connect to the service. If it supports ZMODEM, then just start the upload, (F10 / Shift F5 / Xfer Icon). If the service only offers a non-auto start protocol, then start the transfer on the host, hit F10 / Shift-F5 / Xfer Icon and off it goes. Couldn't be (much) easier.

   
Specifying Upload files

QTPI lets you specify upload file names as a list, using wildcards, or via a list file, or a combination thereof.

Upload: ram2_file_txt ram2_demo_up flp2_*_c @@ram1_files_list

The file ram1_files_list contains

win1_demo_*_h
win1_qtpi_xmodem_prefs

Note that:

1.
A list file may not contain references to another list @ file.
2.
Non-batch protocols (XMODEM, ASCII) will only send the first file if more than one is given or a wild card is specified.
3.
QTPI defaults to non-recurse into hard directories, but will recurse if the name is preceded by "-r ". The "-r " applies only to the next entry,so
-r win1_a*_[ch] win1_b* -r win1_c*_[ch]

would recurse into any hard sub-directory starting 'a' or 'c' and find (at any depth) _c source files (*_c, *_h), while only root directory files starting with 'b' would be selected (and if there are hard sub-directories, these are ignored), so if you had.

win1_boot
win1_bas->
win1_boredom

Then 2 files would be returned from the middle wild card. The number of files returned from a wild card search in limited only by memory. You are notified of the number of files found.

Wildcard expressions are similar to Unix egrep(1) (regular) expressions and may contain:

*
matches a sequence of 0 or more characters
?
matches exactly 1 character
[...]
matches any single character found inside the brackets; ranges are specified by a beginning character, a hyphen, and an ending character. If an exclamation point or a caret (`!' or `^') follows the left bracket, then the range of characters within the brackets is complemented (that is, anything except the characters inside the brackets is considered a match).

    If you have chosen to use the menu extensions (File Select, menu_rext), then you can enter a wildcard selection directly into the F3 file name area in the file select menu.

     
XPR Preference Settings

Each XPR protocol will have its own settings, accessed from the Files menu.

   
XMODEM Prefs

XMODEM has the following settings.
Text Mode (Y,N,C)
Y = yes, N = No, C = Computer's best guess. This defines whether XMODEM attempts to translate EOL codes between the LF used on SMS/QDOS, Unix, Amiga etc to the CR/LF of the PC. You should have this set to NO. The overhead of doing the translation is quite high.
CRC Mode (Y/N)
XMODEM can use CRC or Checksum error checking. If the host supports CRC, you should have this set to YES.
1K Blocks (Y,N)
XMODEM can transfer data in 128 byte or 1K (1024 byte) blocks. Set this to YES to use 1K blocks where possible (i.e. the host supports 1K blocks).

   
YMODEM Prefs

YMODEM has the following settings.
Overwrite Mode (O,D)
Receive overwrite setting. If O, then duplicate file names cause the old file to be overwritten, D causes the new file to have _dup appended to the name (and _dupN N=2-9999) if still a clash.
CRC Mode (Y,N)
As XMODEM
1K Blocks (Y,N)
As XMODEM
Option-G (Y,N)
An faster version (no ACK messages after each block), for use only with error-correcting modems (or clean connections).
Download Dir
The directory where downloads are stored. Use a ram or hard disk for speed and reliability. The file name is supplied by the host.

     
SEALink Prefs

SEALink has the following settings.
Path translate (Y/N)
Translates SMS/QDOS path names to and from Amiga / PC / Unix conventions. Not necessary if you only communicate with SMS / QDOS systems.

Batch Upload Delay
A delay (in seconds) between files in a batch upload. A setting of 1 or 2 will give a slow host a chance to flush file buffers before the next file negotiation.
Macflow (U/D/A/N)
SEALink can use a form of XON-XOFF protocol, mainly to prevent an uploader from transmitting while the host is writing to disk. XPR SEALink has the following settings.
U
Honours Macflow when uploading.
D
Honours Macflow when downloading.
A
Honours Macflow uploading and downloading.
N
Does not use Macflow. This is the default setting.
Various problems with Macflow have been reported with the QBOX BBS where the file size exceeds the SEALink buffer. This is why the default setting is N.

QTPI to QTPI SEALink will work correctly with MACLFOW=A at both ends. This is probably an XPRSEAlink bug.

Default receive path
The directory where downloads are stored. Use a ram or hard disk for speed and reliability. The file name is supplied by the host.

   
Kermit Prefs

Kermit settings are different from the other protocol libraries in that they may be used to to send commands to a Kermit Host server. The options:

Kermit FINISH
Kermit BYE
send the FINISH and BYE commands to the host Kermit. The Kermit CD option should allow you to tell a Kermit host server to change its default directory, I'm not sure that works correctly.

The Kermit Prefs are accessed via the Kermit Options item and has the following settings.

Convert Filename
If Yes, converts between SMS / QDOS and Amiga / PC / Unix naming formats (i.e. _ and /.).
Keep Incomplete
If "Yes", then the partial files resulting from incomplete file transfers are not deleted.
Host Server
Specifies whether the remote computer is running interactive Kermit or as a Host Server. Host server up and down load commands now work.
Text File
If Yes, carriage-return / line-feed pairs in the incoming packets are converted to a single line-feed before writing the packet to a file, and the opposite conversion is made when a file is sent to a remote system.
Packet Length
The Long Packets extension to Kermit is supported. Setting a packet length larger than 94 (the default) enters long packet mode automatically. If you use long packets, it is strongly recommended that you use block check 2 or 3 (see below) if the host Kermit supports them. The current limit is 1024 for XPR Kermit; the default value is 94, the longest standard Kermit packet.
Block Check
This can have the value of 1, 2, or 3, and chooses successively more stringent types of error checking on the incoming data: 6-bit checksum, 12-bit checksum, and 16-bit CRC, respectively.
Timeout
The length of time (seconds) XPR Kermit will wait for a packet before assuming it isn't coming. Default 5 seconds.
Retry Limit
The number of times XPR Kermit will attempt to send or receive the next packet of data before quitting. Notice that if the remote end simply stops sending, a length of time equal to the retry limit times the timeout will elapse before XPR Kermit actually exits. Default 10 retries.

   
ZMODEM Prefs

ZMODEM has the following settings

Text mode (Y,N,?,C)
Y = Text Yes
If receiving, translate CR /LR pairs or solo CR chars to normal QL LF chars. Ignore data past ^Z. If sending, suggests to receiver that they should receive this file in text mode.

N = Text No
Receive files verbatim, without changes. If sending, suggest to receiver that they receive this file verbatim, without translations.

? = Text status unknown
If receiving, use sender's suggestion as to whether to do EOL translations or not. If sending, tell receiver to use default mode, as we don't know either.

C = Text mode
Set by Comms program; the library asks the comms program whether or not to use Text mode for each file. ZMODEM gets the mode from the text/binary flag in the file directory entry, so it may not always be right.
Normally, set Text Mode = N.

Overwrite mode (Y,N,R,S)

Y = Overwrite Yes
If about to receive file with same name as one which already exists, delete the old file and receive the new file in its place.
N = Overwrite No
If about to receive file with same name as one which already exists, append _dup onto the name of the new file to keep them separate.
R = Overwrite Resume
If about to receive file with same name as one which already exists, resume receiving file data from the current end of the existing file.
S = Overwrite Skip
If (etc.), tell sender never mind, skip this file, we don't want it. Batch transfers will move on to the next file in the set, if any.
Buffer size
Just leave at 16 Kb.

Frame size
Although normally avoided, ZModem has the ability to require an ACK to be sent from the receiver to the sender every X-many data bytes. Normally you don't want to use this feature, because not waiting for ACKs is part of how ZModem works so fast. However, this feature can be very useful in conjunction with file I/O buffering on slow devices.

This value should be set to 0 to disable ACKs (normal mode), or set it to the actual number of data bytes allowed between ACKs. If you have problems with hardware handshake or disk I/O, a value less than say 15360 (15Kb) may help.

You might also use this setting to defeat brain dead (SMSQ) serial buffering schemes.

Error count
This allows you to set the number of sequential errors which will be required to convince ZModem to abort the transfer. The normal value is 10, meaning that 10 errors must happen in a row with no valid data being transferred in order to cause an abort. This setting is provided for those using XPRZMODEM with a BBS, who may wish to use a relaxed setting, or those with really lousy phone lines who are desperate and patient enough to want the transfer to continue in spite of horrible performance.

Auto-activate receiver (Y,N)
Yes
If the comms program supports the ability, the ZMODEM will automatically go into receive mode when the start of a ZModem download is detected. QTPI supports this mode.
No
Don't try to automatically start downloading, make the user activate it.

Delete after sending (Y,N)
Yes
Delete each file after it has been successfully sent. At your own risk.
No
Don't delete files after sending them.

Keep partial files (Y,N)
Yes
Keep the fragment of a file received so far if file reception is aborted. This allows you to use the Overwrite Resume option above to pick up where you left off on your next attempt.

No
Delete any partially-received file after an aborted transfer.

Send full directory path (Y,N)
Yes
Send full filenames including directory path to receiver.
No
Send only simple filenames, not including directory path.
Use received path (Y,N)
Yes
Use full filename exactly as received, instead of using the Default Receive path option.
No
Ignore received directory path (if any), use Default Receive path option path instead.
Leave this option at N if you value your sanity and my patience. (OK now HW ?).

Default Receive path
Path to use for received files. Stores all received files in given directory if Use received path is N. Ignored if Use received path is Y. Use any valid device or directory, with a trailing _.

   
ASCII Prefs

ASCII transfer has the following settings

EOL Convert (Y/N)
Conversion of LF to and from CR/LF (or not).
Pad Blank Lines (Y/N)
If set (Y), any blank lines will have a leading space inserted. This may be useful with mail editors that take a blank line as end of message.
Inter-char delay
Inter-line delay
Delays (in 1/50 seconds) between characters and lines respectively.

     
Emulation Modes

QTPI offers VT52, VT100 and ANSI terminal emulations. VT52 is an old standard, named after a Digital Equipment Corporation (DEC) terminal of the same name. This emulation is essentially obsolete in commercial terms, DEC are warning that they may not support it in future versions of their operating systems. It is used by some on-line services, such as CompuServe, and due to its low processing overhead, may be used for scrolling services such as QBOX based BBS.

VT100 is a later DEC standard for terminals and is a subset of ANSI. It is widely supported on DEC's proprietary operating systems and most manufacturer's flavours of Unix. It is also used by some on-line services such as Electronic Yellow Pages. A suitable 'terminfo' setting for use with Unix is supplied on page [*].

ANSI is an advance on VT100, and is the character based terminal mode used on IBM compatible PCs and the Amiga. It supports up to sixteen colours and a wide range of graphics characters. QTPI offers an emulation that is in excess of VT102 level (i.e. it supports some VT220 sequences such as cursor on/off). The mode (VT100 / VT102) defines the response QTPI gives to a What are you ? (DA) sequence from the host. The responses are VT100 with AVO or VT102. The ANSI emulations (ANSI1 - ANSI4) define how QTPI handles ANSI colours. The ANSI standard specifies support for eight colours (plus bolds) (BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN and WHITE. In mode 4, the SMS / QDOS can only display BLACK, RED, GREEN and WHITE. If you select ANSI1 mode, the colours YELLOW, BLUE, CYAN and MAGENTA are simulated using stipple patterns to give a muddy yellow, pale grey, pale green and darker red. The downside is that if text is written over a stippled background (or text is written in a stippled colour), then it is difficult to read. The ANSI2 emulation just maps the missing colours to WHITE, BLACK, READ and GREEN, which means that BLUE on a BLACK background comes out as all BLACK, which is even less satisfactory. Many ANSI screens contain white text on green background, which may be difficult to read. ANSI1 and ANSI2 ignore ANSI bold. ANSI3 and ANSI4 support ANSI bold, emulating a sixteen colour ANSI display. Due the the hardware palette of SMS/QDOS (four colours), it is difficult to select sufficient stipple patterns that work under all circumstances. ANSI3 has an additional 8 stipple patterns, but these are frequently difficult to read when text is involved (text constructed from ANSI graphics especially). ANSI4 attempts to use a SMS / QDOS base colour (red, green, white, black) for ANSI bold when ever possible. I find ANSI4 is the most satisfactory compromise for the majority of ANSI screens.

   
Command Line Options

QTPI recognises the following command line options

ex QTPI;'-i -h -m -s Startup_File -t Phone_Book -d N'


 
Table 13.1: Command line options
Option Action
-c N Defines screen columns
-d N Special flags described in the release notes.
-f Toggles FILE SELECT usage
-h Toggles high speed mode.
-i Iconic mode (see the scripting manual)
-m Toggles mono mode.
-s Startup_file Defines alternative startup file (qtpi_dat)
-t Phone_book Defines alternative phone book (qbook_dat)

To facilitate the usage of QTPI as an ANSI console for pbox BBS systems, I/O channels may be supplied to QTPI . This will inhibit some comms related features. If you are not a pbox sysop, then you are unlikely to want to know about this.

ex qtpi,#inchan,nul,#outchan;'-s QTPI.4.pbox_dat'

To use QTPI as a pbox console you should use pbox 1.16 or later.

   
Miscellaneous

   
CharityWare

If you find this free program useful and think it does have some value, then I'd be grateful if you make a small donation to an animal welfare or environmental charity in appreciation. If you think the program worthless, or you can't afford it, or hate animals or have no sympathy with the environmental concerns then don't bother, there is absolutely no obligation.

     
Acknowledgments

Daria
for putting up with me and my ******** computers.
Graham Goodwin
for encouragement, advice, debugging and donating copy of the QPTR Programmer's Kit.
Wayne Weedon
for maintaining the primary distribution channel for QTPI (4th Dimension BBS).
Tony Firshman
of TF Services for a developer's copy of Minerva 1.97 and superHermes. QTPI on a QL is enhanced by Minerva and Hermes / superHermes. I am delighted to recommend these products.
Bob Weeks
of Pointer Products for advice on the PE. I trust the favour has been repayed :-).
Dave Walker and Keith Walker
for c68. This program is written using c68 and the libqptr library. Without the efforts and generosity of those involved with the production of this software and making it freely available, QTPI would not exist.

A veritable army of beta testers and users have contributed to the current state of QTPI; I am grateful to their contribution.

         
The author

QTPI was written by Jonathan Hudson (jrhudson@bigfoot.com, http://www.bigfoot.com/~jrhudson/)

       
Using a serial mouse

QTPI (or any other serial input program) will not work correctly with the Sermouse product, regardless of the whether you have Hermes or standard 8049 serial port hardware. QDOS appears at least) to take device independence to bizarre lengths by reading serial input from either serial port at random rather than the specified one. For example, I can connect a serial data source to ser1, enter the command copy ser2,scr and watch data transmitted via the cable in ser1 appear on screen, even though the copy command is via ser2. Try it and see. I expect it is possible to use a mouse on more grown up hardware like an Atari emulator, or using a bus mouse such as QIMI. Pity really, as I only got the Sermouse to develop this program. They don't tell you this is the ads, caveat emptor ! This is a QL / QDOS feature, not a SerMouse bug; don't let this stop you getting SerMouse if you want an easy way to connect a mouse for other no serial input programs. This QL feature affects not only SerMouse and QTPI , but any other combination of QL programs that attempt simultaneous serial input on both ports. Neither I, nor, I suspect, Albin Hessler can do anything about this other than warn you. SerMouse is an excellent product. If you use SerMouse and want to run QTPI (or QeM, Terminal, QFAX, LFAX, etc etc), then kill off Sermouse first, otherwise serial I/O is very slow. You may also have to remove the mouse from the other port, otherwise if you accidentally jar the mouse, junk appears on the screen.

superHermes (from TFS) provides a serial mouse interface that works very well with QTPI , as well as a reliable high speed serial port. It suffers from none of the above problems. Highly recommended.

     
The Generation Game

QTPI later than v1.45 requires v1.38 ptr_gen or later. QTPI displays the PE version number in its 'About Box' when loading.

   
Upgrading PE

If you own a PE product, your supplier may be able to supply you with the latest version of the Pointer Environment. If you purchase a new program that uses the PE, then the latest version of the PE may be supplied; the supplier will have entered into a license agreement with Tony Tebby to do this and will pay Mr. Tebby a remarkably modest license fee for this facility. Although Mr Tebby's fee is modest and my generosity is legion, QTPI is open source freeware and I cannot, alas, enter into such a licensing agreement; you, the user, must be responsible for legally acquiring a suitable version of the PE. If you are a member of QUANTA, PE v1.35 is available on the QUANTA library SPECIALS_0 disk, free of charge. This free version is only available to QUANTA members and may not be distributed to non-members. It is quite possible that QTPI will not work with this obsolete version of the PE.

   
QL Serial wiring

The non-standard nomenclature and wiring adopted for the QL serial ports has caused much confusion. The following rules may help.

1.
Terminals, computers and printers (and QL ser2) are wired as DTE (Data Terminal Equipment).
2.
Modems (and ser1) are wired as DCE (Data Communications Equipment).
3.
The QL DTR signal is not DTR; it is RTS.
4.
Hardware handshake (usually) involves RTS and CTS; the DTR and DSR signals merely indicate that a device is online (not that it is necessarily ready to receive data).
5.
When wiring a DTE to a DCE, the cable should be connected straight through, i.e. TXD - TXD, RXD - RXD, RTS - RTS, CTS - CTS etc.
6.
The QL cannot supply or detect DSR or DTR (see item 3 above), so connect DSR and DTR together in the plug.
7.
If your device is DCE (i.e. a modem), you can use it on ser2 with a straight through cable.
8.
If the device is a DTE (i.e. a printer), the you can use it on ser1 with a straight through cable.
9.
If you want to make a direct connection to another computer then you can connect a DTE to DCE (i.e. ser2 to ser1, PC / Amiga to ser1) with a straight cable, or DTE to DTE (ser2 to ser2 (or even ser1 to ser1), or PC / Amiga to ser2) with a cross-over cable.

The following settings should work for many applications.


 
Table C.1: Ser2 MODEM cable or Ser1 NULL Modem
QL Ser Pin QL Cable Colour DB25 Pin DB9 Pin
1 GND Black 7 GND 5 GND
2 TXD White 2 TXD 3 TXD
3 RXD Green 3 RXD 2 RXD
4 DTR Blue 4 RTS 7 RTS
5 CTS Red 5 CTS 8 CTS
    6 to 20 6 to 4


 
Table C.2: Ser1 MODEM cable or Ser2 NULL Modem
QL Ser Pin QL Cable Colour DB25 Pin DB9 Pin
1 GND Black 7 GND 5 GND
2 TXD White 3 RXD 2 RXD
3 RXD Green 2 TXD 3 TXD
4 DTR Blue 5 CTS 8 CTS
5 CTS Red 4 RTS 7 RTS
    6 to 20 6 to 4

Note that QL 6 pin (PCC) plug has pin 6 next to the clip.

In both cases, the connect DSR signal to the DTR signal, as QDOS cannot supply these signals.

     
Unix Terminfo

The following Unix terminfo setting is known to work with QTPI  and common Unix applications (GNU emacs, pine, elm, tin etc), at least on the author's Linux system.

$ /usr/lib/terminfo/untic vt100
vt100|vt100-am|vt100am|DEC vt100,
  am, xenl, xon, cols#80, it#8, lines#24, vt#3, bel=^G, cr=^M, 
  csr=^[[%i%p1%d;%p2%dr, tbc=^[[3g, clear=^[[H^[[2J, el=^[[K, ed=^[[J, 
  cup=^[[%i%p1%d;%p2%dH, cud1=^J, home=^[[H, cub1=^H, cuf1=^[[C, 
  cuu1=^[[A, dch1=^[[P, blink=^[[5m, bold=^[[1m, rev=^[[7m, smso=^[[7m, 
  smul=^[[4m, sgr0=^[[m, rmso=^[[m, rmul=^[[m, kbs=^H, kcud1=^[OB, 
  kf1=^[OP, kf2=^[OQ, kf3=^[OR, kf4=^[OS, kcub1=^[OD, kcuf1=^[OC, 
  kcuu1=^[OA, rmkx=^[[?1l^[>, smkx=^[[?1h^[=, cud=^[[%p1%dB, 
  cub=^[[%p1%dD, cuf=^[[%p1%dC, cuu=^[[%p1%dA, 
  rs2=^[>^[[?3l^[[?4l^[[?5l^[[?7h^[[?8h, 
  rf=/usr/share/lib/tabset/vt100, rc=^[8, sc=^[7, ind=^J, ri=^[M, 
  hts=^[H, ht=^I,

     
About this manual

This manual is prepared using the LATEX typesetting system. This facilitates the production of typeset (*.dvi or Postscript) documents using LATEX and dvips), hypertext (HTML) using latex2html and even ASCII documents using lynx -dump. The screen shots were prepared from a uqlx system using ImageMagick and xfig to grab, crop, annotate and convert the graphics.

The QTPI Postscript document may be printed using ghostscript under QDOS. The PSUtils package for QDOS contains the pstops program to print the manual as a neat A5 booklet format.


Index

7bit keys
7bit keys
7bit keys, phone option
Miscellaneous phone book fields
Abort
Prefs Sub Menu | Auto Dial Menu
Access
Access
Acknowledgments
Acknowledgments
ANSI Graphics,Wrap
VT Wrap
Answer
Modem Menu Options | Modem Commands
Answerback
The Handy Items
Apres Dial
Modem Commands
Arrow Keys
Arrow Keys
ASCII
XPR Overview
ASCII Prefs
ASCII Prefs
AT Strings
Modem Menu Options | Modem Commands
Author
Getting Started | The author
Auto Answer
Modem Menu Options | Modem Commands
Auto Dial Menu
Auto Dial Menu
Auto-ZMODEM
QTPI Icons
Baud
Baud
Baud phone option
Miscellaneous phone book fields
Baud rate
Baud | Exit Baud
BBS Mail
XPR Overview
Beep
Beep
Button Frame
QTPI Icons
Bye Item
Bye Item and Auto
Capture All
File Menu Options | Review Buffer and Capture
Capture Now
File Menu Options | Review Buffer and Capture
Capture Options
Review Buffer and Capture | Review Buffer and Capture
Casablanca
On Wake
Caveat Non-Mousers
Caveat Non-Mousers
Charityware
CharityWare
Clear Terminal
The Handy Items
Cmd Delay
Cmd Delay
Comm Dev
Comm Dev
Command Line Options
Command Line Options
Commands
Prefs Sub Menu
Comment
Comment
Configurations
Configuration
Connect
Modem Menu Options | Modem Commands
Connection
Preference Menu Options
Connection Options
Connection Options
Controls
Controls
CR in log
CR in log
CSI
CSI
Def Log
The Handy Items
Default Log
File Menu Options | Review Buffer and Capture
Defaults
Prefs Sub Menu -
Del Char
Del Char
Del Char, phone option
Miscellaneous phone book fields
Dial
Modem Menu Options | Phone Book Menu
Dial Try and Wait
Dial Try and Wait
Disconnect
Modem Menu Options | Modem Commands
Don't Save
Bye Item
Download
File Menu Options
Download Dir
File Menu Options
Drop Carrier
Modem Commands
Echo mode
Access
Edit
Phone Book Menu
Edit phone entry
Edit phone entry
Emulation
Emulation
Emulation phone option
Miscellaneous phone book fields
Emulation Modes
Emulation Modes
Example Phone Book
Configuration
Exit Baud
Exit Baud
F6
Files Menu
F7
Modem Menu
Favourite Films
On Wake
File Menu Options
File Menu Options
File Options
File Menu Options
File Select
File Select | Specifying Upload files
Files
Preference Menu Options
Files Menu
Files Menu
Flow
Flow
Flow phone option
Miscellaneous phone book fields
General XPR Hints
General XPR Hints
Get Carrier
Modem Commands
Getting Started
Getting Started
Go Back
Bye Item
Hermes
System Requirements
HOT examples
Review Buffer and Capture
HOT Keys
File Menu Options
HotKey Trickery
HotKey Trickery
Hudson, Jonathan
The author
Iconified transfers
Start XPR
In extremis
Getting Started
Init Modem
Prefs Sub Menu -
Installation
Installation
Internet applications
7bit keys
Invoking QTPI
Invoking QTPI
Job Swap
Job Swap
Jochen Merz
Getting Started
Jonathan Hudson
The author
Kermit
XPR Overview
Kermit Prefs
Kermit Prefs
Key mapping
VT Keypad
LATEX
About this manual
LFAX
Getting Started
Libr Dir
File Menu Options
List
Phone Book Menu
LMB
QTPI Icons
Local mode
Access
Login
Login
Login++
Login++
Luminaries
Getting Started
menu_rext
File Select | Specifying Upload files
Misc phone options
Miscellaneous phone book fields
Miscellaneous
Miscellaneous
Miscellaneous Icons
Miscellaneous Icons
Modem
Preference Menu Options
Modem Commands
Modem Commands
Modem Ini
Modem Ini
Modem Init
Modem Commands
Modem Menu
Modem Menu
Modem Menu Options
Modem Menu Options
Modem Setup
Modem Commands
Move Icon
QTPI Icons
Name
Name
New Entry
Phone Book Menu
Older modems
Cmd Delay
On Wake
On Wake
One Liner
One Liner
Online
Auto Dial Menu
Open
Prefs Sub Menu - | Phone Book Menu
Output Toggle
The Handy Items
Overview of QTPI
System Requirements
Parity
Parity
Parity phone option
Miscellaneous phone book fields
PC based BBS
VT Wrap
Phone Book
File Menu Options
Phone Book Menu
Phone Book Menu
Phone Number
Phone Number
Pointer Versions
Caveat Non-Mousers
Port
Port
Post Dial
Modem Commands
Pre Dial
Modem Commands
Preferences Menu
Preferences Menu
Prefs Sub Menu
Prefs Sub Menu
Prefs Sub Menu,Options
Prefs Sub Menu -
Preloading Upload names
Preloading Upload names
QBOX
XPR Overview
QCON
Comm Dev
QeM manual
Getting Started
QEM_BUFFER
Serial Buffer | Ser Buffer
QL Serial wiring
QL Serial wiring
QPAC2
Invoking QTPI | QTPI Icons
QTPI Escape Sequences
QTPI Escape Sequences
QTPI Icons
QTPI Icons
QTPI overview
System Requirements
QTPI XPR Libraries
QTPI XPR Libraries
qtpi_dat
Files and directories
QTPI_DATA
qtpi_dat
QualSoft
Getting Started
Quit
Prefs Sub Menu | Auto Dial Menu
Receive To
File Menu Options
Recidivist Rodents
Using a serial mouse
ReDial
The Handy Items
Reset
Modem Commands
Reset Line
Modem Menu Options
Reset Terminal
The Handy Items
Review Buffer
File Menu Options | Review Buffer and Capture
Review Keys
Review Buffer and Capture
RMB
QTPI Icons
RX EOL
RX EOL
RX EOL phone option
Miscellaneous phone book fields
Save
Prefs Sub Menu - | Phone Book Menu | Bye Item
Save As
Prefs Sub Menu - | Phone Book Menu
Screen redraw
On Wake
Script Log
File Menu Options
Scripting
File Menu Options | Scripting
Scroll
Scroll
SEALink
XPR Overview
SEALink Prefs
SEALink Prefs
Send From
File Menu Options
Ser Buffer
Ser Buffer
ser3
Comm Dev
Source code
File Select
Special thanks to ...
Acknowledgments
Specifying Upload files
Specifying Upload files
Start Script
File Menu Options
Start with
File Menu Options
Start XPR
Start XPR
Stop Script
File Menu Options
superHermes
System Requirements | Comm Dev | Using a serial mouse
System Requirements
System Requirements
Terminal
Getting Started
TF Services
System Requirements
The author
The author
The Generation Game
The Generation Game
The Handy Items
The Handy Items
The manual
About this manual
Transfer Menu
Transfer Menu
Translate
Translate
TX EOL
TX EOL
TX EOL phone option
Miscellaneous phone book fields
Unix Terminfo
Unix Terminfo
Upgrading PE
Upgrading PE
Upload
File Menu Options
Upload Dir
File Menu Options
User Menu
File Menu Options
User Menu Item
User Menu Item
Using a serial mouse
Using a serial mouse
Version
Modem Menu Options | Modem Commands
Version Requirements
The Generation Game
VT Keypad
VT Keypad
VT Wrap
VT Wrap
Wake Icon
QTPI Icons
What a stupid name
File Select
xfer Buffer
File Menu Options
Xfer Signoff
Xfer Signoff
XMODEM
XPR Overview
XMODEM Prefs
XMODEM Prefs
Xon/Xoff
Xon/Xoff
XPR Details
XPR Details
XPR Hints
XPR Hints
XPR Overview
XPR Overview
XPR Preference Settings
XPR Preference Settings
XPR Preferences
XPR Preferences
XPR Prefs
File Menu Options
XPR Prefs Path
XPR Prefs Path
XPR Protocol
File Menu Options | XPR Protocol
XPR Protocols
XPR Protocols
XPR_PATH
XPR Library Path
XPR_PREFS
XPR Prefs Path
YMODEM
XPR Overview
YMODEM Prefs
YMODEM Prefs
Zap
Phone Book Menu
ZMODEM
XPR Overview
ZMODEM Prefs
ZMODEM Prefs

About this document ...

QTPI v1.66 for SMS/QDOS
A Communications Program for
SMS and QDOS operating systems.

This document was generated using the LaTeX2HTML translator Version 98.1p1 release (March 2nd, 1998)

Copyright © 1993, 1994, 1995, 1996, 1997, Nikos Drakos, Computer Based Learning Unit, University of Leeds.

The command line arguments were:
latex2html -no_subdir -split 0 -local_icons qtpi.tex.

The translation was initiated by Jonathan Hudson on 1999-11-11


Footnotes

... others2.1
Any comms luminaries who feel they should be in this list, please let me know:-)

next up previous
Jonathan Hudson
1999-11-11