From 9c02bf77ba89c3fa12a7095ecddce6cd92cd14be Mon Sep 17 00:00:00 2001 From: goyuken Date: Mon, 24 Nov 2014 18:50:18 +0000 Subject: [PATCH] wonderswan: clear out unused code for clear saveram --- .../Interfaces/ISettable.cs | 3 +++ .../Consoles/WonderSwan/BizSwan.cs | 8 -------- .../Consoles/WonderSwan/WonderSwan.cs | 5 ----- output/dll/bizswan.dll | Bin 348941 -> 348810 bytes wonderswan/system.cpp | 12 ------------ wonderswan/system.h | 2 -- 6 files changed, 3 insertions(+), 27 deletions(-) diff --git a/BizHawk.Emulation.Common/Interfaces/ISettable.cs b/BizHawk.Emulation.Common/Interfaces/ISettable.cs index cd60d85e6e..856acf5921 100644 --- a/BizHawk.Emulation.Common/Interfaces/ISettable.cs +++ b/BizHawk.Emulation.Common/Interfaces/ISettable.cs @@ -6,6 +6,9 @@ using System.Reflection; namespace BizHawk.Emulation.Common { + /// + /// serves as a shim between strongly typed ISettable and consumers + /// public class SettingsAdapter { public SettingsAdapter(IEmulator e) diff --git a/BizHawk.Emulation.Cores/Consoles/WonderSwan/BizSwan.cs b/BizHawk.Emulation.Cores/Consoles/WonderSwan/BizSwan.cs index b56528c4b7..9aa024bf21 100644 --- a/BizHawk.Emulation.Cores/Consoles/WonderSwan/BizSwan.cs +++ b/BizHawk.Emulation.Cores/Consoles/WonderSwan/BizSwan.cs @@ -87,14 +87,6 @@ namespace BizHawk.Emulation.Cores.WonderSwan [DllImport(dd, CallingConvention = cc)] public static extern bool bizswan_saveramsave(IntPtr core, byte[] data, int maxsize); - /// - /// bad function - /// - /// - /// pass EXACTLY the same syncsettings you originally passed on core load, else DRAGONS - [DllImport(dd, CallingConvention = cc)] - public static extern void bizswan_saveramclearhacky(IntPtr core, [In] ref SyncSettings settings); - /// /// put non-sync settings, can be done at any time /// diff --git a/BizHawk.Emulation.Cores/Consoles/WonderSwan/WonderSwan.cs b/BizHawk.Emulation.Cores/Consoles/WonderSwan/WonderSwan.cs index ee61a08683..662e16fba3 100644 --- a/BizHawk.Emulation.Cores/Consoles/WonderSwan/WonderSwan.cs +++ b/BizHawk.Emulation.Cores/Consoles/WonderSwan/WonderSwan.cs @@ -108,10 +108,6 @@ namespace BizHawk.Emulation.Cores.WonderSwan if (!BizSwan.bizswan_load(Core, file, file.Length, ref ss, ref rotate)) throw new InvalidOperationException("bizswan_load() returned FALSE!"); - // adelikat: TODO: ClearSaveRam() doesn't exist anymore, do we still need this? - // for future uses of ClearSaveRam(), it's important that we save this - _DONTTOUCHME = ss; - CoreComm.VsyncNum = 3072000; // master CPU clock, also pixel clock CoreComm.VsyncDen = (144 + 15) * (224 + 32); // 144 vislines, 15 vblank lines; 224 vispixels, 32 hblank pixels @@ -383,7 +379,6 @@ namespace BizHawk.Emulation.Cores.WonderSwan Settings _Settings; SyncSettings _SyncSettings; - BizSwan.SyncSettings _DONTTOUCHME; public class Settings { diff --git a/output/dll/bizswan.dll b/output/dll/bizswan.dll index a696b5bbd2989485f3e099a76d05f072f65003bb..7c6b69620b8f8156e709618f87951d805e49e028 100644 GIT binary patch delta 41486 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 cyQESyncState(&loader); } - EXPORT void bizswan_saveramclearhacky(System *s, const SyncSettings *settings) - { - s->SaveRamClearHacky(*settings); - } - EXPORT void bizswan_setmemorycallbacks(System *s, void (*rcb)(uint32), void (*ecb)(uint32), void (*wcb)(uint32)) { s->cpu.ReadHook = rcb; diff --git a/wonderswan/system.h b/wonderswan/system.h index beeffe27ff..51dff3972e 100644 --- a/wonderswan/system.h +++ b/wonderswan/system.h @@ -45,8 +45,6 @@ public: bool GetMemoryArea(int index, const char *&name, int &size, uint8 *&data); - void SaveRamClearHacky(const SyncSettings &s); - public: GFX gfx; Memory memory;