Решил собрать и разобраться с еще одним конвертером RGB в VGA от АлексЕкб. На этот раз этот конвертер доработан до возможности его настройки через экранное меню, управляемое специальными кнопками на плате конвертера. Для его работы с Орионом-ПРО придется изменить прошивку, а также использовать Raspberry Pi Pico 2 на RP2350. Последнее изменение очень важно, т.к. на RP2040 работать корректно конвертер отказывается из-за недостатка производительности (я еще раз провел некоторые эксперименты и отказался от RP2040 окончательно).
Т.к. данный конвертер сделан специально для ZX Spectrum совместимых компьютеров, то и все прошивки именно для этих компьютеров. В качестве исходной прошивки для адаптации к Ориону-ПРО я выбрал вот этот вариант. Если честно, то других вариантов просто не нашел. Автор этой прошивки Oleksandr Semenyuk (osemenyuk-114). Спасибо ему за очень качественную работу, очень все проработано и адаптация прошла достаточно легко.
Прошивка от Oleksandr Semenyuk позволяет выполнять все настройки на самом устройстве, его не нужно подключать для этого к домашнему компьютеру. На плате конвертера имеются специальные три кнопки для управления. Поверх отображения на мониторе открывается меню настройки, очень удобно.
Важно! Данная прошивка может быть установлена и в варианты конвертеров без кнопок управления, для этого есть возможность его настраивать через любой терминал, подключив Raspberry Pi Pico 2 (Zero RP2350 или подобные платы) к компьютеру через 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 не дает никакого улучшения стабильности и качества.
Параметр "Stretch" - это дополнительная возможность подстраивать коэффициент растяжения/сжатия. Для каждого варианта отображения этот коэффициент устанавливается по умолчанию, в соответствии с выбранным вариантом. Если требуется корректировка, то можно установить значение в диапазоне от -20 до 100 (для режимов 800x600 минимальное значение ограничено 21). Некоторые значения коэффициента растяжения могут ухудшить качество отображения, может появится рябь пикселей, для исправления нужно подобрать коэффициент близкий к установленному, пока изображение не нормализуется.
Меню "Capture settings" позволяет настроить режимы захвата видео от Ориона-ПРО:
По умолчанию установлен режим использования внешней частоты от Ориона-ПРО и я рекомендую его не изменять, но можно переключить и на 10 МГц от самого конвертера и не подключать сигнал "F", правда в текущей прошивке подстроить его не получится, только ровно 10 МГц.
Настройка "SYNC" позволяет переключить режим синхро импульса со смешанного варианта (задействован контакт подключения SSI) на раздельный (задействованы контакты подключения KSI и SSI).
Меню "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", которая показывает текущую конфигурацию конвертера:t
Если настраивать конвертер через терминал, то доступ к экранному меню будет заблокирован. Чтобы разблокировать экранное меню надо перезагрузить или выключить-включить конвертер.
На мой взгляд конвертер оказался очень функциональным. Главное он позволяет не меняя прошивку изменять режимы отображения - это очень удобно.
Дефекты со смещением экрана, которые пришлось лечить "костылем" в предыдущей прошивке, тут не обнаруживаются.
Именно такого конвертера мне и не хватало для моего Орион-ПРО.
Последние исправления прошивки:
- 05.04.2026 - в алгоритме захвата изменил определение середины строчного синхроимпульса с примерно 3 мкс до 0.5 мкс. Для Ориона это оказалось критичным и не у всех правильно работал захват видео сигнала.
- 19.04.2026 - по умолчанию отключена инверсия "F", т.к. она приводила к появлению слева вертикальной линии и приходилось инверсию вручную отключать; автоматическое отключение "SCANLINES", если выбирается разрешение, отличное от 1280x1024.
- 22.04.2026 - в меню "Output settings" добавлена настройка горизонтального растяжения "Stretch". Настройка позволяет растянуть или сжать изображение, установив коэффициент в диапазоне от -20 до 100 (для режимов 800x600 минимальное значение 21) . При смене варианта отображения коэффициент растяжения устанавливается в значение по умолчанию для выбранного варианта. Также эта настройка добавлена в вариант с управлением через терминал. Слегка подкорректировал программную перезагрузку командой из терминала.
- 24.04.2026. По просьбе ребят, владельцев Орион-128 добавил настройку сжатия изображения, если оно уходит за пределы экрана. Регулировка находится в меню "Image adjust", опция "V-Fit".
- 26.04.2026. Исправлено сохранение параметра V-Fit. После сохранения настроек и запуска конвертера повторно не применялся этот параметр, из-за этого изображение не сжималось. Теперь при включении этот параметр применяется и изображение сразу сжимается.
- 12.05.2026. Добавлены три слота сохранения настроек. Переключение между сохраненными настройками центральной кнопкой при не активном меню.
- 21.05.2026. В список прошивок добавил экспериментальную прошивку с автопереключением режимов. Теперь каждому варианту пресетов (mode 1-3) соответствует свой режим Ориона (384, 480 или 512). Прошивка распознает режим и переключает конвертер на него.
Экспериментальная прошивка с автопереключением режимов.
Оригинальная прошивка для ZX Spectrum, если понадобиться использовать конвертер для этого компьютера и не переделывать конвертер.
Измененный исходный код прошивки от Oleksandr Semenyuk (osemenyuk-114) с сайта.
Продолжение следует...