home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
cpm
/
bye5
/
b5ac-1.ins
< prev
next >
Wrap
Text File
|
1994-07-13
|
3KB
|
133 lines
; B5AC-1 - Apple-Cat insert for BYE5 - 07/17/85
;
; Novation Apple-Cat routines for BYE5
;
; This version is for the Apple ][ running with an Apple-Cat modem card.
; Note: This is an insert, not an overlay.
;
; = = = = = = = = = = = = = = = = = =
;
; 07/17/85 Written to work with BYE5 - Irv Hoff
;
; = = = = = = = = = = = = = = = = = =
;
;
; Apple-Cat modem address equates
;
SLOT EQU 2 ; Apple-Cat residing in Slot #2
SLOTVAL EQU SLOT*16 ; Number to add for proper slot
;
MCSTATP EQU 0E080H+SLOTVAL ; Carrier status
LNCTL EQU 0E081H+SLOTVAL ; Line control
PHCTL EQU 0E082H+SLOTVAL ; Phone control
BSRINT EQU 0E083H+SLOTVAL ; BSR and interrupts
RCVCTL EQU 0E089H+SLOTVAL ; Receiver control
MDPORT EQU 0E08AH+SLOTVAL ; Mode (parity/stop bits) port
BAUDPT EQU 0E08BH+SLOTVAL ; Baud rate port
XRINT EQU 0E08CH+SLOTVAL ; Transmit/receive interrupts
TRXCTL EQU 0E08DH+SLOTVAL ; Transmitter control
MODSEL EQU 0E08FH+SLOTVAL ; Modem select port
;
RSPORT EQU 0E08FH+SLOTVAL ; Receive status port
RDPORT EQU 0E08BH+SLOTVAL ; Receive data port
TSPORT EQU 0E08FH+SLOTVAL ; Transmit status port
TDPORT EQU 0E08EH+SLOTVAL ; Transmit data port
;
;
;-----------------------------------------------------------------------
;
; See if we still have a carrier - if not, return with the zero flag set
;
MDCARCK:LDA MCSTATP ; Get carrier status
ANI 20H ; Got a carrier?
RET
;.....
;
;
; Disconnect and wait for an incoming call
;
MDINIT: MVI A,1FH ; Turn off transmitter
STA TRXCTL
MVI A,0 ; Hang up phone
STA PHCTL
RET
;.....
;
;
; Input a character from the modem port
;
MDINP: MVI A,10H ; Clear receiver
STA TRXCTL
LDA RDPORT ; Read character
RET
;.....
;
;
; Check the status to see if a character is available. If not, return
; with the zero flag set. If yes, use 0FFH to clear the flag.
;
MDINST: LDA RSPORT ; Get modem status
ANI 08H ; Data available?
RZ ; Nope
ORI 0FFH ; Return true
RET
;.....
;
;
; Send a character to the modem
;
MDOUTP: STA TDPORT ; Send character
RET
;.....
;
;
; See if the output is ready for another character
;
MDOUTST:LDA TSPORT ; Get modem status
ANI 10H ; Check transmit ready bit
RET
;.....
;
;
; Reinitialize the modem and hang up the phone by dropping DTR and
; leaving it inactive.
;
MDQUIT: IF IMODEM ; If using a smartmodem
CALL IMQUIT
ENDIF ; IMODEM
;.....
;
;
MDSTOP: MVI A,1FH ; Turn off transmitter
STA TRXCTL
MVI A,0 ; Hang up phone
STA PHCTL
RET
;.....
;
;
; The following routine sets the baudrate. BYE5 asks for the maximim
; speed you have available.
;
SET1200 EQU $ ; 1200 bps not supported
SET2400 EQU $ ; 2400 bps not supported
;
SETINV: ORI 0FFH ; Make sure the Zero flag isn't set
RET
;.....
;
;
SET300: CALL MDINP ; Set for 300 baud
CALL MDINP
MVI A,22H ; Set 300 baud
STA BAUDPT
MVI A,03H ; Set 8 data bits, no parity, 1 stop bit
STA MDPORT ; 03H = 1 stop, 0DH = 2 stop bits
XRA A
RET
;.....
;
; end
;-----------------------------------------------------------------------