nedoPC.org

Community for electronics hobbyists, established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 14 Sep 2024 11:40



Reply to topic  [ 1 post ] 
Цветной Специалист - пятицвет и восьмицвет (девятицвет) 
Author Message
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 23277
Location: Silicon Valley
Reply with quote
Нашёл в своих архивах описание самой ранней раскраски Специалиста - так называемый пятицвет:

Code:
     На  Специалистах  (правда,  не  на моем "Лике", там этого не
было) можно выводить данные в цвете. При этом атрибуты, идея, как
на  Спектруме,  только круче - атрибуты у каждого байта в памяти!
(8 пикселей, если помнишь). В пределах одного байта как было, так
и  осталось  2  цвета,  причем  фон  (биты  "0") - всегда черный,
единицы  - один из четырёх возможных: белый/R/G/B, этот-то цвет и
задается  атрибутом.  Всего  5 цветов. Есть режим 9 цветов (8+1),
Пыхонин  собирался его реализовать, но больше я про этот режим не
знаю.  Поэтому  говорю  про  5  цветов (он реализован у Пыхонина,
потому-то игры на "Специалист" там цветные).
     Итак,  поскольку  запись  на  экран идет кусками по 8 бит, а
атрибуты  тоже  бывают  у каждого кусочка по 8 бит, то достаточно
установить  цвет  фона-цвет пера и писать в экранное ОЗУ. Каждого
записанный  в  память  любой  командой  процессора байт на экране
будет  выводиться  с  черным  цветом фона и заданным цветом пера.
Чтобы  писать  другим  цветом  пера, надо послать другое значение
цвета в порт.
     Иным  способом  обратиться  к  атрибутам невозможно - только
установив  нужный  цвет пера и записывая в экранное ОЗУ, атрибуты
автоматически  будут  устанавливаться для обрабатываемых командой
записи   байт   экрана.  Сменить,  как  на  Спектруме,  цвет  уже
выведенных пикселей невозможно - их надо будет вывести заново.
     А  теперь  как  установить  цвета:  просто записать в порт 2
ВВ-шки (по адресу 1111 1XXX XXXX XX10 b, например, FF02, FFFE или
F802)  число,  2  старших  бита  определят  цвет  пера. Поскольку
остальные  биты  не  нужны и всегда пишется целый байт, я приведу
значения и для целого байта:
     Чтобы получить БЕЛЫЙ цвет пера (на черном фоне), надо
     по адресу FF02 записать 00 h
     КРАСНЫЙ (R)  -          40 h
     ЗЕЛЕНЫЙ (G)  -          80 h
     СИНИЙ   (B)  -          C0 h
============

Чуть более навороченный восьмицвет ( см. viewtopic.php?p=103706#p103706 ):

vinxru wrote:
Barbosa75 wrote:
НА RGB выходе сигнал у меня появляется только в тесте рюмика, в мониторе ничего нет на RGB.

на сколько я понимаю без софтовой поддержки и не должно.


В мониторе у тебя должны быть белые буквы на черном фоне. То есть каждый канал RGB будет дублировать Y.

Монитор при старте заносит в регистр цвета 000, что соответствует белому цвету.

В мониторе поменять цвет можно командой

MFFFE
90

Будут зеленые буквы

Коды цветов вот:
10 - зел
40 - фиол
50 - красн
80 - гол
90 - зел
С0 - син
D0 - черн
(10 наверное всё-таки "жёлт", а не "зел")

Ещё можно сделать девятицвет когда при D0 будет не чёрный по чёрному, а серый по чёрному...

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


30 Jul 2024 08:31
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 1 post ] 

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.