Google AdSense

Thursday, May 14, 2015

My Atari 2600 emulator written in Python success version 2


  • Add sound.
  • Add frame skip which let games run on correct speed.






  • There is a big problem about entry point. The roms of Atari 2600 doesn't have mappers like NES, so i don't understand why different games have different entry points.
  • Because PyPy takes time to warm up, every new scene will lag for a while. Even after warming up, the speed of PyPy is not fast enough. The full speed of Atari 2600 is 60 FPS. For example, Air-Sea Battle, which takes less resources, could run on 55 FPS, and Alien, which takes a lot of resources, could run on only 30 FPS. Although the speed after warming up is acceptable, the time it takes to warm up is just too long. In conclusion, PyPy is not suitable for writing games and emulators. RPython is good, C is better.
  • The emulator runs 10~30% faster on PyPy after putting everything together, but it messes up the code because of lacking classes. I don't think it's a good idea to do that if you have any other choices.
  • This is my first console emulator. It takes me about six months to finish it. I feel that writing an emulator is like a puzzle game. At the beginning, you can not understand what you are doing. After some important pieces being placed to the right places, you will suddenly see the light. By the way, there is not much to learn from Atari 2600 because all the graphics comes from the poor programmers' hard work. The only gain for me is the audio device. Now i can connect the wave to the sound.

Related Posts

No comments:

Post a Comment