Hello, i have a little slight problem that happens on any emulators "not named" fceux, like nestopia nintendulator, bizhawk, etc.
It's reguarding the MMC5's ex attributes (5C00-5FFF RAM) where your only allowed to update it during rendering. First of all, i have the routine for it set at the very end of the NMI "after" the music engine JSR which ensures 99% of the time that it will only be run outside of vblank time past scanline 0 right ??
But, sometimes there are times where it is possible the music engine will finish before vblank time has ended, and the EX Attributes updating routine starting around scanline 257 to 260. Like in a couple spots in rapid man seen here ...Nestopia on top, fceux on bottom
My question is, how do i check for "vblank is finished" ?? to get to scanline 0. i tried every single type of "LDA $2002, branch back to LDA forever until the loop breaks.
i tried bpl, bmi, bvs, bvc .... and then with BIT 2002 like the nesdev wiki page's talk about, but not a single one of these methods works ...or will just freeze the game forever at certain times.
Do i have to use an IRQ set for scanline 0 ?? i really hope that's not the solution. i don't have any idea.
It's reguarding the MMC5's ex attributes (5C00-5FFF RAM) where your only allowed to update it during rendering. First of all, i have the routine for it set at the very end of the NMI "after" the music engine JSR which ensures 99% of the time that it will only be run outside of vblank time past scanline 0 right ??
But, sometimes there are times where it is possible the music engine will finish before vblank time has ended, and the EX Attributes updating routine starting around scanline 257 to 260. Like in a couple spots in rapid man seen here ...Nestopia on top, fceux on bottom
My question is, how do i check for "vblank is finished" ?? to get to scanline 0. i tried every single type of "LDA $2002, branch back to LDA forever until the loop breaks.
i tried bpl, bmi, bvs, bvc .... and then with BIT 2002 like the nesdev wiki page's talk about, but not a single one of these methods works ...or will just freeze the game forever at certain times.
Do i have to use an IRQ set for scanline 0 ?? i really hope that's not the solution. i don't have any idea.