From 7db84720920c651977915401b750faf2d3037d6a Mon Sep 17 00:00:00 2001 From: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com> Date: Sun, 13 Feb 2022 20:38:31 -0800 Subject: [PATCH] Handy tweaks (squashed PR #3140) resolves #2425. commits: - build handy-linux with fvisibility=internal, make export have default visiblity - use bizinvoker for handy - move this to the right spot - correct name here --- Assets/dll/libbizlynx.dll.so | Bin 152680 -> 133592 bytes lynx/cinterface.cpp | 4 +- lynx/make/Makefile | 2 +- .../Consoles/Atari/lynx/LibLynx.cs | 56 +++++++++--------- .../Consoles/Atari/lynx/Lynx.cs | 11 ++++ 5 files changed, 42 insertions(+), 31 deletions(-) mode change 100644 => 100755 Assets/dll/libbizlynx.dll.so diff --git a/Assets/dll/libbizlynx.dll.so b/Assets/dll/libbizlynx.dll.so old mode 100644 new mode 100755 index f3ea769383d5496874736b73e2f49acd14b45b81..e12b22ba65899ea34f9388447c883cea2ca7eeb2 GIT binary patch literal 133592 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∾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 QpY3$z<@-PW6gc(%FQIhMi2wiq diff --git a/lynx/cinterface.cpp b/lynx/cinterface.cpp index 3d902f7279..cc3e8a63a9 100644 --- a/lynx/cinterface.cpp +++ b/lynx/cinterface.cpp @@ -17,8 +17,8 @@ void operator delete(void *p) #ifdef _WIN32 #define EXPORT extern "C" __declspec(dllexport) -#elif __linux__ -#define EXPORT extern "C" +#else +#define EXPORT extern "C" __attribute__((visibility("default"))) #endif EXPORT CSystem *Create(const uint8 *game, uint32 gamesize, const uint8 *bios, uint32 biossize, int pagesize0, int pagesize1, int lowpass) diff --git a/lynx/make/Makefile b/lynx/make/Makefile index 01a0985364..a121f03690 100644 --- a/lynx/make/Makefile +++ b/lynx/make/Makefile @@ -11,7 +11,7 @@ else $(error Unknown arch) endif -CXXFLAGS = -Wall -Wno-parentheses -I.. -O3 -std=gnu++11 -fomit-frame-pointer -fno-exceptions -flto -fPIC +CXXFLAGS = -Wall -Wno-parentheses -I.. -O3 -std=gnu++11 -fomit-frame-pointer -fno-exceptions -flto -fPIC -fvisibility=internal TARGET = bizlynx.dll LDFLAGS_32 = -static -static-libgcc -static-libstdc++ diff --git a/src/BizHawk.Emulation.Cores/Consoles/Atari/lynx/LibLynx.cs b/src/BizHawk.Emulation.Cores/Consoles/Atari/lynx/LibLynx.cs index c04add69b1..6d401d205c 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Atari/lynx/LibLynx.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Atari/lynx/LibLynx.cs @@ -1,50 +1,50 @@ using System; using System.Runtime.InteropServices; +using BizHawk.BizInvoke; using BizHawk.Emulation.Common; namespace BizHawk.Emulation.Cores.Atari.Lynx { - public static class LibLynx + public abstract class LibLynx { - private const string dllname = "bizlynx.dll"; private const CallingConvention cc = CallingConvention.Cdecl; - [DllImport(dllname, CallingConvention = cc)] - public static extern IntPtr Create(byte[] game, int gamesize, byte[] bios, int biossize, int pagesize0, int pagesize1, bool lowpass); + [BizImport(cc)] + public abstract IntPtr Create(byte[] game, int gamesize, byte[] bios, int biossize, int pagesize0, int pagesize1, bool lowpass); - [DllImport(dllname, CallingConvention = cc)] - public static extern void Destroy(IntPtr s); + [BizImport(cc)] + public abstract void Destroy(IntPtr s); - [DllImport(dllname, CallingConvention = cc)] - public static extern void Reset(IntPtr s); + [BizImport(cc)] + public abstract void Reset(IntPtr s); - [DllImport(dllname, CallingConvention = cc)] - public static extern bool Advance(IntPtr s, Buttons buttons, int[] vbuff, short[] sbuff, ref int sbuffsize); + [BizImport(cc)] + public abstract bool Advance(IntPtr s, Buttons buttons, int[] vbuff, short[] sbuff, ref int sbuffsize); - [DllImport(dllname, CallingConvention = cc)] - public static extern void SetRotation(IntPtr s, int value); + [BizImport(cc)] + public abstract void SetRotation(IntPtr s, int value); - [DllImport(dllname, CallingConvention = cc)] - public static extern bool GetSaveRamPtr(IntPtr s, out int size, out IntPtr data); + [BizImport(cc)] + public abstract bool GetSaveRamPtr(IntPtr s, out int size, out IntPtr data); - [DllImport(dllname, CallingConvention = cc)] - public static extern void GetReadOnlyCartPtrs(IntPtr s, out int s0, out IntPtr p0, out int s1, out IntPtr p1); + [BizImport(cc)] + public abstract void GetReadOnlyCartPtrs(IntPtr s, out int s0, out IntPtr p0, out int s1, out IntPtr p1); - [DllImport(dllname, CallingConvention = cc)] - public static extern int BinStateSize(IntPtr s); - [DllImport(dllname, CallingConvention = cc)] - public static extern bool BinStateSave(IntPtr s, byte[] data, int length); - [DllImport(dllname, CallingConvention = cc)] - public static extern bool BinStateLoad(IntPtr s, byte[] data, int length); - [DllImport(dllname, CallingConvention = cc)] - public static extern void TxtStateSave(IntPtr s, [In]ref TextStateFPtrs ff); - [DllImport(dllname, CallingConvention = cc)] - public static extern void TxtStateLoad(IntPtr s, [In]ref TextStateFPtrs ff); + [BizImport(cc)] + public abstract int BinStateSize(IntPtr s); + [BizImport(cc)] + public abstract bool BinStateSave(IntPtr s, byte[] data, int length); + [BizImport(cc)] + public abstract bool BinStateLoad(IntPtr s, byte[] data, int length); + [BizImport(cc)] + public abstract void TxtStateSave(IntPtr s, [In]ref TextStateFPtrs ff); + [BizImport(cc)] + public abstract void TxtStateLoad(IntPtr s, [In]ref TextStateFPtrs ff); - [DllImport(dllname, CallingConvention = cc)] - public static extern IntPtr GetRamPointer(IntPtr s); + [BizImport(cc)] + public abstract IntPtr GetRamPointer(IntPtr s); [Flags] public enum Buttons : ushort diff --git a/src/BizHawk.Emulation.Cores/Consoles/Atari/lynx/Lynx.cs b/src/BizHawk.Emulation.Cores/Consoles/Atari/lynx/Lynx.cs index e31e1ea662..efc725ef3d 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Atari/lynx/Lynx.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Atari/lynx/Lynx.cs @@ -2,6 +2,8 @@ using System.Text; using System.IO; +using BizHawk.BizInvoke; +using BizHawk.Common; using BizHawk.Common.StringExtensions; using BizHawk.Emulation.Common; @@ -11,6 +13,15 @@ namespace BizHawk.Emulation.Cores.Atari.Lynx [ServiceNotApplicable(new[] { typeof(IDriveLight), typeof(IRegionable), typeof(ISettable<,>) })] public partial class Lynx : IEmulator, IVideoProvider, ISoundProvider, ISaveRam, IStatable, IInputPollable { + private static readonly LibLynx LibLynx; + + static Lynx() + { + var resolver = new DynamicLibraryImportResolver( + OSTailoredCode.IsUnixHost ? "libbizlynx.dll.so" : "bizlynx.dll", hasLimitedLifetime: false); + LibLynx = BizInvoker.GetInvoker(resolver, CallingConventionAdapters.Native); + } + [CoreConstructor(VSystemID.Raw.Lynx)] public Lynx(byte[] file, GameInfo game, CoreComm comm) {