To test the cassette interface, I needed a cassette player, but I don't have one. So I tried using my smartphone as a player. However, this failed because the Spectrum didn't respond to the signal after the LOAD command.
The user manual lists the following input parameters for the cassette interface:

My smartphone obviously couldn't provide 5Vp-p output voltage to the headphone output, so I needed an amplifier and I decided to use op amps as follows:

It includes a bipolar power supply based on the ICL7660.
It actually took me a while to figure out this circuit, as it turned out the signal levels specified in the service manual didn't work with this particular ZX Spectrum. Again, likely due to some ULA malfunction... I finally managed to load games by feeding a 7 Vp-p signal to the Spectrum EAR input:



It would definitely have taken a lot less time if I had a real cassette player...
Unfortunately, I haven't tested whether it saves programs to tape... But I checked the Spectrum microphone output with an oscilloscope using the SAVE "test" $SCREEN command and saw some kind of correct signal with an amplitude of 50 mV. Hopefully that's enough for recording.
Vlad
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.