Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
project:atari_asteroids_autoplay [2013/03/17 05:28]
smark [3/16/2013 @ 9:07pm]
project:atari_asteroids_autoplay [2013/03/17 05:31] (current)
smark [3/16/2013 @ 9:07pm]
Line 99: Line 99:
 {{:​project:​130316_b11_composite_output_labeled.png?​direct&​600}}\\ {{:​project:​130316_b11_composite_output_labeled.png?​direct&​600}}\\
 \\ \\
-Looking at the math here there is an entire screen refresh approximately every 14ms. Do I think I can write code efficient enough to process several thousand points minimum in less than 14ms? I don't really know how long 14ms is in the programming world, but I think even if the application is multithreaded and I have one thread for each interface (1 for each: Beam On/Off, X Position, Y Position, Game Processing) I don't think I can be quite that efficient. I think now would be a good time to give up on the strategy of processing each frame. Even if I process ​out out of every 10 frames at 140ms (which I think is probably doable) I'm still not sure I can filter through and pick out a frame easily enough. There would have to be some sort of a pattern recognition that would be insanely hard to write and require a lot of processing time. I think my next step is to look at intercepting the commands as they go to the vector RAM.\\+Looking at the math here there is an entire screen refresh approximately every 14ms. Do I think I can write code efficient enough to process several thousand points minimum in less than 14ms? I don't really know how long 14ms is in the programming world, but I think even if the application is multithreaded and I have one thread for each interface (1 for each: Beam On/Off, X Position, Y Position, Game Processing) I don't think I can be quite that efficient. I think now would be a good time to give up on the strategy of processing each frame. Even if I process ​one out of every 10 frames at 140ms (which I think is probably doable) I'm still not sure I can filter through and pick out a frame easily enough. There would have to be some sort of a pattern recognition that would be insanely hard to write and require a lot of processing time. I think my next step is to look at intercepting the commands as they go to the vector RAM.\\
 \\ \\
 Now that we're moving in that direction... What do I know? The Vector State Machine seems to be a complicated beast. I believe basically the CPU sends a pulse to the Vector State Machine to turn on. It starts its drawing timers and such and immediately starts reading from the vector RAM. It swaps back and forth between reading and executing until the vector RAM is empty, then it turns itself off and waits for the next command. I'll need to decide on one of two approaches:​\\ Now that we're moving in that direction... What do I know? The Vector State Machine seems to be a complicated beast. I believe basically the CPU sends a pulse to the Vector State Machine to turn on. It starts its drawing timers and such and immediately starts reading from the vector RAM. It swaps back and forth between reading and executing until the vector RAM is empty, then it turns itself off and waits for the next command. I'll need to decide on one of two approaches:​\\
project/atari_asteroids_autoplay.1363498114.txt.gz · Last modified: 2013/03/17 05:28 by smark
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0