Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!apple!ames!think!redsox!campbell From: campbell@redsox.bsw.com (Larry Campbell) Newsgroups: comp.sys.dec.micro Subject: Re: Terminal Emulation Software wanted for DEC Rainbow Message-ID: <796@redsox.bsw.com> Date: 2 Jul 89 05:19:19 GMT References: <5509@misadel.oz> <3053@rti.UUCP> Reply-To: campbell@redsox.UUCP (Larry Campbell) Organization: The Boston Software Works, Inc. Lines: 112 LC-Term V5.0 is available now for $99.95 (site licenses and quantity discounts available, etc.) from: The Boston Software Works 120 Fulton Street Boston MA 02109 (617) 367-6846 V5.0 has the following features the last freeware version (3.something) lacked: Vastly improved script language (see sample below) Multiple session support (one session each on comm port and printer port, up to eight sessions with Omninet LAN) Completely revamped keyboard handler, allows any key (except SETUP and HOLD SCREEN) to be mapped to anything, and distinguishes key, ctrl-key, shift-key, and ctrl-shift-key Telephone dialer directory The IBM PC version also supports LAT and provides full VT220 emulation, including 132-column mode (Rainbow version emulates VT220 keyboard with VT102 screen) To give you an idea of the flavor of the new script language, here is the script to dial a Hayes-compatible modem. This script is invoked by the telephone directory processor: ;LC-Term script to dial a Hayes-compatible modem. ;Input variables: ; ; "Phone Number" number to dial ; "StatusRow" row on which to display status string ; "StatusColumn" column at which to display status string ; "StatusWidth" width of status field ; ;Copyright (C) 1988 by The Boston Software Works, Inc. ;All Rights Reserved screen-visible(0) ; don't show modem chat display-erase(@StatusRow@, @StatusColumn@, @StatusWidth@) display(@StatusRow@, @StatusColumn@, "initializing modem") :RESET send-string("A") pause(100) ; pause 100 milliseconds (1/10th second) send-string("T") pause(100) send-string("\r") ; send carriage return case("ERROR", "RESET", ; if modem says ERROR, try again "OK", "DIAL", ; if modem says OK, go dial phone 5000) ; but if neither happens within 5 seconds, ; then try sending AT again display-erase(@StatusRow@, @StatusColumn@, @StatusWidth@) display(@StatusRow@, @StatusColumn@, "re-initializing modem"); goto("RESET") :DIAL pause(250) send-string("ATS111=0\r") pause(250) display-erase(@StatusRow@, @StatusColumn@, @StatusWidth@) display(@StatusRow@, @StatusColumn@, "dialing") send-string("ATDT@Phone Number@\r") ;Interpret the modem's response case("CONNECT", "CONN", "BUSY", "BUSY", "ERROR", "ERROR", "NO CARRIER", "ERROR", "OK", "ERROR", 40000) display-erase(@StatusRow@, @StatusColumn@, @StatusWidth@) display(@StatusRow@, @StatusColumn@, "timed out") goto("FAILED") :BUSY display-erase(@StatusRow@, @StatusColumn@, @StatusWidth@) display(@StatusRow@, @StatusColumn@, "busy") goto("FAILED") :ERROR display-erase(@StatusRow@, @StatusColumn@, @StatusWidth@) display(@StatusRow@, @StatusColumn@, "unknown error occurred") goto("FAILED") :FAILED message("call failed") hangup() display-clear() script-quit() ;Here on successful completion :CONN display-erase(@StatusRow@, @StatusColumn@, @StatusWidth@) display(@StatusRow@, @StatusColumn@, "connected") display-ansi("\007") ; ring bell pause(250) display-clear() ; clear screen screen-visible(1) ; re-enable screen output -- Larry Campbell The Boston Software Works, Inc. campbell@bsw.com 120 Fulton Street wjh12!redsox!campbell Boston, MA 02146