This commit is contained in:
zeromus 2015-11-02 11:26:49 -06:00
parent be4af1ec2f
commit f3626b9605
34 changed files with 1027 additions and 45 deletions

View File

@ -1,4 +1,5 @@
using System;
using System.Runtime.InteropServices;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@ -13,6 +14,40 @@ namespace BizHawk.Emulation.Common
{
}
/// <summary>
/// Pins the managed arrays. Not that we expect them to be allocated, but in case we do, seeing thish ere will remind us to check for the pin condition and abort
/// </summary>
public void Pin()
{
if (Pins.Count != 0)
throw new InvalidOperationException("incremental astrological examination");
foreach (var kvp in this)
Pins[kvp.Key] = GCHandle.Alloc(kvp.Value, GCHandleType.Pinned);
}
/// <summary>
/// Unpins the managed arrays, to be paired with calls to Pin()
/// </summary>
public void Unpin()
{
foreach (var pin in Pins.Values)
pin.Free();
Pins.Clear();
}
/// <summary>
/// Retrieves the pointer to a managed array
/// </summary>
public IntPtr GetPin(string key)
{
return Pins[key].AddrOfPinnedObject();
}
/// <summary>
/// Pinned managed arrays
/// </summary>
Dictionary<string, GCHandle> Pins = new Dictionary<string, GCHandle>();
/// <summary>
/// This is just a hook, if needed, to readily suspend logging, without having to rewire the core
/// </summary>

View File

@ -151,6 +151,16 @@ namespace BizHawk.Emulation.Cores.Nintendo.SNES
public int MessageCounter;
void WritePipeInt(int n)
{
}
void WritePipePointer(IntPtr ptr, bool flush = true)
{
bwPipe.Write(ptr.ToInt32());
if(flush) bwPipe.Flush();
}
void WritePipeMessage(eMessage msg)
{
if(!bufio) MessageCounter++;
@ -191,6 +201,21 @@ namespace BizHawk.Emulation.Cores.Nintendo.SNES
public Action<uint> ReadHook, ExecHook;
public Action<uint, byte> WriteHook;
public enum eCDLog_AddrType
{
CARTROM, CARTRAM, WRAM, APURAM,
NUM
};
public enum eCDLog_Flags
{
ExecFirst = 0x01,
ExecOperand = 0x02,
CPUData = 0x04,
DMAData = 0x08, //not supported yet
BRR = 0x80,
};
Dictionary<string, SharedMemoryBlock> SharedMemoryBlocks = new Dictionary<string, SharedMemoryBlock>();
Dictionary<string, SharedMemoryBlock> DeallocatedMemoryBlocks = new Dictionary<string, SharedMemoryBlock>();

View File

@ -41,6 +41,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.SNES
eMessage_QUERY_set_backdropColor,
eMessage_QUERY_peek_logical_register,
eMessage_QUERY_peek_cpu_regs,
eMessage_QUERY_set_cdl,
eMessage_CMD_FIRST,
eMessage_CMD_init,

View File

@ -2,6 +2,7 @@
using System.Runtime.InteropServices;
using BizHawk.Common;
using BizHawk.Emulation.Common;
namespace BizHawk.Emulation.Cores.Nintendo.SNES
{
@ -180,7 +181,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.SNES
{
public uint pc;
public ushort a, x, y, z, s, d, vector; //7x
public byte p, nothing;
public byte p, nothing;
public uint aa, rd;
public byte sp, dp, db, mdr;
public const int SIZEOF = 32;
@ -195,6 +196,31 @@ namespace BizHawk.Emulation.Cores.Nintendo.SNES
fixed(CpuRegs* ptr = &ret)
Marshal.Copy(temp, 0, new IntPtr(ptr), CpuRegs.SIZEOF);
}
public void QUERY_set_cdl(CodeDataLog cdl)
{
WritePipeMessage(eMessage.eMessage_QUERY_set_cdl);
if (cdl == null)
{
for(int i=0;i<4*2;i++)
WritePipePointer(IntPtr.Zero);
}
else
{
WritePipePointer(cdl.GetPin("CARTROM"),false);
bwPipe.Write(cdl["CARTROM"].Length);
WritePipePointer(cdl.GetPin("CARTRAM"), false);
bwPipe.Write(cdl["CARTRAM"].Length);
WritePipePointer(cdl.GetPin("WRAM"));
bwPipe.Write(cdl["WRAM"].Length);
WritePipePointer(cdl.GetPin("APURAM"), false);
bwPipe.Write(cdl["APURAM"].Length);
bwPipe.Flush();
}
}
}
}

View File

@ -30,7 +30,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.SNES
portedUrl: "http://byuu.org/"
)]
[ServiceNotApplicable(typeof(IDriveLight))]
public unsafe class LibsnesCore : IEmulator, IVideoProvider, ISaveRam, IStatable, IInputPollable, IRegionable,
public unsafe class LibsnesCore : IEmulator, IVideoProvider, ISaveRam, IStatable, IInputPollable, IRegionable, ICodeDataLogger,
IDebuggable, ISettable<LibsnesCore.SnesSettings, LibsnesCore.SnesSyncSettings>
{
public LibsnesCore(GameInfo game, byte[] romData, bool deterministicEmulation, byte[] xmlData, CoreComm comm, object Settings, object SyncSettings)
@ -56,7 +56,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.SNES
this.Settings = (SnesSettings)Settings ?? new SnesSettings();
this.SyncSettings = (SnesSyncSettings)SyncSettings ?? new SnesSyncSettings();
api = new LibsnesApi(GetExePath());
api = new LibsnesApi(GetDllPath());
api.ReadHook = ReadHook;
api.ExecHook = ExecHook;
api.WriteHook = WriteHook;
@ -170,6 +170,34 @@ namespace BizHawk.Emulation.Cores.Nintendo.SNES
}
}
CodeDataLog currCdl;
public void SetCDL(CodeDataLog cdl)
{
if(currCdl != null) currCdl.Unpin();
currCdl = cdl;
if(currCdl != null) 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(CodeDataLog cdl)
{
cdl["CARTROM"] = new byte[MemoryDomains["CARTROM"].Size];
cdl["CARTRAM"] = new byte[MemoryDomains["CARTRAM"].Size];
cdl["WRAM"] = new byte[MemoryDomains["WRAM"].Size];
cdl["APURAM"] = new byte[MemoryDomains["APURAM"].Size];
cdl.SubType = "SNES";
cdl.SubVer = 0;
}
public void DisassembleCDL(Stream s, CodeDataLog cdl)
{
//not supported yet
}
public IEmulatorServiceProvider ServiceProvider { get; private set; }
private GameInfo _game;
@ -204,6 +232,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.SNES
resampler.Dispose();
api.Dispose();
if (currCdl != null) currCdl.Unpin();
}
public IDictionary<string, RegisterValue> GetCpuFlagsAndRegisters()
@ -376,21 +406,16 @@ namespace BizHawk.Emulation.Cores.Nintendo.SNES
public LibsnesApi api;
System.Xml.XmlDocument romxml;
string GetExePath()
string GetDllPath()
{
const string bits = "32";
// disabled til it works
// if (Win32.Is64BitOperatingSystem)
// bits = "64";
var exename = "libsneshawk-32-" + CurrentProfile.ToLower() + ".dll";
var exename = "libsneshawk-" + bits + "-" + CurrentProfile.ToLower() + ".dll";
string dllPath = Path.Combine(CoreComm.CoreFileProvider.DllPath(), exename);
string exePath = Path.Combine(CoreComm.CoreFileProvider.DllPath(), exename);
if (!File.Exists(dllPath))
throw new InvalidOperationException("Couldn't locate the DLL for SNES emulation for profile: " + CurrentProfile + ". Please make sure you're using a fresh dearchive of a BizHawk distribution.");
if (!File.Exists(exePath))
throw new InvalidOperationException("Couldn't locate the executable for SNES emulation for profile: " + CurrentProfile + ". Please make sure you're using a fresh dearchive of a BizHawk distribution.");
return exePath;
return dllPath;
}
void ReadHook(uint addr)

View File

@ -0,0 +1,3 @@
#include "base.hpp"
CDLInfo cdlInfo;

View File

@ -55,6 +55,39 @@ template<typename R, typename... P> struct hook<R (P...)> {
#define privileged private
#endif
enum eCDLog_AddrType
{
eCDLog_AddrType_CARTROM, eCDLog_AddrType_CARTRAM, eCDLog_AddrType_WRAM, eCDLog_AddrType_APURAM,
eCDLog_AddrType_NUM
};
enum eCDLog_Flags
{
eCDLog_Flags_None = 0x00,
eCDLog_Flags_ExecFirst = 0x01,
eCDLog_Flags_ExecOperand = 0x02,
eCDLog_Flags_CPUData = 0x04,
eCDLog_Flags_DMAData = 0x08, //not supported yet
eCDLog_Flags_BRR = 0x80
};
struct CDLInfo
{
eCDLog_Flags currFlags;
uint8_t* blocks[eCDLog_AddrType_NUM]; //[0]==nullptr -> disabled
uint32_t blockSizes[eCDLog_AddrType_NUM];
void set(eCDLog_AddrType addrType, uint32_t addr)
{
if(!blocks[0]) return;
if(addr >= blockSizes[addrType])
return;
blocks[addrType][addr] |= currFlags;
}
};
extern CDLInfo cdlInfo;
inline bool wantCDL() { return cdlInfo.blocks[0] != nullptr; }
typedef int1_t int1;
typedef int2_t int2;
typedef int3_t int3;

View File

@ -77,7 +77,7 @@ void CPU::enter() {
}
alwaysinline void CPU::op_step() {
(this->*opcode_table[op_readpc()])();
(this->*opcode_table[op_readpcfirst()])();
}
void CPU::enable() {
@ -96,8 +96,8 @@ void CPU::enable() {
bus.map(Bus::MapMode::Direct, 0x00, 0x3f, 0x4300, 0x437f, read, write);
bus.map(Bus::MapMode::Direct, 0x80, 0xbf, 0x4300, 0x437f, read, write);
read = [](unsigned addr) { return cpu.wram[addr]; };
write = [](unsigned addr, uint8 data) { cpu.wram[addr] = data; };
read = [](unsigned addr) { cdlInfo.set(eCDLog_AddrType_WRAM, addr); return cpu.wram[addr]; };
write = [](unsigned addr, uint8 data) { cpu.wram[addr] = data; };
bus.map(Bus::MapMode::Linear, 0x00, 0x3f, 0x0000, 0x1fff, read, write, 0x000000, 0x002000);
bus.map(Bus::MapMode::Linear, 0x80, 0xbf, 0x0000, 0x1fff, read, write, 0x000000, 0x002000);

View File

@ -19,7 +19,7 @@ public:
void mmio_write(unsigned addr, uint8 data);
void op_io();
uint8 op_read(unsigned addr);
uint8 op_read(unsigned addr, eCDLog_Flags = eCDLog_Flags_CPUData);
void op_write(unsigned addr, uint8 data);
void enter();

View File

@ -24,7 +24,8 @@ void CPU::op_io() {
add_clocks(6);
}
uint8 CPU::op_read(unsigned addr) {
uint8 CPU::op_read(unsigned addr, eCDLog_Flags flags) {
cdlInfo.currFlags = flags;
regs.mdr = bus.read(addr);
add_clocks(speed(addr));
return regs.mdr;

View File

@ -526,6 +526,11 @@ VOICE_CLOCK( V4 )
m.t_looped = v->vbit;
}
v->brr_offset = 1;
//assume we're going to access the whole block
cdlInfo.currFlags = eCDLog_Flags_BRR;
for(int i=0;i<9;i++)
cdlInfo.set(eCDLog_AddrType_APURAM, (v->brr_addr+i) & 0xFFFF);
}
}

View File

@ -14,12 +14,14 @@ void SMP::op_io() {
#endif
}
uint8 SMP::op_read(uint16 addr) {
uint8 SMP::op_read(uint16 addr, eCDLog_Flags flags) {
#if defined(CYCLE_ACCURATE)
tick();
#endif
if((addr & 0xfff0) == 0x00f0) return mmio_read(addr);
if(addr >= 0xffc0 && status.iplrom_enable) return iplrom[addr & 0x3f];
cdlInfo.currFlags = flags;
cdlInfo.set(eCDLog_AddrType_APURAM, addr);
return apuram[addr];
}
@ -32,18 +34,19 @@ void SMP::op_write(uint16 addr, uint8 data) {
}
void SMP::op_step() {
#define op_readpc() op_read(regs.pc++)
#define op_readdp(addr) op_read((regs.p.p << 8) + addr)
#define op_readpcfirst() op_read(regs.pc++,eCDLog_Flags_ExecFirst)
#define op_readpc() op_read(regs.pc++,eCDLog_Flags_ExecOperand)
#define op_readdp(addr) op_read((regs.p.p << 8) + addr,eCDLog_Flags_CPUData)
#define op_writedp(addr, data) op_write((regs.p.p << 8) + addr, data)
#define op_readaddr(addr) op_read(addr)
#define op_readaddr(addr) op_read(addr,eCDLog_Flags_CPUData)
#define op_writeaddr(addr, data) op_write(addr, data)
#define op_readstack() op_read(0x0100 | ++regs.sp)
#define op_readstack() op_read(0x0100 | ++regs.sp,eCDLog_Flags_CPUData)
#define op_writestack(data) op_write(0x0100 | regs.sp--, data)
#if defined(CYCLE_ACCURATE)
if(opcode_cycle == 0) {
opcode_number = op_readpc();
opcode_number = op_readpcfirst();
opcode_cycle++;
} else switch(opcode_number) {
#include "core/opcycle_misc.cpp"
@ -55,7 +58,7 @@ void SMP::op_step() {
#else
unsigned opcode = op_readpc();
unsigned opcode = op_readpcfirst();
switch(opcode) {
#include "core/op_misc.cpp"
#include "core/op_mov.cpp"

View File

@ -90,7 +90,7 @@ public:
void tick();
alwaysinline void op_io();
alwaysinline uint8 op_read(uint16 addr);
alwaysinline uint8 op_read(uint16 addr, eCDLog_Flags flags);
alwaysinline void op_write(uint16 addr, uint8 data);
alwaysinline void op_step();
static const unsigned cycle_count_table[256];

View File

@ -110,6 +110,11 @@ private:
void parse_markup_obc1(XML::Node&);
void parse_markup_msu1(XML::Node&);
void parse_markup_link(XML::Node&);
inline uint8 rom_read(unsigned addr);
inline void rom_write(unsigned addr, uint8 n);
inline uint8 ram_read(unsigned addr);
inline void ram_write(unsigned addr, uint8 n);
};
extern Cartridge cartridge;

View File

@ -62,13 +62,31 @@ void Cartridge::parse_markup_map(Mapping &m, XML::Node &map) {
}
}
//
uint8 Cartridge::rom_read(unsigned addr)
{
cdlInfo.set(eCDLog_AddrType_CARTROM, addr);
return rom.read(addr);
}
void Cartridge::rom_write(unsigned addr, uint8 n)
{
rom.write(addr,n);
}
uint8 Cartridge::ram_read(unsigned addr)
{
cdlInfo.set(eCDLog_AddrType_CARTRAM, addr);
return ram.read(addr);
}
void Cartridge::ram_write(unsigned addr, uint8 n)
{
ram.write(addr, n);
}
void Cartridge::parse_markup_rom(XML::Node &root) {
if(root.exists() == false) return;
for(auto &node : root) {
if(node.name != "map") continue;
Mapping m(rom);
Mapping m({&Cartridge::rom_read, this}, {&Cartridge::rom_write, this});
parse_markup_map(m, node);
if(m.size == 0) m.size = rom.size();
mapping.append(m);
@ -79,7 +97,7 @@ void Cartridge::parse_markup_ram(XML::Node &root) {
if(root.exists() == false) return;
ram_size = numeral(root["size"].data);
for(auto &node : root) {
Mapping m(ram);
Mapping m({ &Cartridge::ram_read, this }, { &Cartridge::ram_write, this });
parse_markup_map(m, node);
if(m.size == 0) m.size = ram_size;
mapping.append(m);

View File

@ -107,7 +107,8 @@ void SA1::op_io() {
tick();
}
uint8 SA1::op_read(unsigned addr) {
uint8 SA1::op_read(unsigned addr, eCDLog_Flags flags) {
(void)flags; //this was needed for inheritance purposes, as SA-1 is derived from the main CPU class
tick();
if(((addr & 0x40e000) == 0x006000) || ((addr & 0xd00000) == 0x400000)) tick();
return bus_read(addr);

View File

@ -3,7 +3,7 @@ void bus_write(unsigned addr, uint8 data);
uint8 vbr_read(unsigned addr);
alwaysinline void op_io();
alwaysinline uint8 op_read(unsigned addr);
alwaysinline uint8 op_read(unsigned addr, eCDLog_Flags = eCDLog_Flags_CPUData);
alwaysinline void op_write(unsigned addr, uint8 data);
uint8 mmc_read(unsigned addr);

View File

@ -8,7 +8,7 @@ struct CPUcore {
uint8_t sp, dp;
virtual void op_io() = 0;
virtual uint8_t op_read(uint32_t addr) = 0;
virtual uint8_t op_read(uint32_t addr, eCDLog_Flags flags = eCDLog_Flags_CPUData) = 0;
virtual void op_write(uint32_t addr, uint8_t data) = 0;
virtual void last_cycle() = 0;
virtual bool interrupt_pending() = 0;

View File

@ -1,33 +1,44 @@
alwaysinline uint8_t op_readpcfirst() {
return op_read((regs.pc.b << 16) + regs.pc.w++, eCDLog_Flags_ExecFirst);
}
alwaysinline uint8_t op_readpc() {
return op_read((regs.pc.b << 16) + regs.pc.w++);
return op_read((regs.pc.b << 16) + regs.pc.w++, eCDLog_Flags_ExecOperand);
}
alwaysinline uint8_t op_readstack() {
cdlInfo.currFlags = eCDLog_Flags_CPUData;
regs.e ? regs.s.l++ : regs.s.w++;
return op_read(regs.s.w);
}
alwaysinline uint8_t op_readstackn() {
cdlInfo.currFlags = eCDLog_Flags_CPUData;
return op_read(++regs.s.w);
}
alwaysinline uint8_t op_readaddr(uint32_t addr) {
cdlInfo.currFlags = eCDLog_Flags_CPUData;
return op_read(addr & 0xffff);
}
alwaysinline uint8_t op_readlong(uint32_t addr) {
cdlInfo.currFlags = eCDLog_Flags_CPUData;
return op_read(addr & 0xffffff);
}
alwaysinline uint8_t op_readdbr(uint32_t addr) {
cdlInfo.currFlags = eCDLog_Flags_CPUData;
return op_read(((regs.db << 16) + addr) & 0xffffff);
}
alwaysinline uint8_t op_readpbr(uint32_t addr) {
cdlInfo.currFlags = eCDLog_Flags_CPUData;
return op_read((regs.pc.b << 16) + (addr & 0xffff));
}
alwaysinline uint8_t op_readdp(uint32_t addr) {
cdlInfo.currFlags = eCDLog_Flags_CPUData;
if(regs.e && regs.d.l == 0x00) {
return op_read((regs.d & 0xff00) + ((regs.d + (addr & 0xffff)) & 0xff));
} else {
@ -36,6 +47,7 @@ alwaysinline uint8_t op_readdp(uint32_t addr) {
}
alwaysinline uint8_t op_readsp(uint32_t addr) {
cdlInfo.currFlags = eCDLog_Flags_CPUData;
return op_read((regs.s + (addr & 0xffff)) & 0xffff);
}

View File

@ -99,7 +99,7 @@ void CPU::op_step() {
interface()->cpuTrace(tmp);
}
(this->*opcode_table[op_readpc()])();
(this->*opcode_table[op_readpcfirst()])();
}
void CPU::enable() {
@ -118,7 +118,7 @@ void CPU::enable() {
bus.map(Bus::MapMode::Direct, 0x00, 0x3f, 0x4300, 0x437f, read, write);
bus.map(Bus::MapMode::Direct, 0x80, 0xbf, 0x4300, 0x437f, read, write);
read = [](unsigned addr) { return cpu.wram[addr]; };
read = [](unsigned addr) { cdlInfo.set(eCDLog_AddrType_WRAM, addr); return cpu.wram[addr]; };
write = [](unsigned addr, uint8 data) { cpu.wram[addr] = data; };
bus.map(Bus::MapMode::Linear, 0x00, 0x3f, 0x0000, 0x1fff, read, write, 0x000000, 0x002000);

View File

@ -1,5 +1,8 @@
struct CPU : public Processor, public CPUcore, public PPUcounter {
uint8 *wram; //[128 * 1024];
function<uint8 (unsigned)> read_wram;
function<void (unsigned, uint8)> write_wram;
enum : bool { Threaded = true };
array<Processor*> coprocessors;

View File

@ -10,12 +10,13 @@ void CPU::op_io() {
alu_edge();
}
uint8 CPU::op_read(uint32 addr) {
uint8 CPU::op_read(uint32 addr, eCDLog_Flags flags) {
debugger.op_read(addr);
status.clock_count = speed(addr);
dma_edge();
add_clocks(status.clock_count - 4);
cdlInfo.currFlags = flags;
regs.mdr = bus.read(addr);
add_clocks(4);
alu_edge();

View File

@ -1,4 +1,4 @@
void op_io();
uint8 op_read(uint32 addr);
uint8 op_read(uint32 addr, eCDLog_Flags flags = eCDLog_Flags_CPUData);
void op_write(uint32 addr, uint8 data);
alwaysinline unsigned speed(unsigned addr) const;

View File

@ -1,3 +1,4 @@
struct Interface {
Interface();
virtual void videoRefresh(const uint32_t *data, bool hires, bool interlace, bool overscan);

View File

@ -1,6 +1,6 @@
struct SMPcore {
virtual void op_io() = 0;
virtual uint8 op_read(uint16 addr) = 0;
virtual uint8 op_read(uint16 addr, eCDLog_Flags flags = eCDLog_Flags_CPUData) = 0;
virtual void op_write(uint16 addr, uint8 data) = 0;
void op_step();

View File

@ -1,5 +1,9 @@
alwaysinline uint8 op_readpcfirst() {
return op_read(regs.pc++, eCDLog_Flags_ExecFirst);
}
alwaysinline uint8 op_readpc() {
return op_read(regs.pc++);
return op_read(regs.pc++, eCDLog_Flags_ExecOperand);
}
alwaysinline uint8 op_readsp() {
@ -19,7 +23,7 @@ alwaysinline void op_writedp(uint8 addr, uint8 data) {
}
alwaysinline void op_next() {
opcode = op_readpc();
opcode = op_readpcfirst();
uindex = -1;
}

View File

@ -70,6 +70,7 @@ uint8 SMP::op_busread(uint16 addr) {
return result;
}
cdlInfo.set(eCDLog_AddrType_APURAM, addr);
return ram_read(addr);
}
@ -180,10 +181,11 @@ void SMP::op_io() {
cycle_edge();
}
uint8 SMP::op_read(uint16 addr) {
uint8 SMP::op_read(uint16 addr, eCDLog_Flags flags) {
debugger.op_read(addr);
add_clocks(12);
cdlInfo.currFlags = flags;
uint8 r = op_busread(addr);
add_clocks(12);
cycle_edge();

View File

@ -5,5 +5,5 @@ uint8 op_busread(uint16 addr);
void op_buswrite(uint16 addr, uint8 data);
void op_io();
uint8 op_read(uint16 addr);
uint8 op_read(uint16 addr, eCDLog_Flags flags = eCDLog_Flags_CPUData);
void op_write(uint16 addr, uint8 data);

View File

@ -131,6 +131,7 @@ struct Interface : public SNES::Interface {
{
buffer = new uint32_t[512 * 480];
palette = new uint32_t[16 * 32768];
memset(&cdlInfo,0,sizeof(cdlInfo));
}
~Interface() {
@ -140,7 +141,7 @@ struct Interface : public SNES::Interface {
};
void pwrap_init();
static Interface *iface = nullptr;
Interface *iface = nullptr;
namespace SNES {
SNES::Interface *interface()
{

View File

@ -33,6 +33,8 @@
#include <string>
#include <vector>
extern SNES::Interface *iface;
typedef uint8 u8;
typedef int32 s32;
typedef uint32 u32;
@ -73,7 +75,8 @@ enum eMessage : int32
eMessage_QUERY_set_backdropColor,
eMessage_QUERY_peek_logical_register,
eMessage_QUERY_peek_cpu_regs,
eMessage_QUERY_set_cdl,
eMessage_CMD_FIRST,
eMessage_CMD_init,
eMessage_CMD_power,
@ -883,6 +886,15 @@ bool Handle_QUERY(eMessage msg)
case eMessage_QUERY_state_hook_irq:
SNES::cpu.debugger.op_irq = ReadPipe<bool>() ? debug_op_irq : hook<void ()>();
break;
case eMessage_QUERY_set_cdl:
for (int i = 0; i<eCDLog_AddrType_NUM; i++)
{
cdlInfo.blocks[i] = ReadPipe<uint8_t*>();
cdlInfo.blockSizes[i] = ReadPipe<uint32_t>();
}
break;
}
return true;
}

View File

@ -167,13 +167,147 @@
<ClInclude Include="..\bsnes\gameboy\apu\apu.hpp" />
<ClInclude Include="..\bsnes\gameboy\cheat\cheat.hpp" />
<ClInclude Include="..\bsnes\gameboy\gameboy.hpp" />
<ClInclude Include="..\bsnes\snes\alt\cpu\cpu.hpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="..\bsnes\snes\alt\dsp\blargg_common.h">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="..\bsnes\snes\alt\dsp\blargg_config.h">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="..\bsnes\snes\alt\dsp\blargg_endian.h">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="..\bsnes\snes\alt\dsp\blargg_source.h">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="..\bsnes\snes\alt\dsp\dsp.hpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="..\bsnes\snes\alt\dsp\SPC_DSP.h">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="..\bsnes\snes\alt\smp\smp.hpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="..\bsnes\snes\cartridge\cartridge.hpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="..\bsnes\snes\cpu\core\core.hpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="..\bsnes\snes\cpu\core\disassembler\disassembler.hpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="..\bsnes\snes\cpu\core\memory.hpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="..\bsnes\snes\cpu\core\registers.hpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="..\bsnes\snes\cpu\cpu.hpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="..\bsnes\snes\cpu\memory\memory.hpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="..\bsnes\snes\dsp\dsp.hpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="..\bsnes\snes\interface\interface.hpp" />
<ClInclude Include="..\bsnes\snes\profile-accuracy.hpp" />
<ClInclude Include="..\bsnes\snes\profile-compatibility.hpp" />
<ClInclude Include="..\bsnes\snes\profile-performance.hpp" />
<ClInclude Include="..\bsnes\snes\smp\core\core.hpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="..\bsnes\snes\smp\core\memory.hpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="..\bsnes\snes\smp\core\registers.hpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="..\bsnes\snes\smp\memory\memory.hpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="..\bsnes\snes\smp\smp.hpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="..\bsnes\snes\smp\timing\timing.hpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="..\bsnes\snes\snes.hpp" />
<ClInclude Include="..\bsnes\target-libsnes\libsnes.hpp" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\bsnes\base\base.cpp" />
<ClCompile Include="..\bsnes\gameboy\apu\apu.cpp" />
<ClCompile Include="..\bsnes\gameboy\cartridge\cartridge.cpp" />
<ClCompile Include="..\bsnes\gameboy\cheat\cheat.cpp" />
@ -188,7 +322,49 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\cpu\dma.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\cpu\memory.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\cpu\mmio.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\cpu\serialization.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\cpu\timing.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\dsp\dsp.cpp" />
<ClCompile Include="..\bsnes\snes\alt\dsp\serialization.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\dsp\SPC_DSP.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\ppu-compatibility\ppu.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
@ -197,11 +373,125 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\algorithms.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\core.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\core\generate.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\core\opcycle_misc.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\core\opcycle_mov.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\core\opcycle_pc.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\core\opcycle_read.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\core\opcycle_rmw.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\core\op_misc.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\core\op_mov.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\core\op_pc.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\core\op_read.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\core\op_rmw.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\disassembler.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\iplrom.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\memory.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\smp.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\timing.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\cartridge\cartridge.cpp" />
<ClCompile Include="..\bsnes\snes\cartridge\markup.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\cartridge\serialization.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\cheat\cheat.cpp" />
<ClCompile Include="..\bsnes\snes\chip\armdsp\armdsp.cpp" />
<ClCompile Include="..\bsnes\snes\chip\bsx\bsx.cpp" />
@ -220,19 +510,133 @@
<ClCompile Include="..\bsnes\snes\chip\superfx\superfx.cpp" />
<ClCompile Include="..\bsnes\snes\config\config.cpp" />
<ClCompile Include="..\bsnes\snes\controller\controller.cpp" />
<ClCompile Include="..\bsnes\snes\cpu\core\algorithms.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\cpu\core\core.cpp" />
<ClCompile Include="..\bsnes\snes\cpu\core\disassembler\disassembler.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\cpu\core\opcode_misc.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\cpu\core\opcode_pc.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\cpu\core\opcode_read.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\cpu\core\opcode_rmw.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\cpu\core\opcode_write.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\cpu\core\serialization.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\cpu\core\table.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\cpu\cpu.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">false</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">false</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\cpu\memory\memory.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\cpu\serialization.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\dsp\brr.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\dsp\counter.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\dsp\dsp.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\dsp\echo.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\dsp\envelope.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\dsp\gaussian.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\dsp\misc.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\dsp\serialization.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\dsp\voice.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\interface\interface.cpp" />
<ClCompile Include="..\bsnes\snes\memory\memory.cpp" />
<ClCompile Include="..\bsnes\snes\ppu\ppu.cpp">
@ -241,18 +645,110 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\smp\core\algorithms.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\smp\core\core.cpp" />
<ClCompile Include="..\bsnes\snes\smp\core\disassembler.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\smp\core\opcodes.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\smp\core\serialization.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\smp\core\uop.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\smp\iplrom.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\smp\memory\memory.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\smp\serialization.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\smp\smp.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">false</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">false</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\smp\timing\timing.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\bsnes\snes\system\system.cpp" />
<ClCompile Include="..\bsnes\target-libsnes\libsnes.cpp" />
<ClCompile Include="..\bsnes\target-libsnes\libsnes_pwrap.cpp" />
<ClCompile Include="..\libco_msvc_win32\libco_msvc_win32.c" />
</ItemGroup>
<ItemGroup>
<None Include="..\bsnes\snes\alt\smp\core\cc.sh">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</None>
<None Include="..\bsnes\snes\alt\smp\core\op_misc.b">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</None>
<None Include="..\bsnes\snes\alt\smp\core\op_mov.b">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</None>
<None Include="..\bsnes\snes\alt\smp\core\op_pc.b">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</None>
<None Include="..\bsnes\snes\alt\smp\core\op_read.b">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</None>
<None Include="..\bsnes\snes\alt\smp\core\op_rmw.b">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Compatibility|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Performance|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Performance|Win32'">true</ExcludedFromBuild>
</None>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>

View File

@ -151,6 +151,21 @@
<Filter Include="snes\smp\core">
<UniqueIdentifier>{f06ef20e-c749-4f16-81d3-f88d96b659bc}</UniqueIdentifier>
</Filter>
<Filter Include="snes\cpu\core\disassembler">
<UniqueIdentifier>{abb9e273-8335-47ae-b389-76395d57844c}</UniqueIdentifier>
</Filter>
<Filter Include="snes\cpu\memory">
<UniqueIdentifier>{b17bd430-7d56-4e93-b78c-d41b2c6f3d85}</UniqueIdentifier>
</Filter>
<Filter Include="snes\alt\smp\core">
<UniqueIdentifier>{1e74e41b-9992-4e18-b2a9-91827d350402}</UniqueIdentifier>
</Filter>
<Filter Include="snes\smp\memory">
<UniqueIdentifier>{f1711f3e-853c-4ec3-bd3d-2c21d85c65bd}</UniqueIdentifier>
</Filter>
<Filter Include="snes\smp\timing">
<UniqueIdentifier>{a2db2d0e-68ec-4fa0-91fc-2bcc8ac33d32}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\bsnes\base\base.hpp">
@ -180,6 +195,75 @@
<ClInclude Include="..\bsnes\target-libsnes\libsnes.hpp">
<Filter>target-libsnes</Filter>
</ClInclude>
<ClInclude Include="..\bsnes\snes\interface\interface.hpp">
<Filter>snes\interface</Filter>
</ClInclude>
<ClInclude Include="..\bsnes\snes\cpu\core\disassembler\disassembler.hpp">
<Filter>snes\cpu\core\disassembler</Filter>
</ClInclude>
<ClInclude Include="..\bsnes\snes\cpu\core\core.hpp">
<Filter>snes\cpu\core</Filter>
</ClInclude>
<ClInclude Include="..\bsnes\snes\cpu\core\memory.hpp">
<Filter>snes\cpu\core</Filter>
</ClInclude>
<ClInclude Include="..\bsnes\snes\cpu\core\registers.hpp">
<Filter>snes\cpu\core</Filter>
</ClInclude>
<ClInclude Include="..\bsnes\snes\cpu\cpu.hpp">
<Filter>snes\cpu</Filter>
</ClInclude>
<ClInclude Include="..\bsnes\snes\cartridge\cartridge.hpp">
<Filter>snes\cartridge</Filter>
</ClInclude>
<ClInclude Include="..\bsnes\snes\cpu\memory\memory.hpp">
<Filter>snes\cpu\memory</Filter>
</ClInclude>
<ClInclude Include="..\bsnes\snes\alt\cpu\cpu.hpp">
<Filter>snes\alt\cpu</Filter>
</ClInclude>
<ClInclude Include="..\bsnes\snes\alt\smp\smp.hpp">
<Filter>snes\alt\smp</Filter>
</ClInclude>
<ClInclude Include="..\bsnes\snes\smp\core\core.hpp">
<Filter>snes\smp\core</Filter>
</ClInclude>
<ClInclude Include="..\bsnes\snes\smp\core\memory.hpp">
<Filter>snes\smp\core</Filter>
</ClInclude>
<ClInclude Include="..\bsnes\snes\smp\core\registers.hpp">
<Filter>snes\smp\core</Filter>
</ClInclude>
<ClInclude Include="..\bsnes\snes\smp\memory\memory.hpp">
<Filter>snes\smp\memory</Filter>
</ClInclude>
<ClInclude Include="..\bsnes\snes\smp\timing\timing.hpp">
<Filter>snes\smp\timing</Filter>
</ClInclude>
<ClInclude Include="..\bsnes\snes\smp\smp.hpp">
<Filter>snes\smp</Filter>
</ClInclude>
<ClInclude Include="..\bsnes\snes\alt\dsp\dsp.hpp">
<Filter>snes\alt\dsp</Filter>
</ClInclude>
<ClInclude Include="..\bsnes\snes\alt\dsp\SPC_DSP.h">
<Filter>snes\alt\dsp</Filter>
</ClInclude>
<ClInclude Include="..\bsnes\snes\alt\dsp\blargg_common.h">
<Filter>snes\alt\dsp</Filter>
</ClInclude>
<ClInclude Include="..\bsnes\snes\alt\dsp\blargg_config.h">
<Filter>snes\alt\dsp</Filter>
</ClInclude>
<ClInclude Include="..\bsnes\snes\alt\dsp\blargg_endian.h">
<Filter>snes\alt\dsp</Filter>
</ClInclude>
<ClInclude Include="..\bsnes\snes\alt\dsp\blargg_source.h">
<Filter>snes\alt\dsp</Filter>
</ClInclude>
<ClInclude Include="..\bsnes\snes\dsp\dsp.hpp">
<Filter>snes\dsp</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\bsnes\gameboy\apu\apu.cpp">
@ -320,5 +404,190 @@
<ClCompile Include="..\bsnes\snes\smp\core\core.cpp">
<Filter>snes\smp\core</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\cpu\core\disassembler\disassembler.cpp">
<Filter>snes\cpu\core\disassembler</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\cpu\core\opcode_misc.cpp">
<Filter>snes\cpu\core</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\cpu\core\opcode_pc.cpp">
<Filter>snes\cpu\core</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\cpu\core\opcode_read.cpp">
<Filter>snes\cpu\core</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\cpu\core\opcode_rmw.cpp">
<Filter>snes\cpu\core</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\cpu\core\opcode_write.cpp">
<Filter>snes\cpu\core</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\cpu\core\serialization.cpp">
<Filter>snes\cpu\core</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\cpu\core\table.cpp">
<Filter>snes\cpu\core</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\cpu\core\algorithms.cpp">
<Filter>snes\cpu\core</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\cpu\serialization.cpp">
<Filter>snes\cpu</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\cartridge\markup.cpp">
<Filter>snes\cartridge</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\cartridge\serialization.cpp">
<Filter>snes\cartridge</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\base\base.cpp">
<Filter>base</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\cpu\memory\memory.cpp">
<Filter>snes\cpu\memory</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\cpu\dma.cpp">
<Filter>snes\alt\cpu</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\cpu\memory.cpp">
<Filter>snes\alt\cpu</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\cpu\mmio.cpp">
<Filter>snes\alt\cpu</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\cpu\serialization.cpp">
<Filter>snes\alt\cpu</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\cpu\timing.cpp">
<Filter>snes\alt\cpu</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\memory.cpp">
<Filter>snes\alt\smp</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\algorithms.cpp">
<Filter>snes\alt\smp</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\core.cpp">
<Filter>snes\alt\smp</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\disassembler.cpp">
<Filter>snes\alt\smp</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\iplrom.cpp">
<Filter>snes\alt\smp</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\timing.cpp">
<Filter>snes\alt\smp</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\core\generate.cpp">
<Filter>snes\alt\smp\core</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\core\op_misc.cpp">
<Filter>snes\alt\smp\core</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\core\op_mov.cpp">
<Filter>snes\alt\smp\core</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\core\op_pc.cpp">
<Filter>snes\alt\smp\core</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\core\op_read.cpp">
<Filter>snes\alt\smp\core</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\core\op_rmw.cpp">
<Filter>snes\alt\smp\core</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\core\opcycle_misc.cpp">
<Filter>snes\alt\smp\core</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\core\opcycle_mov.cpp">
<Filter>snes\alt\smp\core</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\core\opcycle_pc.cpp">
<Filter>snes\alt\smp\core</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\core\opcycle_read.cpp">
<Filter>snes\alt\smp\core</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\smp\core\opcycle_rmw.cpp">
<Filter>snes\alt\smp\core</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\smp\core\disassembler.cpp">
<Filter>snes\smp\core</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\smp\core\opcodes.cpp">
<Filter>snes\smp\core</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\smp\core\serialization.cpp">
<Filter>snes\smp\core</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\smp\core\uop.cpp">
<Filter>snes\smp\core</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\smp\core\algorithms.cpp">
<Filter>snes\smp\core</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\smp\memory\memory.cpp">
<Filter>snes\smp\memory</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\smp\timing\timing.cpp">
<Filter>snes\smp\timing</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\smp\iplrom.cpp">
<Filter>snes\smp</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\smp\serialization.cpp">
<Filter>snes\smp</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\dsp\serialization.cpp">
<Filter>snes\alt\dsp</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\alt\dsp\SPC_DSP.cpp">
<Filter>snes\alt\dsp</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\dsp\echo.cpp">
<Filter>snes\dsp</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\dsp\envelope.cpp">
<Filter>snes\dsp</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\dsp\gaussian.cpp">
<Filter>snes\dsp</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\dsp\misc.cpp">
<Filter>snes\dsp</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\dsp\serialization.cpp">
<Filter>snes\dsp</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\dsp\voice.cpp">
<Filter>snes\dsp</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\dsp\brr.cpp">
<Filter>snes\dsp</Filter>
</ClCompile>
<ClCompile Include="..\bsnes\snes\dsp\counter.cpp">
<Filter>snes\dsp</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<None Include="..\bsnes\snes\alt\smp\core\op_misc.b">
<Filter>snes\alt\smp\core</Filter>
</None>
<None Include="..\bsnes\snes\alt\smp\core\op_mov.b">
<Filter>snes\alt\smp\core</Filter>
</None>
<None Include="..\bsnes\snes\alt\smp\core\op_pc.b">
<Filter>snes\alt\smp\core</Filter>
</None>
<None Include="..\bsnes\snes\alt\smp\core\op_read.b">
<Filter>snes\alt\smp\core</Filter>
</None>
<None Include="..\bsnes\snes\alt\smp\core\op_rmw.b">
<Filter>snes\alt\smp\core</Filter>
</None>
<None Include="..\bsnes\snes\alt\smp\core\cc.sh">
<Filter>snes\alt\smp\core</Filter>
</None>
</ItemGroup>
</Project>