Today I ran some tests recording different rates of pulses on tape. I wrote a small python utility that accepts a string of bits (11011000100110...) and a bitrate and generates WAV file containing the bits as return-to-zero coded square wave pulses. I generated 4 files of different bit rates and recorded them all to tape using my Technics RS-T230. I played the tape back into the computer and recorded the input. All playback and recording was done using Audacity with a sample rate of 48000 samples/sec.
I tested the bit rates 300, 1200, 2400, and 4800. What I noticed is that the tape recorder does not like square waves much at all. The tests look somewhat promising, but the waveform does not hold value at the maximum value of the square wave.
In higher bit-rate tests distortion is less of an issue, but weirdness still exists. My next experiments will be with pulse-shaping. I think finding a waveform closer to a sine wave will help reduce the amount of distortion from the the tape deck.