From: wolfgang@netcom.com (Wolfgang Henke)
Subject: ARA script for the Digicom Scout+
Summary: Appletalk Remote Access script
Keywords: Digicom Scout Plus data and fax modem
Organization: Netcom
X-Newsreader: Tin 1.1 PL5
Date: Thu, 15 Oct 1992 05:38:03 GMT


I hacked a ARA script together. A MacIntosh to modem hardware
handshake cable is recommended. Send email if you dont know where
to get such a cable.

! Appletalk Remote Access script for the Digicom Scout+ 
! 10/14/1992, Wolfgang Henke
! This script is untested.
!
! Make sure you have a Mac to modem cable, which allows hardware
! handshake. Pin 1 of the Pin-8 must lead to Pin 4 of the DB-25
! and not to Pin 20 as in generic Mac to modem cables. The cable
! should also have Pin 6 and Pin 20 on the DB-25 connected to
! tie DSR and DTR together. Use &D0 to force DTR high in absence
! of this connection.
!
@ORIGINATE
@ANSWER
!
@LABEL 1
serreset 19200, 0, 8, 1
!
! first recall the factory configuration, and get the modem in enhanced
command state
!
matchclr
matchstr 1 4 "OK\13\10"
write "AT&F\13"
matchread 30
jump 59
!
! Next, Set up the configuration: first reset modem after losing DTR
!                  Turn off auto answer and echo
!
@LABEL 4
pause 5
matchstr 1 5 "OK\13\10"
write "AT&D3S0=0E0\13"
matchread 30
jump 59
!
! Next, turn on CTS flow control, disable MNP and V.42bis. ARA does its own
! error correction and compression.
!
@LABEL 5
pause 5
matchstr 1 6 "OK\13\10"
write "AT*F3*E0\13"
matchread 30
jump 59
!
! If speaker on flag is true, jump to label 8.  Else turn off the speaker
!
@LABEL 6
ifstr 2 8 "1"
pause 5
matchstr 1 8 "OK\13\10"
write "ATM0\13"
matchread 30
jump 59
!
! The modem is ready so enable answering, or originate a call
!
@LABEL 8
pause 5
ifANSWER 30
note "Dialing ^1" 3
write "ATDT^1\13"
!
@LABEL 9
matchstr 1 11 "CONNECT 1200\13\10"
matchstr 2 12 "CONNECT 2400\13\10"
matchstr 3 13 "CONNECT 4800\13\10"
matchstr 4 19 "CONNECT 7200\13\10"
matchstr 5 14 "CONNECT 9600\13\10"
matchstr 6 20 "CONNECT 12000\13\10"
matchstr 7 18 "CONNECT 14400\13\10"
matchstr 8 50 "NO CARRIER\13\10"
matchstr 9 50 "ERROR\13\10"
matchstr 10 52 "NO DIALTONE\13\10"
matchstr 11 53 "BUSY\13\10"
matchstr 12 54 "NO ANSWER\13\10"
matchread 700
jump 59
!
@LABEL 11
note "Communicating at 1200 bps." 2
CommunicatingAt 1200
jump 15
!
@LABEL 12
note "Communicating at 2400 bps." 2
CommunicatingAt 2400
jump 15
!
@LABEL 13
note "Communicating at 4800 bps." 2
CommunicatingAt 4800
jump 15
!
@LABEL 19
note "Communicating at 7200 bps." 2
CommunicatingAt 7200
jump 15
!
@LABEL 14
note "Communicating at 9600 bps." 2
CommunicatingAt 9600
jump 15
!
@LABEL 20
note "Communicating at 12000 bps." 2
CommunicatingAt 12000
jump 15
!
@LABEL 18
note "Communicating at 14400 bps." 2
CommunicatingAt 14400
jump 15
!
@LABEL 15
HSReset 0 1 0 0 0 0
ifANSWER 16
pause 30
@LABEL 16
exit 0
!
! @ANSWER
! Set up the modem to answer
@LABEL 30
write "ATS0=1\13"
matchstr 1 31 "OK\13\10"
matchread 30
jump 59
!
@LABEL 31
matchstr 1  32 "RING\13\10"
matchstr 2  11 "CONNECT 1200\13\10"
matchstr 3  12 "CONNECT 2400\13\10"
matchstr 4  13 "CONNECT 4800\13\10"
matchstr 5  19 "CONNECT 7200\13\10"
matchstr 6  14 "CONNECT 9600\13\10"
matchstr 7  20 "CONNECT 12000\13\10"
matchstr 8  18 "CONNECT 14400\13\10"
matchstr 9  50 "NO CARRIER\13\10"
matchstr 10 50 "ERROR\13\10"
matchstr 11 52 "NO DIALTONE\13\10"
matchstr 12 53 "BUSY\13\10"
matchstr 13 54 "NO ANSWER\13\10"
matchread 700
jump 31
!
@LABEL 32
userhook 1
note "Answering phone ..." 2
jump 31
!
! 50: error messages
!
@LABEL 50
exit -6021
!
@LABEL 52
exit -6020
!
@LABEL 53
exit -6022
!
@LABEL 54
exit -6023
!
@LABEL 59
exit -6019
!
! Hang up the modem
!
@HANGUP
@LABEL 60
settries 0
HSReset 0 0 0 0 0 0 
@LABEL 61
write "ATH\13"
matchclr
matchstr 1 63 "NO CARRIER\13\10"
matchstr 2 63 "OK\13\10"
matchstr 3 63 "ERROR\13\10"
matchread 30
inctries
iftries 3 63
! no response, try escape sequence
write "+++"
matchclr
matchstr 1 62 "OK\13\10"
matchread 15
!
! No Response from modem, toggle DTR
!
DTRClear
pause 5
DTRSet
jump 61
!
@LABEL 62
! Pause 1 second before to ensure we meet the escape time delay
pause 10
Flush
write "ATH\13"
matchstr 1 63 "OK\13\10"
matchstr 2 63 "NO CARRIER\13\10"
matchstr 3 63 "ERROR\13\10"
matchread 30
jump 61
!
!
! recall the factory settings.
!
@LABEL 63
matchclr
matchstr 1 64 "OK\13\10"
pause 15
write "AT&F\13"
matchread 30
!
! S0=0 - Don't try to answer the phone
!
@LABEL 64
pause 5
matchstr 1 65 "OK\13\10"
write "ATS0=0\13"
matchread 20
!
@LABEL 65
exit 0
-----------------end of ARASCOUT.SCR----------------



-- 
   _________________________________________________________________________
   Wolfgang Henke        wolfgang@henke.sf-bay.org       wolfgang@netcom.com

Newsgroups: comp.sys.mac.comm