nice Trace header for SMS, and Coleco

This commit is contained in:
adelikat 2016-02-28 08:07:02 -05:00
parent 51bec2a4a8
commit d477bc1fb6
4 changed files with 16 additions and 4 deletions

View File

@ -11950,6 +11950,11 @@ namespace BizHawk.Emulation.Cores.Components.Z80
// TODO, not super thrilled with the existing Z80 disassembler, lets see if we can find something decent to replace it with
Disassembler Disassembler = new Disassembler();
public string TraceHeader
{
get { return "Z80: PC, opcode, registers (AF, BC, DE, HL, IX, IY, SP, Cy Flags (CNP3H5ZS)"; }
}
public TraceInfo State()
{
ushort tempPC = RegPC.Word;

View File

@ -56,6 +56,7 @@ namespace BizHawk.Emulation.Cores.ColecoVision
this.game = game;
SetupMemoryDomains();
Tracer.Header = Cpu.TraceHeader;
var serviceProvider = ServiceProvider as BasicServiceProvider;
serviceProvider.Register<IDisassemblable>(new Disassembler());
serviceProvider.Register<ITraceable>(Tracer);

View File

@ -1,4 +1,6 @@
using System;
using System.Runtime.InteropServices;
using BizHawk.Emulation.Common;
using BizHawk.Emulation.Cores.Components.M6502;
@ -13,7 +15,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.QuickNES
private void MakeTrace(IntPtr data)
{
int[] s = new int[7];
System.Runtime.InteropServices.Marshal.Copy(data, s, 0, 7);
Marshal.Copy(data, s, 0, 7);
byte a = (byte)s[0];
byte x = (byte)s[1];

View File

@ -107,8 +107,7 @@ namespace BizHawk.Emulation.Cores.Sega.MasterSystem
IsGameGear = game.System == "GG";
IsSG1000 = game.System == "SG";
RomData = rom;
Tracer = new TraceBuffer();
(ServiceProvider as BasicServiceProvider).Register<ITraceable>(Tracer);
if (RomData.Length % BankSize != 0)
Array.Resize(ref RomData, ((RomData.Length / BankSize) + 1) * BankSize);
RomBanks = (byte)(RomData.Length / BankSize);
@ -218,7 +217,12 @@ namespace BizHawk.Emulation.Cores.Sega.MasterSystem
//this manages the linkage between the cpu and mapper callbacks so it needs running before bootup is complete
((ICodeDataLogger)this).SetCDL(null);
(ServiceProvider as BasicServiceProvider).Register<IDisassemblable>(new Disassembler());
Tracer = new TraceBuffer { Header = Cpu.TraceHeader };
var serviceProvider = ServiceProvider as BasicServiceProvider;
serviceProvider.Register<ITraceable>(Tracer);
serviceProvider.Register<IDisassemblable>(new Disassembler());
}
public IEmulatorServiceProvider ServiceProvider { get; private set; }