Mercurial > hg > Members > kono > nitros9-code
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 |