BizHawk/BizHawk.Emulation.Cores/Consoles/Nintendo/SNES9X/LibSnes9x.cs

51 lines
1.4 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
using BizHawk.Common.BizInvoke;
using BizHawk.Emulation.Cores.Waterbox;
namespace BizHawk.Emulation.Cores.Nintendo.SNES9X
{
public abstract class LibSnes9x : LibWaterboxCore
{
public enum LeftPortDevice : uint
{
//None = 0, // something in the libretro spaghetti input goes wonky with None
Joypad = 1
}
public enum RightPortDevice : uint
{
//None = 0, // something in the libretro spaghetti input goes wonky with None
Joypad = 1,
Multitap = 2,
Mouse = 3,
SuperScope = 4,
Justifier = 5
}
[BizImport(CC)]
public abstract void SetButtons(short[] buttons);
[BizImport(CC)]
public abstract void biz_set_sound_channels(int channels);
[BizImport(CC)]
public abstract void biz_set_layers(int layers);
[BizImport(CC)]
public abstract void biz_soft_reset();
[BizImport(CC)]
public abstract void biz_hard_reset();
[BizImport(CC)]
public abstract void biz_set_port_devices(LeftPortDevice left, RightPortDevice right);
[BizImport(CC)]
public abstract bool biz_load_rom(byte[] data, int size);
[BizImport(CC)]
public abstract bool biz_init();
[BizImport(CC)]
public abstract bool biz_is_ntsc();
[BizImport(CC)]
public abstract void biz_post_load_state();
}
}