Chips › Sound & audio › FM synthesis › Yamaha YM3812 (OPL2)
Yamaha YM3812 (OPL2)
1985
Yamaha's OPL2 FM synthesizer, the sound engine of the AdLib and early Sound Blaster PC audio cards.
Reference & documentation
External technical references for programming Yamaha YM3812 (OPL2) and for writing emulators.
| Resource | Type | Notes |
|---|---|---|
| Yamaha YM3812 OPL2 Application Manual (LSI-2438124) ↗ | Datasheet | Primary Yamaha manual: registers, block diagrams, timing |
| Yamaha YM3812 datasheet (ardent-tool) ↗ | Datasheet | Alternate scanned YM3812 datasheet copy |
| AdLib/Sound Blaster FM chips: timers and interrupts ↗ | Interrupt list | Timer 1/2 registers and IRQ status byte |
| OPL chip register reference - Shikadi ModdingWiki ↗ | Memory map | Full register/operator-to-channel mapping tables |
| Yamaha YM3812 Datasheet (PDF) ↗ | Pinout | Pin assignments and electrical timing specs |
| YM3812 - VGMPF Wiki ↗ | Pinout | Pinout diagram, manual PDF, die photos |
| Programming the AdLib/Sound Blaster FM Music Chips (Jeffrey S. Lee) ↗ | Programming | Canonical OPL2 register-by-register programming bible |
| ArduinoOPL2 In-Depth OPL2 Guide ↗ | Programming | Detailed FM operator and register programming |
| Testing YM3812 register-write timing on the C64 ↗ | Reference | Measured address/data write cycle timing analysis |
| YM3812 Register Basics - Things Made Simple ↗ | Reference | Register walkthrough with printable bit charts |
| ymfm - Yamaha FM sound cores (OPM) ↗ | Source | BSD-licensed MAME OPM core, readable C++14 |
| nukeykt YM3812-LLE ↗ | Source | Transistor-level emulator from YM3812 die shot |