mirror of
https://github.com/alsa-project/alsa-tools.git
synced 2025-10-29 05:40:25 -04:00
110 lines
No EOL
2.1 KiB
NASM
110 lines
No EOL
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 |