1 Отредактировано garnizon (18-10-2019 02:04)

Тема: Плата цветовых палитр и загружаемого знакогенератора.

Интересна тем, что у нас где-то под неё есть софт, и кроме того у это платы и контроллера840 один автор.

Схему срисовывал с картинок сделанных на плоттере, вот тут эти картинки:
http://agatcomp.ru/Hard/chargen1/ZGN1.rar

Реальной платы нет, точнее есть но она у Володи, и на ней кстати нет половины элементов.

Позиционные номера микросхем известны не все. Неизвестным сам не присваивал номера - так выкручивался.

Блок загружаемого знакогенератора пока не рисовал.

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

http://agatcomp.ru/Hard/chargen1.shtml


Здорово будет если скажете где я накосячил, или что-то перенести\изменить для лучшей читабельности.

2 Отредактировано Voldemar0 (18-09-2019 06:36)

Re: Плата цветовых палитр и загружаемого знакогенератора.

не пойму при чём тут знакогенератор загружаемый.
тут памяти для его загрузки нет
64 бита озу на каждый канал цвета
это какой -то механизм преобразования палитр, но не ясно пока из чего во что

и интересно, в какой слот его втыкать?
разве только в первый семёрочный - там сигналы видео на слоте есть

из ошибок:
у аг3 где-то должен быть кондёр (возможно на 14 лапе)
у кт361 перепутаны база-эмиттер
два резистора после кренки не могут быть 0.15 и где-то ещё такие же по питанию нарисованы. скорее это кондёры

лл1 здесь, возможно, стоит как линия задержки

3

Re: Плата цветовых палитр и загружаемого знакогенератора.

Так я же написал что "Блок загружаемого знакогенератора пока не рисовал"

***

Плата явно расчитана на слот 0(X1) семерки, куда выведены видеосигналы.
Однако реклама этой ячейки гласила: 

"Поставка: плата загружаемого знакогенератора и цветовых палитр, комплект программ редактора набора символов, файлы стандартных символьных наборов, драйверы для вывода на принтер, редактор цветовых палитр, установка и наладка.
Продажа: «Агат-7» с 03.91, «Агат-9» с 06.91 цена от 2000."

Т.е. для Агат-9 тоже, может по средствам выкидного хвоста к разъему RGB?
Интересно как она уживется с девяточной возможность менять палитры.

4

Re: Плата цветовых палитр и загружаемого знакогенератора.

garnizon пишет:

Интересно что сделано раздельное питание, часть от +5 слоты а часть после КРЕНки запитанной от 12 вольт.
Помнится читал про реплику DENDY(NES), так там автор делил питание в борьбе с наводками от цифровой части схемы, тут что-то подобное?

Ну, с 5 вольтовой шины питания можно легко словить 0,5 вольта помех, а видеосигнал на выходе платы, видимо 1 вольт с шагом 1/16 (0,06 вольта). Так что да, подстраховались от шумов.

garnizon пишет:

Выход без бита яркости, уже подмешан, что удобно для разных моников, а может для теликов?

Учитывая, что в одних моделях наших мониторов сигнала яркости нет, в других есть и ослабляет яркость в половину, а в третьих еще как-то хитро работает, то логично, что от сигнала яркости отказались. Просто чтобы это более-менее одинаково работало.

garnizon пишет:

Обратите внимание на микросхему ЛЛ1 на шине адреса.
Она тут используется  просто как  формирователь (для восстановления сигнала), а вот зачем это было нужно - вопрос. Но
так иногда делают.Если сигнал нечёткий (по уровню, по ещё каким-то параметрам) то будучи поданным на два разных элемента может быть воспринят ими по разному - в какой-то момент один из элементов будет считать , что получил ноль, а другой - что единицу. Вот чтобы устранить этот разброс, ставят на входе единственный элемент-повторитель (или инвертор), который приводит сигнал к какому-то "чёткому" уровню, который будет однозначно понятен последующим элементам.
Второй вариант: возможно, где-то в секретном бункере ещё есть документация на агат, в которой указаны допустимые уровни нагрузки на шину.
Если этот уровень превысить, то выходные формирователи могут не вывезти нагрузку на шину. Если проектируемое устройство превышает эти пороги, в него добавляют на вход такой вот буферный усилитель. По сути : любую дешевую (доступную)
логическую микруху, которая выступает тут как усилитель/повторитель сигнала (ретранслятор).

Э... Мне кажется, лучше не усложнять без причины :) ТТЛ - это довольно устойчивое к нечетким сигналам семейство. Пороговое напряжение (напряжение, которое отделяет логический 0 от 1) для нее около 1,6 вольт.

Если на входе логический 0 (у исправных микросхем он меньше 0,4 вольта), то микросхема будет считать его нулем, пока сигнал не превысит пороговое напряжение. То есть, к вот этим 0,4 вольтам может приплюсоваться помеха размахом до 1,2 вольта и ничего не сломается.

Если на входе логическая 1 (у исправных микросхем она больше 2,4 вольта), то микросхема будет считать ее единицей, пока сигнал не снизится до порогового напряжения. То есть, помеха может достигать 2,4 - 1,6 = 0,8 вольт.

Если же на входе точно пороговое значение, то и на выходе микросхемы будет некое среднее значение и никак она сигнал не исправит. Исправить сигнал может только триггер Шмитта. У него не один порог переключения, а два. Чтобы сигнал считался логической 1, он должен превысить 1,5 вольта. Но! После того, как сигнал был определен как 1, триггер срабатывает, и чтобы переключиться в состояние 0, сигнал должен снизиться уже не до 1,5 вольта, а до 1,1. То есть, помеха может быть уже 2,4 - 1,1 = 1,3 вольт.

Но это все не относится к данному конкретному случаю. 555ЛЛ1 - это не триггер Шмитта и при нечетком сигнале ситуацию не улучшит. Она могла бы использоваться как усилитель, но, во-первых, тут не видно мощных нагрузок, а во-вторых, 555ТМ8 идет в обход нее. Так что присоединяюсь к ответу, что это линия задержки.

garnizon пишет:

Интересно как она уживется с девяточной возможность менять палитры.

У Агата выходы цифровые. То есть там просто 4-битное число от 0 до 15. Как я понимаю, эта плата превращает 16 входных 4-битных чисел в 16 выходных 12-битных чисел. И тут все на совести программиста. Если он каждому из 16 входных цветов назначил какое-то осмысленное значение, то все возможности Агата сохранятся.
Как будут цвета Агата соответствовать выходным цветам платы зависит только от того, что записано в 1802ИР1. Либо от содержимого 8 встроенных палитр в 556РТ11.

5

Re: Плата цветовых палитр и загружаемого знакогенератора.

Кстати, прошивки тоже есть, все три:
http://agatcomp.ru/Hard/roms.shtml

Скачать сборник ПЗУ от различной периферии / Znakogenerator1 (папка)

6

Re: Плата цветовых палитр и загружаемого знакогенератора.

avivanov76 пишет:

Так что присоединяюсь к ответу, что это линия задержки.

А  для чего могли такое применить?

***

Я дорисовал плату, выложил по той же ссылке: http://agatcomp.ru/Reading/chargen1.shtml

Если есть предложение как разделить блоки, по логике работы (вот например "часть 4" перенасыщена) буду рад.
Это поможет сделать схему более читабельной. 
И вообще любые поправки по тексту и изображению очень приветствуются.

Анализируя схему и прошивку - можно выяснить какие именно цвета плата могла воспроизводить?
И главное по каким командам и адресам, примерно, производится общение с ней - чтоб проще мне было среди архива нашего софта искать программы для неё.

7

Re: Плата цветовых палитр и загружаемого знакогенератора.

garnizon пишет:

А  для чего могли такое применить?

Если не вру, то ТМ2 защелкивает данные по положительному перепаду на входе C. Такой перепад формирует ИД7 в конце цикла обращения ЦП. С учетом задержки самой ИД7, в этот момент ЦП уже может начать выставлять на шину следующий адрес, и тогда в триггер защелкнется мусор. ЛЛ1 позволяет "придержать" значение адреса.

Правда ТМ8 работает точно также, но данные на нее подаются без задержки.
Скорее всего ЛЛ1 - это все-таки буфер. В части 4 видно, что сигналы с нее идут на кр531кп11, а у нее входной ток как у 10 микросхем 555 серии.

Несколько замечаний по схемам:

  • в части 3 резистор от ноги 6 кр555ид7 идет, видимо, к питанию, а не к земле

  • там же входы R у к555тм8 и к555тм2 "висят" в воздухе

  • в части 4 что там все-таки за микросхемы - ва86 или ва87? А то нарисована инверсия, а у ва86 ее нет

garnizon пишет:

Анализируя схему и прошивку - можно выяснить какие именно цвета плата могла воспроизводить?
И главное по каким командам и адресам, примерно, производится общение с ней - чтоб проще мне было среди архива нашего софта искать программы для неё.

Да, цвета можно выяснить.

Адреса (насколько я понял):
X - номер слота
N = X + 8
C0N0 - C0NF - похоже, не используются

CX00 - CX0F - регистры палитры красного цвета
CX10 - CX1F - регистры палитры синего цвета
CX20 - CX2F - регистры палитры зеленого цвета
CX30 - CX37 - включение встроенных палитр (из ПЗУ)
CX38 - СX3F - включение программируемой палитры (все адреса работают одинаково)
CX40 - выключение записи в ОЗУ знакогенератора + включение ПЗУ знакогенератора
CX41 - включение записи в ОЗУ знакогенератора + включение ПЗУ знакогенератора
CX42 - выключение записи в ОЗУ знакогенератора + включение программируемого знакогенератора
CX43 - включение записи в ОЗУ знакогенератора + включение программируемого знакогенератора

Запись в знакогенератор делается по адресам C800-CFFF после того, как запись в ОЗУ разрешена.

8

Re: Плата цветовых палитр и загружаемого знакогенератора.

avivanov76 пишет:

Несколько замечаний по схемам:

  • в части 3 резистор от ноги 6 кр555ид7 идет, видимо, к питанию, а не к земле

  • там же входы R у к555тм8 и к555тм2 "висят" в воздухе

  • в части 4 что там все-таки за микросхемы - ва86 или ва87? А то нарисована инверсия, а у ва86 ее нет

Точно, спасибо, исправил.

Кроме того, еще на той же части 3 было: 12 и 13 ножки микросхемы D16 были к Б13 слоты (это bus a10)
а надо : к Б19 слоты (это bus r/w) - тоже исправил

9 Отредактировано garnizon (02-10-2019 20:37)

Re: Плата цветовых палитр и загружаемого знакогенератора.

avivanov76 пишет:

Да, цвета можно выяснить.

Может быть можно какую-то таблицу составить ?

И еще я не понял про палитру из ПЗУ и загружаемую, это не одно и тоже? Я вообще не понял как это всё работает.

Я на почту письмо отправил - оно приходило?

10 Отредактировано avivanov76 (04-10-2019 23:02)

Re: Плата цветовых палитр и загружаемого знакогенератора.

garnizon пишет:

Может быть можно какую-то таблицу составить ?

Прикрепил таблицу цветов - одна строка = одна палитра. И картинку с палитрами (вроде косяков не должно быть, но лучше перепроверить).

http://forum.agatcomp.ru//misc.php?action=pun_attachment&item=658

garnizon пишет:

И еще я не понял про палитру из ПЗУ и загружаемую, это не одно и тоже? Я вообще не понял как это всё работает.

Нет, не одно и то же. На RGB выходе у Агата ТТЛ уровни. Можно считать, что там просто число от 0 до 15. Это число внутри платы превращается в три 4-битных значения, которые идут на ЦАП-ы. Количество вариантов смэпить 16 входных цветов на 4096 выходных записывается числом с 57 знаками :)

Дальше есть два варианта:
- использовать одну из 8 встроенных таблиц (палитр), зашитых в 556РТ11
- задать соответствие цветов самостоятельно, прописав его в 1802ИР1

garnizon пишет:

Я на почту письмо отправил - оно приходило?

Да, получил.

Post's attachments

Attachment icon palette.png 24.17 kb, 106 downloads since 2019-10-04 

Attachment icon palette.txt 1.02 kb, 262 downloads since 2019-10-04 

11

Re: Плата цветовых палитр и загружаемого знакогенератора.

Интересно, а по какому принципу заносились цвета в встроенные палитры?

Есть мнение что :

1 похожа на восприятие яркости и цвета от частоты волны

2 похоже агат и эпл в одном флаконе

6 цветовой треугольник RGB

7 похоже на просто полезные цвета для картинок

12

Re: Плата цветовых палитр и загружаемого знакогенератора.

Про палитры 1 и 2 я подумал то же самое. Насчет 6 и 7 - да, может быть. Но в общем, это гадание на кофейной гуще :)
Палитры 1 и 6 не для всяких картинок и подойдут: в 1-й нет белого и фиолетового цвета, в 6-й белого и желтого. Зачем понадобилось 3 черно-белых палитры - тоже непонятно.

На мой взгляд, при наличии программируемой палитры вообще нет смысла иметь столько встроенных. По хорошему, тут нужна только палитра 0 (она как раз выбирается автоматом после сброса), поскольку в момент включения содержимое 1802ИР1 случайное и на время начальной загрузки машины нужен способ получить стандартные цвета. Но этого можно было добиться и без ПЗУ, просто поставив 3 мультиплексора перед ЦАП-ами.

Так что непонятно, почему тут два способа формирования палитр. Хотя возможно, на момент разработки просто не было ясно, дадут 1802ИР1 или нет, и разработчики так подстраховались.

Еще хотел уточнить: размах сигнала на выходе ЦАП должен быть примерно как у высокого ТТЛ уровня, вольта 4. Думаю, эту плату можно подключать к стандартным Агатовским мониторам.

И еще заметил, что в части 3 у входов выборки 556РТ11 потерялась инверсия.

13 Отредактировано garnizon (16-10-2019 15:18)

Re: Плата цветовых палитр и загружаемого знакогенератора.

avivanov76 пишет:

Думаю, эту плату можно подключать к стандартным Агатовским мониторам.

Джампер инверсии из этой же серии?

avivanov76 пишет:

И еще заметил, что в части 3 у входов выборки 556РТ11 потерялась инверсия.

Спасибо! поправки внес. Можно мне картинку с таблицей цветов и вообще инфу использовать на страничке?


Получается что в наличии программиста вот такие 12бит цветов? :

https://upload.wikimedia.org/wikipedia/commons/4/47/RGB_12bits_palette.png
https://en.wikipedia.org/wiki/List_of_m … 12-bit_RGB

Таким образом можно назначить палитру как у C64?
https://www.c64-wiki.com/wiki/Color

14

Re: Плата цветовых палитр и загружаемого знакогенератора.

garnizon пишет:

Джампер инверсии из этой же серии?

На вскидку не помню каким мониторам требовалась инверсия синхроимпульсов, но наверняка такие были. Джампер явно для них.

garnizon пишет:

Можно мне картинку с таблицей цветов и вообще инфу использовать на страничке?

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

garnizon пишет:

Получается что в наличии программиста вот такие 12бит цветов?

Да. Можно даже круче фокус сделать - палитру ведь можно менять по прерываниям. IRQ, по моему, генерируется на каждую текстовую строку. Проблема правда в том, что все 48 регистров за время обратного хода луча по строке перезагрузить не удастся - быстродействия не хватит. Но если поделить палитру на 2 части по 8 цветов, а картинку подготовить так, чтобы больше 8 цветов в смежных строках не использовалось, то можно обновлять палитру блоками по 8 цветов. В теории можно получить, например, режим 128x128 с 256 цветами одновременно.

garnizon пишет:

Таким образом можно назначить палитру как у C64?

Самая правильная палитра коммодора, которуя я знаю, лежит тут https://www.pepto.de/projects/colorvic/ https://www.pepto.de/projects/colorvic/vic2.png
Точно такую эта плата не выдаст. Но очень похожую может.

15 Отредактировано garnizon (17-10-2019 22:09)

Re: Плата цветовых палитр и загружаемого знакогенератора.

avivanov76 пишет:

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

Плата есть, правда не серийная а одна из предсерийных (они по схеме 1 в 1).
Но она недособрана, хотя главные\основные элементы есть, её фото тут:
http://agatcomp.ru/Images/new_misc.shtml
Если будет желание, могу передать.

avivanov76 пишет:

Самая правильная палитра коммодора, которуя я знаю,

А вот если брать ту что я приводил (она действительно не совсем реальная), можно для странички сайта пример какой-то составить? скажем "как загрузить палитру С64". В смысле в какие ячейки что записывать.

16

Re: Плата цветовых палитр и загружаемого знакогенератора.

garnizon пишет:

Но она недособрана, хотя главные\основные элементы есть

На ней резисторов ЦАП нет, а было бы интересно посмотреть, какой точности резисторы использовались. Если там точность ЦАП 1 разряд, то хватит и 5%, а если 1/2 разряда, то уже 2% понадобятся.

garnizon пишет:

можно для странички сайта пример какой-то составить?

Сделаю.

17 Отредактировано Voldemar0 (21-10-2019 14:18)

Re: Плата цветовых палитр и загружаемого знакогенератора.

garnizon пишет:
> чась 3 и часть 4, точки "П" "Р" "К" - это какие то линии сброса или управляющме, например чтоб при программировании два устройства не конфликтовали?

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

А вот П и Р - это программные переключатели, их значение запоминается в триггерах D17  и меняются при обращении к каким-то 4м адресам.

Скорее всего ПР - это CX4X

Один из них блокирует запись в ОЗУ, другой переключает ПЗУ/ОЗУ

Р - ПЗУ/ОЗУ

П - это селектор, который, похоже, разрешает использование региона C800.CFFF. Его нужно выключать после настройки устройства, чтобы другие устройства, которые используют эту же зону, тоже могли работать.

Так что CX40 - это не только выключение записи в ОЗУ, но и чтения из него тоже запрещается
для ЦП

И это ещё не всё, вот цепочка RC на входах D12 - она тоже как-то  связана с П. Возможно, что при включении C800 запись в ОЗУ возможна только в течение какого-то времени.
Что там мухлюют с сигналом R/W на ОЗУ.

18

Re: Плата цветовых палитр и загружаемого знакогенератора.

avivanov76 пишет:

Сделаю

Буду благодарен

19

Re: Плата цветовых палитр и загружаемого знакогенератора.

Упс, замотался :)

Если плата стоит в 3-м слоте, то чтобы загрузить палитру С64 в мониторе нужно ввести такие значения:

C300:00 0F 08 07 08 05 03 0E 08 05 0C 04 07 0A 07 0B
C310:00 0F 03 0С 04 0A 03 0E 05 03 06 04 07 0F 06 0B
C320:00 0F 03 0С 09 05 09 07 02 00 07 04 07 09 0E 0B
C338:00

20 Отредактировано garnizon (03-01-2020 22:58)

Re: Плата цветовых палитр и загружаемого знакогенератора.

Для своего удовольствия (а может когда и пригодится) рисую всякие картинки для Агата, в том числе для режимов 128х128 и Т32
.


Сейчас пробую картинки с цветами возможными при наличии платы палитр.
Опять столкнулся с тем, где хранить инфу о используемых в конкретном рисунке цветах.
Возвратился к теме 252 байта:
http://forum.agatcomp.ru//viewtopic.php?id=228

Пока не могу понять, на чем лучше остановиться:

1) хранить прям в формате как записывается в яч палитр, оставив свободный полубайты как резерв.
Вроде места хватает и возможно зачем-то пригодится.

2) хранить в более компактом виде, как предложил по ссылке выше

как считаете?

http://forum.agatcomp.ru//misc.php?action=pun_attachment&item=525&download=0

21 Отредактировано garnizon (24-01-2020 00:00)

Re: Плата цветовых палитр и загружаемого знакогенератора.

похоже это от комплекта платы палитр:



http://agatcomp.ru/Apps/GIF/FONTDESIGNER.png

22

Re: Плата цветовых палитр и загружаемого знакогенератора.

А что за прога? Если в ней есть обращения к портам, которые мы раскопали, или какие-нибудь команды для загрузки шрифта в плату, то да, могла идти в комплекте.

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

23 Отредактировано garnizon (09-03-2020 00:51)

Re: Плата цветовых палитр и загружаемого знакогенератора.

Рисуя картинки неплохо получается перевести 24 бит в 12 так:

Можно просто  продублировать страшую цифру, например: E5E5E5 > EEEEEE

Чтобы получить максимально близкие цвета, нужно для каждого значения 8-битного канала найти ближайшее 4-битовое значение. В 8-битовом канале возможны значения 0, 1, 2, ..., FE, FF. В 4-битовом возможны 0, 11, 22, ..., EE, FF
Т.е. нужно решить, к чему E5 ближе: к EE или к DD. EE-E5=9. E5-DD=8. Т.е. E5 ближе к DD, тогда E5E5E5 превращается в
DDDDDD.

Есть ли готовые преобразователи?

24 Отредактировано Voldemar0 (12-03-2021 20:38)

Re: Плата цветовых палитр и загружаемого знакогенератора.

> На ней резисторов ЦАП нет, а было бы интересно посмотреть, какой точности резисторы использовались. Если там точность ЦАП 1 разряд, то хватит и 5%, а если 1/2 разряда, то уже 2% понадобятся.

Довольно условная там точность. Если внимательно приглядеться, ближе к центру, чуть левее, внизу стоит красный флажек - кондёр на "82p" и что-то мне подсказывает, что это нифига не 0.15мкф, как обозначено на чертеже.

С другой рассыпухой тоже самое - как будто что нашли по углам, то и запаяли.
Зелёные кондеры 68н, по чертежу - 0.15мкф, ну это ладно.
Резисторы 3к на чертеже, по факту - 1.8к.
Конечно, ЦАП могли точно подобрать, но с какими номиналами и точно - относительно чего? Может подгоняли только соотношение между каналами, а на линейность сильно не заморачивались.

25

Re: Плата цветовых палитр и загружаемого знакогенератора.

Тут основной вопрос в том, какой был замысел разработчиков платы.

Просто, если воткнуть в ЦАП 5% резисторы, то их разброс сведет на нет наличие младшего разряда. У младшего разряда вес 1/16 выходного напряжения. А 5% разброс резисторов дает отклонение в 1/20 напряжения. То есть, разброс резисторов может менять выходное напряжение почти настолько же, насколько его меняет младший разряд. И тогда это по сути 8-разрядный ЦАП, а не 16-разрядный.

Я конечно надеюсь, что разработчики этот момент понимали и планировали поставить 2% резисторы, но хотелось бы найти какое-то подтверждение в виде спецификации к схеме или полностью собранной ими платы.