Merging origin/master

This commit is contained in:
Melefo
2021-02-05 14:41:25 +01:00
63 changed files with 1606 additions and 1152 deletions

View File

@@ -19,25 +19,26 @@ namespace ComSquare::APU
this->reset();
}
bool APU::isDebugger()
bool APU::isDebugger() const
{
return false;
}
std::string APU::getName()
std::string APU::getName() const
{
return "APU";
}
Component APU::getComponent()
Component APU::getComponent() const
{
return Apu;
}
uint8_t APU::_internalRead(uint24_t addr) {
uint8_t APU::_internalRead(uint24_t addr) const
{
switch (addr) {
case 0x0000 ... 0x00EF:
return this->_map->Page0.read_internal(addr);
return this->_map->Page0.read(addr);
case 0xF0:
return this->_registers.unknown;
case 0xF2:
@@ -63,9 +64,9 @@ namespace ComSquare::APU
case 0xFF:
return this->_registers.counter2;
case 0x0100 ... 0x01FF:
return this->_map->Page1.read_internal(addr - 0x0100);
return this->_map->Page1.read(addr - 0x0100);
case 0x0200 ... 0xFFBF:
return this->_map->Memory.read_internal(addr - 0x200);
return this->_map->Memory.read(addr - 0x200);
case 0xFFC0 ... 0xFFFF:
return this->_map->IPL.read(addr - 0xFFC0);
default:
@@ -73,10 +74,11 @@ namespace ComSquare::APU
}
}
void APU::_internalWrite(uint24_t addr, uint8_t data) {
void APU::_internalWrite(uint24_t addr, uint8_t data)
{
switch (addr) {
case 0x0000 ... 0x00EF:
this->_map->Page0.write_internal(addr, data);
this->_map->Page0.write(addr, data);
break;
case 0xF0:
this->_registers.unknown = data;
@@ -118,10 +120,10 @@ namespace ComSquare::APU
this->_registers.timer2 = data;
break;
case 0x0100 ... 0x01FF:
this->_map->Page1.write_internal(addr - 0x0100, data);
this->_map->Page1.write(addr - 0x0100, data);
break;
case 0x0200 ... 0xFFBF:
this->_map->Memory.write_internal(addr - 0x200, data);
this->_map->Memory.write(addr - 0x200, data);
break;
case 0xFFC0 ... 0xFFFF:
this->_map->IPL.write(addr - 0xFFC0, data);
@@ -131,7 +133,7 @@ namespace ComSquare::APU
}
}
uint8_t APU::read(uint24_t addr)
uint8_t APU::read(uint24_t addr) const
{
switch (addr) {
case 0x00:
@@ -167,6 +169,11 @@ namespace ComSquare::APU
}
}
uint24_t APU::getSize() const
{
return 0x3;
}
void APU::reset()
{
this->_registers.port0 = 0x00;