From 3e731ae0b3cf92bb8de8c77e878df0af1ae184ff Mon Sep 17 00:00:00 2001 From: nattthebear Date: Sat, 17 Jun 2017 10:47:10 -0400 Subject: [PATCH] Make ngp core use WaterboxCore infrastructure --- .../Consoles/Nintendo/VB/VirtualBoyee.cs | 2 +- .../Consoles/SNK/LibNeoGeoPort.cs | 101 ++- .../Consoles/SNK/NeoGeoPort.cs | 644 +++++++----------- .../Waterbox/WaterboxCore.cs | 6 +- output/dll/ngp.wbx | Bin 257038 -> 0 bytes output/dll/ngp.wbx.gz | Bin 0 -> 93347 bytes waterbox/ngp/defs.h | 150 ++-- waterbox/ngp/neopop.cpp | 501 +++++++------- 8 files changed, 593 insertions(+), 811 deletions(-) delete mode 100644 output/dll/ngp.wbx create mode 100644 output/dll/ngp.wbx.gz diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/VB/VirtualBoyee.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/VB/VirtualBoyee.cs index f77fea1ecd..e2321477d5 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/VB/VirtualBoyee.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/VB/VirtualBoyee.cs @@ -56,7 +56,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.VB PostInit(); } - protected override LibWaterboxCore.FrameInfo FrameAdvancePrep(IController controller) + protected override LibWaterboxCore.FrameInfo FrameAdvancePrep(IController controller, bool render, bool rendersound) { if (controller.IsPressed("Power")) _boyee.HardReset(); diff --git a/BizHawk.Emulation.Cores/Consoles/SNK/LibNeoGeoPort.cs b/BizHawk.Emulation.Cores/Consoles/SNK/LibNeoGeoPort.cs index d28126d328..5a047b3891 100644 --- a/BizHawk.Emulation.Cores/Consoles/SNK/LibNeoGeoPort.cs +++ b/BizHawk.Emulation.Cores/Consoles/SNK/LibNeoGeoPort.cs @@ -1,58 +1,43 @@ -using BizHawk.Common.BizInvoke; -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.SNK -{ - public abstract class LibNeoGeoPort - { - private const CallingConvention CC = CallingConvention.Cdecl; - - [UnmanagedFunctionPointer(CC)] - public delegate void InputCallback(); - [StructLayout(LayoutKind.Sequential)] - public class EmulateSpec - { - public IntPtr Pixels; - public IntPtr SoundBuff; - public long MasterCycles; - public long FrontendTime; - public int SoundBufMaxSize; - public int SoundBufSize; - public int SkipRendering; - public int Buttons; - public int Lagged; - } - public enum Language - { - Japanese, English - } - [UnmanagedFunctionPointer(CC)] - public delegate void SaveRamCallback(IntPtr data, int length); - - [BizImport(CC)] - public abstract bool LoadSystem(byte[] rom, int romlength, Language language); - [BizImport(CC)] - public abstract void SetLayers(int enable); // 1, 2, 4 bg,fg,sprites - [BizImport(CC)] - public abstract void FrameAdvance([In, Out]EmulateSpec espec); - [BizImport(CC)] - public abstract void HardReset(); - [BizImport(CC)] - public abstract void SetInputCallback(InputCallback callback); - [BizImport(CC)] - public abstract void GetMemoryArea(int which, ref IntPtr ptr, ref int size, ref bool writable); - [BizImport(CC)] - public abstract void SetCommsCallbacks(IntPtr readcb, IntPtr pollcb, IntPtr writecb); - [BizImport(CC)] - public abstract bool HasSaveRam(); - [BizImport(CC)] - public abstract bool PutSaveRam(byte[] data, int length); - [BizImport(CC)] - public abstract void GetSaveRam(SaveRamCallback callback); - } -} +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.SNK +{ + public abstract class LibNeoGeoPort : LibWaterboxCore + { + [StructLayout(LayoutKind.Sequential)] + public new class FrameInfo : LibWaterboxCore.FrameInfo + { + public long FrontendTime; + public int SkipRendering; + public int Buttons; + } + public enum Language + { + Japanese, English + } + [UnmanagedFunctionPointer(CC)] + public delegate void SaveRamCallback(IntPtr data, int length); + + [BizImport(CC)] + public abstract bool LoadSystem(byte[] rom, int romlength, Language language); + [BizImport(CC)] + public abstract void SetLayers(int enable); // 1, 2, 4 bg,fg,sprites + [BizImport(CC)] + public abstract void HardReset(); + [BizImport(CC)] + public abstract void SetCommsCallbacks(IntPtr readcb, IntPtr pollcb, IntPtr writecb); + [BizImport(CC)] + public abstract bool HasSaveRam(); + [BizImport(CC)] + public abstract bool PutSaveRam(byte[] data, int length); + [BizImport(CC)] + public abstract void GetSaveRam(SaveRamCallback callback); + } +} diff --git a/BizHawk.Emulation.Cores/Consoles/SNK/NeoGeoPort.cs b/BizHawk.Emulation.Cores/Consoles/SNK/NeoGeoPort.cs index 7e8fb5c287..1b41de8eaf 100644 --- a/BizHawk.Emulation.Cores/Consoles/SNK/NeoGeoPort.cs +++ b/BizHawk.Emulation.Cores/Consoles/SNK/NeoGeoPort.cs @@ -1,404 +1,240 @@ -using BizHawk.Common; -using BizHawk.Common.BizInvoke; -using BizHawk.Common.BufferExtensions; -using BizHawk.Emulation.Common; -using BizHawk.Emulation.Cores.Waterbox; -using System; -using System.Collections.Concurrent; -using System.Collections.Generic; -using System.ComponentModel; -using System.IO; -using System.Linq; -using System.Runtime.InteropServices; -using System.Text; -using System.Threading; -using System.Threading.Tasks; - -namespace BizHawk.Emulation.Cores.Consoles.SNK -{ - [CoreAttributes("NeoPop", "Thomas Klausner", true, false, "0.9.44.1", - "https://mednafen.github.io/releases/", false)] - public class NeoGeoPort : IEmulator, IVideoProvider, ISoundProvider, IStatable, IInputPollable, - ISettable, ISaveRam - { - private PeRunner _exe; - internal LibNeoGeoPort _neopop; - private long _clockTime; - private int _clockDen; - - [CoreConstructor("NGP")] - public NeoGeoPort(CoreComm comm, byte[] rom, SyncSettings syncSettings, bool deterministic) - : this(comm, rom, syncSettings, deterministic, PeRunner.CanonicalStart) - { - } - - internal NeoGeoPort(CoreComm comm, byte[] rom, SyncSettings syncSettings, bool deterministic, ulong startAddress) - { - if (rom.Length > 4 * 1024 * 1024) - throw new InvalidOperationException("ROM too big!"); - - ServiceProvider = new BasicServiceProvider(this); - CoreComm = comm; - _syncSettings = syncSettings ?? new SyncSettings(); - - _exe = new PeRunner(new PeRunnerOptions - { - Path = comm.CoreFileProvider.DllPath(), - Filename = "ngp.wbx", - SbrkHeapSizeKB = 256, - SealedHeapSizeKB = 5 * 1024, // must be a bit larger than the ROM size - InvisibleHeapSizeKB = 4, - PlainHeapSizeKB = 5 * 1024, // must be a bit larger than the ROM size - StartAddress = startAddress - }); - - _neopop = BizInvoker.GetInvoker(_exe, _exe); - - if (!_neopop.LoadSystem(rom, rom.Length, _syncSettings.Language)) - { - throw new InvalidOperationException("Core rejected the rom"); - } - - _exe.Seal(); - - _inputCallback = InputCallbacks.Call; - InitMemoryDomains(); - - DeterministicEmulation = deterministic || !_syncSettings.UseRealTime; - _clockTime = (long)((_syncSettings.InitialTime - new DateTime(1970, 1, 1, 0, 0, 0)).TotalSeconds); - } - - public unsafe void FrameAdvance(IController controller, bool render, bool rendersound = true) - { - _clockDen += VsyncDenominator; - if (_clockDen >= VsyncNumerator) - { - _clockDen -= VsyncNumerator; - _clockTime++; - } - - long clockTime = DeterministicEmulation ? _clockTime : (long)((_syncSettings.InitialTime - new DateTime(1970, 1, 1, 0, 0, 0)).TotalSeconds); - - _neopop.SetInputCallback(InputCallbacks.Count > 0 ? _inputCallback : null); - - if (controller.IsPressed("Power")) - _neopop.HardReset(); - - fixed (int* vp = _videoBuffer) - fixed (short* sp = _soundBuffer) - { - var spec = new LibNeoGeoPort.EmulateSpec - { - Pixels = (IntPtr)vp, - SoundBuff = (IntPtr)sp, - SoundBufMaxSize = _soundBuffer.Length / 2, - Buttons = GetButtons(controller), - SkipRendering = render ? 0 : 1, - FrontendTime = clockTime - }; - - _neopop.FrameAdvance(spec); - _numSamples = spec.SoundBufSize; - - Frame++; - - IsLagFrame = spec.Lagged != 0; - if (IsLagFrame) - LagCount++; - } - } - - private bool _disposed = false; - - public void Dispose() - { - if (!_disposed) - { - _exe.Dispose(); - _exe = null; - _disposed = true; - } - } - - public int Frame { get; private set; } - public int LagCount { get; set; } - public bool IsLagFrame { get; set; } - public IInputCallbackSystem InputCallbacks { get; } = new InputCallbackSystem(); - private LibNeoGeoPort.InputCallback _inputCallback; - - public void ResetCounters() - { - Frame = 0; - } - - public IEmulatorServiceProvider ServiceProvider { get; private set; } - public string SystemId { get { return "NGP"; } } - public bool DeterministicEmulation { get; private set; } - public CoreComm CoreComm { get; } - - #region IStatable - - public bool BinarySaveStatesPreferred - { - get { return true; } - } - - public void SaveStateText(TextWriter writer) - { - var temp = SaveStateBinary(); - temp.SaveAsHexFast(writer); - // write extra copy of stuff we don't use - writer.WriteLine("Frame {0}", Frame); - } - - public void LoadStateText(TextReader reader) - { - string hex = reader.ReadLine(); - byte[] state = new byte[hex.Length / 2]; - state.ReadFromHexFast(hex); - LoadStateBinary(new BinaryReader(new MemoryStream(state))); - } - - public void LoadStateBinary(BinaryReader reader) - { - _exe.LoadStateBinary(reader); - // other variables - Frame = reader.ReadInt32(); - LagCount = reader.ReadInt32(); - IsLagFrame = reader.ReadBoolean(); - // any managed pointers that we sent to the core need to be resent now! - _neopop.SetInputCallback(null); - } - - public void SaveStateBinary(BinaryWriter writer) - { - _exe.SaveStateBinary(writer); - // other variables - writer.Write(Frame); - writer.Write(LagCount); - writer.Write(IsLagFrame); - } - - public byte[] SaveStateBinary() - { - var ms = new MemoryStream(); - var bw = new BinaryWriter(ms); - SaveStateBinary(bw); - bw.Flush(); - ms.Close(); - return ms.ToArray(); - } - - #endregion - - #region Controller - - private static int GetButtons(IController c) - { - var ret = 0; - var val = 1; - foreach (var s in CoreButtons) - { - if (c.IsPressed(s)) - ret |= val; - val <<= 1; - } - return ret; - } - - private static readonly string[] CoreButtons = - { - "Up", "Down", "Left", "Right", "A", "B", "Option" - }; - - private static readonly Dictionary ButtonOrdinals = new Dictionary - { - ["Up"] = 1, - ["Down"] = 2, - ["Left"] = 3, - ["Right"] = 4, - ["B"] = 9, - ["A"] = 10, - ["R"] = 11, - ["L"] = 12, - ["Option"] = 13 - }; - - private static readonly ControllerDefinition NeoGeoPortableController = new ControllerDefinition - { - Name = "NeoGeo Portable Controller", - BoolButtons = CoreButtons - .OrderBy(b => ButtonOrdinals[b]) - .Concat(new[] { "Power" }) - .ToList() - }; - - public ControllerDefinition ControllerDefinition => NeoGeoPortableController; - - #endregion - - #region IVideoProvider - - private int[] _videoBuffer = new int[160 * 152]; - - public int[] GetVideoBuffer() - { - return _videoBuffer; - } - - public int VirtualWidth => 160; - public int VirtualHeight => 152; - public int BufferWidth => 160; - public int BufferHeight => 152; - public int VsyncNumerator { get; private set; } = 6144000; - public int VsyncDenominator { get; private set; } = 515 * 198; - public int BackgroundColor => unchecked((int)0xff000000); - - #endregion - - #region ISoundProvider - - private short[] _soundBuffer = new short[16384]; - private int _numSamples; - - public void SetSyncMode(SyncSoundMode mode) - { - if (mode == SyncSoundMode.Async) - { - throw new NotSupportedException("Async mode is not supported."); - } - } - - public void GetSamplesSync(out short[] samples, out int nsamp) - { - samples = _soundBuffer; - nsamp = _numSamples; - } - - public void GetSamplesAsync(short[] samples) - { - throw new InvalidOperationException("Async mode is not supported."); - } - - public void DiscardSamples() - { - } - - public bool CanProvideAsync => false; - - public SyncSoundMode SyncMode => SyncSoundMode.Sync; - - #endregion - - #region ISettable - - private SyncSettings _syncSettings; - - public class SyncSettings - { - [DisplayName("Language")] - [Description("Language of the system. Only affects some games.")] - [DefaultValue(LibNeoGeoPort.Language.Japanese)] - public LibNeoGeoPort.Language Language { get; set; } - - [DisplayName("Initial Time")] - [Description("Initial time of emulation. Only relevant when UseRealTime is false.")] - [DefaultValue(typeof(DateTime), "2010-01-01")] - public DateTime InitialTime { get; set; } - - [DisplayName("Use RealTime")] - [Description("If true, RTC clock will be based off of real time instead of emulated time. Ignored (set to false) when recording a movie.")] - [DefaultValue(false)] - public bool UseRealTime { get; set; } - - public SyncSettings Clone() - { - return (SyncSettings)MemberwiseClone(); - } - - public static bool NeedsReboot(SyncSettings x, SyncSettings y) - { - return !DeepEquality.DeepEquals(x, y); - } - - public SyncSettings() - { - SettingsUtil.SetDefaultValues(this); - } - } - - public object GetSettings() - { - return null; - } - - public SyncSettings GetSyncSettings() - { - return _syncSettings.Clone(); - } - - public bool PutSettings(object o) - { - return false; - } - - public bool PutSyncSettings(SyncSettings o) - { - var ret = SyncSettings.NeedsReboot(_syncSettings, o); - _syncSettings = o; - return ret; - } - - #endregion - - #region Memory Domains - - private unsafe void InitMemoryDomains() - { - var domains = new List(); - - var domainNames = new[] { "RAM", "ROM", "ORIGINAL ROM" }; - - foreach (var a in domainNames.Select((s, i) => new { s, i })) - { - IntPtr ptr = IntPtr.Zero; - int size = 0; - bool writable = false; - - _neopop.GetMemoryArea(a.i, ref ptr, ref size, ref writable); - - if (ptr != IntPtr.Zero && size > 0) - { - domains.Add(new MemoryDomainIntPtrMonitor(a.s, MemoryDomain.Endian.Little, - ptr, size, writable, 4, _exe)); - } - } - (ServiceProvider as BasicServiceProvider).Register(new MemoryDomainList(domains)); - } - - #endregion - - #region ISaveram - - public bool SaveRamModified => _neopop.HasSaveRam(); - - public byte[] CloneSaveRam() - { - byte[] ret = null; - _neopop.GetSaveRam((data, size) => - { - ret = new byte[size]; - Marshal.Copy(data, ret, 0, size); - }); - return ret; - } - - public void StoreSaveRam(byte[] data) - { - if (!_neopop.PutSaveRam(data, data.Length)) - throw new InvalidOperationException("Core rejected the saveram"); - } - - #endregion - } -} +using BizHawk.Common; +using BizHawk.Common.BizInvoke; +using BizHawk.Common.BufferExtensions; +using BizHawk.Emulation.Common; +using BizHawk.Emulation.Cores.Waterbox; +using System; +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.ComponentModel; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices; +using System.Text; +using System.Threading; +using System.Threading.Tasks; + +namespace BizHawk.Emulation.Cores.Consoles.SNK +{ + [CoreAttributes("NeoPop", "Thomas Klausner", true, false, "0.9.44.1", + "https://mednafen.github.io/releases/", false)] + public class NeoGeoPort : WaterboxCore, + ISaveRam, // NGP provides its own saveram interface + ISettable + { + internal LibNeoGeoPort _neopop; + private long _clockTime; + private int _clockDen; + + [CoreConstructor("NGP")] + public NeoGeoPort(CoreComm comm, byte[] rom, SyncSettings syncSettings, bool deterministic) + : this(comm, rom, syncSettings, deterministic, PeRunner.CanonicalStart) + { + } + + internal NeoGeoPort(CoreComm comm, byte[] rom, SyncSettings syncSettings, bool deterministic, ulong startAddress) + :base(comm, new Configuration + { + DefaultFpsNumerator = 6144000, + DefaultFpsDenominator = 515 * 198, + DefaultWidth = 160, + DefaultHeight = 152, + MaxWidth = 160, + MaxHeight = 152, + MaxSamples = 8192, + SystemId = "NGP" + }) + { + if (rom.Length > 4 * 1024 * 1024) + throw new InvalidOperationException("ROM too big!"); + + _syncSettings = syncSettings ?? new SyncSettings(); + + _neopop = PreInit(new PeRunnerOptions + { + Filename = "ngp.wbx", + SbrkHeapSizeKB = 256, + SealedHeapSizeKB = 5 * 1024, // must be a bit larger than the ROM size + InvisibleHeapSizeKB = 4, + PlainHeapSizeKB = 5 * 1024, // must be a bit larger than the ROM size + StartAddress = startAddress + }); + + if (!_neopop.LoadSystem(rom, rom.Length, _syncSettings.Language)) + throw new InvalidOperationException("Core rejected the rom"); + + PostInit(); + + DeterministicEmulation = deterministic || !_syncSettings.UseRealTime; + _clockTime = (long)((_syncSettings.InitialTime - new DateTime(1970, 1, 1, 0, 0, 0)).TotalSeconds); + } + + protected override LibWaterboxCore.FrameInfo FrameAdvancePrep(IController controller, bool render, bool rendersound) + { + _clockDen += VsyncDenominator; + if (_clockDen >= VsyncNumerator) + { + _clockDen -= VsyncNumerator; + _clockTime++; + } + + long clockTime = DeterministicEmulation ? _clockTime : (long)((_syncSettings.InitialTime - new DateTime(1970, 1, 1, 0, 0, 0)).TotalSeconds); + + if (controller.IsPressed("Power")) + _neopop.HardReset(); + + return new LibNeoGeoPort.FrameInfo + { + FrontendTime = clockTime, + Buttons = GetButtons(controller), + SkipRendering = render ? 0 : 1, + }; + } + + #region IStatable + + protected override void SaveStateBinaryInternal(BinaryWriter writer) + { + writer.Write(_clockTime); + writer.Write(_clockDen); + } + + protected override void LoadStateBinaryInternal(BinaryReader reader) + { + _clockTime = reader.ReadInt64(); + _clockDen = reader.ReadInt32(); + } + + #endregion + + #region Controller + + private static int GetButtons(IController c) + { + var ret = 0; + var val = 1; + foreach (var s in CoreButtons) + { + if (c.IsPressed(s)) + ret |= val; + val <<= 1; + } + return ret; + } + + private static readonly string[] CoreButtons = + { + "Up", "Down", "Left", "Right", "A", "B", "Option" + }; + + private static readonly Dictionary ButtonOrdinals = new Dictionary + { + ["Up"] = 1, + ["Down"] = 2, + ["Left"] = 3, + ["Right"] = 4, + ["B"] = 9, + ["A"] = 10, + ["R"] = 11, + ["L"] = 12, + ["Option"] = 13 + }; + + private static readonly ControllerDefinition NeoGeoPortableController = new ControllerDefinition + { + Name = "NeoGeo Portable Controller", + BoolButtons = CoreButtons + .OrderBy(b => ButtonOrdinals[b]) + .Concat(new[] { "Power" }) + .ToList() + }; + + public override ControllerDefinition ControllerDefinition => NeoGeoPortableController; + + #endregion + + #region ISettable + + private SyncSettings _syncSettings; + + public class SyncSettings + { + [DisplayName("Language")] + [Description("Language of the system. Only affects some games.")] + [DefaultValue(LibNeoGeoPort.Language.Japanese)] + public LibNeoGeoPort.Language Language { get; set; } + + [DisplayName("Initial Time")] + [Description("Initial time of emulation. Only relevant when UseRealTime is false.")] + [DefaultValue(typeof(DateTime), "2010-01-01")] + public DateTime InitialTime { get; set; } + + [DisplayName("Use RealTime")] + [Description("If true, RTC clock will be based off of real time instead of emulated time. Ignored (set to false) when recording a movie.")] + [DefaultValue(false)] + public bool UseRealTime { get; set; } + + public SyncSettings Clone() + { + return (SyncSettings)MemberwiseClone(); + } + + public static bool NeedsReboot(SyncSettings x, SyncSettings y) + { + return !DeepEquality.DeepEquals(x, y); + } + + public SyncSettings() + { + SettingsUtil.SetDefaultValues(this); + } + } + + public object GetSettings() + { + return null; + } + + public SyncSettings GetSyncSettings() + { + return _syncSettings.Clone(); + } + + public bool PutSettings(object o) + { + return false; + } + + public bool PutSyncSettings(SyncSettings o) + { + var ret = SyncSettings.NeedsReboot(_syncSettings, o); + _syncSettings = o; + return ret; + } + + #endregion + + #region ISaveram + + public new bool SaveRamModified => _neopop.HasSaveRam(); + + public new byte[] CloneSaveRam() + { + byte[] ret = null; + _neopop.GetSaveRam((data, size) => + { + ret = new byte[size]; + Marshal.Copy(data, ret, 0, size); + }); + return ret; + } + + public new void StoreSaveRam(byte[] data) + { + if (!_neopop.PutSaveRam(data, data.Length)) + throw new InvalidOperationException("Core rejected the saveram"); + } + + #endregion + } +} diff --git a/BizHawk.Emulation.Cores/Waterbox/WaterboxCore.cs b/BizHawk.Emulation.Cores/Waterbox/WaterboxCore.cs index a10bf76316..929693625f 100644 --- a/BizHawk.Emulation.Cores/Waterbox/WaterboxCore.cs +++ b/BizHawk.Emulation.Cores/Waterbox/WaterboxCore.cs @@ -152,7 +152,7 @@ namespace BizHawk.Emulation.Cores.Waterbox #region IEmulator - protected abstract LibWaterboxCore.FrameInfo FrameAdvancePrep(IController controller); + protected abstract LibWaterboxCore.FrameInfo FrameAdvancePrep(IController controller, bool render, bool rendersound); public unsafe void FrameAdvance(IController controller, bool render, bool rendersound = true) { @@ -163,7 +163,7 @@ namespace BizHawk.Emulation.Cores.Waterbox fixed (int* vp = _videoBuffer) fixed (short* sp = _soundBuffer) { - var frame = FrameAdvancePrep(controller); + var frame = FrameAdvancePrep(controller, render, rendersound); frame.VideoBuffer = (IntPtr)vp; frame.SoundBuffer = (IntPtr)sp; @@ -204,7 +204,7 @@ namespace BizHawk.Emulation.Cores.Waterbox protected readonly BasicServiceProvider _serviceProvider; public IEmulatorServiceProvider ServiceProvider => _serviceProvider; public string SystemId { get; } - public bool DeterministicEmulation => true; + public bool DeterministicEmulation { get; protected set; } = true; public IInputCallbackSystem InputCallbacks { get; } = new InputCallbackSystem(); public abstract ControllerDefinition ControllerDefinition { get; } diff --git a/output/dll/ngp.wbx b/output/dll/ngp.wbx deleted file mode 100644 index f5111c35d8523813e9b8a24328dc759ea248f4e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 257038 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

Vol(zwG{&2K6VK;M?D!m?5+TH3Y{tX~29pNox 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%0DE@i?`8DiQ9P&EK-d0czm}9k9C$dsy-#{;>4; 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

%pqhV5d1ZbvW1Etx~UF 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 LL5vTT4(tN}Vhx&j literal 0 HcmV?d00001 diff --git a/waterbox/ngp/defs.h b/waterbox/ngp/defs.h index 08b902450b..4ae5ba1597 100644 --- a/waterbox/ngp/defs.h +++ b/waterbox/ngp/defs.h @@ -1,88 +1,62 @@ -#pragma once - -#include -#include -#include -#include -#include -#include - -typedef uint8_t uint8; -typedef uint16_t uint16; -typedef uint32_t uint32; -typedef uint64_t uint64; -typedef int8_t int8; -typedef int16_t int16; -typedef int32_t int32; -typedef int64_t int64; - -//#define MDFN_FASTCALL -#define INLINE inline -#define MDFN_COLD -#define NO_INLINE -//#define MDFN_ASSUME_ALIGNED(p, align) ((decltype(p))__builtin_assume_aligned((p), (align))) -#define MDFN_ASSUME_ALIGNED(p, align) (p) -#define trio_snprintf snprintf -#define TRUE true -#define FALSE false -#ifndef __alignas_is_defined -#define alignas(p) -#endif - -struct MDFN_Surface -{ - uint32 *pixels; - int pitch32; -}; - -struct EmulateSpecStruct -{ - // Pitch(32-bit) must be equal to width and >= the "fb_width" specified in the MDFNGI struct for the emulated system. - // Height must be >= to the "fb_height" specified in the MDFNGI struct for the emulated system. - // The framebuffer pointed to by surface->pixels is written to by the system emulation code. - uint32 *pixels; - - // Pointer to sound buffer, set by the driver code, that the emulation code should render sound to. - // Guaranteed to be at least 500ms in length, but emulation code really shouldn't exceed 40ms or so. Additionally, if emulation code - // generates >= 100ms, - // DEPRECATED: Emulation code may set this pointer to a sound buffer internal to the emulation module. - int16 *SoundBuf; - - // Number of cycles that this frame consumed, using MDFNGI::MasterClock as a time base. - // Set by emulation code. - int64 MasterCycles; - - // unix time for RTC - int64 FrontendTime; - - // Maximum size of the sound buffer, in frames. Set by the driver code. - int32 SoundBufMaxSize; - - // Number of frames currently in internal sound buffer. Set by the system emulation code, to be read by the driver code. - int32 SoundBufSize; - - // true to skip rendering - int32 skip; - - int32 Buttons; - - // set by core, true if lagged - int32 Lagged; -}; - -#define MDFN_printf(...) -#define MDFN_PrintError(...) -#define require assert - -#include "endian.h" - -inline char* strdup(const char* p) -{ - char* ret = (char*)malloc(strlen(p) + 1); - if (ret) - strcpy(ret, p); - return ret; -} - -#include -#define EXPORT extern "C" ECL_EXPORT +#pragma once + +#include +#include +#include +#include +#include +#include + +typedef uint8_t uint8; +typedef uint16_t uint16; +typedef uint32_t uint32; +typedef uint64_t uint64; +typedef int8_t int8; +typedef int16_t int16; +typedef int32_t int32; +typedef int64_t int64; + +//#define MDFN_FASTCALL +#define INLINE inline +#define MDFN_COLD +#define NO_INLINE +//#define MDFN_ASSUME_ALIGNED(p, align) ((decltype(p))__builtin_assume_aligned((p), (align))) +#define MDFN_ASSUME_ALIGNED(p, align) (p) +#define trio_snprintf snprintf +#define TRUE true +#define FALSE false +#ifndef __alignas_is_defined +#define alignas(p) +#endif + +#include +#define EXPORT extern "C" ECL_EXPORT +#include + +struct MyFrameInfo: public FrameInfo +{ + int64_t FrontendTime; + int32_t SkipRendering; + int32_t Buttons; +}; + + +struct MDFN_Surface +{ + uint32 *pixels; + int pitch32; +}; + +#define MDFN_printf(...) +#define MDFN_PrintError(...) +#define require assert + +#include "endian.h" + +inline char* strdup(const char* p) +{ + char* ret = (char*)malloc(strlen(p) + 1); + if (ret) + strcpy(ret, p); + return ret; +} diff --git a/waterbox/ngp/neopop.cpp b/waterbox/ngp/neopop.cpp index ee8d225009..e7335d6f8a 100644 --- a/waterbox/ngp/neopop.cpp +++ b/waterbox/ngp/neopop.cpp @@ -1,257 +1,244 @@ -//--------------------------------------------------------------------------- -// NEOPOP : Emulator as in Dreamland -// -// Copyright (c) 2001-2002 by neopop_uk -//--------------------------------------------------------------------------- - -//--------------------------------------------------------------------------- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. See also the license.txt file for -// additional informations. -//--------------------------------------------------------------------------- - -#include "neopop.h" - -#include "Z80_interface.h" -#include "interrupt.h" -#include "mem.h" -#include "gfx.h" -#include "sound.h" -#include "dma.h" -#include "bios.h" -#include "flash.h" - -#include - -namespace MDFN_IEN_NGP -{ -bool lagged; -void (*inputcallback)(); - - -extern uint8 CPUExRAM[16384]; - -NGPGFX_CLASS *NGPGfx = NULL; - -COLOURMODE system_colour = COLOURMODE_AUTO; - -uint8 NGPJoyLatch; -uint8 settings_language; -time_t frontend_time; - -int (*comms_read_cb)(uint8* buffer); -int (*comms_poll_cb)(uint8* buffer); -void (*comms_write_cb)(uint8 data); - -bool system_comms_read(uint8 *buffer) -{ - if (comms_read_cb) - return comms_read_cb(buffer); - else - return false; -} - -bool system_comms_poll(uint8 *buffer) -{ - if (comms_poll_cb) - return comms_poll_cb(buffer); - else - return false; -} - -void system_comms_write(uint8 data) -{ - if (comms_write_cb) - comms_write_cb(data); -} - -void instruction_error(char *vaMessage, ...) -{ - /*char message[1000]; - va_list vl; - - va_start(vl, vaMessage); - vsprintf(message, vaMessage, vl); - va_end(vl); - - MDFN_printf("[PC %06X] %s\n", pc, message);*/ -} - -bool NGPFrameSkip; -int32 ngpc_soundTS = 0; -//static int32 main_timeaccum; -static int32 z80_runtime; - -static void Emulate(EmulateSpecStruct *espec) -{ - lagged = true; - bool MeowMeow = 0; - MDFN_Surface surface; - surface.pixels = espec->pixels; - surface.pitch32 = 160; - - frontend_time = espec->FrontendTime; - storeB(0x6f82, espec->Buttons); - - ngpc_soundTS = 0; - NGPFrameSkip = espec->skip; - - do - { - int32 timetime = (uint8)TLCS900h_interpret(); // This is sooo not right, but it's replicating the old behavior(which is necessary - // now since I've fixed the TLCS900h core and other places not to truncate cycle counts - // internally to 8-bits). Switch to the #if 0'd block of code once we fix cycle counts in the - // TLCS900h core(they're all sorts of messed up), and investigate if certain long - // instructions are interruptable(by interrupts) and later resumable, RE Rockman Battle - // & Fighters voice sample playback. - - //if(timetime > 255) - // printf("%d\n", timetime); - - // Note: Don't call updateTimers with a time/tick/cycle/whatever count greater than 255. - MeowMeow |= updateTimers(&surface, timetime); - - z80_runtime += timetime; - - while (z80_runtime > 0) - { - int z80rantime = Z80_RunOP(); - - if (z80rantime < 0) // Z80 inactive, so take up all run time! - { - z80_runtime = 0; - break; - } - - z80_runtime -= z80rantime << 1; - } - } while (!MeowMeow); - - espec->MasterCycles = ngpc_soundTS; - espec->SoundBufSize = MDFNNGPCSOUND_Flush(espec->SoundBuf, espec->SoundBufMaxSize); - espec->Lagged = lagged; -} - -static MDFN_COLD bool Load(const uint8* romdata, int32 romlength) -{ - const uint64 fp_size = romlength; - - if (fp_size > 1024 * 1024 * 8) // 4MiB maximum ROM size, 2* to be a little tolerant of garbage. - return false; - //throw MDFN_Error(0, _("NGP/NGPC ROM image is too large.")); - - ngpc_rom.length = fp_size; - ngpc_rom.data = (uint8*)alloc_plain(ngpc_rom.length); - memcpy(ngpc_rom.data, romdata, romlength); - - rom_loaded(); - //if (!FLASH_LoadNV()) - // return false; - - //MDFNMP_Init(1024, 1024 * 1024 * 16 / 1024); - - NGPGfx = new NGPGFX_CLASS(); - - //MDFNGameInfo->fps = (uint32)((uint64)6144000 * 65536 * 256 / 515 / 198); // 3072000 * 2 * 10000 / 515 / 198 - - MDFNNGPCSOUND_Init(); - - //MDFNMP_AddRAM(16384, 0x4000, CPUExRAM); - - SetFRM(); // Set up fast read memory mapping - - bios_install(); - - //main_timeaccum = 0; - z80_runtime = 0; - - reset(); - - MDFNNGPC_SetSoundRate(44100); - return true; -} -} -using namespace MDFN_IEN_NGP; - -int main(void) -{ - return 0; -} - -EXPORT int LoadSystem(const uint8* rom, int romlength, int language) -{ - settings_language = language; - return Load(rom, romlength); -} - -EXPORT void SetLayers(int enable) // 1, 2, 4 bg,fg,sprites -{ - NGPGfx->SetLayerEnableMask(enable); -} - -EXPORT void FrameAdvance(EmulateSpecStruct *espec) -{ - Emulate(espec); -} - -EXPORT void HardReset() -{ - reset(); -} - -EXPORT void SetInputCallback(void (*callback)()) -{ - inputcallback = callback; -} - -EXPORT void SetCommsCallbacks(int (*read_cb)(uint8* buffer), int (*poll_cb)(uint8* buffer), void (*write_cb)(uint8 data)) -{ - comms_read_cb = read_cb; - comms_poll_cb = poll_cb; - comms_write_cb = write_cb; -} - -EXPORT void GetMemoryArea(int which, void **ptr, int *size, int *writable) -{ - switch (which) - { - case 0: - *ptr = CPUExRAM; - *size = 16384; - *writable = 1; - break; - case 1: - *ptr = ngpc_rom.data; - *size = ngpc_rom.length; - *writable = 0; - break; - case 2: - *ptr = ngpc_rom.orig_data; - *size = ngpc_rom.length; - *writable = 0; - break; - default: - *ptr = nullptr; - *size = 0; - *writable = 0; - break; - } -} - -EXPORT bool HasSaveRam() -{ - return FLASH_IsModified(); -} - -EXPORT bool PutSaveRam(const uint8* data, uint32 length) -{ - return FLASH_LoadNV(data, length); -} - -EXPORT void GetSaveRam(void (*callback)(const uint8* data, uint32 length)) -{ - FLASH_SaveNV(callback); -} - +//--------------------------------------------------------------------------- +// NEOPOP : Emulator as in Dreamland +// +// Copyright (c) 2001-2002 by neopop_uk +//--------------------------------------------------------------------------- + +//--------------------------------------------------------------------------- +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. See also the license.txt file for +// additional informations. +//--------------------------------------------------------------------------- + +#include "neopop.h" + +#include "Z80_interface.h" +#include "interrupt.h" +#include "mem.h" +#include "gfx.h" +#include "sound.h" +#include "dma.h" +#include "bios.h" +#include "flash.h" + +#include + +namespace MDFN_IEN_NGP +{ +bool lagged; +void (*inputcallback)(); + + +extern uint8 CPUExRAM[16384]; + +NGPGFX_CLASS *NGPGfx = NULL; + +COLOURMODE system_colour = COLOURMODE_AUTO; + +uint8 NGPJoyLatch; +uint8 settings_language; +time_t frontend_time; + +int (*comms_read_cb)(uint8* buffer); +int (*comms_poll_cb)(uint8* buffer); +void (*comms_write_cb)(uint8 data); + +bool system_comms_read(uint8 *buffer) +{ + if (comms_read_cb) + return comms_read_cb(buffer); + else + return false; +} + +bool system_comms_poll(uint8 *buffer) +{ + if (comms_poll_cb) + return comms_poll_cb(buffer); + else + return false; +} + +void system_comms_write(uint8 data) +{ + if (comms_write_cb) + comms_write_cb(data); +} + +void instruction_error(char *vaMessage, ...) +{ + /*char message[1000]; + va_list vl; + + va_start(vl, vaMessage); + vsprintf(message, vaMessage, vl); + va_end(vl); + + MDFN_printf("[PC %06X] %s\n", pc, message);*/ +} + +bool NGPFrameSkip; +int32 ngpc_soundTS = 0; +//static int32 main_timeaccum; +static int32 z80_runtime; + +EXPORT void FrameAdvance(MyFrameInfo* frame) +{ + lagged = true; + bool MeowMeow = 0; + MDFN_Surface surface; + surface.pixels = frame->VideoBuffer; + surface.pitch32 = 160; + frame->Width = 160; + frame->Height = 152; + frontend_time = frame->FrontendTime; + storeB(0x6f82, frame->Buttons); + + ngpc_soundTS = 0; + NGPFrameSkip = frame->SkipRendering; + + do + { + int32 timetime = (uint8)TLCS900h_interpret(); // This is sooo not right, but it's replicating the old behavior(which is necessary + // now since I've fixed the TLCS900h core and other places not to truncate cycle counts + // internally to 8-bits). Switch to the #if 0'd block of code once we fix cycle counts in the + // TLCS900h core(they're all sorts of messed up), and investigate if certain long + // instructions are interruptable(by interrupts) and later resumable, RE Rockman Battle + // & Fighters voice sample playback. + + //if(timetime > 255) + // printf("%d\n", timetime); + + // Note: Don't call updateTimers with a time/tick/cycle/whatever count greater than 255. + MeowMeow |= updateTimers(&surface, timetime); + + z80_runtime += timetime; + + while (z80_runtime > 0) + { + int z80rantime = Z80_RunOP(); + + if (z80rantime < 0) // Z80 inactive, so take up all run time! + { + z80_runtime = 0; + break; + } + + z80_runtime -= z80rantime << 1; + } + } while (!MeowMeow); + + frame->Cycles = ngpc_soundTS; + frame->Samples = MDFNNGPCSOUND_Flush(frame->SoundBuffer, 8192); + frame->Lagged = lagged; +} + +static MDFN_COLD bool Load(const uint8* romdata, int32 romlength) +{ + const uint64 fp_size = romlength; + + if (fp_size > 1024 * 1024 * 8) // 4MiB maximum ROM size, 2* to be a little tolerant of garbage. + return false; + //throw MDFN_Error(0, _("NGP/NGPC ROM image is too large.")); + + ngpc_rom.length = fp_size; + ngpc_rom.data = (uint8*)alloc_plain(ngpc_rom.length); + memcpy(ngpc_rom.data, romdata, romlength); + + rom_loaded(); + //if (!FLASH_LoadNV()) + // return false; + + //MDFNMP_Init(1024, 1024 * 1024 * 16 / 1024); + + NGPGfx = new NGPGFX_CLASS(); + + //MDFNGameInfo->fps = (uint32)((uint64)6144000 * 65536 * 256 / 515 / 198); // 3072000 * 2 * 10000 / 515 / 198 + + MDFNNGPCSOUND_Init(); + + //MDFNMP_AddRAM(16384, 0x4000, CPUExRAM); + + SetFRM(); // Set up fast read memory mapping + + bios_install(); + + //main_timeaccum = 0; + z80_runtime = 0; + + reset(); + + MDFNNGPC_SetSoundRate(44100); + return true; +} +} +using namespace MDFN_IEN_NGP; + +int main(void) +{ + return 0; +} + +EXPORT int LoadSystem(const uint8* rom, int romlength, int language) +{ + settings_language = language; + return Load(rom, romlength); +} + +EXPORT void SetLayers(int enable) // 1, 2, 4 bg,fg,sprites +{ + NGPGfx->SetLayerEnableMask(enable); +} + +EXPORT void HardReset() +{ + reset(); +} + +EXPORT void SetInputCallback(void (*callback)()) +{ + inputcallback = callback; +} + +EXPORT void SetCommsCallbacks(int (*read_cb)(uint8* buffer), int (*poll_cb)(uint8* buffer), void (*write_cb)(uint8 data)) +{ + comms_read_cb = read_cb; + comms_poll_cb = poll_cb; + comms_write_cb = write_cb; +} + +EXPORT void GetMemoryAreas(MemoryArea* m) +{ + m[0].Data = CPUExRAM; + m[0].Name = "RAM"; + m[0].Size = 16384; + m[0].Flags = MEMORYAREA_FLAGS_WRITABLE | MEMORYAREA_FLAGS_PRIMARY | MEMORYAREA_FLAGS_WORDSIZE4; + + m[1].Data = ngpc_rom.data; + m[1].Name = "ROM"; + m[1].Size = ngpc_rom.length; + m[1].Flags = MEMORYAREA_FLAGS_WORDSIZE4; + + m[2].Data = ngpc_rom.orig_data; + m[2].Name = "ORIGINAL ROM"; + m[2].Size = ngpc_rom.length; + m[2].Flags = MEMORYAREA_FLAGS_WORDSIZE4; +} + +EXPORT bool HasSaveRam() +{ + return FLASH_IsModified(); +} + +EXPORT bool PutSaveRam(const uint8* data, uint32 length) +{ + return FLASH_LoadNV(data, length); +} + +EXPORT void GetSaveRam(void (*callback)(const uint8* data, uint32 length)) +{ + FLASH_SaveNV(callback); +} +