[Coco] Re: Rainbow on Tape/Disk

Nathan Woods npwoods at cybercom.net
Tue Jun 14 12:34:14 EDT 2005

tim lindner writes: 

> .cas files are destructive. They remove critical timing information
> neded when reading the data on real hardware. I suggest advoiding the
> format. 
> Nathan Woods, can you back me up on this?

CAS files are not inherently destructive per se, it is just that they cannot 
be interpreted as a pure stream of 1200/2400 Hz pulses if you want to be 
compatible with whats out there. 

Once upon a time, MESS interpreted CAS files as a literal stream of pulses 
of the appropriate frequency, and complaints flooded in about how it 
couldn't read half of the CAS files floating around on the internet.  The 
reason was that Jeff's emulator reads and writes CAS data on a bit by bit 
basis without regards to the timing.  In other words, if it takes X writes 
to complete the sine wave, the output will be a '0' and if it takes Y writes 
to complete the sine wave, the output will be a '1'.  In the meantime, if 
there is a delay after a block is written, this gap will not be visible in 
the CAS file.  Jeff's emulator doesn't mind because since no reads occur 
during that gap, the gap becomes invisible. 

To get CAS files to load properly in MESS, we had to do a very elaborate 
scheme whereby the cassette "file system" is identified and so that 
simulated gaps could be inserted.  It was quite irritating. 

The alternative to using CAS files is using WAV files, but at an absurdly 
low resolution (i.e. - 2-4 bits per sample).  The CoCo doesn't mind because 
it only cares about the pulse being positive or negative.  Such files 
compress extremely well and are not that much larger than CAS files. 


More information about the Coco mailing list