Google AdSense

Friday, February 6, 2015

My Atari 2600 emulator written in Python failure version 3

Progresses

  • Changes debug infomation again. Adds current position of electron gun, the name of memory map which is used and Changes display order.
  • The basic objects are almost displayed correctly.
  • The emulator can be set to use Py65, a 6502 emulator written by others, as CPU.
  • There are two functions to disassemble game to instructions which are inside the CPU.

Download

Requirements

Resources

Comments

  • Because Pygame can't be used on PyPy3, pygame-cffi is too hard to install, and PySDL2 is too slow, i use pysdl2-cffi at last. When just changing to PySDL2, the release version can run at 9 FPS. After changing to pysdl2-cffi, the release version can run at 38 FPS. After adding some ability of TIA, the release version can run at 13 FPS and the debug version can run at 0.5 FPS.
  • I still don't get how to implement sound and cartridge that bigger than 4 KB. Other than that, should be all ok. I would like to complete the emulator by only specs but stuck on collision detection. Even disassemble the while game, i could not find where the game read the collisions. So i had no choice but using the Stella Integrated Debugger. After that, i finally understand that i made a big mistake on memory mapping. The next version should be the last version.
  • It would be better to write an emulator with a real debugger. Depending on debug information is not enough.
  • Do not try to decompile the game to C code. I can only understand the part of initialization after i do that.

Related Posts

No comments:

Post a Comment