Apple Modem Tool (1.5.3) Copyright 1994 Apple Computer, Inc. Name: Apple Modem Tool Version: 1.5.3 Date Released: October 10, 1994 Description: Provides many enchancements and bug fixes, replaces all earlier versions. Who should use it: See Read Me information below. The enclosed file is a self-extracting archive of Apple Modem Tool. To use, download, double-click the downloaded file (this decompresses it), and drop on your System Folder. It will automatically be placed in your Extensions folder. Summary ========================================================================= Apple Modem Tool 1.5 improves reliability and performance through support of the Microcom Networking Protcol (MNP levels 1 through 4) and CCITT v.42bis data compression protocol. It features an enhanced user interface that provides support for user-installed modem definitions and a provides easy access to a list of phone numbers of the services you wish to contact. The Details ========================================================================= ¥ Support for MNP using a modified version of the .MNP driver from ARA 1.0. The .AMT driver is installed in the DCE the first time the Apple Modem Tool is used after a reboot. It contains several modifications provided by the Newton team. These changes correct problems in the ARA 1.0 driver found while modifying the code for use in the Newton ROM. This includes the changes necessary to bring the protocol code more in compliance with the MNP specification. (Two bytes were swapped somewhere in the negotiations. Since both sides of ARA had this characteristic, it worked.... but it wouldn't work with hardware implementations.) The actual protocols are MNP 2, 4, and v.42bis. The driver consumes about 22K of System Heap, meaning that System 6.0.X users may have to increase their system heap size in order to use the new protocol support. The driver is always installed the first time the tool is opened. If the driver wasn't installed successfully the user is notified that they will not be able to make an error free connection, but can continue to use the tool without that support. The tool does not refer to the v.42bis compression or give the user control over it. It is negotiated for if the user requests error correction. A scripting token, "SoftwareCompression" can disable this. Scripting support for error correction was also added. The tool also supports error correction/compression in the modem. The user (or scripting tokens) may choose among "None","Optional", and "Required". The "Required" selection indicates that the connection should fail if the desired type of error-correction could not be obtained. A dialog is provided to indicate that this occured. ("Hardware" and "None") or ("Software" and ("Optional" or "Required")) mean that the tool additionally sends a modem-specific AT command to disable "hardware" error correction, which is on by default in the modem's initialization command. If "Hardware" is selected, then the tool looks for the CONNECT message to have an appendage such as "CONNECT 9600/REL". The "9600" has always been used to correct the Mac's serial port speed if necessary, and now the "/REL" is used to indicate that a "Hardware" error correction connection has been established. This string is also modem specific, and multiple strings can be used to indicate the establishment of "Hardware" error correction and when specified, these strings are seperated by a bullet character, as in "/REL¥/LAPM". ¥The user interface (the "Choose" dialog) was significantly changed. In order to comfortably fit the new error correction controls, a pair of radio buttons and a checkbox were removed. The checkbox that determined if the tool will use NO CARRIER (pause) to detect the other side having hung-up or a dropped connection was removed. The control was deemed unnecessary. The feature is always on unless the "LookForNOCARRIER" scripting token is set to false. The removed radio buttons were used to select between the user configuring the tool for dialing or answering. This was a common point of user confusion, as these radio buttons didn't actually make this choice for the user. These radio buttons only dimmed out the settings not needed for whichever type of connection the user expected to do. This choice was actually made later when the application calls CMOpen or CMListen, typically controlled by menu selections such as "Open Connection" and "Wait for connection". Their purpose has been superceeded by titled gray control groupings, which use less screen real-estate. Additionally, there used to be an icon that indicated which type of dialing, "Tone", "Pulse", "Mixed", or a ringing phone was active. Since the ringing phone case was not really true, this status icon was removed to make space, and the dialing method pop-up was clarified from "Tone" to "Touch-Toneª". A static text item containing the short version string was added, and this serves to bring up the about box. The "phone numbers" pop-up is now never hidden. It used to only appear if the user had manually created an "Apple Modem Tool Phone Numbers" file. This item allows the user to select a phone number to dial by name from their personal list. The pop-up now also contains a "Modify this menuÉ" item, which brings up the "Add Modify Remove" dialog. This dialog is common to the "Modify this menuÉ" items in both the "phone numbers" and "modem type" pop-ups. It allows the user to alter the list that appears in the menu the user chose. It features an "ImportÉ" button which provides for merging in of additional items from another file. This is how users will add third-party modem definitions or import phone number databases. The "custom modem" dialog has been modified to support configuration of error correction features for a modem definition. A button called "CablingÉ" was added. This button brings up a dialog containing a picture that describes the cable needed for use with the currently selected modem as well as support information such as the modem manufacturer's phone number. The dialog has a "SaveÉ" button which creates a TeachText read-only ('ttro') file that contains the picture as well as the modem's name. The intent is that this file may be printed and brought to the dealer to ensure that the user obtains the correct cable. All user items now draw in color when appropriate. All graphics have been replaced with new color ones (except the file icon, which was already color) provided by Bill Woodcock (woody@zocolo.com). Bill generously donated his time and art skills. ¥Modem Definitions files contain an updated format 'modm' resource. This resource describes the modem in terms of its initialization string, preferred baud rate, etc. This resource now contains controlling information about error correction such as the "Hardware error correction has been established" string. This resource additionally may contain a resource ID for a PICT that describes the necessary cable for connecting the modem to a Mac as well as support information, such as the modem manufacturer's phone number. 'modm' resources for all Apple modems (except the "Global Village Teleport/Bronze II for Performa") are contained in the Apple Modem Tool file itself. Additional 'modm' resources may be created by the user via the "Choose" dialog. These resources, and accompanying 'PICT's are renumbered and placed into the "Apple Modem Tool Prefs" file. The new 'modm' format includes some bits that control support for "direct connect mode". These bits are "undocumented" in that the 'TMPL' for editing 'modm' resources and the developer documentation for the 'modm' format, including the Rez declaration, are listed as "Reserved." "Direct connect mode" turns off all AT command set support. It is provided for use by the "Newton Serial Connection" 'modm', which is used by the Newton Connection Kit and Newton Toolkit. A 'PICT' resource for the "Newton Serial Connection" is built-in as are 'PICT's to describe a standard Mini Din-8 to Mini Din-8 cable (M0197) and for a DB-25 to Mini Din-8 cable. The 8-to-8 picture is used for a few of the built-in Apple modems. The 25-to-8 picture is provided for use by third-party modem definitions (particularly those created by power-users and distributed online). Note that these pictures are wrong for a Mac Plus which has a DB-9. Version Information ------------------- 1.5.1 - Several bug fixes, most affecting the "Direct Newton Connection" sections of the code. Also, when using CMListen() and require software MNP, an incoming modem connection which established carrier but failed during error correction negotiation would not properly hang up the phone. This was fixed. 1.5.2 - Not distributed. 1.5.3 - CMGetConfig() no longer returns an erroneous token which caused the file "False" to be created on the desktop if this same string was passed in to CMSetConfig(). CMRead() was returning a garbage error value if called async with a non-zero timeout under the right circumstances. It now correctly returns noErr.