Category : BBS Programs+Doors
Archive   : GAPCTTY.ZIP
Filename : GAPCTTY.TXT

 
Output of file : GAPCTTY.TXT contained in archive : GAPCTTY.ZIP
























GAPCTTY

Remote Communications Handler

October 3, 1988



(C) Copyright 1988 The GAP Development Company




































GAPCTTY (C) Copyright 1988 The GAP Development Company


GENERAL OVERVIEW
----------------

GAPCTTY is a replacement for the DOS CTTY function. However,
unlike the CTTY function, I/O is not redirected. It is a
terminate and stay resident (TSR) type of program and must
be turned on to use it and off to disable it. Disabling the
program removes it from memory.

GAPCTTY was designed to be utilized by Bulletin Board
operators while exiting to DOS from a remote location. It
may also be used whenever there is a need to invoke CTTY.

This program was written out of necessity because of bugs
with the CTTY function in DOS 3.3 which can cause a computer
to "hang" if a remote user types a backspace or an ESC while
the cursor is in column 0 of the local computer. With some
computers (Compaq) this problem does not occur, but with the
majority of clones it is a real menace.

GAPCTTY monitors four interrupt vectors : DOS functions,
keyboard, communications port, and interrupt 29. The
communications port is set up to provide input/output at
speeds greater than 19,200 bps. The keyboard is monitored
to determine if a backspace was pressed on the local
keyboard (yes, the backspace IS a problem). The DOS
interrupt 21 is monitored so that any local I/O can be sent
to the remote terminal.

The program monitors the carrier detect line and will reboot
the computer if there is a loss of carrier.


USAGE
-----

To use GAPCTTY you must provide it with three command line
parameters :

1 - Communication port (1 or 2)
2 - On/Off flag
3 - Ctrl-C checking (ON or Off)

The communications port is either COM 1 or COM 2. The On/Off
flag tells the program to either install itself in memory or
remove itself from memory. The flag for Ctrl-C checking is
provided so that you may use GAPCTTY in conjunction with
programs that do not provide their own communications I/O
and you wish to prevent a user from breaking out of the
program (or the batch file that runs the program). For
simple remote exits to DOS, you would normally leave this
flag set to OFF.





Page 2





GAPCTTY (C) Copyright 1988 The GAP Development Company


You must provide a valid com port number or the program will
simply exit back to DOS.

Some sample invocations would appear as follows :

GAPCTTY 1 ON ON - Invoke GAPCTTY for COM 1 and do not
allow a Ctrl-C from the remote
terminal.
GAPCTTY 1 ON OFF - Invoke GAPCTTY for COM 1 but do allow
a Ctrl-C from the remote terminal.
GAPCTTY 1 OFF OFF - Reset interrupt vectors back to their
previous state and remove program from
memory. The third parameter in this
case is irrelevant.

Since most BBS programs implement their remote exit to DOS
by exiting to a batch file, a sample remote batch file might
look like this :

echo off
cls
set prompt=Type EXIT To Return To GAP$_$p$_
gapctty 1 ON OFF
command
c:
cd \gap
gapctty 1 OFF OFF
set prompt=$p$_
gap

It is imperative that you disable GAPCTTY when it is no
longer needed. This is the equivalent of issuing a CTTY CON
command to DOS. The program must be disabled or when the
user returns to your BBS he/she will receive double

characters and the display will be generally messy! No
permanent harm of course will come but as soon as the user
logs off and the DTR line is dropped, your computer will
reboot!

If you run GAPCTTY when there is no remote connection, your
computer may reboot at an inopportune time (depending on how
"noisy" your com port is). This is normal and is for your
protection.


QUIRKS
------

GAPCTTY will work only with programs that use DOS for their
I/O. Programs that directly write to the screen or use BIOS
services will run just fine on the local computer but the
remote terminal will receive absolutely nothing! This
includes most of the ANSI.SYS replacement drivers since they
write directly to the screen.



Page 3





GAPCTTY (C) Copyright 1988 The GAP Development Company



The backspace problem with DOS 3.3 and CTTY is definately a
bazarr problem. If the backspace were not trapped, the
remote user would receive a space instead of an actual
backspace. DOS sends the space and the BIOS takes the
responsibility of repositioning the cursor. It was strange
to watch the BIOS routines continuosly re-invoke themselves
through software interrupts. No wonder DOS has bugs!

Cursor positioning commands generated thru the BIOS are not
supported (IE, the CLS command), however ANSI codes work
just fine.

GAPCTTY fully expects the keyboard buffer to be where it was
when the computer was turned on (the BIOS keyboard buffer).
The current version does not support keyboard enhancers that
provide for buffers larger than 16 bytes. We will be
working on this problem and will provide a new version when
a solution is found.

The program uses the vector for interrupt 65h to store vital
information which means that you may not use any other
program that takes over this interrupt.

As strange as it sounds, Compaq computers do not have a
problem with the backspace key but they do have a problem
with GAPCTTY! The problem was traced to the fact that
Microsoft makes full use of its undocumented int 29
function. For this reason, on Compaqs and probably other
clones, if a remote user presses the backspace key while the
cursor is at column 0, they will need to press Enter in
order for any of their subsequent keystrokes to be echoed.

























Page 4





GAPCTTY (C) Copyright 1988 The GAP Development Company


LEGAL STUFF
-----------

Individuals are granted a license to use the accompanying
software freely: copy it, post it on computer services,
distribute it through software exchanges, etc. However, no
fee must be charged other than the cost of duplication.

The program may freely be distributed with other programs as
long as no charge is made for those "other" programs.

No part of the executible file may be altered, especially
when such an alteration would remove the name GAP from the
program.

COPYRIGHT
---------

The software accompanying this documentation is owned
exclusively by GAP Development Company. It may be used
freely by individuals and need not be registered. The
software may NOT be distributed commercially for profit or
gain without written consent from GAP Development Company.

The software contains valuable trade secrets and proprietary
information and is protected by federal copyright laws.
Unauthorized use of the software or this documentation can
result in civil damages and criminal prosecution.

WARRANTY
--------

The software is licensed AS IS and THERE ARE NO WARRANTIES,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE, AND ALL SUCH WARRANTIES ARE EXPRESSLY AND
SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL GAP DEVELOPMENT
COMPANY BE RESPONSIBLE FOR ANY INDIRECT, SPECIAL, INCIDENTAL
OR CONSEQUENTIAL DAMAGES OR LOST PROFITS TO YOU OR ANY OTHER
PERSON OR ENTITY REGARDLESS OF THE LEGAL THEORY, EVEN IF WE
HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

No dealer, company or person is authorized to expand or
alter either these warranties or this agreement; any such
representation will not bind GAP Development Company.





GAP Development Company
24242 Porto Fino
Laguna Niguel, CA 92677
(714)493-3819



Page 5




  3 Responses to “Category : BBS Programs+Doors
Archive   : GAPCTTY.ZIP
Filename : GAPCTTY.TXT

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/