ngg@bridge2.ESD.3Com.COM (Norman Goodger) (10/17/89)
New Features In White Knight 11 (#1 of 2 files)
-----------------------------------------------
There have been literally hundreds of minor fixes, detail work, and
"mini-features" added to White Knight 11, and because of their volume,
they won't be enumerated in this document. Suffice it to say that all
bugs reported in Red Ryder 10.3 have been eliminated, and that this list
uses Red Ryder 10.3 as a basis for existing features - only new features
will be listed here.
Manual
------
% It is my goal to make this version very suitable for beginners, much
more so than previous versions, so I have taken a lot of time to get the
manual right. The manual runs 270+ pages, contains several step-by-
step's for beginners, and contains a keyword index as well as a
Procedure command index.
General
-------
% Did lots of work to make White Knight 11 much more Multi-Finder
friendly. Among the most famous problems resolved are the "sticky
window" problem, and time-greedy INIT's degrading file transfer
efficiency and character throughput.
% White Knight 11 now fully supports Color Quickdraw and the standard
Color Picker dialog box is used to select the foreground, background,
and hilighting colors for the Terminal Window, Phonebook Window, RLE
Graphics Window, File Transfer Window, Macro Keys Window, And Status Bar
Area. The full 2 to the 48th power of colors are available.
% All of the undocumented 10.3 features have been placed in appropriate
dialog boxes in White Knight 11. No more messy PUTPARAM commands are
necessary to take advantage of them.
% Dialog boxes appear centered on the display screen no matter what size
screen is being used.
% The size and position of the following windows are remembered from
session to session: Terminal Window, Phonebook, Dialing/Redialing Status
Window, File Transfer Window, RLE Graphics Window.
% The pulldown menus have been completely reorganized to reflect a more
intuitive and more logically related grouping. Hierarchical menus have
been implemented to reduce the amount of action needed to find and
select a menu choice. However, since hierarchical menus require
horizontal mouse movement in addition to vertical, and because some
people find this awkward, I have invented a new method of keyboard menu
choice equivalents. All hierarchical menu choices can now be selected
by typing a two character sequence while holding down the command
(cloverleaf) key. These two character sequences are highly mnemonic,
and it shouldn't take much time to get comfortable with them. The two
sequence key is typically the first character of the hierarchical menu
title, followed by the first character of the menu choice. For
instance, under the "Modem" hierarchical menu, the "Hang Up" choice
would be selected from the keyboard by holding down the cloverleaf key
while typing an "M" and then an "H". The most often used commands (i.e.
"Dial or Redial" and "Initiate Procedure") have been kept out of
hierarchical menus.
%JA "Convert Settings" utility is provided to convert Settings files
(example: "Red's 10.3 Stuff") created with Red Ryder 10.3 to the format
that is used by White Knight 11.
% The overall character throughput has been increased by an order of
magnitude. High speed connections will show a vast improvement in text
display speed.
% VT102 emulation has been added. All VT102 functions are supported,
including all automatic printer operation sequences.
% White Knight will now support disk initialization when an
uninitialized disk is mounted in a drive.
% The Status Bar display can now be turned off (hidden) to allow extra
lines of data to be displayed in the Terminal Window.
% If the billing cost is set to zero, the billing clock is not shown
(only the elapsed time clock).
% It is no longer necessary to hold down the Shift key while choosing
White Knight Options to turn off the option "Display title screen at
startup" (blush).
% The contents of the Terminal Window buffer can now optionally be saved
and restored from session to session automatically.
% The "Locate Text" feature (previously "Find Text") now has an option
to make the search case insensitive.
File Transfers
--------------
% For text file captures, you can now create a new file, or append
incoming data to the end of an existing file. Additionally, you can
suspend and resume capturing without having to close and reopen the
capture file.
% Several new file transfer protocols have been added, and an entirely
new Protocol Engine has been implemented. All previous file transfer
protocols have been completely rewritten, and will run at the highest
possible efficiency with no compatibility problems. The file transfer
protocols now supported include:
classic XMODEM/Checksum - 128 byte blocks
XMODEM/CRC - 128 byte blocks
XMODEM/CRC - 1024 byte blocks
Supercharged XMODEM (throttled ACK-ahead)
classic YMODEM/CRC - 128 byte blocks
YMODEM/CRC - 1024 byte blocks
YMODEM - G
ZMODEM
Classic Kermit - 10 to 94 byte blocks
Long Packet Kermit - 10 to 9024 byte blocks
Sliding Windows Kermit - a/k/a SuperKermit (1 to 31 Windows)
Flash Protocol
"Flash Protocol" is a proprietary protocol I created for use with error
correcting and/or high-speed modems. It is essentially a "lowest
possible protocol overhead" scheme, and offers the highest efficiency of
any protocol I've seen yet (other than blind block sending - which isn't
practical). It can be used for 9600 baud modems with either hardware or
software modem level handshaking. Note that you must be using error
correcting modems on both sides, because this protocol cannot recover
from a transmission error.
% CompuServe 'B' protocol support has been removed from White Knight 11,
however, support of CompuServe 'B' and 'QuickB' protocols has been
provided as an RCMD module (discussed later).
% The Edit menu is now being supported properly for desk accessories
during a download under regular Finder (not MultiFinder).
% All of the above protocols support batch file sends and receives
except XMODEM (which doesn't provide for this). When sending, a batch
of files are sent if the file selected to be sent is a Batch File
(created with the "Create Batch File..." menu choice). Otherwise the
single selected file is sent. Because of the new scheme, the only time
you will be asked to specify a filename is after an XMODEM receive if
the file was not MacBinary format. In other words, it now works like
the old Auto-Receive option all the time. ZMODEM allows you to
automatically resume a cancelled file transfer at a later date, picking
up where it left off.
You can now specify the following for protocol transfers:
% When sending, MacBinary format should be used for all files, all files
except type 'TEXT', or no files. If "no files" is selected, only the
data fork of a file is sent (making it easy to export files to IBM
versions of MicroSoft Word, Excel, WordPerfect, etc).
% If a file being received is MacBinary format, and a file by the name
specified in the MacBinary header already exists in the destination
folder, you can now opt to either destroy the old file in favor of the
new, or give the new file a unique filename (Excel Data #1, Excel Data
#2, etc.).
% At the end of a MacBinary format file receive, you can opt either to
rename a file to the name specified in the MacBinary header or not.
Unless the protocol itself specifies the filename (all protocols do
except XMODEM) the default filename is "Untitled".
% During the reception of a non-MacBinary format file, you can specify
either no conversion, or paragraph format conversion. Paragraph format
conversion strips out all carriage returns that are either not followed
by a carriage return or a tab. This makes it easier to import files to
Macintosh word processors as it is the format preferred by them. You
can also specify that the data in the file is to be filtered. Filters
are discussed later.
% The "Auto-receive" option now means something different than in
previous versions. Now, it simply means whether the sequence is sent
telling a remotely connected White Knight (and some other Mac
communications programs) to begin receiving a file automatically without
the remote user having to select a menu choice, and on the receiving
end, whether or not to react to such sequences.
% Whether or not to include a "final report" at the end of a file
transfer (or after each file transfer in a batch transfer). The final
report is sent to the Terminal Window, and includes the file name, size,
time spent transferring, and efficiency of the transfer.
% Files transferred with Kermit can be specified as "Text" or "Binary"
to properly support auto-linefeed adding (when sending) or stripping
(when receiving).
% All of the file transfer protocols have been extensively tested with a
large number of Macintosh and non-Macintosh communications programs to
insure the widest possible compatibility.
% The File Transfer Window has been rewritten for clarity and contains
much useful information during a file transfer. This includes:
1) The filename being transferred.
2) If the file will be renamed after the transfer, the name it
will be renamed to.
3) Bytes transferred (number, total to transfer, percent
transferred, and a graphic pie).
4) File format (MacBinary, MacBinary II, Not MacBinary).
5) Cumulative transmission errors.
6) Number of files transferred.
7) Status (Holding for start, receiving data, sending data,
waiting for data).
8) Efficiency (percent and characters per second).
9) Estimated time left (minutes/seconds) and estimated time of
day when transfer will finish.
10) File type and creator.
11) File destination path.
% The File Transfer Window is draggable, and it remembers its position
on the display screen. A spinning beach ball cursor appears when the
window is frontmost and the cursor is inside the window to let you know
the protocol is still working.
Serial Port And Modem Support
-----------------------------
% The Serial Port dialog box implements pop-up menus for all of the
parameter selections to speed things up while maintaining a proper
interface. Additionally, White Knight can now support hardware
handshaking, and can hold the DTR line (actually, _whatever_ line is
connected to the output handshake serial port line) continuously in a
low condition. Therefore, the "Drop DTR For One Second" button has been
changed to "Invert DTR For One Second" to reflect this.
% An additional parity type "Ignore Parity" has been implemented to
replace the old "Don't Zap High Bits" option in 10.3. If "Ignore"
parity is used, the most significant bit of each byte is not zeroed, as
"No" parity does. This is useful for sending and receiving special
characters at the high end of each font. Note that many host services
(notably CompuServe) require "No" parity and will not function correctly
with "Ignore" parity.
% Support for 38,400 baud has been added.
% The size of the serial port buffer is now user-definable.
% A complete set of automatic Hayes-compatible modem handling routines
have been added. There is now menu-level support for dialing and
redialing, Initializing the modem, turning on or off auto-answer, and
hanging up. Additionally, a new type of Procedure file, called a "Modem
Driver" has been created to allow White Knight to transparently support
non-Hayes compatible modems, or to take advantage of up to 20 additional
brand-specific modem features.
% The initialization command and inter-character delay for modem
commands are user-definable.
Filters
-------
%JWhite Knight supports the optional use of three separate Filters. One
for the Terminal Window, one for file captures, and one for protocol
file transfers. Filters can be loaded from and saved to disk. A Filter
allows you to specify how each received character is to be handled. For
each of the 256 ASCII byte values, you can specify that the character is
to be passed through, stripped out, translated to some other character,
or numerically enumerated to its ASCII code value (example: "<127>").
Keyboard Support
----------------
% White Knight 11 will now automatically recognize the Mac Plus,
Standard Apple Desktop Bus (ADB) and Extended ADB keyboards. The
"Install Special Keys" utility should only have to be used for third
party keyboards, or if the user doesn't like the arrangement White
Knight uses as a default.
% Macro Keys can now be activated with a user-defined keyboard sequence,
which can be any key on your keyboard in combination (optionally) with
Shift, Option, Cloverleaf, and Control. Yes, it does support the
Function keys on the Extended ADB keyboard or third party keyboards.
% The Backspace key can now be selected to send either a Backspace
(ASCII code 8) or Delete (ASCII code 127). Shift-Backspace can be
selected to send Backspace, Delete, or a modem BREAK signal.
% The following "Serial port settings shortcuts" are optionally
supported:
Shift-Option-1 Change to 1200 baud
Shift-Option-3 Change to 300 baud
Shift-Option-2 Change to 2400 baud
Shift-Option-9 Change to 9600 baud
Shift-Option-7 Change to 7 Databits
Shift-Option-8 Change to 8 Databits
Shift-Option-N Change to No Parity
Shift-Option-I Change to Ignore Parity
Shift-Option-O Change to Odd Parity
Shift-Option-E Change to Even Parity
Shift-Option-M Change to Mark Parity
Shift-Option-S Change to Space Parity
Shift-Option-F Change to Full Duplex
Shift-Option-H Change to Half Duplex
Shift-Option-X Change to Null Duplex
Shift-Option-D Inverts the DTR modem line for one second
Shift-Option-R Sends a Delete (ASCII code 127) character
% Option-1, Option-2, and Option-3 can be optionally selected to switch
the active Macro Keys set to Set #1, #2, or #3.
Printer Support
---------------
% One of the problems that have plagued 10.3 users is that Apple has
decided not to implement low-level printing routines in LaserWriter
driver versions after 5.0 and a number of third party printer
manufacturers have decided to follow suit. This caused 10.3 to crash
when printing to a LaserWriter or certain third party printers. Also,
although we did support AppleTalk ImageWriter printing, it was
interminably slow. The new printing routines solve these problems. In
order to accomodate the greatest number of various printers, I've
decided to let the user decide whether to use low level (line-at-a-time
printing) or high level (page-at-a-time printing) routines. Low level
routines are best used by directly connected (non-AppleTalk)
ImageWriters. High level routines are best for AppleTalk connected
printers, or any directly connected printer besides an ImageWriter
(although testing may prove that some third-party directly connected
printers will work best with low-level routines. Which routines are
used is set in the "Printer Options" dialog box.
% The only change made to the low-level routines is that two blank lines
are printed above the Date/Time header. If you have a problem with your
printhead snagging on the perforation corner, turn on this header and
the problem should disappear.
% The high level routines allow you to select which font and point size
to use in printing, which may be different from the font and/or point
size used in the terminal window. It will also correctly display
VT100/VT102 special graphics characters. A standard "Page Setup" dialog
box is supported.
Phonebooks
----------
% More than one person mentioned that they would like an easier way to
open a default phonebook without going through the file selection
dialog. Therefore, if a phonebook by the name "Phonebook" resides in
the same folder as White Knight, the menu choice "Open Default
Phonebook..." will be added to the end of the Phonebook menu.
Selecting this choice will open the "Phonebook" file automatically.
% The phonebook no longer has a "door" that closes when switching pages.
Page switches are swift and painless.
% The phonebook remembers the page that was displayed the last time and
opens to that page the next time.
% The phonebook can be run completely by keyboard. When the Phonebook
window is frontmost, the following keystrokes are supported:
'A' through 'Z': Move to Phonebook page corresponding to the letter.
Up Arrow: Move page up one notch.
Down Arrow: Move page down one notch.
Left Arrow: Move selected item up one entry.
Right Arrow: Move selected item down one entry.
Return: Same as clicking on Phonebook "Call" button.
% A new feature has been added to the Phonebook that I call "Gang
Dialing". Here's how it works. If you open a Phonebook and hold down
the Option key while clicking on a entry, a small bullet character will
appear to the left of the entry's name. When this bullet is there, it
defines that entry to be a member of the "gang". Option-click on it
again to turn off the bullet. When you edit an entry, it's bullet is
automatically turned off. Now, if you choose "Gang Dial" under the
"Phonebook" menu when the phonebook is open, each of those gang members
will be dialed in a round-robin fashion. Unlike redialing, this round-
robin dialing will continue forever (or until you cancel the dial). If
a settings file has been defined for that entry, it will be loaded
before that entry is dialed (each time). If a Procedure file has been
defined for that entry in the Phonebook, it will be automatically
executed upon connection, otherwise, a dialog box will appear telling
you which service you are connected with. I felt this feature would add
a neat way to dial a group of busy BBS's in a daisy chain fashion while
I was doing other work.
Macro Keys Window
-----------------
% A new feature with the simple name "Macro Keys Window" has been
implemented. This window may be turned on and off under the Macro Keys
menu. You'll note that in the first "Edit Macro Keys" dialog box, you
can now specify that this window's size and location should be
remembered and restored. This works only when Macro Keys are loaded
from a Macro Keys file, not from a Settings file. Additionally, you may
specify up to a 40 character title for the Macro Keys window. If you
leave the title blank, the Macro Keys window will appear without a title
bar (and will therefore will have to be closed with a menu selection).
In order to drag a titlebar-less window, hold down the Shift key, click
anywhere in the window and drag. The window itself is draggable and
sizeable, so you could display all three sets of Macro Keys
simultaneously in the Macros Window.
% When you edit a macro key, you'll notice that you can now specify that
this key is to be shown in one of four basic ways in the Macro Keys
Window (it will always be shown as a button in the Macros Status Bar).
It can be shown as the familiar pushbutton as in the Macros Status Bar,
as a standard (32 bit by 32 bit) icon, as a double-sized (64 bit by 64
bit) icon, a color icon, a double-sized color icon or as a bitmapped
picture (that has been saved in the Scrapbook).
White Knight 11 allows you to select from the following resource types
contained in any file: ICON, ICN#, cicn, and PICT. It supports color
icons and, yes, even Color QuickDraw pictures. You can arrange each
item in the window by simply holding down the option key, clicking on
the item, and then dragging it to where you want it in the Macros
Window. Additionally, each item can be made visible or invisible in the
Macros Status Bar and/or the Macros Window through dialog box or
Procedure commands. Therefore, this feature could be used to setup a
personalized graphic interface of your own device.
You can also specify whether or not individual items will respond to
mouse clicks (you might want to use a picture containing your company or
VAR product logo in the window that is a "non-item", for instance).
% Keystrokes are passed through to the terminal window whenever the
Macros Window is frontmost.
% There are "Arrange Items Horizontally" and "Arrange Items Vertically"
buttons in the first "Edit Macro Keys" dialog, which will automatically
layout the items in the Macros Window in a grid oriented fashion (like
the Finder's "Clean Up Selection" menu choice).
Host Mode
---------
% Host Mode has several new features. If anything other than TTY
emulation is being used when Host mode is entered, TTY emulation is
automatically switched in. The mouse must now be clicked in the Status
Bar area now to cancel Host Mode, which allows Host Mode to operate in
the background under MultiFinder.
% There are several new Host Mode commands:
SENDZ filename - tells White Knight to send the file "filename" using
ZMODEM protocol.
SENDF filename - tells White Knight to send the file "filename" using
Flash protocol.
RECZ filename - tells White Knight to receive the file "filename" using
ZMODEM protocol.
RECF filename - tells White Knight to receive the file "filename" using
Flash protocol.
RECN filename - tells White Knight to capture all further incoming text
to a new file (destroying any old files by the same name) titled
"filename".
RECA filename - tells White Knight to capture all further incoming
text, either creating a new file titled "filename" or appending
to the end of any existing file by the same name.
DRIVES - tells White Knight to print out the volume names of all
mounted disk volumes. The volume names are enclosed in
brackets so that any leading or trailing spaces are obvious.
DIR pathname - tells White Knight to print out the volume names of all
folders and files contained in the folder "pathname". Pathname
can also be a volume name. File and folder names are enclosed
in brackets so that leading and trailing spaces are obvious.
Folders are designated with a colon as the first character. Some
examples of this command would be:
DIR HD
would show all files and folders on the disk volume titled "HD".
DIR HD:Comm
would show all files and folders in the folder "Comm" which
resides on the disk volume "HD".
DIR HD:Comm:BBS
would show all files and folders in the folder "BBS" which
resides in the folder "Comm" which resides on the disk volume
"HD".
HANG UP - is equivalent to choosing "Hang Up" under the Modem menu.
HELP - sends a file named "Host Mode Help" which resides in the
same folder as White Knight. A sample "Host Mode Help" is
included with White Knight 11.
PASSWORD string - enters the user's password (discussed below).
% There are three levels of password protection that can be entered for
Host Mode: Full Access, Send-Only Access, and Receive-Only Access. If
all three passwords are left blank, Full Access is automatically given
to the caller. The caller enters their password using the PASSWORD Host
Mode command. This command is in the following form:
PASSWORD string
The string contains the password (up to 8 characters), and upper and
lower case letters are _not_ significant (they are considered the same,
so "BOBBY" and "bobby" is the same password.
Here are the commands available at each Access level:
No Access Level (or any Access Level)
-------------------------------------
HANG UP
PASSWORD
Full Access Only
----------------
DRIVES
DIR
DO
Receive-Only Or Full Access
---------------------------
RECX
RECA
RECN
RECK
RECZ
RECF
RECY
*CLOSE*
Send-Only Or Full Access
------------------------
SENDA
SENDX
SENDY
SENDZ
SENDK
SENDF
Any Access Level (except No Access)
-----------------------------------
HELP
The access level is automatically downgraded to No Access whenever the
following happens:
1) The DO command is executed.
2) Host Mode is entered (even with a Procedure HOST command).
3) The string "NO CARRIER" is received.
4) The string "CONNECT" is received.
5) The HANG UP command is executed.
Therefore, if the user wishes to execute a Procedure which later returns
to Host Mode, the PASSWORD command will have to be reentered. This
security is not by any means foolproof, but it should provide a very
satisfactory level of insulation from malcontents.
New Features In White Knight 11 (file #2 of 2)
----------------------------------------------
This file continues the new features list that began in the first file.
Procedure Commands
------------------
% White Knight 11's Procedure language is upwardly compatible with Red
Ryder 10.3's. A few small changes were necessary:
1) STRIP now turns on/off the text transfer "Use filter" option.
2) XKSTRIP now turns on the file transfer "Use filter" option.
3) NOZAP ON now turns on IGNORE parity. NOZAP OFF now switches
to NO parity.
4) FASTDUMP has been eliminated as a Procedure command and has
been implemented as an RCMD module (described later).
5) TIMEDATE now uses the proper International date/time format.
6) The MENUDOES command now allows up to 68 characters to be
entered for each user menu command.
% The Procedure RUN command has been rewritten to support MultiFinder
and the launching of appications outside of the folder in which White
Knight resides.
% The number of string and numeric variables have been increased from 26
each to 234 of each.
% A plethora of new Procedure commands have been added. I'm going to
document them in pretty much the same manner as in the version 10
manual, so refer to that if you have any questions about the syntax
descriptions.
str_exp = String Expression
str_con = String Constant
str_var = String Variable
num_exp = Numeric Expression
num_con = Numeric Constant
num_var = Numeric Variable
on_or_off_exp = On Or Off Expression
proc_cmd = Procedure Command
RECN str_exp
Similar to the RECA command, but it will always destroy an existing file
by the name contained in "str_exp" before starting the file capture.
RECF str_exp
This command is equivalent to choosing "Receive File Using Flash
Protocol" under the File menu. The filename to be used as a default is
contained in "str_exp".
SUSPEND on_or_off_exp
"SUSPEND ON" is equivalent to checkmarking "File Capture Pause" under
the File menu. "SUSPEND OFF" is equivalent to uncheckmarking "File
Capture Pause" under the File menu.
RECZ str_exp
This command is equivalent to choosing "Receive File Using ZMODEM
Protocol" under the File menu. The filename to be used as a default is
contained in "str_exp".
SENDF str_exp
This command is equivalent to choosing "Send File Using Flash Protocol"
under the File menu. The file to send is contained in "str_exp".
SENDZ str_exp
This command is equivalent to choosing "Send File Using ZMODEM Protocol"
under the File menu. The file to send is contained in "str_exp".
FILTERT str_exp
FILTERF str_exp
FILTERP str_exp
These commands loads the Filter file specified in "str_exp". "FILTERT"
loads the Filter file to the terminal emulation filter. "FILTERF" loads
the Filter file to the file capture filter. "FILTERP" loads the Filter
file to the file transfer filter.
VT102
Switches White Knight to VT102 emulation.
INITMODEM
This command is equivalent to choosing "Modem Initialize" under the
Service menu.
HANGUP
This command is equivalent to choosing "Modem Hang Up" under the Service
menu.
AUTOANSWER on_or_off_exp
"AUTOANSWER ON" is equivalent to choosing "Modem Auto-Answer" from under
the Service menu. "AUTOANSWER OFF" is equivalent to choosing "Modem
Turn Off Auto-Answer" from under the Service menu.
NEST str_exp
This command is used to execute a second Procedure file from within a
Procedure file, and then later return to the same point in the first
Procedure file. The Procedure file to execute is specified in
"str_exp". In this way, separate Procedure files can be called as
subroutines similar to the way the "GOSUB" and "RETURN" Procedure
commands work with labels. Procedures can be nested 6 levels deep, but
since a Modem Driver is essentially a nested Procedure file that can be
called at any given moment, you should take care not to nest your
Procedure files more than 5 levels deep. Although the Procedure
Compiler will allow you to, you should never put a "NEST" command in an
"ALERT" statement, since the return point will be the command following
the "ALERT" statement, which is probably not what you want.
NESTEND
This command is used to return to the calling Procedure file in a file
executed with a "NEST" command. If the Procedure file was not executed
with a "NEST" command, this command functions exactly like the "END"
command.
*
Any line in a Procedure file that begins with the asterisk character is
treated like a comment (the rest of the characters in the line are
ignored), but unlike those lines that start with a left parenthesis
character, these lines will actually be included in the executable
Procedure file. These lines are mainly for use with the "TRACE"
command.
TRACE on_or_off_exp
"TRACE ON" turns on special trace mode. "TRACE OFF" turns off special
trace mode. The special trace mode is a bit different than the normal
trace mode provided by the "Monitor Procedure" menu choice and the
"LOUD" Procedure command. Instead of showing each Procedure command as
it executes, the special trace mode shows the last line in the Procedure
file encountered which begins with a "*" character. This can be used as
an aid in debugging to display messages such as:
"* I'm now in the 'Dial A Number' routine. *"
The special trace mode overrides the normal trace mode.
GETRECPATH str_var
This command puts the file transfer file destination pathname into the
string variable specified in "str_var". The pathname does not conclude
with a colon character. This command is useful for constructing full
filenames (by concatenating a colon character and then the desired
filename to this pathname) for use with the "RECX", "RECY", "RECK",
"RECZ", and "RECF" commands so that the file is saved in the folder
expected by the user.
SETRECPATH str_exp
This command sets the file transfer file destination pathname to the
pathname specified in "str_exp". If the path is not valid, the root
level of the volume containing White Knight will be used. The pathname
should not conclude with a colon character.
UNIQUE str_var
This command will create a filename based on the current date and time
and returns it in the string variable specified in "str_var". To insure
uniqueness, you should put a "PAUSE 120" command between any two
"UNIQUE" commands
INBUFFER
This command will set the YES/NO flag to YES if there is at least one
byte in the serial port buffer waiting to be read. If the serial port
buffer is empty, the YES/NO flag is set to NO.
FETCHBYTE str_var
This command sets the YES/NO flag like the "INBUFFER" command, but if a
byte is available, one byte is read and is copied (erasing any old
contents) to the string variable specified in "str_var".
BYTEVAL str_var,num_exp,num_var
This command gets the ASCII value of byte number "num_exp" contained in
"str_var" and places that value in "num_var". If "num_exp" is larger
than the actual length of "str_var", the returned value is garbage and
shouldn't be used.
BYTEADD num_exp,str_var
This command concatenates a byte with the ASCII value specified in
"num_exp" to the end of the string variable specified in "str_var".
USEDRIVER str_exp
This command tells White Knight to load and use the Modem Driver file
specified in "str_exp".
WINDOW on_or_off_exp
This command shows (WINDOW ON) or hides (WINDOW OFF) the Macros Window.
BUTTON num_exp1,num_exp2,on_or_off_exp1,on_or_off_exp2
This command controls how a Macro Key is displayed in the Macros Status
Bar and Macros Window. num_exp1 is the Macro Key Set Number (1, 2, or
3) containing the desired key, and num_exp2 is the Macro Key Number (0
through 9). on_or_off_exp1 should be "ON" if you want the Macro Key to
be visible in the Macros Status Bar, or "OFF" if you want it to be
invisible. on_or_off_exp2 should be "ON" if you want the Macro Key to be
visible in the Macros Window or "OFF" if you want it to be invisible.
REDRAW
The BUTTON command does not redraw either the Macros Status Bar or the
Macros Window. This is to provide a "cleaner" display when changing the
visibility and/or invisibility of groups of Macro Key buttons.
Therefore, the REDRAW command simply redraws the Macros Status Bar and
Macros Window.
NOBAR on_or_off_exp
The command "NOBAR ON" will hide the Status Bar. The command "NOBAR
OFF" will force the Status Bar to be shown. Notice that hiding the
Status Bar will also affect the "Monitor Procedure" feature, as well as
some Procedure commands (notably, QUIET, LOUD, TRACE, and SHOW@).
However, the Status Bar is required for the Host Mode (so the user can
exit the Host Mode). In this case the "Hide Status Bar" menu choice
will be turned off automatically when Host Mode is entered.
SHUTDOWN
Closes White Knight similar to the QUIT command and then executes a
system Shut Down similar to if you chose "Shut Down" from under Finder's
"Special" menu.
USERPUT% num_exp,num_var
Used to write the contents of a numeric variable to a file opened with
the USEROPENO or USEROPENA command. num_exp is the path number (1 or 2)
that was specified in the USEROPENO or USEROPENA command and num_var is
the numeric variable to write to that file. Variables written with a
USERPUT% command _MUST_ be read back in with a USERGET% command!
USERGET% num_exp,num_var
Used to read a value into a numeric variable that was previously written
with a USERPUT% command from a file opened with a USEROPENI command.
num_exp contains the path number (1 or 2) specified in the USEROPENI
command, and num_var is the numeric variable to read the value into.
USERGET% should only be used to read in data that was saved with a
USERPUT% command.
USERPUT$ num_exp,str_var
Used to write the contents of a string variable to a file opened with
the USEROPENO or USEROPENA command. num_exp is the path number (1 or 2)
that was specified in the USEROPENO or USEROPENA command and str_var is
the string variable to write to that file. Variables written with a
USERPUT$ command _MUST_ be read back in with a USERGET$ command!
USERGET$ num_exp,str_var
Used to read a string of characters into a string variable that was
previously written with a USERPUT$ command from a file opened with a
USEROPENI command. num_exp contains the path number (1 or 2) specified
in the USEROPENI command, and str_var is the string variable to read the
data into. USERGET$ should only be used to read in data that was saved
with a USERPUT$ command.
The next group of Procedure commands deals with a new part of the White
Knight interface, the User Window. Often times, it is desirable to hide
what's happening in the terminal window (via a "SCREEN OFF" Procedure
command) from the neophyte user, yet provide some sort of feedback that
progress is being made. As you know, the various "QUERY" command dialog
boxes as well as "SHELL" command dialog boxes are all modal, which means
that all action behind the dialog box stops until the dialog box has
been clicked closed by the user.
The User Window is modeless, which means it will stay around until you
specifically get rid of it. Additionally, it is updated automatically
when other windows overlap it and it does not affect the continued
execution of your Procedure file. Finally, you can even control the
size and location of the User Window on the display screen.
UWOPEN0 num_exp1,num_exp2,num_exp3,num_exp4
CUWOPEN0 num_exp1,num_exp2,num_exp3,num_exp4
These commands use a dragable window with a title bar, but no go-away
box. For both commands, num_exp1 is the top coordinate, num_exp2 is the
left coordinate, num_exp3 is the bottom coordinate, and num_exp4 is the
right coordinate of the window. "UWOPEN0" uses these coordinates
exactly to size and position the window, so they should be given in
global screen coordinates. "CUWOPEN0" uses the coordinates in a
relative manner to size the window, the actual postion of the window is
centered on the screen. The window title is passed in the string
variable W$. The text to appear in the window is passed in X$, Y$, and
Z$. These strings are jammed right up against each other, so you'll
want to take care to include necessary spacing. You can pass up to 132
characters in each string variable (taking care that the window size is
large enough to display all of the characters).
UWOPEN1 num_exp1,num_exp2,num_exp3,num_exp4
CUWOPEN1 num_exp1,num_exp2,num_exp3,numexp4
These commands are similar to "UWOPEN0" and "CUWOPEN1" (respectively),
except they produce a non-dragable window without a title bar and no
go-away box. Therefore, W$ is not used by these commands.
UWOPEN2 num_exp1,num_exp2,num_exp3,num_exp4
CUWOPEN2 num_exp1,num_exp2,num_exp3,num_exp4
These commands are similar to "UWOPEN0" and "CUWOPEN1" (respectively),
except they include a go-away box in the title bar.
IF CLOSEUW proc_cmd
This command is used with dialog boxes created with "UWOPEN2" and
"CUWOPEN2" to monitor whether or not the user has clicked in the go-away
box. When the user does this, the window is not closed, it's up to you
to do this explicitly. If the go-away box has been clicked in before
this command has been executed, the Procedure command "proc_cmd" is
executed. Otherwise, this command does nothing.
UWCLOSE
This command removes the User Window created by any of the "UWOPEN" and
"CUWOPEN" commands. Please note that you can have only one User Window
open at any time. If the User Window is not open when this command is
executed, it does nothing. Please note that an open User Window will
survive even after a Procedure has ended or has been cancelled unless it
is explicitly closed using this command. Therefore, if you want to give
the user the ability to abort the Procedure cleanly, you should use a
"UWOPEN2" or "CUWOPEN2", and when a click in the go-away box is
detected, branch to a closing routine.
UWUPDATE
If you want to change the contents of an open User Window, this command
is used to redisplay the text passed in the string variables X$, Y$, and
Z$. For User Windows created with "UWOPEN0", "CUWOPEN0", "UWOPEN2", and
"CUWOPEN2", it will also set the window title to the string passed in W$
(if the window has a title bar).
TOP num_var
This command is useful when used before a "UWOPEN0", "UWOPEN1", or
"UWOPEN2" command. It returns the vertical global coordinate in the
numeric variable "num_var" of the bottom of the menu bar (which can be a
different size on different machines - don't take it for granted). To
fit your window flush below the menu bar, you would add 19 to the number
returned by this command for "UWOPEN0" and "UWOPEN2" commands or add 8
to the number returned by this command for "UWOPEN1" commands.
There are a variety of new Procedure commands that deal only with RCMD
modules (discussed later) and Modem Drivers. These will be documented
elsewhere.
RCMD Modules
An RCMD Module is a CODE resource that allows White Knight to be
extended beyond its basic capabilities. Although RCMD's must be written
by software developers (and not beginners), they can be used by anyone.
Since the RCMD has access to a large number of White Knight's private
data, it can add a degree of intelligence and aesthetics not possible
through White Knight 11's Procedure language.
The possibilities with RCMD's seem endless, in only the short time that
I've taken to explore possible applications of them. For instance, it's
possible to write (and one probably will be) an RCMD that can interface
to HyperCard's XFNC's and XCMD's! There will be a number of sample
RCMD's distributed with White Knight 11. Some, like AddLF, are useful
but sublime. Other's, like ProcEdit, have a high degree of
sophistication and usefulness. My goal was to explore a lot of
different avenues with these samples, and I'm sure they'll whet the
appetites of other developers as they have mine. The samples include:
% AddLF - This module will add linefeeds after every carriage return in
a text file. Useful if you'll be sending a file with a protocol to a
machine that requires linefeeds after carriage returns (example: IBM-
PC).
% FastDump - Replaces the FASTDUMP Procedure command in Red Ryder 10.3
% FolderBatch - This module prompts you to select a folder and then it
creates a Batch File (for sending with a protocol) containing the names
of every file in that folder.
% SetFile - This module allows you to view and/or edit all of the Finder
information (type, creator, and flags) for a specified file.
% Speak - This module allows you to interface with Macintalk in your
Procedures.
% TabFile - This module performs on a file what the "Copy Table" menu
choices does to selected text in the Terminal Window.
% QuickB - This module implements CompuServe's CIS-B and QuickB file
transfer protocols (for both sending and receiving) with the same File
Transfer Window White Knight 11 uses for its built-in protocols.
% ProcEdit - This module is a point-and-click Procedure Editor, somewhat
similar to MicroPhone's or SmartComm II's script editors. Though meant
for beginners, it can be very useful for anyone. It interfaces nicely
with White Knight 11, in that ProcEdit can direct a file to White Knight
to compile. If an error occurs during compilation, White Knight will
branch back to ProcEdit, which will load that file and scroll to the
line containing the error for immediate correction. ProcEdit implements
its own menus, and even supports desk accessories and background
operation under MultiFinder.
% Others - I have written several others that aren't appropriate for
mass distribution (they require more than beginner's skill to utilize),
and several of the beta testers have benn working on others. The one's
that I do will be available through the FreeSoft RoundTable on GEnie and
through the mail in something I'm putting together called the "White
Knight Developer's Toolkit", which will also contain the information on
how to write RCMD's, Modem Drivers, and SHELL resources. More details
about this will be in the White Knight manual. My guess is that you'll
see literally dozens of these useful gizmos floating around in short
fashion.
The Surprise
------------
The very fact that this "new features" list is running over 40K long
should testify to the amount of work that went into this new version.
However, it is still my feeling that this update is long overdue.
Some time back, I took advantage of my medical insurance and the
intensive care facilities of the local hospital to receive a donation of
four pints of blood after losing same to a rather large and pernicious
hole in my gut. This little sidetrack caused me to lose over three
months of development time on White Knight 11. Close to an additional
month was lost coming up with the new name and playing games with the
lawyers. All in all, it's been a hell of an uphill fight to get this
thing out the door.
To thank my existing customers for their patience and continuing
support, and as an incentive to new customers, I've decided to include
at no extra cost a copy of my new product Okyto for a limited time.
This will be included in all updates and all new orders at least until
the end of 1989 (after that, who knows?).
I've been told by several people that this thing could easily sell for
anywhere from $60 to $100, and that I'm nuts for doing this. But that
fits in well with my self-image, so what the heck.
As for what it does and whether it will be useful to you. Well, that's
the surprise, you see. I'm not talking.
--
Norm Goodger SysOp - MacInfo BBS @415-795-8862
3Com Corp. Co-SysOp FreeSoft RT - GEnie.
Enterprise Systems Division (I disclaim anything and everything)
UUCP: {3comvax,auspex,sun}!bridge2!ngg Internet: ngg@bridge2.ESD.3Com.COMchuq@Apple.COM (Chuq Von Rospach) (10/17/89)
>New Features In White Knight 11 (#1 of 2 files)
Wow. As one of the noisier gripers about Red Ryder 10.3all I can say is that
Scott has done a *lot* of work. Glancing through the list, if he hasn't
covered all of my gripes, he's hit the major ones. If White Knight actually
comes through and delivers what's being claimed, it'll be a whale of a
package -- enough for me to quit griping long enough to upgrade and see what
happens [which I hadn't planned on doing]. It's definitely worth a try, as
far as I'm concerned.
chuq (not someone to gripe in public and congratulate privately...)
--
Chuq Von Rospach <+> Editor,OtherRealms <+> Member SFWA/ASFA
chuq@apple.com <+> CI$: 73317,635 <+> [This is myself speaking]
Anyone who thinks that the argument over {sci,rec}.fishies is about
group names doesn't understand the system.ngg@bridge2.ESD.3Com.COM (Norman Goodger) (10/17/89)
In article <35711@apple.Apple.COM> chuq@Apple.COM (Chuq Von Rospach) writes: >>New Features In White Knight 11 (#1 of 2 files) >Wow. As one of the noisier gripers about Red Ryder 10.3all I can say is that >Scott has done a *lot* of work. Glancing through the list, if he hasn't >covered all of my gripes, he's hit the major ones. If White Knight actually >comes through and delivers what's being claimed, it'll be a whale of a >package -- enough for me to quit griping long enough to upgrade and see what >happens [which I hadn't planned on doing]. It's definitely worth a try, as >far as I'm concerned. >chuq (not someone to gripe in public and congratulate privately...) Chuq, I think that you will be very pleased with 11 and that it will live up to your expectations. While I think feel that we have tested it extensively, there is always the possibility that something is lurking, but performance is way up, both in screen and file transfers. Even in color..So if you upgrade, let me know what you think.... .... -- Norm Goodger SysOp - MacInfo BBS @415-795-8862 3Com Corp. Co-SysOp FreeSoft RT - GEnie. Enterprise Systems Division (I disclaim anything and everything) UUCP: {3comvax,auspex,sun}!bridge2!ngg Internet: ngg@bridge2.ESD.3Com.COM
jmunkki@kampi.hut.fi (Juri Munkki) (10/17/89)
I couldn't find the magic words "Communication Toolbox" anywhere in the announcement. I guess version 11 will be obsolete when it ships... Every decent communications application should support the Comm Toolbox. Of course it should be an option, but it should be there. _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._ | Juri Munkki jmunkki@hut.fi jmunkki@fingate.bitnet I Want Ne | | Helsinki University of Technology Computing Centre My Own XT | ^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^
ngg@bridge2.ESD.3Com.COM (Norman Goodger) (10/18/89)
In article <25744@santra.UUCP> jmunkki@kampi.hut.fi (Juri Munkki) writes: >I couldn't find the magic words "Communication Toolbox" anywhere in the >announcement. I guess version 11 will be obsolete when it ships... Every >decent communications application should support the Comm Toolbox. Of >course it should be an option, but it should be there. > Interesting you should mention something yet unreleased. Scott is well aware of the comm toolbox..(has had betas for months) and if he were really concerned about compatability with it when its finally released (if ever) then I am sure that version 11 already supports it, even if not mentioned.. -- Norm Goodger SysOp - MacInfo BBS @415-795-8862 3Com Corp. Co-SysOp FreeSoft RT - GEnie. Enterprise Systems Division (I disclaim anything and everything) UUCP: {3comvax,auspex,sun}!bridge2!ngg Internet: ngg@bridge2.ESD.3Com.COM
svc@well.UUCP (Leonard Rosenthol) (10/19/89)
In article <974@bridge2.ESD.3Com.COM> ngg@bridge2.3Com.com (Norman Goodger) writes: >In article <25744@santra.UUCP> jmunkki@kampi.hut.fi (Juri Munkki) writes: >>I couldn't find the magic words "Communication Toolbox" anywhere in the >>announcement. I guess version 11 will be obsolete when it ships... Every >>decent communications application should support the Comm Toolbox. Of >>course it should be an option, but it should be there. >> Why would ANY program become obsolete once the ComToolbox ships?? White Knight 11.0, MicroPhone II v3.0, SmartCom II 3.1, etc. all are very nice software packages for doing telecommunications and just because Apple has put otu this thing for making telecom easier to program CERTAINLY does NOT obsolete it! Is my program obsolete because I ddid my own tear off menus, but System 7.0 will have it built in?? Actually for many people they will find the above mentioned products MUCH better than the intial CTB compatible p9roducts since they features things that are not yet avail fo the CTB such as ZMODEM, QuickB, VT102 print logging, and SCRIPTING!! Also there are some parts of the CTB which programs such as these will support early one and there are others which may never see support - but you must understand the CTB to understand why a commercial developer would or wouldnot care to support it - and what it would take to FULLY integrate it into an existing product. > >Interesting you should mention something yet unreleased. Scott is >well aware of the comm toolbox..(has had betas for months) and if >he were really concerned about compatability with it when its finally >released (if ever) then I am sure that version 11 already supports it, >even if not mentioned.. > Although I am sure you did nto mean to spread false information, I can say VERY factually that White Knight 11.0 DOES NOT support the CTB. You have to specially recode for that support and had Scott done it - he would have said something. Remember folks - things don't break under that CTB - it just adds funcationality! -- +--------------------------------------------------+ Leonard Rosenthol | GEnie : MACgician Lazerware, inc. | MacNet: MACgician UUCP: svc@well.UUCP | ALink : D0025
ngg@bridge2.ESD.3Com.COM (Norman Goodger) (10/20/89)
I have spoken to Scott today, and yes WK11 does not support the Comm Tool
Box and like you Leonard, Do not think that not supporting the CTB (nice
acronym) does not mean that WK11, Microphone, or any other terminal is
now obsolete. I think that Jurri Munki obviously does not understand what
the CTB is, otherwise he would have not made such an ambiguous statement.
--
Norm Goodger SysOp - MacInfo BBS @415-795-8862
3Com Corp. Co-SysOp FreeSoft RT - GEnie.
Enterprise Systems Division (I disclaim anything and everything)
UUCP: {3comvax,auspex,sun}!bridge2!ngg Internet: ngg@bridge2.ESD.3Com.COMjmunkki@kampi.hut.fi (Juri Munkki) (10/20/89)
In <979@bridge2.ESD.3Com.COM> ngg@bridge2.3Com.com (Norman Goodger) writes: >I have spoken to Scott today, and yes WK11 does not support the Comm Tool >Box and like you Leonard, Do not think that not supporting the CTB (nice >acronym) does not mean that WK11, Microphone, or any other terminal is >now obsolete. I think that Jurri Munki obviously does not understand what >the CTB is, otherwise he would have not made such an ambiguous statement. Interesting... Maybe it's not enough that I write terminal software for a living and that I have the APDA beta release of the communications toolbox... Now suppose that I have a user that is used to White Knight/RR. He or she will want to use the same software at the office, but we happen to use telnet connections instead of physical terminal connections. The toolbox would allow this user to access the telnet services with WK/RR, if it allowed the user to select the communication channel with the toolbox. There's also the situation where a customer comes asking for a good Tektronix emulator that works in color and supports the <insert-your-favorite-network- pseudo-terminal-protocol>. The toolbox will allow that customer to connect these two with the correct terminal software. The choice of terminal software will then depend on the scripting/macro capabilities and user interface and not the fact that the program is capable of using these connections. Then there's Unix Windows. Some of you may have tried this program and discovered that the concept works, but the terminal emulation (and international support) is not what it should/could be. Again, the toolbox will save you. Of course old terminal software will be useful for a long time. At least unless someone buys a NuBus serial card that only comes with a connection tool for the communications toolbox. WK/RR will be unusable to this customer. As long as all terminal emulators are equal (as long as none of them support the toolbox), WK/RR still has a chance in the competition. Of course you shouldn't write an emulator that only supports CTB connections. You should allow the user to use old-style connections and emulators. Most users will not install CTB because it uses some disk & RAM space and is probably marginally slower than a custom tailored application. Perhaps you would like to point out how I have misunderstood the communications toolbox. I had the idea of writing the ideal terminal emulator about two or three years ago. The project died because of lack of funding & time. The idea was to have separate tools for communicating (serial, uw, telnet), file transfer (kermit, xmodem) and terminal emulation. The only real difference was that the terminal emulation modules would have used a set of callback routines to write & modify the screen. I also started designing international translation modules that would be based on simple tables, but could also call user-installed code. I stopped working on the project when I had a multi-tty application skeleton with capability to select tools and translators separately for each window. _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._ | Juri Munkki jmunkki@hut.fi jmunkki@fingate.bitnet I Want Ne | | Helsinki University of Technology Computing Centre My Own XT | ^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^
jmunkki@kampi.hut.fi (Juri Munkki) (10/21/89)
In article <14138@well.UUCP> svc@well.UUCP (Leonard Rosenthol) writes: >In article <25744@santra.UUCP> jmunkki@kampi.hut.fi (Juri Munkki) writes: >>I couldn't find the magic words "Communication Toolbox" anywhere in the >>announcement. I guess version 11 will be obsolete when it ships... Every >>decent communications application should support the Comm Toolbox. Of >>course it should be an option, but it should be there. > > Why would ANY program become obsolete once the ComToolbox ships?? >White Knight 11.0, MicroPhone II v3.0, SmartCom II 3.1, etc. all are very nice >software packages for doing telecommunications and just because Apple has put >otu this thing for making telecom easier to program CERTAINLY does NOT >obsolete it! Maybe "obsolete" was too strong, but... > Is my program obsolete because I ddid my own tear off menus, but System >7.0 will have it built in?? Actually for many people they will find the above >mentioned products MUCH better than the intial CTB compatible p9roducts since >they features things that are not yet avail fo the CTB such as ZMODEM, QuickB, >VT102 print logging, and SCRIPTING!! Why would the toolbox compatible applications lack the features you mentioned? Who says that you can't combine your own code with the toolbox routines? The sample application that comes with the beta release is only a sample. The real applications will have all the features you mentinoned _and_ they will support all toolbox compatible protocols and emulators. What would you say, if an MS-DOS programmer said: "We wrote our own windowing routines and we access the chips directly. It works great on all our PCs. Why would you want run our program under Windows and why do you insist that we use netbios for communicating?" Most users will keep on buying these program because they can't immediately see what is wrong with them. The programs will work on standard machines, but will probably break on something nonstandard. _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._ | Juri Munkki jmunkki@hut.fi jmunkki@fingate.bitnet I Want Ne | | Helsinki University of Technology Computing Centre My Own XT | ^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^
ngg@bridge2.ESD.3Com.COM (Norman Goodger) (10/21/89)
In article <25791@santra.UUCP> jmunkki@kampi.hut.fi (Juri Munkki) writes: (bunch of stuff deleted about possible use of unreleased Comm Toolbox) (and other stuff deleted about what Jurri himself has done) >As long as all terminal emulators are equal (as long as none of them >support the toolbox), WK/RR still has a chance in the competition. >Of course you shouldn't write an emulator that only supports CTB >connections. You should allow the user to use old-style connections >and emulators. Most users will not install CTB because it uses >some disk & RAM space and is probably marginally slower than a >custom tailored application. >Perhaps you would like to point out how I have misunderstood the >communications toolbox. I think the biggest thing you are overlooking is that the CTB is NOT released. I have not heard anything for when it will be officially released..I have heard from different sources, which may not mean anything that the CTB is a long ways away and may not even come out with System 7.0. Despite the fact that no one outside of the development community has the Comm ToolBox beta's you still feel and made the statement that any Comm software that is released now should support unreleased software and is "obsolete"? Doesn't make sense to me. Perhaps I mistated my point in my previous posting about your intentions, but as a followup to that, Scott has mentioned to me that "if and when" the Comm ToolBox is released, e will make the appropriate changes to White Knight to support it at that time. I got the impression from his point of view that the CTB is still a ways down the road for the average MacUser. -- Norm Goodger SysOp - MacInfo BBS @415-795-8862 3Com Corp. Co-SysOp FreeSoft RT - GEnie. Enterprise Systems Division (I disclaim anything and everything) UUCP: {3comvax,auspex,sun}!bridge2!ngg Internet: ngg@bridge2.ESD.3Com.COM
tim@hoptoad.uucp (Tim Maroney) (10/22/89)
As someone who has written two terminal emulators for the Mac and is working in his spare time on a third, I agree with Juri Munkki. Any terminal emulator which does not use the Communications Toolbox is obsolete. There are simply too many user options in hardware and in software which are excluded by failing to adhere to the new standard. Juri did a good job of listing many of these, and there are plenty of others. Apple did a good job with the Toolbox and anyone who doesn't use it is putting the shaft to their users in terms of future and even present environments. For instance, let's say your terminal emulator provides XMODEM (all varieties) and ZMODEM. Nifty. Now suppose someone needs to use Kermit, or something even more obscure like CompuServe B protocol. If you don't use Communications Toolbox, it doesn't matter that there's a perfectly good public domain protocol implementation available as a code resource; they are stuck with exactly the protocols you've given them. With the Toolbox, however, they can put together whatever they need. The same goes for terminal emulators. Software in general is moving towards a more modular form, with smaller pieces that can be mixed and matched, and if needs be replaced by the user. The new Toolbox gives this power to terminal emulators cleanly and efficiently, and to deny its importance is merely inane. Let's not let the inertia-based arguments and not-invented-here syndrome of a few communications developers cut us off from the wonderful new flexibility and power of the Toolbox. -- Tim Maroney, Mac Software Consultant, sun!hoptoad!tim, tim@toad.com "He goes on about the wailing and gnashing of teeth. It comes in one verse after another, and it is quite manifest to the reader that there is a certain pleasure in contemplating the wailing and gnashing of teeth, or else it would not occur so often." -- Bertrand Russell, "Why I Am Not a Christian"
blm@6sigma.UUCP (Brian Matthews) (10/23/89)
In article <8769@hoptoad.uucp> tim@hoptoad.UUCP (Tim Maroney) writes: |As someone who has written two terminal emulators for the Mac and is |working in his spare time on a third, I agree with Juri Munkki. Any |terminal emulator which does not use the Communications Toolbox is |obsolete. As someone who has never written a terminal emulator and doesn't plan to, but who uses terminal emulators a lot for a lot of different things, I agree with Tim and Juri. There are enough different hardware and communications protocols that I use and am likely to need in the future that I don't want to have to find a communications program that supports everything I need, and then have to buy a completely new one when a new requirement comes along. I also don't want to have to pay for a lot of silly protocols/emulators/etc. that I don't need. White Knight sounds nice, but I suspect I won't have to wait too long before a program with similar features comes along that does support the Communications Toolbox, so I'll make do until then. -- Brian L. Matthews blm@6sigma.UUCP