[abc80] Copying ABC-80 data tapes

H. Peter Anvin hpa at zytor.com
Tors Juli 26 14:12:03 PDT 2018


On 07/21/18 03:20, Robert Juhasz wrote:
> Läser man vidare på s167 blir algoritmen ganska enkel:
> 
> - läs in wav-fil
> - derivera (+ev filtrera, kanske bestäm flankamplituder adaptivt genom att kolla hur stora de är i medeltal)
> - hitta första flanken
> - finns en flank till 0.4-0.8 ms efteråt är det en 1a 
> - är det tyst är det en nolla
> - kommer det inte nån ny flank efter ca 1.2 ms var det nog inte data utan skräp (om vi letar efter start på blocket), alt. slut på blocket
> - när man sen har sina bitströmmar uppdelade i block kodar man av blocken till bytes och filer enligt s194-5
> 
> Klart! ;)
> 

Det är precis den algoritmen som själva ABC80 använder.

Den "deriverande kretsen" i ABC80 är helt enkelt ett högpassfilter med
en -3 dB-frekvens på 1600 Hz.  Därifrån detekteras både höga och låga
flanker som pulser i positiv och negativ riktning; de två sedan
kombineras till en digital ström där input blir 0 när en flank
detekteras (viktigt om man vill mata det till en simulator.)


ABC800 använder samma format men i 2400 bps i stället för 700 bps efter
det första blocket, om en bit är satt i headern som visar att det blivit
inspelat på ABC800 i stället för ABC80. Det är väl det lurigaste med det
hela: 2400 bps torde ha problem med att anända ett 1600 Hz högpassfilter
för flankdetektion; å andra sidan lär jag mig ha sett att en del lyckats
köra 2400 bps kassett på en riktig ABC80.  Tror dock att en smartare
algorithm borde vara bättre.

Jag skulle köra ett bandpassfilter med brytpunkter på kanske 400 och
8000 Hz och kolla flankdetektion genom explicita nollgenomgångar.

Vad jag inte vet är vilken sampling rate som ni kunnat köra en vaw-fil
från en riktig kassett, i synnerhet inspelat på ABC800.  Om den ligger
under 22050/24000 Hz så bör övre brytpunkten ligga tillräckligt långt
under Nyquist-frekvensen = halva samplingsfrekvensen, så kanske 3000 Hz
för 8 kHz sampling och 4000 Hz för 11 kHz sampling.

	-hpa



More information about the ABC80 mailing list