home *** CD-ROM | disk | FTP | other *** search
- ; CompuPro Interfacer board equates.
-
- GBP0: EQU 0 ;Serial port zero
- GBP1: EQU 2 ;Serial port one
- GBDATA: EQU 0 ;Data on even I/O unit
- GBSTAT: EQU 1 ;Status on odd I/O unit
-
- GBTBMT: EQU 00000001b ;Transmit buffer empty
- GBDAV: EQU 00000010b ;Data available
- GBOPT: EQU 00000100b ;Optional status line
- GBPE: EQU 00001000b ;Parity error
- GBOR: EQU 00010000b ;Overrun error
- GBFE: EQU 00100000b ;Framing error
- GBCC: EQU 01000000b ;RS 232 CC input
- GBCB: EQU 10000000b ;RS 232 CB input
-
- GBRIE: EQU 00000001b ;Receiver interrupt enable
- GBTIE: EQU 00000010b ;Transmitter interrupt enable
- GBCD: EQU 00000100b ;RS 232 CD output
- GBCA: EQU 00001000b ;RS 232 CA output
- GBTSB: EQU 00010000b ;Number of stop bits
- GBNP: EQU 00100000b ;No parity
- GBEPS: EQU 01000000b ;Even parity
- GBNBI: EQU 10000000b ;number of bits/character
- ; C O N S O L S T A T U S
- ;
- ; This routine samples the Console status and returns the
- ; following values in the A register.
- ;
- ; EXIT A = 0 (zero), means no character
- ; currently ready to read.
- ;
- ; A = FFh (255), means character
- ; currently ready to read.
-
- CONST: IN GBP0+GBSTAT ;Input from port
- ANI GBDAV ;Mask data available
- RZ ;If data not available
- ORI 0FFh
- RET
- ;
- ;
- ;
- ;
- ; C O N S O L I N P U T
- ;
- ; Read the next character into the A register, clearing
- ; the high order bit. If no character currently ready to
- ; read then wait for a character to arrive before returning.
- ;
- ; EXIT A = character read from terminal.
-
- CONIN: IN GBP0+GBSTAT
- ANI GBDAV
- JZ CONIN ;If data not available
- IN GBP0+GBDATA
- ANI 7Fh
- RET
- ;
- ;
- ;
- ;
- ; C O N S O L O U T P U T
- ;
- ; Send a character to the console. If the console
- ; is not ready to receive a character wait until
- ; the console is ready.
- ;
- ; ENTRY C = ASCII character to output to console.
-
- CONOUT: IN GBP0+GBSTAT
- ANI GBTBMT
- JZ CONOUT ;If transmit buffer not empty
- MOV A,C
- OUT GBP0+GBDATA
- RET
- ;
- ;
- ;
- ;
- ; P u n c h O u t p u t.
- ;
- ; Send a character to the punch device. If no punch
- ; device exists then immediately return.
- ;
- ; ENTRY C = ASCII character to output.
-
- PUNCH: IN GBP1+GBSTAT
- ANI GBTBMT
- JZ PUNCH ;If transmit buffer full
- MOV A,C
- OUT GBP1+GBDATA
- RET
- ;
- ;
- ;
- ;
- ; R e a d e r I n p u t.
- ;
- ; Read the next character from the currently assigned
- ; reader device into the A register.
- ;
- ; EXIT A = character read from the reader device.
-
- READER: IN GBP1+GBSTAT ;Input from port
- ANI GBDAV ;Mask data available
- JZ READER ;If data not available
- IN GBP1+GBDATA
- RET
- ;
- ;
- ;
- ;
- ; L i s t O u t p u t.
- ;
- ; Send a character to the list device. If the list
- ; device is not ready to receive a character wait
- ; until the device is ready.
- ;
- ; ENTRY C = ASCII character to be output.
-
- LIST: IN GBP1+GBSTAT ;Get status
- ANI GBCC+GBTBMT
- SUI GBTBMT
- JNZ LIST
- MOV A,C
- OUT GBP1+GBDATA
- RET
- ;
- ;
- ;
- ;
- ; L i s t S t a t u s.
- ;
- ; Return the ready status for the list device.
- ;
- ; EXIT A = 0 (zero), list device is not ready to
- ; accept another character.
- ; A = FFh (255), list device is ready to accept
- ; a character.
-
- LISTST:
- IN GBP1+GBSTAT
- ANI GBCC+GBTBMT
- SUI GBTBMT
- RZ ;If ready
- ORI 0FFh
- RET
- ;
- ;
- ;
- ; M P / M F U N C T I O N S
- ;
- ;
- ;
- SELMEMORY:
- POLLDEVICE:
- STARTCLOCK:
- STOPCLOCK:
- EXITREGION:
- MAXCONSOLE:
- SYSTEMINIT:
- IDLE:
- RET
- ;
- ;
- ;
- ; O P T I O N A L N O N - S T A N D A R D F U N C T I O N S
- ;
- ;
- ;
- ;
- ;
- ; S E T S E C T O R C O U N T
- ;
- ; Set the number of continuous sectors to transfer.
- ;
- ; ENTRY C = Number of sectors to transfer.
- ;
- ; EXIT NUMSEC = C
-
- SETNUM:
- MOV A,C
- STA NUMSEC
- RET
- ;
- ;
- ;
- ;
- ; S E T E X T E N D E D B A N K
- ;
- ; Set the extended bank data tranfer address.
- ;
- ; ENTRY C = Extended address bank.
- ;
- ; EXIT DMAADE = C.
-
- SETXAD:
- MOV A,C
- STA DMAADE
- RET
- ;
- ; COLD boot initialization
- ;
- ;Note: The label URINIT defines the beginning of data storage
- ;
- URINIT: RET
- ;
- ;
-