diff --git a/src/BizHawk.Client.EmuHawk/Api/Libraries/CommApi.cs b/src/BizHawk.Client.Common/Api/Classes/CommApi.cs
similarity index 92%
rename from src/BizHawk.Client.EmuHawk/Api/Libraries/CommApi.cs
rename to src/BizHawk.Client.Common/Api/Classes/CommApi.cs
index 22cc6d3caf..aa9031b216 100644
--- a/src/BizHawk.Client.EmuHawk/Api/Libraries/CommApi.cs
+++ b/src/BizHawk.Client.Common/Api/Classes/CommApi.cs
@@ -2,9 +2,7 @@
using System;
-using BizHawk.Client.Common;
-
-namespace BizHawk.Client.EmuHawk
+namespace BizHawk.Client.Common
{
public sealed class CommApi : ICommApi
{
diff --git a/src/BizHawk.Client.EmuHawk/Api/Libraries/SaveStateApi.cs b/src/BizHawk.Client.Common/Api/Classes/SaveStateApi.cs
similarity index 94%
rename from src/BizHawk.Client.EmuHawk/Api/Libraries/SaveStateApi.cs
rename to src/BizHawk.Client.Common/Api/Classes/SaveStateApi.cs
index 8e1c94855a..a34c1076e0 100644
--- a/src/BizHawk.Client.EmuHawk/Api/Libraries/SaveStateApi.cs
+++ b/src/BizHawk.Client.Common/Api/Classes/SaveStateApi.cs
@@ -1,10 +1,9 @@
using System;
using System.IO;
-using BizHawk.Client.Common;
using BizHawk.Common;
-namespace BizHawk.Client.EmuHawk
+namespace BizHawk.Client.Common
{
public sealed class SaveStateApi : ISaveStateApi
{
diff --git a/src/BizHawk.Client.Common/IEmuHawkMainFormToApi.cs b/src/BizHawk.Client.Common/IEmuHawkMainFormToApi.cs
new file mode 100644
index 0000000000..bda8c412ac
--- /dev/null
+++ b/src/BizHawk.Client.Common/IEmuHawkMainFormToApi.cs
@@ -0,0 +1,109 @@
+using System.Drawing;
+
+using BizHawk.Emulation.Common;
+
+namespace BizHawk.Client.Common
+{
+ public interface IMainFormForApi
+ {
+ /// only referenced from ClientLuaLibrary
+ CheatCollection CheatList { get; }
+
+ /// only referenced from EmuClientApi
+ Point DesktopLocation { get; }
+
+ /// only referenced from ClientLuaLibrary
+ IEmulator Emulator { get; }
+
+ bool EmulatorPaused { get; }
+
+ /// only referenced from EmuClientApi
+ bool InvisibleEmulation { set; }
+
+ /// only referenced from EmuClientApi
+ bool IsSeeking { get; }
+
+ /// only referenced from EmuClientApi
+ bool IsTurboing { get; }
+
+ /// only referenced from InputApi
+ long MouseWheelTracker { get; }
+
+ /// only referenced from
+ (HttpCommunication HTTP, MemoryMappedFiles MMF, SocketServer Sockets) NetworkingHelpers { get; }
+
+ /// only referenced from EmuClientApi
+ bool PauseAvi { set; }
+
+ void AddOnScreenMessage(string message);
+
+ /// only referenced from EmuClientApi
+ void ClearHolds();
+
+ /// only referenced from EmuClientApi
+ void ClickSpeedItem(int num);
+
+ /// only referenced from EmuClientApi
+ void CloseEmulator(int? exitCode = null);
+
+ /// only referenced from EmuClientApi
+ void CloseRom(bool clearSram = false);
+
+ /// only referenced from EmuClientApi
+ void EnableRewind(bool enabled);
+
+ /// only referenced from EmuClientApi
+ bool FlushSaveRAM(bool autosave = false);
+
+ /// only referenced from EmuClientApi
+ void FrameAdvance();
+
+ void FrameBufferResized();
+
+ void FrameSkipMessage();
+
+ /// only referenced from
+ void LoadQuickSave(string quickSlotName, bool suppressOSD = false);
+
+ /// only referenced from EmuClientApi
+ bool LoadRom(string path, LoadRomArgs args);
+
+ void LoadState(string combine, string name, bool suppressOSD = false);
+
+ /// only referenced from EmuClientApi
+ void PauseEmulator();
+
+ /// only referenced from EmuClientApi
+ void RebootCore();
+
+ /// only referenced from EmuClientApi
+ void Render();
+
+ /// only referenced from
+ void SaveQuickSave(string quickSlotName, bool fromLua = false, bool suppressOSD = false);
+
+ void SaveState(string path, string userFriendlyStateName, bool fromLua = false, bool suppressOSD = false);
+
+ void SeekFrameAdvance();
+
+ /// only referenced from EmuClientApi
+ void StepRunLoop_Throttle();
+
+ /// only referenced from EmuClientApi
+ void TakeScreenshot();
+
+ /// only referenced from EmuClientApi
+ void TakeScreenshot(string path);
+
+ /// only referenced from EmuClientApi
+ void TakeScreenshotToClipboard();
+
+ /// only referenced from EmuClientApi
+ void TogglePause();
+
+ /// only referenced from EmuClientApi
+ void ToggleSound();
+
+ void UnpauseEmulator();
+ }
+}
diff --git a/src/BizHawk.Client.EmuHawk/LoadRomArgs.cs b/src/BizHawk.Client.Common/LoadRomArgs.cs
similarity index 67%
rename from src/BizHawk.Client.EmuHawk/LoadRomArgs.cs
rename to src/BizHawk.Client.Common/LoadRomArgs.cs
index 88dcb968d3..72794622d7 100644
--- a/src/BizHawk.Client.EmuHawk/LoadRomArgs.cs
+++ b/src/BizHawk.Client.Common/LoadRomArgs.cs
@@ -1,6 +1,4 @@
-using BizHawk.Client.Common;
-
-namespace BizHawk.Client.EmuHawk
+namespace BizHawk.Client.Common
{
public class LoadRomArgs
{
diff --git a/src/BizHawk.Client.EmuHawk/IEmuHawkMainFormToApi.cs b/src/BizHawk.Client.EmuHawk/IEmuHawkMainFormToApi.cs
deleted file mode 100644
index 3ae0079558..0000000000
--- a/src/BizHawk.Client.EmuHawk/IEmuHawkMainFormToApi.cs
+++ /dev/null
@@ -1,110 +0,0 @@
-using System.Drawing;
-
-using BizHawk.Client.Common;
-using BizHawk.Emulation.Common;
-
-namespace BizHawk.Client.EmuHawk
-{
- public interface IMainFormForApi
- {
- /// only referenced from
- CheatCollection CheatList { get; }
-
- /// only referenced from
- Point DesktopLocation { get; }
-
- /// only referenced from
- IEmulator Emulator { get; }
-
- bool EmulatorPaused { get; }
-
- /// only referenced from
- bool InvisibleEmulation { set; }
-
- /// only referenced from
- bool IsSeeking { get; }
-
- /// only referenced from
- bool IsTurboing { get; }
-
- /// only referenced from
- long MouseWheelTracker { get; }
-
- /// only referenced from
- (HttpCommunication HTTP, MemoryMappedFiles MMF, SocketServer Sockets) NetworkingHelpers { get; }
-
- /// only referenced from
- bool PauseAvi { set; }
-
- void AddOnScreenMessage(string message);
-
- /// only referenced from
- void ClearHolds();
-
- /// only referenced from
- void ClickSpeedItem(int num);
-
- /// only referenced from
- void CloseEmulator(int? exitCode = null);
-
- /// only referenced from
- void CloseRom(bool clearSram = false);
-
- /// only referenced from
- void EnableRewind(bool enabled);
-
- /// only referenced from
- bool FlushSaveRAM(bool autosave = false);
-
- /// only referenced from
- void FrameAdvance();
-
- void FrameBufferResized();
-
- void FrameSkipMessage();
-
- /// only referenced from
- void LoadQuickSave(string quickSlotName, bool suppressOSD = false);
-
- /// only referenced from
- bool LoadRom(string path, LoadRomArgs args);
-
- void LoadState(string combine, string name, bool suppressOSD = false);
-
- /// only referenced from
- void PauseEmulator();
-
- /// only referenced from
- void RebootCore();
-
- /// only referenced from
- void Render();
-
- /// only referenced from
- void SaveQuickSave(string quickSlotName, bool fromLua = false, bool suppressOSD = false);
-
- void SaveState(string path, string userFriendlyStateName, bool fromLua = false, bool suppressOSD = false);
-
- void SeekFrameAdvance();
-
- /// only referenced from
- void StepRunLoop_Throttle();
-
- /// only referenced from
- void TakeScreenshot();
-
- /// only referenced from
- void TakeScreenshot(string path);
-
- /// only referenced from
- void TakeScreenshotToClipboard();
-
- /// only referenced from
- void TogglePause();
-
- /// only referenced from
- void ToggleSound();
-
- void UnpauseEmulator();
- }
-}