XMM1 ;(WASH ISC)/THM-MODEM CONTROL VADIC 3451, MICROCOM PCS 2000 ;7/10/89 12:44 ;
;;8.0;MailMan;;Jun 28, 2002
Q
PCS2000 ;MICROCOM PCS 2000
DIAL ;DIAL NUMBER IN <XMPHONE>, MODEM'S RESPONSE IN Y, ER=0/1 FOR CONNECT/NO CONNECT
S ER=1 W "D ",XMPHONE,! R Y:35,Y:3
S:Y["CONNECT " ER=0 Q
HANG ;HANG UP PHONE
W *2,! R Z:1 W "H",! R Y:1,Y:1,Z:1 S ER=Z'["NO CONN" Q
Q
;
RESET S X=1 ;RESET MODEM
R W "4" H 1 W "5" H 1 W "SE2",! R Z:2,Y:2 S ER=Y'="!" Q:'ER
S X=X+1 Q:X>2 D HANG G R
;
STAT ;STATUS OF MODEM
S Y="no status report",ER=0 Q
VADIC ;VADIC 3451 (NEEDS HELP HANGING UP)
;
DIAL3451 S ER=1 W *5,*13 R Y:2 H 1 W "D",*13 R Y:2 Q:Y'["*" H 1 W XMPHONE,*13 H 2 W *13 R Y:1,Y:60 S:Y["ONLINE" ER=0 Q
HANG3451 Q
STAT3451 S Y="no status report",ER=0 Q
;
;HAYES SMART MODEM 1200 LOGIC
;
DHAYES D CLEAR U IO S ER=1 W "ATDT",XMPHONE,! F %=1:1:5 U IO R Y:10 Q:Y["CONNECT"
Q:Y'["CONNECT"
S ER=0 Q
HHAYES D CLEAR U IO H 2 W "+++" H 2 W "ATH0",! H 2 D CLEAR S ER=0 Q
HSTAT S ER=0 Q
DRV2400 S ER=1 W *5,*13 R Y:2 H 1 W "D",*13 R Y:2 Q:Y'["*" H 1 W XMPHONE,*13 H 2 W *13 R Y:1,Y:60 S:Y["ONLINE" ER=0 Q
HRV2400 W *3,*4 Q
SRV2400 S Y="no status report",ER=0 Q
ATT212C ;AT&T 300/1200 AUTODIAL MODEM
D212C F I=1:1:$L(XMPHONE) I (($E(XMPHONE,I)="P")!($E(XMPHONE,I)="p")) S XMPHONE=$E(XMPHONE,0,I-1)_","_$E(XMPHONE,I+1,999)
D2 I $L(XMPHONE)>36 S ER=1 Q
F I=1:1:6 U IO W *13 U IO R X:2 Q:X[":"
I I=6 K I S ER=1 Q
K I
D3 ;
U IO W XMPHONE,"/",*13 R X:70 I '$T U IO W "$B$:",*13 S ER=1 Q
F I=1:1:7 U IO R X:30 Q:X["Conn" Q:X["Answ" Q:+X
I ((X["Con")!(X["Ans")) S ER=0 Q
I '+X S ER=1 Q
S ER=0 Q
H212C U IO W "$B" H 3 R X:3,X:0 U IO W "$:" H 3 R X:3,X:0
U IO W "TALK",*13 H 5 S ER=1 F I=1:1:10 R X:3 Q:X[":"
K:I=10 I Q:'$D(I) K I S ER=0 Q
S212C F I=1:1 U IO R X:1 Q:'$T
S2 S ER=1,%=^%ZOSF("TRMRD")
U IO X ^%ZOSF("TRMON") W *13 H 2 R X:4 I X'[":" R X:2
W "S",*13 H 3 F I=1:1 U IO R X:3 Q:'$T U IO(0) W X X % W *Y
X ^%ZOSF("TRMOFF") K I S ER=0 Q
R212C D H212C F I=1:1 U IO R X:3 Q:'$T
U IO W "ATZO1=Y,O2=Y,O3=Y,O4=Y,O5=Y,O6=N,O7=Y,08=N,09=Y,O10=N,O11=Y,O12=N,O13=Y,O14=N,O15=Y,O16=Y,O17=Y,O18=N,O19=Y,O20=1,O21=N,O22=:,O23=",$C(8),",O24=@,O25=$B,O26=$:",*13
S ER=1 F I=1:1:10 U IO W *13 U IO R X:3 Q:X[":"
K:I=10 I Q:'$D(I) S ER=0 Q
Q
CLEAR F %=1:1 U IO R Y:1 Q:'$T
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HXMM1 2333 printed Oct 16, 2024@18:13:23 Page 2
XMM1 ;(WASH ISC)/THM-MODEM CONTROL VADIC 3451, MICROCOM PCS 2000 ;7/10/89 12:44 ;
+1 ;;8.0;MailMan;;Jun 28, 2002
+2 QUIT
PCS2000 ;MICROCOM PCS 2000
DIAL ;DIAL NUMBER IN <XMPHONE>, MODEM'S RESPONSE IN Y, ER=0/1 FOR CONNECT/NO CONNECT
+1 SET ER=1
WRITE "D ",XMPHONE,!
READ Y:35,Y:3
+2 if Y["CONNECT "
SET ER=0
QUIT
HANG ;HANG UP PHONE
+1 WRITE *2,!
READ Z:1
WRITE "H",!
READ Y:1,Y:1,Z:1
SET ER=Z'["NO CONN"
QUIT
+2 QUIT
+3 ;
RESET ;RESET MODEM
SET X=1
R WRITE "4"
HANG 1
WRITE "5"
HANG 1
WRITE "SE2",!
READ Z:2,Y:2
SET ER=Y'="!"
if 'ER
QUIT
+1 SET X=X+1
if X>2
QUIT
DO HANG
GOTO R
+2 ;
STAT ;STATUS OF MODEM
+1 SET Y="no status report"
SET ER=0
QUIT
VADIC ;VADIC 3451 (NEEDS HELP HANGING UP)
+1 ;
DIAL3451 SET ER=1
WRITE *5,*13
READ Y:2
HANG 1
WRITE "D",*13
READ Y:2
if Y'["*"
QUIT
HANG 1
WRITE XMPHONE,*13
HANG 2
WRITE *13
READ Y:1,Y:60
if Y["ONLINE"
SET ER=0
QUIT
HANG3451 QUIT
STAT3451 SET Y="no status report"
SET ER=0
QUIT
+1 ;
+2 ;HAYES SMART MODEM 1200 LOGIC
+3 ;
DHAYES DO CLEAR
USE IO
SET ER=1
WRITE "ATDT",XMPHONE,!
FOR %=1:1:5
USE IO
READ Y:10
if Y["CONNECT"
QUIT
+1 if Y'["CONNECT"
QUIT
+2 SET ER=0
QUIT
HHAYES DO CLEAR
USE IO
HANG 2
WRITE "+++"
HANG 2
WRITE "ATH0",!
HANG 2
DO CLEAR
SET ER=0
QUIT
HSTAT SET ER=0
QUIT
DRV2400 SET ER=1
WRITE *5,*13
READ Y:2
HANG 1
WRITE "D",*13
READ Y:2
if Y'["*"
QUIT
HANG 1
WRITE XMPHONE,*13
HANG 2
WRITE *13
READ Y:1,Y:60
if Y["ONLINE"
SET ER=0
QUIT
HRV2400 WRITE *3,*4
QUIT
SRV2400 SET Y="no status report"
SET ER=0
QUIT
ATT212C ;AT&T 300/1200 AUTODIAL MODEM
D212C FOR I=1:1:$LENGTH(XMPHONE)
IF (($EXTRACT(XMPHONE,I)="P")!($EXTRACT(XMPHONE,I)="p"))
SET XMPHONE=$EXTRACT(XMPHONE,0,I-1)_","_$EXTRACT(XMPHONE,I+1,999)
D2 IF $LENGTH(XMPHONE)>36
SET ER=1
QUIT
+1 FOR I=1:1:6
USE IO
WRITE *13
USE IO
READ X:2
if X["
QUIT
+2 IF I=6
KILL I
SET ER=1
QUIT
+3 KILL I
D3 ;
+1 USE IO
WRITE XMPHONE,"/",*13
READ X:70
IF '$TEST
USE IO
WRITE "$B$:",*13
SET ER=1
QUIT
+2 FOR I=1:1:7
USE IO
READ X:30
if X["Conn"
QUIT
if X["Answ"
QUIT
if +X
QUIT
+3 IF ((X["Con")!(X["Ans"))
SET ER=0
QUIT
+4 IF '+X
SET ER=1
QUIT
+5 SET ER=0
QUIT
H212C USE IO
WRITE "$B"
HANG 3
READ X:3,X:0
USE IO
WRITE "$:"
HANG 3
READ X:3,X:0
+1 USE IO
WRITE "TALK",*13
HANG 5
SET ER=1
FOR I=1:1:10
READ X:3
if X["
QUIT
+2 if I=10
KILL I
if '$DATA(I)
QUIT
KILL I
SET ER=0
QUIT
S212C FOR I=1:1
USE IO
READ X:1
if '$TEST
QUIT
S2 SET ER=1
SET %=^%ZOSF("TRMRD")
+1 USE IO
XECUTE ^%ZOSF("TRMON")
WRITE *13
HANG 2
READ X:4
IF X'[":"
READ X:2
+2 WRITE "S",*13
HANG 3
FOR I=1:1
USE IO
READ X:3
if '$TEST
QUIT
USE IO(0)
WRITE X
XECUTE %
WRITE *Y
+3 XECUTE ^%ZOSF("TRMOFF")
KILL I
SET ER=0
QUIT
R212C DO H212C
FOR I=1:1
USE IO
READ X:3
if '$TEST
QUIT
+1 USE IO
WRITE "ATZO1=Y,O2=Y,O3=Y,O4=Y,O5=Y,O6=N,O7=Y,08=N,09=Y,O10=N,O11=Y,O12=N,O13=Y,O14=N,O15=Y,O16=Y,O17=Y,O18=N,O19=Y,O20=1,O21=N,O22=:,O23=",$CHAR(8),",O24=@,O25=$B,O26=$:",*13
+2 SET ER=1
FOR I=1:1:10
USE IO
WRITE *13
USE IO
READ X:3
if X["
QUIT
+3 if I=10
KILL I
if '$DATA(I)
QUIT
SET ER=0
QUIT
+4 QUIT
CLEAR FOR %=1:1
USE IO
READ Y:1
if '$TEST
QUIT
+1 QUIT