summaryrefslogtreecommitdiff
path: root/v4.0/src/DEV/XMA2EMS/XMA2EMSP.INC
diff options
context:
space:
mode:
authorGravatar Mark Zbikowski2024-04-25 21:24:10 +0100
committerGravatar Microsoft Open Source2024-04-25 22:32:27 +0000
commit2d04cacc5322951f187bb17e017c12920ac8ebe2 (patch)
tree80ee017efa878dfd5344b44249e6a241f2a7f6e2 /v4.0/src/DEV/XMA2EMS/XMA2EMSP.INC
parentMerge pull request #430 from jpbaltazar/typoptbr (diff)
downloadms-dos-main.tar.gz
ms-dos-main.tar.xz
ms-dos-main.zip
MZ is back!HEADmain
Diffstat (limited to 'v4.0/src/DEV/XMA2EMS/XMA2EMSP.INC')
-rw-r--r--v4.0/src/DEV/XMA2EMS/XMA2EMSP.INC243
1 files changed, 243 insertions, 0 deletions
diff --git a/v4.0/src/DEV/XMA2EMS/XMA2EMSP.INC b/v4.0/src/DEV/XMA2EMS/XMA2EMSP.INC
new file mode 100644
index 0000000..fa4196f
--- /dev/null
+++ b/v4.0/src/DEV/XMA2EMS/XMA2EMSP.INC
@@ -0,0 +1,243 @@
1
2INCSW EQU 0 ;INCLUDE PSDATA.INC ;AN000;
3FARSW EQU 0 ;CALL THE PARSER BY NEAR CALL
4DATESW EQU 1 ; ;SUPPRESS DATE CHECKING ;AN000;
5TIMESW EQU 1 ; ;SUPPRESS TIME CHECKING ;AN000;
6FILESW EQU 1 ;SUPPORT CHECKING FILE SPECIFICATION ;AN000;
7CAPSW EQU 1 ; ;SUPPRESS FILE TABLE CAPS ;AN000;
8CMPXSW EQU 1 ; ;SUPPRESS CHECKING COMPLEX LIST
9DRVSW EQU 1 ; ;SUPPRESS SUPPORT OF DRIVE ONLY FORMAT
10QUSSW EQU 1 ; ;SUPPRESS SUPPORT OF QUOTED STRING FORMAT ;AN000;
11NUMSW EQU 1 ; ;SUPPRESS CHECKING NUMERIC VALUE
12KEYSW EQU 1 ;SUPPORT KEYWORDS ;AN000;
13SWSW EQU 1 ;DO SUPPORT SWITCHES ;AN000;
14VAL1SW EQU 1 ;SUPPORT VALUE DEFINITION 1 ;AN000;
15VAL2SW EQU 1 ; ;SUPPRESS SUPPORT OF VALUE DEFINITION 2 ;AN000;
16VAL3SW EQU 1 ;DO SUPPORT VALUE DEFINITION 3
17
18include psdata.inc
19
20;***********************************************************************
21
22;-------------------------------------------------------------------
23;
24; parser stuff for XMA2EMS.SYS
25;
26;-------------------------------------------------------------------
27
28p_block:
29 dw offset px_block ; address of extended parms block
30 db 0 ; number of extra stuff
31
32;$P_PARMS_Blk <offset px_block, 0, 0> ; parm block
33
34;------------------------
35; extended parameter block for APPEND first load
36
37px_block:
38 db 1 ; min number positional operands
39 db 1 ; max number positional operands
40 dw offset dummy_ctl ; dummy control block
41
42 db 1 ; /X only switch
43 dw offset X_Switch ; control block for /X switch
44
45 db 7 ; max number of keywords
46 dw offset frame_ctl ; offset of FRAME= keyword control block
47 dw offset p0_ctl ; offset of p0 keyword control block
48 dw offset p1_ctl ; offset of p1 keyword control block
49 dw offset p2_ctl ; offset of p2 keyword control block
50 dw offset p3_ctl ; offset of p3 keyword control block
51 dw offset p254_ctl ; offset of p254 keyword control block
52 dw offset p255_ctl ; offset of p255 keyword control block
53
54;------------------------
55
56dummy_ctl:
57 dw 0200h ;
58 dw 0 ; no caps
59 dw offset dum_result ; pointer to dummy result block
60 dw offset dum_values ; pointer to null values block
61 db 0 ; number of switches and synonyms
62
63dum_values:
64 dw 0 ; null value list
65
66X_Switch:
67 dw $P_Num_Val ; /X:64
68 dw 0002 ; caps
69 dw offset X_Result ; pointer to result block
70 dw offset X_Values ; pointer to values block, none
71 db 1 ; number of switches and synonyms
72 db "/X",0 ; only /X is valid
73
74X_Values:
75 db 1 ; numeric values
76 db 1 ; 1 ranges
77 db 1 ; = 1 means good range
78 dd 4 ; valid values range from 4 (64Kb)...
79 dd 512 ; 512 (8MB)
80
81;------------------------
82
83frame_ctl:
84 dw $P_Simple_S ; used for FRAME= and Pxxx=
85 dw 0 ; cap by char table
86 dw offset frame_result ; pointer to result block
87 dw offset address_values ; pointer to values block
88 db 1 ; number of synonyms
89 db "FRAME=",0
90
91p0_ctl:
92 dw $P_Simple_S ; used for FRAME= and Pxxx=
93 dw 0 ; cap by char table
94 dw offset p0_result ; pointer to result block
95 dw offset address_values ; pointer to values block
96 db 3 ; number of synonyms
97 db "P0=",0
98 db "P00=",0
99 db "P000=",0
100
101p1_ctl:
102 dw $P_Simple_S ; used for FRAME= and Pxxx=
103 dw 0 ; cap by char table
104 dw offset p1_result ; pointer to result block
105 dw offset address_values ; pointer to values block
106 db 3 ; number of synonyms
107 db "P1=",0
108 db "P01=",0
109 db "P001=",0
110
111p2_ctl:
112 dw $P_Simple_S ; used for FRAME= and Pxxx=
113 dw 0 ; cap by char table
114 dw offset p2_result ; pointer to result block
115 dw offset address_values ; pointer to values block
116 db 3 ; number of synonyms
117 db "P2=",0
118 db "P02=",0
119 db "P002=",0
120
121p3_ctl:
122 dw $P_Simple_S ; used for FRAME= and Pxxx=
123 dw 0 ; cap by char table
124 dw offset p3_result ; pointer to result block
125 dw offset address_values ; pointer to values block
126 db 3 ; number of synonyms
127 db "P3=",0
128 db "P03=",0
129 db "P003=",0
130
131p254_ctl:
132 dw $P_Simple_S ; used for FRAME= and Pxxx=
133 dw 0 ; cap by char table
134 dw offset p254_result ; pointer to result block
135 dw offset address_values ; pointer to values block
136 db 1 ; number of synonyms
137 db "P254=",0
138
139p255_ctl:
140 dw $P_Simple_S ; used for FRAME= and Pxxx=
141 dw 0 ; cap by char table
142 dw offset p255_result ; pointer to result block
143 dw offset address_values ; pointer to values block
144 db 1 ; number of synonyms
145 db "P255=",0
146
147;------------------------
148
149address_values:
150 db 3 ; strings
151 db 0 ; zeroes here for ranges
152 db 0 ; and values
153 db 24 ; 24 possible strings
154 db 0A0h
155 dw offset A0_str
156 db 0A4h
157 dw offset A4_str
158 db 0A8h
159 dw offset A8_str
160 db 0ACh
161 dw offset AC_str
162 db 0B0h
163 dw offset B0_str
164 db 0B4h
165 dw offset B4_str
166 db 0B8h
167 dw offset B8_str
168 db 0BCh
169 dw offset BC_str
170 db 0C0h
171 dw offset C0_str
172 db 0C4h
173 dw offset C4_str
174 db 0C8h
175 dw offset C8_str
176 db 0CCh
177 dw offset CC_str
178 db 0D0h
179 dw offset D0_str
180 db 0D4h
181 dw offset D4_str
182 db 0D8h
183 dw offset D8_str
184 db 0DCh
185 dw offset DC_str
186 db 0E0h
187 dw offset E0_str
188 db 0E4h
189 dw offset E4_str
190 db 0E8h
191 dw offset E8_str
192 db 0ECh
193 dw offset EC_str
194 db 0F0h
195 dw offset F0_str
196 db 0F4h
197 dw offset F4_str
198 db 0F8h
199 dw offset F8_str
200 db 0FCh
201 dw offset FC_str
202
203
204
205A0_str db "A000",0
206A4_str db "A400",0
207A8_str db "A800",0
208AC_str db "AC00",0
209B0_str db "B000",0
210B4_str db "B400",0
211B8_str db "B800",0
212BC_str db "BC00",0
213C0_str db "C000",0
214C4_str db "C400",0
215C8_str db "C800",0
216CC_str db "CC00",0
217D0_str db "D000",0
218D4_str db "D400",0
219D8_str db "D800",0
220DC_str db "DC00",0
221E0_str db "E000",0
222E4_str db "E400",0
223E8_str db "E800",0
224EC_str db "EC00",0
225F0_str db "F000",0
226F4_str db "F400",0
227F8_str db "F800",0
228FC_str db "FC00",0
229
230;------------------------
231
232dum_result $P_Result_Blk <> ; dummy result block
233X_Result $P_Result_Blk <> ; /X result block
234frame_result $P_Result_Blk <> ; FRAME= result block
235p0_result $P_Result_Blk <> ; p0= result block
236p1_result $P_Result_Blk <> ; p1= result block
237p2_result $P_Result_Blk <> ; p2= result block
238p3_result $P_Result_Blk <> ; p3= result block
239p255_result $P_Result_Blk <> ; p254= result block
240p254_result $P_Result_Blk <> ; p255= result block
241
242
243 \ No newline at end of file