The swapping implementation on demul should be more or less correct.
The problem is that some games don't read the drive and disc state at all. They rely on error handling to detect swapping and that's a painful thing to implement.
Games that detect the disc change by looking if the lid opened and closed, or by checking if the drive is fed with a disc should work.
Games that detect the disc change by waiting until the correct drive errors are generated will not work, and D2 as well as Resident Evil Code Veronica are amongst those games.
The only licensed game that requires disc swapping to continue is D2 cause it doesn't let you save at the end of each disc. Unfortunately it does this using an unsupported way. Tough luck I guess.
