danielrfry / opl2sd1

OPL-compatible driver for Yamaha YMF825 (SD-1)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support 4 or more SD-1 modules to play full OPL3 stereo or dual-chip music.

denjhang opened this issue · comments

Because Pico has enough IO ports, you can consider it.

I'm going to make a new version of the schematic diagram and PCB, and I plan to do advanced design. I feel that to play all OPL3 tracks perfectly, four chips are needed, because some tracks use all 18 channels at the same time, and the channels are still not enough. No matter how you schedule it . So I'm going to add 4 SD-1 module designs that don't currently exist. I hope you can make pin 8, 9 (or even more) as chip select for the third and fourth YMF825.
In other words, the current chip selection situation is as follows:
pin6->CS_L
pin7->CS_R
pin8->CS_L2
pin9->CS_R2

Amazing! I will get to work on the 4-chip code ASAP 😄

Do I need to reserve a serial port for debugging?

I've been using the UART on pins 0 and 1 for real-time logging, so it might be useful if that could be brought out somewhere 👍

The latest build here can drive four YMF825 chips:
https://github.com/danielrfry/opl2sd1/actions/runs/4774752669

(It's the dual-stereo firmware version).

I only have two YMF825 boards, so I haven't been able to test this fully - but I have been able to connect two at a time, make two recordings and mix them and it sounds OK.

I've done my 4xYMF825 hardware, but I'm finding that the stereo effect is not noticeable.I wanted the stereo effect to be stronger, which meant that the music played by the two chips needed to be distinctly different.
On the other hand, I found that the OPL drum sound is still not audible, I think you should fix it.

The stereo effect should be the same as that of the OPL3, and I've found that to be true in my testing. Were you expecting it to add stereo separation to mono sounds? (It does this a little, but not intentionally, due to the phase differences we've discussed elsewhere!)

I've started work on implementing the OPL drum mode - just a reminder though, I work on this in my limited spare time, so things may sometimes progress slowly.

What I really mean is that currently the OPL2SD1 uses 4 YMF825 modules to play stereo OPL3 VGM, the stereo effect is not obvious, not stereo is required to play mono tracks.
Such as Moondriver Demo
MoonDriver Demo.zip

By the way, in the current situation, it is also possible to play mono VGM in stereo, but this is not the most important thing. My opinion is to manually specify whether each channel is left or right or center for mono tracks.

I found that when I use 4xYMF825 and use OPL3BankEditor, the sound from CS_L and CS_R is only on the left side, and the sound from CS_L2 and CS_R2 is only on the right side, which is very strange, I suspect you messed up the CS wire, I still use Connect in the following way:
pin6->CS_L
pin7->CS_R
pin8->CS_L2
pin9->CS_R2

截图未命名0427201731

I found that when I use firmware-uf2-stereo, the stereo effect is good, but with firmware-uf2-dual-stereo the stereo effect is not obvious.
After a lot of testing, I found that the firmware-uf2-stereo works well and I'm happy with it.

The board looks great, good work.

The pin assignments were correct, but due to a bug the code was ignoring the OPL3 channel selection register in dual-stereo mode. It should be fixed in this build:

https://github.com/danielrfry/opl2sd1/actions/runs/4820280467

After upgrading the firmware, the dual-stereo effect is also very good. I found that your previous concerns about the phase of the crystal oscillator are unnecessary.