Speccy #03
31 декабря 1995

Programming - the program allows to change the screen image in the mode of 48K in the form of vertical blinds with a simultaneous color change of the curb.

<b>Programming</b> - the program allows to change the screen image in the mode of 48K in the form of vertical blinds with a simultaneous color change of the curb.
       PROGRAMMING


 Bring to your attention
program we have received from
Shabanov, Vladimir. Program
allows you to change the image screen in a 48K
as vertical blinds, with simultaneous change in color border.
You can watch this interesting technique in the description of 
the game VINDICATOR, which made this

same author.
 We want to warn:
program is rather complex, but
we think that anyone who interested in this procedure will be 
able to understand it and apply for

writing your own programs.
Vladimir Shabanov


CLS LD A, # 08; LIST

                     ; NUMBER IN

                     ; COUNTER

       LD (LAB7 +1), A; NUMBER 1

       LD A, # 88; LIST

                     ; NUMBER IN

                     ; COUNTER

       LD (LAB11 +1), A; NUMBER 2

       LD HL, (VECTOR +1); TAKEN

                        ; In HL

                       And the transition

                     ; From the vector

       LD (SAVE_VECT), HL; PRE
                        ; Closing the

                       ; And Save
                          ; LILI

       LD HL, PRER; ASK

                    ; YOUR Pere
                    ; PROGRESS AND UNDER
       LD (VECTOR +1), HL; SETS

                        ; IT IN

                        And the vector
LAB1 HALT; MADE

                    ; TWO PRAIRIE
                    ; Bani FOR

       HALT; Shaded

                    , Bordeaux. ABOVE

                  ; AND LOWER SCREEN

       LD A, (LAB11 +1); TAKEN

                     ; NUMBER FOR

                     ; Counter 2

       SUB # 08; REDUCE

                        ; AT 08H

       LD (LAB11 +1), A; Unknown

                       ; BACK

       LD A, (LAB7 +1); TAKEN

                     ; NUMBER FOR

                    ; Counter 1

       ADD A, # 04; Add

                           ; 04H

       CP # 50, CF

                         , C 50H

       JR Z, LAB2; IF STILL

                      , Then the output

       LD (LAB7 +1), A; Unknown

                         ; NUMBER

                       ; BACK

                     ; The counter

       CP # 20, CF

                         , C 20H

       JR C, LAB1; IF LESS THAN

                         , Then the

                  ; BEGINNING OF CYCLE

       SUB # 20; takes

                       ; 20H FOR

                     ; VYCHILENIYA

       LD L, A; and enter

                    ; RESULTS

                             ; L

       LD H, # 00; Zeroing H

       ADD HL, HL; and multiply

                    Receipt

                         ; NUMBER

       ADD HL, HL; ON 8 TO

                    Calculation of

                        ; ADDRESSES

       ADD HL, HL; TO FILE

                     ; ATTRIBUTES

                        ; SCREEN

       LD DE, # 5800; In DE HOME

                         ; FAILA

                     ; ATTRIBUTES

       ADD HL, DE; ADD

                       ; HL AND DE

       LD E, L; Unknown

                          ; In DE

                    Receipt

       LD D, H; ADDRESS AND

       INC DE; INCREASED

                      ; It by 1

       LD (HL), # 00; MOLE

                     , AT

                       ; HL ZERO

       LD BC, # 001F; In BC

                        Coil;

                ; Rows minus 1

       LDIR; CLEAR

                      ; ZNAKORYAD

       LD A, (LAB7 +1)

       NEG; PRODUCE

                    Calculation of

       ADD A, # 7C; CLEANERS

       LD L, A; LOWER

       LD H, # 00; ZNAKORYADA

       ADD HL, HL

       ADD HL, HL

       ADD HL, HL

       LD DE, # 5800

       ADD HL, DE

       LD E, L

       LD D, H

       INC DE

       LD (HL), # 00

       LD BC, # 001F

       LDIR

       JR LAB1; AND DO

                     And the transition

                     ; TO START

                     ; CYCLE
LAB2 LD A, # 00; Stain

                     ; BORDER IN

       OUT (# FE), A; BLACK

       LD HL, (SAVE_VECT)

               ; RESTORES

               ; VECTOR TRANSITION

       LD (VECTOR +1), HL

                 ; Interrupt

       RET; RETURN

                    ; FIXED

                    ; PROGRAM
FILL LD A, # 50; THIS

                  ; PROGRAMME

       LD (LAB7 +1), A

                 ; INTENDED

                           , FOR

       LD A, # 00; FILL

                    ; ATTRIBUTE

       LD (LAB11 +1), A

                   ; FROM THE MIDDLE

                         ; UP

       LD HL, (VECTOR +1); AND DOWN

                    , AND IS

       LD (SAVE_VECT), HL

                  ; MODIFICATION

       LD HL, PRER; SUB

                           ; CLS

       LD (VECTOR +1), HL; THIS

                        ; EXAMPLE

                     ; CALCULATE
LAB3 HALT; to work on

       HALT; INTERRUPTION IM2

       LD A, # 04; but you can

                      , DO

       LD (LAB8 +1), A; AND WITHOUT

                    ; UNINTERRUPTED

       LD A, (LAB11 +1); IF

                   ; KOMANDY HALT

       ADD A, # 08; REPLACE

                  ; TO CALL PRER

       LD (LAB11 +1), A; A ON

                     ; WITHDRAWAL FROM

                  , SUB

       LD A, (LAB7 +1); PRER

                ; REMOVED THE TEAM

       SUB # 04; Ei AND A RETI

                     ; SUPPLY

       CP # 0C; JUST RET

       JR Z, LAB4

       LD (LAB7 +1), A

       CP # 20

       JR C, LAB3

       SUB # 20

       LD L, A

       LD H, # 2000

       ADD HL, HL

       ADD HL, HL

       ADD HL, HL

       EX DE, HL

       LD HL, # 5800

       ADD HL, DE

       EX DE, HL

       LD BC, SCR_ATTR

       ADD HL, BC

       LD BC, # 0020

       LDIR

       LD A, (LAB7 +1)

       NEG

       ADD A, # 7C

       LD L, A

       LD H, # 2000

       ADD HL, HL

       ADD HL, HL

       ADD HL, HL

       EX DE, HL

       LD HL, # 5800

       ADD HL, DE

       EX DE, HL

       LD BC, SCR_ATTR

       ADD HL, BC

       LD BC, # 0020

       LDIR

       JR LAB3
LAB4 LD HL, (SAVE_VECT)

       LD (VECTOR +1), HL

       XOR A

       LD (LAB8 +1), A

       LD A, BORDER

       OUT (# FE), A

       RET
PRER PUSH AF

       PUSH BC

       PUSH DE

       PUSH HL

       EX (SP), HL

       EX (SP), HL

       LD A, UP_BORD; Record

                      ; In A COLOR

                      ; TOP

       OUT (# FE), A; HALF

                      ; Border

       LD A, # 07
LAB5 LD B, # 0F
LAB6 DJNZ LAB6

       AND # FF

       INC HL

       DEC A

       JP NZ, LAB5
LAB7 LD A, # 10
LAB8 SUB # 00
LAB9 LD B, # 0F
LAB10 LD C, # 2007

       LD C, # 2007

       DJNZ LAB10

       AND # FF

       LD C, # 2007

       LD C, # 2007

       INC HL

       DEC A

       JP NZ, LAB9
LAB11 LD A, BORDER; IN WHICH A

                    ; Color was

       OUT (# FE), A; BORDER

       LD A, # 78

       OR A

       JR Z, LAB14
LAB12 LD B, # 0F
LAB13 LD C, # 2007

       LD C, # 2007

       DJNZ LAB13

       AND # FF

       LD C, # 2007

       LD C, # 2007

       INC HL

       DEC A

       JP NZ, LAB12
LAB14 LD A, DOWN_BORD; COLOR

                      ; BOTTOM

                      One half

       OUT (# FE), A; Border

       LD A, # 05
LAB15 LD B, # 0F
LAB16 LD C, # 2007

       LD C, # 2007

       DJNZ LAB16

       AND # FF

       LD C, # 2007

       LD C, # 2007

       INC HL

       DEC A

       JP NZ, LAB15

       POP HL

       POP DE

       POP BC

       POP AF

       EI; if not on

                ; INTERRUPTION TO

       RETI; is posed

                           ; RET
SAVE_VECT DEFW # 0000
KeBaymakov Jaroslav

(R. I. P. Corp. 1996 by DIEHARD)

WARNING! WARNING! WARNING!
WARNING! WARNING! WARNING!

 Are being developed
 FEE EMPOWERING
 YOUR COMPUTER.

 In the board is fully embroidered with all
major ports: the expansion
memory, sound and prozessora
the keyboard is properly connected
AY-processor (can be read from
port FFFD).

 The board allows:

1. expand the memory:

   - RU5 on up to 512 KB

   - On RU7 2048 KB
2. disable ROM
 (On its place in the address
# 0000 .. # 3FFF gets zero
pages of memory);
 3. direct programming
floppy drive controller from VG93
any memory area (not just
at the entry point # 3D2F);
 4. sets the screen at any
memory location every 8KB;
 5. allows us to assume the state
port mapping # 7FFD and # DFFD;
 6. can be installed
floppy drive controller on the board;
 7. possible segmentation of the address
# 4000;

 After connecting the board
computer becomes a 60%
compatible with the PROFI (impossible
only the screen 512 by 240 pixels).
 Please send requests for
making this payment, as well
However, some considerations
about the need for controller
on this board and segmentation
Other addresses at Editorial
Journal SPECCY.


              *





Other articles:

authoring program - Description of the program for viewing files in the format ". GRF".

Igroskop - Tips for the games: "Hobbit", "Star Heritage", "Extreme".

Igroskop - Tips for the games: "Pegasus". Rating Programs for January 1996 in Chelyabinsk.

Muzoboz - Describes the three contest works.

Multrolik - The first work on the cartoon contest.

Our Town - On the city of Chelyabinsk.

Novella - A fantastic story of the game "Laser Squad" (continued).

From the Editor - the innovations in the journal.

Programming - the program allows to change the screen image in the mode of 48K in the form of vertical blinds with a simultaneous color change of the curb.

Advertising - Advertising ...

Tusovka - The first swallow for the contest: "The funniest anecdote in the computer theme.


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

Similar articles:
Search - search for game programs.

В этот день...   5 May