Since the peripheral dumps made raw data pack wav files necessary for cassette support I got an Adam data cassette and have been trying to figure out the format.
Physical form factor:
The cassette has two extra alignment holes that only allow the cassette can only go into the drive one way.
The drive holes in a different position from a standard audio cassette. Reading it in a cassette player requires moving the tape to a standard case or drilling a couple of holes.
The tape has two data tracks. Reading the second can be done by flipping the tape over and then reversing the recorded audio.
Data (if anybody's interested in an odd tape format):
A zero is encoded as a two flux transitions at a lower frequency (half a cycle).
A one is encoded as three flux transitions at about double the frequency (one full cycle).
I'm not sure about the timing yet as the playback speed on a tape player is so different from the original drive. (1 7/8ips vs 20ips!)
The beginning of each track is padded with 2752 leading zeros.
16 48 45 00 00 ff ff 00 80 f4 (first block)
16 48 45 00 01 ff fe 00 80 f4 (second block)
Data block format:
Header: 16 48 45 00 (block counter) ff (ff - block counter) 00 80 f4
00 (21 of them)
data checksum-16 (sum of all data bytes)
ddp to wav: (Offsets given are for the .ddp file)
0x3f400-0x3ffff (last three data blocks repeat)
0x0f400-0x0ffff (last three data blocks repeat)
The ddp vs track layout may not be universal, I'm basing this on the one tape I have decoded.
I'm going to try and write a little program to do the ddp to wav conversion and see if I can get the Adam tape support working.