(c)  Copyright 1989 Commodore-Amiga, Inc.   All rights reserved.
The information contained herein is subject to change without notice, and 
is provided "as is" without warranty of any kind, either expressed or implied.  
The entire risk as to the use of this information is assumed by the user.



                        Amiga Audio Cutoff Filter

                            by Dan Schein


This article is for those who are interested in switching the Amiga's main
audio cutoff filter, in and out (on and off).

When ON, the filter is about 3db at 7kHz, and drops off reasonably fast.
With the filter OFF, cutoff starts at around 15kHz - beyond the normal 
audio resolution (maximum resolution = 1/2 maximum sampling rate) - so the 
filter has no effect.

The advantage to turning the audio filter off is that it allows the Amiga 
to produce higher frequency sounds and allows higher frequency overtones.  
The disadvantage is that the 7kHz filter will not be cutting out the 
aliasing noise - the phantom high frequency sounds that are a side effect 
of the sampling process.

Switching the audio filter off is quite easy on the A500 and 2-layer A2000 
machines because the audio filter is controlled by the power LED.  To turn 
the audio filter off on these systems, just turn the power LED off.  Example 
code is listed below. 

It is more difficult to switch off the audio filter on the A1000 or 4-layer
A2000 because the audio filter is not connected to the power LED.  
The A1000 can be modified to allow hardware, not software, switching of the 
audio filter.  See the diagram shown below.

To determine whether your machine is a 2-layer or 4-layer A2000, simply look 
at the RCA jacks on the rear of the unit.  The 2-layer A2000 will have three 
jacks (video, R. audio and L. audio).  The 4-layer A2000 has only the 2 audio
jacks (R. audio and L. audio).



Here is the 'C' code example showing the proper way to turn the main audio
cutoff filter on and off:

/* Toggle the A500 & B2000 sound filter on/off */
/* 10-JAN-88  Dan Schein - Commodore    (CATS) */

#include <exec/types.h>
#include <stdio.h>
#include <hardware/cia.h>
#include <hardware/custom.h>
#include <hardware/intbits.h>

extern struct CIA ciaa;

UBYTE oldbits;

void main(), SetFilter(), RestoreFilter();

void main()
{
    SetFilter();                   /* Turn filter OFF                 */

    Delay(45);                     /* Do your thing here.........     */

    RestoreFilter();               /* Restore filter to original      */
}

void SetFilter()
{
    Disable();                     /* Let me alone!                   */
    oldbits = ciaa.ciapra;         /* Get the current state of filter */
    ciaa.ciapra |= CIAF_LED;       /* Force the filter off            */
    Enable();                      /* All done :-)                    */
}

void RestoreFilter()
{
    Disable();                     /* Let me alone!                   */
    if (!(oldbits & CIAF_LED))     /* Check to see if filter was on   */
    {                              /* Filter was on - turn it back on */
        ciaa.ciapra &= (~ CIAF_LED);
    }
                                   /* Filter was off - leave it off   */
    Enable();                      /* All done :-)                    */
}






Hardware Modification for the A1000

 
NOTE:
      The following modification voids your warranty, and should be done only
by qualified personnel. Commodore-Amiga gives no warranties with respect to
this procedure, and it is done at your own risk. Always make sure that your
Amiga is turned off before switching the audio filter in or out.




Rear                                 Silver   Red
                                        | \   / |                               
                                    ___| | | | | |___
                                       | | | | | |
                                            | 
                                         Brown
            8084                        
          +------+                      
  +-------|8     |-                --[=====]--     --[=====]--
  |      -|      |-                --[=====]--     --[=====]--
  |      -|      |-                --[=====]--     --[=====]--
  |      -|      |-                --[=====]--     --[=====]--
  |      -|     3|----+     +--------[=====]--     --[=====]--
  |      -|      |-   |     |      --[=====]--     --[=====]--
  |  +----|14    |-   |     |      --[=====]--     --[=====]--
  |  |    +------+    |     |      --[=====]--     --[=====]--
  |  |                |     |      --[=====]--     --[=====]--
  |  |                |     |      --[=====]--     --[=====]--
  |  |                |     |
  |  |                |     |
  |  |                |     |
  |  |       /        |     |
  |  +-----o/   o-----+     |
  |          /              |
  +--------o/   o-----------+



Front


The 8084 chip is located under the Kickstart daughter board
in the far rear, left corner behind the support post.
