50 lines
1.3 KiB
C#
50 lines
1.3 KiB
C#
using System.IO;
|
|
using BizHawk.Emulation.Common;
|
|
|
|
namespace BizHawk.Emulation.Cores.Nintendo.SNES
|
|
{
|
|
public partial class LibsnesCore : ICodeDataLogger
|
|
{
|
|
public void SetCDL(ICodeDataLog cdl)
|
|
{
|
|
_currCdl?.Unpin();
|
|
_currCdl = cdl;
|
|
_currCdl?.Pin();
|
|
|
|
// set it no matter what. if its null, the cdl will be unhooked from libsnes internally
|
|
Api.QUERY_set_cdl(_currCdl);
|
|
}
|
|
|
|
public void NewCDL(ICodeDataLog cdl)
|
|
{
|
|
cdl["CARTROM"] = new byte[_memoryDomains["CARTROM"].Size];
|
|
cdl["WRAM"] = new byte[_memoryDomains["WRAM"].Size];
|
|
cdl["APURAM"] = new byte[_memoryDomains["APURAM"].Size];
|
|
|
|
if (_memoryDomains.Has("CARTRAM"))
|
|
cdl["CARTRAM"] = new byte[_memoryDomains["CARTRAM"].Size];
|
|
|
|
if (IsSGB)
|
|
{
|
|
cdl["SGB_CARTROM"] = new byte[_memoryDomains["SGB CARTROM"].Size];
|
|
cdl["SGB_HRAM"] = new byte[_memoryDomains["SGB HRAM"].Size];
|
|
cdl["SGB_WRAM"] = new byte[_memoryDomains["SGB WRAM"].Size];
|
|
|
|
if (_memoryDomains.Has("SGB_CARTRAM"))
|
|
cdl["SGB_CARTRAM"] = new byte[_memoryDomains["SGB CARTRAM"].Size];
|
|
}
|
|
|
|
cdl.SubType = "SNES";
|
|
cdl.SubVer = 0;
|
|
}
|
|
|
|
public void DisassembleCDL(Stream s, ICodeDataLog cdl)
|
|
{
|
|
// TODO: should this throw a NotImplementedException?
|
|
// not supported yet
|
|
}
|
|
|
|
private ICodeDataLog _currCdl;
|
|
}
|
|
}
|