IF1 %OUT INCLUDING DISKCOMP.EQU... ELSE ; %OUT INCLUDING DISKCOMP.EQU... ENDIF ;---------------------------------------------------------------------------; ; EQUATES ; ;---------------------------------------------------------------------------; ; *** CONSTANTS *** ZERO EQU 0 ONE EQU 1 TWO EQU 2 THREE EQU 3 FOUR EQU 4 TYPE_4 EQU 4 FIVE EQU 5 SIX EQU 6 SEVEN EQU 7 EIGHT EQU 8 NINE EQU 9 TEN EQU 0AH ON EQU 1 OFF EQU 0 TRUE EQU 01 FALSE EQU 00 GOOD EQU 0 BAD EQU 1 FIRST EQU 1 SECOND EQU 2 HARD_ERROR EQU 02 SOFT_ERROR EQU 01 NO_ERROR EQU 0 ;DOS_LEVEL EQU 0314H ;DOS VERSION 3.20 BLANK EQU 20H ;BLANK IN ASCII (32 DEC) CLEAR_SEGMENT EQU 0E0H ;USED TO CLEAR SEGMENT BITS (ROUND UP ;TO NEXT SECTOR) SECTOR8 EQU 8 ; SECTOR9 EQU 9 ; SECTOR14 EQU 14 ; SECTOR15 EQU 15 ; DRV_48TPI EQU 0 ;48 TPI DRIVE DRV_96TPI EQU 1 ;96 TPI DRIVE DRV_720 EQU 2 ;3.5", 720 KB DRIVE (FOR CASHEW OR P14) NRLFUNC EQU 5F02H ;GET NETWORK-REDIRECTION-LIST FUNTION NRLMAX EQU 1CH ;(MAXIMUM # OF NAMES ON NRL) - 1 DOS20 EQU 2 ;DOS VERSION 2.0 PUBLIC FINE ; ;AN000; FINE EQU -1 ;"FINE AND DANDY", USED FOR RETURN CODE ;(-1 WAS USED TO AVOID CONFUSION WITH ERROR ;OFFSET WHICH CAN BE ZERO) LOCAL_DRV EQU -1 ;DEVICE NOT DIRECTED REMOTE_DRV EQU 1000H ;REMOTE DRIVE TEST BITS NO_OPTION EQU -1 ;NO OPTION "/1" SPECIFIED OPTION_1 EQU 1 ;OPTION "/1" SPECIFIED REMOVABLE EQU 0000H ;REMOVABLE FILE INVAL_PARM EQU -9 ;INVALID PARAMETER ENTERED PAGE ; *** PROGRAM SEGMENT PREFIX *** FCB1_DRV_ID EQU 5CH ;DRIVE NUMBER ADDR IN FILE CONTROL BLOCK 1 FCB1_FILENM EQU 5DH ;FILE NAME ADDR IN FILE CONTROL BLOCK 1 FCB2_DRV_ID EQU 6CH ;DRIVE NUMBER ADDR IN FILE CONTROL BLOCK 2 FCB2_FILENM EQU 6DH ;FILE NAME ADDR IN FILE CONTROL BLOCK 2 BEGIN_UNFORM_AREA EQU 80H ;BEGINNING @ OF THE UNFORMATTED AREA END_UNFORM_AREA EQU 100H ;ENDING @ OF THE UNFORMATTED AREA ; *** DOS FUNCTONS *** RET_CD_EXIT EQU 4CH ;EXIT TO DOS, PASSING RETURN CODE ;AN000; PUT_CHAR EQU 02H ;DOS DISPLAY OUTPUT FUNCTION PRINT_FUNC EQU 09H ;DOS PRINT STRING FUNCTION REDIRECTED_FUNC EQU 09H ;IOCTL SUB FUNCTION ****** TO BE CHECKED **** KB_INPUT_FUNC EQU 0C01H ;DOS KEYBOARD INPUT (CLEARS INPUT BUFF FIRST) CURRENTDRV_FUNC EQU 19H ;GET CURRENT DRIVE FUNCTION CALL ;DOSVER_FUNC EQU 30H ;DOS VERSION FUNCTION CALL IOCTL_FUNC EQU 44H ;IOCTL FUNCTION CALL DRIVE_CHECK EQU 4408H ;DOS CHECK FOR REMOVABLE DRIVE IOCTL CALL STD_ERROR EQU 0002H ;STANDARD ERROR FILE HANDLE WRITE_FILE EQU 40H ;WRITE TO FILE OR DEVICE FUNCTION CALL GET_ASSIGN_MODE EQU 5F00H ;SET ASSIGN MODE COMMAND SET_ASSIGN_MODE EQU 5F01H ;SET ASSIGN MODE COMMAND SERVER EQU 2AH ;NETWORK SERVER INTERUPT SHARED EQU 03H ;DEVICE SHARED CHECK GET_EXT_CNTRY_INFO EQU 65H ;GET EXTENDED COUNTRY INFO ;AN000; YESNO_CHECK EQU 23H ;REQUEST (Y/N) CHECK OF GET_EXT_CNTRY_INFO ;AN000; YES EQU 1 ;(Y/N) RESPONSE IS "YES" ;AN000; BAD_YESNO EQU 2 ;(Y/N) RESPONSE IS NEITHER "Y" NOR "N" ;AN000; ;IOCTL DISKETTE I/O FUNCTIONS GENERIC_IOCTL_CODE EQU 0DH ;GENERIC IOCTL REQUEST MAJOR_CODE EQU 08H ;GENERIC IOCTL MAJOR CODE READ_FUNC EQU 61H ;IOCTL DISKETTE RAED FUNCITON WRITE_FUNC EQU 41H ;IOCTL DISKETTE WRITE FUNCTION VERIFY_FUNC EQU 62H ;IOCTL DISKETTE VERIFY FUNCTION FORMAT_FUNC EQU 42H ;IOCTL DISKETTE FORMAT FUNCITON GETDEVPARM EQU 60H ;IOCTL GET DEVICE PARAMETER SETDEVPARM EQU 40H ;IOCTL SET DEVICE PARAMETER SET_LOG_DRIVE EQU 0FH ;SET LOGICAL DRIVE ;AN000; GSET_MEDIA_ID EQU 69H ;GET/SET MEDIA ID ;AN008; GET_ID EQU 0 ;AL=0, GET MEDIA ID ;AN008; SET_ID EQU 1 ;AL=1, SET MEDIA ID ;AN008; ; COMPARE_FUNC EQU 59H ;JUST USED TO IDENTIFY FOR ERROR MESSAGE ; ;specialFunctions GET_SP_FUNC_DEF EQU 00000000B ;GET DEVICE PARM. DEFAULT BPB GET_SP_FUNC_MED EQU 00000001B ;GET DEVICE PARM. media bpb SET_SP_FUNC_DEF EQU 00000100B ;SET DEFAULT DEVICE PARM SET_SP_FUNC_DOS EQU 00000100B ;SET DEVICE PARM BEFORE RETURN TO DOS R_W_SP_FUNC EQU 00000000B ;READ, WRITE ; *** BIOS DISKETTE I/O ERROR CODES *** ;NOT_READY EQU 80H ;DISKETTE I/O NOT READY ERROR ;CHANG_LINE EQU 06H ;CHANGE LINE ERROR ;BAD_CONTROLLER EQU 20H ;BAD DISKETTE/DISK CONTOROLLER ;WRITE_PROTECT EQU 03H ;DISKETTE I/O WRITE PROTECT ERROR ;BAD_ADDR_MARK EQU 02H ;DISKETTE I/O BAD ADDRESS MARK ERROR ;REC_NOT_FOUND EQU 04H ;DISETTTE I/O RECORD NOT FOUND ERROR ;BAD_CRC EQU 10H ;DISKETTE I/O BAD CRC ERROR ;HARD_WR_ERROR EQU 03H ;DISKETTE WRITE HARD ERROR COUNT ;HARD_FMT_ERROR EQU 02H ;DISKETTE FORMAT HARD ERROR COUNT ;SINGLE_SIDE_COPY EQU 00H ;WHEN READING TRACK 0 SIDE 1 IF HARD ERROR ;OCCURS, WE WILL ASSUME IT WILL BE SINGLE ;SIDED COPY AND AL WILL BE SET TO 0, SO THAT ;BUFFER_PTR WILL NOT BE ADVANCED AND ;IF THE TRACK HAPPENS TO FALL INTO DMA BOUNDRY ;IT WILL SKIP THE SECOND PART OF READ_TRACK ; *** COPY STATUS BYTE *** FATAL EQU 01H ;FATAL COPY ERROR, ABORT OK EQU 00H ;OK, PROCEED ; *** MESSAGES SUBLIST DESCRIPTOR *** SUBLIST STRUC ;AN000; SUB_SIZE DB ? ;SUBLIST SIZE (POINTER TO NEXT SUBLIST) ;AN000; SUB_RES DB ? ;RESERVED ;AN000; ;NEXT FIELD IS TO BE USED AS A DOUBLE WORD ;AN000; SUB_VALUE DW ? ;TIME, DATE, OR PTR TO DATA ITEM ;AN000; SUB_VALUE_SEG DW ? ;SEG ID OF PTR ;AN000; ;(ABOVE FIELD MUST BE FILLED AT EXECUTION TIME ;AN000; ; IF THIS IS A .COM FILE) ;AN000; SUB_ID DB ? ;N OF %N ;AN000; SUB_FLAGS DB ? ;DATA TYPE FLAGS ;AN000; SUB_MAX_WIDTH DB ? ;MAXIMUM FIELD WIDTH (0=UNLIMITED) ;AN000; SUB_MIN_WIDTH DB ? ;MINIMUM FIELD WIDTH ;AN000; SUB_PAD_CHAR DB ? ;CHARACTER FOR PAD FIELD ;AN000; ; CAN BE " ", "0" OR ",". ;AN000; ; "," CAUSES INSERTION OF THE ACTIVE ;AN000; ; THOUSANDS SEPARATOR BETWEEN EVERY 3 DIGITS. ;AN000; SUBLIST ENDS ;AN000; ;BUFFER AREA FOR COMMUNICATION WITH GET/SET MEDIA ID FUNCTION CALL: ;(deleted ;AN011;) A_MEDIA_ID_INFO struc ;(deleted ;AN011;) MI_level dw 0 ;info level ;(deleted ;AN011;) MI_Serial dd 0 ;Serial # ;(deleted ;AN011;) MI_Label db 11 dup (' ') ;Volume Label ;(deleted ;AN011;) MI_System db 8 dup (' ') ;File System type ;(deleted ;AN011;) A_MEDIA_ID_INFO ends INCLUDE BOOTFORM.INC ;GET DESCRIPTION OF BOOT RECORD VOL_SERIAL EQU EXT_BOOT_SERIAL ;LOCATION IN BOOT RECORD OF VOLSER NUM ;AN000;