Category : Communication (modem) tools and utilities
Archive   : MSKER314.ZIP
Filename : INTEL14.SCR

 
Output of file : INTEL14.SCR contained in archive : MSKER314.ZIP
; FILE INTEL14.SCR (MSMINTEL.SCR)
;
; An MS-DOS Kermit script program for dialing the Intel High-Speed Internal
; Faxmodem, to be used with MS-DOS Kermit 3.14 or later. The modem is set up
; for compression, error correction, all types of fallback. RTS/CTS flow
; control, fixed interface speed of 57600 or 38400.
;
; Authors: Christine M. Gianone, Frank da Cruz; Columbia U, October 1994.
;
def errfail echo \%1, hangup, goto fail ; Macro to handle failures.
if < VERSION 312 errfail {MS-DOS Kermit 3.12 or later required.}

define chkerr if fail stop 1 \%1
define chkok input 3 OK, if fail stop 1 \%1

; Macro to try to get attention of modem's command processor
; at the given speed, or if no speed given, at the current speed.
;
define atok -
if not def \%1 assign \%1 \v(speed), -
set speed \%1, -
echo Trying \%1..., -
output ATQ0V1\13, -
input 3 OK, -
end \v(status)

set input echo on ; So we can watch what happens.
set input timeout proceed ; Allow IF SUCCESS, IF FAILURE.
set input case ignore ; Use caseless string comparisons

set parity none ; Avoid parity foulups
set flow none ; Avoid flow control deadlocks
hangup ; Begin by dropping DTR
pause 1 ; for one second

atok 57600 ; Autobaud...
if fail atok 38400
if fail atok 19200
if fail atok 9600
if fail stop 1 Can't get modem's attention.

def atok
output AT E1&C1&D2&S0X4\92V2\13 ; Echoing, result codes, etc.
chkok {Can't initialize modem}

echo Configuring Intel Faxmodem...
out ATB1+FCLASS=0 S7=85 S25=50\13
chkok {Can't set data modulation}
echo Enabling hardware flow control...
output AT \92G0\92Q3\13 ; Maybe substitute G1 for G0?
chkok {Can't enable RTS/CTS}
wait 5 cts
if fail errfail {Modem is not asserting CTS!}
set flow rts/cts
echo Configuring modem to ignore BREAK...
output AT Y0\92K1\13
chkok {Can't become transparent to BREAK}
echo Enabling error correction and data compression...
output AT \92J0\92N3%C1"H3\13
chkok {Can't enable compression EC and fallback}

if def \%1 if not equal "\%1" "=" goto BEGIN
echo Modem initialization complete, no number to dial
end 0

:BEGIN ; Now DIAL.
clear ; Clear INPUT buffer.
set count 5 ; Dialing retry counter, 5 tries allowed.
echo Dialing \%1 on \v(line) at \v(speed) bps, wait...
echo
pause 1
goto dial ; 1st time, skip pause and 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.
set alarm 90 ; (For detecting keyboard interruptions.)
clear input ; Clear echo from INPUT buffer.
input 30 \10 ; Wait for the linefeeds...

:GETMSG
input 60 \10 ; ...that surround the response message.
if success goto gotmsg ; Got a message.
if alarm errfail {No response from modem.} ; No response in 90 seconds.
hangup ; User interrupted from keyboard,
output \13 ; cancel dialing by sending carriage return,
goto again ; and go try again right away.

:GOTMSG
reinput 1 CONNECT ; Got a message, was it CONNECT?
if success goto done ; If so, we're done.
reinput 1 BUSY ; Line is busy.
if success goto busy ; Go wait a while and then dial again.
reinput 1 ERROR ; Command syntax error.
if success errfail {Dialing command error}
reinput 1 NO CARRIER ; Phone didn't answer or no carrier.
if success errfail {No carrier}
reinput 1 NO ANSWER ; No answer
if success errfail {No answer}
reinput 1 NO DIALTONE ; No dialtone when phone taken off hook.
if success errfail {No dialtone - Is your modem connected to the phone line\63}
goto getmsg ; None of the above, get another message.

:BUSY
if < \v(count) 2 goto quit ; Don't wait 30 seconds if tries are used up.
Echo Line is busy, will dial again in 30 seconds
echo Press any key to cancel...
output \13 ; CR cancels dialing
hangup ; Hang up.
:AGAIN
if count goto redial ; Then go redial.
:QUIT
errfail {It never answers! I give up.} ; Too many tries.

:DONE ; Connected.
echo \7 ; Celebrate with a beep.
def errfail ; Erase local macro definitions...
end 0 ; Finished, return success code.

:FAIL ; Dialing failed, no beep.
def errfail ; Erase local macro definitions...
end 1 ; Return failure code.

; End of INTEL14.SCR


  3 Responses to “Category : Communication (modem) tools and utilities
Archive   : MSKER314.ZIP
Filename : INTEL14.SCR

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/