llabnip, on Thu Aug 31, 2006 10:26 PM, said:
I tried to put out one Player2 sprite on one frame and a different Player2 sprite at a different horizontal location on an alternating frame and while it did work, I got flicker.
You will always get flicker with this method. Think about it. You're telling the system to display one sprite for one frame, and another sprite for a different frame. Your brain is quite sharp, and will notice this discrepancy.
Quote
Can someone explain - preferably without code - conceptually how something like, say, Space Invaders puts up 6 sprites on a line?
Try setting NUSIZ0 and NUSIZ1 to show
two or three sprites. That will give you the necessary duplication to show up to six sprites per scanline. Things do get tricky, though. If you want the sprites to be different, you have to change the value of the GRPx registers AFTER the current sprite displays, but BEFORE the next sprite displays. Doing this effectively requires understanding the
Vertical Delay registers.
Quote
I then tried to output the same sprite in two different horizontal locations (by hitting RESP1 at different times) on alternating scanlines but I couldn't get this to work - in fact, I couldn't get it to display anything even though it looked like I was hitting RESP1 at semi-reasonable places as the pixel line was drawing.
Ok, consider this for a moment. Let's say we have a TALL sprite that just repeats the same sprite over and over again. Allow me to use smileys to demonstrate:
Now you don't actually need more than one sprite to show a vertical column of smileys, right? You just have to keep resetting the counter that pulls the sprite data so that it will pull each line again and again. Now consider what happens if we turn off the sprite for a line and RESP0 the sprite. We can then turn the sprite back on and get a result like this:

There will be a gap in the sprite (unavoidable unless you're using HMOVEs instead), but the sprite should now be shifted over. If you change where the sprite pulls its data from, you can make it look like you've got MORE sprites! Again, using smileys to represent the concept:

See?
Quote
Are they using the clone feature of the Player1/Player2 sprite? It seems unlikely since it would be hard to track when, say, the middle of a set of 3 is blasted out of existance.
Not at all. If you
read the NUSIZx docs, you'll find that there are duplication patterns for 3, 2 near, and 2 far. Using smileys to represent invaders, each setting would look like this:
(FYI, the

represets empty space.)
3 duplicates:
2 near:
2 far:
If you get both GRP0 and GRP1 into the action, then you can interweave them like this:
The smile is GRP0 and the frown is GRP1. Both sprites are duplicated three times, but aligned to fall within each other's empty space. Turning off the third sprite in the row (presumably because it was shot) would look like this:
Remember the 2 far from above? Well, GRP0 is now 2 far, while GRP1 remains 3 duplicates. So they look like that together, and this apart:
Does that make sense?
And that concludes this episode of smiley face theater. Tune in next time when we use LOLs!