Different behaviour of emulated game

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Different behaviour of emulated game
by on (#127388)
Hi, please check this rom: Shadow of the Ninja (USA).

Open two player mode and look at the lifebars on the left side of the screen - blue for first player and red for second player.

Now when you look at it on different emulator, these lifebars are represented differently.

When you open this game on puNES: both lifebars are blinking/flickering constantly.

When you open this game on Nestopia: there are slow blinks/flickers for first player lifebar (blue) and nearly no blinks for second players life bar (red).

When you open this game on FCEUX: there are no blinks of life bar that I can see.

It would be good to check on Nintendulator but I dont use it.

Which one is correct? Only one can be right :) My explanation of the problem might not be "professional" as I am no programmer but nothing is going to hide before my eyes :D I just explained how I see it. I talked with puNES programmer (FHorse) - he is also curious and said it would be best to see on a real hardware. Does anyone have this game and real NES to test it? I am very curious which emulator shows it as real hardware would.

This game was released under different titles (no matter what region you use - it hapens on each of these):
Japan - Kage
USA - Shadow of the Ninja
Europe - Blue Shadow

Edit: Videos on the real NES (thanks to FHorse for finding them). But it can be misleading due to poor quality:
http://nicoviewer.net/sm12506237
http://nicoviewer.net/sm12525619
Re: Different behaviour of emulated game
by on (#127390)
This is not an emulation difference.

What this game does is alternate frames, one frame it will display player 1's life bar, the next it will display player 2's life bar.

The differences you are seeing have to do with the framerate that your emulator is displaying. This is not really about the emulation, but about whether you're seeing every frame, which is more about performance and also video settings. I would recommend running in fullscreen with vsync and no frame skipping. Try to find an emulator that is high performance enough that it can display every frame at 60hz.
Re: Different behaviour of emulated game
by on (#127391)
Actually,it probably is an emulator difference, but it has nothing to do with the accuracy of the emulation. It sounds like all emulators except for FCEUX are dropping frames on your system.

Exactly what you'll see depends on the exact video output path used by the emulator (Direct3D or SDL or OpenGL), whether the emulator is trying to synchronize exactly to the video or audio sample rate of the NES, if you're using a Microsoft OS newer than Windows Vista which doesn't always indicate properly to programs when the video card is in VBlank, or if your screen refresh rate is set to something other than 60 hz.

My personal test for this situation is the shadow under the character in Adventures of Bayou Billy.