-
-
Notifications
You must be signed in to change notification settings - Fork 24
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
Why does jt10_acc.v discard FM data for channels 0 and 4? #74
Comments
As the comment says, the original Yamaha chip did that. I am not sure about YM2608 you're looking at. Maybe that one used all six channels. Review carefully Yamaha's documentation before assuming the behavior was different. |
@jotego I've reviewed the comment written in the source code, but I couldn't find any reference to that behavior in the YM2610 application manual. Could you kindly provide the source of your information? Additionally, I believe your intention is that the jt10 acts as a YM2610, not a YM2610B. It's worth noting that the YM2610 has four FM channels, while the YM2610B has six. Based on my understanding, I would like to propose the following idea: When the parameter .num_ch(4) is passed, it should function as a YM2610. Please let me know your thoughts on this suggestion. |
To organize my thoughts, I have created the following table for the DT/MULTI register:
This is an example of the table for the DT/MULTI register, and there are other similar registers like that. Regarding the current implementation, the case statement you wrote discards FM data only at op0:ch0 and op0:ch4. Therefore, I believe the other operators of ch0 and ch4 are still valid (e.g., op1:ch0, op2:ch4, etc.). Therefore when I use all of the six FM channels, YM2608(YM2610B)'s CH1 and CH4 produces odd sound. |
I used this core in 6-channel mode (by setting .num_ch(6)), but I noticed that the sound of some channels was slightly different from the real chip.
Upon further investigation, I came across the following comment:
jt12/hdl/jt10_acc.v
Line 78 in 42b1918
At this line, there is a comment stating
uses channels 0 and 4 for ADPCM data, throwing away FM data for those channels.
However, I wanted to utilize all 6 FM channels, so I commented out lines 82 to 103, and it seems to be working fine now.
Could you please explain why jt10_acc.v discards some FM data?"
The text was updated successfully, but these errors were encountered: