mirror of
				https://github.com/alsa-project/alsa-tools.git
				synced 2025-11-03 09:01:51 -05:00 
			
		
		
		
	
		
			
	
	
		
			110 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			NASM
		
	
	
	
	
	
		
		
			
		
	
	
			110 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			NASM
		
	
	
	
	
	
| 
								 | 
							
								; stolen from alsa-driver
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									name "Tone - Bass, Treble"
							 | 
						||
| 
								 | 
							
									include "emu_constants.asm"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								inl	io
							 | 
						||
| 
								 | 
							
								toutl	equ inl
							 | 
						||
| 
								 | 
							
								inr	io
							 | 
						||
| 
								 | 
							
								toutr	equ inr
							 | 
						||
| 
								 | 
							
								inrl	io
							 | 
						||
| 
								 | 
							
								toutrl	equ inrl
							 | 
						||
| 
								 | 
							
								inrr	io
							 | 
						||
| 
								 | 
							
								toutrr	equ inrr
							 | 
						||
| 
								 | 
							
								inc	io
							 | 
						||
| 
								 | 
							
								toutc	equ inc
							 | 
						||
| 
								 | 
							
								inlfe	io
							 | 
						||
| 
								 | 
							
								toutlfe	equ inlfe
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								; Tone Control - Bass
							 | 
						||
| 
								 | 
							
								bass0	control 20, 0, 40
							 | 
						||
| 
								 | 
							
								bass1	control 20, 0, 40
							 | 
						||
| 
								 | 
							
								bass2	control 20, 0, 40
							 | 
						||
| 
								 | 
							
								bass3	control 20, 0, 40
							 | 
						||
| 
								 | 
							
								bass4	control 20, 0, 40
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								; Tone Control - Treble
							 | 
						||
| 
								 | 
							
								treble0	control 20, 0, 40
							 | 
						||
| 
								 | 
							
								treble1	control 20, 0, 40
							 | 
						||
| 
								 | 
							
								treble2	control 20, 0, 40
							 | 
						||
| 
								 | 
							
								treble3	control 20, 0, 40
							 | 
						||
| 
								 | 
							
								treble4	control 20, 0, 40
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								; Tone Control - Switch
							 | 
						||
| 
								 | 
							
								toneonoff	control 0, 0, 1
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								; temporary
							 | 
						||
| 
								 | 
							
								templb	sta 0, 0, 0, 0, 0
							 | 
						||
| 
								 | 
							
								templt	sta 0, 0, 0, 0, 0
							 | 
						||
| 
								 | 
							
								temprb	sta 0, 0, 0, 0, 0
							 | 
						||
| 
								 | 
							
								temprt	sta 0, 0, 0, 0, 0
							 | 
						||
| 
								 | 
							
								temprlb	sta 0, 0, 0, 0, 0
							 | 
						||
| 
								 | 
							
								temprlt	sta 0, 0, 0, 0, 0
							 | 
						||
| 
								 | 
							
								temprrb	sta 0, 0, 0, 0, 0
							 | 
						||
| 
								 | 
							
								temprrt	sta 0, 0, 0, 0, 0
							 | 
						||
| 
								 | 
							
								tempcb	sta 0, 0, 0, 0, 0
							 | 
						||
| 
								 | 
							
								tempct	sta 0, 0, 0, 0, 0
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								outl	dyn
							 | 
						||
| 
								 | 
							
								outr	dyn
							 | 
						||
| 
								 | 
							
								outrl	dyn
							 | 
						||
| 
								 | 
							
								outrr	dyn
							 | 
						||
| 
								 | 
							
								outc	dyn
							 | 
						||
| 
								 | 
							
								outlfe	dyn
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								tmp	sta 0, 0
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								BT	macro   tempb, tempt, chn
							 | 
						||
| 
								 | 
							
									macs C_0, C_0, chn, bass0
							 | 
						||
| 
								 | 
							
									macmv tempb+1, tempb, tempb+1, bass2
							 | 
						||
| 
								 | 
							
									macmv tempb, chn, tempb, bass1
							 | 
						||
| 
								 | 
							
									macmv tempb+3, tempb+2, tempb+3, bass4
							 | 
						||
| 
								 | 
							
									macs tempb+2, ACCUM, tempb+2, bass3
							 | 
						||
| 
								 | 
							
									acc3 tempb+2, tempb+2, tempb+2, C_0
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									macs C_0, C_0, tempb+2, treble0
							 | 
						||
| 
								 | 
							
									macmv tempt+1, tempt, tempt+1, treble2
							 | 
						||
| 
								 | 
							
									macmv tempt, tempb+2, tempt, treble1
							 | 
						||
| 
								 | 
							
									macmv tempt+3, tempt+2, tempt+3, treble4
							 | 
						||
| 
								 | 
							
									macs tempt+2, ACCUM, tempt+2, treble3
							 | 
						||
| 
								 | 
							
									macints tempt+2, C_0, tempt+ 2, C_16
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									acc3 chn, tempt+2, C_0, C_0
							 | 
						||
| 
								 | 
							
									endm
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								SONOFF	macro out, in
							 | 
						||
| 
								 | 
							
									macints tmp, C_0, out, toneonoff
							 | 
						||
| 
								 | 
							
									andxor tmp+1, toneonoff, C_1, C_1
							 | 
						||
| 
								 | 
							
									macints tmp+1, C_0, in, tmp+1
							 | 
						||
| 
								 | 
							
									acc3 out, tmp, tmp+1, C_0
							 | 
						||
| 
								 | 
							
									endm
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								;Process tone control
							 | 
						||
| 
								 | 
							
									macs outl, inl, C_0, C_0
							 | 
						||
| 
								 | 
							
									macs outr, inr, C_0, C_0
							 | 
						||
| 
								 | 
							
									macs outrl, inrl, C_0, C_0
							 | 
						||
| 
								 | 
							
									macs outrr, inrr, C_0, C_0
							 | 
						||
| 
								 | 
							
									macs outc, inc, C_0, C_0
							 | 
						||
| 
								 | 
							
									macs outlfe, inlfe, C_0, C_0
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									BT templb, templt, outl
							 | 
						||
| 
								 | 
							
									BT temprb, temprt, outr
							 | 
						||
| 
								 | 
							
									BT temprlb, temprlt, outrl
							 | 
						||
| 
								 | 
							
									BT temprrb, temprrt, outrr
							 | 
						||
| 
								 | 
							
									BT tempcb, tempct, outc
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									SONOFF outl, inl
							 | 
						||
| 
								 | 
							
									SONOFF outr, inr
							 | 
						||
| 
								 | 
							
									SONOFF outrl, inrl
							 | 
						||
| 
								 | 
							
									SONOFF outrr, inrr
							 | 
						||
| 
								 | 
							
									SONOFF outc, inc
							 | 
						||
| 
								 | 
							
									SONOFF outlfe, inlfe
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									macs toutl, outl, C_0, C_0
							 | 
						||
| 
								 | 
							
									macs toutr, outr, C_0, C_0
							 | 
						||
| 
								 | 
							
									macs toutrl, outrl, C_0, C_0
							 | 
						||
| 
								 | 
							
									macs toutrr, outrr, C_0, C_0
							 | 
						||
| 
								 | 
							
									macs toutc, outc, C_0, C_0
							 | 
						||
| 
								 | 
							
									macs toutlfe, outlfe, C_0, C_0
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									end
							 |