Plutonium #09

Видео на спеке - В этой статье речь пойдет о том, как на спеке с памятью 128 килобайт организовать реактивный показ видео в высоком разрешении.

<b>Видео на спеке</b> - В этой статье речь пойдет о том, как на спеке с памятью 128 килобайт организовать реактивный показ видео в высоком разрешении.

╔═══════════════════════════════════╗╔══╗ 
|             Видео на спеке...   ╔╗╚╝  | 
╚═════════════════════════════════╝╚════╝ 
 Lynx/Infotek                             
          Fast high resolution            
        full screen video engine          
          Fast high resolution            
        full screen video engine          
                                          
  В этой статье речь пойдет о том, как на 
спеке с памятью 128 килобайт организовать 
реактивный показ видео в высоком разреше- 
нии.  Это  - самый легкий и в то же время 
самый  'рульный'  и  самый быстрый способ 
вывода видео кадров на экран.             
  Что требуется для этого. Для этого, для 
примера надо запастись 15-ю кадрами како- 
го-нибудь  видео (например, из какого-ни- 
будь  писишного  ЗD-shooter'а  подергайте 
кадры  по  F12,  потом  конвертните их на 
спек).                                    
  Теперь  расскажу расположении этого ви- 
део(кадрах) в памяти. Для быстрого вывода 
на  экран  они храняться в незапакованном 
виде в основной памяти, а также в страни- 
цах памяти. Естественно страницы 2 и 5 не 
используются,  т.к.  они находяться в ос- 
новной памяти.                            
  В  чем особенность такого видео. Дело в 
том,  что  сейчас   в  основном для малой 
траты  памяти используют специальный фор- 
мат  -  вывод видео в низком разрешении - 
текстурками 4х4. И никто еше не практико- 
вал  вывод  видео в высоком разрешении на 
экран.                                    
  Итак,  начнем с программы, которая осу- 
шествляет  этот вывод на экран. Программа 
может работать в любом режиме прерываний. 
Программа  использует  таблицу, в которой 
на каждый кадр выделено по 3 байта:       
    1 - страница, в которой этот кадр:    
    2,3 - адрес экрана.                   
                                          
        org 2SOOO                         
        ld  hl,table                      
        ld  b,15                          
l1:     push bc                           
        ld  bc,#7FFD                      
        ld  a,(hl)                        
        add a,#1O                         
        out (c),a                         
        inc hl                            
        push hl                           
        ld  a,(hl)                        
        inc hl                            
        ld  h,(hl)                        
        ld  l,a                           
        ld  de,#ЧOOO                      
        ld  bc,#18OO                      
        ldir                              
        рор hl                            
        call pause                        
        inc hl                            
        рор bc                            
        djnz l1                           
        ret                               
pause   ld b,8                            
l2      halt                              
        djnz l2                           
table   DB O                              
        DW 27OOO                          
        DB O                              
        DW 33144                          
        DB O                              
        DW 39288                          
        DB O                              
        DW 49152                          
        DB O                              
        DW 55296                          
        DB 1                              
        DW 49152                          
        DB 1                              
        DW 55296                          
        DB 3                              
        DW 49152                          
        DB 3                              
        DW 55296                          
        DB 4                              
        DW 49152                          
        DB 4                              
        DW 55296                          
        DB 6                              
        DW 49152                          
        DB 6                              
        DW 55296                          
        DB 7                              
        DW 49152                          
        DB 7                              
        DW 55296                          
                                          
 Вот такая вот программа. Она выводит ви- 
део на экран. Соответственно, в процедуре 
pause,  количество halt'ов подобрано мной 
чисто  под  мое  видео. С такой задержкой 
оно получилось пропорциональное.          
  После  загрузки этой программы в память 
надо  соответственно  таблице загрузить в 
память  кадры.  Легче всего это делать из 
48-васика с открытыми страницами. Сделать 
это можно следуюшим образом:              
                                          
1O  OUT 32765,16+номер стр.:RANDOMIZE USR 
15619:REM  :  LOAD "имя кадра" CODE адрес 
из таблицы.                               
                                          
  Это  делается  потому, что 48 бэйсик не 
переключает страницы каждое прерывание на 
ту,  которая лежит в переменной 23388, и, 
соответственно  удобно  компоновать таким 
образом программы.                        
  Такой загрузчик я видел например, в де- 
ме BOOM.                                  
  Ну  вот  и все. Напоследок дам один со- 
вет: как разлочить страницы и TR-DOS пос- 
ле  возврата из пзу'шного меню 128 квору- 
ма. Это делается просто:                  



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

От авторов - Вступительное слово.

Новости - Флопари по 3O рублей, Last herо оf the Light Fоrce, Chaоs Cоnstructiоn, Оболочка.

Железо - Цифровой звук на Sрeccy. Cоxоx 8b.

Cоding - В этой статье я попытаюсь рассказать, о том как максимально быстро обсчитать трехмерное пространство. Печать точек. Построение линии. Умножение/деление. SIN (x), COS (x). Поворот осей x,y,z.

Металлургия - Турба на Kворуме.

Видео на спеке - В этой статье речь пойдет о том, как на спеке с памятью 128 килобайт организовать реактивный показ видео в высоком разрешении.

Ответ Eмрlоyer'у - Спасибо тебе за 1O.5 тактов, поюзаю какнибудь.

Ликбез - Такие приколы творятся, что я опять наткнулся на группировку тупых писишников, которые снова и снова наезжают на старый добрый спек...


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

Похожие статьи:
Intro - Editоriаl.
Железо - Сравнение компьютеров Профи и Скорпион.
Fantasm - cannibal corpse'90.
Code on! - процедура быстрой печати 42 и 64 символа в строке.
События 1 - добровольно покинул ряды lsg и oca наш кодер ex-mr. pi, ныне morphy.

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