Dreamcast mvc2 crashing at stage 2
-
Roger that. Do I need to reinstall the standard reicast or just start manually building again like we were?
-
@tackett1980 Yeah, reinstall reicast from the retropie setup script first. There are other files/links that still need to be there for the custom-built binary to work.
-
Ok will do.
-
Hello,
Sorry this took so long to get back to but here goes.-I reinstalled the retropie reicast
-I followed what we did to begin with at the beginning of this thread to build the reicast.elf.
This was all successful.I continued our steps and in the end I still ended up with three “reicast for mvc2” emulators.
I chose one and booted and this time it booted, however. It still crashed at stage 2.
I then looked to edit both the files in the way you showed me.
The 49046ae.sh file is no longer 0kb. It is 4. The text appears identical to what you posted.
However the emulators.cfg is where the three reicast for mvc2 settings were. This cfg had the reicast for mvc pointing toward the standard reicast binary , which explains the original results. I then made this like the one you showed which is now pointing toward the 49046 binary and then tried to boot the rom.
This one will not boot, crashes back to emulation station. Hold on I will copy the run command log.
Parameters: Executing: /opt/retropie/emulators/reicast/bin/reicast_49046ae.sh oss "/home/pi/RetroPie/roms/dreamcast/Marvel vs. Capcom 2 (USA).gdi" libEGL warning: DRI3: xcb_connect failed libEGL warning: DRI2: xcb_connect failed libEGL warning: DRI2: xcb_connect failed Config dir is: /home/pi/.reicast/ Data dir is: /home/pi/.reicast/ Personality: 00C00000 Updated personality: 00800000 ARM VFP-Run Fast (NFP) enabled ! Linux paging: 4096 00001000 00000FFF Virtual cfg config:homedir=/home/pi Virtual cfg x11:fullscreen=1 Virtual cfg input:evdev_device_id_1=2 Virtual cfg input:evdev_mapping_1=/opt/retropie/configs/dreamcast/mappings/controller_DragonRiseInc.GenericUSBJoystick.cfg Virtual cfg input:evdev_device_id_2=3 Virtual cfg input:evdev_mapping_2=/opt/retropie/configs/dreamcast/mappings/controller_DragonRiseInc.GenericUSBJoystick.cfg Virtual cfg input:evdev_device_id_3=-1 Virtual cfg input:evdev_mapping_3=-1 Virtual cfg input:evdev_device_id_4=-1 Virtual cfg input:evdev_mapping_4=-1 Virtual cfg input:joystick_device_id=-1 Virtual cfg players:nb=2 Virtual cfg audio:backend=oss Virtual cfg audio:disable=0 Virtual cfg config:image=/home/pi/RetroPie/roms/dreamcast/Marvel vs. Capcom 2 (USA).gdi Error: Unable to open X display evdev: Opened device 'DragonRise Inc. Generic USB Joystick ' using custom mapping 'DragonRise Inc. Generic USB Joystick mapping' evdev: Opened device 'DragonRise Inc. Generic USB Joystick ' using custom mapping 'DragonRise Inc. Generic USB Joystick mapping' Screen DPI is 96, size 0 x 0. Scaling by 1.00 CreateContext EGL: wind: (nil), disp: (nil) EGL: Got display EGL Error: eglInitialize failed Failed to create rendering context evdev: Device 'DragonRise Inc. Generic USB Joystick ' on port 0 disconnected evdev: Device 'DragonRise Inc. Generic USB Joystick ' on port 1 disconnected
I also tried to run from the command line with no success.
-
This might be due to a missing patch that's required for Pi3 (but not the Pi4). But this..
EGL Error: eglInitialize failed
..could mean you have a different version of the bios files than I do. To confirm, just get the md5sum value..
pi@raspberrypi:~ $ md5sum ~/.reicast/data/*.bin e10c53c2f8b90bab96ead2d368858623 /home/pi/.reicast/data/dc_boot.bin 764b39e3d3fa15f0156b9595ec68416d /home/pi/.reicast/data/dc_flash.bin eff5d8cead94b9e62b9b12817fa585af /home/pi/.reicast/data/dc_nvmem.bin
If your values for these files are the same, then I would say this is not going to work on the Pi3. I'm not sure you need to worry about dc_nvmem.bin (as I think that's installed by flycast). But the other 2, should be the same as mine.
I can tell you for sure, it works on the Pi4. I would like to take a closer look at the retropie way of installing patches, because that's the only missing piece I can think of at this point.
-
Wait.
Those paths doesn’t look right.
My reicast bios are in
Home/pi/RetroPie/bios/dcNot the hidden folder.
-
Oh that's interesting. Note that .reicast is just a symbolic link (not a real directory). The real directory is /opt/retropie/configs/dreamcast/data/. As far as I know, that's where reicast looks for the *.bin files. I think it's flycast that looks to ~/RetroPie/BIOS/dc/. I would try copying the *.bin files from ~/RetroPie/BIOS/dc/ to /opt/retropie/configs/dreamcast/data/.
-
..and it does look like there's a slight difference in the nvmem bin file between reicast and flycast:
pi@raspberrypi:~ $ md5sum ~/.reicast/data/*.bin e10c53c2f8b90bab96ead2d368858623 /home/pi/.reicast/data/dc_boot.bin 764b39e3d3fa15f0156b9595ec68416d /home/pi/.reicast/data/dc_flash.bin eff5d8cead94b9e62b9b12817fa585af /home/pi/.reicast/data/dc_nvmem.bin pi@raspberrypi:~ $ md5sum ~/RetroPie/BIOS/dc/*.bin e10c53c2f8b90bab96ead2d368858623 /home/pi/RetroPie/BIOS/dc/dc_boot.bin 764b39e3d3fa15f0156b9595ec68416d /home/pi/RetroPie/BIOS/dc/dc_flash.bin ec6f52b681b2220d0c363abec77af8f2 /home/pi/RetroPie/BIOS/dc/dc_nvmem.bin
But I would still try copying all 3 dc_*.bin files to ~/.reicast/data/
-
Copy or move them entirely? As far as I know the official reicast build looks for them in the /bios/dc folder. I originally had a hard time getting reicast to even load with them in any other directory.
I wonder if the pi4 build wants them in a different directory or if the dev reicast does.
-
@tackett1980 Yeah, I think you're right. In looking back at the reicast.sh, it does seem that it's looking to ~/RetroPie/BIOS/dc/. Maybe I have the bin files under ~/.reicast/data/ because I followed the wiki page when I was originally setting everything up.
The other interesting thing is that you get a LOT more output in your runcommand.log than I do. I only get about 3 lines. Not sure why that is. So I guess just compare your md5sum values in ~/RetroPie/BIOS/dc/ to mine. Those should be the same, regardless of us being on different Pi models.
Copying the files won't hurt anything, so you can try that too. Copy them, don't move them. If it still doesn't work, the last resort (as I know all too well from my job) would be a join.me session.
-
Ok so there are short cuts in my data folder to both the bios files that points toward the bios/dc dir.
The nvmem is also there, but it’s an actual file and not a shortcut.
Does anyone have this working properly on pi3? Surely I’m not the only one having this issue.
-
You're right again.. it's the same on my pi4.. there are only symlinks in ~/.reicast/data/ and a copy of nvmem.
-
So it seems like for some reason or another the new binary isn’t working.
Is that about the jest of it? Everything is pointing to run it it right?
-
As long as /opt/retropie/emulators/reicast/bin/reicast_49046ae.sh points to reicast_49046ae (not 'reicast'), then I would say it's all configured properly. My only thought is that the patches retropie applies are needed for the Pi3 but not the Pi4. I'll see if I can get the patches applied.
The only other thing I can think of is for you to try the binary I built:
https://we.tl/t-75ac0J2aTuIt's possible it will just work.
-
Also, I just noticed that your run command doesn't specify XRES and YRES. Yours looks like..
Executing: /opt/retropie/emulators/reicast/bin/reicast_49046ae.sh oss "/home/pi/RetroPie/roms/dreamcast/Marvel vs. Capcom 2 (USA).gdi"
Here's mine:
Executing: /opt/retropie/emulators/reicast/bin/reicast_49046ae.sh alsa "/home/pi/RetroPie/roms/dreamcast/Marvel vs. Capcom 2.chd" 640 480
For reference, I've had to manually edit the emulators.cfg, because for some reason, the start script always sets XRES to zero (and my games will not launch). The line I've modified in the .cfg is:
reicast-for-mvc2 = "/opt/retropie/emulators/reicast/bin/reicast_49046ae.sh oss %ROM%"
Mine looks like:
reicast-for-mvc2 = "/opt/retropie/emulators/reicast/bin/reicast_49046ae.sh alsa %ROM% 640 480"
So you can try that change with the binary you built and with the one I built.
So in your case, try..
reicast-for-mvc2 = "/opt/retropie/emulators/reicast/bin/reicast_49046ae.sh oss %ROM% 640 480"
-
Ok on the way home from work will give that a try.
-
@tackett1980 Sounds good. If it doesn't work, I have one more thing for you to try (which is to just update the retropie-setup to pull from the newer branch). Then there will be no fiddling with config files that way.. you'll just replace one file under the ~/RetroPie-Setup directory and then install it from source using the standard retropie_setup.sh. I didn't suggest this before because it's typically better to append an existing installation than to modify it, but in this case, it seems warranted.
-
You know what’s odd?
The new binary and the binary .sh file are both gone....
That’s really weird. I did not delete them.
-
Interesting.. maybe the retropie-setup script did that. It did that to me on redream if I recall correctly.
I think the new way I've found to perform the installation should work better. I just want to blow away my existing reicast installation first, then reinstall (to make sure the steps I give you are correct). I'll come back to this later tonight.
In the meantime, you can do the same (uninstall reicast using the retropie_setup.sh, then just take a look at /opt/retropie/configs/dreamcast/emulators.cfg, and manually remove any reicast entries that may still be in there. That should get you ready to run the updated installation script that I'll post here later.
-
Ok, hopefully this will do it..
Steps to install the correct version of reicast on RetroPie (i.e. build from the 'stable' branch, not the abandoned 'master' branch):
1.) Run RetroPie-Setup > Manage Packages > Manage Optional Packages > reicast > Remove.
2.) Open /opt/retropie/configs/dreamcast/emulators.cfg in a text editor, and remove any lines pertaining to reicast. Then save the changes.
3.) Make a backup copy of ~/RetroPie-Setup/scriptmodules/emulators/reicast.sh. Either copy it to your Windows machine, or copy it to to your home directory on the pi (/home/pi/).
4.) Open ~/RetroPie-Setup/scriptmodules/emulators/reicast.sh in a text editor, and replace it with my version of the script shown here
5.) Run RetroPie-Setup > Manage Packages > Manage Optional Packages > reicast > Install from source
If it still doesn't work after that, open emulators.cfg in a text editor again (as you did in step 2), and see if the reicast line specifies the variables %XRES% and %YRES%. If it does, replace those with 640 and 480. Here's my emulators.cfg for reference:
default = "redream" lr-flycast = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-flycast/flycast_libretro.so </dev/null --config /opt/retropie/configs/dreamcast/retroarch.cfg %ROM%" redream = "/opt/retropie/emulators/redream/redream %ROM%" reicast-audio-alsa = "/opt/retropie/emulators/reicast/bin/reicast.sh alsa %ROM% 640 480"
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.