; ; B5IM-1.DOC - Adapts all modems using Hayes protocol to BYE5 ; 03/03/86 ; ; B5-IM ; by Wayne Masters ; ; For BYE500 (or higher) and intelligent modems like: ; ; Hayes Smartmodem (300 or 1200 or 2400) ; Racal-Vadic Maxwell 1200V or 2400V ; U.S. Robotics (300 or 1200 or 2400) ; Promodem, Anchor and others ; ; Send comments and updates to: ; Wayne Masters, Potpourri, (408) 378-7474 ; ;*********************************************************************** ; 03/03/86 Updated to reflect BYE504 and later equates ; 07/17/85 New release for BYE5 ; ;*********************************************************************** ; ; ; This file should work with any modem (300 or 1200 or 2400) that uses ; the "Hayes" compatible command and response codes. ; ; The code for this routine is resident in BYE5nn. To invoke it, set ; B5IM EQU YES in the BYE5 equate table and follow these instructions. ; ; Your computer-to-modem interface should be wired so that: ; - Carrier status from the modem is monitored from pin 8 ; - Your computer controls DTR to the modem on pin 20. ; (The USR S-100 does not require a wired interface. ; Install B5USR-n.INS as your Port I/O insert). ; ; Preinstallation instructions: ; ---------------------------- ; Anchor Mark XII ; The Mark XII will not support DTR. BYE5 will use the +++ATH ; sequence to hang up the phone. This sequence is repeated as ; long as a carrier is present. Older Mark XII firmware has a ; problem recognizing the +++ escape sequence if the caller is ; at 300 bps. Use your MDM7 or MEX program in terminal mode and ; issue ATI1 command. Jim Warner from Anchor Automation called ; me and said your checksum should be 129, 158, 221 or 222. If ; not, you need updated firmware. You may also notice that the ; callers with the new 2400 bps modems may not succeed in using ; your system due to the tighter frequency tolerences being used. ; The Anchor 212A frequency control is marginal. ; ; HAYES 1200 switches should be set as follows: ; UP - 1, 2, 4, 6, 7 ; DOWN- 3, 5, 8 ; ; HAYES 2400 No switches so you must use a program like MDM740 and ; set the software options to default as follows: ; AT&F&W c/r (sets non-volatile memory to factory specs) ; AT&C1&D2&W c/r ; (The &W writes this to non-volatile memory so ; when we send ATZ it initializes correctly) ; ; Mercury modems- See the file in this .LBR MERCURY.DOC for a detailed ; explanation of configuring Mercury modems for BYE5. ; ; ProModem 1200 switches should be set as follows: ; ON - 1, 2, 3, 7, 9 ; OFF - 4, 5, 6, 8, 10 ; These switch setting should work with both BYE5 and MDM7. ; You can set ECHO EQU YES with this switch configuration ; since the ProModem will echo correctly for all operations. ; Using ECHO will provide a more reliable initialization. ; ; RACAL-VADIC MAXWELL 1200V AND 2400V ; Works out of the box, no preinstallation required. ; ; USR 300/1200 Password, S-100 and 212A. ; Try assembling BYE5 with NOATA EQU NO. If your modem will ; not answer the phone when ATA is issued the set NOATA EQU YES. ; The only problem with this is if the computer is sick, your ; modem will still answer the phone. You can call USR and get a ; RMA number and have your modem firmware updated. ; ; Password ; Set all 4 switches up (off). ; ; S-100 ; Install B5USR-n.INS ; ; 212A Auto-Dial ; Set switch 2 down (off), 1,3,4 up (on). ; ; USR Courier 2400 Switch settings ; ON 2, 3, 5, 8, 9 ; OFF 1, 4, 6, 7, 10 ; Note: The Courier will work with ECHO like the Hayes and Vadic. Set ; switch 4 off and ECHO EQU YES. Gives more reliable operation. ; ; This routine: ; ------------ ; 1) Initializes the modem (and does echo verification, if ECHO is YES) ; 2) Detects phone ring ; 3) Answers the phone ; 4) Detects the speed of the remote caller ; 5) Sets the local computer port to that speed ; 6) Greets the user without him pounding on the RET key ; 7) Prevents modem from answering phone if local computer is sick ; 8) Deinitializes the modem when exiting BYE5 via CTL-C ; ; This file contains: ; ------------------ ; IMRING Main driver and dispatcher ; IMINIT Modem initialization routine ; IMQUIT Modem deinitialization routine ; IMHANG Uses +++ATH to hangup the phone (if NODTR is YES) ; ; Installation instructions: ; ------------------------- ; 1) Install your Port dependent insert in BYE5. Verify that your ; MDINIT routine does not CALL SETnnnn (delete it). BYE5 ; sets the speed based on HSnnnn equate. Verify that your ; MDINIT drops DTR for appx. 2 seconds, raises DTR then has: ; ; IF IMODEM ; CALL IMINIT ; ENDIF ; IMODEM ; ; RET ; ; ; 2) Set the following equates in BYE5 as indicated: ; ; IMODEM EQU YES ; For all intelligent modems ; B5IM EQU YES ; Invokes this routine ; HSnnnn EQU YES ; Set only one for your max modem speed ; ; 3) Set the following equates (in BYE5): ; ; DOATZ EQU NO ; Try NO first. Will speed up system considerably ; ECHO EQU YES ; for Hayes, ProModem or Racal Vadic Maxwell modems ; ; Also works with the USR Courier. NO for all others. ; ANCHOR EQU YES ; For the Mark-XII, No for others ; NOATA EQU YES ; For older USR modems, No for others ; NODTR EQU YES ; For Anchor Mark-XII or some Ozzie-1's, No otherwise ; OFFHK EQU YES ; YES will issue ATH1 (busy out your phone), NO will ; ; issue ATS0=0 (allows phone to ring but not answer) ; ; when you are using your computer locally. ; SHORTB EQU NO ; Yes if your modem has a short command storage buffer ; ; like the MultiModem. BYE5 will send two short ; ; command strings instead of one long string. Yes ; ; will also take a little longer to initialize modems. ; ; 4) Set the other equates in BYE5 as you normally do. ; (Set PRGRSS EQU YES, and B5IM will display the modem result codes and ; commands on your local terminal). Handy until you have it working. ; ; ; Result codes expected: ; --------------------- ; For any modem - HS300, HS1200 or HS2400 ; ; 0 OK - dumped in the bit bucket by IMRING ; 1 CONNECT - if HS300 or HS1200, calls SET300 - for HS2400 checks ; for 10 or 11 first ; 2 RING - causes IMRING to answer the phone ; 3 NO CARRIER - IMRING resets the modem and waits for next ring. Most ; modems wait 20-25 seconds for a carrier during which ; time you cannot do anything but wait for a result code ; 4 ERROR - modem could not execute previous command(s). B5IM (if ; PRGRSS is YES) informs the sysop of a modem error and trys ; again. You likely have a problem with your modem cable or ; computer insert if you see this message. ; ; For HS1200 or HS2400 modems ; ; 5 CONNECT 1200 - IMRING calls SET1200 ; ; For HS2400 modems ; ; 6 CONNECT 2400 - IMRING calls SET2400 (used by some clones) ; 7 (not applicable) ; 8 (not applicable) ; 9 CONNECT 2400 - IMRING calls SET2400 (used by some clones) ; 10 CONNECT 2400 - IMRING calls SET2400 (standard "Hayes" code) ; ;=======================================================================