17 FLAG1 equ LEFT_ALIGN+CHAR_FIELD_ASCIIZ
19 ;******************************************************************************
20 ; VALUES FOR THE MSG_DESC CONTROL BLOCK
21 ONE_SUBS EQU 1 ;ONE VARIABLE FIELD IN MESSAGE
22 TWO_SUBS EQU 2 ;TWO VARIABLE FIELDS IN MESSAGE
23 THREE_SUBS EQU 3 ;THREE VARIABLE FIELDS IN MESSAGE
24 CLASS_1 EQU EXT_ERR_CLASS ;CLASS 1 (DOS EXTENDED ERRORS)
25 CLASS_2 EQU PARSE_ERR_CLASS ;CLASS 2 (PARSE ERRORS)
26 CLASS_A EQU UTILITY_MSG_CLASS ;CLASS A TYPE MESSAGE
28 ;THIS MESSAGE DESCRIPTOR CONTROL BLOCK IS GENERATED, ONE PER MESSAGE,
29 ;TO DEFINE THE SEVERAL PARAMETERS THAT ARE EXPECTED TO BE PASSED IN
30 ;CERTAIN REGISTERS WHEN THE SYSDISPMSG FUNCTION IS TO BE INVOKED.
33 MSG_NUM DW 0 ;MESSAGE NUMBER (TO AX)
34 MSG_HAND DW 0 ;HANDLE OF OUTPUT DEVICE (TO BX)
35 MSG_SUBLIST DW 0 ;POINTER TO SUBLIST (TO SI)
36 MSG_COUNT DW 0 ;SUBSTITUTION COUNT (TO CX)
37 MSG_CLASS DB 0 ;MESSAGE CLASS (IN HIGH BYTE, TO DH)
38 ; LOW BYTE HAS 0 (FUNCTION "NO INPUT", TO DL)
40 ; VALUES FOR THE SUBLIST CONTROL BLOCK
41 PC_ID_0 EQU 0 ;ID OF " - " TRAILER TO MESSAGE
42 PC_ID_1 EQU 1 ;ID OF PERCENT VARIABLE FIELD
43 PC_ID_2 EQU 2 ;ID OF PERCENT VARIABLE FIELD
44 PC_ID_3 EQU 3 ;ID OF PERCENT VARIABLE FIELD
45 MAX_0 EQU 0 ;MAXIMUM WIDTH OF STRING FIELD (0=NO LIMIT)
46 MIN_1 EQU 1 ;MINIMUM WIDTH OF STRING FIELD
48 SUBLIST1 LABEL DWORD ;PARM LIST
49 ;(Original %1: set to %2:)
52 DW OLD_DRV ;; ptr to data
58 DB PAD_CHAR ;;char defined to be space
62 SUBLIST2 LABEL DWORD ;PARM LIST
63 ;(File not found - 'PATH_SPEC')
66 DW NEW_DRV ;; ptr to data - offset
67 SEG_2 DW ? ;; ptr to data
72 DB PAD_CHAR ;;char defined to be space