*From my perspective* - I am adding a new feature to SNES Tracker Debugger (STD) today, and it's SPC Export. Now, some of you might know I'm using my own modified version of Blargg's GameMusicEmu (GME) called libgme_M for this. Blargg has some funny comments in his code for "decoding" SPC fields -- and his frustration with the format is evident. (multiple comments)
Let's refer to some of the "best" SPC documentation I could ever find
I'm assuming this is the end-all be-all for SPC documentation. Someone please comment if you know better.
One of the most obvious issues with the SPC format is an unclear distinction between a "text" SPC and a "binary" SPC -- why there exists both a text and binary form in the first place is beyond me.
Then there's the actual string fields, which are "text" in both the "text" and binary versions of the SPC format -- is this ASCII text only? Do people stick Unicode-16 in there? Should I support that? But since I only plan on supporting ASCII in the first release anyways, that's all I'll do.
Continuing on the text-fields -- I suppose it's unsafe to assume they are null-terminated.. (Duh! *slap* goes the professional). I'm not sure if GME makes this assumption or not, yet!
Another issue is the "emulator" field -- which takes of all things, a number! But, only a few emulator indices were ever documented, and since this format is not at all regularly updated or kept standardized -- it's a crapshoot whether numbers are overlapping or not, or what owns which number. In this kind of non-standardized environment, a text field would have probably been best for this.
---------
If anyone has an SPC they know is distinctly a text one, or a binary one, I'd like your sample please.
Didn't Kevtris make some kind of new format that *might* be related to this?
Can I just go ahead and make a new format that is less difficult to work with?
---------
To the creator of SPC file format - I know how it is. We live and learn. Sometimes, looking back, we see what we've created and go *facepalm*
Let's refer to some of the "best" SPC documentation I could ever find
- (older) http://vspcplay.raphnet.net/spc_file_format.txt
- (newer) http://translate.google.com/translate?h ... rev=search
I'm assuming this is the end-all be-all for SPC documentation. Someone please comment if you know better.
One of the most obvious issues with the SPC format is an unclear distinction between a "text" SPC and a "binary" SPC -- why there exists both a text and binary form in the first place is beyond me.
Then there's the actual string fields, which are "text" in both the "text" and binary versions of the SPC format -- is this ASCII text only? Do people stick Unicode-16 in there? Should I support that? But since I only plan on supporting ASCII in the first release anyways, that's all I'll do.
Continuing on the text-fields -- I suppose it's unsafe to assume they are null-terminated.. (Duh! *slap* goes the professional). I'm not sure if GME makes this assumption or not, yet!
Another issue is the "emulator" field -- which takes of all things, a number! But, only a few emulator indices were ever documented, and since this format is not at all regularly updated or kept standardized -- it's a crapshoot whether numbers are overlapping or not, or what owns which number. In this kind of non-standardized environment, a text field would have probably been best for this.
---------
If anyone has an SPC they know is distinctly a text one, or a binary one, I'd like your sample please.
Didn't Kevtris make some kind of new format that *might* be related to this?
Can I just go ahead and make a new format that is less difficult to work with?
---------
To the creator of SPC file format - I know how it is. We live and learn. Sometimes, looking back, we see what we've created and go *facepalm*