ZX Format #06
29 июля 1997

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

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

music by DNK
(C) MIK. VIRT GROUP.
_______________________________

 Эта  статья  является  прямым логическим
продолжением предыдущей, посвящённой бор-
дюрным  эффектам.  Поэтому для наилучшего
понимания   нижеизложеного,  советую  вам
  прочитать предыдущую статью.

 Часть первая и единственная.

 Мультиколор можно  определить, как такое
представление графической информации, при
котором  с  помощью  программных  средств
достигается  получение в одном знакоместе
более, чем двух цветов. Примечание :
Обратите  внимание  на  то, что получение
более  чем  двух цветов в пределах байта,
принадлежащего   знакоместу,   невозможмо
посредством нижеизложенной технологии.

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

 1. Дождаться сигнала  INT.
 2.  Выдержать  паузу  до  момента начала
построения  интересующей  нас области (На
самом  деле меньшую на время, которое вам
необходимо для передачи нужной информации
в область атрибутов).
, 3.  Подождать пока заменяемые вами атри-
буты будут построены.
 4. Кинуть на их место новые данные.
 5.  Если  необходимо,  выдержать паузу =
время  построения  одной  строки  - время
потраченое на пункты 3 и 4.
  6. Бодро перейти к пункту 3.
 7. Сделать что-нибудь полезное.

 По традиции  не буду забивать вам голову
пустой  писаниной, а сразу перейду к при-
меру.

 Устроим мультиколор в нулевой строке,0-5
знакоместа.

  ORG #8000
       DI   
       LD HL, #BE00 
       LD DE, #BE01 
       LD BC, 256  
       LD A, H  
       LD (HL), #BF 
       LDIR 
       LD I, A  
       LD A, #C9     ;Обработчик
        LD (#BFBF), A ;прерывания
       IM 2         ;команда RET
MAIN   EI  
       HALT 
       DI   
       LD A, 63 ; !
LOOP1  DS 52, 0 ; !
       DEC A
       JR NZ, LOOP1 
;Цикл ожидания построения
;бордюра,  время зависит
;от типа компьютера

  LD HL, DATA  
       LD A, 8      
LOOP2  LD DE, #5800 
       LDI         ;16  
       LDI         ;16  
       LDI         ;16  
       LDI         ;16  
       LDI         ;16  
       LDI         ;16  
 ;переброска атрибутов

  LD DE, 0 
 ;Не значимая команда,
 ;необходима, что-бы потратить
 ;время

  DS 23, 0 ; !
   ;Ожидании до 224 тактов (за
 ;столько большинство комперов
 ;строят строку.

  DEC A
       JR NZ, LOOP2  

  LD A, #7F
       IN A, #FE
       RRA  
       JP C, MAIN  

  IM 1 
       RET  

DATA   DB...... 
;Данные об атрибутах.

 Все  временные  задержки  в этом примере
сделаны под Scorpion. Если вы располагае-
те  другим типом компьютера, вам надо са-
мим  подобрать  числа  в строках, отмече-
ных (!) .

 Фактически это все, что можно сказать по
данному вопросу и я надеюсь, что вы суме-
ете применить полученные знания.
_______________________________



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

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

Авторы - авторы журнала 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. Насколько Амига актуальна в современных играх?


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

Похожие статьи:
От автора - Практика отнимает много времени...
Новости от ZILOG - Семейство популярных однокристальных микроконтроллеров Z8x фирмы Zilog пополнилось новыми представителями.
Форум - Интервью с известным ярославским программистом Романовым Р. (NICODIM).
Иcтина, где-то там... - Версии внеземнои жизни.
Обозрение - О специализированных БИС, которые создают неповторимость Amiga.

В этот день...   21 ноября