ramapcsx2 / gbs-control

GNU General Public License v3.0
793 stars 111 forks source link

GBS C does not work with different resolution presets #499

Open SyskoRodriguez opened 1 year ago

SyskoRodriguez commented 1 year ago

So far my GBS works great, and I love the picture quality. however, ever since i built it a couple of days ago i hae noticed that changing the resolution to anything at all other than default will exhibit weird behaviour. I re-soldered the clock signals and i even got a different power adapter (https://a.co/d/0rCbVuh) but nothing seems to work. And i see this behaviour with my snes and my wii, both using component cables. the examples below are from my wii with generic component cables

When i tried setting the resolution to 1080p, the blue light goes out on the ESP and it becomes unresponsive. The serial monitor says this:

22:18:55.248 -> (WiFi): still connecting.. 22:18:55.248 -> ext clockgen detected 22:18:55.280 -> 22:18:55.317 -> Chip ID: 1A 1 22:18:55.317 -> G: 3E G: 3F G: 40 G: 41 G: 42 22:18:55.703 -> R: 3E R: 3F R: 40 R: 41 R: 42 R: 43 R: 44 22:18:56.009 -> B: 3E B: 3F B: 40 B: 41 B: 42 B: 43 B: 44 22:18:56.311 -> 22:18:57.075 -> Activity detected, input: Component 22:18:57.108 -> 22:18:57.108 -> 2345678 22:18:57.278 -> Format change: 3 22:18:57.729 -> ADC offset: R:44 G:42 B:44 22:18:57.729 -> clock gen reset: 108000000 22:18:57.903 -> HTotal Adjust: -2 22:18:57.935 -> 22:18:57.935 -> preset applied: 1920x1080 for EDTV 60Hz(set your TV aspect ratio to 16:9!) 22:18:57.980 -> 22:18:59.019 -> source Hz: 59.94207 new out: 59.77952 clock: 112373904 (+4373904) 22:18:59.102 -> 22:18:59.102 -> .(WiFi): STA mode connected; IP: 192.168.0.21 22:18:59.726 -> (WiFi): Access 'http://gbscontrol:80' or 'http://gbscontrol.local' (or device IP) in your browser 22:19:00.272 -> ! power / i2c lost !

When i tried 480p the ESP seems to keep working, this is the output from the serial monitor when i swap from 960p to 480p and back to 960p:

22:27:02.074 -> preset applied: 720x480 for EDTV 60Hz 22:27:02.074 -> 22:27:03.041 -> source Hz: 59.94211 new out: 59.93003 clock: 81030040 (+30040) 22:28:04.627 -> user command f at settings source 1, custom slot 65, status 4 22:28:04.674 -> ADC offset: R:44 G:42 B:44 22:28:04.674 -> clock gen reset: 162000000 22:28:04.892 -> HTotal Adjust: -5 22:28:04.939 -> 22:28:04.939 -> preset applied: 1280x960 for EDTV 60Hz 22:28:04.939 -> 22:28:05.925 -> source Hz: 59.94207 new out: 59.94211 clock: 161991024 (-8976)

but when i change to 480p the image cuts in and out, while also being extremely wobbly, here is a picture

IMG_6954

although i can change it back to 960p and the output will be normal again.

Finally, when i try passthrough mode it once again seems to work fine in the output. Here is the serial monitor:

22:37:56.350 -> serial command K at settings source 0, custom slot 65, status 1 22:37:56.350 -> clock gen reset: 161991024 22:37:57.478 -> ADC offset: R:44 G:42 B:44 22:37:57.478 -> clock gen reset: 161991024 22:37:58.149 -> pass-through on

but the video output has this weird banding effect, shown in this picture: IMG_6955

here are some examples from my snes with hd retrovision cables

this is what happens when i change from 960p to 1080p (changing to 720p also exhibits similar behaviour):

22:58:08.425 -> user command s at settings source 0, custom slot 65, status 1 22:58:08.471 -> ADC offset: R:44 G:42 B:44 22:58:08.471 -> clock gen reset: 108000000 22:58:08.692 -> HTotal Adjust: -6 22:58:08.739 -> 22:58:08.739 -> preset applied: 1920x1080 for NTSC 60Hz (set your TV aspect ratio to 16:9!) 22:58:08.739 -> 22:58:09.752 -> source Hz: 60.10153 new out: 59.92882 clock: 112364848 (+4364848) 22:58:09.972 -> 22:58:09.972 -> . (debug) ign. length: 0x1A 22:58:11.187 -> (debug) ign. length: 0x1A 22:58:11.361 -> ! power / i2c lost !

this is what happens when i change from 960p to 480p:

22:59:42.139 -> user command h at settings source 0, custom slot 65, status 1 22:59:42.217 -> ADC offset: R:44 G:42 B:44 22:59:42.217 -> clock gen reset: 81000000 22:59:42.439 -> HTotal Adjust: -12 22:59:42.486 -> 22:59:42.486 -> preset applied: 720x480 for NTSC 60Hz 22:59:42.486 -> 22:59:43.518 -> source Hz: 60.10144 new out: 60.09814 clock: 81030304 (+30304)

and i get the same behaviour as the wii with the shaky video: IMG_6957

this is what happens when i go from 960p to passthrough:

23:04:01.738 -> serial command K at settings source 0, custom slot 65, status 1 23:04:01.738 -> clock gen reset: 161998896 23:04:02.874 -> ADC offset: R:44 G:42 B:44 23:04:02.874 -> clock gen reset: 161998896 23:04:03.574 -> pass-through on 23:04:03.574 -> HDBypass CsVsSt: 252 23:04:10.651 -> h: 428 v: 523 PLL:5 A:5e5e5e S:8f.10.01 H- I:00 D:00bf m:1 ht:2345 vt: 261 hpw: 169 u: 0 s:ff S:13 W:-44

and the same behaviour once again is seen on the snes although it is less extreme and does not come through in a picture.

what could be causing this issue?