; Az öthangú ADSR változata. A gombelemző a főprogramban maradt, de a 
; két f1 a későbbi modulokkal való kompatibilitás érdekében átköltözött
; ide. Logikusabb lenne az összes frekit itt elhelyezni, de akkor ezt 
; végig kellene vinni az összes burkoló modulon. Azóta már f5 is ki van
; rem-elve a főprogramban, azért van itt.
; vesszőket.
f1norm	equ	1108	; 1111 a névleges közép
f1kezd	equ	f1norm+554
f5norm	equ	1132
f5kezd	equ	f5norm*3
extra	equ	3ch
durva	equ	1eh	; max noise
normal	equ	0fh	; medium noise
halk	equ	7h	; low noise
zeno	equ	0	; zero noise

egy0		; stabil elindult állapot, modulálva
	movlw	normal
	movwf	nmsk
	decfsz	f1lass,f
	goto	mod2
	movlw	251
	movwf	f1lass
	incf	modct1,f	; modulátor számláló
	movf	modct1,w
	snb	modct1,4	; visszafordító, a maszk fökötti bit
	comf	modct1,w
	andlw	15		;moduláció lépésszáma (x0,447 Hz)
	addlw	low f1norm	
	movwf	bl1
mod2
	sb	nyolc
	goto	main
	bcf	nyolc
	decfsz	f4lass,f
	movlw	51
	movwf	f4lass
	movf	sreg3,w
	andlw	15
	addlw	low f2norm
;	movwf	bl2	; elég a pontosvessző, hogy ne működjön.
	goto	main
egy1		; tranziens induló állapot
	decf	stcnt,f
	banksel	daccon1
	movf	stcnt,w
	sublw	120
	addlw	low adsrt1
	pagesel	adsrt1
	callw	
	movwf	daccon1
	pagesel	main
	banksel	porta
	movf	stcnt,w
	xorlw	48
	jnz	nem48
	call	toltm
	movlw	31
	movwf	ven	; minden csatorna be
nem48
	movf	stcnt,w
	xorlw	41
	sz
	goto	marad
	movlw	normal
	movwf	nmsk
marad
	movf	stcnt,w
	xorlw	2
	snz
	goto	norm
	movf	stcnt,f
	snz
	bcf	fut
	goto	main
norm
	movlw	extra
	movwf	nmsk
	call	toltn
	goto	main
ketto0		; stabil leállt állapot
	movlw	high f1norm
	movwf	bh1
	movlw	low f1norm
	movwf	bl1
	clrf	nmsk
	goto	main
ketto1		; tranziens leálló állapot
	decf	stcnt,f
	banksel	daccon1
	movf	stcnt,w
	addlw	low adsrt2
	pagesel	adsrt2
	callw
	movwf	daccon1
	banksel	porta
	pagesel	main
	movf	stcnt,f
	sz
	goto	main
	bcf	fut
	banksel	porta
	clrf	ven
	goto	main
harom		; leállítás kezdete
	movlw	56
	movwf	stcnt
	bsf	fut
	goto	main
folyt	
	movlw	32
	movwf	stcnt
	movlw	normal
	movwf	nmsk
	goto	main
negy		; indítás kezdete
	btfsc	fut
	goto	folyt
;	call	toltm
	movlw	120
	movwf	stcnt
	banksel	daccon1
	movlw	6
	movwf	daccon1
	banksel	porta
	movlw	durva
	movwf	nmsk
	bsf	fut
	goto	main
f4todo
	bcf	flag4
	goto	main1
f2todo
	bcf	flag2
	goto	main2	
toltn		; normál frekvencia paraméterek töltése
	movlw	high f1norm
	movwf	bh1
	movlw	low f1norm
	movwf	bl1
	movlw	high f2norm
	movwf	bh2
	movlw	low f2norm
	movwf	bl2
	movlw	high f3norm
	movwf	bh3
	movlw	low f3norm
	movwf	bl3
	movlw	high f4norm
	movwf	bh4
	movlw	low f4norm
	movwf	bl4
	movlw	high f5norm
	movwf	bh5
	movlw	low f5norm
	movwf	bl5
	return
toltm		; induló frekvencia paraméterek töltése
	movlw	high f1kezd
	movwf	bh1
	movlw	low f1kezd
	movwf	bl1
	movlw	high f2kezd
	movwf	bh2
	movlw	low f2kezd
	movwf	bl2
	movlw	high f3kezd
	movwf	bh3
	movlw	low f3kezd
	movwf	bl3
	movlw	high f4kezd
	movwf	bh4
	movlw	low f4kezd
	movwf	bl4
	movlw	high f5kezd
	movwf	bh5
	movlw	low f5kezd
	movwf	bl5
	return
levon		; lépcsőzetes frekvenciacsökkentés (marhaság,de
		; valami szirénafélének vagy dopplernek jó lehet)
	movlw	22
	subwf	bl1,f
	andlw	0
	subwfb	bh1,f
	movlw	23
	subwf	bl2,f
	andlw	0
	subwfb	bh2,f
	movlw	23
	subwf	bl3,f
	andlw	0
	subwfb	bh3,f
	movlw	23
	subwf	bl4,f
	andlw	0
	subwfb	bh4,f
	movlw	24
	subwf	bl5,f
	andlw	0
	subwfb	bh5,f
	return

atir
	return
	
	ORG	300H
; a leállás és az indulás tranziens szakasza (a leállásé visszafelé)
adsrt2
	dt	0,0,1,1,2,2,3,3
	dt	4,4,5,5,6,6,7,7
	dt	8,8,9,9,10,10,11,11
	dt	12,12,13,13,14,14,15,15
	dt	16,16,17,17,18,18,19,19
	dt	20,20,21,21,22,22,23,23
	dt	24,24,25,25,26,26,27,27
	dt	27,27,27,27,27,27,27,27	; ezt már nem használom
adsrt1
	dt	10,11,14,16,18,20,22,24	; 120-113 (csak gőz)
	dt	26,26,26,26,26,26,26,26	; 112
	dt	26,26,26,26,26,26,26,26	; 104
	dt	26,26,26,26,26,26,26,26	; 96
	dt	26,26,26,26,26,26,26,26	; 88
	dt	26,24,21,19,17,15,13,11	; 80
	dt	7,4,2,2,1,1,1,1	; 72-65
	dt	0,0,0,0,0,0,0,0		; 64-57	
	dt	0,0,0,0,0,0,0,0		; 56-49
	dt	0,0,4,8,12,16,20,24	; 48-41	(hang indul)
	dt	28,31,31,30,30,29,29,28	; 40-33 
	dt	28,28,28,27,27,27,27,27	; 32-25 (freki csökken)
	dt	27,27,27,27,27,27,27,27	; 24-17
	dt	27,27,27,27,27,27,27,27	; 16-9
	dt	27,27,27,27,27,27,27,27	; 8-1
	dt	27,27,27,27,27,27,27,27	; soha
	
	
	

