From 9089bf6535de436cd936dd9eb1de7b92ae2c8b07 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Thu, 10 May 2018 21:58:14 -0400 Subject: [PATCH] Adds step events. --- Storage/Disk/Drive.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Storage/Disk/Drive.cpp b/Storage/Disk/Drive.cpp index 8f5648b12..0f0d14812 100644 --- a/Storage/Disk/Drive.cpp +++ b/Storage/Disk/Drive.cpp @@ -50,7 +50,11 @@ bool Drive::get_is_track_zero() { void Drive::step(HeadPosition offset) { HeadPosition old_head_position = head_position_; head_position_ += offset; - if(head_position_ < HeadPosition(0)) head_position_ = HeadPosition(0); + if(observer_) observer_->announce_drive_event(drive_name_, Activity::Observer::DriveEvent::Step); + if(head_position_ < HeadPosition(0)) { + head_position_ = HeadPosition(0); + if(observer_) observer_->announce_drive_event(drive_name_, Activity::Observer::DriveEvent::StepBelowZero); + } // If the head moved, flush the old track. if(head_position_ != old_head_position) {