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 »

The sketech compiles fine here with the updated Arduino IDE and libraries.
My IDE version is 1.9.0 Beta, the ESP8266 core is at 2.5.0 Beta 2.
I've long switched to working with Visual Micro for development, but yeah, Arduino IDE still compiles fine.

Regarding format change hickups, the GBS sees them as well.
It has a "kind of" unganged operation in regular modes (not pass-through), so some sync glitches are just filtered out.
All you get is a picture jump then, but without effect on the output timings.
There are some more problematic sync changes, such as the Mega Drive 256px <> 320px changes, that can disturb the output as well.
When that happens, it's up to the receiving device to allow a hint of sync disturbance.
(So don't expect it to work on an HDTV.. Picky devices ><)
User avatar
AndehX
Posts: 790
Joined: Sun Oct 18, 2015 11:37 pm

Re: GBS 8200/8220 CFW Project

Post by AndehX »

Here's how 240p-480i switching is handled by my capture card (PEXHDCAP) Im using the current master build of gbscontrol

https://youtu.be/g9T29zgnC2M

Immediately you will notice that 240p (inventory) is perfectly centered, but 480i (gameplay) is shifted down a bit. But apart from a bit of a green flicker, the switching is handled pretty well I would say
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

That's a filtered glitch and the output sync stays stable. It should work on a TV as well :)

It's possible to do something in those glitched display situations. Previsouly I disabled the DAC, leading to brief flashes of black.
I found that to be more disturbing than helpful though, so I've replaced it with stopping the ADC capturing unit.
This is what causes that "hanging" display right now.
There's still more things to try, but they all will have some kind of weird look to them. It's going to be a choice of what looks most presentable :p
User avatar
AndehX
Posts: 790
Joined: Sun Oct 18, 2015 11:37 pm

Re: GBS 8200/8220 CFW Project

Post by AndehX »

To be honest, Im more bothered by how 480i is shifted down compared to 240p :mrgreen:

The brief glitches are actually not that bad if you can eliminate the bright green areas
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

Fixing that pixel shift is doable. I had this already, but it got axed to allow for more robust sync handling.
I have a similar method in mind that will preserver both features, I think.

Those green areas may be harder to get rid of :p
Rodrik
Posts: 18
Joined: Tue Jul 03, 2018 12:28 pm

Re: GBS 8200/8220 CFW Project

Post by Rodrik »

Hi and many thanks for the latest fixes again.

I received my female Peritel (that you call scart), so I want to connect it on the GBS RGB header.
I will also received the 1nF caps to replace C33 & C35 next week.
You said that with the C33 & C35 change, we do not need to make a Sync striper.

Then stupid question: where do I connect the S & VS (gray and yellow) on the scart?
I ask because with Amiga I connect the S gray wire to the DB23 of the Amiga and let the yellow VS not connected.
So I suppose I will connect the S gray wire to pin 20 of the scart and let the VS yellow wire still not connected?
Higgy
Posts: 54
Joined: Thu Mar 15, 2018 1:29 pm

Re: GBS 8200/8220 CFW Project

Post by Higgy »

rama - I restarted my PC and updated to 1.8.8 and everything has compiled fine (not yet powered it up on my monitor). The problems of rushing with limited time at the end of the evening!

On the original MCU is Vcc 3.3v or 5v. I currently use a D1 Mini mounted on an small bit of matrix board (11x9) with 5v coming from the 2-pin header on the GBS board. This works well and is nice and compact. See here:
Spoiler
Image
I have built up another GBS board (v5.1) and it seems like on the Wiki the ESP8266 is being powered off the original MCU. If I did this I could loose the external wires and have a 11x10 matrix board giving a compact and neat setup. Losing the need for an external sync stripper was a very nice present from you :D

Here is my current circuit diagram if anyone else wants to build a small adapter (external power as per my photo above):
Spoiler
Image
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

Rodrik wrote: Then stupid question: where do I connect the S & VS (gray and yellow) on the scart?
I ask because with Amiga I connect the S gray wire to the DB23 of the Amiga and let the yellow VS not connected.
So I suppose I will connect the S gray wire to pin 20 of the scart and let the VS yellow wire still not connected?
That's correct, only the "S" pin is required in your setup.
It means that your Amiga sends out CSync, where HSync and VSync are combined and sent over one signal cable.

You need to double check if it's really pin 20 on your SCART adapter (not pin 19).
It's easy to confuse the two. If you just don't get sync, it's probably the other pin ;)

Higgy:
The Arduino IDE compiler can be weird at times. Good that it works now :)

The original MCU works with 3.3V. This means that it's possible to use its Vcc pin to power the ESP8266.
However, I do not recommend this (anymore). I found that the power requirement of the ESP8266 can be too much in bursts, causing some issues with WiFi.
It's better to do exactly what you have right now:
Power the ESP8266 board from the main GBS power input, using the supplied 2 pin cable.
This ensures enough power is available and has some other benefits as well.
Just make sure the main GBS power isn't over 10V or so (not recommended anyway).

5V is good, if your supply and cables are of quality and/or soldered on.
Around 8V is perfect, as it doesn't require ideal cables and perfect connection at all times.
(I make this distinction because 5V is close to the GBS regulators dropout voltage. A dirty barrel connector or thin power supply cables can make it marginal. But if your gear is of quality, 5V is just perfect.
If you use 5V and suddenly see much increased video noise, try rocking the power supply cable a little. If it cleans right up, there's your problem ;) )
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

@AndehX:
I need some help figuring out the characteristics of that 240p/480i image position jump :p

The issue has to do with the whole PAL/NTSC VSync serration and equalization pulses.
Therefore, it only happens with sources that try to output standard PAL/NTSC signals.

The twist is that some consoles seem to drop the serration and equalization pulses, and some don't.
Particularly, out of those that drop the pulses, they seem do so only in 240p or only in 480i mode.
When that happens, the picture shifts.

So now I have a problem:
There aren't that many examples of those consoles.

Could you check the information mode readouts from your N64 with that game, and see if the "vt" parameter changes?
Example: h: 428 v: 525 PLL.12 A:7b7b7b S:8f.10 I:00 D:05e4 m:1 ht:2558 vt:272 hpw: 182 s:ff W:-55 F:38536 L:4
vt:272 << This is a regular NTSC compatible console and has no image shift.

I expect the N64 with the picture shift to report less lines there, but I need to make sure :)
User avatar
AndehX
Posts: 790
Joined: Sun Oct 18, 2015 11:37 pm

Re: GBS 8200/8220 CFW Project

Post by AndehX »

Im assuming I can check this through the serial monitor as normal, yes?

I'll boot it up after I've gotten something to eat :mrgreen:
User avatar
AndehX
Posts: 790
Joined: Sun Oct 18, 2015 11:37 pm

Re: GBS 8200/8220 CFW Project

Post by AndehX »

Ok, so when the N64 is displaying 480, vt jumps between 271 and 272, when it switches to 240p, it drops to 262. It sounds more like the image is being shifted upwards, when in 240p, rather than being shifted downwards when in 480i...
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

Cheers :)

Okay, it's one way or the other. It confirms that there are basically 2 distinct states, so I can fix this!
Stay tuned! :)
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

Vertical postioning fix is pushed, could you check? :)
User avatar
AndehX
Posts: 790
Joined: Sun Oct 18, 2015 11:37 pm

Re: GBS 8200/8220 CFW Project

Post by AndehX »

Will do!
User avatar
AndehX
Posts: 790
Joined: Sun Oct 18, 2015 11:37 pm

Re: GBS 8200/8220 CFW Project

Post by AndehX »

Ok, It seems better now, although when I make adjustments to move the image down, the adjustments Iv'e made seem to reset after a 480i-240p transition. The image will move back up to where it was before I made the adjustments

See here: https://www.dropbox.com/s/5uueksh158rn1 ... e.mp4?dl=0

Notice how the image starts off in the center of the screen (where I have adjusted it to), then when I enter the inventory, it moves up, and stays up after I exit the inventory.
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

Hm, check the logs and see if it prints "error: IF shift".

If it does, the code to fix this could become quite messy ><

Also, I spot a green vertical line on the far left. Is that new (and not caused by your capture card)?
User avatar
AndehX
Posts: 790
Joined: Sun Oct 18, 2015 11:37 pm

Re: GBS 8200/8220 CFW Project

Post by AndehX »

That shift error does show, yes, and the green line is there on my TV as well as my capture card.

I should point out though, that the green line only appears after i've messed around with scaling and shifting the image
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

For the green line, you may also want to adjust the horizontal boarder masking.
This will hide capture garbage (the 5725 internal ADC capture) like this.

For the shifting, I'll see if it's feasible to use the VDS blanking adjust, instead of the IF.
Last edited by rama on Sat Jan 05, 2019 6:42 pm, edited 1 time in total.
User avatar
AndehX
Posts: 790
Joined: Sun Oct 18, 2015 11:37 pm

Re: GBS 8200/8220 CFW Project

Post by AndehX »

Playing around further, I've discovered if I shift the image while it's in 240p, then the shift carries over to 480i. If I shift while in 480i, it resets to default after 240p-480i switching.
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

Yeah, the fault happens when there isn't enough room to down-adjust the IF blanking.
I didn't consider that users could have changed this manually.
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

Round 2 committed :p

Hopefully this works in your use case as well now?
I also removed some delays with the visual glitch filter, which should make transitions appear less annoying.
User avatar
NoAffinity
Posts: 1018
Joined: Mon May 07, 2018 5:27 pm
Location: Escondido, CA, USA

Re: GBS 8200/8220 CFW Project

Post by NoAffinity »

I updated my GBS at around 11:24 a.m., and I gotta say, the performance is impressive. If there is more optimizations that came in an hour later, then I can only imagine it's getting really great...not that it wasn't already, but it keeps getting more great. :D

I captured some footage with resolution transitions from PS1, SS and N64. I'm also adding some bonus GBS testing footage, which I think will be a nice treat to anybody watching the video.

Video should be finished compiling and uploading to youtube in about...3 hours or so. 8)

Will post a link, but just wanted to drop yet another thank you, rama! I also did a bit of play testing and going through my chain - SCART -> GBS -> OSSC pass thru -> TCL 49" TV - there is no noticeable lag. I was pwning the AI in Street Fighter Alpha 2, which is one of my favorite Sega Saturn titles. And it looks great too boot!

Anyhoo, will post back in a bit.
User avatar
AndehX
Posts: 790
Joined: Sun Oct 18, 2015 11:37 pm

Re: GBS 8200/8220 CFW Project

Post by AndehX »

Yep, 240p-480i switching is pretty sweet now. vertical alignment seems to be consistent now. Tested Ridge Racer Type 4 on PS1 since that has 480i for menus and 240p ingame, and it's pretty seamless now. Just that bright green flash that gives the transition away :mrgreen:
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

@NoAffinity

That's really nice to hear. Stuff seems to progress after all :)

The cases where all the automation just works and the result is a sharp and correct image seem to be increasing.
I always wonder how the current performance would compare against some of the good scalers of past decades.
When everything works well, I think this solution can beat them!
And to think that it's really just all about the software.. ;p

I'm working on supporting more of the PC / PS2 in VGA mode formats now. Hope to see those videos later ;)

@AndehX
This new method is pretty safe from accidents by user controls, too!
It needs a bit of long time time testing before we know it's truly the solution.
Fiddling with the VDS parameters often has some unintended side effects. But hey, sometimes those are beneficial ;)

About the green flashes, one problem here is that I only get 5725 status updates by poll the device continuously.
Right now there is a 20ms window in which the source can switch modes (with accompanying glitch), and I don't know about it yet.
When this happens shortly before an update, I can lock the current image (probably) in time, and a visible glitch is prevented.
I have this in mind. Maybe this can be avoided fully some day :)
User avatar
AndehX
Posts: 790
Joined: Sun Oct 18, 2015 11:37 pm

Re: GBS 8200/8220 CFW Project

Post by AndehX »

rama wrote:About the green flashes, one problem here is that I only get 5725 status updates by poll the device continuously.
Right now there is a 20ms window in which the source can switch modes (with accompanying glitch), and I don't know about it yet.
When this happens shortly before an update, I can lock the current image (probably) in time, and a visible glitch is prevented.
I have this in mind. Maybe this can be avoided fully some day :)
Sounds like a pretty good solution in theory, locking the current image to hide the green flash would probably the best way to deal with it.
User avatar
NoAffinity
Posts: 1018
Joined: Mon May 07, 2018 5:27 pm
Location: Escondido, CA, USA

Re: GBS 8200/8220 CFW Project

Post by NoAffinity »

Here we go: https://youtu.be/mDhWpqToy9w

1440p viewing recommended

youtube is doing some smoothing of edges, which is unfortunate. It looks quite sharp in the native format. But, you still get a good glimpse of the transitions. Details are in the video description. Worth repeating: SS Dayton USA transitions from 240p to 480i during a fade between gameplay footage to the title screen. Kind of a neat effect, and aside from a very slight blip if you're looking for it, it is unnoticeable.

:edit: arrgh well youtube blocked the video. Will have to reupload without the additional dvd testing. Will get it posted tomorrow.
rama
Posts: 1373
Joined: Wed Mar 08, 2017 3:15 pm

Re: GBS 8200/8220 CFW Project

Post by rama »

Aw, what a shame. A DVD test section would've been neat!

Maybe a trailer or some unknown material can pass by the filters.
Gonna watch tomorrow then :)
RockeTim
Posts: 5
Joined: Sat Jan 05, 2019 2:55 pm

Re: GBS 8200/8220 CFW Project

Post by RockeTim »

Hi everyone! After years of lurking I finally broke down and made an account. Mad love for everyone here and for this project. It's such a fun project, and I want to say amazing work by everyone (esp Rama)! Thank you.

Finally moved away from my original pi zero version of the firmware in late November and my current version is from mid December. I just wanted to add that I also experienced the 240p to 480i shift using my snes on component inputs (component mod not retrovision cables). Not sure if the fix you did worked for both inputs. Just thought I would let you know. I'll try to update to the newest version later this week and test.
znpfg
Posts: 8
Joined: Sat Dec 16, 2017 4:58 pm
Location: Japan
Contact:

Re: GBS 8200/8220 CFW Project

Post by znpfg »

Happy new year!

I created the simple PCB circuit draft to simply assemble the gbscontrol.
Due to my first time to making the PCB, I need help.

Is there any other wrong connection or miss point I didn't expected?

Any kind of advice welcome.
Spoiler
Image
Higgy
Posts: 54
Joined: Thu Mar 15, 2018 1:29 pm

Re: GBS 8200/8220 CFW Project

Post by Higgy »

znpfg - nice work. rama mentioned that it is best to power with 5V. Maybe you could add a couple of through holes, then you can use the 2-pin power cable that comes with the GBS to power the control module. Solder it to the PCB and plug into the GBS for 5v.

I usually use a D1 Mini as my control module. It is narrower than the LoLin (that is what mine is) module so you might be able to have both options on the PCB depending on what has been bought (assuming this PCB is not just for your use).

PCBWay is a good cheap place to use. I have had PCB's made but I did not design them. And others can make them (if your ok with that).
Post Reply