PPU variants: Difference between revisions
m (fixed several image display sizes) |
(re-add alternate 2C05-99 image) |
||
(17 intermediate revisions by 5 users not shown) | |||
Line 2: | Line 2: | ||
{| class="tabular" | {| class="tabular" | ||
| RP2C02 || Extremely rare. | | RP2C02 || Extremely rare. Likely only a few thousand made. [http://web.archive.org/web/20160315221802/kitayama3800.publog.jp/archives/cat_915765.html (pictures not archived)] | ||
[[File:PPU=RP2C02 3G2 23.jpg|400px]] | [[File:RP2C02_3F4_13.jpg|400px]] [[File:PPU=RP2C02 3G2 23.jpg|400px]] | ||
|- | |- | ||
| 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. | | 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. | ||
Line 46: | Line 46: | ||
[[File:PPU=RC2C03C 4A2 10.jpg|400px]] | [[File:PPU=RC2C03C 4A2 10.jpg|400px]] | ||
|- | |- | ||
| RP2C04 0001 || [[PPU palettes#2C04|Scrambled palette]] and new colors, otherwise like | | RP2C04 0001 || [[PPU palettes#2C04|Scrambled palette]] and new colors, otherwise like 2C03C. | ||
[[File:PPU=RP2C04 0001 4C4 15.jpg|150px]] | [[File:PPU=RP2C04 0001 4C4 15.jpg|150px]] | ||
|- | |- | ||
Line 64: | Line 64: | ||
| RC2C05-04 || [[File:PPU=RC2C05-04 7C3 12.jpg|400px]] same as above | | RC2C05-04 || [[File:PPU=RC2C05-04 7C3 12.jpg|400px]] same as above | ||
|- | |- | ||
| RC2C05-99 || | | 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 [[wikipedia:Famicom Titler|Famicom Titler]]. ([http://photozou.jp/photo/photo_only/165213/17829839 picture of Titler PCBs]) | ||
[[File:PPU=RC2C05-99 8L4 11.jpg|400px]] | [[File:PPU=RC2C05-99 8M4 14.jpg|400px]][[File:PPU=RC2C05-99 8L4 11.jpg|400px]] | ||
|- | |- | ||
| 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 || 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. | ||
Line 81: | Line 81: | ||
[[File:PPU=UA6528P-8911S.jpg|400px]] | [[File:PPU=UA6528P-8911S.jpg|400px]] | ||
|- | |- | ||
| UA6538(P??) || UMC-made variant for playing NTSC games in PAL countries. Emits PAL-B video. Vblank | | 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 {{sup|(how so?)}}. See also [[Clock rate]]. | ||
[[File:PPU=UA6538 9214-BA 221530.jpg|400px]] | [[File:PPU=UA6538 9214-BA 221530.jpg|400px]] | ||
|- | |- | ||
Line 88: | Line 88: | ||
|- | |- | ||
| UA6548 || UMC-made variant for PAL-M (Brazil) System crystal is 21453671… Hz (exactly 6×227.25×4500000÷286) | | UA6548 || UMC-made variant for PAL-M (Brazil) System crystal is 21453671… Hz (exactly 6×227.25×4500000÷286) | ||
[[File:PPU=UA6548 9232-BS 825520.jpg|400px]] | |||
|- | |- | ||
| UM6558 || UMC-made variant of UA6538 for SECAM countries. Emits 8-bit "[https://forums.nesdev.org/viewtopic.php?p=194423#p194423 Color Data]" digital bus, for conversion into SECAM by UA6559 IC. Color palette [http://www.emu-land.net/forum/index.php/topic,27910.msg1091380.html#msg1091380 noticeably off]. System crystal is 21312500 Hz (exactly 4×341×15625). Maybe supports both 50 and 60 Hz operation? | | UM6558 || UMC-made variant of UA6538 for SECAM countries. Emits 8-bit "[https://forums.nesdev.org/viewtopic.php?p=194423#p194423 Color Data]" digital bus, for conversion into SECAM by UA6559 IC. Color palette [http://www.emu-land.net/forum/index.php/topic,27910.msg1091380.html#msg1091380 noticeably off]. System crystal is 21312500 Hz (exactly 4×341×15625). Maybe supports both 50 and 60 Hz operation? | ||
[[File:PPU=UM6558 9342S 924510.jpg|400px]] | [[File:PPU=UM6558 9342S 924510.jpg|400px]] | ||
|- | |- | ||
| UM6561xx-1 || UMC-made NES-on-a-chip for NTSC. PPU half believed identical to UA6528. Revisions "xx" AF, BF, CF | | 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 identical to UA6538. Revisions "xx" AF, BF, CF | | 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. | |||
[[File:NOAC=UM6561 AF-2 9440A R81040.jpg|200px]] | [[File:NOAC=UM6561 AF-2 9440A R81040.jpg|200px]] | ||
|- | |- | ||
| TA-02N || ??-made clone of | | TA-02N || ??-made die-mask clone of 2C02G, despite the "6528" label.[https://forums.nesdev.org/viewtopic.php?p=286601#p286601] Chip underside also has two codes of currently unknown purpose. | ||
[[File:PPU=TA-02N 6528 9248.jpg|400px]] | [[File:PPU=TA-02N 6528 9248.jpg|400px]] | ||
[[File:PPU=TA-02N Underside NT0181 609860A.jpg|325px]] | |||
|- | |- | ||
| TA-02NP || ??-made clone of UA6538. Pins 14-17 are background color in, like normal 2C03[https://forums.nesdev.org/viewtopic.php?p=274318#p274318] | | TA-02NP || ??-made clone of UA6538. Pins 14-17 are background color in, like normal 2C03[https://forums.nesdev.org/viewtopic.php?p=274318#p274318] | ||
Line 120: | Line 127: | ||
| MG-N-502 || [[File:PPU=MG-N-502 8933.jpg|400px]] | | MG-N-502 || [[File:PPU=MG-N-502 8933.jpg|400px]] | ||
|- | |- | ||
| MG-P-502 || Micro Genius / TXC | | MG-P-502 || Micro Genius / TXC. Die shot matches UA6538. | ||
[[File:PPU=MG-P-502 9221M 403600.jpg|400px]] | [[File:PPU=MG-P-502 9221M 403600.jpg|400px]] | ||
|- | |- | ||
| T1818 || ??-made NES-on-a-chip, NTSC timing. Believed to exist, but evidence currently scant. | | T1818 || ??-made NES-on-a-chip, NTSC timing. Believed to exist, but evidence currently scant. | ||
|- | |- | ||
| | | 1818P || SiS-made[//forums.nesdev.org/viewtopic.php?t=24499]] NES-on-a-chip.[//forums.nesdev.org/viewtopic.php?p=228515#p228515]. Requires external 2KiB RAMs for CPU and PPU. UA6538 timing. | ||
[[File:NOAC=1818P 8250.jpg|160px]] | [[File:NOAC=1818P 8250.jpg|160px]] | ||
|- | |- | ||
Line 149: | Line 156: | ||
|- | |- | ||
| GT-01 || [[File:PPU=GT-01 9045.jpg]] In PLCC | | GT-01 || [[File:PPU=GT-01 9045.jpg]] In PLCC | ||
|- | |||
| HA6538 || [[File:PPU=HA6538 DR21.png|400px]] | |||
|- | |||
| 6538U-8 || [[File:PPU=SENiTON 6538U-8.png|400px]] | |||
|- | |||
| 6538A || [[File:PPU=SENiTON 9122D 6538A CFT2.png|400px]] [[File:PPU=SENiTON 9122D 6538A CFU6.png|400px]] | |||
|} | |} | ||
Latest revision as of 03:23, 8 December 2023
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. |
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!