Disc Swap feature

Issue #279 resolved
Former user created an issue

Original issue 279 created by iceknightmail on 2012-09-30T18:44:52.000Z:

Since there's currently a "Cartridge swap" that allows for hot-swapping games without turning the emulated system off, would it be possible to make it work for CDs as well?

Currently, loading CDs always makes the emulated system to power off and on instead of just inserting them into the tray, which is a problem for games that, at a certain point, prompt to insert a second disc (Ground Zero Texas).

Comments (13)

  1. Former user Account Deleted
    • changed status to open

    Comment # 1 originally posted by ekeeke31 on 2012-10-01T06:11:08.000Z:

    Yes, it's planned.

  2. Former user Account Deleted

    Comment # 2 originally posted by ekeeke31 on 2012-10-01T21:40:41.000Z:

    Instead of a configurable option, I'm thinking about making this automatic. Indeed, at least with Model 1 hardware, there is a CDD command used to open and close the tray, which is sent by games when they need to swap disc. It would be easy to simply return to menu when a "Open Tray" command is catched and display a message to user so they can load another disc without resetting the whole system.

    Fortunately, those commands appear to still work when running from Model BIOS because games do not seem to make differences between BIOS and on the contrary, those were made to remain compatible with earlier games, and so still recognize and handle commands that obviously do nothing on Model 2 hardware with mechanical tray.

    The opposite, i.e 2nd gen games only compatible with Model 2 hardware, can however exist and in this case, games would probably only display a message on screen and expect user to manually open/close the tray, without sending any automatic commands.

    I don't know if such game exist so if anyone knows a little bit more multi-discs game and remember how and when swap occur, this could help. Having an \*exhaustive\* list of multi-discs game would also be useful when implementing this feature.

  3. Former user Account Deleted

    Comment # 3 originally posted by iceknightmail on 2012-10-01T22:35:30.000Z:

    How about adding a "Reset after load: Yes/No" button next to the game list?

    That would even free some space in the system settings menu.

  4. Former user Account Deleted

    Comment # 4 originally posted by ekeeke31 on 2012-10-01T22:42:45.000Z:

    As said before, I don't want to complicate the game browser with esoteric buttons, especially for something that will only be used by a few CD games and at very limited spots in those games.

    My solution seems better to me because it will only prompt you to load another disc when needed, which is generally when there is nothing else to do but loading another disc.

    If you want to "force" disc swapping, the existing "cartridge swap" feature seems more appropriate and could easily be renamed/adapted.

  5. Former user Account Deleted

    Comment # 5 originally posted by ekeeke31 on 2012-10-02T16:13:15.000Z:

    Another solution could be to detect if the tray is open when loading a new CD image file and if it is, does not reset the system. This might be less intrusive than forcing menu to appear when tray is opened, since the game would logically display on-screen instructions anyway.

    And eventually (still need to figure if any game need this), for games that does not send open\_tray command but instead expect you to open the tray manually, alternative could be a button in main kenu, similar to existing "shot", "infos" or "action replay switch" buttons, that let you virtually open/close CD tray when Mega CD is emulated. Again, when opened, loading a new CD image file would not reset system and automatically close the tray.

  6. Former user Account Deleted

    Comment # 6 originally posted by iceknightmail on 2012-10-03T16:28:16.000Z:

    That seems to be the best solution to me.

  7. Former user Account Deleted

    Comment # 7 originally posted by ekeeke31 on 2012-10-03T21:19:25.000Z:

    Actually I tried a few multi disc games (from this thread's list: http://www.sega-16.com/forum/showthread.php?9656-How-many-CD-games-had-multiple-discs) with all existing BIOS I had (US 1.10, EU 1.00, US 2.00, US 2.11W, EU 2.00, EU 2.00W, MultiMega 2.21, CDX 2.21, X'Eye 2.00) and I can confirm that ALL of them send "TRAY OPEN"/"TRAY CLOSE" commands when displaying their disc swap message (to force that I started games with Disc 2), no matter what BIOS version is used (which means that these commands are still sent on Model 2 hardware, even if they have no effect, which is quite surprising).

    So we can safely assume that the only thing needed is to check emulated drive status when loading a new CD image, and do not reset emulated system when tray is open.

  8. Former user Account Deleted

    Comment # 8 originally posted by swsparklewind611 on 2012-10-09T22:16:52.000Z:

    Maybe the process of switching discs could be simplified by doing something similar to what mednafen does: http://mednafen.sourceforge.net/documentation/09x/mednafen.html#Core+Features%01CD-ROM+Emulation%01Multiple-CD+Games

    Instead of using F8, you could have a menu button (similar to existing "shot" or "infos" like you said) to switch to disc 1/2/3. Then I don't think the user would have to deal with opening/closing the CD tray, and you wouldn't have to manually look for the specific file either.

  9. Former user Account Deleted

    Comment # 9 originally posted by ekeeke31 on 2012-10-09T22:59:26.000Z:

    I don't see how having users dealing with additional files that obviously need to be created or forcing them to put each disc filenames in game specific "m3u" files is "simplified" compared to my solution. Seems more straightforward (logical) to manually load the wanted file when the game asks for it, also helps in the case of special cartridges which can access CD.

    Anyway, it's already implemented the way I described it, without any extra buttons or anything like that and it seems to working fine so far. As said above, games seem to always send an "open tray" command when asking for disc swap, no matter what model BIOS you are using, so it's easy to check drive status when loading a CD image file and do not reset if it is open.

  10. Former user Account Deleted

    Comment # 11 originally posted by swsparklewind611 on 2012-10-10T12:29:29.000Z:

    It's simplified when you're using the emulator. Creating the m3u file might be a small hassle however, just like it's a hassle to verify every cue file when you obtain your games, but once you have it it shouldn't be an issue. Anyway, it's your emulator so you decide.

  11. Former user Account Deleted

    Comment # 12 originally posted by ekeeke31 on 2012-10-10T17:36:56.000Z:

    Maybe, but I'm more concerned about the fact this method is not straightforward, and, considering 99% of users never look the README, will inevitably lead to more questions about how to make the disc swap button work, why the extra file does not come with downloaded images, where to store it, how to fill it, etc... while the most logical thing people are going to try when they are asked to swap disc is simply to load another disc image.

    It also requires to implement an additional button in the emulator menu, which i would like to avoid when not absolutely necessary.

  12. Log in to comment