User Tools

Site Tools


earthbound:audio_effects

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
earthbound:audio_effects [2023/01/13 22:23] – removed herringwayearthbound:audio_effects [2023/06/05 14:42] (current) herringway
Line 1: Line 1:
 +====== 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 ====
 +???
earthbound/audio_effects.1673648601.txt.gz · Last modified: 2023/01/13 22:23 by herringway