Modem Modifier v2.02 by DMP Systems -------------------------------------- Modem Modifier v2.02 is a shareware program. It lets you change the modem parameters for Newton NOS 2.0 . For NOS 1.x Newtons, use Modem Modifier v1.12. The only difference between v2.01 and 2.02 is the addition of highed baud rates. I gotta to tell you: -------------------- Modem Modifier 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. I've also found where the internal modem setups are stored and allow you to copy them. The location of them may change in future Newton OS's. Installing Modem Modifier ------------------------- First backup your Newton. It's a good idea. When was the last time you did it ? How To Use Modem Modifier ------------------------- Install one of the Modem Setup Packages that came with Apples Modem Enabler or a third party Modem Setup or the one I have included. If the setup is not specifially for NOS 2.x it will be converted to a 2.x setup when you open Prefs->Modems. If you didn't install one, Modem Modifier will alert you that it can't find one. Launch Modem Modifier and wait a few seconds for it to set itself up, read the modem entrys, display the splash screen . . . For some strange reason, this seems to take longer than in 1.x. Use Newton's scroll arrows to move up / down in the parameter 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: show a different modem, press the "Save Now" button or 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. At the top right screen corner are some new (from v1.x) buttons. The "Print" button will put a text copy of the currently shown modem to the Note Pad. From the Note Pad, you may print or email / fax it. The "Copy" button will let you copy one of the internal modem setups from ROM so that you may change it. When you Copy a setup, a new Modem Pref entry is made. The number (9xxxxxxxxx) after the Name is a unique number to keeps it's identity different than the internal setups as Newton uses the Modem Name to determine which setup to use. You may change the Name, but be sure to reselect it in Modem Prefs so that Newton will not get lost and upset when you try to actually use a modem. Smart Cr's Checkbox: Normal configuration setup strings have a carriage return (cr) at the end of them. But you can't see it on Newton's 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. New in MM 2.0 ------------- In Modem Modifier 1.x, you had to quit the app in order to test your changed setup strings. In MM 2.0, you can now tryout your settings without quiting by pressing the "Save Now" button or showing a different setup. 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 Modifier, no used heap is left around. All used heap is released. Hey, would you expect anything less from the author of App Memory ? S I M P L E M O D E M C O N F I G U R A T I O N - - - - - - - - - - - - - - - - - - - - - - - - First, when you insert your modem PCMCIA card into Newton, does Newton present a message: "A communications Card has been inserted." ? If not, then the modem won't work. If Newton thinks it's a memory card, then the modem won't work. If Newton does not recognize the card, then the modem won't work. Second, the biggest problem people have is Newton saying "No modem is connected" when you try to use it. There are two times when this happens. When Newton tries to talk to the modem to set it up and when it's dialed out and the other modem connects. The answer is quite simple. Newton wants the modem to not echo the commands it sends to it (except for an OK) and wants a connection message when the link is established. To make your modem not echo commands sent to it, include the E0 command as the first characters in the setup string. If your modems echos, then Newton will tell you that no modem is connected. The correct connection message is in the format of "CONNECT xxxx" where xxxx is going to be the speed (9600,14000,28000 ...) that the modem is talking to the remote modem at. The modem parameter for this varies for different modems. See your modem manual for the correct parameter. If your modem does not return this form of a connect message then Newton will time out or tell you that the connection was not make. For many modems this will be a X or W type command. Be carefull as some modems combine this command with the hardware handshake command. Another potential problem for modems is the initial setup string sent to it my Newton when "Use Dial Options" is checked. If checked, Newton will send: ATM1L2X4S7=055S8=002S6=003S0=000 Simple Steps: 1. Use the Copy button to make a copy of the Hayes Basic setup - or use the Modem Setup I've included. 2. Add in the command to have your modem give CONNECT xxxx messages to the "Config. String No EC", "Config. String EC Only", "Config. String EC and Fallback" and "Config. String Direct Connect". 3. Uncheck "Use Dial Options". 4. Press "Save Now". 5. Try your modem. Here is the captured text when I hooked Newton up to my Mac and asked it to get my eWorld messages Comments are in '()': (Newton:"Initializing Modem") Newton-> AT Newton-> AT&F Newton-> AT Newton-> ATE0S12=12 (if Newton does not get back an OK after this, then it says No Modem is connected) Me -> OK (Newton now sends the "Dial Options") Newton-> ATM1L2X4S7=055S8=002S6=003S0=000 (if Newton does not get back an OK after this, then it says "No Modem is connected") Me -> OK Newton-> ATDT 2820253 ( after 2 seconds: "Connecting") Me -> ( if Newton does not get a CONNECT xxxx message, then after a while: "No Modem is connected") Me -> CONNECT 9600 Newton-> SprintNet - 9600 SprintNet stuff next (After all done, Newton hangs up the line and resets the modem) Newton-> +++ATH0 Me -> OK Newton-> AT&F Me -> OK That's it. Try out your modem with the above steps and you should get a connection. Below is an indepth explaination of all the parameters. What does Newton expect of a Modem ? ----------------------------------- For a PCMCIA card modem, Newton wants to see a 16450 or 16550 UART. For PCMCIA 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 of a serial modem, 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 setup. Note: Current information says that buffering needs to be enabled for FAX, but "Direct Connect Only" does not support speed buffering. Therefore, your fax speed must match the connect speed. M o d e m S e t u p P a r a m e t e r s : ---------------------------------------------- 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 Name at the top of the screen 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 ? Many modems can tell the host computer (ATI4) the manufacture and model number. Leave False unless realy 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: set in user pref. Detect Busy: On Tone or Pulse: set in user pref. Manual Dial: No Speaker Volume: set in 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=055S8=002S6=003S0=000 Default definitions of this string: 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=055 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. S0=000 Auto answer off. Set "Use Dial Options" to true unles 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. V2.01 note: This parameter is not used in Newton 2.0 OS. It is ignored but won't cause an error. 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. I have no idea how the modem tells Newton that you lifted the handset. 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. Currenty, 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 Gaurd 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 Gaurd 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 Gaurd 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. V2.01 note: This parameter is not used in Newton 2.0 OS. It is ignored but won't cause an error. 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 Gaurd 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 protocals 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. 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. 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. I could have included code to 'expire' a changed Modem Setup after a certain number of days or usages if Modem Modifier was unregistered (it's easy to do in NOS 2.0) , but did not. On Compuserve, Modem Modifier is SWREG ID #4975. Distribution: ------------ Modem Modifier 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,1996 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 Modifier 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. v2.0 2/16/96 This is for Newton OS 2.0 only. While it may not crash a 1.x Newton, the loadable modem setups are stored in a different place in the System Soup so they won't be seen. v2.01 2/24/96 Minor cosmetic changes. Minor Doc changes (Cellular). Minor internal change in the way ROM setups are copied. v2.02 3/97 Added higher baud rates as 56k modems are now common. 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: CIS: 74736.172@compuserve.com (preferred) AOL: DPOMPEA (only checked every week or two) If you want or need a custom modem enabler as a user installable 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). NOS 1.x only. Shareware: $10 App Memory - Lets you clean up memory from the heap that other programs leave behind thus helping with low memory situations. NOS 1.x only. 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. NOS 1.x only. 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. NOS 1.x only. 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. NOS 1.x only. Shareware: $10 ++Volume - Increase the Volume of touch tone dialing sounds. NOS 2.0 and 2.1 versions. Shareware: $10 DSR-1 - Record notes on the MP2x00 using the power switch. Lots of custom options. Shareware: $15 SoundToSoup - Turn any NotePad recording into an Alert sound that can be used anywhere sounds are selectable. Shareware: $10 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 ($29.95) and commercial ($59.95) versions. Note: Many Shareware programs have a 45 day, fully functional, trial period. Find the latest version of all my programs at my website: www.netacc.net/~dmpsyst