Yamaha YMF262
The Yamaha YMF262, also known as the OPL3 (OPL is an acronym for FM Operator Type-L), is an FM synthesis sound chip released by Yamaha Corporation in the early 1990s. It is an improved version of the Yamaha YM3812 (OPL2). It was used in a number of IBM PC soundcards including Sound Blaster 16 and Pro AudioSpectrum (16bit).
Overview
The YMF262 improved upon the feature-set of the YM3812, adding the following features:[1]
- twice as many channels (18 instead of 9)
- simple stereo (hard left, center or hard right)
- 4 channel sound output
- 4 new waveforms (alternating-sine, "camel"-sine, square and logarithmic sawtooth)
- 4 operator mode, pairing 2 channels together to create up to six 4 operator FM voices
- reduced latency for host-register access (the OPL2 had much longer I/O access delays)
- subtle differences in the sine-wave lookup table and envelope generator to YM3812 (e.g. the modulator waveform on YM3812 is delayed by one sample, whereas both carrier and modulator waveforms on OPL3 are properly synchronized)[2]
YMF262 also removed support for the little-used CSM mode, featured on YM3812 and YM3526.[2]
The YMF262's FM synthesis mode is configurable in different ways:[1]
- Its basic mode provides 18 two-operator FM channels.
- One setting, common to the OPL line, converts 3 of the FM channels into a 5-channel percussion set.
- Another setting, introduced with this chip, causes 12 of the channels to be paired up into six four-operator channels. This trades in polyphony for more complex sound formation.
- The two settings can be used separately or in conjunction, resulting in four total modes:
- 18 2-operator channels
- 15 2-operator channels + 5 drum channels (drum setting on)
- 6 2-operator channels + 6 4-operator channels (4-op setting on)
- 3 2-operator channels + 6 4-operator channels + 5 drum channels (both settings on)
Like its predecessor, the OPL3 outputs audio in digital-I/O form, requiring an external DAC chip like the YAC512.
Products
The YMF262 was used in many sound cards, including the popular Sound Blaster Pro 2, Sound Blaster 16 ASP[3]. The Sound Blaster 16 later models integrated the OPL3 with other chips. In the final model Creative Labs used an OPL3 clone chip, the CQM, integral with other chips.[4] It was used in the Pro AudioSpectrum (16bit).[3]
Variants and Derivatives
Yamaha also produced a fully compatible, low-power variant, the YMF289 OPL3-L, which targeted PCMCIA sound cards and laptop computers.
Yamaha's later PC audio controllers, including the YMF278 (OPL4), the single-chip Yamaha YMF718/719S, and the PCI YMF724/74x family, included the YMF262's FM synthesis block for backward compatibility with legacy software. See YMF7xx for more information.
Competing sound chip vendors (such as ESS,[5] OPTi,[6] Crystal[7] and others) designed their own OPL3-compatible audio chips, with varying degrees of faithfulness to the original OPL3.
In 2015 an open-source RTL implementation of the OPL3 was written in SystemVerilog and adapted to an FPGA.[8]
Yamaha YMF289
The Yamaha YMF289 is a low-power version of the YMF262.[9] It is designed for low-power applications such as laptops and PCMCIA sound cards. It was used in some Sound Blaster 16 sound cards made by Creative Technology. The YMF289B is paired with a YAC513 or YAC516 companion floating-point DAC chip.
The YMF289 is fully register-compatible with and retains the feature-set of the YMF262, with a number of differences:[9]
- Supports 5 or 3.3 volt operation.
- The registers can be read or written by the host CPU, whereas on the YMF262 they are write-only.
- 44100 Hz (44.1 kHz) output sample rate.
- A power-down mode is added.
- Somewhat smaller overall footprint, including DAC, compared to a full YMF262 implementation.
- 33.868 MHz input clock, compared to the 14.32 MHz input clock used for the YMF262.
- Internal linear interpolator.
- Yamaha YMF289B and companion YAC516 DAC
ESS ESFM
ESS Technology's in-house developed derivative, termed ESFM, is an enhanced, 20-voice, 72-operator, OPL3-compatible clone incorporating two operating modes, a Native mode and a Legacy mode, which controls its feature-set and behavior.[5] In Native mode, ESFM allows more than six 4-operator FM voices to be mapped, potentially allowing for a significant increase in the complexity of tones generated. The drivers for Windows 9x incorporate their own custom instrument patches which make use of this extended mode. Conversely, Legacy mode provides full backward-compatibility with Yamaha's YMF262.[5] ESFM's output in this mode is moderately faithful to the YMF262 overall, but some tones are rendered quite differently, resulting in unique distortions in the sound and music of some games.
ESFM is available in ESS sound chips starting with the ISA-based ES1688 AudioDrive, up to the PCI-based ES1938 Solo-1, whereas earlier chips required an external FM synthesizer chip (typically a Yamaha YMF262). ESS's Maestro series of PCI-based sound chips rely on a software implementation of FM synthesis that lacks ESFM's special features.
- The ES1869F is one of several ESS-developed sound chips which incorporate their unique ESFM function.
References
- https://web.archive.org/web/20030520163334/http://www.fit.vutbr.cz/~arnost/opl/lost+found/ymf262.pdf
- http://dev.kewl.org/misc/ymf262/ymf262.c
- https://www.youtube.com/watch?v=z3DU2mNBa6M&t=10m11s
- http://www.flaterco.com/kb/audio/ISA/index.html
- ftp://ftp.alsa-project.org/pub/manuals/ess/DS1878A.PDF
- http://www.datasheets360.com/pdf/-97977721078553128
- http://gd.tuwien.ac.at/linux/alsa/datasheets/cirrus/4236b.pdf
- https://github.com/gtaylormb/opl3_fpga
- http://doc.chipfind.ru/pdf/yamaha/ymf289b.pdf
External links
- MIDIbox FM, a YMF262-based DIY synthesizer
- AdlibTracker.net Adlib Tracker II (YMF262-Tracker)
- RAD Reality Adlib Tracker (YMF262-Tracker)
- An YMF262 emulator with an online player for OPL3 music.
- OPLx decapsulated (a reverse engineering report)
- OPL3_FPGA GitHub Reverse engineered OPL3 in an FPGA
- Analysis of the OPL3 math