Motorola DSP56000 Assembler Version 3.1 91-04-16 14:39:25 dge.asm Page 1 1 page 132 2 3 ;****************************************************** 4 ;****************************************************** 5 ;* * 6 ;* DUAL 10-BAND IIR BAND- * 7 ;* PASS FILTER GRAPHIC EQUALIZER * 8 ;* * 9 ;****************************************************** 10 ;****************************************************** 11 ; 12 ;************************************************************************** 13 ; This program was originally available on the Motorola DSP bulletin board 14 ; and is provided under a DISCLAIMER OF WARRANTY available from Motorola 15 ; DSP Operation, 6501 William Cannon Dr. W Austin, Texas 78735-8598. 16 ;************************************************************************** 17 ;-------------------------------------------------------------------------- 18 ;******************************** 19 ;* SSI and other I/O EQUATES * 20 ;******************************** 21 22 000040 START EQU $0040 23 00FFFF M_IPR EQU $FFFF 24 00FFFE M_BCR EQU $FFFE 25 00FFEC M_CRA EQU $FFEC 26 00FFED M_CRB EQU $FFED 27 00FFE1 M_PCC EQU $FFE1 28 00FFEE M_SR EQU $FFEE 29 00FFEF M_TX EQU $FFEF 30 00FFEF M_RX EQU $FFEF 31 32 33 ;******************************** 34 ;* RESET VECTOR * 35 ;******************************** 36 37 P:0000 ORG P:$0000 38 P:0000 0C0040 JMP START 39 40 41 ;******************************** 42 ;* SSI RCV INTERRUPT VECTOR * 43 ;******************************** 44 45 P:000C ORG P:$000C 46 P:000C 0BF080 JSR LRTEST 0000F0 47 P:000E ORG P:$000E 48 P:000E 0BF080 JSR LRTEST 0000F0 49 50 51 52 ;******************************** 53 ;* MAIN PROGRAM * 54 ;******************************** 55 56 P:0040 ORG P:START 57 58 ;------------------- 59 ; Mask Interrupts 60 ;------------------- Motorola DSP56000 Assembler Version 3.1 91-04-16 14:39:25 dge.asm Page 2 61 P:0040 0003F8 ORI #$03,MR 62 63 ;----------------------- 64 ; Initialize SSI Port 65 ;----------------------- 66 P:0041 08F4BE MOVEP #$3300,X:M_BCR ;3 wait states for ADC and MUX. 003300 67 P:0043 08F4BF MOVEP #$3000,X:M_IPR ;SSI RCV INT priority level. 003000 68 P:0045 08F4AC MOVEP #$6000,X:M_CRA ;Set SSI word length = 24. 006000 69 P:0047 08F4AD MOVEP #$3200,X:M_CRB ;Set SSI to synchronous, 003200 70 ;and enable RE and TE. 71 P:0049 08F4A1 MOVEP #$01FF,X:M_PCC ;Turn on SSI Port. 0001FF 72 73 ;----------------------------------------------- 74 ; Move constants from P:mem to X:mem and Y:mem 75 ;----------------------------------------------- 76 77 P:004B 62F400 MOVE #$18D,R2 ;** Filter Coefficients. 00018D 78 P:004D 332000 MOVE #$20,R3 79 ;Table located at X:$20. 80 P:004E 061E80 DO #30,COLOOP ;Length of table = 30. 000051 81 P:0050 07DA84 MOVE P:(R2)+,X0 ;Order is ... beta, alpha, 82 P:0051 445B00 MOVE X0,X:(R3)+ ;gamma for each band. 83 COLOOP 84 85 P:0052 62F400 MOVE #$1AB,R2 ;** Filter Gain Look-up. 0001AB 86 P:0054 334000 MOVE #$40,R3 87 ;Table located at X:$40. 88 P:0055 062080 DO #32,FGLOOP ;Length of table = 32 (5 bits). 000058 89 P:0057 07DA84 MOVE P:(R2)+,X0 ;Minimum value is -.2, maximum 90 P:0058 445B00 MOVE X0,X:(R3)+ ;value is 0.999, center value is 0. 91 FGLOOP 92 93 P:0059 62F400 MOVE #$1CB,R2 ;** Volume Gain Look-up. 0001CB 94 P:005B 336000 MOVE #$60,R3 95 ;Table located at X:$60. 96 P:005C 062080 DO #32,VGLOOP ;Length of table = 32 (5 bits). 00005F 97 P:005E 07DA84 MOVE P:(R2)+,X0 ;Minimum value is 0, maximum 98 P:005F 445B00 MOVE X0,X:(R3)+ ;value is 0.9999. 99 VGLOOP 100 101 P:0060 62F400 MOVE #$1EB,R2 ;** Mux Sel Address. 0001EB 102 P:0062 330000 MOVE #0,R3 103 ;Table located at Y:$00. 104 P:0063 061580 DO #21,MSLOOP ;Length of table = 21. 000066 105 P:0065 07DA84 MOVE P:(R2)+,X0 ;These are the MUX select addresses 106 P:0066 4C5B00 MOVE X0,Y:(R3)+ ;for each of the 21 slide pots. 107 MSLOOP 108 109 Motorola DSP56000 Assembler Version 3.1 91-04-16 14:39:25 dge.asm Page 3 110 ;------------------------- 111 ; Set runtime variables 112 ;------------------------- 113 P:0067 242000 MOVE #$200000,X0 ;Constants used for data scaling. 114 P:0068 447000 MOVE X0,X:>$1D 00001D 115 P:006A 44F400 MOVE #>$80,X0 000080 116 P:006C 447000 MOVE X0,X:>$1E 00001E 117 118 119 ;------------------------------------ 120 ; Clear x(n) and y(n) table arrays 121 ;------------------------------------ 122 P:006E 200013 CLR A ;Clear Y:$20 to Y:$BF. 123 P:006F 322000 MOVE #$20,R2 124 ;This area is used for runtime 125 P:0070 06A080 DO #$A0,XYNCLR ;tables, x(n) and y(n). 000072 126 P:0072 5E5A00 MOVE A,Y:(R2)+ ;X:$20..$22 - x(n) left chan. 127 XYNCLR ;X:$40..$42 - y(n) left chan. 31 Hz. 128 ;X:$44..$46 - y(n) left chan. 62 Hz. 129 ; .... 130 ;X:$60..$62 - y(n) left chan. 16 kHz. 131 132 ;X:$30..$32 - x(n) right chan. 133 ;X:$80..$82 - y(n) right chan. 31 Hz. 134 ;X:$84..$86 - y(n) right chan. 62 Hz. 135 ; .... 136 ;X:$A0..$A2 - y(n) right chan. 16 kHz. 137 138 139 ;------------------------------- 140 ; Clear g(n) and SP(n) arrays 141 ;------------------------------- 142 P:0073 200013 CLR A ;Clear X:$00 to X:$14. 143 P:0074 320000 MOVE #0,R2 ;This is gain array which contains 144 ;fractional gain value from look-up 145 P:0075 061580 DO #21,GNCLR ;table used to scale filtered band. 000077 146 P:0077 565A00 MOVE A,X:(R2)+ 147 GNCLR 148 P:0078 328000 MOVE #$80,R2 ;Clear X:$80 to X:$94. 149 ;This is 8-bit value read from 150 P:0079 061580 DO #21,SWNCLR ;ADC slide pots. This value when 00007B 151 P:007B 565A00 MOVE A,X:(R2)+ ;reduced to 5 bits is used as an 152 SWNCLR ;index into gain lookup table at 153 ;X:$40. The value from lookup table 154 ;is a 24-bit fraction which is stored 155 ;at X:$00..$X:$14. 156 157 158 ;-------------------------------------------------- 159 ; Setup Register Defaults for Interrupt Routines 160 ;-------------------------------------------------- 161 162 P:007C 344000 MOVE #$40,R4 ;** Yi(n):L-ch 163 P:007D 3C0400 MOVE #4,N4 164 P:007E 368000 MOVE #$80,R6 ;** Yi(n):R-ch 165 P:007F 3E0400 MOVE #4,N6 Motorola DSP56000 Assembler Version 3.1 91-04-16 14:39:25 dge.asm Page 4 166 P:0080 352000 MOVE #$20,R5 ;** X(n):L-ch 167 P:0081 0502A5 MOVE #2,M5 168 P:0082 373000 MOVE #$30,R7 ;** X(n):R-ch 169 P:0083 0502A7 MOVE #2,M7 170 171 P:0084 302000 MOVE #$20,R0 ;** IIR Coeff 172 P:0085 051DA0 MOVE #29,M0 173 P:0086 330000 MOVE #0,R3 ;** Gain Coeff 174 P:0087 0514A3 MOVE #20,M3 175 P:0088 3B8000 MOVE #$80,N3 176 177 178 ;----------------------- 179 ; Init SSI Interrupt 180 ;----------------------- 181 P:0089 08F4AD MOVEP #$B200,X:M_CRB ;Enable SSI (RIE) interrupt. 00B200 182 P:008B 00FCB8 ANDI #$FC,MR ;Unmask all interrupts. 183 184 185 ;----------------------------------- 186 ; Main Loop to Monitor Slide Pots 187 ;----------------------------------- 188 189 P:008C 324000 LOOP1 MOVE #$40,R2 ;R2 points to gain lookup table. 190 191 P:008D 061580 DO #21,BPCHAN ;Scan all 21 pots. 0000AE 192 P:008F 4FE300 MOVE Y:(R3),Y1 ;MUX select address of pot. 193 194 P:0090 4F7000 MOVE Y1,Y:$8000 ;Select MUX channel. 008000 195 P:0092 06C880 DO #200,ADC_RD1 ;Wait for analog MUX to stabilize. 000094 196 P:0094 000000 NOP 197 ADC_RD1 198 199 P:0095 5FF000 MOVE Y:$1000,B ;WR strobe to ADC (starts data 001000 200 P:0097 000000 NOP ;conversion). 201 P:0098 000000 NOP ;Note: A15 tied to WR of ADC. 202 P:0099 5FF000 MOVE Y:$8000,B 008000 203 P:009B 06F481 DO #500,ADC_RD2 ;Wait for conversion ADC conversion. 00009D 204 P:009D 000000 NOP 205 ADC_RD2 206 207 P:009E 20001B CLR B 208 P:009F 5FF000 MOVE Y:$8000,B ;Read slide pot data from ADC. 008000 209 210 P:00A1 45F400 MOVE #>$FF,X1 ;Mask off upper 16 bits. 0000FF 211 P:00A3 20006E AND X1,B 212 P:00A4 21A500 MOVE B1,X1 ;X1 now contains 8-bit pot value. 213 214 P:00A5 47EB00 MOVE X:(R3+N3),Y1 ;Previous pot value. 215 P:00A6 20007C SUB Y1,B 216 P:00A7 20002E ABS B ;If absolute value of difference 217 P:00A8 47F400 MOVE #>9,Y1 ;is less than 9, then skip. 000009 Motorola DSP56000 Assembler Version 3.1 91-04-16 14:39:25 dge.asm Page 5 218 219 P:00AA 20007D CMP Y1,B ;Note: 9 is rather arbitrary. 220 P:00AB 0AF0AB JMI SKIP 0000AE 221 222 P:00AD 456B00 MOVE X1,X:(R3+N3) ;If greater than 9, than update 223 P:00AE 205B00 SKIP MOVE (R3)+ ;X:($80+pot_index). 224 BPCHAN ;This comparsion eliminates jitter 225 P:00AF 000000 NOP ;about a point. 226 ;End of 21 pot scan. 227 228 229 P:00B0 061480 DO #20,BPCHAN2 ;For all pots except volume control. 0000CF 230 231 P:00B2 45EB00 MOVE X:(R3+N3),X1 ;Load X1 with slide pot value. 232 P:00B3 20AF00 MOVE X1,B 233 234 P:00B4 20002A ASR B ;Reduce to 5-bit value for gain 235 P:00B5 20002A ASR B ;table lookup. 236 P:00B6 20002A ASR B 237 238 P:00B7 21BA00 MOVE B1,N2 239 P:00B8 000000 NOP 240 P:00B9 45EA00 MOVE X:(R2+N2),X1 ;Load X1 with fractional value 241 ;from table lookup. 242 P:00BA 57E300 MOVE X:(R3),B ;Compare gain fraction to previous 243 P:00BB 20006D CMP X1,B ;value in X:(R3). 244 P:00BC 0AF0AA JEQ NOCHNG ;Skip if no change. 0000CE 245 P:00BE 0AF0A7 JGT NSLOPE ;If new value is greater than 0000C8 246 ;previous value, go to negative 247 ;slope routine. 248 249 P:00C0 47F400 PSLOPE MOVE #0.0001,Y1 ;Positive slope routine. 000347 250 P:00C2 200078 PRAMP ADD Y1,B ;Increment previous gain value 251 P:00C3 576300 MOVE B,X:(R3) ;by 0.0001 towards latest value 252 ;read from slide pot. 253 P:00C4 20006D CMP X1,B ;Continue updating this value 254 P:00C5 0E90C2 JLT PRAMP ;until previous value exceeds 255 ;new value. 256 P:00C6 0AF080 JMP NOCHNG ;Exit positive slope routine. 0000CE 257 ;Note: In the course of this loop, 258 ;the SSI interrupt will occur many 259 ;times, so that the band-pass 260 ;filter response gain will be ramped 261 ;smoothly to its new value. Thus, 262 ;clicking noises generated from a 263 ;coarse 5-bit gain table will be 264 ;eliminated. 265 266 P:00C8 47F400 NSLOPE MOVE #-0.0001,Y1 ;Negative slope routine. FFFCB9 267 P:00CA 200078 NRAMP ADD Y1,B ;Same as above but negative ramp 268 P:00CB 576300 MOVE B,X:(R3) ;to new gain value. 269 P:00CC 20006D CMP X1,B 270 P:00CD 0E70CA JGT NRAMP 271 272 P:00CE 456300 NOCHNG MOVE X1,X:(R3) ;Update gain table with latest value Motorola DSP56000 Assembler Version 3.1 91-04-16 14:39:25 dge.asm Page 6 273 P:00CF 205B00 MOVE (R3)+ ;read from slide pot. 274 BPCHAN2 275 ;Continue for the all 20 of the 276 ;band-pass slide pots. 277 278 P:00D0 326000 VOLUME MOVE #$60,R2 ;Pot 21 (volume) is treated 279 P:00D1 57F000 MOVE X:$94,B ;seperately since it uses a different 000094 280 P:00D3 20002A ASR B ;gain lookup table. 281 P:00D4 20002A ASR B ;Reduce 8-bit value from ADC volume 282 P:00D5 20002A ASR B ;slide pot to 5-bits. 283 284 P:00D6 21BA00 MOVE B1,N2 ;Use this value for index into 285 P:00D7 000000 NOP ;lookup table. 286 P:00D8 45EA00 MOVE X:(R2+N2),X1 ;X1 now contains volume gain 287 ;fraction. 288 P:00D9 5F9E00 MOVE Y:$1E,B ;Y:$1E is previous value of volume 289 P:00DA 20006D CMP X1,B ;gain. 290 P:00DB 0AF0AA JEQ NOCHNG2 ;If it has not changed, jump. 0000ED 291 P:00DD 0AF0A7 JGT NSLOPE2 ;If it is different, decide whether 0000E7 292 ;to ramp negative or positive. 293 P:00DF 47F400 PSLOPE2 MOVE #0.00005,Y1 ;Positive slope routine for volume. 0001A3 294 P:00E1 200078 PRAMP2 ADD Y1,B ;Increment previous value by 0.00005 295 P:00E2 5F1E00 MOVE B,Y:$1E ;towards new value until it has 296 P:00E3 20006D CMP X1,B ;passed new value. Then exit loop. 297 P:00E4 0E90E1 JLT PRAMP2 ;Note: As before, this loop will be 298 ;interrupted many times by the SSI 299 ;receive flag full. The volume gain 300 ;stored at Y:$1E will ramp smoothly 301 ;towards its new value. 302 P:00E5 0AF080 JMP NOCHNG2 0000ED 303 304 P:00E7 47F400 NSLOPE2 MOVE #-0.00005,Y1 ;Negative slope routine for volume. FFFE5D 305 P:00E9 200078 NRAMP2 ADD Y1,B ;Same as before, but ramps in the 306 P:00EA 5F1E00 MOVE B,Y:$1E ;opposite direction. 307 P:00EB 20006D CMP X1,B 308 P:00EC 0E70E9 JGT NRAMP2 309 310 311 P:00ED 4D1E00 NOCHNG2 MOVE X1,Y:$1E ;Update volume gain value with 312 P:00EE 205B00 MOVE (R3)+ ;newest value read from slide pot. 313 314 P:00EF 0C008C JMP LOOP1 ;Do everything all over again... 315 ;continuing slide pot scan loop. 316 317 318 ;******************************** 319 ; MAIN INTERRUPT ROUTINE * 320 ;******************************** 321 322 P:00F0 0AAEA0 LRTEST JSET #0,X:M_SR,RIGHT ;Check SC0 (LRCLK from CDP) to 000113 323 ;determine which channel to process. 324 325 ;******************************** 326 ; LEFT CHANNEL SERVICE * 327 ;******************************** Motorola DSP56000 Assembler Version 3.1 91-04-16 14:39:25 dge.asm Page 7 328 329 ;Save registers 330 331 P:00F2 491F00 LEFT MOVE B,L:$1F ;Save register B. 332 333 ;Recieve data 334 P:00F3 084F2F MOVEP X:M_RX,B ;Read SSI data. 335 336 P:00F4 21E600 MOVE B,Y0 ;Copy SSI data to Y0. 337 P:00F5 0502A4 MOVE #2,M4 ;Set y(n) modulo for 3 words. 338 P:00F6 310A00 MOVE #10,R1 ;Set R1 index to filter gain values 339 ;for the left channel. 340 341 P:00F7 449E13 CLR A X:$1E,X0 ;X:$1E = $000080 342 P:00F8 205CD8 MPY X0,Y0,B (R4)+ ;Scale input data 343 P:00F9 596500 MOVE B0,Y:(R5) ;by 2^16. 344 P:00FA 0008F8 ORI #$08,MR ;Set scale mode to 345 ;scale up (left 346 ;shift) when data is 347 ;moved from B to X0. 348 ;---------------------- 349 ; All 10 Filters ... 350 ;---------------------- 351 P:00FB 060A80 DO #10,LFBAND ;For all 10 bands of 000103 352 ;left channel. 353 P:00FD F0981B CLR B X:(R0)+,X0 Y:(R4)+,Y0 ;X0=beta;Y0=y(n-2). 354 P:00FE F0B8DE MAC -X0,Y0,B X:(R0)+,X0 Y:(R5)+,Y0 ;X0=alpha;Y0=x(n). 355 P:00FF 4ED5DA MAC X0,Y0,B Y:(R5)-,Y0 ;X0=alpha;Y0=x(n-2). 356 P:0100 F098DE MAC -X0,Y0,B X:(R0)+,X0 Y:(R4)+,Y0 ;X0=gamma;Y0=y(n-1). 357 P:0101 46D9DB MACR X0,Y0,B X:(R1)+,Y0 ;Y0=gain for scaling. 358 P:0102 1B5C00 MOVE B,X0 B,Y:(R4)+ ;X0=filter reponse. 359 P:0103 204CD2 MAC X0,Y0,A (R4)+N4 ;A=scaled response. 360 LFBAND ;Continue for all 361 ;10 left chan bands. 362 363 P:0104 00F7B8 ANDI #$F7,MR ;Turn off scale mode. 364 P:0105 052BA4 MOVE #43,M4 ;Set Yi(n) modulo to wrap around to 365 ;start of entire y(n) buffer. 366 ;------------------ 367 ; Volume Scaling 368 ;------------------ 369 P:0106 449D00 MOVE X:$1D,X0 ;X:$1D=$200000. 370 P:0107 4EDD00 MOVE Y:(R5)+,Y0 ;Y0=x(n). 371 P:0108 4E9ED2 MAC X0,Y0,A Y:$1E,Y0 ;scale x(n) down 372 P:0109 21C400 MOVE A,X0 ;by 2^-2. Add this 373 ;in to the total 374 ;filter response. 375 P:010A 2000D8 MPY X0,Y0,B ;Y0=volume gain. 376 ;Scale total left 377 ;data by volume. 378 P:010B 204C3A ASL B (R4)+N4 379 P:010C 20003A ASL B ;Scale result by 380 ;2^2. 381 P:010D 18F400 MOVE B,X0 #>$8000,Y0 ;Now, move B to X0 008000 382 P:010F 2000D8 MPY X0,Y0,B ;to force limiting. 383 ;Scale result down 384 ;---------------------------- ;by 2^-8. 385 ; Output Data to CD Player 386 ;---------------------------- 387 Motorola DSP56000 Assembler Version 3.1 91-04-16 14:39:25 dge.asm Page 8 388 P:0110 08CF2F LXMIT MOVEP B,X:M_TX ;Write result to SSI. 389 390 P:0111 499F00 MOVE L:$1F,B ;Retrieve B register and return. 391 P:0112 000004 RTI 392 393 394 ;******************************** 395 ; RIGHT CHANNEL SERVICE * 396 ;******************************** 397 398 P:0113 491F00 RIGHT MOVE B,L:$1F ;Right channel process 399 ;identical to Left channel, 400 P:0114 084F2F MOVEP X:M_RX,B ;except right channel index 401 P:0115 21E600 MOVE B,Y0 ;registers (R6 and R7), and 402 P:0116 0502A6 MOVE #2,M6 ;first 10 gain table values 403 P:0117 310000 MOVE #0,R1 ;are used instead. 404 405 P:0118 449E13 CLR A X:$1E,X0 406 P:0119 205ED8 MPY X0,Y0,B (R6)+ 407 P:011A 596700 MOVE B0,Y:(R7) 408 P:011B 0008F8 ORI #$08,MR 409 410 ;---------------------- 411 ; All 10 Filters ... 412 ;---------------------- 413 P:011C 060A80 DO #10,RFBAND 000124 414 P:011E F0D81B CLR B X:(R0)+,X0 Y:(R6)+,Y0 415 P:011F F0F8DE MAC -X0,Y0,B X:(R0)+,X0 Y:(R7)+,Y0 416 P:0120 4ED7DA MAC X0,Y0,B Y:(R7)-,Y0 417 P:0121 F0D8DE MAC -X0,Y0,B X:(R0)+,X0 Y:(R6)+,Y0 418 P:0122 46D9DB MACR X0,Y0,B X:(R1)+,Y0 419 P:0123 1B5E00 MOVE B,X0 B,Y:(R6)+ 420 P:0124 204ED2 MAC X0,Y0,A (R6)+N6 421 RFBAND 422 423 P:0125 00F7B8 ANDI #$F7,MR 424 P:0126 052BA6 MOVE #43,M6 425 426 ;------------------ 427 ; Volume Scaling 428 ;------------------ 429 P:0127 449D00 MOVE X:$1D,X0 430 P:0128 4EDF00 MOVE Y:(R7)+,Y0 431 P:0129 4E9ED2 MAC X0,Y0,A Y:$1E,Y0 432 P:012A 21C400 MOVE A,X0 433 P:012B 2000D8 MPY X0,Y0,B 434 435 P:012C 204E3A ASL B (R6)+N6 436 P:012D 20003A ASL B 437 438 P:012E 18F400 MOVE B,X0 #>$8000,Y0 008000 439 P:0130 2000D8 MPY X0,Y0,B 440 441 ;---------------------------- 442 ; Output Data to CD Player 443 ;---------------------------- 444 445 P:0131 08CF2F RXMIT MOVEP B,X:M_TX 446 447 P:0132 499F00 MOVE L:$1F,B Motorola DSP56000 Assembler Version 3.1 91-04-16 14:39:25 dge.asm Page 9 448 P:0133 000004 RTI 449 450 451 ;******************************** 452 ;* DATA VARIABLES and CONSTANTS * 453 ;******************************** 454 455 P:018D ORG P:$18D 456 457 ;-------------------- 458 ; IIR Coefficients 459 ;-------------------- 460 461 ; 31 Hz 462 P:018D DC .4984587 ;beta 463 P:018E DC .0007706594 ;alpha 464 P:018F DC .9984491 ;gamma 465 ; 62 Hz 466 P:0190 DC .496876 467 P:0191 DC .001562013 468 P:0192 DC .9968368 469 ; 125 Hz 470 P:0193 DC .4937405 471 P:0194 DC .003129769 472 P:0195 DC .9935817 473 ; 250 Hz 474 P:0196 DC .4876357 475 P:0197 DC .006182143 476 P:0198 DC .9870087 477 ; 500 Hz 478 P:0199 DC .4757282 479 P:019A DC .01213592 480 P:019B DC .9732514 481 ; 1000 Hz 482 P:019C DC .4531951 483 P:019D DC .02340247 484 P:019E DC .9435273 485 ; 2000 Hz 486 P:019F DC .4128511 487 P:01A0 DC .04357446 488 P:01A1 DC .8760584 489 ; 4000 Hz 490 P:01A2 DC .3474929 491 P:01A3 DC .07625358 492 P:01A4 DC .7136286 493 ; 8000 Hz 494 P:01A5 DC .2601072 495 P:01A6 DC .1199464 496 P:01A7 DC .3176087 497 ; 16000 Hz 498 P:01A8 DC .180994 499 P:01A9 DC .159503 500 P:01AA DC -.4435172 501 502 503 ;-------------------------------- 504 ; Filter Gain (G) Coefficients 505 ;-------------------------------- 506 507 P:01AB DC -0.200 508 P:01AC DC -0.187 509 P:01AD DC -0.171 Motorola DSP56000 Assembler Version 3.1 91-04-16 14:39:25 dge.asm Page 10 510 P:01AE DC -0.160 511 P:01AF DC -0.150 512 P:01B0 DC -0.137 513 P:01B1 DC -0.114 514 P:01B2 DC -0.103 515 516 P:01B3 DC -0.092 517 P:01B4 DC -0.080 518 P:01B5 DC -0.067 519 P:01B6 DC -0.051 520 P:01B7 DC -0.039 521 P:01B8 DC -0.027 522 P:01B9 DC -0.015 523 P:01BA DC 0.000 524 525 P:01BB DC 0.000 526 P:01BC DC 0.030 527 P:01BD DC 0.060 528 P:01BE DC 0.090 529 P:01BF DC 0.120 530 P:01C0 DC 0.150 531 P:01C1 DC 0.180 532 P:01C2 DC 0.210 533 534 P:01C3 DC 0.250 535 P:01C4 DC 0.290 536 P:01C5 DC 0.340 537 P:01C6 DC 0.380 538 P:01C7 DC 0.460 539 P:01C8 DC 0.540 540 P:01C9 DC 0.750 541 P:01CA DC 0.999 542 543 ;-------------------------------- 544 ; Volume Gain (V) Coefficients 545 ;-------------------------------- 546 547 P:01CB DC 0.0000 548 P:01CC DC 0.0000 549 P:01CD DC 0.0002 550 P:01CE DC 0.0005 551 P:01CF DC 0.0010 552 P:01D0 DC 0.0030 553 P:01D1 DC 0.0100 554 P:01D2 DC 0.0150 555 556 P:01D3 DC 0.0200 557 P:01D4 DC 0.0300 558 P:01D5 DC 0.0400 559 P:01D6 DC 0.0600 560 P:01D7 DC 0.0800 561 P:01D8 DC 0.1000 562 P:01D9 DC 0.1200 563 P:01DA DC 0.1500 564 565 P:01DB DC 0.2000 566 P:01DC DC 0.2500 567 P:01DD DC 0.3000 568 P:01DE DC 0.3500 569 P:01DF DC 0.4000 570 P:01E0 DC 0.4500 571 P:01E1 DC 0.5000 Motorola DSP56000 Assembler Version 3.1 91-04-16 14:39:25 dge.asm Page 11 572 P:01E2 DC 0.6000 573 574 P:01E3 DC 0.7000 575 P:01E4 DC 0.8000 576 P:01E5 DC 0.9000 577 P:01E6 DC 0.9999 578 P:01E7 DC 0.9999 579 P:01E8 DC 0.9999 580 P:01E9 DC 0.9999 581 P:01EA DC 0.9999 582 583 584 ;--------------------- 585 ; Slide Pot Addresses 586 ;--------------------- 587 P:01EB DC $70 588 P:01EC DC $71 589 P:01ED DC $72 590 P:01EE DC $73 591 P:01EF DC $74 592 P:01F0 DC $75 593 P:01F1 DC $76 594 P:01F2 DC $77 595 P:01F3 DC $68 596 P:01F4 DC $69 597 P:01F5 DC $6A 598 P:01F6 DC $6B 599 P:01F7 DC $6C 600 P:01F8 DC $6D 601 P:01F9 DC $6E 602 P:01FA DC $6F 603 P:01FB DC $58 604 P:01FC DC $59 605 P:01FD DC $5A 606 P:01FE DC $5B 607 P:01FF DC $5C 608 609 END 0 Errors 0 Warnings