Tutorial: CRT Color Calibration for Video Games

Last Updated: 1/4/2023

I’ve had a few people ask me for more details on the procedure for using a colorimeter to calibrate a cab CRT. Using a colorimeter is perfect for OCD people like me that want their displays calibrated to high standards with no “eyeballing it” or guesswork involved.

Click here to see various photos demonstrating the procedure

Procedure

This is a summarized procedure. The complete procedure with tons of detailed information and screenshots can be read here:
http://www.curtpalme.com/forum/viewtopic.php?t=10457

I use a X-Rite I1 Display Pro colorimeter – it’s around $100 – $150 used. There are less expensive alternatives like the Spyder 4 that you can pick up used for around $30 – $50 – it just doesn’t send measurment updates to the laptop as quickly.

I use the software “PGenerator” running on a Raspberry Pi as the test pattern generator. PGenerator is the most accurate free pattern generation option, and the laptop you’re using to read measurements can control it automatically, but it is tricky to setup for the first time. There is an excellent YouTube tutorial by StickFreaks available here: https://youtu.be/D6z0wS5oRoE

I connect the Raspberry Pi to VGA and SCART via an HD Fury 3 DAC, and I connect it to JAMMA arcade cabinets via an Ultimarc J-PAC.

Alternative free, high-quality test pattern generators include the 240p Test Suite (use the Dreamcast or Wii version – any other platform may give bad results) or a DVD player running the FreeCalRec601 disc (https://github.com/danmons/FreeCalRec601). These generators have to be controlled manually.

One-time only software setup:
1) Download and install the free ColorHCFR software from here: https://sourceforge.net/projects/hcfr/files/
2) Launch ColorHCFR.
3) Click on the Advanced menu and choose Preferences.
4) Click on the References tab. Set the Standard drop-down to “SDTV-REC 601 (NTSC)”, check the “Change White” checkbox and set the drop-down to “D65”. Click OK.

Calibrating a cab

IMPORTANT NOTE ABOUT TERMINOLOGY

CRT manufacturers often confuse the labeling for Contrast, Brightness, Drive and Cutoff.

On the Nanao MS8 and MS9 arcade chassis, Contrast adjusts the proportion of the signals while Brightness adjusts the black level. On Wells-Gardner arcade chassis, Contrast adjusts the proportion of the signals while Black Level adjusts the black level.

“Drive” and “Gain” are two interchangeable names for the upper-end Red, Green and Blue color gun adjustments. I use “Drive” in this guide, but yours might be labeled Gain.

“Cutoff” and “Bias” are two interchangeable names for the low-end Red, Green and Blue color gun adjustments. I use “Cutoff” in this guide, but Sony PVMs label it Bias.

After calibration is complete, the only dial you should ever adjust is the Contrast dial to account for differences between game consoles and/or arcade PCBs.

CRT and colorimeter setup
1) Connect your test pattern generator to the display. These instructions assume you’re using a Raspberry Pi running PGenerator for your pattern generator, but I’ll list 240P Test Suite instructions as well.
2) Power on the display. Display a 100% solid white test pattern.
In the 240P Test Suite, go to “Test Patterns” -> “White Screen”.
3) Wipe down the monitor glass with glass cleaner. Place the colorimeter directly on the glass in the center of the screen. Place a book or something heavy on top of the cable to stop it from sliding or falling off the screen.
4) Wait one hour with the screen on all-white to let the CRT and chassis warm up.
5) Connect the colorimeter to your laptop running ColorHCRF with the USB cable. Launch ColorHCRF.
6) Click on the “File” menu and choose “New”.
If you’re using PGenerator, select it from the Generator Selction screen that appears. Otherwise, choose “DVD manual” and click Next.
Select your model of Colorimeter from the sensor list, select “Do not use a meter correction file” and click Finish.
7) Your meter might now ask what kind of display you’re calibrating – choose “CRT” or “Refresh Display”. Also, Reading Type should be set to “Display”. Click the Calibrate Meter button. Some meters will then ask you to display a white image of 80% IRE or higher. You’re already displaying a 100% IRE all-white screen, so just click OK to finish the calibration.
8 ) In the main ColorHCFR window that appears, click on the Green Triangle button in the menu bar to start taking readings.

Adjustments – Ideally, you’ll want to do this with the room as dark as possible.

Flyback Screen Dial
– Black Level
1) On the CRT adjustments, turn Brightnesss and SubBrightness all the way down. Set Contrast and SubContrast to center. Set all three Drive adjustments to center. Turn all three Cutoff adjustments all the way down.
– Some displays don’t have Contrast, SubContrast and/or SubBrightness adjustments.
2) Display a 100% solid white test pattern.
In the 240P Test Suite, go to “Test Patterns” -> “White Screen”.
3) Turn the Screen dial on the flyback down (counter-clockwise) until the display is completely dark and pitch black.
4) Slowly nudge the Screen dial on the flyback up (clockwise) until the display becomes slightly visible from complete black.

Contrast and Brightness – White Level and Black Level
1) On the cab adjustments, set your Drive, Cutoff, Brightness, Contrast, SubContrast and SubBrightness pots all to the center.
– Some chassis don’t have Contrast, SubContrast and/or SubBrightness adjustments.
2) Display a 100% IRE test pattern.
In the 240P Test Suite, back out and go to “Test Patterns” -> “100 IRE”.
3) Look at the readouts in the lower-left corner of the Color HCRF window. The “Y ftL” measurement tells you how bright your screen is. You’ll want it between 30 – 40 ftL. 30 is better for a dark room, while 40 is better for a brightly lit room. I usually target 35 Y ftL for my cabs. Adjust the SubContrast dial (if you have one; Contrast otherwise) until the Y ftL hits your target.
If your chassis doesn’t have any Contrast adjustment dials, try adjusting the Red, Green and Blue Drive pots evenly – the Drive adjustments are essentially Contrast dials for each color.
4) Write down what your “Y” (not “Y ftL”) measurement is in ColorHCRF.
5) Display a 100% IRE test pattern.
In the 240P Test Suite, the L and R buttons on the controller adjust the IRE levels up or down in 10% increments. Tap L until you’re at IRE 10.
6) Your target now is to set the SubBrightness pot (if you have one; Brightness otherwise) – not Contrast – such that the Y reading is 0.65% of what you wrote down on Step 3. So if you wrote down “47.387”, 47.387 times 0.0065=0.308, so you adjust the SubBrightness pot until Y is as close to 0.308 as you can get.
If you can’t go low enough, you can either nudge the “Screen” dial on the flyback down a hair (Screen is a coarse Brightness adjustment) or you can try adjusting the Red, Green and Blue Cutoff pots evenly.

Note that aged chassis components and tubes may have trouble hitting the high and/or low targets. In that case, just get as close as you can.

Drive and Cutoffs
1) Display an 80% IRE test pattern.
In 240P Test Suite, use the L and R buttons on the controller to set the IRE level to 80.
2) Look at the gauges in the lower-left corner of ColorHCFR. The Red, Green and Blue gauges show your levels relative to the target, while the yellow gauge shows your Delta E (deviation) away from the target. As the RGB gauges get close to 100%, the Delta E gauge will drop. Your goal is to get Delta E as close to zero as possible.
Adjust the Blue and Red Drive pots until the gauges are as close to 100% as possible. Adjust Blue first before Red. Adjusting Green will scew the Red and Blue levels, so you shouldn’t touch the Green pot unless you can’t get Red or Blue to adjust far enough to reach your targets. You’ll notice as you adjust the Red and Blue levels closer to 100%, the Green will be pulled there as well.
3) Display a 30% IRE test pattern.
In 240P Test Suite, use the L and R buttons on the controller to set the IRE level to 30.
4) Adjust the Blue and Red Cutoff pots until the gauges are as close to 100% as possible. Adjust the Blue first before Red. Adjusting Green will scew the Red and Blue levels, so you shouldn’t touch the Green pot unless you can’t get Red or Blue to adjust far enough to reach your targets.
5) When you change the Drive pots, the Cutoff shifts and vice-versa, so repeat Steps 1 – 4, going back and forth between 30 and 80 IRE and adjusting Cutoff and Drive respectively until both of them are as close to 100% RGB and 0.0 Delta as possible on the gauges.

Now, the display is pretty well dialed in at this point, but if you’re extra picky, repeat the Contrast and Brightness steps one more time, because adjusting the Drive and Cutoffs will have shifted those values a little bit. If you do end up readjusting Contrast and Brightness, you’ll also have to readjust the Drive and Cutoffs again afterward as well, but none of them will need very much readjustment.

Verifying the Calibration
If you’d like to check your cab CRT now and see how the calibration holds up compared to a professional CRT, here’s how:
1) In ColorHCFR, click the Green Triangle to stop taking constant readings.
2) Click the Measures menu and choose “Gray scale”, and click Yes at the prompt.
3) The software will prompt you to “set 0% grey level”. Set an IRE 0% test pattern on your generator.
In 240P Test Suite, use the L and R buttons on the controller to set IRE to 0, and click OK.
4) After a moment, the software will now prompt to “set 10% grey level”. Set an IRE 10% test pattern on your generator.
In 240P Test Suite, use the L and R buttons to set IRE to 10, and click OK. Repeat all the way up through the 10 incrementing IRE levels.
5) When the measurement is complete, look at the DeltaE row. Recall that DeltaE measures your variance from the perfect target. If all ten cells are green (Delta E < 2.0) then you’re on par with a professional CRT. If some or all of the cells are yellow (Delta E between 2.0 and 3.0) then you’re on par with a consumer CRT. If some or all of the cells are red (Delta E > 3.0) then you’re off target – either the calibration is wrong, your chassis PCB needs servicing, or the color guns in your tube are worn out.

Note that calibration drifts as the tube and caps age – you may want to “tune up” your calibration every couple of years.

Various Demonstration Photos

Here are screenshots of the calibration procedure and results on several displays I’ve calibrated. Note that I used the SNES 240P Test Suite for many of my early calibrations before switching over to PGenerator. Calibration using the SNES 240P Test Suite will result in an uneven gamma curve due to limitations of the SNES hardware.

Sony PVM-20M2MDU Professional CRT

Sony PVM-20M2MDU final results after calibration with SNES 240P Test Suite running on MiSTer. Note the uneven Gamma curve on the lower-right – this is caused by the SNES hardware being all over the place on Gamma consistency.

Nanao MS9-29 Arcade CRT with Toshiba tube

Nanao MS9-29 arcade CRT display results after calibration with SNES 240P Test Suite running on MiSTer. The chassis was in need of a recap. Note the red DeltaE deviation at the high end – that’s the old caps struggling to deal with the higher voltages at the upper-end of the display range).
Nanao MS9-29 arcade CRT final results after capacitor replacement, calibrated with SNES 240P Test Suite running on MiSTer. Now the DeltaE is good across the range with the fresh caps, but the SNES hardware still gives an uneven Gamma curve.
Nanao MS9-29 arcade CRT final results after capacitor replacement, now recalibrated using PGenerator with a Raspberry Pi connected to the display with an Ultimarc J-PAC. The PGenerator calibration gives a much more consistent, near-flat Gamma curve.

JVC D-Series 36″ Consumer CRT #1

JVC D-Series 36″ set mid-calibration. Here I’m calibrating the 30% IRE red cutoff
JVC D-Series 36″ set gameplay demonstration after calibration.

JVC D-Series 36″ Consumer CRT #2

JVC D-Series set gameplay demonstration after calibration. I’m not sure if the capacitors needed to be replaced or the color guns were tired on this set, but I couldn’t achieve as accurate of a calibration here as I was able to with the first JVC D-Series set. Still, it ended up a lot better than it was beforehand.

Sony FW900 24″ Professional PC CRT

This FW900 had a factory antiglare film that was scratched, so I removed the shrouding and peeled it off before beginning the calibration.
This display uses a Windows program named WinDAS connected from the laptop to the set through a USB serial cable to control the display’s advanced settings.
Using WinDAS to backup the factory settings before making changes.
Sony GDM-FW900 mid-calibration. Here, I’m adjusting the 30% IRE for the Red and Blue cutoffs with WinDAS while monitoring the colorimeter readings.
Sony GDM-FW900 gameplay demonstration after calibration

Posted

Tags: