free5ty1e
Participant
Post count: 37

Hi!

So, I am such a Dreamcast fan that I decided to fork @gizmo98’s Reicast repo and started to dig in. My main goal was to simply get a reasonable controller map going for the PS3 controller, which I use for everything :D

Success!

https://github.com/free5ty1e/reicast-emulator

Here is my fork. The first thing I attempted was to get the PS3 controls mapped, I finally got this figured out (along with laying much of the groundwork required to support multiplayer) in the “free5ty1e/ps3-controller-mappings” branch. Works great! I even got the L and R triggers mapped, and all the “extra” buttons (C, D, Z buttons) from special controllers mapped too! Rush 2049 is way fun again :D

I even coded up a quick and dirty “quit” button — when you press the PS3 button, Reicast quits.

So, THEN I got ambitious. I noticed there were many improvements in the main repo that hadn’t made it through to gizmo’s repo, which we are building against. I figured my git-fu was advanced enough to handle the inevitable merge conflicts and compilation issues that would arise from bringing these improvements over to the Pi, so I dove in. The results are still a WIP but it works and currently has the latest upstream master branch code merged in. More to come, but so far there is a significant framerate improvement! I feel sometimes as though I’m playing at above 30fps. There are still random stutters that happen as things need to load from SD, but I’ve been enjoying the latest improvements playing Rush 2049 and Marvel Vs Capcom 2 and it’s damn near as fun as a real Dreamcast!!

https://github.com/free5ty1e/reicast-emulator/tree/free5ty1e/rpi2/merged-impovements

Here is my latest branch with the performance improvements also included (branch name is “free5ty1e/rpi2/merged-improvements”). Moar to come!

Also, in case anyone cares, here is the script I’m using to pull and compile my latest work onto the Pi, utilizes RetroPie methods already in place as much as possible (I just change the git repo loocation):

#!/bin/bash
echo "Temporarily modifying RetroPie module..."
sed -i '/gitPullOrClone/c\gitPullOrClone "$md_build" https://github.com/free5ty1e/reicast-emulator.git free5ty1e/rpi2/merged-impovements' ~/RetroPie-Setup/scriptmodules/emulators/reicast.sh

echo "Requesting a build through official RetroPie calls..."
sudo ~/RetroPie-Setup/retropie_packages.sh reicast

echo "Restoring original RetroPie-Setup state..."
pushd ~/RetroPie-Setup
git reset --hard
popd

Not quite sure where to put a pull request in for these changes, as gizmo’s repo is forked from the upstream repo, and we are currently building a non-master branch from gizmo’s repo for reicast currently…. so here’s how I figured I’d open the discussions xD