Language…
13 users online:  Atari2.0, Brian94, Danik2343, Darolac, DixyNL, Golden Yoshi, Jordan, masl, Pink Gold Peach, Rykon-V73, Shiki_Makiro, synthie_cat, Zavok - Guests: 231 - Bots: 317
Users: 64,795 (2,377 active)
Latest user: mathew

Attention music porters.


well, i don't even know how the echo command works, i only know the ADSR command. :P



I might put some sort of signature here once. I guess.
Surpisingly enough it is NOT ONLY the $F1 command guys but $EF as well, if you use Carol's addmusic. I have no clue about Romi's addmusic though.

Me and Kil had a few PMs after he found out that the data is being stored at $6000 in ARAM. Basically I just need to change where addmusic stores it and it "should" be fixed.
Right. I wish I knew more about what was going on in ARAM, but I don't know a whole lot about what data is what, what is free, where the sound effect data is, etc. One thing I know is the location of the samples.

Here's a really primitive and incomplete ARAM map for SMW I was making a few months ago. Stuff containing question marks is probably just a wild guess, or something I wasn't able to figure it out at the time.

Code
$0000~0001	- ?
$0008~000B	- ?
$0014~0015	- during data upload, points to destination of current upload
$0030~003F	- 2 bytes per channel. points to next (or current?) music data byte for each channel in ARAM
$0044		- main timer, increases after every tick of spc register $fd?
$0045		- high byte of main timer $0044
$0046		- ?
$0047		- ? holds 1 when there is a key on event
$0048		- ? some kind of a bitwise indicator of current channel being processed

$0050		- forced to 0 (high byte of next addr)
$0051		- "tempo"

$0060		- loaded with d4 (Set patch command)
$0061		- forced to 0 (high byte of next addr)
$0062		- engine sends this to $2c rw EVOLL - Left channel echo volume
$0063		- forced to 0 (high byte of next addr)
$0064		- engine sends this to $3c rw EVOLR - Right channel echo volume

$01CF		- stack

$0240~024F	- low bytes = channel 0-7 volumes. high bytes = ??

$0280~028F	- low bytes = channel 0-7 panning. high bytes = ??

$02B0~02BF	- low bytes = channel 0-7 current note value 
		 	  high bytes = pitch modifier/tuning value? FF = (almost) 1 semitone higher

$02D0~02DF	- low bytes = channel 0-7 pitch modifier/tuning value. high bytes = ??

$0500~??	- Start of spc engine code. Not sure where it ends

$1295~		- table of initial dsp settings (tied to $12A1, contains the values sent to dsp reg adresses)

$12A1~??	- table of initial dsp settings (contains the dsp register addresses themselves)

$6000~		- Echo ring buffer default address (see DSP register 6D)

$8000~		- table of samples. contains the start address and the loop setting of each sample. (see DSP register 5D)
$DFFF		- between $8000 and $DFFF sits all of the sample data


Music data in vanilla smw typically gets stored somewhere in that big black space before $6000, but I don't know the details.

There seems to be nothing at the beginning of $F000 (the boot rom is towards the end of it) but I don't know if that memory is special in some way.

For more detailed info just check anomie's SPC and DSP documents.
http://www.romhacking.net/community/548/

For digging around in ARAM, I recommend bsnes debugger, which has a memory editor that can view ARAM and is accurate.
Update:

I am now in the process of moving songs that have a delay value greater than $04 to my files for archiving. I will list the songs here that will be moved, and once moved, I will give a link to each of them.

*Chrono Trigger - "Manoria Cathedral"
*Chrono Trigger - "Ocean Palace"
*Chrono Trigger - Corridors of Time
*Chrono Trigger - Schala's Theme
*Dark Cloud 2 - Gundorada Workshop
*Kirby's Dream Land 3 - Cloudy Park: Map
*Mario Kart 64 - 'Frappe Snowland'
*Mario Kart Double Dash - Rainbow Road
*Metroid: Zero Mission - Title Screen
*Super Mario 64 - Bowser's Domain
*Youkai Buster: Ruka no Daibouken - Stage 2

Oh shit, some of those songs are in ASMWCP.. >.<



I might put some sort of signature here once. I guess.
Originally posted by JeRRy86
Oh shit, some of those songs are in ASMWCP.. >.<


Most of those songs are EASILY fixed.

Edit: that gives me an idea...
I've already taken care of any instances of the $04 bug within SMWCP - don't worry about that.

Thanks for cleaning this up, Atma.
So, after some testing, I found that MOST of the songs that break the echo command sound just as good when they used a weaker echo command. As such, I will be uploading fixed versions of these songs ALONG with the original version.

So far S.N.N.'s Ocean Palace is the only fixed port.
Finally the music sections been being taken care of more.
I own a community of TF2 servers!

ASMT - A new revolutionary ASM system, aka 65c816 ASseMbly Thing
SMWCP - SMW Central Presents a Product- tion long name

frog

http://esolangs.org/wiki/MarioLANG
It still has a long way to go. We haven't had a steady music mod up until now, minus Jimmy. Getting rid of these >$04 songs is the first step - the next is filtering out pretty much all of the low quality stuff.

It's going to take a while for sure, but the result will be a cleaner and more awesome music section.
@Kil: Well, I for one would definitely support an ARAM map. If you get a chance to look more into this...

----------------

I'm working on a hack! Check it out here. Progress: 64/95 levels.
welcome to last year before this glitch was known, dude.
I gotta use these songs in my joke hack! YOU MUST PLAY IT ON ZSNES!

In all seriousness, this is a good idea.

edit: Damn it, I was using Metroid - Zero Mission's title. Oh well, thanks for the warning.