Stages of programming:
1- Come up with an idea for a game.
2- come up with details and features for the game.
3- Try to program, realize some features just won't work on the 2600.
4- devise workarounds, or delete features.
5- run out of ROM, cut back more features.
6- learn bankswitching, put features back in.
7- run out of RAM, scratch head a lot.
8- search forums for help ideas.
9- set game code aside for awhile.
10- come back and look at code.
11- start code from scratc