Увеличение числа цветов в ИРИШЕ
Графический адаптер ИРИШИ в режиме 2 (color-40) реализует "один в один" цветной режим CGA, полноценную поточечную графику 320 на 200 с 4-мя цветами. Почти все остальные отечественные бытовые 8-ми разрядки имеют цвет или сразу на всё знакоместо или байтовую организацию, когда цвет задаётся на все 8 соседних пикселей. Таким образом по графике ИРИША изначально лучше большинства бытовых 8-ми разрядок.
Для текстовых программ поточечная графика не нужна, а нужно большее число цветов. Можно было бы установить вторую банку РУ5-тых и кардинально изменив схему видеовыхода, получить 16 цветов на каждый пиксель. Но это не реализуемо, это не сделать вручную за час труда.
Есть простой способ увеличить число цветов с 4 до 8. Для этого на одну из РУ5-тых напаивается вторая РУ5-тая. Все ноги в параллель, кроме входа и выхода. Тогда эта РУ5-тая будет читаться и писаться синхронно с основным ОЗУ, обеспечивая на своём выходе дополнительный бит управления цветом.
Теоретически можно включить эту РУ5-тую в доп.банку ОЗУ. Переключается сразу вся банка 64К. Но увы, в однобитовом ОЗУ программы работают очень плохо, т.к КР580 не одноразрядный, а 8-ми разрядный.
Поэтому используется идея СПЕЦИАЛИСТА. Когда в ОЗУ цвета информация заносится автоматически и синхронно с записью в ОЗУ графики, переписываясь из внешнего регистра цвета. Это имеет преимуществом скорость. Скорость вывода в цвете такая же как скорость вывода без цвета. А например, в ОРИОНЕ скорость вывода в цвете фатально падает. Цвет СПЕЦИАЛИСТА наиболее разумный для бытовых 8-ми разрядок. Автор СПЕЦИАЛИСТА и в этом оказался умнее других авторов БК.
В качестве однобитового регистра используем ТМ2 (хотя можно просто "кинуть проволоку" от одного из ненужных битов ППА). Запись в ТМ2 будем выполнять используя имеющуюся на плате граф.адаптера выборку порта 0DBH. А второй триггер из ТМ2 используем как защелку выходных данных, куда запись происходит одновременно с записью в регистр видеовыхода.
Грамотно было бы использовать этот бит для переключения палитр, тогда можно было бы выбирать любые цвета. В ИРИШЕ в цветном режиме есть две палитры. Можно переключать их этим битом. Но пока я не могу разобраться в схеме граф.адаптера и понять как выбор палитры управляется.
Но для простоты можно управлять яркостью цветов. Единица считанная из РУ5-той будет снижать уровень сигналов R,G,B на видеовыходе (как в схеме видео выхода в зоновской плате СИНКЛЕРА).
Это не полноценные 8 цветов, т.к меняется цвет сразу всех 4 цветных точек, определяемых экранным байтом. Но это уже лучше, чем всего 4 цвета. И важно, что это нам обойдется всего в минимальный расход деталей и затрату времени в час труда. Дискретность в 4 точки, но этого достаточно для текстовых программ (и намного лучше, чем дискретность в 8 точек остальных 8-ми разрядок).
Это лишь непроверенная на практике идея. Пока не особо и актуальная. Но я не вижу препятствий для её использования. И саму идею можно доработать. Например, в монохромном режиме можно использовать доп.бит для организации мигания. Снижение яркости можно использовать для маркировке в цвете и для вывода теней от панелей.