mirror of
https://github.com/zoriya/ComSquare.git
synced 2026-05-28 16:43:35 +00:00
Using internal read to get Direct Address
This commit is contained in:
+9
-9
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user