GBS 8200/8220 CFW Project

The place for all discussion on gaming hardware
blank964
Posts: 25
Joined: Mon Dec 01, 2014 5:27 am

Re: GBS 8200/8220 CFW Project

Post by blank964 »

dooklink wrote:
blank964 wrote:I switched screens to a UN40EH5000 and a some feet of sofa distance. The pixel flicker on the mega drive (MD) is much less noticeable. I also tried a NTSC-U saturn, which was from what I could tell excellent (without pixel flickr). Now, I know the MD is rather temperamental and even the XRGB-mini requires boost on the sync strength. Do you have any ideas for MD specific improvements? I upped the input sync from the default of 4 to 8 and it may have helped (although it's hard to be sure).
What do you mean input sync? Do you mean the coast values? I'm not even sure if those are working correctly it's been so long since I've needed them.
Ah, there was some description like input sync on the coast menu, so I thought I was on the right track. Which lines correspond to sync voltage? I'm using RGB 480p settings.

I really must add that sharpness with rpi is like putting on the right pair of glasses. It's so massive there's no way to justify using a GBS 8200 without a the rpi.
User avatar
dooklink
Posts: 85
Joined: Fri Nov 07, 2014 6:16 am
Location: Australia

Re: GBS 8200/8220 CFW Project

Post by dooklink »

blank964 wrote:Ah, there was some description like input sync on the coast menu, so I thought I was on the right track. Which lines correspond to sync voltage? I'm using RGB 480p settings.

I really must add that sharpness with rpi is like putting on the right pair of glasses. It's so massive there's no way to justify using a GBS 8200 without a the rpi.
There is no sync voltage control. The coast settings are for dealing with composite sync. It allows the Hsync PLL to coast through the Vsync period.
Ace9921
Posts: 30
Joined: Sun Jul 18, 2010 7:18 pm

Re: GBS 8200/8220 CFW Project

Post by Ace9921 »

Got a bit of a problem here with the GBS-8220 in Component.

First off, the output is WAY too bright on my Sony KV-30HS420 CRT HDTV. The colors are good, but the black levels are all screwed up. Blacks are a very bright gray.

Second, I'm having issues getting the geometry right. The left side of the screen has a fairly large black bar, I can't adjust the vertical size and there's part of the bottom of the screen that's also blank. Are there any settings I need to adjust to correct this? I'm testing with a Genesis Model 1, VA3 motherboard.
blank964
Posts: 25
Joined: Mon Dec 01, 2014 5:27 am

Re: GBS 8200/8220 CFW Project

Post by blank964 »

Ace9921 wrote:Got a bit of a problem here with the GBS-8220 in Component.

First off, the output is WAY too bright on my Sony KV-30HS420 CRT HDTV. The colors are good, but the black levels are all screwed up. Blacks are a very bright gray.

Second, I'm having issues getting the geometry right. The left side of the screen has a fairly large black bar, I can't adjust the vertical size and there's part of the bottom of the screen that's also blank. Are there any settings I need to adjust to correct this? I'm testing with a Genesis Model 1, VA3 motherboard.
Do you have any pixel hot spots like mine (model 1)? It would be a region/area that looks like the pixels are heat wavy.
Ace9921
Posts: 30
Joined: Sun Jul 18, 2010 7:18 pm

Re: GBS 8200/8220 CFW Project

Post by Ace9921 »

No, I'm not getting any of that, just really bad black levels, which, strangely enough, only happen when I have the GBS-8220 directly connected to the TV's Component input. If I pass the video signal through the XRGB-Mini first, the black levels are fine.

Also, neither my Happauge HD PVR 2 nor the HD PVR Rocket can pick up the video signal from the GBS-8220.
User avatar
dooklink
Posts: 85
Joined: Fri Nov 07, 2014 6:16 am
Location: Australia

Re: GBS 8200/8220 CFW Project

Post by dooklink »

There is definitely something wrong with my component settings. I haven't got the right sync and black levels just yet. The sync on luma has to have the right sync and blanking timings or else it can set the black level incorrectly.
Ace9921
Posts: 30
Joined: Sun Jul 18, 2010 7:18 pm

Re: GBS 8200/8220 CFW Project

Post by Ace9921 »

Is there something I can do to adjust this myself or will I have to wait until you update your code? If I can adjust this myself, which settings would you suggest I alter?

EDIT: After some fiddling around with the settings, I found what parameter causes bad black levels, and that is VDS_HS_ST (HSync start). Setting this to 139 corrects the bad black levels, at least on the Genesis. I still need to test some more consoles to see if those work fine.

EDIT 2: I'm not getting anything good out of the Super NES (SHVC-CPU-01 board). The picture is VERY dark and the GBS-8220 won't sync to the input signal.

EDIT 3: Just tried using a Sega Master System on this and I'm getting a very clear picture, but shifted very high on the screen. This is a problem I've had with the Master System on the GBS-8220 already with stock firmware. Also, an RGB-modded Nintendo 64 (NUS-CPU-04 board) gives the same dark, desynced mess as the Super NES. The HD PVR 2 and HD PVR Rocket still won't pick up the video signal through their Component inputs, either.
blank964
Posts: 25
Joined: Mon Dec 01, 2014 5:27 am

Re: GBS 8200/8220 CFW Project

Post by blank964 »

What is setup for component out? Right now I have vga output and the composite from the rpi going into the green component of the GBS. Obviously to get component out I'd need a different setup. How should it be configured?
User avatar
dooklink
Posts: 85
Joined: Fri Nov 07, 2014 6:16 am
Location: Australia

Re: GBS 8200/8220 CFW Project

Post by dooklink »

blank964 wrote:What is setup for component out? Right now I have vga output and the composite from the rpi going into the green component of the GBS. Obviously to get component out I'd need a different setup. How should it be configured?
Do you mean input or output. I haven't got any component input settings yet. Component output just requires a VGA to 3 RCA cable. You then use the hotkeys to change the ui video mode and load a YPbPr setting in the menu.
blank964
Posts: 25
Joined: Mon Dec 01, 2014 5:27 am

Re: GBS 8200/8220 CFW Project

Post by blank964 »

dooklink wrote:
blank964 wrote:What is setup for component out? Right now I have vga output and the composite from the rpi going into the green component of the GBS. Obviously to get component out I'd need a different setup. How should it be configured?
Do you mean input or output. I haven't got any component input settings yet. Component output just requires a VGA to 3 RCA cable. You then use the hotkeys to change the ui video mode and load a YPbPr setting in the menu.
Simple enough. I'll try that!
Ace9921
Posts: 30
Joined: Sun Jul 18, 2010 7:18 pm

Re: GBS 8200/8220 CFW Project

Post by Ace9921 »

Anybody know enough about the Arduino and I2C? I would like to port the code over so it can work on an Arduino Uno with selectable resolution (240p/480p) at the push of a button.

Also, is there any progress regarding reprogramming the on-board EEPROM of the GBS-82x0?
User avatar
dooklink
Posts: 85
Joined: Fri Nov 07, 2014 6:16 am
Location: Australia

Re: GBS 8200/8220 CFW Project

Post by dooklink »

Ace9921 wrote:Anybody know enough about the Arduino and I2C? I would like to port the code over so it can work on an Arduino Uno with selectable resolution (240p/480p) at the push of a button.

Also, is there any progress regarding reprogramming the on-board EEPROM of the GBS-82x0?
It would be possible to run settings from an Arduino Uno, but the settings would need to be stored somewhere. You have two options, use an SD card, or use program flash memory and eeprom for small geometry changes.

As for the eeprom on the GBS, do you mean the microcontroller flash, I've already dumped it and have some assembly running.

The on board eeprom is a different story. I haven't looked at it yet.
cld
Posts: 1
Joined: Mon Dec 15, 2014 7:51 pm

Re: GBS 8200/8220 CFW Project

Post by cld »

Hi !

Just receive my GBS two day ago and just start to "play" with it.
Using my PAL PS2 in RGBS, before size calibration, I see lot of garbage in the bottom... Hum... Look like memory read glitch... (Or fucked synchro ?!?)

Hum... I'm curious, what happen if I connect my logical analyzer on the I2C bus ?
Oh ! It's fun, the MCU constantly asking the video processor for data. Hum... It's look like some status registers...
H resolution 1724... Well why not, it's just sampling size. Hu ?!? V-line, 602... Da f*** ?!?

Well, now I am sure, the synchro are completly fucked. I remember reading something about COAST generation in the datasheet (make PLL going in freerun around Vsync, because on composite sync the Vsync completetly fuck the Hsync).
Reg S5_38 (pre coast) and S5_39 (post), default value: 2 and 5. If I increase it to 2 and 10. Well no more garbage and V-line counter: 624 \o/

I haven't try with another source for the moment.
I don't know if you have face this problem, but maybe it's ONE of the reason that 50Hz not always work great with the GBS.
Ace9921
Posts: 30
Joined: Sun Jul 18, 2010 7:18 pm

Re: GBS 8200/8220 CFW Project

Post by Ace9921 »

My idea for the time being is to hard-code settings within the AtMega328 that would be sent to the TrueView 5725 on power-up via I2C (plus a 2-position switch to select between 240p and 480p output on the fly - Component output only for now). I will then take it from there.

Regarding the microcontroller, is that what tells the TrueView 5725 how to handle the incoming video signals? If you've managed to get it to work properly with 240p input, I would like to know how you did it and what you used to (if you have done so) reprogram the microcontroller flash.

I'm curious about one thing, though... can the TrueView 5725 be connected to an HDMI transmitter like the Analog Devices ADV7513? It would be awesome to repurpose this chip for RGB to HDMI conversion with 1080p upscaling and proper 240p input support.
User avatar
dooklink
Posts: 85
Joined: Fri Nov 07, 2014 6:16 am
Location: Australia

Re: GBS 8200/8220 CFW Project

Post by dooklink »

Ace9921 wrote:My idea for the time being is to hard-code settings within the AtMega328 that would be sent to the TrueView 5725 on power-up via I2C (plus a 2-position switch to select between 240p and 480p output on the fly - Component output only for now). I will then take it from there.

Regarding the microcontroller, is that what tells the TrueView 5725 how to handle the incoming video signals? If you've managed to get it to work properly with 240p input, I would like to know how you did it and what you used to (if you have done so) reprogram the microcontroller flash.

I'm curious about one thing, though... can the TrueView 5725 be connected to an HDMI transmitter like the Analog Devices ADV7513? It would be awesome to repurpose this chip for RGB to HDMI conversion with 1080p upscaling and proper 240p input support.
Hardcoding the values should work. If you want to use my settings they are in the '.set' files on my github. The settings files are just unix EOL text files with a single decimal value per line. Each value matches a register location for every bank from 0 to 5, starting at 0x00 to 0xFF. This give 256x6 values. Some of the register address are not valid and some are read-only, but my code is not very complex.
So the first 0-255 values are for Reg_S0 in order, then Reg_S1 and so on.
https://github.com/dooklink/gbs-control ... r/settings

The setting that allows for correct line-doubling of 240p without interpolations and correct 60fps is setting Reg_S4_4a [0] to 0b0.
This is a kind of a glitch I found, if it wasn't for this I would have given up on the GBS boards full stop. It turns of UV deinterlacing and only uses Y deinterlacing. If you input 480i it will cause massive flickering as the read positions are different. This means you will need 240p input and 480i input modes.

I'm not sure what you mean about switching 240p and 480p output. It might be possible to do 240p output, but why would you want to. Do you mean input, not output?
User avatar
ikari_01
Posts: 27
Joined: Mon Jan 30, 2012 9:07 am

Re: GBS 8200/8220 CFW Project

Post by ikari_01 »

dooklink wrote: The setting that allows for correct line-doubling of 240p without interpolations and correct 60fps is setting Reg_S4_4a [0] to 0b0.
Hm, I don't remember doing that... however I found it crucial to set Reg_S2_16 [7] to 1 to make the motion compensation artifacts go away (e.g. tiny trails behind the stars of the Saturn CD player star field)
That and disabling vertical resize of course.
User avatar
dooklink
Posts: 85
Joined: Fri Nov 07, 2014 6:16 am
Location: Australia

Re: GBS 8200/8220 CFW Project

Post by dooklink »

ikari_01 wrote:
dooklink wrote: The setting that allows for correct line-doubling of 240p without interpolations and correct 60fps is setting Reg_S4_4a [0] to 0b0.
Hm, I don't remember doing that... however I found it crucial to set Reg_S2_16 [7] to 1 to make the motion compensation artifacts go away (e.g. tiny trails behind the stars of the Saturn CD player star field)
That and disabling vertical resize of course.
Yes you also need to have bob and weave bypassed and vertical scaling off.
Ace9921
Posts: 30
Joined: Sun Jul 18, 2010 7:18 pm

Re: GBS 8200/8220 CFW Project

Post by Ace9921 »

dooklink wrote:I'm not sure what you mean about switching 240p and 480p output. It might be possible to do 240p output, but why would you want to. Do you mean input, not output?
I was considering building some SCART to Component converters with 240p and 480p output using the GBS-8200 as a base and bypassing the on-board microcontroller with an AtMega328 programmed via an Arduino Uno. I mention 240p/480p switchable output specifically because of this:
dooklink wrote:I've tried using the frame lock mode, but it doesn't really work as expected. The sync lock mode means you have to have identical output and input resolution/frequencies, so I don't think it can do scalling.
That's what the switch would be for. Have a digital input on the Uno connected to the switch with a pull-up resistor, then wire the switch's other terminal to Ground. 5V on the digital input sets the sync lock on, 0V on the input sets the sync lock off.

Which raises another question: if you enable sync lock, can the TrueView 5725 do RGB to Component conversion?
User avatar
dooklink
Posts: 85
Joined: Fri Nov 07, 2014 6:16 am
Location: Australia

Re: GBS 8200/8220 CFW Project

Post by dooklink »

Ace9921 wrote:Which raises another question: if you enable sync lock, can the TrueView 5725 do RGB to Component conversion?
I haven't tried it yet, but I think it can. The entire system is designed to work in YUV/Component. RGB inputs are converted, and RGB outputs are always converted as well.

So you plan on using the GBS as a pure transcoder? This might be usefull for me to try at 480p to get 480p Compnent onto my PC CRT. You would have to disable/bypass all RAM usage and set sync lock, not just frame lock. I think the only sections left on would run off the ADC Sync PLL.
Ace9921
Posts: 30
Joined: Sun Jul 18, 2010 7:18 pm

Re: GBS 8200/8220 CFW Project

Post by Ace9921 »

I plan on turning the GBS-8220 into a dual transcoder/line-doubler with the AtMega328 from an Arduino bypassing the existing microcontroller. The switch I mentioned will tell the AtMega328 to set the TrueView 5725 to either transcoder or line-doubler mode. Through the AtMega328, the output will be permanently set to Component and the geometry will be set to predefined values. The only thing that can be set is the output resolution, be it line-doubled or the same as the source.

My only problem is working with I2C on the Arduino. I need to familiarize myself with how it works. There may even be a screen shift issue once all is said and done as I've experienced with the Master System. For some reason, on both the original microcontroller and the Raspberry Pi, the picture has a nasty vertical shift upwards. If I correct this, then everything else is shifted too far down.

What I also don't get is why the Super NES and Nintendo 64 give a dark, desynced, stuttering mess. I know the Super NES has weird jitter issues with Lenkeng's LKV362A SCART to HDMI converter if I put an LM1881 on the Composite Sync output from the console where the top half of the screen jitters left and right, and I do have an LM1881 on my GBS-8220. It's possible this chip is causing issues with the sync signal going into the TrueView 5725. I will, however, have to test again with stock firmware because from what I remember, there was never a sync issue like this with either the Super NES or Nintendo 64 (RGB-modded, of course).
mvsfan
Posts: 1209
Joined: Sat Oct 06, 2012 12:24 am

Re: GBS 8200/8220 CFW Project

Post by mvsfan »

does the gbs-8220 rgb output header get processed by the gbs-8220 or is it just a pass through?

also anyone know where to find a cable for that output header? the gbs kit i have didnt come with one.

Im looking into mabeye getting an Nec multisync commercial display and they have RGBS inputs on them.

by the way nice work on the gbs dooklink. hopefully this will lead to some pre reprogrammed gbs kits being availiable.
User avatar
dooklink
Posts: 85
Joined: Fri Nov 07, 2014 6:16 am
Location: Australia

Re: GBS 8200/8220 CFW Project

Post by dooklink »

mvsfan wrote:does the gbs-8220 rgb output header get processed by the gbs-8220 or is it just a pass through?

also anyone know where to find a cable for that output header? the gbs kit i have didnt come with one.

Im looking into mabeye getting an Nec multisync commercial display and they have RGBS inputs on them.

by the way nice work on the gbs dooklink. hopefully this will lead to some pre reprogrammed gbs kits being availiable.
There is no pass through, they are connected to the outputs.

All of the headers are JST-XH headers of varying pin count. The output ones are a little hard to find as they are so long.
mvsfan
Posts: 1209
Joined: Sat Oct 06, 2012 12:24 am

Re: GBS 8200/8220 CFW Project

Post by mvsfan »

Thanks, dooklink. I was hoping that it gets processed by the gbs.

Ill try and find some of those connectors so i can make a cable.

Or i guess i could just take the connector out and solder the cable in.
User avatar
Crafty+Mech
Posts: 395
Joined: Sat Jan 19, 2013 1:17 am

Re: GBS 8200/8220 CFW Project

Post by Crafty+Mech »

Ace9921 wrote:My idea for the time being is to hard-code settings within the AtMega328 that would be sent to the TrueView 5725 on power-up via I2C (plus a 2-position switch to select between 240p and 480p output on the fly - Component output only for now). I will then take it from there.

Regarding the microcontroller, is that what tells the TrueView 5725 how to handle the incoming video signals? If you've managed to get it to work properly with 240p input, I would like to know how you did it and what you used to (if you have done so) reprogram the microcontroller flash.

I'm curious about one thing, though... can the TrueView 5725 be connected to an HDMI transmitter like the Analog Devices ADV7513? It would be awesome to repurpose this chip for RGB to HDMI conversion with 1080p upscaling and proper 240p input support.
There is some good example code out there for I2C communication using the ATMega (for both the Arduino environment, and AVR gcc).

Pretty straight forward, if I can find my links to the sample code I'll post them in this thread.
blank964
Posts: 25
Joined: Mon Dec 01, 2014 5:27 am

Re: GBS 8200/8220 CFW Project

Post by blank964 »

I'm giving an update on my genesis/mega drive issue I was talking about earlier for anyone that is interested in using this setup with the G/MD.

As stated previously, the VA0 Saturn with RGB cable from sega style and looked excellent with the rpi/gbs. My VA2 Model 1 (HD graphics) Genesis looked great but had some weird "heat wave" type effect on regions of the screen. This was with a retro console accessories model 1 cable.

I next tested three Model 2 Genesis versions.
Model 2, VA1 Shoei caps
Model 2, VA3 Rubycon caps (nice!) Mfg 1994
Model 2, VA4 Shoei caps Mfg 1996

The VA1 has a poor audio chip and should be avoided, but the VA3 and VA4 have nice audio chips but are still considered muffled relative to the Model 1 HD graphics. I am now using a retro gaming cables model 2 csync RGB cable. The VA4 while having the best audio out of all Model 2's for my setup was dropping sync (screen flicker off then on). The VA1 and VA3 were perfect with sync and looked absolutely excellent, comparable to the Saturn in quality. I adjusted the coast from 15 to 8 and the image is now rock solid on the VA4. So Gen2 VA4 is where I'm staying.

I'm pretty much in hardware nirvana right now with the rpi/gbs ;)
Image
Last edited by blank964 on Mon Jan 05, 2015 2:46 am, edited 2 times in total.
Drjebus
Posts: 23
Joined: Wed Apr 09, 2014 10:02 pm

Re: GBS 8200/8220 CFW Project

Post by Drjebus »

This is an excellent project. I look forward to implementing this myself :)
blank964
Posts: 25
Joined: Mon Dec 01, 2014 5:27 am

Re: GBS 8200/8220 CFW Project

Post by blank964 »

Someone with an XRGB-3 should compare its B1 sharpness to the rpi/gbs! I'm very curious what the result will be.

edit: I took a cell photo of my rpi/gbs slg3k pa246q to compare it to the photo found in this thread with the XRGB-mini http://www.assemblergames.com/forums/sh ... 5bfcc95d6d I wouldn't expect color perfection coming from my phone, but detail is something that can be compared I think.

Image
blank964
Posts: 25
Joined: Mon Dec 01, 2014 5:27 am

Re: GBS 8200/8220 CFW Project

Post by blank964 »

I honestly should stop posting here, but I'm just so thrilled with the performance of this setup I can't help posting more photos. It just looks so good.

Image

rynex never looked so good...
Image
NightSprinter
Posts: 225
Joined: Thu May 02, 2013 2:24 pm

Re: GBS 8200/8220 CFW Project

Post by NightSprinter »

This is looking fantastic! I'm now curious as to how it would work on medium resolution arcade games that don't use 60Hz refresh, and standard-res ones that are between 50-60.
blank964
Posts: 25
Joined: Mon Dec 01, 2014 5:27 am

Re: GBS 8200/8220 CFW Project

Post by blank964 »

I tried 0.2 but was getting some bash errors on gbs-control.sh so I went back to 0.1

gbs-control.sh: line 336: syntax error near unexpected token `)'
gbs-control.sh: line 336: ` leLioaUE=fi an./ -maxdepth60 -t"Typf |nd rt)
Post Reply