SNESMusic.org Forums

http://snesmusic.org/v2/
It is currently Wed Oct 18, 2017 9:33 am

All times are UTC - 7 hours


Forum rules


* This subforum is where incomplete SPC sets should be uploaded. If you've started a set, and for whatever reason are unable to finish it, or are unsure of its completeness, post it here. This subforum is not intended for conversation, however.

* If you wish to pick up one of these sets, please make a post claiming it, to prevent others from duplicating your work.

* You may upload full SPC sets in .rsn, .zip, ,rar, or .7z format. Individual SPCs should only be uploaded if it is the only song you've dumped from that game.

* Do not upload anything that is not SPC-related, or it will be deleted. We are not handling MP3s, PSFs, USFs, GSFs, or any other format at this time.



Post new topic Reply to topic  [ 1 post ] 
Author Message
 Post subject: Paperboy 2!?
PostPosted: Fri Oct 23, 2015 1:15 pm 
Offline
Moderator

Joined: Tue Oct 05, 2010 4:17 pm
Posts: 838
You are free to do a double take, especially when it's on the Undumpable list. I have recently attempted to take a sound driver that normally streams music and make it play the original music file (extracted directly from the ROM).

This can't be done with every single game (I'm looking at you, NBA Live '96, with its collection of tracks for me to deal with... and the sample data, all for music, consuming virtually the entire SPC700 memory... that's worse than the Lion King, and it is unresolvable due to memory constraints), but I started with this one because there was plenty of leftover memory for me to put in the music (and there were only two to deal with) and do a little bit of extra code.

In order for me to pull it off, I have to do the following:
- Reverse-engineer the SNES-side code (or cut it if the code has nothing to do with the SPC700)
- Determine memory consumption for each piece of music
- Determine memory consumption for the samples and, in case of insufficient memory, determine where SFX samples are and prepare to overwrite those (and do relocation of the other samples as needed). This technique comes from the Lion King, where I did just that due to memory constraints when trying to get rid of the sample swapping problem that gave out incorrect SPC sounds.

This can result in incomplete SPC sets if there are memory problems with the music, although sometimes I attempt to program a new command so that I can cut down on repetition and do some compression (this requires reverse-engineering to determine which values are permitted).

What I am trying to do is emulate the SNES-side code on the SPC700 (which includes frame delays) and then play back the entire music by coding a routine that reads the bytes straight out of the music. I found what I thought was free RAM (at direct page E0) that allowed me to put a pointer and a simple delay counter for one of the commands.

My main problem is either timer-related, or somehow my replacement code is processing the wrong number of bytes sometimes for commands (I know the exact parameter size for each command). Playback is almost there, except for some hiccups that I'm attempting to resolve (perhaps I should transfer to Windows and use a SPC player that has a debugger to figure out what's going on) I'm using an extra timer currently, but I'm considering using the existing timer and just simply do some fine adjustments and see if that solves the problem. This is especially important for the delay command, because if that doesn't work, then the rest of the music will simply speed through.

I'm only doing one song for now. There's two of them, but I'm only doing the second one after the first one is playable. Then once this game's SPC set is done and ready, then I can go look at more games using the same sound driver (as long as the simplistic format persists: I'll have to make sure it stays that way, or else I'm going to have to adapt to any extra commands).


Attachments:
Paperboy 2 for SPC TEST2F.spc [64.5 KiB]
Downloaded 424 times
Paperboy 2 for SPC TEST2E.spc [64.5 KiB]
Downloaded 401 times
Paperboy 2 for SPC TEST2D.spc [64.5 KiB]
Downloaded 378 times
Paperboy 2 for SPC TEST2C.spc [64.5 KiB]
Downloaded 371 times
Paperboy 2 for SPC TEST2B.spc [64.5 KiB]
Downloaded 377 times
Paperboy 2 for SPC TEST2A.spc [64.5 KiB]
Downloaded 375 times
Paperboy 2 for SPC TEST2.spc [64.5 KiB]
Downloaded 431 times

_________________
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  [ 1 post ] 

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