mirror of
https://github.com/tildearrow/furnace.git
synced 2024-11-01 10:32:40 +00:00
81ab2acb2c
Trying for more consistency and clarity, especially for quick reference.
26 lines
1.4 KiB
Markdown
26 lines
1.4 KiB
Markdown
# OKI MSM5232
|
|
|
|
a rather primitive (but powerful) sound generator chip used in some arcade boards and even synthesizers (like Korg Poly-800).
|
|
|
|
it has 8 channels in 2 groups (of 4 channels each). each group can be configured with an envelope and the ability to produce 2', 4', 8' and/or 16' square/noise overtones on 8 outputs (four (2', 4', 8' and 16') per group).
|
|
|
|
however, this chip cannot entirely produce sound alone. it has to be paired with either an external envelope generator or capacitors to assist the internal envelope generator.
|
|
|
|
it also has no fine tune whatsoever. the frequency resolution is exactly a semitone.
|
|
|
|
Furnace implements this chip in a way that allows the following features:
|
|
- internal (capacitors) or external (volume macro) envelope modes per group
|
|
- the ability to change the volume of each output (this can be used to generate saw waves if you set each part/overtone's volume to exactly half of the previous one)
|
|
- global fine tune
|
|
- global vibrato (some arcade boards played with the clock input to simulate vibrato)
|
|
|
|
# effects
|
|
|
|
- `10xy`: **set group control.**
|
|
- `x` sets sustain mode.
|
|
- `y` is a 4-bit mask which toggles overtones.
|
|
- `11xx`: **set noise mode.**
|
|
- `12xx`: **set group attack.** range is `0` to `5`.
|
|
- only in internal (capacitor-based) envelope mode.
|
|
- `13xx`: **set group decay.** range is `0` to `11`.
|
|
- only in internal (capacitor-based) envelope mode.
|