
; I2RV-6.ASM Racal-Vadic VA212PA or VA3451 special IMP overlay 06/11/87
;
;
; The Racal-Vadic option  in IMP  supports  the 1200V, 2400V and 2400PA
; autodial models.  The VA212PA and 3451 models require a somewhat dif-
; ferent routine.  Essentially they require a CR after the 'D' for dial
; and two carriage returns after the phone number has been entered, the
; first to enter the number in the modem and the second to initiate the
; actual dialing routine.  In addition, they do use "verbose" mode, not
; terse mode, so it is	necessary to "catch the echo characters" before
; proceeding.
;
; The following overlay can be added after the normal overlay, although
; it makes no difference when it is added, really - assuming the normal
; overlay is set  for 1200 bps maximum	speed and Racal-Vadic protocol.
;
;		A>MLOAD IMP.COM=IMP2xx.COM,I2RV-x.HEX
;
; =   =   =   =   =   =   =   =   =   =   =   =   =   =   =   =   =   =
;
; 06/11/87  Increased the RV3451 abort time after dialing to 60 seconds
;	    as it can only pulse dial and is very slow.  Other changes
;	    to improve autodialing with 3451.
;					- Irv Hoff
;
; 06/01/87  Altered addresses for use with IMP245.  Use I2VB-4.ASM with
;	    IMP244.			- Irv Hoff
;
; 10/27/85  There is enough difference in the VA212PA and VA3451 to add
;	    equates to select between the two.	The 3451 is much slower
;	    to execute commands and needs substantial extra delays.  My
;	    thanks to Bond Shands for  extensive 3451 testing.	I could
;	    do the 212PA testing myself.
;					- Irv Hoff
;
; 09/17/85  Initial version		- Irv Hoff
;
; =   =   =   =   =   =   =   =   =   =   =   =   =   =   =   =   =   =
;
;
YES	EQU	0FFH
NO	EQU	0
;
;
; Choose one of the following
;
RV212	EQU	NO
RV3451	EQU	YES
;.....
;
;
; Sets parameters to 1200 bps normal operation for Racal-Vadic protocol
;
	ORG	0103H
	DB	5		; To initiate 1200 bps
	DB	0		; No for 2400 bps maximum
	DB	0FFH		; Yes for 1200 bps maximum
	DB	0FFH		; Yes for Racal-Vadic protocol
	DB	0		; No for Prometheus ProModem protocol
;.....
;
;
; Add extra CR for use with 212PA or 3451 dialing protocol
;
	ORG	05A9H
	CALL	0848H
;.....
;
;
; Allows pulse dialing for alternate dial systems - until recently, most
; required touch tone dialing.	(See the I2NM-x.ASM phone library over-
; lay for information on activating this feature.)
;
	ORG	06E8H
	JMP	06EEH
;.....
;
;
; Initialize modem, wait for "IM READY" to stop
;
	ORG	0794H
	CALL	018FH
	JMP	0762H
;.....
;
;
; Set up modem for dialing
;
	ORG	07B6H
	LXI	H,0865H
	CALL	018FH
	JMP	0762H
;.....
;
;
; Put modem into terminal mode so it is in a position to accept dialing
; (Each # represents 100 milliseconds delay.  Most can be removed for
; use with the 212PA modem which is significantly faster than the older
; 3451.)
;
	 IF	RV3451
	ORG	07F1H
	DB	'I','##',0DH,'####','E'-40H,0DH,'###','$'
	 ENDIF			; RV3451
;
	 IF	RV212
	ORG	07FBH
	DB	'$'
	 ENDIF			; RV212
;.....
;
;
; Puts modem back into IDLE condition when finished
;
	ORG	0812H
;
	 IF	RV3451
	DB	'##',0DH,'##','I','####',0DH,'$'
	 ENDIF			; RV3451
;
	 IF	RV212
	DB	0DH,'#','I','#',0DH,'$'
	 ENDIF			; RV212
;.....
;
;
	ORG	0848H
;
	 IF	RV212
	MVI	B,0DH
	CALL	018CH
	JMP	0762H
	 ENDIF			; RV212
;
	 IF	RV3451
	LXI	H,0851H
	CALL	018FH
	JMP	0762H		; Now go get the result code
;
	DB	'####',0DH,'$'	; Give the 3451 time to enter the number
	 ENDIF			; RV3451
;.....
;
;
	ORG	0865H
;
	 IF	RV212
	DB	'D','#',0DH,'$'
	 ENDIF			; RV212
;
	 IF	RV3451
	DB	'D','##',0DH,'##','$'
	 ENDIF			; RV3451
;.....
;
;
; Increase time to abort to 60 seconds for the 3451 for pulse dialing
;
	 IF	RV3451
	ORG	08A1H
	DW	600		; For 60 seconds
	 ENDIF			; RV3451
;
;
; In the SMRESULT area, fix for verbose ONLINE instead of terse
;
	ORG	0989H		; Change 'L' to 'O' for ONLINE
	DB	'O',0
;.....
;
;
; In the SMRESULT area, fix for verbose NO DIAL TONE instead of terse
;
	ORG	09A1H		; Change 'E' to 'N' for No Dial tone
	DB	'F',0
	JNC	09F0H		; ABORT
;.....
;
;
; If got an answer, go back to get the ONLINE result
;
	ORG	0939H
	JMP	0899H		; Back to SMRESULT
;.....
;
;			       end
;-----------------------------------------------------------------------
;
	END
