Added m3u support#259
Conversation
The whole reason I've never bothered with m3u support is because the 3DO does not support disc swapping. This is fundamental to the design of the system. When the CDROM drive tray is closed the OS reboots the whole console. There is no such thing as in-game disc swapping like other consoles. If people REALLY want this we can add it but it provides no additional functionality to simply loading up the other disc using normal content selector. At most it helps make a single game NVRAM when using the per-game NVRAM mode. |
|
This code duplicates a number of states that already exist within the internal disc management logic and the ODE emulation I've added. Not good to layer 3 different ways of dealing with disc images. If this is to be done correctly it should probably work with the ODE and cdrom emulation. |
|
That makes sense. I reworked the media switching path to avoid having a separate libretro-side tray/media state machine on top of the existing CD-ROM and ODE logic. So the remaining libretro M3U state is only the frontend-facing playlist/catalog data needed by the libretro disk-control API: image count, selected index, paths, and labels. Main changes:
So M3U still provides the useful frontend grouping and shared per-game NVRAM behavior, but tray state and media change/reset behavior now flow through the existing CD-ROM/ODE machinery. |
Changelog
.m3uas a supported content extension..iso,.bin,.cue, and.chdimages.opera_cdrom.cso opening the virtual tray works correctly when no valid disc image is loaded.Please note that I was not able to play any multi-disc game up to the point where a disc swap is requested, so I cannot fully confirm that this works 100% in-game yet.