====== Audio Effects ====== Earthbound has four audio effect tables, each representing one SPC700 port. Note: All addresses in this document are relative to 0x25FB42 in a vanilla ROM. ^ Port ^ Address ^ Entries ^ Notes ^ | Port 0 | $180D | 1 | Unused, overridden by music track changes | | Port 1 | $17D5 | 28 | Used for most music effects | | Port 2 | $17C5 | 8 | Only used for Giygas static | | Port 3 | $16C7 | 127 | Used for most sound effects | ===== Effect Format ===== Each entry points to an effect, with the byte at offset -1 determining its type. ^ Type ^ Description ^ | 00 | Same as 02? Unused? | | 02 | Single note? [NN HH II VV PP nn TT] | | 04 | Sequenced [II VV PP TT seq...] | | 06 | Sequenced, no staccato [II VV PP TT seq...] | | 08 | Assembly | | 0A | Like 04, but has a pointer to a second channel at offset -3 | | 0C | Like 06, but has a pointer to a second channel at offset -3 | | 0E | Same as 10? Unused? | | 10 | Noise, single channel. Has a pointer to GAIN data at offset -3 and a pointer to noise clocks at -5 [LL HH II VV PP CC SS] | * NN: Note length * HH: Hold length * II: Instrument * VV: Volume * PP: Panning * nn: Note * TT: Tuning * LL: Length * CC: Noise clock * SS: Speed ==== Sequence Format ==== ^ Byte ^ Description ^ | 00 | Terminates sequence | | 01-7F | Sets note length | | 80-C7 | Plays a note | | C8 | Tie | | C9 | Rest | | CA | Unknown (noise?) | | CB-DF | Undefined | | E0 | Change instrument | | E1 | Set panning | | E2-EC | Undefined | | ED | Set volume | | EE-FF | Undefined | ==== GAIN Format ==== ??? ==== Noise Clock Format ==== ???