mirror of
https://github.com/tildearrow/furnace.git
synced 2024-11-13 00:05:06 +00:00
2.5 KiB
2.5 KiB
Yamaha YM2151
the sound chip powering several arcade boards, the Sharp X1/X68000 and the Commander X16. Eight 4-op FM channels, with overpowered LFO and almost unused noise generator.
it also was present on several pinball machines and synthesizers of the era, and later surpassed by the YM2414 (OPZ) present in the world-famous TX81Z.
in most arcade boards the chip was used in combination with a PCM chip, like SegaPCM or OKI's line of ADPCM chips.
effects
10xx
: set noise frequency of channel 8 operator 4. 00 disables noise while 01 to 20 enables it.11xx
: set feedback of channel.12xx
: set operator 1 level.13xx
: set operator 2 level.14xx
: set operator 3 level.15xx
: set operator 4 level.16xy
: set multiplier of operator.x
is the operator (1-4).y
is the multiplier.
17xx
: set LFO speed.18xx
: set LFO waveform.xx
may be one of the following:00
: saw01
: square02
: triangle03
: noise
19xx
: set attack of all operators.1Axx
: set attack of operator 1.1Bxx
: set attack of operator 2.1Cxx
: set attack of operator 3.1Dxx
: set attack of operator 4.1Exx
: set LFO AM depth.1Fxx
: set LFO PM depth.30xx
: enable envelope hard reset.- this works by inserting a quick release and tiny delay before a new note.
50xy
: set AM of operator.x
is the operator (1-4). a value of 0 means "all operators".y
determines whether AM is on.
51xy
set SL of operator.x
is the operator (1-4). a value of 0 means "all operators".y
is the value.
52xy
set RR of operator.x
is the operator (1-4). a value of 0 means "all operators".y
is the value.
53xy
set DT of operator.x
is the operator (1-4). a value of 0 means "all operators".y
is the value:- 0: +0
- 1: +1
- 2: +2
- 3: +3
- 4: -0
- 5: -3
- 6: -2
- 7: -1
54xy
set RS of operator.x
is the operator (1-4). a value of 0 means "all operators".y
is the value.
55xy
set DT2 of operator.x
is the operator (1-4). a value of 0 means "all operators".y
is the value.
56xx
: set DR of all operators.57xx
: set DR of operator 1.58xx
: set DR of operator 2.59xx
: set DR of operator 3.5Axx
: set DR of operator 4.5Bxx
: set D2R/SR of all operators.5Cxx
: set D2R/SR of operator 1.5Dxx
: set D2R/SR of operator 2.5Exx
: set D2R/SR of operator 3.5Fxx
: set D2R/SR of operator 4.