Files
Digital-Research-Source-Code/CPM OPERATING SYSTEMS/CPM 86/CONCURRENT/CCPM-86 3.1 SOURCE/D5/SERDATA.A86
Sepp J Morris 31738079c4 Upload
Digital Research
2020-11-06 18:50:37 +01:00

228 lines
5.5 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

title 'Serial Data Structures'
;***************************************************
; *
; SERIAL IO DATA STRUCTURES MODULE *
; Last changed : 2/15/84 *
; *
;***************************************************
include serdata.equ
include flags.equ
include chrcomm.equ
eject
public ciqctl
public icdesctbl
public ocdesctbl
public oq0desc
public oq7desc
public oq8desc
cgroup group code, data, siq_seg
cseg
extrn conin_0:near
dseg
icdesctbl dw ciqctl ; 0 system support usart
dw ci1qctl ; 1 interfacer 3 usart 0
dw 0 ; 2 interfacer 3 usart 1
dw 0 ; 3 interfacer 3 usart 2
dw 0 ; 4 interfacer 3 usart 3
dw 0 ; 5 interfacer 3 usart 4
dw 0 ; 6 interfacer 3 usart 5
dw ci7qctl ; 7 interfacer 3 usart 6
dw ci8qctl ; 8 interfacer 3 usart 7
eject
siq_seg dseg para
; Q control structure for main system console
ciqctl db C0IN_F ; System flag
dw 0 ; Q status
db 27H ; Command register image
dw 0 ; un-processed characters
dw 0 ; interrupt side input Q index
dw 0 ; processes side output Q index
db SS_U ; Usart number ( System support board code )
db 05fH ; Usart command port
db 05dH ; Usart status port
db 05cH ; Usart data port
db SS_U ; transmitter interrupt mask
dw 0 ; input escape Q index
dw 0 ; output escape Q index
db 0 ; last char read from Q
db 0 ; last status byte read from Q
dw conin_0 ; current state for this console
db 0 ; physical console number
db 0 ; virtual console number
db 0 ; error reset count
rb 06H ; pad
rb 10H ; the state machines escape Q
rb 80H ; the usarts data Q
rb 80H ; the usarts status Q
; Q control structure for 2nd physical console
; It is USART 0 on the Interfacer 3 board.
ci1qctl db C1IN_F ; system flag
dw 0 ; Q status
db 27H ; Command register image
dw 0 ; un-processed characters
dw 0 ; interrupt side input Q index
dw 0 ; processes side output Q index
db 00H ; Usart number ( System support board code )
db 013H ; Usart command port
db 011H ; Usart status port
db 010H ; Usart data port
db US_0 ; transmitter interrupt mask
dw 0 ; input escape Q index
dw 0 ; output escape Q index
db 0 ; last char read from Q
db 0 ; last status byte read from Q
dw conin_0 ; current state for this console
db 0 ; physical console number
db 0 ; virtual console number
db 0 ; error reset count
rb 06H ; pad
rb 10H ; the state machines escape Q
rb 80H ; the usarts data Q
rb 80H ; the usarts status Q
; Q control structure for printer 1.
; 6th USART on the system support board.
; 8th bit in data byte is masked off.
ci7qctl db c7IN_F
dw 0014H ; Q status
db 27H ; Command register image
dw 0 ; un-processed characters
dw 0 ; last char read from Q
db 0 ; Last status byte read from Q
dw conin_0 ; current state for this console
db 0 ; physical cons #
db 0 ; virtual console #
db 0 ; error reset count
rb 6h ; pad
rb 10h ; state machine escape Q
rb 80h ; usart data q
rb 80h ; usart status q
; Q control structure for printer 0.
; 7th USART on the system support board.
; This Q is set up for Xon Xoff protocol.
; 8th bit in data byte is masked off.
ci8qctl db C8IN_F ; system flag
dw 0014H ; Q status
db 27H ; Command register image
dw 0 ; un-processed characters
dw 0 ; interrupt side input Q index
dw 0 ; processes side output Q index
db 07H ; Usart number ( System support board code )
db 013H ; Usart command port
db 011H ; Usart status port
db 010H ; Usart data port
db US_7 ; transmitter interrupt mask
dw 0 ; input escape Q index
dw 0 ; output escape Q index
db 0 ; last char read from Q
db 0 ; last status byte read from Q
dw conin_0 ; current state for this console
db 0 ; physical console number
db 0 ; virtual console number
db 0 ; error reset count
rb 06H ; pad
rb 10H ; the state machines escape Q
rb 80H ; the usarts data Q
rb 80H ; the usarts status Q
;***********************************************************
; *
; OUTPUT DATA CONTROL STRUCTURES *
; *
;***********************************************************
cgroup group soq_seg
dseg
ocdesctbl dw offset oq0desc ; system support
dw offset oq1desc ; interfacer 3 from here on down
dw 0 ; offset oq2desc
dw 0 ; offset oq3desc
dw 0 ; offset oq4desc
dw 0 ; offset oq5desc
dw 0 ; offset oq6desc
dw offset oq7desc ; printer 1
dw offset oq8desc ; printer 0
soq_seg dseg para
oq0desc db c0out_f ; Concurrents flag #
db 0 ; local flag byte, bit vector
rb 4 ; char count & position
db 5CH ; IO PORT
db 5DH ; STATUS PORT
db NO_SELECT ; Usart number
db 0 ; escape count
db 0 ; output bit mask
db 0 ; current Vcon
db 0 ; pad
db TXRDY, DSR, 0
rb onmsgs
oq1desc db c1out_f
db 0
rb 4
db 10H
db 11H
db 0
db 0
db 01
db 4
db 0
db TXRDY, DSR, 0
rb onmsgs
; printer 1
oq7desc db c7out_f
db 0A0H
rb 4
db 10H
db 11H
db 6
db 0
db 40h
dw 0
db TXRDY, DSR, 0
rb onmsgs
; printer 0
; set for xon xoff mode
oq8desc db c8out_f
db 20H
rb 4
db 10H
db 11H
db 7
db 0
db 80h
dw 0
db TXRDY, DSR, 0
rb onmsgs
end