将 MAME 作弊转换为 Lua 脚本

Convert MAME cheat to Lua script

我正在尝试将 MAME 作弊转换为 Lua 脚本:

<mamecheat version="1">
  <cheat desc="Cheat description">
    <script state="run">
      <action>audiocpu.pw@F018=0000</action>
    </script>
  </cheat>
</mamecheat>

当我在HUD上显示@F018的内容时,它成功显示了当前音乐的id :

audiocpu = manager:machine().devices[":audiocpu"];
mem = audiocpu.spaces["program"];
print(mem:read_i8(0xF018));

但是当我向内存写入0时,hud内容显示为0,但是音乐没有停止...

mem:write_i8(0xF018, 0x0000);

我还需要做其他事情吗?

我正在读写 8 位,但数据是 16 位。 所以,这是正确的语法:

print(mem:read_i16(0xF018));

mem:write_i16(0xF018, 0x0000);