Spectrum floppy file format structure - Pera Putnik (PP) format
Used floppies are standard 3.5 inch double density (720K) diskettes. Sides are threaten separated, because of mechanical switch. 10 sector/track is used, so total capacity per side is 400 KB.
It is divided as follows (by sectors):
|0||Pointer to first free sector. Contains only 2 bytes - initially it is 10|
|1-9||Catalog of files on
side. Each file record contains 32 bytes,
so there is place for 9x16=144 files per disk side
|10-799||Data area. Here are placed files in order as they been recorded|
Minimum used length is 1 sector -
512 bytes. File from 7 bytes uses 1 sector, from 513 bytes 2
sectors etc. No fragmentation... But only last file can be
File record structure (by byte):
|0||Type. 0=Basic, 3=Code . Arrays are not supported|
|1-15||Name. Max length is 15 char. Lower case not equ. to capital (like in Unix)|
|16-17||Lenght of file in bytes|
|18-19||Begin address for code, Autostart line for Basic|
|20-21||Lenght of Basic program without variables|
|22-23||Start sector on disk side (logical)|
|24||Lenght in sectors (or used sectors count) for file - byte (Max len 96 sect=48KB)|
|25-26||Stack pointer - for snapshot|
|27-31||Not used, should be zero|
As you may see, first 22 byte is similar to standard Spectrum tape header, except that name lenght is enlarged to 15 chars.
Additional entries are for file position on disk & snapshot.
Pera Putnik firstname.lastname@example.org