From 034337c51dfc7883eeecc4a01970767262849041 Mon Sep 17 00:00:00 2001 From: nattthebear Date: Thu, 1 Jun 2017 20:44:49 -0400 Subject: [PATCH] start of dngp linkup. It works enough for KOF2 to think a cable is there, but not enough to run anything --- .../Consoles/SNK/DualNeoGeoPort.cs | 227 +++++++++++++++++- .../Consoles/SNK/LibNeoGeoPort.cs | 2 + .../Consoles/SNK/NeoGeoPort.cs | 9 +- BizHawk.Emulation.Cores/SideBySideVideo.cs | 5 +- output64/dll/ngp.wbx | Bin 346649 -> 347865 bytes waterbox/ngp/neopop.cpp | 24 +- 6 files changed, 253 insertions(+), 14 deletions(-) diff --git a/BizHawk.Emulation.Cores/Consoles/SNK/DualNeoGeoPort.cs b/BizHawk.Emulation.Cores/Consoles/SNK/DualNeoGeoPort.cs index 623984cc5a..40e949f7ae 100644 --- a/BizHawk.Emulation.Cores/Consoles/SNK/DualNeoGeoPort.cs +++ b/BizHawk.Emulation.Cores/Consoles/SNK/DualNeoGeoPort.cs @@ -1,10 +1,16 @@ -using BizHawk.Emulation.Common; +using BizHawk.Common; +using BizHawk.Common.BizInvoke; +using BizHawk.Emulation.Common; using BizHawk.Emulation.Cores.Sound; using BizHawk.Emulation.Cores.Waterbox; using System; +using System.Collections.Concurrent; using System.Collections.Generic; +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 @@ -19,13 +25,20 @@ namespace BizHawk.Emulation.Cores.Consoles.SNK private bool _disposed = false; private readonly DualSyncSound _soundProvider; private readonly SideBySideVideo _videoProvider; + private readonly LinkInterop _leftEnd; + private readonly LinkInterop _rightEnd; + private readonly LinkCable _linkCable; [CoreConstructor("DNGP")] public DualNeoGeoPort(CoreComm comm, byte[] rom, bool deterministic) { CoreComm = comm; - _left = new NeoGeoPort(comm, rom, null, deterministic, PeRunner.CanonicalStart); - _right = new NeoGeoPort(comm, rom, null, deterministic, PeRunner.AlternateStart); + _left = new NeoGeoPort(comm, rom, new NeoGeoPort.SyncSettings { Language = LibNeoGeoPort.Language.English }, deterministic, PeRunner.CanonicalStart); + _right = new NeoGeoPort(comm, rom, new NeoGeoPort.SyncSettings { Language = LibNeoGeoPort.Language.English }, deterministic, PeRunner.AlternateStart); + _linkCable = new LinkCable(); + _leftEnd = new LinkInterop(_left, _linkCable.LeftIn, _linkCable.LeftOut); + _rightEnd = new LinkInterop(_right, _linkCable.RightIn, _linkCable.RightOut); + _serviceProvider = new BasicServiceProvider(this); _soundProvider = new DualSyncSound(_left, _right); @@ -36,13 +49,217 @@ namespace BizHawk.Emulation.Cores.Consoles.SNK public void FrameAdvance(IController controller, bool render, bool rendersound = true) { - _left.FrameAdvance(new PrefixController(controller, "P1 "), render, rendersound); - _right.FrameAdvance(new PrefixController(controller, "P2 "), render, rendersound); + var t1 = Task.Run(() => + { + _left.FrameAdvance(new PrefixController(controller, "P1 "), render, rendersound); + _leftEnd.SignalEndOfFrame(); + }); + var t2 = Task.Run(() => + { + _right.FrameAdvance(new PrefixController(controller, "P2 "), render, rendersound); + _rightEnd.SignalEndOfFrame(); + }); + var t3 = Task.Run(() => + { + _linkCable.RunFrame(); + }); + Task.WaitAll(t1, t2, t3); Frame++; _soundProvider.Fetch(); _videoProvider.Fetch(); } + #region link cable + + private class LinkCable + { + public readonly BlockingCollection LeftIn = new BlockingCollection(); + public readonly BlockingCollection LeftOut = new BlockingCollection(); + public readonly BlockingCollection RightIn = new BlockingCollection(); + public readonly BlockingCollection RightOut = new BlockingCollection(); + + private readonly Queue _leftData = new Queue(); + private readonly Queue _rightData = new Queue(); + + public void RunFrame() + { + LinkRequest l = LeftIn.Take(); + LinkRequest r = RightIn.Take(); + while (true) + { + switch (l.RequestType) + { + case LinkRequest.RequestTypes.EndOfFrame: + if (r.RequestType == LinkRequest.RequestTypes.EndOfFrame) + return; + break; + case LinkRequest.RequestTypes.Write: + _leftData.Enqueue(l.Data); + l = LeftIn.Take(); + continue; + case LinkRequest.RequestTypes.Read: + case LinkRequest.RequestTypes.Poll: + if (_rightData.Count > 0) + { + LeftOut.Add(new LinkResult + { + Data = l.RequestType == LinkRequest.RequestTypes.Read ? _rightData.Dequeue() : _rightData.Peek(), + Return = true + }); + l = LeftIn.Take(); + continue; + } + else if (r.RequestType != LinkRequest.RequestTypes.Write) + { + LeftOut.Add(new LinkResult + { + Data = l.Data, + Return = false + }); + l = LeftIn.Take(); + continue; + } + else + { + break; + } + } + switch (r.RequestType) + { + case LinkRequest.RequestTypes.Write: + _rightData.Enqueue(r.Data); + r = RightIn.Take(); + continue; + case LinkRequest.RequestTypes.Read: + case LinkRequest.RequestTypes.Poll: + if (_leftData.Count > 0) + { + RightOut.Add(new LinkResult + { + Data = r.RequestType == LinkRequest.RequestTypes.Read ? _leftData.Dequeue() : _leftData.Peek(), + Return = true + }); + r = RightIn.Take(); + continue; + } + else if (l.RequestType != LinkRequest.RequestTypes.Write) + { + RightOut.Add(new LinkResult + { + Data = r.Data, + Return = false + }); + r = RightIn.Take(); + continue; + } + else + { + break; + } + } + } + } + } + + public struct LinkRequest + { + public enum RequestTypes : byte + { + Read, + Poll, + Write, + EndOfFrame + } + public RequestTypes RequestType; + public byte Data; + } + public struct LinkResult + { + public byte Data; + public bool Return; + } + + private unsafe class LinkInterop + { + private readonly BlockingCollection _push; + private readonly BlockingCollection _pull; + private NeoGeoPort _core; + private readonly IntPtr _readcb; + private readonly IntPtr _pollcb; + private readonly IntPtr _writecb; + private readonly IImportResolver _exporter; + + public LinkInterop(NeoGeoPort core, BlockingCollection push, BlockingCollection pull) + { + _core = core; + _push = push; + _pull = pull; + _exporter = BizExvoker.GetExvoker(this); + _readcb = _exporter.SafeResolve("CommsReadCallback"); + _pollcb = _exporter.SafeResolve("CommsPollCallback"); + _writecb = _exporter.SafeResolve("CommsWriteCallback"); + ConnectPointers(); + } + + private void ConnectPointers() + { + _core._neopop.SetCommsCallbacks(_readcb, _pollcb, _writecb); + } + + [BizExport(CallingConvention.Cdecl)] + public bool CommsReadCallback(byte* buffer) + { + if (buffer == null) + return true; + _push.Add(new LinkRequest + { + RequestType = LinkRequest.RequestTypes.Read, + Data = *buffer + }); + var r = _pull.Take(); + *buffer = r.Data; + return r.Return; + } + [BizExport(CallingConvention.Cdecl)] + public bool CommsPollCallback(byte* buffer) + { + if (buffer == null) + return true; + _push.Add(new LinkRequest + { + RequestType = LinkRequest.RequestTypes.Poll, + Data = *buffer + }); + var r = _pull.Take(); + *buffer = r.Data; + return r.Return; + } + [BizExport(CallingConvention.Cdecl)] + public void CommsWriteCallback(byte data) + { + _push.Add(new LinkRequest + { + RequestType = LinkRequest.RequestTypes.Write, + Data = data + }); + } + + public void SignalEndOfFrame() + { + _push.Add(new LinkRequest + { + RequestType = LinkRequest.RequestTypes.EndOfFrame + }); + } + + public void PostLoadState() + { + ConnectPointers(); + } + } + + #endregion + private class PrefixController : IController { public PrefixController(IController controller, string prefix) diff --git a/BizHawk.Emulation.Cores/Consoles/SNK/LibNeoGeoPort.cs b/BizHawk.Emulation.Cores/Consoles/SNK/LibNeoGeoPort.cs index 93b5767d1a..08214a89f5 100644 --- a/BizHawk.Emulation.Cores/Consoles/SNK/LibNeoGeoPort.cs +++ b/BizHawk.Emulation.Cores/Consoles/SNK/LibNeoGeoPort.cs @@ -44,5 +44,7 @@ namespace BizHawk.Emulation.Cores.Consoles.SNK 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); } } diff --git a/BizHawk.Emulation.Cores/Consoles/SNK/NeoGeoPort.cs b/BizHawk.Emulation.Cores/Consoles/SNK/NeoGeoPort.cs index 108473d2c1..e21d97e4d3 100644 --- a/BizHawk.Emulation.Cores/Consoles/SNK/NeoGeoPort.cs +++ b/BizHawk.Emulation.Cores/Consoles/SNK/NeoGeoPort.cs @@ -4,28 +4,31 @@ 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", + [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 { private PeRunner _exe; - private LibNeoGeoPort _neopop; + 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) + : this(comm, rom, syncSettings, deterministic, PeRunner.CanonicalStart) { } diff --git a/BizHawk.Emulation.Cores/SideBySideVideo.cs b/BizHawk.Emulation.Cores/SideBySideVideo.cs index f43495d634..e624f69a41 100644 --- a/BizHawk.Emulation.Cores/SideBySideVideo.cs +++ b/BizHawk.Emulation.Cores/SideBySideVideo.cs @@ -13,6 +13,7 @@ namespace BizHawk.Emulation.Cores { _l = l; _r = r; + _buff = new int[BufferWidth * BufferHeight]; } private static unsafe void Blit(int* src, int srcp, int* dst, int dstp, int w, int h) @@ -31,8 +32,6 @@ namespace BizHawk.Emulation.Cores { int h = BufferHeight; int w = BufferWidth; - if (_buff.Length < w * h) - _buff = new int[w * h]; fixed(int* _pl = _l.GetVideoBuffer(), _pr = _r.GetVideoBuffer(), _pd = _buff) { @@ -42,7 +41,7 @@ namespace BizHawk.Emulation.Cores } private readonly IVideoProvider _l; private readonly IVideoProvider _r; - private int[] _buff = new int[0]; + private int[] _buff; public int BackgroundColor => _l.BackgroundColor; public int BufferHeight => _l.BufferHeight; public int BufferWidth => _l.BufferWidth * 2; diff --git a/output64/dll/ngp.wbx b/output64/dll/ngp.wbx index 1f9d87f8983e4dfcbbd15fef6b2e9984388fa47e..ebd418af10e275e76d7f76929d1668bdc6f29132 100644 GIT binary patch delta 108761 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 M0<%Nhx6thKe=~gG^Z)<= diff --git a/waterbox/ngp/neopop.cpp b/waterbox/ngp/neopop.cpp index 9bb4aa3735..f6b1b3186e 100644 --- a/waterbox/ngp/neopop.cpp +++ b/waterbox/ngp/neopop.cpp @@ -41,19 +41,30 @@ 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) { - return (0); + if (comms_read_cb) + return comms_read_cb(buffer); + else + return false; } bool system_comms_poll(uint8 *buffer) { - return (0); + if (comms_poll_cb) + return comms_poll_cb(buffer); + else + return false; } void system_comms_write(uint8 data) { - return; + if (comms_write_cb) + comms_write_cb(data); } void instruction_error(char *vaMessage, ...) @@ -195,6 +206,13 @@ 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)