Truly, the Good Book doth not lie!
The place for codemasters or beginners to talk about programming any language for the Spectrum.
If you really need a disk system, I'd go with +3DOS - despite it being limited in terms of hardware support. It has a nice and powerful API. On the other hand if all you need is a way of quick loading blocks of data, I'd go with the standard ROM tape loading routines and let people use modern devices that accelerate the whole process.
I meant if you wrote something that required one of the "new" tzx blocks that hardly anyone could be bothered to implement to correctly store it or something.
I suppose on a technicality the emulators would still support the loader as you could distribute it as a csw or wav file
If you use the ROM tape format, and give each file a unique name, then it's fairly trivial for anyone to convert it to whatever system they so desire. Working back in the other direction is more awkward
I use the turbo speed block (ID 11) for the main data and generalized data block (ID 19) for shortening the length of the pilot tone in the initial standard block. This can be easily replaced with a combination of pure tone/pulse sequence/pure data blocks (ID 12–14), or, in fact, a single turbo speed block (using standard lengths/pulses).
I do the latter (WAV files). Again, my turbo loader is meant for real hardware rather than emulators. Many people use their phones, PCs, digital music players, etc. to load games, so the WAV files are for them. In addition, there are apps for the PC/mobile that generate audio from TZX files on the fly. Plenty of options, in other words.