Subject: Re: [stella] Invaders update! - inv-beta.bin|
From: emooney.KILL.SPAM.@xxxxxxxxxxxxxxxx (Erik Mooney)
Date: Thu, 24 Apr 1997 17:19:29 GMT
>>- Occasionally, the game calculations code overruns the vertical-blank >>interval, causing the screen to jump by a couple lines for one frame.. > >This used to happen to me too... if you want an estimate of how much cycles >you've left for game logic during VBLANK, add an useless loop like this: > > LDX #timetowaste >waste: > DEX > BPL waste > >and adjust #timetowaste to the maximum value that does not cause the screen >to jump. Actually, I made my delay loop something like: lda INTIM sta Player0Score waste: lda INTIM bne waste so because I was using TIM64T, player 0's score would show the number of 64-cycle intervals I had left for game logic. BTW, I found that to be a very useful debugging device in general - once the score-display routine was done, I could write any value to the score and have it displayed. Also, I actually need to begin my draw-screen kernel three scanlines before VBLANK ends (34 scanlines after VSYNC) because of the scores.. I don't have 20 bytes of RAM to calculate the score displays (five lines, four bytes per line), so during each three-line block during score display, I calculate the four bytes for the next three-line block. So I need to calculate the first line of the score display during the last three lines of VBLANK. Anyways, did you try the game? What do you think of it? -- Archives available at http://www.biglist.com/lists/stella/archives/ E-mail UNSUBSCRIBE in the body to stella-request@xxxxxxxxxxx to be removed.