Wiki Error?

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Wiki Error?
by on (#71443)
http://wiki.nesdev.com/w/index.php/PPU_ ... _.3E_write

The line states that writing #$30 to $2001 will produce a monochrome display. It seems that is incorrect. Writing #$1F will produce the monochrome display. Writing #$30 will only remove the background rendering and intensify red.

by on (#71445)
No, it says that enabling the monochrome bit is like doing a bitwise AND of all the colors of the palette with 0x30.

by on (#71453)
I've updated the phrasing of the bit in question. Instead of saying "1: AND all ...", I've changed it to "1: logically AND all...", which should act as extra clarification.

by on (#71461)
The problem is using "AND" as if it was a verb. Maybe it should say "ignore bits 0-3 of the palette entries, effectively producing a monochrome display"

by on (#71464)
koitsu wrote:
I've updated the phrasing of the bit in question. Instead of saying "1: AND all ...", I've changed it to "1: logically AND all...", which should act as extra clarification.


That makes it much clearer.

by on (#71466)
"Logically AND" makes me think of logical conjunction... I would do something along the lines of what tokumaru said.

by on (#71474)
C, C++, Java, PHP, and numerous other C-family languages make a distinction between bitwise AND (&) and logical AND (&&). Bitwise AND is the operation performed here. Logical AND is "1 if both values are nonzero; otherwise 0". I just rewrote much of that section to get more of the discussion out of the bit chart.

by on (#71477)
tepples wrote:
C, C++, Java, PHP, and numerous other C-family languages make a distinction between bitwise AND (&) and logical AND (&&). Bitwise AND is the operation performed here. Logical AND is "1 if both values are nonzero; otherwise 0". I just rewrote much of that section to get more of the discussion out of the bit chart.


Yep, if I saw logical AND I'd really be confused.