<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Tue, 13 Feb 1996 16:31:30 +0100
From   : Robert Schmidt <robert@...>
Subject: Tape decoding status

Reading the comments from you guys is really informative, thanks a lot.  And
I think I messed up a bit, by confusing the frequencies for "0" and "1".

Well, my program now works really well.  I have completely decoded a couple
of original tapes (Sentinel, Mr. Wimpy, The Hobbit), and some of my personal
BASIC hacks.  These hacks are stored on a standard C-60 music tape, which
has been overwritten and read a lot, so the signal is quite fuzzy, and I'm
getting problems.

This signal has more of a "sawtooth" shape.  That wouldn't matter much if
the signal remained centered on the zero line.  The real problem is that the
signal "drifts" up and down, making the distances between the up and down
flanks vary a *lot*, and the sawtooth shape makes the variations larger than
if it was sinusoidal.

I'm planning on implementing some simple adaption scheme, like subtracting
the average of the signal over the last (say) 3-5 BBC bits.  Sounds a bit
risky though, so other ideas are appreciated.

I am still working at 44.1 kHZ (mono, 8-bit).  I feel most comfortable with
such a high frequency, as I can easily see in a wave editor what spike or
flank is causing a problem.  And I decode WAV files as a post-process.  I
have no intention on wasting my time by trying to do this in real time.

My program can handle several BBC files in the same WAV file, as long as it
doesn't get confused by lots of noise in between.  I decoded the entire
Hobbit tape in one go.  The WAV was 22 MB, and the resulting 3 files
totalled about 40 KB...  how's that for compression!!!  :-)  I now compile
with VC++ 4.0 with optimization, and the decoding is about twice as fast as
the BBC takes to read from tape - good enough for me.

I also verify the CRCs of the data blocks (not the headers yet).  I "reverse
engineered" the AUG CRC 6502 code into C code...  it worked the first time!  

I'll soon make it available on my page.

robert

--
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 >>