GBS 8200/8220 CFW Project

The place for all discussion on gaming hardware
User avatar
Syntax
Posts: 1774
Joined: Wed Aug 09, 2017 12:10 am
Location: Australia

Re: GBS 8200/8220 CFW Project

Post by Syntax »

I changed my Wi-Fi channel like you suggested and I haven't had an issue since.
User avatar
donluca
Posts: 852
Joined: Sat Feb 28, 2015 8:51 pm
Location: Italy
Contact:

Re: GBS 8200/8220 CFW Project

Post by donluca »

Not sure if it's doable, but you could *very* carefully wrap the culprit with a tinfoil sheet, the kind generally used for wrapping food.
Higgy
Posts: 54
Joined: Thu Mar 15, 2018 1:29 pm

Re: GBS 8200/8220 CFW Project

Post by Higgy »

Interesting Github comment - no need for Vsync wire now.
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

Furthermore, it now actually realizes whether a source is on or off.
This allows removal of lots of now pointless tests and various resets :)

A lot of code and preset settings changed. I hope it's all still working with all boards.
Sega Genesis is still giving me trouble with its short hsync mode.
keremimo
Posts: 46
Joined: Fri Apr 27, 2018 12:16 pm

Re: GBS 8200/8220 CFW Project

Post by keremimo »

Hey there folks,

I set this up using a Raspberry Pi since I cannot currently get an Arduino. I made sure the i2c was enabled in the Pi. I get a 640x480 image on GBS of the Raspberry Pi GB8200 Controller v0.3 and no matter what I press or what I do it doesn't load the setting and give me the display I need. If I press finish it goes crazy but then again I think I'm not supposed to press that one, right?

https://imgur.com/a/yJq2Eju

Raspberry Pi 1 Rev 2 on Raspbian Stretch
GPIO pins are correct as far as I researched, and in the photo it looks like I soldered to VCC that is not correct it is soldered on GND :)

Please help me, I really want to get this working.
Higgy
Posts: 54
Joined: Thu Mar 15, 2018 1:29 pm

Re: GBS 8200/8220 CFW Project

Post by Higgy »

still works on WeMos D1 Mini :)

I got one of those chip sockets, but it does not seem to stay on very well. I suppose I could use a drop of hot glue.

Regarding scanlines, because the brightness reduces (or seems to reduce to due black lines) is it possible to give a boost in brightness when Scanlines are selected. Or does it not really work like that?
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

These sockets are a tight fit. They won't hold well if there's anything on any of the pins, ie: check and remove every bit of leftover solder that may be on there.
Once that's taken care of, firmly press the socket (with adapter board and control board attached) onto the stock chip.
This part requires the adapter board / socket to be well soldered, so they can take some stress.

I suppose a glob of hot glue will help, too. But make sure you don't use too much, or else the glue will get onto the pins and make a mess ;p

About the scanlines, yeah, they lower the brightness a lot. I'm not sure what the best way to remedy it would be.
I could boost the ADC gain. That would help but cause color crush on the top end. It does produce an effect similar to my CRT though.
If you have a dev console available, send this: s5s09s4f s5s0as4f s5s0bs4f

Another route would be to increase the DAC (output RGB) current. This may compensate every other line being dark by making the active lines be 1.0Vpp or so.
This requires soldering, but I want to test this anyway (for Component Video output one day).
keremimo
Posts: 46
Joined: Fri Apr 27, 2018 12:16 pm

Re: GBS 8200/8220 CFW Project

Post by keremimo »

Hey folks! Been lurking for a long while, at last I registered for this, because I need some kind of help.

First of all great job Rama!

I got a HD9800 v5.0 (it says). I just today got a Wemos D1, the one I saw rama used here. I soldered everything nicely and everything but... I cannot upload the project to the Wemos! I have no idea what I'm doing wrong, so please help me out. I'm definitely doing something wrong since there's no tutorial on how to upload to Wemos D1 here. Total beginner, sorry! Here's the error output:

Code: Select all

Arduino: 1.8.5 (Windows 10), Board: "WeMos D1 R1, 80 MHz, 4M (3M SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 115200"

In file included from C:\Users\nyaa\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/Arduino.h:258:0,

                 from sketch\gbs-control.ino.cpp:1:

C:\Users\nyaa\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/pgmspace.h:16:51: error: __c causes a section type conflict with __c

 #define PSTR(s) (__extension__({static const char __c[] PROGMEM = (s); &__c[0];}))

                                                   ^

C:\Users\nyaa\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/WString.h:38:76: note: in definition of macro 'FPSTR'

 #define FPSTR(pstr_pointer) (reinterpret_cast<const __FlashStringHelper *>(pstr_pointer))

                                                                            ^

C:\Users\nyaa\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/WString.h:39:34: note: in expansion of macro 'PSTR'

 #define F(string_literal) (FPSTR(PSTR(string_literal)))

                                  ^

sketch\framesync.h:175:20: note: in expansion of macro 'F'

       Serial.print(F(" adjusted: ")); Serial.println(newVDS_HB_SP);

                    ^

C:\Users\nyaa\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/pgmspace.h:16:51: note: '__c' was declared here

 #define PSTR(s) (__extension__({static const char __c[] PROGMEM = (s); &__c[0];}))

                                                   ^

C:\Users\nyaa\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/WString.h:38:76: note: in definition of macro 'FPSTR'

 #define FPSTR(pstr_pointer) (reinterpret_cast<const __FlashStringHelper *>(pstr_pointer))

                                                                            ^

C:\Users\nyaa\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/WString.h:39:34: note: in expansion of macro 'PSTR'

 #define F(string_literal) (FPSTR(PSTR(string_literal)))

                                  ^

C:\gbs-control\gbs-control.ino:2465:15: note: in expansion of macro 'F'

       debugln(F("sync lock failed, check debug + vsync wires!"));

               ^

exit status 1
Error compiling for board WeMos D1 R1.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
Higgy
Posts: 54
Joined: Thu Mar 15, 2018 1:29 pm

Re: GBS 8200/8220 CFW Project

Post by Higgy »

I tried uploading the Github code from last night and also had this error:

C:\gbs-control\gbs-control.ino:2465:15: note: in expansion of macro 'F'

debugln(F("sync lock failed, check debug + vsync wires!"));


So it might be a code error. It also might be fixed now, I see rama has made changes since.

To practice coding your WeMos just use the 'Blink LED' example (change flash rate) If this works then you at least know everything is working properly.
keremimo
Posts: 46
Joined: Fri Apr 27, 2018 12:16 pm

Re: GBS 8200/8220 CFW Project

Post by keremimo »

Higgy wrote:I tried uploading the Github code from last night and also had this error:

C:\gbs-control\gbs-control.ino:2465:15: note: in expansion of macro 'F'

debugln(F("sync lock failed, check debug + vsync wires!"));


So it might be a code error. It also might be fixed now, I see rama has made changes since.

To practice coding your WeMos just use the 'Blink LED' example (change flash rate) If this works then you at least know everything is working properly.
Thanks, I kinda got the gist of it now :D

Is there a chance of getting a zip file of older versions? I want to make sure that I did everything else right before readying a box for everything I did.

Edit: NVM lol figured out how to GitHub.

Another question though, even though my PS2 (barely) works with the scaler, now Amiga gives me no signal at all. Do I need to solder a 100R between the sync and the input?

And lastly, what do I need to do to create a 1024x768 preset? My capture card truly hates 1280x960 :oops:
Higgy
Posts: 54
Joined: Thu Mar 15, 2018 1:29 pm

Re: GBS 8200/8220 CFW Project

Post by Higgy »

keremimo - PM sent regarding older version.

I built a Sync Stripper so I can plug in any RGB Console/Computer. I buy Female-Female SCART adaptors on eBay then put the circuit inside. Then you just plug in the SCART of your console/computer.

I dont have any resistors apart from those in the Sync Stripper. On the Guthub there is a link to the Sync Stripper circuit to build.

Its extra work but saves time in the long run :)

rama - I just downloaded again from Github 21:40 UK time and it failed Compiling on WeMos D1 R2 & mini,

C:\Users\Higgy\Desktop\GBS_Control_old\gbs-control\gbs-control.ino:2465:15: note: in expansion of macro 'F'

debugln(F("sync lock failed, check debug + vsync wires!"));
keremimo
Posts: 46
Joined: Fri Apr 27, 2018 12:16 pm

Re: GBS 8200/8220 CFW Project

Post by keremimo »

Higgy wrote:keremimo - PM sent regarding older version.

I built a Sync Stripper so I can plug in any RGB Console/Computer. I buy Female-Female SCART adaptors on eBay then put the circuit inside. Then you just plug in the SCART of your console/computer.

I dont have any resistors apart from those in the Sync Stripper. On the Guthub there is a link to the Sync Stripper circuit to build.

Its extra work but saves time in the long run :)
Thanks, I got it working now!

The issue is my Amiga 500 though. I have two setups currently, a Raspberry Pi 3 and a Wemos D1. Dooklink's gbs-control using Raspberry Pi 3 works with the Amiga without a sync stripper. Amiga already outputs CSYNC so I doubt a lm1881 is required (still gonna build one for the other consoles I have though).

On Rama's gbs-control, none of the presets work for Amiga 288p apparently. :(
TobiasRieper
Posts: 57
Joined: Thu Sep 28, 2017 8:04 pm

Re: GBS 8200/8220 CFW Project

Post by TobiasRieper »

keremimo wrote:Hey folks! Been lurking for a long while, at last I registered for this, because I need some kind of help.

First of all great job Rama!

I got a HD9800 v5.0 (it says). I just today got a Wemos D1, the one I saw rama used here. I soldered everything nicely and everything but... I cannot upload the project to the Wemos! I have no idea what I'm doing wrong, so please help me out. I'm definitely doing something wrong since there's no tutorial on how to upload to Wemos D1 here. Total beginner, sorry! Here's the error output:

Code: Select all

Arduino: 1.8.5 (Windows 10), Board: "WeMos D1 R1, 80 MHz, 4M (3M SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 115200"

In file included from C:\Users\nyaa\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/Arduino.h:258:0,

                 from sketch\gbs-control.ino.cpp:1:

C:\Users\nyaa\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/pgmspace.h:16:51: error: __c causes a section type conflict with __c

 #define PSTR(s) (__extension__({static const char __c[] PROGMEM = (s); &__c[0];}))

                                                   ^

C:\Users\nyaa\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/WString.h:38:76: note: in definition of macro 'FPSTR'

 #define FPSTR(pstr_pointer) (reinterpret_cast<const __FlashStringHelper *>(pstr_pointer))

                                                                            ^

C:\Users\nyaa\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/WString.h:39:34: note: in expansion of macro 'PSTR'

 #define F(string_literal) (FPSTR(PSTR(string_literal)))

                                  ^

sketch\framesync.h:175:20: note: in expansion of macro 'F'

       Serial.print(F(" adjusted: ")); Serial.println(newVDS_HB_SP);

                    ^

C:\Users\nyaa\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/pgmspace.h:16:51: note: '__c' was declared here

 #define PSTR(s) (__extension__({static const char __c[] PROGMEM = (s); &__c[0];}))

                                                   ^

C:\Users\nyaa\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/WString.h:38:76: note: in definition of macro 'FPSTR'

 #define FPSTR(pstr_pointer) (reinterpret_cast<const __FlashStringHelper *>(pstr_pointer))

                                                                            ^

C:\Users\nyaa\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\cores\esp8266/WString.h:39:34: note: in expansion of macro 'PSTR'

 #define F(string_literal) (FPSTR(PSTR(string_literal)))

                                  ^

C:\gbs-control\gbs-control.ino:2465:15: note: in expansion of macro 'F'

       debugln(F("sync lock failed, check debug + vsync wires!"));

               ^

exit status 1
Error compiling for board WeMos D1 R1.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
I'm having the same problem. Can anyone help? Ive been messing around for hours to no avail. Thank you (I'm now using an older reop of GBS control. and it works) (4f324 on github)
keremimo
Posts: 46
Joined: Fri Apr 27, 2018 12:16 pm

Re: GBS 8200/8220 CFW Project

Post by keremimo »

@TobiasRieper

There's a new commit uploaded by rama minutes ago. It fixed the issue for me.
TobiasRieper
Posts: 57
Joined: Thu Sep 28, 2017 8:04 pm

Re: GBS 8200/8220 CFW Project

Post by TobiasRieper »

Awesome thanks. We'll I got frustrated and pulled all the wires out of my gbs and just using it as stock. I got an older control gbs to compile and upload but I just can't configure the WiFi on the eps board I tried for hours. My router doesn't even see its ip. I'll have another go at this at the weekend. The net module fine before I wrote the latest firmware.
If someone could please give me an updated guide to connect to gbs that would be much appreciated.
keremimo
Posts: 46
Joined: Fri Apr 27, 2018 12:16 pm

Re: GBS 8200/8220 CFW Project

Post by keremimo »

@TobiasRieper

Here's how I set it up once and never touched it after:

Open Arduino IDE
Go to examples
Go down find Examples from custom libraries
WifiManager - AutoConnect - Flash this to your Arduino with Erase Flash - All Contents in the tools dropdown.

Then reset Arduino connect to it on 192.168.4.1
From there you'll handle it ;) it will connect to your router at every reset and maintain the connection (hopefully)

Don't forget to set Erase to "Sketch Only" after you're done! Now you can flash gbs-control :)

Good luck!

Now you help me build a 1024x768 preset and we're even :lol:
TobiasRieper
Posts: 57
Joined: Thu Sep 28, 2017 8:04 pm

Re: GBS 8200/8220 CFW Project

Post by TobiasRieper »

@keremimo

Thank you really appreciate it :) I've spent the past hour soldering all the connections again and cleaning off the horrible epoxy I used last time. Feel a but strange from the fumes. I will report back! I owe you one, not sure how I can help on the preset though but I'm sure up for it. I'm more of a practical guy, coding isn't my strong point. There are some presets from the older project you can play around with I'll link you if you like. You may be able to get them to work.
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

Creating a new resolution preset is difficult, so better try the feedback clock ones first.
They're called 640x480 in the web ui and can be enabled there.
If the web ui isn't available, send "9" for 60Hz or "2" for 50Hz via serial monitor.

You need a 100Ohm resistor on sync-in to ground. It doesn't matter what other firmwares produce without it. It is necessary.

Amigas have worked in the past and I don't think they're broken now (but I can't test).
They require an inline resistor to bring down the csync level. See this blog post on how the cable should be built:
https://ianstedman.wordpress.com/2015/0 ... ts-part-2/
TobiasRieper
Posts: 57
Joined: Thu Sep 28, 2017 8:04 pm

Re: GBS 8200/8220 CFW Project

Post by TobiasRieper »

rama wrote: You need a 100Ohm resistor on sync-in to ground. It doesn't matter what other firmwares produce without it. It is necessary.
Guess this doesn't apply to me as I use a sync strike? I'm impressed with the scanlines that youve created! Thanks for fixing that compiling error that was driving me bonkers. I had a right old charade with connecting to gbs control. I was looking for the ip while connected to my home network and didn't even clock that I needed to connect to the eps AP.

@keremimo thanks for your help. It was just my own stupidity lol. I did try what you advised and It managed to rule out my wimos wasn't at fault :)

It was only until I looked at my available networks gbscontrol popped up. Haha. I still. Get that strange problem with the image being far to right but it's solved with the frame buffer and horizontal shift. Rama do I need the VSync cable anymore?

Thanks :)
Higgy
Posts: 54
Joined: Thu Mar 15, 2018 1:29 pm

Re: GBS 8200/8220 CFW Project

Post by Higgy »

TobiasRieper - No VSync needed now.

I compiled the latest code last night and tested with my AMIGA CD32 and it is good (I fitted a RGB out on my CD32 as it normally does not have RGB out).
I've a AMIGA A500 sat nearby so I will see about testing that.
I will see how it copes with an AMIGA 'Interlace' screen res. On a CRT it flickers a lot at that resolution.
TobiasRieper
Posts: 57
Joined: Thu Sep 28, 2017 8:04 pm

Re: GBS 8200/8220 CFW Project

Post by TobiasRieper »

@Rama cool, thank you :) epoxying was a real bad idea took me a while scraping all then crud off and oh my the fumes!!!

Can anyone reccomend a project box to put the gbs in? Or even better can tell me where to get a nice acrylic case for the gbs. I'm in the UK :D
Cheers
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

Casing:
People over on circuit-board.de started working on 3D print designs.
Others have already published design files for the original version. They can be found with a Google search :)

VSync wire:
Is indeed not necessary anymore. If you have it, it won't hurt though, so you can leave it there.

Sync-Strike termination:
Now that depends on whether the sync strike has a series resistor on the csync output. It really should have one, as it is required for every TV or scaler.
If it has that series resistor, the 100Ohm to ground is not required but still recommended. It will lower the csync amplitude from ~3Vpp to ~700mVpp which is better for the presets I create.
If it doesn't have the series resistor, you have to install it somehow!

"image being far to right":
It depends on the receiving TV / display. Most have an auto adjust function that may have to be triggered manually.
With that, the picture should center itself nicely. You may have to have a bright scene showing for this to work.
User avatar
maxtherabbit
Posts: 1763
Joined: Mon Mar 05, 2018 4:03 pm

Re: GBS 8200/8220 CFW Project

Post by maxtherabbit »

what's the current state of this project regarding component video in and out?

fully working 240p line doubling with 480p passthrough in-line on YPbPr would be prettty awesome

EDIT: found the github, looks like component in is implemented, with 480p support :D - what about component out?
Last edited by maxtherabbit on Wed May 02, 2018 10:51 pm, edited 1 time in total.
keremimo
Posts: 46
Joined: Fri Apr 27, 2018 12:16 pm

Re: GBS 8200/8220 CFW Project

Post by keremimo »

rama wrote:Creating a new resolution preset is difficult, so better try the feedback clock ones first.
They're called 640x480 in the web ui and can be enabled there.
If the web ui isn't available, send "9" for 60Hz or "2" for 50Hz via serial monitor.

You need a 100Ohm resistor on sync-in to ground. It doesn't matter what other firmwares produce without it. It is necessary.

Amigas have worked in the past and I don't think they're broken now (but I can't test).
They require an inline resistor to bring down the csync level. See this blog post on how the cable should be built:
https://ianstedman.wordpress.com/2015/0 ... ts-part-2/
Thanks for the how-to-connect the resistor because I was doing it wrong, apparently (I was trying to just push the resistor between the sync before) :)

I now have a perfect PS2 image using RGB SCART. (without sync-strike, without c-sync cable)

I tried 640x480 as well on Amiga, no display. PS2 is fine on 640x480, perfectly working. Serial monitor reports "No signal". I do have the required 680R on the SCART cable of Amiga itself. As I said perfect image on the dooklink CFW and on original firmware, but it doesn't output when using the Arduino setup. I have to switch setups to run Amiga for now :lol:
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

Component support:
Input is being worked on right now. It already supports SD and EDTV resolutions, HD might be possible as well (720p / 1080p).
The HD is a little obscure of course. Chances are, those sources work very well when directly connected to the TV.
Depending on the TV, the lag might still be better though. And there's a convenience factor :)
Component out has been tested but the code removed again. It is not worth it without the current limiting resistor mod to bring the voltage up to 1Vpp.
This should probably be done in a fork or some special option, since it would be best to permanently mod a GBS board to support Component out.

PS2:
The SOG slicer in the scaler can deal with luma or composite as sync and the code sets it up for this.
However, it would still be better to use a sync stripper, as the SOG slicer can run into situations where the picture content gets interpreted as a sync pulse.
This happens with sudden transitions from white to black, for example.

Amiga:
640x480 using RGBS is an odd format but I'm sure the chip could handle it with some tweaks.
I just need a source that outputs RGBS. A PS2 can do 640x480 RGsB, so it's not quite the same.
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

Just pushed an update that addresses some of the newer issues.
It also supports 720p now (over Component) :)
User avatar
dwards
Posts: 35
Joined: Tue Nov 19, 2013 4:17 pm

Re: GBS 8200/8220 CFW Project

Post by dwards »

Anyone know if the component inputs are affected by the RGB trim pots? I removed my pots from the board and I'm just curious.

Thanks!
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

Component-in is completely separated from the RGBS port, so it's not affected by the pots.
culexus
Posts: 10
Joined: Tue Feb 06, 2018 10:46 pm

Re: GBS 8200/8220 CFW Project

Post by culexus »

How is the 720p on xbox component rama? Did you test it :) Im interested in 720p for my xbox and also if the HDMI gbs board will work.
User avatar
Syntax
Posts: 1774
Joined: Wed Aug 09, 2017 12:10 am
Location: Australia

Re: GBS 8200/8220 CFW Project

Post by Syntax »

Does the GBS have enough resources to do YUV to RGB or RGB to YUV passthru conversion?
Post Reply