ZX-Ревю 1997 №1-2 1997 г.

Этюды - процедура очистки экрана оригинальным способом.


ЭТЮДЫ

Первая производит очистку экрана оригинальным способом, как бы расщепляя его, задвигая при этом вверх и вниз. Сам экран располагается с адреса BUFF и переносится самой программой. После появления картинки на экране нужно нажать SPACE для продолжения. Для изменения скорости расползания необходимо

;Fz=1 -> found at HL

LP_SK1

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

ВС

13LSCR 14

PUSH LD

HL,22527-95

15

16

LD LD

, Адрес 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




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



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

Похожие статьи:
Assembly - отчет Петра Соболева с буржуйского пати Assembly 1999 (Часть 2).
Свиток - подробное описание игры ELITE 3.
Обратная связь - контакты редакции.
Новости - впечатления о провалившемся ENLIGHT'97.
Рассказ - Ну, юзер, погоди!

В этот день...   21 ноября