Merge pull request #564 from host12prog/master

Create docs for TildeArrow Sound Unit
This commit is contained in:
tildearrow 2022-07-01 01:10:57 -05:00 committed by GitHub
commit ed9ddb966a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 44 additions and 0 deletions

View File

@ -22,6 +22,7 @@ this is a list of systems that Furnace supports, including each system's effects
- [Philips SAA1099](saa1099.md)
- [Microchip AY8930](ay8930.md)
- [VERA](vera.md)
- [tildearrow Sound Unit](soundunit.md)
- [Seta/Allumer X1-010](x1-010.md)
- [WonderSwan](wonderswan.md)
- [Bubble System WSG](bubblesystem.md)

View File

@ -0,0 +1,43 @@
# tildearrow Sound Unit
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 20K 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
- `10xx`: set waveform
- 0: pulse wave
- 1: sawtooth
- 2: sine wave
- 3: triangle wave
- 4: noise
- 5: periodic noise
- 6: XOR sine
- 7: XOR triangle
- `12xx`: set waveform (0 to 7F)
- `13xx`: set resonance of filter (0 to FF)
- despite what the internal effects list says (0 to F), you can use a resonance value from 0 to FF (255)
- `14xx`: set filter mode and ringmod
- bit 0: ring mod
- bit 1: low pass
- bit 2: high pass
- bit 3: band pass
- `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
- `1Axx`: set cutoff sweep period low byte
- `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
- bit 0-6: speed
- bit 7: up direction
- `21xx`: toggle volume sweep
- bit 0-4: speed
- bit 5: up direction
- bit 6: loop
- bit 7: alternate
- `22xx`: toggle cutoff sweep
- bit 0-6: speed
- bit 7: up direction
- `4xxx`: set cutoff (0 to FFF)