Hacker News new | ask | show | jobs
by praptak 777 days 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.
1 comments

Technical details: https://sinclair.wiki.zxnet.co.uk/wiki/Spectrum_tape_interfa...

Assembly: 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.