How to clear/load sprites? Please help.

Discuss technical or other issues relating to programming the Nintendo Entertainment System, Famicom, or compatible systems. See the NESdev wiki for more information.

Moderator: Moderators

Post Reply
User avatar
TeMaToS
Posts: 20
Joined: Tue Aug 08, 2017 1:25 pm

How to clear/load sprites? Please help.

Post by TeMaToS »

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?
User avatar
Quietust
Posts: 1920
Joined: Sun Sep 19, 2004 10:59 pm
Contact:

Re: How to clear/load sprites? Please help.

Post by Quietust »

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.
Quietust, QMT Productions
P.S. If you don't get this note, let me know and I'll write you another.
User avatar
TeMaToS
Posts: 20
Joined: Tue Aug 08, 2017 1:25 pm

Re: How to clear/load sprites? Please help.

Post by TeMaToS »

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?
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: How to clear/load sprites? Please help.

Post by tokumaru »

NTSC and PAL. There's no difference in resolution between them.
User avatar
TeMaToS
Posts: 20
Joined: Tue Aug 08, 2017 1:25 pm

Re: How to clear/load sprites? Please help.

Post by TeMaToS »

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?
Pokun
Posts: 2681
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: How to clear/load sprites? Please help.

Post by Pokun »

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.
User avatar
Bregalad
Posts: 8056
Joined: Fri Nov 12, 2004 2:49 pm
Location: Divonne-les-bains, France

Re: How to clear/load sprites? Please help.

Post by Bregalad »

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.
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: How to clear/load sprites? Please help.

Post by tokumaru »

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.
User avatar
DRW
Posts: 2225
Joined: Sat Sep 07, 2013 2:59 pm

Re: How to clear/load sprites? Please help.

Post by DRW »

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.
My game "City Trouble":
Gameplay video: https://youtu.be/Eee0yurkIW4
Download (ROM, manual, artworks): http://www.denny-r-walter.de/city.html
User avatar
dougeff
Posts: 3079
Joined: Fri May 08, 2015 7:17 pm

Re: How to clear/load sprites? Please help.

Post by dougeff »

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.
nesdoug.com -- blog/tutorial on programming for the NES
User avatar
TeMaToS
Posts: 20
Joined: Tue Aug 08, 2017 1:25 pm

Re: How to clear/load sprites? Please help.

Post by TeMaToS »

Aha, understand. Thank you all))
Post Reply