From c6e045dd2266235e6ee742c05a632f1a6621debe Mon Sep 17 00:00:00 2001 From: freq-mod <32672779+freq-mod@users.noreply.github.com> Date: Mon, 1 May 2023 21:26:06 +0200 Subject: [PATCH] add es5506 doc --- papers/doc/7-systems/es5506.md | 41 ++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 papers/doc/7-systems/es5506.md diff --git a/papers/doc/7-systems/es5506.md b/papers/doc/7-systems/es5506.md new file mode 100644 index 00000000..acdcd0a4 --- /dev/null +++ b/papers/doc/7-systems/es5506.md @@ -0,0 +1,41 @@ +# Ensoniq ES5506 (OTTO) + +Sample-based synthesis chip used in a bunch of Taito arcade machines and PC sound cards like Soundscape Elite. A variant of it was the heart of the well-known Gravis Ultrasound. + +it supports a whooping 32 channels of 16-bit PCM and: + +- Real time digital filters +- Frequency interpolation +- Loop start and stop positions for each voice (bidirectional and reverse looping) +- Internal volume multiplication and stereo panning +- Hardware support for envelopes + +# effects + +- `10xx`: set waveform. +- `11xx`: set filter mode (0-3) +- `120x`: set pause (bit 0). Pauses the sample until the bit is unset, where it will then resume where it left off. +- `14xx`: set filter coefficient K1 low byte. +- `15xx`: set filter coefficient K1 high byte. +- `16xx`: set filter coefficient K2 low byte. +- `17xx`: set filter coefficient K2 high byte. +- `18xx`: set filter coefficient K1 slide up. +- `19xx`: set filter coefficient K1 slide down. +- `1Axx`: set filter coefficient K2 slide up. +- `1Bxx`: set filter coefficient K2 slide down. +- `20xx`: set envelope count. +- `22xx`: set envelope left volume ramp. +- `23xx`: set envelope right volume ramp. +- `24xx`: set envelope filter coefficient K1 ramp. +- `25xx`: set envelope filter coefficient K1 ramp (slower). +- `26xx`: set envelope filter coefficient K2 ramp. +- `27xx`: set envelope filter coefficient K2 ramp (slower). +- `3xxx`: set coarse filter coefficient K1. +- `4xxx`: set coarse filter coefficient K2. +- `81xx`: set panning (left channel). +- `82xx`: set panning (right channel). +- `88xx`: set panning (rear channels). +- `89xx`: set panning (rear left channel). +- `8Axx`: set panning (rear right channel). +- `9xxx`: set sample offset (x256). +- `DFxx`: set sample playback direction.