mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-25 17:34:06 +00:00
228 lines
5.5 KiB
Plaintext
228 lines
5.5 KiB
Plaintext
|
||
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
|
||
|
||
|