annotate defs/scf.d @ 1629:eaa82c22a8a4

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