PS1:Video Output Notes: Difference between revisions

From ConsoleMods Wiki
Jump to navigation Jump to search
m (Forgive me - removing "PSX" name since this site also contains info about the PSX DVR)
(General reformatting, some rewrite for clarity. Added section on output connectors.)
Line 1: Line 1:
The video subsystem on the PS1 works in sometimes confusing ways, especially if you are running software that uses a video standard different from the one that the console was intended to operate in. In addition to this the behavior changed slightly between the PU-7/PU-8/PU-18 board and the PU-20 and subsequent boards.
=== Video clocks ===
The video subsystem on the PS1 works in sometimes confusing ways, especially if you are running software that uses a video standard different from the one that the console was intended to operate in. In addition to this the behavior changed slightly between the PU-7/PU-8/PU-18 board and the PU-20 and subsequent boards.  To make sense of this, you need to look at how the clocking in the PS1 works - there are two basic clock sources, one for the CPU and one for the GPU.  The CPU clock source is the same across all models and regional variants and is always 67.7378MHz - the actual CPU is clocked at 1/2 of this and this somewhat strange looking frequency was chosen so it could also be used for the sound subsystem as it's an exact integer multiple of the 44.1kHz CD sampling rate.


To make sense of this, you need to look at how the clocking in the PS1 works - there are two basic clock sources, one for the CPU and one for the GPU.  The CPU clock source is the same across all models and regional variants and is always 67.7378MHz - the actual CPU is clocked at 1/2 of this and this somewhat strange looking frequency was chosen so it could also be used for the sound subsystem as it's an exact integer multiple of the 44.1kHz CD sampling rate.
The GPU clock is about 53MHz, with the exact frequency changing between NTSC and PAL - NTSC uses 53.693(18) Mhz and PAL uses 53.203425 MHz - the reason the NTSC reference contains a repeating decimal is that it's actually defined as "315/88 MHz".  The difference between these 2 frequencies is the reason that a PS1 set to the "wrong" mode generates incorrect timing, because the logic in the CPU uses the correct divisors for the intended mode even when the external clock is wrong. A practical example of the result of this is that if you have a PAL console and run NTSC software on it the intended frame rate of about 59.94Hz will actually come out as 59.39Hz - an error of about 1% slow.  The same principle applies in reverse when running PAL software on an NTSC console, except here the error is in the opposite direction and the game runs about 1% fast.
 
==== Early machines (PU-7/PU-8 and PU-18 boards) ====
On the original production machines and up until the SCPH-700x "Dual Shock" releases, the CPU and video clocks were derived from separate oscillators, and the oscillator that drove the GPU was matched with the video standard for the region the console was locked to.  One exception to this were the SCPH-300x "Net Yaroze" machines, which had both oscillators installed since they were not region locked.
 
On these machines, the GPU also outputs the color subcarrier for the video encoder - this is derived by dividing down the GPU clock by a fixed ratio, and the divisors (15 in NTSC mode and 12 in PAL mode) are chosen to generate the correct subcarrier frequency when driven by the appropriate GPU clockWhen you switch modes using the same clock source, the resulting subcarrier has the same about 1% error that the line and frame rates do, but since the color subcarrier is much more closely specified and as a result the TV displays either black and white or wildly distorted color. Supplying the correct clock (either by adding the other oscillator or installing a DFO) will also fix the subcarrier and enable correct color display.
 
A PAL specific hack to these older machines was to disconnect the subcarrier input and PAL/NTSC pin on the video encoder, tie the select pin low (forcing PAL mode) and connecting the SCin pin to either a 4.43MHz oscillator or the output of a fixed /12 circuit clocked from the GPU clock - this resulted in the machine outputting standard PAL in 50Hz mode and PAL60 in 60Hz mode.  Note that if you have one of these machines that uses the /12 circuit and you intend to install a DFO you will need to remove the old video mod first or you will get broken composite in NTSC mode.
 
==== Later machines (PU-20 and onwards) ====
As part of the ongoing cost reductions, the frequency generation schema was changed in the PU-20 revision to use a single crystal driving a clock synthesizer that produced both the CPU and GPU clocks and also directly generated the color subcarrier.  The new crystal frequencies were 14.3(18)MHz (NTSC) and 17.734475 MHz (PAL), again chosen for their harmonic relationship to the color subcarriers and other video frequencies.  In this case, the color subcarrier generation was simpler - it's just 1/4 of the crystal frequency in both modes. A side effect of this is that the color subcarrier does not change with the selected video mode and will always match the one used by the native video format.  So an NTSC console will always generate a 3.579(54)MHz color subcarrier even when switched to PAL mode and a PAL console will always generate a 4.43361875 MHz subcarrier even when set to NTSC mode.
 
Installing a DFO on these machines will correct the video line and frame frequencies, but it won't change the color subcarrier, because that's fixed in hardware.  The significance of this will vary depending on the model of console and TV you have - in the specific case of a PAL console switched to NTSC mode and displayed on a European spec TV set, it may work without problems - although the resulting "NTSC-4.43" video format was never used anywhere for broadcasting, it happens to be what a lot of multiple standard PAL VCRs output when playing back NTSC tapes and hence was often supported by Euro spec TVs.
 
Going the other way (PAL software on a NTSC machine) is likely to give you a lot more problems - simply because the resulting non-standard video format (say "PAL-3.58"), was not historically used for anything and is hence not generally supported by north American TVs, even on the limited number of TVs that support 50Hz in the first place.


The GPU clock is about 53MHz, with the exact frequency changing between NTSC and PAL - NTSC uses 53.693(18) Mhz and PAL uses 53.203425 MHz - the reason the NTSC reference contains a repeating decimal is that it's actually defined as "315/88 MHz".  The difference between these 2 frequencies is the reason that a PS1 set to the "wrong" mode generates incorrect timing, because the logic in the CPU uses the correct divisors for the intended mode even when the external clock is wrong. A practical example of the result of this is that if you have a PAL console and run NTSC software on it the intended frame rate of about 59.94Hz will actually come out as 59.39Hz - an error of about 1% slow.  The same principle applies in reverse when running PAL software on an NTSC console, except here the error is in the opposite direction and the game runs about 1% fast.
If you have installed a DFO on these models then you can carry out a further modification that disconnects the video encoder subcarrier clock input from the clock synthesizer and wires it back to the subcarrier output pin on the GPU - this restores the same behavior that existed on the previous units where the subcarrier is switched to match the current video mode.


A more significant problem arises because these early boards (up to PU-18) also derive the color reference from the GPU and do it using a fixed divider from the GPU clock - this is 15 in NTSC mode and 12 in PAL mode, and hence the resulting color reference also has about a 1% error when using the wrong clock source. Since the tolerance that the TV has to this specific error is very small this will either result in no color at all or random colors. One solution is to use RGB, since that effectively bypasses the color encoder.
=== Output formats ===
All versions of the PlayStation 1 output Composite, Y/C (S-Video) and RGB from the multi AV socket. Some earlier models had additional video outputs on separate connectors.


On the later (PU-20 and onwards) boards, the situation is similar, except that the two oscillators used in the older models are replaced with a frequency synthesizer that generates both the CPU and GPU clocks, and also directly generates the color encoder color reference rather than via the GPU. On these machines, the PAL and NTSC versions have different clock synthesizer chips and crystals, so the PAL and NTSC versions will always generate the color subcarrier for their original mode.  Since the mode select input on the video encoder is still controlled by the GPU this results in non-standard video modes being output when playing imported software.
==== SCPH-1000 ====
This is the original first generation Japanese release unit - it has dedicated outputs for both S-Video and composite with stereo audio and a 2.5mm power jack for an RF unit


For example, a PU20+ PAL console running NTSC software will generate NTSC color encoding but with a 4.43362MHz PAL subcarrier. This is normally called "NTSC4.43" - it's not an official video mode that was ever used for broadcasting, but it was used on some multiple standard VHS players when playing back NTSC tapes, and a lot of European spec TVs can handle it.
==== SCPH-3000/SCPH-3500/SCPH-5000/SCPH-1001/SCPH-1002 ====
Going the other way with PAL software on NTSC hardware results in 50Hz PAL encoded video but with the NTSC standard 3.579(54)MHz NTSC color reference, and unfortunately a large majority of US spec TVs can't handle either 50Hz or PAL encoding.
These are the later Japanese units and the initial production models of the NTSC:U/C and PAL machines.  They had the RCA jacks for composite video, stereo audio and the RFU power jack, but no S-Video.


Also note that although installing an extra GPU clock or DFO on these later consoles will fix the frame timing back to standard it won't change the color subcarrier unless you also disconnect that from the clock synthesizer chip and wire it back to the GPU.
==== All later models ====
Starting from the SCPH-550x, the rear panel jacks were removed and the only video outputs were on the Multi-AV socket

Revision as of 03:31, 17 April 2023

Video clocks

The video subsystem on the PS1 works in sometimes confusing ways, especially if you are running software that uses a video standard different from the one that the console was intended to operate in. In addition to this the behavior changed slightly between the PU-7/PU-8/PU-18 board and the PU-20 and subsequent boards. To make sense of this, you need to look at how the clocking in the PS1 works - there are two basic clock sources, one for the CPU and one for the GPU. The CPU clock source is the same across all models and regional variants and is always 67.7378MHz - the actual CPU is clocked at 1/2 of this and this somewhat strange looking frequency was chosen so it could also be used for the sound subsystem as it's an exact integer multiple of the 44.1kHz CD sampling rate.

The GPU clock is about 53MHz, with the exact frequency changing between NTSC and PAL - NTSC uses 53.693(18) Mhz and PAL uses 53.203425 MHz - the reason the NTSC reference contains a repeating decimal is that it's actually defined as "315/88 MHz". The difference between these 2 frequencies is the reason that a PS1 set to the "wrong" mode generates incorrect timing, because the logic in the CPU uses the correct divisors for the intended mode even when the external clock is wrong. A practical example of the result of this is that if you have a PAL console and run NTSC software on it the intended frame rate of about 59.94Hz will actually come out as 59.39Hz - an error of about 1% slow. The same principle applies in reverse when running PAL software on an NTSC console, except here the error is in the opposite direction and the game runs about 1% fast.

Early machines (PU-7/PU-8 and PU-18 boards)

On the original production machines and up until the SCPH-700x "Dual Shock" releases, the CPU and video clocks were derived from separate oscillators, and the oscillator that drove the GPU was matched with the video standard for the region the console was locked to. One exception to this were the SCPH-300x "Net Yaroze" machines, which had both oscillators installed since they were not region locked.

On these machines, the GPU also outputs the color subcarrier for the video encoder - this is derived by dividing down the GPU clock by a fixed ratio, and the divisors (15 in NTSC mode and 12 in PAL mode) are chosen to generate the correct subcarrier frequency when driven by the appropriate GPU clock. When you switch modes using the same clock source, the resulting subcarrier has the same about 1% error that the line and frame rates do, but since the color subcarrier is much more closely specified and as a result the TV displays either black and white or wildly distorted color. Supplying the correct clock (either by adding the other oscillator or installing a DFO) will also fix the subcarrier and enable correct color display.

A PAL specific hack to these older machines was to disconnect the subcarrier input and PAL/NTSC pin on the video encoder, tie the select pin low (forcing PAL mode) and connecting the SCin pin to either a 4.43MHz oscillator or the output of a fixed /12 circuit clocked from the GPU clock - this resulted in the machine outputting standard PAL in 50Hz mode and PAL60 in 60Hz mode. Note that if you have one of these machines that uses the /12 circuit and you intend to install a DFO you will need to remove the old video mod first or you will get broken composite in NTSC mode.

Later machines (PU-20 and onwards)

As part of the ongoing cost reductions, the frequency generation schema was changed in the PU-20 revision to use a single crystal driving a clock synthesizer that produced both the CPU and GPU clocks and also directly generated the color subcarrier. The new crystal frequencies were 14.3(18)MHz (NTSC) and 17.734475 MHz (PAL), again chosen for their harmonic relationship to the color subcarriers and other video frequencies. In this case, the color subcarrier generation was simpler - it's just 1/4 of the crystal frequency in both modes. A side effect of this is that the color subcarrier does not change with the selected video mode and will always match the one used by the native video format. So an NTSC console will always generate a 3.579(54)MHz color subcarrier even when switched to PAL mode and a PAL console will always generate a 4.43361875 MHz subcarrier even when set to NTSC mode.

Installing a DFO on these machines will correct the video line and frame frequencies, but it won't change the color subcarrier, because that's fixed in hardware. The significance of this will vary depending on the model of console and TV you have - in the specific case of a PAL console switched to NTSC mode and displayed on a European spec TV set, it may work without problems - although the resulting "NTSC-4.43" video format was never used anywhere for broadcasting, it happens to be what a lot of multiple standard PAL VCRs output when playing back NTSC tapes and hence was often supported by Euro spec TVs.

Going the other way (PAL software on a NTSC machine) is likely to give you a lot more problems - simply because the resulting non-standard video format (say "PAL-3.58"), was not historically used for anything and is hence not generally supported by north American TVs, even on the limited number of TVs that support 50Hz in the first place.

If you have installed a DFO on these models then you can carry out a further modification that disconnects the video encoder subcarrier clock input from the clock synthesizer and wires it back to the subcarrier output pin on the GPU - this restores the same behavior that existed on the previous units where the subcarrier is switched to match the current video mode.

Output formats

All versions of the PlayStation 1 output Composite, Y/C (S-Video) and RGB from the multi AV socket. Some earlier models had additional video outputs on separate connectors.

SCPH-1000

This is the original first generation Japanese release unit - it has dedicated outputs for both S-Video and composite with stereo audio and a 2.5mm power jack for an RF unit

SCPH-3000/SCPH-3500/SCPH-5000/SCPH-1001/SCPH-1002

These are the later Japanese units and the initial production models of the NTSC:U/C and PAL machines. They had the RCA jacks for composite video, stereo audio and the RFU power jack, but no S-Video.

All later models

Starting from the SCPH-550x, the rear panel jacks were removed and the only video outputs were on the Multi-AV socket