Modem Mod v1.12 by DMP Systems -------------------------------- Modem Mod is a shareware program. It lets you change the modem parameters for installed modems. It has been tested on a MP100 and 110. I gotta to tell you: -------------------- Modem Mod relies on the documented format of a modem setup as defined in the Newton Developer Technical Support Sample Code for making a modem setup. It's really a simple format. This documentation is based on the information supplied in the sample code and other sources. It may not be complete and is subject to change. Installing Modem Mod -------------------- First backup your Newton. It's a good idea. When was the last time you did it ? How To Use Modem Mod -------------------- Install one of the Modem Packages that came with Modem Enabler. You are going to alter it. If you didn't install one, Modem Mod will alert you. Launch Modem Mod and wait a few seconds for it to set itself up, read the modem entry, display the splash screen . . . Use the scroll arrows to move up / down in the list. Use the overview (belly) button to quickly move to the top or bottom of the list. Change parameters to what you want. The changes are saved when you quit the program. At the top of the screen is the Modem Name. This is the current one that you are changing. At the bottom of the screen are buttons to move between the different installed modem setups. Smart Cr's: Normal configuration setup strings have a carriage return (cr) at the end of them. But you can't see it on Newtons screen. Checking "Smart Cr's" makes sure that there is one, and only one, cr at the end of a modem configuration string. Uncheck it if you want to decide if cr's are at the end of the strings. Most of the time you should leave it on unless you have a real good reason not to. Most modems need a cr at the end of a setup string. Heap Usage: ----------- Modem Mod needs about 20k of heap to start execution. While executing, about 9 to 15k is used. About 1/4k is needed for each modem setup you have loaded. When you quit Modem Mod, no used heap is left around. All used heap is released. Hey, would you expect anything less from the author of App Memory ? What does Newton expect of a Modem ? ----------------------------------- For a PCMCIA card modem, Newton wants to see a 16450 UART. For P-card and serial modems, Newton wants to have hardware flow control. If hardware flow control is not available, some options (EC, Speed Buffering) cannot be used and the "Direct Connect Only" setup must be specified. For Hardware Flow control, Newton need the following signals wired: RTS: Request To Send. The Modem looks at RTS to see if Newton wants to send data. CTS: Clear To Send. Newton looks at RTS to see if it's OK to send data. DSR: Data Set Ready. The Modem sets DSR to tell Newton that it is ready. DTR: Data Terminal Ready: Newton sets DTR on to tell the Modem it starts a session. However, this signal should be ignored by the Modem. DCD: Data Carrier Detect. The Modem sets DCD when it is linked up with the Modem at the other end of the line. This signal is optional and is selected if "Use Hardware CD" is True. Newton also wants no echo and non-verbose text response messages from the Modem. In general, Newton will use "Config. String No EC" unless "Direct Connect Only" is specified. The "Config. String EC Only" and "Config. String EC and Fallback" may be used by an application if it desires. FAX: ---- Newton only supports what's called "Class 1" FAX right now. Flow control is needed so if you have "Direct Connect Only" set to True, you need to setup software (XON/XOF) flow control. The "Config. String No EC" is used for FAX. Note: Current information says that buffering needs to be enabled for FAX, but "Direct Connect Only" does not support speed buffering. Hmmmmm. The Parameters: --------------- Modem Name: Text. Enter anything here. This is used when a new modem pref. package in installed to see if it's already there. It's the one shown at the top of the screen. Note: The top name updates after you're done with the entry you're editing. If you change the name, be sure to go back into prefs->modem and reselect it. The modem setup used is tracked by name. Version: Number. Same as Modem Name. May be used by modem enablers to install over an older version. Organization: Text. Put what you want in here. ID the Modem: Should the modem be asked who it is ? Most modems can tell the host computer (ATI4) the manufacture and model number. Leave False unless needed. If true, enter a Modem ID String parameter. Use Hardware CD: CD is Carrier Detect. Used to determine if another modem is talking to it. If you're using an external modem, be sure the cable has CD connected to pin 7 at the Newton end. Use Configuration String: If True, send the modem the current configuration strings. Determined by the connection type and the active configuration. Leave True unless your Modem is correctly configured upon power up. Use Dial Options: If true, after a configuration string is sent to the modem, the current dialing configuration is sent to the modem. The default dialing options (as defined in the Newton Programmer's Guide) are: Speaker: On Detect Dial Tone: user pref. Detect Busy: On Tone or Pulse: user pref. Manual Dial: No Speaker Volume: user pref. Wait for Carrier time: 55 sec. Wait before Dialing: 3 seconds - but only if Detect Dial Tone is false Command Delay: 1 second Ring to Answer On: 2 - but only if the modem is answering the call. The default dial configuration string is: ATM1L2X4S7=060S8=001S6=003 M1 Speaker On until carrier detected. L2 Speaker volume to medium level. X4 Provides basic call progress support, dial tone and bus signal detection as well as connection speed messages. S7=060 Carrier Detect time out is 60 seconds. S8=001 Comma (,) in dial string time is one second. S6=003 Wait time for blind dialing (dial tone detection not needed) to three seconds. Note: X4 will override this parameter. Set "Use Dial Options" to true unless you modem does not support the above setup string. Hang Up at Disconnect: Should the modem hang up the line when it done talking to the other modem ? Sure. Unless you need it to keep the line. Supports Cellular: Does this modem support a cellular phone connection ? Only special ones do. If True, be sure to enter a cellular setup string. Currently, no software uses this flag. If future software uses this flag, then it will use the "Config Str Cellular" setup. Supports EC: EC is Error Correction. If True be sure to enter a EC Only (and maybe "EC and Fallback") setup string. Supports LCS: LCS is Line Current Sense. It's used for determining if the user has lifted the phone handset off hook when using Newton to place a phone call. Leave False unless otherwise. Information suggests that this function is currently not implemented. Direct Connect Only: Usually this will be false. Use this only if the modem does not support Hardware Flow Control, EC or Buffering. Most modems will not need use of this setting. Connect Speeds: Check off the data speeds the modem (and the App your using) can support. Currently, this is not used by any program but is provided for future use. Config. Speed: Select the speed at which Newton can talk to the modem for commands. This should be higher than the actual data connection rate. 19200 is a good default. The Newton Modem uses 9600. Command Timeout: Milli-seconds (1/1000 sec.) How long after sending the modem a command and not receiving a reply is to considered an error. Max Chars per Line: Number. How many characters at one time (not counting "AT" and ) the modem takes when configuring it. If the command string is longer, it is split into chunks of this length. Change from 40 only if the modem cannot support at least 40. Inter-Command Delay: Number. How many milli-seconds should Newton wait between sending commands to the modem after it receives a reply from the last command. Keep at about 35-40. Modem ID String: Text. Used if you have "ID the Modem" set to true. Enter the modem ID string. Normally this is not used and blank or set to "unknown". Config. String No EC: Text. The setup string for non error correcting mode. You should enter a setup for your modem here. Used for FAX also. Needs Speed buffering and Flow Control. Normal configuration for this would be: E0 - no echo. &C1 - Enable DCD to track the actual state of remote modem's carrier. S12=012 - Set the Escape Code Guard Time to 240 ms. Most modems default to 1 second. W2 - Display "Connect xxxxx" messages using DTE (modem-to-modem) speed (Alt: Q0 and X1 or X4 and V1 ?). &K3 - Enable RTS / CTS hardware local flow control. (Alt: \Q3\X0 and \&R0\D1 ?) &Q6 - Buffered Mode. Selects automatic speed buffering. Local flow control required when the modem and Newton speeds are not the same. (Alt: \N0 ?) If you don't have Hardware Flow Control, then: Change the &F3 command to &K4 - Software flow control using XON / XOFF (DC3 / DC1) (Alt: \Q1\X0 ?). Add a &R1 - Assume RTS is always on (Alt; ?). (may not work for all modems) Add a \D0 - Force CTS on. (may not work for all modems) Config. String EC Only: Text. The normal setup string for an EC mode. Needs Speed buffering and Flow Control. Normal configuration for this would be: E0 - no echo. &C1 - Enable DCD to track the actual state of remote modem's carrier. S12=012 - Set the Escape Code Guard Time to 240 ms. Most modems default to 1 second. W2 - Display "Connect xxxxx" messages using DTE (modem-to-modem) speed. If W2 is not supported, try Q0 and X1 or X4 and V1. &K3 - Enable RTS / CTS hardware local flow control. (Alt: \Q3\X0 and \&R0\D1 ?) &Q5 - Select V.42 EC operation (Reliable Mode) (Alt: &M4 or \N6 ?). Many Modems use S36 with this. %C1 - Bilateral MNP-5 or V.42bis enabled. \M1 - V.42 detection phase enabled. In general, the &Q5,%C1 and \M1 are used to set up an Error Correction mode. Your modem may only need a &Q5 and a S36 (3 or 4) Protocol Negotiation Fallback setting. Config. String EC and Fallback: Text. Configure for EC and Fallback. Fallback means that the modem can change to non EC if it can't establish an EC connection. Needs Speed buffering and Flow Control. Normal configuration for this would be: E0 - no echo. &C1 - Enable DCD to track the actual state of remote modem's carrier. S12=012 - Set the Escape Code Guard Time to 240 ms. Most modems default to 1 second. W2 - Display "Connect xxxxx" messages using DTE (modem-to-modem) speed. If W2 is not supported, try Q0 and X1 or X4 and V1. &K3 - Enable RTS / CTS hardware local flow control. (Alt: \Q3\X0 and \&R0\D1 ?) &Q5 - Select V.42 EC operation (Reliable Mode) (Alt: &Q9?). Many Modems use S36 with this. %C1 - Bilateral MNP-5 or V.42bis enabled. \M1 - V.42 detection phase enabled. In general, the &Q5,%C1 and \M1 are used to set up an Error Correction mode. Your modem may only need a &Q5 and a S36=007, Protocol Negotiation Fallback setting. Config. String Cellular: Text. The setup string for using a cellular connection. This is for a "Data" connection only. There is no FAX equivalent. Some modems will sense if they are plugged in to a handset. You're pretty much on your own here. Include parameters for MNP10 and power attenuation. A default could be AT&F1, AT&F5. In other words, a normal configuration. Some manufactures suggest \N4 or \N5 in place of \N6 or \N7. Used if you have "Supports Cellular" set. Implies Speed buffering. Config. String Direct Connection: Text. The setup string if using Direct connection. Used if you have "Direct Connect Only" set. After connecting Newton will change the speed it talks to the modem to the connect speed. No Speed buffering. Normal configuration for this would be: E0 - no echo. &C1 - Enable DCD to track the actual state of remote modem's carrier. S12=012 - Set the Escape Code Guard Time to 240 ms. Most modems default to 1 second. W2 - Display "Connect xxxxx" messages using DTE (modem-to-modem) speed. If W2 is not &K0 - Disable Flow Control (Atl: \Q0\X0 ?). &Q0 - No Data Buffering, Error Control or Compression protocols are supported. Summing it all up: ------------------ So, confused ? Don't be. Just enter a setup string for No EC and set False for EC/EC only, Cellular and Direct. Start out with the "Hays Compatible Setup" and alter the things you need to. Try it out. Look in your modem manual. If the parameter is not there, leave it out and/or use an alternate. Look at the modem setups in your Mac / PC communication programs. They should give you a good starting place. My Modem: --------- I have a Practical Peripherals PM14400FXMT. With it I have sent Fax's and connected to the local First Class BBS (at 9600 baud). I used the cable that came with it that connects with my Mac. The settings I used are: ID the Modem: False Use Hardware CD: True Use Config. String: True Use Dial Options: True Hang Up at Disconnect: True Supports Cellular: False Supports EC: True Supports LCS: False Direct Connect Only: False Connections Speeds: 300,1200,2400,4800,7200,9600,1200,14400 Config Speed: 19200 Command Timeout: 2000 Max Chr per Line: 40 Inter-Command Delay: 50 Modem ID Str: (none) Config Str No EC: ATE0 &C1 S12=12 W2 &K3 &Q6 Config Str EC Only: ATE0 &C1 S12=12 &K3 &Q5 S36=3 Config Str EC / Fall: ATE0 &C1 S12=12 &K3 &Q5 S36=7 Config Str Cellular: (none) Config Str Direct: (none) I started out with the Hayes setup and just deleted the stuff my modem did not support. Please don't ask me about your modem set up. I don't know. ;-) But, do post what works with your modem so other Newton users can use it. Or email me and I'll include it here. Credits ------- I would like to thank Jim Bailey (Software Consulting for Mobile Computing) for his suggestions and comments and Apple (thanks Jim and Rob) for the Newton Developer Technical Support Sample Code and other information. Shareware ---------- This program is Shareware $10.00. If you use it to get your modem working with Newton, please register. On Compuserve, it's SWREG ID #4975. Distribution: ------------ Modem Mod may be freely distributed on any non-profit media and/or Information services (this includes disks, Compuserve, AppleLink, AOL, eWorld etc) under the condition that the package and documentation shall not be altered in any way, shape or form. Commercial distribution is prohibited. Any company wishing to include this in a shareware type disk or sell it shall need to contact me and agree to my terms and conditions. The Legal Stuff: ---------------- DISCLAIMER No warranty, express or implied, is made with respect to this software, including, without limitation, any implied warranties of merchantability and fitness for any particular purpose. I do not warrant that the function of the software will meet customers requirements, or will operate in the manner desired by customer or that the software shall be error free. I shall not, under any circumstance, be liable to customer or third party for any special, incidental, or consequential damages, including but not limited to the loss of data or information of any kind, loss of profit, or liability to third parties, however caused, whether by the act or negligence, of use or inability to use or otherwise. It is recognized that the equipment this software is used on contains memories or data or other things that may be valuable to the customer or a third party. In no event shall I be liable to the customer or any third party if any such data or memory or other things are lost or changed or destroyed, regardless of the cause of any such loss or change or destruction, directly or indirectly arising from customers use misuse or inability to use the software either separately or in conjunction with other equipment. Who owns this Software: ---------------------- If you use this program to make your modem work with Newton, it would be real nice of you to register ! After all, I've worked hard to bring you a program that you needed. The program in this package is licensed, not sold to you, when you pay a Shareware fee of $10.00US. You have 30 days to evaluate this program before you must decide to send the shareware fee or stop using it. The program remains owned by DMP Systems. The program and documentation are Copyright ) 1994,1995 DMP Systems, all rights reserved. You may use the program only on one Newton at a time. No copies of this software shall be made except for backup needs. If you transfer ownership of this software, all copies of this software shall be destroyed. This software may not be disassembled , reverse engineered or altered. This documentation is copyrighted by DMP Systems and may not be reproduced or copied by any means including, but not limited to photocopier, computer, transcribed, verbal, mental telepathy, recording and playing backwards or any other way. The Modem Mod program was developed using the Newton Toolkit, which is Copyright ) 1992-1994 Apple Computer, Inc. DMP Systems accepts no responsibility or liability for the product or what it might do to your Newton. You use this program at your own risk! Newton and NTK are registered trademarks of Apple Computer, Inc. Release Notes: v1.0 2/28/95 Initial version - released to selected people. v1.1 3/01/95 Minor cleanup items. v1.11 3/6/95 Now have the Newton Developer Technical Support Sample Code . Made minor changes to docs. and one cosmetic change to the program. v1.12 3/12/95 Now have even more information for defining the parameters. Doc changes for "Direct Connect Only" and additions to others. Misc minor cosmetic changes to App. Thanks for reading all the way to the end! Comments & Questions (checks / cash / SWREG) to: David M. Pompea DMP Systems 62 Brittany Circle Rochester, NY 14618 USA email: AOL (preferred): DPOMPEA CIS: 74736,172 eWorld: DPOMPEA If you want or need a custom modem enabler package, please contact me. I can make them. All you need to supply me with are a few details about your modem. Other Newton Programs by DMP Systems ------------------------------------ No Sleep - The best program to keep Newton from sleeping when powered by the A/C Adapter. It doesn't patch or do funky stuff to Newton. No Sleep also lets you download YOUR Startup and Shutdown sounds, Smart Sleep times via power level. Note: Sound download only for Macs (at this time). Shareware: $10 App Memory - Lets you clean up memory from the heap that other programs leave behind thus helping with low memory situations. Shareware: $10 Sysbeep - Lets Newton say "Uh Oh" or "What the Hell" when an alert box is shown. It replaces the normal system beep sound. Freeware Ttime - The smallest digital clock for the Newton that stays on the screen anywhere, on top of all other programs. Freeware Time & Temp. - Speaks the time and temperature (temp. only on OMP & Newton 100). Freeware Salad - Lets your Calendar display Julian dates and Week #'s. Shareware: $5 PW Dial - Lets you enter a Password with a key pad on your 100 / 110 (not for 120's). Makes touch tone dial tones louder, TT dial pad, theft alarm and more. Shareware: $10 And Soon to Come: NewtDb* - a relational Data Base for Newton that can use any Dbase*, Foxbase*, Filemaker* or .dbf and text files. Make your own screens and indexed databases. Shareware and commercial versions. Demo to be available soon.