GBS 8200/8220 CFW Project
Re: GBS 8200/8220 CFW Project
very interesting, what is it, and how does it benefit gbscontrol?
-
maxtherabbit
- Posts: 1763
- Joined: Mon Mar 05, 2018 4:03 pm
Re: GBS 8200/8220 CFW Project
it's an adafruit clock generator but I don't know what wizardry rama has planned for it
Re: GBS 8200/8220 CFW Project
Well, it says it right on the board :p
It's a programmable clock generator, so nothing spectacular by itself, but the performance and price of this thing are remarkable.
I plan on using this to replace the 27MHz clock source to the Tv5725.
It would then drive the display clock and various others.
The remarkable thing is the super fine adjustment range, and that phase noise and jitter are low enough to even make this a viable display clock.
In a few short tests, there wasn't a problem, even in excess of 160MHz and with breadboard construction. That is remarkably good performance.
So what is this good for?
It may allow seamless transitioning of the display clock so that output VSync perfectly matches source VSync, so it eliminates the tear bar elegantly.
Also, it can allow a fixed htotal value that makes a lot of stuff easier and helps quality.
It's a programmable clock generator, so nothing spectacular by itself, but the performance and price of this thing are remarkable.
I plan on using this to replace the 27MHz clock source to the Tv5725.
It would then drive the display clock and various others.
The remarkable thing is the super fine adjustment range, and that phase noise and jitter are low enough to even make this a viable display clock.
In a few short tests, there wasn't a problem, even in excess of 160MHz and with breadboard construction. That is remarkably good performance.
So what is this good for?
It may allow seamless transitioning of the display clock so that output VSync perfectly matches source VSync, so it eliminates the tear bar elegantly.
Also, it can allow a fixed htotal value that makes a lot of stuff easier and helps quality.
-
- Posts: 320
- Joined: Sat Mar 17, 2018 2:49 pm
- Location: Germany
Re: GBS 8200/8220 CFW Project
That looks really cool! So you'd control it via I²C from the ESP Board?
Re: GBS 8200/8220 CFW Project
New problem with recent version - "red snow" on any preset
Saved old presets doesn't have it.
Saved old presets doesn't have it.
Re: GBS 8200/8220 CFW Project
Nuck-TH: It can't be on every preset.
SuperSpongo: Right now this is how it works, yeah. It just stacks on the I2C bus
SuperSpongo: Right now this is how it works, yeah. It just stacks on the I2C bus
Re: GBS 8200/8220 CFW Project
Lol, will you look at that! viewtopic.php?f=6&t=65892
Same clock generator as I'm toying with right now, for the same application (display clock) even!
Great, this means more community work goes towards verifying that chip as a good clock source, or even disproving it, if there are problems
Same clock generator as I'm toying with right now, for the same application (display clock) even!
Great, this means more community work goes towards verifying that chip as a good clock source, or even disproving it, if there are problems
Re: GBS 8200/8220 CFW Project
False alarm - red snow caused by long cable with damaged shield pinrama wrote:Nuck-TH: It can't be on every preset.
Curious that there is no snow in 1080p resolution, which is odd because it has highest data rate...
Also i ordered clock generator, so standing by for your experiments
-
NoAffinity
- Posts: 1032
- Joined: Mon May 07, 2018 5:27 pm
- Location: Escondido, CA, USA
Re: GBS 8200/8220 CFW Project
I just picked up this HDMI dongle. It works great. The output is a little overly bright, but simple adjustment of TV and capture card brightness corrected it with no problem. Not sure why I waited so long to order one of these.
On a separate note, unrelated to this dongle, I am getting significant waviness in the image. You can see it on all screens if you're looking for it, but focus on the character profiles, on the character select screen of SF2, and you will see it clearly:
I've tried both GBS 8200's that I own - both v4.0's, one is a model 2015.01.15 and the other is 20091204. It exists on both boards, but is very faint on the 2015.01.15 board. The above youtube upload is the 20091204, and it is much more noticeable on that board. The 20091204 is a more recent purchase, and I only did the required mods currently shown on the github page.
On a separate note, unrelated to this dongle, I am getting significant waviness in the image. You can see it on all screens if you're looking for it, but focus on the character profiles, on the character select screen of SF2, and you will see it clearly:
Spoiler
Re: GBS 8200/8220 CFW Project
Those waves are the H-PLL not locking nicely to HSync.
I see that problem in development often, and as you say, it depends on the GBS board.
So the last few boards I used worked best with ICP = 5 (charge pump register) for the 1080p@60 preset.
Going too high risks breaking the image, so I need to be a bit careful.
I've since seen bad performance on another board, so I can increase ICP to 6.
Check Github for that update and see if it's better
Nuck-TH:
Code is up now.
Initially it'll just be used to skew the output (display) clock so that output VSync intervals align perfectly with the source VSync interval.
If you imagine the tear bar moving across the screen, this will now be locked in place
All the old benefits of the output not being hard locked to the input still apply.
In case of a mismatch (sync loss or similar), the display will keep working while it realigns automatically.
This is a really nice upgrade, in my opinion, and I hope it works well with capture cards.
I noticed that Youtube captures tend to jitter a lot. This upgrade should eliminate the issue.
I see that problem in development often, and as you say, it depends on the GBS board.
So the last few boards I used worked best with ICP = 5 (charge pump register) for the 1080p@60 preset.
Going too high risks breaking the image, so I need to be a bit careful.
I've since seen bad performance on another board, so I can increase ICP to 6.
Check Github for that update and see if it's better
Nuck-TH:
Code is up now.
Initially it'll just be used to skew the output (display) clock so that output VSync intervals align perfectly with the source VSync interval.
If you imagine the tear bar moving across the screen, this will now be locked in place
All the old benefits of the output not being hard locked to the input still apply.
In case of a mismatch (sync loss or similar), the display will keep working while it realigns automatically.
This is a really nice upgrade, in my opinion, and I hope it works well with capture cards.
I noticed that Youtube captures tend to jitter a lot. This upgrade should eliminate the issue.
-
NoAffinity
- Posts: 1032
- Joined: Mon May 07, 2018 5:27 pm
- Location: Escondido, CA, USA
Re: GBS 8200/8220 CFW Project
Just updated the worse of the 2 boards, and it seems much improved. Thanks for that!rama wrote:Those waves are the H-PLL not locking nicely to HSync.
I see that problem in development often, and as you say, it depends on the GBS board.
So the last few boards I used worked best with ICP = 5 (charge pump register) for the 1080p@60 preset.
Going too high risks breaking the image, so I need to be a bit careful.
I've since seen bad performance on another board, so I can increase ICP to 6.
Check Github for that update and see if it's better
Re: GBS 8200/8220 CFW Project
Okay, good to know.
One of the reasons this happens on some boards more than on others is variance with local bypass capacitors and their effectiveness on the particular PCB and chip.
Adding caps as recommended is therefore recommended ;p
One of the reasons this happens on some boards more than on others is variance with local bypass capacitors and their effectiveness on the particular PCB and chip.
Adding caps as recommended is therefore recommended ;p
-
NoAffinity
- Posts: 1032
- Joined: Mon May 07, 2018 5:27 pm
- Location: Escondido, CA, USA
Re: GBS 8200/8220 CFW Project
Which ones? Ive done all the required mods noted on the github.
Sent from my SM-G955U using Tapatalk
Sent from my SM-G955U using Tapatalk
Re: GBS 8200/8220 CFW Project
I've edited the wiki for less clutter. Circle means recommended now.
Check "Add 10uf / 22uf ceramic SMD capacitors .. ".
Check "Add 10uf / 22uf ceramic SMD capacitors .. ".
-
- Posts: 13
- Joined: Fri Jan 10, 2020 12:14 pm
Re: GBS 8200/8220 CFW Project
https://imgur.com/a/0q4F79r
Hello, I'm having a problem making the SCART PS2 cable work.
When I connect the scart and switch the settings to RGB in the gbs I get a weird purple flashing screen. Tried setting RGB settings in the menu options also. Maybe my LM1881 is defective?
I've linked the sync stripper schematic I used. The gbs board seems different than the one I'm using. Component cables are working flawlessly. I'm not sure what's the issue.
Hello, I'm having a problem making the SCART PS2 cable work.
When I connect the scart and switch the settings to RGB in the gbs I get a weird purple flashing screen. Tried setting RGB settings in the menu options also. Maybe my LM1881 is defective?
I've linked the sync stripper schematic I used. The gbs board seems different than the one I'm using. Component cables are working flawlessly. I'm not sure what's the issue.
Re: GBS 8200/8220 CFW Project
Did more 1080p testing with another vga-hdmi dongle, and colors are proper. Couldn't see jailbars.
I did notice some minor issues not directly related to 1080p preset :
Brightness boost associated with scanlines makes black turn gray. Possible to have the boost start at a higher level to keep black level ?
Vertical scaling not being fine enough for integer scaling, especially noticiable with scanlines and line filter off. When filling screen vertically there's very noticiable shimer on vertical scrolls, even with line filter on. If fine scaling is was possible I could either have x4 letter box or x5 with minor overscan (I thought fill screen option was for this, but it did nothing ?). It's very easy to adjust on a white screen with linefilter off. It has to be adjusted for each system since each one has a different active frame (like MD has huge borders).
I did notice some minor issues not directly related to 1080p preset :
Brightness boost associated with scanlines makes black turn gray. Possible to have the boost start at a higher level to keep black level ?
Vertical scaling not being fine enough for integer scaling, especially noticiable with scanlines and line filter off. When filling screen vertically there's very noticiable shimer on vertical scrolls, even with line filter on. If fine scaling is was possible I could either have x4 letter box or x5 with minor overscan (I thought fill screen option was for this, but it did nothing ?). It's very easy to adjust on a white screen with linefilter off. It has to be adjusted for each system since each one has a different active frame (like MD has huge borders).
Re: GBS 8200/8220 CFW Project
Hi,
please revert the gbscontrol options to default first.
As per your screenshot, the output is configured for Component Video, which is most likely wrong.
You don't have to change any option in gbscontrol for the RGBs source to work.
You say that your PS2 Component cables work perfectly.
When you switch to a SCART cable, you also have to select the RGB output in the PS2 system menu.
A sync stripper is normally not required, so you could remove it to make debugging easier.
(For a PS2, Component cables usually are a better choice over SCART.)
please revert the gbscontrol options to default first.
As per your screenshot, the output is configured for Component Video, which is most likely wrong.
You don't have to change any option in gbscontrol for the RGBs source to work.
You say that your PS2 Component cables work perfectly.
When you switch to a SCART cable, you also have to select the RGB output in the PS2 system menu.
A sync stripper is normally not required, so you could remove it to make debugging easier.
(For a PS2, Component cables usually are a better choice over SCART.)
Re: GBS 8200/8220 CFW Project
Ryoandr:
Vertical scaling has this limitation.
I have to pick a scale factor that works with the available display clocks (for aspect) and that scrolls evenly.
For that, the line filter has to be on, or else I can't pick any vertical scale factor besides 512 (x2 the already line doubled input, so x4 exactly).
(Sometimes, a value around 683 also works though.)
The fill screen option is kind of obsolete, since x960 / x1024 already use vscale = 512 and fill the screen with that.
The other presets would give a tiny aperture and wrong aspect with vscale = 512, so I default to a fitting factor,
requiring the line filter and basically locking further vertical scaling.
On that note, with the line filter and default values, I don't notice the scroll shimmer.
I know it's there and can be provoked with test images, but as long as the 240p test suite vertical scroll test looks good, I'm okay with that.
Line filter off is just a bad idea for all presets except x960/x1024 (where vscale can be 512 exactly).
Even if finer resolution was possible, it wouldn't help. You would have to discard or add "source" lines, and I believe only FPGA stuff can do that.
About the scanlines, I got it. Some day I'll add some options there ;p
Vertical scaling has this limitation.
I have to pick a scale factor that works with the available display clocks (for aspect) and that scrolls evenly.
For that, the line filter has to be on, or else I can't pick any vertical scale factor besides 512 (x2 the already line doubled input, so x4 exactly).
(Sometimes, a value around 683 also works though.)
The fill screen option is kind of obsolete, since x960 / x1024 already use vscale = 512 and fill the screen with that.
The other presets would give a tiny aperture and wrong aspect with vscale = 512, so I default to a fitting factor,
requiring the line filter and basically locking further vertical scaling.
On that note, with the line filter and default values, I don't notice the scroll shimmer.
I know it's there and can be provoked with test images, but as long as the 240p test suite vertical scroll test looks good, I'm okay with that.
Line filter off is just a bad idea for all presets except x960/x1024 (where vscale can be 512 exactly).
Even if finer resolution was possible, it wouldn't help. You would have to discard or add "source" lines, and I believe only FPGA stuff can do that.
About the scanlines, I got it. Some day I'll add some options there ;p
-
- Posts: 13
- Joined: Fri Jan 10, 2020 12:14 pm
Re: GBS 8200/8220 CFW Project
Hi thanks for the quick reply.rama wrote:Hi,
please revert the gbscontrol options to default first.
As per your screenshot, the output is configured for Component Video, which is most likely wrong.
You don't have to change any option in gbscontrol for the RGBs source to work.
You say that your PS2 Component cables work perfectly.
When you switch to a SCART cable, you also have to select the RGB output in the PS2 system menu.
A sync stripper is normally not required, so you could remove it to make debugging easier.
(For a PS2, Component cables usually are a better choice over SCART.)
I tried connecting the red green blue and ground line from the gbs to the scart pin but I'm not getting any signal. Tried restarting with default settings also. I'm getting sound from the 3.5mm audio out of the scart cable. Am I supposed to connect the grey and yellow wires from the gbs to the scart? I can't seem to find the hsync and vsync on the scart pin out.
Might stick with component as scart is getting troublesome. Hehe
Re: GBS 8200/8220 CFW Project
SCART uses the Composite Video pin (normally the yellow plug) for sync.
This signal needs to go to the GBS "S" or "HS" pin (either is fine, they're the same).
If you still use the syncstripper, don't connect its VSync output.
Just connect its CSync to the "S" or "HS" pins.
And don't forget to set the option in the PS2 system menu, or else it'll never work ;p
This signal needs to go to the GBS "S" or "HS" pin (either is fine, they're the same).
If you still use the syncstripper, don't connect its VSync output.
Just connect its CSync to the "S" or "HS" pins.
And don't forget to set the option in the PS2 system menu, or else it'll never work ;p
-
NoAffinity
- Posts: 1032
- Joined: Mon May 07, 2018 5:27 pm
- Location: Escondido, CA, USA
Re: GBS 8200/8220 CFW Project
PS2 scart is RGsB?
:edit: disregard, just had to refamiliarize myself with ps2 output options. Looks like the important stuff has already been covered - use composite pin for sync, ensure correct output mode selected in ps2 options.
Sent from my SM-G955U using Tapatalk
:edit: disregard, just had to refamiliarize myself with ps2 output options. Looks like the important stuff has already been covered - use composite pin for sync, ensure correct output mode selected in ps2 options.
Sent from my SM-G955U using Tapatalk
-
- Posts: 4
- Joined: Wed Nov 20, 2019 10:48 pm
Re: GBS 8200/8220 CFW Project
This post is old but was just added to the gbs-control git's wiki. Perhaps I'm not spatially seeing what you are refering to here of "besides/parallel" to the caps, but do you mean to daisy chan them? A reference picture would help on the Wiki.rama wrote:Let's settle on 10uF for the large local storage caps, as more capacity seems to be at the upper end of current market offers.
We want as high a voltage rating as possible, but that increases size. We want to limit size to 0805, so they can still be soldered besides the 0605 stocks.
Ebay has some cheap listings for:
0805: 10V
0605: 6.3V
Actual voltages are 3.3V for the main supply (C23 C41 C48), and 1.8V for the digital supply (C42).
By the way, I just noticed that on some GBS board designs, C41 is more crowded. It can be replaced by C43.
The small SOG coupling caps of 1nF all come at voltage ratings much higher than required.
Here it's better to focus on size (0605 preferred, 0805 okay), and their material (NP0 / C0G preferred).
Re: GBS 8200/8220 CFW Project
So as an update to the external clock generator option, I just want to confirm that it'll be the Si5351 chip, as available on Ebay:
https://www.ebay.com/itm/Si5351A-I2C-25 ... 3922184813
There are 2 options on where to inject the new clock, either as replacement of the original 27MHz crystal, or into the external clock pin (pin 40).
I started out with the 27MHz replacement option, but overall it is better to use Tv5725 pin 40.
Installation is a little tricky in any case.
Pin 40 may be lifted, and a thin strand of wire be soldered to it. Lifting isn't required (it's not connected to anything on the PCB), but it may make things easier.
The wire should be enamelled copper at less than 0.2mm.
Example: https://www.ebay.com/itm/5pcs-15m-0-1mm ... 3367915085
This kind of wire is ideal for precision work, and you can find it in many stores.
Here is my prototype installation, showing how it might be done. Please ignore all the leftovers from years of experiments
Power to the board should be the GBS 3.3V system power (taken from C48 in this example).
The generated clock should be sent through a 1000pF (that's 1nF) capacitor and a short strand of enamelled copper wire, into pin 40.
Pin 40 can be lifted first, or left on its pad. I think it's easier to lift the pin first, since luckily, it is a corner pin.
As a small added bonus, the external PCB is mostly ground plane. Installed on top of the heat spreader like this, it reduces the GBS interference to the WiFi.
https://www.ebay.com/itm/Si5351A-I2C-25 ... 3922184813
There are 2 options on where to inject the new clock, either as replacement of the original 27MHz crystal, or into the external clock pin (pin 40).
I started out with the 27MHz replacement option, but overall it is better to use Tv5725 pin 40.
Installation is a little tricky in any case.
Pin 40 may be lifted, and a thin strand of wire be soldered to it. Lifting isn't required (it's not connected to anything on the PCB), but it may make things easier.
The wire should be enamelled copper at less than 0.2mm.
Example: https://www.ebay.com/itm/5pcs-15m-0-1mm ... 3367915085
This kind of wire is ideal for precision work, and you can find it in many stores.
Here is my prototype installation, showing how it might be done. Please ignore all the leftovers from years of experiments
Power to the board should be the GBS 3.3V system power (taken from C48 in this example).
The generated clock should be sent through a 1000pF (that's 1nF) capacitor and a short strand of enamelled copper wire, into pin 40.
Pin 40 can be lifted first, or left on its pad. I think it's easier to lift the pin first, since luckily, it is a corner pin.
As a small added bonus, the external PCB is mostly ground plane. Installed on top of the heat spreader like this, it reduces the GBS interference to the WiFi.
Last edited by rama on Mon Jun 15, 2020 2:26 am, edited 1 time in total.
Re: GBS 8200/8220 CFW Project
I'd just like to share a very effective method of pulling pins on fine pitch chips.
Get a thin piece of wire, like 30awg, and thread it around the pin you want to lift.
Twist the wire a few times and with a dry soldering iron heat the leg and pull the wire.
Makes lifting legs without damaging others a breeze.
Get a thin piece of wire, like 30awg, and thread it around the pin you want to lift.
Twist the wire a few times and with a dry soldering iron heat the leg and pull the wire.
Makes lifting legs without damaging others a breeze.
Re: GBS 8200/8220 CFW Project
amazing. I am definitely going to try this next time.Syntax wrote:I'd just like to share a very effective method of pulling pins on fine pitch chips.
Get a thin piece of wire, like 30awg, and thread it around the pin you want to lift.
Twist the wire a few times and with a dry soldering iron heat the leg and pull the wire.
Makes lifting legs without damaging others a breeze.
Rama, is there any particular reason that you need to use enamelled copper wire? or can you use any wire you like? (like 30AWG kynar)
Re: GBS 8200/8220 CFW Project
Yeah that method blew me away when I was told about it just the other week, I usually come up with some pretty smart methods to do things but it was a WTF YOU LEGEND THANKYOU moment for me. 10 years late..
30awg will be fine. Enamel is kinda annoying to scrape away the non-conductive layer.
Clock signal wires are very susceptible to being corrupted by emi so the emphasis Rama was making is that it should be as short as possible.
If you cant make it short then it needs to be sheilded.
30awg will be fine. Enamel is kinda annoying to scrape away the non-conductive layer.
Clock signal wires are very susceptible to being corrupted by emi so the emphasis Rama was making is that it should be as short as possible.
If you cant make it short then it needs to be sheilded.
Re: GBS 8200/8220 CFW Project
for that length, I'd probably just use a component leg tbh.
Re: GBS 8200/8220 CFW Project
That's a good idea with the pin lifting. I often use a fine sewing needle, but the wire is probably 10 times better
Yeah, the clock signal wire has to have the least possible capacitance (be thin and short).
This is to allow it to pass an up to 162MHz (at this time) square wave into the clock pin.
If the wire is too thick or too long, or if it takes long routes along a ground plane or similar, the clock starts to distort.
I saw this happen at the upper limit of what the Si5351 supports, which is around 220MHz.
To be confident enough to write code to support this, I want to have some headroom.
162MHz should be fine, if ~200MHz still works okay for everyone
This is new stuff for me, btw. I don't know whether the 1nF coupling capacitor is a good idea or not.
In theory, it should act as high pass filter, to filter out any unwanted low frequency signals.
AndehX:
If you use a stiff component leg, you need to make sure the addon PCB doesn't move.
The lifted pin is very fragile.
Syntax:
Shielding is a bad idea here. I tried it, and it seems that 50% of the energy of the clock signal just gets capacitively coupled (shorted) to ground.
Leave a short wire free floating like in my example pic
Yeah, the clock signal wire has to have the least possible capacitance (be thin and short).
This is to allow it to pass an up to 162MHz (at this time) square wave into the clock pin.
If the wire is too thick or too long, or if it takes long routes along a ground plane or similar, the clock starts to distort.
I saw this happen at the upper limit of what the Si5351 supports, which is around 220MHz.
To be confident enough to write code to support this, I want to have some headroom.
162MHz should be fine, if ~200MHz still works okay for everyone
This is new stuff for me, btw. I don't know whether the 1nF coupling capacitor is a good idea or not.
In theory, it should act as high pass filter, to filter out any unwanted low frequency signals.
AndehX:
If you use a stiff component leg, you need to make sure the addon PCB doesn't move.
The lifted pin is very fragile.
Syntax:
Shielding is a bad idea here. I tried it, and it seems that 50% of the energy of the clock signal just gets capacitively coupled (shorted) to ground.
Leave a short wire free floating like in my example pic
-
NoAffinity
- Posts: 1032
- Joined: Mon May 07, 2018 5:27 pm
- Location: Escondido, CA, USA
Re: GBS 8200/8220 CFW Project
Just ordered some clock gen boards and wire. What is the source of clock gen's scl and sda? What is the rating of the cap on the pad near clk2?
Sent from my SM-G955U using Tapatalk
Sent from my SM-G955U using Tapatalk