Verification of some EXT pin info

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Verification of some EXT pin info
by on (#109614)
Does the following change sound right? (http://wiki.nesdev.com/w/index.php/PPU_registers)

Quote:
Setting bit 6 causes the PPU to output pixel values to the EXT pins in the form of palette indices - since the EXT pins are grounded on an unmodified NES, doing this is discouraged as it could potentially damage the chip whenever it outputs a non-zero pixel value (due to it effectively shorting VCC and GND together). Clearing bit 6 causes the PPU to instead read the palette index to use for the background color from the EXT pins. This could be used by some device driving the PPU to replace the background with a different image. Normally the EXT pins are grounded, and the PPU will use palette color 0 for the background, as expected.
Re: Verification of some EXT pin info
by on (#109624)
ulfalizer wrote:
Does the following change sound right? (http://wiki.nesdev.com/w/index.php/PPU_registers)

Quote:
Setting bit 6 causes the PPU to output pixel values to the EXT pins in the form of palette indices - since the EXT pins are grounded on an unmodified NES, doing this is discouraged as it could potentially damage the chip whenever it outputs a non-zero pixel value (due to it effectively shorting VCC and GND together). Clearing bit 6 causes the PPU to instead read the palette index to use for the background color from the EXT pins. This could be used by some device driving the PPU to replace the background with a different image. Normally the EXT pins are grounded, and the PPU will use palette color 0 for the background, as expected.

It would be good to define the term "palette index" somewhere, because otherwise it might be unclear whether it means the global (6-bit) palette index (or rather the 4 lowest bits of it) or an index in to the palette memory ($3F00-$3F1F).

What it in fact does is output the palette memory index, but it probably should also be mentioned that because the output is only 4 bits it's not possible to distinguish whether the pixel came from a sprite or a background pixel.
Re: Verification of some EXT pin info
by on (#109729)
thefox wrote:
ulfalizer wrote:
Does the following change sound right? (http://wiki.nesdev.com/w/index.php/PPU_registers)

Quote:
Setting bit 6 causes the PPU to output pixel values to the EXT pins in the form of palette indices - since the EXT pins are grounded on an unmodified NES, doing this is discouraged as it could potentially damage the chip whenever it outputs a non-zero pixel value (due to it effectively shorting VCC and GND together). Clearing bit 6 causes the PPU to instead read the palette index to use for the background color from the EXT pins. This could be used by some device driving the PPU to replace the background with a different image. Normally the EXT pins are grounded, and the PPU will use palette color 0 for the background, as expected.

It would be good to define the term "palette index" somewhere, because otherwise it might be unclear whether it means the global (6-bit) palette index (or rather the 4 lowest bits of it) or an index in to the palette memory ($3F00-$3F1F).

What it in fact does is output the palette memory index, but it probably should also be mentioned that because the output is only 4 bits it's not possible to distinguish whether the pixel came from a sprite or a background pixel.


Hadn't thought of there not being enough bits to output the entire palette memory index. How does the following sound?

Quote:
Setting bit 6 causes the PPU to output the lower four bits of the palette memory index on the EXT pins for each pixel - since only four bits are output, background and sprite pixels can't normally be distinguished this way. Since the EXT pins are grounded on an unmodified NES, setting bit 6 is discouraged as it could potentially damage the chip whenever it outputs a non-zero pixel value (due to it effectively shorting VCC and GND together). Clearing bit 6 causes the PPU to instead read the background palette memory index to use for the background color from the EXT pins. This could be used by some device driving the PPU to replace the background with a different image. Normally the EXT pins are grounded, and the PPU will use palette color 0 for the background, as expected.


Does setting bit 6 affect the normal drawing in any way?
Re: Verification of some EXT pin info
by on (#109789)
ulfalizer wrote:
Hadn't thought of there not being enough bits to output the entire palette memory index. How does the following sound?

Seems fine to me.

Quote:
Does setting bit 6 affect the normal drawing in any way?

Not that I know of.
Re: Verification of some EXT pin info
by on (#109794)
thefox wrote:
ulfalizer wrote:
Hadn't thought of there not being enough bits to output the entire palette memory index. How does the following sound?

Seems fine to me.

Quote:
Does setting bit 6 affect the normal drawing in any way?

Not that I know of.


Ok, updated the wiki.