RetroArch - Native 15khz CRT Support Bounty Suggestion [$50]


#81

This is awesome! Good luck on your assignment!


#82

That’s beautiful. I couldn’t even tell where the switches were transitioning.


#83

Amazing work, absolutely amazing. Thank you very much. Looking forward for the next release.


#84

Finally sat down to test everything with just the CRT hooked up - doesn’t seem like it wants to work with Custom Resolution Utility. At least, not if I’m setting everything up correctly. It’s entirely possible I’m not using CRU properly too, as I only recently found it.

If anyone else has it, it might be worth seeing if you get the same result - which is to say: Nothing happens. It’s a no go on my system - I’ll have to look into CRTEmuDriver to play with this.


#85

OK guys I’m attaching the latest version here. Included in the zip is both a native and surer version. Also @Retrorepair has done some testing and found that the incorporation of refresh switching has messed with the resolution switching.

So included are 2 versions if the normal version does not work correctly, this is due to the hz switch. So use the version labeled no_hz instead. This means that if you want to switch from pal to ntsc resolution you’ll have to manually switch from 50hz to 60hz. However, if you are just interested in ntsc this should not be a issue.

I thought as I am busy doing other things ATM I would release this version so you guys can do some extensive testing. Please let me know how you get on with it.

@hunterk Could you see if someone would like to add the options into the menu and send me over the source? Or if someone can guide me through it. I also think this will be the best method of implementation.

@Abwezi @Foxhole @SkyHighGam3r


#86

The best thing we can help you is if you upload your source to github, then someone can send you a pull request with menu options.

It’s not trivial but it’s not hard either

https://docs.libretro.com/tech/new-menu-options/


#87

I added a bit to the bounty so it’s $115 now. I don’t currently have a 15KHz CRT setup so I can’t really test it though.


#88

Thanks for the support. If you want play these consoles they way they were designed, get one :grin: it truly is the best experience. :sunglasses:


#89

I added $20 to the bounty. I should be able to test tonight when I get my vga to component transcoder. I’ll have to set up crt emudriver and what not. But it doesn’t look too difficult.


#90

Sorry it took me a little while to get around to testing the new build you uploaded. It handles the switch from PS1 bios to game perfectly it seems but other than that I’m finding it’s not actually switching resolutions when it should, for me at least anyways. I’m using the Super Resolution build and have attemped to use both the hz and no hz builds but still it wasn’t functioning correctly for me. N64 games ran interlaced the entire time. Tekken 3 did correctly run interlaced but I noticed a lot of screen tearing even with Vsync on I’m not sure if it’s related at all or not. Lastly I re-tested Sonic 2 and no res switch happened despite the double field option having fixed my issue previosly.

One last thing I notice is even though the fullscreen function of retroarch itself can change the resolution of any monitor it’s pointed to in the config file, this build will only change the resolution of the current main display in windows


#91

Ok. That’s very interesting. I’ve have had some really positive feed back as well.

Can you send me a list of the modelines you have installed?

Just to clarify, the older version using CSR.exe worked really well for you?


#92

Certainly! http://www.mediafire.com/file/73knjd9thtdq5sm/Switch%20Res%20files%20for%20testing.zip Here’s a link, it has my modeline.txt from CRT Emudriver as well as a copy of ra_res_hz after only running Donkey Kong 64 to show it only identified it for me as 480 the entire time despite previously switching to progressive after the logo screens


#93

I had some time to try the new builds and have some input for you. First i tried the hz switching build, with this build there was no resolution change whatsoever (Both super and native), though the tv acted as if there was, meaning there was a hiccup on the tv itself. Also there was a lot of tearing, acting like vsync isn’t turned on, again both in super and native. The no_hz build works better but not perfect, with the Super build the resolution will change but not from progressive to interlaced, like with sonic 2. On the ra_res_hz file the interlaced res will be detected as 240 instead of 480, tried it also with micro machines v3 on the ps1 and same issue. Tearing still happens, unfortunately. Seems like there’s a vsync issue with all the builds. Native build seems to change resolution correctly in all my tests, though there is still tearing with this release also.


#94

I also wanna mention some few other things that may help. First, i had no issue with tearing with the Native csr build but did have tearing with the Super csr build. Second, i noticed that there was one thing in common with all the builds that have tearing problems, in the ra_res_hz it always rounded the refresh rate to 60, and on the one build that works without tearing the refresh rate is listed as zeroes. Not sure if this means anything, just thought it might help letting you know.


#95

@Abwezi Thanks for that. I believe I have found a bug that is casing issues with switch and hz. I am currently working on this.

**When it comes to super resolutions, I still have not incorporated auto switching for aspect and scale or nearest resolution detection. So ATM the more resolutions the better. this the reason for out-putting ra-res. These are on the to-do list though. **

I’ve not done much super resolution work. Looking at @Abwezi 's mode lines there are only 4 of each resolution 2560 & 3840. Is this the standard installed resolutions? It will be a good starting point for nearest neighbor resolutions.

Donkey Kong 64 is an odd one. You have to enable angryloin and a couple other setting and set the resolution to 320x240 for switching to work correctly. This is because the the other CPU drivers do not send any change in resolution. Ask @Retrorepair about these setting.

Currently I am switching device 0, I can cycle through device to change them but this would mean that your LCD may change to 640x480. This happened to me but it switched to 320x240! I didn’t even know LCD monitors could run at this low res. Once I incorporate the menu option you will be able to choose the device. Either though its own option or RAs option.

looking at your mode-line list. I would say that it is lacking quite a few resolutions. I would some more resolutions. below is my current modelines and it is growing.

> “256x240_60 15.66KHz 60.00Hz” 4.89 256 264 288 312 240 242 245 261 -hsync -vsync

> “256x288_50 15.65KHz 50.00Hz” 4.88 256 264 288 312 288 292 295 313 -hsync -vsync

> “256x480_60 15.69KHz 60.00Hz” 4.90 256 264 288 312 480 483 489 523 interlace -hsync -vsync

> “256x576_50 15.68KHz 50.00Hz” 4.89 256 264 288 312 576 583 589 627 interlace -hsync -vsync

> “320x224_60 15.64KHz 59.92Hz” 6.26 320 336 368 400 224 234 237 261 -hsync -vsync

> “320x240_60 15.66KHz 60.00Hz” 6.26 320 336 368 400 240 242 245 261 -hsync -vsync

> “320x288_50 15.66KHz 49.70Hz” 6.26 320 336 368 400 288 293 296 315 -hsync -vsync

> “320x480_60 15.69KHz 60.00Hz” 6.28 320 336 368 400 480 483 489 523 interlace -hsync - vsync

> “320x576_50 15.68KHz 50.00Hz” 6.27 320 336 368 400 576 583 589 627 interlace -hsync -vsync

> “352x240_60 15.66KHz 60.00Hz” 6.77 352 368 400 432 240 242 245 261 -hsync -vsync

> “352x288_50 15.65KHz 50.00Hz” 6.76 352 368 400 432 288 292 295 313 -hsync -vsync

> “352x480_60 15.69KHz 60.00Hz” 6.78 352 368 400 432 480 483 489 523 interlace -hsync -vsync

> “352x576_50 15.68KHz 50.00Hz” 6.77 352 368 400 432 576 583 589 627 interlace -hsync -vsync

> “368x240_60 15.66KHz 60.00Hz” 7.02 368 384 416 448 240 242 245 261 -hsync -vsync

> “368x288_50 15.65KHz 50.00Hz” 7.01 368 384 416 448 288 292 295 313 -hsync -vsync

> “368x480_60 15.69KHz 60.00Hz” 7.03 368 384 416 448 480 483 489 523 interlace -hsync -vsync

> “368x576_50 15.68KHz 50.00Hz” 7.02 368 384 416 448 576 583 589 627 interlace -hsync -vsync

> “512x240_60 15.66KHz 60.00Hz” 9.77 512 528 576 624 240 242 245 261 -hsync -vsync

> “512x288_50 15.65KHz 50.00Hz” 9.77 512 528 576 624 288 292 295 313 -hsync -vsync

> “512x480_60 15.69KHz 60.00Hz” 9.79 512 528 576 624 480 483 489 523 interlace -hsync -vsync

> “512x576_50 15.68KHz 50.00Hz” 9.78 512 528 576 624 576 583 589 627 interlace -hsync -vsync

> “640x240_60 15.66KHz 60.00Hz” 12.15 640 664 720 776 240 242 245 261 -hsync -vsync

> “640x288_50 15.65KHz 50.00Hz” 12.14 640 664 720 776 288 292 295 313 -hsync -vsync

> “640x480_60 15.69KHz 60.00Hz” 12.18 640 664 720 776 480 483 489 523 interlace -hsync - vsync

> “640x576_50 15.68KHz 50.00Hz” 12.16 640 664 720 776 576 583 589 627 interlace -hsync -vsync

> “704x240_60 15.66KHz 60.00Hz” 13.40 704 728 792 856 240 242 245 261 -hsync -vsync

> “704x288_50 15.65KHz 50.00Hz” 13.40 704 728 792 856 288 292 295 313 -hsync -vsync

> “704x480_60 15.69KHz 60.00Hz” 13.43 704 728 792 856 480 483 489 523 interlace -hsync -vsync

> “704x576_50 15.68KHz 50.00Hz” 13.42 704 728 792 856 576 583 589 627 interlace -hsync -vsync

> “2560x224_60 15.66KHz 60.00Hz” 48.23 2560 2632 2856 3080 224 234 237 261 -hsync -vsync

> “2560x239_60 15.66KHz 60.00Hz” 48.23 2560 2632 2856 3080 239 241 244 261 -hsync -vsync

> “2560x240_50 15.65KHz 50.00Hz” 48.20 2560 2632 2856 3080 240 268 271 313 -hsync -vsync

> “2560x240_60 15.66KHz 60.00Hz” 48.23 2560 2632 2856 3080 240 242 245 261 -hsync -vsync

> “2560x248_58 15.73KHz 58.49Hz” 48.46 2560 2632 2856 3080 248 250 253 269 -hsync -vsync

> “2560x256_57 15.73KHz 56.80Hz” 48.46 2560 2632 2856 3080 256 258 261 277 -hsync -vsync

> “2560x264_55 15.73KHz 55.21Hz” 48.46 2560 2632 2856 3080 264 266 269 285 -hsync -vsync

> “2560x272_54 15.73KHz 53.70Hz” 48.46 2560 2632 2856 3080 272 274 277 293 -hsync -vsync

> “2560x280_52 15.73KHz 52.27Hz” 48.46 2560 2632 2856 3080 280 282 285 301 -hsync -vsync

> “2560x288_50 15.65KHz 50.00Hz” 48.20 2560 2632 2856 3080 288 292 295 313 -hsync -vsync

> “2560x288_51 15.73KHz 50.92Hz” 48.46 2560 2632 2856 3080 288 290 293 309 -hsync -vsync

> “2560x448_60 15.69KHz 60.00Hz” 48.33 2560 2632 2856 3080 448 467 473 523 interlace -hsync -vsync

> “2560x464_60 15.69KHz 60.00Hz” 48.33 2560 2632 2856 3080 464 475 481 523 interlace -hsync -vsync

> “2560x480_60 15.69KHz 60.00Hz” 48.33 2560 2632 2856 3080 480 483 489 523 interlace -hsync -vsync

> “2560x496_58 15.76KHz 58.49Hz” 48.80 2560 2632 2864 3096 496 499 505 539 interlace -hsync -vsync

> “2560x512_57 15.76KHz 56.80Hz” 48.80 2560 2632 2864 3096 512 515 521 555 interlace -hsync -vsync

> “2560x544_54 15.76KHz 53.70Hz” 48.80 2560 2632 2864 3096 544 547 553 587 interlace -hsync -vsync

> “2560x560_52 15.76KHz 52.27Hz” 48.79 2560 2632 2864 3096 560 563 569 603 interlace -hsync -vsync

> “2560x576_50 15.68KHz 50.00Hz” 48.28 2560 2632 2856 3080 576 583 589 627 interlace -hsync -vsync

Once native is fully working, which I’m hoping will be soon. I will start work on correcting super resolutions.

@hunterk There is a version of SwitchRes standalone for Linux, Its been ported by one of the guys who has done work with Calamity. This could be used as a front-loader to load RA temporally. Once I have got this windows version to a stable state, I’ll crack on with Linux.

@Foxhole I believe the bug that I have found is the main issue with the resolutions not switching correctly and causing tearing on the native resolution side.

@Bahn_Yuki Thanks for helping out. If you have issues with the latest version, please download one of the alpha version above. This used a external exe for switching and worked quite well. Please let me know how you have got on.


#96

Ok, Things are looking good. Initial test of this fix are really good. Interlaced and progressive switching are again fixed. Hz switching works as well. This is dependent on whether you have the correct mode-lines installed. One thing is that it could change multiple video devices. I only have one connected, unfortunately its down to you guys to find out.

Super res version now will output the super resolution to ra_res_hz. There is still a lot of work to be done on the super resolution side.

Please download and test, it would be nice to move on and start adding the menu options :grin:


#97

Awesome! I’ll test this the moment I can and I’ll also attempt to add some of those modes, but I think some of them may be outside of my TV’s range


#98

I’ve not been testing with super resolutions. Some of the ones installed on my list have the wrong frequencies. Test some games an first and check the ra_res_hz Then add any resolutions you may be missing!


#99

Just tried the new version. Tearing still happens on both native and super. I can’t comment about hz switching since i don’t use pal at all. Super is still having issues with switching from progressive to interlaced, for example sonic 2, it will run in 2560x240 instead of 2560x480. To be honest, the new version works pretty much the same as the former version with the no_hz switch. Native works the same, no issues with resolution switching, but vsync is still an issue.


#100

Only use usermodes if your using crtemudriver. Don’t bother with actualy modelines. User modes should look like this for example:

320 x 240 @ 60.000000

Depending on what monitor setting you have chosen in vmmaker it should pick porch settings etc that are within those limits.