Atari 2600 - make MapperBase abstract and make HardReset() abstract since we need implementations to properly reset variables (we can't get rid of hard reset so easily, since HardReset is the mechanism that multi-cart roms use
This commit is contained in:
parent
db6bbe22bb
commit
f10b51558b
|
@ -2,9 +2,9 @@
|
|||
|
||||
namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
||||
{
|
||||
public class MapperBase
|
||||
public abstract class MapperBase
|
||||
{
|
||||
public MapperBase(Atari2600 core)
|
||||
protected MapperBase(Atari2600 core)
|
||||
{
|
||||
Core = core;
|
||||
}
|
||||
|
@ -33,11 +33,9 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
|||
{
|
||||
}
|
||||
|
||||
public virtual void HardReset()
|
||||
{
|
||||
}
|
||||
public abstract void HardReset();
|
||||
|
||||
// This is here purely for mapper 3E because it needs the 13th bit to determine bankswitching (but only receives the first 12 on read memory)
|
||||
public bool Bit13 { get; set; }
|
||||
public bool Bit13 { protected get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,7 +38,6 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
|||
public override void HardReset()
|
||||
{
|
||||
_bank4K = 0;
|
||||
base.HardReset();
|
||||
}
|
||||
|
||||
public override byte ReadMemory(ushort addr) => ReadMem(addr, false);
|
||||
|
|
|
@ -6,6 +6,8 @@
|
|||
{
|
||||
}
|
||||
|
||||
public override void HardReset() { }
|
||||
|
||||
public override byte ReadMemory(ushort addr)
|
||||
{
|
||||
if (addr < 0x1000)
|
||||
|
|
|
@ -48,7 +48,6 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
|||
_ramBank1K = 0;
|
||||
_hasRam = false;
|
||||
_ram = new byte[256 * 1024];
|
||||
base.HardReset();
|
||||
}
|
||||
|
||||
public override byte ReadMemory(ushort addr)
|
||||
|
|
|
@ -37,7 +37,6 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
|||
public override void HardReset()
|
||||
{
|
||||
_lowBank2K = 0;
|
||||
base.HardReset();
|
||||
}
|
||||
|
||||
public override byte ReadMemory(ushort addr)
|
||||
|
|
|
@ -126,8 +126,6 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
|||
_sliceHigh = 0;
|
||||
_sliceLow = 0;
|
||||
_sliceMiddle = 0;
|
||||
|
||||
base.HardReset();
|
||||
}
|
||||
|
||||
public override byte ReadMemory(ushort addr) => ReadMem(addr, false);
|
||||
|
|
|
@ -6,6 +6,8 @@
|
|||
{
|
||||
}
|
||||
|
||||
public override void HardReset() { }
|
||||
|
||||
public override byte ReadMemory(ushort addr)
|
||||
{
|
||||
if (addr < 0x1000)
|
||||
|
|
|
@ -155,7 +155,6 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
|||
_elapsedCycles = 0;
|
||||
|
||||
InitializeSettings();
|
||||
base.HardReset();
|
||||
}
|
||||
|
||||
public override void SyncState(Serializer ser)
|
||||
|
|
|
@ -203,8 +203,6 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
|||
_column = 0;
|
||||
_funcKey = false;
|
||||
_shiftKey = false;
|
||||
|
||||
base.HardReset();
|
||||
}
|
||||
|
||||
public override void SyncState(Serializer ser)
|
||||
|
|
|
@ -34,7 +34,6 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
|||
public override void HardReset()
|
||||
{
|
||||
_ram = new byte[1024];
|
||||
base.HardReset();
|
||||
}
|
||||
|
||||
public override byte ReadMemory(ushort addr)
|
||||
|
|
|
@ -276,8 +276,6 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
|||
_currentRandomVal = 0;
|
||||
_elapsedCycles = 85;
|
||||
_fractionalClocks = 0;
|
||||
|
||||
base.HardReset();
|
||||
}
|
||||
|
||||
public override void ClockCpu()
|
||||
|
|
|
@ -65,8 +65,6 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
|||
_currentRandomVal = 0;
|
||||
_elapsedCycles = 85;
|
||||
_fractionalClocks = 0;
|
||||
|
||||
base.HardReset();
|
||||
}
|
||||
|
||||
public override void ClockCpu()
|
||||
|
|
|
@ -45,7 +45,6 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
|||
_toggle1 = 0;
|
||||
_toggle2 = 0;
|
||||
_toggle3 = 0;
|
||||
base.HardReset();
|
||||
}
|
||||
|
||||
public override byte ReadMemory(ushort addr) => ReadMem(addr, false);
|
||||
|
|
|
@ -54,7 +54,6 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
|||
_ramBank1Toggle = 0;
|
||||
_ram = new byte[2048];
|
||||
_enableRam0 = false;
|
||||
base.HardReset();
|
||||
}
|
||||
|
||||
public override byte[] CartRam => _ram;
|
||||
|
|
|
@ -28,7 +28,6 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
|||
public override void HardReset()
|
||||
{
|
||||
_toggle = 0;
|
||||
base.HardReset();
|
||||
}
|
||||
|
||||
public override byte ReadMemory(ushort addr) => ReadMem(addr, false);
|
||||
|
|
|
@ -29,7 +29,6 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
|||
{
|
||||
_bank4K = 0;
|
||||
_ram = new byte[128];
|
||||
base.HardReset();
|
||||
}
|
||||
|
||||
public override byte ReadMemory(ushort addr) => ReadMem(addr, false);
|
||||
|
|
|
@ -34,7 +34,6 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
|||
public override void HardReset()
|
||||
{
|
||||
_bank = 0;
|
||||
base.HardReset();
|
||||
}
|
||||
|
||||
public override byte ReadMemory(ushort addr) => ReadMem(addr, false);
|
||||
|
|
|
@ -26,7 +26,6 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
|||
public override void HardReset()
|
||||
{
|
||||
_toggle = 0;
|
||||
base.HardReset();
|
||||
}
|
||||
|
||||
public override byte ReadMemory(ushort addr) => ReadMem(addr, false);
|
||||
|
|
|
@ -28,7 +28,6 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
|||
{
|
||||
_bank4K = 0;
|
||||
_ram = new byte[128];
|
||||
base.HardReset();
|
||||
}
|
||||
|
||||
public override byte ReadMemory(ushort addr) => ReadMem(addr, false);
|
||||
|
|
|
@ -28,7 +28,6 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
|||
public override void HardReset()
|
||||
{
|
||||
_toggle = 0;
|
||||
base.HardReset();
|
||||
}
|
||||
|
||||
private byte ReadMem(ushort addr, bool peek)
|
||||
|
|
|
@ -28,7 +28,6 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
|||
{
|
||||
_bank4K = 0;
|
||||
_ram = new byte[128];
|
||||
base.HardReset();
|
||||
}
|
||||
|
||||
public override byte ReadMemory(ushort addr) => ReadMem(addr, false);
|
||||
|
|
|
@ -36,7 +36,6 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
|||
public override void HardReset()
|
||||
{
|
||||
_bank4K = 0;
|
||||
base.HardReset();
|
||||
}
|
||||
|
||||
public override byte ReadMemory(ushort addr) => ReadMem(addr, false);
|
||||
|
|
|
@ -21,7 +21,6 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
|||
{
|
||||
_bank4K = 0;
|
||||
_ram = new byte[128];
|
||||
base.HardReset();
|
||||
}
|
||||
|
||||
public override void SyncState(Serializer ser)
|
||||
|
|
|
@ -25,7 +25,6 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
|||
public override void HardReset()
|
||||
{
|
||||
_bank4K = 1;
|
||||
base.HardReset();
|
||||
}
|
||||
|
||||
public override byte ReadMemory(ushort addr) => ReadMem(addr, false);
|
||||
|
|
|
@ -35,7 +35,6 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
|||
{
|
||||
_toggle = 0;
|
||||
_ram = new byte[256];
|
||||
base.HardReset();
|
||||
}
|
||||
|
||||
public override byte ReadMemory(ushort addr) => ReadMem(addr, false);
|
||||
|
|
|
@ -30,7 +30,6 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
|||
{
|
||||
_bank4K = 0;
|
||||
_ram = new byte[256];
|
||||
base.HardReset();
|
||||
}
|
||||
|
||||
public override byte ReadMemory(ushort addr) => ReadMem(addr, false);
|
||||
|
|
|
@ -60,6 +60,8 @@
|
|||
{
|
||||
}
|
||||
|
||||
public override void HardReset() { }
|
||||
|
||||
public override byte ReadMemory(ushort addr)
|
||||
{
|
||||
if (addr < 0x1000)
|
||||
|
|
|
@ -64,5 +64,7 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
|||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override void HardReset() { }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,7 +25,6 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
|||
public override void HardReset()
|
||||
{
|
||||
_bank4K = 0;
|
||||
base.HardReset();
|
||||
}
|
||||
|
||||
public override byte ReadMemory(ushort addr)
|
||||
|
|
|
@ -28,7 +28,6 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
|||
public override void HardReset()
|
||||
{
|
||||
_toggle = 0;
|
||||
base.HardReset();
|
||||
}
|
||||
|
||||
public override byte ReadMemory(ushort addr) => ReadMem(addr, false);
|
||||
|
|
|
@ -50,7 +50,6 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
|||
public override void HardReset()
|
||||
{
|
||||
_romBank2K = 0;
|
||||
base.HardReset();
|
||||
}
|
||||
|
||||
public override byte ReadMemory(ushort addr) => ReadMem(addr, false);
|
||||
|
|
Loading…
Reference in New Issue