Raspberry Pi 4B 4GB and the Sega Saturn
-
@phialek right, then that's the lr-yabasanshiro core, not standalone yabasanshiro. we're talking about standalone. lr-yabasanshiro may not get included until the shader hack has an upstream fix, but you can test it already, as you've done.
-
Ah ok i understand.
To be honest if there was at least a clear instruction how to install it, that would help a lot of people. I think it took me 3 hours to find the github and instructions to get it running. Until now that's the only way saturn games are playable and most people think the pi is too weak for saturn, which its not.
-
@phialek said in Raspberry Pi 4B 4GB and the Sega Saturn:
Every game which wasnt playable with yabause is now fullyplayable. Even daytona usa (2x resolution) and sega rally (1x)
Well, last time i saw a video of sega rally on pi4 with the libretro core version of yabasanshiro, it was frameskipping like crazy, considering how the frameskip was heavily noticeable (frameskip is when the emulator will skip the rendering of a frame to try to keep up with the original speed of the emulated game), it was probably way below 30 fps, that was indeed playable but not something i would call enjoyable. Usage of the standalone version will guarantee a way better performance.
-
@barbudreadmon If i remember there are one or two games that actually seem to play better with the LR version, but mostlt you desperately need stand alone.
Has anyone managed to remap the keys on the standalone? I have a short cut to kill it on my phone but it isn't an ideal solution
-
@mechafatnick said in Raspberry Pi 4B 4GB and the Sega Saturn:
If i remember there are one or two games that actually seem to play better with the LR version
Codebase was very hacky and totally unfriendly for a libretroization, and because of that a number of things had to be disabled in the libretro port, most notably the way standalone handles video rendering on a sub-thread to improve performance. There might be edge cases where those changes unexpectedly improved the performance instead, but overall between that and the overhead induced by libretro on gl-rendered cores, standalone will be way faster.
-
@barbudreadmon what is the best overclock for Saturn?
-
Any idiot proof guide to installing the standalone? I'm using lr-yabashanshiro, it's decent but some games aren't or barely working.
-
@genos98 please read above - there is no install script for standalone yabasanshiro on retropie.
-
Hi All,
I am attempting to install lr-yabasanshiro on my Pi4 using the script and diff file located here. The 01_shader_hack_rpi4.diff is failing to apply.
Is there a way to fix this?
Snippet of RetroPie-Setup logs below:
Checking out files: 100% (1988/1988), done. Submodule 'ext/eigen' (https://github.com/libigl/eigen.git) registered for path 'yabause/src/retro_arena/nanogui-sdl/ext/eigen' Cloning into '/home/pi/RetroPie-Setup/tmp/build/lr-yabasanshiro/yabause/src/retro_arena/nanogui-sdl/ext/eigen'... Submodule path 'yabause/src/retro_arena/nanogui-sdl/ext/eigen': checked out 'c34a9130bc585b288703bd9716d7efae194974e2' Winding back https://github.com/libretro/yabause.git->yabasanshiro to commit: #73c67668 Switched to a new branch '73c67668' HEAD is now in branch '73c67668' at commit '73c676680f753e10bfd53ecaf01293ac34b4a678' patching file yabause/src/yglshaderes.c Hunk #1 FAILED at 297 (different line endings). Hunk #2 FAILED at 319 (different line endings). Hunk #3 FAILED at 408 (different line endings). Hunk #4 FAILED at 467 (different line endings). Hunk #5 FAILED at 553 (different line endings). Hunk #6 FAILED at 1327 (different line endings). Hunk #7 FAILED at 1392 (different line endings). Hunk #8 FAILED at 1495 (different line endings). Hunk #9 FAILED at 1605 (different line endings). Hunk #10 FAILED at 1758 (different line endings). Hunk #11 FAILED at 1818 (different line endings). Hunk #12 FAILED at 1826 (different line endings). Hunk #13 FAILED at 1944 (different line endings). Hunk #14 FAILED at 1953 (different line endings). Hunk #15 FAILED at 2072 (different line endings). Hunk #16 FAILED at 2528 (different line endings). Hunk #17 FAILED at 2634 (different line endings). 17 out of 17 hunks FAILED -- saving rejects to file yabause/src/yglshaderes.c.rej lr-yabasanshiro patch /home/pi/RetroPie-Setup/scriptmodules/libretrocores/lr-yabasanshiro/01_shader_hack_rpi4.diff failed to apply /home/pi
-
-
@prince_rakeem The standalone version of Yabasanshiro is available in the experimental packages of RetroPie. I think is faster from the libretro variant.
-
@windg Yes, thank you. I have the standalone installed as well. I was doing a comparison on performance and for the handful of games that I am looking to play the libretro version is good enough as I need it to be able to add overlays. The only missing piece to the puzzle is mouse/lightgun support.
-
Hey, all. I am aware that lr-yabasanshiro is considered buggy and that the installation script linked above requires Raspberry Pi users to be on a commit from July 2020 to work.
Still, this version offers pretty good performance from a handful of Saturn lightgun games on an overclocked Raspberry Pi 4 that don't run very well in lr-yabause or lr-beetle-saturn (which already has lightgun support) for me. I wanted to try contributing for once instead of constantly asking for things, so I tried my hand at adding lightgun support based on the code used to add the mouse to lr-yabause:
https://github.com/StormedBubbles/yabause/tree/sinden
I can assign the lightgun to ports 1 and 2 and also assign the trigger and start buttons for each player separately in the RetroArch menu (multi-mouse works), but all shots register as offscreen whether I try to use a regular mouse or a Sinden lightgun. This occurred while testing "The House of the Dead."
My guess was that the (invisible) cursor is trapped in a corner of the screen, so I tried scaling the coordinates based on the emulator's
current_width
andcurrent_height
variables as well as the 0–65535 range that I found for absolute mouse coordinates while reading through various guides. However, that didn't work.Making guesses at things and re-compiling is definitely NOT the way to go about this, so I'm curious if anyone has any insight. Hopefully, this can work out so that the lightgun support can even be added to the upstream lr-yabasanshiro and lr-yabause and Raspberry Pi users can eventually use the up-to-date lr-yabasanshiro.
-
Hi All,
I noticed that lr-yabause has an option for "saturn mouse" in retroarch. I tried configuring a mouse, was able to get games to recognize that a mouse was connected (shows up in-game menus), but it seems the core does not detect any mouse movements on-screen. I tried changing mouse indices which didn't seem to make a difference. I am not sure if I am missing something or the mouse implementation is incomplete. Any suggestions?
-
@prince_rakeem what's the game you tried ? are you sure that game supports saturn mouse ?
-
@barbudreadmon I was trying chaos control. If you go into options there is a setting called 'mouse' which can be set to low, medium and high. Without a mouse detected the option is greyed out, but when set to mouse in RA this option becomes available and can be adjusted. There just doesn't seem to be any mouse movement in the menus or in-game when mouse is enabled in RA. A few other games that I believe support a mouse are Mighty Hits and Virtua Cop 1+2 which I would like to get working.
-
@prince_rakeem I confirm "Saturn Mouse" is working properly with the yabause libretro core, i remembered it was among the things i backported from the Kronos libretro core but i wasn't sure if i properly tested it. So this isn't a core issue, i can only guess you have a setup related issue.
-
@barbudreadmon Hi again.
I was experiencing the same issue as @prince_rakeem and found that disabling the HLE BIOS allows the mouse to work with Chaos Control Remix. However, there is an issue with the mouse's start button. The code defines this as
(input_state_cb_wrapper(i, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_START) || input_state_cb_wrapper(i, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_BUTTON_4) || input_state_cb_wrapper(i, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_BUTTON_5) ? PerKeyDown((i << 8) + PERMOUSE_START) : PerKeyUp((i << 8) + PERMOUSE_START));
However, I find that I need to set the input type to a regular controller to use a start button to get into the main menu from the title screen. From there, the mouse can navigate the menu with its XY movement and select with the mouse buttons. I tried tinkering with the code but can't seem to get the start button to register while in mouse mode.
-
@ChaosEffect said in Raspberry Pi 4B 4GB and the Sega Saturn:
HLE BIOS
The first rule of emulators that have a HLE bios is to install a real bios and use it instead, those HLE bios are always broken in some way.
About that start button issue, it seems this game won't recognize the saturn mouse before the title screen (specifically, it doesn't work on the language selection screen), i suppose that's how that game was programmed, there is nothing i can do about this.
-
@barbudreadmon Thanks! I was looking at the HLE BIOS as more of a "skip intro" option 😆.
The mouse code for lr-yabause that was brought over from lr-kronos also functions fine in lr-yabasanshiro. My hope is that the lightgun stuff is compatible across all three too.
The code I tested for lightguns in lr-yabasanshiro was just that lr-kronos mouse code with the appropriate gun entities from
/yabause/src/peripheral.c
substituted in. The buttons work for both players, but I'm lost with trying to get the coordinate tracking to work by connecting theRETRO_DEVICE_ID_LIGHTGUN_SCREEN_X
andRETRO_DEVICE_ID_LIGHTGUN_SCREEN_Y
RetroArch entities to Yabause's gun axes.If someone gets the itch to look into that, I imagine the lightgun feature would be good to go for lr-kronos, lr-yabause, and lr-yabasanshiro.
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.