GBS 8200/8220 CFW Project
Re: GBS 8200/8220 CFW Project
Those options toggle writing to the Serial Monitor. They're just there because they got picked up initially and never removed.
Debug view is doing something though. I would hope you notice the effect ;p
Debug view is doing something though. I would hope you notice the effect ;p
Re: GBS 8200/8220 CFW Project
What should I see happen with debug view? Just want to know what to look for. I may not have the device wired correctly. I am able to change resolutions and add remove scanlines. So i thought I had it all correct.
Re: GBS 8200/8220 CFW Project
dwards:
It shifts the image so far out of center that it makes the blanking areas visible. This allows me to check for issues in those regions.
You'll notice the image being totally off center.. unless your TV somehow manages to re-center it :p
I'm reworking the web ui a little, and fix some of these unexplained options.
Stremon:
Go for the VGA model first, consider the HDMI one later, maybe in a year or so.
It will take me a while to get each nice-to-have option right, and the HDMI boards currently suffer from poor color, among other things.
I'll probably have to get into the HDMI transcoder control MCU to fix it, so that'll be lots of work again.
Also: These devices are really cheap for what they can do. No reason not to own a couple of them
It shifts the image so far out of center that it makes the blanking areas visible. This allows me to check for issues in those regions.
You'll notice the image being totally off center.. unless your TV somehow manages to re-center it :p
I'm reworking the web ui a little, and fix some of these unexplained options.
Stremon:
Go for the VGA model first, consider the HDMI one later, maybe in a year or so.
It will take me a while to get each nice-to-have option right, and the HDMI boards currently suffer from poor color, among other things.
I'll probably have to get into the HDMI transcoder control MCU to fix it, so that'll be lots of work again.
Also: These devices are really cheap for what they can do. No reason not to own a couple of them
Re: GBS 8200/8220 CFW Project
Thanks for the answer, I will get the VGA one thenrama wrote:
Stremon:
Go for the VGA model first, consider the HDMI one later, maybe in a year or so.
It will take me a while to get each nice-to-have option right, and the HDMI boards currently suffer from poor color, among other things.
I'll probably have to get into the HDMI transcoder control MCU to fix it, so that'll be lots of work again.
Also: These devices are really cheap for what they can do. No reason not to own a couple of them
Also thank you for your awesome work on this project, I can't wait to play with it
I had another couple of questions concerning the technical aspect, I saw on the recent changes in your GitHub you recommend to not use the VSync since it's not required anymore, is it the case for every board? So I guess I don't need to solder the debug pin?
Also at the end you say we have to put a resistor between the sync-in and the ground. I think I understand what it means, but just to be sure, all I have to do is solder a 100 Ohm resistor between the sync-in pin and the closest ground I can find?
Re: GBS 8200/8220 CFW Project
Hey Rama, I just set up my Dreamcast RGB SCART on PAL. I have a weird issue with the 720p preset in this. All blacks are RED the issue does not repeat itself in 960p but surely on 720p. Halp?
Edit: The reset switch on arduino fixed it for some reason. Really wonky sync though but it works at least
Leaving here the fix for PAL Dreamcast: type wsog 4 on serial monitor.
Rama: I wanna make a special preset out of some non-used ones for Dreamcast with wsog 4 so that I can use it without issues, how does one get to that? Does it do the thing when I just d on serial monitor with wsog 4 set?
Edit: The reset switch on arduino fixed it for some reason. Really wonky sync though but it works at least
Leaving here the fix for PAL Dreamcast: type wsog 4 on serial monitor.
Rama: I wanna make a special preset out of some non-used ones for Dreamcast with wsog 4 so that I can use it without issues, how does one get to that? Does it do the thing when I just d on serial monitor with wsog 4 set?
Re: GBS 8200/8220 CFW Project
The debug connection is required. It replaces the old way of debug pin + vsync wire. Now I get all information with just the debug wire.Stremon wrote:I had another couple of questions concerning the technical aspect, I saw on the recent changes in your GitHub you recommend to not use the VSync since it's not required anymore, is it the case for every board? So I guess I don't need to solder the debug pin?
CorrectStremon wrote:Also at the end you say we have to put a resistor between the sync-in and the ground. I think I understand what it means, but just to be sure, all I have to do is solder a 100 Ohm resistor between the sync-in pin and the closest ground I can find?
Take a regular through hole resistor and wrap each lead around a thin screwdriver.
Now you can slide your construction onto the sync-in and gnd pins, as they're conveniently right next to each other.
Do you have the 100 Ohm sync termination resistor installed?keremimo wrote:Leaving here the fix for PAL Dreamcast: type wsog 4 on serial monitor.
Rama: I wanna make a special preset out of some non-used ones for Dreamcast with wsog 4 so that I can use it without issues, how does one get to that? Does it do the thing when I just d on serial monitor with wsog 4 set?
Usually a SOG value that low means the sync signal is coming in too strong.
In any case, user customizations / custom presets are a mess currently. I override most sync options in the preset initialization phase.
The auto detection stuff is important to have a known baseline, so I'm still contemplating what to do about this.
Re: GBS 8200/8220 CFW Project
Rama: Yeah that's the weird thing, I do have it installed, otherwise I wouldn't be able to use my PS2. 100R between Sync and Ground.
Re: GBS 8200/8220 CFW Project
Okay, thanks for letting me know.
For now, search the sketch for "rto->currentLevelSOG = 10;" and replace it with "rto->currentLevelSOG = 4;", then upload.
This is probably going to require a special setting in the web ui.
Is there anything special about that Dreamcast or the cable? Or just a regular / official DC RGB cable?
For now, search the sketch for "rto->currentLevelSOG = 10;" and replace it with "rto->currentLevelSOG = 4;", then upload.
This is probably going to require a special setting in the web ui.
Is there anything special about that Dreamcast or the cable? Or just a regular / official DC RGB cable?
Re: GBS 8200/8220 CFW Project
I get a very black colorless screen from it when I try to route composite video out of it, so I think it is a csync cable. Not official, got it from Aliexpress but it seems pretty well built, no signal distortion or anything when I plug it directly to my CRT TV.
When I cracked open its housing, I saw that it had I think three 220uf capacitors and a 680ohm resistor soldered properly.
A web ui option would of course be very useful. Thanks as always.
I'll report my findings with the Nintendo Wii RGB scart that's in the mail today when I grab it as well.
When I cracked open its housing, I saw that it had I think three 220uf capacitors and a 680ohm resistor soldered properly.
A web ui option would of course be very useful. Thanks as always.
I'll report my findings with the Nintendo Wii RGB scart that's in the mail today when I grab it as well.
Re: GBS 8200/8220 CFW Project
http://pinouts.ru/Game/dreamcast_pinout.shtml
There are a few options that can be set via grounding pins in the cable.
Best make sure the cable is configured for what you want, which is probably low res / TV compatible RGB Csync.
Then find out how the csync is buffered in Dreamcasts. If they have a full strength 5V TTL buffer, you need pretty strong attenuation as well.
There are a few options that can be set via grounding pins in the cable.
Best make sure the cable is configured for what you want, which is probably low res / TV compatible RGB Csync.
Then find out how the csync is buffered in Dreamcasts. If they have a full strength 5V TTL buffer, you need pretty strong attenuation as well.
Re: GBS 8200/8220 CFW Project
I found an issue that explains the weird color reports.
Please try the latest update. It should fix the startup with weird colors issue (I hope).
Also a note:
The GBS board requires its own power supply. It isn't good enough to power the GBS via the control board or some other way that doesn't deliver enough power.
Please try the latest update. It should fix the startup with weird colors issue (I hope).
Also a note:
The GBS board requires its own power supply. It isn't good enough to power the GBS via the control board or some other way that doesn't deliver enough power.
Re: GBS 8200/8220 CFW Project
I need to rework the web server and captive portal stuff.
Due to Arduino limitations with external libraries, it is impossible to support the ESP8266 and ESP32 with the same code, without requiring users to download a bunch of libraries and putting them in quite hidden Windows folders.
I don't want users to have that extra burden, and I can't include the libraries due to the limitations.
Therefore, I want to drop support for one MCU. The ESP32 is the obvious choice.
Is anyone using an ESP32 board exclusively with gbs-control?
Due to Arduino limitations with external libraries, it is impossible to support the ESP8266 and ESP32 with the same code, without requiring users to download a bunch of libraries and putting them in quite hidden Windows folders.
I don't want users to have that extra burden, and I can't include the libraries due to the limitations.
Therefore, I want to drop support for one MCU. The ESP32 is the obvious choice.
Is anyone using an ESP32 board exclusively with gbs-control?
Re: GBS 8200/8220 CFW Project
Well, ESP32 support is gone, and the ESP8266 support is much improved for it.
The web server is more robust, the captive portal is automatic and doesn't block the main thread, connecting to local wifi is all optional.
In short: This works much nicer
Next up is actually honouring custom preset loads, so they don't go through all the automatic adjustments.
Custom presets will then keep the SOG level, image position, etc, just as one would expect.
The web server is more robust, the captive portal is automatic and doesn't block the main thread, connecting to local wifi is all optional.
In short: This works much nicer
Next up is actually honouring custom preset loads, so they don't go through all the automatic adjustments.
Custom presets will then keep the SOG level, image position, etc, just as one would expect.
Re: GBS 8200/8220 CFW Project
This gets more and more awesome and very fast at it too
Rama: Can we create more than 1 custom presets? I'm thinking 1 preset per console for my usage seeing how each one of them require a different SOG number.
Rama: Can we create more than 1 custom presets? I'm thinking 1 preset per console for my usage seeing how each one of them require a different SOG number.
-
- Posts: 57
- Joined: Thu Sep 28, 2017 8:04 pm
Re: GBS 8200/8220 CFW Project
Wonderful work Rama. I have tested the new firmware and all is working on my systems and screens. The image doesn't shift extremely to the right any more so that's nice.
What's next on the agenda for the CFW?
What's next on the agenda for the CFW?
Last edited by TobiasRieper on Sun Jun 03, 2018 4:42 pm, edited 1 time in total.
Re: GBS 8200/8220 CFW Project
I wouldn't worry about dropping ESP32 support. If anyone did happen to be using an ESP32 exclusively, it wouldn't cost them much at all to simply purchase an ESP8266...
Re: GBS 8200/8220 CFW Project
I thought I would add a couple of pics of my set-up.
Re: GBS 8200/8220 CFW Project
D1 Minis look nice and small on an adapter. I should get some of those!
Here's some initial pics for my guide on building the adapter:
https://github.com/ramapcsx2/gbs-contro ... rd-adapter
Preset customizations are a little tricky, because parts of the automatic stuff need to continue and parts need to be bypassed.
For example, when the console switches video modes, how will I decide which (custom) preset to load?
Such video mode changes could be NTSC > PAL or 240p > 720p HD.
One could create custom presets for each mode, but then what if the console changes?
The same preset won't be a perfect fit between say, a PS2 and an XBOX.
It's hard / impossible to detect if the console matches a saved preset.
On the bright side, each full register dump (preset) is 8kB.
After the web page and stuff, we still should have ~2MBytes available for saving them.
Here's some initial pics for my guide on building the adapter:
https://github.com/ramapcsx2/gbs-contro ... rd-adapter
Can we create more than 1 custom presets?
The web ui needs to be able to show some information. I think I'll be doing that with websockets, so this is next.What's next on the agenda for the CFW?
Preset customizations are a little tricky, because parts of the automatic stuff need to continue and parts need to be bypassed.
For example, when the console switches video modes, how will I decide which (custom) preset to load?
Such video mode changes could be NTSC > PAL or 240p > 720p HD.
One could create custom presets for each mode, but then what if the console changes?
The same preset won't be a perfect fit between say, a PS2 and an XBOX.
It's hard / impossible to detect if the console matches a saved preset.
On the bright side, each full register dump (preset) is 8kB.
After the web page and stuff, we still should have ~2MBytes available for saving them.
Re: GBS 8200/8220 CFW Project
"One could create custom presets for each mode, but then what if the console changes?"
I have an idea about that. What about custom preset categories? Let me give an example from my use case. I'm going to create PAL and NTSC presets for Amiga, Dreamcast, PS2 and Wii, so 8 presets in total. Dreamcast being my main console for my streams, will be selected by default. So here's how I imagine it in the web ui:
Create Preset Group ->
Save Custom Preset To Group -> | Dreamcast | -> Dropdown: Choose Format |NTSC| |PAL|
Choose Default Custom Preset Group: (Dropdown menu from created presets)
Dreamcast -> Click this and it sets Custom Presets 1 and 2, for NTSC and PAL respectively. (Preference remains until I change the prefered set)
Amiga
PS2
Wii
So when I want to change consoles, I just change that preset group into the console I prepared presets for beforehand. While I do realise this is cumbersome at first, it is the only way people can set up perfect imagery for multiple consoles, given that we cannot have fully automatic perfect image resize & centering.
Also, if we can have a "Force 60hz output" option on Web UI it might help PAL users with incompatible displays and that would be awesome (A good number of modern PC monitors cannot do 50hz on 960p). I thought of this one just as a future feature upgrade
I have an idea about that. What about custom preset categories? Let me give an example from my use case. I'm going to create PAL and NTSC presets for Amiga, Dreamcast, PS2 and Wii, so 8 presets in total. Dreamcast being my main console for my streams, will be selected by default. So here's how I imagine it in the web ui:
Create Preset Group ->
Save Custom Preset To Group -> | Dreamcast | -> Dropdown: Choose Format |NTSC| |PAL|
Choose Default Custom Preset Group: (Dropdown menu from created presets)
Dreamcast -> Click this and it sets Custom Presets 1 and 2, for NTSC and PAL respectively. (Preference remains until I change the prefered set)
Amiga
PS2
Wii
So when I want to change consoles, I just change that preset group into the console I prepared presets for beforehand. While I do realise this is cumbersome at first, it is the only way people can set up perfect imagery for multiple consoles, given that we cannot have fully automatic perfect image resize & centering.
Also, if we can have a "Force 60hz output" option on Web UI it might help PAL users with incompatible displays and that would be awesome (A good number of modern PC monitors cannot do 50hz on 960p). I thought of this one just as a future feature upgrade
Re: GBS 8200/8220 CFW Project
I've been trying to figure out how to update Wemos D2 over WiFi but having no luck.
Ports is greyed out in Arduino IDE.
It can be done right?
Ports is greyed out in Arduino IDE.
It can be done right?
-
- Posts: 57
- Joined: Thu Sep 28, 2017 8:04 pm
Re: GBS 8200/8220 CFW Project
I'm looking forward to more updates. This project has come along so far. It's like I have my own ossc / frame meister but for a fraction of the cost,!
The pal feedback clock works best for me the others work but the scanlines on my slg 3000 don't really look that great (they are too big). How could I change the 640 x 480 ntsc preset to 50hz to better match my PAL consoles?
The pal feedback clock works best for me the others work but the scanlines on my slg 3000 don't really look that great (they are too big). How could I change the 640 x 480 ntsc preset to 50hz to better match my PAL consoles?
Re: GBS 8200/8220 CFW Project
@keremimo:
Thanks for the suggestion!
I'll go somewhat in that direction, but it's still a lot of coding to implement all that.
So I'll try to take shortcuts where possible.
For example, I know whether a currently active preset is for PAL or for NTSC, so I can reduce complexity by just saving for the current video mode.
The concept of groups for different sources is definitely good.
For the 50Hz issue, it'd be better to try different output resolutions.
(If the TV can't do 720p PAL, it is seriously gimped..)
@Syntax:
Yeah, I had it working once, but I never use this so no idea what the current status is. It should still work.
I had issues with the IDE not picking up the device as well, but could fix them with some Google magic back then.
@TobiasRieper
This isn't possible. The 640x480 preset becomes PAL/50Hz by increasing the line count from 480 to 576.
By doing that, the scanline look changes as well.
A better approach is to try out the 720p preset and fiddling with vertical scaling until it looks nice.
Thanks for the suggestion!
I'll go somewhat in that direction, but it's still a lot of coding to implement all that.
So I'll try to take shortcuts where possible.
For example, I know whether a currently active preset is for PAL or for NTSC, so I can reduce complexity by just saving for the current video mode.
The concept of groups for different sources is definitely good.
For the 50Hz issue, it'd be better to try different output resolutions.
(If the TV can't do 720p PAL, it is seriously gimped..)
@Syntax:
Yeah, I had it working once, but I never use this so no idea what the current status is. It should still work.
I had issues with the IDE not picking up the device as well, but could fix them with some Google magic back then.
@TobiasRieper
This isn't possible. The 640x480 preset becomes PAL/50Hz by increasing the line count from 480 to 576.
By doing that, the scanline look changes as well.
A better approach is to try out the 720p preset and fiddling with vertical scaling until it looks nice.
-
- Posts: 57
- Joined: Thu Sep 28, 2017 8:04 pm
Re: GBS 8200/8220 CFW Project
@Rama, thank you for your help. I'll have a mess around with the 720p I think I was a bit confused as the stock GBS worked with 640 x 480 resolution with my PAL systems.
Re: GBS 8200/8220 CFW Project
Yeah, it can be configured to output in whichever resolution and frame rate.
The issue is that only a few combinations make sense and will look nice
The issue is that only a few combinations make sense and will look nice
-
- Posts: 57
- Joined: Thu Sep 28, 2017 8:04 pm
Re: GBS 8200/8220 CFW Project
I now use the PAL 720p for my 50 lcd and the PAL Feedback for my PC monitor. Both look great and the scanlines aren't too big /small with my SLG.
Anyway I can dump a custom preset then use that data to alter one of your presets I don't need with my custom data?
Anyway I can dump a custom preset then use that data to alter one of your presets I don't need with my custom data?
Re: GBS 8200/8220 CFW Project
You could do that, sure.
But try the custom preset feature first. It's almost complete, just missing the auto adjust overrides and I'll get to those soon.
You can select one of 3 groups (for now), and simply hit "save custom preset" and "prefer custom preset" so it automatically loads.
You need the development branch of gbs-control.
https://github.com/ramapcsx2/gbs-contro ... ts/develop
Since auto adjust overrides aren't implemented yet, it *may* shift your picture automatically.
If it does, wait a bit until I added that.
But try the custom preset feature first. It's almost complete, just missing the auto adjust overrides and I'll get to those soon.
You can select one of 3 groups (for now), and simply hit "save custom preset" and "prefer custom preset" so it automatically loads.
You need the development branch of gbs-control.
https://github.com/ramapcsx2/gbs-contro ... ts/develop
Since auto adjust overrides aren't implemented yet, it *may* shift your picture automatically.
If it does, wait a bit until I added that.
-
- Posts: 57
- Joined: Thu Sep 28, 2017 8:04 pm
Re: GBS 8200/8220 CFW Project
Your custom preset works wonderfully I just needed 2 custom save slots thanks for the develop link. I'll check it out tonight I've even managed to sort a custom case for my setup.
-
- Posts: 57
- Joined: Thu Sep 28, 2017 8:04 pm
Re: GBS 8200/8220 CFW Project
Just tried the new changes from the development fork. Works great on my TV and Monitor. Did you combine the PAL and the NTSC presets? As the 3 presets work on my TV and Monitor. It's brilliant now I can have more than one preset! The multiple custom presets work great and it's nice to have some verbose on the Web page. Well done mate. if I could email you a beer I would!
Re: GBS 8200/8220 CFW Project
Glad you like it, it really was a lot of work with the websockets ;p
It is a cool technology though, far easier to communicate data between the 2 endpoints, compared to GET or POST.
Yep, the presets appear to be combined now.
In reality, I just removed the option to accidentally load the wrong preset for the current source.
I'll still have to check out overrides for automatic adjustments.
Maybe they won't even be necessary, and custom presets keep the ability to adjust to very minor source timing differences
It is a cool technology though, far easier to communicate data between the 2 endpoints, compared to GET or POST.
Yep, the presets appear to be combined now.
In reality, I just removed the option to accidentally load the wrong preset for the current source.
I'll still have to check out overrides for automatic adjustments.
Maybe they won't even be necessary, and custom presets keep the ability to adjust to very minor source timing differences
Re: GBS 8200/8220 CFW Project
"Accidentally" loading the wrong preset was how I was able to get 60hz output on 50hz sources and actually being able to use the gbs hence asking for a force 60hz...
Rama, can you show me pointers for changing the dotclock on PAL presets? I'll try increasing that on the modeline to permanently 60hz it up with correct amount of lines I'll try to tweak it myself so you don't have to do any hard work
Rama, can you show me pointers for changing the dotclock on PAL presets? I'll try increasing that on the modeline to permanently 60hz it up with correct amount of lines I'll try to tweak it myself so you don't have to do any hard work