Douglas, Continuous FSK as a modulation can be detected I believe. What you would be detecting is zero crossings times, meaning the time delta between zero crossings. That is all the hardware can do.
If you simply count clock cycles for between 1-->0 and 0-->1 transitions you would have a good indication of the period, and then you can bin results. Is that what you are thinking as well? On Fri, Sep 18, 2015 at 10:22 AM, Douglas Quagliana <[email protected]> wrote: > 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 >
