]> wirehaze git hosting - MS-DOS.git/blob - v4.0/src/INC/MSBDS.INC

wirehaze git hosting

MZ is back!
[MS-DOS.git] / v4.0 / src / INC / MSBDS.INC
1
2 %OUT MSBDS.INC...
3 ; SCCSID = @(#)IBMBDS.ASM 1.9 85/09/16
4 ;==============================================================================
5 ;REVISION HISTORY:
6 ;AN000 - New for DOS Version 4.00 - J.K.
7 ;AC000 - Changed for DOS Version 4.00 - J.K.
8 ;AN00x - PTM number for DOS Version 4.00 - J.K.
9 ;==============================================================================
10 ;AN001; D113 Disable I/O access to unformatted media 9/03/87 J.K.
11 ;==============================================================================
12
13 ; VALUES FOR VARIOUS FLAGS IN BDS.FLAGS.
14
15 FNON_REMOVABLE EQU 01H ;FOR NON-REMOVABLE MEDIA
16 FCHANGELINE EQU 02H ;IF CHANGELINE SUPPORTED ON DRIVE
17 RETURN_FAKE_BPB EQU 04H ; WHEN SET, DON'T DO A BUILD BPB
18 ; JUST RETURN THE FAKE ONE
19 GOOD_TRACKLAYOUT EQU 08H ; THE TRACK LAYOUT HAS NO FUNNY SECTORS
20 ; FCHANGED_BY_FORMAT EQU 08H
21 FI_AM_MULT EQU 10H ;IF MORE THAN ONE LOGICAL FOR THIS PHYSICAL
22 FI_OWN_PHYSICAL EQU 20H ;SIGNIFY LOGICAL OWNER OF THIS PHYSICAL
23 FCHANGED EQU 40H ;INDICATES MEDIA CHANGED
24 SET_DASD_TRUE EQU 80H ; SET DASD BEFORE NEXT FORMAT
25 FCHANGED_BY_FORMAT EQU 100H ;MEDIA CHANGED BY FORMAT
26 UNFORMATTED_MEDIA EQU 200H ;AN001; Fixed disk only
27
28 ;
29 ; VARIOUS FORM FACTORS TO DESCRIBE MEDIA
30 ;
31 FF48TPI EQU 0
32 FF96TPI EQU 1
33 FFSMALL EQU 2
34 FFHARDFILE EQU 5
35 FFOTHER EQU 7
36
37 BDS_TYPE STRUC
38 LINK DD ? ; LINK TO NEXT BDS
39 DRIVENUM DB ? ; INT 13 DRIVE NUMBER
40 DRIVELET DB ? ; DOS DRIVE NUMBER
41 BYTEPERSEC DW ? ; NUMBER OF BYTES/SEC
42 SECPERCLUS DB ? ; SEC PER ALLOCATION UNIT
43 RESSEC DW ? ; NUMBER OF RESERVED SECTORS
44 CFAT DB ? ; NUMBER OF FATS
45 CDIR DW ? ; NUMBER OF DIRECTORY ENTRIES
46 DRVLIM DW ? ; NUMBER OF SECTORS ON MEDIUM
47 MEDIAD DB ? ; MEDIA DESCRIPTOR BYTE
48 CSECFAT DW ? ; NUMBER OF SECTORS/FAT
49 SECLIM DW ? ; SECTORS PER TRACK
50 HDLIM DW ? ; MAX NUMBER OF HEADS
51 HIDSEC_L DW ? ; NUMBER OF HIDDEN SECTORS
52 HIDSEC_H dw 0 ;J.K.87
53 DRVLIM_L dw 0 ;J.K.87
54 DRVLIM_H dw 0 ;J.K.87
55 FATSIZ DB ? ; FLAGS...
56 OPCNT DW ? ; OPEN REF. COUNT
57 FORMFACTOR DB ? ; FORM FACTOR INDEX
58 FLAGS DW ? ; VARIOUS FLAGS
59 CCYLN DW ? ; MAX NUMBER OF CYLINDERS
60 RBYTEPERSEC DW ? ; RECOMMENDED BPB
61 RSECPERCLUS DB ?
62 RRESSEC DW ?
63 RCFAT DB ?
64 RCDIR DW ?
65 RDRVLIM DW ?
66 RMEDIAD DB ?
67 RCSECFAT DW ?
68 RSECLIM DW ?
69 RHDLIM DW ?
70 RHIDSEC_L DW ?
71 RHIDSEC_H DW 0 ;J.K.87
72 RDRVLIM_L dw 0 ;J.K.87
73 RDRVLIM_H dw 0 ;J.K.87
74 RESERVE DB 6 DUP (?) ; RESERVED FOR FUTURE
75 TRACK DB ? ; LAST TRACK ACCESSED ON DRIVE
76 TIM_LO DW ? ; TIME OF LAST ACCESS. KEEP
77 TIM_HI DW ? ; THESE CONTIGUOUS.
78 VOLID DB 12 DUP (?) ; VOLUME ID OF MEDIUM
79 VOL_SERIAL dd 0 ;J.K.87 Current volume serial number from Boot record
80 FILESYS_Id db 9 dup (0) ;J.K.87 Current file system id from Boot record
81 BDS_TYPE ENDS
82
83 BPBSIZE = TRACK - RBYTEPERSEC ; SIZE IN BYTES OF RECBPB AREA IN THE BDS
84
85
86 ;*********************************************************************
87 ; BDS structure for mini disk - J.K. 4/7/86
88 ;*********************************************************************
89
90 BDSM_type struc
91 mlink DW -1 ;Link to next structure
92 DW ?
93 mdriveNum DB 80 ;Int 13 Drive Number
94 mdriveLet DB 3 ;Logical Drive Number
95 mBytePerSec DW 512
96 mSecPerClus DB 1 ;Sectors/allocation unit
97 mRESSEC DW 1 ;Reserved sectors for DOS
98 mcFAT DB 2 ;No. of allocation tables
99 mcDIR DW 16 ;Number of directory entries
100 mDRVLIM DW 0 ;Number of sectors (at 512 bytes each)
101 mMediad DB 11111000B ;Media descriptor
102 mcSecFat DW 1 ;Number of FAT sectors
103 mSECLIM DW 0 ;Sector limit
104 mHDLIM DW 0 ;Head limit
105 mHIDSEC_L DW 0 ;Hidden sector count
106 mHidsec_H dw 0 ;J.K.87
107 mDrvlim_L dw 0 ;J.K.87
108 mDrvlim_H dw 0 ;J.K.87
109 mFatSiz DB 0 ;TRUE => bigfat
110 mOPCNT DW 0 ;Open Ref. Count
111 mFormFactor DB 3 ;Form Factor
112 mFLAGS DW 0020H ;Various Flags
113 mcCyln dw 40 ;max number of cylinders
114 mRecBPB db 31 dup (0) ;Recommended BPB for drive
115 mTrack db -1
116 IsMini dw 1 ;Overlapping TIM_LOH
117 Hidden_Trks dw 0 ;Overlapping TIM_HIH
118 mVOLID DB "NO NAME " ;Volume ID for this disk
119 DB 0 ;ASCIZII for "NO NAME "
120 mVol_Serial dd 0 ;Current volume serial number from Boot record
121 mFileSys_Id db "FAT12 " ;Current file system id from Boot record
122 db 0
123
124 BDSM_type ENDS
125 ;******************************************************************************
126 Max_mini_dsk_num = 23 ;J.K. 4/7/86 - max # of mini disk ibmbio can support
127 ;
128