Changes

PROTRACKER372 AYFIX H

2,688 bytes added, 22:08, 14 February 2020
Created page with "AYFIX C��m��� г;Эта программа демонстрирует, сколько ;разных звуков можно получить на одной ;и т..."
AYFIX C��m��� г;Эта программа демонстрирует, сколько
;разных звуков можно получить на одной
;и той же комбинации tone+env, варьируя
;фазу тональника
;крутите фазу кнопками O,P!
ORG #6000
;обнуляем все регистры AY
LD DE,#E00
DEC D
CALL OUTAY
JR NZ,$-4
LLL
HALT
LD DE,#7FF
CALL OUTAY ;запрещаем тональник
LD DE,#800
CALL OUTAY ;запрещаем огибающую
;тишина
CALL 8020 ;BREAK
RET NC
;регулируем фазу (см.ниже)
LD HL,WAIT
LD A,#DF
IN A,(-2)
RRA
JR C,$+3
INC (HL)
RRA
JR C,$+3
DEC (HL)
;показываем фазу на экране
LD B,(HL)
LD HL,#5800
LD (HL),255
INC L
DJNZ $-3
JR Z,$+7
LD (HL),0
INC L
JR NZ,$-3

;обнуляем частоту тональника
LD DE,#000
CALL OUTAY
LD DE,#100
CALL OUTAY
;теперь счетчик тональника в фиксированном положении
;флаг тональника в одном из 2 положений: "вкл" или "выкл"
LD HL,#3C*8 ;период тональника
LD D,#0
LD E,L
CALL OUTAY ;устанавливаем (мл.)
LD D,#1
LD E,H
CALL OUTAY ;устанавливаем (ст.)
;делаем задержку для сдвига фазы тональника
WAIT=$+1
LD B,1
WAIT0 LD A,8
DEC A
JR NZ,$-1
DJNZ WAIT0
;теперь тональник в выбранной нами фазе F
;но из-за непредсказуемости флага эта фаза может быть F+180°
LD DE,#7FE
CALL OUTAY ;разрешаем тональник
LD DE,#810
CALL OUTAY ;разрешаем огибающую
LD DE,#B1E
CALL OUTAY ;устанавливаем период огибающей
LD DE,#D0E
CALL OUTAY ;уст.тип огибающей (E)
;теперь огибающая в начальной фазе.
;слушаем...
LD B,3
HALT
DJNZ $-1

JR LLL

OUTAY
LD BC,#FFFD
OUT (C),D
LD B,#BF
OUT (C),E
RET

L8df4=$-2
module=#C000
END
ELSE
END
module
INCBIN "si*.m"
ENDIF
ORG tab_frq
;INCBIN "tb_ST
DD F80E10