EightBit/Intel8080/src/InputOutput.cpp

35 lines
777 B
C++

#include "stdafx.h"
#include "InputOutput.h"
EightBit::InputOutput::InputOutput() {
}
uint8_t EightBit::InputOutput::readInputPort(uint8_t port) {
OnReadingPort(port);
auto value = input[port];
OnReadPort(port);
return value;
}
void EightBit::InputOutput::writeOutputPort(uint8_t port, uint8_t value) {
OnWritingPort(port);
output[port] = value;
OnWrittenPort(port);
}
void EightBit::InputOutput::OnReadingPort(uint8_t port) {
ReadingPort.fire(PortEventArgs(port));
}
void EightBit::InputOutput::OnReadPort(uint8_t port) {
ReadPort.fire(PortEventArgs(port));
}
void EightBit::InputOutput::OnWritingPort(uint8_t port) {
WritingPort.fire(PortEventArgs(port));
}
void EightBit::InputOutput::OnWrittenPort(uint8_t port) {
WrittenPort.fire(PortEventArgs(port));
}