Previous Thread
Next Thread
Print Thread
Page 25 of 55 1 2 23 24 25 26 27 54 55
Joined: Mar 2001
Posts: 16,751
Likes: 29
R
Very Senior Member
OP Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,751
Likes: 29
In sound artist terms, wind = cymbal (white noise) + filter. That was one of the last things to be solved emulating the SNES SPC-700.

The DSP details are all in the big AICA document. We actually used the AICA documentation to work out the SCSP's DSP (which is now reference-quality).

Joined: Feb 2008
Posts: 107
D
Senior Member
Offline
Senior Member
D
Joined: Feb 2008
Posts: 107
EVA_6 sound is more like pair of maracas if you ask me, but I had to apply KS last patch manually and I might have borked it.

As for "big AICA document" - any chance I could get my hands on it?

Joined: Mar 2001
Posts: 16,751
Likes: 29
R
Very Senior Member
OP Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,751
Likes: 29
I think this is the right one:

http://rbelmont.mameworld.info/aica.zip

Joined: Feb 2008
Posts: 107
D
Senior Member
Offline
Senior Member
D
Joined: Feb 2008
Posts: 107
Okay, I suppose my definition of "big" isn't that broad.
BTW I can easily point several places in this doc where it's just plain wrong about things. I assumed whoever wrote original DSP code had access to something a bit more descriptive.

I'll cut to the point - this still doesn't say where exactly in 64-bit DSP word are fields like XSEL, YSEL, etc. And the reason I'm asking is I don't trust the decoding done in current AICA implementation. 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].

Sure you don't really get anything out of helping me create DSP support for Makaron, but at least you'd know I didn't just steal your code smile

Joined: Mar 2001
Posts: 16,751
Likes: 29
R
Very Senior Member
OP Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,751
Likes: 29
Well, the DSP output sounds correct. There are other issues with the AICA, but the DSP is generating reverb pretty much as expected. KS did the opcode encoding changes, probably from a magical document that Neill Corlett wrote (ElSemi quoted bits of it to me once but wasn't allowed to share).

Last edited by R. Belmont; 03/08/08 01:17 AM.
Joined: Sep 2007
Posts: 56
K
Member
Offline
Member
K
Joined: Sep 2007
Posts: 56
The <<1 shifts are there because the AICA's COEF and MADRS are mapped to 32-bit aligned memory addresses.

For the DSP field definitions I did use the magical Neill document found here ---> http://www.neillcorlett.com/etc/myaica.txt

Joined: Feb 2008
Posts: 107
D
Senior Member
Offline
Senior Member
D
Joined: Feb 2008
Posts: 107
Well, I've figured as much. DSP is going to stay on my TO-DO list for quite a while then. Never hurts to ask though smile

EDIT: But then again, this one I didn't have. Must sleep now but will read tomorrow smile
As for the shift - there are 64 MADRS entries so the index is still one bit short?

Last edited by Deunan Knute; 03/08/08 01:37 AM.
Joined: Sep 2007
Posts: 56
K
Member
Offline
Member
K
Joined: Sep 2007
Posts: 56
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.

Joined: Mar 2001
Posts: 16,751
Likes: 29
R
Very Senior Member
OP Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,751
Likes: 29
Nice.

Joined: Mar 2001
Posts: 16,751
Likes: 29
R
Very Senior Member
OP Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,751
Likes: 29
This is the sound in question in soa-303-02-00:

Code:
StartSlot[01]:   SSCTL 0 SA 0CB0A6 LSA 49E6 LEA A575 PCMS 0 LPCTL 1
                 AR 0A D1R 00 D2R 00 RR 0E DL 00 KRS 0 LPSLNK 0
                 TL 2A OCT F FNS 320
                 LFORE 0 LFOF 00 ALFOWS 0 ALFOS 0 PLFOWS 0 PLFOS 0
                 IMXL D ISEL 0 DISDL F DIPAN 00

StartSlot[02]:   SSCTL 0 SA 0CB0A6 LSA 49E6 LEA A575 PCMS 0 LPCTL 1
                 AR 0A D1R 00 D2R 00 RR 0E DL 00 KRS 0 LPSLNK 0
                 TL 25 OCT 0 FNS 156
                 LFORE 0 LFOF 00 ALFOWS 0 ALFOS 0 PLFOWS 0 PLFOS 0
                 IMXL D ISEL 0 DISDL F DIPAN 00

Last edited by R. Belmont; 03/08/08 03:29 AM.
Page 25 of 55 1 2 23 24 25 26 27 54 55

Moderated by  R. Belmont, Richard Bannister 

Link Copied to Clipboard
Who's Online Now
4 members (Fake Shemp, Lord Nightmare, mixmaster, 1 invisible), 34 guests, and 3 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics8,940
Posts117,526
Members4,994
Most Online890
Jan 17th, 2020
Forum Host
These forums are hosted by www.retrogamesformac.com
Forum hosted by www.retrogamesformac.com