Doug Spence said:
Wow! I guess you really MUST be the senior software
engineer to have
a C64 dev station at work. :) (Not a comment on age, a comment on
being allowed to have cool toys at work.)
I have my office full of some of my favorite toys, and a large
selection of classic computer documentation. It's a great stress
reliever.
25.5K doesn't seem too bad, but after reading the
rest of your
description and the sample output from your program, maybe it *isn't*
good enough. The differences between the short and long pulses aren't
very big. You're using 15 samples as your cutoff between short and
long, and I see that 14, 15 and 16 appear. That's shaving it pretty
close!
Like I said, I stopped at this point, but you'll notice that once you
read pass the two cycles that make up the sync bit, the rest of the
cycles in that byte consist of one large cycle and one small cycle.
If you compare the cycle lengths IN PAIRS then the different in
small and large cycles becomes more pronounced and you can forget
about the 15 samples definition.(One has to be smaller than the other)
I didn't find the header format reference I mentioned, I do know that
the header is read into the cassette buffer and I believe that make it
about 191 or 192 bytes long.
I also know that when the header is loaded into the cassette buffer in
the C64:
$033D - Low byte of start address
$033E - High byte of start address
$033F - Low byte of ending address
$0340 - High byte of ending address
$0341 - Start of the filename
Looking at the printout I sent, it looks to me that the header starts
with 9 to 1 countdown, then the header ID number. I (again) believe that
01 is the ID for a program header and 04 is the ID for a data file
header. Then you have the start address (01 08 = $0801) and the ending
address (23 08 = $0823). Followed by the filename.
--Doug
====================================================
Doug Coward dcoward(a)pressstart.com (work)
Sr. Software Eng. mranalog(a)home.com (home)
Press Start Inc.
http://www.pressstart.com
Sunnyvale,CA
====================================================