; TITLE ZMR4-1.Z80 - 01/01/88 - ZMD I/O Overlay for TRS-80 MODEL IV ; Copyrighted (c) 1987, 1988 ; Robert W. Kramer III PAGE ;- -; ; Update History ; ; ; ; Date Release Comments ; ; -------- ------- ---------------------------------------------- ; ; ; ; 01/01/88 v1.00 - Initial version ; ;- -; ; MSPORT EQU 0E8H ; Modem status port USPORT EQU 0EAH ; UART status port DPORT EQU 0EBH ; Data holding register I/O MSNDRDY EQU 040H ; Modem send ready bit 1=true MRCVRDY EQU 080H ; Modem receive ready bit 1=true CDOK EQU 020H ; Carrier detect bit 1=true ; ;-------------------------------------------------------------------------; ; Input/Output Jump Table | ;-------------------------------------------------------------------------; ; ORG 0580H ; Start after configuration table JP 0000H ; See CONOUT.INF JP INIT ; Initialization routine JP UNINIT ; Unititialize routine JP SNDCHR ; Send character JP CARCHK ; Test for carrier JP GETCHR ; Get character from modem JP RCVRDY ; Check receive ready JP SNDRDY ; Check send ready ; ;-------------------------------------------------------------------------; ; System startup inititialization routine | ;-------------------------------------------------------------------------; INIT: RET ; ;-------------------------------------------------------------------------; ; System exit unititialization routine | ;-------------------------------------------------------------------------; UNINIT: RET ; ;-------------------------------------------------------------------------; ; Send character out modem | ;-------------------------------------------------------------------------; SNDCHR: POP AF ; Get character from stack OUT (DPORT),A ; Sendit RET ; ;-------------------------------------------------------------------------; ; Check for carrier | ;-------------------------------------------------------------------------; CARCHK: IN A,(MSPORT) ; Read modem status port AND CDOK ; Mask carrier detect RET ; ;-------------------------------------------------------------------------; ; Get character from modem | ;-------------------------------------------------------------------------; GETCHR: IN A,(DPORT) ; Read the data port RET ; ;-------------------------------------------------------------------------; ; Check modem receive ready | ;-------------------------------------------------------------------------; RCVRDY: IN A,(USPORT) ; Read UART status port AND MRCVRDY ; Mask receive ready CP MRCVRDY ; Z = ready RET ; ;-------------------------------------------------------------------------; ; Check modem send ready | ;-------------------------------------------------------------------------; SNDRDY: IN A,(USPORT) ; Read UART status port AND MSNDRDY ; Mask crap CP MSNDRDY ; Z = ready RET END