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.