********************************
* INTROMANIA ! *
********************************
(C) LVV from Black Eagle Co.
Введение.
---------
Хотите узнать самый спорный во-
прос из жизни фанатиков SPECCY ?
Этот вопрос вызывает множество
споров,которые время от времени
вылезают в свет со страниц(вер-
нее экранов) различных компьюте-
рных журналов.
Последним предложением,я вас
немного заинтриговал ? И какой-
же все таки вопрос ?
Он прост и тривиален как все в
этом мире: Нужны ли INTRO ?
(В нашей жизни)
Вот вопрос из вопросов !!!
Ответ на него так же прост,но
это только мое мнение,возможно
вы с ним не согласитесь(но тог-
да это уже ваши проблемы),а если
вы согласитесь,то читайте дальше
и вы узнаете кое-что интересное
(а может это вы уже знали ?)
Мое мнение таково:
-Да,INTRO нужны ! Но в INTRO
должны соблюдаться два правила
очень легких в запоминании:
ПРАВИЛО N1.
-----------
Выключаться INTRO должно момент-
ально по нажатии клавишы "SPACE"
или какой-нибудь другой клавиши.
(Очень не приятно загрузив INTRO
и захотя загрузить игру нажав на
SPACE и сидеть ждать пока INTRO
соизволит загрузить программу.)
ПРАВИЛО N2.
-----------
INTRO в запакованном виде должно
занимать как можно меньше места
на диске. Но в области запаковки
не нужно слишком усердствовать,
программа распаковки должна быть
достаточно быстра,а то распако-
вка очень уж "крутого" паковщика
может продлиться с минуту !
(Хотя выиграете в памяти не
больше ста байт !)
Самое главное,если вы запомните
эти два легких правила,то вы
можете быть уверены на 90 %,что
ваше INTRO будет долго жить.
Есть некие личности,которые уме-
ло вырезают INTRO и оставляют
только саму программу (чем дово-
дят до белого каления автора
неудачного INTR'a)
ГЛАВА 1 "ИСТОЧНИК ИНФОРМАЦИИ".
------- -------------------
Ну конечно же в INTRO самое гла-
вное-это Источник Информации.
Это может быть некое колличество
бегущих строк или оригинальный
вывод текста на экран(кстати в
последнее время это излюбленный
тип INTRO y многих кодеров.)
Так вот,для источника информации
существуют также некие условия,
при выполнении которых успех
гарантирован !
УСЛОВИЕ 1.
----------
Если источником информации явля-
ется бегущая строка,то она дол-
жна быть читаемой.(Допустим
человек медленно читает,а текс в
строке несется со скоростью
ракеты ?)
Наиболее удобный вариант,это
изменение скорости скроллинга,от
минимальной до максимальной.
Если бегущая строка летает вниз
и вверх по какой-нибудь хитрой
траектории,то она(строка) должна
это делать не слишком быстро.
(От быстро летающих строк,начи-
нает болеть голова !)
ВЫВОД 1.
--------
Если бегущая строка плохо читае-
тся,то 50 % того,что ее читать
не будут,и от этого она переста-
нет быть источником информации.
(а это уже полный бардак)
УСЛОВИЕ 2,но без вывода !
---------
Ну,это скорей всего не условие,а
hanytcbehhoe пожелание:
Использование более одной бегу-
щей строки затрудняет чтение
текста. Глаза разбегаются в раз-
ные стороны и не знают где им
остановиться. И если вы уж
непременно хотите сделать деся-
ток бегущих строк,то можно в них
пустить один текст; Или в одной
строке самое главное,а в других
короткие текстики.
УСЛОВИЕ 3,так же без вывода.
---------
Это условие касается только мето
да вывода огромного колличества
букв на экран в короткий промежу
ток времени,и самое главное,что
тех кто его видел отвисает челю-
сть !
Самое главное при этом не забыва
ть продержать текст на экране
некое время,чтобы даже самый тор
мозной чтец смог прочитать его.
Незабывая при этом о клавише
"ENTER" по которой должно произ-
водиться переключение страниц.
ГЛАВА 2 "ФОНОВЫЕ ЭФФЕКТЫ."
------- ----------------
Вот здесь ограничений практичес-
ки нет,но есть два малюсеньких
пожелания:
ПОЖЕЛАНИЕ N1.
-------------
Все вместе взятые эффекты,не до-
лжны затруднять чтение текста !
ПОЖЕЛАНИЕ N2.
-------------
Делая огромное колличество эффе-
ктов одновременно,подумайте о
том,что есть очень тормозные
машины,поэтому из 70000 тактов
процессора,реально расчитывайте
только на 65000.
Колличество спецэффектов не
ограничено,и чем больше их на
экране,причем одновременно тем
лучше.
ГЛАВА 3 "МУЗЫКАЛЬНОЕ ОФОРМЛЕНИЕ"
------- ----------------------
Тут,все элементарно,чем лучше
музыка,тем более сильное впеча-
тление делает INTRO на осталь-
ных.
Максимально огромное впечатле-
ние произведет INTRO с авторской
музыкой(написаной вами или вашим
знакомым)
Сейчас хоть и не принято ворова-
ть музыку,но время от времени
приходиться это делать,так как
многим не хватает талантливых
музыкантов и даже просто музыка-
нтов.
ГЛАВА 4 "САМАЯ ФИЛОСОФСКАЯ."
------- --------------------
Хочу предупредить(или проинфор-
мировать),что дальше идущий
текст основан на моем личном
опыте и на советах других более
опытных кодеров
(таких как ALEX RAIDER from
FLASH inc.(я общался с ним
всего один раз,но результатом
этого общения стал мощный ска-
чок моего проффесионализма,в
сторону увеличения конечно !),
ZH MASTER)
Для отличной работы INTR'a на
большинстве машин в любом режи-
ме (48kb и 128kb) необходимо
использовать только один экран
и естественно только память
48kb'ой машины. Тестировать
INTRO лучше всего на компьюте-
рах ZX-SILICON
(самый тормозной компьютер,
после Дубны естественно !),
если вы не слышали о таком
компьютере,то вам повезло,в
Томске их выпускали несколько
лет,пока y фирмы не кончились
чипы 'ULA',а новых они достать
не могут. Когда такого компью-
тера нет под рукой,то для тес-
тирования лучше всего использо-
вать PROFI с отключенным TURBO-
режимом. Если ваш шедевр отли-
чно работает на SILICONE и PROFI
,то на большинстве машин он так
же будет хорошо работать.
Так вот,структура INTRO примерно
такова:
Первый сегмент-полностью статич-
ная графика(название игры,к ко-
торой сделано это INTRO) или не
скоростной вывод текста,который
не подвержен влиянию луча.
(об этом позднее).
Второй и Третьий Сегменты-поле
вашей деятельности.
Почему только два сегмента ?
Все элементарно,после команды
"HALT",компьютер начинает прори-
cobky экрана с верха бордюра.
В это время вы выводите строку,
спрайты,звезды на экран
(во второй и третий сегменты,так
как y вас есть время,пока луч
идет бордюр и первый сегмент)
Как только луч доходит до начала
второго сегмента,вы включаете
задержку(музыку,и просто пустой
цикл) и ждете,пока луч пройдет
до конца ; потом быстренько за-
пускаете процедуры очистки стро-
ки,звезд,спрайтов(укладываясь по
времени в один HALT) И что самое
интересное,не смотря на то,что
вы стерли строку с экрана,она
будет там нарисована до тех пор,
пока экран не регенерируется
заново.
В этих всех премyдростях самое
главное уложиться в один HALT.
(В оригинале это 70000 тактов,но
на ПЕНТАГОНЕ-128 около 71200 ;
на СИЛИКОНЕ-128 около 65700 ;
на ПРОФИ около 69700 )
И вот если вы не вложитесь хотя
бы в один такт,компьютер начнет
тормозить,а музыка тянуть.
Тут y вас возникает вопрос,а как
узнать где лучик на экране ?
Моим ответом будет маленькая
процедурка,запустив которую вы
увидите черный бордюр и белую
полоску на нем.
Начало полосы-это момент когда
экран начинает регенерацию,конец
полосы-это момент нахождения
луча после задержки.
И совсем забыл важное свойство
команды HALT,по этой команде
компьютер ждет начала регенера-
ции экрана,и как только она на-
чинается то он запyскется.
(Тоесть по команде HALT процесс-
ор останавливается и ждет нача-
ла регенерации,как только оно
начинается,то процессор начина-
ет работу снова.)
Текст ниже приведенной программы
подготовлен для TASM'a и им по-
добным ассемблерам.
Просто набейте программу,один к
одному.(Комментарии можно опус-
тить.)
;PROGRAMM N1:Показательное дейс-
твие луча.
ORG 40000 ;Начало прог. в памяти
EI ;Разрешение прерывания
HALT ;Ждем начала регенера-
;ции экрана.
LD A,7 ;Цвет бордюра-белый
OUT (254),A ;Засылаем в порт
LD HL,0 ;|Процедура задержки,
LD DE,0 ;|меняя число в ячей-
LD BC,2000 ;|ке 'BC' вы меняете
LDIR ;|время задержки
LD A,0 ;Цвет бордюра-черный
OUT (254),A ;Засылаем цвет
LD A,127 ;|Опрос кл. SPACE
IN A,(254) ;|если она нажата,то
RRA ;|остановить прог. и
RET NC ;|выйти в систему
JP 40000 ;Перезапуск программы
Поэксперементирyя с числом в
ячейке "BC" вы увидите,что
высота белой полоски изменяется.
Длинна белой полосы-это время
выполнения задержки.
Теперь y вас возникает еще один
вопрос:
-А как запихать много эффектов в
один HALT ?
Это уже посложнее,но немного по-
размыслив вы справитесь и с этой
задачей. В дальнейшем я вам рас-
кажу как из тормозной процедуры
сделать сверх быструю процедуру.
Но все это в следующих номерах.
Если y вас уже возникли вопросы,
то можете написать письмо,и
прочитать ответ на него в одном
из номеров.
Продолжение следует...
01.10.96
Other articles: