Тема: Проигрывание видео на РАДИО-86РК
Сам по себе РадиоЛюбительский Компьютер "Радио-86РК" (далее просто РЛК) довольно уникальная вещь:
Процессор - аналог Intel i8080A / К580ВМ80А на частоте 1,778 МГц.
Оперативная память - 16 Кб или 32 Кб.
Внешний накопитель - лента компакт-кассеты или накопитель на ПЗУ (ROM-Диск).
Дисплей - алфавитно-цифровой 64x25 на основе аналогов i8257 и i8275.
С одной стороны, он стал примером, как не надо (по мнению инженеров) строить Архитектуру Микро-ЭВМ.
С другой стороны, он установил свой стандарт для всех последующих РК-совместимых машин ("Орион", "Апогей" и т.п.).
С третьей стороны, его постоянно хочется как-то улучшить или переделать вовсе.
(Для регенерации ОЗУ использовались циклы ПДП с обеспечением непрерывного вывода экранного буфера на дисплей, что заметно сказывалось на общей производительности из-за разделения шин с процессором. При обмене с внешним накопителем ПДП отключался, экран темнел и программа могла работать в режиме реального времени на полной частоте.)
А так - это мой первый ПК, благодаря которому я в 13 лет уже освоился в машинном коду, так как ассемблер загружать было слишком дорого с ОЗУ в 16 Кб.
Бейсик был, но больше всего я любил сидеть в дампах. Аж до 1998 года, когда пересел на PC-XT совместимый "Поиск".
Когда появился ZX-Spectrum, наигравшись в его цветные игры, я вернулся к РК: Загружал в ZX игру Savage-3 с её музыкальной заставкой и переключал видеовход к РК.
А позже - и NES включал с игрой RoboCop-3 по ВЧ-каналу, переключал телевизор на НЧ-вход и ковырялся в дампах РЛК.
Причина - простая: Я сразу понял, что программировать гораздо интереснее прохождения любой игры!
Спустя все эти коды я продолжаю регулярно программировать различные восьмибитные алгоритмы на досуге, которых ещё никто не написал.
В качестве эксперимента попытался написать код на РАДИО-86РК для проигрывания несжатого видеоряда, закодированного символами алфавитно-цифрового терминала с подбором под соответствующие градации серого (как это было лет пятьдесять тому назад на ЭВМ с печатающими устройствами).
Дело в том, что возможность подключения внешнего ROM-Диска объёмом до 32 Кб существовала с самого начала. Позже уже добавили страничную организацию до 512 Кб или до 8 Мб. Что позволяет иметь всегда под рукой довольно внушительный массив программ.
(Теоретически, можно расширить и до 1 Гб, но пока нет необходимости.)
Существует несколько схем ROM-Диска, но все они используют один интерфейс.
Итак. Вот мой первый опыт:
Bad Apple (64x25)
Потом удалось чуть улучшить:
Bad Apple (64x50)
Можно заметить проблемы со звуком, которые не удавалось решить.
За основу я использовал набор символов для оттенков серого, который составил SHAOS.
Чуть позднее, SHAOS подхватил идею и разработал нормальный код для кодирования звукового видеоряда:
Bad Apple (64x50)
RickRoll (64x50)
Thank You (64x50)
В планах - добавить цвет (архитектурно РК это позволяет).
P.S.: Может тема заинтересует бывалых.