Very true. I just registered here to say thank you for fixing these issues and releasing your work. It even compiles fluidly now! The difference is remarkable.
That said, I wonder if you'd be so kind to perhaps look at another issue which is particularly galling for Win7 and Vista users: It's the choppy sound as reported both on the ZSNES board (scrolling way down to FireBrandX's post: http://board.zsnes.com/phpBB2/viewtopic.php?t=11629&start=0
) and here, too (http://www.bannister.org/forums/ubbthreads.php?ubb=showflat&Number=56805#Post56805
Both Nintendulator and FCEUX sound fine, which, aside from your work here, are the only recent still-developed NES emus, I believe. Could it be connected to the higher latency of Vista's and 7's DirectSound implementation? Or might it be a problem of the timing thread having issues with refresh rate syncing? Vista and 7 are known to confuse some badly programmed games in VSync with its more exact monitor refresh rate determination (59 vs. 60 Hz, though I've tried various refresh rates, even exact NTSC [59.94], and it doesn't work). Or a funny combination of both?
Hardware differences don't seem to affect it and no setting fixes it completely. Setting the latency to 1 in the sound options merely reduces it. It appears that audio and video go out of sync and Nestopia's timing thread snaps the audio thread back into place, producing clicking sounds every 2-3 seconds. Setting both Windows and Nestopia to use the same sampling rate does not work and neither does setting them both to a lower value. Otherwise, that's a commonly known workaround for this kind of problem for both video playback and regular games.
I've tried everything I know and I'm at my wits' end. I'm a novice in C++ and not familiar at all with Nestopia's extremely complex-looking codebase. Perchance you'd like to give it a try?
Thanks again for your time.