SNESMusic.org Forums

http://snesmusic.org/v2/
It is currently Tue Oct 17, 2017 5:13 pm

All times are UTC - 7 hours


Forum rules


* This subforum is for the general discussion of video game soundtracks, and the uploading of emulated-game music formats, including, but not limited to SPC, SNSF, NSF, GBS, PSFs, USFs, GSFs, etc. as well as the respective format's mini*sf extension and files (*sflibs, etc.) required by the format are allowed to be posted here.

* Individual songs can be uploaded as-is, but full soundtracks should ideally be compressed either via .rar, .zip or .7z, or they will be subject to deletion. Subtune-based formats including, but not limited to NSF, GBS, SID, etc do not need to compressed due the nature of their small given size and direct portability.

* Do not upload anything that could be in violation of American copyright laws. Yes, they're silly, arcane, and draconian, but we'd really rather not have to deal with their over-zealous enforcers. This includes links to such files.

* No flaming, no direct attacks against other members, and no spamming. Such activity will not be tolerated. Users who fail to respect other member's rights will be warned, banned or any other action will be taken as required.

* The SNESMusic staff reserve the right to ban users, remove posted content not limited to illegal material, offensive content or any other content at their discretion.



Post new topic Reply to topic  [ 6 posts ] 
Author Message
PostPosted: Wed Jan 27, 2016 9:56 pm 
Offline

Joined: Wed Jan 27, 2016 7:36 pm
Posts: 3
I'm trying to better understand the SPC format. A couple days ago I made a little script to unpack an RSN archive, and the extract info from the SPC files inside. Now I want to actually play the music in an SPC file.

https://github.com/ProfOak/rsn-info

I'm using this link for reference. http://snesmusic.org/files/spc_file_format.txt

* What is the point of having ID666 data in text and binary form?

* What is the point of having an extended ID666 section?

* Where is the actual audio data stored?

* (probably related) What is the 64KB ram for?

* If I were to make an SPC player, would I have to basically emulate the audio of an SNES?


Top
 Profile  
Reply with quote  
PostPosted: Thu Jan 28, 2016 1:37 pm 
Offline
Moderator
User avatar

Joined: Mon Dec 27, 2010 2:48 pm
Posts: 262
Location: FL
I assume the extended ID666 section is just the result of the format gradually developing over time and people deciding that the original tag format wasn't entirely sufficient (to contain information about official soundtrack releases, for example). As for the binary vs. text format, I don't really see the point, given that they have nearly the same size and layout as each other and store exactly the same information. Maybe the binary format is slightly easier to handle for hardware-based players, but the majority of the time there's no real reason to use one over the other.

The last three questions are more or less all related. A SPC file is essentially like an emulator savestate, but only for the audio component of the system - 64 kb of RAM, plus the SPC and DSP register state. The 64 kb of RAM is used to store the game's sound programming, as well as the data and instrument samples that the sound code uses to actually play back music. So to answer the last question - yes, SPC players essentially are SNES audio emulators.

The good news is that there are enough open-source emulators (and standalone SPC players) to use as a reference that you don't necessarily have to do everything from scratch.


Top
 Profile  
Reply with quote  
PostPosted: Thu Jan 28, 2016 5:25 pm 
Offline

Joined: Wed Jan 27, 2016 7:36 pm
Posts: 3
Thanks a bunch. That clarifies some much needed information for me.


Top
 Profile  
Reply with quote  
PostPosted: Sat Jan 30, 2016 7:17 am 
Offline
Moderator

Joined: Tue Oct 05, 2010 4:17 pm
Posts: 838
I have a couple of tests that will put your SPC player to the test. All of them are found on these forums, and all of them don't qualify with SNESAmp...

- Clayfighter 2
- Shin Togenkyo
- We're Back! A Dinosaur's Story

Two of them cause all the channels to stop playing, while Shin Togenkyo is much nastier.

_________________
Just consider me your friendly SPC dumper. Also a bit of a perfectionist (though not too literally)... I make sure my dumps are at the first note. I might even hack away the SFX if needed.

Want a music modifier for a particular SNES game? All you need to do is ask via PM (or you can check out the Music Modifiers topic and post there) and I'll be on the job. ^_^

SPC Set Progress Log


Top
 Profile  
Reply with quote  
PostPosted: Mon Feb 01, 2016 1:29 am 
Offline

Joined: Wed Jan 27, 2016 7:36 pm
Posts: 3
Well I am learning how emulators work first, so I probably won't have anything to show for a while. I appreciate all of the information though!

I had one other question though. Why aren't there SPC-like formats for other consoles?


Top
 Profile  
Reply with quote  
PostPosted: Wed Feb 03, 2016 8:35 am 
Offline
Moderator

Joined: Tue Oct 05, 2010 4:17 pm
Posts: 838
The SPC700 is a CPU that runs all sound-related operations mostly on its own once it receives its program. The vast majority of the music on the SPC700 is done within the sound chip (a select few stream their audio data), and the SPC700 has its own RAM.

Other chips are not so autonomous with their operations, sometimes requiring real-time input from the CPU, which explains the other formats used. I don't know of any other chips at the moment.

_________________
Just consider me your friendly SPC dumper. Also a bit of a perfectionist (though not too literally)... I make sure my dumps are at the first note. I might even hack away the SFX if needed.

Want a music modifier for a particular SNES game? All you need to do is ask via PM (or you can check out the Music Modifiers topic and post there) and I'll be on the job. ^_^

SPC Set Progress Log


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 6 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group