source: buchla-68k/alcyon/puteq.s@ 73dd55f

Last change on this file since 73dd55f was 7bf3856, checked in by Thomas Lopatic <thomas@…>, 7 years ago

Added Alcyon C reference output.

  • Property mode set to 100644
File size: 2.4 KB
Line 
1.globl _io_time
2.globl _io_lcd
3.globl _io_ser
4.globl _io_midi
5.globl _io_disk
6.globl _io_tone
7.globl _io_leds
8.globl _io_kbrd
9.globl _lcd_a0
10.globl _lcd_a1
11.globl _io_vreg
12.globl _io_vraw
13.globl _io_vram
14.globl _io_fpu
15.globl _v_regs
16.globl _v_odtab
17.globl _v_actab
18.globl _v_ct0
19.globl _v_gt1
20.globl _v_score
21.globl _v_cgtab
22.globl _v_curs0
23.globl _v_curs1
24.globl _v_curs2
25.globl _v_curs3
26.globl _v_curs4
27.globl _v_curs5
28.globl _v_curs6
29.globl _v_curs7
30.globl _v_tcur
31.globl _v_kbobj
32.globl _v_lnobj
33.globl _v_win0
34.globl _v_cur
35.globl _fc_sw
36.globl _fc_val
37.globl _eqgaint
38.data
39_eqgaint:
40.dc.b $0
41.dc.b $20
42.dc.b $10
43.dc.b $8
44.dc.b $4
45.dc.b $2
46.dc.b $12
47.dc.b $2A
48.dc.b $16
49.dc.b $1
50.dc.b $29
51.dc.b $2D
52.dc.b $2F
53.even
54.globl _puteq
55.text
56_puteq:
57~~puteq:
58~byte=R7
59link R14,#0
60movem.l R4-R7/R13-R13,-(sp)
61~i=R6
62~psg=R13
63~eqdata=R5
64*line 81
65move.b 9(R14),R7
66*line 81
67move.l #_io_tone,R13
68*line 83
69move.b #7,(R13)
70*line 84
71move.b #191,2(R13)
72*line 86
73move.b #15,(R13)
74*line 87
75move.b (R13),R5
76and.b #-29,R5
77or.b #20,R5
78*line 89
79clr R6
80bra L4
81L5:
82*line 90
83*line 91
84*line 92
85btst #0,R7
86beq L6
87*line 92
88or.b #8,R5
89*line 93
90bra L7
91L6:
92*line 94
93and.b #-9,R5
94L7:
95*line 95
96*line 96
97and.b #-17,R5
98*line 97
99*line 98
100move.b #15,(R13)
101*line 99
102move.b R5,2(R13)
103*line 100
104*line 101
105or.b #16,R5
106*line 102
107*line 103
108move.b #15,(R13)
109*line 104
110move.b R5,2(R13)
111*line 105
112*line 106
113asr.b #1,R7
114L3:
115*line 89
116add #1,R6
117L4:
118*line 89
119cmp #8,R6
120blt L5
121L2:
122*line 109
123and.b #-5,R5
124*line 111
125move.b #15,(R13)
126*line 112
127move.b R5,2(R13)
128*line 114
129or.b #4,R5
130*line 116
131move.b #15,(R13)
132*line 117
133move.b R5,2(R13)
134L1:tst.l (sp)+
135movem.l (sp)+,R5-R7/R13-R13
136unlk R14
137rts
138.globl _sendeq
139.text
140_sendeq:
141~~sendeq:
142~band=9
143~gain=11
144link R14,#-4
145*line 126
146move.b 9(R14),R0
147ext.w R0
148move R0,(sp)
149jsr _puteq
150*line 127
151move.b 11(R14),R0
152ext.w R0
153move R0,(sp)
154jsr _puteq
155L8:unlk R14
156rts
157.globl _gain2eq
158.text
159_gain2eq:
160~~gain2eq:
161~gain=8
162link R14,#0
163movem.l R6-R7,-(sp)
164~eqdat=R7
165*line 136
166*line 137
167tst 8(R14)
168ble L10
169*line 137
170move.l #_eqgaint,R8
171move 8(R14),R9
172add.l R9,R8
173move.b (R8),R7
174or.b #64,R7
175*line 138
176bra L11
177L10:
178*line 139
179move 8(R14),R0
180neg R0
181ext.l R0
182add.l #_eqgaint,R0
183move.l R0,R8
184move.b (R8),R7
185L11:
186*line 141
187move.b R7,R0
188ext.w R0
189bra L9
190L9:tst.l (sp)+
191movem.l (sp)+,R7-R7
192unlk R14
193rts
194.data
Note: See TracBrowser for help on using the repository browser.