It's possible to load tape games into a Commodore 64 using a mobile phone or mp3 players. You can either convert the programs into audio files or you can use a dedicated player on a mobile phone.

I have used the Android program, TapDancer, which does a fair job. It's not the greatest UI and preparing a tape file for playback is pretty slow, but on the plus side, it does have built in C64 tape turbos.

Before this experiment I used a crappy tape adapter thing with a datassette. It worked OK, but I would really like to get rid of this seemingly unnecessary link in the chain and feed audio directly into the computer, or at least directly into the datassette, bypassing the magnetic heads.

So I started, drilled a hole and fitted an old jack socket I had in the datassette and soldered the poles to the points where the datassette magnetic head feeds its signal into the datassette PCB. Fingers crossed! Didn't work. No matter which volume I used, games just wouldn't load.

I searched around for a bit and came across a blog post by a guy who had done such a modification. He'd fitted a capacitor, which was later replaced by a resistor, to limit the volume. I had already tried the resistor with no effect, and I'm not sure what the capacitor would accomplish on its own.

But then I started thinking - why would programs load using the crappy tape adapter, but not with my new, supposedly clean, signal? Could it be that the signal was not as clean as I thought? Tapes have pretty poor frequency response that naturally filters out high frequencies and we have the Nyquist frequency to deal with, so perhaps the signal was being ruined by high frequency noise. It seemed like a good idea to add a low-pass filter to both eliminate high frequency noise and emulate the frequency response of tapes.

And so the experiments started. After some attempts, this is what I ended up with: a 4.7k resistor and a 22 nF capacitor in a first order RC low-pass filter configuration. I can now use the same volume I use with the crappy tape adaptor, and I no longer get load errors. I need to reverse polarity in TapDancer, however.

Looking tidy. Yes, it's a Datamark datassette. From what I can tell, it's identical to a Commodore C2N inside.