Using internal read to get Direct Address

This commit is contained in:
Melefo
2020-02-12 14:35:23 +01:00
parent 05052037e5
commit b3789341de
2 changed files with 11 additions and 11 deletions
+9 -9
View File
@@ -158,33 +158,33 @@ namespace ComSquare::APU
case 0x00:
return this->NOP();
case 0x02:
return SET1(_getDirectAddr(), 0);
return this->SET1(_getDirectAddr(), 0);
case 0x20:
return this->CLRP();
case 0x22:
return SET1(_getDirectAddr(), 1);
return this->SET1(_getDirectAddr(), 1);
case 0x40:
return this->SETP();
case 0x42:
return SET1(_getDirectAddr(), 2);
return this->SET1(_getDirectAddr(), 2);
case 0x60:
return this->CLRC();
case 0x62:
return SET1(_getDirectAddr(), 3);
return this->SET1(_getDirectAddr(), 3);
case 0x80:
return this->SETC();
case 0x82:
return SET1(_getDirectAddr(), 4);
return this->SET1(_getDirectAddr(), 4);
case 0xA0:
return this->EI();
case 0xA2:
return SET1(_getDirectAddr(), 5);
return this->SET1(_getDirectAddr(), 5);
case 0xC0:
return this->DI();
case 0xC2:
return SET1(_getDirectAddr(), 6);
return this->SET1(_getDirectAddr(), 6);
case 0x32:
return SET1(_getDirectAddr(), 7);
return this->SET1(_getDirectAddr(), 7);
case 0xED:
return this->NOTC();
case 0xEF:
@@ -209,7 +209,7 @@ namespace ComSquare::APU
uint24_t APU::_getDirectAddr()
{
uint8_t addr = read(this->_internalRegisters.pc++);
uint8_t addr = this->_internalRead(this->_internalRegisters.pc++);
if (this->_internalRegisters.p)
addr += 0x100;
+2 -2
View File
@@ -8,9 +8,9 @@ namespace ComSquare::APU
{
int APU::SET1(uint24_t dp, uint8_t bit)
{
uint8_t data = read(dp);
uint8_t data = this->_internalRead(dp);
write(dp, data | (1u << bit));
this->_internalWrite(dp, data | (1u << bit));
return 4;
}
}