[comp.sys.apple] Correct Terminal Emulation on Apples

mdavis@pro-sol.UUCP (Morgan Davis) (07/26/87)

For about two years now, I've developed a product for Applesoft BASIC
programmers who want to write bulletin board systems and custom terminal
programs.  The product, called ModemWorks, supports all types of Apple II's
(even supports shift-key mod for the II).  It has drivers for the internal
Apple-Cat II modem, and operates intelligently with external Hayes Smartmodems
(and clones).

ModemWorks started out as a package of modem routines that I was writing while
designing a bulletin board system.  I later realized that giving those
routines a logical command interface would make them appealing to other
programmers for use in their own applications.  So, by way of the ampersand
vector, your programs can execute commands such as "WAIT FOR CARRIER", or
"WHEN NOT ONLINE GOTO <line-number>".

Just recently, ModemWorks slipped into its 2.0 version.  It supports full
terminal emulation for all non-ANSI terminals (meaning, terminals like
Televideo 912, but not VT100).  Fifteen terminal templates are supplied on the
ModemWorks disk.  They are:

        ADM 31                  ADM 3A                  Apple 40 column
        Apple 80 column         Dow Jones               Hazeltine 1500
        Hazeltine 1510          Hazeltine 1520          Heath 19
        IBM 3101                Soroc IQ series         Standard TTY
        Televideo 912           ADDS Viewpoint          DEC VT52

A terminal emulation template creation/editor program is supplied which allows
a programmer to create additional non-ANSI terminals.

It should be stressed that ModemWorks can handle *all* low-level terminal
functions, including those which are foreign to most terminal programs such
as:

        insert line             delete line             insert character
        delete character        inverse video           scroll backwards
        destructive tabs        nondestructive tabs     constant insert mode
        ...and more...

Terminal emulation was extensively tested on two different UNIX machines, a
Symmetric and a Celerity, with different programs such as vi, jove (emacs),
vnews, and many games.

In addition to being able to handle terminal emulation, ModemWorks can also
"dish it out."  A built in command, called IOCTL(), can send the appropriate
emulation codes to both the local console and modem at the same time.  This
would allow you to write a program in Applesoft which would supply emulation
for a remote terminal connected to your Apple.

ModemWorks also has built-in XMODEM protocol which is compatible with many
Apple ProDOS programs which transfer filetype information (MouseTalk, ASCII
Express, Talk is Cheap, etc.).  YMODEM support is now in the process of being
included.  ModemWorks is compatible with UMODEM.

I'm going to stop myself from going on and on about this program, but if you'd
like more information:

        1.  Send a note to my UUCP/ProLine address
        2.  Write to Living Legends software and ask for a brochure

If you're already sold on the product, you can mail-order it by sending $59.95
to Living Legends Software / 1915 Froude Street / San Diego CA / 92107.  And
if you'd like to see what can be done with ModemWorks, call ProLine (pro-sol)
running under Applesoft, at 619/281-7222 (300, 1200, 2400 bps).

--Morgan Davis

P.S.  I've waited two years to post this.  I didn't want to.  I got tired of
reading about everybody's problems.  I hope I've provided a solution.

UUCP: [ ihnp4 cbosgd hplabs!hp-sdd sdcsvax nosc ] !crash!pnet01!pro-sol!mdavis
ARPA: crash!pnet01!pro-sol!mdavis@nosc.mil
INET: mdavis@pro-sol.CTS.COM