update documentation

- 5E01
- mention software backend
This commit is contained in:
tildearrow 2024-04-14 10:15:23 -05:00
parent 9926fc4837
commit 71e14e459a
3 changed files with 66 additions and 1 deletions

View file

@ -15,6 +15,7 @@ settings are saved when clicking the **OK** or **Apply** buttons at the bottom o
- DirectX 11: works with the majority of graphics chips/cards and is optimized specifically for Windows.
- SDL Renderer: this was the only available render backend prior to the addition of dedicated OpenGL/DirectX backends in 0.6. default on macOS.
- it is slower than the other backends.
- Software: this is a last resort backend which renders the interface in software. very slow!
- **Render driver**: this setting appears when using the SDL Renderer backend. it allows you to select an SDL render driver.
- **VSync**: synchronizes rendering to VBlank and eliminates tearing.
- **Frame rate limit**: allows you to set a frame rate limit (in frames per second).

62
doc/7-systems/5e01.md Normal file
View file

@ -0,0 +1,62 @@
# 5E01
a fantasy sound chip created by Euly, based on the Ricoh 2A03, with some improvements:
- a 37.5% duty cycle,
- 32 noise pitches instead of 16, and
- triangle channel becomes a wave channel, with four available waveforms: triangle, saw, sine and square.
## effects
- `11xx`: **write to delta modulation counter.** range is `00` to `7F`.
- this may be used to attenuate the triangle and noise channels; at `7F`, they will be at about 57% volume.
- will not work if a sample is playing.
- `12xx`: **set duty cycle/noise mode/waveform of channel.**
- may be `0` to `3` for the pulse channels:
- `0`: 12.5%
- `1`: 25%
- `2`: 37.5%
- `3`: 50%
- may be `0` or `1` for the noise channel:
- `0`: long (15-bit LFSR, 32767-step)
- `1`: short (9-bit LFSR, 93-step)
- may be `0` to `3` for the wave channel:
- `0`: triangle
- `1`: saw
- `2`: square
- `3`: sine
- `13xy`: **setup sweep up.**
- `x` is the time.
- `y` is the shift.
- set to `0` to disable it.
- `14xy`: **setup sweep down.**
- `x` is the time.
- `y` is the shift.
- set to `0` to disable it.
- `15xx`: **set envelope mode.**
- `0`: envelope + length counter. volume represents envelope duration.
- `1`: length counter. volume represents output volume.
- `2`: looping envelope. volume represents envelope duration.
- `3`: constant volume. default value. volume represents output volume.
- pulse and noise channels only.
- you may need to apply a phase reset (using the macro) to make the envelope effective.
- `16xx`: **set length counter.**
- see [NES](nes.md) for more information.
- this will trigger phase reset.
- `17xx`: **set frame counter mode.**
- `0`: 4-step.
- `1`: 5-step.
- `18xx`: **set PCM channel mode.**
- `00`: PCM (software).
- `01`: DPCM (hardware).
- when in DPCM mode, samples will sound muffled (due to its nature), availables pitches are limited, and loop point is ignored.
- `19xx`: **set triangle linear counter.**
- `00` to `7F` set the counter.
- `80` and higher halt it.
- `20xx`: **set DPCM frequency.**
- only works in DPCM mode.
## info
this chip uses the [NES](../4-instrument/nes.md) instrument editor.

View file

@ -2,7 +2,9 @@
the console from Nintendo that plays Super Mario Bros. and helped revive the agonizing video game market in the US during mid-80s.
also known as Famicom. it is a five-channel sound generator: first two channels play pulse wave with three different duty cycles, third is a fixed-volume triangle channel, fourth is a noise channel (can work in both pseudo-random and periodic modes) and fifth is a (D)PCM sample channel.
also known as Family Computer (Famicom), especially in Japan.
the console is powered by the Ricoh 2A03, a CPU with sound generator built-in. it has five channels: first two channels play pulse wave with three different duty cycles, third is a fixed-volume triangle channel, fourth is a noise channel (can work in both pseudo-random and periodic modes) and fifth is a (D)PCM sample channel.
## effects