The GBS-8200 series of upscalers is, to put it bluntly, mediocre at best. Their main advantage has been their low price, and ability to accept a wide range of signals. This has given them some respect among arcade operators, but their picture quality won’t impress enthusiasts. But never count out the enthusiast community: because with a cheap microcontroller, this has been given new life.

Why upscale?

So, why do I care about upscalers? Simple: I do most of my retro gaming on flatscreens. But what really got me caring about upscalers was retro computing; while there’s an argument to be made for composite on old game consoles and even the 8-bit Apple ][ line, that’s not true for 16-bit era computers. UI elements and text just aren’t that readable when covered in rainbow artifacts!

Apple IIgs composite output. Text is difficult to read due to rainbow artifacts

Apple IIgs RGB output. Text is more readable and rainbow bars are gone.

It’s a pretty rapid rabbit hole to fall down, though. I still keep a composite setup around, but even composite upscaling is actually a complex topic. And of course, arcade games like the Atomiswave were never intended to run on anything but separated RGB monitors.

The main things I, as an “enthusiast” (whatever that means), am looking for in an upscaler are:

  1. Picture Quality. The entire point is to get a better looking picture!
  2. Playability. I’m not incredibly sensitive to small amounts of lag, but if it gets in the way of the game, then we have a problem.
  3. Compatibility. I want to use the HDMI TVs, monitors, and capture devices I already have.

The state of upscalers in the Express household

So as we get into the GBS Control, I’ll be comparing this to upscalers I already have, which I’ll list below. You might note that this is not a complete list; for example, I haven’t tried any of the RetroTINK upscalers, which are well-regarded as a “plug and play” option.

The Micomsoft Framemeister

Micomsoft Framemeister box

My workhorse upscaler is the Micomsoft Framemeister. Right now, it’s hooked up to my older computers primarily; I also use it for streaming; it has high compatibility with my Elgato HD 60 S HDMI capture box. Generally, if you see a screenshot in a Nicole Express article, it was probably caught with the Framemeister.

The major benefit of the Framemeister design is that it has a frame buffer. Frames are stored in memory, and then displayed. The upside of this design choice is that it means that its output is a perfectly clean, correctly timed HDMI signal that works well with all the equipment. The downside is that this adds a frame’s worth of lag. Not a lot on its own, but for some people every millisecond counts.

The Framemeister, as noted in the deinterlacing review, also has a very competent motion-adaptive deinterlacing capability. This is another thing that requires a frame buffer; you can’t adapt to motion unless you can see the entire frame.

The Framemeister has a huge downside though and I can’t recommend it today: it’s way too expensive! Unfortunately, its processor chip was discontinued, and Micomsoft had to stop manufacturing this several years ago. Because of its good reputation, unfortunately used Framemeisters in good condition now go for far too much money. I wouldn’t buy one today.

A second downside of the Framemeister is that it is very slow when changing video signals. We’ll talk about this more in a bit.

The Open-Source Scan Converter (OSSC)

The Open-Source Scan Converter

The Open-Source Scan Converter is my main “gaming” upscaler. It lives in my living room, hooked up pretty much only to consoles. I feel that it has the best quality picture, with excellent color reproduction and crisp pixels. (I like crisp pixels, blame growing up on the Game Boy)

Why is my example photo a picture of a TV? The OSSC is very different from the Framemeister; it uses a line buffer. A line buffer stores only a line at a time, and builds the output picture as it comes in. Generally this means doubling each line to convert a 15kHz signal to a 31kHz signal, as used in VGA and HDMI, but the OSSC can actually go even further than that. This means that the OSSC has, for all intents and purposes, the lowest lag possible.

This also means that the picture timing is almost exactly the same as the analog input signal. The thing is, an analog signal, especially one generated by a 30-year-old game console, is often out of spec in some way or another. While the OSSC works great on my TV and monitor, my Elgato capture device really doesn’t like it. I have a second capture box that does work with it, but it has a fairly poor quality picture and some glitches, so I don’t use it for blog posts.

The other downside of the line buffer approach is that you can only use “bob” deinterlacing, which looks pretty rough on static screens. (This gif was put together from Framemeister screenshots)

Bob Deinterlacing shown on a white grid on blue

The OSSC is an open-source project, which is nice. It also has a lot of configuration options; this can be daunting, or if you’re like me, it can be fun to mess with and see if you can improve the picture lock-on.

Because of the capture issues, I won’t compare to the OSSC too much in this post.

The GBS-8200

Surprise! I don’t actually use this anymore, but I have used the GBS-8200 in the past. Specifically, in the form of this “Amiga RGB Adapter”. This was part of a kit including a cable for the Amiga’s DB-23 video output, a power supply, and a 3d-printed case, but it’s just a stock GBS-8200 inside. I would also go on to use this with the Apple IIgs as well. (These kits are still available on eBay)

A GBS-8200-based upscaler advertised for the Amiga

But I was never really happy with the GBS-8200 for this purpose; I felt that it rounded the corners of pixels too much, and it treats all incoming signals as interlaced, which can result in artifacts around moving objects like a mouse cursor.

A straight line in the Amiga UI gets a jog in it because of bad deinterlacing

Therefore, once I got the Framemeister, I replaced my Amiga and Apple IIgs VGA cable setups with SCART cables.

However, the GBS-8200 does have an interesting characteristic. It, like the Framemeister, has a frame buffer setup. But, unlike the Framemeister, it runs in a “free running” mode. This means that the output is mostly decoupled from the input in terms of signal timing, which means that your monitor should not lose sync with the GBS-8200. This means that it’s also a good option with a streaming setup. A downside, though, is that this can result in screen tearing.

It only has a VGA output, but I have a number of VGA->HDMI converters. These can be lag-free, since VGA and HDMI signal timings are identical, so all you need to do is have a good analog-to-digital converter.

The GBS Control (Finally!)

The GBS Control mod replaces the GBS’ CPU with an ESP8266 wireless module running custom firmware. The GBS-8200 uses a Tvia TrueView 5725 upscaler chip which is on paper quite competent, so this is potentially a very good and affordable solution.

So, I was intending to upgrade my GBS-8200 to try out the new firmware as a soldering project. But, after burning my finger on the soldering iron, I got annoyed and decided to order a pre-assembled one. This wipes out the cost advantage, but does give me a pretty case. This pre-assembled model has an external clock generator added, which is supposed to help with the aforementioned screen tearing issue.

A pre-constructed GBS Control

Another issue that is unique to my setup is the VGA input. See, since my initial dabbles with the GBS-8200, I’ve moved my entire RGB setup, computers and game consoles alike, to use SCART, a European standard. I don’t actually like SCART much, as its connectors are large and bulky, but also not great at staying in the slot. Switchboxes are also a pain to come by affordably. However, it is the best option for finding pre-made cables. As noted above, I’m not great at soldering.

This means that I had to get a SCART2VGA adapter. Now, I could’ve just soldered new cables, but since I already have a SCART setup, I want to use what I have. (If you’re competent with soldering and building a new setup from scratch around the GBS Control, I’d say just don’t get into SCART, use VGA pinouts for everything.) Also, I needed a HDMI output. This all made the system a little less compact.

The GBS Control with accessories

The GBS-8200 also has a component input, but nothing I have uses component, so we won’t be testing that.

Controlling the GBS Control

One thing you might notice, comparing my GBS-8200 Amiga kit, is that the buttons on the GBS-8200 are trapped. These buttons are sadly worthless now, since the new firmware is controlled over the ESP8266’s WiFi module.

This is a bit fiddly to set up (I had to use gbscontrol.local, http://gbscontrol did not work), but it is pretty easy to use once you do get it set up on your home WiFi, and it remembers your settings.

Compatibility

I had no issues with the GBS Control on any of the monitors I tested it with, or with the Elgato capture device; Elgatos are notoriously finicky, so this is a good sign.

240p content

For my 240p content test, I’m going to use Space Ava 201, running on a SuperGrafx with the TerraOnion Super SD System 3 and an Insurrection Industries Genesis 2 SCART cable. (The Arcade Card is disabled, but this should have no impact on image quality) It passes through a Bandridge manual SCART switch. This is all well-regarded equipment, and should provide a good simulation of a real-world gaming setup. The image captures are done using my Elgato HD 60 S.

First, the Framemeister, then the GBS Control.

Space Ava 201 title screen, Framemeister

Space Ava 201 title screen, GBS Control

The two images both look great in my opinion. The Framemeister’s picture looks a bit brighter, but looking closer, the GBS Control seems to have more dynamic range; whites are the same brightness, and the background is darker. Blues in particular seem more muted, so the “SUPER” text is less violet and more red.

The dark blue shiloutte, which is the darkest blue the PC Engine can give, comes off at #000024 on the Framemeister and #00011D on the GBS Control. (An ideal blue would be #000020) I’m not sure what that slight leakage of green is doing, but the Framemeister is slightly bright and the GBS Control slightly dark. Given this is from an image capture and none of my systems are calibrated, I think this is more than acceptable. Color differences like this can be adjusted on both upscalers.

Let’s zoom in on the earth at the bottom. Blues in particular seem prone to additional interference. In both of these pictures, I’ve upped the contrast 50% to make noise more visible. Remember that some of this noise will come from the image capture.

Space Ava 201 title screen Earth segment, Framemeister

Space Ava 201 title screen Earth segment, GBS Control

Not sure if we can draw definitive conclusions here; noise is visible in both, but there definitely seems to be more in the Framemeister image. Still, some of that might be because it’s brighter, and there is still noise visible in the GBS Control image as well.

Let’s take a look at a moving sprite. Specifically, my “Happy Train” that goes by the screen on the logo.

Happy Train logo for Space Ava 201, on two upscalers

I would say the GBS Control image is maybe a little softer and noisier, but you do have to look pretty closely, and this level of distinction probably can be adjusted out or attributed to capture noise. Personally, I’m very impressed. Remember, the stock GBS firmware doesn’t handle 240p at all, but just treats it as interlaced.

Interlaced 480i content

This… turned into its own blog post, so go check that out for more detail. Overall, I’d say the motion-adaptive deinterlacing is on par with the Framemeister, and a big step up from the stock firmware.

Gameplay screen of Terry and Mai fighting in Fatal Fury: Wild Ambition

Still, you can definitely trick it into showing interlacing artifacts. Fatal Fury: Wild Ambition will probably be my “stress-test” for 480i content in the future, since it really seems prone to this.

Scanlines

It’s got ‘em. I’m not super into virtualized scanlines myself, but I know some people really like them, so here’s a capture of the Super SD System 3’s menu with them. You might want to open the full image in a new tab.

Image of menu showing scanlines

The scanlines look fairly competent to me, with a bright line and softer areas between them. Still, scanlines on a flatscreen just never look right to me, and even my usual small consumer CRT doesn’t show them. It is worth noting that the GBS Control can only add scanlines to 240p images.

240p/480i switching

This, alongside the motion-adaptive deinterlacing, is what I was really looking forward to trying. See, in the 90’s, as resolutions in game consoles got higher, consoles like the NEC PC-FX, the Sega Saturn, and others gave the developer the option to switch between high-resolution interlaced modes, and low-resolution crisp 240p modes. A CRT TV can switch between these modes seamlessly.

However, a flatscreen can’t. See, a flatscreen needs to know the resolution of the content it’s displaying; it does this by timing signals and waiting for horizontal and vertical sync pulses. This means that by nature, it drops some frames on the floor. This is also what an upscaler does.

The OSSC and the Framemeister, despite the Framemeister having a frame buffer, time their output signals with the input. This means that when the mode of the game changes, the signal drops, and your television or monitor needs to resync with the upscaler after the upscaler resyncs with the source. This all means that switching between 240p and 480i can have some heavy delays.

I use an Acer monitor with the Framemeister these days, and it has some severe delays in locking on a signal. This is because whenever the HDMI input drops, it first looks for a VGA signal for whatever reason.

These delays are dependent not only on how long the upscaler locks on the signal, but also how long your TV or capture device takes. The GBS Control, however, runs in a “free running” mode. This means that the output signal is always running, and this should mean that the TV or capture device will never lose sync.

Sega Saturn

Our first test case is Akumajo Dracula X: Gekka no Yasoukyoku on the Sega Saturn. This is a port of Symphony of the Night that wasn’t released in the west.

Akumajo Dracula X: Gekka no Yasoukyoku for Saturn

The game is, if you somehow haven’t heard of it, a “Metroidvania” (the vania in Metroidvania, in fact) platformer where you play as Dracula’s son, Alucard, exploring a free-roaming castle. More of the castle becomes available as your character gains ability. As part of the gameplay, you can collect a number of weapons and armor to equip, or other items. As a result, the menu is very important, but so is fast and fluid gameplay.

Image of gameplay

Image of menu

Therefore, the gameplay uses 240p, whereas the pause menu uses 480i. This means that pausing incurs a switch; even worse, unpausing does too, so if your monitor or screen takes too long to unpause, you’ll potentially be vulnerable to attacks you don’t see.

For this use case, we’ll compare three case:

  1. A video of the Saturn running on a composite TV. This is our baseline; nothing can be faster.
  2. The Framemeister being captured by the Elgato HD 60 S
  3. The GBS Control being captured by the Elgato HD 60 S

The OSSC was not included because I could not get it to work with the Elgato.

  Time (sec)
Composite (baseline) 1s
Framemeister 6s
GBS Control 2s

Very impressive showing by the GBS Control! Indeed, if I trusted my camera measurement to sub-second timestamps, I bet it’d show up even closer. But I did notice something weird; while this worked totally fine on the Elgato, the Acer monitor desynced a second after showing the menu for an instant. So the GBS does adjust its timing, so an extremely picky monitor might complain.

Playing as Maria in the Saturn port of SOTN

One way to avoid that sync time even on the Framemeister is to take advantage of the Saturn-exclusive gameplay mode where you play as Maria Renard. In this mode, the weapons work like classic Castlevania games, so there’s no pause menu at all, and thus no 240p/480i switching. Not really relevant to the review, though…

Genesis

It’s not frequently used, but the Sega Genesis can also switch between 240p and 480i content. Sonic the Hedgehog 2 is a notable example, as it switches between modes for 2-player mode, providing a very squished version of the game. Using my Megadrive 2 for this for no reason other than it was more convenient to unplug.

This mode is somewhat out of sync, though I’m not quite sure why. What I can tell you is that the Framemeister hates it.

Sonic 2's Emerald Hill Zone title card, heavily distorted

This is the only signal I’ve given the Framemeister that it simply can’t handle. (and the Acer monitor won’t even show the glitch) This glitch is all you get too; it just freezes on this screen until the game starts displaying 240p again. So, how does the GBS Control stack up?

Sonic 2's Emerald Hill Zone title card, only distorted as much as it's supposed to be

Sonic 2's Emerald Hill Zone 2 player gameplay

The motion adaptive deinterlacing doesn’t seem to be doing a great job, but this is the first upscaler I’ve seen that can give this 2-player mode in RGB the full details it deserves, even on a capture card. (The OSSC can display this on my Westinghouse TV, at least)

Again, the Acer monitor does go black for a second even as the capture card keeps on trying. Really I should just replace that thing.

Sync lock-on

Let’s drive the point home a bit more and pick on the poor Framemeister a bit. So, hooking up Sonic the Hedgehog 2 to my Megadrive 2 for the above test, the first frame my capture card picks up is this one:

A plain white screen

This empty white frame is the beginning of the famous “SEGA” logo, which in Sonic the Hedgehog 2 is preceded by Sonic running across the screen.

But there’s something missing here. Remember, I said this was a Megadrive 2. And on the GBS Control, the first signal I get is this one:

A black screen with 'PRODUCED BY OR UNDER LICENSE FROM SEGA ENTERPRISES LTD.' in white

It’s our good friend, TMSS! Now, seeing TMSS isn’t really that necessary, but it does drive the point home about the Framemeister here: it takes so long to lock on to the signal, you don’t see TMSS at all. (If you turn off and on the console quickly, it seems to keep the lock and you can see TMSS, which is how I took screenshots back then)

Screen-tearing

It isn’t all good, unfortunately. Take a look at the title screen of Sonic the Hedgehog 2.

Sonic the Hedgehog 2 title screen. A slight distortion is seen around Tails

Can you see it? I don’t blame if you don’t, especially if you’re not looking at the full resolution. It’s very subtle, but let’s take a closer look.

Sonic the Hedgehog 2 title scren zoomed in. A slight distortion is seen around Tails

This is screen tearing. Remember, the GBS Control is “free-running”, its input timing doesn’t depend on the output timing. So my suspicion is that this is the point where the screen for the game is being updated. This, despite the fact that I have the external clock generator added.

This is a subtle effect, and I didn’t see it in all games. Hopefully future firmware updates will resolve this.

Has the Framemeister met its match?

With the GBS Control in your arsenal, I think it’s hard to say that there’s any reason to get a Micomsoft Framemeister anymore. The GBS Control has better signal compatibility, handles 240p/480i switching better, and is much more affordable. For streaming, one of the last bastions where the Framemeister is superior to the OSSC, it takes the cake. The screen tearing and the slight issues with the Acer monitor are things I could live with, personally, especially if I had built the kit myself.

However, if you already have a Framemeister, there also isn’t anything that really blows it away either, unless you really like the multiplayer mode in Sonic the Hedgehog 2. Which to be fair, is pretty fun. It also doesn’t have composite or S-Video inputs, though I wonder if a Koryuu transcoder would solve that issue.

Between the GBS Control and the OSSC I think modern retro gamers now have two reasonably affordable options that both work very well; it’s up to you whether the OSSC’s reduced lag is better than the GBS Control’s better interlaced handling and faster video sync. The GBS Control can also downscale 480p content to 240p, though that’s something that my setup leaves no real reason to do.

One interesting use for a GBS Control might be to take advantage of its ability to take direct arcade video inputs to create a VGA/HDMI Supergun without any reprocessing of the video signal. This is probably worth trying to build a harness for at some point to do just that– if I dare pick up a soldering iron, that is.