Talk:PPU OAM: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
Line 21: Line 21:


::::It's briefly covered in [[Overscan#PAL]], it looks like, and that's actually an appropriate place for it. - [[User:Rainwarrior|Rainwarrior]] ([[User talk:Rainwarrior|talk]]) 11:35, 21 May 2015 (MDT)
::::It's briefly covered in [[Overscan#PAL]], it looks like, and that's actually an appropriate place for it. - [[User:Rainwarrior|Rainwarrior]] ([[User talk:Rainwarrior|talk]]) 11:35, 21 May 2015 (MDT)
::::Well ideally the example should be graphical especially when talking about graphics. That makes sense, I don't think it's a "weird idea". An explaination like "a sprite with colour $12 will hit on a background with colour $32" or whathever is hard to understand and makes absolutely no sense for those who aren't already familiar with the NES palette. Even for me who am familiar with the NES palette this makes few sense: Why those values? Since the palette does not matter at all, I don't see why adding palette values is useful in any way, it is just downright confusing and stupid.[[User:Bregalad|Bregalad]] ([[User talk:Bregalad|talk]]) 01:27, 22 May 2015 (MDT)


I'd really like something more authoritative (such as a photograph of a TV with a ROM that demonstrates the missing columns). The only thing I've been able to find is Bregalad blankly asserting that this is true: [http://forums.nesdev.org/viewtopic.php?p=95052#p95052] —[[User:Lidnariq|Lidnariq]] ([[User talk:Lidnariq|talk]]) 12:24, 21 May 2015 (MDT)
I'd really like something more authoritative (such as a photograph of a TV with a ROM that demonstrates the missing columns). The only thing I've been able to find is Bregalad blankly asserting that this is true: [http://forums.nesdev.org/viewtopic.php?p=95052#p95052] —[[User:Lidnariq|Lidnariq]] ([[User talk:Lidnariq|talk]]) 12:24, 21 May 2015 (MDT)
: The relevant thread in regard to this effects I don't know how to name is here: [http://forums.nesdev.org/viewtopic.php?f=2&t=6132][[User:Bregalad|Bregalad]] ([[User talk:Bregalad|talk]]) 01:27, 22 May 2015 (MDT)

Revision as of 07:27, 22 May 2015

An observation from a PPU die image - the 2 large blocks at the upper-right (the horizontal strip between them is the address decoder) are the PPU OAM. It is arranged in 8 groups, one hooked up to each CPU data bit (i.e. the ones used for $2000-$2007 - the actual pins are along the upper-right corner of the die). The groups hooked up to D0/D1/D5/D6/D7 are 9 bits wide, while the ones hooked up to D2/D3/D4 are only 7 bits wide. One row in each group appears to be used for secondary OAM, while the other pairs of rows store the actual sprite data - since the flags byte does not contain any actual data in D2-D4, the corresponding rows are absent (and thus contain only 3 pairs of rows instead of 4 pairs); indeed, what appears to be a 4->9 decoder at the top of the die (just to the left of CPU D7) looks to convert the bottom 3 bits of the SPR-RAM address (and possibly the top 9th bit) into enables for offsets 0-7 and secondary OAM (for 8-15), and the enables for offsets 2 and 6 are not connected to D2-D4. --Quietust 18:23, 11 January 2011 (UTC)

In fact, the 4->9 decoder at the top also explains behavior I've seen elsewhere, where setting $2003 to a nonzero value would use the value of the upper 5 bits (instead of all 0s) to fetch the first two sprites (and cause the first one to trigger sprite #0 hit)... --Quietust 18:29, 11 January 2011 (UTC)

Perhaps this page could be renamed to something like "Sprites" and have some of the priority and evaluation stuff merged into it. A separate page just for the memory area seems a bit arbitrary to me. -Ulfalizer (talk) 05:05, 28 March 2013 (MDT)

One part of it says "It has not been determined whether the PPU actually drives these bits low or whether this is the effect of data bus capacitance from reading the last byte of the instruction (LDA $2004, which assembles to AD 04 20). "

This is not factual information and adds noise to the page. Has it been determined since this was edited in? Bregalad (talk) 08:19, 20 May 2015 (MDT)

PAL horizontal overscan masking?

The wiki currently says "[A sprite 0 hit will happen even if it is during] The PAL PPU blanking on the left and right edges at x=0, x=1, and x=254."—what PAL PPU blanking on the edges? Did I miss something? (maybe add a citation in the article?) —Lidnariq (talk) 21:06, 20 May 2015 (MDT)

It's the "Side borders" row in Clock rate. --Tepples (talk) 21:41, 20 May 2015 (MDT)
Doesn't that mean that the visible width is 260 pixels on PAL, with two pixels of black on both sides, not that the visible area is 256 pixels of which the NES blanks two pixels on each side?—Lidnariq (talk) 22:51, 20 May 2015 (MDT)
No. The left and right 2 columns are always black in PAL (even if the background colour is not black), making the "effective" resolution 252x240. Since everything is so badly worded and so confusing on this wiki it's no surprise there is no consistency how this phenomena is called and how poorly it is doccumented. By the way, you guys obviously are not used to work with technical documentation. Text should state facts only once, not 3 or 4 times sparkled around and using a different wording. If examples should be given to complement the text, they should be graphical, not textual.Bregalad (talk) 01:41, 21 May 2015 (MDT)
In this particular case, the Wiki describes this once, inadequately, and in the wrong place (clock rate??). That's probably on par with most technical manuals I've read, but most technical manuals are crap, and they have a very different target than our wiki (and often don't have the advantage of hypertext). Examples can be very useful to understanding, I have no idea why you came up with the bizarre idea that examples should be graphical only, but some graphical illustrations of how the PAL video is displayed would be very helpful. - Rainwarrior (talk) 11:31, 21 May 2015 (MDT)
It's briefly covered in Overscan#PAL, it looks like, and that's actually an appropriate place for it. - Rainwarrior (talk) 11:35, 21 May 2015 (MDT)
Well ideally the example should be graphical especially when talking about graphics. That makes sense, I don't think it's a "weird idea". An explaination like "a sprite with colour $12 will hit on a background with colour $32" or whathever is hard to understand and makes absolutely no sense for those who aren't already familiar with the NES palette. Even for me who am familiar with the NES palette this makes few sense: Why those values? Since the palette does not matter at all, I don't see why adding palette values is useful in any way, it is just downright confusing and stupid.Bregalad (talk) 01:27, 22 May 2015 (MDT)

I'd really like something more authoritative (such as a photograph of a TV with a ROM that demonstrates the missing columns). The only thing I've been able to find is Bregalad blankly asserting that this is true: [1]Lidnariq (talk) 12:24, 21 May 2015 (MDT)


The relevant thread in regard to this effects I don't know how to name is here: [2]Bregalad (talk) 01:27, 22 May 2015 (MDT)