Previous Thread
Next Thread
Print Thread
Page 25 of 55 1 2 23 24 25 26 27 54 55
Re: AO SDK release 1.3.2 available [Re: Deunan Knute] #39187 03/07/08 11:36 PM
Joined: Mar 2001
Posts: 16,470
R
R. Belmont Offline OP
Very Senior Member
OP Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,470
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).

Re: AO SDK release 1.3.2 available [Re: R. Belmont] #39190 03/07/08 11:58 PM
Joined: Feb 2008
Posts: 107
D
Deunan Knute Offline
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?

Re: AO SDK release 1.3.2 available [Re: Deunan Knute] #39191 03/08/08 12:08 AM
Joined: Mar 2001
Posts: 16,470
R
R. Belmont Offline OP
Very Senior Member
OP Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,470
I think this is the right one:

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

Re: AO SDK release 1.3.2 available [Re: R. Belmont] #39192 03/08/08 01:11 AM
Joined: Feb 2008
Posts: 107
D
Deunan Knute Offline
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

Re: AO SDK release 1.3.2 available [Re: Deunan Knute] #39193 03/08/08 01:15 AM
Joined: Mar 2001
Posts: 16,470
R
R. Belmont Offline OP
Very Senior Member
OP Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,470
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.
Re: AO SDK release 1.3.2 available [Re: R. Belmont] #39194 03/08/08 01:30 AM
Joined: Sep 2007
Posts: 56
K
kingshriek Offline
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

Re: AO SDK release 1.3.2 available [Re: R. Belmont] #39195 03/08/08 01:34 AM
Joined: Feb 2008
Posts: 107
D
Deunan Knute Offline
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.
Re: AO SDK release 1.3.2 available [Re: Deunan Knute] #39196 03/08/08 01:39 AM
Joined: Sep 2007
Posts: 56
K
kingshriek Offline
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.

Re: AO SDK release 1.3.2 available [Re: kingshriek] #39197 03/08/08 02:56 AM
Joined: Mar 2001
Posts: 16,470
R
R. Belmont Offline OP
Very Senior Member
OP Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,470
Nice.

Re: AO SDK release 1.3.2 available [Re: R. Belmont] #39198 03/08/08 03:15 AM
Joined: Mar 2001
Posts: 16,470
R
R. Belmont Offline OP
Very Senior Member
OP Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,470
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 

Who's Online Now
2 registered members (algrun, AJR), 172 guests, and 3 spiders.
Key: Admin, Global Mod, Mod
ShoutChat Box
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics8,763
Posts115,157
Members4,889
Most Online890
Jan 17th, 2020
Powered by UBB.threads™ PHP Forum Software 7.7.3