<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Mon, 12 Feb 1996 13:58:47 +0100
From   : Robert Schmidt <robert@...>
Subject: Re: Decoding BBC tapes...

>I think the BBC's tape format should be fairly easy to decode. It uses a
>really basic FSK (ie, serial data with one frequency to represent 0 and
>another to represent 1, probably both fairly crude squarewaves), so if you
>count zero-crossings of the waveform over a shortish time period, you will
>probably get two distinct values which correspond to the two frequencies
>used to record the serial tape data-stream. You can therefore quite easily
>convert the WAV file into a serial bitstream. 

The waveform is pretty sinusoidal.  I found that to reliably detect
zero-crossings and to reliably distinguish "0" (frequency F) and "1"
(frequency F/2), a sample rate of 44.1 kHz is "neccessary".  I'm having a
small problem with noise, and I need a sampling program which does not
include disturbing clicks when it switches from one buffer to the next.

>You then need to recover the byte stream from this, which is slightly
>harder but you don't have to be too intelligent about it. (Since you know
>the bitstream is either 300 or 1200 baud?)

I have successfully recovered the bytes and the 4 blocks of the first file
on my "Sentinel" (the Tempest clone) tape.  The process is quite slow,
though.  The sample of those 4 blocks consumed nearly 1 MB, and my program
spends around 30-40 seconds scanning it - actually even much slower than the
BBC reads the tapes!

>If you *then* want to process the byte stream to get at the file directly,
>you could just emulate the beeb's UART with the recovered byte stream as a
>data source, and use the OS to decode for you. 

The block format is simple enough to decode "by hand" (in C, that is).  The
problem is reliably detecting bits.

>If you want to do this by
>hand I think the tape block format is described in the UG/AUG (my copies
>of which are ~160miles away at the moment). 

I have the AUG handy - it was that which got me going.

If anyone of you have hints to improve my program, let me know.  I can post
the current source to the list if you want to, or I can send it to
individuals (around 6-8 KB).

Regards,

--
Robert Schmidt - robert@...         - http://www.idt.unit.no/~robert
	
	Maintainer of "The BBC lives!" page:  
	http://www.idt.unit.no/~robert/bbc/bbc.html


<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>