Очевидно, что всякие ухищрения для чтения цвета пикселя не будут иметь толка, если всё это будет громоздко и медленно. У Специалиста и так медленный процессор, и при этом огромный массив экранного ОЗУ. При таком раскладе ни о каких цветных скролингах даже и думать не стоит!
Единственный приемлемый вариант, на мой взгляд, это каким-то образом иметь прямой доступ к памяти, которая хранит информацию о цветах. Я не знаю, как делать правильно, но, например, можно было бы подменять 12 килобайт видеоОЗУ 12-ю килобайтами ОЗУ, которое хранит информацию о цвете. Таким образом, понадобится только один раз рассчитать адрес для интересующей точки, чтобы понять включена она или нет, и после некоего переключения по тому же адресу можно будет узнать и её цвет. При этом у нас будет 4-х битный цвет.
Было бы ещё круто, чтобы можно было для этих 4-х бит палитру менять. И самое крутое, если бы можно было использовать 16 градаций серого даже на цветом мониторе:
Данная картинка имеет стандартное разрешение 384*256, а каждые 8 горизонтальных пикселей имеют только две градации серого из 16-ти, то есть 4-х битная кодировка. 8 пикселей соответствуют одному байту цвета.
Последний раз редактировалось CityAceE; 07.04.2025 в 12:18.
С уважением, Станислав.
идея с защелкой выглядит более легкой в смысле программирования. читаем нужную ячейку экранном памяти - при этом в защелке аппаратно запоминается код цвета от этой ячейки. если нужно - можно его оттуда прочитать. в случае с подменой страницы - нужно переключить страницу, прочитать цвет, переключить страницу обратно.
в одной из своих поделок я использовал микросхему RAMDAC от древней VGA картыБыло бы ещё круто, чтобы можно было для этих 4-х бит палитру менять. И самое крутое, если бы можно было использовать 16 градаций серого даже на цветом мониторе:
здесь придется городить что-то подобное, хоть и в упрощенном виде
Зверинецъ
Специалист (был когда-то "совсем стандарт") - 1988-2023
Ленинград1 +256К +AY+BDI+VGA выход +Ethernet (Speccyboot) +Xmodem (115200)+divmmc
Ленинград2 + CF карта
Платформа 8085+Z80+CPLD (Специалист МХ2 +SD +FDD +PS/2kbd)
БК0010-01 стоковый[свернуть]
Зверинецъ
Специалист (был когда-то "совсем стандарт") - 1988-2023
Ленинград1 +256К +AY+BDI+VGA выход +Ethernet (Speccyboot) +Xmodem (115200)+divmmc
Ленинград2 + CF карта
Платформа 8085+Z80+CPLD (Специалист МХ2 +SD +FDD +PS/2kbd)
БК0010-01 стоковый[свернуть]
Если это делается для FPGA и в нем достаточно места, то почему не поставить для обслуживания графической памяти что-то еще? Совместимый софт останется двухцветным.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
В "Эрике" реализован 4-х цветный режим с палитрой в 256 цветов . И память расширена , в 2-х вариантах . Автрский и наш 4 окна по 16к , видео ОЗУ можно убрать в "тень" ,а страницы миксовать в произвольном порядке . Также я сделал поддержку 8-и цвета .
Если немного напрячься то можно сделать плату расширения памяти 4 по 16к и цвета как в МХ или ОРИОН для существующих компов .
Последний раз редактировалось SYR-ALEX; 07.04.2025 в 19:17.
Значений порта палитры 256, но резисторы R30-32, R34-35, R37-39 одинаковые, поэтому оттенков красного 3 (не 4), оттенков синего и зеленого по 4 (не по 8). Итого 3*4*4=48 цветов. На практике у резисторов конечно есть погрешности, поэтому мелких оттенков будет >48, но вряд ли на них можно ориентироваться, т.к. эти вариации очень маленькие и уникальные от экземпляра к экземпляру, а "базовых" все же 48.
SYR-ALEX(15.07.2025)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)