1 ; SCCSID = @(#)dirent.asm 1.1 85/04/10
2 ; SCCSID = @(#)dirent.asm 1.1 85/04/10
3 Break <Directory entry>
6 ; +---------------------------+
7 ; | (12 BYTE) filename/ext | 0 0
8 ; +---------------------------+
9 ; | (BYTE) attributes | 11 B
10 ; +---------------------------+
11 ; | (10 BYTE) reserved | 12 C
12 ; +---------------------------+
13 ; | (WORD) time of last write | 22 16
14 ; +---------------------------+
15 ; | (WORD) date of last write | 24 18
16 ; +---------------------------+
17 ; | (WORD) First cluster | 26 1A
18 ; +---------------------------+
19 ; | (DWORD) file size | 28 1C
20 ; +---------------------------+
22 ; First byte of filename = E5 -> free directory entry
23 ; = 00 -> end of allocated directory
24 ; Time: Bits 0-4=seconds/2, bits 5-10=minute, 11-15=hour
25 ; Date: Bits 0-4=day, bits 5-8=month, bits 9-15=year-1980
29 dir_name DB 11 DUP (?) ; file name
30 dir_attr DB ? ; attribute bits
31 dir_codepg dw ? ; code page DOS 4.00
32 dir_extcluster dw ? ; extended attribute starting cluster
33 dir_attr2 db ? ; reserved
34 dir_pad DB 5 DUP (?) ; reserved for expansion
35 dir_time DW ? ; time of last write
36 dir_date DW ? ; date of last write
37 dir_first DW ? ; first allocation unit of file
38 dir_size_l DW ? ; low 16 bits of file size
39 dir_size_h DW ? ; high 16 bits of file size
46 attr_directory EQU 10h
48 attr_device EQU 40h ; This is a VERY special bit.
49 ; NO directory entry on a disk EVER
50 ; has this bit set. It is set non-zero
51 ; when a device is found by GETPATH
53 attr_all EQU attr_hidden+attr_system+attr_directory
54 ; OR of hard attributes for FINDENTRY
56 attr_ignore EQU attr_read_only+attr_archive+attr_device
57 ; ignore this(ese) attribute(s) during
60 attr_changeable EQU attr_read_only+attr_hidden+attr_system+attr_archive
61 ; changeable via CHMOD