Источник изображения: Rod Hull
Два энтузиаста ретро-компьютеров, Род Халл (Rod Hull) из The Future Was 8-bit (TFW8b) и Дэйв Карран (Dave Curran) из Tynemouth Software, разработали систему, которая позволит зрителям стримов на YouTube загружать ретро-игры прямо на свои компьютеры Commodore 64 во время просмотра. Проект под названием Jelly Load использует необычный метод передачи данных – мигающие паттерны на видео, напоминающие о временах первых домашних компьютеров.
Идея возникла у во время обсуждения самодельного последовательного интерфейса для Commodore PET. Халл уже экспериментировал с добавлением мигающих символов в углу видео на YouTube для передачи данных, но Карран помог оформить идею в полноценный проект. Целью было дать зрителям возможность скачать игру, в которую играет стример, не прибегая к современным методам загрузки, таким как ссылки на файлы, картриджи или дискеты.
Вдохновением для Jelly Load послужили телевизионные программы 1980-х годов, например, британская 4 Computer Buffs, где зрители могли загружать программы на свои Commodore 64, Sinclair или BBC Micro через мигающий сигнал, передаваемый по телевизору. Jelly Load использует тот же принцип: мигание на экране кодирует нули и единицы, которые считываются специальным устройством с фоторезисторами, подключенным к последовательному порту ретро-компьютера.
Главной сложностью для разработчиков стала работа с ограничениями YouTube, такими как сжатие видео и фиксированная частота кадров. Карран, отвечавший за программную часть Jelly Load, сформулировал требования к системе: «Она должна быть встроена в видео и не теряться при обработке на YouTube; она должна быть достаточно быстрой, чтобы уместиться в обычном видео, может быть, 5-10 минут; ее должен принимать VIC20 (затем последуют другие машины) с использованием минимального простого оборудования».
Для ускорения передачи данных разработчики решили использовать сетку мигающих огней 3 на 3, увеличивая пропускную способность в девять раз. Устройство с фоторезисторами, прикрепленное к монитору в нужном месте, считывает мигающие паттерны, создаваемые матрицей светодиодов, и сохраняет данные в памяти компьютера. Халл и Карран успешно продемонстрировали работоспособность Jelly Load, передав игру Snake Pit размером 3,5 КБ через YouTube.
Скорость передачи данных зависит от частоты кадров видео на YouTube и от того, сколько кадров нужно, чтобы каждый паттерн из 3x3 бит появился на экране. При 30 кадрах в секунду и передаче девяти бит за кадр максимальная скорость составит около 2 кБ в минуту, что близко к использованию модема с baud-скоростью 300.
Несмотря на свои новаторский метод, передача данных таким образом остается крайне неэффективной и медленной, особенно учитывая, что YouTube позволяет добавлять ссылки для загрузки в описании видео.