Assemlber где найти палитру цветов?

Использую видео режим 13h из INT 10h.
Там 256 возможных цветов, но как мне знать какое значение какой цвет было бы идеально палитру этих цветов.

P.S: Не судите строго Ассемблер + Юзер = Что-то страшное.
  • Вопрос задан
  • 850 просмотров
Решения вопроса 2
Vapaamies
@Vapaamies
Разработчик будущей ОС для ПК размером 250 МБ
По идее, в любом мало-мальски продвинутом редакторе с показом цветов будет эта палитра, если установить режим 256 цветов. Это если они нужны вам визуально.

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

256 цветов, увы, на триплеты точно не раскладываются. А то есть теория, что если взять по три бита и сдвинуть их так, чтобы они попали в отдельные полубайты, их можно будет выразить кодом HTML, типа #9BE, и этими кодами нарисовать себе таблицу-шпаргалку...
Ответ написан
@forspamonly2
даже у википедиков есть
https://en.wikipedia.org/wiki/Video_Graphics_Array...

но дефолтная палитра - это не догма, её же можно переопределить через порты.

в порт 3C8h выдать номер цвета, значение которого будет меняться, потом в порт 3C9h по очереди выдать красную, зелёную и синюю компоненты в диапазоне 0-63. если менять несколько цветов подряд, то даже не нужно переход на следующий отправлять - оно автоматом переключит после приёма трёх компонент. то есть на практике получается код типа такого:
; генерация ядовито-зелёной градиентной палитры
                mov     dx,3C8h
                xor     ax,ax
                out     dx,al
                inc     dx
                xchg    ax,cx
genpal:
                mov     al,cl
                shr     al,4
                out     dx,al
                mov     al,cl
                shr     al,2
                out     dx,al
                mov     al,0
                out     dx,al

                inc     cl
                jnz     genpal
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы