At least how it works in XNA games, the physics use the time as a variable (for ship position, bullets and everything) and the drawing occurs at fixed intervals you set as a parameter. So I think you need to wait for next 1/30 of a second in every draw (using the calculator clock?). This of course seems harder with a simplistic non object oriented language :D but the game looks pretty much exact as the NES counterpart
Yeah, with single threading and no interrupts, it's hard to force a screen update while the runstream is currently processing, say, collisions or updating sprite positions. My approach is to time every aspect of the engine and then spread out the computations (and if necessary insert delays) in such a way that the screen will update as close to uniform time as possible.
How do you add the program? I download it but do not know how to put it on the calculator! Could you explain me step by step? Or do a quick video? Thank you!