1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-11-26 08:49:37 +00:00
CLK/Machines/AppleII/Card.hpp
2018-05-13 15:19:52 -04:00

33 lines
799 B
C++

//
// Card.h
// Clock Signal
//
// Created by Thomas Harte on 23/04/2018.
// Copyright 2018 Thomas Harte. All rights reserved.
//
#ifndef Card_h
#define Card_h
#include "../../Processors/6502/6502.hpp"
#include "../../ClockReceiver/ClockReceiver.hpp"
#include "../../Activity/Observer.hpp"
namespace AppleII {
class Card {
public:
/*! Advances time by @c cycles, of which @c stretches were stretched. */
virtual void run_for(Cycles half_cycles, int stretches) {}
/*! Performs a bus operation; the card is implicitly selected. */
virtual void perform_bus_operation(CPU::MOS6502::BusOperation operation, uint16_t address, uint8_t *value) = 0;
/*! Supplies a target for observers. */
virtual void set_activity_observer(Activity::Observer *observer) {}
};
}
#endif /* Card_h */