Atari 2600 - break off IDebuggable stuff to its own file
This commit is contained in:
parent
c61dd6b295
commit
4d3e7f806f
|
@ -145,9 +145,10 @@
|
||||||
<Compile Include="Computers\Commodore64\UserPort\UserPortDevice.cs" />
|
<Compile Include="Computers\Commodore64\UserPort\UserPortDevice.cs" />
|
||||||
<Compile Include="Consoles\Atari\2600\Atari2600.cs" />
|
<Compile Include="Consoles\Atari\2600\Atari2600.cs" />
|
||||||
<Compile Include="Consoles\Atari\2600\Atari2600.Core.cs" />
|
<Compile Include="Consoles\Atari\2600\Atari2600.Core.cs" />
|
||||||
|
<Compile Include="Consoles\Atari\2600\Atari2600.IDebuggable.cs" />
|
||||||
<Compile Include="Consoles\Atari\2600\Atari2600.IMemoryDomains.cs" />
|
<Compile Include="Consoles\Atari\2600\Atari2600.IMemoryDomains.cs" />
|
||||||
|
<Compile Include="Consoles\Atari\2600\Atari2600.ISettable.cs" />
|
||||||
<Compile Include="Consoles\Atari\2600\Atari2600.RomHeuristics.cs" />
|
<Compile Include="Consoles\Atari\2600\Atari2600.RomHeuristics.cs" />
|
||||||
<Compile Include="Consoles\Atari\2600\Atari2600.Settings.cs" />
|
|
||||||
<Compile Include="Consoles\Atari\2600\Mappers\m0840.cs" />
|
<Compile Include="Consoles\Atari\2600\Mappers\m0840.cs" />
|
||||||
<Compile Include="Consoles\Atari\2600\Mappers\m3E.cs" />
|
<Compile Include="Consoles\Atari\2600\Mappers\m3E.cs" />
|
||||||
<Compile Include="Consoles\Atari\2600\Mappers\m3F.cs" />
|
<Compile Include="Consoles\Atari\2600\Mappers\m3F.cs" />
|
||||||
|
|
|
@ -0,0 +1,59 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
using BizHawk.Emulation.Common;
|
||||||
|
|
||||||
|
namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
||||||
|
{
|
||||||
|
public partial class Atari2600 : IDebuggable
|
||||||
|
{
|
||||||
|
public IDictionary<string, int> GetCpuFlagsAndRegisters()
|
||||||
|
{
|
||||||
|
return new Dictionary<string, int>
|
||||||
|
{
|
||||||
|
{ "A", Cpu.A },
|
||||||
|
{ "X", Cpu.X },
|
||||||
|
{ "Y", Cpu.Y },
|
||||||
|
{ "S", Cpu.S },
|
||||||
|
{ "PC", Cpu.PC },
|
||||||
|
|
||||||
|
{ "Flag C", Cpu.FlagC ? 1 : 0 },
|
||||||
|
{ "Flag Z", Cpu.FlagZ ? 1 : 0 },
|
||||||
|
{ "Flag I", Cpu.FlagI ? 1 : 0 },
|
||||||
|
{ "Flag D", Cpu.FlagD ? 1 : 0 },
|
||||||
|
|
||||||
|
{ "Flag B", Cpu.FlagB ? 1 : 0 },
|
||||||
|
{ "Flag V", Cpu.FlagV ? 1 : 0 },
|
||||||
|
{ "Flag N", Cpu.FlagN ? 1 : 0 },
|
||||||
|
{ "Flag T", Cpu.FlagT ? 1 : 0 }
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetCpuRegister(string register, int value)
|
||||||
|
{
|
||||||
|
switch (register)
|
||||||
|
{
|
||||||
|
default:
|
||||||
|
throw new InvalidOperationException();
|
||||||
|
case "A":
|
||||||
|
Cpu.A = (byte)value;
|
||||||
|
break;
|
||||||
|
case "X":
|
||||||
|
Cpu.X = (byte)value;
|
||||||
|
break;
|
||||||
|
case "Y":
|
||||||
|
Cpu.Y = (byte)value;
|
||||||
|
break;
|
||||||
|
case "S":
|
||||||
|
Cpu.S = (byte)value;
|
||||||
|
break;
|
||||||
|
case "PC":
|
||||||
|
Cpu.PC = (ushort)value;
|
||||||
|
break;
|
||||||
|
case "Flag I":
|
||||||
|
Cpu.FlagI = value > 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,8 +1,10 @@
|
||||||
using System;
|
using System;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using BizHawk.Emulation.Common;
|
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
|
using BizHawk.Emulation.Common;
|
||||||
using BizHawk.Common;
|
using BizHawk.Common;
|
||||||
|
|
||||||
namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
||||||
|
@ -24,7 +26,9 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
||||||
if (Settings == null || Settings.SECAMColors != o.SECAMColors)
|
if (Settings == null || Settings.SECAMColors != o.SECAMColors)
|
||||||
{
|
{
|
||||||
if (_tia != null)
|
if (_tia != null)
|
||||||
|
{
|
||||||
_tia.SetSECAM(o.SECAMColors);
|
_tia.SetSECAM(o.SECAMColors);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Settings = o;
|
Settings = o;
|
|
@ -15,7 +15,7 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
||||||
isPorted: false,
|
isPorted: false,
|
||||||
isReleased: true
|
isReleased: true
|
||||||
)]
|
)]
|
||||||
public partial class Atari2600 : IEmulator, IMemoryDomains, IDebuggable
|
public partial class Atari2600 : IEmulator, IMemoryDomains, IDebuggable, ISettable<Atari2600.A2600Settings, Atari2600.A2600SyncSettings>
|
||||||
{
|
{
|
||||||
private readonly GameInfo _game;
|
private readonly GameInfo _game;
|
||||||
private bool _islag = true;
|
private bool _islag = true;
|
||||||
|
@ -122,54 +122,7 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public IDictionary<string, int> GetCpuFlagsAndRegisters()
|
|
||||||
{
|
|
||||||
return new Dictionary<string, int>
|
|
||||||
{
|
|
||||||
{ "A", Cpu.A },
|
|
||||||
{ "X", Cpu.X },
|
|
||||||
{ "Y", Cpu.Y },
|
|
||||||
{ "S", Cpu.S },
|
|
||||||
{ "PC", Cpu.PC },
|
|
||||||
|
|
||||||
{ "Flag C", Cpu.FlagC ? 1 : 0 },
|
|
||||||
{ "Flag Z", Cpu.FlagZ ? 1 : 0 },
|
|
||||||
{ "Flag I", Cpu.FlagI ? 1 : 0 },
|
|
||||||
{ "Flag D", Cpu.FlagD ? 1 : 0 },
|
|
||||||
|
|
||||||
{ "Flag B", Cpu.FlagB ? 1 : 0 },
|
|
||||||
{ "Flag V", Cpu.FlagV ? 1 : 0 },
|
|
||||||
{ "Flag N", Cpu.FlagN ? 1 : 0 },
|
|
||||||
{ "Flag T", Cpu.FlagT ? 1 : 0 }
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SetCpuRegister(string register, int value)
|
|
||||||
{
|
|
||||||
switch(register)
|
|
||||||
{
|
|
||||||
default:
|
|
||||||
throw new InvalidOperationException();
|
|
||||||
case "A":
|
|
||||||
Cpu.A = (byte)value;
|
|
||||||
break;
|
|
||||||
case "X":
|
|
||||||
Cpu.X = (byte)value;
|
|
||||||
break;
|
|
||||||
case "Y":
|
|
||||||
Cpu.Y = (byte)value;
|
|
||||||
break;
|
|
||||||
case "S":
|
|
||||||
Cpu.S = (byte)value;
|
|
||||||
break;
|
|
||||||
case "PC":
|
|
||||||
Cpu.PC = (ushort)value;
|
|
||||||
break;
|
|
||||||
case "Flag I":
|
|
||||||
Cpu.FlagI = value > 0;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool StartAsyncSound() { return true; }
|
public bool StartAsyncSound() { return true; }
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue