RetroArch 1.8.2 released

retroarch_banner.png

Keeping up with their new and more frequent release schedule, the libretro team has just made available a new stable version of RetroArch, their popular front-end for emulators, engines and everything else retrogaming-related! Version 1.8.2 introduces accessibility options for blind people by using your OS' integrated text-to-speech to read the game text out loud (supports Windows, macOS and Linux - you can find more about it here or check it out in the video below). Two long-requested features have also been finally included: an option to update all the installed cores with a single button press and manual content scanning (configurable content search based on file names, no database check - ideal for consoles and system with little RAM due to reduced resource usage). Talking about the latter, the scanner is now also able to check for available content files inside archives, a feature that can be turned on or off to your liking (if you don't compress your ROMs, it may be better to disable it as it will likely increase the time required to perform a scan).

A couple of platform-specific improvements have also been made: Android's Vulkan driver is now able to switch between portrait/landscape orientations and the Vita port now features a GL1 driver (however, it's recommended to keep using Vita2D for the time being, which has also seen some slight updates).



There are also some other new features and enhancements, like automatic arcade content naming using DAT files, several UI improvements and a better, faster, multi-threaded ffmpeg core! Here is the full changelog for the more curious readers:
1.8.2

  • BUG/CRASH/GLSLANG: Fix glslang crashing error – managed to reproduce an issue which has been plaguing users for a while, where glslang throws an assert after closing a game (and starting a new one). This would affect all video drivers that use Slang for shaders, such as D3D10/11/12/Vulkan/Metal
  • CHEEVOS: Display Unofficial and Unsupported achievement states
  • CHEEVOS: Pass RetroArch and core versions through User-Agent HTTP header
  • CHEEVOS: Use PSX.EXE if SYSTEM.CNF cannot be found
  • CHEEVOS: Prevent loading state while achievements are still being fetched from server
  • CHEEVOS: Pause hardcore if core doesn’t support achievements
  • CHEEVOS/CRASH: Fix AddressSanitizer + CHD cause hard crash when Cheevos are enabled
  • CORE UPDATER: Only download when new core is available
  • CORE UPDATER: Add option to update all installed cores
  • DRM/KMS: Better detection for the current video mode
  • DYNAMIC RATE CONTROL: Support DRC even when using a vsync swap interval higher than 1
  • EMSCRIPTEN: Fix bug in Emscripten input code
  • EMSCRIPTEN: Changes to support upgraded emscripten SDK
  • FFMPEG CORE: Hardware accelerated video decoding
  • FFMPEG CORE: Implement send/receive encoding API, will allow for hardware accelerated AMD video encoding
  • FFMPEG CORE: The video FIFO can be removed, since we have a ring buffer in its place. This removes unneeded copy operations and as a positive side improves overall decoding speed. Makes 8k60p SW and 4k60p HW decoding feasible on many systems. For now the ring buffer is 32 images deep. This limitation will be removed, once audio and video decoder have their own packet handling.
  • INPUT: Fix ‘Analog stick controls menu even if autoconfig disabled’
  • INPUT/TURBO: Added alternate Turbo-Mode ‘Single Button’ – For systems supporting only a single button, the turbo-button will toggle firing that button without the need to hold it. When holding the button turbo will be suspended and resumed when the button is released. Holding the button may have a different function to just tapping it.
  • IOS: Forcibly disable Threaded Video until UIWindow concurrency issues are fixed
  • INPUT/ANALOG: Fix radial analog deadzone scaling
  • INPUT/ANALOG: Implement proper analog button deadzone
  • INPUT/MENU: Analog stick controls menu even if autoconfig disabled
  • LOCALIZATION: Update Italian translation
  • LOCALIZATION: Update French translation
  • LOCALIZATION: Update Polish translation
  • LOCALIZATION: Update Portuguese Brazilian Translation
  • LOCALIZATION: Update Turkish translation
  • LINUX/LOCALIZATION: Correct Droid Sans Fallback font path in Linux. This should fix Chinese/Korean font display issues on Fedora/RHEL/CentOS/openSUSE/SLE
  • MENU/BUGFIX: When using a keyboard/gamepad/mouse wheel to navigate, the menu scroll position is always maintained and updated in a consistent (and expected) fashion
  • MENU/BUGFIX: When resizing the window, or changing the orientation of a mobile device, the current scroll position is correctly preserved
  • MENU/BUGFIX: All ‘normal’ pointer input is now inhibited when showing message boxes
  • MENU/BUGFIX: The pointer actions ‘select’ and ‘cancel’ both now properly close a message box if it is currently being shown
  • MENU/BUGFIX: Pointer ‘select’ and ‘cancel’ actions are now inhibited when an input bind dialog is active
  • MENU/INPUT: Change ‘User’ terminology to ‘Port’ for input binding
  • MENU/LINUX: Add proper drives to Load Content
  • MENU/MATERIALUI: Halt scrolling when pointer is pressed/stationary
  • MENU/MATERIALUI: Dual thumbnail view
  • MENU/MATERIALUI: Fullscreen thumbnail viewer for boxart
  • MENU/MATERIALUI: Scroll rapidly by press and holding the scrollbar
  • MENU/RGUI: New theme ‘Flux’
  • MENU/OZONE: Thumbnails now have a fade-in animation
  • MENU/OZONE: Fullscreen thumbnail viewer for boxart and pictures
  • MENU/QT/WIMP: Fix dock titles getting cut off
  • MENU/XMB: Fullscreen thumbnail viewer for boxart and pictures
  • MENU/USABILITY: Selectively hide ‘Disallow Non-Slave Mode Clients’ if ‘Allow Slave-Mode Clients’ is disabled
  • MENU/USABILITY: Hide ‘Show desktop menu on startup’ if ‘Desktop menu’ setting itself is disabled
    MENU/USABILITY: Reimplement Quick Menu – > Shaders -> Watch shader files for changes – can now be turned on/off through touch
  • MENU/USABILITY: Refactor Quick Menu – Controls – each port now has its own submenu
  • MENU/USABILITY: Quick Menu – Cheats – Delete All no longer requires five right button presses – this should fix this functionality for mobile touch users too
  • MENU/USABILITY: Hide Refresh Rate options when Threaded Video is enabled – these settings do nothing with Threaded Video
  • MENU/USABILITY: Hide Logging Verbosity levels behind Logging Verbosity
  • MENU/USABILITY: Get rid of ‘Port Number’ label for Port Binds screen
  • MENU/USABILITY/MOBILE: Should no longer crash when clicking on a cheat entry
  • MENU/USABILITY: Shader parameters now have a dropdown list
  • MENU/USABILITY: Shader passes now has a dropdown list
  • MENU/USABILITY: Video – Hide Windowed Mode settings selectively
  • MENU/USABILITY: Video – Hide Fullscreen Mode settings if windowed mode is not supported by context driver
  • MENU/USABILITY: Selectively hide Network Command Port
  • MENU/USABILITY: Selectively hide Relay Server Location
  • MENU/USABILITY: User Interface -> Appearance – Selectively hide XMB Horizontal Animation setting
  • MENU/USABILITY: Playlists – more selective hiding
  • MENU/USABILITY: Selectively hide Rewind Settings
  • MENU/USABILITY: Selectively hide Overlay Settings
  • MENU/USABILITY: Selectively hide FPS Update Interval based on Display Framerate being enabled
  • MENU/USABILITY: Selectively hide Onscreen Notifications BG Color Settings
  • MENU/USABILITY: Settings -> Logging – Hide ‘Log To File Timestamp’ if ‘Log To File’ is disabled
  • MENU/USABILITY: Video -> Scaling – Hide Custom Viewport X/Y when Integer Scale is enabled as description indicates
  • MENU/USABILITY: Achievement submenu – selectively hide
  • MENU/USABILITY: Settings -> Video -> Aspect ratio – selectively hide/show values based on whether you have Custom or Config selected
  • MENU/USABILITY: Settings -> Video -> Selectively hide Hard Sync
  • MENU/USABILITY: Settings -> Video -> Implement selective hiding for VSync and Hard Sync
  • MENU/USABILITY: Selective hiding of Runahead settings based on global setting
  • MENU/USABILITY: Add Input -> Haptic Feedback submenu
  • MENU/USABILITY: Add Input -> Menu Controls submenu
  • MENU/USABILITY: Settings -> Video -> Max Swapchain Images – Add OK action
  • MENU/USABILITY: Input – Implement OK action for Bind Hold, Turbo Period and Duty Cycle
  • MENU/USABILITY: Input – Hotkey Binds refactor
  • MENU/USABILITY: Move ‘Press Quit Twice’ and ‘Menu Toggle Gamepad Combo’ to Input -> Hotkey Binds
  • MENU/USABILITY: Video – Add sublabel for Video Output submenu
  • MENU/USABILITY: If ‘Favorites Tab’ is disabled, don’t show ‘Add To Favorites’ option in Quick Menu/Playlist menu
  • MENU/USABILITY: If On-Demand Thumbnail Downloader is enabled, hide ‘Download Thumbnails’ from playlist menu screen
  • MENU/USABILITY: Add Audio Driver setting to Audio -> Output
  • MENU/USABILITY: Add Audio -> Resampler settings
  • MENU/USABILITY: Add Audio -> Output and Audio -> Synchronization
  • OPENGL: Shaders are now working properly (only in OpenGL) when rotating both from Core API rotation and from menu video rotation. The fix is clearly visible with crt-royale for example
  • OPENGL: 1:1 PAR is now correct when rotating (both from Core API rotation and from menu video rotation, as you said, in the latter case you currently have to change Aspect Ratio after menu video rotation for it to work)
  • OPENGL: When using Custom Aspect Ratio and rotation (both from Core API rotation and from menu video rotation), Integer Scaling is now working properly (correct multiples of internal resolution). Even when Integer Scaling is not activated, the Custom AR width / height are now correctly labeled using (1x), (2x), … suffixes. You also have to activate Integer Scaling after menu video rotation for it to work
  • OPENGL: For all other Aspect Ratio options, Integer Scaling and rotation (both from Core API rotation and from menu video rotation) are now working properly together (correct multiples of internal resolution). You also have to activate Integer Scaling after menu video rotation for it to work
  • OPENBSD/POWERPC: Should build now on OpenBSD PowerPC
  • PLAYLISTS: Pressing ‘Start’ or long touching a playlist will bring you to a Playlist submenu where you can set a default core, setup thumbnail view, delete the playlist, etc
  • OSX: Forcibly disable Threaded Video until NSWindow concurrency issues are fixed
  • PSP: Solving issue exiting RetroArch by HOME button
  • SCANNER: Manual scanner, not dependent on database files
  • SCANNER/MANUAL: Add option to scan inside archives
  • SCANNER/MANUAL: Enable automatic naming of arcade content via DAT files. This is compatible with DAT files in either Logiqx XML or MAME List XML format.
  • VIDEO: Do not reinit video driver on SET_SYSTEM_AV_INFO unless needed
  • VIDEO: Support DRC even when using a vsync swap interval higher than 1
  • VIDEO LAYOUT: Fixed XML parsing of attributes with spaces, should fix issues with several video layouts
  • VITA: GL1 driver support
  • VITA/VITA2D: Several improvements to Vita 2D driver – menu widgets implemented
  • VITA/VITA2D: Fix clipping and reduce number of calls
  • VULKAN/ANDROID: Workaround weird WSI return codes in landscape mode – Android WSI wants you to use preTransform, and if it is not used correctly, Android 10 will return VK_SUBOPTIMAL_KHR, and we would create a new swapchain every frame. This workaround just ignores this error, since it’s not really an error. A more “proper” fix is to use prerotate and modify the MVP matrices, which might help certain devices with crummy display processors
  • VULKAN/ANDROID: Recreate swapchain on orientation change. ANativeWindow getWidth/Height does not detect any changes when using Vulkan, so use the old onContentRectChanged callback to get notified when size changed. Use those values instead when figuring out how large swapchain to create
  • WINDOWS/XINPUT: Get rid of 128 byte device name limit for XInput device discover – when device name was too long, it would not be picked up by the XInput driver and would instead fallback to DirectInput
  • WINDOWS: ANGLE OpenGL ES 2 support
  • UWP: Fix crashes on startup / prompt for folder permissions when trying to load custom.ini
  • UWP: Fix – Mouse input is offset on high DPI monitors
  • UWP: Fix – Keyboard input hangs sometimes
  • UWP: Fix – Multi-touch support
  • UWP: Fix – Enable menu touch input by default
  • UWP: Fix – Get user language
  • UWP: Fix – Get CPU model name
  • UWP: Fix – Use GLUI instead of XMB on Windows Mobile 10
  • UWP: ANGLE OpenGL ES 2 support

:arrow: Source
:download: Download
 

Smoker1

Well-Known Member
Member
Joined
Feb 17, 2015
Messages
5,034
Trophies
1
Location
California
XP
6,025
Country
United States
In theory it should not be going slower, but it could always be the case that as code changes in current projects, performance deficits pile up. But usually it's the best policy to point this out to the devs (barbudreadmon and FB Neo devs in this case) in order to learn what is going on. There could all be sorts of reasons for this being the case.

Also, in case it wasn't apparent already - do NOT use the GL1 video driver unless you absolutely have to. Vita2D will still be faster for all software rendered cores.

In the meantime, you could try if the FB Alpha cores have the same issue - the CPS2/CPS1 based ones. On average though I would always recommend using FB Neo at this point as it's an actually active project.


If FBNeo (not FBA, our CPS emulation module was upgraded just before we changed name) was previously running cps at full speed on your vita, that should still be the case. Core options might be the problem here, what values do you currently have for "Frameskip", "CPU clock" and "Enable cyclone" ?
- "Enable cyclone", while i don't recommend it because it breaks compatibility with some games (we won't fix), might be required on slow devices like the vita
- "CPU clock" affects CPS emulation, the higher you set it, the higher the hardware requirements will be, furthermore it's now working properly (previously it wasn't working as it should due to wrong value conversion, ending up in a much lower clock than what was set), in some cases you might even consider setting it to values lower than 100% (it's now possible) to lower the hardware requirements because the game never made full use of the original hardware in the first place.
- "Frameskip" set to 1 might help a lot on slow devices

Vita2D is the Default I think. Being used, as I do not change it. All Settings are Default.
FBA has same Issue. FBA2012 seems to do MUCH better, but no Cheats can be used.
 
  • Like
Reactions: THYPLEX

ChiefReginod

Well-Known Member
Member
Joined
Jun 11, 2016
Messages
696
Trophies
0
Location
California
XP
2,500
Country
United States
For anyone having trouble with Manual Scan (ie, your DAT/XML file isn't listed in the file browser when trying to specify an Arcade DAT), check the comments here for a workaround:

https://github.com/libretro/RetroArch/issues/9894

Short version:
Settings > Directory > File Browser - must be set to a folder on the same drive as your ROMs and DAT file. Any folder will do, it just has to be set to one on the same drive.
 
Last edited by ChiefReginod,

barbudreadmon

New Member
Newbie
Joined
Dec 28, 2019
Messages
4
Trophies
0
Age
44
XP
61
Country
France
FBA has same Issue. FBA2012 seems to do MUCH better, but no Cheats can be used.
Oh, so your previous statement was not about comparing fbneo to earlier version of fbneo, maybe you should be careful with words, it's misleading.
Yeah, fbneo is more accurate & featured than the old fork, hence the higher requirements, and while we try to keep things playable on old machines (some people in the team are using 20 years old computers) we can't do miracles for even slower machines.
Whatever, i gave you the core options that might help with your case, feel free to toy with them or to use the old fork.
 
  • Like
Reactions: THYPLEX

barbudreadmon

New Member
Newbie
Joined
Dec 28, 2019
Messages
4
Trophies
0
Age
44
XP
61
Country
France
They were working better before though
Better is different from faster.
Furthermore, with the cyclone & emulated cpu underclocking features, fbneo can probably be faster than fbalpha2012 for cps emulation, while still providing a better emulation.
I don't think running cps at full speed with fbalpha2012 on psvita is possible in the first place, psvita seems worse than a raspberry pi 1 in terms of raw performance, and raspberry pi 1 can't play cps at full speed with fbalpha2012, it might be possible with fbneo and smart core options choices though.
 
Last edited by barbudreadmon,

Danethos86

Well-Known Member
Newcomer
Joined
Jan 5, 2019
Messages
82
Trophies
0
Age
38
XP
157
Country
United States
Hope someday nswitch can play GameCube,vita, and so on without android os though retroarch
And hope better nds support on nswitch soon
 

Smoker1

Well-Known Member
Member
Joined
Feb 17, 2015
Messages
5,034
Trophies
1
Location
California
XP
6,025
Country
United States
Better is different from faster.
Furthermore, with the cyclone & emulated cpu underclocking features, fbneo can probably be faster than fbalpha2012 for cps emulation, while still providing a better emulation.
I don't think running cps at full speed with fbalpha2012 on psvita is possible in the first place, psvita seems worse than a raspberry pi 1 in terms of raw performance, and raspberry pi 1 can't play cps at full speed with fbalpha2012, it might be possible with fbneo and smart core options choices though.
FBA2012 seems to work perfectly. Only problem is that Cheats can not be Searched for or even Used if you have them. FBA was working perfectly as well. Cheats could be created, used, and could run pretty much any CPS1/2 Game with no Issues noticed. Now, it is like only 2012 is good.
 

matpower

Messenger from Zero
Member
Joined
May 5, 2012
Messages
1,103
Trophies
2
Age
24
Location
Best state in Brazil
XP
2,585
Country
Brazil
Yeah. I didn't want to load a nightly so I have been holding up for a stable release.
If it is not done, I guess I will just pull the trigger and get the nightlies.
Just tried and it seems like the improved gpSP core is there on Vita. GBA Doom ran at silky smooth 60fps without overclocking, pretty nice.
 

barbudreadmon

New Member
Newbie
Joined
Dec 28, 2019
Messages
4
Trophies
0
Age
44
XP
61
Country
France
FBA2012 seems to work perfectly

FBA was working perfectly as well

No they don't "work perfectly", cps's qsound emulation was inaccurate and got upgraded in may 2019, maybe 1 week before we changed name, which is what bumped hardware requirements.
We don't plan on reverting back to inaccurate emulation because someone doesn't want to optimize his settings (as i said, it's probably just a matter of tuning core options) on a device that is slower than a 20 years old computer, so feel free to keep using fbalpha2012 if you are fine with inaccurate sound in cps games.
 
Last edited by barbudreadmon,
D

Deleted User

Guest
https://www.libretro.com/index.php/retroarch-1-8-5-released/
Retroarch 1.8.5 released:

New default menu

Based on the results of a popular vote poll we held on Twitter, Ozone is now the default menu driver moving forward for RetroArch. If you still would like to use the previous menu (XMB), you can still do that – just go to Settings, Drivers, change Menu to ‘xmb’, and restart RetroArch.

There are also some important changes made to the scaling of the Ozone menu. It now scales based on DPI, and you are also able to configure the scaling to whatever suits your preferences. The widgets/notifications are now also scaled appropriately.

Do note that Lakka will stay with the XMB menu as the default menu, but you will definitely be able to switch to Ozone there as an optional feature.

There have also been plenty of important Quality of life improvements made to the menu. To learn more about this, see the section ‘Changelog’.

Important bugfix/crash fixes

An important bug has been fixed which would prevent RetroArch from launching on 64-bit x86 Chromebook hardware.

The threaded video driver on Linux was previously very unstable with OpenGL. We have managed to fix the majority of these issues.




1.8.5


  • 3DS: Keep the bottom screen hidden on sleep/wakeup. When the 3DS wakes back up after being closed, the bottom screen needs to be reinitialized. Adding the condition here will cause the screen to be turned on or off based on the state of ctr_bottom_screen_enabled, as you’d expect
  • ANDROID/CHROMEBOOK/CRASH: Fix Chromebook crashes (on x86 x64) when touching the screen
  • BUGFIX: Prevent double input when using ‘return’ key (hardware) to close on-screen keyboard
  • BUGFIX: Fix mouse capture hotkey not working
  • BUGFIX: Avoid overflow when calculating multiplying performance counter
  • BUGFIX: Retroarch overlay displaying “Game remap file loaded.” on the overlay instead of “Core remap file loaded.” when only a core remap file is present
  • CHEEVOS/BUGFIX: Achievement triggers could cause Retroarch to Crash
  • CHEEVOS: Don’t block Sameboy core because it only exposes some memory
  • CHEEVOS: Support for extended Sega CD memory
  • CHEEVOS: Show RetroAchievements Hash in content information list
  • CHEEVOS: If the core says it’s exposing SYSTEM_RAM, give it the benefit of the doubt
  • CHEEVOS: RetroAchievements rich presence for RA.org website/Discord
  • CHEEVOS: Reset token when username or password changes
  • CHEEVOS: Display measured progress on locked achievements
  • CHEEVOS: Queue multiple popups
  • CHEEVOS: Add delay retries to leaderboard submits
  • CHEEVOS: Prevent buffer overflow when encountering an unknown macro
  • CORE UPDATER: Prevent hang when fetching core list if HTTP transfer fails
  • DISK CONTROL: Add disk labels to ‘disk inserted’ notifications
  • EMSCRIPTEN: Recreate input event listeners properly
  • FFMPEG CORE: Fix crash on seeking when using HW decoding in some cases
  • LIBRETRO: Add disk control interface API extension
  • LINUX: Avoid possible crash when running retroarch at startup
  • LINUX/GLX: Fix threaded video crashes/instability because of GLX OML sync callbacks
  • LOCALIZATION: Update French translation
  • LOCALIZATION: Update Korean translation
  • LOCALIZATION: Update Polish translation
  • LOCALIZATION: Update Spanish translation
  • LOCALIZATION: Update Portuguese Brazilian translation
  • MENU: Add Menu Scroll Acceleration option
  • MENU: Automatically select currently checked item when opening drop-down lists
  • MENU: Fix smooth (vertical) line ticker scroll speed
  • MENU: Don’t flush on override/remap messages
  • MENU/DATETIME: Adds some new timedate styles that follow the DD/MM/YYYY format, found in several European countries
  • MENU/DATETIME: Modifies the existing translation files in order to accommodate the new options that are now available
  • MENU/DATETIME: Reorders the timedate view options based on a decreasing order of the quantity of information displayed, so that they are more convenient to switch around and easily categorized
  • MENU/BUGFIX: Fix bug – if you were in XMB and you would set menu driver to RGUI, you could no longer go to the left or right tab
  • MENU/MATERIALUI: Add option to remove navigation bar
  • MENU/OZONE: Add DPI-based scaling
  • MENU/OZONE: Add rudimentary pointer support
  • MENU/OZONE: Add ‘Nord’ and ‘Gruvbox Dark’ themes
  • MENU/OZONE/POINTER: Pointer can be used to switch between sidebar and entries list
  • MENU/OZONE/POINTER: Pointer can be used to select sidebar and entries list items
  • MENU/OZONE/POINTER: Both sidebar and entries list can be scrolled by dragging
  • MENU/OZONE/POINTER: Clicking/pressing the header or footer produces a ‘cancel’ action
  • MENU/OZONE/POINTER: Cursor focus follows mouse pointer from sidebar to entries list (and vice versa)
  • MENU/OZONE/POINTER: In entries list, item under cursor is automatically selected (with some fudging to ensure this doesn’t break mouse wheel scrolling)
  • MENU/OZONE/POINTER: In sidebar, item under cursor is not automatically selected (this is too jarring)
  • MENU/RGUI: Add ‘Flux’ theme
  • MENU/XMB: New color themes ‘Cube Purple’, ‘Family Red’, etc
  • NETPLAY/MENU/BUGFIX: Fix Netplay Stateless Mode doesn’t save. Affects other netplay settings which can be overridden by commandline option
  • ODROID GO ADVANCE: Rotation support
  • NETPLAY/ROOMS/BUGFIX: Prevent out-of-bounds array indexing when displaying/selecting netplay rooms in menus
  • SCANNER: Add ‘Arcade DAT Filter’ Option
  • SCANNER: Add scanning Korea and Asia PS1 discs
  • SCANNER: Add support for scanning PSP Korean
  • VIDEO: Set hardware ‘Bilinear filtering’ off by default
  • VIDEO/WIDGETS: Widgets are now menu-independent
  • VIDEO/WIDGETS: Allow notifications to use full screen width when not displaying menu
  • VIDEO/WIDGETS: DPI-based scaling
  • VIDEO/WIDGETS: Fix volume widget scaling
  • VIDEO/WIDGETS: Add independent widget scale override settings for fullscreen/windowed modes
  • VIDEO/WIDGETS/BUGFIX: Prevent improper display of (old style) OSD text when widgets are enabled
  • VIDEO/WIDGETS/THREADED/BUGFIX: Fix issue – corruption of menu widgets when running some cores (e.g. VICE) with threaded video enabled
  • WIFI/CONNMANCTL: Display more characters from SSID
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: https://www.youtube.com/watch?v=gYzI76fwaM0