2017-07-02 17:47:43 +00:00
|
|
|
|
using BizHawk.Common.BizInvoke;
|
|
|
|
|
using BizHawk.Emulation.Cores.Waterbox;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
2017-07-02 20:15:54 +00:00
|
|
|
|
using System.Runtime.InteropServices;
|
2017-07-02 17:47:43 +00:00
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
namespace BizHawk.Emulation.Cores.Consoles.Sega.PicoDrive
|
|
|
|
|
{
|
|
|
|
|
public abstract class LibPicoDrive : LibWaterboxCore
|
|
|
|
|
{
|
2017-07-02 20:15:54 +00:00
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
|
|
|
public new class FrameInfo : LibWaterboxCore.FrameInfo
|
|
|
|
|
{
|
|
|
|
|
public int Buttons;
|
|
|
|
|
}
|
|
|
|
|
|
2017-07-03 00:46:01 +00:00
|
|
|
|
[UnmanagedFunctionPointer(CC)]
|
|
|
|
|
public delegate void CDReadCallback(int lba, IntPtr dest, bool audio);
|
|
|
|
|
|
2017-07-22 14:55:17 +00:00
|
|
|
|
public enum Region : int
|
|
|
|
|
{
|
|
|
|
|
Auto = 0,
|
|
|
|
|
JapanNTSC = 1,
|
|
|
|
|
JapanPAL = 2,
|
|
|
|
|
US = 4,
|
|
|
|
|
Europe = 8
|
|
|
|
|
}
|
|
|
|
|
|
2017-07-03 15:43:03 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
///
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="cd">If TRUE, load a CD and not a cart.</param>
|
|
|
|
|
/// <param name="_32xPreinit">If TRUE, preallocate 32X data structures. When set to false,
|
|
|
|
|
/// 32X games will still run, but will not have memory domains</param>
|
|
|
|
|
/// <returns></returns>
|
2017-07-03 00:46:01 +00:00
|
|
|
|
[BizImport(CC)]
|
2017-07-22 14:55:17 +00:00
|
|
|
|
public abstract bool Init(bool cd, bool _32xPreinit, Region regionAutoOrder, Region regionOverride);
|
2017-07-03 00:46:01 +00:00
|
|
|
|
|
2017-07-02 17:47:43 +00:00
|
|
|
|
[BizImport(CC)]
|
2017-07-03 00:46:01 +00:00
|
|
|
|
public abstract void SetCDReadCallback(CDReadCallback callback);
|
2017-07-09 15:56:36 +00:00
|
|
|
|
|
|
|
|
|
[BizImport(CC)]
|
|
|
|
|
public abstract bool IsPal();
|
2017-07-09 16:14:02 +00:00
|
|
|
|
|
|
|
|
|
[BizImport(CC)]
|
|
|
|
|
public abstract bool Is32xActive();
|
2017-07-02 17:47:43 +00:00
|
|
|
|
}
|
|
|
|
|
}
|