home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
norge.freeshell.org (192.94.73.8)
/
192.94.73.8.tar
/
192.94.73.8
/
pub
/
computers
/
pcjr
/
comm
/
TM40.LZH
/
TM.DOC
next >
Wrap
Text File
|
1985-07-20
|
27KB
|
500 lines
TMODEM version 4.0
July 20, 1985
TMODEM is short for Turbo Modem. A communications program for IBM
Personal Computers and compatible units. The author, Paul Meiners,
and his company, P & M Software, reserve the copyright to this program
and all related materials. The user is granted a license to use the
program and is encouraged to make a donation if the program is found to
be useful. $20 is recommended. Send donations to the following address:
P & M Software Company
9350 Country Creek #30
Houston, Texas 77036
In addition, the user is granted the right to make unlimited copies
of the program and to distribute these copies as he/she desires, except
that the author reserves the sole right to distribute the program
for profit. If the user distributes the product, the user may ask for
a duplication charge, not to exceed $5 per copy.
Features:
1. Nearly complete VT-100 emulation.
2. ANSI.SYS style color graphics.
3. BASIC style PLAY for single voice music. Nice, but due
to PASCAL's limited sound capability, it plays in foreground.
4. Fully buffered, interrupt driven, serial I/O.
5. Fast Xmodem file transfer.
6. Removable window subsystem.
7. Telephone directory, with up to 999 entries.
8. File capture, limited ONLY by the amount of available
memory.
9. ASCII file transmission, using XON/XOFF protocol.
10. Utility package of BASIC style procedures and
functions.
11. Full control of all communication parameters.
12. 40 macro keys, to store logon, passwords, etc.
13. Printer support, using XON/XOFF flow control.
14. Host directed Xmodem file transfer.
15. Xmodem CRC protocol, using the CCITT polynomial:
x^16 + x^12 + x^5 + 1.
16. TELINK batch protocol is supported for downloads ONLY,
at this time. Support for uploads is anticipated in the
next release, version 4.1.
Most of the features of the program are self-documenting, however
for the sake of the novice user, some explanation is necessary.
The program is distributed in .COM, which can be executed
immediately by placing your disk into drive A, changing the
default drive to A, if not already, then typing the name of the
program, TM.
Once the user has successfully executed the program, the copy-
right notice will appear, and the user will be asked if music
is wanted, strike a "y" if you want music, if not, then strike
any other key. The on-line screen will then appear. At the
bottom of the online screen appears a reminder of the most
frequently used commands. These commands may be selected by
depressing and holding the ALT key along with the indicated ALPHA
key. If the user needs a command that does not appear on the screen,
a complete list of available commands can be obtained by selecting
ALT-H. Commands may be selected while the HELP screen is still on
screen, so that the user does not need to call up the HELP screen
repetitively. Here is a brief description of each command:
ALT-A .... Transmit a file using the ASCII XON/XOFF protocol,
where the DC1 character is used for XON and the
DC3 character is used for XOFF.
ALT-B .... Send BREAK signal to host computer. The serial
port is forced into the spacing state.
ALT-C .... Turn capture mode ON if it is OFF, or OFF if it is ON.
When this mode is turned OFF, either thru the ALT-C
command or with the ALT-T command, the user will be
prompted for a file name wherein to save the contents of
the capture buffer. During capture mode operations, a
'*' or 'W' will appear in the lower left corner of the
screen. The '*' reminds the user that capture mode
is ON, the 'W' warns the user that memory space is
short. Capture mode will make use of all available
memory. Capture mode is useful for recording complete
sessions for review later, so you don't read so much
on those long distance phone calls.
ALT-D .... Modem dialing and phone directory management.
The phone directory may have up to 999 entries,
if there is enough disk space. The directory screen will
automatically disappear whenever carrier is detected,
unless the Forced Carrier config param is "TRUE".
ALT-E .... Turn Half Duplex ON if it is OFF, or OFF if it
is on. If Half Duplex is ON, then a 'H' will
appear in the lower right corner of the screen to
remind the user.
ALT-F .... Fix time. That is, mark the current time,
so that you can measure time used, with the
ALT-U command.
ALT-G .... Redial the last number dialed. This command will loop
continuously until carrier is signaled by the modem, the
Forced Carrier config param is 'TRUE', or the user
presses a key.
ALT-H .... Produces the HELP screen for the user.
ALT-I .... Reconfigure the program defaults, without exiting to DOS.
The parameters listed below for the .CNF file can be
changed via this command.
ALT-J .... Display version number of TMODEM in use.
ALT-K .... Kill a file. Delete a file from the disk.
ALT-L .... Display disk directory, under a user supplied mask.
For example, to see all files on the logged drive
and current directory, the user would enter the mask
"*.*", when prompted. Or see just the files with an
extension of .PAS by entering the mask "*.pas", when
prompted.
ALT-M .... Macro key management. Allows the user to define the
contents of the function keys F1 thru F10, and all
combinations of the function keys and shift, Ctrl or
Alt. This gives the user 40 different macro keys.
ALT-N .... Allows the user to change to a new logged drive and/or
new current directory.
ALT-O .... Sort the dialing directory into ascending sequence
by name or number. Performs a IN MEMORY sort, so
there must be enough memory to hold all the phone
directory entries.
ALT-P .... Print a file.
ALT-Q .... Hang-up the phone line, put the modem "ON HOOK".
Drops the terminal ready signal to the modem for 3
seconds and resets the UART.
ALT-R .... Receive a file using Xmodem protocol. Communications
parameters are automatically changed to/from 8 bit
no parity. CRC is used automatically, if the remote
system supports it. In addition, the TELINK batch
protocol may be used, in order to invoke this proto-
col, the user must first prepare the Host cpu to use
the TELINK protocol, then after the ALT-R key has been
pressed and Tmodem has requested the filename, the user
should respond with: [d:]*
Where the [] indicate the drive specifier is optional.
Under the TELINK protocol, the filenames will be
supplied by the Host cpu. Using TELINK also preserves
the exact file size and the creation date.
ALT-S .... Switch communication parameters. The program starts
with these default values: 1200 baud, No Parity,
8 data bits, 1 stop bit. Permissible values for the
baud rate are: 300, 1200, 2400, 4800, or 9600.
ALT-T .... Terminate and return to DOS.
If other windows are open on the screen, this command
will be deferred until all windows have been closed.
ALT-U .... Used, time. Report the time used since the
the last ALT-F command and the last dial of the phone
or the start of the program, whichever occured last.
Total elapsed time in hours, minutes and seconds,
is reported.
ALT-V .... View the contents of a file, uses the same style as
MORE, the DOS utility. Use the "End" key to stop the
command.
ALT-W .... Clear the screen.
ALT-X .... Transmit a file using Xmodem protocol. Communications
parameters are automatically changed to/from 8 bit
no parity. CRC is used automatically, if the remote
system requests it.
ALT-Y .... Copy a file. This procedure will copy any unprotected
file, however it copies in multiples of 128 bytes, so the
resultant file may be a little longer than the original.
This is OK for most applications, but some programs are
sensitive to the lengths of files, in which case this
procedure, probably, will produce unusable output.
Also, filenames must be fully specified. No wildcards
are allowed, ONLY the current drive and directory need not
be specified.
ALT-Z .... Toggle monitor mode on/off. In monitor mode, all codes
are shown so that the user may see exactly what is
being sent by the host computer. Control codes are
shown with the ^ symbol preceding, i.e. ^[ is the ESC
code, ^X is the CAN code, etc. You must refer to an
ASCII code chart for a complete list.
^PrtSc ... Toggle the printer ON/OFF. Hold the 'Ctrl' key, then
press the 'PrtSc' key.
The dialing management sub-section has a list of commands also:
A = Add an entry to the dialing directory.
C = Change an entry in the dialing directory.
K = Kill an entry in the dialing directory, a sort of the
directory is recommended after this option or the Add option.
M = Dial a number not in the directory. The user is prompted
for new communications parameters.
D = Dials a number from the directory, and automatically changes
the communications parameters.
S = Stop the modem, after it has dialed, but before it goes online.
This allows you to dial another number when a previous number
is busy, without waiting for the modem to timeout waiting for
carrier.
F = Display the next page of the directory.
B = Display the previous page of the directory.
Q = Quit, returns to the online screen.
Note: When editing Phone Directory entries or Macro Key definitions,
the program responds to the following editing keys as indicated:
Backspace .... Delete character to the left of cursor.
Del .......... Delete character under the cursor.
End .......... Move the cursor to the end of the field.
^End ......... Erase from the current cursor position to the
end of the field. The ^ symbol indicates that
you must hold the 'Ctrl' key, then press the
'End' key.
Home ......... Move the cursor to the start of the field.
Ins .......... Toggle between insert and overwrite mode.
When in insert mode the cursor becomes fat.
Left Arrow ... Move the cursor to the left 1 position.
Right Arrow .. Move the cursor to the right 1 position.
RETURN ....... Finish the current field and move to the next.
There are several files associated with the system. Here is a
description of each:
TM.COM ......... Absolute program. The one to execute.
TM.DOC ......... This file.
TM.PAS ......... Main source code file.
TM1.INC ........ First include file, source code.
TM2.INC ........ Second include file, source code.
MUSIC.INC ...... Musical include file, source code.
DIRECT.INC ..... DOS file management include file, source code.
BASIC.INC ...... BASIC style routines, source code.
RWINDOW.INC .... Removable windowing routines, source code.
TMODEM.DIR ..... The phone directory, data file.
TMODEM.KEY ..... Macro key definitions, data file.
TMODEM.CNF ..... The configuration, data file.
In position 1-3 of each record in the configuration
file is a code to identify a parameter. After the
"=", the value of the parameter appears.
The codes are:
CM= COM port number, 1 or 2.
ST= Number of Stopbits.
DA= Number of Databits.
PA= Parity. 0=None,1=Even,2=Odd
BA= Baud Rate. 300,1200,2400,4800, or 9600.
WA= Number of ticks in 1/3 of a second,
at 4.77 MHz clock. The value should be
larger if the clock in your CPU is faster.
The units for the value is milleseconds,
and it is used for waiting, hence the WA=.
For example, if your CPU runs a twice the
4.77 MHz rate, then the value of WA= should
be 666.
PR= Dialing Pre String.
PO= Dialing Post String, use the | character
where a RETURN is needed.
MI= Modem initialization string.
The default value, AT S0=0|, will cause the
modem not to answer the phone. Again, use
the | character where a RETURN is needed.
SY= Modem command string to turn the speaker ON.
SN= Modem command string to turn the speaker OFF.
RT= After carrier timeout has occured, this is
the time between redials, in seconds.
FC= Forced Carrier. Some modems force carrier
even when a call is not in progress, if this
is the case, set this parameter to TRUE.
CT= Timeout time for carrier to appear, in seconds.
DP= Directory PATH. This variable tells the program
where to look for the phone directory. This param
is provided mainly for people who wish to put the
dialing directory on a RAM-disk.
XO= The decimal value of the XON character. Used to
control data flow. Starts data flow after XOFF has
been issued.
XF= The decimal value of the XOFF character. Used to
control data flow. Stops data flow when issued.
Helps insure that buffer overflow does not occur.
VT= If TRUE, turns on VT-100 emulation, using ANSI escape
codes. If VT-100 emulation is requested, music will
not be played, and will show on the screen as text.
This happens because of a conflicit between the full
ANSI definition and the musical notes.
LF= Auto Linefeed mode. If TRUE, then a linefeed will be
automatically supplied whenever a Carriage Return is
recieved.
FG= The default foreground color number. Any one of the
16 values in the table below.
BG= The default background color number. Any one of the
DARK shades, 0-7, from the table below.
CC= The comment character used with the macro keys.
MX= Number of Xmodem buffers to allocate. 4 - 255 are the
legal values. A smaller number should be used on
systems with only 128k, larger values can be used if
more memory is available. Each buffer takes 128 bytes.
* = Comment lines.
Note: these entries may either be changed via the ALT-I command,
or with any text editor that produces standard ASCII files,
such as EDLIN.
For Example: CM=1 |
ST=1 |
DA=8 |
PA=0 |
BA=1200 |
WA=333 |
PR=ATDT |
PO=| |
MI=AT S0=0| |
SY=AT M1| |
SN=AT M0| |
RT=60 | The DEFAULT defaults!
FC=FALSE |
CT=35 |
DP=A:\ |
XO=17 |
XF=19 |
VT=FALSE |
LF=FALSE |
FG=15 |
BG=0 |
CC=; |
XT=FALSE |
MX=64 |
Color Number Table:
Dark Colors Light Colors
----------- ------------
0 : Black 8 : Dark Gray
1 : Blue 9 : Light Blue
2 : Green 10 : Light Green
3 : Cyan 11 : Light Cyan
4 : Red 12 : Light Red
5 : Magenta 13 : Light Magenta
6 : Brown 14 : Yellow
7 : Light Gray 15 : White
If the program is used without a modem, using a direct cable connection,
all the dialing and modem control strings in the config file should
be set to empty strings, for example the line with the MI parameter
should read: MI=
Also, when using a direct cable connection, the FC parameter should
be set to TRUE.
The program has been written to use Hayes compatible commands
with the modem. Because the program controls the modem via the
DTR signal, Data Terminal Ready, the cable between the computer
and modem must provide a connection for pin 20 and the modem should
have the internal switches set so that the DTR signal is monitored.
The program uses the Carrier Detect signal from the modem to
detect when a call has been connected and when to stop redialing,
for this reason the modem should have it's switches set so that
the Carrier Detect signal is ONLY sent when present on the phone line.
If this is not possible, set the FC= parameter, to TRUE.
Received Character Processing - VT-100 Mode.
--------------------------------------------
Cursor Up .................................. ESC [ Pn A
Cursor Down ................................ ESC [ Pn B
Cursor Forward ............................. ESC [ Pn C
Cursor Backward ............................ ESC [ Pn D
Cursor Position ............................ ESC [ Pl ; Pc H
Cursor Position (Home) ..................... ESC [ H
Horizontal and Vertical Position ........... ESC [ Pl ; Pc f
Horizontal and Vertical Position (Home) .... ESC [ f
Set Scrolling Region ....................... ESC [ Pt ; Pb r
Index ...................................... ESC D
Reverse Index .............................. ESC M
Reverse Linefeed ........................... ESC I
Next Line .................................. ESC E
Save Cursor ................................ ESC 7
Restore Cursor ............................. ESC 8
Cursor Key Mode Set ........................ ESC [ ? 1 h
or ESC =
Cursor Key Mode Reset ...................... ESC [ ? 1 l
or ESC >
Select US Character Set .................... ESC ( B
Select Line Drawing Character Set .......... ESC ( 0
Turn Off Character Attributes .............. ESC [ m
Selects Bold Characters .................... ESC [ 1 m
Selects Underlined Characters .............. ESC [ 4 m
Selects Blinking Characters ................ ESC [ 5 m
Selects Reverse Video Characters ........... ESC [ 7 m
Set Horizontal Tab Stop .................... ESC H
Clear A Horizontal Tab Stop ................ ESC [ g
Clear All Horizontal Tab Stops ............. ESC [ 3 g
Erase From Cursor To End Of Line ........... ESC [ K
Erase From Beginning Of Line To Cursor ..... ESC [ 1 K
Erase Complete Line ........................ ESC [ 2 K
Erase From Cursor To End Of Screen ......... ESC [ J
Erase From Beginning Of Screen To Cursor ... ESC [ 1 J
Erase Complete Display ..................... ESC [ 2 J
Delete Character At Cursor ................. ESC [ Pn P
Insert Line At Cursor ...................... ESC [ Pn L
Delete Line At Cursor ...................... ESC [ Pn M
Select Insert Mode ......................... ESC [ 4 h
Reset Insert Mode .......................... ESC [ 4 l
Turn Printer On ............................ ESC [ ? 5 i
Turn Printer Off ........................... ESC [ ? 4 i
Turn Printer Controller On ................. ESC [ 5 i
Turn Printer Controller Off ................ ESC [ 4 i
Print Screen ............................... ESC [ i
Request Cursor Position Report ............. ESC [ 6 n
Response: Cursor Position Report .... ESC [ Pl ; Pc R
Request ID ................................. ESC [ c
Response: Terminal Type ............. ESC [ ? 6 c
Receive Xmodem from Host ................... ESC { filename } 1
Transmit Xmodem to Host .................... ESC { filename } 3
Notes: ESC is used to represent the escape character, decimal 27.
Pn represents a variable numeric parameter, the parameter is
a decimal number transmitted to the program by using ASCII
characters. Pl represents the LINE, and Pc represents the
COLUMN, these are numeric parameters sent using ASCII
characters. Pt represents the TOP LINE of a scrolling region,
and Pb represents the BOTTOM LINE of a scrolling region, these
are numeric parameters sent using ASCII characters. The spaces
shown are for readability, they are not sent by the Host. The
filename must be a valid MS-DOS format name and not contain the
characters { or }.
Transmitted Characters - VT-100 Mode.
-------------------------------------
Function Keys .............................. User Programmable.
End ........................................ ESC O R
Ctrl-End ................................... ESC O S
Del ........................................ DEL
Ins ........................................ ESC O n
Home ....................................... ESC [ H
PgUp ....................................... ESC [ O r
PgDn ....................................... ESC [ O q
Shift-Tab .................................. ESC [ O x
Left Arrow ................Normal........... ESC [ C
Keypad Mode...... ESC O C
Right Arrow ...............Normal........... ESC [ D
Keypad Mode...... ESC O D
Up Arrow ..................Normal........... ESC [ A
Keypad Mode...... ESC O A
Down Arrow ................Normal........... ESC [ B
Keypad Mode...... ESC O B
Others ..................................... Standard Values.
Note: The blanks are included for readability only.
Below is a sample of the 'termcap' entries needed to use TMODEM with
UNIX System V:
#
# TMODEM termcap SETUP FOR UNIX SYSTEM V.
#
t1|tmodem|TMODEM setup:\
co#80:li#24:cl=\E[H\E[2J:bs:cm=\E[%i%2;%2H:ti=\E[H:\
kh=\E[H:kr=\E[C:nd=\E[C:kl=\E[D:bc=\E[D:ku=\E[A:up=\E[A:kd=\E[B:do=\E[B:\
kb=^H:am:xn:sr=\EM:\
im=\E[4h:ei=\E[4l:mi:sf=\ED:dc=\E[P:dl=\E[M:il=\E[L:\
ce=\E[0K:cd=\E[0J:\
so=\E[7m:se=\E[0m:us=\E[4m:ue=\E[0m:ul:ug#0:
Here is a sample of the 'stty' settings to use with TMODEM on UNIX System V:
$ stty
speed 9600 baud; evenp clocal
erase = ^h;
brkint -inpck icrnl -ixany ixoff onlcr
echo echoe echok
$