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

(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'е.
И  ко  всем входам в подпрограммы написаны
пояснения, так что сразу включайте русский
режим.                                    
       



Other articles:


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

Similar articles:
Toy Review - Overview of Game Software: Advanced Nether Earth, Denizen, Draughts, After the war 1 & 2, 180, Renegade 3, Bugstvo on Harhan, Kendo Warrior.
Aperativchik - On the new shell magazine.

В этот день...   16 May