well, i don't even know how the echo command works, i only know the ADSR command.
I might put some sort of signature here once. I guess.
$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