u/synthopin r/ReverseEngineering • Recommends
Reversed Engineered Yamaha OPL3 FM Synthesizer in an FPGA
99 subscribers • 1 video on Hallway
Advanced. Deep dive for people who know the field.
21K views11 years ago1 recommendation
HardwareGraphics and audioFPGAs and digital designRetro computingAudio and DSP
A reverse-engineered Yamaha OPL3 FM synthesizer implemented in SystemVerilog on an FPGA plays Doom music.
The OPL3 was a popular FM synthesis chip used in most PCs in the 90s. See en.wikipedia.org/wiki/Yamaha_YMF262 OPL3 FPGA code written entirely in SystemVerilog RTL. Music is played back via a port of imfplay from DOS to the ARM Cortex CPU on the Zynq FPGA (running bare metal C++). Music is stored in DRO format captured by running the original games in DOSBox (its essentially register dumps of the OPL3 every 1ms). This particular song is from Doom level 1. See my github page at: github.com/gtaylormb/opl3_fpga The 4 LEDs are connected to the first 4 (of 18) channel key on registers.u/synthopin r/ReverseEngineering • Recommends
u/synthopin r/FPGA • Recommends