我正在尝试将MAME作弊格式转换为Lua脚本:
<mamecheat version="1">
<cheat desc="No bg music">
<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时,平视显示的内容显示为0,但是音乐不会停止...
mem:write_i8(0xF018, 0x0000);
我还需要做其他事情吗?
答案 0 :(得分:1)
我正在读写8位,但是数据只有16位。 因此,这是正确的语法:
print(mem:read_i16(0xF018));
和
mem:write_i16(0xF018, 0x0000);