Some carts provide additional busses. The drive resources check the validity of the drive type against the available busses on the system. So if you had e.g. an IEEE cart enabled and an IEEE drive configured, on startup the drive code would change the drive type to the default for the IEC bus because the cart resources had not been loaded yet, so the check for the IEEE cartridge would fail.
This may need a fair bit of testing, as I'm not sure what implications/dependencies there might be on the the ordering relative to the other resources.
applied in r39930.
Nitpicking for next time: we are trying to keep the logic the same in all emulators, so this kind of change should be done in all of them (which i did now). Also a comment explaining why that call must be at a specific place would have been nice :)
thanks!