Re: [stella] Confused newbie...

Subject: Re: [stella] Confused newbie...
From: Kevin Lipe <kevin.lipe@xxxxxxxxx>
Date: Fri, 8 Oct 2004 10:54:27 -0500
Thank you! No one has explained it to me that concisely yet, and I was
getting the two totally confused... maybe now I'll be able to make
some headway. Not that the other guys didn't help, because y'all
(sorry, I'm from Memphis) definitely did, but this is definitely the
most easy-to-understand explaination yet.

> This may be dead obvious at this point, but, I don't think it's been completely spelled out - Sprite >positioning code (ie Thomas' example) is used to position the sprite horizontally. Skipdraw is >used to decide which scanlines to draw the sprite on. The two don't really have anything to do >with each other except that they both work with sprites.

Finally I understand what they do! So I'd do horizontal positioning in
the VBlank or Overscan and skipDraw in the actual kernel?
 
> On a more modern system, you'd just plug some values into some registers and the graphics >chip(s) would do all the dirty work for you. 

Yeah, I've done a little programming for the NES and GBA, enough to
learn assembly basics on GBA and 6502 basics on NES, and... they're a
lot easier in terms of sprite management. They're just not as fun as
Atari though.

> In effect, what Skipdraw does is:
> 
> If (Scanline<=TopOfSprite)and(Scanline>=BottomOfSprite) then DrawSprite
> 
> And you make this test for every scanline that's within the sprite's range of vertical motion.

So skipDraw needs to be on every scanline, basically?

Thank you, I'll start hacking on my kernel and code to make this work,
hopefully :)

~ Kevin

Current Thread