Changes

PROTRACKER372 AYFIX H

33 bytes added, 02:15, 1 March 2020
no edit summary
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
LD DE,#800
CALL OUTAY ;запрещаем огибающую
;тишина
CALL 8020 ;BREAK
RET NC
;регулируем фазу (см.ниже)
LD HL,WAIT
LD A,#DF
JR C,$+3
DEC (HL)
;показываем фазу на экране
LD B,(HL)
LD HL,#5800
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,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,#D0E
CALL OUTAY ;уст.тип огибающей (E)
;теперь огибающая в начальной фазе. ;слушаем...
LD B,3
HALT
DJNZ $-1
JR LLL
OUTAY
LD BC,#FFFD
OUT (C),D
OUT (C),E
RET
L8df4=$-2 module=#C000 END
ELSE
END module
INCBIN "si*.m"
ENDIF