Sharp X68000 Multi-Disk games questions
-
I've been playing around a bit with hooking up .m3u playlist support (similar to how it is handled on lr-pcsx-rearmed) for the lr-px68k emulator to hopefully make it a little easier to swap disks for multi-disk games and also to use the native RetroArch disk swapping functions instead of needing to go into the PX68k menu.
I still need to do more testing on the code, and I've got a few questions about the system itself that hopefully someone can help confirm.
Right now I have set up the code to load the first 2 disks of the playlist file into FDD0 and FDD1, respectively. So a game like Akumajou Dracula which expects both disks loaded at once works fine. My question is are there any multi-disk games where loading a disk into both FDD0 and FDD1 will cause issues?
Second question, any suggestions on multi-disk games where you are prompted to swap disks very early on that I can use for testing?
-
BLESS YOU! I've been wanting to add Sharp x68k multi-disk games to my setup for the longest time, and I am as happy as can be that someone's finally taking under the reigns.
As for your first question: I believe that the Sharp boots the first disc by default, and pretty much every multi-disc game uses FDD0 for system/basic functions, while FDD1 is used for actual game data. I don't know of any instances of a game simply not working because of the second disc drive being used by something that the game doesn't expect.
And as for the second question, I believe Genocide II asks you to swap discs almost instantly after starting the game.
-
Great, thanks for the info!
I'll probably have some more time to run through the code again and test more this weekend. If you know how to compile from source feel free to build the core yourself from my github repo and give it a shot. I was able to load a few 2 disk games via m3u last night but I did not have much time to test disk swapping for games with more than 2 disks so not sure how functional that is just yet.
-
I may also add that Multi-Disk games are reasonably well supported in the core "as-is". I've got a few 2 disk games up & running on my setup.
If you use the cmd file method shown in the libretro documentation it supports loading up 2 disks at once from these text files, and the L2 button is mapped to bring up the native px68k menu screen to swap disks for games with more than 2 disks.
My main challenge with the current implementation is if you have a lot of multi-disk games, using the native px68k disk swap menu means you have to scroll through your entire list of games to find the disk you want to swap. Hence, the m3u playlist so you can swap disks entirely from the RGUI menu without needing to scroll through a big list of files.
-
Thanks for the tip on Genocide II - using that game to test I was able to confirm disk swapping now works. My original code had set it to swap FDD0 but I updated it to swap disks on FDD1.
I'm going to try and find a couple more multi-disk games to test further to make sure that swapping disks on FDD1 only is enough and there aren't any cases where the game is expecting you to swap FDD0.
-
@msheehan79 I am looking for solutions for a more practical exchange of games with several floppy disks and I found this topic. I use Retroarch in the Windows version, but I believe that the solutions can be for all versions. Can you find an easier way to do this?
-
My updates to the core have already been accepted, and yes this should work on all platforms that RetroArch supports. So you can load 2 disks simultaneously by using an .m3u playlist file, and when it comes time to swap a disk you either opt to use the built-in PX68K menu as was always the case, or you can use the Disk Swap functionality from within RetroArch's menu to swap disks.
I have found some games require swapping the disk in either FDD0 or FDD1, so I have added a Core Option that would determine which disk slot you are swapping on.
In a perfect world the RetroArch disk swap menu would allow you to display both disk slots without having to go back to the Core Options menu to set this, but the structure seemed pretty hard-coded to one disc (I think because it was really built with optical disc based systems like PS1 in mind, that only have one drive). Making changes to the disk swap structure of RetroArch itself is a bit beyond my comfort level so I think it's as good as it is going to get unless someone is willing to really expand upon the functionality in RetroArch.
-
@msheehan79 Hi. Do you know whether your .m3u changes will work on the Raspberry Pi 3B? I have setup lr-px68k with .m3u but am getting bus errors. The core does work with .dim files and I've got it to work with a couple of .xdf files but nothing else. Thanks.
-
@spud11 I don't see why they wouldn't work, the Pi 3B doesn't have any fundamental changes so everything should be fine.
-
@spud11 Not sure what the errors could be, but I have an RPI 3B and m3u files work fine here, so it's definitely not a hardware issue at least.
Do you know if you have a current build of the core? If you installed from binaries, it might be worth updating from source through the retropie-setup menu, just in case the binaries are older and before the m3u support was added to the core.
-
@msheehan79 Thanks for responding. I just realised the batch files I had been using to create my 2,000 odd .m3u files were adding an extra space at the end of each line in the .m3u file. Removing the space now means the .m3u file works. Now I just need to create a batch file for 2,000 odd files to remove that extra space....
-
Can you please post an m3u file so I can see its format and create some for my own setup?
thank you -
@pyjamarama M3U files are usually just a list of file names:
Castlevania Chronicles-1.dim Castlevania Chronicles-2.dim Castlevania Chronicles-3.dim and so on...
-
@pyjamarama And just make sure that the carriage return takes place immediately after the last letter in any line which will be
m
for.dim
. Using Notepad++ on Windows is the best way I find to create the.m3u
files, if you make them manually.For Castlevania Chronicles (known as Akumajou Dracula), it will depend on the romset you use but my
.dim
files are named:Akumajou Dracula (1993)(Konami)(Disk 1 of 2).dim
andAkumajou Dracula (1993)(Konami)(Disk 2 of 2).dim
. MyAkumajou Dracula.m3u
file looks like this:Akumajou Dracula (1993)(Konami)(Disk 1 of 2).dim Akumajou Dracula (1993)(Konami)(Disk 2 of 2).dim
I've automated the process of creating
.m3u
files, to some extent, using Windows batch files.If you experiment with the following batch files, make a backup of everything before you do so:
I've set up a series of Windows batch files that automatically convert a folder of
.dim
files into.m3u
files.Windows batch file called
2_Disk_Conversion_to_m3u.bat
:@echo off setlocal ENABLEDELAYEDEXPANSION for /R "." %%f in ("*(Disk 1 of 2)*.dim") do ( set f1=%%~nf set f2=!f1:Disk 1 of 2=Disk 2 of 2! echo %%~nf.dim > "!f1:~0,-4!.m3u" echo !f2!.dim >> "!f1:~0,-4!.m3u" )
Windows batch file called
3_Disk_Conversion_to_m3u.bat
:@echo off setlocal ENABLEDELAYEDEXPANSION for /R "." %%f in ("*(Disk 1 of 3)*.dim") do ( set f1=%%~nf set f2=!f1:Disk 1 of 3=Disk 2 of 3! set f3=!f1:Disk 1 of 3=Disk 3 of 3! echo %%~nf.dim > "!f1:~0,-4!.m3u" echo !f2!.dim >> "!f1:~0,-4!.m3u" echo !f3!.dim >> "!f1:~0,-4!.m3u" )
Dropped into a game folder on Windows, these will produce
.m3u
files for both 2 disk and 3 disk games.To remove the trailing white space at the end of each line of the
.m3u
files, I use the following batch file:@echo off For %%F in (*.m3u) do ( type "%%F"|jrepl ".dim " .dim >"%%F.new" move /y "%%F.new" "%%F" )
The reference to
jrepl
in the batch file above is a reference tojrepl.bat
which I got from this website:
https://www.dostips.com/forum/viewtopic.php?t=6044If, after using the batch files, you find that the actual file name of the
.m3u
has a space in it before the.
like thisAkumajou Dracula .m3u
, then using these 2 batch files will remove that space:@echo off rename *.m3u *.
@echo off rename *. *.m3u
After creating all of the
.m3u
files, I then just transferred those and the.dim
files to thex68000
rom folder on my Pi and, in Attract Mode, generated a new romlist for.m3u
files only (so the.dim
files were ignored). -
Thank you all.
What a generous and helpfull community this is...
-
@pyjamarama No worries. I've got batch files to convert 1 disk games to .m3u all the way up to 12 disk games to .m3u, if you need those too.
-
I've trying to figure out muti disk games as well. I forgot how to make the two disks into one file :(
-
@pyjamarama hey, did you manage to figure it out?
-
You can't merge two disks into one file, but you can make an M3U playlist file and just hide everything else in es_systems.cfg. Just write the filenames of the disk into a file like this:
Disk 1.dim Disk 2.dim
and save it as an m3u file.
-
@supercatfooz I have tried to use dozens of m3u based files for the games and whenever I launch I get the screen flash and then just a black screen. I have tried creating my own and also have tried ones premade I found online, but I just can't get these darn files to go. If I launch the first disc of a game they do fine. I am running RetroPie 4.4.2 as of commits a few days ago.
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.