; File SUPRV32B.SCR -- minor modification of Christine's HAYES.SCR. ; To be used with MS-DOS Kermit 3.11 or later. ; ; Stored in Kermit Distribution as MSMSUPRA.SCR; rename to SUPRA SCR if ; necessary so the DIAL macro can find it. Place this file in your current ; directory or in any directory in your DOS PATH, and then set the DOS ; environment variable, MODEM, to be SUPRA. Give the following command at the ; DOS prompt before starting Kermit, or add it to your AUTOEXEC.BAT file: ; ; SET MODEM=SUPRA ; An MS-DOS Kermit script program for dialing a SupraFAXmodem V.32bis modem ; and compatibles. Will probably work with the non-fax and V.32 versions of ; this modem, but this has not been tested. The Supra, like most V.32/V.32bis ; modems, is Hayes-compatible up to the point that one starts dealing with ; buffering, error-correction, and compression modes. ; ; The modem setup specified below provides for "error correction call ; progress" reporting. This may be useful in making other session decisions, ; e.g., max packet sizes/windows, and should be displayed to the user. Also, ; modem is set up for RTS/CTS, buffering, local flow control, etc. and Kermit ; is placed into the corresponding modes. One should not attempt to use one ; of these things without an adequate shielded cable. See also the speed ; discussion below. ; ; Lines containing *** may require local editing. ; Expects variable %\1 to contain the phone number; this is done ; by the DIAL macro defined in MSKERMIT.INI. ; ; Uses ATD (modem's default dialing method) to dial the number. Force tone ; dialing by including T as first character of phone number, or pulse dialing ; by including P as first character. ; ; Sets SUCCESS flag if dialing succeeds, sets FAILURE flag ; if it fails. ; ; Author: John C. Klensin, August 1992 (modified from HAYES.SCR by ; Christine M. Gianone (July 1991). Requires MS-DOS Kermit 3.11 or later. ; ; The normal DTE <-> DCE speed of this modem is 57.6 Kbps, regardless of the ; line or character speed. Set that number here, regardless of what the ; DIALUPS file says. However, this may exceed the speed at which may MSDOS ; computers can deal with characters and should be reduced if necessary. ; echo Using SupraFaxModem V.32bis\13 ; Comforting in multimodem environment. set speed 57600 ;**** ; set flow rts ; Nothing else works at these speeds ; and modem is initialized to it. def errfail echo \%1,hangup,goto fail ; Macro to handle failures. set input timeout proceed ; Allow IF SUCCESS, IF FAILURE set input echo off ; Don't echo the modem test output AT&F2W1\13 ; Send AT, use word result codes. &F2 is ; special init for MSDOS. Report ECC progress. input 2 OK ; Modem should say "OK" if fail errfail {Turn on or connect your modem!} clear ; Clear input buffer ; if not equ \%1 = goto dialnow ; This provides for initialization only. echo Modem initialization completed, no number to dial end 0 :dialnow set count 5 ; Set up dialing retry counter set input echo on ; From now on, show what happens echo Dialing \%1, wait... pause 1 goto dial ; 1st time, skip Redialing message :REDIAL set alarm 30 pause 30 ; Wait 30 seconds before redialing. if not alarm errfail {Dialing canceled.} echo Redialing... ; Message for redialing. pause 1 :DIAL output ATD\%1\13 ; Dial the number (ATDT or ATDP) :GETMSG set alarm 60 ; Detect keyboard interruptions. input 40 \10 ; Wait for the linefeeds... input 20 \10 ; that surround response message. if success goto gotmsg ; Got a message. if alarm errfail {No response from modem.} ; No response in 60 secs. hangup ; User interrupted from keyboard, if count goto redial ; so try again right away. :GOTMSG reinput 0 CONNECT ; Got message, was it CONNECT? if success goto speed ; DTE-DCE rate. Successful, continue reinput 0 ERROR ; No, check for command error. if success errfail {Modem command error.} reinput 0 CARRIER ; Connection rate (DCE-DCE) if success goto getmsg ; no action reinput 0 PROTOCOL ; Error correction type (NONE/LAPM/ALT) if success goto getmsg ; no action (=/V.42/MNP) reinput COMPRESSION ; Compression type (CLASS 5/V.42BIS/NONE) if success goto getmsg ; no action (=MNP5/V.42bis/) reinput 0 RING ; Ring signal detected. Not a Hayes if success goto getmsg ; Look for something useful. reinput 0 NO CARRIER ; NO CARRIER? if success goto busy ; Treat like BUSY. reinput 0 BUSY ; BUSY? if success goto busy ; Go wait a bit, then dial again. errfail {No dialtone or no answer. Try again later.} :BUSY if < \v(count) 2 goto quit ; Don't wait 60 seconds if tries used up. Echo Busy or No Carrier, will dial again in 30 seconds... echo Press any key to cancel... hangup ; Hang up. :AGAIN if count goto redial ; Then go redial. :QUIT errfail {It never answers! I give up.} ; Too many tries. ; The following block is retained for compatibility for HAYES.SCR. Since ; this modem buffers (always retains the same DCE<->DTE speed), the computer ; should not speed-match and the next section is a no-op. :SPEED ; Connected! echo \7 ; Celebrate with a beep. define errfail ; Erase ERRFAIL definition end 0 ; Finished, return success code. :FAIL ; Failed, return failure code. define errfail ; Erase ERRFAIL definition end 1