Since there's so much interest in the tape routines - there's a chapter on them at http://www.ctalkobt.net/ToolkitKernal.pdf that may be of interest (Note: limited link availability / subject to moving - valid for next 2 weeks). On Tue, Apr 7, 2009 at 2:17 PM, Marko Mäkelä <msmakela@gmail.com> wrote: > On Tue, Apr 07, 2009 at 09:47:06AM -0400, Ethan Dicks wrote: > > On Mon, Apr 6, 2009 at 4:30 PM, Marko Mäkelä <msmakela@gmail.com> wrote: > > > Please have a look at the c2n source code. That program will decode > and > > > encode Commodore tape images... > > > > > > ...Commodore format, because each block is set twice > > > and because there are three different pulse widths in use, as opposed > to > > > two. It's easy to detect byte boundaries. To decode these broken > tapes > > > (mostly BASIC programs), I wrote a Perl script to decode the pulse > stream > > > and edited the binary in GNU Emacs. > > > > This sounds interesting to me - I have a number of tapes that I've > > already read in and archived the contents of on modern machines > > (mostly stuff I wrote, but a few commercial tapes I bought in the late > > 1970s), but I probably have a small stack of tapes that had read > > errors, at least one of which is commercial (and occasionally had read > > problems back in the day). > > Can you archive the problematic tapes in the *.tap format? That should be > enough for decoding. If the *.tap files are too corrupted, then you could > try playing with the azimuth settings or sample it in PCM format (*.wav) > and use an appropriate digital filter. A few years ago, I made some > experiments with TAPir <http://tapir.sourceforge.net/>, but I can't > remember > if it was of any use to me. I didn't try to mess around with the stereo > head of the analog tape deck that I used. > > > > If you want to see a slow format, try KIM-1. :-) It's also supported > by > > > the "c2n" program. > > > > I don't have any KIM tapes (though I do have a MicroKIM), but I do > > have a number of "PET Rabbit"-format tapes. I have the Rabbit program > > on ROM and on C= tape but have not yet attempted to reverse-engineer > > it. What sort of information would I have to know about the format to > > consider adding it to the c2n program? I doubt there's m uch > > documentation about it already, so I'm guessing I'll have to get the > > code to tell me. > > There are four decoder functions implemented so far: decode and decode264 > in decode.c, decode_kim in kim_d.c and decode_oric in oric_d.c. You could > start by studying the decoders in decode.c. > > Hmm, I seem to remember that I once encountered VIC Rabbit. Sure enough, > I even documented the format: > > http://www.zimmers.net/anonftp/pub/cbm/vic20/roms/tools/4k/Rabbit.txt > > I probably wrote some throw-away Perl one-liners to decode the samples > that I produced with the cartridge image. I must have run the "save" > command on the VIC-20 and sampled the pulses with the C2N232 directly > from the tape port, without going through analog tape. If the PET Rabbit > is anything like Vic Rabbit, I wish you luck. > > Basically, the decoding can be divided to four steps: > > (1) sample the tape > (2) detect edges or pulses from the samples > (3) quantize the pulse widths to symbols B, C, D (using the c2n232 > notation) > (4) decode the string of symbols to binary > > The decoder functions in the "c2n" program implement step (4). > > I hope that this helps. > > Marko > > > Message was sent through the cbm-hackers mailing list > -- ------------------------------------------- Craig Taylor ctalkobt@ctalkobt.net Message was sent through the cbm-hackers mailing listReceived on 2009-04-07 21:57:27
Archive generated by hypermail 2.2.0.