n64: yet another dynarec check, this time for lua
This commit is contained in:
parent
72d4ec5ad2
commit
91a29a8692
|
@ -6,6 +6,8 @@ using LuaInterface;
|
||||||
using BizHawk.Emulation.Common;
|
using BizHawk.Emulation.Common;
|
||||||
using BizHawk.Emulation.Common.IEmulatorExtensions;
|
using BizHawk.Emulation.Common.IEmulatorExtensions;
|
||||||
|
|
||||||
|
using BizHawk.Emulation.Cores.Nintendo.N64;
|
||||||
|
|
||||||
namespace BizHawk.Client.Common
|
namespace BizHawk.Client.Common
|
||||||
{
|
{
|
||||||
[Description("A library for registering lua functions to emulator events.\n All events support multiple registered methods.\nAll registered event methods can be named and return a Guid when registered")]
|
[Description("A library for registering lua functions to emulator events.\n All events support multiple registered methods.\nAll registered event methods can be named and return a Guid when registered")]
|
||||||
|
@ -131,6 +133,19 @@ namespace BizHawk.Client.Common
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private bool N64CoreTypeDynarec()
|
||||||
|
{
|
||||||
|
if (Emulator is N64)
|
||||||
|
{
|
||||||
|
if ((Emulator as N64).GetSyncSettings().Core == N64SyncSettings.CoreType.Dynarec)
|
||||||
|
{
|
||||||
|
Log("N64 Error: Memory callbacks are not implemented for Dynamic Recompiler core type\nUse Interpreter or Pure Interpreter\n");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
private void LogMemoryCallbacksNotImplemented()
|
private void LogMemoryCallbacksNotImplemented()
|
||||||
{
|
{
|
||||||
Log(string.Format("{0} does not implement memory callbacks", Emulator.Attributes().CoreName));
|
Log(string.Format("{0} does not implement memory callbacks", Emulator.Attributes().CoreName));
|
||||||
|
@ -221,6 +236,9 @@ namespace BizHawk.Client.Common
|
||||||
if (DebuggableCore != null && DebuggableCore.MemoryCallbacksAvailable() &&
|
if (DebuggableCore != null && DebuggableCore.MemoryCallbacksAvailable() &&
|
||||||
DebuggableCore.MemoryCallbacks.ExecuteCallbacksAvailable)
|
DebuggableCore.MemoryCallbacks.ExecuteCallbacksAvailable)
|
||||||
{
|
{
|
||||||
|
if (N64CoreTypeDynarec())
|
||||||
|
return Guid.Empty.ToString();
|
||||||
|
|
||||||
var nlf = new NamedLuaFunction(luaf, "OnMemoryExecute", LogOutputCallback, CurrentThread, name);
|
var nlf = new NamedLuaFunction(luaf, "OnMemoryExecute", LogOutputCallback, CurrentThread, name);
|
||||||
_luaFunctions.Add(nlf);
|
_luaFunctions.Add(nlf);
|
||||||
|
|
||||||
|
@ -249,6 +267,9 @@ namespace BizHawk.Client.Common
|
||||||
{
|
{
|
||||||
if (DebuggableCore != null && DebuggableCore.MemoryCallbacksAvailable())
|
if (DebuggableCore != null && DebuggableCore.MemoryCallbacksAvailable())
|
||||||
{
|
{
|
||||||
|
if (N64CoreTypeDynarec())
|
||||||
|
return Guid.Empty.ToString();
|
||||||
|
|
||||||
var nlf = new NamedLuaFunction(luaf, "OnMemoryRead", LogOutputCallback, CurrentThread, name);
|
var nlf = new NamedLuaFunction(luaf, "OnMemoryRead", LogOutputCallback, CurrentThread, name);
|
||||||
_luaFunctions.Add(nlf);
|
_luaFunctions.Add(nlf);
|
||||||
|
|
||||||
|
@ -277,6 +298,9 @@ namespace BizHawk.Client.Common
|
||||||
{
|
{
|
||||||
if (DebuggableCore != null && DebuggableCore.MemoryCallbacksAvailable())
|
if (DebuggableCore != null && DebuggableCore.MemoryCallbacksAvailable())
|
||||||
{
|
{
|
||||||
|
if (N64CoreTypeDynarec())
|
||||||
|
return Guid.Empty.ToString();
|
||||||
|
|
||||||
var nlf = new NamedLuaFunction(luaf, "OnMemoryWrite", LogOutputCallback, CurrentThread, name);
|
var nlf = new NamedLuaFunction(luaf, "OnMemoryWrite", LogOutputCallback, CurrentThread, name);
|
||||||
_luaFunctions.Add(nlf);
|
_luaFunctions.Add(nlf);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue