mirror of https://github.com/stella-emu/stella.git
more types for partial fix for issue #537 (RAM writes to read port)
This commit is contained in:
parent
15426a31e0
commit
4b0f255b8d
|
@ -98,8 +98,19 @@ bool CartridgeDFSC::poke(uInt16 address, uInt8 value)
|
|||
return false;
|
||||
}
|
||||
|
||||
pokeRAM(myRAM[address & 0x007F], pokeAddress, value);
|
||||
return true;
|
||||
if(!(address & 0x080))
|
||||
{
|
||||
pokeRAM(myRAM[address & 0x007F], pokeAddress, value);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Writing to the read port should be ignored, but (TODO) trigger a break if option enabled
|
||||
uInt8 dummy;
|
||||
|
||||
pokeRAM(dummy, pokeAddress, value);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
|
|
@ -128,8 +128,19 @@ bool CartridgeFA::poke(uInt16 address, uInt8 value)
|
|||
break;
|
||||
}
|
||||
|
||||
pokeRAM(myRAM[address & 0x00FF], address, value);
|
||||
return true;
|
||||
if (!(address & 0x100))
|
||||
{
|
||||
pokeRAM(myRAM[address & 0x00FF], address, value);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Writing to the read port should be ignored, but (TODO) trigger a break if option enabled
|
||||
uInt8 dummy;
|
||||
|
||||
pokeRAM(dummy, address, value);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
|
|
@ -195,8 +195,19 @@ bool CartridgeFA2::poke(uInt16 address, uInt8 value)
|
|||
break;
|
||||
}
|
||||
|
||||
pokeRAM(myRAM[address & 0x00FF], address, value);
|
||||
return true;
|
||||
if(!(address & 0x100))
|
||||
{
|
||||
pokeRAM(myRAM[address & 0x00FF], address, value);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Writing to the read port should be ignored, but (TODO) trigger a break if option enabled
|
||||
uInt8 dummy;
|
||||
|
||||
pokeRAM(dummy, address, value);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
|
|
@ -129,9 +129,21 @@ bool CartridgeWD::poke(uInt16 address, uInt8 value)
|
|||
if(!(address & 0x1000)) // TIA addresses
|
||||
return mySystem->tia().poke(address, value);
|
||||
else
|
||||
pokeRAM(myRAM[address & 0x003F], address, value);
|
||||
{
|
||||
if(address & 0x040)
|
||||
{
|
||||
pokeRAM(myRAM[address & 0x003F], address, value);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Writing to the read port should be ignored, but (TODO) trigger a break if option enabled
|
||||
uInt8 dummy;
|
||||
|
||||
return true;
|
||||
pokeRAM(dummy, address, value);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
|
Loading…
Reference in New Issue