Multi disc for Sony Playstation and Sega Saturn using M3U files

I might need to update my assets or something.

But that booting into the BIOS is definitely an issue…

I figured out what was wrong - I use absolute paths for my m3u files. Standalone Mednafen has a setting that allows you to do that. Doesn’t seem to be working on the RetroArch core, though.

Replacing the absolute paths with just the file names resolved the issue.

@Awakened I think the standalone version might have the same behavior, perhaps that’s what it does with real hardware.

I might have to do a quick run through of ‘D’ to make sure it’s swapping discs correctly.

If it is, it’s not too much of an issue for me to change all my m3u files to file names instead of absolute paths. I’m not even sure why I did that, tbh… I think I was testing something for someone.

Ok, my one remaining gripe with the RetroArch core is, the aspect ratio is off, or something is otherwise not displaying correctly.

Here’s standalone Mednafen:

And here’s the RetroArch core:

The Mednafen core isn’t perfect either, but there’s no reason for that extra black space. The globe looks noticeably too skinny with the RetroArch core, so I’m guessing there’s something going on with the aspect.

I believe skinny is how it’s supposed to look, or at least it did on 4:3 CRTs (according to what I’ve read). Stand alone should have that too by default; you must have changed the ss.correct_aspect setting to 0. In RetroArch you can change the aspect ratio to Pixel Aspect in Video Options to get a round circle on the BIOS. I use that as my default aspect for Saturn, but some games like PDS and Sega Rally have graphics corrected for 4:3, so I use overrides to set 4:3 on them to get perfect circles.

You might also need to set the horizontal overscan core option to 32 to cut off the black overscan on the sides, since you use an overlay. I would recommend setting initial scanline to 8 and last to 231 to remove the vertical overscan as well. Some games like Mega Man 8 do draw stuff in that area though. And if you turn on the widescreen mode in NiGHTS or Panzer Dragoon Zwei, they use the horizontal overscan area, so you’d want to set that back to 0 turn off your overlay, and use 16:9 aspect to run those in proper widescreen.

1 Like

The overscan core option (I used 30 to be consistent with how things looked in Mednafen) did the trick, thanks for that, I wouldn’t have thought to do that.

I didn’t change the ss.correct value in mednafen-09x.cfg, it’s still set to 1… I can’t say for certain how it’s supposed to look, because unfortunately, I sold my Saturn a year and a half ago, and can’t test it. :frowning:

It’s a little strange if that is how it was though (I honestly don’t remember). Why would they design a console that can’t output video to fill up the whole screen? But then again, why did Sega do a lot of things. :slight_smile:

At any rate, between this, and the pressure sensitive buttons now working, it looks like I have no excuse to not use the RetroArch core anymore, and I thank you for that. :slight_smile:

@aorin1, RocketLauncher lets you swap discs right from the Pause menu for Sony Playstation, did you know that? I tested it out with Saturn - all it does is eject the tray, then close it. I’m considering looking at the module, and seeing if I can’t get it to work.

are these from the same game? from what i know depending on the game, mednafen has alway placed black border on aspect_ratio=1 but not all the games has this. this happens mostly on ntsc titles.

anyways can you link me the mednafen-9x.cfg(or something)? or if you are using separate cfg per module, the ss.cfg file?

thanks.

Sure, here you go. https://drive.google.com/open?id=1zxGEYOyzXmS2_rTpCztdHBb48sS8d3N_

Yep, it’s the same game.

I also just realized why my m3u files had absolute paths - the RocketLauncher module writes them that way for PSX (which works fine).

I don’t think I can get RocketLauncher to play nice with this core, if it crashes on load with m3u files with absolute paths. :frowning:

ok thanks. depending on the game, you can set how much black borders by adjusting horizontal overscan mask in core settings.

1 Like

Do you know if there’s a way to make the core read m3u files with absolute paths, like the mednafen PSX core does?

im not sure who added m3u support, last time i was editing that core was these adjustments to viewport and stuff and disk swapping and m3u was still not working that time.

@aorin1

This is the only code that needs to change in the RetroArch.ahk module, change:

If (StringUtils.Contains(retroID, “LibRetro_PSX”) && romTable.MaxIndex() && mgValidExtension) { ; See if MultiGame table is populated

To this:

If (StringUtils.Contains(retroID, “LibRetro_PSX|Libretro_Sat”) && romTable.MaxIndex() && mgValidExtension) { ; See if MultiGame table is populated

However, unless the ability to read absolute paths is added to this core, it still won’t work. I know that it does in fact work, because I changed the resulting .m3u file to ‘read only’ so that the RetroArch module wouldn’t overwrite it - and changing the discs from Pause works perfectly. The module also auto-writes your m3u files - it just uses absolute paths. Which make the core crash.

I’m going to make an issue on github, maybe we can get this fixed.

1 Like

@aorin1, retrowertz fixed it, so if you follow the instructions on my previous post, RocketLauncher will auto-create m3u files for you, and have the ability to swap discs.

All you need to do is update the Sega Saturn core. :slight_smile:

1 Like

Hey Aorin, question for you since I know you are using HyperSpin and had that above example.

How are you going about setting up the XML?

I normally use Don’s hyperspin tools to generate an XML based on file extensions in my game folders. So let’s say for PSX, I’d have it scan the folder and create an xml entry for everything with a .chd file extension.

I can have it do .chd & .m3u but then I’d actually have all the same entries in the wheel, plus the m3u file’s entry; as it would be:

Myst 2 - Riven

Myst 2 - Riven (Disc 1)

Myst 2 - Riven (Disc 2)

Myst 2 - Riven (Disc 3)

Myst 2 - Riven (Disc 4)

Myst 2 - Riven (Disc 5)

(I know, I have a weird naming scheme)

Do you use another method to generate XMLs? Or are you hand-altering your existing ones? Just seems like a lot of games to alter specifically.

Hey @SkyHighGam3r, yeah I’m on Hyperspin. When it come to multi discs that can be used as single discs for PS1 and Saturn, and I hope for some other systems in the future, I use only one entry, in the Riven case the entry is:

Riven - The Sequel to Myst (USA)

If a system has lots of multi disc games, in the PS1 case, I use HyperspinChecker tool, I mainly use it to crop databases down to only available roms.

I need to point the rom folder in HyperHQ and set its extensions, configure the paths in HyperspinChecker, audit the system and then I can crop the database.

But first, I need to edit the main database and remove the (Disc 1) tag using notepad++ and replace all at once for nothing, only leaving alone the regional tag.

HyperspinChecker will find the games in your paths, and you can crop it pressing a simple button, once you have all the m3u files named accordingly to your way, in this case "Riven - The Sequel to Myst (USA).m3u, all other entries for the other discs will be removed.

Note that some multi disc games aren’t games that require the first discs to work, so Resident Evil 2, Gran Turismo 2, Street Fighter Collection and some others have their original “(Disc)” tags.

You’ll probably need to do lots of things by hand, but using notepad++ it will be faster than it seems.

It’s funny you mention that, because strangely enough Resident Evil 2 was the main reason I wanted to go through this process lol. It was driving me nuts that I had to have both discs in my favorites list.

I actually figured out another way to do the XML though that made my life way easier.

So, after setting up the m3u’s and putting them in the game folder, I just did a folder search for the phrase "Disc " (with a space at the end and WITH QUOTES to avoid things like Discworld or Disciples, etc…) and then moved all the results to a temporary folder.

Then I ran the Don’s HyperSpin Tool for generating XMLs with m3u and chd extensions, then moved the game files back to the game folder and viola presto alakazaaaaaam lol worked wonders.

I hadn’t heard of hyperspin checker before though, it looks pretty versatile, so thanks for pointing me there.

2 Likes

Hi @aorin1

That’s a really neat step by step guide, I was hoping you could help me with a Saturn guide for Panzer Dragoon Saga.

I’ve created a .m3u file containing the name of the relevant ISOs, as follows:

When I load the .m3u file, the game is starting fine.

I tried to load up an existing save and a save state to try the disk swapping part (I had saved just at the end of disk one with both).

Unfortunately, that ‘trick’ didn’t work, which means I have a bit of a slog to get back to where I was before!

No matter as it is a great game, but before I start again, have I done anything wrong above?

I’m also not totally sure what is meant by an ‘absolute path’ in this context.If I am simply loading the .m3u file will I be doing everything correctly?

Probably worth mentioning I am only using Retroarch.

Incidentally, is there any way I can re-use my existing save/save state or is that impossible now?

Many thanks.

You should check in your CUE file if it has the corresponding iso file, any typo will lead to error. Anyways, I’m not sure what image formats this method works with, I’d try bin+cue files since they are the ones that always work for this and PSX as well.