╔═══════════════════════════════════╗╔══╗ | Видео на спеке... ╔╗╚╝ | ╚═════════════════════════════════╝╚════╝ Lynx/Infotek Fast high resolution full screen video engine Fast high resolution full screen video engine В этой статье речь пойдет о том, как на спеке с памятью 128 килобайт организовать реактивный показ видео в высоком разреше- нии. Это - самый легкий и в то же время самый 'рульный' и самый быстрый способ вывода видео кадров на экран. Что требуется для этого. Для этого, для примера надо запастись 15-ю кадрами како- го-нибудь видео (например, из какого-ни- будь писишного ЗD-shooter'а подергайте кадры по F12, потом конвертнитеthem on spec). Now I’ll tell you the location of this vi- deo(frames) in memory. For quick withdrawal on the screen they are stored unpacked form in main memory, as well as in the page Tsakh memory. Naturally pages 2 and 5 are not are used because they are in os- new memory. What is special about this video? The point is that now mainly for small memory waste uses a special format mat - video output in low resolution - 4x4 textures. And no one has yet practiced output video in high definition on screen. So, let's start with a program that implements sends this output to the screen. Program can operate in any interrupt mode. The program uses a table in which 3 bytes are allocated for each frame: 1 - page in which this frame: 2,3 - screen address. org 2SOOO ld hl,table ld b,15 l1: push bc ld bc,#7FFD ld a,(hl) add a,#1O out(c),ainc 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 55296DB 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 This is the program. She displays deo on the screen. Accordingly, in the procedure pause, the number of halts was selected by me purely for my video. With such a delay it turned out to be proportional. After loading this program into memory you need to load the table into memory frames. The easiest way to do this is from 48-vasika with open pages. Make it can be done like this: 1O OUT 32765.16+page number:RANDOMIZE USR 15619:REM : LOAD "frame name" CODE address from the table.This is done because 48 BASIC is not switches pages every interruption on the one that lies in the variable 23388, and, Accordingly, it is convenient to arrange it like this image of the program. I saw such a loader, for example, in de- me BOOM. Well, that's all. Finally, I will give one co- vet: how to unlock pages and TR-DOS post- le return from the program menu 128 quora- ma. This is done simply:
Video on a spec - This article will discuss how to organize reactive display of high-resolution video on a spec with 128 kilobytes of memory.
Share your thoughts about the article