Jump to content
LaunchBox Community Forums

Does the pause menu support disc swaps in RetroArch?


SpaceMidget75

Recommended Posts

2 hours ago, SpaceMidget75 said:

As per the title really. Would like to swap discs from the menu for PSX games in Retro Arch. Note: The latest versions of RA have changed the disc eject UI.

The Pause menu does support disc swapping , but if I remember correctly @Jason Carr said that an ahk script would have to be written in order for it to work.

Link to comment
Share on other sites

For this to work, you need to populate the Swap Discs AutoHotkey script under the Retroarch emulator in LaunchBox. You can get there by going to Tools > Manage Emulators > Retroarch > Pause Screen > Swap Discs. The AutoHotkey script will simply need to fire off the keyboard shortcut in Retroarch to swap discs. I'm not sure what that is for the moment, but I could help get a script written if we can find out.

  • Thanks 1
Link to comment
Share on other sites

1 hour ago, Jason Carr said:

For this to work, you need to populate the Swap Discs AutoHotkey script under the Retroarch emulator in LaunchBox. You can get there by going to Tools > Manage Emulators > Retroarch > Pause Screen > Swap Discs. The AutoHotkey script will simply need to fire off the keyboard shortcut in Retroarch to swap discs. I'm not sure what that is for the moment, but I could help get a script written if we can find out.

There is not currently a default hotkey set for disc eject toggle in the Retroarch settings as they leave that up to the end user to set whatever hotkey they want for that option. The good news is they do have a disc eject toggle hotkey setting just not a default key set.

  • Like 1
Link to comment
Share on other sites

12 minutes ago, kmoney said:

There is not currently a default hotkey set for disc eject toggle in the Retroarch settings as they leave that up to the end user to set whatever hotkey they want for that option. The good news is they do have a disc eject toggle hotkey setting just not a default key set.

Gotcha, so unfortunately that means we can't add a default script (probably the reason we didn't in the first place). Once you add a binding though, you can easily add the script just by copying the default Load State script and changing the two key values to the correct key:

Send {F4 down}
Sleep 50
Send {F4 up}

 

  • Like 1
Link to comment
Share on other sites

So I've mapped "j" to OPEN/CLOSE TRAY and "d" to CYCLE DISCS. The current way of swapping discs in RA is to OPEN TRAY, CYCLE, CLOSE TRAY.

So would that be:

Send {j down}
Sleep 50
Send {j up}

Sleep 50
Send {d down}
Sleep 50
Send {d down}

Sleep 50
Send {j down}
Sleep 50
Send {j up}

Edited by SpaceMidget75
  • Like 3
Link to comment
Share on other sites

  • 4 weeks later...
  • 7 months later...

I don't mean to raise the dead, but I've run into this problem of changing discs in the mednafen core of retroarch. I used the script from SpaceMidget75 (thank you) in the swap disc section of the emulation settings in Launchbox, but hcould only find a key mapping for next disc in retroarch, specifically input_disk_next = "d", which works to get me to the next disc from the pause menu just fine, but it doesn't loop back to the first disc. Is there another configuration setting for a loop? I ask because GTA London prompts immediately for the GTA1 disc, so I created a m3u with both chds for the swap, but then once it reads it, it asks for the London disc again, which I'd have to go through the retroarch UI to do.

Seems like a solution would be to loop back to the first disc in the index on a next, or split the swap disc script in Launchbox to swap next and swap previous.

Link to comment
Share on other sites

I don't have time to check this out at the moment as I'm super busy with work, but this sounds like Mednafen isn't implementing the cycle feature of the RA API correctly. Have you confirmed that cycle takes you back to the first disc on a non-Mednafen core? I believe that is the expected behaviour.

Link to comment
Share on other sites

  • 1 year later...

Apologies for bumping this thread, but...I tried out this script, and then went into RetroArch to change the hotkey binds for swapping discs, and it did nothing. I cannot for the life of me figure out how to get this script working so I can swap discs in the pause menu.

Link to comment
Share on other sites

I have, yes. I put each of the multi-disc roms into a folder (for example, I put Xenogears (USA) (Disc 1).img/cue and Xenogears (USA) (Disc 2).img/cue into a folder, made a .txt file, put "Xenogears (Disc 1).cue and Xenogears (Disc 2).cue) in there, renamed the file extension to m3u, and then changed the launch path within Launchbox to boot up the m3u file.

The games start like normal, but when I go into the pause menu and press Swap Disc, nothing happens. Even if I go and do it manually (start the game, go into RetroArch's menu for the mednafen_psx_libretro core I'm using, and Eject Disc, then put in Disc 2), it STILL only somewhat works; the disc just doesn't seem to change when I want it to change, and only seems to do so *sometimes*. It's hard to explain, but it just doesn't work on command like I'd want it to.

Link to comment
Share on other sites

I did find a strange thing that LaunchBox itself is doing that may be related to this; whenever I reboot LaunchBox, all of my PlayStation games that have more than one disc have their launch path changed from the m3u file I created back to the cue file. Even when I change them all back to the m3u file, it only lasts until I reboot LaunchBox...and then it'll have all my PSX games back to loading from the .cue instead of the .m3u. I am using the Beetle PSX/Mednafen emulator (not the HW one) for this, and I made sure to go into Tools/Manage/Emulators/RetroArch/Edit/Associated Platforms and I disabled the "Use M3U Playlists for Multiple Discs" option, since I'm aware that auto-generates a temporary m3u file somewhere else, and I don't want that.

How it works when I load the game up itself, regardless if it's a m3u or a cue that it's loading (and I do have a save file where the disc transfer occurs) is the following;

 

1. I load the game up, load my save file, I see "Please Insert Disc 2" (Of note: for some reason it takes two tries for the game to recognize that I have save data. It shouldn't do this, and I'm not sure why this is)

2. I go into RA's menu, go to Disc Control, hit Eject Disc, and then I back out of the menu, resuming the game. (I read that Beetle PSX/Mednafen is sensitive to this, and it needs done for some reason)

3. I go back into RA's menu again, and what's SUPPOSED to happen is that I change the Disc value from 1 to 2...then close the disc tray, and resume. What instead happens is that there is no Disc 2 listed there. I need to instead load Disc 2 as though I had to remind RA that Disc 2 even existed (isn't that what the m3u is supposed to be for?) and THEN switch the value to 2, and close the disc tray. If for whatever reason I try doing this a third time, then it will allow me to choose "3" on the disc value, somehow. There aren't 3 discs on this game. :o 

4. What ends up happening no matter what I do is that Disc 2 is not loaded. It stays stuck on Disc 1....until occasionally, when I'm rebooting the game to try again, it reboots somehow with Disc 2 loaded up instead of Disc 1.

 

I'm at a total loss for what's happening here.

Edited by Nulion
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...