From 71e14e459a261d25c215d16c9dd74f34b1f10133 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 14 Apr 2024 10:15:23 -0500 Subject: [PATCH] update documentation - 5E01 - mention software backend --- doc/2-interface/settings.md | 1 + doc/7-systems/5e01.md | 62 +++++++++++++++++++++++++++++++++++++ doc/7-systems/nes.md | 4 ++- 3 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 doc/7-systems/5e01.md diff --git a/doc/2-interface/settings.md b/doc/2-interface/settings.md index f53d5aa2b..ec61e9371 100644 --- a/doc/2-interface/settings.md +++ b/doc/2-interface/settings.md @@ -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). diff --git a/doc/7-systems/5e01.md b/doc/7-systems/5e01.md new file mode 100644 index 000000000..a7d650c98 --- /dev/null +++ b/doc/7-systems/5e01.md @@ -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. diff --git a/doc/7-systems/nes.md b/doc/7-systems/nes.md index cfd1823a6..3130a9f61 100644 --- a/doc/7-systems/nes.md +++ b/doc/7-systems/nes.md @@ -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