Well, if I were you, I would go for analyzing the memory state (RAM) of the machine.
The Atari 2600 is a quite difficult machine to analyze, if you want to get the image generated, because it does not have a video frame buffer (the frame image is not stored anywhere). The video is actually generated on-the-fly, for EACH LINE, one after another. The CPU constantly tells the video hardware what to display at each line. So, you do not have concepts like Sprite positions, X-Y coordinates, etc. The best you would get is how the image looks for a specific line, but there are 262 lines for each frame, and the software changes this image constantly mid-frame.
Yes, the games for the Atari are not generated frame by frame, but line by line!
But, If you look at the RAM, you will probably be able on infer the current state of the game, like the score, the enemies positions, the player action being performed, etc...
And here is the good thing; the Atari 2600 has only 128 bytes of RAM (not KBytes), which would make the analysis easier and faster. The games have to simplify things and hold all the game state in those 128 bytes. They sometimes implement very clever ways of storing information in such a few bytes.
Imagine implementing a working chess algorithm with only 128 bytes of memory! They did it!
The Javatari's savestate files are a collection of objects, in an encoded format, representing all the internal hardware state, including RAM.
The easiest way to get the state of the machine is in Javascript, when the emulator is running.
Instead of using a savestate file, you can use an "internal" savestate.
For instance, to get the content of the RAM for the savestate no. 1 (Ctrl + 1), you do something like:
jt.Util.byteStringToUInt8Array(atob(JSON.parse(localStorage.javatarisave1.slice(16)).r.b))
This will give you an Array[128], with the exact contents of the RAM.
You can do similar things with a savestate file, the format is the same. Just be sure to remove the first text (the part up to the "!" char), the rest of the String is a JSON object.
Working in Javascript, you could even be able to read the contents of the RAM right while the emulator is running, without needing savestates. Or even control the players directly, pause the machine, modify RAM, record video, save states to go back to a certain point in time and try things again, etc...
Javatari is the perfect platform to do experiments like this. I would need to upload a modified version with easy access paths for this to work, of course.
Hope that helps, and please let me know when you get any interesting results!
Paulo