|
|
(4 intermediate revisions by 2 users not shown) |
Line 1: |
Line 1: |
| The '''clock rate''' of various components in the NES differs between consoles in the USA and Europe due to the different television standards used (NTSC M vs. PAL B). The color encoding method used by the NES (see [[NTSC video]]) requires that the master clock frequency be six times that of the color subcarrier, but this frequency is about 24% higher on PAL than on NTSC. In addition, PAL has more scanlines per field and fewer fields per second than NTSC.
| | #REDIRECT [[Cycle reference chart]] |
| Furthermore, the PAL CPU's master clock could have been divided by 15 to preserve the ratio between CPU and PPU speeds, but Nintendo chose to keep the [[wikipedia:Ring counter|Johnson counter]] structure, which always has an even period, and divide by 16 instead.
| |
| | |
| So the main differences between the NTSC and PAL PPUs are depicted in the following table:
| |
| {| class="tabular"
| |
| ! Property
| |
| ! NTSC (2C02)
| |
| ! PAL (2C07)
| |
| ! Dendy
| |
| ! RGB (2C03)
| |
| ! RGB (Vs. 4)
| |
| ! RGB (2C05)
| |
| |-
| |
| | Master clock speed
| |
| | 21.477272 MHz ± 40 Hz<br/>236.25 MHz ÷ 11 by definition
| |
| | 26.601712 MHz ± 50 Hz<br/>26.6017125 MHz by definition
| |
| | Like PAL
| |
| | colspan=3 align=center|Like NTSC
| |
| |-
| |
| | CPU
| |
| | Ricoh 2A03
| |
| | Ricoh 2A07
| |
| | UMC 6527P
| |
| | colspan=3 align=center|Ricoh 2A03
| |
| |-
| |
| | CPU clock speed
| |
| | 21.47~ MHz ÷ 12 = 1.789773 MHz<br/>Same as NTSC Amiga clock ÷ 4
| |
| | 26.60~ MHz ÷ 16 = 1.662607 MHz
| |
| | 26.60~ MHz ÷ 15 = 1.773448 MHz<br/>Same as PAL Amiga clock ÷ 4
| |
| | colspan=3 align=center|Like NTSC
| |
| |-
| |
| | [[APU Frame Counter]] rate
| |
| | 60 Hz
| |
| | 50 Hz[http://forums.nesdev.org/viewtopic.php?p=160349#p160349]
| |
| | 59 Hz[http://forums.nesdev.org/viewtopic.php?p=174970#p174970]
| |
| | colspan=3 align=center|Like NTSC
| |
| |-
| |
| | PPU
| |
| | Ricoh 2C02
| |
| | Ricoh 2C07
| |
| | UMC 6538
| |
| | Ricoh 2C03
| |
| | Ricoh 2C04-0001 through 2C04-0004
| |
| | Ricoh 2C05
| |
| |-
| |
| | PPU clock speed
| |
| | 21.477272 MHz ÷ 4
| |
| | 26.601712 MHz ÷ 5
| |
| | Like PAL
| |
| | colspan=3 align=center|Like NTSC
| |
| |-
| |
| | PPU dots per CPU cycle
| |
| | 3
| |
| | 3.2
| |
| | 3
| |
| | colspan=3 align=center|Like NTSC
| |
| |-
| |
| | Height of picture
| |
| | 240 scanlines
| |
| | 239 scanlines
| |
| | Like PAL
| |
| | colspan="3" align="center"|Like NTSC
| |
| |-
| |
| | Nominal visible picture height (see [[Overscan]])
| |
| | 224 scanlines
| |
| | 268 scanlines
| |
| | Like PAL
| |
| | colspan=3 align=center|Like NTSC
| |
| |-
| |
| | "Post-render" blanking lines between end of picture and [[NMI]]
| |
| | 1 scanline
| |
| | 1 scanline
| |
| | 51 scanlines
| |
| | colspan=3 align=center|Like NTSC
| |
| |-
| |
| | Length of vertical blanking after NMI
| |
| | 20 scanlines
| |
| | 70 scanlines
| |
| | 20 scanlines
| |
| | colspan=3 align=center|Like NTSC
| |
| |-
| |
| | Time during which [[OAM]] can be written
| |
| | Vertical or forced blanking
| |
| | Only during first 20 scanlines after NMI
| |
| | Like NTSC
| |
| | colspan=3 align=center|Like NTSC
| |
| |-
| |
| | "Pre-render" lines between vertical blanking and next picture
| |
| | colspan="6" align="center" | 1 scanline
| |
| |-
| |
| | Total number of dots per frame
| |
| | 341 × 261 + 340.5 = 89341.5<br/>(pre-render line is one dot shorter in every other frame)
| |
| | 341 × 312 = 106392
| |
| | Like PAL
| |
| | colspan=3 align=center| 341 × 262 = 89342
| |
| |-
| |
| | Vertical scan rate
| |
| | 60.0988 Hz
| |
| | 50.0070 Hz
| |
| | Like PAL
| |
| | colspan=3 align=center|60.0985 Hz
| |
| |-
| |
| | Color of top and bottom borders
| |
| | N/A
| |
| | Always black ($1D)
| |
| | Like PAL
| |
| | ?
| |
| | ?
| |
| | ?
| |
| |-
| |
| | Side borders
| |
| | [[PPU_palettes|Palette]] entry at $3F00
| |
| | Always black ($1D), [[Overscan#PAL|intruding on left and right 2 pixels and top 1 pixel of picture]]
| |
| | Like PAL
| |
| | ?
| |
| | ?
| |
| | ?
| |
| |-
| |
| | Color emphasis<br/>(with correlating bit in [[PPUMASK]])
| |
| | Blue (D7), green (D6), red (D5)
| |
| | Blue (D7), red (D6), green (D5)
| |
| | Like PAL
| |
| | colspan=3 align=center|Blue, green, red (full scale)
| |
| |-
| |
| | Other quirks
| |
| |
| |
| |
| |
| |
| |
| | Missing $2D and $3D greys
| |
| | Permutated palette
| |
| | [[PPUCTRL]] and [[PPUMASK]] are swapped; revision ID in [[PPUSTATUS]] (D4-D0)
| |
| |}
| |
| Some frequencies in the above table are rounded.
| |
| | |
| The 2C03, 2C04, and 2C05 PPUs were all found in Nintendo's [[wikipedia:Nintendo_VS._System|Vs. System]] and [[wikipedia:PlayChoice-10|PlayChoice-10]] (a.k.a. PC10 or PC-10) arcade systems.
| |
| Famicom Titler, Famicom TVs, and RGB-modded NES consoles would use either the 2C03 or a 2C05 with glue logic to unswap $2000 and $2001.
| |
| (Later RGB mods used a 2C02 in output mode and faked out all palette logic.)
| |
| | |
| The color emphasis bits on the PAL NES have their red and green bits in [[PPUMASK]] swapped
| |
| | |
| The authentic NES sold in Brazil is an NTSC NES with an adapter board to turn the NTSC video into [[wikipedia:PAL-M|PAL-M video]], a variant of PAL using NTSC frequencies but PAL's color modulation.
| |
| | |
| [[wikipedia:Dendy (console)|Dendy]] is a clone of the Famicom distributed by Steepler and sold in Russia.
| |
| The chipset in Dendy and several other PAL famiclones (6527P+6538) is designed for compatibility with Famicom games, including games with CPU cycle counting mappers (e.g. [[VRC4]]) and games that use a cycle-timed NMI handler (e.g. ''Balloon Fight'').
| |
| This explains the faster CPU divider and longer post-render period vs. the authentic PAL NES.
| |
| | |
| To compensate for these differences, you can [[detect TV system|detect the TV system]] at power-on.
| |