GBS 8200/8220 CFW Project

The place for all discussion on gaming hardware
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

Probably missing some logic for the new mode in the preset routines. I'll check that later.
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

Edit:
Loading / saving presets works now, as well as auto detection of the common medium res modes.
The only thing missing is vertical scaling adjustments.
I'll leave that to users for now, as each output preset requires custom settings for every possible input.
Eduardoml
Posts: 16
Joined: Tue May 07, 2019 12:33 am

Re: GBS 8200/8220 CFW Project

Post by Eduardoml »

Now it's saving perfectly. I am impressed and happy with the result, the image is much sharper compared to the original firmware.

With original firmware:
Image


With gbs-control CFW, much better:
Image


I will continue following the development of the project and if you need to do some additional testing I will be available to help, thanks.
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

Glad that was all it took. Another feature down :)

And wow, you can't even read that text with the original software :p
User avatar
goji
Posts: 41
Joined: Tue Mar 15, 2011 2:15 pm
Location: France, Metropolitan

Re: GBS 8200/8220 CFW Project

Post by goji »

Hi Guys,

I started experimenting this awesome project.

I followed the github guide, added the 100 ohms extra resistance bitween Sync and Gnd, uploaded the program into the arduino NodeMCU V3.

I can't manage to get an image on my tv :(. SDA is connected to D2 of NodeMCU, and SCL to D1. D6 to debug pin, Jumper installed on the gonbs.

Nodemcu powered with 5V of the Gonbs, but the Nodemcu's led is not always blinking. I can' control the Nodemcu via my smartphone, but still no image at all (no signal) on my tv.

On my smartphone the nodemcu sas that it detects the RGB sources, and it showes that in a cycle.


Édit : solved, arduino runs fine with the 3.3v line of my gonbs.

Picture is really good compared to original firmware ! Thanks a lot guys for the work.
I love it when a bullets pattern comes together.
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

Gee, hope it didn't fry something on the ESP8266 ;p
User avatar
goji
Posts: 41
Joined: Tue Mar 15, 2011 2:15 pm
Location: France, Metropolitan

Re: GBS 8200/8220 CFW Project

Post by goji »

I hope so too. Well, it seems a power supply with at least 3A is necessary.

My megadrive is just working like a charm, that's really good ! The same for my NESrgb :).

My PAL modded snin is not recognized, gbs control says unknown timing.
I love it when a bullets pattern comes together.
Ryoandr
Posts: 269
Joined: Mon Jun 12, 2017 4:12 am

Re: GBS 8200/8220 CFW Project

Post by Ryoandr »

hey rama, I can't compile anything now for some reason, it's probably a mistake from me, but I can't resolve it, here is the error log
https://pastebin.com/uD8iw3R4
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

The Arduino build system is weird.
Check whether you have everything mentioned in the guide:
https://github.com/ramapcsx2/gbs-contro ... ware-Setup

Then try moving your gbs-control folder out of the libraries folder.

goji:
PAL modded snin? Whatever it is, you need to make sure the sync signal is correct.
Gbscontrol recognizes all common consoles, as long as the sync is usable.
User avatar
goji
Posts: 41
Joined: Tue Mar 15, 2011 2:15 pm
Location: France, Metropolitan

Re: GBS 8200/8220 CFW Project

Post by goji »

Thanks rama.

It's a PAL super nintendo, i made the region mod to play ntsc/60hz games.

I know that the super nintendo has always caused problems with scalers.

I don't really know what to do right now, signal comes in a sync stripper and the gonbs with 100ohm resistor between sync and gnd.

Maybe the scart cable has to be modified too, regarding the weird sync signal of this console.
I love it when a bullets pattern comes together.
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

Did the SNES work with the original firmware?

Just from experience with the PAL SNES:
Your cable needs to the be a "PAL cable" (use CVBS or luma sync), not the NTSC version that uses CSync.
The reason is simple. Instead of CSync, a PAL console outputs 12V on that pin.
So if nothing seems to work with your SNES, that is the first thing to verify.

If the original firmware works (or it works on a TV directly, but make sure to rule out the 12V problem before testing!),
then I'm at a loss. Last time I checked a PAL SNES was some time ago. But their digital sync isn't any different from NTSC consoles, which I regularly test.
Ryoandr
Posts: 269
Joined: Mon Jun 12, 2017 4:12 am

Re: GBS 8200/8220 CFW Project

Post by Ryoandr »

I can't compile anything that includes ESPAsync libraries.
This is the last commit that I can compile.
https://github.com/ramapcsx2/gbs-contro ... 1acd4be0b5
Eduardoml
Posts: 16
Joined: Tue May 07, 2019 12:33 am

Re: GBS 8200/8220 CFW Project

Post by Eduardoml »

Ryoandr wrote:I can't compile anything that includes ESPAsync libraries.
This is the last commit that I can compile.
https://github.com/ramapcsx2/gbs-contro ... 1acd4be0b5
I had the same problem, you must install the libraries in the Arduino folder as tomrev and rama said:
tomrev wrote:You can download (click clone or download button) from
https://github.com/me-no-dev/ESPAsyncTCP
https://github.com/me-no-dev/ESPAsyncWebServer

Extract to [path to arduino IDE]\libraries
rama wrote:As tomrev said, you need to download ESPAsyncTCP and ESPAsyncWebServer and put them into your Arduino libraries folder.
The folder is typically (Windows) in the "Documents\Arduino" folder, or "C:\Users\rama\Documents\Arduino\libraries" in my case.
There appears to be no need to remove the "-master" when you download the libraries from Github.
Also, it's just these 2 libs now: ESPAsyncTCP, ESPAsyncWebServer.
The websocket library is included now, as that's the only way to set necessary header stuff in Arduino libraries.
Ryoandr
Posts: 269
Joined: Mon Jun 12, 2017 4:12 am

Re: GBS 8200/8220 CFW Project

Post by Ryoandr »

they already are in the folder
https://i.imgur.com/ZlmddnD.png
they are found and compiled, but then I get the error in the pastebin log.
no matter what I do I can't compile anything, tried removeing and reinstaling arduino, using beta and hourly builds, but same error.
User avatar
goji
Posts: 41
Joined: Tue Mar 15, 2011 2:15 pm
Location: France, Metropolitan

Re: GBS 8200/8220 CFW Project

Post by goji »

@rama : yes my snes works if directly connected to tv. With the original firmware on the gonbs, i often had sync dropouts.

Yes PAL snes scart cables do not have csync. My actual scart cable has cvbs connected, maybe i should try to connect luma as sync signal and see if it works.
I love it when a bullets pattern comes together.
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

goji:
If it's easy for you to swap to luma, I definitely recommend doing that.
It'll reduce noise in the RGB and make sync detection / locking easier for the scaler.

But it's weird.
You say you're going into a sync stripper, and that the ofw works (with dropouts).
I'll assume that the sync stripper is working, and such a signal is perfect to lock on in the scaler.
I tested my PAL console and there was no issue either.

Well, maybe try bypassing the sync stripper.
Maybe it's not setup quite right, and the signal is marginal (only occasionally working).
That'd explain it.

Ryoandr:
I set up a virtual machine with Windows, setup Arduino and libraries, and could immediately compile successfully.
I assume there is a problem with your library folder setup.
Make sure that the libraries don't have 2 level folders (bad example: Documents\Arduino\libraries\ESPAsyncTCP-master\ESPAsyncTCP-master\etc).
Some zip extractors do this, and Arduino can't deal with it.
Ryoandr
Posts: 269
Joined: Mon Jun 12, 2017 4:12 am

Re: GBS 8200/8220 CFW Project

Post by Ryoandr »

Nope, they are directly in the folder. I tried putting library in C: root, still nothing.
tried uninstall, reboot, reinstall, still nope.
What I don't get is I have no problem with previous non-async builds, and async libs are detected and compiled, error happen during "linking together" step.

I'm at lost here :(
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

Check the screenshot and make sure the libraries are installed like that.
https://i.imgur.com/RoaZUsE.png

Move your gbs-control folder outside of your libraries. Desktop is fine, for example.
Ryoandr
Posts: 269
Joined: Mon Jun 12, 2017 4:12 am

Re: GBS 8200/8220 CFW Project

Post by Ryoandr »

the libraries are installed as on your pic.
If I move the gbs-control folder I get a neat instant error:
C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\Ryo\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\Ryo\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\Ryo\Documents\Arduino\libraries -fqbn=esp8266:esp8266:d1_mini_pro:xtal=80,vt=flash,exception=disabled,ssl=all,eesz=16M14M,ip=lm2f,dbg=Disabled,lvl=None____,wipe=none,baud=921600 -ide-version=10809 -build-path C:\Users\Ryo\AppData\Local\Temp\arduino_build_858750 -warnings=none -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.mkspiffs.path=C:\Users\Ryo\AppData\Local\Arduino15\packages\esp8266\tools\mkspiffs\2.5.0-3-20ed2b9 -prefs=runtime.tools.mkspiffs-2.5.0-3-20ed2b9.path=C:\Users\Ryo\AppData\Local\Arduino15\packages\esp8266\tools\mkspiffs\2.5.0-3-20ed2b9 -prefs=runtime.tools.python.path=C:\Users\Ryo\AppData\Local\Arduino15\packages\esp8266\tools\python\3.7.2-post1 -prefs=runtime.tools.python-3.7.2-post1.path=C:\Users\Ryo\AppData\Local\Arduino15\packages\esp8266\tools\python\3.7.2-post1 -prefs=runtime.tools.xtensa-lx106-elf-gcc.path=C:\Users\Ryo\AppData\Local\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9 -prefs=runtime.tools.xtensa-lx106-elf-gcc-2.5.0-3-20ed2b9.path=C:\Users\Ryo\AppData\Local\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9 -verbose C:\Users\Ryo\Desktop\gbs-control-master\gbs-control\gbs-control.ino
C:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\Ryo\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\Ryo\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\Ryo\Documents\Arduino\libraries -fqbn=esp8266:esp8266:d1_mini_pro:xtal=80,vt=flash,exception=disabled,ssl=all,eesz=16M14M,ip=lm2f,dbg=Disabled,lvl=None____,wipe=none,baud=921600 -ide-version=10809 -build-path C:\Users\Ryo\AppData\Local\Temp\arduino_build_858750 -warnings=none -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.mkspiffs.path=C:\Users\Ryo\AppData\Local\Arduino15\packages\esp8266\tools\mkspiffs\2.5.0-3-20ed2b9 -prefs=runtime.tools.mkspiffs-2.5.0-3-20ed2b9.path=C:\Users\Ryo\AppData\Local\Arduino15\packages\esp8266\tools\mkspiffs\2.5.0-3-20ed2b9 -prefs=runtime.tools.python.path=C:\Users\Ryo\AppData\Local\Arduino15\packages\esp8266\tools\python\3.7.2-post1 -prefs=runtime.tools.python-3.7.2-post1.path=C:\Users\Ryo\AppData\Local\Arduino15\packages\esp8266\tools\python\3.7.2-post1 -prefs=runtime.tools.xtensa-lx106-elf-gcc.path=C:\Users\Ryo\AppData\Local\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9 -prefs=runtime.tools.xtensa-lx106-elf-gcc-2.5.0-3-20ed2b9.path=C:\Users\Ryo\AppData\Local\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9 -verbose C:\Users\Ryo\Desktop\gbs-control-master\gbs-control\gbs-control.ino
Using board 'd1_mini_pro' from platform in folder: C:\Users\Ryo\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.2
Using core 'esp8266' from platform in folder: C:\Users\Ryo\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.2
Detecting libraries used...
"C:\\Users\\Ryo\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\2.5.0-3-20ed2b9/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-IC:\\Users\\Ryo\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.2/tools/sdk/include" "-IC:\\Users\\Ryo\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.2/tools/sdk/lwip2/include" "-IC:\\Users\\Ryo\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.2/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\\Users\\Ryo\\AppData\\Local\\Temp\\arduino_build_858750/core" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -fno-exceptions -w -x c++ -E -CC -DNONOSDK221=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10809 -DARDUINO_ESP8266_WEMOS_D1MINIPRO -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_WEMOS_D1MINIPRO\"" -DFLASHMODE_DIO -DESP8266 "-IC:\\Users\\Ryo\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.2\\cores\\esp8266" "-IC:\\Users\\Ryo\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.2\\variants\\d1_mini" "C:\\Users\\Ryo\\AppData\\Local\\Temp\\arduino_build_858750\\sketch\\gbs-control.ino.cpp" -o nul
gbs-control:1:23: error: ntsc_240p.h: No such file or directory

#include "ntsc_240p.h"

^

compilation terminated.

exit status 1
ntsc_240p.h: No such file or directory
Also I have another person that can't compile. I'll get the log soon.
here
https://pastebin.com/8rwrGrnQ
Ryoandr
Posts: 269
Joined: Mon Jun 12, 2017 4:12 am

Re: GBS 8200/8220 CFW Project

Post by Ryoandr »

Ok got it working at least. There were several things

gbs-control-master should not be in the library folder
when gbs-control.ino is opened, it asks to be moved in a new folder named gbs-control, however it doesn't move the rest of the folder contents, all the folders and files should also be moved into that folder.
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

Yeah, I wish Github wouldn't add that silly -master to their zip downloads. It regularly confuses Arduino.
Arduino's build system is pretty shoddy, as you see here.
User avatar
goji
Posts: 41
Joined: Tue Mar 15, 2011 2:15 pm
Location: France, Metropolitan

Re: GBS 8200/8220 CFW Project

Post by goji »

Well, I'm definitly stupid :D

With sync stripper disabled, Super Nintendo works great^^'.

Image
I love it when a bullets pattern comes together.
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

Could you describe how your sync stripper was set up? I'd like to take a guess on how it failed.
User avatar
goji
Posts: 41
Joined: Tue Mar 15, 2011 2:15 pm
Location: France, Metropolitan

Re: GBS 8200/8220 CFW Project

Post by goji »

I built a scart adaptater just like the one of this thread : viewtopic.php?f=6&t=35423

I added a switch in order to choose using the LM1881 or bypassing it and directly feed the Sync into the Gonbs.

So far with Megadrive, SNIN, or Arcade, I don't need to use the sync stripper.

Some screenshots with Megadrive and an Arcade PCB :

MEGADRIVE

Image

Image

Image

Image

Image




Arcade PCB Wild West COWBOYS OF MOO MESA and a Supergun


Image

Image

Image

Image

Image

Image

Image

Image
I love it when a bullets pattern comes together.
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

Is that from a capture card?
I'm not quite sure because of the low resolution, but it doesn't seem like you used a camera :p

The sync stripper situation is still interesting.
One thing I noticed is that he says to connect the VSync output as well as the HSync (CSync in this case).
If you did that, simply unplug the VSync connection.
Otherwise, if you have the 100 Ohm to ground resistor on the GBS, it might drag down the output of that small LM1881 too much.
Add a series resistor in that case (recommended anyway). 470 Ohm is an often used and good value.

Regarding that VSync connection:
Gbscontrol runs in basically 2 distinct modes. Which one it is depends on whether VSync gets detected.
For best results with low resolution sources (consoles, most arcade boards), don't use VSync, otherwise you often simply get a passthrough instead of full upscaling.
User avatar
goji
Posts: 41
Joined: Tue Mar 15, 2011 2:15 pm
Location: France, Metropolitan

Re: GBS 8200/8220 CFW Project

Post by goji »

Thanks for the advice rama, i'll give it a try.

Yes i made screenshots with my capture card.
I love it when a bullets pattern comes together.
Eduardoml
Posts: 16
Joined: Tue May 07, 2019 12:33 am

Re: GBS 8200/8220 CFW Project

Post by Eduardoml »

goji wrote:
Image

Image
Wow these scanlines are fantastic. Any chance of having them in other resolutions besides 240p?
User avatar
AndehX
Posts: 790
Joined: Sun Oct 18, 2015 11:37 pm

Re: GBS 8200/8220 CFW Project

Post by AndehX »

your scanlines could be improved by adjusting the vertical scale to get 1:1 scaled pixels.
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

In addition, 1280x960 and x1024 work best for scanlines. All other resolutions need minor compromises.
It's usually best to use x960 / x1024 and let your display scale to its native resolution.
User avatar
AndehX
Posts: 790
Joined: Sun Oct 18, 2015 11:37 pm

Re: GBS 8200/8220 CFW Project

Post by AndehX »

I dunno... I can get pretty perfect scanlines in 1080p too.

This is 1080p on my projector

Image

I wouldn't get scanlines anywhere near as crisp as that if I let my projector scale 1280x960.
Post Reply