gtaylormb / opl3_fpga Goto Github PK
View Code? Open in Web Editor NEWReverse engineered SystemVerilog RTL version of the Yamaha OPL3 (YMF262) FM Synthesizer
License: GNU Lesser General Public License v3.0
Reverse engineered SystemVerilog RTL version of the Yamaha OPL3 (YMF262) FM Synthesizer
License: GNU Lesser General Public License v3.0
When I finally got my zynq-7000 FPGA, I knew this would be the first community project I had to try out. Only problem is, I have windows, and I technically do have linux installed, but I don't like the idea of taking up another 30GB on my nearly full internal hard drive when I already have Vivado (for Windows) installed on my plenty-of-space external hard drive. Is there a way I could compile this in Windows?
This might because this is a bug in opl3_fpga-apps or I'm using an older version, but on certain music, the left audio disorts a bit or a lot (especially when there's more than two sound channels being played in MONOTONE).
Just stumbled upon this project, something I've been wanting to do for a while, and it looks great! Thanks for putting this out there.
Now, listening to the examples you've provided I believe these don't really do the OPL3 or your work justice, as these are mostly OPL2-based sounds. I would really recommend something like Adlib Tracker II (also runs in DOSBox) for testing sound output - https://github.com/subz3ro-altair/at2 - as it exposes much more of the OPL3's specific capabilities and allows for easy testing of the individual modes of synthesis you've also documented in the README.
Anyway, not really an issue but more of a suggestion. Don't have a ZYBO here but I'll definitely try this once I get my hands on one of them.
I played ROL file (song file) on player in ao486. But drum sounds weird. Fix possible?
Any chance of integrating this into: https://github.com/alfikpl/ao486 it's a 486 implemented in verilog. It's got an OPL2 implementation but it's incomplete in the FM synthesis. Since this project is doing OPL3... would it be possible to implement the OPL3 engine on ao486 instead?
May be wrong here, but looks like it's possible to make rand_num
one bit smaller by XORing in the (rightshifted) polynomial after the right shift.
if (sample_clk_en && bank_num == 0 && op_num == 0)
if (rand_num & 1)
rand_num <= (rand_num ^ RAND_POLYNOMIAL) >> 1;
else
rand_num <= rand_num >> 1;
this dev board is hard to find and if you made an opl3 board this would be very hard to solder a port to a cheaper fpga would be very useful
what I am trying to say is that an fpga functioning identically* as a ymf262 (pinout of fpga ymf262 exposed) is the real deal, so things like the commander x16 don't have to source old stock of opl3s
like a modern replacement, you solder an fpga on a board then solder the board to the place where the opl3 should go
Hi Guys, as we are porting your design to CologneChip GateMate FPGA, we ran into issues with Yosys and SV.
@DadoCCAG, @TarikHamedovic for awareness.
One of the major incompatibility problems between the OPL3 and the dual-OPL2 from SoundBlaster Pro software was that the second set of channels of the OPL3 didn't feature the rhythm mode and the timers.
It would nice to implement support for two rhythm modes and the two missing timers in this OPL3 core, improving compatibility with dual-OPL2 software.
The OPL3 core has 8 hardcoded waveforms in ROM. It would be great if a small improvement could be done to this core: to allow the programmer to rewrite the waveforms with new ones at any given time, just like the Konami SCC/SCC+ soundchips (and the similar PC-Engine soundchip). This way much richer sounds could be created at very little additional cost.
Expand E0h~F5h register to allow 16 waveforms, or even 256 waveforms wouldn't be bad too.
Backwards compatibility would be maintained, since the usual waveforms would be loaded on reset, and existing software could even take advantage of the new waveforms if the user loads a new set of waveforms before running the old software.
References:
http://en.wikipedia.org/wiki/Konami_SCC
http://en.wikipedia.org/wiki/Konami_Sound_Cartridge
http://bifi.msxnet.org/msxnet/tech/scc
http://bifi.msxnet.org/msxnet/tech/soundcartridge
The OPL4 (aka YMF278) was the last and most powerful sounchip of the OPL family. But now they seem to have been depleted and are becoming increasingly hard to find.
This feature request is then to add support for the OPL4-wavetable feature and the dual-DAC output. The FM block is exactly the same as the OPL3, but with a slightly different sample rate and is able to output to the 2nd DAC too.
Note: the 2nd DAC output was usually connected to a sound FX processor, like the YSS225.
References:
http://en.wikipedia.org/wiki/Yamaha_YMF278
PS: I'm aware that this isn't easy at all to do, so this request will probably receive a low priority. But it's good to keep it registered though.
This game supports Adlib only for FM, so I doubt this is a problem with the DSP.
You can hear how the SCUMM Bar door opening sounds on a real Adlib soundcard by going to the 4 min 26 sec mark in this video.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.