summaryrefslogtreecommitdiffstatshomepage
path: root/plugins
diff options
context:
space:
mode:
author cracyc <cracyc@users.noreply.github.com>2018-08-27 20:43:33 -0500
committer cracyc <cracyc@users.noreply.github.com>2018-08-27 20:43:33 -0500
commit9f12058484b71d21abceffa147aa89f72f19774b (patch)
tree673c76f61330ab93480e300a3d7bdd2c53e66d6a /plugins
parent6be0b400ae28c4d7022226cfcc76260b116927db (diff)
plugins/cheat[find]: fix memshares (nw)
Diffstat (limited to 'plugins')
-rw-r--r--plugins/cheat/init.lua14
-rw-r--r--plugins/cheatfind/init.lua3
2 files changed, 17 insertions, 0 deletions
diff --git a/plugins/cheat/init.lua b/plugins/cheat/init.lua
index 9495cfc689b..0f9f4a99e1e 100644
--- a/plugins/cheat/init.lua
+++ b/plugins/cheat/init.lua
@@ -37,6 +37,10 @@
-- "varname": "tag",
-- ...
-- },
+-- "share": {
+-- "varname": "tag",
+-- ...
+-- },
-- "script": {
-- "on|off|run|change": "script",
-- ...
@@ -481,6 +485,16 @@ function cheat.startplugin()
cheat.cheat_env[name] = emu.item(ram.items["0/m_pointer"])
end
end
+ if cheat.share then
+ for name, tag in pairs(cheat.share) do
+ local share = manager:machine():memory().shares[tag]
+ if not share then
+ cheat_error(cheat, "missing share " .. share)
+ return
+ end
+ cheat.cheat_env[name] = share
+ end
+ end
local param = cheat.parameter
if not param then
return
diff --git a/plugins/cheatfind/init.lua b/plugins/cheatfind/init.lua
index 2b7c1bb2db7..27290f6fe93 100644
--- a/plugins/cheatfind/init.lua
+++ b/plugins/cheatfind/init.lua
@@ -713,6 +713,9 @@ function cheatfind.startplugin()
if getmetatable(dev.space).__name:match("device_t") then
cheat.ram = { ram = dev.tag }
cheat.script.run = "ram:write(" .. match.addr .. "," .. match.newval .. ")"
+ elseif getmetatable(dev.space).__name:match("memory_share") then
+ cheat.share = { share = dev.tag }
+ cheat.script.run = "share:write_" .. wid .. "(" .. match.addr .. "," .. match.newval .. ")"
else
cheat.space = { cpu = { tag = dev.tag, type = dev.sname } }
cheat.script.run = "cpu:write_" .. wid .. "(" .. match.addr .. "," .. match.newval .. ")"