PPU variants: Difference between revisions
m (Added some new photos, mostly of RP2C04s) |
m (Added RP2C03C photo and a few other secondary chip photos) |
||
Line 39: | Line 39: | ||
|- | |- | ||
| RP2C03C || RGB PPU. Believed to be same core as 2C02C. | | RP2C03C || RGB PPU. Believed to be same core as 2C02C. | ||
[[File:PPU=RP2C03C 4C2 63.jpg|400px]] | |||
|- | |- | ||
| RC2C03B || [[PPU palettes#RC2C03B|Tweaked palette]]; otherwise believed identical to R'''P'''2C03B. | | RC2C03B || [[PPU palettes#RC2C03B|Tweaked palette]]; otherwise believed identical to R'''P'''2C03B. | ||
[[File:PPU=RC2C03B 4A4 30.jpg|400px]] | [[File:PPU=RC2C03B 4A4 30.jpg|400px]] [[File:PPU=RC2C03B 4A4 21.jpg|400px]] | ||
|- | |- | ||
| RC2C03C || Believed identical to RP2C03C. | | RC2C03C || Believed identical to RP2C03C. | ||
Line 59: | Line 60: | ||
|- | |- | ||
| RC2C05-01 || [[PPUCTRL]] and [[PPUMASK]] swap locations. Five LSBs of [[PPUSTATUS]] return a constant. Otherwise like 2C03. | | RC2C05-01 || [[PPUCTRL]] and [[PPUMASK]] swap locations. Five LSBs of [[PPUSTATUS]] return a constant. Otherwise like 2C03. | ||
[[File:PPU=RC2C05-01 5F5 10.jpg|400px]] | [[File:PPU=RC2C05-01 5F5 10.jpg|400px]] [[File:PPU=RC2C05-01 5F5 11.jpg|400px]] | ||
|- | |- | ||
| RC2C05-02 || " | | RC2C05-02 || " |
Revision as of 05:22, 19 June 2024
Beyond the well-studied 2C02G, we know of the following PPU revisions, both made by Ricoh and other manufacturers:
RP2C02 | Extremely rare. Likely only a few thousand made. (pictures not archived) |
RP2C02A | 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. |
RP2C02B | Sometimes erroneous sprite pixels appear in X=255. |
RP2C02C | |
RC2C02C | In ceramic package. [1] |
RP2C02D | |
RP2C02D-0 | |
RP2C02E | |
RP2C02E-0 | In this and all previous revisions, OAMDATA and palette RAM are not readable. |
RP2C02G-0 | 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-0 | Thought have to have fixed some of the glitches in the 2C02G |
RP2C03B | RGB PPU. Color emphasis bits set the corresponding channel to full brightness. Otherwise believed identical to 2C02B. OAMDATA and PPU palette are not readable. |
RP2C03C | RGB PPU. Believed to be same core as 2C02C. |
RC2C03B | Tweaked palette; otherwise believed identical to RP2C03B. |
RC2C03C | Believed identical to RP2C03C. |
RP2C04 0001 | Scrambled palette and new colors, otherwise like 2C03C. |
RP2C04 0002 | " |
RP2C04 0003 | " |
RP2C04 0004 | " |
RC2C05-01 | PPUCTRL and PPUMASK swap locations. Five LSBs of PPUSTATUS return a constant. Otherwise like 2C03. |
RC2C05-02 | " |
RC2C05-03 | same as above |
RC2C05-04 | same as above |
RC2C05-99 | 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. Used in the Famicom Titler. (picture of Titler PCBs) |
RP2C07 | 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-0 | |
RP2C07A-0 | Some subtle differences in PPU that make this work better with Kevtris's HDNES, but otherwise believed identical to 2C07. |
UA6528 | UMC-made clone of 2C02E (or something earlier) [2] |
UA6528P | UMC-made variant for PAL-N (Argentina) [3] System crystal is 21492337.5 Hz (exactly 6×229.2516×15625) |
UA6538(P??) | UMC-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. |
UA6541 | UMC-made clone of 2C07 [4] |
UA6548 | UMC-made variant for PAL-M (Brazil) System crystal is 21453671… Hz (exactly 6×227.25×4500000÷286) |
UM6558 | UMC-made variant of UA6538 for SECAM countries. Emits 8-bit "Color Data" digital bus, for conversion into SECAM by UA6559 IC. Color palette noticeably off. System crystal is 21312500 Hz (exactly 4×341×15625). Maybe supports both 50 and 60 Hz operation? |
UM6561xx-1 | UMC-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 | 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-02N | ??-made die-mask clone of 2C02G, despite the "6528" label.[5] Chip underside also has two codes of currently unknown purpose. |
TA-02NP | ??-made clone of UA6538. Pins 14-17 are background color in, like normal 2C03[6] |
TA-02NPB | It has unique feature of switching video region:
pin 16: Video mode: 50Hz (GND) / 60Hz (5V) pin 17: Crystal select: 26.xxx MHz (GND) / 21.xxx MHz (5V) pins 14 and 15 were grounded but when connecting them to +5V, PPU displayed solid color screen and game did not boot. This one can be found in Rinco console (all Rincos have ability to switch video system, but some of them are build using blobs) and black one called "eastern computer" |
TA-08 | ??-made clone of UM6558. Color Data bus bit-reversed? |
MG-N-502 | |
MG-P-502 | Micro Genius / TXC. Die shot matches UA6538. |
T1818 | ??-made NES-on-a-chip, NTSC timing. Believed to exist, but evidence currently scant. |
1818P | SiS-made[7]] NES-on-a-chip.[8]. Requires external 2KiB RAMs for CPU and PPU. UA6538 timing. |
PM02-1 | Gradiente-made variant for PAL-M (Brazil). [9] |
VT01 | V.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. |
GS87008 | (Goldstar??)-made NTSC clone [10] |
KC-6078 | Found in MT777-DX famiclone, behaves exactly like UA6538 |
6022 | ??-made NTSC clone. Details unknown. |
2010 | |
2A02E | |
02 | |
GT-01 | In PLCC |
HA6538 | |
6538U-8 | |
6538A |
If you know of other differences or other revisions, please add them!