CD-tape format

From: Marko Mäkelä (msmakela_at_cc.hut.fi)
Date: 1999-10-20 10:24:18

I figured out that some sort of a header is definitely required for
letting the reception loop synchronize with the CD output.  Which pattern
would be most useful?  It doesn't necessarily need to be indistinguishable
from raw data.  Maybe an alternating signal of 512 samples (256 would be
enough for detecting the beginning of the header, and the rest would be
used for synchronization) followed by a pause of a fixed amount of samples
(say, 10), after which the reception will begin.

There would be two data blocks per file.  The first data block (called the
data header) would contain the file name, starting and ending addresses
and the execution address ($ffff could mean "start as a BASIC program").
The second block (called the raw data) would contain the data bytes.  
Both blocks would be preceded by the synchronization header.

There would be one routine for data reception.  The same routine can be
used both for reading the data header and for reading the raw data.  The
data header should have a checksum or something, so that if raw data is
accidentally read as a data header, it will be detected, and the loader
can jump to the reception subroutine again to retry.

How does this sound?  It'd be around (512+10)*2 = 1044 samples (24
milliseconds) of overhead per file, plus the length of the header (around
30 bytes or 300 samples).  Is 12 milliseconds long enough so that one can
detect the start of a data block by listening to the audio signal?

Martijn, have you already heated up the soldering iron?  I'll need the
circuit in order to proceed.

	Marko

-
This message was sent through the cbm-hackers mailing list.
To unsubscribe: echo unsubscribe | mail cbm-hackers-request@dot.tcm.hut.fi.

Archive generated by hypermail 2.1.1.