Other uses for the SPC700 besides sound.

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Other uses for the SPC700 besides sound.
by on (#83625)
This would be a pretty fun challenge. Try to figure out other purposes for the SPC700 other than sound.

by on (#83629)
Like what? It can only communicate with the SCPU via a slow communication method. Even if you used the SPC to communicate with the SCPU to feed it some sort of calculations it would be faster to do it on the SCPU. The only thing I could think of you might consider is using the SPC to hide some sort of copy protection code where you process encrypted data in the SPC to try to hide it from less involved hackers or something.

The SPC really is just meant for playing music and sound effects. It's clocked too slow and has too slow of communication with the SCPU to be useful for anything else.

by on (#83632)
It could be used as a lazy mathbox, if you prefer it to have sound.

by on (#83634)
I guess the SPC have MUL and DIV instructions the 65816 lacks... so if you're going to do something like large matrix multiply, the SPC might be faster at it even if it's clocked at only 1.024 MHz
However, the problem will be the delay to transfer the order to the SPC to do the calculation and the dalay to transfer result back to the CPU, where BOTH the CPU and SPC have to be busy, which would without a doubt make it slower overall than doing everything in the CPU.

by on (#83636)
Maybe you can have an algorithm to convert packed pixel to planar format, where you have the SPC700 doing 1 bit-plane, while the 65816 is doing the remaining 3.

by on (#83655)
Try it and see? I mean, we can speculate all we want, but you won't know if it's practical to use it until you've tried.

by on (#83659)
Personally, I don't see the point in doing anything other than sound with it. I suppose that when music is playing, you can't have the SPC700 do anything else or it would screw up the sound, which means that any help it could provide would have to be during loading sequences and such. The SNES is not a console that suffers from long loading sequences, so improving those by a little bit would hardly justify the trouble.

by on (#83660)
Quote:
I suppose that when music is playing, you can't have the SPC700 do anything else or it would screw up the sound, which means that any help it could provide would have to be during loading sequences and such.

If your code is well written it wouldn;t be hard to interleave sound replaying with something else.

Quote:
The SNES is not a console that suffers from long loading sequences, so improving those by a little bit would hardly justify the trouble.

In fact some games such as Chrono Trigger DOES have noticeable loading times when the CPU has to transfer data to the SPC.

by on (#83661)
SNES version of Batman Forever even had 'loading' screen when you move between locations.

by on (#83662)
Bregalad wrote:
In fact some games such as Chrono Trigger DOES have noticeable loading times when the CPU has to transfer data to the SPC.

Ironically enough, if there's one thing the SPC can't help you with, this is it!