From 6fbe0b2a9ab8447d5161b7490f6737588e665c49 Mon Sep 17 00:00:00 2001 From: Ilari Liusvaara Date: Wed, 5 Jul 2023 23:47:43 +0300 Subject: [PATCH] Actually call on_reset callback The on_reset callback is supposed to be called when core is reset. However, this was not done. Try to fix the issue. --- include/interface/callbacks.hpp | 4 ++++ src/core/mainloop.cpp | 5 +++++ src/emulation/bsnes-legacy/core.cpp | 2 ++ src/emulation/gambatte/core.cpp | 1 + 4 files changed, 12 insertions(+) diff --git a/include/interface/callbacks.hpp b/include/interface/callbacks.hpp index 7150cd06..2986fa91 100644 --- a/include/interface/callbacks.hpp +++ b/include/interface/callbacks.hpp @@ -71,6 +71,10 @@ public: * Notify trace event. */ virtual void memory_trace(uint64_t proc, const char* str, bool insn) = 0; +/** + * Notify reset done. + */ + virtual void reset_done() = 0; }; extern struct emucore_callbacks* ecore_callbacks; diff --git a/src/core/mainloop.cpp b/src/core/mainloop.cpp index b8592de4..88b668e7 100644 --- a/src/core/mainloop.cpp +++ b/src/core/mainloop.cpp @@ -317,6 +317,11 @@ public: { CORE().dbg->do_callback_trace(proc, str, insn); } + + void reset_done() + { + CORE().lua2->callback_do_reset(); + } }; namespace diff --git a/src/emulation/bsnes-legacy/core.cpp b/src/emulation/bsnes-legacy/core.cpp index 352ec4fa..f37960b3 100644 --- a/src/emulation/bsnes-legacy/core.cpp +++ b/src/emulation/bsnes-legacy/core.cpp @@ -1311,6 +1311,7 @@ again: SNES::system.power(); else SNES::system.reset(); + ecore_callbacks->reset_done(); return; } if(hreset) @@ -1334,6 +1335,7 @@ again: SNES::system.reset(); messages << "SNES reset" << std::endl; } + ecore_callbacks->reset_done(); } do_reset_flag = -1; diff --git a/src/emulation/gambatte/core.cpp b/src/emulation/gambatte/core.cpp index 71d3f39f..19bee64f 100644 --- a/src/emulation/gambatte/core.cpp +++ b/src/emulation/gambatte/core.cpp @@ -647,6 +647,7 @@ namespace if(reset) { instance->reset(); messages << "GB(C) reset" << std::endl; + ecore_callbacks->reset_done(); } do_reset_flag = false; -- 2.11.4.GIT