Offset | Size | Description |
---|---|---|
00 | byte | drive number (0 for default drive, 1=A:, 2=B:, …) |
01 | 8 bytes | filename, left justified with trailing blanks |
09 | 3 bytes | filename extension, left justified w/blanks |
0C | word | current block number relative to beginning of the file, starting with zero |
0E | word | logical record size in bytes |
10 | dword | file size in bytes |
14 | word | date the file was created or last updated |
16 | word | time of last write |
18 | 8 bytes | see below for version specific information |
1A | dword | address of device header if character device |
20 | byte | current relative record number within current BLOCK |
21 | dword | relative record number relative to the beginning of the file, starting with zero; high bit omitted if record length is 64 bytes |
Offset | Size | Description |
---|---|---|
00 | byte | if FF this is an extended FCB |
01 | 5 bytes | reserved |
06 | byte | file attribute if extended FCB |
07 | byte | drive number (0 for default drive, 1=A:, 2=B:, …) |
08 | 8 bytes | filename, left justified with trailing blanks |
10 | 3 bytes | filename extension, left justified w/blanks |
13 | word | current block number relative to beginning of the file, starting with zero |
15 | word | logical record size in bytes |
17 | dword | file size in bytes |
1B | word | date the file was created or last updated |
1D | word | time of last write |
1F | 8 bytes | see below for version specific information |
27 | byte | current relative record number within current BLOCK |
28 | dword | relative record number relative to the beginning of the file, starting with zero; high bit omitted if record length is 64 bytes |
information in GREEN are undocumented.
word offset 14:
|F|E|D|C|B|A|9|8|7|6|5|4|3|2|1|0| 15,14 (Intel reverse order) | | | | | | | | | | | `--------- day 1-31 | | | | | | | `---------------- month 1-12 `----------------------------- year + 1980
word offset 16:
|F|E|D|C|B|A|9|8|7|6|5|4|3|2|1|0| 17,16 (Intel reverse order) | | | | | | | | | | | `---------- secs in 2 second increments | | | | | `--------------------- minutes (0-59) `------------------------------ hours (0-23)
Offset | Size | Description |
---|---|---|
18 | Byte | see below |
19 | Word | starting cluster number |
|7|6|5|4|3|2|1|0| | | `------------- unknown | `-------------- 1 = open `--------------- 1 = logical device
Offset | Size | Description |
---|---|---|
18 | Byte | System File Table (SFT) entry for file |
19 | Byte | attributes |
|7|6|5|4|3|2|1|0| attributes | | `-------------- unknown `--- share status
Share Status
00 | SHARE not loaded block device |
01 | SHARE not loaded characted device |
10 | SHARE loaded, remote file |
11 | SHARE loaded local file |
Offset | Size | Description |
---|---|---|
1A | word | starting cluster number |
1C | word | offset within SHARE of sharing record |
1E | byte | file attribute |
Offset | Size | Description |
---|---|---|
1A | word | sector number containing directory entry |
1C | word | last cluster accessed relative to beginning of file |
1E | byte | absolute cluster number of last cluster accessed |
Offset | Size | Description |
---|---|---|
1A | byte | ((device attribute word low byte) AND 0Ch) OR (open mode) |
1B | word | starting cluster number |
1D | word | sector number containing directory entry |
1F | byte | number of directory entry within sector |
INT 21,0F | Open file using FCB |
INT 21,10 | Close file using FCB |
INT 21,11 | Search for first entry using FCB |
INT 21,12 | Search for next entry using FCB |
INT 21,13 | Delete file using FCB |
INT 21,14 | Sequential read using FCB |
INT 21,15 | Sequential write using FCB |
INT 21,16 | Create a file using FCB |
INT 21,17 | Rename file using FCB |
INT 21,21 | Random read using FCB |
INT 21,22 | Random write using FCB |
INT 21,23 | Get file size using FCB |
INT 21,24 | Set relative record field for FCB |
INT 21,27 | Random block read using FCB |
INT 21,28 | Random block write using FCB |
INT 21,29 | Parse filename for FCB |