Skip to main content
NESdev Wiki
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

PPU variants

Beyond the well-studied 2C02G, we know of the following PPU revisions, both made by Ricoh and other manufacturers:

Official

Chips officially licensed by Nintendo for use in official consoles and arcade systems.

Composite


NTSC

All official NTSC PPUs expect a 21.477272 MHz master clock.

PartPictureFirst SeenLast SeenNotes
RP2C02
1983-06
3F4 13
1983-08
3H2 10
Extremely rare. Likely only a few thousand made. http://web.archive.org/web/20160315221802/kitayama3800.publog.jp/archives/cat_915765.html (pictures not archived)]
RP2C02A1983-08
3H1 43
1983-10
3L1 54
Sometimes erroneous sprite pixels appear in X=255. Some modern PCBs generate almost exclusively glitchy pattern fetches. PPUMASK and PPUCTRL seem to be entirely asynchronous, and writes to PPUMASK can disable rendering for one pixel with the commensurate bugs resulting.
RP2C02B1983-12
3M3 73
1984-05
4E1 54
Erroneous sprite pixels appear at X=255, just like 2C02A. Production seems to have halted to produce the 2C02C, but 2C02C production stopped and 2C02B production resumed, for unknown reasons.
RP2C02C1983-12
3M1 10
1984-02
4B4 98
Eventually stopped being produced in favor of resuming 2C02B production, for unknown reasons.
RC2C02C1984-01
4A3 15
Comes in a ceramic package.[1] Currently only found inside serviced Famicoms.
RP2C02D1984-07
4G4 27
1984-12
4M2 29
RP2C02D-01984-10
4K3 63
1984-12
4M2 58
RP2C02E1984-12
4M3 14
1985-10
5K4 36
RP2C02E-01985-03
5C5 46
1987-03
7C4 29
In this and all previous revisions, OAMDATA and palette RAM are not readable.

Various OAM evaluation bugs

RP2C02G-01987-05
7E2 80
1993-10
3KM 1H
Writes to OAMADDR cause corruption of OAM. Leaving OAMADDR at a value of 8 or greater causes OAM corruption when rendering starts. Particularly susceptible to reflections causing OAM corruption, fixed by putting series resistors between the CPU and the cartridge ROM.
RP2C02H-01993-12
3MM 40
1999-05
9EM 5B
Thought have to have fixed some of the glitches in the previous 2C02G-0 revision(which?).
RP2C02H-0 (laser)2000-10
0KL 40
2003-01
3AL 4B
Reported (along with PAL PPUs) to have some kind of difference that caused problems with address bus filtering in earlier versions of the Hi-Def NES firmware.

PAL

All official PAL PPUs expect a 26.601712 MHz master clock.

PartPictureFirst SeenLast SeenNotes
RP2C071985-12
5M4 26
PAL-B PPU. Vblanking is 71 scanlines long. OAM evaluation can never be fully disabled. Red/green color emphasis swapped. OAMADDR works correctly, not corrupting OAM contents]
RP2C07-01987-10
7K3 27
1992-01
2AM 11
RP2C07A-01992-06
2FM 22
Some subtle differences in PPU that make this work better with Kevtris's HDNES, but otherwise believed identical to 2C07.

RGB

All official RGB PPUs are NTSC and expect a 21.477272 MHz master clock.


PartPictureFirst SeenLast SeenNotes
RC2C031983-11
3L4 15
Found in the Sharp C1 TV. Suspected to be same core as 2C02 letterless.
RP2C03B
1984-02
4B2 36
1989-03
9C4 23
RGB PPU. Color emphasis bits set the corresponding channel to full brightness. Otherwise believed identical to 2C02B. OAMDATA and PPU palette are not readable.
RC2C03B1984-01
4A2 14
1984-01
4A4 30
RP2C03C1984-03
4C2 63
RGB PPU. Believed to be same core as 2C02C.
RC2C03C1984-01
4A2 10
Believed identical to RP2C03C.
RP2C04
0001
1984-03
4C2 01
1984-05
4E4 35
RGB PPU with a scrambled palette and some added colors, for copy protection purposes. Equivalent to 2C02D, but keeps 2C03 timing (no skipped dot).
RP2C04
0002
1984-07
4G3 15
1984-10
4K2 35
Scrambles the palette uniquely compared to the previous revision.
RP2C04
0003
1984-10
4K5 13
1984-11
4L4 33
Scrambles the palette uniquely compared to the previous revisions.
RP2C04
0004
1984-11
4L3 18
1984-11
4L5 36
Scrambles the palette uniquely compared to the previous revisions.
RC2C05-011985-06
5F5 10
1985-06
5F5 11
PPUCTRL and PPUMASK swap locations. Five LSBs of PPUSTATUS return a constant. Otherwise believed to behave like 2C03.
RC2C05-02Believed to be the same as 2C05-01, with the PPUSTATUS constant changed.
RC2C05-031985-07
5G1 12
Believed to be the same as 2C05-01, with the PPUSTATUS constant changed.
RC2C05-041987-03
7C3 12
Believed to be the same as 2C05-01, with the PPUSTATUS constant changed.
RC2C05-991988-11
8L4 11
1988-12
8M4 14
An RGB PPU with RP2C02E behavior: OAM and palettes are unreadable, but OAM corruption added in revision E is present. PPUSTATUS behavior is normal (the low 5 bits are PPU open bus). Grayscale is normal (palette & $30). Uses 2C02 timing (a dot is skipped every other frame), unlike other RGB PPUs. The palette and emphasis behavior match other RGB PPUs. PPUCTRL and PPUMASK aren't swapped. Used in the Famicom Titler. (picture of Titler PCBs)

Unofficial

These chips are found exclusively inside of Famiclone systems, made by multiple companies.

PartClockVideoPictureNotes
UA652821.48
MHz
NTSC UMC-made clone of 2C02E (or something earlier) [2]
UA6528P21.49
MHz
PAL-NUMC-made variant for PAL-N (Argentina) [3] System crystal is 21492337.5 Hz (exactly 6×229.2516×15625)
UA6538(P??)26.60
MHz
PAL-BUMC-made variant for playing NTSC games in PAL countries. Emits PAL-B video. Vblank interrupt intentionally emitted 50 scanlines later than 2C07. Video DAC is brighter and more saturated (how so?). See also Clock rate.
UA654126.60
MHz
PALUMC-made clone of 2C07 [4]
UA654821.45
MHz
PAL-MUMC-made variant for PAL-M (Brazil) System crystal is 21453671… Hz (exactly 6×227.25×4500000÷286)
UM655821.31
MHz
SECAMUMC-made variant of UA6538 for SECAM countries. Emits 8-bit "Color Data" digital bus, for conversion into SECAM by UM6559 IC. Color palette noticeably off. System crystal is 21312500 Hz (exactly 4×341×15625). Maybe supports both 50 and 60 Hz operation?
UM6561xx-121.48
MHz
NTSCUMC-made NES-on-a-chip for NTSC. PPU half believed to be mostly identical to UA6528. Revisions "xx" F, AF, BF, CF known.

Emphasis is much stronger than on UA6528 and official PPUs.

UM6561xx-2?PAL-B UMC-made NES-on-a-chip for PAL-B. PPU half believed to be mostly identical to UA6538. Revisions "xx" F, AF, BF, CF known.

AF revision has graphical and timing glitches in Prince of Persia perhaps caused by sprite 0 hit being missed for reasons not yet understood. F and BF revisions are not affected.

Emphasis is much stronger than on UA6538 and official PPUs.

TA-02N21.48
MHz
NTSC

??-made die-mask clone of 2C02G, despite the "6528" label.[5] Chip underside also has two codes of currently unknown purpose.
TA-02NP?PAL ??-made PPU, Dendy compatible (not a 6538 clone). Pins 14-17 are background color in, like normal 2C03[6]
TA-02NPB?Select??-made PPU, "NTSC for PAL-B" (NPB) Dendy-compatible. Has a unique video switching capability shared between it and other TA-02NPx chipsets, as well as the WDL chipset.
TA-08?SECAM??-made PPU, Second source alternative to UM6558. Color Data bus bit-reversed?
MG-N-502?NTSC
MG-P-50226.60
MHz
PAL-BMicro Genius / TXC. Die shot matches UA6538.
1818N21.48
MHz
NTSC??-made NES-on-a-chip, NTSC timing.
1818P26.60
MHz
PAL-BSiS-made[7]] NES-on-a-chip.[8]. Requires external 2KiB RAMs for CPU and PPU. UA6538 timing.
PM02-1?PAL-MGradiente-made variant for PAL-M (Brazil). [9]
VT01?SelectV.R.Tech-made clone of UA6561. Only seen as chip-on-board. Supports composite out; RGB out; or 2bpp STN LCD, either greyscale or red/cyan checkerboard, 240 px wide, 80/120/160/240px tall. The chip was extended significantly in VT02 and newer NOACs.
GS8700821.48
MHz
NTSC(Goldstar??)-made NTSC clone [10]

Found in MicroGenius clone with PAL/NTSC switch.[1]

GS87008P?PAL
KC-607826.60
MHz
PAL-BFound in MT777-DX famiclone, behaves exactly like UA6538
6022?NTSC??-made NTSC clone. Details unknown.
2010??
2A02E??Dendy Timing. On a large solid-color background (especially yellow, green), every other row has a horizontal stripe.
02??
GT-01??In PLCC
HA6538?PAL PAL video output.
SENITON 6538U-8?PALPAL video output.
SENITON 6538A?PALPAL video output.
6528 (WDL6528)21.48
MHz
NTSC WDL made chip, often referred to as "WDL6528". NTSC timing. Palette like RP2C02. OAMDATA cannot be read.
8Z0221.48
MHz
NTSCFound in Family Game by NTDEC.
TECH28?PALPAL video output.

If you know of other differences or other revisions, please add them!

See also

  1. ↑ https://forums.nesdev.org/viewtopic.php?p=241514#p241514

Edit this page on GitHub