LinkedDisassemblable and put it in gambattelink
This commit is contained in:
parent
547c28ef28
commit
2016adcacf
|
@ -0,0 +1,31 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace BizHawk.Emulation.Common
|
||||
{
|
||||
/// <summary>
|
||||
/// A generic linked implementation of IDisassemblable that can be used by any link core
|
||||
/// </summary>
|
||||
/// <seealso cref="IDisassemblable" />
|
||||
public class LinkedDisassemblable : VerifiedDisassembler
|
||||
{
|
||||
private readonly IDisassemblable _baseDisassembler;
|
||||
|
||||
public LinkedDisassemblable(IDisassemblable baseDisassembler, int numCores)
|
||||
{
|
||||
_baseDisassembler = baseDisassembler;
|
||||
string[] cpus = new string[numCores];
|
||||
for (int i = 0; i < numCores; i++)
|
||||
{
|
||||
cpus[i] = $"P{i + 1} " + baseDisassembler.Cpu;
|
||||
}
|
||||
AvailableCpus = cpus;
|
||||
}
|
||||
|
||||
public override IEnumerable<string> AvailableCpus { get; }
|
||||
|
||||
public override string PCRegisterName => Cpu.Substring(0, 2) + " PC";
|
||||
|
||||
public override string Disassemble(MemoryDomain m, uint addr, out int length) => _baseDisassembler.Disassemble(m, addr, out length);
|
||||
}
|
||||
}
|
|
@ -78,6 +78,9 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy
|
|||
|
||||
_linkedDebuggable = new LinkedDebuggable(_linkedCores, _numCores, _memoryCallbacks);
|
||||
_serviceProvider.Register<IDebuggable>(_linkedDebuggable);
|
||||
|
||||
_linkedDisassemblable = new LinkedDisassemblable(new GBDisassembler(), _numCores);
|
||||
_serviceProvider.Register<IDisassemblable>(_linkedDisassemblable);
|
||||
}
|
||||
|
||||
private readonly BasicServiceProvider _serviceProvider;
|
||||
|
@ -105,6 +108,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy
|
|||
private readonly LinkedSaveRam _linkedSaveRam;
|
||||
private readonly LinkedMemoryDomains _linkedMemoryDomains;
|
||||
private readonly LinkedDebuggable _linkedDebuggable;
|
||||
private readonly LinkedDisassemblable _linkedDisassemblable;
|
||||
|
||||
// counters to ensure we do 35112 samples per frame
|
||||
private readonly int[] _linkedOverflow;
|
||||
|
|
Loading…
Reference in New Issue