KrNews #10
20 августа 1999 |
|
CODING - 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:
Similar articles:
В этот день... 23 November