Добавить в корзинуПозвонить
Найти в Дзене

Ретро компьютер Орион-ПРО (часть 9)

Предыдущая часть. Решил собрать и разобраться с еще одним конвертером RGB в VGA от АлексЕкб. На этот раз этот конвертер доработан до возможности его настройки через экранное меню, управляемое специальными кнопками на плате конвертера. Для его работы с Орионом-ПРО придется изменить прошивку, а также использовать Raspberry Pi Pico 2 на RP2350. Последнее изменение очень важно, т.к. на RP2040 работать корректно конвертер отказывается из-за недостатка производительности (я еще раз провел некоторые эксперименты и отказался от RP2040 окончательно). Т.к. данный конвертер сделан специально для ZX Spectrum совместимых компьютеров, то и все прошивки именно для этих компьютеров. В качестве исходной прошивки для адаптации к Ориону-ПРО я выбрал вот этот вариант. Если честно, то других вариантов просто не нашел. Автор этой прошивки Oleksandr Semenyuk (osemenyuk-114). Спасибо ему за очень качественную работу, очень все проработано и адаптация прошла достаточно легко. Прошивка от Oleksandr Semenyuk поз

Предыдущая часть.

Решил собрать и разобраться с еще одним конвертером 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;
  • изменены разрешения и пропорции специфичные для Ориона-ПРО;
  • изменены команды сервисного меню, в соответствии с вариантами отображения Ориона-ПРО.

Данная прошивка будет работать и на других версиях Ориона, не только на Орион-ПРО. К сожалению у меня нет возможности проверить. Пишите в комментариях, если возникают проблемы, буду, по возможности, их решать.

И так. На Авито я приобрел вот такую плату конвертера (две фотографии с двух сторон):

Я никогда не начинаю сборку, пока не соберу все детальки:

Комплект для сборки конвертера RGB в VGA от АлексЕкб.
Комплект для сборки конвертера RGB в VGA от АлексЕкб.

На плате уже указаны все номиналы резисторов для варианта подключения конвертера к HDMI и для VGA, устанавливать буду номиналы для VGA. На данную плату устанавливается не классический вариант Raspberry Pi Pico 2, а его модификация Zero. Как я уже писал буду устанавливать RP2350, по пинам Zero на RP2040 и RP2350 полностью идентичны:

Комплект для сборки конвертера RGB в VGA от АлексЕкб.
Комплект для сборки конвертера RGB в VGA от АлексЕкб.

Сборка конвертера очень простая. Сама Zero припаяна непосредственно на плату конвертера. С обратной стороны платы располагаются кнопки управления настройками (две фотографии):

Конвертер подключил аналогично конвертеру из предыдущей статьи, в этот раз подключил не раздельную, а смешенную синхронизацию к контакту SSI, контакт KSI не задействован (на фотографии синий провод KSI висит в "воздухе"), также питание от компьютера через USB, для удобства прошивки, соответственно, питание от Ориона-ПРО пока не стал подавать (белый провод):

Конвертер RGB в VGA от АлексЕкб.
Конвертер RGB в VGA от АлексЕкб.

После прошивки Raspberry Pi Pico 2, конвертер должен сразу заработать в тестовом режиме, отображая всю палитру цветов в виде вертикальных полос. Такой режим активируется автоматически, если Орион-ПРО не подключен или нет входного сигнала:

Тестовый режим конвертера RGB в VGA от АлексЕкб.
Тестовый режим конвертера RGB в VGA от АлексЕкб.

Если на экране такая палитра при подключенном Орион-ПРО - это означает, что конвертер не распознает входной сигнал.

Нажав на кнопку вверх или вниз на конвертере активируется меню настроек, средняя кнопка предназначена для подтверждение выбранного пункта меню:

Меню конвертера RGB в VGA.
Меню конвертера RGB в VGA.

В меню можно выбрать режим настройки отображения, параметры захвата видео от Ориона-Про и настройки позиционирования. Хочу отметить, что в данной прошивке режимы отображения имеют разные пропорции и приходится для каждого режима подстраивать позиционирование. Нужно не забывать сохранять состояние настроек, иначе после выключения они пропадут.

Меню "Output settings" позволяет выбрать один из 9-ти вариантов отображения видео от Орион-Про, работу каждого режима я покажу далее в статье:

-8

Для разрешений 1280x1024 становится доступным режим "Scanlines", который добавляет чередование черных линий. Как я понял, такой режим эмитирует работу совсем старых мониторов, у которых присутствовала такая "полосатость", для создания атмосферы старины.

В данной прошивке, в отличии от прошивки в предыдущей статье, оставлен полностью функциональным режим X3 буферизации, но его включение на RP2350 не дает никакого улучшения стабильности и качества.

Параметр "Stretch" - это дополнительная возможность подстраивать коэффициент растяжения/сжатия. Для каждого варианта отображения этот коэффициент устанавливается по умолчанию, в соответствии с выбранным вариантом. Если требуется корректировка, то можно установить значение в диапазоне от -20 до 100 (для режимов 800x600 минимальное значение ограничено 21). Некоторые значения коэффициента растяжения могут ухудшить качество отображения, может появится рябь пикселей, для исправления нужно подобрать коэффициент близкий к установленному, пока изображение не нормализуется.

Меню "Capture settings" позволяет настроить режимы захвата видео от Ориона-ПРО:

Настройка режимов захвата конвертером RGB в VGA.
Настройка режимов захвата конвертером RGB в VGA.

По умолчанию установлен режим использования внешней частоты от Ориона-ПРО и я рекомендую его не изменять, но можно переключить и на 10 МГц от самого конвертера и не подключать сигнал "F", правда в текущей прошивке подстроить его не получится, только ровно 10 МГц.

Настройка "SYNC" позволяет переключить режим синхро импульса со смешанного варианта (задействован контакт подключения SSI) на раздельный (задействованы контакты подключения KSI и SSI).

Меню "Image adjust" позволяет подстроить позиционирование видео изображения на экране монитора, также здесь можно подстроить сжатие изображения, если оно не помещается по вертикали, и подстроить задержку захвата:

Настройка позиционирования видео изображения конвертера RGB в VGA.
Настройка позиционирования видео изображения конвертера RGB в VGA.

Далее я хочу продемонстрировать все варианты режимов отображения видео Ориона-ПРО.

На своем широкоформатном мониторе я установил соотношение сторон в значение "Исходное", чтобы он его не трансформировал и показывал картинку, как она должна быть с соотношением сторон 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 Small.
1024x768@60 Small.

Режим "1024x768@60". Для моего Орион-ПРО это самый оптимальный режим. Изображение по вертикали полностью занимает всю площадь экрана монитора. В режиме 384 пикселя в строке имеются поля слева и справа, в режиме 512 пикселей занимает всю площадь монитора. Не имеет искажений в отрисовке пикселей, но сильно вытянут и геометрия круга не верная. Но, если переключить широкоформатный монитор в режим растягивания изображения, то геометрия становится правильной и оба режима (384 и 512) занимают максимально возможную площадь широкого экрана (пять фотографий):

Режим "1024x768@60 3x4". Режим отображения только для 384 пикселей в строке. В данном режиме соблюдена пропорция 3x4 так, чтобы по вертикали была занята вся область экрана, слева и справа остаются небольшие черные полосы (две фотографии):

Режим "1024x768@60 384". В данном режиме заполнена вся область экрана для 384 пикселей. Имеется небольшое искажение круга. Можно использовать, когда хочется задействовать экран полностью:

1024x768@60 384.
1024x768@60 384.

Режим "1280x1024@60 Small". Данный режим только для 384 пикселей в строке. Пропорция, на мой взгляд, не совсем соответствует 3x4. Имеются большие поля со всех сторон, не знаю где он может использоваться, но пока оставил:

1280x1024@60 Small.
1280x1024@60 Small.

Режим "1280x1024@60 Large". Данный режим также предназначен только для 384 пикселей в строке. Тут не соблюдена пропорция 3x4, но качество прорисовки пикселей наилучшая без каких-либо потерь. По вертикали занимает всю площадь экрана, слева и справа небольшие черные полосы:

1280x1024@60 Large.
1280x1024@60 Large.

И последний режим "1280x1024@60 384". Режим для 384 пикселей в строке. Изображение растянуто на всю площадь экрана, при разрешении 1280x1024 деформации пикселей практически не видно. Геометрия 3x4 не соблюдена, но для отображения на весь экран этот режим самый подходящий:

1280x1024@60 384.
1280x1024@60 384.

Приятным бонусом отображение "No signal", если отключить Орион-ПРО не отключая конвертера. Предыдущая прошивка продолжала показывать последнее, что осталось в буфере памяти конвертера:

Режим отображения, когда пропал сигнал от Ориона-ПРО.
Режим отображения, когда пропал сигнал от Ориона-ПРО.

В начале статьи я уже отметил тот факт, что прошивку можно использовать и на устройствах без кнопок управления, вот пример таких конвертеров:

Конвертер RGB в VGF и плата конвертера на Zero.
Конвертер RGB в VGF и плата конвертера на Zero.

Экранного меню не будет и, чтобы настроить конвертер, потребуется его подключить к компьютеру по USB. В диспетчере устройств появится еще один COM порт.

Для доступа к настройкам понадобится любой терминал. В терминале нужно указать номер COM порта и установит скорость обмена 38400 бод. Я у себя использую терминал из Arduino IDE.

Для активации настроек нужно в порт передать любой символ, в ответ конвертер пришлет список доступных команд и теперь можно выполнять такие же настройки, которые доступны в экранном меню:

Список команд для настройки конвертера RGB в VGA через монитор.
Список команд для настройки конвертера RGB в VGA через монитор.

Вот пример команды "p", которая показывает текущую конфигурацию конвертера:t

Текущая конфигурация конвертера RGB в VGA.
Текущая конфигурация конвертера RGB в VGA.

Если настраивать конвертер через терминал, то доступ к экранному меню будет заблокирован. Чтобы разблокировать экранное меню надо перезагрузить или выключить-включить конвертер.

На мой взгляд конвертер оказался очень функциональным. Главное он позволяет не меняя прошивку изменять режимы отображения - это очень удобно.

Дефекты со смещением экрана, которые пришлось лечить "костылем" в предыдущей прошивке, тут не обнаруживаются.

Именно такого конвертера мне и не хватало для моего Орион-ПРО.

Последние исправления прошивки:

  • 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). Прошивка распознает режим и переключает конвертер на него.

Прошивка для Орион-ПРО (128).

Экспериментальная прошивка с автопереключением режимов.

Оригинальная прошивка для ZX Spectrum, если понадобиться использовать конвертер для этого компьютера и не переделывать конвертер.

Измененный исходный код прошивки от Oleksandr Semenyuk (osemenyuk-114) с сайта.

Продолжение следует...