This page is a mirror of Tepples' nesdev forum mirror (URL TBD).
Last updated on Oct-18-2019 Download

How to clear/load sprites? Please help.

How to clear/load sprites? Please help.
by on (#203067)
I know how to put sprite in front and behind background, but how to exactly clear data from place of sprite, that what I exactly need. It's posible at all?
Re: How to clear/load sprites? Please help.
by on (#203069)
Set the sprite's Y-coordinate to any value between 239 and 255, inclusive - this will place it outside the screen, preventing it from being drawn.
Re: How to clear/load sprites? Please help.
by on (#203084)
Quietust wrote:
Set the sprite's Y-coordinate to any value between 239 and 255, inclusive - this will place it outside the screen, preventing it from being drawn.

Thank you. You mean that is for NTSC?
Re: How to clear/load sprites? Please help.
by on (#203086)
NTSC and PAL. There's no difference in resolution between them.
Re: How to clear/load sprites? Please help.
by on (#203096)
tokumaru wrote:
NTSC and PAL. There's no difference in resolution between them.

Hmm, But bannyboy sad the NTSC format differs from PAL with clearing top 8 bits and bottom 8 bits. thats mean, that NTSC has 256x226 and PAL has 256x240. Isn't it?
Re: How to clear/load sprites? Please help.
by on (#203097)
That statement isn't entirely true as explained on the wiki. The resolution is always 256x240 for both NTSC and PAL, no matter how much of it is actually shown on your TV.

But you can't count on what's shown or what's hidden, it may vary between TVs. So don't put your status bar or other important information outside the safe area as described on that wiki page.
Re: How to clear/load sprites? Please help.
by on (#203098)
Pokun wrote:
But you can't count on what's shown or what's hidden, it may vary between TVs. So don't put your status bar or other important information outside the safe area as described on that wiki page.

You can however count on the left- and rightmost 2 pixels to be hidden on PAL. But that does not change how to disable sprites. While you COULD hide a sprite by having X to be 254 or 255 on a PAL console, it is not desirable to do so as this would break compatibility with NTSC machines, and could cause issues with 8-sprite per line limitation.
Re: How to clear/load sprites? Please help.
by on (#203101)
TeMaToS wrote:
But bannyboy sad the NTSC format differs from PAL with clearing top 8 bits and bottom 8 bits. thats mean, that NTSC has 256x226 and PAL has 256x240. Isn't it?

This is not correct. The NES, PAL or NTSC, always outputs 240 scanlines. The only difference is that they're all visible on PAL televisions, while NTSC televisions tend to hide some of the top and bottom. How much is hidden varies greatly from television to television, so developers are discouraged from putting important information near the edges because it MAY be hidden, but there's no way to predict exactly how much will be cut off.
Re: How to clear/load sprites? Please help.
by on (#203123)
For the current context, the whole discussion about resolution in PAL and NTSC, overscan, TVs etc. is moot.

The facts are:
1. The NES has a vertical resolution of 240 pixels, i.e. the pixels go from 0 to 239.
2. The y value of a sprite can have a value from 0 and 255.

Hence, if you set the y position to a value beyond 239*, the sprite will be off-screen in any case, independent from any TV or other output screen or emulator window.

* The position of 239 can be used for off-screen-ness as well because the NES always adds 1 to the y position. So, if you set a sprite to position 32, it's actually displayed at position 33. This is only true for y, not for x.
Re: How to clear/load sprites? Please help.
by on (#203125)
On my flat screen NTSC TV, you can see every scanline. None hidden. So 240 pixels high.

On my CRT TV, you lose about 6-8 pixels from the top, and about 10 pixels from the bottom.

Every TV is a little different.
Re: How to clear/load sprites? Please help.
by on (#203146)
Aha, understand. Thank you all))