Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
denjhang opened this issue Apr 8, 2023 · 14 comments
Assignees

Comments

@denjhang
Copy link

denjhang commented Apr 8, 2023

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

@denjhang
Copy link
Author

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

@denjhang
Copy link
Author

sshot-20230420-162116

@danielrfry
Copy link
Owner

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

@denjhang
Copy link
Author

Do I need to reserve a serial port for debugging?

@danielrfry
Copy link
Owner

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 👍

@danielrfry
Copy link
Owner

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.

@denjhang
Copy link
Author

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.

@danielrfry
Copy link
Owner

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.

@denjhang
Copy link
Author

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.

@denjhang
Copy link
Author

denjhang commented Apr 27, 2023

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

@denjhang
Copy link
Author

denjhang commented Apr 27, 2023

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.

@denjhang
Copy link
Author

BA@7R U447B%6M_(KM4FG_tmb

@danielrfry
Copy link
Owner

danielrfry commented Apr 27, 2023

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

@denjhang
Copy link
Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants