Hi,

> Where can I find a description of the .cas file format.

The cas format is the result of bypassing the following BIOS calls:

00E1 - TAPION
00E4 - TAPIN
00EA - TAPOON
00ED - TAPOUT

If you call the TAPION function, the BIOS will read from tape untill it has
found a header, and all of the header is read. The TAPOUT function will
output a header. In the cas format the header is encoded to these 8 bytes:

 1F A6 DE BA CC 13 7D 74

These bytes have to be at a position that can be divided by 8; e.g. 0000,
0008, 0010 etc. If not, the byte sequence is not recognised as a header.

When outputting data to tape with the BIOS calls TAPOUT the bytes are
written to the .cas file, nothing fancy is done with the bytes (unlike on a
real tape where the byte would be fsk encoded with 1 start bit and 2 stop
bits).

Because the cas file format is the product of some BIOS hooks not all tapes
can be converted to this format. For example, if you would take a gremlin
tape, the data on the tape is encoded entirely differently than the BIOS
would have done (you can hear the different modulation in the sound). The
loader included on the tape writes and reads directly from the tape without
using the bios, but using the IO ports.

You can take a look at the source castools package and example cas files at:
http://www.igr.nl/users/vincentd/tools.html
http://jove.prohosting.com/~msxmania/index.cgi?tape

Good luck,

Vincent van Dam

--
For info, see http://www.stack.nl/~wynke/MSX/listinfo.html

Reply via email to