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