mirror of
https://github.com/tildearrow/furnace.git
synced 2025-01-07 16:12:31 +00:00
more updates
This commit is contained in:
parent
1177759867
commit
09228cfd74
4 changed files with 21 additions and 4 deletions
|
@ -74,6 +74,7 @@ the following instrument types are available:
|
|||
- [TED](ted.md) - for use with Commodore Plus/4 and Commodore 16's TED chip.
|
||||
- [C140](c140.md) - for use with C140 sample chip.
|
||||
- [C219](c219.md) - for use with C219 sample chip.
|
||||
- [PowerNoise](powernoise.md) - for use with PowerNoise chip.
|
||||
|
||||
## macros
|
||||
|
||||
|
@ -91,9 +92,6 @@ each macro has the following parameters:
|
|||
- **Step Length (ticks)**: determines the number of ticks between macro steps. default is 1.
|
||||
- **Delay**: delays the macro until this many ticks have elapsed. default is 0.
|
||||
- the button is highlighted if either of these parameters is set to non-default values.
|
||||
- release mode: determines how macro release (`===` or `REL` in the pattern) is handled:
|
||||
- **Active**: jumps to release position on release.
|
||||
- **Passive**: does not jump to release position. this will result in delay if release position has not been reached yet.
|
||||
|
||||
## macro types
|
||||
|
||||
|
@ -167,6 +165,10 @@ the sequence can be edited in the text input field at the very bottom. the follo
|
|||
|
||||
in bitmask-style macros, the values are added up in binary and converted to decimal.
|
||||
|
||||
the release mode parameter determines how macro release (`===` or `REL` in the pattern) is handled:
|
||||
- **Active**: jumps to release position on release.
|
||||
- **Passive**: does not jump to release position. this will result in delay if release position has not been reached yet.
|
||||
|
||||
### ADSR
|
||||
|
||||
![ADSR macro editor](macro-ADSR.png)
|
||||
|
|
|
@ -24,6 +24,20 @@ note that using samples on Lynx is CPU expensive!
|
|||
|
||||
Atari Lynx generates sound using a 12-bit linear feedback shift register with configurable tap. nine separate bits can be enabled to be the source of feedback: 0, 1, 2, 3, 4, 5, 7, 10 and 11. to generate _any_ sound at least one bit _must_ be enabled.
|
||||
|
||||
### LFSR-based synthesis
|
||||
|
||||
a linear-feedback shift register is one method used for random number generation.
|
||||
it works by shifting a sequence of binary numbers (bits), taking the last bit into the output. then some of the bits are combined with others, doing a XOR (exclusive or) operation and then being pushed back.
|
||||
|
||||
think of it as a conveyor carrying glass bottles. each bottle may be empty or carrying water.
|
||||
the bottle at the end is taken. if there's water, then the output is 1. if it's empty, the output is 0.
|
||||
depending on the LFSR configuration, many bottles at specific positions ("taps") are looked at. these are combined from left to right, two by two:
|
||||
- if two bottles are identical, an empty bottle is pushed.
|
||||
- if one bottle has water but the other is empty, a water bottle is pushed.
|
||||
the process is repeated indefinitely.
|
||||
|
||||
unlike PowerNoise, Lynx's taps are in fixed positions, but it has many of them.
|
||||
|
||||
### 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.
|
||||
|
|
|
@ -15,7 +15,7 @@ depending on the LFSR configuration:
|
|||
- a bottle is pushed into the conveyor. it is either empty or filled with water depending on the bottle at a specific position in the conveyor (this is called a "tap"), or
|
||||
- two bottles at specific positions ("taps") are looked at and combined as follows:
|
||||
- if the bottles are identical, an empty bottle is pushed.
|
||||
- if one bottle has water but the other is empty, a watee bottle is pushed.
|
||||
- if one bottle has water but the other is empty, a water bottle is pushed.
|
||||
the process is repeated indefinitely.
|
||||
|
||||
PowerNoise uses either one or two taps for the LFSR, configurable via the Control macro.
|
||||
|
|
|
@ -90,6 +90,7 @@ this is the full list of chips that Furnace supports.
|
|||
- [PET](pet.md)
|
||||
- [Pokémon Mini](pokemini.md)
|
||||
- [POKEY](pokey.md)
|
||||
- [PowerNoise](powernoise.md)
|
||||
- [PV-1000](pv1000.md)
|
||||
- [QSound](qsound.md)
|
||||
- [RF5C68/RF5C164](ricoh.md)
|
||||
|
|
Loading…
Reference in a new issue