|
Этюды - процедура очистки экрана оригинальным способом.
|
ЭТЮДЫ
Первая производит очистку экрана оригинальным способом, как бы расщепляя его, задвигая при этом вверх и вниз. Сам экран располагается с адреса BUFF и переносится самой программой. После появления картинки на экране нужно нажать SPACE для продолжения. Для изменения скорости расползания необходимо
;Fz=1 -> found at HL
EX LD CPIR
RET NZ ;Fz=0 -> not found
PUSH HL PUSH DE
SEEKER
(LB.SK1 + 1), A
AF.AF' A.(DE)
LD
28
29
30
31
32
33
34
35
36
NZ.SD1
DE
L_UP
DE.HL
DE
L_UP
SD
HL, 16384 C,16
JR
POP
CALL
EX
POP
CALL
DJNZ
LD
LD
изменить шаг, т.е. число линии, на которое раздвигается экран за один проход Все строки, которые нужно изменить, выделены в листинге. Длину я старался сделать как можно меньше, но получилась 171 байт.
(С) Program 'Crawl' by E.Kulikaev '96.
1 |
ORG |
40000 |
2 |
ENT |
$ |
3 BUFF |
EQU |
30000 |
4 |
LD |
HL.BUFF |
5 |
LD |
DE, 16384 |
6 |
LD |
BC.6144 |
7 |
LDIR |
|
8PAU |
LD |
A,#7F |
9 |
IN |
A,(#FE) |
10 |
RRA |
|
11 |
JR |
C,PAU |
12SCR1 |
LD |
В ,24/2 |
Сколько раз происходит скролинг Рассчитываемое по формуле 24/(шаг/8) число, должно быть целым.
Кол-во очищаемых сверху
линий. |
37 SD3 |
PUSH |
HL |
38 |
LD |
B,32 |
39 SD2 |
LD |
A,(HL) |
40 |
AND |
%10101010 |
41 |
LD |
(HL),A |
42 |
INC |
HL |
43 |
DJNZ |
SD2 |
44 |
POP |
DE |
45 |
CALL |
L DE |
46 |
EX |
DE.HL |
47 |
DEC |
С |
48 |
JR |
NZ.SD3 |
49 |
LD |
HL, 16384+6 |
ВС
HL,22527-95
, Адрес 16-ой снизу линии экрана.
DE,22527-31 В,192-16
;Кол-во скроллируемых вниз линий.
17 SD |
PUSH |
DE |
18 |
PUSH |
HL |
19 |
LD |
C,32 |
20 SD1 |
LD |
A,(DE) |
21 |
XOR |
(HL) |
22 |
AND |
% 10101010 |
23 |
XOR |
(HL) |
24 |
LD |
(DE),A |
25 |
INC |
DE |
26 |
INC |
HL |
27 |
DEC |
С |
Адрес 16-ой линии экрана сверху.
50 |
LD |
DE, 16384 |
51 |
LD |
B.192-16 |
; Кол-во скроллируемых вверх |
линий экрана. |
|
52 SU |
PUSH |
DE |
53 |
PUSH |
HL |
54 |
LD |
C,32 |
55 SU1 |
LD |
A,(DE) |
56 |
XOR |
(HL) |
57 |
AND |
%01010101 |
58 |
XOR |
(HL) |
59 |
LD |
(DE),A |
60 |
INC |
DE |
61 |
INC |
HL |
62 |
DEC |
С |
63 |
JR |
NZ.SU 1 |
ZX W/t»%
64 POP DE
65 CALL L_DE
66 EX DE.HL
67 POP DE
68 CALL L_DE
69 DJNZ SU
70 LD HL.22527-95
; Адрес 16-ой линии экрана снизу.
71 LD С,17
;Кол-во очищаемых внизу линий.
72 SU3 |
PUSH |
HL |
73 |
LD |
B,32 |
74 SU2 |
LD |
A,(HL) |
75 |
AND |
%01010101 |
76 |
LD |
(HL),A |
77 |
INC |
HL |
78 |
DJNZ |
SU2 |
79 |
POP |
DE |
80 |
CALL |
L DE |
81 |
EX |
DE.HL |
82 |
DEC |
С |
83 |
JR |
NZ.SU3 |
84 |
POP |
ВС |
85 |
DJNZ |
LSCR |
86 |
RET |
|
87 L DE |
INC |
D |
88 |
LD |
A.D |
89 |
AND |
7 |
90 |
RET |
NZ |
91 |
LD |
A.E |
92 |
ADD |
A.32 |
93 |
LD |
E.A |
94 |
RET |
С |
95 |
LD |
A.D |
96 |
SUB |
8 |
97 |
LD |
D.A |
98 |
RET |
|
99 L UP |
DEC |
D |
100 |
LD |
A.D |
101 |
AND |
7 |
102 |
CP |
7 |
103 |
RET |
NZ |
104 |
LD |
A.E |
ЭТЮДЫ
105 SUB 32
106 LD Е,А
107 RET С
108 LD A,D
109 ADD A,8
110 LD D,A
111 RET
СОДЕРЖАНИЕ:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Форум-Игры - в разделе рассмотрены: Dun Darach, Murray Mause (Supercop), Wild West Seymour, Sim City, Hero Quest, Dizzy-Y, Apollo, Cliffhanger, Laser Squad, Movie, Elite, Where Time Stood Still, Sceptre, Carrier Command, Math Day.
-
-
-
-
-
-
-
-
-
|