diff --git a/BizHawk.Emulation.Cores/BizHawk.Emulation.Cores.csproj b/BizHawk.Emulation.Cores/BizHawk.Emulation.Cores.csproj index d4bf566fe4..78127c2c20 100644 --- a/BizHawk.Emulation.Cores/BizHawk.Emulation.Cores.csproj +++ b/BizHawk.Emulation.Cores/BizHawk.Emulation.Cores.csproj @@ -413,6 +413,9 @@ + Intellivision.cs + + Intellivision.cs diff --git a/BizHawk.Emulation.Cores/Consoles/Intellivision/Intellivision.IDebuggable.cs b/BizHawk.Emulation.Cores/Consoles/Intellivision/Intellivision.IDebuggable.cs index d777272bc5..e0ad1557d5 100644 --- a/BizHawk.Emulation.Cores/Consoles/Intellivision/Intellivision.IDebuggable.cs +++ b/BizHawk.Emulation.Cores/Consoles/Intellivision/Intellivision.IDebuggable.cs @@ -18,7 +18,7 @@ namespace BizHawk.Emulation.Cores.Intellivision ["R4"] = _cpu.Register[4], ["R5"] = _cpu.Register[5], ["R6"] = _cpu.Register[6], - ["R7"] = _cpu.Register[7], + ["PC"] = _cpu.Register[7], ["FlagS"] = _cpu.FlagS ? 1 : 0, ["FlagC"] = _cpu.FlagC ? 1 : 0, @@ -57,7 +57,7 @@ namespace BizHawk.Emulation.Cores.Intellivision case "R6": _cpu.Register[6] = (ushort)value; break; - case "R7": + case "PC": _cpu.Register[7] = (ushort)value; break; diff --git a/BizHawk.Emulation.Cores/Consoles/Intellivision/Intellivision.IDisassemblable.cs b/BizHawk.Emulation.Cores/Consoles/Intellivision/Intellivision.IDisassemblable.cs new file mode 100644 index 0000000000..5494aa548e --- /dev/null +++ b/BizHawk.Emulation.Cores/Consoles/Intellivision/Intellivision.IDisassemblable.cs @@ -0,0 +1,32 @@ +using System.Collections.Generic; +using BizHawk.Emulation.Common; + +namespace BizHawk.Emulation.Cores.Intellivision +{ + public partial class Intellivision : IDisassemblable + { + public string Cpu + { + get { return "CP1610"; } + set { } + } + + public string PCRegisterName + { + get { return "PC"; } + } + + public IEnumerable AvailableCpus + { + get { yield return "CP1610"; } + } + + public string Disassemble(MemoryDomain m, uint addr, out int length) + { + // Note: currently this core can only disassemble the SystemBus + // The CP1610 disassembler would need some refactoring to support anything else + string ret = _cpu.Disassemble((ushort)addr, out length); + return ret; + } + } +} diff --git a/BizHawk.Emulation.Cores/Consoles/Intellivision/Intellivision.cs b/BizHawk.Emulation.Cores/Consoles/Intellivision/Intellivision.cs index 5c2525835e..82c4e2f7ec 100644 --- a/BizHawk.Emulation.Cores/Consoles/Intellivision/Intellivision.cs +++ b/BizHawk.Emulation.Cores/Consoles/Intellivision/Intellivision.cs @@ -12,7 +12,7 @@ namespace BizHawk.Emulation.Cores.Intellivision isReleased: true )] [ServiceNotApplicable(typeof(ISaveRam), typeof(IDriveLight), typeof(IRegionable))] - public sealed partial class Intellivision : IEmulator, IStatable, IInputPollable, + public sealed partial class Intellivision : IEmulator, IStatable, IInputPollable, IDisassemblable, IDebuggable, ISettable { [CoreConstructor("INTV")]