Deja Vu #04
31 марта 1998 |
|
CODING - The remix of some procedures in 1993: SCREEN APARAT, umbral path, LOOK BASIC PROGRAMM-2.
SoundTrack: MR.Z/LS/1997 X-PARTY! (C) BD! __________________________________________ (C) Kolotov Sergei g.Shadrinsk, SerzhSoft __________________________________________ Remake of certain procedures 1993 __________________________________________ In the ZX-REVIEW-93 sec. 121 was published procedure H. M. Stinova called DOORS, realizing the effect of cleaning the screen by moving apart pictures in S hand. Procedure zanimac S em 101 bytes and, frankly govo S series, is written is not very effective) S fektivno.Ispolzovany alm S ternativnye registers, but I S HL register as anywhere else and do not RS remains, that does not give S possible to call this procedure of BASIC. Applying command block transfer LDIR and LDDR, managed to "make friends" with new procedure BASIC (good in her alternate registers are not generally used), more than halving the memory footprint and significantly improve performance. New procedure has also been completely moved. When cleaning the screen image established the current system attributes from cell 23693. That is, you can change the color right out of Basic teams INK, PAPER, BRIGHT, FLASH, or directly gave the command POKE 23693, n before procedure call on RANDOMIZE USR adr. Performing POKE adr +1, n (n = 1 .. 16), we can set the number of shifts performed for a starting procedure. ; SCREEN-APART ; (C) SerzhSoft, 11 july 1997 ; ORG 60000; address Assem blirovaniya ; ATTR_P EQU 23693; current am ributy wasps novnogo eq wound ; APART LD B, # 10, the number of pairs shift equivalent wound in a hundred hand LP_APR1 PUSH BC; store counter shifts on stack LD A, (ATTR_P); A = attributes for filling. after sdiga LD DE, # 5AFF; most village glacial bytes Attributes LP_APR2 LD H, D; copied this address LD L, E; in HL and reduced to 1: DEC HL; address before last byte lines LD BC, # 000F; shift: 15 bytes LDDR; shift right half-line right LD (DE), A; laying down it new value LD BC, # FFF2; correction p-pa HL - Now he ADD HL, BC; indicates the second byte line LD E, L; DE = HL DEC E; first byte left in a SRI LD BC, # 000F; will shift causeway 15 bytes LDIR; shift left half-line left LD (DE), A; laying down it new B (clear ka) LD BC, # FFEF; correction Register DE ADD HL, BC; the transition to one EX DE, HL; line up to screen (Attributes) BIT 3, D; if attributes You did not finish were, JR NZ, LP_APR2; something cool cycle XOR A; moved to area boundary graphs BIT 6, D; if we do not yet over climbed into the ROM JR NZ, LP_APR2; then continued twist it cycle POP BC; recovered Vai counter shifts DJNZ LP_APR1; twist cycle posited number of times RET; exit Procedure Hex dump procedure APART: EA60: June 10 C5 3A 8D 5C 11 FF: 58 EA68: 5A 62 6B 2B 01 0F 00 ED: A1 EA70: B8 January 12 F2 FF 09 5D 1D: 99 EA78: 01 0F 00 ED B0 December 2001 EF: 11 EA80: FF 09 EB CB 5A 20 E2 AF: 1933 EA88: CB 72 20 DD C1 10 D3 C9: 19 Saving: SAVE "apart.c" CODE 60000,48 On page 35 ZX-REVIEW-93 published program of the shadow contour. I managed to significantly improve the procedure for Just rewrite it from scratch. New procedure takes 138 bytes (old - 211 B) and became relotsiruemoy. As before, to get a pseudo-three-dimensional image, simply select the attributes with higher brightness places on the screen, which require shade and call the procedure SHADOW. There is a possibility to change configuration of the most shade. To do this you need to change the values in two teams load register pair DE, which are marked by asterisks. In the present program are set to # 5500, # 5500 respectively, which gives a shadow with a little rounded edges. Substituting # 2A80, # AA80, we shade with straight edges. To get the same result as in the original version, you must install # AA00, # 2A80. But the values of # 7F80, # FF80 will show you a continuous, unprimed shadow. ; SHADOW-PROCESSOR ; (C) SerzhSoft, 11 july 1997 ; ORG 60000; address Assem blirovaniya ; SHADOW LD HL, # 5AFF; Last bytes of attributes Comrade LP_SHD1 LD BC, # 0020, the number of bytes in one line Attributes DEC HL; transition to previous attribute BIT 3, H; we have not yet "Stopped" in the schedule? RET Z; if you have already, then exit Procedure BIT 6, (HL); an attribute with increased Brightness? LP_SHD0 JR Z, LP_SHD1; if not, previous attribute PUSH HL; store Address Atri rubble on the degree Ke INC L; the transition to next attribute LD A, L; check transition AND # 1F; to the next line Atri casks JR Z, GO_SHD2; if so, jumping it BIT 6, (HL); included whether Brightness? JR NZ, GO_SHD2; if so, jumping it PUSH HL; store Address Atri rubble on the degree Ke ADD HL, BC; the transition to attribute on line below LD C, (HL); placed this attribute in the register C POP HL; recovered Vai address Attribute LD A, H; calculation of Adre ca AND # 03; top Do SRI RLCA; familiarity RLCA; in the screen RLCA; for a given OR # 40; address in LD H, A; region am ributov LD DE, # 5500 * for the image creation of those neither to the right * LD B, # 0C; height of the shadows: 12 pixels LP_SHD2 LD A, E; shifted byte image shadow lines AND # F0; reject unnecessary "rules curves "bits OR (HL); impose content Screen LD (HL), A; and write new byte screen INC H ;--------------------------------- LD A, H; AND # 07; standard JR NZ, GO_SHD0; sequence sequence LD A, L; commands transition ADD A, # 20, on line or same LD L, A; in the screen area JR C, GO_SHD1; LD A, H; SUB # 08; LD H, A ;--------------------------------- GO_SHD1 LD A, H; byte addresses chart CP # 58; verification. on OUT OF border eq wound JR NC, GO_SHD2; if so, jumping it BIT 6, C; check yar bone: possible whether the image JR NZ, GO_SHD2; reap shadow if not, jump GO_SHD0 SRL D; rotation of times RR E; shadow line right DJNZ LP_SHD2; cycle on the number of lu lines shadow GO_SHD2 POP HL; recovered Vai address Attribute PUSH HL; store Address Atri rubble on the degree Ke LD BC, # 0020, the number of bytes in one line Attributes ADD HL, BC; the transition to attribute under the current LD A, H; check but mailing address Attribute CP # 5B; on the occurrence of the boundaries Screen JR NC, GO_SHD4; if the limit affairs, transition BIT 6, (HL); if the WMO leads to the screen but the brightness JR NZ, GO_SHD4; enabled, anyway - transition INC L; next bytes of attributes elements (right) LD C, (HL); put in Register C LD A, H; calculation of Adre ca AND # 03; top Do SRI RLCA; familiarity RLCA; in the screen RLCA; for a given OR # 40; address in LD H, A; region am ributov LD DE, # 5500 * for the image creation of those or below * LD B, # 04; height of the shade bottom LP_SHD3 DEC L; return on byte back LD A, (HL); take a byte Screen OR D; laid le vy bytes of fold line LD (HL), A; shadows and revenge on behind the screen INC L; the transition to bytes to the right LD A, L; check output AND # 1F; by the right bound exciton Rake: JR Z, GO_SHD3; if so, jumping it BIT 6, C; if the atomic ribut with clearly bone, JR NZ, GO_SHD3; it the same way - jumping it LD A, (HL); take a byte Screen OR E; imposed Right byte Image Line LD (HL), A; shadows and revenge on behind the screen GO_SHD3 INC H; the transition to next line SRL D; rotation of times a RR E; shadow line right DJNZ LP_SHD3; cycle on the number of lu lines way the shadows GO_SHD4 POP HL; recovered Vai address Attribute XOR A; mouth. Flag Z, to JR Z worked JR LP_SHD0; go to JR Z command , LP_SHD1 Hex dump procedure SHADOW: EA60: 21 FF 5A 20 January 2000 2B CB: DB EA68: 5C C8 CB 76 28 F5 E5 2C: E5 EA70: 7D E6 1F 28 3A CB 76 20: 9F EA78: 36 E5 09 4E E1 7C E6 03: 1A EA80: 7 July 2007 F6 40 67 November 2000: 2D EA88: 55 06 0C 7B E6 F0 B6 77: 57 EA90: 24 7C E6 20 July 1913 7D C6: 7D EA98: 20 6F 38 04 7C D6 August 1967: 0E EAA0: 7C FE 58 30 0A CB 71 20: F2 EAA8: 06 CB 3A CB 1B 10 DC E1: 50 EAB0: E5 20 January 2000 09 7C FE 5B: 7E EAB8: 30 2C CB 76 20 28 2C 4E: 01 EAC0: 7C E6 03 7 July 2007 40 F6: 5A EAC8: 67 11 00 55 06 04 2D 7E: 34 EAD0: B2 77 2C 7D E6 1F July 28: C0 EAD8: CB 1971 March 20 7E B3 77 24: ED EAE0: CB 3A CB 1B 10 E8 E1 AF: 3D EAE8: 18 82 00 00 00 00 00 00: 6C Saving: SAVE "shadow.c" CODE 60000,138 Construction materials; - Planetology; - Shipbuilding; - Weapons. Just be sure to enter the library or encyclopedia designed devices and structures with graphical and textual description for each type of research. Fifth, many more "all-different-good." This means that the game will be on at the upcoming 1998. I'm not specifically "accurate and final" term release of the game, partly because he did not want to "jinx":), in part, so as not to disappoint you disregard period. Of course, it will depend on your interest and your feedback ... For all questions please contact us at: 428000, Cheboksary, PO Box 351, either on the FIDO (note new address): 2:5066 / 19 to ILYIN SERGEY Always glad to new acquaintances, business proposals, and just good friends. Now, a bit of advertising: Dear owners Spectrum'a. If you Need new software for your computer, you can always write to us mailbox (see above), and cheboksartsy, in addition, can go to the firm Delta-C "(in the first professional school), where you select everyone, I need to work on SPECCY. Well, now just everything. It remains to interpretation once again congratulate you on New Year 1998 and wish all the best in this mortal world. Particularly strongly and ardently congratulate our friends, acquaintances and just good people working on the stage SPECCY: GREETS ZER0 FLASH ACCEPT E-MAGE X-TRADE EXTREME FATALITY TRIUMPH XL-DESIGN COPPER feet Omega HACKERS REAL software Power of SOUND THE Hot Heads Laser SOFTWARE KINGDOM Dreams Digital REALITY MERLIN software The HEAT HACKERS RED drunkards ltd Eternity INDUSTRY AMAIZING softmakers Binary DIMENSION CYBER PUNKS Unit and All members of PHANTOM FAMILY corporation! SPECCY RULES FOREVER! Graphic screens, you can view next part
Other articles:
Similar articles:
В этот день... 21 November