Working with the SPC700

Strictly for discussing ZSNES development and for submitting code. You can also join us on IRC at irc.libera.chat in #zsnes.
Please, no requests here.

Moderator: ZSNES Mods

Post Reply
napierzaza

Working with the SPC700

Post by napierzaza »

I've been reading through these forums and it appears as if several of you (especially byuu seemingly) appear to know quite a bit about the SPC chip emulation. I am interested in making a synthesizer based on the SPC APU and was wondering how much information there actually is on this device. If you've heard of the midibox it has been considered as something that might be developed http://www.midibox.org/forum/index.php?topic=4975.0


Is it that only the state saving is known for the chip or has there been greater development with it? Is it known how to stream audio commands to the chip? I'm assuming the emulation is fairly similar to the chips themselves correct?

In all likelyhood it appears as if a simpler SPC emulator would be developed so that knobs and switchs/midi could be used to send the OPCodes to the chip itself, is there a great deal of things known about the OPCodes? I'm just wondering if this project is even feasable, or whether the actual chip architecture is as obfuscated as I've heard (so that you may only load the proprietary music code into the SPC itself and it runs that program).
gladius
Rookie
Posts: 16
Joined: Wed Nov 30, 2005 8:10 am
Contact:

Post by gladius »

If you want to use a real SPC700, it has 4 general 8 bit input/output ports. It boots into a ROM that polls these ports basically, so that you can send your own program over to it.

The SPC700 is really a two part chip, one for the 1Mhz CPU that processes the song commands, and the DSP chip which actually decodes, mixes the sample data and applies envelope effects.

The program that you send to it could certainly listen to the ports to decide when to key on, or key off a note, etc. But you'd have to write the program in the SPC700 assembly language, and you are constrained to 64k for the program and samples (if you don't do any streaming).

If you aren't going to use the hardware itself, you may as well just use the DSP portion of one of the emulators, unless you are doing it for the technical challenge :).
Nightcrawler
Romhacking God
Posts: 922
Joined: Wed Jul 28, 2004 11:27 pm
Contact:

Post by Nightcrawler »

We've got quite a few knowledgeable people with SPC700 programming knowledge over at ROMhacking.net including myself(I have personally programmed a midi driver for the SPC700) .

http://www.romhacking.net/forum/index.p ... 959.0.html

We also have plenty of hardware documents over there with the hardware information.
[url=http://transcorp.romhacking.net]TransCorp[/url] - Home of the Dual Orb 2, Cho Mahou Tairyku Wozz, and Emerald Dragon SFC/SNES translations.
[url=http://www.romhacking.net]ROMhacking.net[/url] - The central hub of the ROM hacking community.
Post Reply