From e10a410cf1a13a3600b66ef1a73e9c2131d2830c Mon Sep 17 00:00:00 2001 From: freq-mod <32672779+freq-mod@users.noreply.github.com> Date: Fri, 8 Apr 2022 22:59:51 +0200 Subject: [PATCH 1/3] some docs improvemets --- papers/doc/7-systems/opll.md | 5 +++ papers/doc/7-systems/saa1099.md | 5 ++- papers/doc/7-systems/vrc6.md | 4 +- papers/doc/effects.md | 66 +++++++++++++++++++++++++++++++++ 4 files changed, 78 insertions(+), 2 deletions(-) create mode 100644 papers/doc/effects.md diff --git a/papers/doc/7-systems/opll.md b/papers/doc/7-systems/opll.md index 06f542f1..2e92171b 100644 --- a/papers/doc/7-systems/opll.md +++ b/papers/doc/7-systems/opll.md @@ -2,6 +2,11 @@ the YM2413, otherwise known as OPLL, is a cost-reduced FM synthesis sound chip, based on the Yamaha YM3812 (OPL2). thought OPL was downgraded enough? :p +OPLL spawned also a few derivative chips, the best known of these is: +- the myth. the legend. THE VRC7. 6 channels, *rather interesting* instruments sound bank, no drums mode +- Yamaha YM2423, same chip as YM2413, just a different patch set +- Yamaha YMF281, ditto + # technical specifications the YM2413 is equipped with the following features: diff --git a/papers/doc/7-systems/saa1099.md b/papers/doc/7-systems/saa1099.md index 093eb603..0cb19fbd 100644 --- a/papers/doc/7-systems/saa1099.md +++ b/papers/doc/7-systems/saa1099.md @@ -1,6 +1,9 @@ # Philips SAA1099 -this was used by the Game Blaster and SAM Coupé. it's pretty similar to the AY-3-8910, but has stereo sound, twice the channels and two envelopes, both of which are highly flexible. +this was used by the Game Blaster and SAM Coupé. it's pretty similar to the AY-3-8910, stereo sound, twice the channels and two envelopes, both of which are highly flexible. The envelopes work like this: + +an instrument with envelope settings is placed on channel 2 or channel 5 +an instrument that is used as an "envelope output", is placed on channel 3 or channel 6. You may want to disable wave output on the output channel. # effects diff --git a/papers/doc/7-systems/vrc6.md b/papers/doc/7-systems/vrc6.md index 63bda1ab..c89678b4 100644 --- a/papers/doc/7-systems/vrc6.md +++ b/papers/doc/7-systems/vrc6.md @@ -5,6 +5,8 @@ the most popular expansion chip to the NES' sound system. the chip has 2 pulse wave channels and one sawtooth channel. volume register is 4 bit for pulse wave and 6 bit for sawtooth, but sawtooth output is corrupted when volume register value is too high. because this register is actually an 8 bit accumulator, its output may wrap around. +For that reason, the sawtooth channel has it's own instrument type. Setting volume macro and pattern editor volume setting too high (above 42/2A) will distort the waveform. + pulse wave duty cycle is 8-level. it can be ignored and it has potential for DAC at this case: volume register in this mode is DAC output and it can be PCM playback through this mode. Furnace supports this routine for PCM playback, but it consumes a lot of CPU time in real hardware (even if conjunction with VRC6's integrated IRQ timer). @@ -13,4 +15,4 @@ Furnace supports this routine for PCM playback, but it consumes a lot of CPU tim these effects only are effective in the pulse channels. - `12xx`: set duty cycle (0 to 7). -- `17xx`: toggle PCM mode. \ No newline at end of file +- `17xx`: toggle PCM mode. diff --git a/papers/doc/effects.md b/papers/doc/effects.md new file mode 100644 index 00000000..773d3037 --- /dev/null +++ b/papers/doc/effects.md @@ -0,0 +1,66 @@ +# effect list + +most of the effect numbers are from ProTracker/FastTracker 2. +however, effects are continuous, which means you only need to type it once and then stop it with an effect value of `00`. + +- `00xy`: arpeggio. after using this effect the channel will rapidly switch between `note`, `note+x` and `note+y`. +- `01xx`: slide up. +- `02xx`: slide down. +- `03xx`: note portamento. + - a note must be present for this effect to work. +- `04xy`: vibrato. `x` is the speed, while `y` is the depth. + - maximum vibrato depth is ±1 semitone. +- `07xy`: tremolo. `x` is the speed, while `y` is the depth. + - maximum tremolo depth is -60 volume steps. +- `08xy`: set panning. `x` is the left channel and `y` is the right one. + - not all systems support this effect. +- `09xx`: set speed 1. +- `0Axy`: volume slide. + - if `x` is 0 then this is a slide down. + - if `y` is 0 then this is a slide up. +- `0Bxx`: jump to pattern. +- `0Cxx`: retrigger note every `xx` ticks. + - this effect is not continuous. +- `0Dxx`: jump to next pattern. +- `0Fxx`: set speed 2. + +- `9xxx`: set sample position to `xxx`\*0x100. + - not all systems support this effect. + +- `Cxxx`: change song Hz. + - `xxx` may be from `000` to `3ff`. + +- `E0xx`: set arpeggio tick. + - this sets the number of ticks between arpeggio values. +- `E1xy`: note slide up. `x` is the speed, while `y` is how many semitones to slide up. +- `E2xy`: note slide down. `x` is the speed, while `y` is how many semitones to slide down. +- `E3xx`: set vibrato direction. `xx` may be one of the following: + - `00`: up and down. + - `01`: up only. + - `02`: down only. +- `E4xx`: set vibrato range in 1/16th of a semitone. +- `E5xx`: set pitch. `80` is 0 cents. + - range is ±1 semitone. +- `EAxx`: toggle legato. +- `EBxx`: set sample bank. + - does not apply on Amiga. +- `ECxx`: note off after `xx` ticks. +- `EDxx`: delay note by `xx` ticks. +- `EExx`: send external command. + - this effect is currently incomplete. +- `EFxx`: add or subtract global pitch. + - this effect is rather weird. use with caution. + - `80` is center. +- `F0xx`: change song Hz by BPM value. +- `F1xx`: single tick slide up. +- `F2xx`: single tick slide down. +- `F3xx`: fine volume slide up (64x slower than `0Axy`). +- `F4xx`: fine volume slide down (64x slower than `0Axy`). +- `F8xx`: single tick volume slide up. +- `F9xx`: single tick volume slide down. +- `FAxy`: fast volume slide (4x faster than `0Axy`). + - if `x` is 0 then this is a slide down. + - if `y` is 0 then this is a slide up. +- `FFxx`: end of song/stop playback. + +additionally each system has its own effects. [click here for more details](../7-systems/README.md). From c381b60143c8ce4e8bf84e848fdeb64904aee290 Mon Sep 17 00:00:00 2001 From: freq-mod <32672779+freq-mod@users.noreply.github.com> Date: Fri, 8 Apr 2022 23:03:02 +0200 Subject: [PATCH 2/3] Update saa1099.md --- papers/doc/7-systems/saa1099.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/papers/doc/7-systems/saa1099.md b/papers/doc/7-systems/saa1099.md index 0cb19fbd..9cf7b643 100644 --- a/papers/doc/7-systems/saa1099.md +++ b/papers/doc/7-systems/saa1099.md @@ -1,6 +1,6 @@ # Philips SAA1099 -this was used by the Game Blaster and SAM Coupé. it's pretty similar to the AY-3-8910, stereo sound, twice the channels and two envelopes, both of which are highly flexible. The envelopes work like this: +this was used by the Game Blaster and SAM Coupé. it's pretty similar to the AY-3-8910, but has stereo sound, twice the channels and two envelopes, both of which are highly flexible. The envelopes work like this: an instrument with envelope settings is placed on channel 2 or channel 5 an instrument that is used as an "envelope output", is placed on channel 3 or channel 6. You may want to disable wave output on the output channel. From 7e4890d0ea70a898b2b88c246be2f2be69951563 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 8 Apr 2022 16:10:49 -0500 Subject: [PATCH 3/3] effects back on its orig place for now --- papers/doc/effects.md | 66 ------------------------------------------- 1 file changed, 66 deletions(-) delete mode 100644 papers/doc/effects.md diff --git a/papers/doc/effects.md b/papers/doc/effects.md deleted file mode 100644 index 773d3037..00000000 --- a/papers/doc/effects.md +++ /dev/null @@ -1,66 +0,0 @@ -# effect list - -most of the effect numbers are from ProTracker/FastTracker 2. -however, effects are continuous, which means you only need to type it once and then stop it with an effect value of `00`. - -- `00xy`: arpeggio. after using this effect the channel will rapidly switch between `note`, `note+x` and `note+y`. -- `01xx`: slide up. -- `02xx`: slide down. -- `03xx`: note portamento. - - a note must be present for this effect to work. -- `04xy`: vibrato. `x` is the speed, while `y` is the depth. - - maximum vibrato depth is ±1 semitone. -- `07xy`: tremolo. `x` is the speed, while `y` is the depth. - - maximum tremolo depth is -60 volume steps. -- `08xy`: set panning. `x` is the left channel and `y` is the right one. - - not all systems support this effect. -- `09xx`: set speed 1. -- `0Axy`: volume slide. - - if `x` is 0 then this is a slide down. - - if `y` is 0 then this is a slide up. -- `0Bxx`: jump to pattern. -- `0Cxx`: retrigger note every `xx` ticks. - - this effect is not continuous. -- `0Dxx`: jump to next pattern. -- `0Fxx`: set speed 2. - -- `9xxx`: set sample position to `xxx`\*0x100. - - not all systems support this effect. - -- `Cxxx`: change song Hz. - - `xxx` may be from `000` to `3ff`. - -- `E0xx`: set arpeggio tick. - - this sets the number of ticks between arpeggio values. -- `E1xy`: note slide up. `x` is the speed, while `y` is how many semitones to slide up. -- `E2xy`: note slide down. `x` is the speed, while `y` is how many semitones to slide down. -- `E3xx`: set vibrato direction. `xx` may be one of the following: - - `00`: up and down. - - `01`: up only. - - `02`: down only. -- `E4xx`: set vibrato range in 1/16th of a semitone. -- `E5xx`: set pitch. `80` is 0 cents. - - range is ±1 semitone. -- `EAxx`: toggle legato. -- `EBxx`: set sample bank. - - does not apply on Amiga. -- `ECxx`: note off after `xx` ticks. -- `EDxx`: delay note by `xx` ticks. -- `EExx`: send external command. - - this effect is currently incomplete. -- `EFxx`: add or subtract global pitch. - - this effect is rather weird. use with caution. - - `80` is center. -- `F0xx`: change song Hz by BPM value. -- `F1xx`: single tick slide up. -- `F2xx`: single tick slide down. -- `F3xx`: fine volume slide up (64x slower than `0Axy`). -- `F4xx`: fine volume slide down (64x slower than `0Axy`). -- `F8xx`: single tick volume slide up. -- `F9xx`: single tick volume slide down. -- `FAxy`: fast volume slide (4x faster than `0Axy`). - - if `x` is 0 then this is a slide down. - - if `y` is 0 then this is a slide up. -- `FFxx`: end of song/stop playback. - -additionally each system has its own effects. [click here for more details](../7-systems/README.md).