Open Source Scan Converter (OSSC)

The OSSC is a zero lag upscaler.  At the moment, it is by far the best way to play your analog consoles via HDMI, offering tons of options, 2x 480p (960p) and up to 5x 240p (1080p!).  It’s only shortcoming is it’s not compatible with all TV’s in every mode and it requires a bit of work to setup.  Overall, it’s still my favorite choice and what I recommend to all serious retro-gamers!

Inputs = SCART, Component and VGA.

Input Resolutions = 240p, 480i and 480p are supported across all inputs.

Supported Signals = All inputs support RGBs, YPbPr and RGsB.  VGA also supports RGBHV.

Link to purchase from official distributor (avoid low-quality knockoffs!):  https://videogameperfection.com/products/open-source-scan-converter/

 

Getting the best out of your OSSC requires a bit of setup and tweaking for each of your consoles.  Once you’re finished, you can get pixel-perfect scales from all your consoles with just the push of a button!  Please allow me to explain how the OSSC works and what you’ll need to set up perfect console-specific profiles!

How The OSSC Works (short-short version):

The OSSC is able to achieve “zero lag” scaling, by not buffering video at all;  Instead, it simply multiplies the signal that it receives by 2-5 times the original size.  When you first power on a brand new OSSC (or flash the firmware), it’s default settings are a good place to start, however once you start scaling the image, things will seem “off”.  Think of it this way:  What if you wanted to crop and stretch a picture to 3 times it’s original size?  You’d need to make sure the correct part of the image was cropped and when it “stretched”, all sides were the same relative distance that they were in the original picture.

Now, apply that logic to the OSSC and you’ll understand why you’d want to enter exactly what kind of signal is being sent, so it’s scaled properly.  Also, there’s something called “phase” that’s different on every individual console + cable scenario that needs to be manually set.  Think of this is tuning in a radio station on an old radio, or…

…actually, that’s the best analogy I’ve got.  Kids, go check the latest social media app and search for “old radio’s” to know what that was like.  Most importantly though, once you’ve dialed in all the correct settings, you can save them to one of 15 profile slots, which now means changing consoles is simply a menu setting away!

How to get the correct information to feed the OSSC for each console:

The be honest, this is incredibly tricky and involves using an oscilloscope.  It’s pretty much the same thing you’d go through when trying to do direct RGB capture with an analog capture card.

Lucky for us, there’s people dedicated to providing this information who are constantly contributing the proper settings.  Here’s a few of my favorites:

OSSC Wiki:  http://junkerhq.net/xrgb/index.php?title=Optimal_timings
FirebrandX Optical Timings:  http://www.firebrandx.com/osscprofiles.html
R3 Wiki:  http://r3.fyi/

How to enter the custom information into the OSSC:

There’s a few ways you can accomplish this.  First, you can manually enter the settings into the OSSC using the remote control.  This is super tedious and there’s better options – Only do this if there’s no other choice in the moment.

Next, you can manually enter all of the information into a website created by paulb_nl’s that lets you save your settings to a file that can be flashed to a MicroSD card:  http://pbnl.byethost7.com/ossc/profiles

By far, the easiest way to enter custom profiles is to download the ones FirebrandX has spent the past few years painstakingly tweaking, then make your own “profile pack”.  Basically, download the profile pack, pick your favorite 15, upload them to Paul’s website, arrange them in whatever order you want and create a bin file from it.  Then just flash an SD card with the bin and load it into the OSSC.  Don’t worry, the video details all of this and the MicroSD flashing is pretty much identical to flashing a RaspberryPi image.

FBX’s video does an excellent job explaining the whole process and even shows how easy it is to then select your custom profile when changing consoles:  https://youtu.be/48FOtofdyxE

 

So that’s pretty much it.  Once you’ve gotten your OSSC set up with all the profiles you’ll be using, getting a pixel-perfect scale is as easy as selecting the console name from the on-screen display!  I truly think it’s worth the effort for all enthusiasts to spend time getting the setup right, as you will notice a difference in quality.  One trick:  Use the 240p Test Suite’s checkerboard pattern to set phase, just like described in the video capture section.

 

At the moment, I’d call the OSSC a “mature” product that can definitely be relied on.  I’ll update this page as more enhancements and how-to guides are posted, but what’s here should be good enough to get you started!

 

Feel free to check out the front page for news articles keeping you in the loop of everything going on in the retro gaming scene!  If you’re here as part of the RGB Guide, please move along to getting your SCART RGB cable into your display.