mirror of
https://github.com/tildearrow/furnace.git
synced 2024-11-05 12:25:05 +00:00
26 lines
1.1 KiB
Markdown
26 lines
1.1 KiB
Markdown
|
# Atari Lynx instrument editor
|
||
|
|
||
|
Atari Lynx instrument editor consists of only three macros:
|
||
|
|
||
|
- [Volume] - volume sequence
|
||
|
- [Arpeggio] - pitch sequencer
|
||
|
- [Duty/Int] - bit pattern for LFSR taps and integration.
|
||
|
|
||
|
## Audio generation description
|
||
|
|
||
|
Atari Lynx to generate sound uses 12-bit linear feedback shift register with configurable tap. Nine separate bits can be enable to be the source of feedback.
|
||
|
Namely bits 0, 1, 2, 3, 4, 5, 7, 10 and 11. To generate ANY sound at least one bit MUST be enable.
|
||
|
|
||
|
### Square wave
|
||
|
|
||
|
The LFSR is shifted at the rate define by sound pitch and generates square wave by setting channel output value to +volume or -volume, depending on the bit shifted in.
|
||
|
|
||
|
### Triangle wave
|
||
|
|
||
|
Alternatively when "int" bit is set sound wave is generated by adding or subtracting volume from output effectively producing triangle wave.
|
||
|
|
||
|
#### How triangle wave works?
|
||
|
|
||
|
Hint: To obtain triangle set bits "int" and "11" in "Duty/Int" sequence and set volume to about 22.
|
||
|
By enabling 11th tap bit the value shifted in is negated after 11 bit is shifted in hence the volume is added for 11 cycles and then subtracted for 11 cycles.
|