Contents of the OZCOM20.DOC file
Copyright (c) 1986 Steven C. Sneed/Ozarks West Software
Documentation for version 1.5
Released into the Public Domain as Shareware
July 31, 1986
by Steven C. Sneed/Ozarks West Software
Welcome to OzCom!
This program was written to be a well-rounded communications package
for the home/hobbyist computer user accessing Bulletin Board systems and
CompuServe. In order to keep the program to a managable size I have not
included a wide variety of terminal emulations or every file-transfer protocol
under the sun, choosing instead to provide standard micro terminal emulation
with support for ANSI color graphics provided by most MS/PC-DOS BBS
software programs. VIDTEX terminal emulation is provided in CIS Mode for
terminal functions such as cursor control, printer control and Host-
controlled text and file capture, as well as the CIS "B" protocol for
error-free file transfers.
This program started out 6 months ago as a learning venture in Turbo
Pascal, and has finally become a truely competitive product in the growing
world of public-domain/shareware communications software. I greatly
appreciate the response the users have given this program. If you have
questions or comments about this program, please feel free to leave them
at either of the following places:
The Computers To Go PCBoard BBS
Santa Maria, CA.
24hrs/day 1200/2400bps (300 midnight to 6am) 8/N/1
SysOp: Yours Truly
CompuServe EasyPlex 73107,1157.
Some features of OzCom:
200-number Phone Book/Dialer.
Full support for ANSI color graphics.
Complete implementation of the CompuServe "B" Protocol for error-free
file transfers without the problems associated with using XMODEM-type
protocols in a packet-switcher environment.
Full Implementation of both "Standard" XMODEM and CRC (Cyclic Redundency
Check) XMODEM error-checking file transfer protocols. "Relaxed"
XMODEM has been added to improve transfers on CIS and GEnie.
40 Function key macro capability.
ASCII File transfer capability.
Rather than a memory-intensive buffer, a disk capture file has been
implemented to allow sesion capture or quick-and-dirty ASCII downloads.
Timing functions to allow you to see at any point during your call how
long you've been on-line, as well as logging functions to keep
records of your calls.
Support for color within the program, including the capability to change
your screen display colors at any time, on- or off-line. Automatic
control of ANSI graphics colors when returning from an on-line
state. Screen border color is automatically adjusted to match the
screen text background color.
The ability to change running communications parameters at any time, on-
A 'Panic Button' to allow escape from almost any serial-port-related
New Features in this Release:
Full Disk I/O error-trapping and correcting, including DOS file-handle
I/O for exact file size on transfers.
Implementation of a Download Path Entry command to allow downloads to go
to pre-designated drives/subdirectories.
Implementation of clock-speed checking at program start-up to improve the
program's performance on AT and "Turbo" machines (up to 10MHz.)
Addition of a printer-output toggle to feed port characters to the printer
as well as the screen.
Greatly improved port- and modem-error detection.
"If I have created anything great, it is because I have stood on the
shoulders of giants." Or, in my case, a more-fitting quote would be, "Great
things are never created by industrious men. Great things are created by lazy
men looking for an easier way to do something."
One of the greatest things about the Turbo Pascal language is the
incredible number of public domain programs and include files available on
bulletin boards all over the country, helping to keep you and me from re-
inventing the wheel. I have used many such files for this program, usually as
information to create my own procedures and functions specific to the needs of
the program, but ocasionally almost verbatim (and exactly verbatim in the case
of Scott Murphy's UPDCRC.PAS file to add CRC error-checking to the XMODEM
protocol.) Although the source code files contain the complete list of
acknowledgements on a file-by-file basis, there are some general
acknowledgements and "Thank you's" I feel I must make here.
Ward Christensen, the creator of the XMODEM protocol. For all intents
and purposes, Ward's genius and vision created the entire microcomputer
communications revolution by creating a simple, effective method of
transfering files from one computer to another without errors.
Don Watkins, for coming up with the name for this program. Thanks, Don!
(You received your check yet??)
Wes Meier, Chris Dunsford, and the other SysOps on CompuServe's IBM
Special Interest Group (Don goes in here), for their unfailing help and
support... and ocasional kick in the butt... in providing information I
needed to get this thing to fly. The greatest group of people in the
Ditto to Renato Reyes, SysOp of the TRS80 Professional SIG.
Gloria Velasco and Gary Martin, owners of Computers To Go, who graciously
allow me to run a BBS on several thousand dollars worth of their equipment
for testing purposes.
My wife Robin, without whose patience this program would never have been
written. She puts up with my all-nighters in the computer room. She puts
up with the CIS and long-distance phone bills. She makes all this work
This program is lovingly dedicated to my daugther Whitney Michelle!
OzCom is distributed as Shareware. You are free to copy and distribute
this program and its associated files as long as it is not modified in any
way, including any change of the author information. If you use the program
and like it, I hope that you will show your appreciation by sending the
requested contribution of $15.00. A form to send in with the contribution is
given at the end of this documentation.
No support will be extended to unregistered users. A registration
number will be issued for each registered copy of the program, and must be
given when requesting support.
This program is written in TURBO Pascal, to my thinking the finest
high-level programing language available for microcomputers. No, I do not
work for Borland International nor am I in any way related to the company. I'm
just one more of several hundred thousand happy customers. If you do not now
use Turbo, you owe it to yourself to find out how easy a language it is to
learn and work with - and how well it performs.
The program archive should contain the following files:
OZCOM.000 / Program main file and overlay
OZCOM20.DOC -- Program Documentation
if the .ARC file you received does not contain one or more of the above listed
files, please leave a message on the CTG BBS at the number listed earlier in
this documentation, stating where you downloaded the file. Please include the
name and phone number of the board or other source, and the SysOps name if
known. The message can also be left to me via CompuServe.
Whenever OzCom is loaded and run, the program looks for several files
it needs to operate. If any of these files are not found in the drive/sub-
directory which contains the program files, the program creates them (with the
exception of the overlay file - if OzCom fails to find this, the program
aborts with a message stating why.) The first file looked for after the
overlay is the file OZC.DEF, the program's definition file which stores
important data the program uses to configure itself to your needs. If this
file is not found, you will be entered into the program installation area and
be asked to provide some information. (This will happen the first time you
run OzCom, and any time thereafter the program can't find the .DEF file.)
You will be prompted for the colors you want the program to run in, the
default drive/sub-directory path the program is running in, the modem
information nessessary for the program to properly handle the modem,
and the serial port in use.
Colors are chosen using the standard BASIC color numbers for foreground
and background colors. You are prompted for 3 colors: foreground, window
border and background. Foreground and window border colors can be in the
range 0 - 15, background in the range 0 - 7. Because window border color is
also used for highlighting text in many areas of the program, it is suggested
that you use complementary but different colors for foreground and window
border. Monochrome monitor users should set their colors to 15,7,0. This
program will now run on a monochrone card, although some mono cards will
not properly display the window borders. Leading Edge users and Hercules
card users will probably have problems with this program - one more
example of the lack of compatability in the so-called "100% Compatable"
Leading Edge! A color chart is displayed to help you with your choices.
Please refer to your modem manual before setting the modem strings.
In particular, the modem need to be set via the initialization string to
use verbose (worded) command replies, not numeric. Several compatable- and
not-so-compatable-to-Hayes modems have been tested and are known to work
with this program, and efforts have been made to make it functional with
other non-compatable modems. It will NOT work with a Tandy 300baud Modem
Card or any of the other Tandy really-wierd-command-set modems in all its
funhctions, but can be configured to work with the Tandy modems as a
manual, non-autodialing terminal program.
Most Hayes-and-compatable modems require that a carrage return ([cr])
be used at the end of a modem command string to activate the command. The
right curly brace character ( "}" ) is used in this program to simulate a
[cr] in strings sent to the modem, either as modem commands or as [cr]s in
the macro strings. Example: the modem initialization string will be
something like "ATM3V1X4}" (The string I use on my US Robotics MicroLink
The communications parameters are set in OzCom using a single-digit
integer parameter in the range 1 - 6 in the following order:
1 - 300 baud, 7 data bits/Even parity/1 stop bit
2 - 300 baud, 8 data bits/No parity/1 stop bit
3 - 1200 bps, 7/E/1
4 - 1200 bps, 8/N/1
5 - 2400 bps, 7/E/1
6 - 2400 bps, 8/N/1
I chose not to support Odd parity (I've never used it, I know of no one else
using it... do you?) Ditto for 2 stop bits. All BBS's support 8/N/1 (some,
like PCBoard, require it), whereas CompuServe and the other Information
Services run at 7/E/1 unless you specifically tell them otherwise. If I get
enough requests, I'll add these capabilities in later versions. Default is 4.
The last information needed by the program is the serial port in use.
Enter only the number of the port, without the word COM in front. The program
supports both ports 1 and 2. Default is 1.
After you've entered the above information, you will be returned to the
main program. If at any time you want or need to change any of the infor-
mation saved in the .DEF file (except for colors which are changable within
the program), simply delete the file from DOS and re-run OzCom, or use the
Alt-M command. Using the Alt-M command within the program rewrites the .DEF
file, but the changes are not effective until the program is exited and rerun.
The following is a list of the available commands in OzCom:
Home: Main Menu of Program Functions
Alt-A: Disk Functions Area
Alt-B: Session Capture Toggle
Alt-C: Call a number entered from the keyboard
Alt-D: Dialer/Phone Book Area
Alt-E: Echo Mode Toggle (Full/Half Duplex)
Alt-F: Function Key Macro Area
Alt-G: Printer Output Toggle
Alt-H: Hang up the Modem
Alt-I: Show current time on-line
Alt-J: Print Calls Log
Alt-K: Set Screen Colors
Alt-M: Redo .DEF File
Alt-N: ColorSwap (non-Graphics mode)
Alt-O: Redial last number dialed
Alt-P: Set Communications Parameters
Alt-Q: Set Download Drive\Path
Alt-R: Review Communications Parameters
Alt-S: Split-Screen (Conference) Mode Toggle
Alt-T: Show Current System Time
Alt-U: ANSI Graphics Mode Toggle
Alt-V: OzCom Version Information
Alt-W: Beeps & Whistles Toggle
Alt-X: Exit the program
Alt-Z: Clear the screen
PgUp: Upload a file (ASCII, Xmodem, CRC Xmodem)
PgDn: Download a file (ASCII, Xmodem, CRC Xmodem)
Insert: BBS/CIS Mode Toggle
End: "Panic Button"
Shft-Tab: Command-Key Remapping Functions
Detailed Command Description
Alt-A: Disk functions area.
The disk functions area allows you to change the active drive and/or
sub-directory, view the directory of the active drive/sub-directory, delete a
file, create or delete sub-directories of the active drive/sub-directory,
and review a rext file.
Pressing Alt-A opens a window over the left half of the screen and
displays a menu of available functions. These are:
1: Change active drive
2: Change active sub-directory
3: View active directory
4: Delete a file
5: Review a text file
6: Create a sub-directory
7: Remove a sub-directory
8: Quit Disk Functions Area
1: Allows you to change the active drive. Enter just the letter of
the drive, without the colon. Used within the disk functions area
only - you will be returned to the default drive/directory when
exiting the disk functions area.
2: Allows you to change the active sub-directory without changing the
drive spec. You must include the leading backslash. Example:
3: Displays the current active directory, either the one you are in
when entering the disk functions area or the one selected with the
4: Prompts for the filename to delete, and deletes that file ONLY.
Wildcards are NOT allowed - it's too easy to slip and get rid of
something you might regret!
5: Prompts for the name of the file to review, and then displays that
file a page at a time. At the end of each page you are prompted
to continue, continue non-stop (no more page breaks) or stop
6 & 7: As their names suggest. Just like in DOS, the sub-directory
must be empty to delete. Leading backslash is required.
7: Quit Disk Functions Area and return to main program.
Alt-B: Session Capture Toggle
This command allows you to capture to a disk file all incomming and
outgoing ASCII information over the modem, as it is received or entered at the
Pressing Alt-B opens a window at the top of the screen and prompts you
for a filename to save the session capture in. Pressing [cr] at this point
aborts the session capture. Entering a valid filename causes the function to
check for the existence of the named file. If the file currently exists,
you are prompted to choose between overwriting the existing file,
appending the new captured information onto the end of the existing file
Pressing Alt-B again closes the capture file and notifies you that
session capture is complete.
Alt-C: Manually dial a number
This function allows you to dial a number entered from the keyboard,
properly starting the call timer and saving the number in case you should want
to use the redial function. No error-checking is performed - what you enter
goes out the modem. This function does not use the auto-redial featrue of
the Phone Book area (see below.)
Alt-D: Dialer/Phone Book Area
This function allows you to store and call phone numbers in a 200-
entry Phone Book. You do not have to enter the Phone Book area to call a
number listed in it.
Pressing Alt-D causes the Dialer prompt to appear on the screen. At
this point you can procede one of two ways: pressing [cr] takes you into the
Phone Book, or entering the Phone Book Entry # at this prompt dials that
Entering the Phone Book causes a full-screen window to open, the first
20 entries in the book are displayed, and a menu of available functions is
displayed. The Book is broken into 10 pages of 20 numbers each. Pressing
a numeric key from 1 to 0 will cause that page to be displayed. "P" causes
the previous page to be shown, and "N" causes the next page to be
displayed. Pressing "C" causes 2 windows to open, one in the upper-right
corner displaying the port codes available, and another larger window
below where you can enter the information to add or update in the phone
book. Entering the entry number you want to change causes the information
in that entry to be displayed a part at a time, and you are prompted for
the new information to enter. Pressing at each prompt causes the
existing information to be retained unaltered. Pressing "D" clears the
menu and prompts for the entry number to dial. "Q" exits the dialer/phone
Dialing a number closes the full-screen window and then opens a window
over the bottom third of the screen. You are shown dial attempt
information, and the number chosen is dialed. Pressing any key while
dialing or waiting for connect aborts the dial. If a connection is not
established (the modem returns one of the 4 strings you defined in the
installation area as no-connect messages), the procedure goes into a
timing loop for 60 seconds. During this timing loop, pressing "C" will
cycle the loop and redial the number, and pressing will abort the
dial. If a connection is established, the procedure examines the modem
reply string for "1200" or "2400" and if found switches to the new speed
if different from the speed of calling (always downward, for example from
2400 bps to 1200 bps.) This limited autoswitch capabiltiy is implemented
for 2400 bps modem users who might call a number at 2400 that is only
capable of 1200 - otherwise it is inoperative. During autoswitch,
parity/data bits/stop bits remain the same.
If you remember the entry number of the Phone Book entry you wish to
call, you can simply enter that number at the Dialer prompt. The program will
then call that entry in the same manner as from the Phone Book.
If you happen to have an earlier version of this software with the
100-number phone book, don't worry - you will not have to re-enter your
phone book entries. The program automatically looks for an existing phone
book file and checks to see if it is the old, smaller version. If so, the
program converts it to the new size. The new phone book will still be
usable with your older version (except that all entries above 100 will be
Alt-E: Echo Mode Toggle
This function allows you to toggle between full- and half-duplex
communications. See your modem manual for a more complete description of the
differences between full- and half-duplex.
Version 1.4 of this code used the Hayes modem commands ATE0F0 to invoke
echo mode and ATE1F1 to return to normal mode, and therefore due to a bug in
the modem firmware could not be invoked while online. This version uses self-
contained coding to perform the function, and this toggle can now be used at
any time, online or off. While off-line, the function is disabled so that
characters returned by the modem in its "local" state do not appear twice.
Alt-F: Function Key Macro Area
This function allows you to define strings of up to 60 characters in
length and assign them to the function keys, allowing the entire string to be
transmitted with the touch of one key. An added feature of the macro
system used in OzCom is that, unlike QMODEM, ProComm and some other
communications programs, the macro string is not transmitted in split-screen
mode, but added to the character queue and transmitted only when [cr] is
Pressing Alt-F opens a window over most of the upper part of the
screen. You are prompted for which set of macros you wish to edit -
Normal, ALTed, SHFTed or CTRLed, or return to terminal mode. Choosing one
of the macro sets clears the window and displays the macro set.
You are prompted to enter the number of the function key you want to
define (NOT the function key itself!) or [cr] to abort and return to the
main program. If a macro contains no entry, the display "[ no entry ]"
is shown by that number.
To enter or change a macro, enter the number of the Function key you
want to define. You are prompted to enter the string for the macro. You are
allowed up to 60 characters (including spaces, punctuation marks, etc.) If you
want the macro to contain a [cr], the right curly brace character ( "}" )
should be entered in the string. For example, if you wish to set F1 to your
CompuServe ID, you would enter your ID number followed by a "}" like so:
70000,100} If you wish to clear a macro, enter one blank space for the
In Conference Mode (split-screen), defined macros are added to the
character queue when their associated function key is pressed. If the macro
contains a "}", the character queue is transmitted; otherwise the queue
remains open for more entry. Since my conferencing is practically all done in
CompuServe's IBM Mew Users Forum Sunday evening conference and gab session, I
have defined some of my macros to be the SysOp's names. Since it is customary
to add a pointer of some type to help pick out the name, my macros look like:
Wes <-- or: Don <--
This is just one example of the usefulness of macros. Another is the
fact that I have defined one of my macros with my first and last name and
password (separated by semicolons) to automate logon to the bulletin boards I
access regularly. Most BBS software allows you to log on with one string like
Alt-G: Printer Toggle
This function allows what is received or transmitted to be sent to the
printer as it is received or as each key is pressed. The output of this
toggle is to the default parallel port unless a redirection utility is in use.
I further recomend that unless your printer is capable of at least 120 cps (if
you are using 1200 baud) that you do not use this function - a slow printer
will not keep up with the input/output of the serial port, causing the buffer
to overflow on long sessions or transfers. Save the session using the Alt-B
Session-Save function and print the resultant file. I have implemented a 4k
ring buffer for incomming characters, but all outgoing characters are
unbuffered; therefore, printer overrun is possible. Fast printers (such as my
Citizen MPS-10 - an exellent printer!) should have no problem.
Alt-H: Hang up the Modem
This function allows you to disconect from your current call by using
the entered modem hangup command. Using this command prompts you for
entry of the call into the call log - you must therefore use this command
to end any call you want added to the log file.
Alt-J: Print Call Log
This command prompts you for printing the call log file. Answering
"Y" causes the program to check for the proper existance of the log file,
and then prints the file. Your printer should be on and ready prior to
answering "Y". The program prints out the date and time of each call,
where the call was placed to (name and phone number), and the length of
the call. Upon completion of the printout, you are prompted for clearing
of the log file.
Alt-K: Set Screen Colors
This function allows you to change the current colors the program is
running in. The color numbers used in the program initialization section are
used here. A color chart is displayed to ease choosing the numbers.
Pressing Alt-K opens a small window in the upper-right corner of the
screen. You will be prompted to enter the numbers for foreground, border and
background colors. Once entered, the new color settings are updated in the
.DEF file so that they are active from then until the next time you want to
change. Upon writing the new color definitions to the file, the window closes
and the main screen clears completely and resets itself to the new colors.
A note is in order here. The program resets ANSI.SYS to the colors the
program is currently working under after each call is completed. Unless you
are extremely fond of white-characters-on-a-blue-background or any other non-
black background color, I recomend that you use the Black background-color
option (0). This prevents the possibility of mismatched background colors.
The software resets ANSI.SYS to low-white text on a black background when
exiting the program. These functions have been improved in this version
of the program, and non-black backgrounds will work OK. Note however that
the screen border color sets itself to the program text background color,
and that screen border color will remain while on-line, no matter what
text background color is in use by ANSI.SYS while on-line.
HOME: Main Menu
This function displays the program's menu of functions.
Pressing "Home" causes a small window to open in the upper-right
corner of the screen, and the program's main functions are displayed.
Pressing the spacebar toggles between these commands and the secondary
commands/toggles. Pressing [cr] exits the menu and returns you to
terminal mode. Pressing any command key activates that command.
Alt-M: Redo Default File
This function allows you to redo your OZC.DEF without having to exit the
program, delete the file and re-enter. The same screen as is displayed the
first time you run the program is shown, and you will be prompted for the same
information. Notice that while the OZC.DEF File is rewritten, the changes do
not become effective until the next time you run OzCom.
This function allows you to swap between main text and window-border
colors while in non-graphics mode. This is restful when you are viewing long
text downloads, etc.
Alt-O: Redial Last Number
This function redials the last number dialed, either with the Alt-D
Dialer or the Alt-C Call a Number Manually commands. It also properly starts
(or restarts) the call timer.
Pressing Alt-O opens a small window in the center of the screen, giving
you the name and number redialed.
Alt-P: Set Comm Parameters
This function allows you to set or reset the communications parameters
from within the program, either on- or off-line. The new parameters are NOT
updated to the .DEF file (because you might use the function many times during
Pressing Alt-P opens a small window in the upper-left corner of the
screen. The communications parameter codes are displayed for reminder, and
you are prompted to choose by code number (1 - 6). Upon entering the code
number, the window closes and the serial port is reset to the new parameters.
You may use this function any time, on-line or off.
Alt-Q: Download Drive\Path Entry
This function allows you to designate a default drive\path for downloads,
which can be changed any time while not actually performing a file transfer or
in Split-Screen mode.
Pressing Alt-P opens a window in the center of the screen in which you
are prompted to enter the download drive\path. You MUST include the drive
designator in the path name, such as: "A:\" or "C:\COMM\DL". The program then
verifies that the path entered actually exists. If so, the program stores the
path information for later use. If not, you are notified that the path
entered does not exist, and the function aborts. This path information is not
saved to the .DEF file, as you may change the path several times during a
session. To clear the path information, simply enter nothing at the prompt
(press [cr].) When prompted by the program for a filename at the start
of a protocol download, you may override this D/L Path information by
entering drive\path information with the filename. The program looks for
the path information seperator characters (":" and "\") in the filename
and if it finds them it uses that information instead. No path entered
with the filename and no D/L Path entered causes downloads to be placed in
the current drive\path where the program itself is located.
Alt-R: Review Comm Parameters
Just in case you're like me (forgetful!), this function was added.
Pressing Alt-R displays the current communications parameters.
Alt-S: Conference Mode (Split-Screen) Toggle
This function separates the screen into two areas. The upper 2/3 of
the screen displays incomming characters only, while the lower 1/3 displays
the characters you enter from the keyboard. These input characters are not
sent out the modem until the [cr] key is pressed. The only non-character keys
active during Conference Mode are the function keys and Alt-S -- this is to
prevent a mistaken keystroke from displaying strange things to the others in
Pressing Alt-S clears the screen (actually it opens a full-screen
window with no border) and draws a double line across the screen at line 20,
with a notice that you are in Conference mode and that Alt-S aborts this
If you press a key, that character is entered in the queue to be sent
and displayed in the lower window. The maximum queue length is 80 characters
(you can enter more that that, but the queue stops at 80.) Pressing [cr]
sends the queue contents out the modem.
All incoming characters are displayed in the upper 2/3 of the screen.
Both sections of the screen properly scroll their contents.
Alt-T: Show current time
This function opens a window in the center of the screen and displays
the current system time.
Alt-U: ANSI Graphics Mode Toggle
This function allows you to choose whether you want ANSI color graphics
to be displayed when received or not. The program starts up in ANSI Graphics
In non-ANSI mode, the program uses the Turbo Pascal "Write" procedure
to display incomming or outgoing characters in the colors set by you with the
program initialization settings or the Alt-K function. This mode is best if
you access BBS's that do not offer ANSI graphics as it gives a color display
and is marginally faster. However, if you access a BBS that displays ANSI
graphics screens, the ANSI escape command codes will be displayed on your
screen, causing the screen to basically look like gibberish.
In ANSI mode, the program writes to the screen using the DOS function
6(hex) call, sending the incomming and outgoing characters thru the ANSI.SYS
driver. Note that you must have ANSI.SYS entered in your CONFIG.SYS file at
boot-up for the ANSI mode to actually display ANSI graphics (see your DOS
manual for more information if you're not sure what I'm talking about here!)
ANSI Graphics are automatically disabled within CompuServe Mode,
because CompuServe also uses the ESC character (ASCII 27) to begin most of its
command strings - this would cause a lot of trash to be displayed while on
Alt-V: Version Information
This command displays information about the version of OzCom you're
using, including the address to send contributions. If the address is not:
409 San Juanico, Santa Maria, CA 93455 (for ver. 1.4), do NOT send a
contribution to the address listed - someone has hacked the program you're
using and is trying to rip us both off! If you find a hacked copy of OzCom,
please notify me, Steve Sneed, either in writing or by leaving a message on
the CTG BBS at the number listed earlier in the documentation. Please give the
place you aquired the program, and if a BBS, the name of the SysOp and phone
number of the BBS. Thank you!
Alt-W: Beeps & Whistles Toggle
OzCom is a little noisy, but pleasantly so! Audable warnings have been
placed throughout the program to notify you when a transfer is complete, you
have made a mistake in entering information, a command function has been
called, etc. However, when using this program in a business environment or
other place where noise is a problem, the audable warnings can be disabled
with the Alt-W function. The program starts up with sound on.
Alt-X: EXIT OzCom
This function exits the program and returns you to DOS.
Pressing Alt-X opens a window in the center of the screen and prompts
you as to whether you really want to exit the program. Press "y" for yes or
"n" for no. If no, the function returns you to the main program. If yes, the
function closes the comm port, closes the session capture file if it is open,
returns to the drive\sub-directory the program started in if different from
the active drive\sub-directory, closes any active windows, clears the screen,
gives a "Thank you" message, and returns you to DOS. The "C" option exits as
above but leaves the comm port open. This option was added by request - I
can't figure out why...
Alt-Z: Clear Screen
This function clears the screen and resets colors to their chosen
PgUp: Upload a File
This command allows you to transfer a file from your computer to a
receiving computer in another location, using your choice of ASCII (XON/
XOFF), Xmodem, CRC Xmodem or "Relaxed" Xmodem transfer protocols.
ASCII file transfers are for transfering ASCII text files, source code
files and untokenized BASIC files. It is STRONGLY recomended that you do not
upload ANY file to any computer using this method, due to the fact that there
is no error-checking whatsoever. Use a protocol transfer instead. However,
there are rare situations where you must upload a file via ASCII, so the
method is provided. Again, DON'T USE IT UNLESS YOU HAVE TO!
Xmodem and CRC Xmodem are protocol transfers, meaning transmission
error-checking and trapping is performed. Files are transfered in blocks of
128 bytes, with a header containing a start-of-block character and the block
number and its complement, and a tailer consisting of a 1-byte arithmetic
checksum if Xmodem is used, or a 2-byte CRC checksum if CRC Xmodem is used.
CRC Xmodem gives more robust error detection and is therefore recomended if it
can be used.
I have not implemented the YMODEM protocol for several reasons.
First, it is not universally supported as are the variations of XMODEM.
Second, the documentation available for the protocol is more of a "tech-
notes" nature than an actual help file for implementation, it is difficult
to understand, and is of little real help for implementing the protocol.
Third, due to the nature of the available documentation, there are wide
variations in the implementations from BBS program to BBS program - most
every BBS program now in use has at least 1 major comm program that either
will not work at all or has problems with YMODEM. As of this writing,
ProComm 2.4 and late versions of QModem will not work with recent versions
of Collie, PibTerm and Qmodem ver. 2.0E and earlier have problems with
PCBoard 10.0, the list goes on. An exellent idea, YMODEM was originally
written in the UNIX environment with its octal numbers, etc., making it
difficult to implement in the 16 bit environment of DOS. To Chuck
Forsberg, the author of the protocol: I love the idea, but the
implementation needs work! Please write a document that is lucid and
Pressing PgUp opens a window in the upper-right corner of the screen.
You are prompted for the transfer type - press "A" for ASCII, "X" for Xmodem,
"C" for CRC Xmodem, or "R" for "Relaxed" Xmodem, or "Q" to quit the
transfer area. You are then prompted for the name of the file to send.
Pressing [cr] at this point aborts the transfer. Entering a filename
causes the program to look for the file in the active drive\sub-directory. If
the file is not found or cannot be opened for any reason, a notice of such is
given and the transfer aborts. Otherwise, the window clears and information
on the file size and approximate time to transfer the file is given, and
information lines are displayed. As the transfer progresses, you are notified
as each block is sent, the system time at the completion of each block, and
any errors that are trapped and corrected. You may at any time during the
transfer press Control-X to abort the transfer. Once the transfer is
complete, you are notified, the window closes and you are returned to the main
If the transfer encounters too many errors (excessive line noise, etc.),
the transfer aborts with a message telling you why. An ASCII transfer does
not use this information window - it clears the screen and displays the text
file as it is transfered.
PgDn: Download a File
This function transfers a file from another computer to yours. The
same file transfer types as in the Upload function are available. In
addition, you can use the Alt-B Session Capture to download a ASCII file, and
that method is somewhat faster for text file transfer.
Pressing PgDn opens a window in the upper-right corner of the screen.
The available space on the active disk is displayed, and you are prompted for
the transfer type. You are then prompted for the file name for the download
to be saved to. The function then checks to see if a file with that name
already exists, and if so notifies you and offers you the chance to abort or
enter a different file name.
NOTE: See the section for D/L Path entry for more information on
entering drive\path information with the filename.
Entering a valid name clears the window and displays information lines.
As the transfer progresses, you are notified of the completion of each block,
the block number received, the system time the block was completed, and the
type of error if an error was trapped in that block. Pressing Control-X at
any time during the transfer aborts. If the transfer runs into excessive
errors, it will automatically abort with a message stating the reason. After
transfer completion, you are notified, the window closes and you are returned
to the main program. The ASCII transfer does not use the window; instead, the
screen clears and the file is displayed as it is received.
End: "Panic Button"
One time or another, we all run into a problem with communications that
causes the serial port to lock up. This is not nessessarily a bug or fault in
this or any other program; far more often it is a result of line noise at the
wrong time. However, most comm programs lock up when the serial port does!
OzCom offers a solution - the "Panic Button".
Pressing "End" completely resets both the serial port and modem,
allowing escape from most any port-related hangup. Of course, any connection
currently active when the command is invoked is lost; and if session capture
is active, the capture file is closed. This function is not active during
Insert: BBS/CIS Mode Toggle
This function toggles between normal communications mode (BBS) and
CompuServe mode (VIDTEX Terminal emulation.) When in CIS Mode, ANSI graphics
are disabled. Upon return to BBS Mode, the sound and graphics modes return
to their values before exiting to CIS Mode.
CIS Mode is implemented to allow file transfers via the CompuServe "B"
protocol. You MUST be in CIS Mode to transfer a file with this protocol.
The "B" protocol is an error-checking transfer method used on
CompuServe because the Xmodem-type protocols do not function well in the
packet-switcher network CIS uses to handle many calls at one time. The
protocol is totally controlled by CIS, and certain command strings must be
interpreted by the program. The protocol is not especially fast, due to a
high "overhead" (the number of bytes that must be sent as control codes for
each 512-byte data block or "Packet") and a convoluted error-detection system,
but it works far better than anything else available for use on CIS. Because
of the complexity of the protocol programming, some programs use a modified
version of Xmodem called "Relaxed Xmodem" (which works a little better than
standard Xmodem on CIS - but not much), but I chose to implement the CIS
standard and get reliable transfers. "Relaxed" XModem is implemented here
to allow relatively error-free transfers on the other Information
Services, such as GEnie and The Source, which operate in a packet-switcher
environment but have special systems for handling XModem transfers. These
other systems do not conform to the VIDTEX terminal standards, and should
be accessed in BBS mode with ANSI graphics off.
When requesting a transfer on CIS, you are prompted to choose the type
of transfer you wish to use; request a "B" Protocol transfer. CIS then
interrogates OzCom to see if it supports this type transfer, to which OzCom
sends the nessessary reply. CIS then asks you for the filename for your
computer - at this time enter the name of the file as you want it stored on
your disk. You must be in the drive\subdirectory you want the file to be
saved to or uploaded from at this time. Once the file name is entered, CIS
"takes over" OzCom and the transfer procedes. At any time during the transfer
you may abort by pressing Control-X. Upon completion of the transfer, control
is returned to you and CIS access continues as before.
Remember, you MUST be in CIS Mode to use the "B" protocol!
The information given in the window opened by the transfer procedure
lets you know the transfer is proceding properly, how many Actual bytes and
Data bytes have been transfered (the difference between the two is the
"overhead" I spoke of earlier), the number and type of errors trapped, and the
system time at the completion of each "packet".
The general screen, printer and capture control functions implemented
in the VIDTEX terminal standard are implemented here. RLE graphics (radar
weather maps, CB pictures, etc.) are not implemented in this version, but
will be in the next release.
| Invoice for OzCom - Ozarks West Communications Program |
Please remit to:
Steve Sneed Ozarks West Software 409 San Juanico Santa Maria, CA. 93455
____Copies of OzCom ver. 2.0 @ $15.00 ea. _________.____
Total Enclosed _________.____
You will receive a reply via mail that your registration has been received.
This will include your registration number. Please keep it with your
documentation - you will be required to furnish it when requesting assistance
with the software. A place is provided on the cover page to enter this
I hope you like this program. In excess of 2500 hours have gone into
its planning and development. If you do like and use the program, I hope you
will consider the $15.00 donation. This helps support further versions and
inprovement of this and other Ozarks West products. Whether or not you send
the donation, please share this program with others, and upload it to bulletin
boards where you do not find it. Robin, Whitney and I thank you.
Steve C. Sneed
Hormone Hall Billards and BBS Room
Santa Maria 10-5-86