Ezt hogyan sikerült?
Saját fejlesztésű, meglehetősen kezdetleges és nem felhasználóbarát PC-s programokkal

Először kiírtam egy file-ba az impulzus hosszúságokat (a pozitív->negatív nulla átmenetek közötti hangminták számát) a 176.4 kHz mintavételezési frekvenciára konvertált r6-8bit.wav-ból, és megkerestem az alábbiak hosszát (az EXOS formátumnál természetesen már adottak):
- bevezetőjel
- szinkron bit
- 0 bit
- 1 bit
A hosszúságok ugyan nem egészen pontosak, de a TZX file működik. A dekódolásnál nem foglalkoztam a blokk adatok tartalmával (file név, CRC, stb.), elég volt egyszerűen megkeresni a bevezetőjelet, a szinkron bitet, és az azt követő byte sorozatot, illetve a szünetek hosszát. A TZX "turbós" blokkhoz az alábbi fejlécet kell kiírni a file-ba:
0x00 - WORD Length of PILOT pulse
0x02 - WORD Length of SYNC first pulse
0x04 - WORD Length of SYNC second pulse
0x06 - WORD Length of ZERO bit pulse
0x08 - WORD Length of ONE bit pulse
0x0A - WORD Length of PILOT tone (number of pulses)
0x0C - BYTE Used bits in the last byte (other bits should be 0) {8}
(e.g. if this is 6, then the bits used (x) in the last byte are: xxxxxx00, where MSb is the leftmost bit, LSb is the rightmost bit)
0x0D - WORD Pause after this block (ms.)
0x0F N BYTE[3] Length of data that follow
Ez megfelel az EXOS formátumhoz is, csak a byte-okon belül a bitek sorrendje fordított lesz. A blokk fejlécet követően kiírtam az összes dekódolt adat byte-ot.