The New Pixel Accelerator

Designed for gamers. Open-Source Firmware.

First of all I want to thank borti4938 for letting me borrow his OSSC for this test.

Since you have found this page you probably already have a good idea about what the OSSC is. If you heard about Micomsoft's Framemeister, you know that it is possible to connect old consoles to a little box that almost magically makes them look awesome on modern TVs and monitors. The OSSC does pretty much the same thing. You connect your old consoles and get a digital video that modern screens can display. However there are several big differences between the devices.

This page is only a First Look at the OSSC and not a full review, since it is still a very new device and I only spent a couple days with it. Some of the issues I encountered may well be fixed when the device becomes available for purchase in online stores like Videogameperfection.com. So far only a limited amount of pre-orders have been shipped. The device I have tested was PCB version 1.3 and ran on a preview version of firmware 0.70 with added audio support, but more about that later.

Hardware

overview

Would also look good in a sci-fi movie: the OSSC

Like a variety of community projects in the recent past, the OSSC comes in an acrylic case that lets you see the purple PCB* with its FPGA. The smoked glass look of the plexi plates is quite pleasing and the light from the small onboard display adds a nice highlight. There is a third layer of plexi in the middle of the device that supports the input connectors and the display, so they don't bend inwards if you push on them. Next to the display are two status LEDs and behind them is a classic mechanical On/Off switch. On the left are two buttons, a MicroSD slot and a JTAG connector. The buttons are currently used to switch between input sources and to enable scanlines. There is also an infrared receiver for the remote control. The LCD display shows information about the connected console and is also used for the settings menu. The absence of an on-screen menu means that you will have to come close to the OSSC to read its display. The backlight can be turned off when you don't need it.

With a width of 12.5cm the OSSC is a nicely sized device, but the video output on the left and the power input on the right increase the needed space quite considerably. An HDMI cable with a 90° angled connector would lower the space requirements, but at the same time it would block the analog audio output.

The OSSC doesn't use much power, at around 3.9W during operation (3.8W without backlight), however since there is no standby mode it will still draw 3.0W when no console is powered on. If you want to save power you'll have to get up and flip the power switch to completely turn the device off. For comparison, the Framemeister uses 3.6W (1.6W standby).

*The PCB in this unit is version 1.3, future revisions may differ. I've heard that the next batch of units will be version 1.5.

Let's jump right in

Metal Slug X

Rawket Lawnchair

So, what is the Open Source Scan Converter? I could tell you about how it started as a hobby project by Markus Hiienkari (marqs) in the Shmups forums, or that it has a distinct homebrew feel to it, but to make it simple, I'm just gonna show you this screenshot of Metal Slug X.

To summarize the rest of this page: The OSSC lets you play Metal Slug X in awesome quality on your digital monitor. That's all you need to know. But feel free to continue reading if you're interested in some more details.

Marqs' goals were, besides having fun and learning new stuff, to create a Do-It-Yourself machine that line doubles RGB (SCART) and YPbPr (Component) from older consoles to 480p and does this as fast as possible. This already shows the difference to the Framemeister, which is an HDMI scaler created by a well established company. The Framemeister will happily scale your consoles from the early 90s to a modern 1080p format and remove the black borders that are inherent to analog video signals of that time. The OSSC on the other hand was designed as a line doubler and doesn't offer features like zoom or a wide variety of output resolutions.

Now, you might wonder how that screenshot of Metal Slug X looks so good, when a line doubler should only double the resolution of 240p to 480p. There's actually a bit more to the little board. In addition to the stable 480p output, there is an experimental line triple mode on the OSSC, that will take a 240p signal and output it as 720p. Due to the way the signal is created it is not a standard conform 720p video and your Sony TV will most likely not accept it. TVs from other manufacturers may have higher compatibilty rates. Luckily PC monitors accept a wider range of signals and seem to handle the line triple mode quite well. At least in my limited tests all monitors accepted the signal flawlessly. However the picture might be shifted a couple pixels to the right, depending on your console. Future firmware versions will most likely allow you to shift the picture back to the center. It looks kick-ass if it works with your setup. There's even the option to optimize the picture based on the horizontal resolution of the game, instead of assuming a fixed horizontal resolution, like most devices including the Framemeister do. Sadly the optimized modes don't work with all consoles (at the moment) and require some manual fiddling with the settings each time you start a game. To make it worse, the optimal settings for this mode change every time and it takes a minute or two to find the new values.

Why doesn't the 720p output work with all displays, when the 720p output from the Framemeister does? It's because the OSSC doesn't use a framebuffer, which means that it cannot wait for a whole frame (one full picture) to complete before it processes it. Instead it converts the pixels just as your console outputs them. Because of this, the delay that is added to the video is minimal, but it also means that the output directly depends on the pixel timing of the input. This means that the OSSC will output at the exact same frequency as your old console. In most cases these old devices don't conform to the standard of 59.94 Hz, but may instead output at 60.09 Hz (NTSC SNES) or even 59.27 Hz (PAL PS1 playing an NTSC game). It also means that there is no time and memory to create a standard conform HD video signal, or process the video with features like zoom or rotation. However it is possible to mask the overscan area to hide those random pixels you can see on Mega Drive games.

Input & Output

The OSSC features three input options: SCART, Component and VGA.

OSSC Photo 5

Top-down view of the OSSC

First of all is the Euro SCART input (AV1), which accepts RGBS (tested), RGsB (sync on green, not tested) and YPbPr (tested, requires firmware 0.70 or higher). To use a component source on this input you will need a simple adapter to connect Y, Pb, Pr to the R, G and B lines on the SCART plug. RGB SCART is usually limited to 15 kHz (240p/480i), but the OSSC also accepts 480p or higher on this port. I've been told that this is especially useful for consoles like the Playstation 2, which switches from 480i RGBS to 480p RGsB.

The SCART input is also the only way to get audio into the OSSC. However you will only get a passthrough to the headphone jack unless your OSSC is equipped with an additional sound module for digital audio. At first I was a bit cautious when plugging in the SCART cables, however the input socket is secured by the middle plexi plate, so it should withstand quite a bit of pressure. The OSSC does not accept composite or S-Video; your SCART cable must carry an RGB signal.

OSSC Photo 4

The backside: AV1 and AV2

AV2 is a set of three RCA connectors for component (YPbPr) sources that can also be used for RGsB. I could not test this input, since a software bug in the customized firmware version on my test device prevented switching to AV2 and AV3. However I could connect my component devices to the SCART plug. One thing I noticed was that the colors of the RCA plugs are not in the standard order for component. This is a minor issue though, you just have to pay a bit attention how you plug your cables in.

AV3 is the last input option and is positioned on the right side of the OSSC. It's a VGA style connector for RGBHV (VGA), RGBS, RGsB and YPbPr. While the SCART connector will accept sync on composite or luma, this port will only accept clean/composite sync. Like the other ports, the VGA input will also accept anything from 15 kHz signals to HD video. But unlike the SCART and component inputs, this input doesn't use the low-pass filter. The VGA input is useful for consoles like the Dreamcast, but can also be used as a general VGA to DVI transcoder. As with AV2 I could not test this input.

The outputs of the OSSC are on the left side of the device. Here you can find a DVI-D connector for the video. The DVI connector is purely digital and does not output analog VGA. To connect the OSSC to an HDMI port on your TV or monitor you can use a DVI to HDMI cable or a passive adapter. Both are available for a couple bucks and don't introduce any lag, since the video signal is not changed at all.

The OSSC does not output digital audio, but instead offers a passthrough for the SCART audio over a 3.5mm headphone jack right next to the DVI connector. (Note: The first pre-order units have the sound channels swapped on the headphone jack. This will be fixed in later units.) There is currently no way to use the audio passthrough to output audio from component or VGA sources, unless you use a composite to SCART adapter like the ones that came with most consoles in the EU. But since that blocks the SCART input, it is probably easier to just plug the audio cables directly into your sound system.

While the lack of digital audio is disappointing, it doesn't mean that you have to play in total silence. Most TVs and capture cards have a separate input for analog audio that you can mix with the HDMI video. If you absolutely need HDMI with digital audio, you can buy a separate DVI + analog audio to HDMI converter box.

DIY boards come with an HDMI connector, which is functionally identical and doesn't offer digital audio (unless you have an audio add-on).

OSSC Photo 2

The cable mess was expertly cropped out of the frame.

Borti added a homebrewed audio add-on to the OSSC unit I tested, which adds digital audio to the HDMI output. It usually worked quite well already, but it still has some issues. When the OSSC was set to line triple mode it would fail to output audio for my SNES. For some reason it also causes major issues with my HDMI capture card, which forced me to use analog audio for all recordings of the OSSC. The audio add-on demonstrates an advantage of being an open-source project. The firmware is openly accessible and you can add your own features to it or fix bugs.

Image Quality

rgb bars

One of the most striking points about the OSSC is the color accuracy. The little device manages to match the colors of your consoles over the whole spectrum. As a result the picture looks very vivid and sharp. The OSSC manages to create a bright, colorful and balanced picture without blending different shades together.

There is a low-pass filter that can be set to several different strengths including the option to turn it off. It increases the picture quality and counters noise and unwanted lines in the image, that are caused by crosstalk in badly shielded cables, without creating a blurry picture. Unlike the Framemeister which uses 4:2:2 YCbCr internally, the OSSC uses uncompressed RGB (4:4:4) the whole time and outputs in full-range 24-bit RGB over DVI (or HDMI).

Video: OSSC - Games Showcase

OSSC Screenshot

When the Framemeister is set to output in digital RGB, my TV and capture card display slightly wrong colors. Especially greens are overly bright and multiple shades become merged, while reds and blues are slightly too dark. To fix this issue I have to set the Framemeister to YCbCr output. I was worried that this would also be a problem with the OSSC, however the colors on the OSSC were perfect with every screen and capture card I tried. Another issue I have with the Framemeister is the slightly low maximum brightness. It is possible to increase the brightness level, but doing so merges the brighter shades together, removing detail. Overall this is not a big issue, since I can just adjust my TV to make the picture look bright and vivid or increase the brightness levels of recordings with a simple step in post-processing. The OSSC on the other hand has a high brightness level without any configuration necessary. There are currently no options to configure the image on the OSSC. I'd like to see at least basic functions for brightness, contrast and black level in the future. Especially a setting for black level would be useful to hide some analog noise in black areas.

Sharpness

There is a good chance that you can only use the 480p output on your TV. It is therefore important that the 480p output is as sharp as possible, since the scaling to 1080p that your TV has to apply, will make the picture quite soft. When I compared the Framemeister and OSSC on my Sony Bravia TV, the 480p output of the OSSC looks a bit sharper than the 480p output of the Framemeister, but not as sharp as its 720p output. It is somewhere in between. This may be partly to the higher brightness and contrast of the OSSC.

To give you an idea about the sharpness I've zoomed in on a 480p recording from both scalers. Since the quality of internal scalers varies greatly between TVs, it is hard to say how it will look on your own TV. Personally I find it nice enough to play, but you shouldn't expect a razor sharp image.

sharpness_480

If you're lucky and your TV or monitor is compatible with the 720p output of the OSSC, you're in for a treat. The sharpness easily matches that of the Framemeister in 720p and the added brightness makes it look a bit nicer. The 320x240 and 256x240 optimized modes on the OSSC look even sharper, but as they have low compatibility and require manual adjustments every time you play, they are more of a gimmick at this point and fall short in usability. Since my TV doesn't accept the 720p output from the OSSC I cannot compare it to 1080p from a Framemeister.

sharpness_720

Video: OSSC - 480p vs 720p

Aspect Ratio

Getting the aspect ratio right is important, since a wider image not only makes Mario look overly chubby, but also distorts the geometry of squares and circles. The default output resolution of the OSSC is 720x480 pixels. This resolution is slightly wider (~12%) than the classic 4:3 aspect ratio that games were designed for. Since there are no black bars on the sides of the image and the OSSC doesn't offer options to change the aspect ratio, your TV has to bring the picture back to its original form. If your TV has an option to force 4:3 scaling this is no issue, however there may be PC monitors that don't have this feature. Instead they might only offer to keep the (slightly wrong) aspect ratio or stretch the image to 16:9.

OSSC Aspect Ratio

The white circles were generated by the 240p Test Suite. Green = Correct circle

Once you switch the OSSC to 720p output, you get the option to output in a stretched 16:9 format and let the screen fix the issue, or let the OSSC handle the aspect ratio and output in 4:3. While the 4:3 mode looks pretty good, it is still a bit too wide. Luckily this can be fixed in a future firmware version. Update 22.06.: The 4:3 aspect ratio in line triple mode has been fixed.

Analog-to-Digital Conversion Noise on the Framemeister

There is a design flaw in the hardware of the Framemeister that causes certain shades to have a high level of noise. There is nothing you can do to completely stop this, you can only shift it to other shades. I'm happy to report that this is not an issue I could detect with the OSSC.

Video: OSSC - Video Noise Test

Scanlines

To imitate the look of a CRT you can optionally add scanlines to the image. The scanline function on the OSSC works similarly to the way the Framemeister handles scanlines. It simply takes each other line of pixels and darkens them a bit. Depending on your tastes you can make the scanlines darker or brighter. For 720p output each third line is darkened. The hardware design of the OSSC also allows for other simple filters in the future. For example a filter that removes dithering from Mega Drive games could be implemented.

Screenshots

480p - Line Double Mode

Click on the image to open an uncompressed view.

720p - Line Triple Mode

Click on the image to open an uncompressed view.

240p<>480i Resolution Changes

A major issue with the Framemeister is the signal loss at resolution switches that results in several seconds of black screen. This is mostly an issue with games on the N64, Saturn and PS1, that switch between 240p gameplay and 480i menus. When I read that the OSSC switches almost instantly I was really excited for this feature. My hope was that it would keep the connection with the display during the switch, however that is sadly not the case. When the console switches resolutions the OSSC will drop the video output for a moment while it resyncs. Depending on your display the video may come back almost instantly or it may take 1 or 2 seconds until you can see the game again. While my Sony TV and my capture card handled the switches with barely any delay, my ASUS monitor took a couple seconds to resync. I also found that not every resolution switch is handled exactly the same way. While it sometimes works flawlessly with my capture card, other times there will be a bit of flicker for a second while the capture card resyncs.

Other users have also reported that devices like splitters, AVRs or other scalers you have in your video chain between the OSSC and your screen will extend the time it takes to resync. I only had a simple 1>2 HDMI splitter in my video chain, but I found that it made no difference. My advice is to check the wiki and discussion threads if you want to add devices into your chain and see what other users report.

Video: OSSC - Resolution Switching

480i, Deinterlacing and Higher Resolutions

Handling of 480i input is not a strength of the OSSC. To deinterlace 480i content in optimal quality you need to buffer frames, which is not possible on the OSSC. Instead of high quality deinterlacing the OSSC applies simple bob deinterlacing to the video. This is done by line doubling each field and moving it up or down a bit. The benefit is that you get 60 fps output that looks reasonably nice from a distance at no additional delay. However if you take a closer look you will notice a bit of vertical shimmering, similar to a CRT screen. The Framemeister on the other hand shines at deinterlacing 480i content and will produce a smooth video.

Video: OSSC - 480i Deinterlacing (Youtube compression makes it hard to see)

OSSC Deinterlacing

480i games are output with simple bob deinterlacing.

Progressive 480p games looks great on the OSSC. 480p is accepted on all inputs on the OSSC and is simply digitized from an analog signal to a digital one. The result is a sharp picture at the same resolution of your input, although it doesn't quite reach the same level of sharpness as my SC-500N1 capture card. Compared to a Lenkeng Component to HDMI transcoder that I own the quality is exactly the same. The benefit of the OSSC are the options to switch between DTV (720x480) and VGA (640x480) sources and to specify the color matrix (Rec. 601 or Rec. 709) for component sources. From what I understand, the OSSC also accepts higher input resolutions like 720p, however I have not tested this and cannot say which resolutions are accepted.

OSSC 480p

480p games look sharp on the OSSC.

Similar to the line doubled output of 240p content as 480p, marqs plans to add a line doubling mode for 480p content that would output at 960p and increase the sharpness on compatible monitors.

Input Lag

Input lag is the time it takes from your inputs to make a visible change on the display. Ideally the picture is displayed (almost) instantly just as the console outputs the pixels. This is the case with classic SD CRT TVs, that are purely analog. If you use a digital display it first has to scale the video from your console to the resolution of the screen, which can take some time. Additionally the display panel takes some milliseconds to switch to the new picture. Generally speaking input lag becomes noticeable at around 50 ms (3 frames at 60 fps) and depending on the genre, the game can become outright unplayable at around 70 ms or higher. Of course different players have a different tolerance for input lag. Some people might not be bothered too much by it, while competitive fighting game players will already find 2 frames of input lag too much.

OSSC Input Lag

The OSSC has close to no added delay.

To compare how the OSSC and Framemeister fare in this regard I used a simple setup. I use the 240p Test Suite running on an Everdrive on my Super Famicom. Thanks to Artemio at this point for creating the Test Suite and fixing a bug related to the Lag Test after I reported it!

The video output of the console is then split by a powered SCART splitter and send both to my CRT TV and the respective scaler. The scaler then displays on my ASUS VG248QE LED monitor, which is one of the fastest monitor I know of at just 3.9ms input lag at 60Hz. Remember, this is not the Grey-to-Grey time that you will see advertised on monitors, but a combination of the pixel response time and the speed of the internal scaler.

Framemeister Input Lag

The Framemeister adds a bit over 1 frame delay to your game.

To analyze the results I recorded several 60 fps videos of both the CRT and LED monitor next to each other and looked at different parts of the video to get a general idea about the combined input lag of the scaler + monitor. This testing method doesn't give a definitive delay in milliseconds, but it's good enough to get a general idea about the delay.

For the OSSC I get the fantastic result of 0-1 frames delay including the delay of my monitor, while the Framemeister comes in at a still great 1-2 frames input lag. Keep in mind that this is on a fast monitor, modern TVs tend to add a bit more delay.

Consoles & Sync

All console I tried worked on the OSSC. Here's a list of them:

  • Super Famicom 1CHIP-02
  • Super Famicom APU-01
  • Super Nintendo (PAL, modded for PAL & NTSC games)
  • Nintendo 64 (Japanese model)
  • Nintendo Gamecube (US model with region switch)
  • Nintendo Gamecube (PAL model)
  • Sony PSone (PAL, modded for PAL & NTSC games)
  • PSP Go
  • Sega Saturn (Japanese Model 2 V•Saturn)

I used RGB SCART cables with sync-on-composite for the RGB consoles and the official component cables for the Gamecube and PSP Go.

Sync

Regarding sync, the OSSC is a little bit more picky than the Framemeister. On the Framemeister most consoles just work with the default settings. If a console doesn't work you can change the sync level slider. Usually this works fine and the consoles have no sync dropouts, at least with the consoles I own. The OSSC comes with multiple settings regarding sync: Analog Sync LPF, Analog Sync Threshold, H-PLL Pre-Coast and H-PLL Post-Coast. Analog Sync LPF filters the sync signal from your console to increase stability. There are 4 options: Off, Low, Medium and Heavy filtering. While the picture was fine most of the time with low or no sync filtering, I experienced sync dropouts when parts of the screen flashed. For most consoles I had to increase this setting to medium or heavy filtering to get a stable picture. But even then there were occasional sync dropouts. They were not frequent, but they happened. Maybe adjusting one of the other settings could eliminate them completely. I only had limited time with the OSSC and the dropouts were very infrequent, so I did not play around with these settings. Since I don't own cables with composite/clean sync (and don't need them on my CRT or Framemeister) I couldn't test if this type of sync has better compatibility.

While there is little to say about most of the consoles, I want to go into a bit more detail about a few things.

PAL Consoles

While I would generally advise anyone to use NTSC consoles when possible to play games at their normal speed, the OSSC also works with PAL consoles. The device will also happily accept modded PAL consoles that play NTSC games. Since most of these mods don't add a separate timing oscillator for the 60 Hz mode, the refresh rate of NTSC games is a bit off. The PAL PS One for example will play NTSC games slightly slow at 59.27Hz. On the Framemeister this can lead to issues with the black level, but the OSSC handles everything perfectly.

Arcade Boards

I do not own any myself, but I think it is important to mention that the OSSC also works with arcade boards. Home consoles usually output at 15 kHz horizontal frequency, which results in 240p or 480i. The other typical resolution you will see is 480p (31 kHz). Arcade boards don't always use these resolutions, but may output at 24 kHz (384p) instead. The OSSC accepts this resolution and doubles it to 768p.

Sony PSP

Sony's handheld offers 480p component output for PSP games and 240p output for PS1 games. Especially the PSP Go can be used as a surprisingly nice micro console, as you can pair it with a DS3 controller over Bluetooth. To use the PSP Go as a microconsole you need the charging cradle, as it is the only way to output video while charging at the same time. A big downside of the PSP is that the games are output as letterboxed 480p. The original resolution of its games is only 480x272, which leaves a lot of black border around the gameplay. While the OSSC has no problems with the video output from a PSP, the lack of zoom options means that the games will be a bit small on your screen.

OSSC PSP

Nintendo Gamecube running GBI

If you're following the Gamecube homebrew scene or watch My Life in Gaming's videos you've undoubtedly heard of Extrems' Game Boy Interface. It is a replacement software for the Game Boy Player, which lets you play GBA and classic GB games on your TV. The original software that comes with the Game Boy Player is not perfect. It forces a border image around the picture, has a bit of input lag and worst of all uses bilinear filtering to blur the games. GBI gets rid of all of this and is now the best way to play GBA games on your TV. There are three different version of GBI. The standard version has the most features, but doesn't try to match the original refresh rate of the GBA. Then there are two Low Latency versions that try to match the output of a real Gameboy to minimize micro stutter. The Ultra Low Latency version that I use on my CRT does not work on the OSSC, but the Low Latency version does and it looks great!

GBI LL

The Low Latency version of GBI running on a PAL Gamecube in RGB.

Conclusion

The OSSC is a very interesting device and marqs managed to create something awesome for the retro videogame community. The great color reproduction right out of the box and low latency make it stand out against the Framemeister. The OSSC comes as either a ready to use version or a DIY package that you have to assemble yourself. At around 200€ it is not a cheap device and the limited compatibility of its 720p output, plus the lack of digital audio and zoom functionality lower the hype a bit. Still it's a great device and I'm excited to see what future firmware versions will bring. With its many input options, the OSSC could most likely have a spot in your own setup later this year when it will (hopefully) be readily available for purchase.

Audio add-on

A look at the internals of the OSSC including Borti's audio add-on.

Further Information and Contact

If you're looking for more information check these resources:

Direct downloads for all videos on this page:
Note: The direct downloads have a very high bitrate. If you need to save traffic please use the Youtube links in the sections above.

You can contact me at contact, but keep in mind that I don't currently own an OSSC and can't provide technical support.