VRC7 discoveries

Discuss emulation of the Nintendo Entertainment System and Famicom.

Moderator: Moderators

lidnariq
Posts: 10456
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: VRC7 discoveries

Post by lidnariq » Fri Mar 05, 2021 3:34 pm

SusiKette wrote:
Fri Mar 05, 2021 3:21 pm
Another thing I noticed is that the 9 bits of frequency has to be $40 or higher (freq AND $1C0 has to be non-zero), otherwise vibrato won't be applied. The octave bits are not accounted for this check. This isn't a problem because you can get all the notes with frequency values above that limit.
That makes sense; frequencies below $100 are "denormal"s of a sort and there might not be enough precision to apply vibrato for these lower values. Depends on how it's implemented, of course.

User avatar
SusiKette
Posts: 141
Joined: Fri Mar 16, 2018 1:52 pm
Location: Finland

Re: VRC7 discoveries

Post by SusiKette » Thu Mar 11, 2021 2:50 pm

I just found out how the VRC7 disables the channels 7-9. I marked where the different channel's carriers and modulator's were at a given time (eg when phase generator outputs ch1 modulator's phase), what each module gets as input and what they output. I was able to use that to compare different inputs of the modules with the timing signals and turns out the timing signal that controls if the DAC outputs something is pulled low in rhythm mode when channels 7-9 carrier is going to the DAC. When rhythm mode is disabled these channels are allowed to pass through normally. I thought that these 3 channels weren't disabled, since pulling that line low always with these channels would have been a convenient way to disable them, but I rechecked the conditions for rhythm mode, and it seems the chip is forced into rhythm mode if debug mode is not enabled (which I originally had misremembered begin that debug mode forces the chip to rhythm mode).
Avatar is pixel art of Noah Prime from Astral Chain

Twitter

nukeykt
Posts: 4
Joined: Thu Mar 21, 2019 8:40 am

Re: VRC7 discoveries

Post by nukeykt » Fri Mar 12, 2021 4:46 am

Have you seen my YM2413 emulation code (https://github.com/nukeykt/Nuked-OPLL), it is based on VRC7 die analysis as well. Would be nice to cross check our findings.

User avatar
SusiKette
Posts: 141
Joined: Fri Mar 16, 2018 1:52 pm
Location: Finland

Re: VRC7 discoveries

Post by SusiKette » Sun Mar 14, 2021 9:40 am

nukeykt wrote:
Fri Mar 12, 2021 4:46 am
Have you seen my YM2413 emulation code (https://github.com/nukeykt/Nuked-OPLL), it is based on VRC7 die analysis as well. Would be nice to cross check our findings.
Sure. I'm not very good at reading C++ code so reading it might take some time.

By the way; Were you able to figure out the connections in these parts of the envelope generator? (they are the only ones I can't see clearly under the metal layer). I have made a visual circuit style representation of the die, but I want to get these parts done before releasing it.
Avatar is pixel art of Noah Prime from Astral Chain

Twitter

nukeykt
Posts: 4
Joined: Thu Mar 21, 2019 8:40 am

Re: VRC7 discoveries

Post by nukeykt » Sun Mar 14, 2021 11:46 am

It's like that I think https://imgur.com/a/nfZyqR6

Post Reply