1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-07-22 15:28:56 +00:00

Add drive activity lights.

This commit is contained in:
Thomas Harte 2021-10-06 04:54:40 -07:00
parent 92a07398cd
commit 20bad38d42
2 changed files with 8 additions and 0 deletions

View File

@ -1126,6 +1126,12 @@ uint8_t Chipset::DiskController::get_rdy_trk0_wpro_chng() {
return 0xff & ~active_high; return 0xff & ~active_high;
} }
void Chipset::DiskController::set_activity_observer(Activity::Observer *observer) {
for_all_drives([observer] (Storage::Disk::Drive &drive, size_t index) {
drive.set_activity_observer(observer, "Drive " + std::to_string(index+1), true);
});
}
bool Chipset::DiskController::insert(const std::shared_ptr<Storage::Disk::Disk> &disk, size_t drive) { bool Chipset::DiskController::insert(const std::shared_ptr<Storage::Disk::Disk> &disk, size_t drive) {
if(drive >= 4) return false; if(drive >= 4) return false;
get_drive(drive).set_disk(disk); get_drive(drive).set_disk(disk);

View File

@ -104,6 +104,7 @@ class Chipset: private ClockingHint::Observer {
// Activity observation. // Activity observation.
void set_activity_observer(Activity::Observer *observer) { void set_activity_observer(Activity::Observer *observer) {
cia_a_handler_.set_activity_observer(observer); cia_a_handler_.set_activity_observer(observer);
disk_controller_.set_activity_observer(observer);
} }
private: private:
@ -235,6 +236,7 @@ class Chipset: private ClockingHint::Observer {
} }
bool insert(const std::shared_ptr<Storage::Disk::Disk> &disk, size_t drive); bool insert(const std::shared_ptr<Storage::Disk::Disk> &disk, size_t drive);
void set_activity_observer(Activity::Observer *);
private: private:
void process_input_bit(int value) final; void process_input_bit(int value) final;