Jelly Load Lets Your Commodore VIC-20 Download Games — via YouTube Video
A matrix of photoresistors, aligned with a video feed capturing a matrix of LEDs, lets you transmit software via YouTube video streams.
Tynemouth Software's Dave Curran and The Future Was 8-bit (TFW8b)'s Rod Hull have been blending the old and the new once more in order to make retro-gaming streams a little more interactive — by letting viewers download the game to their original vintage hardware as they watch.
"A couple of months ago, I built a [Commodore] PET serial interface, and was talking to TFW8b [Rod Hull] about it," Curran explains. "They revealed a secret plan they had been working on was along similar lines. A scheme that would later be called… Jelly Load. The idea was to inject data into videos on the TFW8b YouTube channel in the form of flashing symbols in the corner of the video. 'Wouldn't it be cool if you could download the game I was playing whilst you were watching the video, and then play it yourself?'"
Jelly Load, in its most basic form, is built atop the idea that by flashing a section of the screen on and off you can communicate binary zeroes and ones — and that a photodetector wired to the serial port of a Commodore PET, VIC-20, or other vintage machine could receive this data and turn it into an executable program once more. The core concept isn't novel, but there's a wrinkle: it would have to survive YouTube, the platform on which TFW8b streams and is known for heavy compression and forcing certain frame rates.
"The requirements were," Curran explains, "it must be included in the video and survive whatever post processing YouTube applies; it must be fast enough to fit in a normal video, 5-10 minutes maybe; it must be received by a [Commodore] VIC-20 (other machines will follow) using minimal simple hardware that would have been available at the time."
There's prior art for such projects: the BBC used its Ceefax service to broadcast "Telesoftware" for Acorn's BBC Micro family of microcomputers in the 1980s, though this was received directly using a TV tuner add-on; using a visual element in a live broadcast has also been achieved, but adding YouTube to the mix offers a new challenge — and one that could mean a reduction in the theoretical throughput achievable from the system, making it tricky to transmit an entire program by the end of the video.
To get around that, the pair decided to use a matrix of flashing lights — making a 3×3 grid of photoresistors that would, theoretically, deliver nine times the throughput of a single detector. Attached to the monitor in the correct place — and with the video window sized so that the flashing lights, created by filming a 3×3 matrix of LEDs, line up with the photoresistors — and the device is able to receive the data encoded into the video and store it in memory. The proof: a 3.5kB game of Snake Pit, transmitted entirely in-video.
"Why load your 8bit things via the convenience of cassette, disk or cartridge when you can load things via YouTube video? Because it’s horribly slow that’s why," Hull jokes. "But it is rather cool! And if like me you’ve got a million bits and bobs lying around the house, you may even have enough electronic purchase left-overs to start making your own Jelly Load interface right now!"
The project is documented in full on TFW8b.com and Tynemouth Software.