Решил собрать и разобраться с еще одним конвертером RGB в VGA от АлексЕкб. На этот раз этот конвертер доработан до возможности его настройки через экранное меню, управляемое специальными кнопками на плате конвертера. Для его работы с Орионом-ПРО придется изменить прошивку, а также использовать Raspberry Pi Pico 2 на RP2350. Последнее изменение очень важно, т.к. на RP2040 работать корректно конвертер отказывается из-за недостатка производительности (я еще раз провел некоторые эксперименты и отказался от RP2040 окончательно).
Т.к. данный конвертер сделан специально для ZX Spectrum совместимых компьютеров, то и все прошивки именно для этих компьютеров. В качестве исходной прошивки для адаптации к Ориону-ПРО я выбрал вот этот вариант. Если честно, то других вариантов просто не нашел. Автор этой прошивки osemenyuk-114. Жаль не знаю иго настоящего имени и фамилии. Спасибо автору за очень качественную работу, очень все проработано и адаптация прошла достаточно легко.
Прошивка от osemenyuk-114 позволяет выполнять все настройки на самом устройстве, его не нужно подключать для этого к домашнему компьютеру. На плате конвертера имеются специальные три кнопки для управления. Поверх отображения на мониторе открывается меню настройки, очень удобно.
Важно! Данная прошивка может быть установлена и в варианты конвертеров без кнопок управления, для этого есть возможность настраивать через любой терминал, подключив Raspberry Pi Pico 2 к компьютеру через USB. Подробнее в конце статьи.
Я не буду рассказывать о процессе адаптации. В прошивке изменено:
- буферы памяти для Орион-ПРО;
- делитель разделен на отдельно вертикальный и горизонтальный;
- введен коэффициент растяжения по горизонтали и слегка подправлены некоторые расчеты;
- убран режим 640x480, для его использования пришлось бы вносить сложные правки, они того не стоят;
- убрана возможность переключения в DVI;
- изменены разрешения и пропорции специфичные для Ориона-ПРО;
- изменены команды сервисного меню, в соответствии с вариантами отображения Ориона-ПРО.
С большой долей вероятности прошивка будет работать и на других версиях Ориона. У меня нет возможности проверить. Пишите в комментариях, если возникают проблемы, буду, по возможности, их решать.
И так. На Авито я приобрел вот такую плату конвертера (две фотографии с двух сторон):
Я никогда не начинаю сборку, пока не соберу все детальки:
На плате уже указаны все номиналы резисторов для варианта подключения конвертера к HDMI и для VGA, устанавливать буду номиналы для VGA. На данную плату устанавливается не классический вариант Raspberry Pi Pico 2, а его модификация Zero. Как я уже писал буду устанавливать RP2350, по пинам Zero на RP2040 и RP2350 полностью идентичны:
Сборка конвертера очень простая. Сама Zero припаяна непосредственно на плату конвертера. С обратной стороны платы располагаются кнопки управления настройками (две фотографии):
Конвертер подключил аналогично конвертеру из предыдущей статьи, в этот раз подключил не раздельную, а смешенную синхронизацию к контакту SSI, контакт KSI не задействован (на фотографии синий провод KSI висит в "воздухе"), также питание от компьютера через USB, для удобства прошивки, соответственно, питание от Ориона-ПРО пока не стал подавать (белый провод):
После прошивки Raspberry Pi Pico 2, конвертер должен сразу заработать в тестовом режиме, отображая всю палитру цветов в виде вертикальных полос. Такой режим активируется автоматически, если Орион-ПРО не подключен или нет входного сигнала:
Если на экране такая палитра при подключенном Орион-ПРО - это означает, что конвертер не распознает входной сигнал. После общения с разными участниками форумов и каналов выяснилось, что данная прошивка не всегда правильно определяет входной сигнал, причем прошивка из предыдущей статьи работает. Я буду еще работать над данной проблемой. Пишите в комментариях о проблемах, буду стараться их решить.
Нажав на кнопку вверх или вниз на конвертере активируется меню настроек, средняя кнопка предназначена для подтверждение выбранного пункта меню:
В меню можно выбрать режим настройки отображения, параметры захвата видео от Ориона-Про и настройки позиционирования. Хочу отметить, что в данной прошивке режимы отображения имеют разные пропорции и приходится для каждого режима подстраивать позиционирование. Нужно не забывать сохранять состояние настроек, иначе после выключения они пропадут.
Меню "Output settings" позволяет выбрать один из 9-ти вариантов отображения видео от Орион-Про, работу каждого режима я покажу далее в статье:
Для разрешений 1280x1024 становится доступным режим "Scanlines", который добавляет чередование черных линий. Как я понял, такой режим эмитирует работу совсем старых мониторов, у которых присутствовала такая "полосатость", для создания атмосферы старины.
В данной прошивке, в отличии от прошивки в предыдущей статье, оставлен полностью функциональным режим X3 буферизации, но его включение на RP2350 не дает никакого улучшения стабильности и качества.
Меню "Capture settings" позволяет настроить режимы захвата видео от Ориона-ПРО:
По умолчанию установлен режим использования внешней частоты от Ориона-ПРО и я рекомендую его не изменять, но можно переключить и на 10 МГц от самого конвертера и не подключать сигнал "F", правда в текущей прошивке подстроить его не получится, только ровно 10 МГц.
Настройка "SYNC" позволяет переключить режим синхро импульса со смешанного варианта (задействован контакт подключения SSI) на раздельный (задействованы контакты подключения KSI и SSI).
Настройка "Mask" позволяет инвертировать любой из входящих сигналов, по умолчанию настроена инверсия только сигнала "F".
Меню "Image adjust" позволяет подстроить позиционирование видео изображения на экране монитора, также здесь можно подстроить задержку захвата:
Далее я хочу продемонстрировать все варианты режимов отображения видео Ориона-ПРО.
На своем широкоформатном мониторе я установил соотношение сторон в значение "Исходное", чтобы он его не трансформировал и показывал картинку, как она должна быть с соотношением сторон 3x4. У меня нет в наличии мониторов с соотношением сторон 3x4 и могу только предполагать, что изображение на них должно быть правильным. Еще советую на мониторе выполнить автоматическую подстройку, у многих мониторов есть такая возможность, также воспользоваться регулировкой позиционирования и растягивания, если будет не достаточно регулировок самого конвертера.
Для разнообразия фотографировал разные программы на экране.
В конвертере реализовал девять режимов отображения в трех разрешениях: 800x600 60 Гц, 1024x768 60 Гц и 1280x1024 тоже 60 Гц.
Режим "800x600@60". Пропорции этого режима сделаны таким образом, чтобы уместить видео Ориона-ПРО и для режима 384 пикселя и для 512 пикселей. Оба режима Ориона-ПРО полностью умещаются на экране, но сверху и снизу остаются не задействованные области. В этом режиме пропорции не соблюдены, круг будет не правильной формы (две фотографии):
Режим "800x600@60 3x4". Это разрешение предполагается использовать только для 384 пикселей в строке, 512 пикселей не поместятся и часть окажется за пределами экрана. В данном разрешении соблюдена пропорция 3x4, круг должен быть правильным, но как и в предыдущем варианте не задействована вся площадь экрана и, из-за растягивания, некоторые символы могут быть толще или тоньше (на второй фотографии видны круглые шарики в игре "Lines"):
Вообще 800x600, как и 640x480, хотел исключить из прошивки, но потом оставил, может у кого-то есть мониторы только с разрешением 800x600.
Режим "1024x768@60 Small". Этот режим с соотношением 3x4, но изображение занимает только центральную часть монитора с большими полями. Использовать его можно только для 384 пикселей в строке. На старых мониторах тоже будут большие поля:
Режим "1024x768@60". Для моего Орион-ПРО это самый оптимальный режим. Изображение по вертикали полностью занимает всю площадь экрана монитора. В режиме 384 пикселя в строке имеются поля слева и справа, в режиме 512 пикселей занимает всю площадь монитора. Не имеет искажений в отрисовке пикселей, но сильно вытянут и геометрия круга не верная. Но, если переключить широкоформатный монитор в режим растягивания изображения, то геометрия становится правильной и оба режима (384 и 512) занимают максимально возможную площадь широкого экрана (пять фотографий):
Режим "1024x768@60 3x4". Режим отображения только для 384 пикселей в строке. В данном режиме соблюдена пропорция 3x4 так, чтобы по вертикали была занята вся область экрана, слева и справа остаются небольшие черные полосы (две фотографии):
Режим "1024x768@60 384". В данном режиме заполнена вся область экрана для 384 пикселей. Имеется небольшое искажение круга. Можно использовать, когда хочется задействовать экран полностью:
Режим "1280x1024@60 Small". Данный режим только для 384 пикселей в строке. Пропорция, на мой взгляд, не совсем соответствует 3x4. Имеются большие поля со всех сторон, не знаю где он может использоваться, но пока оставил:
Режим "1280x1024@60 Large". Данный режим также предназначен только для 384 пикселей в строке. Тут не соблюдена пропорция 3x4, но качество прорисовки пикселей наилучшая без каких-либо потерь. По вертикали занимает всю площадь экрана, слева и справа небольшие черные полосы:
И последний режим "1280x1024@60 384". Режим для 384 пикселей в строке. Изображение растянуто на всю площадь экрана, при разрешении 1280x1024 деформации пикселей практически не видно. Геометрия 3x4 не соблюдена, но для отображения на весь экран этот режим самый подходящий:
Приятным бонусом отображение "No signal", если отключить Орион-ПРО не отключая конвертера. Предыдущая прошивка продолжала показывать последнее, что осталось в буфере памяти конвертера:
В начале статьи я уже отметил тот факт, что прошивку можно использовать и на устройствах без кнопок управления, вот пример таких конвертеров:
Экранного меню не будет и, чтобы настроить конвертер, потребуется его подключить к компьютеру по USB. В диспетчере устройств появится еще один COM порт.
Для доступа к настройкам понадобится любой терминал. В терминале нужно указать номер COM порта и установит скорость обмена 38400 бод. Я у себя использую терминал из Arduino IDE.
Для активации настроек нужно в порт передать любой символ, в ответ конвертер пришлет список доступных команд и теперь можно выполнять такие же настройки, которые доступны в экранном меню:
Вот пример команды "p", которая показывает текущую конфигурацию конвертера:
Если настраивать конвертер через терминал, то доступ к экранному меню будет заблокирован. Чтобы разблокировать экранное меню надо перезагрузить или выключить-включить конвертер.
На мой взгляд конвертер оказался очень функциональным. Главное он позволяет не меняя прошивку изменять режимы отображения - это очень удобно.
Дефектов со смещением экрана, которые пришлось лечить "костылем" в предыдущей прошивке, тут не обнаруживаются.
Именно такого конвертера мне и не хватало для моего Орион-ПРО.
Последние исправления прошивки:
- 05.04.2026 - в алгоритме захвата изменил определение середины строчного синхроимпульса с примерно 3 мкс до 0.5 мкс. Для Ориона это оказалось критичным и не у всех правильно работал захват видео сигнала.
PS: оригинальную прошивку от ZX Spectrum для Raspberry Pi Pico 2 (это на случай, если конвертер нужно будет использовать не в Орионе) и исходники выложу немного позже... У меня прошивка работает корректно, но еще продолжаются тесты у других ребят из форумов и каналов и скорее всего надо будет еще вносить правки.
Продолжение следует...