diff options
| author | 2024-04-25 21:24:10 +0100 | |
|---|---|---|
| committer | 2024-04-25 22:32:27 +0000 | |
| commit | 2d04cacc5322951f187bb17e017c12920ac8ebe2 (patch) | |
| tree | 80ee017efa878dfd5344b44249e6a241f2a7f6e2 /v4.0/src/CMD/MODE/MODECPEQ.INC | |
| parent | Merge pull request #430 from jpbaltazar/typoptbr (diff) | |
| download | ms-dos-main.tar.gz ms-dos-main.tar.xz ms-dos-main.zip | |
Diffstat (limited to 'v4.0/src/CMD/MODE/MODECPEQ.INC')
| -rw-r--r-- | v4.0/src/CMD/MODE/MODECPEQ.INC | 365 |
1 files changed, 365 insertions, 0 deletions
diff --git a/v4.0/src/CMD/MODE/MODECPEQ.INC b/v4.0/src/CMD/MODE/MODECPEQ.INC new file mode 100644 index 0000000..b91be28 --- /dev/null +++ b/v4.0/src/CMD/MODE/MODECPEQ.INC | |||
| @@ -0,0 +1,365 @@ | |||
| 1 | ; MODECPEQ.INC - INCLUDED IN MODECP.SAL | ||
| 2 | IF1 | ||
| 3 | %OUT INCLUDE MODECPEQ.INC ;MACROS,DOS EQUATES,STRUCS,OTHER EQUATES | ||
| 4 | ENDIF | ||
| 5 | |||
| 6 | ; $SALUT CP(4,9,17,32) | ||
| 7 | HEADER MACRO TEXT,EJECT | ||
| 8 | ;;example: header <new subtitle goes here> | ||
| 9 | ;;the angle brackets are required | ||
| 10 | .XLIST | ||
| 11 | SUBTTL TEXT | ||
| 12 | IFB <EJECT> | ||
| 13 | .LIST | ||
| 14 | ENDIF | ||
| 15 | PAGE | ||
| 16 | ENDM | ||
| 17 | |||
| 18 | ; - - - - - - - - - - - - - - - - - - - - | ||
| 19 | ; $SALUT CP(2,28,40,47) | ||
| 20 | |||
| 21 | DOSCALL MACRO FUNC,SUBFUNC | ||
| 22 | ;;IF SUBFUNC IS USED, THEN FUNC MUST BE USED | ||
| 23 | IFNB <FUNC> ;IS THERE ANY PARMS AT ALL? | ||
| 24 | IFNB <SUBFUNC> | ||
| 25 | MOV AX,(FUNC SHL 8) + SUBFUNC | ||
| 26 | ELSE ;;SINCE THERE IS NO SUBFUNC | ||
| 27 | MOV AH,FUNC | ||
| 28 | ENDIF | ||
| 29 | ENDIF | ||
| 30 | INT 21H | ||
| 31 | ENDM | ||
| 32 | |||
| 33 | ; - - - - - - - - - - - - - - - - - - - - | ||
| 34 | ; $SALUT CP(4,21,26,32) | ||
| 35 | |||
| 36 | ; DOS FUNCTION CALLS | ||
| 37 | PRINTSTR EQU 09H ;PRINT STRING ENDING WITH "$" | ||
| 38 | ;DS:DX = POINTER TO STRING | ||
| 39 | |||
| 40 | SET_VECTOR EQU 25H ;SET INTERRUPT VECTOR | ||
| 41 | ;DS:DX = VECTOR TO INT HANDLER | ||
| 42 | ;AL = INTERRUPT NUMBER | ||
| 43 | |||
| 44 | DOS_VERSION EQU 30H ;DETERMINE VERSION OF DOS | ||
| 45 | ;OUTPUT: AL=MAJOR, AH=MINOR VERSION NUMBER | ||
| 46 | ; BX AND CX SET TO ZERO | ||
| 47 | |||
| 48 | BREAK_CHECK EQU 33H ;CNTRL-BREAK CHECK | ||
| 49 | ;AL=0 - REQUEST CURRENT STATE | ||
| 50 | ;AL=1 - SET CURRENT STATE | ||
| 51 | ;DL=0 - BREAK OFF | ||
| 52 | ;DL=1 - BREAK ON | ||
| 53 | |||
| 54 | GET_VECTOR EQU 35H ;GET INTERRUPT VECTOR | ||
| 55 | ;AL = INTRRUPT NUMBER | ||
| 56 | ;OUTPUT: ES:BX = CONTENTS OF VECTOR | ||
| 57 | |||
| 58 | OPEN EQU 3DH ;OPEN FILE FOR INPUT | ||
| 59 | ;DS:DX = POINTER TO ASCIIZ PATH NAME | ||
| 60 | ;AL = OPEN MODE | ||
| 61 | |||
| 62 | CLOSE EQU 3EH ;CLOSE A FILE HANDLE | ||
| 63 | ;BX = HANDLE RETURNED BY OPEN OR CREATE | ||
| 64 | |||
| 65 | READ EQU 3FH ;READ FROM A FILE OR DEVICE | ||
| 66 | ;BX = FILE HANDLE | ||
| 67 | ;DS:DX = BUFFER ADDRESS | ||
| 68 | ;CX NUMBER OF BYTES TO READ | ||
| 69 | |||
| 70 | WRITE EQU 40H ;WRITE TO A FILE OR DEVICE | ||
| 71 | ;BX = FILE HANDLE | ||
| 72 | ;DS:DX = ADDRESS OF DATA TO WRITE | ||
| 73 | ;CX = NUMBER OF BYTES TO WRITE | ||
| 74 | |||
| 75 | |||
| 76 | LSEEK EQU 42H ;MOVE FILE READ/WRITE POINTER | ||
| 77 | ;CX:DX - DISTANCE TO MOVE IN BYTES | ||
| 78 | ;BX = FILE HANDLE | ||
| 79 | ;AL = METHOD OF MOVING: | ||
| 80 | ; 00 - MOVE CX:DX BYTES FROM BEGINNING | ||
| 81 | ; 01 - MOVE TO CURRENT LOCATION + OFFSET | ||
| 82 | ; 02 - MOVE TO END OF FILE | ||
| 83 | ;OUTPUT:DX:AX NEW POINTER LOCATION | ||
| 84 | |||
| 85 | IOCTL EQU 44H ;I/O CONTROL FOR DEVICES | ||
| 86 | ;DS:DX = DATA OR BUFFER | ||
| 87 | ;CX = NUMBER OF BYTES TO READ OR WRITE | ||
| 88 | ;BX = FILE HANDLE, OR, | ||
| 89 | ;BL = DRIVE NUMBER (0=DEFAULT,1=A,...) | ||
| 90 | ;AL = FUNCTION VALUE | ||
| 91 | ;OUTPUT: AX=NO. BYTES TRANSFERRED | ||
| 92 | ; OR ERROR CODE IS CY SET | ||
| 93 | |||
| 94 | ALLOC_MEM EQU 48H ;ALLOCATE MEMORY | ||
| 95 | ;BX = NUMBER OF PARAGRAPHS REQUESTED | ||
| 96 | ;OUTPUT: IF NO CARRY, AX:0 POINTS TO | ||
| 97 | ; ALLOCATED MEMORY BLOCK | ||
| 98 | ; IF CARRY, BX IS SIZE OF LARGEST BLOCK | ||
| 99 | ; AVAILABLE, IN PARAGRAPHS, AX=ERR CODE | ||
| 100 | |||
| 101 | FREE_AL_MEM EQU 49H ;FREE ALLOCATED MEM | ||
| 102 | ;ES=SEG OF BLOCK BEING RETURNED | ||
| 103 | ;OUTPUT: AX=ERROR CODE IF CY SET | ||
| 104 | |||
| 105 | EXTERROR EQU 59H ;EXTENDED ERROR | ||
| 106 | ;BX = 30 VERSION NUMBER (FOR 3.30) | ||
| 107 | ;OUTPUT: | ||
| 108 | ;AX=EXTENDED ERROR | ||
| 109 | ;BH=ERROR CLASS | ||
| 110 | ;BL=SUGGESTED ACTION | ||
| 111 | ;CH=LOCUS | ||
| 112 | |||
| 113 | ; (THESE VALUES GO TO AX FOR INT 21H) | ||
| 114 | SET_GLOBAL_CP EQU 6602H ;INPUTS: | ||
| 115 | ; BX=CODE PAGE, | ||
| 116 | |||
| 117 | GET_GLOBAL_CP EQU 6601H ;RESULTS: | ||
| 118 | ; BX=ACTIVE CODE PAGE, | ||
| 119 | ; DX=SYSTEM CODE PAGE | ||
| 120 | |||
| 121 | GENERIC_IOCTL EQU 440CH ;INPUTS: | ||
| 122 | ; CH AND CL SET AS DEFINED IN NEXT 2 SECTIONS | ||
| 123 | ; IN GENERAL, CH=CATEGORY CODE (MAJOR CODE) | ||
| 124 | ; CL=FUNCTION WITHIN CATEGORY (MINOR CODE) | ||
| 125 | |||
| 126 | ; MAJOR CODES: | ||
| 127 | ; (THESE VALUES GO TO CH REG DURING GENERIC IOCTL: | ||
| 128 | UNK_DEV_TYPE EQU 00H ;USED IF TYPE NOT KNOWN | ||
| 129 | COM_DEV_TYPE EQU 01H ;COMx DEVICE TYPE | ||
| 130 | CON_DEV_TYPE EQU 03H ;CONSOLE DEVICE TYPE | ||
| 131 | LPT_DEV_TYPE EQU 05H ;LPTx DEVICE TYPE | ||
| 132 | GLOBAL_CP EQU -1 ;GLOBAL CODEPAGE, INDICATED BY DEVICE="*", | ||
| 133 | ; NOT USED WITH GENERIC IOCTL | ||
| 134 | |||
| 135 | ; MINOR CODES: | ||
| 136 | ; SUBFUNCTIONS OF GENERIC_IOCTL: | ||
| 137 | ; (THESE VALUES GO TO CL REG) | ||
| 138 | PREPARE_STRT EQU 4CH ;INPUTS: | ||
| 139 | ;BX=HANDLE, AX="GENERIC_IOCTL" | ||
| 140 | ;CX=xxx_DEV_TYPE * 256 + "PREPARE_STRT" | ||
| 141 | ;DS:DX=DATA BUFFER "DES_STRT_PACKET" | ||
| 142 | |||
| 143 | PREPARE_END EQU 4DH ;INPUTS: | ||
| 144 | ;BX=HANDLE, AX="GENERIC_IOCTL" | ||
| 145 | ; DS:DX=DATA BUFFER "PACKET" | ||
| 146 | |||
| 147 | SELECT_CP EQU 4AH ;INPUTS: | ||
| 148 | ;BX=HANDLE, AX="GENERIC_IOCTL" | ||
| 149 | ; DS:DX=DATA BUFFER "PACKET" | ||
| 150 | |||
| 151 | QUERY_SELECTED EQU 6AH ;INPUTS: | ||
| 152 | ;BX=HANDLE, AX="GENERIC_IOCTL" | ||
| 153 | ; DS:DX=DATA BUFFER "PACKET" | ||
| 154 | |||
| 155 | QUERY_DES_LST EQU 6BH ;INPUTS: | ||
| 156 | ;BX=HANDLE, AX="GENERIC_IOCTL" | ||
| 157 | ; DS:DX=DATA BUFFER | ||
| 158 | |||
| 159 | ; OTHER EQUATES | ||
| 160 | IOCTL_WRITE EQU 3 ;VAL FOR AL, WHEN WRITING TO DEVICE VIA IOCTL | ||
| 161 | FILE_OPEN_MODE EQU 0 ;BIT FIELDS ARE ISSSRAAA WHERE: | ||
| 162 | ; I=0 FILE IS INHERITED BY CHILD PROCESS | ||
| 163 | ; (OF WHICH THERE ISN'T ANY) | ||
| 164 | ; SSS=SHARING MODE IS "COMPATABILITY MODE" | ||
| 165 | ; R=0 (RESERVED) | ||
| 166 | ; AAA=0 (READ ACCESS) | ||
| 167 | DEV_OPEN_MODE EQU 2 ;SAME BITS AS ABOVE, EXCEPT AAA=010, READ/WRITE ACCESS | ||
| 168 | |||
| 169 | FALSE EQU 0 ;INDICATES AN ERROR TO ERRORLEVEL | ||
| 170 | TRUE EQU 0FFH | ||
| 171 | |||
| 172 | refresh_request EQU 0 ;scaler to indicate that the current request is refresh for 'des_end' | ||
| 173 | |||
| 174 | STDERR EQU 2 ;PRE-OPENED HANDLE FOR STANDARD ERROR | ||
| 175 | STDOUT EQU 1 ;PRE-OPENED HANDLE FOR STANDARD OUTPUT | ||
| 176 | |||
| 177 | INT24 EQU 24H ;CRITICAL ERROR HANDLER VECTOR | ||
| 178 | EMPTY EQU -1 ;EMPTY SLOT IN LIST OF CODEPAGES | ||
| 179 | |||
| 180 | IOCTL_FUN_GET_INFO EQU 0 ;GET DEVICE INFORMATION (RETURNED IN DX) FROM IOCTL | ||
| 181 | IOCTL_FUN_SET_INFO EQU 1 ;SET DEVICE INFORMATION (PASSED IN DX) TO IOCTL | ||
| 182 | ISDEVICE EQU 0080H ;FLAG IN DEVICE INFO WORD, RETURNED IN DX | ||
| 183 | BINARY_DEV EQU 0020H ;BINARY FLAG IN DEVICE INFO WORD | ||
| 184 | |||
| 185 | MAPERR EQU 19 ;ERRORS FROM DEVICES MAPPED TO COMMON ERRORS, | ||
| 186 | ; AS DEVICE ERR=0 IS REPORTED AS COM ERROR=19 | ||
| 187 | FAIL24 EQU 83 ;RET CODE, INT 24 HANDLER REQUESTED "FAIL" | ||
| 188 | |||
| 189 | ;PREPARE START ERROR CODES: | ||
| 190 | DS_ERR0 EQU 0 ;PREVIOUS PREPARE DELETED | ||
| 191 | DS_ERR1 EQU 1 ;INVALID FUNCTION NUMBER | ||
| 192 | DS_ERR8 EQU 8 ;CODE PAGE CONFLICT (USED FOR KEYB XX MISMATCH) | ||
| 193 | DS_ERRA EQU 0AH ;DEVICE ERROR | ||
| 194 | DS_ERR16 EQU 016H ;UNKNOWN COMMAND (22 DECIMAL) | ||
| 195 | |||
| 196 | ;PREPARE WRITE ERROR CODES: | ||
| 197 | DW_ERR8 EQU 8 ;DEVICE NOT FOUND IN FILE ,OR | ||
| 198 | ;CODE PAGE NOT FOUND IN FILE | ||
| 199 | DW_ERRA EQU 0AH ;DEVICE ERROR | ||
| 200 | DW_ERRC EQU 0CH ; FILE CONTENTS NOT A FONT FILE, | ||
| 201 | ; OR FILE CONTENTS STRUCTURE DAMAGED | ||
| 202 | |||
| 203 | ;PREPARE END ERROR CODES: | ||
| 204 | DE_ERRC EQU 0CH ;NO PREPARE START | ||
| 205 | |||
| 206 | ;SELECT ERROR CODES: | ||
| 207 | IN_ERR7 EQU 07H ;CODE PAGE NOT PREPARED | ||
| 208 | IN_ERR8 EQU 08H ;CURRENT KEYB DOES NOT SUPPORT THIS CP | ||
| 209 | IN_ERRA EQU 0AH ;DEVICE ERROR | ||
| 210 | |||
| 211 | ;QUERY SELECTED ERROR CODES: | ||
| 212 | QS_ERR7 EQU 07H ;NO CODE PAGE HAS BEEN SELECTED | ||
| 213 | QS_ERRA EQU 0AH ;DEVICE ERROR | ||
| 214 | |||
| 215 | ;QUERY PREPARED LIST ERROR CODES: | ||
| 216 | QL_ERR7 EQU 07H ; NO CODE PAGES HAVE BEEN SELECTED | ||
| 217 | QL_ERRA EQU 0AH ;DEVICE ERROR | ||
| 218 | |||
| 219 | ;REFRESH ERROR CODES RETURNED FROM PREPARE START FOR A REFRESH REQUEST: | ||
| 220 | |||
| 221 | RS_ERR8 EQU 8 ;KEYBOARD/CODE PAGE CONFLICT | ||
| 222 | RS_ERRA EQU 0AH ;DEVICE ERROR | ||
| 223 | RS_ERRC EQU 0CH ;DEVICE DRIVER DOES NOT HAVE COPY OF CODE PAGE | ||
| 224 | ; TO DOWNLOAD TO DEVICE | ||
| 225 | |||
| 226 | ;ERROR CODES PRESENTED IN THE LOWER HALF OF DI TO THE INT 24H HANDLER: | ||
| 227 | ;CRERR0 EQU 0 ;ATTEMPT TO WRITE ON WRITE_PROTECTED DISKETTE | ||
| 228 | ;CRERR1 EQU 1 ;UNKNOWN UNIT | ||
| 229 | ;CRERR2 EQU 2 ;DRIVE NOT READY | ||
| 230 | ;CRERR3 EQU 3 ;UNKNOWN COMMAND | ||
| 231 | ;CRERR4 EQU 4 ;DATA ERROR (crc) | ||
| 232 | ;CRERR5 EQU 5 ;BAD REQUEST STRUCTURE LENGTH | ||
| 233 | ;CRERR6 EQU 6 ;SEEK ERROR | ||
| 234 | ;CRERR7 EQU 7 ;UNKNOWN MEDIA TYPE | ||
| 235 | ;CRERR8 EQU 8 ;SECTOR NOT FOUND | ||
| 236 | ;CRERR9 EQU 9 ;PRINTER OUT OF PAPER | ||
| 237 | ;CRERRA EQU 0AH ;WRITE FAULT | ||
| 238 | ;CRERRB EQU 0BH ;READ FAULT | ||
| 239 | ;CRERRC EQU 0CH ;GENERAL FAILURE | ||
| 240 | |||
| 241 | ;EXIT CODES, IN AL, WHEN IRET FROM INT 24H ERROR HANDLER. | ||
| 242 | CRERR_IGNORE EQU 0 ;IGNORE THE ERROR | ||
| 243 | CRERR_RETRY EQU 1 ;RETRY THE OPERATION | ||
| 244 | CRERR_TERM EQU 2 ;TERMINATE PROGRAM VIA INT 23H | ||
| 245 | CRERR_FAIL EQU 3 ;FAIL THE SYSTEM CALL IN PROGRESS | ||
| 246 | |||
| 247 | ; EQUATES FOR THE BREAK CHECK FUNCTION: | ||
| 248 | |||
| 249 | ;IN AL: | ||
| 250 | REQUEST_BREAK_STATE EQU 0 | ||
| 251 | SET_BREAK_STATE EQU 1 | ||
| 252 | |||
| 253 | ;IN DL: | ||
| 254 | BREAK_OFF EQU 0 | ||
| 255 | BREAK_ON EQU 1 | ||
| 256 | |||
| 257 | DBCS_header EQU ES:[DI] ;used to address DBCS_head | ||
| 258 | DBCS_table EQU DS:[SI] ;used to address the DBCS vector table | ||
| 259 | |||
| 260 | ; = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = | ||
| 261 | ; DEFINITIONS OF CONTROL BLOCKS | ||
| 262 | |||
| 263 | FON STRUC ;CODEPAGE FONT FILE CONTENTS | ||
| 264 | FONTAG DB 0FFH,"FONT " ;FILE TAG | ||
| 265 | DB 8 DUP(?) ;RESERVED | ||
| 266 | FONPTCT DW ? ;COUNT OF POINTERS IN HEADER | ||
| 267 | FONPT DB ? ;START OF ARRAY OF POINTERS | ||
| 268 | FON ENDS | ||
| 269 | |||
| 270 | ; THIS STRUC MAPS AN AREA POINTED TO BY "CP_CB", AN EXTRN | ||
| 271 | ;AC001;CODEPAGE_PARMS STRUC | ||
| 272 | ;AC001;DEVICE DW ? ;POINTER TO ASCIIZ STRING OF DEVICE NAME | ||
| 273 | ;AC001;DES_PACK_PTR DW ? ;OFFSET TO "DES_STRT_PACKET" | ||
| 274 | ;AC001;FONT_FILESPEC DW ? ;PATH AND FILESPEC OF FONT FILE | ||
| 275 | ;AC001;REQUEST_TYPE DW ? ;TYPE OF FUNCTION TO BE PERFORMED | ||
| 276 | ;AC001;CODEPAGE_PARMS ENDS | ||
| 277 | ; DEFINITIONS OF VALUES FOUND IN "REQUEST_TYPE" ABOVE: | ||
| 278 | EXTRN SELECT:ABS | ||
| 279 | EXTRN PREPARE:ABS | ||
| 280 | EXTRN REFRESH:ABS | ||
| 281 | |||
| 282 | ; "PACKET" POINTED TO BY DS:DX | ||
| 283 | PACKET STRUC ;USED BY MINOR CODES: 6AH,4AH,4DH (SELECT, QUERY SELECTED, PREPARE END) | ||
| 284 | PACKLEN DW 2 ;LENGTH OF PACKET IN BYTES, FOR DBCS COUNTRIES, LENGTH OF DBCS TABLE (IF NON-ZERO) WILL be added | ||
| 285 | PACKCPID DW 0 ;CODE PAGE ID | ||
| 286 | PACKVECTOR1 DB 0 ;start of vector list if included ;AN000; | ||
| 287 | DB 0 ;AN000; | ||
| 288 | DB 0 ;AN000; | ||
| 289 | DB 0 ;AN000; | ||
| 290 | DB 0 ;AN000; | ||
| 291 | DB 0 ;AN000; | ||
| 292 | DB 0 ;AN000; | ||
| 293 | DB 0 ;AN000; | ||
| 294 | DB 0 ;AN000; | ||
| 295 | DB 0 ;AN000; | ||
| 296 | DB 0 ;AN000; | ||
| 297 | DB 0 ;AN000; | ||
| 298 | DB 0 ;AN000; | ||
| 299 | DB 0 ;AN000; | ||
| 300 | DB 0 ;AN000; | ||
| 301 | DB 0 ;AN000; | ||
| 302 | DB 0 ;AN000; | ||
| 303 | DB 0 ; holders for maximum possible number of ;AN000; | ||
| 304 | DB 0 ; DBCS vector pairs ;AN000; | ||
| 305 | DB 0 ; ;AN000; | ||
| 306 | DB 0 ; ;AN000; | ||
| 307 | DB 0 ; ;AN000; | ||
| 308 | PACKVECTOR12 DB 0 ; ;AN000; | ||
| 309 | DB 0 ; ;AN000; | ||
| 310 | PACKET ENDS ;AN000; | ||
| 311 | ;AN000; | ||
| 312 | DBCS_head STRUC ;return from function 6507, pointed to by ES:DI, addressed via "DBCS_header" ;AN000; | ||
| 313 | info_id DB 7 ;AN000; | ||
| 314 | table_ptr DD 0 ;used to address DBCS_tabl ;AN000; | ||
| 315 | DBCS_head ENDS | ||
| 316 | ;AN000; | ||
| 317 | DBCS_tabl STRUC ;map of DBCS table, addressed via DBCS_table ;AN000; | ||
| 318 | table_len DW 6 ;length in bytes of the list of vectors ;AN000; | ||
| 319 | vector1 DB 0 ;start of vector list ;AN000; | ||
| 320 | DB 0 ;AN000; | ||
| 321 | DB 0 ;AN000; | ||
| 322 | DB 0 ;AN000; | ||
| 323 | DB 0 ;AN000; | ||
| 324 | DB 0 ;AN000; | ||
| 325 | DB 0 ;AN000; | ||
| 326 | DB 0 ;AN000; | ||
| 327 | DB 0 ;AN000; | ||
| 328 | DB 0 ;AN000; | ||
| 329 | DB 0 ;each vector is two bytes, a start value and an ;AN000; | ||
| 330 | DB 0 ;end value ;AN000; | ||
| 331 | DB 0 ;AN000; | ||
| 332 | DB 0 ;AN000; | ||
| 333 | DB 0 ;AN000; | ||
| 334 | DB 0 ;AN000; | ||
| 335 | DB 0 ;AN000; | ||
| 336 | DB 0 ;AN000; | ||
| 337 | DB 0 ;AN000; | ||
| 338 | DB 0 ;AN000; | ||
| 339 | DB 0 ;AN000; | ||
| 340 | DB 0 ;AN000; | ||
| 341 | DB 0 ;AN000; | ||
| 342 | DB 0 ;AN000; | ||
| 343 | DBCS_tabl ENDS | ||
| 344 | |||
| 345 | |||
| 346 | ; "DES_STRT_PACKET" POINTED TO BY DS:DX | ||
| 347 | DES_STRT_PACKET STRUC | ||
| 348 | DES_STRT_PKFL DW ? ;FLAGS (DEFINED BELOW STRUC DEFINITION) | ||
| 349 | DES_STRT_PKLEN DW ? ;BYTE LENGTH OF REST OF THE PACKET, | ||
| 350 | ; NOT INCLUDING THIS LENGTH FIELD | ||
| 351 | DES_STRT_PKNUM DW ? ;NUMBER OF CODEPAGES IN FOLLOWING LIST | ||
| 352 | DES_STRT_PKCP1 DW ? ;CODE PAGE ONE | ||
| 353 | DES_STRT_PKCP2 DW ? ;CODE PAGE TWO | ||
| 354 | ; : : : : | ||
| 355 | DES_STRT_PKCPN DW ? ;CODE PAGE n | ||
| 356 | ;NOTE: THESE n CODEPAGES MAY HAVE A -1 VALUE, WHICH IS TREATED AS A PLACEHOLDER | ||
| 357 | ; TO ALLOW POSITION CONTROL FOR EACH CODEPAGE VALUE IN THE LIST. | ||
| 358 | DES_STRT_PACKET ENDS | ||
| 359 | |||
| 360 | ; DEFINITIONS OF CONTENTS OF "DES_STRT_PKFL" | ||
| 361 | DES_STRT_FL_SINGLE EQU 8000H ; 8000H=SINGLE CP FIFO PREPARE | ||
| 362 | ; (NOT SUPPORTED, ONLY LIST FORM IN DOS 3.30 RELEASE) | ||
| 363 | DES_STRT_FL_CART EQU 0001H ; 0001H=CARTRIDGE PREPARE | ||
| 364 | |||
| 365 | ; ED OF MODECPEQ.INC FILE | ||