Points of Required Attention™
Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,439,129
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 04-19-24 10:12 PM
Guest: Register | Login

0 users currently in ROM Hacking | 1 guest

Main - ROM Hacking - N-SPC? New thread | New reply


smkdan
Posted on 05-27-07 11:10 AM Link | Quote | ID: 38893


Ninji
Level: 36

Posts: 5/238
EXP: 288496
Next: 19614

Since: 05-26-07

Last post: 4056 days
Last view: 4005 days
I hear this is a very common SPC player used in alot of in house SNES games. I've been collecting notes on offsets of F-Zero and how it operates, and I'm not sure if I remember any mentions of it in a previous thread but I'd like to play with the music / SFX side of things. There was a music hacking thread a fair while back, so i'm guessing someone has to have some documentation on the commands the SNES has to write to 2140-2143 to do its work.

Thanks,

Kejardon
Posted on 05-27-07 10:53 PM Link | Quote | ID: 38992


Red Koopa
Level: 28

Posts: 98/139
EXP: 129740
Next: 1598

Since: 02-21-07

Last post: 6080 days
Last view: 5988 days
I'll post my notes so far. They're not done yet, but there's still a lot of info.
Also, this is all for Super Metroid, so all the instrument data and such probably won't be relevant for you. Also a lot of offsets and commands seem to change from game to game - For example, Zelda: LttP has more commands for 2140 and fewer commands for notes, and the code doesn't start at 1500 (Going purely off of memory, so this could be wrong). But for the most part, the information is usually the same.

As for what's sent to 2140 - 2143... 2141 - 2143 are used for sound effects, I think, and so you don't need to worry about them most of the time. 2140 is used as instructions for the main engine.
F0: End currently playing sound effects. I think. I haven't tested it, but that looks like what it does.
F1: Not sure what it does. Looks like it does nothing, but untested.
FF: Get new song data from main CPU.
00 - 80: Index for new song track. Only 00 through 08 or so are valid usually, picking an invalid one = crash.

x is used almost exclusively as a channel index: x = 2 * (current channel)

http://drewseph.zophar.net/Kejardon/SPCRamMap.txt

Keitaro
Posted on 05-28-07 12:19 AM Link | Quote | ID: 39009


Mole
Level: 42

Posts: 329/351
EXP: 520667
Next: 695

Since: 02-19-07
From: Massachusetts

Last post: 5958 days
Last view: 5395 days
I have an oooooooold document I wrote on hacking F-Zero's sound if you're interested, its a bit dated but it will probably give you a base to start with...

smkdan
Posted on 05-28-07 10:04 AM Link | Quote | ID: 39136


Ninji
Level: 36

Posts: 8/238
EXP: 288496
Next: 19614

Since: 05-26-07

Last post: 4056 days
Last view: 4005 days
I'd appreciate that Keitaro. F-Zero is one of the launch titles so with any hope it'll have less commands than later titles. I'll note those 2140 writes, since I'm looking for commands in particular. Don't want to get into hacking the SPC routines or anything right now.

Kejardon
Posted on 05-28-07 09:41 PM Link | Quote | ID: 39215


Red Koopa
Level: 28

Posts: 99/139
EXP: 129740
Next: 1598

Since: 02-21-07

Last post: 6080 days
Last view: 5988 days
The main thing of interest is right in the middle of my notes: a list of all the instructions for the actual song data. The first half of it is basically notes for myself to help me disassemble the engine.
I'm not very good at making stuff easy to read for other people.

Main - ROM Hacking - N-SPC? New thread | New reply

Acmlmboard 2.1+4δ (2023-01-15)
© 2005-2023 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 0.017 seconds. (339KB of memory used)
MySQL - queries: 57, rows: 81/82, time: 0.013 seconds.