! Xyplex CCL   $RCSfile: Apple_Modem_2400,v $
!             $Revision: 1.3 $
!                 $Date: 1994/01/11 16:04:04 $
! 
@ORIGINATE
@ANSWER
!
@LABEL 1
serreset 2400, 0, 8, 1
!
! first recall the factory configuration
!
@LABEL 2
matchclr
matchstr 1 4 "OK\13\10"
matchstr 2 3 "ERROR\13\10"
pause 5
write "AT&F\13"
matchread 30
jump 59
!
! The &F command failed, must be original portable modem, try Z
!
@LABEL 3
matchclr
matchstr 1 6 "OK\13\10"
write "ATZ\13"
matchread 30
jump 59
!
!	Set up the configuration:
!	direct connection mode, no mnp, no speed conversion
!
@LABEL 4
matchstr 1 5 "OK\13\10"
matchstr 2 6 "ERROR\13\10"
write "AT\\N1\13"
matchread 30
!
! Next, turn off flow control.
!
@LABEL 5
matchclr
matchstr 1 6 "OK\13\10"
write "AT&K0\13"
matchread 30
jump 59
!
! Turn echo off
!
@LABEL 6
matchclr
matchstr 1 7 "OK\13\10"
write "ATE0\13"
matchread 30
jump 59 
!
! If speaker on flag is true, jump to label 8.  Else turn off the speaker
@LABEL 7
ifstr 2 8 "1"
matchstr 1 8 "OK"
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"
matchstr 2 12 "CONNECT 2400"
matchstr 3 50 "NO CARRIER"
matchstr 4 50 "ERROR"
matchstr 5 52 "NO DIALTONE"
matchstr 6 53 "BUSY"
matchstr 7 54 "NO ANSWER"
matchread 700
jump 59
!
@LABEL 11
note "Communicating at 1200 bps." 2
serreset 1200, 0, 8, 1
jump 15
!
@LABEL 12
note "Communicating at 2400 bps." 2
serreset 2400, 0, 8, 1
!
@LABEL 15
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"
matchstr 2  11 "CONNECT 1200"
matchstr 3  12 "CONNECT 2400"
matchstr 4  50 "NO CARRIER"
matchstr 5  50 "ERROR"
matchstr 6  52 "NO DIALTONE"
matchstr 7  53 "BUSY"
matchstr 8  54 "NO ANSWER"
matchread 700
jump 31
!
@LABEL 32
userhook 1
note "Answering phone" 2
jump 31
!
! 50: error messages
! No carrier
@LABEL 50
exit -6021
! No Dial Tone
@LABEL 52
exit -6020
! Busy
@LABEL 53
exit -6022
! No Answer
@LABEL 54
exit -6023
! Modem error
@LABEL 59
exit -6019
!
! Hang up the modem
!
@HANGUP
@LABEL 60
settries 0
@LABEL 61
write "ATH\13"
matchclr
matchstr 1 62 "NO CARRIER\13\10"
matchstr 2 62 "OK\13\10"
matchstr 3 62 "ERROR\13\10"
matchread 30
inctries
iftries 3 62
! no response, try escape sequence
write "+++"
matchclr
matchstr 1 61 "OK\13\10"
matchread 15
jump 61
!
! Recall the factory settings
!
@LABEL 62
matchclr
matchstr 1 64 "OK\13\10"
matchstr 2 63 "ERROR\13\10"
write "AT&F\13"
matchread 30
!
! the &F failed, must be original portable modem, try Z
!
@LABEL 63
matchclr
matchstr 1 65 "OK\13\10"
write "ATZ\13"
matchread 30
!
! Turn off auto answer
!
@LABEL 64
write "ATS0=0\13"
matchclr
matchstr 1 65 "OK\13\10"
matchread 30
!
@LABEL 65
exit 0

