3 %OUT INCLUDING DISKCOMP.EQU...
5 ; %OUT INCLUDING DISKCOMP.EQU...
8 ;---------------------------------------------------------------------------;
10 ;---------------------------------------------------------------------------;
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
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
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
63 ; *** PROGRAM SEGMENT PREFIX ***
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
73 ; *** DOS FUNCTONS ***
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;
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;
109 COMPARE_FUNC EQU 59H ;JUST USED TO IDENTIFY FOR ERROR MESSAGE
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
118 ; *** BIOS DISKETTE I/O ERROR CODES ***
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
136 ; *** COPY STATUS BYTE ***
138 FATAL EQU 01H ;FATAL COPY ERROR, ABORT
139 OK EQU 00H ;OK, PROCEED
141 ; *** MESSAGES SUBLIST DESCRIPTOR ***
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;
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;