furnace/papers/doc/7-systems/soundunit.md

46 lines
1.5 KiB
Markdown
Raw Normal View History

2022-06-30 10:31:10 +00:00
# tildearrow Sound Unit
2022-07-01 06:11:51 +00:00
This is a fantasy sound chip, used in the specs2 fantasy computer designed by tildearrow. It includes native support for sample playback, but with only 8KB of sample data. Since 0.6pre1, this sound chip is no longer hidden by default and can be accessed through the module creation screen and can be added or removed.
# effects
2022-06-29 11:43:40 +00:00
- `10xx`: set waveform
2022-06-29 11:44:36 +00:00
- 0: pulse wave
- 1: sawtooth
- 2: sine wave
- 3: triangle wave
- 4: noise
- 5: periodic noise
2022-06-30 10:31:10 +00:00
- 6: XOR sine
- 7: XOR triangle
2022-06-29 11:43:40 +00:00
- `12xx`: set waveform (0 to 7F)
- `13xx`: set resonance of filter (0 to FF)
2022-06-29 11:44:36 +00:00
- despite what the internal effects list says (0 to F), you can use a resonance value from 0 to FF (255)
2022-06-29 11:43:40 +00:00
- `14xx`: set filter mode and ringmod
2022-06-29 11:44:36 +00:00
- bit 0: ring mod
- bit 1: low pass
- bit 2: high pass
- bit 3: band pass
2022-06-29 11:43:40 +00:00
- `15xx`: set frequency sweep period low byte
- `16xx`: set frequency sweep period high byte
- `17xx`: set volume sweep period low byte
- `18xx`: set volume sweep period high byte
- `19xx`: set cutoff sweep period low byte
2022-07-29 14:20:17 +00:00
- `1Axx`: set cutoff sweep period high byte
2022-06-29 11:43:40 +00:00
- `1Bxx`: set frequency sweep boundary
- `1Cxx`: set volume sweep boundary
- `1Dxx`: set cutoff sweep boundary
- `1Exx`: set phase reset period low byte
- `1Fxx`: set phase reset period high byte
- `20xx`: toggle frequency sweep
2022-06-29 11:44:36 +00:00
- bit 0-6: speed
- bit 7: up direction
2022-06-29 11:43:40 +00:00
- `21xx`: toggle volume sweep
2022-06-29 11:44:36 +00:00
- bit 0-4: speed
- bit 5: up direction
- bit 6: loop
- bit 7: alternate
2022-06-29 11:43:40 +00:00
- `22xx`: toggle cutoff sweep
2022-06-29 11:44:36 +00:00
- bit 0-6: speed
- bit 7: up direction
2022-06-29 11:43:40 +00:00
- `4xxx`: set cutoff (0 to FFF)