16 bool singleSided = config.
findChild(
"singlesided") !=
nullptr;
18 if ((0 > numDrives) || (numDrives >= 4)) {
20 "Invalid number of drives: " << numDrives);
24 bool signalsNeedMotorOn = !styleEl || (styleEl->
getData() ==
"Philips");
27 for ( ; i < numDrives; ++i) {
28 drives[i] = make_unique<RealDrive>(
33 drives[i] = make_unique<DummyDrive>();
43 for (
int i = 0; i < 4; ++i) {
44 drives[i]->setMotor(
false, time);
60 return &(*rom)[start & 0x3FFF];
64 template<
typename Archive>
67 ar.template serializeBase<MSXDevice>(*this);
73 char tag[7] = {
'd',
'r',
'i',
'v',
'e',
'X', 0 };
74 for (
int i = 0; i < 4; ++i) {
75 if (
auto drive = dynamic_cast<RealDrive*>(
drives[i].
get())) {
76 tag[5] = char(
'a' + i);
77 ar.serialize(tag, *drive);