RE: [stella] Fastest missile/ball draw

Subject: RE: [stella] Fastest missile/ball draw
From: Chris Wilkson <ecwilkso@xxxxxxx>
Date: Sat, 26 Feb 2005 00:46:11 -0500
Ignore my previous post.  I'm on crack.

I mean a page *is* 256 bytes, but....I was thinking you only need one set of zeros,
not two.  And you do need two sets.

If you really want to get nasty, you could break your screen into multiple variable
length kernals.

Pseudocode:

    VSYNC

    ldy BallPosition ; y holds the line counter
    do stuff above the ball
    loop on y (dey) until it's zero

    turn on the ball
    ldy BallHeight
    do stuff during the ball
    loop on y (dey) until it's zero

    turn off the ball
    ldy ScreenHeight-BallHeight
    do stuff below the ball
    loop on y (dey) until it's zero

It's ugly, but you only have to waste 12 cycles or so per screen...there are
2 lines where you have to reload y and toggle the ball on/off.  But you more than make
up for that by not writing to the ball on every line.  And you don't burn 2 pages
of ROM for a full height screen kernal.

-Chris


Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://stella.biglist.com

Current Thread