fix poke access counter offset

add a few more bank switching types
This commit is contained in:
thrust26 2020-04-02 12:03:35 +02:00
parent a015cd9082
commit e91bc140cd
36 changed files with 103 additions and 72 deletions

View File

@ -126,6 +126,7 @@ void Cartridge::pokeRAM(uInt8& dest, uInt16 address, uInt8 value)
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void Cartridge::createRomAccessArrays(size_t size)
{
myAccessSize = uInt32(size);
#ifdef DEBUGGER_SUPPORT
myRomAccessBase = make_unique<Device::AccessFlags[]>(size);
std::fill_n(myRomAccessBase.get(), size, Device::ROW);
@ -142,11 +143,8 @@ void Cartridge::createRomAccessArrays(size_t size)
string Cartridge::getAccessCounters() const
{
ostringstream out;
size_t romSize;
uInt32 offset = 0;
getImage(romSize);
for(uInt16 bank = 0; bank < bankCount(); ++bank)
{
uInt16 origin = bankOrigin(bank);
@ -165,7 +163,7 @@ string Cartridge::getAccessCounters() const
for(uInt16 addr = 0; addr < bankSize; ++addr)
{
out << Common::Base::HEX4 << (addr | origin) << ","
<< Common::Base::toString(myRomAccessCounter[offset + addr + romSize], Common::Base::Fmt::_10_8) << ", ";
<< Common::Base::toString(myRomAccessCounter[offset + addr + myAccessSize], Common::Base::Fmt::_10_8) << ", ";
}
out << "\n";

View File

@ -357,6 +357,9 @@ class Cartridge : public Device
// Contains address of illegal RAM write access or 0
uInt16 myRamWriteAccess{0};
// Total size of ROM access area (might include RAM too)
uInt32 myAccessSize;
private:
// The startup bank to use (where to look for the reset vector address)
uInt16 myStartBank{0};

View File

@ -78,7 +78,7 @@ void Cartridge2K::install(System& system)
access.directPeekBase = &myImage[addr & myMask];
access.romAccessBase = &myRomAccessBase[addr & myMask];
access.romPeekCounter = &myRomAccessCounter[addr & myMask];
access.romPokeCounter = &myRomAccessCounter[(addr & myMask) + mySize];
access.romPokeCounter = &myRomAccessCounter[(addr & myMask) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
}

View File

@ -61,7 +61,7 @@ void Cartridge3E::install(System& system)
access.directPeekBase = &myImage[(mySize - 2048) + (addr & 0x07FF)];
access.romAccessBase = &myRomAccessBase[(mySize - 2048) + (addr & 0x07FF)];
access.romPeekCounter = &myRomAccessCounter[(mySize - 2048) + (addr & 0x07FF)];
access.romPokeCounter = &myRomAccessCounter[(mySize - 2048) + (addr & 0x07FF) + mySize];
access.romPokeCounter = &myRomAccessCounter[(mySize - 2048) + (addr & 0x07FF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -162,7 +162,7 @@ bool Cartridge3E::bank(uInt16 bank)
access.directPeekBase = &myImage[offset + (addr & 0x07FF)];
access.romAccessBase = &myRomAccessBase[offset + (addr & 0x07FF)];
access.romPeekCounter = &myRomAccessCounter[offset + (addr & 0x07FF)];
access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x07FF) + mySize];
access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x07FF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
}
@ -183,7 +183,7 @@ bool Cartridge3E::bank(uInt16 bank)
access.directPeekBase = &myRAM[offset + (addr & 0x03FF)];
access.romAccessBase = &myRomAccessBase[mySize + offset + (addr & 0x03FF)];
access.romPeekCounter = &myRomAccessCounter[mySize + offset + (addr & 0x03FF)];
access.romPokeCounter = &myRomAccessCounter[mySize + offset + (addr & 0x03FF) + mySize];
access.romPokeCounter = &myRomAccessCounter[mySize + offset + (addr & 0x03FF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -197,7 +197,7 @@ bool Cartridge3E::bank(uInt16 bank)
{
access.romAccessBase = &myRomAccessBase[mySize + offset + (addr & 0x03FF)];
access.romPeekCounter = &myRomAccessCounter[mySize + offset + (addr & 0x03FF)];
access.romPokeCounter = &myRomAccessCounter[mySize + offset + (addr & 0x03FF) + mySize];
access.romPokeCounter = &myRomAccessCounter[mySize + offset + (addr & 0x03FF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
}

View File

@ -59,7 +59,7 @@ void Cartridge3F::install(System& system)
access.directPeekBase = &myImage[(mySize - 2048) + (addr & 0x07FF)];
access.romAccessBase = &myRomAccessBase[(mySize - 2048) + (addr & 0x07FF)];
access.romPeekCounter = &myRomAccessCounter[(mySize - 2048) + (addr & 0x07FF)];
access.romPokeCounter = &myRomAccessCounter[(mySize - 2048) + (addr & 0x07FF) + mySize];
access.romPokeCounter = &myRomAccessCounter[(mySize - 2048) + (addr & 0x07FF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -121,7 +121,7 @@ bool Cartridge3F::bank(uInt16 bank)
access.directPeekBase = &myImage[offset + (addr & 0x07FF)];
access.romAccessBase = &myRomAccessBase[offset + (addr & 0x07FF)];
access.romPeekCounter = &myRomAccessCounter[offset + (addr & 0x07FF)];
access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x07FF) + mySize];
access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x07FF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
return myBankChanged = true;

View File

@ -48,7 +48,7 @@ void Cartridge4K::install(System& system)
access.directPeekBase = &myImage[addr & 0x0FFF];
access.romAccessBase = &myRomAccessBase[addr & 0x0FFF];
access.romPeekCounter = &myRomAccessCounter[addr & 0x0FFF];
access.romPokeCounter = &myRomAccessCounter[(addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[(addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
}

View File

@ -444,7 +444,7 @@ bool CartridgeBUS::bank(uInt16 bank)
{
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + 28_KB];
mySystem->setPageAccess(addr, access);
}
return myBankChanged = true;

View File

@ -417,7 +417,7 @@ bool CartridgeCDF::bank(uInt16 bank)
{
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + 28_KB];
mySystem->setPageAccess(addr, access);
}
return myBankChanged = true;

View File

@ -121,7 +121,7 @@ bool CartridgeCM::bank(uInt16 bank)
access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)];
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -135,14 +135,14 @@ bool CartridgeCM::bank(uInt16 bank)
access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)];
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
}
else
{
access.directPeekBase = &myRAM[addr & 0x7FF];
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x07FF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x07FF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x07FF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x07FF) + myAccessSize];
}
if((mySWCHA & 0x30) == 0x20)

View File

@ -242,7 +242,7 @@ bool CartridgeCTY::bank(uInt16 bank)
{
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
return myBankChanged = true;

View File

@ -69,6 +69,8 @@ void CartridgeCV::install(System& system)
{
access.directPeekBase = &myImage[addr & 0x07FF];
access.romAccessBase = &myRomAccessBase[addr & 0x07FF];
access.romPeekCounter = &myRomAccessCounter[addr & 0x07FF];
access.romPokeCounter = &myRomAccessCounter[(addr & 0x07FF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -88,6 +90,8 @@ void CartridgeCV::install(System& system)
{
access.directPeekBase = &myRAM[addr & 0x03FF];
access.romAccessBase = &myRomAccessBase[2048 + (addr & 0x03FF)];
access.romPeekCounter = &myRomAccessCounter[2048 + (addr & 0x03FF)];
access.romPokeCounter = &myRomAccessCounter[2048 + (addr & 0x03FF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
}

View File

@ -63,6 +63,8 @@ void CartridgeCVPlus::install(System& system)
for(uInt16 addr = 0x1400; addr < 0x1800; addr += System::PAGE_SIZE)
{
access.romAccessBase = &myRomAccessBase[mySize + (addr & 0x03FF)];
access.romPeekCounter = &myRomAccessCounter[mySize + (addr & 0x03FF)];
access.romPokeCounter = &myRomAccessCounter[mySize + (addr & 0x03FF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -72,6 +74,8 @@ void CartridgeCVPlus::install(System& system)
{
access.directPeekBase = &myRAM[addr & 0x03FF];
access.romAccessBase = &myRomAccessBase[mySize + (addr & 0x03FF)];
access.romPeekCounter = &myRomAccessCounter[mySize + (addr & 0x03FF)];
access.romPokeCounter = &myRomAccessCounter[mySize + (addr & 0x03FF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}

View File

@ -85,6 +85,8 @@ bool CartridgeDF::bank(uInt16 bank)
addr += System::PAGE_SIZE)
{
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -94,6 +96,8 @@ bool CartridgeDF::bank(uInt16 bank)
{
access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)];
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
return myBankChanged = true;

View File

@ -52,6 +52,8 @@ void CartridgeDFSC::install(System& system)
for(uInt16 addr = 0x1000; addr < 0x1080; addr += System::PAGE_SIZE)
{
access.romAccessBase = &myRomAccessBase[addr & 0x007F];
access.romPeekCounter = &myRomAccessCounter[addr & 0x007F];
access.romPokeCounter = &myRomAccessCounter[(addr & 0x007F) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -61,6 +63,8 @@ void CartridgeDFSC::install(System& system)
{
access.directPeekBase = &myRAM[addr & 0x007F];
access.romAccessBase = &myRomAccessBase[0x80 + (addr & 0x007F)];
access.romPeekCounter = &myRomAccessCounter[0x80 + (addr & 0x007F)];
access.romPokeCounter = &myRomAccessCounter[0x80 + (addr & 0x007F) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -128,6 +132,8 @@ bool CartridgeDFSC::bank(uInt16 bank)
addr += System::PAGE_SIZE)
{
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -137,6 +143,8 @@ bool CartridgeDFSC::bank(uInt16 bank)
{
access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)];
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
return myBankChanged = true;

View File

@ -375,7 +375,7 @@ bool CartridgeDPC::bank(uInt16 bank)
{
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -386,7 +386,7 @@ bool CartridgeDPC::bank(uInt16 bank)
access.directPeekBase = &myProgramImage[myBankOffset + (addr & 0x0FFF)];
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
return myBankChanged = true;

View File

@ -606,7 +606,7 @@ bool CartridgeDPCPlus::bank(uInt16 bank)
{
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + 24_KB];
mySystem->setPageAccess(addr, access);
}
return myBankChanged = true;

View File

@ -63,7 +63,7 @@ void CartridgeE0::install(System& system)
access.directPeekBase = &myImage[0x1C00 + (addr & 0x03FF)];
access.romAccessBase = &myRomAccessBase[0x1C00 + (addr & 0x03FF)];
access.romPeekCounter = &myRomAccessCounter[0x1C00 + (addr & 0x03FF)];
access.romPokeCounter = &myRomAccessCounter[0x1C00 + (addr & 0x03FF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[0x1C00 + (addr & 0x03FF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -71,7 +71,7 @@ void CartridgeE0::install(System& system)
access.directPeekBase = nullptr;
access.romAccessBase = &myRomAccessBase[0x1FC0]; // TJ: is this the correct address (or 0x1FE0)?
access.romPeekCounter = &myRomAccessCounter[0x1FC0];
access.romPokeCounter = &myRomAccessCounter[0x1FC0 + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[0x1FC0 + myAccessSize];
access.type = System::PageAccessType::READ;
for(uInt16 addr = (0x1FE0 & ~System::PAGE_MASK); addr < 0x2000;
addr += System::PAGE_SIZE)
@ -150,7 +150,7 @@ void CartridgeE0::segmentZero(uInt16 slice)
access.directPeekBase = &myImage[offset + (addr & 0x03FF)];
access.romAccessBase = &myRomAccessBase[offset + (addr & 0x03FF)];
access.romPeekCounter = &myRomAccessCounter[offset + (addr & 0x03FF)];
access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
myBankChanged = true;
@ -173,7 +173,7 @@ void CartridgeE0::segmentOne(uInt16 slice)
access.directPeekBase = &myImage[offset + (addr & 0x03FF)];
access.romAccessBase = &myRomAccessBase[offset + (addr & 0x03FF)];
access.romPeekCounter = &myRomAccessCounter[offset + (addr & 0x03FF)];
access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
myBankChanged = true;
@ -196,7 +196,7 @@ void CartridgeE0::segmentTwo(uInt16 slice)
access.directPeekBase = &myImage[offset + (addr & 0x03FF)];
access.romAccessBase = &myRomAccessBase[offset + (addr & 0x03FF)];
access.romPeekCounter = &myRomAccessCounter[offset + (addr & 0x03FF)];
access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
myBankChanged = true;

View File

@ -86,7 +86,7 @@ bool CartridgeEF::bank(uInt16 bank)
{
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -97,7 +97,7 @@ bool CartridgeEF::bank(uInt16 bank)
access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)];
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
return myBankChanged = true;

View File

@ -53,7 +53,7 @@ void CartridgeEFSC::install(System& system)
{
access.romAccessBase = &myRomAccessBase[addr & 0x007F];
access.romPeekCounter = &myRomAccessCounter[addr & 0x007F];
access.romPokeCounter = &myRomAccessCounter[(addr & 0x007F) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[(addr & 0x007F) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -64,7 +64,7 @@ void CartridgeEFSC::install(System& system)
access.directPeekBase = &myRAM[addr & 0x007F];
access.romAccessBase = &myRomAccessBase[0x80 + (addr & 0x007F)];
access.romPeekCounter = &myRomAccessCounter[0x80 + (addr & 0x007F)];
access.romPokeCounter = &myRomAccessCounter[0x80 + (addr & 0x007F) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[0x80 + (addr & 0x007F) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -133,7 +133,7 @@ bool CartridgeEFSC::bank(uInt16 bank)
{
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -144,7 +144,7 @@ bool CartridgeEFSC::bank(uInt16 bank)
access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)];
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
return myBankChanged = true;

View File

@ -92,6 +92,8 @@ bool CartridgeF0::bank(uInt16 bank)
addr += System::PAGE_SIZE)
{
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -102,7 +104,7 @@ bool CartridgeF0::bank(uInt16 bank)
access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)];
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}

View File

@ -90,7 +90,7 @@ bool CartridgeF4::bank(uInt16 bank)
{
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -101,7 +101,7 @@ bool CartridgeF4::bank(uInt16 bank)
access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)];
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
return myBankChanged = true;

View File

@ -53,7 +53,7 @@ void CartridgeF4SC::install(System& system)
{
access.romAccessBase = &myRomAccessBase[addr & 0x007F];
access.romPeekCounter = &myRomAccessCounter[addr & 0x007F];
access.romPokeCounter = &myRomAccessCounter[(addr & 0x07F) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[(addr & 0x07F) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -64,7 +64,7 @@ void CartridgeF4SC::install(System& system)
access.directPeekBase = &myRAM[addr & 0x007F];
access.romAccessBase = &myRomAccessBase[0x80 + (addr & 0x007F)];
access.romPeekCounter = &myRomAccessCounter[0x80 + (addr & 0x007F)];
access.romPokeCounter = &myRomAccessCounter[0x80 + (addr & 0x007F) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[0x80 + (addr & 0x007F) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -133,7 +133,7 @@ bool CartridgeF4SC::bank(uInt16 bank)
{
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -144,7 +144,7 @@ bool CartridgeF4SC::bank(uInt16 bank)
access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)];
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
return myBankChanged = true;

View File

@ -130,7 +130,7 @@ bool CartridgeF6::bank(uInt16 bank)
{
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -141,7 +141,7 @@ bool CartridgeF6::bank(uInt16 bank)
access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)];
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
return myBankChanged = true;

View File

@ -53,7 +53,7 @@ void CartridgeF6SC::install(System& system)
{
access.romAccessBase = &myRomAccessBase[addr & 0x007F];
access.romPeekCounter = &myRomAccessCounter[addr & 0x007F];
access.romPokeCounter = &myRomAccessCounter[(addr & 0x07F) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[(addr & 0x07F) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -64,7 +64,7 @@ void CartridgeF6SC::install(System& system)
access.directPeekBase = &myRAM[addr & 0x007F];
access.romAccessBase = &myRomAccessBase[0x80 + (addr & 0x007F)];
access.romPeekCounter = &myRomAccessCounter[0x80 + (addr & 0x007F)];
access.romPokeCounter = &myRomAccessCounter[0x80 + (addr & 0x007F) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[0x80 + (addr & 0x007F) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -173,7 +173,7 @@ bool CartridgeF6SC::bank(uInt16 bank)
{
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -184,7 +184,7 @@ bool CartridgeF6SC::bank(uInt16 bank)
access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)];
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
return myBankChanged = true;

View File

@ -111,7 +111,7 @@ bool CartridgeF8::bank(uInt16 bank)
{
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -121,8 +121,8 @@ bool CartridgeF8::bank(uInt16 bank)
{
access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)];
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[addr & 0x0FFF];
access.romPokeCounter = &myRomAccessCounter[addr & 0x0FFF + myImage.size()];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
return myBankChanged = true;

View File

@ -53,7 +53,7 @@ void CartridgeF8SC::install(System& system)
{
access.romAccessBase = &myRomAccessBase[addr & 0x007F];
access.romPeekCounter = &myRomAccessCounter[addr & 0x007F];
access.romPokeCounter = &myRomAccessCounter[(addr & 0x07F) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[(addr & 0x07F) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -64,7 +64,7 @@ void CartridgeF8SC::install(System& system)
access.directPeekBase = &myRAM[addr & 0x007F];
access.romAccessBase = &myRomAccessBase[0x80 + (addr & 0x007F)];
access.romPeekCounter = &myRomAccessCounter[0x80 + (addr & 0x007F)];
access.romPokeCounter = &myRomAccessCounter[0x80 + (addr & 0x007F) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[0x80 + (addr & 0x007F) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -153,7 +153,7 @@ bool CartridgeF8SC::bank(uInt16 bank)
{
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -164,7 +164,7 @@ bool CartridgeF8SC::bank(uInt16 bank)
access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)];
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
return myBankChanged = true;

View File

@ -53,7 +53,7 @@ void CartridgeFA::install(System& system)
{
access.romAccessBase = &myRomAccessBase[addr & 0x00FF];
access.romPeekCounter = &myRomAccessCounter[addr & 0x00FF];
access.romPokeCounter = &myRomAccessCounter[(addr & 0x00FF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[(addr & 0x00FF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -64,7 +64,7 @@ void CartridgeFA::install(System& system)
access.directPeekBase = &myRAM[addr & 0x00FF];
access.romAccessBase = &myRomAccessBase[0x100 + (addr & 0x00FF)];
access.romPeekCounter = &myRomAccessCounter[0x100 + (addr & 0x00FF)];
access.romPokeCounter = &myRomAccessCounter[0x100 + (addr & 0x00FF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[0x100 + (addr & 0x00FF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -163,7 +163,7 @@ bool CartridgeFA::bank(uInt16 bank)
{
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -174,7 +174,7 @@ bool CartridgeFA::bank(uInt16 bank)
access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)];
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
return myBankChanged = true;

View File

@ -63,7 +63,7 @@ void CartridgeFA2::install(System& system)
{
access.romAccessBase = &myRomAccessBase[addr & 0x00FF];
access.romPeekCounter = &myRomAccessCounter[addr & 0x00FF];
access.romPokeCounter = &myRomAccessCounter[(addr & 0x00FF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[(addr & 0x00FF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -75,7 +75,7 @@ void CartridgeFA2::install(System& system)
access.directPeekBase = &myRAM[addr & 0x00FF];
access.romAccessBase = &myRomAccessBase[0x100 + (addr & 0x00FF)];
access.romPeekCounter = &myRomAccessCounter[0x100 + (addr & 0x00FF)];
access.romPokeCounter = &myRomAccessCounter[0x100 + (addr & 0x00FF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[0x100 + (addr & 0x00FF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -228,7 +228,7 @@ bool CartridgeFA2::bank(uInt16 bank)
{
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -239,7 +239,7 @@ bool CartridgeFA2::bank(uInt16 bank)
access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)];
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
return myBankChanged = true;

View File

@ -115,7 +115,7 @@ bool CartridgeFC::bank(uInt16 bank)
{
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
@ -126,7 +126,7 @@ bool CartridgeFC::bank(uInt16 bank)
access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)];
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
myCurrentBank = myTargetBank;

View File

@ -107,8 +107,8 @@ bool CartridgeFE::bank(uInt16 bank)
for(uInt16 addr = 0x1000; addr < 0x2000; addr += System::PAGE_SIZE)
{
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[addr & 0x0FFF];
access.romPokeCounter = &myRomAccessCounter[addr & 0x0FFF + myImage.size()];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}

View File

@ -112,6 +112,8 @@ bool CartridgeMDM::bank(uInt16 bank)
{
access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)];
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}

View File

@ -71,6 +71,8 @@ void CartridgeMNetwork::setAccess(uInt16 addrFrom, uInt16 size,
else if(type == System::PageAccessType::WRITE) // all RAM writes mapped to ::poke()
access.directPokeBase = nullptr;
access.romAccessBase = &myRomAccessBase[codeOffset + (addr & addrMask)];
access.romPeekCounter = &myRomAccessCounter[codeOffset + (addr & addrMask)];
access.romPokeCounter = &myRomAccessCounter[codeOffset + (addr & addrMask) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
}
@ -87,6 +89,8 @@ void CartridgeMNetwork::install(System& system)
addr += System::PAGE_SIZE)
{
access.romAccessBase = &myRomAccessBase[0x1fc0];
access.romPeekCounter = &myRomAccessCounter[0x1fc0];
access.romPokeCounter = &myRomAccessCounter[0x1fc0 + myAccessSize];
mySystem->setPageAccess(addr, access);
}
/*setAccess(0x1FE0 & ~System::PAGE_MASK, System::PAGE_SIZE,

View File

@ -122,6 +122,8 @@ bool CartridgeSB::bank(uInt16 bank)
{
access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)];
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
return myBankChanged = true;

View File

@ -137,7 +137,7 @@ bool CartridgeUA::bank(uInt16 bank)
access.directPeekBase = &myImage[myBankOffset + (addr & 0x0FFF)];
access.romAccessBase = &myRomAccessBase[myBankOffset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[myBankOffset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
return myBankChanged = true;

View File

@ -65,7 +65,7 @@ void CartridgeWD::install(System& system)
read.directPeekBase = &myRAM[addr & 0x003F];
read.romAccessBase = &myRomAccessBase[addr & 0x003F];
read.romPeekCounter = &myRomAccessCounter[addr & 0x003F];
read.romPokeCounter = &myRomAccessCounter[(addr & 0x003F) + myImage.size()];
read.romPokeCounter = &myRomAccessCounter[(addr & 0x003F) + 8_KB];
mySystem->setPageAccess(addr, read);
}
@ -77,7 +77,7 @@ void CartridgeWD::install(System& system)
{
write.romAccessBase = &myRomAccessBase[addr & 0x003F];
write.romPeekCounter = &myRomAccessCounter[addr & 0x003F];
write.romPokeCounter = &myRomAccessCounter[(addr & 0x003F) + myImage.size()];
write.romPokeCounter = &myRomAccessCounter[(addr & 0x003F) + 8_KB];
mySystem->setPageAccess(addr, write);
}
@ -183,7 +183,7 @@ void CartridgeWD::segmentZero(uInt8 slice)
{
access.romAccessBase = &myRomAccessBase[offset + (addr & 0x03FF)];
access.romPeekCounter = &myRomAccessCounter[offset + (addr & 0x03FF)];
access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + 8_KB];
mySystem->setPageAccess(addr, access);
}
myOffset[0] = offset;
@ -199,7 +199,7 @@ void CartridgeWD::segmentOne(uInt8 slice)
{
access.romAccessBase = &myRomAccessBase[offset + (addr & 0x03FF)];
access.romPeekCounter = &myRomAccessCounter[offset + (addr & 0x03FF)];
access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + 8_KB];
mySystem->setPageAccess(addr, access);
}
myOffset[1] = offset;
@ -215,7 +215,7 @@ void CartridgeWD::segmentTwo(uInt8 slice)
{
access.romAccessBase = &myRomAccessBase[offset + (addr & 0x03FF)];
access.romPeekCounter = &myRomAccessCounter[offset + (addr & 0x03FF)];
access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + 8_KB];
mySystem->setPageAccess(addr, access);
}
myOffset[2] = offset;
@ -237,7 +237,7 @@ void CartridgeWD::segmentThree(uInt8 slice)
{
access.romAccessBase = &myRomAccessBase[offset + (addr & 0x03FF)];
access.romPeekCounter = &myRomAccessCounter[offset + (addr & 0x03FF)];
access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x03FF) + 8_KB];
mySystem->setPageAccess(addr, access);
}
myOffset[3] = offset;

View File

@ -117,7 +117,7 @@ bool CartridgeX07::bank(uInt16 bank)
access.directPeekBase = &myImage[offset + (addr & 0x0FFF)];
access.romAccessBase = &myRomAccessBase[offset + (addr & 0x0FFF)];
access.romPeekCounter = &myRomAccessCounter[offset + (addr & 0x0FFF)];
access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x0FFF) + myImage.size()];
access.romPokeCounter = &myRomAccessCounter[offset + (addr & 0x0FFF) + myAccessSize];
mySystem->setPageAccess(addr, access);
}
return myBankChanged = true;