IIGS GBS 8200 / ESP8266 RGB->VGA or HDMI Upscaler

Daniel Hansen

Tinkerer
Oct 29, 2021
179
136
43
A while ago, I whipped up a cheap solution to get the IIGS's RGB to output and upscale to VGA using the GBS 8200, following @jcm-1 's tutorial:

It was SO much better than the crap composite output, but not great. Then recently, I saw on FB that there is a modification you can make to the GBS using a ESP8266 Arduino that provides alternative firmware (and a handy wifi-based control interface).

The improvement is substantial. I'm currently outputting to a 17" VGA LCD @ 1280x960. It's not as excellent as the RGBtoHDMI, but for about *maybe* $40 in parts it's freaking amazing. Truly useable.

Here's the Github for the gbs-control project: https://github.com/ramapcsx2/gbs-control
Here's a good IIGS-specific walkthrough: https://jbretro.wordpress.com/2020/10/23/gbs-control-8200-iigs-scaler-masterclass/
Here's a general overview build / setup video:
 

Attachments

  • IMG_0928.jpg
    IMG_0928.jpg
    1.9 MB · Views: 126
  • IMG_0929.jpg
    IMG_0929.jpg
    1.1 MB · Views: 140
  • IMG_0931.jpg
    IMG_0931.jpg
    1.2 MB · Views: 132
  • Wow
  • Like
Reactions: JDW and eric

JDW

Administrator
Staff member
Founder
Sep 2, 2021
1,883
1,597
113
54
Japan
youtube.com
@Daniel Hansen
I've got some questions for you at the bottom of my post, but please allow me to first explain my situation...

I've grown weary of display issues pertaining to my Apple IIc and my Eyoyo 10" IPS SVGA (1024x768 native) Display. The monitor is a wonderful size and is all black, which matches my black MacEffects case.

1748168939167.png


The monitor offers VGA, HDMI & Composite (RCA) inputs. Composite looks quite nice with no tweaking of anything. But it's only in color and not suited to displaying A2 Desktop nicely. Composite also has some display artifacts which aren't present when using VGA. I therefore prefer VGA, especially because I have Plamen's IIc-to-VGA Adapter, which lets me switch between color and monochrome at the press of a push-button on the adapter. I love that!

However, the huge problem is the EYOYO auto-detects at every power-on and every power-cycle. Its firmware foolishly throws the display content to the upper right corner, which looks awful because it doesn't fill the screen and it's way off center. It's also a tad too narrow too. And while I can use EYOYO manual controls to center and expand it horizontally, that infuriating EYOYO monitor firmware doesn't save my settings. Whether I power-cycle my IIc or the EYOYO the result is the same — my manual display settings are erased and it goes back to auto defect again, throwing the display content to the upper left corner! Madening!

I wrote about this in the Apple II group on FaceBook yesterday asking for advice. Prior to that posting, I was thinking maybe an OSSC or RetroTINK might work, but they are expensive and made for vintage game consoles, not the Apple IIc. One fellow on FaceBook suggested I try the GBS-8200, so I bought a v4.0 from Amazon Japan and it arrived today. I also bought a 5v 2.0 Amp AC Adapter and a second VGA cable. I got it wired up, switched the GBS-8200's UI language from Chinese to English, then set the Display Resolution to the EYOYO's native 1024x768. Here's the result...

tempImagepdh35J.png

It looks OK, but I want the content to fill the screen. Interesting, after looking at your screenshots, I see that even you didn't achieve that. Could be because you had the same problem as me — I can't get the GBS-8200's Geometry menu to display!!! (screenshot below)

tempImagekWwWsp.png

Rather than spend hours and hours Googling myself, I used ChatGPT to do that, seeking to found out why the GEOMETRY menu won't display. ChatGPT said the stock firmware disables the Geometry menu by default when using the VGA input :-( , and the only workaround is to solder on an ESP8266 development board, flashed with custom firmware, which is what your opening post mentions. The 2nd video you linked (by RetroRGB) also covers the ESP8266.

However, this web page talks about 4 different "ESP8266" development board variants. Not sure which is best to use, I did some Googling on my own and found that most GBS-8200 users seem to be using the ESP8266 12-E NodeMCU, which looks like this...

1748170191743.png


RetroRGB's video uses the Wemos D1 Mini variant that looks like this...

1748170402943.png


QUESTIONS
  1. Which ESP8266 development board did you use and why?

  2. Did your install closely follow the video by RetroRGB? And, did you run across problems?

  3. Were you able to get the GEOMETRY menu to display before or after your ESP8266 install?

  4. Were you not able to use your Geometry menu to get your display content to be larger than what is shown in your screenshots? (i.e., to better fill your LCD's display area)
I ask these questions in hopes of figuring out what I should do next. Because if I buy an ESP8266 but still can't get the display content to be larger than now, there would be no meaning for that additional purchase.

Thank you!
 

Daniel Hansen

Tinkerer
Oct 29, 2021
179
136
43
Hi @JDW! Hopefully I can provide some insights, though I admit (and apologize) my memory of this project is very dim... I will provide what detail I can. To your questions:
  1. I chose the Wemos D1 Mini because it was what was used in RetroRGB's demo, and I liked that it was small. I can't imagine there being any difference, nor any benefit, to using the NodeMCU board. You even see one in RetroRGB's video at times. Just use what you have. In my personal opinion, the Mini, being so much smaller, is nicer for piggybacking and keeping the assembly discrete.
  2. I did not deviate from RetroRGB's steps, and did not encounter any issues. Between the two sources, it's a pretty straight forward process. The GBS-Control software has been updated somewhat recently with a new interface, and it's nicely improved.
  3. I can't confirm whether or not I had access to the Geometry functionality in the GBS onboard menu, but it seems to me I must have. With the addition of the 8266, I cannot access the onboard menu; the 8266 overrides the GBS and provides controls through the GBS-Control online interface.
  4. The appearance of the display in my photos is actually quite close to what is expected of the IIGS video output - i.e. there is a large blue border around the display area. Its colour can be changed in the IIGS control panel. It is larger in my photos than what you might see on an actual A2M6014 RGB monitor because of the aspect ratio difference, but otherwise it is normal behaviour on the IIGS. I did have to shift the position of the display and induce some additional border via the GBS-Control interface, but it amounts to about a 1cm black border. So what you're seeing on your monitor is not the same as what you're seeing on mine.
So, this isn't a 1:1 comparison, IIc vs IIGS output, especially with the VGA adapter in the mix. I would expect - like you did - that the GBS should simply upscale the VGA input to 1024x768 without much need for adjustment... what is the monitor seeing for an input resolution - does it say in its OSD?
 
  • Like
Reactions: JDW

JDW

Administrator
Staff member
Founder
Sep 2, 2021
1,883
1,597
113
54
Japan
youtube.com
Thank you for your kindness in answering my questions.

...the GBS should simply upscale the VGA input to 1024x768 without much need for adjustment... what is the monitor seeing for an input resolution - does it say in its OSD?

The GBS-8200 board, which in my case is currently stock (no ESP8266 installed yet), is outputting 1024x768 by VGA and the EYOYO monitor is confirming such. Meaning, the EYOYO is confirming its in its native resolution. However, there is no scaling being done by the GBS8200 that I can see, perhaps due to the Geometry menu being disabled. And there is a boarder around all 4 sides of the displayed content from the IIc like this...

1748406435739.png


So the great unknown at this point is, will the GBS-8200's Geometry menu (via the ESP8266) scale VGA content to fill the display area?

In the Apple II group on FaceBook, I've seen others with LCD panels get their displayed content to mostly fill the display area, with an expected amount of black dead space surrounding it, such as shown in the following examples...

1748406815186.png


1748406957135.png


To me, the way the content displays in the above 2 examples looks really good. That's my goal here.

So before I pull the trigger on an ESP8266 purchase, let's re-examine one of your IIgs photo here...

1748407052074.png


You are getting a picture very similar to what I am getting in that the left/right boarders are super thick, while top and bottom are thinner, and the content is shifted up every so slightly too much. Now you can of course move the content up, down, left or right, but I am speaking about making the content display LARGER without changing the resolution.

So based on your answer to my Q4, are you NOT able to stretch your IIgs's display content (such as the screen shown in your photo above) horizontally or vertically via the 8266's Geometry settings? (Not the IIgs Control Panel, but using the 8266's "Geometry" settings.) Because if you are NOT able to stretch/expand the content via 8266 "Geometry", I suspect I wouldn't be able to either. And in such a case, there would be no meaning for me to get the 8266. But if you ARE able to expand the content (which in turn reduces the blue border around it, in the case of your photo), then I will order an 8266 right away.
 

JDW

Administrator
Staff member
Founder
Sep 2, 2021
1,883
1,597
113
54
Japan
youtube.com
The question asked in my previous post still stands, but I did a little more digging and found the following 2 points to ponder:

1. The video by RetroRGB (Robert "Bob" Neil) oddly does NOT link to the same ESP2866 board shown in his video — the Weymos D1 Mini. Instead, it links to the this NodeMCU version. (I mentioned that Node version in my first post in this thread.) Both types are still sold, so I must assume RetroRGB changed his mind for some reason. Maybe it doesn't matter, but it's an oddity to ponder when adding an ESP2866 board.


2. The official GBS Control Wiki shows a Web GUI that looks like this...

1748426961579.png


But RetroRGB tells us here that there is an updated GUI that looks like this, and is apparently what is used in the latest firmware:

1748427031874.png


And the only decent documentation I can find on that newest edition GUI is this PDF (which pertains to GBSC hardware, and the GBS-8200 as well, to some extent):


Interestingly, there is no "Geometry" button or menu that I can see in either version GUI above. But instead "Picture Control" would appear to be how to CENTER and SCALE the display content.

@Daniel Hansen , if you want to experiment with trying to SCALE your IIgs display to be larger, thereby reducing the blue borders all around, you would need to use Picture Control. If you have the time and desire to fiddle with that, I'd love to hear your result. Does it work? That basically would answer the question I put forth to you in my previous post earlier today.

Thanks!
 

Daniel Hansen

Tinkerer
Oct 29, 2021
179
136
43
I can indeed scale the image 'full screen' using the Display Controls in the GBS-Control interface, but in my case there are undesirable side-effects; text starts to deform, and there are unfortunate artifacts.
Before scaling:
IMG_3204.jpg


After scaling:
IMG_3205.jpg


But I feel I should clarify, just in case it's being missed: the blue border is a normal part of the IIGS video output, as you can see here for example with original monitor:
Screenshot 2025-05-27 at 6.09.03 PM.png


And my current setup:
IMG_3209.jpg


There is some inconsistent spacing of that border (wider on the left/right, slight misalignment on that axis despite adjustment), to be sure, and that is because I'm stuffing a 16:10 aspect ratio into 4:3 plus whatever dynamics are at play between the GBS output and my monitors processing of that signal. Ultimately I will counter that technically I'm not getting an output through the GBS that is similar to yours, because the output from the IIGS *includes* the blue border, and therefore my display is already full screen. So the scaling shown above is actually expanding the display beyond full screen.

Nevertheless, it is technically possible to scale GBS output quite a lot using the GBS-Control interface, but your results may be very different from mine - better or worse. There are a few reasons why I think my experience may not be a useful comparison / test case for you:
- the IIGS video output is not VGA, it is RGB with 15kHz horizontal scan; GBS' processing of these signals may be very different (digital vs analog)
- the IIGS resolution is 320x200, not 1024x768 (or 720x480, as the A2VGA outputs), which may impact scaling behaviour / results
- my monitor is different - even from the original photo - but even so, it could result in differences in how signals are processed compared to the Eyoyo, especially when manually scaling) - however it is XGA (limited to 1024x768) like the Eyoyo.

What does the Eyoyo display with a 'normal' VGA input, from a different source? Is that something you have tested?
 
  • Love
Reactions: JDW

JDW

Administrator
Staff member
Founder
Sep 2, 2021
1,883
1,597
113
54
Japan
youtube.com
Thank you for making time to test, photograph and post such a detailed reply. I sincerely appreciate your time, @Daniel Hansen . Tremendously helpful!

My comments...

1. The shape and overall look of on-screen text I see when viewing the output of my IIc on the EYOYO display has never been perfect, so I could probably live with the distortions shown in the 2nd photo of your previous post. However, that vertical red line is a deal-breaker. :cry:

2. Thank you for explaining about how the blue border around the content is normal, even on the Apple CRT. I see that the border on the right side is thicker than at left, but that could be adjusted via CRT controls, I would assume (horiztonal shift to the right). Of course, all compact B&W Macs have a black border around the content too. It's just that when displaying Apple IIc content via VGA to the EYOYO, the borders are super thick and bothersome to me. (I don't mind a border if it's reasonable in size.)

3. In answer to your question at the very end of your previous post, when I connect the Plamen IIc-to-VGA directly into the Eyoyo's VGA input (not using the GBS-8200 at all), it displays with a similarly massive border as the GBS, but it is more horizontally compressed (not a lot, but just more). I can use EYOYO monitor controls to expand it horizontally and center it vertically and horizontally, but every single time I power cycle either the EYOYO or my IIc, all my EYOYO monitor settings are LOST!!! It ticks me off so bad that I spent hours researching what to do, and then a guy on FaceBook suggested the GBS-8200. I bought the unmodded GBS and found it does a slightly better job, and most importantly, IT SAVES MY CUSTOM SETTINGS!! The only issue for me right now is that the border is just too massive for my taste. And that's what brought me to your thread here on TinkerDifferent.

Because the IIgs is more of a Mac, in many ways, than an Apple IIc, it could be that I might be able to scale up the display content in a more pleasing way (with the appropriate hardware added to my GBS), but that vertical red line in your photo worries me.

But I guess the only way I can find out what's truly possible is to buy an EPS8266 board (and I guess the clock-gen board too), and see what happens.

Thanks again!