ZX-Ревю 1996 №4-5 1996 г.

Этюды - бегущая строка.


Ну, уж коли, я завел разговор про "SATISFACTION MEGADEMO", то приведу еще одну свою разработку, на этот раз из серии "Бегущая строка". Приведенная ниже программа скроллирует по экрану спрайты размером 2*2 знакоместа, с возможностью окрашивания каждой литеры в свой цвет. Эффект похож на тот, который есть в той же части вышеупомянутого "MEGADEMO". В "листинге 1" я приведу саму б/с, а в "листинге 2" - программу формирующую для нее спрайтовый набор. Нарисуйте на экране буквы размером 2*2 знакоместа, как это указано в ZX-РЕВЮ 95/1 и запустите мою программу. Через секунду спрайтовый набор будет готов. Листинг 1. ; ES FOR INFORCOM

ORG

40000

CALL

CH

CALL

SCR

CALL

ATR

RET

CH

LD

A, (COL)

AND

A

JR

Z, CH1

DEC

A

LD

(COL),A

RET

CH1

LD

A,1

LD

(COL),A

LD

HL,(TEXP)

CH4

LD

A, (HL)

CP

255

JR

NZ, CH2

LD

HL, 45000

LD

A,(HL)

CH2

CP

8

JR

NC,CH3

ADD

A,64

LD

(CLR),A

INC

HL

JR

CH4

CH3

INC

HL

LD

(TEXP),HL

SUB

32

LD

H, 0

LD

L,A

ADD

HL, HL

ADD

HL, HL

ADD

HL, HL

ADD

HL, HL

ADD

HL, HL

LD

DE,41000

ADD

HL, DE

LD

DE,BUF

LD

BC, 32

LDIR

RET

LD

HL,16385

LD

DE,16384

LD

B, 2

PUSH

BC

PUSH

HL

LD

B, 8

PUSH

BC

PUSH

HL

PUSH

DE

LD

BC, 31

LDIR

POP

DE

POP

HL

INC

H

INC

D

POP

BC

DJNZ

SC1

POP

HL

LD

DE,32

ADD

HL, DE

LD

D, H

LD

E, L

DEC

E

POP

BC

DJNZ

SC2

LD

IX,BUF

LD

HL,16415

LD

B, 2

PUSH

BC

PUSH

HL

LD

B, 8

LD

A, (IX+0)

LD

(HL),A

LD

A,(IX+1)

LD

(IX+0),A

INC

IX

INC

IX

INC

H

DJNZ

SC3

POP

HL

LD

DE,32

ADD

HL, DE

POP

BC

DJNZ

SC4

RET

LD

HL,22529

LD

DE,22528

LD

B, 2

PUSH

BC

LD

HL,16384

LD

DE,41000

LD

B, 4

CALL

L4

LD

HL,18432

LD

B, 2

CALL

L4

RET

PUSH

BC

PUSH

HL

LD

B,16

PUSH

HL

PUSH

BC

LD

B, 2

PUSH

HL

PUSH

BC

LD

B, 8

PUSH

HL

LD

A, (HL)

LD

(DE),A

INC

HL

INC

DE

LD

A,(HL)

LD

(DE),A

POP

HL

INC

DE

SCR

SC2

SC1

SC4

SC3

ATR

ATR1

L4

L3

L2

L1

SOFTWARE'

PUSH

HL

LD

BC, 31

LDIR

POP

HL

LD

DE,32

ADD

HL, DE

LD

D, H

LD

E, L

DEC

E

POP

BC

DJNZ

ATR1

LD

HL,22559

LD

A,(CLR)

LD

B, 2

ATR2

LD

(HL),A

LD

DE,32

ADD

HL, DE

DJNZ

ATR2

RET

COL

DEFB

0

TEXP

DEFW

45000

CLR

DEFB

7

BUF

DEFS

32

ORG

45000

DEFB

2

DEFM

"HELLO EV:

DEFB

6

DEFM

'EARTH

DEFB

4

DEFM

'PRESENTS

Текст должен располагаться с адреса 45000. Он будет выводиться на экран с атрибутом повышенной яркости. Если это Вам не надо, то можно убрать строку ADD A,64. Спрайтовый набор располагается с адреса 41000 и формируется следующей программой. Листинг 2.

ORG 39000 ; ES FOR INFORCOM

INC

H

DJNZ

L1

POP

HL

POP

BC

PUSH

DE

LD

DE,

32

ADD

HL,

DE

POP

DE

DJNZ

L2

POP

BC

POP

HL

INC

HL

INC

HL

DJNZ

L3

POP

HL

POP

BC

PUSH

DE

LD

DE,

64

ADD

HL,

DE

POP

DE

DJNZ

L4

RET




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Программистам - Теория: передача данных на компьютере.
Обо всем - письма читателей: подробный разбор адвентюрной игры Kayleth.
News games - TOP SKY NET на 23.09.96 в Луганске.
Софт - новая оперциаонная система для Спектрума - NeoS...
Школа хаккера - Цикл "БАЗА -1": Обозначения, Арифметика.

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