Does anyone have some assembly code that would read from the cassette
port to do FSK demodulation in software for tones other than the
standard cassette tones?

I know there's a ROM route to find the frequency of the waveform
coming into the cassette port that returns the time in 29 T-state
increments between zero crossings.  However, this is designed for
cassette data where (I think) a full wave is sent for either a 0 or a
1, which would mean that the length of the bit times are not exactly
the same amount of time for a one or a zero bit.

If I want to demodulate something like Bell202 or some other
continuous FSK where all of the bit times are exactly the same length
of time, then the zero crossings are not aligned with the bit times,
but the input to the 80C85 pin from the cassette port only detects
high or low, which only lets you see the zero crossings.

And yes, I know FSK demodulation can very easily be done on any PC
with any sound card (and I've done it) but that's not the point of
this exercise, and I think most people here can appreciate that I want
to see if I can get this to work on a M100/M102/T200. :-)

Has someone already written this type of assembly code or some similar
cassette port assembler code?

Douglas

Reply via email to