Simplify the usage of the register16_t union.

Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
This commit is contained in:
Adrian Conlon
2018-06-16 00:55:32 +01:00
parent 89632774a7
commit 67487b5b6e
17 changed files with 71 additions and 96 deletions

View File

@@ -18,10 +18,9 @@ void EightBit::Bus::poke(const uint16_t address, const uint8_t value) {
}
uint16_t EightBit::Bus::peekWord(const uint16_t address) const {
register16_t returned;
returned.low = peek(address);
returned.high = peek(address + 1);
return returned.word;
const auto low = peek(address);
const auto high = peek(address + 1);
return register16_t(low, high).word;
}
uint8_t EightBit::Bus::read() {
@@ -31,16 +30,6 @@ uint8_t EightBit::Bus::read() {
return DATA();
}
uint8_t EightBit::Bus::read(const uint16_t offset) {
ADDRESS().word = offset;
return read();
}
uint8_t EightBit::Bus::read(const register16_t address) {
ADDRESS() = address;
return read();
}
void EightBit::Bus::write() {
WritingByte.fire(EventArgs::empty());
reference() = DATA();
@@ -52,16 +41,6 @@ void EightBit::Bus::write(const uint8_t value) {
write();
}
void EightBit::Bus::write(const uint16_t offset, const uint8_t value) {
ADDRESS().word = offset;
write(value);
}
void EightBit::Bus::write(const register16_t address, const uint8_t value) {
ADDRESS() = address;
write(value);
}
uint8_t EightBit::Bus::reference() const {
return reference(ADDRESS().word);
}