diff options
Diffstat (limited to 'v4.0/src/DEV/XMA2EMS/XMA2EMSP.INC')
| -rw-r--r-- | v4.0/src/DEV/XMA2EMS/XMA2EMSP.INC | 243 |
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 | |||
| 2 | INCSW EQU 0 ;INCLUDE PSDATA.INC ;AN000; | ||
| 3 | FARSW EQU 0 ;CALL THE PARSER BY NEAR CALL | ||
| 4 | DATESW EQU 1 ; ;SUPPRESS DATE CHECKING ;AN000; | ||
| 5 | TIMESW EQU 1 ; ;SUPPRESS TIME CHECKING ;AN000; | ||
| 6 | FILESW EQU 1 ;SUPPORT CHECKING FILE SPECIFICATION ;AN000; | ||
| 7 | CAPSW EQU 1 ; ;SUPPRESS FILE TABLE CAPS ;AN000; | ||
| 8 | CMPXSW EQU 1 ; ;SUPPRESS CHECKING COMPLEX LIST | ||
| 9 | DRVSW EQU 1 ; ;SUPPRESS SUPPORT OF DRIVE ONLY FORMAT | ||
| 10 | QUSSW EQU 1 ; ;SUPPRESS SUPPORT OF QUOTED STRING FORMAT ;AN000; | ||
| 11 | NUMSW EQU 1 ; ;SUPPRESS CHECKING NUMERIC VALUE | ||
| 12 | KEYSW EQU 1 ;SUPPORT KEYWORDS ;AN000; | ||
| 13 | SWSW EQU 1 ;DO SUPPORT SWITCHES ;AN000; | ||
| 14 | VAL1SW EQU 1 ;SUPPORT VALUE DEFINITION 1 ;AN000; | ||
| 15 | VAL2SW EQU 1 ; ;SUPPRESS SUPPORT OF VALUE DEFINITION 2 ;AN000; | ||
| 16 | VAL3SW EQU 1 ;DO SUPPORT VALUE DEFINITION 3 | ||
| 17 | |||
| 18 | include psdata.inc | ||
| 19 | |||
| 20 | ;*********************************************************************** | ||
| 21 | |||
| 22 | ;------------------------------------------------------------------- | ||
| 23 | ; | ||
| 24 | ; parser stuff for XMA2EMS.SYS | ||
| 25 | ; | ||
| 26 | ;------------------------------------------------------------------- | ||
| 27 | |||
| 28 | p_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 | |||
| 37 | px_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 | |||
| 56 | dummy_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 | |||
| 63 | dum_values: | ||
| 64 | dw 0 ; null value list | ||
| 65 | |||
| 66 | X_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 | |||
| 74 | X_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 | |||
| 83 | frame_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 | |||
| 91 | p0_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 | |||
| 101 | p1_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 | |||
| 111 | p2_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 | |||
| 121 | p3_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 | |||
| 131 | p254_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 | |||
| 139 | p255_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 | |||
| 149 | address_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 | |||
| 205 | A0_str db "A000",0 | ||
| 206 | A4_str db "A400",0 | ||
| 207 | A8_str db "A800",0 | ||
| 208 | AC_str db "AC00",0 | ||
| 209 | B0_str db "B000",0 | ||
| 210 | B4_str db "B400",0 | ||
| 211 | B8_str db "B800",0 | ||
| 212 | BC_str db "BC00",0 | ||
| 213 | C0_str db "C000",0 | ||
| 214 | C4_str db "C400",0 | ||
| 215 | C8_str db "C800",0 | ||
| 216 | CC_str db "CC00",0 | ||
| 217 | D0_str db "D000",0 | ||
| 218 | D4_str db "D400",0 | ||
| 219 | D8_str db "D800",0 | ||
| 220 | DC_str db "DC00",0 | ||
| 221 | E0_str db "E000",0 | ||
| 222 | E4_str db "E400",0 | ||
| 223 | E8_str db "E800",0 | ||
| 224 | EC_str db "EC00",0 | ||
| 225 | F0_str db "F000",0 | ||
| 226 | F4_str db "F400",0 | ||
| 227 | F8_str db "F800",0 | ||
| 228 | FC_str db "FC00",0 | ||
| 229 | |||
| 230 | ;------------------------ | ||
| 231 | |||
| 232 | dum_result $P_Result_Blk <> ; dummy result block | ||
| 233 | X_Result $P_Result_Blk <> ; /X result block | ||
| 234 | frame_result $P_Result_Blk <> ; FRAME= result block | ||
| 235 | p0_result $P_Result_Blk <> ; p0= result block | ||
| 236 | p1_result $P_Result_Blk <> ; p1= result block | ||
| 237 | p2_result $P_Result_Blk <> ; p2= result block | ||
| 238 | p3_result $P_Result_Blk <> ; p3= result block | ||
| 239 | p255_result $P_Result_Blk <> ; p254= result block | ||
| 240 | p254_result $P_Result_Blk <> ; p255= result block | ||
| 241 | |||
| 242 | |||
| 243 | \ No newline at end of file | ||