3 ms·
There was no error correction on ZX Spectrum, the protocol was very simple. IIRC a square wave with next bit encoded as timing of next edge, the last byte was X
by praptak 2y ago
There was no error correction on ZX Spectrum, the protocol was very simple. IIRC a square wave with next bit encoded as timing of next edge, the last byte was XOR of the whole stream serving as error detection.
- zimpenfish 2y agoTechnical details: https://sinclair.wiki.zxnet.co.uk/wiki/Spectrum_tape_interface https://sinclair.wiki.zxnet.co.uk/wiki/Spectrum_tape_interfa... Assembly: https://worldofspectrum.net/legacy-info/spectrum-rom-load-routine/ https://worldofspectrum.net/legacy-info/spectrum-rom-load-ro... TL;DR: > A '0' bit is encoded as 2 pulses of 855 T-states each. > A '1' bit is encoded as 2 pulses of 1710 T-states each (ie. twice the length of a '0') > A 'pulse' here is either a mark or a space, so 2 pulses makes a complete square wave cycle.