You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

2314 lines
75 KiB

裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹FOO COM€
FOO COM€ !FOO COM€"#$%&'()*+,-./01FOO COM€23456789:;<=>?@A裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹are stored with the given logical skew.
.LP
A CP/M disk contains three areas:
.RS
.sp
System tracks (optional)
.br
Directory
.br裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹scribed by the following specific sizes:
.RS
.sp
Sector size in bytes
.br
Number of tracks
.br
Number of sectors
.br
Block size
FOO COMBC裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹
Data
.sp
.RE
The system tracks store the boot loader and CP/M itself. In order to save
disk space, there are non-bootable form裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹.br
Number of directory entries
.br
Logical sector skew
.br
Number of reserved system tracks
.sp
.RE
A block is the smallest all裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹ats which omit those system tracks.
The term \fIdisk capacity\fP always excludes the space for system tracks.
Note that there is裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹ocatable storage unit. CP/M supports block
sizes of 1024, 2048, 4096, 8192 and 16384 bytes. Unfortunately, this
format specifi裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹.\" Believe it or not, reportedly there are nroffs which do not know \(en
.if n .ds en -
.if t .ds en \(en
.TH CPM 5 "January 16裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹 no bitmap or list for free blocks. When accessing a
drive for the first time, CP/M builds this bitmap in core from the directo裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹cation is not stored on the disk and there are lots of
formats. Accessing a block is performed by accessing its sectors, which
裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹, 1997" "CP/M tools" "File formats"
.SH NAME
cpm \- CP/M disk and file system format
.SH DESCRIPTION
Each CP/M disk format is dery.
.LP
The directory is a sequence of directory entries (also called extents), which have the following
structure:
.RS
.sp
1 by date is stored as:
.RS
.sp
2 bytes (little-endian) days since 01-01-1978
.br
1 byte hour in BCD format
.br
1 byte minute in BCD time stamps, but P2DOS does.
Its time stamps are stored in
each fourth directory entry, which contains the update and create tiary 16, 1997" "CP/M tools" "File formats"
.SH NAME
cpm \- CP/M disk and file system format
.SH DESCRIPTION
Each CP/M disk format . , ; : = ? * [ ]\fP. Both are padded with blanks.
.LP
A file may use more than one directory entry, if it contains more blockon byte 2: archived
.RE
Public files (visible under each user number) are not supported by CP/M
2.2, but (you probably guessed tte status (0xe5 \(-> free, 0\*(en31 \(-> user number, used and 0x21 \(-> timestamps)
.br
8 bytes file name, padded with blanks
. format
.sp
.RE
The highest bit of each character of the file name and extension is used
as attribute. The attributes have the me
stamps for the files in the previous three directory entries:
.RS
.sp
1 byte status
.br
8 bytes time stamp for third-last dir is described by the following specific sizes:
.RS
.sp
Sector size in bytes
.br
Number of tracks
.br
Number of sectors
.br
Blocks
than an extent can hold. In this case, more extents are allocated and each
of them is numbered sequentially (extent number). hat by now) there is a patch and some
free CP/M clones support them without any patches.
.LP
The wheel byte is (by default) the br
3 bytes file extension, padded with blanks
.br
1 byte extent number for this file
.br
2 bytes unused
.br
1 byte record count following meaning:
.RS
.sp
File name byte 0: requires set wheel byte (Backgrounder II)
.br
File name byte 1: public file (P2DOS,ectory entry
.br
2 bytes unused
.br
8 bytes time stamp for second-last directory entry
.br
2 bytes unused
.br
8 bytes time stamp size
.br
Number of directory entries
.br
Logical sector skew
.br
Number of reserved system tracks
.sp
.RE
A block is the smalle One extent may store up to
128 records, thus using at most 16 K.
.LP
CP/M 2.2 only supports user numbers from 0\*(en15, but thememory location at 0x4b. If it is
zero, only non-privileged commands may be executed.
.SH "SEE ALSO"
.IR mkfs.cpm (1),
.IR cpmlfor this extent (a record contains 128 bytes)
.br
16 bytes block pointers (16 byte values if disk capacity less than 256
K, 8 li ZSDOS), forground-only command (Backgrounder II)
.br
File name byte 2: date stamp (ZSDOS), background-only commands (Background for last directory entry
.sp
.RE
A time stamp consists of the two dates of the last update and of the creation
of a file. Eachst allocatable storage unit. CP/M supports block
sizes of 1024, 2048, 4096, 8192 and 16384 bytes. Unfortunately, this
format sre is a patch for
extending this to 31 and some free CP/M clones support 0\*(en31 without
patches.
.LP
CP/M 2.2 does not supports (1)
.\" Believe it or not, reportedly there are nroffs which do not know \(en
.if n .ds en -
.if t .ds en \(en
.TH CPM 5 "Januttle-endian two-byte values else)
.sp
.RE
File name and extension may consist of any printable 7 bit ASCII character
but: \fB< >er II)
.br
File name byte 7: wheel protect (ZSDOS)
.br
Extension byte 0: read-only
.br
Extension byte 1: system file
.sp
Extensipecification is not stored on the disk and there are lots of
formats. Accessing a block is performed by accessing its sectors, ut there is a patch for
extending this to 31 and some free CP/M clones support 0\*(en31 without
patches.
.LP
CP/M 2.2 does not s, 8 little-endian two-byte values else)
.sp
.RE
File name and extension may consist of any printable 7 bit ASCII character
but: grounder II)
.br
File name byte 7: wheel protect (ZSDOS)
.br
Extension byte 0: read-only
.br
Extension byte 1: system file
.sp
Eirectory.
.LP
The directory is a sequence of directory entries (also called extents), which have the following
structure:
.RS
.s Each date is stored as:
.RS
.sp
2 bytes (little-endian) days since 01-01-1978
.br
1 byte hour in BCD format
.br
1 byte minute which
are stored with the given logical skew.
.LP
A CP/M disk contains three areas:
.RS
.sp
System tracks (optional)
.br
Directoupport time stamps, but P2DOS does.
Its time stamps are stored in
each fourth directory entry, which contains the update and cre\fB< > . , ; : = ? * [ ]\fP. Both are padded with blanks.
.LP
A file may use more than one directory entry, if it contains morextension byte 2: archived
.RE
Public files (visible under each user number) are not supported by CP/M
2.2, but (you probably guep
1 byte status (0xe5 \(-> free, 0\*(en31 \(-> user number, used and 0x21 \(-> timestamps)
.br
8 bytes file name, padded with blin BCD format
.sp
.RE
The highest bit of each character of the file name and extension is used
as attribute. The attributes havry
.br
Data
.sp
.RE
The system tracks store the boot loader and CP/M itself. In order to save
disk space, there are non-bootablate time
stamps for the files in the previous three directory entries:
.RS
.sp
1 byte status
.br
8 bytes time stamp for third-la blocks
than an extent can hold. In this case, more extents are allocated and each
of them is numbered sequentially (extent numssed that by now) there is a patch and some
free CP/M clones support them without any patches.
.LP
The wheel byte is (by defaultanks
.br
3 bytes file extension, padded with blanks
.br
1 byte extent number for this file
.br
2 bytes unused
.br
1 byte record e the following meaning:
.RS
.sp
File name byte 0: requires set wheel byte (Backgrounder II)
.br
File name byte 1: public file (e formats which omit those system tracks.
The term \fIdisk capacity\fP always excludes the space for system tracks.
Note that thst directory entry
.br
2 bytes unused
.br
8 bytes time stamp for second-last directory entry
.br
2 bytes unused
.br
8 bytes timeber). One extent may store up to
128 records, thus using at most 16 K.
.LP
CP/M 2.2 only supports user numbers from 0\*(en15, b) the memory location at 0x4b. If it is
zero, only non-privileged commands may be executed.
.SH "SEE ALSO"
.IR mkfs.cpm (1),
.Icount for this extent (a record contains 128 bytes)
.br
16 bytes block pointers (16 byte values if disk capacity less than 256
KP2DOS, ZSDOS), forground-only command (Backgrounder II)
.br
File name byte 2: date stamp (ZSDOS), background-only commands (Backere is no bitmap or list for free blocks. When accessing a
drive for the first time, CP/M builds this bitmap in core from the d stamp for last directory entry
.sp
.RE
A time stamp consists of the two dates of the last update and of the creation
of a file.R cpmls (1)
.\" Believe it or not, reportedly there are nroffs which do not know \(en
.if n .ds en -
.if t .ds en \(en
.TH CPM 5ecord count for this extent (a record contains 128 bytes)
.br
16 bytes block pointers (16 byte values if disk capacity less thanhat there is no bitmap or list for free blocks. When accessing a
drive for the first time, CP/M builds this bitmap in core froms time stamp for last directory entry
.sp
.RE
A time stamp consists of the two dates of the last update and of the creation
of armat specification is not stored on the disk and there are lots of
formats. Accessing a block is performed by accessing its secn15, but there is a patch for
extending this to 31 and some free CP/M clones support 0\*(en31 without
patches.
.LP
CP/M 2.2 does "January 16, 1997" "CP/M tools" "File formats"
.SH NAME
cpm \- CP/M disk and file system format
.SH DESCRIPTION
Each CP/M disk 256
K, 8 little-endian two-byte values else)
.sp
.RE
File name and extension may consist of any printable 7 bit ASCII character the directory.
.LP
The directory is a sequence of directory entries (also called extents), which have the following
structure:
file. Each date is stored as:
.RS
.sp
2 bytes (little-endian) days since 01-01-1978
.br
1 byte hour in BCD format
.br
1 byte mtors, which
are stored with the given logical skew.
.LP
A CP/M disk contains three areas:
.RS
.sp
System tracks (optional)
.br
D not support time stamps, but P2DOS does.
Its time stamps are stored in
each fourth directory entry, which contains the update aformat is described by the following specific sizes:
.RS
.sp
Sector size in bytes
.br
Number of tracks
.br
Number of sectors
.br
but: \fB< > . , ; : = ? * [ ]\fP. Both are padded with blanks.
.LP
A file may use more than one directory entry, if it contain.RS
.sp
1 byte status (0xe5 \(-> free, 0\*(en31 \(-> user number, used and 0x21 \(-> timestamps)
.br
8 bytes file name, padded winute in BCD format
.sp
.RE
The highest bit of each character of the file name and extension is used
as attribute. The attributirectory
.br
Data
.sp
.RE
The system tracks store the boot loader and CP/M itself. In order to save
disk space, there are non-bnd create time
stamps for the files in the previous three directory entries:
.RS
.sp
1 byte status
.br
8 bytes time stamp for th
Block size
.br
Number of directory entries
.br
Logical sector skew
.br
Number of reserved system tracks
.sp
.RE
A block is the s more blocks
than an extent can hold. In this case, more extents are allocated and each
of them is numbered sequentially (exteith blanks
.br
3 bytes file extension, padded with blanks
.br
1 byte extent number for this file
.br
2 bytes unused
.br
1 byte res have the following meaning:
.RS
.sp
File name byte 0: requires set wheel byte (Backgrounder II)
.br
File name byte 1: public ootable formats which omit those system tracks.
The term \fIdisk capacity\fP always excludes the space for system tracks.
Note tird-last directory entry
.br
2 bytes unused
.br
8 bytes time stamp for second-last directory entry
.br
2 bytes unused
.br
8 bytesmallest allocatable storage unit. CP/M supports block
sizes of 1024, 2048, 4096, 8192 and 16384 bytes. Unfortunately, this
font number). One extent may store up to
128 records, thus using at most 16 K.
.LP
CP/M 2.2 only supports user numbers from 0\*(efile (P2DOS, ZSDOS), forground-only command (Backgrounder II)
.br
File name byte 2: date stamp (ZSDOS), background-only commands non-bootable formats which omit those system tracks.
The term \fIdisk capacity\fP always excludes the space for system tracks.
s the smallest allocatable storage unit. CP/M supports block
sizes of 1024, 2048, 4096, 8192 and 16384 bytes. Unfortunately, t (extent number). One extent may store up to
128 records, thus using at most 16 K.
.LP
CP/M 2.2 only supports user numbers from1),
.IR cpmls (1)
.\" Believe it or not, reportedly there are nroffs which do not know \(en
.if n .ds en -
.if t .ds en \(en
.THbyte record count for this extent (a record contains 128 bytes)
.br
16 bytes block pointers (16 byte values if disk capacity les (Backgrounder II)
.br
File name byte 7: wheel protect (ZSDOS)
.br
Extension byte 0: read-only
.br
Extension byte 1: system fileNote that there is no bitmap or list for free blocks. When accessing a
drive for the first time, CP/M builds this bitmap in corhis
format specification is not stored on the disk and there are lots of
formats. Accessing a block is performed by accessing i 0\*(en15, but there is a patch for
extending this to 31 and some free CP/M clones support 0\*(en31 without
patches.
.LP
CP/M 2. CPM 5 "January 16, 1997" "CP/M tools" "File formats"
.SH NAME
cpm \- CP/M disk and file system format
.SH DESCRIPTION
Each CP/Ms than 256
K, 8 little-endian two-byte values else)
.sp
.RE
File name and extension may consist of any printable 7 bit ASCII cha
.sp
Extension byte 2: archived
.RE
Public files (visible under each user number) are not supported by CP/M
2.2, but (you probabe from the directory.
.LP
The directory is a sequence of directory entries (also called extents), which have the following
structs sectors, which
are stored with the given logical skew.
.LP
A CP/M disk contains three areas:
.RS
.sp
System tracks (optional)2 does not support time stamps, but P2DOS does.
Its time stamps are stored in
each fourth directory entry, which contains the up disk format is described by the following specific sizes:
.RS
.sp
Sector size in bytes
.br
Number of tracks
.br
Number of sectoracter
but: \fB< > . , ; : = ? * [ ]\fP. Both are padded with blanks.
.LP
A file may use more than one directory entry, if it cly guessed that by now) there is a patch and some
free CP/M clones support them without any patches.
.LP
The wheel byte is (by dture:
.RS
.sp
1 byte status (0xe5 \(-> free, 0\*(en31 \(-> user number, used and 0x21 \(-> timestamps)
.br
8 bytes file name, pa
.br
Directory
.br
Data
.sp
.RE
The system tracks store the boot loader and CP/M itself. In order to save
disk space, there aredate and create time
stamps for the files in the previous three directory entries:
.RS
.sp
1 byte status
.br
8 bytes time stamp rs
.br
Block size
.br
Number of directory entries
.br
Logical sector skew
.br
Number of reserved system tracks
.sp
.RE
A block iontains more blocks
than an extent can hold. In this case, more extents are allocated and each
of them is numbered sequentiallyefault) the memory location at 0x4b. If it is
zero, only non-privileged commands may be executed.
.SH "SEE ALSO"
.IR mkfs.cpm (dded with blanks
.br
3 bytes file extension, padded with blanks
.br
1 byte extent number for this file
.br
2 bytes unused
.br
1 for third-last directory entry
.br
2 bytes unused
.br
8 bytes time stamp for second-last directory entry
.br
2 bytes unused
.br
sectors
.br
Block size
.br
Number of directory entries
.br
Logical sector skew
.br
Number of reserved system tracks
.sp
.RE
A b (by default) the memory location at 0x4b. If it is
zero, only non-privileged commands may be executed.
.SH "SEE ALSO"
.IR mkfsme, padded with blanks
.br
3 bytes file extension, padded with blanks
.br
1 byte extent number for this file
.br
2 bytes unused
ublic file (P2DOS, ZSDOS), forground-only command (Backgrounder II)
.br
File name byte 2: date stamp (ZSDOS), background-only core are non-bootable formats which omit those system tracks.
The term \fIdisk capacity\fP always excludes the space for system tr8 bytes time stamp for last directory entry
.sp
.RE
A time stamp consists of the two dates of the last update and of the creatiolock is the smallest allocatable storage unit. CP/M supports block
sizes of 1024, 2048, 4096, 8192 and 16384 bytes. Unfortunat.cpm (1),
.IR cpmls (1)
.\" Believe it or not, reportedly there are nroffs which do not know \(en
.if n .ds en -
.if t .ds en \(.br
1 byte record count for this extent (a record contains 128 bytes)
.br
16 bytes block pointers (16 byte values if disk capacimmands (Backgrounder II)
.br
File name byte 7: wheel protect (ZSDOS)
.br
Extension byte 0: read-only
.br
Extension byte 1: systeacks.
Note that there is no bitmap or list for free blocks. When accessing a
drive for the first time, CP/M builds this bitmap n
of a file. Each date is stored as:
.RS
.sp
2 bytes (little-endian) days since 01-01-1978
.br
1 byte hour in BCD format
.br
1 ely, this
format specification is not stored on the disk and there are lots of
formats. Accessing a block is performed by accesen
.TH CPM 5 "January 16, 1997" "CP/M tools" "File formats"
.SH NAME
cpm \- CP/M disk and file system format
.SH DESCRIPTION
Eacty less than 256
K, 8 little-endian two-byte values else)
.sp
.RE
File name and extension may consist of any printable 7 bit ASCm file
.sp
Extension byte 2: archived
.RE
Public files (visible under each user number) are not supported by CP/M
2.2, but (you in core from the directory.
.LP
The directory is a sequence of directory entries (also called extents), which have the followingbyte minute in BCD format
.sp
.RE
The highest bit of each character of the file name and extension is used
as attribute. The atsing its sectors, which
are stored with the given logical skew.
.LP
A CP/M disk contains three areas:
.RS
.sp
System tracks (opth CP/M disk format is described by the following specific sizes:
.RS
.sp
Sector size in bytes
.br
Number of tracks
.br
Number ofII character
but: \fB< > . , ; : = ? * [ ]\fP. Both are padded with blanks.
.LP
A file may use more than one directory entry, iprobably guessed that by now) there is a patch and some
free CP/M clones support them without any patches.
.LP
The wheel byte is
structure:
.RS
.sp
1 byte status (0xe5 \(-> free, 0\*(en31 \(-> user number, used and 0x21 \(-> timestamps)
.br
8 bytes file natributes have the following meaning:
.RS
.sp
File name byte 0: requires set wheel byte (Backgrounder II)
.br
File name byte 1: pional)
.br
Directory
.br
Data
.sp
.RE
The system tracks store the boot loader and CP/M itself. In order to save
disk space, thef it contains more blocks
than an extent can hold. In this case, more extents are allocated and each
of them is numbered sequen (you probably guessed that by now) there is a patch and some
free CP/M clones support them without any patches.
.LP
The wheel bThe attributes have the following meaning:
.RS
.sp
File name byte 0: requires set wheel byte (Backgrounder II)
.br
File name byts (optional)
.br
Directory
.br
Data
.sp
.RE
The system tracks store the boot loader and CP/M itself. In order to save
disk spacstamp for third-last directory entry
.br
2 bytes unused
.br
8 bytes time stamp for second-last directory entry
.br
2 bytes unuseber of sectors
.br
Block size
.br
Number of directory entries
.br
Logical sector skew
.br
Number of reserved system tracks
.sp
.tially (extent number). One extent may store up to
128 records, thus using at most 16 K.
.LP
CP/M 2.2 only supports user numberyte is (by default) the memory location at 0x4b. If it is
zero, only non-privileged commands may be executed.
.SH "SEE ALSO"
.Ie 1: public file (P2DOS, ZSDOS), forground-only command (Backgrounder II)
.br
File name byte 2: date stamp (ZSDOS), background-oe, there are non-bootable formats which omit those system tracks.
The term \fIdisk capacity\fP always excludes the space for sysd
.br
8 bytes time stamp for last directory entry
.sp
.RE
A time stamp consists of the two dates of the last update and of the cRE
A block is the smallest allocatable storage unit. CP/M supports block
sizes of 1024, 2048, 4096, 8192 and 16384 bytes. Unfos from 0\*(en15, but there is a patch for
extending this to 31 and some free CP/M clones support 0\*(en31 without
patches.
.LP
CR mkfs.cpm (1),
.IR cpmls (1)
.\" Believe it or not, reportedly there are nroffs which do not know \(en
.if n .ds en -
.if t .dsnly commands (Backgrounder II)
.br
File name byte 7: wheel protect (ZSDOS)
.br
Extension byte 0: read-only
.br
Extension byte 1:tem tracks.
Note that there is no bitmap or list for free blocks. When accessing a
drive for the first time, CP/M builds this breation
of a file. Each date is stored as:
.RS
.sp
2 bytes (little-endian) days since 01-01-1978
.br
1 byte hour in BCD format
rtunately, this
format specification is not stored on the disk and there are lots of
formats. Accessing a block is performed byP/M 2.2 does not support time stamps, but P2DOS does.
Its time stamps are stored in
each fourth directory entry, which contains en \(en
.TH CPM 5 "January 16, 1997" "CP/M tools" "File formats"
.SH NAME
cpm \- CP/M disk and file system format
.SH DESCRIPTI system file
.sp
Extension byte 2: archived
.RE
Public files (visible under each user number) are not supported by CP/M
2.2, butitmap in core from the directory.
.LP
The directory is a sequence of directory entries (also called extents), which have the fol.br
1 byte minute in BCD format
.sp
.RE
The highest bit of each character of the file name and extension is used
as attribute. accessing its sectors, which
are stored with the given logical skew.
.LP
A CP/M disk contains three areas:
.RS
.sp
System trackthe update and create time
stamps for the files in the previous three directory entries:
.RS
.sp
1 byte status
.br
8 bytes time ON
Each CP/M disk format is described by the following specific sizes:
.RS
.sp
Sector size in bytes
.br
Number of tracks
.br
Numlowing
structure:
.RS
.sp
1 byte status (0xe5 \(-> free, 0\*(en31 \(-> user number, used and 0x21 \(-> timestamps)
.br
8 bytes format
.br
1 byte minute in BCD format
.sp
.RE
The highest bit of each character of the file name and extension is used
as attribtains the update and create time
stamps for the files in the previous three directory entries:
.RS
.sp
1 byte status
.br
8 bytesCRIPTION
Each CP/M disk format is described by the following specific sizes:
.RS
.sp
Sector size in bytes
.br
Number of tracks
.try, if it contains more blocks
than an extent can hold. In this case, more extents are allocated and each
of them is numbered 2, but (you probably guessed that by now) there is a patch and some
free CP/M clones support them without any patches.
.LP
The wile name, padded with blanks
.br
3 bytes file extension, padded with blanks
.br
1 byte extent number for this file
.br
2 bytes uute. The attributes have the following meaning:
.RS
.sp
File name byte 0: requires set wheel byte (Backgrounder II)
.br
File na time stamp for third-last directory entry
.br
2 bytes unused
.br
8 bytes time stamp for second-last directory entry
.br
2 bytesbr
Number of sectors
.br
Block size
.br
Number of directory entries
.br
Logical sector skew
.br
Number of reserved system trackssequentially (extent number). One extent may store up to
128 records, thus using at most 16 K.
.LP
CP/M 2.2 only supports user heel byte is (by default) the memory location at 0x4b. If it is
zero, only non-privileged commands may be executed.
.SH "SEE ALnused
.br
1 byte record count for this extent (a record contains 128 bytes)
.br
16 bytes block pointers (16 byte values if disk me byte 1: public file (P2DOS, ZSDOS), forground-only command (Backgrounder II)
.br
File name byte 2: date stamp (ZSDOS), backgr unused
.br
8 bytes time stamp for last directory entry
.sp
.RE
A time stamp consists of the two dates of the last update and of
.sp
.RE
A block is the smallest allocatable storage unit. CP/M supports block
sizes of 1024, 2048, 4096, 8192 and 16384 bytes.numbers from 0\*(en15, but there is a patch for
extending this to 31 and some free CP/M clones support 0\*(en31 without
patches.SO"
.IR mkfs.cpm (1),
.IR cpmls (1)
.\" Believe it or not, reportedly there are nroffs which do not know \(en
.if n .ds en -
.ifcapacity less than 256
K, 8 little-endian two-byte values else)
.sp
.RE
File name and extension may consist of any printable 7 bound-only commands (Backgrounder II)
.br
File name byte 7: wheel protect (ZSDOS)
.br
Extension byte 0: read-only
.br
Extension b the creation
of a file. Each date is stored as:
.RS
.sp
2 bytes (little-endian) days since 01-01-1978
.br
1 byte hour in BCD f Unfortunately, this
format specification is not stored on the disk and there are lots of
formats. Accessing a block is perfor
.LP
CP/M 2.2 does not support time stamps, but P2DOS does.
Its time stamps are stored in
each fourth directory entry, which con t .ds en \(en
.TH CPM 5 "January 16, 1997" "CP/M tools" "File formats"
.SH NAME
cpm \- CP/M disk and file system format
.SH DESit ASCII character
but: \fB< > . , ; : = ? * [ ]\fP. Both are padded with blanks.
.LP
A file may use more than one directory enyte 1: system file
.sp
Extension byte 2: archived
.RE
Public files (visible under each user number) are not supported by CP/M
2.med by accessing its sectors, which
are stored with the given logical skew.
.LP
A CP/M disk contains three areas:
.RS
.sp
Systemtches.
.LP
CP/M 2.2 does not support time stamps, but P2DOS does.
Its time stamps are stored in
each fourth directory entry, while 7 bit ASCII character
but: \fB< > . , ; : = ? * [ ]\fP. Both are padded with blanks.
.LP
A file may use more than one directsion byte 1: system file
.sp
Extension byte 2: archived
.RE
Public files (visible under each user number) are not supported by Che following
structure:
.RS
.sp
1 byte status (0xe5 \(-> free, 0\*(en31 \(-> user number, used and 0x21 \(-> timestamps)
.br
8 b BCD format
.br
1 byte minute in BCD format
.sp
.RE
The highest bit of each character of the file name and extension is used
as tracks (optional)
.br
Directory
.br
Data
.sp
.RE
The system tracks store the boot loader and CP/M itself. In order to save
disch contains the update and create time
stamps for the files in the previous three directory entries:
.RS
.sp
1 byte status
.br
8ory entry, if it contains more blocks
than an extent can hold. In this case, more extents are allocated and each
of them is numP/M
2.2, but (you probably guessed that by now) there is a patch and some
free CP/M clones support them without any patches.
.LPytes file name, padded with blanks
.br
3 bytes file extension, padded with blanks
.br
1 byte extent number for this file
.br
2 battribute. The attributes have the following meaning:
.RS
.sp
File name byte 0: requires set wheel byte (Backgrounder II)
.br
Fk space, there are non-bootable formats which omit those system tracks.
The term \fIdisk capacity\fP always excludes the space f bytes time stamp for third-last directory entry
.br
2 bytes unused
.br
8 bytes time stamp for second-last directory entry
.br
2bered sequentially (extent number). One extent may store up to
128 records, thus using at most 16 K.
.LP
CP/M 2.2 only supports
The wheel byte is (by default) the memory location at 0x4b. If it is
zero, only non-privileged commands may be executed.
.SH "ytes unused
.br
1 byte record count for this extent (a record contains 128 bytes)
.br
16 bytes block pointers (16 byte values ifile name byte 1: public file (P2DOS, ZSDOS), forground-only command (Backgrounder II)
.br
File name byte 2: date stamp (ZSDOS), or system tracks.
Note that there is no bitmap or list for free blocks. When accessing a
drive for the first time, CP/M builds bytes unused
.br
8 bytes time stamp for last directory entry
.sp
.RE
A time stamp consists of the two dates of the last update user numbers from 0\*(en15, but there is a patch for
extending this to 31 and some free CP/M clones support 0\*(en31 without
paSEE ALSO"
.IR mkfs.cpm (1),
.IR cpmls (1)
.\" Believe it or not, reportedly there are nroffs which do not know \(en
.if n .ds en disk capacity less than 256
K, 8 little-endian two-byte values else)
.sp
.RE
File name and extension may consist of any printabbackground-only commands (Backgrounder II)
.br
File name byte 7: wheel protect (ZSDOS)
.br
Extension byte 0: read-only
.br
Extenthis bitmap in core from the directory.
.LP
The directory is a sequence of directory entries (also called extents), which have tand of the creation
of a file. Each date is stored as:
.RS
.sp
2 bytes (little-endian) days since 01-01-1978
.br
1 byte hour in -
.if t .ds en \(en
.TH CPM 5 "January 16, 1997" "CP/M tools" "File formats"
.SH NAME
cpm \- CP/M disk and file system format
.ues if disk capacity less than 256
K, 8 little-endian two-byte values else)
.sp
.RE
File name and extension may consist of any puilds this bitmap in core from the directory.
.LP
The directory is a sequence of directory entries (also called extents), which pdate and of the creation
of a file. Each date is stored as:
.RS
.sp
2 bytes (little-endian) days since 01-01-1978
.br
1 byte hperformed by accessing its sectors, which
are stored with the given logical skew.
.LP
A CP/M disk contains three areas:
.RS
.sp
out
patches.
.LP
CP/M 2.2 does not support time stamps, but P2DOS does.
Its time stamps are stored in
each fourth directory entrSH DESCRIPTION
Each CP/M disk format is described by the following specific sizes:
.RS
.sp
Sector size in bytes
.br
Number of trrintable 7 bit ASCII character
but: \fB< > . , ; : = ? * [ ]\fP. Both are padded with blanks.
.LP
A file may use more than one have the following
structure:
.RS
.sp
1 byte status (0xe5 \(-> free, 0\*(en31 \(-> user number, used and 0x21 \(-> timestamps)
.our in BCD format
.br
1 byte minute in BCD format
.sp
.RE
The highest bit of each character of the file name and extension is usSystem tracks (optional)
.br
Directory
.br
Data
.sp
.RE
The system tracks store the boot loader and CP/M itself. In order to say, which contains the update and create time
stamps for the files in the previous three directory entries:
.RS
.sp
1 byte statusacks
.br
Number of sectors
.br
Block size
.br
Number of directory entries
.br
Logical sector skew
.br
Number of reserved system directory entry, if it contains more blocks
than an extent can hold. In this case, more extents are allocated and each
of them br
8 bytes file name, padded with blanks
.br
3 bytes file extension, padded with blanks
.br
1 byte extent number for this file
.ed
as attribute. The attributes have the following meaning:
.RS
.sp
File name byte 0: requires set wheel byte (Backgrounder II)ve
disk space, there are non-bootable formats which omit those system tracks.
The term \fIdisk capacity\fP always excludes the s
.br
8 bytes time stamp for third-last directory entry
.br
2 bytes unused
.br
8 bytes time stamp for second-last directory entrytracks
.sp
.RE
A block is the smallest allocatable storage unit. CP/M supports block
sizes of 1024, 2048, 4096, 8192 and 16384 is numbered sequentially (extent number). One extent may store up to
128 records, thus using at most 16 K.
.LP
CP/M 2.2 only subr
2 bytes unused
.br
1 byte record count for this extent (a record contains 128 bytes)
.br
16 bytes block pointers (16 byte val
.br
File name byte 1: public file (P2DOS, ZSDOS), forground-only command (Backgrounder II)
.br
File name byte 2: date stamp (ZSpace for system tracks.
Note that there is no bitmap or list for free blocks. When accessing a
drive for the first time, CP/M b
.br
2 bytes unused
.br
8 bytes time stamp for last directory entry
.sp
.RE
A time stamp consists of the two dates of the last ubytes. Unfortunately, this
format specification is not stored on the disk and there are lots of
formats. Accessing a block is pports user numbers from 0\*(en15, but there is a patch for
extending this to 31 and some free CP/M clones support 0\*(en31 withDOS), background-only commands (Backgrounder II)
.br
File name byte 7: wheel protect (ZSDOS)
.br
Extension byte 0: read-only
.br the space for system tracks.
Note that there is no bitmap or list for free blocks. When accessing a
drive for the first time, 16384 bytes. Unfortunately, this
format specification is not stored on the disk and there are lots of
formats. Accessing a blonly supports user numbers from 0\*(en15, but there is a patch for
extending this to 31 and some free CP/M clones support 0\*(en3.ds en -
.if t .ds en \(en
.TH CPM 5 "January 16, 1997" "CP/M tools" "File formats"
.SH NAME
cpm \- CP/M disk and file system fote values if disk capacity less than 256
K, 8 little-endian two-byte values else)
.sp
.RE
File name and extension may consist of
Extension byte 1: system file
.sp
Extension byte 2: archived
.RE
Public files (visible under each user number) are not supporteCP/M builds this bitmap in core from the directory.
.LP
The directory is a sequence of directory entries (also called extents), ck is performed by accessing its sectors, which
are stored with the given logical skew.
.LP
A CP/M disk contains three areas:
.R1 without
patches.
.LP
CP/M 2.2 does not support time stamps, but P2DOS does.
Its time stamps are stored in
each fourth directorrmat
.SH DESCRIPTION
Each CP/M disk format is described by the following specific sizes:
.RS
.sp
Sector size in bytes
.br
Number any printable 7 bit ASCII character
but: \fB< > . , ; : = ? * [ ]\fP. Both are padded with blanks.
.LP
A file may use more thad by CP/M
2.2, but (you probably guessed that by now) there is a patch and some
free CP/M clones support them without any patchewhich have the following
structure:
.RS
.sp
1 byte status (0xe5 \(-> free, 0\*(en31 \(-> user number, used and 0x21 \(-> timestaS
.sp
System tracks (optional)
.br
Directory
.br
Data
.sp
.RE
The system tracks store the boot loader and CP/M itself. In ordery entry, which contains the update and create time
stamps for the files in the previous three directory entries:
.RS
.sp
1 byte of tracks
.br
Number of sectors
.br
Block size
.br
Number of directory entries
.br
Logical sector skew
.br
Number of reserved sn one directory entry, if it contains more blocks
than an extent can hold. In this case, more extents are allocated and each
ofs.
.LP
The wheel byte is (by default) the memory location at 0x4b. If it is
zero, only non-privileged commands may be executed.mps)
.br
8 bytes file name, padded with blanks
.br
3 bytes file extension, padded with blanks
.br
1 byte extent number for this to save
disk space, there are non-bootable formats which omit those system tracks.
The term \fIdisk capacity\fP always excludesstatus
.br
8 bytes time stamp for third-last directory entry
.br
2 bytes unused
.br
8 bytes time stamp for second-last directoryystem tracks
.sp
.RE
A block is the smallest allocatable storage unit. CP/M supports block
sizes of 1024, 2048, 4096, 8192 and them is numbered sequentially (extent number). One extent may store up to
128 records, thus using at most 16 K.
.LP
CP/M 2.2 o
.SH "SEE ALSO"
.IR mkfs.cpm (1),
.IR cpmls (1)
.\" Believe it or not, reportedly there are nroffs which do not know \(en
.if n file
.br
2 bytes unused
.br
1 byte record count for this extent (a record contains 128 bytes)
.br
16 bytes block pointers (16 by entry
.br
2 bytes unused
.br
8 bytes time stamp for last directory entry
.sp
.RE
A time stamp consists of the two dates of the rved system tracks
.sp
.RE
A block is the smallest allocatable storage unit. CP/M supports block
sizes of 1024, 2048, 4096, 819cuted.
.SH "SEE ALSO"
.IR mkfs.cpm (1),
.IR cpmls (1)
.\" Believe it or not, reportedly there are nroffs which do not know \(en
this file
.br
2 bytes unused
.br
1 byte record count for this extent (a record contains 128 bytes)
.br
16 bytes block pointers mp (ZSDOS), background-only commands (Backgrounder II)
.br
File name byte 7: wheel protect (ZSDOS)
.br
Extension byte 0: read-oncludes the space for system tracks.
Note that there is no bitmap or list for free blocks. When accessing a
drive for the first last update and of the creation
of a file. Each date is stored as:
.RS
.sp
2 bytes (little-endian) days since 01-01-1978
.br
1 2 and 16384 bytes. Unfortunately, this
format specification is not stored on the disk and there are lots of
formats. Accessing.if n .ds en -
.if t .ds en \(en
.TH CPM 5 "January 16, 1997" "CP/M tools" "File formats"
.SH NAME
cpm \- CP/M disk and file sys(16 byte values if disk capacity less than 256
K, 8 little-endian two-byte values else)
.sp
.RE
File name and extension may consly
.br
Extension byte 1: system file
.sp
Extension byte 2: archived
.RE
Public files (visible under each user number) are not sutime, CP/M builds this bitmap in core from the directory.
.LP
The directory is a sequence of directory entries (also called extebyte hour in BCD format
.br
1 byte minute in BCD format
.sp
.RE
The highest bit of each character of the file name and extension a block is performed by accessing its sectors, which
are stored with the given logical skew.
.LP
A CP/M disk contains three aretem format
.SH DESCRIPTION
Each CP/M disk format is described by the following specific sizes:
.RS
.sp
Sector size in bytes
.br
ist of any printable 7 bit ASCII character
but: \fB< > . , ; : = ? * [ ]\fP. Both are padded with blanks.
.LP
A file may use mopported by CP/M
2.2, but (you probably guessed that by now) there is a patch and some
free CP/M clones support them without any nts), which have the following
structure:
.RS
.sp
1 byte status (0xe5 \(-> free, 0\*(en31 \(-> user number, used and 0x21 \(-> t is used
as attribute. The attributes have the following meaning:
.RS
.sp
File name byte 0: requires set wheel byte (Backgroundas:
.RS
.sp
System tracks (optional)
.br
Directory
.br
Data
.sp
.RE
The system tracks store the boot loader and CP/M itself. InNumber of tracks
.br
Number of sectors
.br
Block size
.br
Number of directory entries
.br
Logical sector skew
.br
Number of resere than one directory entry, if it contains more blocks
than an extent can hold. In this case, more extents are allocated and epatches.
.LP
The wheel byte is (by default) the memory location at 0x4b. If it is
zero, only non-privileged commands may be exeimestamps)
.br
8 bytes file name, padded with blanks
.br
3 bytes file extension, padded with blanks
.br
1 byte extent number forer II)
.br
File name byte 1: public file (P2DOS, ZSDOS), forground-only command (Backgrounder II)
.br
File name byte 2: date sta order to save
disk space, there are non-bootable formats which omit those system tracks.
The term \fIdisk capacity\fP always exach
of them is numbered sequentially (extent number). One extent may store up to
128 records, thus using at most 16 K.
.LP
CP/Mt any patches.
.LP
The wheel byte is (by default) the memory location at 0x4b. If it is
zero, only non-privileged commands may grounder II)
.br
File name byte 1: public file (P2DOS, ZSDOS), forground-only command (Backgrounder II)
.br
File name byte 2: daf. In order to save
disk space, there are non-bootable formats which omit those system tracks.
The term \fIdisk capacity\fP alwectory entry
.br
2 bytes unused
.br
8 bytes time stamp for last directory entry
.sp
.RE
A time stamp consists of the two dates of reserved system tracks
.sp
.RE
A block is the smallest allocatable storage unit. CP/M supports block
sizes of 1024, 2048, 409 2.2 only supports user numbers from 0\*(en15, but there is a patch for
extending this to 31 and some free CP/M clones support 0be executed.
.SH "SEE ALSO"
.IR mkfs.cpm (1),
.IR cpmls (1)
.\" Believe it or not, reportedly there are nroffs which do not knowte stamp (ZSDOS), background-only commands (Backgrounder II)
.br
File name byte 7: wheel protect (ZSDOS)
.br
Extension byte 0: rays excludes the space for system tracks.
Note that there is no bitmap or list for free blocks. When accessing a
drive for the f the last update and of the creation
of a file. Each date is stored as:
.RS
.sp
2 bytes (little-endian) days since 01-01-1978
6, 8192 and 16384 bytes. Unfortunately, this
format specification is not stored on the disk and there are lots of
formats. Acc\*(en31 without
patches.
.LP
CP/M 2.2 does not support time stamps, but P2DOS does.
Its time stamps are stored in
each fourth di \(en
.if n .ds en -
.if t .ds en \(en
.TH CPM 5 "January 16, 1997" "CP/M tools" "File formats"
.SH NAME
cpm \- CP/M disk and fiead-only
.br
Extension byte 1: system file
.sp
Extension byte 2: archived
.RE
Public files (visible under each user number) are first time, CP/M builds this bitmap in core from the directory.
.LP
The directory is a sequence of directory entries (also calle.br
1 byte hour in BCD format
.br
1 byte minute in BCD format
.sp
.RE
The highest bit of each character of the file name and extessing a block is performed by accessing its sectors, which
are stored with the given logical skew.
.LP
A CP/M disk contains thrrectory entry, which contains the update and create time
stamps for the files in the previous three directory entries:
.RS
.sp
1le system format
.SH DESCRIPTION
Each CP/M disk format is described by the following specific sizes:
.RS
.sp
Sector size in bytenot supported by CP/M
2.2, but (you probably guessed that by now) there is a patch and some
free CP/M clones support them withoud extents), which have the following
structure:
.RS
.sp
1 byte status (0xe5 \(-> free, 0\*(en31 \(-> user number, used and 0x21 ension is used
as attribute. The attributes have the following meaning:
.RS
.sp
File name byte 0: requires set wheel byte (Backee areas:
.RS
.sp
System tracks (optional)
.br
Directory
.br
Data
.sp
.RE
The system tracks store the boot loader and CP/M itsel byte status
.br
8 bytes time stamp for third-last directory entry
.br
2 bytes unused
.br
8 bytes time stamp for second-last dirs
.br
Number of tracks
.br
Number of sectors
.br
Block size
.br
Number of directory entries
.br
Logical sector skew
.br
Number o\(-> timestamps)
.br
8 bytes file name, padded with blanks
.br
3 bytes file extension, padded with blanks
.br
1 byte extent numbnd extension is used
as attribute. The attributes have the following meaning:
.RS
.sp
File name byte 0: requires set wheel byte
.sp
1 byte status
.br
8 bytes time stamp for third-last directory entry
.br
2 bytes unused
.br
8 bytes time stamp for second-lan bytes
.br
Number of tracks
.br
Number of sectors
.br
Block size
.br
Number of directory entries
.br
Logical sector skew
.br
Nu and each
of them is numbered sequentially (extent number). One extent may store up to
128 records, thus using at most 16 K.
.Lwithout any patches.
.LP
The wheel byte is (by default) the memory location at 0x4b. If it is
zero, only non-privileged commander for this file
.br
2 bytes unused
.br
1 byte record count for this extent (a record contains 128 bytes)
.br
16 bytes block poi (Backgrounder II)
.br
File name byte 1: public file (P2DOS, ZSDOS), forground-only command (Backgrounder II)
.br
File name bytest directory entry
.br
2 bytes unused
.br
8 bytes time stamp for last directory entry
.sp
.RE
A time stamp consists of the two dmber of reserved system tracks
.sp
.RE
A block is the smallest allocatable storage unit. CP/M supports block
sizes of 1024, 204P
CP/M 2.2 only supports user numbers from 0\*(en15, but there is a patch for
extending this to 31 and some free CP/M clones sups may be executed.
.SH "SEE ALSO"
.IR mkfs.cpm (1),
.IR cpmls (1)
.\" Believe it or not, reportedly there are nroffs which do nonters (16 byte values if disk capacity less than 256
K, 8 little-endian two-byte values else)
.sp
.RE
File name and extension ma 2: date stamp (ZSDOS), background-only commands (Backgrounder II)
.br
File name byte 7: wheel protect (ZSDOS)
.br
Extension bytates of the last update and of the creation
of a file. Each date is stored as:
.RS
.sp
2 bytes (little-endian) days since 01-018, 4096, 8192 and 16384 bytes. Unfortunately, this
format specification is not stored on the disk and there are lots of
formatsport 0\*(en31 without
patches.
.LP
CP/M 2.2 does not support time stamps, but P2DOS does.
Its time stamps are stored in
each fout know \(en
.if n .ds en -
.if t .ds en \(en
.TH CPM 5 "January 16, 1997" "CP/M tools" "File formats"
.SH NAME
cpm \- CP/M disk y consist of any printable 7 bit ASCII character
but: \fB< > . , ; : = ? * [ ]\fP. Both are padded with blanks.
.LP
A file may e 0: read-only
.br
Extension byte 1: system file
.sp
Extension byte 2: archived
.RE
Public files (visible under each user number-1978
.br
1 byte hour in BCD format
.br
1 byte minute in BCD format
.sp
.RE
The highest bit of each character of the file name a. Accessing a block is performed by accessing its sectors, which
are stored with the given logical skew.
.LP
A CP/M disk contairth directory entry, which contains the update and create time
stamps for the files in the previous three directory entries:
.RSand file system format
.SH DESCRIPTION
Each CP/M disk format is described by the following specific sizes:
.RS
.sp
Sector size iuse more than one directory entry, if it contains more blocks
than an extent can hold. In this case, more extents are allocated) are not supported by CP/M
2.2, but (you probably guessed that by now) there is a patch and some
free CP/M clones support them ns three areas:
.RS
.sp
System tracks (optional)
.br
Directory
.br
Data
.sp
.RE
The system tracks store the boot loader and CP/Mch fourth directory entry, which contains the update and create time
stamps for the files in the previous three directory entriee may use more than one directory entry, if it contains more blocks
than an extent can hold. In this case, more extents are allnumber) are not supported by CP/M
2.2, but (you probably guessed that by now) there is a patch and some
free CP/M clones support 0x21 \(-> timestamps)
.br
8 bytes file name, padded with blanks
.br
3 bytes file extension, padded with blanks
.br
1 byte extenname and extension is used
as attribute. The attributes have the following meaning:
.RS
.sp
File name byte 0: requires set whee itself. In order to save
disk space, there are non-bootable formats which omit those system tracks.
The term \fIdisk capacity\s:
.RS
.sp
1 byte status
.br
8 bytes time stamp for third-last directory entry
.br
2 bytes unused
.br
8 bytes time stamp for secocated and each
of them is numbered sequentially (extent number). One extent may store up to
128 records, thus using at most 16 them without any patches.
.LP
The wheel byte is (by default) the memory location at 0x4b. If it is
zero, only non-privileged ct number for this file
.br
2 bytes unused
.br
1 byte record count for this extent (a record contains 128 bytes)
.br
16 bytes blol byte (Backgrounder II)
.br
File name byte 1: public file (P2DOS, ZSDOS), forground-only command (Backgrounder II)
.br
File namfP always excludes the space for system tracks.
Note that there is no bitmap or list for free blocks. When accessing a
drive foond-last directory entry
.br
2 bytes unused
.br
8 bytes time stamp for last directory entry
.sp
.RE
A time stamp consists of the K.
.LP
CP/M 2.2 only supports user numbers from 0\*(en15, but there is a patch for
extending this to 31 and some free CP/M clonommands may be executed.
.SH "SEE ALSO"
.IR mkfs.cpm (1),
.IR cpmls (1)
.\" Believe it or not, reportedly there are nroffs whichck pointers (16 byte values if disk capacity less than 256
K, 8 little-endian two-byte values else)
.sp
.RE
File name and extense byte 2: date stamp (ZSDOS), background-only commands (Backgrounder II)
.br
File name byte 7: wheel protect (ZSDOS)
.br
Extensir the first time, CP/M builds this bitmap in core from the directory.
.LP
The directory is a sequence of directory entries (also two dates of the last update and of the creation
of a file. Each date is stored as:
.RS
.sp
2 bytes (little-endian) days sincees support 0\*(en31 without
patches.
.LP
CP/M 2.2 does not support time stamps, but P2DOS does.
Its time stamps are stored in
ea do not know \(en
.if n .ds en -
.if t .ds en \(en
.TH CPM 5 "January 16, 1997" "CP/M tools" "File formats"
.SH NAME
cpm \- CP/Mion may consist of any printable 7 bit ASCII character
but: \fB< > . , ; : = ? * [ ]\fP. Both are padded with blanks.
.LP
A filon byte 0: read-only
.br
Extension byte 1: system file
.sp
Extension byte 2: archived
.RE
Public files (visible under each user called extents), which have the following
structure:
.RS
.sp
1 byte status (0xe5 \(-> free, 0\*(en31 \(-> user number, used and 01-01-1978
.br
1 byte hour in BCD format
.br
1 byte minute in BCD format
.sp
.RE
The highest bit of each character of the file disk and file system format
.SH DESCRIPTION
Each CP/M disk format is described by the following specific sizes:
.RS
.sp
Sector extension may consist of any printable 7 bit ASCII character
but: \fB< > . , ; : = ? * [ ]\fP. Both are padded with blanks.
.LP (also called extents), which have the following
structure:
.RS
.sp
1 byte status (0xe5 \(-> free, 0\*(en31 \(-> user number, us since 01-01-1978
.br
1 byte hour in BCD format
.br
1 byte minute in BCD format
.sp
.RE
The highest bit of each character of thecontains three areas:
.RS
.sp
System tracks (optional)
.br
Directory
.br
Data
.sp
.RE
The system tracks store the boot loader an in
each fourth directory entry, which contains the update and create time
stamps for the files in the previous three directory size in bytes
.br
Number of tracks
.br
Number of sectors
.br
Block size
.br
Number of directory entries
.br
Logical sector skew
A file may use more than one directory entry, if it contains more blocks
than an extent can hold. In this case, more extents aed and 0x21 \(-> timestamps)
.br
8 bytes file name, padded with blanks
.br
3 bytes file extension, padded with blanks
.br
1 byte file name and extension is used
as attribute. The attributes have the following meaning:
.RS
.sp
File name byte 0: requires sed CP/M itself. In order to save
disk space, there are non-bootable formats which omit those system tracks.
The term \fIdisk capentries:
.RS
.sp
1 byte status
.br
8 bytes time stamp for third-last directory entry
.br
2 bytes unused
.br
8 bytes time stamp f.br
Number of reserved system tracks
.sp
.RE
A block is the smallest allocatable storage unit. CP/M supports block
sizes of 102re allocated and each
of them is numbered sequentially (extent number). One extent may store up to
128 records, thus using at m extent number for this file
.br
2 bytes unused
.br
1 byte record count for this extent (a record contains 128 bytes)
.br
16 bytt wheel byte (Backgrounder II)
.br
File name byte 1: public file (P2DOS, ZSDOS), forground-only command (Backgrounder II)
.br
Fiacity\fP always excludes the space for system tracks.
Note that there is no bitmap or list for free blocks. When accessing a
dror second-last directory entry
.br
2 bytes unused
.br
8 bytes time stamp for last directory entry
.sp
.RE
A time stamp consists 4, 2048, 4096, 8192 and 16384 bytes. Unfortunately, this
format specification is not stored on the disk and there are lots of
fost 16 K.
.LP
CP/M 2.2 only supports user numbers from 0\*(en15, but there is a patch for
extending this to 31 and some free CP/es block pointers (16 byte values if disk capacity less than 256
K, 8 little-endian two-byte values else)
.sp
.RE
File name and le name byte 2: date stamp (ZSDOS), background-only commands (Backgrounder II)
.br
File name byte 7: wheel protect (ZSDOS)
.br
Eive for the first time, CP/M builds this bitmap in core from the directory.
.LP
The directory is a sequence of directory entriesof the two dates of the last update and of the creation
of a file. Each date is stored as:
.RS
.sp
2 bytes (little-endian) daysormats. Accessing a block is performed by accessing its sectors, which
are stored with the given logical skew.
.LP
A CP/M disk M clones support 0\*(en31 without
patches.
.LP
CP/M 2.2 does not support time stamps, but P2DOS does.
Its time stamps are storedxtension byte 0: read-only
.br
Extension byte 1: system file
.sp
Extension byte 2: archived
.RE
Public files (visible under eachg a
drive for the first time, CP/M builds this bitmap in core from the directory.
.LP
The directory is a sequence of directory es of
formats. Accessing a block is performed by accessing its sectors, which
are stored with the given logical skew.
.LP
A CP/Mee CP/M clones support 0\*(en31 without
patches.
.LP
CP/M 2.2 does not support time stamps, but P2DOS does.
Its time stamps are - CP/M disk and file system format
.SH DESCRIPTION
Each CP/M disk format is described by the following specific sizes:
.RS
.sp
Se and extension may consist of any printable 7 bit ASCII character
but: \fB< > . , ; : = ? * [ ]\fP. Both are padded with blank user number) are not supported by CP/M
2.2, but (you probably guessed that by now) there is a patch and some
free CP/M clones sntries (also called extents), which have the following
structure:
.RS
.sp
1 byte status (0xe5 \(-> free, 0\*(en31 \(-> user numb disk contains three areas:
.RS
.sp
System tracks (optional)
.br
Directory
.br
Data
.sp
.RE
The system tracks store the boot loastored in
each fourth directory entry, which contains the update and create time
stamps for the files in the previous three direector size in bytes
.br
Number of tracks
.br
Number of sectors
.br
Block size
.br
Number of directory entries
.br
Logical sectors.
.LP
A file may use more than one directory entry, if it contains more blocks
than an extent can hold. In this case, more extupport them without any patches.
.LP
The wheel byte is (by default) the memory location at 0x4b. If it is
zero, only non-priviler, used and 0x21 \(-> timestamps)
.br
8 bytes file name, padded with blanks
.br
3 bytes file extension, padded with blanks
.br
der and CP/M itself. In order to save
disk space, there are non-bootable formats which omit those system tracks.
The term \fIdictory entries:
.RS
.sp
1 byte status
.br
8 bytes time stamp for third-last directory entry
.br
2 bytes unused
.br
8 bytes time s skew
.br
Number of reserved system tracks
.sp
.RE
A block is the smallest allocatable storage unit. CP/M supports block
sizes ents are allocated and each
of them is numbered sequentially (extent number). One extent may store up to
128 records, thus usineged commands may be executed.
.SH "SEE ALSO"
.IR mkfs.cpm (1),
.IR cpmls (1)
.\" Believe it or not, reportedly there are nroffs1 byte extent number for this file
.br
2 bytes unused
.br
1 byte record count for this extent (a record contains 128 bytes)
.br
sk capacity\fP always excludes the space for system tracks.
Note that there is no bitmap or list for free blocks. When accessintamp for second-last directory entry
.br
2 bytes unused
.br
8 bytes time stamp for last directory entry
.sp
.RE
A time stamp conof 1024, 2048, 4096, 8192 and 16384 bytes. Unfortunately, this
format specification is not stored on the disk and there are lotg at most 16 K.
.LP
CP/M 2.2 only supports user numbers from 0\*(en15, but there is a patch for
extending this to 31 and some fr which do not know \(en
.if n .ds en -
.if t .ds en \(en
.TH CPM 5 "January 16, 1997" "CP/M tools" "File formats"
.SH NAME
cpm \16 bytes block pointers (16 byte values if disk capacity less than 256
K, 8 little-endian two-byte values else)
.sp
.RE
File namsists of the two dates of the last update and of the creation
of a file. Each date is stored as:
.RS
.sp
2 bytes (little-endiansizes of 1024, 2048, 4096, 8192 and 16384 bytes. Unfortunately, this
format specification is not stored on the disk and there anroffs which do not know \(en
.if n .ds en -
.if t .ds en \(en
.TH CPM 5 "January 16, 1997" "CP/M tools" "File formats"
.SH NAME)
.br
16 bytes block pointers (16 byte values if disk capacity less than 256
K, 8 little-endian two-byte values else)
.sp
.RE
Fi
.br
Extension byte 0: read-only
.br
Extension byte 1: system file
.sp
Extension byte 2: archived
.RE
Public files (visible undecessing a
drive for the first time, CP/M builds this bitmap in core from the directory.
.LP
The directory is a sequence of direc) days since 01-01-1978
.br
1 byte hour in BCD format
.br
1 byte minute in BCD format
.sp
.RE
The highest bit of each character re lots of
formats. Accessing a block is performed by accessing its sectors, which
are stored with the given logical skew.
.LP
cpm \- CP/M disk and file system format
.SH DESCRIPTION
Each CP/M disk format is described by the following specific sizes:
.RSle name and extension may consist of any printable 7 bit ASCII character
but: \fB< > . , ; : = ? * [ ]\fP. Both are padded withr each user number) are not supported by CP/M
2.2, but (you probably guessed that by now) there is a patch and some
free CP/M cltory entries (also called extents), which have the following
structure:
.RS
.sp
1 byte status (0xe5 \(-> free, 0\*(en31 \(-> useof the file name and extension is used
as attribute. The attributes have the following meaning:
.RS
.sp
File name byte 0: requiA CP/M disk contains three areas:
.RS
.sp
System tracks (optional)
.br
Directory
.br
Data
.sp
.RE
The system tracks store the bo
.sp
Sector size in bytes
.br
Number of tracks
.br
Number of sectors
.br
Block size
.br
Number of directory entries
.br
Logical blanks.
.LP
A file may use more than one directory entry, if it contains more blocks
than an extent can hold. In this case, moones support them without any patches.
.LP
The wheel byte is (by default) the memory location at 0x4b. If it is
zero, only non-r number, used and 0x21 \(-> timestamps)
.br
8 bytes file name, padded with blanks
.br
3 bytes file extension, padded with blankres set wheel byte (Backgrounder II)
.br
File name byte 1: public file (P2DOS, ZSDOS), forground-only command (Backgrounder II)
ot loader and CP/M itself. In order to save
disk space, there are non-bootable formats which omit those system tracks.
The termsector skew
.br
Number of reserved system tracks
.sp
.RE
A block is the smallest allocatable storage unit. CP/M supports block
re extents are allocated and each
of them is numbered sequentially (extent number). One extent may store up to
128 records, thuprivileged commands may be executed.
.SH "SEE ALSO"
.IR mkfs.cpm (1),
.IR cpmls (1)
.\" Believe it or not, reportedly there are s
.br
1 byte extent number for this file
.br
2 bytes unused
.br
1 byte record count for this extent (a record contains 128 bytes.br
File name byte 2: date stamp (ZSDOS), background-only commands (Backgrounder II)
.br
File name byte 7: wheel protect (ZSDOS) \fIdisk capacity\fP always excludes the space for system tracks.
Note that there is no bitmap or list for free blocks. When acs using at most 16 K.
.LP
CP/M 2.2 only supports user numbers from 0\*(en15, but there is a patch for
extending this to 31 and sy non-privileged commands may be executed.
.SH "SEE ALSO"
.IR mkfs.cpm (1),
.IR cpmls (1)
.\" Believe it or not, reportedly therr II)
.br
File name byte 2: date stamp (ZSDOS), background-only commands (Backgrounder II)
.br
File name byte 7: wheel protect (e term \fIdisk capacity\fP always excludes the space for system tracks.
Note that there is no bitmap or list for free blocks. Wmp consists of the two dates of the last update and of the creation
of a file. Each date is stored as:
.RS
.sp
2 bytes (little-block
sizes of 1024, 2048, 4096, 8192 and 16384 bytes. Unfortunately, this
format specification is not stored on the disk and tome free CP/M clones support 0\*(en31 without
patches.
.LP
CP/M 2.2 does not support time stamps, but P2DOS does.
Its time stampe are nroffs which do not know \(en
.if n .ds en -
.if t .ds en \(en
.TH CPM 5 "January 16, 1997" "CP/M tools" "File formats"
.SZSDOS)
.br
Extension byte 0: read-only
.br
Extension byte 1: system file
.sp
Extension byte 2: archived
.RE
Public files (visiblhen accessing a
drive for the first time, CP/M builds this bitmap in core from the directory.
.LP
The directory is a sequence ofendian) days since 01-01-1978
.br
1 byte hour in BCD format
.br
1 byte minute in BCD format
.sp
.RE
The highest bit of each charhere are lots of
formats. Accessing a block is performed by accessing its sectors, which
are stored with the given logical skews are stored in
each fourth directory entry, which contains the update and create time
stamps for the files in the previous threH NAME
cpm \- CP/M disk and file system format
.SH DESCRIPTION
Each CP/M disk format is described by the following specific sizee under each user number) are not supported by CP/M
2.2, but (you probably guessed that by now) there is a patch and some
free C directory entries (also called extents), which have the following
structure:
.RS
.sp
1 byte status (0xe5 \(-> free, 0\*(en31 \(acter of the file name and extension is used
as attribute. The attributes have the following meaning:
.RS
.sp
File name byte 0:.
.LP
A CP/M disk contains three areas:
.RS
.sp
System tracks (optional)
.br
Directory
.br
Data
.sp
.RE
The system tracks store e directory entries:
.RS
.sp
1 byte status
.br
8 bytes time stamp for third-last directory entry
.br
2 bytes unused
.br
8 bytes s:
.RS
.sp
Sector size in bytes
.br
Number of tracks
.br
Number of sectors
.br
Block size
.br
Number of directory entries
.br
LoP/M clones support them without any patches.
.LP
The wheel byte is (by default) the memory location at 0x4b. If it is
zero, onl-> user number, used and 0x21 \(-> timestamps)
.br
8 bytes file name, padded with blanks
.br
3 bytes file extension, padded with requires set wheel byte (Backgrounder II)
.br
File name byte 1: public file (P2DOS, ZSDOS), forground-only command (Backgroundethe boot loader and CP/M itself. In order to save
disk space, there are non-bootable formats which omit those system tracks.
Thtime stamp for second-last directory entry
.br
2 bytes unused
.br
8 bytes time stamp for last directory entry
.sp
.RE
A time stagical sector skew
.br
Number of reserved system tracks
.sp
.RE
A block is the smallest allocatable storage unit. CP/M supports blanks
.br
1 byte extent number for this file
.br
2 bytes unused
.br
1 byte record count for this extent (a record contains 128yte 0: requires set wheel byte (Backgrounder II)
.br
File name byte 1: public file (P2DOS, ZSDOS), forground-only command (Backgbytes time stamp for second-last directory entry
.br
2 bytes unused
.br
8 bytes time stamp for last directory entry
.sp
.RE
A ti.br
Logical sector skew
.br
Number of reserved system tracks
.sp
.RE
A block is the smallest allocatable storage unit. CP/M sups, thus using at most 16 K.
.LP
CP/M 2.2 only supports user numbers from 0\*(en15, but there is a patch for
extending this to 31o, only non-privileged commands may be executed.
.SH "SEE ALSO"
.IR mkfs.cpm (1),
.IR cpmls (1)
.\" Believe it or not, reportedl bytes)
.br
16 bytes block pointers (16 byte values if disk capacity less than 256
K, 8 little-endian two-byte values else)
.sp
rounder II)
.br
File name byte 2: date stamp (ZSDOS), background-only commands (Backgrounder II)
.br
File name byte 7: wheel prome stamp consists of the two dates of the last update and of the creation
of a file. Each date is stored as:
.RS
.sp
2 bytes (lports block
sizes of 1024, 2048, 4096, 8192 and 16384 bytes. Unfortunately, this
format specification is not stored on the disk and some free CP/M clones support 0\*(en31 without
patches.
.LP
CP/M 2.2 does not support time stamps, but P2DOS does.
Its timey there are nroffs which do not know \(en
.if n .ds en -
.if t .ds en \(en
.TH CPM 5 "January 16, 1997" "CP/M tools" "File forma.RE
File name and extension may consist of any printable 7 bit ASCII character
but: \fB< > . , ; : = ? * [ ]\fP. Both are paddetect (ZSDOS)
.br
Extension byte 0: read-only
.br
Extension byte 1: system file
.sp
Extension byte 2: archived
.RE
Public files (ittle-endian) days since 01-01-1978
.br
1 byte hour in BCD format
.br
1 byte minute in BCD format
.sp
.RE
The highest bit of eac and there are lots of
formats. Accessing a block is performed by accessing its sectors, which
are stored with the given logica stamps are stored in
each fourth directory entry, which contains the update and create time
stamps for the files in the previouts"
.SH NAME
cpm \- CP/M disk and file system format
.SH DESCRIPTION
Each CP/M disk format is described by the following specifid with blanks.
.LP
A file may use more than one directory entry, if it contains more blocks
than an extent can hold. In this cavisible under each user number) are not supported by CP/M
2.2, but (you probably guessed that by now) there is a patch and some
h character of the file name and extension is used
as attribute. The attributes have the following meaning:
.RS
.sp
File name bl skew.
.LP
A CP/M disk contains three areas:
.RS
.sp
System tracks (optional)
.br
Directory
.br
Data
.sp
.RE
The system tracks s three directory entries:
.RS
.sp
1 byte status
.br
8 bytes time stamp for third-last directory entry
.br
2 bytes unused
.br
8 c sizes:
.RS
.sp
Sector size in bytes
.br
Number of tracks
.br
Number of sectors
.br
Block size
.br
Number of directory entries
se, more extents are allocated and each
of them is numbered sequentially (extent number). One extent may store up to
128 recordfree CP/M clones support them without any patches.
.LP
The wheel byte is (by default) the memory location at 0x4b. If it is
zerstore the boot loader and CP/M itself. In order to save
disk space, there are non-bootable formats which omit those system tracrevious three directory entries:
.RS
.sp
1 byte status
.br
8 bytes time stamp for third-last directory entry
.br
2 bytes unused
his case, more extents are allocated and each
of them is numbered sequentially (extent number). One extent may store up to
128 some
free CP/M clones support them without any patches.
.LP
The wheel byte is (by default) the memory location at 0x4b. If it d with blanks
.br
1 byte extent number for this file
.br
2 bytes unused
.br
1 byte record count for this extent (a record containame byte 0: requires set wheel byte (Backgrounder II)
.br
File name byte 1: public file (P2DOS, ZSDOS), forground-only command ks.
The term \fIdisk capacity\fP always excludes the space for system tracks.
Note that there is no bitmap or list for free bloc.br
8 bytes time stamp for second-last directory entry
.br
2 bytes unused
.br
8 bytes time stamp for last directory entry
.sp
.Rrecords, thus using at most 16 K.
.LP
CP/M 2.2 only supports user numbers from 0\*(en15, but there is a patch for
extending thisis
zero, only non-privileged commands may be executed.
.SH "SEE ALSO"
.IR mkfs.cpm (1),
.IR cpmls (1)
ns 128 bytes)
.br
16 bytes block pointers (16 byte values if disk capacity less than 256
K, 8 little-endian two-byte values else(Backgrounder II)
.br
File name byte 2: date stamp (ZSDOS), background-only commands (Backgrounder II)
.br
File name byte 7: wheks. When accessing a
drive for the first time, CP/M builds this bitmap in core from the directory.
.LP
The directory is a sequeE
A time stamp consists of the two dates of the last update and of the creation
of a file. Each date is stored as:
.RS
.sp
2 by to 31 and some free CP/M clones support 0\*(en31 without
patches.
.LP
CP/M 2.2 does not support time stamps, but P2DOS does.
It)
.sp
.RE
File name and extension may consist of any printable 7 bit ASCII character
but: \fB< > . , ; : = ? * [ ]\fP. Both areel protect (ZSDOS)
.br
Extension byte 0: read-only
.br
Extension byte 1: system file
.sp
Extension byte 2: archived
.RE
Public fnce of directory entries (also called extents), which have the following
structure:
.RS
.sp
1 byte status (0xe5 \(-> free, 0\*(etes (little-endian) days since 01-01-1978
.br
1 byte hour in BCD format
.br
1 byte minute in BCD format
.sp
.RE
The highest bit s time stamps are stored in
each fourth directory entry, which contains the update and create time
stamps for the files in the p padded with blanks.
.LP
A file may use more than one directory entry, if it contains more blocks
than an extent can hold. In tiles (visible under each user number) are not supported by CP/M
2.2, but (you probably guessed that by now) there is a patch andn31 \(-> user number, used and 0x21 \(-> timestamps)
.br
8 bytes file name, padded with blanks
.br
3 bytes file extension, paddeof each character of the file name and extension is used
as attribute. The attributes have the following meaning:
.RS
.sp File