GBS 8200/8220 CFW Project

The place for all discussion on gaming hardware
glac81
Posts: 12
Joined: Mon Aug 13, 2018 3:45 am

Re: GBS 8200/8220 CFW Project

Post by glac81 »

Ok. Now I'm up and running. The reset was due to setting debug port to "Serial" instead of none. The interface is operating smooth now.

Unlucky for me, but the ADC Gain did not solve the issues on the image shown in the previous post. I have extracted some more data from the message window of the UI. I started the Neo Geo system, printed some info, got the video timings, set the video to 640x480, set the system to 1280x960 and got the video timings again. Here is the output:
Spoiler
NTSC
SD mode
resetDigital
hcoast: 1728
Base: 1802 Best: 1821 Diff: 19
post preset done
h:431 v:527 PLL:^_ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^^ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^_ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:80
h:430 v:527 PLL:^^ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^^ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:430 v:527 PLL:^_ ign:64 stat:2.10 deb:5a0 m:1 ht:2132 vt:261 hpw:161
h:430 v:527 PLL:^^ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^_ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^^ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^^ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:430 v:527 PLL:^^ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^^ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^_ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^^ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^^ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^^ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^^ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^^ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^^ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^_ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^^ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^_ ign:64 stat:2.10 deb:5a0 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^^ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^^ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^_ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^^ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^_ ign:64 stat:2.10 deb:584 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^^ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^^ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^^ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^^ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^_ ign:64 stat:2.10 deb:5a0 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^^ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^_ ign:64 stat:2.10 deb:5b4 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:_^ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:_^ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:430 v:527 PLL:^^ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:430 v:527 PLL:^^ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^_ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:430 v:527 PLL:^^ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^^ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:431 v:527 PLL:^^ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
h:430 v:527 PLL:^^ ign:64 stat:2.10 deb:5a4 m:1 ht:2132 vt:261 hpw:161
----
htotal: 1821
HS ST: 65
HS SP: 279
HB ST (display): 1820
HB SP (display): 496
HB ST (memory): 1744
HB SP (memory): 352
----
vtotal: 1000
VS ST: 987
VS SP: 990
VB ST (display): 986
VB SP (display): 26
VB ST (memory): 21
VB SP (memory): 22
NTSC
resetDigital
hcoast: 1724
Base: 857 Best: 866 Diff: 9
post preset done
NTSC
SD mode
resetDigital
hcoast: 1728
Base: 1802 Best: 1821 Diff: 19
post preset done
----
htotal: 1821
HS ST: 65
HS SP: 279
HB ST (display): 1820
HB SP (display): 496
HB ST (memory): 1744
HB SP (memory): 352
----
vtotal: 1000
VS ST: 987
VS SP: 990
VB ST (display): 986
VB SP (display): 26
VB ST (memory): 21
VB SP (memory): 22
Now I am stuck in a dilemma, with "vanilla" GBS I get a less noisy image, at 60 Hz, but it is too glary, even after getting the saturation down. Also I can note that there is some kind of processing on the image that smooths the pixels even after setting the sharpness to 10 (see the 'credits' text in the images that I will show below). On the other hand, with gbs-control, I can notice that the image is drawed more correctly, at 59 Hz (the real Neo Geo refresh rate), but with the noise shown and some random artifacts from the middles to the top of the image.

Images with "vanilla" GBS:
Spoiler
Image
Image
Image
Image
Images with gbs-control:
Spoiler
Image
Image
Image
Image
Is there some other options that I may try to improve the image quality?
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

Hmm, on close up, it looks more like a ghost / garbage image from some off memory region.
Try changing the memory clock via web ui. Some options will clearly not work, but a few might fix this.

Also you may want to try the other presets.
glac81
Posts: 12
Joined: Mon Aug 13, 2018 3:45 am

Re: GBS 8200/8220 CFW Project

Post by glac81 »

rama wrote:Hmm, on close up, it looks more like a ghost / garbage image from some off memory region.
Try changing the memory clock via web ui. Some options will clearly not work, but a few might fix this.

Also you may want to try the other presets.
I have tried the other presets. All of them have this ghost. And I have tested the memory clock. The best options were 108 and 81 ones, but the auto option is very close to the 81 value. Is the 81 the lower it can go?
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

Yes, 81 is the lowest it can run.

What is the RGB and sync output from your Neo Geo like? Is it built for TV specs?
glac81
Posts: 12
Joined: Mon Aug 13, 2018 3:45 am

Re: GBS 8200/8220 CFW Project

Post by glac81 »

rama wrote:Yes, 81 is the lowest it can run.

What is the RGB and sync output from your Neo Geo like? Is it built for TV specs?
No, they are built for arcade monitors, the rgb lines are 3 Vpp. The CSync line gives 2V with the 100 ohms resistor. As described in this post (https://assemblergames.com/threads/rgb- ... 764/page-2), to provide signals to TV, the signals should be atennuated and then amplified with a proper 75 ohms termination. What kind of input is expected from the gbs?

From the github, I have found a user that was using the gbs for this kind of system. I will try to ask him how he is connecting the rgbs lines in the gbs board.
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

That's probably the issue then.
The GBS expects RGB video to be at 0.7Vpp. Sync can be 0.3V to 3.3V, as long as it is separate (not sync on green).
glac81
Posts: 12
Joined: Mon Aug 13, 2018 3:45 am

Re: GBS 8200/8220 CFW Project

Post by glac81 »

rama wrote:That's probably the issue then.
The GBS expects RGB video to be at 0.7Vpp. Sync can be 0.3V to 3.3V, as long as it is separate (not sync on green).
I have added some 100 ohms (120 would be sub optimal, but only had 100 ones) resistors in series with the rgb lines. The image is better with "vanilla" gbs and gbs-control, but the ghosts are still there with gbs-control. I will try to add the 220 microF capacitors and wish for the best. Running out of options here.
User avatar
Syntax
Posts: 1774
Joined: Wed Aug 09, 2017 12:10 am
Location: Australia

Re: GBS 8200/8220 CFW Project

Post by Syntax »

To help put your mind at ease (or make things worse) I tested my MVS system with my GBS (running current development build) and OSSC via a HAS supergun.

Straight up OSSC wont sync.

Tested GBS output of MVS+HAS on a native 480p PC CRT, Multiscan PC CRT and LCD.

Synced fine across all monitors, was too far right on the CRT monitors but quickly fixed.
No dropouts, 0 static/snow 0 jailbars. Perfect picture :)
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

Hooking up a converted MVS should be standard procedure these days.
There should be detailed instructions on how the system needs to be modified or which "Supergun" thingy to use.
glac81
Posts: 12
Joined: Mon Aug 13, 2018 3:45 am

Re: GBS 8200/8220 CFW Project

Post by glac81 »

Syntax wrote:To help put your mind at ease (or make things worse) I tested my MVS system with my GBS (running current development build) and OSSC via a HAS supergun.

Straight up OSSC wont sync.

Tested GBS output of MVS+HAS on a native 480p PC CRT, Multiscan PC CRT and LCD.

Synced fine across all monitors, was too far right on the CRT monitors but quickly fixed.
No dropouts, 0 static/snow 0 jailbars. Perfect picture :)
It is nice to know that it works. The output of this supergun gives you a RGB signal for 15 kHz monitor, right? There are no superguns vendors here in Brazil, I will figure out the circuit to make it right.

I have good documentation to convert it to component. Probably I will have to stop before the amplifying stage to the GBS board. Hope that I did not blew my GBS giving these incorrect signals.
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

The TVia scaler chip is robust.
I haven't tested this yet, but at least the SOG input (which is analog) can accept and work with 3.3Vpp amplitude signals.
It starts getting dangerous at 3.6Vpp.
(no idea what arcade level signals are like though)
rigues
Posts: 27
Joined: Thu May 17, 2018 5:05 pm

Re: GBS 8200/8220 CFW Project

Post by rigues »

rigues wrote:
rama wrote:rigues:
Are your cables sync on Composite Video, sync on Luma or CSYNC?
The resistor should not affect colors. Did you make sure it's connected between 'S' and ground (and not 'G'(reen)) by chance? :)
150 Ohm are okay otherwise. Not ideal, but a lot better than just the stock 1k Ohm.
MSX uses CSYNC through an LM1881 (since the original CSYNC signal is 1.8 Vpp). The Mega Drive uses Composite Sync. I will double check the placement of the resistor and let you know.
Rama,

My apologies, you were right, the resistor WAS on the wrong pin. With a 100 Ohm in the correct place colors look OK again, and the MSX seems fine. HOWEVER... now I have NO PICTURE on my Model 2 Sega Mega Drive. The TV sees "something" (there is no "No Signal" warning), but there is just a black screen plus sound on the speakers. I'm using the "classic" SCART circuit I found on the web (http://bit.ly/2ByuepR) + a 680 Ohm resistor on SYNC, and it worked fine until now. Any ideas?
User avatar
Syntax
Posts: 1774
Joined: Wed Aug 09, 2017 12:10 am
Location: Australia

Re: GBS 8200/8220 CFW Project

Post by Syntax »

That mega drive cable is not csync. Could be your issue.
rigues
Posts: 27
Joined: Thu May 17, 2018 5:05 pm

Re: GBS 8200/8220 CFW Project

Post by rigues »

Syntax wrote:That mega drive cable is not csync. Could be your issue.
Sorry, should have clarified. SYNC is coming from PIN 5 on the Mega Drive Connector. the schematic does not show that. To simplify:

75R + 220 uF on each color line (R, G, B)
680R on the SYNC line

Again, works without the 100R resistor between SYNC (Pin 13 on the VGA IN connector in the GBS) and GND on the GBS. With the resistor in place, screen goes black.
User avatar
Syntax
Posts: 1774
Joined: Wed Aug 09, 2017 12:10 am
Location: Australia

Re: GBS 8200/8220 CFW Project

Post by Syntax »

Change the 680 to a 470r.
Will change your sync from around 300mv to 600mv which I prefer as it's more compatible.
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

Yeah, the MD CSYNC line had very specific requirements.
I've written them down somewhere in this thread.

It is definitely not a TV standard signal, hence the ~75 Ohm termination being too strong and dragging the signal below the detection point.
The signal can be used with that specific setup though. It was a series resistor for sure, and maybe a coupling capacitor as well.
Ryoandr
Posts: 269
Joined: Mon Jun 12, 2017 4:12 am

Re: GBS 8200/8220 CFW Project

Post by Ryoandr »

MD/Genesis csync pin absolutely needs a capacitor (between 10 and 220 µF) and a 470R resistor.
It might work as-is with some displays / devices, but it shouldn't be used as-is.
Also note that french MD1 (labeled as RGB on the label) have a trace cut on the sync pin and have CSync out from CXA1145 wired to composite out pin. Either restore the trace or add the typical 75R + 220µF components to the composite line.
rigues
Posts: 27
Joined: Thu May 17, 2018 5:05 pm

Re: GBS 8200/8220 CFW Project

Post by rigues »

Ryoandr wrote:MD/Genesis csync pin absolutely needs a capacitor (between 10 and 220 µF) and a 470R resistor.
It might work as-is with some displays / devices, but it shouldn't be used as-is.
Also note that french MD1 (labeled as RGB on the label) have a trace cut on the sync pin and have CSync out from CXA1145 wired to composite out pin. Either restore the trace or add the typical 75R + 220µF components to the composite line.
Thanks! I will try the capacitor + 470R resistor this afternoon and let you know. With just the 680R resistor it worked fine on my TV, but as I said the image would periodically "jump" on a 17" LCD monitor. Maybe this will fix that.
rigues
Posts: 27
Joined: Thu May 17, 2018 5:05 pm

Re: GBS 8200/8220 CFW Project

Post by rigues »

rigues wrote:
Ryoandr wrote:MD/Genesis csync pin absolutely needs a capacitor (between 10 and 220 µF) and a 470R resistor.
It might work as-is with some displays / devices, but it shouldn't be used as-is.
Also note that french MD1 (labeled as RGB on the label) have a trace cut on the sync pin and have CSync out from CXA1145 wired to composite out pin. Either restore the trace or add the typical 75R + 220µF components to the composite line.
Thanks! I will try the capacitor + 470R resistor this afternoon and let you know. With just the 680R resistor it worked fine on my TV, but as I said the image would periodically "jump" on a 17" LCD monitor. Maybe this will fix that.
@Ryoandr, your suggestion worked. Thanks!

Another question: on the MD, from time to time I get a horizontal "tear" in the image, quicky running from the bottom to the top of the screen. It is as if I were running an emulator with VSYNC disabled. This is specially noticeable on games with fast scrolling, like Sonic 2. Did anyone here encounter that, or have an idea about what might be causing it? Is there a option on the control panel that could fix that?

Speaking of the control panel, is there someplace I can learn about which option does what, and when should they be used? Some are obvious (Scanlines, image positioning), but others like FrameTime Lock Method, Sync Watcher or Advanced Phase are more obscure to me.

Thanks for the help! And @rama, thanks for the outstanding work on gbs-control.
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

@rigues
Glad you got it working!
The tear line is normal. It appears because of the low lag design constraints I gave gbs-control.
A fix for the issue is available, but your display needs to support it (many do!).

Try the FrameTime Lock option and watch your screen. If it stays on, everything is great, the tear line will disappear.
If you loose the signal, or it comes on and off, you can hit the FrameTime Lock Method button once, to try a different way to do it.
If that works, also great!
And if not, there is no more easy way to fix the issue for now.

With more thought and code, other fixes are conceivable.

Basically, we need to do frame rate conversion at very small differences between source and target.
(I'm talking about 60.07 to 60.08 frames / second.)
Larger differences are already compensated while the preset loads (via the findBestHtotal routine).
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

I'm contemplating giving instructions right there on the web ui, but it'll blow up the HTML a lot.
User avatar
AndehX
Posts: 790
Joined: Sun Oct 18, 2015 11:37 pm

Re: GBS 8200/8220 CFW Project

Post by AndehX »

if there's enough memory on the ESP8266, then I can only see that being a good thing. A lot of the options i'm left scratching my head at :P
Sasy88
Posts: 1
Joined: Wed Aug 22, 2018 6:04 pm

Re: GBS 8200/8220 CFW Project

Post by Sasy88 »

Hi everyone, it' s my fisrt post on this great forum, anyway...
in these days i have worked to build my "upscaler" with an GBS-8220 and i have made all the hardware fix to improve the quality of the output, and now i obtain an acceptable vga output without noise on screen unlike the stock gbs, also at this moment it works fine (not perfect) with the Amiga in PAL output.

from now i have una problem for the project, i want to implement the gbs-control for better picture and compatibility, BUT, i no have idea how to make this thing, i mean, im' not have a knowledge for work with the arduino and the programming software for compile the program to put on ESP8266 or arduino.
only thing i have on hands are some spare atmega328p and a GQ-4X programmer.

my question is: someone have an .hex file ready to burn on an atmega328 with gq-4x via isp port? also with a pinout for interface the atmega with the gbs?
thanks to all.
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

For sure, these options must confuse the heck out of everyone. I'm aware of that :p

I just remembered something on the MD sync:
I think I once had a too large coupling capacitor on the line, that had the effect of somehow not passing the signal current anymore.
I don't really know what the electrical reason for that is. Must be something with the bodged way they not-really buffered the signal.
10uF or 22uF are common values and should work fine. I'd rather go for a little more, so 22uF.
glac81
Posts: 12
Joined: Mon Aug 13, 2018 3:45 am

Re: GBS 8200/8220 CFW Project

Post by glac81 »

rama wrote:The TVia scaler chip is robust.
I haven't tested this yet, but at least the SOG input (which is analog) can accept and work with 3.3Vpp amplitude signals.
It starts getting dangerous at 3.6Vpp.
(no idea what arcade level signals are like though)
I was really unlucky, my GBS is a falty one. I have connected my bluray player through component to the gbs and converted to VGA. Here is the result:
Spoiler
Image
I will exchange for another one and return to the experiments when it arrives.
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

I can spot wrong colors and the distinctive look of a faulty memory configuration.
Is this with the default firmware?
Gbs-control also supports Component inputs, so you could try both.
If that fault happens on both, then the board has a defect, most likely.
cloudstrifer
Posts: 12
Joined: Wed Jul 13, 2016 4:48 pm

Re: GBS 8200/8220 CFW Project

Post by cloudstrifer »

Hello.

I want to do

Dreamcast vga >
GBS RGBHV >
Downscale 640x480 to 320x240 RGBHV
Extron 160xi >
PVM 14m2u

@rama
Can you help me?
User avatar
maxtherabbit
Posts: 1763
Joined: Mon Mar 05, 2018 4:03 pm

Re: GBS 8200/8220 CFW Project

Post by maxtherabbit »

cloudstrifer wrote:Hello.

I want to do

Dreamcast vga >
GBS RGBHV >
Downscale 640x480 to 320x240 RGBHV
Extron 160xi >
PVM 14m2u

@rama
Can you help me?
why not just run dc rgb into the pvm??
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

Gbs-control isn't good for downscaling yet.
It'll look all blurry + ringing effects from applying the scaling engine.
User avatar
NoAffinity
Posts: 1019
Joined: Mon May 07, 2018 5:27 pm
Location: Escondido, CA, USA

Re: GBS 8200/8220 CFW Project

Post by NoAffinity »

Firstly, way awesome project! Thank you for continuing the work, rama, and simplifying it so much.

My setup: MAK Striker supergun RGBS output -> GBS8200 RGBS in -> VGA output to Samsung SyncMaster 930b. Arduino Uno running GBS-Control. I followed the setup guide to the letter.

Now for my issues:
1) The setup only works if USB is plugged into the Arduino Uno. And in this case, the Arduino is power the GBS. If I power the GBS, with no USB connection at the Arduino, everything powers up, but there doesn't seem to be any output from the GBS. Below is what the serial monitor reports, when I have the USB connected, and things are seemingly working.
starting
resetDigital
RGBS
New Input
NTSC
SD mode
resetDigital
hcoast: 1728
Base: 1802 Best: 1808 Diff: 6
post preset done
2) With the Arduino driving the GBS, the output from the GBS is identical to native firmware output. Colors are over saturated (possibly due to removing the color pots), the screen is not centered, and there is a pretty significant amount of interference in the image.
3) Update to #1 - the image started shaking vertically, and a '.' would appear at the end of the serial monitor output every time it shook. I plugged power into the GBS, and the shaking stopped.
starting
resetDigital
RGBS
New Input
NTSC
SD mode
resetDigital
hcoast: 1728
Base: 1802 Best: 1808 Diff: 6
post preset done
............

Suggestions? Is there a way to control the GBS via the arduino? none of the buttons on the GBS seem to work.
Spoiler
Image
Image
Image
Post Reply