1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-06-18 13:29:41 +00:00

Add SCSI controller inclusion logic.

This commit is contained in:
Thomas Harte 2022-09-15 12:17:50 -04:00
parent dc35ec8fa0
commit 2f78a1c7af
3 changed files with 10 additions and 1 deletions

View File

@ -22,6 +22,7 @@ Analyser::Static::TargetList Analyser::Static::AppleII::GetTargets(const Media &
// any mass storage is present.
if(!target->media.mass_storage_devices.empty()) {
target->model = Target::Model::EnhancedIIe;
target->scsi_controller = Target::SCSIController::AppleSCSI;
}
TargetList targets;

View File

@ -29,16 +29,24 @@ struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Ta
SixteenSector,
ThirteenSector
);
ReflectableEnum(SCSIController,
None,
AppleSCSI
);
Model model = Model::IIe;
DiskController disk_controller = DiskController::None;
SCSIController scsi_controller = SCSIController::None;
Target() : Analyser::Static::Target(Machine::AppleII) {
if(needs_declare()) {
DeclareField(model);
DeclareField(disk_controller);
DeclareField(scsi_controller);
AnnounceEnum(Model);
AnnounceEnum(DiskController);
AnnounceEnum(SCSIController);
}
}
};

View File

@ -483,7 +483,7 @@ template <Analyser::Static::AppleII::Target::Model model> class ConcreteMachine:
}
// Add a SCSI card if requested.
const bool has_scsi_card = true; // TODO: obtain via the target.
const bool has_scsi_card = target.scsi_controller == Target::SCSIController::AppleSCSI;
if(has_scsi_card) {
request = request && SCSICard::rom_request();
}