Commodore VIC-20 datasette won't read or write. Problem solved!
I'll make this short. My two VIC-20 datasettes (the "original" boxy ones) were flaky. They wouldn't write programs to tape and more often than not, they would not read them either! Occasionally the motor wouldn't work on one.
Figure 1. The Vic-20 Datasette
I found it strange that their faults were so similar. Anyway, after much poking around I solved the problem, and mention it here is case anyone reading has the same issue.
The problem was with the pins in the cable plug that fitted over the card edge of the cassette connector. These pins need to press down hard on the edge connector to allow signals to flow. The tension in these pins had become weak, hence they were not making proper contact. Figure 2 show the pins of one of the units (the other was similar) compared to my working Commodore 64 datasette. See the difference? The pins in the VIC-20 datasette connector (left) are almost lying flat, compared to the C64 one (right).
Figure 2. Flaky VIC-20 datasette plug (left) vs reliable C64 datasette plug (right)
The fix (temporary at the moment)
A temporary fix was easy. Using a small screwdriver to get underneath each pin, I simply bent them upwards. This, combined with pushing the plug over the card edge not quite all the way home (not sure why this helped but it did) solved the problems in both tape decks!
It's only as temporary fix. The tension has gone from the pins and they still lying flatter than they should be. This condition probably arose from the datasettes being stored plugged into their respective Vic-20s. In this configuration, over time, all "springiness" in the pins disappeared.
They seem to be connecting ok now, but I'm sure it won't last. Both datasettes really need replacement cables with plugs where the pins have tension and are standing up high...like in my C64 datasette connector.
That is something to get around to eventually. At least I know what the problem is now.
28th December, 2016