comparison defs/scf.d @ 1629:eaa82c22a8a4

scf.d added
author boisy
date Sat, 03 Jul 2004 01:53:22 +0000
parents
children 7af4d12008f4
comparison
equal deleted inserted replaced
1628:b8c4b5872b39 1629:eaa82c22a8a4
1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2 ; scf
3 ;
4 ; $Id$
5 ;
6 ; SCF stands for 'Sequential Character Filemanager' and is a package of subroutines
7 ; that define the logical structure of a serial device.
8 ;
9 ; The data structures in this file give SCF its 'personality' and are used
10 ; by SCF itself, as well as applications that will require disk I/O.
11 ;
12 ; Edt/Rev YYYY/MM/DD Modified by
13 ; Comment
14 ; ------------------------------------------------------------------
15 ; 2004/07/02 Boisy G. Pitre
16 ; Started
17
18 .title Sequential File Manager Definitions
19
20 .area SCF (ABS)
21
22 .page
23 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
24 ; SCF Device Descriptor Offsets
25 ;
26 ; These definitions are for SCF device descriptors.
27
28 .org M$DTyp
29 IT.DVC:: .rmb 1 ; Device type (DT.SCF)
30 IT.UPC:: .rmb 1 ; Uppercase flag
31 IT.BSO:: .rmb 1 ; Backspace behavior
32 IT.DLO:: .rmb 1 ; Delete behavior
33 IT.EKO:: .rmb 1 ; Echo flag
34 IT.ALF:: .rmb 1 ; Auto linefeed flag
35 IT.NUL:: .rmb 1 ; End-of-line null count
36 IT.PAU:: .rmb 1 ; Page pause flag
37 IT.PAG:: .rmb 1 ; Number of lines per page
38 IT.BSP:: .rmb 1 ; Backspace character
39 IT.DEL:: .rmb 1 ; Delete-line character
40 IT.EOR:: .rmb 1 ; End-of-record character
41 IT.EOF:: .rmb 1 ; End-of-file character
42 IT.RPR:: .rmb 1 ; Reprint-line character
43 IT.DUP:: .rmb 1 ; Duplicate-last-line character
44 IT.PSC:: .rmb 1 ; Pause character
45 IT.INT:: .rmb 1 ; Interrupt character
46 IT.QUT:: .rmb 1 ; Quit character
47 IT.BSE:: .rmb 1 ; Backspace echo character
48 IT.OVF:: .rmb 1 ; Bell character
49 IT.PAR:: .rmb 1 ; Parity
50 IT.BAU:: .rmb 1 ; Baud rate
51 IT.D2P:: .rmb 2 ; Attached device name string offset
52 IT.XON:: .rmb 1 ; X-ON character
53 IT.XOFF:: .rmb 1 ; X-OFF character
54 IT.COL:: .rmb 1 ; Number of columns for display
55 IT.ROW:: .rmb 1 ; Number of rows for display
56 IT.XTYP:: .rmb 1 ; Extended type (added by BRI)
57
58 .ifgt Level-1
59 ; Window Descriptor Additions
60 ; For CoCo window, where IT.PAR = $80
61 .org IT.ROW+1
62 IT.WND:: .rmb 1 ; Window number (matches device name) ($2E)
63 IT.VAL:: .rmb 1 ; Use defaults on Init (0=no, 1=yes)
64 IT.STY:: .rmb 1 ; Screen type default
65 IT.CPX:: .rmb 1 ; Column start default
66 IT.CPY:: .rmb 1 ; Row start default
67 IT.FGC:: .rmb 1 ; Foreground color default
68 IT.BGC:: .rmb 1 ; Background color default
69 IT.BDC:: .rmb 1 ; Border color default
70 .endif
71
72
73 .page
74 ;;;;;;;;;;;;;;;;;;;;
75 ; SCF Static Storage
76 ;
77 ; SCF devices must reserve this space for SCF
78 ;
79 .org V.USER
80 V.TYPE:: .rmb 1 ; Device type or parity
81 V.LINE:: .rmb 1 ; Lines left until end of page
82 V.PAUS:: .rmb 1 ; Immediate Pause request
83 V.DEV2:: .rmb 2 ; Attached device's static
84 V.INTR:: .rmb 1 ; Interrupt char
85 V.QUIT:: .rmb 1 ; Quit char
86 V.PCHR:: .rmb 1 ; Pause char
87 V.ERR:: .rmb 1 ; Accumulated errors
88 V.XON:: .rmb 1 ; X-On char
89 V.XOFF:: .rmb 1 ; X-Off char
90 V.KANJI:: .rmb 1 ; Kanji mode flag
91 V.KBUF:: .rmb 2 ; Kana - Kanji convert routine work address
92 V.MODADR:: .rmb 2 ; Kana - Kanji convert module address
93 V.PDLHd:: .rmb 2 ; Open path descriptor list head pointer
94 V.RSV:: .rmb 5 ; Reserve bytes for future expansion
95 V.SCF == . ; Total SCF manager static overhead
96
97 .page
98 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
99 ; Sequential Character Path Descriptor Format
100 ;
101 ; A path descriptor is created for every new path that is open
102 ; via the I$Open system call (processed by IOMan). Process
103 ; descriptors track state information of a path.
104 ;
105 .org PD.FST
106 PD.DV2:: .rmb 2 ; Output device table pointer
107 PD.RAW:: .rmb 1 ; Read/Write or ReadLn/WritLn mode
108 PD.MAX:: .rmb 2 ; ReadLn high byte count
109 PD.MIN:: .rmb 1 ; Devices are "mine" if clear
110 PD.STS:: .rmb 2 ; Status routine module addr
111 PD.STM:: .rmb 2 ; Reserved for status routine
112 .org PD.OPT
113 .rmb 1 ; Device type
114 PD.UPC:: .rmb 1 ; Case (0=both, 1=upper only)
115 PD.BSO:: .rmb 1 ; Backspace (0=BSE, 1=BSE,SP,BSE)
116 PD.DLO:: .rmb 1 ; Delete (0=BSE over line, 1=CRLF)
117 PD.EKO:: .rmb 1 ; Echo (0=No Echo)
118 PD.ALF:: .rmb 1 ; Auto linefeed (0=No auto LF)
119 PD.NUL:: .rmb 1 ; End of Line null count
120 PD.PAU:: .rmb 1 ; Page pause (0=No end of page pause)
121 PD.PAG:: .rmb 1 ; Lines per page
122 PD.BSP:: .rmb 1 ; Backspace character
123 PD.DEL:: .rmb 1 ; Delete Line character
124 PD.EOR:: .rmb 1 ; End of Record character (read only)
125 PD.EOF:: .rmb 1 ; End of File character
126 PD.RPR:: .rmb 1 ; Reprint Line character
127 PD.DUP:: .rmb 1 ; Dup Last Line character
128 PD.PSC:: .rmb 1 ; Pause character
129 PD.INT:: .rmb 1 ; Keyboard interrupt character (CTRL-C)
130 PD.QUT:: .rmb 1 ; Keyboard quit character (CTRL-E)
131 PD.BSE:: .rmb 1 ; Backspace echo character
132 PD.OVF:: .rmb 1 ; Line overflow character (BELL)
133 PD.PAR:: .rmb 1 ; Parity code
134 PD.BAU:: .rmb 1 ; ACIA baud rate (Color Computer)
135 PD.D2P:: .rmb 2 ; Offset of DEV2 name
136 PD.XON:: .rmb 1 ; ACIA X-ON character
137 PD.XOFF:: .rmb 1 ; ACIA X-OFF character
138 OPTCNT == .-PD.OPT ; Total user settable options
139 PD.ERR:: .rmb 1 ; Most recent I/O error status
140 PD.TBL:: .rmb 2 ; Device table addr (copy)
141 PD.PLP:: .rmb 2 ; Path Descriptor List Pointer
142 PD.PST:: .rmb 1 ; Current path status
143
144
145 ; PD.PST values Path Descriptor Status byte
146 ;
147 PST.DCD == 0b00000001 ; Set if DCD is lost on Serial port
148
149
150 ; PD.PAR definitions
151 ;
152 ; Parity
153 PARNONE == 0b00000000
154 PARODD == 0b00100000
155 PAREVEN == 0b01100000
156 PARMARK == 0b10100000
157 PARSPACE == 0b11100000
158
159 ; PD.BAU definitions
160 ;
161 ; Baud rate
162 B110 == 0b00000000
163 B300 == 0b00000001
164 B600 == 0b00000010
165 B1200 == 0b00000011
166 B2400 == 0b00000100
167 B4800 == 0b00000101
168 B9600 == 0b00000110
169 B19200 == 0b00000111
170 B38400 == 0b00001000
171 B57600 == 0b00001001
172 B115200 == 0b00001010
173 ; Word size
174 WORD8 == 0b00000000
175 WORD7 == 0b00100000
176 ; Stop bits
177 STOP1 == 0b00000000
178 STOP2 == 0b00010000