Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

Dreamcast reicast not starting



  • Hey guys,

    Did a fresh image yesterday as I hadn't updated to stretch yet.

    Installed reicast and put the bios files in dc but when starting reicast, it took a few seconds and then took me back to the menu.

    Tried various bios, checked the md5sum to match with the retropie doc, and after using alternate bios, when starting reicast I can get to a screen which says' Games' in the top left, 'Settings' in a blue box top right, and then below it says 'Dreamcast BIOS'. But I cant use anything on the controller. Therefore reicast wont even load for me to set up the memory cards.

    IMG_7555.jpg

    When I try playing games (.cdi) they open but nothing works on the controller, as if the autoconfig hasn't worked properly.

    Any help would be brilliant, I used to have dreamcast working perfectly!

    Pi Model or other hardware: 3
    Power Supply used: NorthPada
    RetroPie Version Used: 4.4.13
    Built From: Pre made SD Image on RetroPie website
    USB Devices connected: iPazzPort Keyboard Dongle
    Controller used: Sony PLAYSTATION(R)3 Controller Wireless
    Error messages received:
    Log found in /dev/shm/runcommand.log:

    Parameters:
    Executing: bash "/home/pi/RetroPie/roms/dreamcast/+Start Reicast.sh"
    glGetError 0x500
    Compiled
    Compiled

    Emulator: reicast



  • @ScrumpyDaniel
    Sixaxis driver.
    /opt/configs/dreamcast/mappings/controller_SonyPLAYSTATION(R)3Controller.cfg

    [emulator]
    mapping_name = Sony PLAYSTATION(R)3 Controller
    btn_escape = 314
    
    [dreamcast]
    btn_a = 304
    btn_b = 305
    btn_c =
    btn_d =
    btn_x = 308
    btn_y = 307
    btn_z =
    btn_start = 315
    btn_dpad1_left = 546
    btn_dpad1_right = 547
    btn_dpad1_up = 544
    btn_dpad1_down = 545
    btn_dpad2_left =
    btn_dpad2_right =
    btn_dpad2_up =
    btn_dpad2_down =
    axis_x = 0
    axis_y = 1
    axis_trigger_left =
    axis_trigger_right =
    
    [compat]
    btn_trigger_left = 310
    btn_trigger_right = 311
    axis_dpad1_x = 3
    axis_dpad1_y = 4
    axis_dpad2_x =
    axis_dpad2_y =
    axis_x_inverted = no
    axis_y_inverted = no
    axis_trigger_left_inverted =
    axis_trigger_right_inverted =
    axis_dpad1_y_inverted = no
    axis_dpad1_x_inverted = no
    
    EV_	ABS:3	KEY:1	MSC:4	JS_
    ABS_X	0			AXES 0 LeftStick x
    ABS_Y	1			AXES 1 LeftStick y
    ABS_Z	2			AXES 2 L2
    ABS_RX	3			AXES 3 RightStic x
    ABS_RY	4			AXES 4 RightStic y
    ABS_RZ	5			AXES 5 R2
    BTN_EAST	305	9000e	BTN  0 Circle
    BTN_SOUTH	304	9000f	BTN  1 X
    BTN_NORTH	307	9000d	BTN  2 Triangle
    BTN_WEST	308	90010 	BTN  3 Square
    BTN_TL		310	9000b	BTN  4 L1
    BTN_TR		311	9000c	BTN  5 R1
    BTN_TL2		312	90009	BTN  6 L2
    BTN_TR2		313	9000a	BTN  7 R2
    BTN_SELECT	314	90001	BTN  8 Select
    BTN_START	315	90004	BTN  9 Start
    BTN_MODE	316	90011	BTN 10 PS3Home
    BTN_THUMBL	317	90002	BTN 11 L3
    BTN_THUMBR	318	90003	BTN 12 R3
    BTN_DPAD_UP	544	90005	BTN 13 UP
    BTN_DPAD_DOWN	545	90007	BTN 14 DOWN
    BTN_DPAD_LEFT	546	90008	BTN 15 LEFT
    BTN_DPAD_RIGHT	547	90006	BTN 16 RIGHT
    

    you can use the key_codes as a reference
    I don't have the one for the playstation sixad driver.
    Using the reicast-joyconfig will list the inputs given but for some reason it will not save.



  • I had this exact same issue yesterday. I had a working reicast installed on my 3b+ and updated from source. I worked through a number of different BIOS until the games themselves would launch. When trying to launch Reicast I got the exact same screen that you displayed. I had the same problems with controls. Used the autoconfig but it simply wouldn't register any of the controllers I was using. I tried remapping my controls and using controller configs from another other 3B+ I have (which hasn't been updated) as a workaround. I got one Xbox 360 controller working using this method but wasn't able to fix the other ones. I tried the controller mapping configuration in Retropie about a dozen times without solution. I'm interested to see if anyone is able to come up with a solution since I gave up.


  • Global Moderator

    @cmatteod Can you try an update from binary and see if there's any difference ?



  • @mitu I deleted all existing controller config files and then did an update from binary. From there I opened the reciast controller mapping configuration from retropie setup and tried to remap the controller. I then launched a ROM. After the Dreamcast loading screen I tried pressing all buttons on the controller. None were responsive.



  • @cmatteod said in Dreamcast reicast not starting:

    From there I opened the reciast controller mapping configuration from retropie setup

    What you're gonna have to do, is exit to the command line by pressing F4, (or open an alternate terminal with SSH) and run this binary directly.
    /opt/retropie/emulators/reicast/bin/reicast-joyconfig
    When this is done it will display the list of input keys that need to be copied to one of the controller configs at, write it down or open up the appropriate file in samba with **programmer's notepad/notepad++/edit+/notepad2/notepad3/akelpad or nano
    /opt/retropie/configs/dreamcast/mappings/controller_~xbox360
    and enter the key values from reicast-joyconfig.

    The joyconfig used to save the configuration but now it doesn't, and last time I checked (a month ago) the reicast source was broken. So only the binary install will work.



  • @Efriim ugh ok. I'll give this a shot tonight. In terms of an easier workaround I tried to use lr-beetle-dc which was able to successfully launch my roms. The controls work, but the rom is running extremely slowly (MvC2). While I understand Dreamcast emulation is difficult, I was wondering if you could make any suggestions to improve speed/playability (i.e. resolution settings, Retroarch settings, lr-beetle-dc settings). I'm hoping not to overclock my 3b+. LR-beetle-dc obviously has the huge advantage of auto-controller mapping.

    Also, is reicast working on a solution to the problem you described above? While I'll try the solution, it seems like a really cumbersome solution.

    Thanks in advance for the help!!



  • @cmatteod
    reicast runs mvc2 pretty well, I don't think I made any configuration, other than setting the resolution to 640x480. Using the reicast-joyconfig will give a neat output for the keymaps and all you have to do then is copy the values to the controller.cfg in configs/dreamcast/mappings/. It would be a good idea to make a backup of this controller config, because I think it will get overwritten if you use the reicast-joyconfig or binary update or input config or something will do it anyway make a backup.



  • @Efriim will this work on any controller? For example, I am thinking about using my retropie in a modified Arcade 1Up cabinet and have a Qenker arcade kit with corresponding USB encoder that I plan on connecting to my 3B+. My existing one works fine with this setup. I assume once I run the reicast-joyconfig I just take those values and insert them into the base controller mappings config file?

    Sorry if my questions seem relatively straightforward. I am a total noob and only understand the basics.



  • @cmatteod
    In the network share for configs. If you look in this folder \\\configs\dreamcast\mappings; there is a controller_~.cfg for each controller. It would be easy to do the same thing for a different controller, all that needs to be done is copying the corresponding keymap numbers to the automatically generated config. It must come up with the config from somewhere but as is the case with PS3 controllers and the sixaxis driver, the manual entry is required.



  • @Efriim I see. Ok I'll give it a shot tonight with my existing controllers in order to make sure this works. One follow up question, if I am using two controllers in two different inputs (or using a bluetooth adapter to use multiple Xbox 360 controllers through one USB port), will I have to go into emu.cfg and mess with the [input] text? Currently example on github is:

    evdev_device_id_1 = 2
    evdev_device_id_2 = 3
    evdev_device_id_3 = -1
    evdev_device_id_4 = -1
    evdev_mapping_1 = /opt/retropie/configs/dreamcast/mappings/controller_Xbox360WirelessReceiver(XBOX).cfg
    evdev_mapping_2 = /opt/retropie/configs/dreamcast/mappings/controller_8BitdoSNES30GamePad.cfg
    joystick_device_id = -1

    Let's say I have a wireless receiver for two Xbox controllers both connected to USB port 2, would both evdev_device_id_1 and _2 both be =2?

    Again, thank you in advance. Just trying to get a full understanding of how Reicast works with controllers so I can change them based on circumstance.



  • @cmatteod
    If they are the same controller, only 1 input configuration should be needed for that controller type. The emulator should work with both controllers without needing to add anything more than the map. I can't guarantee the performance of all bluetooth adapters, but it will definitely identify as two separate controllers.

    So far I think that the controllers must be turned on and synced before initializing the emulation, if one of the controllers dies or goes to sleep then the input will not be registered on re connection for this emulator. Was just a topic I was going through, so far this reconnection problem is only with most standalone emulators and controllers. None of the libretro Retroarch emulators share this problem.



  • Thanks for the help guys. Will try the options when I next get a chance. Do we think the screen I was getting to on Reicast was because the controllers weren’t mapping correctly?



  • @ScrumpyDaniel
    I think it was the Dreamcast Bios, I don't know if it has a special name. It looks like a loader type for modded dreamcasts, or maybe it is a graphical interface for reicast I haven't seen it before. It should be safe to use a regular BIOS.

    It could be the cdi image you were using, contained this data.

    Of course, you're welcome.



  • I have the exact same issue, it’s driving me nuts!



  • I tried the steps suggested last night and was unable to resolve the issue. I went into joyconfig and followed the instructions. It spit out the following:

    296 (BTN_BASE3).
    288 (BTN_JOYSTICK).
    289 (BTN_THUMB).
    291 (BTN_TOP).
    290 (BTN_THUMB2).
    297 (BTN_BASE4).
    0 (ABS_X).
    1 (ABS_Y).
    292 (BTN_TOP2).
    293 (BTN_PINKIE).

    I then cross referenced this with the controller config file that was generated in the mappings folder. All buttons were identical. They didn't include the text. I tried to run Reicast with the new mapping and it was unsuccessful. I then cut and pasted the text above to create a new controller config. Still nothing. The lr-beetle-dc emulator is running and finding my controller fine (albeit the emulation is slower than reicast).



  • @cmatteod

    /opt/retropie/emulators/reicast/bin/reicast-joyconfig
    should give an output like this.

    Here's your mapping file:
    Save this as "~/.local/share/reicast/mappings/Sony PLAYSTATION(R)3 Controller.cfg"
    
    [emulator]
    mapping_name = Sony PLAYSTATION(R)3 Controller
    btn_escape = 314
    
    [dreamcast]
    btn_a = 304
    btn_b = 305
    btn_x = 308
    btn_y = 307
    btn_start = 315
    btn_dpad1_left = 546
    btn_dpad1_right = 547
    btn_dpad1_up = 544
    btn_dpad1_down = 545
    axis_x = 0
    axis_y = 1
    
    [compat]
    btn_trigger_left = 310
    btn_trigger_right = 311
    axis_x_inverted = no
    axis_y_inverted = yes
    

    that is what the controller_xpad.cfg should look like, or maybe it uses a different map file title.



  • @Efriim thanks. I used the Reicast controller configuration tool through Retropie setup rather than running the script. I'll try this to see if there is a different output.

    Just as an FYI I'm using a wireless SNES controller. It works when plugged in on Retroarch and used to work on Reicast until the recent update.



  • @Efriim I tried following your directions verbatim. I ran the joyconfig and got a "Save this as" and a set of names/inputs. I opened the configs folder and went to reicast mappings and created a config file that matched the name that they gave and put in the information verbatim. I launched the ROM and it did not find the controls. I'm seeing the same strange BIOS screen when I launch REICAST as well. Don't know what happened when I updated. The ROM itself MvC2 previously ran fine and the controller configuration tool in Retropie mapped my controller just fine.

    I hope the next update they fix whatever they did. I have lr-beetle-dc running on my overclocked 3b+ but the rom runs slow...

    I'm throwing up my hands in defeat at this point. I'll keep any eye out on this board to see if anyone comes up with a solution.



  • @cmatteod I think something is just screwed up with reicast right now. Both reicast and lr-reicast were finally in an awesome place and then all of a sudden it looks like it tanked from a bunch of posts recently with a bunch of people getting all various errors. Anyhow on the lr-beetle-dc I don’t have that version but on the old lr-reicast messing with some of the settings could get pretty close to standalone reicast (output resolution to 320 or 640, frameskip to 1- things like that - though oddly sometimes I found having frameskip on acrually made it look slower/choppier depending on the game).



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.