(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-08-24 02:52 AM
0 users currently in ROM Hacking.
Acmlm's Board - I3 Archive - ROM Hacking - How to go about finding something out New poll | |
Add to favorites | Next newer thread | Next older thread
User Post
Sukasa

Birdo
Not quite as active as before.
Xkeeper supporter
Xk > ||bass
I IP Banned myself! Twice!








Since: 11-17-05
From: Somewhere over there

Last post: 6289 days
Last view: 6288 days
Posted on 01-14-06 01:43 AM Link | Quote
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?
Mattrizzle

Red Goomba








Since: 11-17-05
From: Louisville, KY, USA

Last post: 6586 days
Last view: 6586 days
Posted on 01-14-06 09:59 AM Link | Quote
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.
d4s

Shyguy








Since: 12-01-05

Last post: 6410 days
Last view: 6308 days
Posted on 01-14-06 11:56 AM Link | Quote
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.


(edited by d4s on 01-14-06 11:02 AM)
Sukasa

Birdo
Not quite as active as before.
Xkeeper supporter
Xk > ||bass
I IP Banned myself! Twice!








Since: 11-17-05
From: Somewhere over there

Last post: 6289 days
Last view: 6288 days
Posted on 01-14-06 01:52 PM Link | Quote
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?
Keitaro

Mole


 





Since: 11-18-05
From: Massachusetts

Last post: 6446 days
Last view: 6446 days
Posted on 01-14-06 02:12 PM Link | Quote
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.
d4s

Shyguy








Since: 12-01-05

Last post: 6410 days
Last view: 6308 days
Posted on 01-14-06 06:42 PM Link | Quote
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.


(edited by d4s on 01-14-06 05:44 PM)
(edited by d4s on 01-14-06 05:45 PM)
Add to favorites | Next newer thread | Next older thread
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.015 seconds; used 375.09 kB (max 453.14 kB)