Loading Tomorrow's World program simultaneously on Apple ][ and ZX81
In order to make this happen there was quite a bit of work involved. First off was to put the clip from YouTube onto a VHS tape. To record it to my VCR I used a JVC SR-VS30U which has i.LINK or IEEE 1394, aka FireWire. Mostly I use that VCR for digitizing tapes but a couple of months ago I spent the time to figure out how I could send video from the computer over the FireWire connection. Doing that wasn't easy, I had to setup a PC running a very old copy of Ubuntu 9.10 with kernel 2.6.31 because dvconnect - the software that knew how to send video over FireWire - no longer worked with the modern FireWire kernel modules.
With the right kernel drivers, the next step was to re-encode the video from YouTube into DV to send to the VCR. I live in the US so my TV standard is 30fps NTSC, but the show is from the BBC which is 25fps PAL. This wasn't really a problem since the clip was already digital and I simply let ffmpeg deal with converting the frame rates. That worked fine for the video but the VCR wouldn't play any audio. The DV files that I had previously captured from the VCR would play back just fine when sent back to the VCR so I had to dig into the DV format and figure out how it was encoded, compare the bits in the audio fields between what worked and what didn't, and then fork ffmpeg so I could patch it and make the VCR happy.
The next challenge was getting the computers to recognize the program. The clip on YouTube does have the Apple II and ZX81 program data intact but it requires a bit of fiddling with the volume when playing back from my phone to get the computers to load. In order to clean up the encoded data I loaded the programs from the YouTube clip, then saved the programs and used emulation tools to write out brand new clean wav files. For the Apple II program I had to load the program an a real Apple II, none of the emulators were able to recognize the digitized audio. For the ZX81 I was able to use ZX81 Tape Converter to load it and WinTZX to create the wav file. I then aligned the digitally remastered Apple II and ZX81 programs with the audio from the clip and merged them into the DV file.
Even with all that though the Apple II is quite finicky about loading from cassette. (You can see they failed on the show!) It took at least 14 tries before I finally got this one successful shot! More often than not it would ERR on me, and then I'd have to turn the Apple II and ZX81 off and rewind the tape so I could make another attempt. After trying this and failing several times I would get frustrated and wait a day to come back and try again.
The TV I'm using doesn't have RCA jacks on it so the VCR is going through the antenna (aerial) lead. The audio output from the VCR goes through a splitter so that it can be connected to both of the computers at the same time. The Apple II (not a plus!) and ZX81 are both US models. The black & white TV is something I picked up for free at a garage sale while I was out walking the dog one day and then lugged home. Wait, so is the big color TV! Except that one I took the dog home first and walked back with a wagon to pick up.
- Tomorrow's World Computer Program Transmission clip
- FFmpeg fork: https://github.com/FozzTexx/FFmpeg
- Apple II program: text binary
- ZX81 program: text binary
I'd love to see the entire episode since I'm not sure how anyone was able to get their cassette recorders connected to the TV in time. Remember, this was broadcast at time when very few people would have been recording the show so they couldn't simply rewind the show and get their cassette recorder hooked up! Was this segment towards the middle or end of the show with plenty of warning at the beginning to let people know what they need? The show moves very quickly from explaining how to set things up to broadcasting the computer program and if I had been watching this show live with such little warning there's no way I could have managed to get a cassette recorder hooked up to the TV in time.