]> wirehaze git hosting - MS-DOS.git/blob - v4.0/src/CMD/DISKCOMP/DISKCOMP.EQU

wirehaze git hosting

MZ is back!
[MS-DOS.git] / v4.0 / src / CMD / DISKCOMP / DISKCOMP.EQU
1
2 IF1
3 %OUT INCLUDING DISKCOMP.EQU...
4 ELSE
5 ; %OUT INCLUDING DISKCOMP.EQU...
6 ENDIF
7
8 ;---------------------------------------------------------------------------;
9 ; EQUATES ;
10 ;---------------------------------------------------------------------------;
11
12 ; *** CONSTANTS ***
13
14 ZERO EQU 0
15 ONE EQU 1
16 TWO EQU 2
17 THREE EQU 3
18 FOUR EQU 4
19 TYPE_4 EQU 4
20 FIVE EQU 5
21 SIX EQU 6
22 SEVEN EQU 7
23 EIGHT EQU 8
24 NINE EQU 9
25 TEN EQU 0AH
26 ON EQU 1
27 OFF EQU 0
28 TRUE EQU 01
29 FALSE EQU 00
30 GOOD EQU 0
31 BAD EQU 1
32 FIRST EQU 1
33 SECOND EQU 2
34 HARD_ERROR EQU 02
35 SOFT_ERROR EQU 01
36 NO_ERROR EQU 0
37 ;DOS_LEVEL EQU 0314H ;DOS VERSION 3.20
38 BLANK EQU 20H ;BLANK IN ASCII (32 DEC)
39 CLEAR_SEGMENT EQU 0E0H ;USED TO CLEAR SEGMENT BITS (ROUND UP
40 ;TO NEXT SECTOR)
41 SECTOR8 EQU 8 ;
42 SECTOR9 EQU 9 ;
43 SECTOR14 EQU 14 ;
44 SECTOR15 EQU 15 ;
45 DRV_48TPI EQU 0 ;48 TPI DRIVE
46 DRV_96TPI EQU 1 ;96 TPI DRIVE
47 DRV_720 EQU 2 ;3.5", 720 KB DRIVE (FOR CASHEW OR P14)
48 NRLFUNC EQU 5F02H ;GET NETWORK-REDIRECTION-LIST FUNTION
49 NRLMAX EQU 1CH ;(MAXIMUM # OF NAMES ON NRL) - 1
50 DOS20 EQU 2 ;DOS VERSION 2.0
51 PUBLIC FINE ; ;AN000;
52 FINE EQU -1 ;"FINE AND DANDY", USED FOR RETURN CODE
53 ;(-1 WAS USED TO AVOID CONFUSION WITH ERROR
54 ;OFFSET WHICH CAN BE ZERO)
55 LOCAL_DRV EQU -1 ;DEVICE NOT DIRECTED
56 REMOTE_DRV EQU 1000H ;REMOTE DRIVE TEST BITS
57 NO_OPTION EQU -1 ;NO OPTION "/1" SPECIFIED
58 OPTION_1 EQU 1 ;OPTION "/1" SPECIFIED
59 REMOVABLE EQU 0000H ;REMOVABLE FILE
60 INVAL_PARM EQU -9 ;INVALID PARAMETER ENTERED
61
62 PAGE
63 ; *** PROGRAM SEGMENT PREFIX ***
64
65 FCB1_DRV_ID EQU 5CH ;DRIVE NUMBER ADDR IN FILE CONTROL BLOCK 1
66 FCB1_FILENM EQU 5DH ;FILE NAME ADDR IN FILE CONTROL BLOCK 1
67 FCB2_DRV_ID EQU 6CH ;DRIVE NUMBER ADDR IN FILE CONTROL BLOCK 2
68 FCB2_FILENM EQU 6DH ;FILE NAME ADDR IN FILE CONTROL BLOCK 2
69 BEGIN_UNFORM_AREA EQU 80H ;BEGINNING @ OF THE UNFORMATTED AREA
70 END_UNFORM_AREA EQU 100H ;ENDING @ OF THE UNFORMATTED AREA
71
72
73 ; *** DOS FUNCTONS ***
74
75 RET_CD_EXIT EQU 4CH ;EXIT TO DOS, PASSING RETURN CODE ;AN000;
76 PUT_CHAR EQU 02H ;DOS DISPLAY OUTPUT FUNCTION
77 PRINT_FUNC EQU 09H ;DOS PRINT STRING FUNCTION
78 REDIRECTED_FUNC EQU 09H ;IOCTL SUB FUNCTION ****** TO BE CHECKED ****
79 KB_INPUT_FUNC EQU 0C01H ;DOS KEYBOARD INPUT (CLEARS INPUT BUFF FIRST)
80 CURRENTDRV_FUNC EQU 19H ;GET CURRENT DRIVE FUNCTION CALL
81 ;DOSVER_FUNC EQU 30H ;DOS VERSION FUNCTION CALL
82 IOCTL_FUNC EQU 44H ;IOCTL FUNCTION CALL
83 DRIVE_CHECK EQU 4408H ;DOS CHECK FOR REMOVABLE DRIVE IOCTL CALL
84 STD_ERROR EQU 0002H ;STANDARD ERROR FILE HANDLE
85 WRITE_FILE EQU 40H ;WRITE TO FILE OR DEVICE FUNCTION CALL
86 GET_ASSIGN_MODE EQU 5F00H ;SET ASSIGN MODE COMMAND
87 SET_ASSIGN_MODE EQU 5F01H ;SET ASSIGN MODE COMMAND
88 SERVER EQU 2AH ;NETWORK SERVER INTERUPT
89 SHARED EQU 03H ;DEVICE SHARED CHECK
90 GET_EXT_CNTRY_INFO EQU 65H ;GET EXTENDED COUNTRY INFO ;AN000;
91 YESNO_CHECK EQU 23H ;REQUEST (Y/N) CHECK OF GET_EXT_CNTRY_INFO ;AN000;
92 YES EQU 1 ;(Y/N) RESPONSE IS "YES" ;AN000;
93 BAD_YESNO EQU 2 ;(Y/N) RESPONSE IS NEITHER "Y" NOR "N" ;AN000;
94
95 ;IOCTL DISKETTE I/O FUNCTIONS
96 GENERIC_IOCTL_CODE EQU 0DH ;GENERIC IOCTL REQUEST
97 MAJOR_CODE EQU 08H ;GENERIC IOCTL MAJOR CODE
98 READ_FUNC EQU 61H ;IOCTL DISKETTE RAED FUNCITON
99 WRITE_FUNC EQU 41H ;IOCTL DISKETTE WRITE FUNCTION
100 VERIFY_FUNC EQU 62H ;IOCTL DISKETTE VERIFY FUNCTION
101 FORMAT_FUNC EQU 42H ;IOCTL DISKETTE FORMAT FUNCITON
102 GETDEVPARM EQU 60H ;IOCTL GET DEVICE PARAMETER
103 SETDEVPARM EQU 40H ;IOCTL SET DEVICE PARAMETER
104 SET_LOG_DRIVE EQU 0FH ;SET LOGICAL DRIVE ;AN000;
105 GSET_MEDIA_ID EQU 69H ;GET/SET MEDIA ID ;AN008;
106 GET_ID EQU 0 ;AL=0, GET MEDIA ID ;AN008;
107 SET_ID EQU 1 ;AL=1, SET MEDIA ID ;AN008;
108 ;
109 COMPARE_FUNC EQU 59H ;JUST USED TO IDENTIFY FOR ERROR MESSAGE
110 ;
111 ;specialFunctions
112 GET_SP_FUNC_DEF EQU 00000000B ;GET DEVICE PARM. DEFAULT BPB
113 GET_SP_FUNC_MED EQU 00000001B ;GET DEVICE PARM. media bpb
114 SET_SP_FUNC_DEF EQU 00000100B ;SET DEFAULT DEVICE PARM
115 SET_SP_FUNC_DOS EQU 00000100B ;SET DEVICE PARM BEFORE RETURN TO DOS
116 R_W_SP_FUNC EQU 00000000B ;READ, WRITE
117
118 ; *** BIOS DISKETTE I/O ERROR CODES ***
119
120 ;NOT_READY EQU 80H ;DISKETTE I/O NOT READY ERROR
121 ;CHANG_LINE EQU 06H ;CHANGE LINE ERROR
122 ;BAD_CONTROLLER EQU 20H ;BAD DISKETTE/DISK CONTOROLLER
123 ;WRITE_PROTECT EQU 03H ;DISKETTE I/O WRITE PROTECT ERROR
124 ;BAD_ADDR_MARK EQU 02H ;DISKETTE I/O BAD ADDRESS MARK ERROR
125 ;REC_NOT_FOUND EQU 04H ;DISETTTE I/O RECORD NOT FOUND ERROR
126 ;BAD_CRC EQU 10H ;DISKETTE I/O BAD CRC ERROR
127 ;HARD_WR_ERROR EQU 03H ;DISKETTE WRITE HARD ERROR COUNT
128 ;HARD_FMT_ERROR EQU 02H ;DISKETTE FORMAT HARD ERROR COUNT
129 ;SINGLE_SIDE_COPY EQU 00H ;WHEN READING TRACK 0 SIDE 1 IF HARD ERROR
130 ;OCCURS, WE WILL ASSUME IT WILL BE SINGLE
131 ;SIDED COPY AND AL WILL BE SET TO 0, SO THAT
132 ;BUFFER_PTR WILL NOT BE ADVANCED AND
133 ;IF THE TRACK HAPPENS TO FALL INTO DMA BOUNDRY
134 ;IT WILL SKIP THE SECOND PART OF READ_TRACK
135
136 ; *** COPY STATUS BYTE ***
137
138 FATAL EQU 01H ;FATAL COPY ERROR, ABORT
139 OK EQU 00H ;OK, PROCEED
140
141 ; *** MESSAGES SUBLIST DESCRIPTOR ***
142
143 SUBLIST STRUC ;AN000;
144 SUB_SIZE DB ? ;SUBLIST SIZE (POINTER TO NEXT SUBLIST) ;AN000;
145 SUB_RES DB ? ;RESERVED ;AN000;
146 ;NEXT FIELD IS TO BE USED AS A DOUBLE WORD ;AN000;
147 SUB_VALUE DW ? ;TIME, DATE, OR PTR TO DATA ITEM ;AN000;
148 SUB_VALUE_SEG DW ? ;SEG ID OF PTR ;AN000;
149 ;(ABOVE FIELD MUST BE FILLED AT EXECUTION TIME ;AN000;
150 ; IF THIS IS A .COM FILE) ;AN000;
151 SUB_ID DB ? ;N OF %N ;AN000;
152 SUB_FLAGS DB ? ;DATA TYPE FLAGS ;AN000;
153 SUB_MAX_WIDTH DB ? ;MAXIMUM FIELD WIDTH (0=UNLIMITED) ;AN000;
154 SUB_MIN_WIDTH DB ? ;MINIMUM FIELD WIDTH ;AN000;
155 SUB_PAD_CHAR DB ? ;CHARACTER FOR PAD FIELD ;AN000;
156 ; CAN BE " ", "0" OR ",". ;AN000;
157 ; "," CAUSES INSERTION OF THE ACTIVE ;AN000;
158 ; THOUSANDS SEPARATOR BETWEEN EVERY 3 DIGITS. ;AN000;
159 SUBLIST ENDS ;AN000;
160
161 ;BUFFER AREA FOR COMMUNICATION WITH GET/SET MEDIA ID FUNCTION CALL:
162 ;(deleted ;AN011;) A_MEDIA_ID_INFO struc
163 ;(deleted ;AN011;) MI_level dw 0 ;info level
164 ;(deleted ;AN011;) MI_Serial dd 0 ;Serial #
165 ;(deleted ;AN011;) MI_Label db 11 dup (' ') ;Volume Label
166 ;(deleted ;AN011;) MI_System db 8 dup (' ') ;File System type
167 ;(deleted ;AN011;) A_MEDIA_ID_INFO ends
168 INCLUDE BOOTFORM.INC ;GET DESCRIPTION OF BOOT RECORD
169 VOL_SERIAL EQU EXT_BOOT_SERIAL ;LOCATION IN BOOT RECORD OF VOLSER NUM ;AN000;
170 \1a