Hello there! My name is baku-chan, and I'm writing here to inquire about the possibility of creating homebrew sequenced music for the Saturn's SCSP — as well as its close relative AICA for the Dreamcast — as well as what it would take to make it happen.
Just to let you know all know about my background with all of this: while do I have basic technical knowledge, I'm no programmer myself. I'm just a lover of video game music and especially of sequenced video game music; the kind from eras long past when everything was done either in chiptune or on synthesizers, many of which I don’t think have really had their potential tapped out yet. Like, for instance, I think that sound chips like the Mega Drive/Genesis’s YM2612 and the SNES’s SPC700 have really gotten a lot of attention when it comes to authenticity in emulation and pushing the limits of the hardware, and that’s great! But I also think that later sample-based sound hardware like the SCSP and AICA — plus the PS1’s SPU and PS2’s SPU2 — have been almost forgotten in comparison and aren't taken not taken as seriously when it comes to the idea of writing music for them, like we do now with YM2612 and SPC700-based homebrew music in an almost casual, taken-for-granted way that was unthinkable not too long ago!
I know that there are some very knowledgeable people in this community who I’m hopeful might be able to help make my crazy dream possible, haha, and to help share that dream with others who might be interested in such a thing. Whether you’re a musician or a lover of video game music or just someone looking for a challenge — or if you’re some combination of all of the above! — then I’d love to make your acquaintance.
For the uninitiated or anyone just stopping by here wanting to know why I would want to chase such a dream, I would like to take the time to go over some the things that make both SCSP and AICA special, my perspective on all of that compared to other sound chips, and why I think that they deserve to have the ability to write homebrew sequenced music on them.
To start, much has been said — rightly or wrongly — about the capabilities of the rather infamous SCSP in the Sega Saturn, as well as arguably overshadowed younger sibling AICA in the Dreamcast. Of course, I'm sure that everyone here knows the basics about these chips, included the much-touted features of the SCSP in particular that have often been considered to be significant advantages over the likes of, say, the SPU found in the PS1. Such as, for instance, FM support via using SCSP's 32 voices as modulators (such that you could supposedly have up to eight channels of 4-op FM, six channels of 6-op FM, or even a single channel of 32-op FM should one be so inclined), as well as a DSP with several more effects over the basic reverb, echo, and delay capabilities of the PS1's SPU including chorus, low- and high-pass filters, an equalizer, and more. With said features, the SCSP is theoretically very powerful, and indeed arguably more so than the SPU in many ways (or even later sound chips like AICA and the PS2's SPU2, for that matter).
With that said, the SCSP is also well-known for its "fatal flaw" in the form of its lack of hardware ADPCM compression. This is the one thing that the PS1's SPU does have over the SCSP, and it's a significant advantage indeed. One that I'd personally argue actually makes the SPU superior to the SCSP overall; vastly so, even. The lack of hardware ADPCM compression maeans that SCSP has only one-fourth of the effective sound RAM that SPU does, making memory management a significant issue for anything making music for the SCSP. You can hear the effects of this even with some of the most accomplished sequenced music OSTs on the Saturn — such as Radiant Silvergun or Panzer Dragoon Saga — where you can hear a noticeably "compressed" sound to them compared to similarly accomplished sequenced PS1 OSTs. For further consideration, take two such accomplished sequenced PS1 OSTs: Rhapsody: A Musical Adventure (with its sequel Little Princess having similarly constructed tracks) and Aitakute... your smiles in my heart. Would either OST be possible on the Saturn? Well, with Rhapsody, the sound test shows that most songs — which are highly orchestral in nature, by the way — key on all 24 of SPU's channels throughout the vast majority of their runtime, all while pushing what are clearly very high quality samples compared to most Saturn OSTs or even less ambitious PS1 OSTs. Meanwhile, observing the PSF file sizes of Aitakute... reveals that the game's songs frequently exceed the 400 KiB mark compressed — with the highest number being a staggering 489 KiB, barely enough to be able to enable reverb on top of that — all again while using very high-quality samples. Pulling off either of these OSTs on a system with just over a fourth of effective sound RAM available to it would inevitably be extremely difficult, if not impossible, without significant cuts to both sound quality and overall complexity. After all, Aitakute...'s maximum sound RAM usage, in uncompressed terms, would be 1739 KiB (or 489 KiB times the compression ratio of SPU's ADPCM scheme, which is 32/9 or roughly 3.55555556:1). Assuming that Aitakute...'s samples are all 44.1 KHz, then cutting the sample rate in half down to 22.05 KHz still results in 869 KiB worth of samples being used, with a noticeable — if arguably acceptable — drop in sound quality all the while. Cutting that number in half would then give you a workable 435 KiB, but now the sample rate is an unequivocally unlistenable 11.025 KHz. Lowering the sample rate simply isn't an option past a certain point; your only options then are to remove instruments until everything fits into 512 KiB, or to lower the sample resolution to 8-bit in order to accomplish the same, with predictable — and very likely still unlistenable — results.
To really and finally drive the point home, here's a rough summary of how many total samples Saturn's SCSP, PS1's SPU, Dreamcast's AICA, and Sony's SPU2 can each store in the form of seconds at multiple commonly used sample rates, with any bespoke compression schemes converted to a standard unit of uncompressed PCM and after things like sequence data, tone data, sound driver, and DSP effect RAM usage are taken into consideration:
NOTE: Sound driver, sequence data, tone data estimates don't exist for SPU and SPU2 here because those are all stored in main RAM for the former and in the IOP's RAM for the latter, rather than in their separate pools of sound RAM.
SCSP = 384 KiB ((512 KiB - 44 KiB driver [based on "Saturn Sound Driver Implementation Manual" (ST-241-042795, pg.26)] - 48 KiB DSP [average DSP usage guesstimate] - 32 KiB [sequence data guesstimate] - 4 KiB [tone data guesstimate]) * (1/1) [already uncompressed])
@ 22.050 KHz => (384 KiB / 44.1 KiB/sec) = 8.70748 seconds
@ 32.000 KHz => (384 KiB / 64.0 KiB/sec) = 6.00000 seconds
@ 44.100 KHz => (384 KiB / 88.2 KiB/sec) = 4.35375 seconds
SPU = 1479 KiB ((512 KiB - 96 KiB reverb unit [max possible reverb unit RAM usage]) * (32/9) [Sony SPU-ADPCM])
@ 22.050 KHz => (1479 KiB / 44.1 KiB/sec) = 33.53741 seconds
@ 32.000 KHz => (1479 KiB / 64.0 KiB/sec) = 23.10938 seconds
@ 44.100 KHz => (1479 KiB / 88.2 KiB/sec) = 16.76871 seconds
AICA = 7392 KiB ((2048 KiB - 64 KiB driver [guesstimate based on 32 KiB x 2 for Puyo Puyo DA!'s MANATEE.DRV driver] - 96 KiB DSP [average DSP usage guesstimate from SCSP x 2] - 32 KiB [sequence data guesstimate] - 4 KiB [tone data guesstimate]) * (4/1) [Yamaha ADPCM])
@ 22.050 KHz => (7392 KiB / 44.1 KiB/sec) = 167.61905 seconds
@ 32.000 KHz => (7392 KiB / 64.0 KiB/sec) = 115.50000 seconds
@ 44.100 KHz => (7392 KiB / 88.2 KiB/sec) = 83.80952 seconds
SPU2 = 6372 KiB ((2048 KiB - 256 KiB reverb units [based on reverb unit RAM usage for both cores]) * (32/9) [same ADPCM as PS1's SPU])
@ 22.050 KHz => (6372 KiB / 44.1 KiB/sec) = 144.48980 seconds
@ 32.000 KHz => (6372 KiB / 64.0 KiB/sec) = 99.56250 seconds
@ 44.100 KHz => (6372 KiB / 88.2 KiB/sec) = 72.24490 seconds
Yeah. Ultimately, all of the above underscores the kind of challenges that developers faced back in the day when writing sequenced music for the SCSP, and it all quite clearly explains why cross-platform games tended to sound worse on the Saturn compared to their PS1 counterparts. The SPU's ADPCM compression capabilities really were that much of a critical feature, and the SCSP's lack of them really was that much of a critical omission. It's arguably the chip's only real flaw with what is otherwise a very sophisticated and powerful system that's worth its praise, but it's also a very, very serious flaw with easily observable real-world results. Anyone who wants to write homebrew music for the SCSP will constantly have to keep that flaw in mind as they write, and understand that for all of the wonderful features that SCSP has for one to play with, the chip is in many ways much less practical than the simpler but still very powerful SPU (which is really quite the common refrain for pretty much the entire Saturn hardware compared to the PS1, isn't it?). There are things that you simply will not be able to do on SCSP that the SPU will be able to do quite easily. And so I think that anyone gaping at awe at the legendary SCSP with its supposedly superior sound chip needs to temper their expectations a bit, and understand that SCSP is not really inherently more powerful than the SPU and is really more so different from it, sometimes for good and sometimes for ill.
So after spending several paragraphs dunking on SEGA hardware on a SEGA fan forum, haha, why I am here again? Well, the other point to take away here is that just because the SCSP has weaknesses compared to its contemporaries that are often downplayed or unrecognized, doesn't mean that it isn't still an excellent piece of hardware that's more than worthy of having homebrew music developed for it.
Finally, trying to find ways around the SCSP's weaknesses has led me to appreciate the silent power and potential of its successor AICA in the Dreamcast. Again coming from the PlayStation scene trying to get sequenced music working there, comparing the PS2's SPU2 to AICA revealed to me that the latter is an essentially a supercharged version of SPU2, having 16 more channels while inheriting the superior DSP of its predecessor and adding hardware ADPCM support that said predecessor failed to include. In that sense, it is also arguably everything that the SCSP should've been, with the ADPCM support in particular being, by far, the single greatest improvement that alone quadruples the effective amount of sound RAM. And combined with an increase of the actual physical sound RAM from 512 KiB to 2 MiB, this means that AICA has a staggering sixteen times (!!!) the effective amount of sound RAM compared to the SCSP. Its sole regression compared to its predecessor is that FM is no longer possible, which is unfortunate but also no great loss compared to everything that's gained in exchange.
I've already mentioned some of the PS1 era's best sequenced OSTs like the aforementioned Rhapsody and Aitakute... such OSTs would represent less than a fourth of what sound chips like AICA are able to handle if we're measuring by how much RAM is available to them, let alone considering the additional features of the latter's DSP that those SPU soundtracks were never able to use. Likewise, I've heard someone say in regards to the SCSP with all of its features that, so long as you can manage its memory deficits, then there is pretty much nothing that you can't do on it; if that's true, then imagine what could be done on AICA! In fact, let's imagine for a moment, using some of the greatest sequenced OSTs on the PS2 and its SPU2 sound chip for comparison. There, you have the likes of Final Fantasy X and X-2, Final Fantasy XI and its expansions, Final Fantasy XII, Kingdom Hearts 1 & 2, the Atelier series (Lilie, Judie, Viorate, Iris), the Summon Knight series (3, 4, Granthese), the Infinity series (Never 7, Ever 7, Remember 11), the Super Robot Wars series (MX, Z, OGs), Tokimeki Memorial 3 ~At the place of our promise~, Namco x Capcom, and Berwick Saga representing some of the greatest pieces of sequenced music ever written for a video game console... and not a single track from any of those games exceeds a single megabyte of RAM compressed; they literally don't even represent half of what SPU2 is capable of, let alone AICA.
If there's nothing that we're not able to do on SCSP, imagine what's possible with AICA... that's what driving me here now to see if we can make homebrew music possible for these sound chips! But first, there's a lot of questions to ask and problems to be sorted out, and so I'm posting here hoping if some of you here can answer at least some of those questions for me. Thank you in advance for taking the time to read! Because, please be forewarned, there's a lot of stuff here, haha...
Just to let you know all know about my background with all of this: while do I have basic technical knowledge, I'm no programmer myself. I'm just a lover of video game music and especially of sequenced video game music; the kind from eras long past when everything was done either in chiptune or on synthesizers, many of which I don’t think have really had their potential tapped out yet. Like, for instance, I think that sound chips like the Mega Drive/Genesis’s YM2612 and the SNES’s SPC700 have really gotten a lot of attention when it comes to authenticity in emulation and pushing the limits of the hardware, and that’s great! But I also think that later sample-based sound hardware like the SCSP and AICA — plus the PS1’s SPU and PS2’s SPU2 — have been almost forgotten in comparison and aren't taken not taken as seriously when it comes to the idea of writing music for them, like we do now with YM2612 and SPC700-based homebrew music in an almost casual, taken-for-granted way that was unthinkable not too long ago!
I know that there are some very knowledgeable people in this community who I’m hopeful might be able to help make my crazy dream possible, haha, and to help share that dream with others who might be interested in such a thing. Whether you’re a musician or a lover of video game music or just someone looking for a challenge — or if you’re some combination of all of the above! — then I’d love to make your acquaintance.
For the uninitiated or anyone just stopping by here wanting to know why I would want to chase such a dream, I would like to take the time to go over some the things that make both SCSP and AICA special, my perspective on all of that compared to other sound chips, and why I think that they deserve to have the ability to write homebrew sequenced music on them.
To start, much has been said — rightly or wrongly — about the capabilities of the rather infamous SCSP in the Sega Saturn, as well as arguably overshadowed younger sibling AICA in the Dreamcast. Of course, I'm sure that everyone here knows the basics about these chips, included the much-touted features of the SCSP in particular that have often been considered to be significant advantages over the likes of, say, the SPU found in the PS1. Such as, for instance, FM support via using SCSP's 32 voices as modulators (such that you could supposedly have up to eight channels of 4-op FM, six channels of 6-op FM, or even a single channel of 32-op FM should one be so inclined), as well as a DSP with several more effects over the basic reverb, echo, and delay capabilities of the PS1's SPU including chorus, low- and high-pass filters, an equalizer, and more. With said features, the SCSP is theoretically very powerful, and indeed arguably more so than the SPU in many ways (or even later sound chips like AICA and the PS2's SPU2, for that matter).
With that said, the SCSP is also well-known for its "fatal flaw" in the form of its lack of hardware ADPCM compression. This is the one thing that the PS1's SPU does have over the SCSP, and it's a significant advantage indeed. One that I'd personally argue actually makes the SPU superior to the SCSP overall; vastly so, even. The lack of hardware ADPCM compression maeans that SCSP has only one-fourth of the effective sound RAM that SPU does, making memory management a significant issue for anything making music for the SCSP. You can hear the effects of this even with some of the most accomplished sequenced music OSTs on the Saturn — such as Radiant Silvergun or Panzer Dragoon Saga — where you can hear a noticeably "compressed" sound to them compared to similarly accomplished sequenced PS1 OSTs. For further consideration, take two such accomplished sequenced PS1 OSTs: Rhapsody: A Musical Adventure (with its sequel Little Princess having similarly constructed tracks) and Aitakute... your smiles in my heart. Would either OST be possible on the Saturn? Well, with Rhapsody, the sound test shows that most songs — which are highly orchestral in nature, by the way — key on all 24 of SPU's channels throughout the vast majority of their runtime, all while pushing what are clearly very high quality samples compared to most Saturn OSTs or even less ambitious PS1 OSTs. Meanwhile, observing the PSF file sizes of Aitakute... reveals that the game's songs frequently exceed the 400 KiB mark compressed — with the highest number being a staggering 489 KiB, barely enough to be able to enable reverb on top of that — all again while using very high-quality samples. Pulling off either of these OSTs on a system with just over a fourth of effective sound RAM available to it would inevitably be extremely difficult, if not impossible, without significant cuts to both sound quality and overall complexity. After all, Aitakute...'s maximum sound RAM usage, in uncompressed terms, would be 1739 KiB (or 489 KiB times the compression ratio of SPU's ADPCM scheme, which is 32/9 or roughly 3.55555556:1). Assuming that Aitakute...'s samples are all 44.1 KHz, then cutting the sample rate in half down to 22.05 KHz still results in 869 KiB worth of samples being used, with a noticeable — if arguably acceptable — drop in sound quality all the while. Cutting that number in half would then give you a workable 435 KiB, but now the sample rate is an unequivocally unlistenable 11.025 KHz. Lowering the sample rate simply isn't an option past a certain point; your only options then are to remove instruments until everything fits into 512 KiB, or to lower the sample resolution to 8-bit in order to accomplish the same, with predictable — and very likely still unlistenable — results.
To really and finally drive the point home, here's a rough summary of how many total samples Saturn's SCSP, PS1's SPU, Dreamcast's AICA, and Sony's SPU2 can each store in the form of seconds at multiple commonly used sample rates, with any bespoke compression schemes converted to a standard unit of uncompressed PCM and after things like sequence data, tone data, sound driver, and DSP effect RAM usage are taken into consideration:
NOTE: Sound driver, sequence data, tone data estimates don't exist for SPU and SPU2 here because those are all stored in main RAM for the former and in the IOP's RAM for the latter, rather than in their separate pools of sound RAM.
SCSP = 384 KiB ((512 KiB - 44 KiB driver [based on "Saturn Sound Driver Implementation Manual" (ST-241-042795, pg.26)] - 48 KiB DSP [average DSP usage guesstimate] - 32 KiB [sequence data guesstimate] - 4 KiB [tone data guesstimate]) * (1/1) [already uncompressed])
@ 22.050 KHz => (384 KiB / 44.1 KiB/sec) = 8.70748 seconds
@ 32.000 KHz => (384 KiB / 64.0 KiB/sec) = 6.00000 seconds
@ 44.100 KHz => (384 KiB / 88.2 KiB/sec) = 4.35375 seconds
SPU = 1479 KiB ((512 KiB - 96 KiB reverb unit [max possible reverb unit RAM usage]) * (32/9) [Sony SPU-ADPCM])
@ 22.050 KHz => (1479 KiB / 44.1 KiB/sec) = 33.53741 seconds
@ 32.000 KHz => (1479 KiB / 64.0 KiB/sec) = 23.10938 seconds
@ 44.100 KHz => (1479 KiB / 88.2 KiB/sec) = 16.76871 seconds
AICA = 7392 KiB ((2048 KiB - 64 KiB driver [guesstimate based on 32 KiB x 2 for Puyo Puyo DA!'s MANATEE.DRV driver] - 96 KiB DSP [average DSP usage guesstimate from SCSP x 2] - 32 KiB [sequence data guesstimate] - 4 KiB [tone data guesstimate]) * (4/1) [Yamaha ADPCM])
@ 22.050 KHz => (7392 KiB / 44.1 KiB/sec) = 167.61905 seconds
@ 32.000 KHz => (7392 KiB / 64.0 KiB/sec) = 115.50000 seconds
@ 44.100 KHz => (7392 KiB / 88.2 KiB/sec) = 83.80952 seconds
SPU2 = 6372 KiB ((2048 KiB - 256 KiB reverb units [based on reverb unit RAM usage for both cores]) * (32/9) [same ADPCM as PS1's SPU])
@ 22.050 KHz => (6372 KiB / 44.1 KiB/sec) = 144.48980 seconds
@ 32.000 KHz => (6372 KiB / 64.0 KiB/sec) = 99.56250 seconds
@ 44.100 KHz => (6372 KiB / 88.2 KiB/sec) = 72.24490 seconds
Yeah. Ultimately, all of the above underscores the kind of challenges that developers faced back in the day when writing sequenced music for the SCSP, and it all quite clearly explains why cross-platform games tended to sound worse on the Saturn compared to their PS1 counterparts. The SPU's ADPCM compression capabilities really were that much of a critical feature, and the SCSP's lack of them really was that much of a critical omission. It's arguably the chip's only real flaw with what is otherwise a very sophisticated and powerful system that's worth its praise, but it's also a very, very serious flaw with easily observable real-world results. Anyone who wants to write homebrew music for the SCSP will constantly have to keep that flaw in mind as they write, and understand that for all of the wonderful features that SCSP has for one to play with, the chip is in many ways much less practical than the simpler but still very powerful SPU (which is really quite the common refrain for pretty much the entire Saturn hardware compared to the PS1, isn't it?). There are things that you simply will not be able to do on SCSP that the SPU will be able to do quite easily. And so I think that anyone gaping at awe at the legendary SCSP with its supposedly superior sound chip needs to temper their expectations a bit, and understand that SCSP is not really inherently more powerful than the SPU and is really more so different from it, sometimes for good and sometimes for ill.
So after spending several paragraphs dunking on SEGA hardware on a SEGA fan forum, haha, why I am here again? Well, the other point to take away here is that just because the SCSP has weaknesses compared to its contemporaries that are often downplayed or unrecognized, doesn't mean that it isn't still an excellent piece of hardware that's more than worthy of having homebrew music developed for it.
Finally, trying to find ways around the SCSP's weaknesses has led me to appreciate the silent power and potential of its successor AICA in the Dreamcast. Again coming from the PlayStation scene trying to get sequenced music working there, comparing the PS2's SPU2 to AICA revealed to me that the latter is an essentially a supercharged version of SPU2, having 16 more channels while inheriting the superior DSP of its predecessor and adding hardware ADPCM support that said predecessor failed to include. In that sense, it is also arguably everything that the SCSP should've been, with the ADPCM support in particular being, by far, the single greatest improvement that alone quadruples the effective amount of sound RAM. And combined with an increase of the actual physical sound RAM from 512 KiB to 2 MiB, this means that AICA has a staggering sixteen times (!!!) the effective amount of sound RAM compared to the SCSP. Its sole regression compared to its predecessor is that FM is no longer possible, which is unfortunate but also no great loss compared to everything that's gained in exchange.
I've already mentioned some of the PS1 era's best sequenced OSTs like the aforementioned Rhapsody and Aitakute... such OSTs would represent less than a fourth of what sound chips like AICA are able to handle if we're measuring by how much RAM is available to them, let alone considering the additional features of the latter's DSP that those SPU soundtracks were never able to use. Likewise, I've heard someone say in regards to the SCSP with all of its features that, so long as you can manage its memory deficits, then there is pretty much nothing that you can't do on it; if that's true, then imagine what could be done on AICA! In fact, let's imagine for a moment, using some of the greatest sequenced OSTs on the PS2 and its SPU2 sound chip for comparison. There, you have the likes of Final Fantasy X and X-2, Final Fantasy XI and its expansions, Final Fantasy XII, Kingdom Hearts 1 & 2, the Atelier series (Lilie, Judie, Viorate, Iris), the Summon Knight series (3, 4, Granthese), the Infinity series (Never 7, Ever 7, Remember 11), the Super Robot Wars series (MX, Z, OGs), Tokimeki Memorial 3 ~At the place of our promise~, Namco x Capcom, and Berwick Saga representing some of the greatest pieces of sequenced music ever written for a video game console... and not a single track from any of those games exceeds a single megabyte of RAM compressed; they literally don't even represent half of what SPU2 is capable of, let alone AICA.
If there's nothing that we're not able to do on SCSP, imagine what's possible with AICA... that's what driving me here now to see if we can make homebrew music possible for these sound chips! But first, there's a lot of questions to ask and problems to be sorted out, and so I'm posting here hoping if some of you here can answer at least some of those questions for me. Thank you in advance for taking the time to read! Because, please be forewarned, there's a lot of stuff here, haha...
(continued on the next page...)
Last edited: