using BizHawk.Common.BizInvoke; using BizHawk.Emulation.Cores.Waterbox; using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; namespace BizHawk.Emulation.Cores.Consoles.Sega.PicoDrive { public abstract class LibPicoDrive : LibWaterboxCore { [StructLayout(LayoutKind.Sequential)] public new class FrameInfo : LibWaterboxCore.FrameInfo { public int Buttons; } [UnmanagedFunctionPointer(CC)] public delegate void CDReadCallback(int lba, IntPtr dest, bool audio); /// /// /// /// If TRUE, load a CD and not a cart. /// If TRUE, preallocate 32X data structures. When set to false, /// 32X games will still run, but will not have memory domains /// [BizImport(CC)] public abstract bool Init(bool cd, bool _32xPreinit); [BizImport(CC)] public abstract void SetCDReadCallback(CDReadCallback callback); [BizImport(CC)] public abstract bool IsPal(); [BizImport(CC)] public abstract bool Is32xActive(); } }