Re: [stella] Thinking... [nearly ot]

Subject: Re: [stella] Thinking... [nearly ot]
From: "Andrew Davie" <adavie@xxxxxxxxxxxxxxxxx>
Date: Sat, 29 May 1999 00:08:45 +1000
> > No, you could NOT make the NES generate scan line interrupts on
particular
> > scan lines.  Sorry, no no no!!   The only way to do this was to position
> > sprite 0 on the scan line you wanted, and then poll the collision bit to
> > wait for it to be set by the hardware.  And you could only do this once
per
> > frame - that is, you could use sprite 0 only once, and for the rest of
the
> > frame it had to be timed.
>
>   Which is what I meant only I haven't _done_ it, so I didn't know the
"once
> per frame" bit.  On particular scanline, singular, then, which doesn't
help
> much.  So, interesting.


It gets worse.

You had to poll - that is, loop continuously, checking the collision bit.
No interrupt.  And the collision bit would only be set if you had at least
two pixels hitting playfield (ie: non colour-0).  So, if you wanted a
scrolling background, and you also wanted to switch modes/scroll at some
scanline, you had to somehow guarantee that there would ALWAYS be background
covering the sprite.  Sprite collision bit was NOT set unless it collided
with colour 1,2,3.  If you wanted the sprite to be kind of hidden, you made
it as small as possible (say, 2 pixels wide).   But this meant that you
couldn't have a 1 pixel wide gap (ie: colour 0) in the background
playfield - it could conceviably position where the sprite is, only "hit"
one of the sprite's 2 pixels... and *bango* you get screen glitches (you
miss the switch the sprite is positioned for).  So, good graphics were
difficult, because you only effectively had 4 colours (3 + BG) for any
particular 2x2 character area on the screen.   In reality, using sprite 0
for mode changes midscreen effectively means you lose one of your colours
(BG).  Ugly.

As a side-note, of all the systems, I'd rank them thus in order of
"enjoyment" in programming:

1. Atari 2600 - it's a real challenge/puzzle.  Finely balanced.
2. Atari 400/800.  Power :)  Nice hardware graphics (ESPECIALLY display
lists)
3. NES.  Rather confusing at first, but not as bad as...
4. SNES.  I just hated the 65816, with a passion!

I guess I'm really a bit off-topic now.

Cheers
A



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

Current Thread