Think #04
30 августа 1997
  Звук  

Ассемблер - Индикатор для AY-8910 (12) - 2 процедуры.

            ╔═════════════╗
            ║  АССЕМБЛЕР  ║
            ╚═════════════╝

  Если вы обратили внимание в  третьем но-
мере газеты на эту рубрику , то знаете,что
речь в ней идёт различных  полезных проце-
дурах , которые необходимы  при  написании
музыкальных демонстраций и INTR'ушек.
  Сегодня вы сможете увидеть ещё  два  ва-
рианта индикатора каналов для AY-8910(12).

; ИНДИКАТОР ДЛЯ AY-8910(8912)
; Внизу 3 толстых полосы.
;Процедура "взята" из музыкальной демонст-
;рации "PRIVET 2"


             ORG  50000

             LD   A,8
             LD   BC,#FFFD
             OUT  (C),A
             LD   A,255
             IN   A,(#FD)
             LD   HL,22440
             CALL M1
             LD   A,9
             LD   BC,#FFFD
             OUT  (C),A
             LD   A,255
             IN   A,(#FD)
             LD   HL,22447
             CALL M1
             LD   A,10
             LD   BC,#FFFD
             OUT  (C),A
             LD   A,255
             IN   A,(#FD)
             LD   HL,22454
             CALL M1
             RET
M1           LD   (RAB1),HL
             LD   (RAB2),A
             LD   A,32
             LD   (RAB3),A
M2           LD   A,8
             LD   (RAB4),A
M3           LD   A,(RAB2)
             CP   0
             CALL NZ,M4
             CALL Z,M5
             LD   A,(RAB3)
             DEC  A
             CP   0
             RET  Z
             LD   (RAB3),A
             LD   A,(RAB4)
             DEC  A
             CP   0
             JP   Z,M6
             LD   (RAB4),A
             LD   HL,(RAB1)
             LD   BC,256
             AND  A
             SBC  HL,BC
             LD   (RAB1),HL
             JP   M3
M4           LD   HL,(RAB1)
             LD   B,255
             LD   (HL),B
             INC  HL
             LD   (HL),B
             DEC  A
             LD   (RAB2),A
             RET
M5           LD   HL,(RAB1)
             LD   B,0
             LD   (HL),B
             INC  HL
             LD   (HL),B
             RET
M6           LD   HL,(RAB1)
             LD   BC,1760
             AND  A
             ADC  HL,BC
             LD   (RAB1),HL
             JP   M2
             RET
RAB1         DEFB 0,0
RAB2         DEFB 0
RAB3         DEFB 0
RAB4         DEFB 0


; ИНДИКАТОР ДЛЯ AY 8910(8912)
; В верхнем левом углу 3 "звездочки".
; Процедура содержит 7 спрайтов по 32 бай-
; та с прайт.
;Процедура "взята" из музыкальной демонст-
;рации "*VVV* part 1"

             ORG  50000

             CALL LF623
             CALL LF662
             CALL LF691
             RET
LF623        LD   BC,#FFFD
             LD   A,8
             OUT  (C),A
             IN   A,(C)
             AND  15
             RRA
             PUSH AF
             LD   B,A
             JR   Z,LF639
             XOR  A
             LD   L,32
LF636        ADD  A,L
             DJNZ LF636
LF639        LD   HL,SPRITE
             LD   C,A
             ADD  HL,BC
             LD   A,16
             LD   DE,16384
LF641        PUSH DE
             LD   BC,2
             LDIR
             POP  DE
             PUSH AF
             CALL LF652
             POP  AF
             DEC  A
             JR   NZ,LF641
             POP  AF
             RET
LF652        INC  D
             LD   A,D
             AND  7
             RET  NZ
             LD   A,E
             ADD  A,32
             LD   E,A
             CCF
             SBC  A,A
             AND  248
             ADD  A,D
             LD   D,A
             RET
LF662        LD   BC,#FFFD
             LD   A,9
             OUT  (C),A
             IN   A,(C)
             AND  15
             RRA
             PUSH AF
             LD   B,A
             JR   Z,LF678
             XOR  A
             LD   L,32
LF675        ADD  A,L
             DJNZ LF675
LF678        LD   HL,SPRITE
             LD   C,A
             ADD  HL,BC
             LD   A,16
             LD   DE,16386
LF680        PUSH DE
             LD   BC,2
             LDIR
             POP  DE
             PUSH AF
             CALL LF652
             POP  AF
             DEC  A
             JR   NZ,LF680
             POP  AF
             RET
LF691        LD   BC,#FFFD
             LD   A,10
             OUT  (C),A
             IN   A,(C)
             AND  15
             RRA
             PUSH AF
             LD   B,A
             JR   Z,LF6A7
             XOR  A
             LD   L,32
LF6A4        ADD  A,L
             DJNZ LF6A4
LF6A7        LD   HL,SPRITE
             LD   C,A
             ADD  HL,BC
             LD   A,16
             LD   DE,16388
LF6AF        PUSH DE
             LD   BC,2
             LDIR
             POP  DE
             PUSH AF
             CALL LF652
             POP  AF
             DEC  A
             JR   NZ,LF6AF
             POP  AF
             RET
SPRITE       DEFB 0,0,0,0,0,0,0,0
             DEFB 0,0,0,0,0,0,0,0
             DEFB 0,0,0,0,0,0,0,0
             DEFB 0,0,0,0,0,0,0,0

             DEFB 0,0,0,0,0,0,0,0
             DEFB 0,0,0,0,0,0,1,128
             DEFB 1,192,0,128,0,0,0,0
             DEFB 0,0,0,0,0,0,0,0

             DEFB 0,0,0,0,0,0,0,0
             DEFB 0,0,0,0,0,128,0,128
             DEFB 3,224,0,128,0,128,0,0
             DEFB 0,0,0,0,0,0,0,0

             DEFB 0,0,0,0,0,0,0,0
             DEFB 0,0,0,128,0,128,1,192
             DEFB 7,240,1,192,0,128,0,128
             DEFB 0,0,0,0,0,0,0,0

             DEFB 0,0,0,0,0,0,0,0
             DEFB 0,128,0,128,1,192,3,224
             DEFB 15,248,3,224,1,192,0,128
             DEFB 0,128,0,0,0,0,0,0

             DEFB 0,0,0,0,0,0,0,128
             DEFB 0,128,0,128,1,192,3,224
             DEFB 31,252,3,224,1,192,0,128
             DEFB 0,128,0,128,0,0,0,0

             DEFB 0,0,0,0,0,0,0,128
             DEFB 0,128,1,192,3,224,7,240
             DEFB 31,252,7,240,3,224,1,192
             DEFB 0,128,0,128,0,0,0,0

          >



Другие статьи номера:

WANTED - Розыск программ...

Анекдоты - 14 анекдотов.

Ассемблер - Индикатор для AY-8910 (12) - 2 процедуры.

Говорят дети - 8 фенечек...

Головоломки - Букеты, Раставьте знаки, Косвенные данные.

Картинки с IBM - 4 картинки с IBM из игры JAZZY.

Обзор новинок - О новинках ПО: The Hexxagon 2, Пираты, Mortal Kombat (Mafia), Monster Land demo, DOOM pre release v1.5b

От автора - Вот и четвертый номер газеты.

Проходилка - Описание-проходилка игры: Занни и Бонни часть 1: Спасение.

Реклама - Реклама и объявления ...


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

Похожие статьи:
Система - Обзор системных программ: ART Studio v 2. 1
Tестик - как всегда.
Слабо пройти - Описание-прохождение игры Monstrland (миссия 4).

В этот день...   17 июля