Making Commodore 64 cassette tapes worked this time, and the problem turned out to be tape speed. I was still starting with TAP files, converting them to audio, and recording them to cassette, but in the first round I hadn’t been able to make tapes that would reliably load on a C64. Here I went back through it more methodically and added a few better references so I could compare what was happening.
I brought in a second Datasette, some new old stock Tandy Computer 20-minute cassettes, a reference cassette with test tones, and a few original Commodore tapes. The shorter Tandy tapes gave me a better recording medium than the 90-minute tapes I had used before. I also tested the second Datasette with a simple tape from an introductory BASIC set, and that loaded and ran correctly, which gave me a known-good baseline.
From there I tried an original copy of Fort Apocalypse. That tape loaded successfully, although it took much longer than expected to finish. Once it was running, I used it as a reference so I could make a reproduction from a TAP file and compare the result against something that already worked on real hardware.
I had also swapped in a different cassette deck for recording, a JVC TD-W354 double deck, because I wanted to check whether the deck from before was running at the wrong speed. Using a reference cassette and a spectrum analyzer app, I measured the tones from both decks. One deck read about 3.1 kHz on the 3 kHz tone, while the JVC came in closer at about 3047 Hz, so I went ahead and used the JVC for the next recording.
I matched the recording level against the original tape, using the right channel at about 0 dB, and recorded a new Fort Apocalypse cassette. That one loaded properly on the Commodore 64, showed the US Gold loader, and ran the game without freezing. I then repeated the process with Spy Hunter, and that tape loaded and played as well.
After that I checked the newly made tape in the other Datasette, including the one I had spent time adjusting earlier, and it worked there too. That pointed back to the recording deck speed rather than the Datasette work as the thing that had been holding this up. I then opened the JVC deck and adjusted the motor speed using the internal trim control until the 3 kHz reference tone read right at 3 kHz.
I also captured working and non-working tape audio into Audacity to look at the waveforms. The main difference I focused on was that the successful recordings were done on the right channel only, while one of the failed attempts had been recorded as a stereo mix. Looking at the waveform crossings made it clearer why timing matters so much on these tapes, and why a small speed error can be enough to stop a load.
In the end I had working reproduction tapes for both Fort Apocalypse and Spy Hunter, and the JVC deck was adjusted closely enough to use for making more Commodore 64 tape copies.
— Aaron
Links
Timestamps
00:00 – Intro
02:11 – The Plan
05:53 – New Datasette
11:54 – Measuring Tape Speed
19:16 – Testing Fort Apocalypse
22:49 – Testing Spy Hunter
28:22 – Adjusting Tape Speed
30:56 – Waveforms
38:12 – Wrap Up
