DeSmuME 0.9.3 "unofficial" works too. As you have noticed, the animation loop is repeated without any timing so it goes on as fast as it can (60 fps). The way could be adding a counter that updates every VBlank and changing the animation frame each 30 cycles or so. FYI hello_world example shows how to use the VBlank interrupt