** Сайт посвящённый ПЭВМ АГАТ **
Разработка НТК Спрайт. Устройство "2 в 1", включающее схему управления цветовыми палитрами и блок загружаемого знакогенератора. Современным языком: официальная видеокарта для АГАТов. Именно официальная, поскольку разрабатывали её родители АГАТа.
Плата на фотографии - образец для отладки - выполнена на станке ProtoMat H 100 (LPKF Laser & Electronics AG). В серию пошла уже в более привычном виде, например, как "CARD93".
Группа сайта разыскивает серийный образецПозволяет программно сменить палитру любого базового Агатовского цвета (в т.ч. фона), для любых режимов отображения (как графических, так и текстовых), в очень широких пределах (12бит). Т.е. количество различных цветов, отображаемых на экране, остается прежним, но увеличивается сложность возможной картинки.
На RGB выходе у Агата ТТЛ уровни. Можно считать, что там просто число от 0 до 15. Это число внутри платы превращается в три 4-битных значения, которые идут на ЦАП-ы.
Есть два варианта:
- задать соответствие цветов самостоятельно, прописав его в 1802ИР1
- использовать одну из 8 встроенных таблиц (палитр), зашитых в 556РТ11
На базе данного устройства с национальными символами в знакогенераторе создавались региональные (напр. Абхазия) версии "Агат-автор".
Пример применения псевдографики сменного знакогенератора.
Несколько отсканированных документов из архива разработчика, некоторые листы нарисованы на плоттере XY 4150.
ЧАСТЬ 1. Питание, КСИ, ССИ, джампер полярности, выходной разъем RGB.
Интересно что сделано раздельное питание, часть от +5 слоты а часть после КРЕНки запитанной от 12 вольт - подстраховались от шумов.
Выход без бита яркости, уже подмешан.
Учитывая, что в одних моделях наших мониторов сигнала яркости нет, в других есть и ослабляет яркость в половину, а в третьих еще как-то хитро работает, то логично, что от сигнала яркости отказались. Просто чтобы это более-менее одинаково работало.
Джампер: некоторым мониторам требовалась инверсия синхроимпульсов.
Исследуемый образец (небольшая предсерийная партия) платы явно рассчитана на слот 0(X1) семерки, куда выведены видеосигналы RGB. Серийная плата имеет выкидной шлейф для подключения к разъему RGB, таким образом работает и с девяткой.
ЧАСТЬ 2. Таких блоков в схеме три. Они полностью идентичны, подключены на одинаковые точки, кроме "Г" и "Л".
Точки "Г" блоков подключены каждый к своему контакту выходного разъема.
Точки "Л" блоков подключены каждый к своему контакту микросхемы кр555ид7.
Это три одинаковых канала на 1802ИР1, на выходе которых на резисторах собран ЦАП. 1802ИР1 - двухпортовая память. Первый порт используется как преобразователь 4 бита адреса в 4 бита данных. На входе 4 бита цвета, на выходе 4 бита, которые подаются на ЦАП и на канал цвета. 3 канала - это R G B.
ЧАСТЬ 3. Обратите внимание на микросхему ЛЛ1 на шине адреса. Она тут используется просто как формирователь (для восстановления сигнала).
Возможно, где-то в секретном бункере ещё есть документация на агат, в которой указаны допустимые уровни нагрузки на шину. Если этот уровень превысить, то выходные формирователи могут не вывезти нагрузку на шину. Если проектируемое устройство превышает эти пороги, в него добавляют на вход такой вот буферный усилитель. По сути : любую дешевую (доступную) логическую микруху, которая выступает тут как усилитель/повторитель сигнала (ретранслятор).
ЧАСТЬ 4. Блок загружаемого знакогенератора.
Микросхема PROM знакогенератора извлекается из генплаты и устанавливается в панель D3 модуля.
Гибкий шлейф от модуля подключается к освободившемуся коннектору на генплате.
ЧАСТЬ 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
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *