≡ Передовица » Hardware » Плата цветовых палитр
Плата цветовых палитр + и загр. знакогенератор.Разработка НТК Спрайт. Устройство "2 в 1", включающее схему управления цветовыми палитрами и блок загружаемого знакогенератора. Современным языком: официальная видеокарта для АГАТов. Именно официальная, поскольку разрабатывали её родители АГАТа.
Комбинированное устройство, включающее знакогенератор с загружаемыми набором символов и схему управления цветовыми палитрами (НТК "Спрайт"). Предназначено для разработчиков редакторов и других программ использующих специальные наборы символов (экзотические алфавиты, математическая символика, псевдографика и т.п.) и дополнительные средства цветного и полутонового изображения. Обеспечивает отображение стандартного и загружаемого наборов символов (полная таблица - 256 знаков) и цветовую палитру для сопоставления каждому из 16 цветов любого из 4096 оттенков.
Поставка: плата загружаемого знакогенератора и цветовых палитр, комплект программ редактора набора символов, файлы стандартных символьных наборов, драйверы для вывода на принтер, редактор цветовых палитр. Плата на фотографии - образец для отладки - выполнена на станке ProtoMat H 100 (LPKF Laser & Electronics AG). В серию пошла уже в более привычном виде, например, как "CARD93". Группа сайта разыскивает серийный образец* * *Схема управления цветовыми палитрамиПозволяет программно сменить палитру любого базового Агатовского цвета (в т.ч. фона), для любых режимов отображения (как графических, так и текстовых), в очень широких пределах (12бит). Т.е. количество различных цветов, отображаемых на экране, остается прежним, но увеличивается сложность возможной картинки. На RGB выходе у Агата ТТЛ уровни. Можно считать, что там просто число от 0 до 15. Это число внутри платы превращается в три 4-битных значения, которые идут на ЦАП-ы. Есть два варианта: - задать соответствие цветов самостоятельно, прописав его в 1802ИР1 - использовать одну из 8 встроенных таблиц (палитр), зашитых в 556РТ11
* * *Блок загружаемого знакогенератораНа базе данного устройства с национальными символами в знакогенераторе создавались региональные (напр. Абхазия) версии "Агат-автор".
* * *СхемыНесколько отсканированных документов из архива разработчика, некоторые листы нарисованы на плоттере XY 4150. ЧАСТЬ 1. Питание, КСИ, ССИ, джампер полярности, выходной разъем RGB. Исследуемый образец (небольшая предсерийная партия) платы явно рассчитана на слот 0(X1) семерки, куда выведены видеосигналы RGB. Серийная плата имеет выкидной шлейф для подключения к разъему RGB, таким образом работает и с девяткой. * * *ЧАСТЬ 2. Таких блоков в схеме три. Они полностью идентичны, подключены на одинаковые точки, кроме "Г" и "Л". Это три одинаковых канала на 1802ИР1, на выходе которых на резисторах собран ЦАП. 1802ИР1 - двухпортовая память. Первый порт используется как преобразователь 4 бита адреса в 4 бита данных. На входе 4 бита цвета, на выходе 4 бита, которые подаются на ЦАП и на канал цвета. 3 канала - это R G B. * * *ЧАСТЬ 3. Обратите внимание на микросхему ЛЛ1 на шине адреса. Она тут используется просто как формирователь (для восстановления сигнала). Возможно, где-то в секретном бункере ещё есть документация на агат, в которой указаны допустимые уровни нагрузки на шину. Если этот уровень превысить, то выходные формирователи могут не вывезти нагрузку на шину. Если проектируемое устройство превышает эти пороги, в него добавляют на вход такой вот буферный усилитель. По сути : любую дешевую (доступную) логическую микруху, которая выступает тут как усилитель/повторитель сигнала (ретранслятор). * * *ЧАСТЬ 4. Блок загружаемого знакогенератора. * * *ЧАСТЬ 5. Озу загружаемого знакогенератора. Важно! При использовании микросхем К541РУ2 (без буквы) не хватит быстродействия для режима Т64. На обычной генплате код символа сразу попадает на ПЗУ, а с её выхода идет на сдвиговый регистр. С платой сменного знакогенератора сигнал должен пройти через 3 микросхемы: мультиплексор, ПЗУ или ОЗУ знакогенератора, выходной формирователь. Мультиплексоры стоят быстрые, 531-й серии, задержка у них 8нс. ПЗУ РТ18 - задержка 60нс. ОЗУ К541РУ2 - задержка 120нс. Выходной формирователь КР580ВА86 - задержка 35нс. Считаем: когда включено ПЗУ, то суммарная задержка 8+60+35=103нс. Если включено ОЗУ (сменный знакогенератор), то суммарная задержка 8+120+35=163нс. То есть, для режима Т32 все соблюдается с запасом (надо 190). А вот в режиме Т64 быстродействия не хватает (надо 95). Причём с ПЗУ не хватает совсем чуть-чуть, а с ОЗУ не хватает много. Для нормальной работы в режиме Т64 придется использовать К541РУ2 с добавочной буквой (А? Б?) у которых время доступа меньше. Или применять микросхемы К132РУ14А.
На сайте "Проект создания реплик ПЭВМ Агат" выложен проект данной платы.
* * *Программирование платы. х - номер слоты. Для Агат-7 обычно =1, для Агат-9 обычно =3. Знакогенератор:"ПЗУ ЗГ" - микросхема (D3) содержащая штатный знакогенератор. "ОЗУ ЗГ" - память (D4-D7), куда загружается пользовательский знакогенератор. "ДК" - дисплейный контроллер. $Cx41 - подключение ОЗУ ЗГ к C800-CFFF. ДК использует символы из ПЗУ ЗГ. $Cx43 - подключение ОЗУ ЗГ к C800-CFFF. ДК использует символы из ОЗУ ЗГ. $Cx42 - отключение ОЗУ ЗГ от C800-CFFF. ДК использует символы из ОЗУ ЗГ. $Cx40 - отключение ОЗУ ЗГ от C800-CFFF. ДК использует символы из ПЗУ ЗГ. Допустим, требуется из бейсика сменить штатный знакогенератор, на содержащийся в файле "CharSet", а потом обратно: PEEK $CFFF - отключение памяти других плат от области C800-CFFF. POKE $Cx41,0 - открыть запись в ОЗУ знакогенератора. BLOAD CharSet,А$C800 - загрузить данные из файла в область C800-CFFF POKE $Cx42,0 - закрыть запись в ОЗУ знакогенераторе/переключить на транслирование ЗГ из ОЗУ. ... POKE $Cx40,0 - вернуть плату в исходное состояние.Если в этом примере, заменить POKE $Cx41,0 на POKE $Cx43,0 то результат будет тот же. Но в момент загрузки данных, возможны артефакты изображения, так как ДК уже использует символы из ОЗУ ЗГ. Управление палитрами:Cx00 - Cx0F - регистры палитры красного цвета Cx10 - Cx1F - регистры палитры синего цвета Cx20 - Cx2F - регистры палитры зеленого цвета Cx30 - Cx37 - включение встроенных палитр 0-7 (из ПЗУ) Cx38 - Сx3F - включение программируемой палитры (все адреса работают одинаково) Допустим, требуется загрузить вот такую пользовательскую палитру: 0 - #000 Black 1 - #FFF White 2 - #800 Red 3 - #AFE Cyan 4 - #C4C Violet / purple 5 - #0C5 Green 6 - #00A Blue 7 - #EE7 Yellow 8 - #D85 Orange 9 - #640 Brown A - #F77 Light red B - #333 Dark grey / grey 1 C - #777 Grey 2 D - #AF6 Light green E - #08F Light blue F - #BBB Light grey / grey 3 Загрузить палитру можно такими командами Монитора (старшие 4 бита каждого байта нулевые): Cx00: 00 0F 08 0A 0C 00 00 0E 0D 06 0F 03 07 0A 00 0B Cx10: 00 0F 00 0F 04 0C 00 0E 08 04 07 03 07 0F 08 0B Cx20: 00 0F 00 0E 0C 05 0A 07 05 00 07 03 07 06 0F 0B Cx38: 00 * * ** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |