The last official version of the Sinclair ZX Spectrum was the +3, released after the company was owned by Amstrad. It included a 3-inch floppy disk drive as used on other Amstrad computers.
But even before this, several aftermarket companies released floppy drive interfaces/controllers. Though there was variation I have read that one format, TR-DOS became a de-facto standard.
For emulation purposes I can find documentation on the file formats used for disk images of both +3 and TR-DOS.
But so far I can't find anything on the format of the files stored on those disks.
I'm assuming the format has to differ from that of files saved on cassette tapes since those require things such as synchronization tones.
Where can I find documentation of the file format of machine code files stored on these offical and de-facto standard Spectrum disk drives? Or if they're simple as I expect they are, we can probably just include it in an answer.
In particular, I'm expecting there might be a header including an address in RAM where the code will be loaded, a length field, an address in RAM where code execution is to begin, perhaps there's a magic word identifier?
I don't even know if such files execute automatically as soon as they're loaded or if you must load them with one command and start them with another.
I only ever owned an original 48K Spectrum. I'd already moved onto the Amiga 1000 by the time these later Spectrums were available so I never used them.
*.P
for BASIC and*.B
for code or binary data ...