RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    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

    Behavior difference launching from ES vs command line

    Scheduled Pinned Locked Moved Help and Support
    p2000retropie 4.6dosboxcommand lineemulator
    4 Posts 2 Posters 376 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      theburgerking
      last edited by

      This is so strange. I am playing with an old dos-based emulator, M2000 by Marcel De Kogel, and my integration path for RetroPie 4.6 on my rpi 4 was simply to launch dosbox with a -conf parameter that would load that emulator and pass the rom to it to load as a tape.

      I tried it from the command line, it works perfectly:
      /opt/retropie/emulators/dosbox-sdl2/bin/dosbox -conf "/home/pi/RetroPie/roms/p2000t/Monkey.conf"

      Monkey.conf is just the default /home/pi/.dosbox-sdl2/dosbox-sdl2-SVN.conf file with this small block added to the [autoexec] section at the end:

      [autoexec]
      # Lines in this section will be run at startup.
      # You can put your MOUNT lines here.
      mount c /home/pi/RetroPie/roms/p2000t
      C:
      CD m2000
      m2000 -tape "..\monkey.cas"
      EXIT
      

      This works perfectly from the command line - the emulator launches, tells me it loaded the correct tape, and then waits for me to type CLOAD and then RUN to get the game going.

      When launched from EmulationStation the emulator does launch and load the tape, but starts beeping incessantly as if there was input flowing to it, and I can only type about 4 characters before it seems to get completely overwhelmed.

      I tried monitoring input via sudo evtest to see if there was some errant input device but there is none. I compared the contents of /dev/shm/runcommand.log to my command line and it was identical.

      Any ideas on where the strange difference could be coming from?

      One final clue - once I try to launch through EmulationStation and see the failure condition, I am unable to launch successfully via command line either unless I wait a few minutes, suggesting something continuing to run for a time in the background (even though I have completely exited EmulationStation at that point).

      Thanks.

      1 Reply Last reply Reply Quote 0
      • T
        theburgerking
        last edited by

        Sigh. After a few hours I figured out a fix/workaround, of course right after posting my question, so now posting the answer for posterity.

        I would try to launch from ES again and again with different emulator configs, give up for a while, come back to debug some more from the command line, and things would work. Repeat ad nauseam.

        So what changed between failed tests through ES and successful tests from the command line? My wireless joystick timed out and went to sleep. Seriously.

        The takeaway is that this specific M2000 emulator behaves poorly in the presence of a joystick (even when sudo evtest reports 0 events). Luckily it also provides a config option to ignore joysticks, so my working config for this system is now:

        [autoexec]
        # Lines in this section will be run at startup.
        # You can put your MOUNT lines here.
        mount c /home/pi/RetroPie/roms/p2000t
        C:
        CD m2000
        m2000  -joystick 0 -tape "..\monkey.cas"
        EXIT
        

        Time for a well-deserved Monkey Kong break.

        1 Reply Last reply Reply Quote 0
        • mituM
          mitu Global Moderator
          last edited by

          I assume you create a separate system in EmulationStation ? Can you post the runcommand log ?

          T 1 Reply Last reply Reply Quote 0
          • T
            theburgerking @mitu
            last edited by

            Correct, @mitu , I created a separate system that lists the conf files:

              <system>
                <name>p2000t</name>
                <fullname>Philips P2000</fullname>
                <path>/home/pi/RetroPie/roms/p2000t</path>
                <extension>.conf .CONF</extension>
                <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ p2000t %ROM%</command>
                <platform>p2000t</platform>
                <theme>p2000t</theme>
              </system>  
            

            Runcommand looked good:

            Parameters: 
            Executing: /opt/retropie/emulators/dosbox-sdl2/bin/dosbox -conf "/home/pi/RetroPie/roms/p2000t/Monkey.conf"
            fluidsynth: warning: Requested a period size of 64, got 480 instead
            fluidsynth: warning: Failed to set thread to high priority
            fluidsynth: warning: Failed to pin the sample data to RAM; swapping is possible.
            DOSBox version SVN
            Copyright 2002-2019 DOSBox Team, published under GNU GPL.
            ---
            CONFIG: Loading primary settings from config file /home/pi/RetroPie/roms/p2000t/Monkey.conf
            SDL: Current window pixel format: SDL_PIXELFORMAT_ARGB8888
            MIDI:fluidsynth: loaded soundfont: /usr/share/sounds/sf2/FluidR3_GM.sf2
            MIDI: Opened device:fluidsynth
            One joystick reported, initializing with 4axis
            Using joystick Xbox 360 Wireless Receiver with 6 axes, 15 buttons and 1 hat(s)
            Using driver "opengl" for renderer
            

            I am happy to investigate more if it helps the community. If we collectively believe this is a problem with a 20-year old emulator, I am also content to call this one good enough and run without a joystick. :)

            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            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.