I have another question concerning the main game loop. It calls mGame.Tick(gs) after gs.GameTime is incremented. What does .GameTime actually control? I need another loop that runs as fast as the app will allow with no concerns about the FPS. This is where I need to do my CPU stepping. So far I've only been able to get a 60 Hz CPU rate because the MainLoop seems to be locked to this and that's where I temporarily placed my test CPU stepping call.
Also, does the GameStep class do all of the FPS maintenance? I see it locking to 30, 60, 90, 120 FPS... the nearest it can achieve for the device the app is running on.