VOGONS


OPL3 in FPGA?

Topic actions

First post, by Dant

User metadata
Rank Member
Rank
Member

So, this guy who goes by the name gtaylormb has reverse engineered the OPL3 (which help from Steffen Ohrendor C++ implementation of the OPL3) and coded an equivalent entirely in Verilog!

Here's his project at GitHub: https://github.com/gtaylormb/opl3_fpga

He's also got some Youtube videos demonstrating it working,

Doom: https://youtu.be/KoSF4ZoDuRI

Descent: https://youtu.be/i9vEKyJScYw

Is there anything of particular interest that could be done with this? Besides the possibility of producing entirely new SB-compatible sound cards, would it be possible to make hardware implementations for getting SB-compatible audio on modern machines?

Reply 1 of 7, by shock__

User metadata
Rank Oldbie
Rank
Oldbie

If it's largely based upon a software emulator I see no point to add another layer of emulation/simulation by building custom hardware - especially when the OPL3 is largely digital anyways.

Current Project: new GUS PnP compatible soundcard

[Z?]

Reply 2 of 7, by Jepael

User metadata
Rank Oldbie
Rank
Oldbie
shock__ wrote:

If it's largely based upon a software emulator I see no point to add another layer of emulation/simulation by building custom hardware - especially when the OPL3 is largely digital anyways.

The algorithms are universal no matter if implemented with software or hardware.

I personally have been toying around with an idea of FPGA ISA card for some time. It could do anything with suitable adapters like emulate any sound card or be an SD card/USB stick reader for IDE/floppy/cdrom emulator.

Afaik both Steffens C++ code and the FPGA code (Verilog?) is based on same reverse engineering effort we have been working on.

Reply 3 of 7, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++

An ISA FPGA card would be cool, but would also be a very tough project. First, FPGAs require a large number of power planes and have significant problems for decoupling and fanout. Second, ideally the FPGA could be programmed in a vintage environment such as DOS or Win9x therefore allowing the device to be appropriately configured as the system initializes, yet the tools are highly proprietary and generally not available for older operating systems.

Even without the second issue being resolved, the device would be very interesting and powerful, but it would be quite a big, complex project.

All hail the Great Capacitor Brand Finder

Reply 4 of 7, by shock__

User metadata
Rank Oldbie
Rank
Oldbie
Jepael wrote:

The algorithms are universal no matter if implemented with software or hardware.

I personally have been toying around with an idea of FPGA ISA card for some time. It could do anything with suitable adapters like emulate any sound card or be an SD card/USB stick reader for IDE/floppy/cdrom emulator.

Afaik both Steffens C++ code and the FPGA code (Verilog?) is based on same reverse engineering effort we have been working on.

Nothing wrong there ... my statement was a mere attempt to decelerate the "oh, we have the code so building something is easy"-bandwagon 😉 I generally agree with you & gdjacobs and re-designing the ARGUS to FPGA once I run out of InterWave chips actually is on my agenda ... albeit at a very low and undecided priority.

Current Project: new GUS PnP compatible soundcard

[Z?]

Reply 5 of 7, by NJRoadfan

User metadata
Rank Oldbie
Rank
Oldbie

A FPGA ISA "project card" is certainly feasible. The Apple II folks have one called "Carte Blanche" that is being used for all sorts of projects.

http://www.applelogic.org/CarteBlanche.html
http://www.applelogic.org/files/CB1FLYER.png

Current revision: http://www.applelogic.org/CarteBlancheII.html

Reply 6 of 7, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++

They claim version 1 is built using 2 layer, single sided boards.

That would be an amazing job of optimizing the PCB layout. I take my hat off to them!

All hail the Great Capacitor Brand Finder

Reply 7 of 7, by stamasd

User metadata
Rank l33t
Rank
l33t

Interesting project, but real OPL3 chips are still available, plenty and cheap.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O