dev164 - Namco 163: improvements, part 4

- per-channel wave offset/length
- wave load position/length effects
- global wave load effects that actually make sense
- update doc
This commit is contained in:
tildearrow 2023-07-21 19:54:35 -05:00
parent d411c9caba
commit ad88ce46ab
11 changed files with 172 additions and 159 deletions

View file

@ -4,27 +4,23 @@ The Namco 163 instrument editor consists of two tabs: "Namco 163" for control of
## Namco 163
- **Waveform**: Determines the initial waveform for playing.
- **Offset**: Determines the initial waveform position will be load to RAM.
- **Length**: Determines the initial waveform length will be load to RAM.
- **Load waveform before playback**: Determines the load initial waveform into RAM before playback.
- **Update waveforms into RAM when every waveform changes**: Determines the update every different waveform changes in playback.
- **Load waveform**: if enabled, a waveform will be loaded when this instrument plays.
- if it isn't then only the offset/length change.
- **Waveform**: determines the waveform that will be loaded.
- only appears when Load waveform is enabled.
- **Per-channel wave offset/length**: when enabled, the offset/length settings are split per channel.
- **Offset**: determines the waveform position in RAM.
- **Length**: determines the waveform length in RAM.
## Macros
- **Volume**: volume levels sequence
- **Arpeggio**: pitch sequence
- **Wave Pos**: sets waveform seek position in RAM
- **Waveform**: sets waveform source for playback immediately or update later
- **Panning**: output for left and right channels
- **Pitch**: fine pitch
- **Phase Reset**: trigger restart of waveform
- **Wave Length**: sets waveform length
<!--
- **Waveform pos.**: sets the waveform source address in RAM for playback (single nibble unit)
- **Waveform len.**: sets the waveform source length for playback (4 nibble unit)
- **Waveform update**: sets the waveform update trigger behavior for playback
- **Waveform to load**: sets waveform source for load to RAM immediately or later
- **Wave pos. to load**: sets address of waveform for load to RAM (single nibble unit)
- **Wave len. to load**: sets length of waveform for load to RAM (4 nibble unit)
- **Waveform load**: sets the waveform load trigger behavior
-->
- **Phase Reset**: trigger restart of waveform
-->

View file

@ -18,24 +18,16 @@ global commands don't care about the channel columns for work commands and its l
# effects
- `10xx`: **set waveform for playback.**
- `11xx`: **set waveform position in RAM for playback.** single nibble unit.
- `12xx`: **set waveform length in RAM for playback.** `04` to `FC`, 4 nibble unit.
- `130x`: **set playback waveform update behavior.**
- `0`: off.
- bit 0: update now.
- bit 1: update when every waveform is changed.
- `14xx`: **set waveform for load to RAM.**
- `15xx`: **set waveform position for load to RAM.** single nibble unit.
- `16xx`: **set waveform length for load to RAM.** `04` to `FC`, 4 nibble unit.
- `170x`: **set waveform load behavior.**
- `0`: off.
- bit 0: load now.
- bit 1: load when every waveform is changed.
- `180x`: **set channel limit.** range is `0` to `7`; 1 is added to get results of 1 through 8.
- `20xx`: **globally set waveform for load to RAM.**
- `21xx`: **globally set waveform position for load to RAM.** single nibble unit.
- `22xx`: **globally set waveform length for load to RAM.** `04` to `FC`, 4 nibble unit.
- `230x`: **globally set waveform load behavior.**
- `0`: off.
- bit 0: load now.
- bit 1: load when every waveform is changed.
- `11xx`: **set waveform position in RAM for playback.**
- `12xx`: **set waveform length in RAM for playback.**
- `x` goes from `04` to `FC` in steps of 4.
- `15xx`: **set waveform load position.**
- `16xx`: **set waveform load length.**
- `x` goes from `04` to `FC` in steps of 4.
- `180x`: **set channel limit.**
- range of `x` is `0` to `7`. 1 is added to get results of 1 through 8.
- `20xx`: **load a waveform to RAM.**
- `x` is the waveform.
- the length is determined by the wave's width (it will be snapped to a multiple of 4 if it isn't).
- make sure to use `21xx` first!
- `21xx`: **set position for 20xx.**