I have fooled around a little bit with this. It is a tricky port to use. I think it is easy enough to write code that can provide some kind of statistical port readings by measuring crossings times. One thing to ensure is that you have high enough signal swing. The hardware really has to clip and have clean edges.
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 >
