[comp.sys.mac] 11 New Features

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.COM

chuq@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.COM

jmunkki@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

jh34607@suntc.UUCP (john howell) (10/23/89)

In article <311@6sigma.UUCP>, blm@6sigma.UUCP (Brian Matthews) writes:
> In article <8769@hoptoad.uucp> tim@hoptoad.UUCP (Tim Maroney) writes:
> |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.
> 
> 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.

I have been reading this thread over the past few days and boy am I
confused!!???!!

White knight 11 is announced with all kinds of new features,
but is immediately flamed for not supporting the Communications Toolbox.
They (Norman Goodger) reply that 
	1) The communication toolbox is not released yet.
	2) White Knight will probably support the toolbox when it does
	become widely available.

So ... what is the problem???  You get a GREAT product now AND later
support for the standards.  Also, the upgrade pricing put together by
Freesoft seems to be very fair.

chuq@Apple.COM (Chuq Von Rospach) (10/23/89)

>So ... what is the problem???  You get a GREAT product now AND later
>support for the standards.  Also, the upgrade pricing put together by
>Freesoft seems to be very fair.

some people like to flame....


-- 

Chuq Von Rospach <+> Editor,OtherRealms <+> Member SFWA/ASFA
chuq@apple.com <+> CI$: 73317,635 <+> [This is myself speaking]

Trust Mama Nature to remind us just how important things like sci.aquaria's
name really is in the scheme of things.