2C03 behaves the same as the standard NTSC PPU (2C02) with four minor differences. From least minor to most minor:
- Emphasis makes a particular component (red, green, or blue) fully bright instead of slightly darkening the other two.
- The palette is similar to the NTSC palette but much more saturated.
- Grays $2D and $3D are displayed as black (like $1D). Instead, use $00 and $10 respectively.
- No shortened pre-render line every other field.
The Famicom Titler and Famicom TV (but not the NES TV) also use the 2C03 PPU. Some Famicom games that use emphasis carry warnings that they won't work on a Famicom TV.
2C04 behaves the same as 2C03, but the lookup table from 6-bit colors to RGB colors is shuffled with one of four random permutations. This makes fades more difficult, and the grayscale bit ($2001 bit 0) is less useful. At least one Vs. game maps the DIP switches to select a lookup table that undoes this shuffling, allowing use with more than one PPU at runtime.
2C05 behaves the same as 2C03, except that $2000 and $2001 are swapped. If you use labels for these two (such as
PPUCTRL and
PPUMASK), you can make this a build-time switch. In addition, each of the different 2C05 models returns a different constant value in the otherwise unused bits 4-0 of $2002. But an external circuit (A0' = A0 XOR (A1 NOR A2)) will unswap the registers, making the 2C05 behave 99.99% the same as a 2C03.
Other changes needed for a full port to Vs. System include coin switch and coin log handling, the need to prevent stalling or infinite lives tactics, 4-screen VRAM, a different way of enabling WRAM at $6000, DIP switch handling, controller 1 being on the right side of the panel, a different Zapper protocol, and I think mapper IRQs (VRC4/6/7, MMC3) don't work properly.