From SnesLab
Jump to: navigation, search

AddMusicM is a version of AddMusic developed by 757 around 2010. It bases on carol's AddMusic and comes with a lot of new features. It also has improved compatibility with the real hardware and accurate emulators, since the SPC700 ARAM usage is heavily remapped, and actually caring about echo buffer.

Notable Features for Porters

  • The $ED command can not only set ADSR value for a channel, but also GAIN.
  • Using $F3 $XX $YY instead of $E5 $XX $YY for setting sample of a channel, which avoided the conflict of tremolo command.
  • You can insert each BRR sample separately without needing sample bank file (.bnk) and Sample Tool.
  • Super loop command: It would helps for decreasing insert size of a song if uses wisely.
  • Legato command: Finally you can make legato in a song without spamming $DD $00 $01 $XX ^YY.
  • Light staccato enabling command: It would decrease the length of minor silence between notes.
  • Square wave command: It comes with built-in square wave sample, and the frequency CAN be changed mid-channel by simply using $FA $XX command.
  • Noise command: You can access to SPC's built-in noise with an single command.
  • You can swap echo enabling mid-channel.
  • You can set your custom FIR filter easily.
  • You can write any values directly into DSP register or ARAM, though only 1 byte can be written at once.

BRR Format

AddMusicM's author (757) designed a file format for interchanging BRR samples, which includes the loop point of a BRR sample in the file.

The file size should always be multiples of 9 plus 2, and the scheme look like this:

Byte 0-1 Byte 2+
Loop point (little endian) Chunks of BRR sample data

This file format has been supported by the community and various tools, like AddMusicK, split700, C700.

Backward compatibility from other AddMusic versions

AddMusicK natively supports most of AddMusicM's features but built-in square wave and direst byte writing to ARAM.