Modem Hints So you finally decided to get a fast modem! Maybe you got it to save costs on the phone bill or maybe you just got tired of 300 baud. Well now there are other things you need to do to insure that you can enjoy the higher speed. Here are some hints and then a listing of the AT Hayes command set with info on each command which may help you get the most out the new modem. Some of the things I will be talking about may only apply to the Supra Modem 2400 but, I think, most will apply to all modems. I hope it will help you with the new and strange modem. Let's get started!! The first thing to do is to load your favorite terminal program and start to make changes to it. What do we look for?? Welll first let's make sure the program and new modem are compatabile. Go to the modem parameters spot in your program and look to see if your modem is listed. If it is you are in great shape, but if it isn't don't despair. See if Hayes, Hayes Smartmodem and Compatatibles is listed. In most cases the higher speed modem is partly or all the way compatabile with the Hayes command set. If you don't find your exact modem listed then select the Hayes or Hayes Smartmodem to be the default. Next look and see if you have a Carrier Phase default listing. It may say High or Low or (+) Positive or (-) Negative. Select High or (+) Positive as this is what Hayes type modems need. If you are using a Commodore 1670 select (-) or Low as the Commodore always has to be different as you probably already know. Check the Carrier Wait and see if it is 30 seconds as this is usually what Hayes type modems have as a default. This can be changed as you will see as we go through the different commands. It really is no big thing except when you call long distance. I suggest that you save these changes as a default at this time and then turn on your modem. We will start going through some of the changes that may be needed on it next. Now let's see what is going on with the modem and your terminal program talking with each other. If you have a command line at the top of your screen when in terminal mode check to see if you have the word CARRIER lit up or flashing. (sometimes it's at the bottom of the screen too.) If you do in most cases you will want to change the carrier detect command in the modem. You do this by using the following command in terminal mode. AT &C1 This causes the modem's DCD circuit to track the carrier from the BBS or remote modem and switch on when the carrier is correct for your modem. By the way, you can usually make this permanent by typing: AT &C1 &W . Please note that I used all caps. You can use all caps or all lower case. For example, at &c1 &w is correct also. At &c1 &W is not correct and will give an error. Here are some other commans which you may want to change. 1. AT L - This command selects low speaker volume. If the speaker drives you out of the house change this one. You can select L2 for medium volume or L3 for high volume. L2 is usually default but on the Supra it was to loud. 2. AT V - Causes result codes to be displayed as numbers. I didn't like this so I selected AT V1 which displayes them as words. Now I can see that I am connected and at 2400 baud plus all other commands work with something that I can understand right away. 3. AT Q1 - If after making sure everything is working as you wish and you no longer want to see the result codes then use this command. If you are not happy with this then use AT Q to get them back. You can change many other commands. The AT Hayes Commands listed below will give you many of them. Check your manual for other possible changes. You can put all of these commands on one line if you wish. Here is an example. AT &C1 V1 L &W If your modem has memory for changes like this you can (&W) write it to that memory and it should default to those commands on your next power-up. This is very handy and saves a lot of time and frustration. Let's take a look at several of the S Registers that are of interest to us. S7, S8 and S10 are the most important and may need to be changed. Register S7 is the one that that will hang up if a carrier is not detected is a set amount of time. Default is usually 30 seconds. I have left mine at that setting but you can set it lower if you wish. Some terminal programs will do that for you. Register S8 sets the delay a comma in the phone number will cause. Default is usually 2 seconds. Change it if you need to. I haven't changed it at all. You can always put in two comms if you need more delay. Register S10 is the one I change if the phone line is noisy. It is normally set for 1.4 seconds (14) but I have changed it to as much as 10 seconds (100) if the line is bad. Please try it at the default first and change it only if you need to. If you change it to 255 then it will not drop out at all. I have never had to do that. Some terminal programs have a high and low baud adjust. If yours does then here are some hints. 1. Adjust only the Lo or the low byte. 2. Write down the default so you can get back to it if needed. 3. I highly recommend a terminal program that has this function if you are going to operate at 2400 baud. BobsTermPro and Ultraterm does. I understand some others do as well. This function is a fine tune adjustment due to the fact that the timing of the Commodore is done by software and each is just a little different. Here is how Genie and BobsTermPro suggests you do it: 1. Sign on to a BBS and find a large text file to look at. The bigger the better. 2. Check to see if you have any garbled characters or lines. 3. If you do have bad character or lines go to the baud adjust and set the number (mine is 113 at 2400 baud) about 5 higher (118) or lower (108) and see if the file looks better. If not-go the other direction and see if it improves. Continue doing this until the file comes in to your terminal as clean as possible. You can also go up until the text comes in messy and write down the number. Then go down until the same thing happens. You can then find the middle point and use it as the default setting. This should give you the best setting for up and down loads. DO NOT ADJUST THE HIGH BYTE!!!! The high byte adjust is a very coarse adjustment and can really get you out in left field. Listed below is the AT Hayes Command set as of 1986. It was of great help to me when I set the Supra Modem 2400 up. I hope it will help you also. I will try to give a description of the things I did to the phone lines and the computer on another file. Robert Willsey Box 10 Martha, OK 73556 P.S. You are welcome to pass this info on to anyone you wish. I place my part of it in the public domain and the AT Hayes Command Set is already in the public domain. AT Hayes Command Set +----------------------------------------------+ + Details of the "Hayes" AT Command Language + +----------------------------------------------+ Compiled by Tom Fernandez - June 30, 1986 Please bring any corrections/additions/deletions to the attention of the writer. GEnie EMail Address - TFERNANDEZ MacInternational- Node #2 - SYSOP Call MacInternational #2 - 300/1200/2400 - 24 Hrs. - (815) 965-5606 ------------------------------------------------------------------------ AT Command Function Default Setting ------------------------------------------------------------------------ A Answer Mode A/ Reexcute the last command. AT Attention - must preceed all commands except A/ and +++ Cn Transmitter ON/OFF C0 = Transmitter OFF (Receive only) C1 = Transmitter ON C1 D Dial the number that follows and go to originate mode. Options that may be used with D: P Pulse Dial P T Touch Tone Dial R Reverse Frequency W Wait for second dial tone @ Wait for an answer , (Comma) Pause for 2 seconds ; After dialing, return to cammand state while On-Line "... Dial the letters that follow ! Transfer call (flash switch hook) En Command mode LOCAL echo ON/OFF E0 = Echo OFF E1 = Echo ON Fn Online Local echo ON/OFF F0 = Local echo ON F1 = Local echo OFF F1 Hn ON/OFF Hook control H0 = Hang up (go on hook) H1 = Go off hook In Inquiry I0 Return product code I1 Return checksum I2 Run memory (RAM) test I3 Return call duration or real time (see Kn) I4 Return current modem settings Kn Modem clock operation K0 = Modem time call duration (see ATI3) K1 = sets modem clock to real-time. Modem returns actual time with ATI3. Mn Monitor speaker control M0 Speaker always OFF M1 Speaker ON until carrier is established M1 M2 Speaker always ON M3 Speaker ON after last digit dialed and until carrier is established. O Return on-line after screen execution Qn Quiet mode: modem result messages sent to screen. Q0 = Result messages sent Q0 Q1 = Result messages suppressed Sr=n Set Register commands: n-value must a decimal number between 0 and 255. See S Register listing below. Sr? Query register "r" Vn Verbal/Numeric mode setting V0 = Numeric results V1 = Verbal results V2 Xn Extended result codes, see below. Z Reset modem software & memory to default value +++ Escape code sequence. > Repeat command. $ Help command summary request D$ Help Dial command summary request. S$ Help S-register summary request. . Dot character (Morse Code) - Dash character (Morse Code) / Inter-character space (Morse Code) ============================================================================== ============================================================================== +-------------------------------+ + Functions & Features of the + + S-Register commands + +-------------------------------+ Values in prarenthesis are the ASCII Character. Numeric values are the ASCII Decimal Code value. ------------------------------------------------------------------------------ S0 Sets number of rings before auto-answer Default value is usually 1. S1 Counts & stores the number of rings from an incoming call. S2 Sets the escape code sequence. The default is 43. (+) S3 Sets the ASCII character recognized as a Carriage Return . The default value is usually 13. S4 Sets the ASCII character recognized as a Line Feed. The default value is usually 10. S5 Sets the ASCII character recognized as a Backspace. The default value is usually 8. S6 Sets number of seconds modem will wait for a dial tone. The default value is 2 seconds. S7 Sets the number of seconds the modem is to wait for a carrier signal after dialing, before it sends the NO CARRIER message. The default value is 30 seconds. S8 Sets the duration of the pause for the Comma (,) and the Repeat (>) commands. The default value is 2 seconds. S9 Sets the required duration, in tenths of a second, that the modem modems carrier signal must be present before the local modem will recognize it. (Carrier Detect time). The default value is 0.6 seconds. S10 Sets the duration, in tenths of a second, that the modem waits after loss of carrier before hanging up. The default is 0.7 seconds. You can adjust this value upwards to defeat Call Waiting. S11 Sets the duration and spacing of Touch-Tones during dialing. The default value is 70 milliseconds. S12 Sets the duration, in 50ths of a second, of the guard time required in the escape code sequence. The default value is 1 second. S13 Undefined and unallocated. S14 Sets the modem product result code. The default is 24n. To use Smartcom 2.0 with a 2400 baud modem, try resetting this value to 120. Use S14 to re-set the the I0 request as follows. 1) Issue an ATS14=120 when you load Smartcom 2.0 2) Exit Smartcom 3) Reenter Smartcom. Smartcom 2.1 and later versions work properly with 2400 baud modems. S15 Undefined and unallocated. S16 Modem self testing. The default value is 0. 0 = Data mode - no testing 1 = Analog loopback test 2 = Dial test 3 = Undefined and unallocated 4 = Test pattern 5 = Analog loopback and Test pattern. You can perform these tests at either 1200 or 2400 baud. HOW TO CHANGE AN S-REGISTER VALUE --------------------------------- You may change any S-Register value. For example...To change the default value of S-Register #7 to decrease the amount of the the modem waits for a carrier detect before issuing the NO CARRIER command, you would first query the default setting, and then issue a new setting. 1) Type the following string ATS7=? 2) Modem will answer with a result, usually 30 (seconds). 3) Type the following string ATS7=15 4) Modem will answer OK What you have just done will make the modem issue the NO CARRIER command if carrier is not received within 15 seconds, instead of 30 seconds. This is helpful in dialing busy bulletin board systems. =============================================================================== =============================================================================== +------------------------------+ + The "X" Command Set of + + Extended Response Codes + +------------------------------+ ============================================================================== RESULT CODE XO X1 X2 X3 X4 X5 X6 ============================================================================== 0-OK X X X X X X X 1-CONNECT X X X X X X X 2-RING X X X X X X X 3-NO CARRIER X X X X X X X 4-ERROR X X X X X X X 5-CONNECT 1200 X X X X X X 6-NO DIAL TONE X X X 7-BUSY X X X X 8-NO ANSWER (Req. @; replaces NO CARRIER) X X X X 9-RESERVED FOR FUTURE USE 10-CONNECT 2400 X X X X X X 11-RINGING X X 12-VOICE X X ----------------------------------------------------------------------------- FUNCTIONS ----------------------------------------------------------------------------- Adaptive Dialing X X X X X Wait for second dial tone (W) X X X X Wait for ANSWER (@) X X X X Fast Dial X X X X ============================================================================= =============================================================================