VOGONS

Common searches


First post, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hi everyone,
Since some people already managed to convert the SPC700 Audio Processing Unit (APU) to a standalone device (SPC player),
I wonder if it would be feasible to create a PC interface for it, be it ISA (or ISA+PCI/PCIe) or serial/parallel.

Or if it would be possible to interface one of the compatible audio sub-systems.
(Things like FC-Twin&Retro Duo also contained S-NES logic, sometimes with additional main RAM, even.)

This thread is merely intended as a brainstorming, I have no concrete plans to assemble such a thing yet. 😉
The idea in itself would be interesting, at least, I believe. 😀

For those of you who haven't had so much experience with the SNES platform,
the SPC700 basically was a dedicated audio computer/audio coprocessor thing.

In some ways or another, it is related to the wavetable synthesis / Amiga MOD format.
Some people also would describe it it as an intelligent RAMpler (as opposed to an ROMpler), I suppose.

That being said, it's not so much about creating an 1:1 replica of the original, but rather about playing around with ideas.
Maybe creating a hardware-based SPC player, also, that would work differently internally -or use existing off-the-shelf chips-,
but had the same capabilites of the APU ?

Why ? Good point, the main idea would be to be able to play/compose existing SPC music on a PC (-> think of Adlib Tracker, ImpulseTracker)
or to create new homebrew games that could utilize that sound board. Or something completely else. 😅
I just came up with the idea when I thought about all the different retro sound cards that we already have got now.

A few links..
http://snesmusic.org/files/spc700.html
https://wiki.superfamicom.org/spc700-reference
https://en.wikipedia.org/wiki/Rompler
http://www.midibox.org/dokuwiki/doku.php?id=midibox_snes_apu
https://www.raphnet.net/electronique/snes_apu … snes_apu_en.php
https://en.wikipedia.org/wiki/Super_Nintendo_ … nt_System#Audio
https://www.youtube.com/watch?v=Dm9TLXRWUOY

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 1 of 9, by Rawit

User metadata
Rank Oldbie
Rank
Oldbie
Jo22 wrote:

Why ? Good point, the main idea would be to be able to play/compose existing SPC music on a PC (-> think of Adlib Tracker, ImpulseTracker)
or to create new homebrew games that could utilize that sound board. Or something completely else. 😅
I just came up with the idea when I thought about all the different retro sound cards that we already have got now.

There are already tools for that. You can convert SPC files to IT (spc2it) and there are some tools to do the reverse to assist with homebrew.

I've converted some SPC files to IT and played them back on a Gravis UltraSound:
https://www.youtube.com/watch?v=5FnGBYhLOHo

The APU is a really interesting piece of hardware though and I always wondered how it would sound like if it wasn't held back by the low amount of memory.

YouTube

Reply 2 of 9, by DracoNihil

User metadata
Rank Oldbie
Rank
Oldbie

Where the heck did you get that tool? The only thing I ever known that spits out IT files from SPC was OpenSPC and it did a TERRIBLE job at it.

“I am the dragon without a name…”
― Κυνικός Δράκων

Reply 4 of 9, by DracoNihil

User metadata
Rank Oldbie
Rank
Oldbie

Well it does a good job at getting the samples in place but... it seems to just act like OpenSPC where it "records" the notation being played back.

Guess I'm still going to have to manually track these by hand but atleast now I have something that'll get the samples properly in place.

“I am the dragon without a name…”
― Κυνικός Δράκων

Reply 5 of 9, by leileilol

User metadata
Rank l33t++
Rank
l33t++

Yeah all SPC->* conversion tools are trash. All of mine were done by ear, manual effectsing, (mostly) proper key and all - and in .mod rather than anything newer and sounds closer than an .it conversion.

apsosig.png
long live PCem

Reply 6 of 9, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Thanks for all the replies so far! 😀

There are already tools for that. You can convert SPC files to IT (spc2it) and there are some tools to do the reverse to assist with homebrew.

Thanks, I'll have a look at it. In the past, I used to use the SPC plugin for Winamp 5.
While it wasn't perfect, I suppose, it was nice to listen to some tracks! 😁

Still, for some reason, I feel the fascination of a dedicated SPC sound card for plain DOS on a 16-Bit PC.
Hmm-Maybe trying to assemble a minimalistic parallel port (LPT4/2BCh as default ? 😉) and using that old SPC-Parallel schematic would be a start..
Once thaht works, with extra optocouplers, maybe. And a simple tube amplifier.. And/or an SPDIF connector, not sure.

By the way, there used to be some ISA bus developer boards for the arch rival, the MegaDrive/Genesis. Really cool. 😎
YT user Shane McRetro made some videos about these years ago -> https://youtu.be/A9zQueGP4iI and https://youtu.be/ak-G2ouUytk

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 7 of 9, by leileilol

User metadata
Rank l33t++
Rank
l33t++

I'd think the fascination would end in frustration as 64kb isn't a lot and you'd have to really be stuck with shortened 4bit samples. Maybe a custom sound driver for OpenCubic to parse a mod to playback on SPC700 (in a similar way to its AWE32 playback) could be a project...

apsosig.png
long live PCem

Reply 8 of 9, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Thanks for the feedback leileilol! This reminds me a bit of the OPL4 chip.. ^^
MOD4WIN had native support for it, albeit that chip had a sample size limit of 64KB each.
Provided that Sample-RAM was installed at all. Cheap OPL4 cards only had the General MIDI ROM connected..

Attachments

  • m4w_opl4.png
    Filename
    m4w_opl4.png
    File size
    10.77 KiB
    Views
    828 views
    File license
    Fair use/fair dealing exception

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 9 of 9, by SirNickity

User metadata
Rank Oldbie
Rank
Oldbie

There will probably never be a really good SPC -> mod converter since there's absolutely no guarantee that the music even has a tracker-compatible structure. The music data is an assembly program running on a dedicated CPU. It could do literally anything. Most of the time it is essentially just a straightforward wavetable MIDI track, but the conversion utility won't have any way to know that.

As for the project, I'm also fascinated by the SPC, but I have some concerns. ;-D First, the only way to get hold of parts is to reclaim them from an SNES. Early models had a daughterboard that you can remove from the motherboard, and you have a self-contained audio subsystem that just needs power and a host interface. Later revisions moved them onto the main board. I think later revisions combined the CPU and DSP, similar to the 1-Chip graphics integration, but I could be mistaken.

I have an early daughterboard that I salvaged from a broken SNES, and I've written some AVR code to read a .SPC file from an SD card and write it to the SPC. I hit a snag with writing the assembly program to start playback and got distracted with other things before I ever got around to fixing it. It's embarassingly close to complete. It's a little tricky since you have to assume where in the 64K RAM you can locate your bootstrap routine. There's no standard, but based on things I've read, the top of RAM is usually safe. That's where the IPL is located, and apparently most devs never bothered to overwrite that code with anything of their own, so it's usually fair game.

I did actually consider adding parallel port I/O to my breadboard project, and maybe figuring out a patch to an SNES emulator to use the real hardware instead of a software emulation. But really... the emulators are so good at this point, I don't know that it would be worth the trouble. I would probably only use it once. I don't think I would ever use an ISA version as an experimental sampler, either. I do think I would enjoy having a battery-operated SPC player though -- which, along with curiosity, is why I was hacking on it to begin with.