112 lines
1.9 KiB
C#
112 lines
1.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using BizHawk.Emulation.Common;
|
|
|
|
namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|
{
|
|
partial class NES : INESPPUViewable
|
|
{
|
|
public int[] GetPalette()
|
|
{
|
|
return palette_compiled;
|
|
}
|
|
|
|
public bool BGBaseHigh
|
|
{
|
|
get { return ppu.reg_2000.bg_pattern_hi; }
|
|
}
|
|
|
|
public bool SPBaseHigh
|
|
{
|
|
get { return ppu.reg_2000.obj_pattern_hi; }
|
|
}
|
|
|
|
public bool SPTall
|
|
{
|
|
get { return ppu.reg_2000.obj_size_16; }
|
|
}
|
|
|
|
public byte[] GetPPUBus()
|
|
{
|
|
byte[] ret = new byte[0x3000];
|
|
for (int i = 0; i < 0x3000; i++)
|
|
{
|
|
ret[i] = ppu.ppubus_peek(i);
|
|
}
|
|
return ret;
|
|
}
|
|
|
|
public byte[] GetPalRam()
|
|
{
|
|
return ppu.PALRAM;
|
|
}
|
|
|
|
public byte[] GetOam()
|
|
{
|
|
return ppu.OAM;
|
|
}
|
|
|
|
public byte PeekPPU(int addr)
|
|
{
|
|
return Board.PeekPPU(addr);
|
|
}
|
|
|
|
public byte[] GetExTiles()
|
|
{
|
|
if (Board is ExROM)
|
|
{
|
|
return Board.VROM ?? Board.VRAM;
|
|
}
|
|
else
|
|
{
|
|
throw new InvalidOperationException();
|
|
}
|
|
}
|
|
|
|
public bool ExActive
|
|
{
|
|
get { return Board is ExROM && (Board as ExROM).ExAttrActive; }
|
|
}
|
|
|
|
public byte[] GetExRam()
|
|
{
|
|
if (Board is ExROM)
|
|
{
|
|
return (Board as ExROM).GetExRAMArray();
|
|
}
|
|
else
|
|
{
|
|
throw new InvalidOperationException();
|
|
}
|
|
}
|
|
|
|
public MemoryDomain GetCHRROM()
|
|
{
|
|
return _memoryDomains["CHR VROM"];
|
|
}
|
|
|
|
|
|
public void InstallCallback1(Action cb, int sl)
|
|
{
|
|
ppu.NTViewCallback = new PPU.DebugCallback { Callback = cb, Scanline = sl };
|
|
}
|
|
|
|
public void InstallCallback2(Action cb, int sl)
|
|
{
|
|
ppu.PPUViewCallback = new PPU.DebugCallback { Callback = cb, Scanline = sl };
|
|
}
|
|
|
|
public void RemoveCallback1()
|
|
{
|
|
ppu.NTViewCallback = null;
|
|
}
|
|
|
|
public void RemoveCallback2()
|
|
{
|
|
ppu.PPUViewCallback = null;
|
|
}
|
|
}
|
|
}
|