(Link to AcmlmWiki) Offline: thank ||bass
Register | Login
Views: 13,040,846
Main | Memberlist | Active users | Calendar | Chat | Online users
Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album
05-19-24 08:08 PM
0 users currently in ROM Hacking.
Acmlm's Board - I3 Archive - ROM Hacking - How to go about finding something out
  
User name:
Password:
Reply:
 
Options: - -
Quik-Attach:
Preview for more options

Max size 1.00 MB, types: png, gif, jpg, txt, zip, rar, tar, gz, 7z, ace, mp3, ogg, mid, ips, bz2, lzh, psd

UserPost
d4s
Posts: 18/98
Originally posted by Sukasa
All right. I've also got another idea, though. I wonder if I could try to just disassemble the SPC's code, and then get thesong data in a format I can read, with some effort, so that I can copy it in a different form into another game when that option becomes available.

Does that sound very feasible to you guys?


do you really like the music that much?

rather than disassembling everything, it might be quicker to rip the samples, then try to recreate the songs in a common music format like pro tracker, for example.
you'd have to somehow recreate the music by hand anyway, in case solar soundtrack gets released.

you could also try to contact the composer, sam powell, maybe he will send you his original files over.
most developers are really friendly and helpful if you are nice, polite and show some respect for their work.
his current email adress is sam@plyitagn.com.
good luck.
Keitaro
Posts: 129/373
I've looked at this game in the past too. It dosn't use NSPC, it uses....well, some really, shitty format. Hell, the samples are really shittyed up versions of SMW's, its really really funny.
Sukasa
Posts: 544/2068
All right. I've also got another idea, though. I wonder if I could try to just disassemble the SPC's code, and then get thesong data in a format I can read, with some effort, so that I can copy it in a different form into another game when that option becomes available.

Does that sound very feasible to you guys?
d4s
Posts: 17/98
Originally posted by Sukasa
I don't know whether Mario Is Missing is a game that uses the N-SPC format for it's SPC files. Could anyone please help me out and give me a few pointers on how to find this out, or if it's known, please let me know?


just have a look at that "game".
it uses badly ripped character tiles for mario, yoshi etc, tries to badly imitate mario worlds physics and uses crappy renditions of mario worlds tunes.
i highly doubt nintendo supplied them with anything to code that thing.

the one fact that really makes it obvious is that their apu driver doesnt even support envelope effects.
i had a quick look at the format the music patterns are stored in, and it appears to be very linear and grid-like, looks alot like a pro-tracker derivate.

based on that, i'll say its highly doubtful it uses the n-spc format.
Mattrizzle
Posts: 13/44
Originally posted by DJ Bouche, a long time ago
SMAS/N-SPC music format:

Most games will have more than one (if not all) songs loaded into the SPC bank, there is usually a table of pointers which point to the songs in the SPC bank (btw, when calculating SPC pointers, omit the header which is 0x100 bytes)

If you're having trouble finding the music data in a N-SPC format, go to 0x130 in the SPC file (or 0x30 in the SPC memory) and follow one of those pointers, those are the current track counters. They'll get you somewhere.

An N-SPC song is made up of a number of parts.
The first is the pattern pointer list. A pattern is a collection of 1-8 tracks. Patterns can be arranged and stuff to create a song, patterns are there because of reused parts of songs etc (I will say now that Squaresoft formats work completely different from this).
The pattern pointers i was talking about before will point to this pattern pointer list.
If the song doesn't loop, the pattern pointer list ends with a 00 00.
If it does, the song pointer list ends with a value less than 0100 [typically FF for most games, I personally don't think this value makes a difference, since it never has for me] (all values are stored in lil endian, reverse byte format), and then the pointer to the part of the pattern pointer list that is the loop point is placed.
Following a pattern pointer, you will find 8 track pointers. These are, as you can guess, assigned to each respective DSP channel. Follow the track pointers and you're into music data. The format isn't very complicated but if anyone wants a command list or what not, I'll be happy to post a PM to you.


Now finding this data in the ROM can get a bit tricky, but for most N-SPC games, they have a definite way of uploading this data. The data in the rom is exactly what will be sent to the SPC700, including the block headers etc.
The block header will have two 16-bit values, location and length (or it might be the other way around, not sure I haven't done this stuff in a while), Evil Peer might be able to confirm this one. After the header is the data itself, At the end of a block, you can place another block header and data. After the last block you send a length of 0000 and the location is the address of the starting code in the SPC.


If you have any more questions, feel free to ask.
Sukasa
Posts: 542/2068
I don't know whether Mario Is Missing is a game that uses the N-SPC format for it's SPC files. Could anyone please help me out and give me a few pointers on how to find this out, or if it's known, please let me know?
Acmlm's Board - I3 Archive - ROM Hacking - How to go about finding something out


ABII

Acmlmboard 1.92.999, 9/17/2006
©2000-2006 Acmlm, Emuz, Blades, Xkeeper

Page rendered in 0.003 seconds; used 357.38 kB (max 398.75 kB)