KrNews #10
20 августа 1999

CODING - Why did he cut? (On the withdrawal of the pictures on the screen).

<b>CODING</b> - Why did he cut? (On the withdrawal of the pictures on the screen).
_


          Why did he so CUTTING?

     or how to deal with the headache
_

(C) Cannibal / Paradox '99


                 - 1 -


  Personally, I do not understand why appears
many highly regarded programs (this applies more to sistemkam), 
where the derivation of the full-screen images cut beam (QSV 
v1.0), although there are also options where do not cut, but is 
stored in uncompressed form (Intro for Enigma Magazine). 

  And all, apparently because of the laziness of authors and
after beginning programmer look
how the pros do it-think:
"Once they are doing it, then so right!" and also will do so ...

  Or this case: a man wrote a nice output image, and it takes
too much memory ...


  Here's my method:


  1. Pack your favorite on-screen image
compressor (preferably LASER
COMPACT'om).

  2. Load the STS. Next ship packed screen.

  3. Dekompresor is roughly as follows:

                LD C, # F9

                CALL 8134

                LD DE, # 8C

                ADD HL, DE

                LD DE, # 4000

                ...

  It may look different (though
than packed), but the main thing here is to find
number 16384 (# 4000) and increase the senior
128 bytes (the result is a
# C000).

  Now we are looking for team CP # 58 and also increases to 
128. Just look, do not jump and unpacking packed data do not 
change the screen ... 

  4. If we do not deal with the whole screen, and with his 
third, then we proceed in a similar way, only here can not be # 
4000 and the other number. 

  5. Save the changes decompressor
(Of course packed with pictures!) And
in some assembler fills the next raving:


       DEPACK EQU 25000


                EI

                LD A, 23

                LD BC, # 7FFD

                OUT (C), A

                CALL DEPACK

                CALL MOVE

                LD A, 16

                LD BC, # 7FFD

                OUT (C), A

                ....


  Where DEPACK - packed screen, and in
MOVE label you can put beautiful
display screen, or simply throw
Screen LDIR 'om.


                 - 2 -


  Many have noticed if you start with TRDOS
any toy, and after the start
loader is changing color (black), very
all the cuts, first changing Border, and then
screen (or vice versa), then there is a complete lack of 
synchronization, so I've seen in 90% of the software (!), 
Although for the sake of fairness should be noted that in 
modern programs all civilized. 

  A very simple matter. To keep things
smoothly and did not cut when you change the screen to use the 
command HALT. 


  Example:

              XOR A; LD A, 7

              LD HL, # 5800

              LD DE, # 5801

              LD BC, 767

              LD (HL), L; LD (HL), 63

              HALT

              OUT (# FE), A

              LDIR

              ...

  Warning! Before starting the interrupt must be enabled!


  Happy if this information to anyone
will be useful.

 Cannibal ... 22.06.99





Other articles:

INTRO - Printing a newspaper KrNews on paper.

Announcement - New ROM - Technology Rom v1.0.

FERRUM - Connection AY-shki.

Novella - a secret book in 1912 (Chapter 2.3).

BBS NEWS - News from the PROFI BBS.

Letters - Letter from the Hot Key.

IS-DOS - Improvement of IS-DOS'a.

CODING - Intro to 256 bytes?

CODING - Why did he cut? (On the withdrawal of the pictures on the screen).

Mosaic - Screw for # 3D13, comments to the reviews on KrNews.

Humor - The question of the brick ...

CHA0TIC - CC'99 - memories of the Peter demopati.

Authors - About the Authors.

Advertising - Advertisements and announcements ...


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

Similar articles:
Novella - A fantastic story of the game "Laser Squad" (continued).
Events - news: virtaualno pati Antique Toy, Belarus Spectrum died, is preparing a new edition IzhNews.

В этот день...   23 November