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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [stella] Confused newbie..., Christopher Tumber | Thread | Re: [stella] Confused newbie..., Christopher Tumber |
Instruction timing tip, David Galloway | Date | Re: [stella] Instruction timing tip, Ben Larson |
Month |