ZX Format #06
29 июля 1997

Программистам - обмен опытом: "3-colour". Описание эффекта "8-цветов на точку", хелп к вьюверу и сколько слов о конвертации картинок в формат "3-colour".

<b>Программистам</b> - обмен опытом:
  Расширение цветовых возможностей ZX.

music by DNK
(C) CREATOR 
G(C) GODFATHER  
_______________________________

 Итак, всем привет !

 Вы  наверно  думаете, что я сейчас начну
вам "капать на мозги" всякими там расска-
зами  про  :  EGA  графику, видео карты к
спеку и.т.д. Но это не так. Все что здесь
написано  будет  работать  на любом спеке
даже  на  самом "тормозном" и к тому же -
не надо ничего паять и подключать...

 " - этого не может быть ! "
             " - может, может... "

   (С) мой...

  Триколор,  вот о чем я хотел бы вам по-
ведать. Ну для начала конечно же, немного
технической информации :
в системе триколора на картинйке, во весь
экран,  достигается 8 цветов на одну точ-
ку, без зависимости от других.
  Хотя  экран  маленько  мерцает, но кому
надо  тот на это не будет обращать внима-
ния...

  Ну сейчас стандартно, теория... Кому не
нравиться может пролистать текст дальше.

  В  основе  триколора  лежит,  известный
всем   школьникам,  принцип  формирования
изображения  на "электронно-лучевой труб-
ке"  ну или проше на обычном, цветном те-
левизоре.
  Там, в телевизоре, изображение формиру-
ется тремя основными цветами :
красным,  синим, зеленым. А все остальные
оттенки  образуются смешением этих основ-
ных  цветов  в одной точке. Вот например,
как  получаются цвета на экране телевизо-
ра:

 R - красный луч
 G - зеленый луч
 B - синий луч

                1     2     3
экран >   ──*─────*─────*──
                ^     ^     ^
                B     R     G
                ^           ^
                R           B
                ^
                G

 1  -  точка будет белой. 2 - точка будет
красной.  3 - точка будет желтой, так как
на  нее  приходит два луча, зеленый и си-
ний. Ну а 1 точка белая потому что на нее
приходят все три луча. Можете сами поэкс-
периментировать  дома  с красным, синим и
еленым цветом.

Так  же  и  в триколоре. Используется три
экрана с изображением точек того или ино-
го цвета. И они поочередно кидаются в ос-
новной  экран, и в этом процессе добавля-
ются  атрибуты.  Свои для каждого экрана,
красные, синие или зеленые.
Вот пример для триколора :

                  123
мнимый экран  > ══░══════════

зеленый экран > ──*─────────*──
синий экран   > ──*─────────*──
красный экран > ──*────*───────



 1  -  точка будет белой. 2 - точка будет
красной.  3 - точка будет желтой, так как
она  поставлена и в синем и в зеленом эк-
ране. Первая точка белая по той же причи-
не, что и в примере с телевизионным экра-
ном, в случае с триколором она проставле-
на во всех трех экранах.

 Что  за мнимый экран ? Это то, что видят
в итоге наши глаза.
 Так  как  инерция  человеческого  зрения
достаточно  велика, то при смене экранов,
с  частотой около критической (в нормаль-
ных  условиях  примерно  50Hz, но уровень
порога  зависит  от яркости - чем темнее,
тем  ниже,  да и глазу просто свойственно
обманываться)  картинка  может  восприни-
маться слитной. Правда мерцание все равно
заметно.

 Итак, задача для кодинга ясна : надо ус-
петь  сменить  экран  за одно прерывание,
что собсвенно и сделано во вьювере, кото-
рый находится в приложении.
 Собственно,  о самой процедуре "кидания"
картинок:  ее придумал наш кодер MIK from
Virt  Group,  ну  а я реализнул. А еще до
него,  первыми,  надо  отдать им должное,
сделали работающий на Pentagon'e триколор
Volga soft.

 Проблемма в том, что нельзя кинуть экран
за одно прерывание (40000-50000 тактов)
 И  вот сама суть: во вьювере, естествен-
но,  "кидалка"  не  успевает  уложиться в
int, но это и не требуется.
 Нам требуется только чтобы экран успевал
  рисоваться видеопроцессором.
  В  этой самой процедуре пересылки стоит
один  HALT,  а  все остальное выполняется
"подряд"  (переброс  картинок  + музыка +
опрос  клавиатуры). Но здесь есть малень-
кая  хитрость: один экран, вместе с атри-
бутами,  храниться  в  7  банке, на месте
второго  экрана.  И  его  "перекидывание"
происходит  за  несколько  тактов,  всего
лишь переключением экранов, на чем и эко-
номится  время.  Поэтому остальные экраны
успевают к нужному моменту.

Что это может дать пользователям ?
А  вот  что: в играх, используя триколор,
можно  значительно повысить "красочность"
оформления, как в MORTAL KOMBAT by ANCCAH
'&  VIRT  GROUP. Там, в игре, используется
триколор  для  показа  героев  во всей их
"красе",  и смотрится это очень даже впе-
четляюще.

 Так  что,  господа кодеры и хакеры, пора
"раскрасить"  ваши игры до более высокого
уровня...

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

 Загрузка  картинки  - наводите курсор на
нужный фаил и жмете enter,0,5,space. Файл
загрузится  и  программа перейдет в режим
просмотра картинки.

 Все  картинки  закомпрессованы  и  имеют
расширение  "Y".  Компрессовать  картинки
можно чем угодно, главное соблюдать неко-
торые условия.

 стартовый адрес компрессированного
блока : 47104
   адрес декомпрессора : 16384
 адрес декомпрессированной
картинки : 47104
 прерывания выключены.

 В этом режиме доступно :

 Подстройка (применяется очень редко и то
- для турбо режима) - клавиши 1 и 2.

 Смена  яркости  экрана  - enter (мало ли
пригодиться)

 3 - смена цвета бордюра

 space - выход в файловое меню

 В файловом меню доступно:

 Загрузка  музыки. Осушествляется так же,
как  и картинки, программа распознает му-
зыку по расширению "М", т.е. следователь-
но   загрузить  можно  только  музыку  из
Pro-Tracker'a v2.1.

 Включить/выключить  музыку - клавиша "М"
если музыка вообще загружена.

 Вход в режим просмотра картинки - клави-
ша  "V" естественно, если картинка есть в
памяти.

 Смена диска - клавиша "R"

 Сменя  драйва  - клавиши "A","B","C","D"
оответственно.

 Выход в TR-DOS - клавиша "E"

 Ну вот собственно и все по вьюверу.

ККККККККККККККККККККККККККККККККонвертация картинок с IBM PC.
Это  отдельный разговор, я сам не конвер-
тил,  поэтому об этом раскажет другой че-
ловек, а именно Денис, который собственно
и конвертит эти картинки.

 Hi! Я-Денис (он-же GODFATHER). Вот, рас-
cкажу  вам  о  методе  конверсии  в режим
3colour с IBM или какой еще другой машины
то, что знаю. Начну с самой первой проце-
дуры.  Прежде  всего вам надо найти любой
редактор,  позволяющий  конвертировать из
XXX  цветов в 8. Каким методом - флэштам-
бергом (козявками) или паттернами (залив-
ками)  принципиального значения  не имеет
(это  уже  от  картинки  зависит).  После
столь  неприятной процедуры, превратившей
ваш  скрин в сушеный банан, можно присту-
пать к самой рутинной работе - разделению
восьми  цветов  на  3  основных  : R-red,
G-green и  B-blue.  Делается это довольно
просто  :  находиться в редакторе функция
"процентное соотношение цветов", убирает-
ся  2  цвета (например, чтобы выделить R,
надо  понизить  %  G и B до 0% ). Так как
конверчу  я на IBM, то позволю себе в ка-
честве  примеров  и пособий приводить ре-
дакторы  и  вьюверы  на  PC,  а на какими
средствами это делается на AMIG'e - выяс-
ните сами, если необходимо. Так вот, пос-
ле  уничтожения  каких-нибудь  2-х цветов
надо  записать  получившуюся  2-х цветную
картинку  на  XXX,  и повторить процедуру
еще  2 раза, с оставшимеся цветами. Итак,
у  вас  получилось 3 картинки, на которых
находится по 2 цвета -X+BLACK.
 Теперь нужно X превратить в белый. Я это
делаю  в PHOTO FINISH'e, но этим способом
можно пользоваться и в других редакторах.
Для  начала, надо выяснить, под каким но-
мером этот цвет находится в палитре этого
формата,  и сделать его белым. Теперь ос-
тается только переписать их на спектрум и
поменять в ART STUDIO ( или где еще ) бе-
лый на R, G или B.
Ну  вот, наконец получившиеся файлы оста-
ется  только  слить,  и  заценить в нашем
вьювере.
_______________________________



Другие статьи номера:

Сегодня в номере - содержание журнала.

Авторы - авторы журнала ZX-Format No.6

От авторов - свершилось давно ожидаемое событие...

Игрушки - Последний утюг (новелла по игре 48 утюгов).

Игрушки - Приключения Винни Пуха. Часть вторая.

Игрушки - описание игры The Crypt (Castle Master 2).

Игрушки - описание редактора Адевентюр - PAW (часть 1).

Игрушки - описание редактора Адевентюр - PAW (часть 2).

Игрушки - описание редактора Адевентюр - PAW (часть 3).

Игрушки - описание редактора Адевентюр - PAW (часть 4).

Игрушки - описание редактора Адевентюр - PAW (часть 5).

Программистам - Beta Basic: продолжение разговора о бейсике (часть 2).

Программистам - General Sound: Руководство по программированию.

Программистам - MMD - драйвер. Описание структуры драйвера модема для терминальной программы MMD.

Программистам - AI от В.Медноногова. Подробное описание "волнового алгоритма" трассировки (автоматического рассчета оптимального) пути, с примером реализации на Basic.

Программистам - Искуственный интеллект. Продолжение цикла статей об "AI". Общие основы нахождения пути к цели.

Программистам - Тr-Dos для программистов. Макс Петров завершает свой рассказ о нетрадиционых методах работы с диском.

Программистам - обмен опытом: "3-colour". Описание эффекта "8-цветов на точку", хелп к вьюверу и сколько слов о конвертации картинок в формат "3-colour".

Программистам - обмен опытом: "3-colour". Несколько слов о конвертации картинок в формат RGB.

Программистам - обмен опытом: программирование мультиколорных эффектов.

IS-DOS - пользователям: как выполнить индивидуальную настройку системы IS-DOS на конкретную модель ZX Spectrum-совместимого компьютера и на выполнение Ваших задач.

IS-DOS - пользователям: как скопировать системный диск IS-DOS и остаться при этом в живых.

IS-DOS - программистам: краткий курс - программирование в среде IS-DOS.

IS-DOS - news: новые программы IS-DOS.

Железо - Краткий рассказ о возможностях процессора Z-180.

Железо - Multiviewer. Описание доработочки, позволяющей мерять скорость программ по бордюру без влезания в коды - легким нажатием кнопки.

Железо - о новом проекте фирмы Peters - "Sprinter". Новый Spectrum-совместимый компьютер нового поколения Speccy.

Железо - Мнение пользователя о скорпионовском контроллере IDE HDD - SMUC.

Железо - SuperSpectrum: об одном проекте Spectrum-совместимой машины. Её особенностью является совместимость с PC.

Железо - X-Trade FAQ. Ответы на наиболее часто задаваемые вопросы по GS и XTR-модему.

Премьера - Flash tracker. Описание 4-х канального редактора цифровой музыки, работающего с SoundDrive, от самого автора SoundDrive - Flash Inc.

Премьера - Описание последней версии универсальной терминальной программы, используемой в SpbZxNet.

Премьера - Mortal Kombat: что ждёт Вас в полной версии игры и некоторые коментарии к demo версии.

Премьера - XReversy: презентация новой игрушки, из популярного семейства "реши задачку - посмотри картинку".

Интервью - Интервью с одним из известнейших спектрумистов - Андреем Ларченко.

Здесь был ты - Рассказ "Абсолютная власть".

Здесь был ты - Рассказ "Дорога".

Здесь был ты - Повелитель зубов: пародия на одну популярную трилогию...

Почта - Обратная связь: ответное письмо Alex'а из Нижнего Тагила, выставленного в прошлом номере в "Уголок ламера".

Почта - Письма читателей: Андрей Яковлев, Денис Токарчук, Алексей Гаркулим, Александр Гордеев, Евгений Шумилов, Ниточкин Вадим, Михаил Ларкин.

Почта - бесплатная реклама и обьявления.

Разное - Страшилка.: Nemo рассуждает о месте PC и Spectrum'а в современной России.

Разное - Рецензия Nemo на книжку по цифровой схемотехнике. Для всех, кто хоть когда-нибудь испытывал желание включить паяльник и...

Разное - анкета: Результаты нашего социологического опроса спектрумистов.

Разное - Конкурс. Краткий отчет о наших конкурсах.

Разное - Проблемы рынка ПО: когда загнется Спектрум. Во всем ли виноваты Хакеры?

Разное - Перспективы ПО. Краткий обзор готовящегося к выходу ПО: Fast Tracker, Pro Sound Creator, Чёрный Ворон.

Разное - Перспективы ПО. Адвентюра From Beyond или "Извне".

Разное - мемуары о Питерской модемной сети для ZX Spectrum - SPbZXNet.

Amiga Club - Между нами, пользователями: сравнение характеристик Amiga 1200 с IBM PC.

Amiga Club - сравниваем производительность Амиг и PC. Насколько Амига актуальна в современных играх?


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Мысль дня - В 1953 году я понял, что прямая линия ведет человечество к упадку.
Что-где-почем - pассказываю, что я получил на этот pаз от VEL'а.
Крик Души - спектрум заполонили логические игры!

В этот день...   18 июня