Originally Posted by Deunan Knute
Example (and based on this doc too): MASA is defined as bits [5:0] (just not where exactly) and aicadsp.c does this first "UINT32 MASA=(IPtr[6]>>9)&0x1f;" and then "ADDR=DSP->MADRS[MASA<<1];" later. That's [4:0] shifted to [5:1].

I'm glad you pointed this out, though, since this is an error. MASA should be:

- UINT32 MASA=(IPtr[6]>>9)&0x1f;
+ UINT32 MASA=(IPtr[6]>>9)&0x3f;

The AICA has 64 MADRS as opposed to the SCSP's 32.