Commodore 64 — компьютер с огромной библиотекой программ, но с не очень качественным видеовыходом. Микросхема под названием VIC-II генерирует сразу S-Video, причём сигнал цветности — не совсем стандартный, а сигнал яркости — несколько зашумлённый. Но, сняв сигналы с 22 выводов этого чипа, можно с помощью ПЛИС выяснить, что же он выводит на экран в данный момент, и сформировать точно такой же видеосигнал, но YPbPr.

За основу автор взял свою же предыдущую разработку — плату A-Video. Устанавливать её в корпус C64 было неудобно, так как она требовала сверления дополнительных отверстий для трёх «тюльпанов». Новая же плата рассчитана на установку вместо модулятора. Новые отверстия не требуются, на месте антенного гнезда после переделки оказывается четырёхконтактный (TRRS) «джек».

Устройство состоит из двух частей:

  • платы-переходника, преобразующего все 22 сигнала из 5-вольтовых уровней в 3,3-вольтовые
  • платы с ПЛИС, подключаемой к плате-переходнику шлейфом и устанавливаемой вместо модулятора; также она содержит каскады для усиления сигналов S-Video и композитного сигнала, повторяющие аналогичные каскады модулятора, чтобы продолжали работать соответствующие видеовыходы.

Устройство спроектированного так, чтобы со временем можно было добавить поддержку всех существующих вариантов C64: PAL- и NTSC-версий, коротких и длинных, с питанием VIC-II только от 5 В и от 5 и 12 В. Аппаратная часть, вероятно, совместима со всеми вариантами уже сейчас (произведена проверка с двумя платами — длинной с питанием чипа двумя напряжениями и короткой с питанием чипа одним напряжением), но некоторые разновидности микросхемы VIC-II (в частности, 6567R56A, встречающаяся в ранних выпусках компьютера) пока не поддержаны прошивкой. А эти — уже точно поддержаны и работают:

— 6569R5 (PAL)

— 8565R2 (PAL)

— 8562R4 (NTSC)

Переключателем на плате можно выбрать следующие параметры выходного сигнала:

— 240p/288p, построчная развёртка, 50/60 Гц

— 480p/576p, построчная развёртка, 50/60 Гц, удвоение строк

— 480p/576p, 50/60 Гц, имитация строк как на ЭЛТ

Назначение выводов «джека», начаная с контакта штекера, противоположного шнуру: Y, Pb, Pr, общий. Поэтому подойдёт любой кабель с четырёхконтактным «джеком» и тремя «тюльпанами», при условии, что общему проводу соответствует контакт «джека», который ближе всего к шнуру.

Режим 240p/288p поддерживают не все телевизоры, но его удобно подавать во внешние скалеры. Оба режима 480p/576p хорошо работают на всех телевизорах, лишь бы там была поддержка YPbPr.



Порядок переделки:

  • скачать все необходимые файлы (схемы, чертежи плат, прошивки) отсюда, собрать платы, прошить ПЛИС
  • извлечь микросхему VIC-II из платы компьютера, иногда это требует перемещения небольшого количества «рассыпухи» и установки панельки
  • поместить чип VIC-II в плату-переходник, проследив, чтобы он был развёрнут так же
  • установить плату-переходник с чипом в плату компьютера, если он плохо удерживается в панельке, заменить её на более качественную
  • проверить плату с ПЛИС на весу, подключив её к плате-переходнику шлейфом, затем соединив одну из площадок GND3, GND4, GND5 с общим проводом компьютера, а правую площадку набора RFCON2 — с шиной +5 В, в таком виде устройство уже способно выводить YPbPr-сигналы
  • снять модулятор, очистить от припоя все отверстия в плате, куда он был впаян
  • на место модулятора установить две четырёхконтактные гребёнки, но пока не впаивать
  • посмотреть, к каким контактным площадкам платы с ПЛИС подключать гребёнки: для компьютеров с длинными платами набор площадок на плате с ПЛИС один, для компьютеров с короткими платами — другой
  • надеть плату с ПЛИС на гребёнки, выровнять, затем припаять их со стороны платы компьютера
  • выставить плату с ПЛИС по вертикали, припаять гребёнки с её стороны
  • если микросхема VIC-II работает питается двумя напряжениями (её обозначение начинается не с 8, а с 6), замкнуть на плате с ПЛИС перемычку JPLUM1
  • если вы после проверки на весу убирали шлейф, вернуть его обратно

Подключить плату с ПЛИС к телевизору можно через переходник «TRRS — три тюльпана», через такой же шнур, либо через шнур TRRS — TRRS, если у телевизора такой YPbPr-вход с той же цоколёвкой (см. выше).

Адрес для связи с разработчиком: reinhard.grafl гавкает aon ставится в конце предложения at

Комментарии (5)


  1. ladutsko
    11.03.2019 00:29

    раз в ход пошла плисина… то отпустив вожжи фантазии можно пойти дальше и применить нейронку для апскейла до хоть 4к с соответствующем выходом…
    а вообще, мне такие статьи очень нравятся — респект!


    1. mistergrim
      11.03.2019 00:53
      +1

      Уже пробовали, на пиксельной графике ерунда получается. Собственно, не вполне понятно, на чём для неё обучать нейросеть.

      По теме статьи — понятно, что перевод, но хотелось бы кроме картинки «после» видеть и картинку «до».


    1. vladkorotnev
      11.03.2019 04:38

      Зачем нейронка? Если при апскейле задача сохранить чёткость оригинала, то для пиксельной графики лучше тупого копирования по nearest-neighbor ещё пока ничего не придумали.


    1. rbobot
      11.03.2019 08:20
      +1

      Хватит и простого шейдера, что бы вытянуть изображение на 4к и оставить пиксельный шарм.
      Ретроарк с этим, например, отлично справляется:

      Заголовок спойлера
      image


  1. Byteman
    12.03.2019 08:36

    Интересно, как обстоят дела с демами, которые используют недокументированные багофичи оригинального VIC-II?