Reicast - Problems and Ideas
-
In my adventure exploring Retropie I am currently messing around with Reicast. I am using Lubuntu x64 16.04 on an Intel NUC. I encountered several issues which lead to also some questions. Maybe I can just list them and I would be happy if someones has thoughts about it:
Forced use of OSS on x86
I noticed that currently Retropie forces the use of OSS as audio backend in theemulators.cfg
. But the start script then usesaoss
to still reroute back to alsa:reicast = "CON:/opt/retropie/emulators/reicast/bin/reicast.sh alsa %ROM%"
Why is that? I thought that
aoss
was only needed for programs that do not support alsa natively. But it turned out that Reicast can use alsa directly. Also I noticed quite a noticeable peformance gain when using alsa directly as opposed to oss with aoss. So, maybe alsa could be used natively on x11?Source Repo
When building Retropie on RPi then this git URL is used:
https://github.com/RetroPie/reicast-emulator.git
Branch: retropieOn x86/x11 then this is used:
https://github.com/reicast/reicast-emulator.git
Branch: fix/softrend-fugly-castsIs that still the best choice for x86? That branch seems kinda old and also a bit unmaintained. Would it possibly improve x11/x86 to switch to another branch (like that "retropie" or master branch)? Also a bit related to my next question :)
Alsa backend initialization problem
There is this problem that prevents Reicast from correctly initializing alsa on my system (and probably also other's). I invested hours reading about alsa and debugging into alsalib and by now I am really sure that is just a code problem with Reicast. There is this uninitialized variable that is passed into alsa by pointer and it causes undefined behavior since alsalib reads from it. Well, just initializing that variable fixes it. I made a pull request about it for original Reicast:
https://github.com/reicast/reicast-emulator/pull/986
It is just a tiny change:int dir
->int dir = -1
I did it just today but since Reicast seems not very well maintained currently and because there are 18 other PRs pending I don't think this will get merged. So maybe there is a chance I could get this incorporated into you Reicast fork. Of course this would only make sense when switching x86 source URL in Retropie to your Reicast fork.
-
@gizmo98 would be best to answer your questions as the module code is mostly his.
-
have you tried lr-reicast btw - which might be a better choice on x86 ?
-
@BuZz said in Reicast - Problems and Ideas:
have you tried lr-reicast btw - which might be a better choice on x86 ?
Thanks, good point! I tried it some time ago but it crashed right on startup. I gave it another try now and I found out that I had to put the BIOS to
~/Retropie/BIOS/dc
. Without BIOS it just throws a strange "SH4ThrownException". Now it seems to start correctly. -
Yeah. Lr-reicast is the best Solution for PCs.
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.