MDA/Hercules/CGA/EGA to VGA конвертер на ПЛИС (Канадский скандаблер на FPGA Cyclone IV)

Описания, советы, ремонт, эксплуатация старых IBM PC-совместимых ПК
Аватара пользователя
Tronix
Advanced Member
Сообщения: 3625
Зарегистрирован: 15.01.2008,11:00
Откуда: Москва

Вклад в сообщество

MDA/Hercules/CGA/EGA to VGA конвертер на ПЛИС

Сообщение Tronix » 17.03.2018,11:20

Канадский скандаблер на FPGA Cyclone IV

Open-source и open-hardware проект видео-конвертера. https://sites.google.com/site/tandycoco ... ega-to-vga

Отличается от всяких китай-поделий типа GBS-8200 несколькими вещами:
  • Принимает стандартные цифровые TTL входы. Таким образом, не надо городить внешний DAC (ЦАП) на резисторах, замешивать самостоятельно HSync и VSync в синхру на 555ЛП5 и схему преобразования коричневого в коричневый на чем то вроде 555ИД7. Имеет стандартный DSUB9 разъем, который можно втыкать прямо в видеокарты MDA/Hercules/CGA/EGA (ну или через проводок DSUB-DSUB).
  • Понимает горизонтальную синхру, отличную от 15.7 KHz. У GBS-8200 с этим судя по всему все плохо - хотя в спеках и обещают, на деле нифига не работает. Поэтому кроме стандартных CGA-режимов и режимов EGA в режиме совместимости с CGA на GBS-8200 добиться чего-то еще сложно (хотя, поговаривают, что можно всем рулить через i2c интерфейс, но...)
  • Качество картинки. Я бы назвал это - идеально. Даже на VGA, подключенных к LCD монитору бывает хуже, чем с EGA и этим конвертером. Никаких вертикальных полос, снега, двоения, размытия. Все четко, как чечетка -)
Изображение Изображение Изображение

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

Проверял на всех имеющихся у меня видео-картах, а есть у меня они такие:

MDA/Hercules карта на чипе Winbond W86855AF
Изображение

CGA карта на чипе Udl
Изображение

EGA карточки на чипе Gemini VC-001. Точнее даже SuperEGA, так как имеют на борту 256Kb памяти и могут режимы с высоким разрешением
Изображение Изображение Изображение

Знаменитая ATI EGA Wonder 800. Также несет на борту 256Kb памяти. Помимо EGA высоких разрешений, может еще и VGA 640x480x16 цветов.
Изображение

И пока не рабочая EGA на чипе Citygate D10. Пока нет кварца и генератора.
Изображение

Аватара пользователя
Rio444
Почётный пользователь
Сообщения: 26890
Зарегистрирован: 14.09.2014,19:11
Откуда: Ростов-на-Дону

Вклад в сообщество

Сообщение Rio444 » 17.03.2018,17:40

Если Вы его собрали, может и расскажете, как это работает?

А где детали брали, и во сколько примерно обошлось?
Электронка: Изображение копия Изображение

Аватара пользователя
Tronix
Advanced Member
Сообщения: 3625
Зарегистрирован: 15.01.2008,11:00
Откуда: Москва

Вклад в сообщество

Сообщение Tronix » 17.03.2018,18:35

Rio444 писал(а):Если Вы его собрали, может и расскажете, как это работает?
Работает просто - с одной стороны втыкается в CGA/EGA/MDA/HERCULES видео-карту, с другой стороны вставляется шнур от VGA монитора. А, ну и питание 5в от адаптера. И это вообщем-то все.
Есть автоматическое распознавание CGA/EGA сигнала. Для MDA необходимо включить первый переключатель. Для Hercules еще и второй.
В режиме CGA есть эффект "сканлайн" - типа как на старых ЭЛТ мониторах. Можно включить эмуляцию монохромного кинескопа. И самое главное - есть поддержка композитного CGA. Короче все, что есть у CGA эта штука умеет.
В режиме EGA - ну просто EGA, режимы с высоким разрешением. Можно включить эмуляцию монохромного кинескопа.
В режиме MDA/Hercules - можно задать тип кинескопа - зеленый, янтарный или белый.

Есть регулировка по вертикали и горизонтали. Можно менять фазу сигнала, подстраиваясь под конкретную видео-карту.

Rio444 писал(а):А где детали брали, и во сколько примерно обошлось?
Обошлось дорого. Основная отладочная плата с ПЛИС покупается на алиэкспрессе, гуглится по названию CoreEP4CE6. К ней же там же сразу покупается китайский USB-Blaster - это программатор для ПЛИС. Это главное. Но, не основное -) Затем нужна дочерняя плата. Плату, а так же быструю SRAM (8ns) перед новым годом предлагали на соседнем форуме в барахолке. Там и купил с доставкой почтой. Оставались разъемы D-SUB9 и VGA, переключатель, пара выводных резисторов - ну тут все просто - Чип и Дип. Когда уже почти все было собрано, внезапно осознал, что не могу нигде найти микросхему буфер SN74LVC245AN в DIP корпусе, да даже и не в DIP в России. Помыкавшись пару дней взял и заказал только эту микруху опять на али (нужно было это сделать сразу). И последнее - резисторные сборки по 1кОм - забыл купить в Чип и Дип, поэтому заколхозил из подручных smd 1кОм резисторов 0805 1%. На одной из фотографий это видно.

Вообщем, почти все приходится тянуть из китая. Отладочная плата, программатор (у кого нету), SN74LVC245AN (не найти в России), память SRAM 8ns (не найти в России). Остальное здесь вроде есть.

Как-то так.

Аватара пользователя
Rio444
Почётный пользователь
Сообщения: 26890
Зарегистрирован: 14.09.2014,19:11
Откуда: Ростов-на-Дону

Вклад в сообщество

Сообщение Rio444 » 17.03.2018,19:03

Tronix, Вы меня своими неожиданными ответами просто восхитили!
Tronix писал(а):Обошлось дорого...
Сколько в рублях или $? Я не прошу с точностью до цента, хотя бы плюс-минус 5$.
Tronix писал(а):Работает просто - с одной стороны втыкается в CGA/EGA/MDA/HERCULES...
Это весьма очевидно.
Какой алгоритм работы?
Что делает ПЛИС? Зачем нужна память? И почему именно 8ns?
VGA видеокарты как-то обходились DRAM вплоть до 120ns. А 60-80ns так вообще, как за здрасьте.
Электронка: Изображение копия Изображение

Аватара пользователя
Tronix
Advanced Member
Сообщения: 3625
Зарегистрирован: 15.01.2008,11:00
Откуда: Москва

Вклад в сообщество

Сообщение Tronix » 17.03.2018,19:20

Rio444 писал(а):Сколько в рублях или $? Я не прошу с точностью до цента, хотя бы плюс-минус 5$.
Я точно не считал. Думаю, что в районе 2500 руб.
Rio444 писал(а):Какой алгоритм работы?
Что делает ПЛИС? Зачем нужна память? И почему именно 8ns?
Ну я как-бы не автор, поэтому всех тонкостей не знаю. По ссылке в первом посте есть краткое описание принципа работы.

wbcbz7
Advanced Member
Сообщения: 437
Зарегистрирован: 17.02.2014,12:24
Откуда: omsk || nsk

Сообщение wbcbz7 » 17.03.2018,19:53

интересный (но странный) конвертер, спасибо за ссылку :)
Rio444 писал(а):Что делает ПЛИС? Зачем нужна память? И почему именно 8ns?
VGA видеокарты как-то обходились DRAM вплоть до 120ns. А 60-80ns так вообще, как за здрасьте.
8нс память наверняка нужна для того, чтобы граббить сигнал с достаточной точностью (пикселклок-то на видеоконнектор не выведен, так что приходится оцифровывать с многократным запасом по частоте, чтобы не было артефактов). Собственно, для этого ПЛИС с быстрой памятью и нужна :)

хотя вот еще интересное есть:
[font=Courier]Output Resolutions
Mode Resolution
MDA 720x400@70Hz
Hercules 720x400@70Hz
CGA and EGA Lo-Res 720x480@60Hz
EGA Hi-Res 640x350@70Hz[/font]
то есть конвертер при этом еще и будет вставлять кадры взамен "дырок" из-за несовпадения вертикальной частоты (50/60 против 70), да и выбор 720x480@60Hz для CGA and EGA Lo-Res непонятен, там и 640x480 60гц хватило бы (или же 720x400 70гц)

Аватара пользователя
Rio444
Почётный пользователь
Сообщения: 26890
Зарегистрирован: 14.09.2014,19:11
Откуда: Ростов-на-Дону

Вклад в сообщество

Сообщение Rio444 » 17.03.2018,20:05

wbcbz7 писал(а):пикселклок-то на видеоконнектор не выведен
А строчная синхронизация - не оно? Не оно.

Почему бы вместо увеличения частоты в 8(!) раз, просто не поставить переключатели (джамперы) для ручного выбора количества пикселей в строке - 320, 640, 720?
Думаю, доступность и стоимость устройства снизилась бы в разы.


Теперь уже автор сего устройства удивил, когда написал о применении теоремы Котельникова (Найквиста) к цифровому сигналу.
Электронка: Изображение копия Изображение

-MiS-
Advanced Member
Сообщения: 923
Зарегистрирован: 09.03.2016,15:39
Откуда: Москва

Вклад в сообщество

Сообщение -MiS- » 17.03.2018,20:59

Пару недель назад собрал и протестировал. Все отлично!
Особенно доставил режим эмуляции черно-зеленого монитора. Запускал с Hercules и 14" VGA мониторе :biggrin:
74LVC245 покупал в тут Там-же заказывал статику для XT на фарадее.
Была еще затея рассмотреть возможность приспособить его к Spectrum'у по цифре.

justontime
Full Member
Сообщения: 264
Зарегистрирован: 10.09.2016,00:06
Откуда: СПб

Вклад в сообщество

Сообщение justontime » 17.03.2018,21:00

Я довольно внимательно смотрел на разные варианты подобных устройств. То, что сделал автор - весьма неплохо. Жестко задать частоту можно, но тогда придется делать ФАПЧ и прочие довольно хитрые штуки, так как частота пикселей карты не только неизбежно будет отличаться в каких-то пределах от частоты внутри FPGA, но и эти частоты будут плавать относительно друг друга. Соответственно, ближе к концу строки пикселы начнут ползти, а на границе еще и мерцать.

Мало того, я экспериментировал со специализированной микросхемой захвата видеосигнала - результат не лучше, чем этот преобразователь.

Короче, человек придумал довольно хорошо работающий метод при совершенно разумных затратах на устройство.

Аватара пользователя
Rio444
Почётный пользователь
Сообщения: 26890
Зарегистрирован: 14.09.2014,19:11
Откуда: Ростов-на-Дону

Вклад в сообщество

Сообщение Rio444 » 17.03.2018,21:39

justontime писал(а):То, что сделал автор - весьма неплохо.
С этой характеристикой могу согласиться.
Мне не с чем использовать подобное устройство, поэтому интерес исключительно теоретический.
Пока впечатление - из пушки по воробьям.
Электронка: Изображение копия Изображение

-MiS-
Advanced Member
Сообщения: 923
Зарегистрирован: 09.03.2016,15:39
Откуда: Москва

Вклад в сообщество

Сообщение -MiS- » 17.03.2018,21:51

Rio444 писал(а):Пока впечатление - из пушки по воробьям.
А какие еще варианты решения данной задачи?
Может проще только конвертер сразу к ЖК матрице, и то я не уверен, можно ли там менять частоту обновления в нужных пределах

Ответить