mirror of
https://github.com/TomHarte/CLK.git
synced 2025-08-15 14:27:29 +00:00
Fixed usage of flush
: the subclass version is definitively used.
This commit is contained in:
@@ -776,7 +776,7 @@ template <class T> class Processor {
|
|||||||
static MachineCycle bus_acknowledge_cycle = {BusOperation::BusAcknowledge, 1};
|
static MachineCycle bus_acknowledge_cycle = {BusOperation::BusAcknowledge, 1};
|
||||||
number_of_cycles_ -= static_cast<T *>(this)->perform_machine_cycle(bus_acknowledge_cycle) + 1;
|
number_of_cycles_ -= static_cast<T *>(this)->perform_machine_cycle(bus_acknowledge_cycle) + 1;
|
||||||
if(!number_of_cycles_) {
|
if(!number_of_cycles_) {
|
||||||
flush();
|
static_cast<T *>(this)->flush();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -793,7 +793,11 @@ template <class T> class Processor {
|
|||||||
|
|
||||||
switch(operation->type) {
|
switch(operation->type) {
|
||||||
case MicroOp::BusOperation:
|
case MicroOp::BusOperation:
|
||||||
if(number_of_cycles_ < operation->machine_cycle.length) { scheduled_program_counter_--; flush(); return; }
|
if(number_of_cycles_ < operation->machine_cycle.length) {
|
||||||
|
scheduled_program_counter_--;
|
||||||
|
static_cast<T *>(this)->flush();
|
||||||
|
return;
|
||||||
|
}
|
||||||
number_of_cycles_ -= operation->machine_cycle.length;
|
number_of_cycles_ -= operation->machine_cycle.length;
|
||||||
last_request_status_ = request_status_;
|
last_request_status_ = request_status_;
|
||||||
number_of_cycles_ -= static_cast<T *>(this)->perform_machine_cycle(operation->machine_cycle);
|
number_of_cycles_ -= static_cast<T *>(this)->perform_machine_cycle(operation->machine_cycle);
|
||||||
|
Reference in New Issue
Block a user