diff options
| author | 2024-04-25 21:24:10 +0100 | |
|---|---|---|
| committer | 2024-04-25 22:32:27 +0000 | |
| commit | 2d04cacc5322951f187bb17e017c12920ac8ebe2 (patch) | |
| tree | 80ee017efa878dfd5344b44249e6a241f2a7f6e2 /v4.0/src/DEV/SMARTDRV/DIRENT.ASM | |
| parent | Merge pull request #430 from jpbaltazar/typoptbr (diff) | |
| download | ms-dos-main.tar.gz ms-dos-main.tar.xz ms-dos-main.zip | |
Diffstat (limited to 'v4.0/src/DEV/SMARTDRV/DIRENT.ASM')
| -rw-r--r-- | v4.0/src/DEV/SMARTDRV/DIRENT.ASM | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/v4.0/src/DEV/SMARTDRV/DIRENT.ASM b/v4.0/src/DEV/SMARTDRV/DIRENT.ASM new file mode 100644 index 0000000..e7150c8 --- /dev/null +++ b/v4.0/src/DEV/SMARTDRV/DIRENT.ASM | |||
| @@ -0,0 +1,56 @@ | |||
| 1 | Break <Directory entry> | ||
| 2 | |||
| 3 | ; | ||
| 4 | ; +---------------------------+ | ||
| 5 | ; | (12 BYTE) filename/ext | 0 0 | ||
| 6 | ; +---------------------------+ | ||
| 7 | ; | (BYTE) attributes | 11 B | ||
| 8 | ; +---------------------------+ | ||
| 9 | ; | (10 BYTE) reserved | 12 C | ||
| 10 | ; +---------------------------+ | ||
| 11 | ; | (WORD) time of last write | 22 16 | ||
| 12 | ; +---------------------------+ | ||
| 13 | ; | (WORD) date of last write | 24 18 | ||
| 14 | ; +---------------------------+ | ||
| 15 | ; | (WORD) First cluster | 26 1A | ||
| 16 | ; +---------------------------+ | ||
| 17 | ; | (DWORD) file size | 28 1C | ||
| 18 | ; +---------------------------+ | ||
| 19 | ; | ||
| 20 | ; First byte of filename = E5 -> free directory entry | ||
| 21 | ; = 00 -> end of allocated directory | ||
| 22 | ; Time: Bits 0-4=seconds/2, bits 5-10=minute, 11-15=hour | ||
| 23 | ; Date: Bits 0-4=day, bits 5-8=month, bits 9-15=year-1980 | ||
| 24 | ; | ||
| 25 | |||
| 26 | dir_entry STRUC | ||
| 27 | dir_name DB 11 DUP (?) ; file name | ||
| 28 | dir_attr DB ? ; attribute bits | ||
| 29 | dir_pad DB 10 DUP (?) ; reserved for expansion | ||
| 30 | dir_time DW ? ; time of last write | ||
| 31 | dir_date DW ? ; date of last write | ||
| 32 | dir_first DW ? ; first allocation unit of file | ||
| 33 | dir_size_l DW ? ; low 16 bits of file size | ||
| 34 | dir_size_h DW ? ; high 16 bits of file size | ||
| 35 | dir_entry ENDS | ||
| 36 | |||
| 37 | attr_read_only EQU 1h | ||
| 38 | attr_hidden EQU 2h | ||
| 39 | attr_system EQU 4h | ||
| 40 | attr_volume_id EQU 8h | ||
| 41 | attr_directory EQU 10h | ||
| 42 | attr_archive EQU 20h | ||
| 43 | attr_device EQU 40h ; This is a VERY special bit. | ||
| 44 | ; NO directory entry on a disk EVER | ||
| 45 | ; has this bit set. It is set non-zero | ||
| 46 | ; when a device is found by GETPATH | ||
| 47 | |||
| 48 | attr_all EQU attr_hidden+attr_system+attr_directory | ||
| 49 | ; OR of hard attributes for FINDENTRY | ||
| 50 | |||
| 51 | attr_ignore EQU attr_read_only+attr_archive+attr_device | ||
| 52 | ; ignore this(ese) attribute(s) during | ||
| 53 | ; search first/next | ||
| 54 | |||
| 55 | attr_changeable EQU attr_read_only+attr_hidden+attr_system+attr_archive | ||
| 56 | ; changeable via CHMOD | ||