JDelekto: OK, that's interesting, does the data change between each read? I believe at the time, the easiest way to pirate software on cassette was a dub, most hardware at the time didn't have the 'care' to look for special markers.
rtcvb32: I guess i wasn't very specific on the data. The data is what i typed in. I remember while making my detokenizer that i could just user cload to get the data, and it loaded perfectly regardless of size. So i thought the reverse would be true with csave (
and saving as a cassette file)... And for very tiny sources i was experimenting with, that was fine (
under 128 bytes)...
However i didn't actually write cassette reading support in my detokenizer and so when it ran into the sector blocks (
the timers, the data blocks, the checksum) it just tried to decode it and would fail... Which comes to the 4 hours i wasted.
I thought maybe with some numbers it was making and referencing an array to save space, but when i looked at the raw memory in the Atari800 emulator, i didn't see those markers... making me realize it was part of the csave statement... Once i went to
a page going into the details and noticed the
0x55 0x55 marker reference, i knew my guess was correct. That just means my detokenizer now refuses to work on cassette files and you have to strip out the header and block information first (
which i wrote a little program for).
Excellent observation.