RetroArch Mirror Mode
-
Thanks for getting back. I struggled with the newly downloaded bit....
I found that I need to right-click on the RAW box at this link to save it: https://github.com/libretro/glsl-shaders/blob/master/misc/image-adjustment.glsl. I'm doing that on a Windows PC.
I could then use Filezilla to copy that file across to my Raspberry Pi/RetroPie.... here...
configs\all\retroarch\shaders\presets\
...and with your extra help, working a treat. Thank you so much! Brilliant. Will work in an old Space Invaders machine etc. if I can't get the old hardware working.
-
I have one more question. I'm trying to layer a second shader to give nice scan lines on Space Invaders.
I tried crt-pi-vertical.gls. If I use that as the second shader, it seems to be ignored. If I use it as the first shader, it gives a strange sickly effect. Would love to get both working well together if possible.
-
@OneSwitch said in RetroArch Mirror Mode:
I tried crt-pi-vertical.gls. If I use that as the second shader, it seems to be ignored. If I use it as the first shader, it gives a strange sickly effect. Would love to get both working well together if possible.
I'm afraid I don't have any experience with shader compatibility issues. Perhaps someone else may have some thoughts.
-
Thanks @mediamogul - Best I've manged to get is using...
shader No.0: image-adjustment.glsl
shader No.1:scanline.glsl...the crt-pi-vertical and crt-pi shaders that I'd prefer to be using look nasty when combined with the flipping image-adjustment.glsl shader (and cause quite jerky play too, I assume because of the extra work they cause the RetroPie).
-
Got the issue fixed here: https://github.com/libretro/glsl-shaders/issues/88
Using Notepad++ on a PC, I saved the code below into a file (I called mine "image-adjustment2.glslp").
Then used Filezilla to save it to the path configs\all\retroarch\shaders\presets\
Then I'd load the game, go to shaders... load shader preset (image-adjustment2.glslp) .... apply changes .... shader parameters - flip vertical axis.... play. I believe that should work on a Taito Space Invaders quite nicely. Will try ASAP.
shaders = "2" shader0 = "../misc/image-adjustment.glsl" filter_linear0 = "false" wrap_mode0 = "clamp_to_border" mipmap_input0 = "false" alias0 = "" float_framebuffer0 = "true" srgb_framebuffer0 = "false" scale_type_x0 = "source" scale_x0 = "1.000000" scale_type_y0 = "source" scale_y0 = "1.000000" shader1 = "../crt/shaders/crt-pi.glsl" filter_linear1 = "false" wrap_mode1 = "clamp_to_border" mipmap_input1 = "false" alias1 = "" float_framebuffer1 = "true" srgb_framebuffer1 = "false" parameters = "ia_target_gamma;ia_monitor_gamma;ia_overscan_percent_x;ia_overscan_percent_y;ia_saturation;ia_contrast;ia_luminance;ia_black_level;ia_bright_boost;ia_R;ia_G;ia_B;ia_ZOOM;ia_XPOS;ia_YPOS;ia_TOPMASK;ia_BOTMASK;ia_LMASK;ia_RMASK;ia_GRAIN_STR;ia_SHARPEN;ia_FLIP_HORZ;ia_FLIP_VERT;CURVATURE_X;CURVATURE_Y;MASK_BRIGHTNESS;SCANLINE_WEIGHT;SCANLINE_GAP_BRIGHTNESS;BLOOM_FACTOR;INPUT_GAMMA;OUTPUT_GAMMA" ia_target_gamma = "2.200000" ia_monitor_gamma = "2.200000" ia_overscan_percent_x = "0.000000" ia_overscan_percent_y = "0.000000" ia_saturation = "1.000000" ia_contrast = "1.000000" ia_luminance = "1.000000" ia_black_level = "0.000000" ia_bright_boost = "0.000000" ia_R = "1.000000" ia_G = "1.000000" ia_B = "1.000000" ia_ZOOM = "1.000000" ia_XPOS = "0.000000" ia_YPOS = "0.000000" ia_TOPMASK = "0.000000" ia_BOTMASK = "0.000000" ia_LMASK = "0.000000" ia_RMASK = "0.000000" ia_GRAIN_STR = "0.000000" ia_SHARPEN = "0.000000" ia_FLIP_HORZ = "1.000000" ia_FLIP_VERT = "1.000000" CURVATURE_X = "0.100000" CURVATURE_Y = "0.150000" MASK_BRIGHTNESS = "0.700000" SCANLINE_WEIGHT = "6.000000" SCANLINE_GAP_BRIGHTNESS = "0.120000" BLOOM_FACTOR = "1.500000" INPUT_GAMMA = "2.400000" OUTPUT_GAMMA = "2.200000"
-
Really neat idea. I’m gonna try this later on a few games I know pretty well, and see how far I can throw a controller in rage.
-
One related question... Is it possible to do this sort of thing with Emulation Station? I.e. flip the screen horizontally so that you can play the game in a mirror on a CRT TV (either with Pi2Scart or composite 4:3 output)?
I'm told RecalBox can do this, but I'd love to stick with the RetroPie set-up I know well in comparison.
I've posted here too: ES Github issues
-
@OneSwitch said in RetroArch Mirror Mode:
I'm told RecalBox can do this
How exactly can it do this ?
Emulationstation does not have shader support, so what you're asking is not yet implemented. -
@OneSwitch why is this an ES issue? presumably once you've loaded the game, it's now a game issue. there doesn't seem much point in fixing it in ES if there's no a solution for the games as well. never mind if you load the command prompt/retropie-setup menu...
-
@OneSwitch said in RetroArch Mirror Mode:
I'm told RecalBox can do this
Whoever told you this is probably saying crap. Afaik :
- the only thing you could do to ES is rotate it (by using the rpi firmware
display_rotate
config), which is different from flipping - for flipping you'd need a compatible emulator (i don't think there are many apart from RA + shaders, and it wouldn't even affect RA's menu)
- the only thing you could do to ES is rotate it (by using the rpi firmware
-
@barbudreadmon said in RetroArch Mirror Mode:
the only thing you could do to ES is rotate it (by using the rpi firmware display_rotate config), which is different from flipping
EmulationStation (the RetroPie fork) has a
--screenrotate
option which allows you to rotate it - independent of any RPI configuration - https://github.com/RetroPie/EmulationStation/pull/348.However, it doesn't do flipping (mirroring), that's why I'm curious if the Recalbox ES fork has any additional features like this - or if the mirroring to which @OneSwitch refers is done outside of ES.
EDIT: @OneSwitch there is another option - using Reshade. It's an external application that can apply shaders to DirectX/OpenGL externally. However, it's a Windows only application, so it's not going to work with RetroPie.
-
@dankcushions said in RetroArch Mirror Mode:
is an ES issue? presumably once you've loaded the game, it's now a game issue. there doesn't seem much point in fixing it in ES if there's no a solution for the games as well. never mind if you load the command prompt/retropie-setup menu...
With HDMI, you can flip the screen horizontally (and I think vertically), to give an image of everything that will look the right-way around when viewed in a mirror.
With component/SCART output suitable for a CRT TV, you can use a RetroArch shader to get the image flipped and rotated so it works perfectly in a mirror too (see this forum post). This is good, but obviously, all the menus, the screensaver (easier to fix) and general RetroPie/ES menus are the wrong way around. It would be very nice to find a fix for that last piece of the puzzle.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.