651
edits
Line 45: | Line 45: | ||
swa: Address of routine to write a sector | swa: Address of routine to write a sector | ||
</pre> | </pre> | ||
When the +3e creates a [[IDEDOS#Partition Type 0x03 - +3DOS|+3DOS hard disk partition]] it stores the first 28 bytes of the eXDPB in the type specific data section of the partition table entry. | |||
The values for the parameters are set as follows: | |||
<pre> | |||
SPT: always 0x0200 | |||
BSH: dependent upon the size of the partition | |||
BLM: dependent upon the size of the partition | |||
EXM: dependent upon the size of the partition | |||
DRM: always 0x01FF | |||
AL0: dependent upon the size of the partition | |||
AL1: always 0x00 | |||
CKS: always 0x8000 | |||
OFF: always 0x0000 | |||
PSH: always 0x02 | |||
PHM: always 0x03 | |||
fl1: always 0x00 | |||
tps: dependent upon the size of the partition | |||
spt: always 0x80 | |||
fst: always 0x00 | |||
ssz: always 0x0200 | |||
glr: always 0x00 | |||
glf: always 0x00 | |||
fl2: always 0x00 | |||
fzf: always 0x00 | |||
</pre> | |||
The following table shows relationship between disk parameters and partition size: | |||
{| class="wikitable" style="text-align: center;" | |||
|- | |||
!Partition size | |||
!Block size | |||
!BSH!!BLM!!EXM!!AL0 | |||
|- | |||
|1-4 MB||2 kB||0x04||0x0F||0x00||0xFF | |||
|- | |||
|5-8 MB||4 kB||0x05||0x1F||0x01||0xF0 | |||
|- | |||
|9-16 MB||8 kB||0x06||0x3F||0x03||0xC0 | |||
|} | |||
The number of tracks per size (tps) is equal to the partition size in megabytes multiplied by sixteen, e.g. 0x30 for a 3 megabyte partition. The exception to this is the case of a 16 megabyte partition which sets the tps parameter to 0xFF; the maximum value it can store. This means that the filesystem is actually slightly less than 16 megabytes (64kB less to be precise). | |||
== BASIC extensions == | == BASIC extensions == | ||
== Mass storage == | == Mass storage == |