• 0 Votes
    17 Posts
    686 Views
    G

    @sleve_mcdichael
    Thanks for pointing out the obvious that was staring right in front of me...

    Accomplished what I wanted in a much easier way.

    Thanks for the help!

  • 0 Votes
    9 Posts
    600 Views
    M

    This is old, but a simple solution in mame2003 and mame2003-plus.

    Display the mame menu. This can be opened via core options (under system).

    In the menu, select the top option input (general)

    Then for config menu, select it to clear the current bind, then quickly double tap on it to bind None.

    Turn off the mame menu in core options, return to game for changes to take effect, then close the game.

    baluba-250109-085331.png

  • 3 Votes
    2 Posts
    2k Views
    M

    @leonv32 Not sure if you are still working on this or not but I actually created something similar some years ago. All the html code is generated from the latest XML DAT files automatically.

    Output lists
    https://buildbot.libretro.com/compatibility_lists/

    Repo that generates these
    https://github.com/libretro/core-compatibility

  • 0 Votes
    20 Posts
    4k Views
    C

    @mitu yes, thank you. I finally found a good romset.

  • 0 Votes
    12 Posts
    2k Views
    DjDiabolikD

    @mitu said in Migration of retropie libretro Mame 2003 to Mame 2003 plus:

    different

    yeah... it could be an idea.

  • 0 Votes
    4 Posts
    789 Views
    YFZdudeY

    Additional info in case anyone needs it.
    Apparently this rom is one that might also use a dip switch setting to select between 4 player or 2 player cabinet hardware.

  • 0 Votes
    4 Posts
    308 Views
    J

    @cyperghost , I have installed your multi_switch.sh script on my setup but it's not working. I've set it up for onoffshim as I'm using a Pimoroni PicadeX hat. If I run the script from the command line, it works as expected, but if I press the power button to shutdown, it doesn't save hi-scores etc. I have just double checked everything and now the Pi has went into a loop of shutting down straight after it executes the script in the first line of autostart.sh. I must be making a mistake somewhere, just darned if I know what I've done wrong!

    I've used another SD card to boot up and get access to my setup. Here is my autostart.sh file. I load the script, then use Runcommand to run my chosen emulator and ROM, then finally if I quit out of the emulator, it loads emulationstation.

    sudo /home/pi/RetroPie/scripts/multi_switch.sh --onoffshim & /opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ "arcade" "/home/pi/RetroPie/roms/arcade/starwars.zip" wait $1 emulationstation --no-splash #auto

    I've removed the sudo command from the first line and I can get back in again. Any ideas on what's going wrong?

  • 0 Votes
    15 Posts
    1k Views
    D

    I banged my head over this for some time before coming up with a solution.

    The problem is that when you hit that power button, an interrupt is sent to the login daemon, telling it to shutdown the system. You can't interrupt that in any way, or replace it with a different operation as far as I can see.

    You can create a service with killall -s SIGTERM retroarch in its shutdown operation - but by then it's too late. Systemctl has already killed all user processes - including retroarch.

    So what I had to do was actually run retroarch as a service itself. That was systemctl left it for its own shutdown procedure. I'm fairly new services, so I don't claim this is the perfect solution but it works for me.

    This is based on "retropie" on a Raspberry Pi. If you're running some other Linux system it may or may not be helpful.

    First, we need to prevent retroarch from starting in the normal way. I edited /opt/retropie/configs/all/autostart.sh, commenting out the existing lines and adding in a call to the shell bash:

    bash #/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ mame-libretro ~/RetroPie/roms/mame-libretro/robotron.zip #emulationstation #auto

    Next I created a new service by adding a file /etc/systemd/system/killmame.service containing

    [Unit] Description=A service start and stop MAME cleanly After=console-setup network-online.target multi-user.target [Service] User=pi ExecStart=/home/pi/bin/start.sh ExecStop=/home/pi/bin/killmame.sh Type=simple StandardInput=tty-force TTYVHangup=yes TTYPath=/dev/tty20 TTYReset=yes SendSIGKILL=no KillMode=none [Install] WantedBy=multi-user.target

    Notes:

    You'll need to create that as root (eg. sudo nano killmame.service) killmame is a bad name for the service. It started off only intending to kill it, but morphed into a complete service - retroarch.service might be a better name All the tty stuff is needed or retroarch won't run The two scripts in ExecStart and ExecStop need to be created in the next step

    Now we create a directory /home/pi/bin and create the two scripts in the (can do this as the pi user):

    start.sh:

    #!/bin/bash cd /home/pi export TERM=linux export USER=pi chvt 20 /opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ mame-libretro ~/RetroPie/roms/mame-libretro/robotron.zip & bash

    The command starting /opt/retropie is what I previously had in my autostart.sh. Obviously it's specific to my game, you will need to change it to whatever you had in your autostart.sh file.

    You MUST have the & character at the end, putting the command into background. Otherwise systemctl will kill it in the early steps of shutdown. I'm not sure why.

    killmame.sh:

    #!/bin/bash # echo checking for mame running ... > /home/pi/bin/killmame.log # ps -deafww | grep libretro | grep robotron >> /home/pi/bin/killmame.log killall -s SIGTERM retroarch echo shutting down MAME at `date` >> /home/pi/bin/killmame.log

    The commented-out lines 'echo' and 'ps' were for debugging - to see if my game was actually running when it came to being shut down.

    Finally we need to register and enable our new service:

    sudo systemctl daemon-reload sudo systemctl start killmame sudo systemctl enable killmame

    All those should complete without output. If the 'start' fails, you'll need to figure out why before continuing.

    If they all work, you can reboot. Your machine should first drop into a shell prompt, but then very soon after retroarch should take over. Hitting the kill switch should now shutdown retroarch cleanly, saving high scores.

    The only glitch I've found is that if you use <ESCAPE> to exit retroarch, you'll find lots of key presses on the shell window from your game controls. Usually they're harmless but it's just possible you might accidently issue some fatal commands. Probably removing the invocation of bash from autostart.sh woud solve that, but you might then not be able to get back into a shell after exiting with escape. I generally log in remotely using ssh, so that wouldn't worry me.

    I hope this helps someone as I spent hours trawling for a solution without finding one. It was only while explaining to my wife why it was impossible, that it occurred to me to actually run retroarch as a service itself.

    If someone is able to tidy this up into a cleaner solution I'd be very grateful.

  • 0 Votes
    2 Posts
    366 Views
    J

    I've managed to get somewhere with this. I was looking at the rom history on another website and it seems the dip switch function is broken in the driver. The workaround is to make the changes in service mode. I have tried this and can verify that it works. Changing them from the mame menu would be better, but as its usually only a one-off change, I'll live with it.

  • 0 Votes
    3 Posts
    607 Views
    D

    @dankcushions Thank you very much for responding. Unfortunately, none of this is working.

    Here are the changes I'm making: Retroarch Menu, Input, Port 1 Binds (Mouse to 1, Trigger to fire)

    If I select Quick Menu, Controls, Save Game Remap File

    or

    Quick Menu, Options, Save Game Options Files (rom name)

    Neither saves the settings above.

    Under Input, Port 1 Binds, there's a Save Autoconfig File option, but I'm hesitant to select that because I'm not sure exactly what it will do.

  • 0 Votes
    5 Posts
    1k Views
    M

    @cayaco 2003- plus is a separate emulator, under experimental packages. The config is probably under your roms/arcade/mame2003-plus/cfg/default.cfg If your mame games use the arcade folder.

  • MAME cfg Folder Question...

    Help and Support
    18
    0 Votes
    18 Posts
    3k Views
    TPRT

    @mitu said in MAME cfg Folder Question...:

    In this case, it means MAME2003 does't act like I though and uses the content dir (where the ROM located) to save those values. I don't have any other ideas, sorry.

    Thank you for your help

  • 0 Votes
    11 Posts
    4k Views
    M

    @zodiark12 here's the sha1 and crc checks 2003+ is expecting. https://github.com/libretro/mame2003-plus-libretro/blob/f7e53fda8195ae9d9a2b33c1dbed27e7410a41ff/src/drivers/neogeo.c#L1574-L1589

    You can compare the ones you have to these and double check your naming conversation. Make sure you done have ".rom.rom" or something like that either. Some desktops hide extensions. My guess is the check sum is off here for it not to include the file.

  • 0 Votes
    9 Posts
    639 Views
    DarksaviorD

    @spanishsnowman 1.5.0 is the retroarch version and was released in 2017. I wouldn't waste my time troubleshooting that.

  • 0 Votes
    17 Posts
    3k Views
    N

    This is the results of vcgencmd get_config int.
    enable_dpi_lcd and display_default_lcd are set to 1.

    arm_freq=1500 audio_pwm_mode=514 config_hdmi_boost=5 core_freq=500 core_freq_min=200 disable_audio_dither=1 disable_commandline_tags=2 disable_l2cache=1 display_default_lcd=1 display_hdmi_rotate=-1 display_lcd_rotate=-1 dpi_group=2 dpi_mode=87 enable_dpi_lcd=1 enable_gic=1 force_eeprom_read=1 force_pwm_open=1 framebuffer_ignore_alpha=1 framebuffer_swap=1 gpu_freq=500 gpu_freq_min=250 init_uart_clock=0x2dc6c00 mask_gpu_interrupt0=1024 mask_gpu_interrupt1=0x10000 max_framebuffers=2 over_voltage_avs=-23750 overscan_scale=1 pause_burst_frames=1 program_serial_random=1 total_mem=4096 hdmi_force_cec_address:0=65535 hdmi_force_cec_address:1=65535 hdmi_ignore_edid_audio:0=1 hdmi_pixel_freq_limit:0=0x11e1a300 hdmi_pixel_freq_limit:1=0x11e1a300
  • 0 Votes
    2 Posts
    268 Views
    pjftP

    Open the options on the Retroarch menu and there's an option whose label I forget that will "map directions to digital" instead of analog. It's set to analog by default. I had to do it a few days ago.

    See if it works.

  • 0 Votes
    11 Posts
    1k Views
    ClydeC

    Just for another subjective opinion, I'm content with MAME 2003-Plus (in arcade) and FB Neo (in fba) next to each other and see no need to change that after moving to a Pi 4.

    For more recent MAME versions, I have my bigger computers. But I didn't feel the need for that for over two years now.

  • 0 Votes
    13 Posts
    3k Views
    G

    @skrilmps said in can't access MAME 2003+ (libretro) in-game menu:

    cy

    no problems at all always use then menu to set options code can change any time.

  • Mame 2003 plus enable dpad controls

    Help and Support
    2
    0 Votes
    2 Posts
    287 Views
    M

    @Simrose in retroarch, go to:
    quick menu -> controls -> port 1 controls -> analog to digital type -> left analog
    Then you can map digital and analog in the mame menu as you wish.