Spectrophoby #06
11 декабря 1996

Ассемблер - мультиколор; Работа с расширенной памятью; удобный оконный интерфейс.

<b>Ассемблер</b> - мультиколор; Работа с расширенной памятью; удобный оконный интерфейс.
(C) Репников Юрий (KVANT SOFT),           
───────────────────────────────           
Волжский, 1996                  
                                
          MULtICOLOR.           
                                
   Я, вообще-то, в мультиколорных эффектах
понимаю мало, и как таковых ни разу не де-
лал,  но  кое-что  подметил.  Это касается
стандартизации мультиколоров.             
                                          
   В  последнее  время их стало появляться
все больше и больше, и почти все рассчита-
ны  под  PENTAGON-2,  так как бесспорно их
пока  большинство.  Но  ведь  существует и
много  других  СПЕКТРУМ  совметимых машин.
Например  PROFI, SCROPION... Где INT отли-
чается только количеством строк на экране.
                                          
   Например: PROFI - 312 строк, PENTAGON 2
-  320 строк. Как мы видим, отличие только
в  том, что на PENTAGON'е от начала экрана
до графического окна составляет 320-240=80
строк  BORDER'а, это значит, что от начала
прерывания  нужно  пропустить 80*224=17920
тактов,   тогда  как  на  PROFI  -  только
312-240=72    строки,    что    составляет
72*224=16128 тактов. Вот на основе этого и
можно  сделать авто-настраиваемый MULTICO-
LOR.                                      
                                          
   Но  все  это  только в том случае, если
сигнал  INT  срабатывает  в одном и том же
месте  на  всех  компьютерах, а отличается
только  начало  перерисовки экрана. Тоесть
обратный  ход луча у всех начинается в од-
ном и том же месте.                       
                                          
   Программа   по  определению  количества
строк  на экране есть в ZX-РЕВЮ 96/4+5. Но
на  всякий  случай я ее набрал и записал в
приложении, в формате ассемблера MASM.    
Вот,  наверное, и все, что я хотел сказать
на эту тему.                              
                                          
                                          
                                          
                                          
(C) Репников Юрий (KVANT SOFT),           
───────────────────────────────           
Волжский, 1996.                 
                                
      Работа с расширенной памятью.       
                                          
  В последнее время появлеяется все больше
и больше программ, использующих доп.память
(PENTAGON 512,SCORPION 256, PROFI 512/1024
и  др.).  Причем, преимущество, почему-то,
отдается  PENTAGON'овскому способу: ALASM,
STS...                                    
  Господа!  Если  не  смогли  в свое время
стандартизировать доп.память аппаратно, то
давайте   теперь  преодолевать  это  прог-
раммно.  Посмотрите,  хотя-бы, для примера
CONVER  COMMANDER  v4.23  (4.50),  или мою
программку SCU, где тип расширенной памяти
определяется   автоматически.  Этот способ
очень  хорош тем, что сделав его один раз,
пользователю  не  надо будет больше ничего
исправлять.                               
                                          
                                          
  Я  приготовил исходник для такого спосо-
ба. Он делится на две части: инсталляция и
само переключение страничек. Тоесть первая
п/п  определяет  тип  вашего компьютера, а
вторая   уже  непосредственно  переключает
странички,  зная как это сделать на данном
типе компьютера.                          
  Однако  и этот способ не лишен недостат-
ков.  Первый: программа занимает многовато
памяти; второй: при появлении новых расши-
рений,  пользователь  уже ничего не сможет
сделать.  Поэтому  можно сделать некоторый
инсталлятор,   который  будет  подставлять
программе  только  тот драйвер, который ей
нужен.                                    
  Исходник этой программы записан в прило-
жении  к  журналу,  в  формате  ассемблера
MASM.                                     
                                          
                                          
                                          
                                          
                                          
                                          
(C) Репников Юрий (KVANT SOFT),           
───────────────────────────────           
Волжский, 1996.                 
                                
      "УДОБНЫЙ ИНтЕРФЕЙС".      
                                
  Не  за горами 1997 год, и пора уже приб-
лижать  сервис  наших  программ к мировому
уровню.  Первой ступенью несомненно должна
стать  мышь,  желательно KEMPSTON MOUSE. А
под  мышь, соответственно, нужен "мышиный"
интерфейс   -  тоесть  "стрелка".  Пример:
ZX-FORMAT,  SPECTROPHOBY  с 6 номера и да-
лее,  FREE  FORMAT  v8.0  и далее и т.д. и
т.п.                                      
                                          
  Итак, что-же нужно для этого интерфейса.
Во-первых:  программа  должна начинаться с
начала  прерывания,  и  занимать  не более
15-16  тысяч тактов для того, чтобы вверху
экрана стрелка не исчезала. Во-вторых: не-
обходимо  ускорение  стрелки,  иначе  мышь
придется  гонять не по коврику, а по ковру
(тому,  что  на полу, а не на столе). Ну и
в-третьих: при наезде на пункты меню, наз-
вания  пунктов должны инвертироваться, или
просто  меняться цвет. Но не всегда везде,
так  как  иногда  инвертирование  не очень
удобно (например в НЛО-2 в пункте ЭКИПАЖ).
                                          
  И вот, исходя из всех этих соображений и
создавалась    программа,   представляемая
здесь.                                    
  Хотя,  честно говоря, первоначальный ва-
риант  этой  программы  был взят из ZX-FO-
RUM'1.  Та  версия  занимала слишком много
времени, всвязи с чем мне пришлось засесть
за MASM, и капитально ее переработать. Те-
перь,  от старой программы осталось не бо-
лее  10%,  а то и меньше. Итак, из чего же
состоит наша программа.                   
                                          
 1.Инициализация. Вначале, в промежуточном
буфере,  создаюся  образы стрелки и маски.
Затем  они перекидываются в основной рабо-
чий  буфер - чтобы не засорять память и не
раз'единять  программу на куски. И запоми-
нается буфер под стрелкой.                
 2.Собственно сама процедура, которую, ес-
ли надо, можно подвесить на прерывания, но
тогда возникнет небольшая проблема с опро-
сом 'fire'.                               
                                          
 А, вообще, я написал две версии этой про-
цедуры. C инверсией пунктов меню (1) и без
(2).  Так  как иногда можно обойтись и без
выделения  пунктов  меню,  что значительно
сокращает  процессорное  время, занимаемое
этой процедурой. Всвязи с упрощением меня-
ется  и способ определения местонахождения
стрелки. Если в первой программе определе-
ние ведется  по  знакоместам - Y, от X1 до
X2, то во второй по пиксельным координатам
-  Y1,X1  до  Y2-X2,  где  Y1  и  X1 левая
верхняя  координата,  а  Y2  и X2 - правая
нижняя.                                   
  И  в  заключении  я хотел сказать, что я
проверил  эту процедуру на время способом,
описанным  в предыдущем номере нашего жур-
нала.  У  меня  на PROFI она заканчивается
где-то  за 8-12 строк до основного экрана.
Ну а в TURBO вообще не видать.            
  Исходник этой программы набран в MASM'е.
И  ко  всем входам в подпрограммы написаны
пояснения, так что сразу включайте русский
режим.                                    
       



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

Информация - Oбращение редакции журнала к читателям.

Информация - помощь.

Экспертиза - прохождение игры "Terrorpods".

Архив - разбор игры "Enigma Force".

Проходилка - прохождение игры Zunny & Bonny 1.

Проходилка - прохождение игры Colobok.

Проходилка - прохождение игры Paradise Lost.

Проходилка - прохождение игры Ordinary Story.

Проходилка - прохождение игры New Dizzy.

Обьявления - подарю свой компьютер IВM 486 DX 2/66 с эмулятором SРECTRUM и коллекцией ПО.

Обьявления - секреты прохождения игры НЛО 2: Дьяволы бездны.

Ассемблер - мультиколор; Работа с расширенной памятью; удобный оконный интерфейс.

Секреты TR-DOS - Turbo Loader и как переделать его в Turbo Saver.

Система - руководство пользователя Maxsoft Screen Packer v.1.1.

Система - руководство пользователя Рrо Xоr v0.01.

Система - руководство пользователя TRАСК DOСTOR v1.2

Система - руководство пользователя UNREСOGNIZED FORMАTTING OВJEСT v1.0

Система - руководство пользователя DАF v8.05.

Система - руководство пользователя СHEMNE ВАSE v0.6.

Система - руководство пользователя Catalogue Plus.

Система - руководство пользователя Рт РLAYER v1.10

Система - руководство пользователя DIGITАL STUDIO РLАYER v1.0

Юмор - юмористическая новелла о спектруме: Виртуальная реальность.

Реклама - Рeклaмa публикуeтся бeсплaтно.


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

Похожие статьи:
Обмен опытом - Программирование на ассемблере: эмуляция команд Clear, Cls, Pause, Plot, Draw ...
Курьезы - Стебы "ENERGY".
Реклама - приходите к нам со свойми чистыми дисками, и мы вам запишем свежий номер.
Дискуссия - XTR-modem и программное обеспечение: cтоит ли покупать PC, и если, да , то какой ?
Новинки - новые игры: UFO 2 "Дьявилы Бездны", Last Battle, Ice Climber, Prince of Persia, Final Fight, Neverending Story, Duckula 2, Open It!

В этот день...   7 декабря