Add asynchronous machine over and out to shared MCP

This commit is contained in:
Александр Петров
2026-09-17 23:32:46 +03:00
parent 259c782190
commit a8d0692eb2
15 changed files with 241 additions and 19 deletions
+5 -2
View File
@@ -168,8 +168,11 @@ function exports.startplugin()
pending={kind="step",time=now()}
cpu().debug:step(count)
elseif command=="step_over" then
local count=number(args.count or 1,64)
assert(count>=1,"over count должен быть 1..64")
pending={kind="step_over",time=now()}
machine().debugger:command("over 1")
-- В консоли MAME числа без префикса шестнадцатеричные.
machine().debugger:command("over #"..count)
elseif command=="step_out" then
pending={kind="step_out",time=now()}
machine().debugger:command("out")
@@ -210,7 +213,7 @@ function exports.startplugin()
"Дизассемблирование за пределами logical Z80")
local path=directory.."/_disasm.txt"
os.remove(path) -- Не возвращать файл от прежней команды при ошибке MAME.
machine().debugger:command(string.format("dasm %s,0x%X,%d",path,address,length))
machine().debugger:command(string.format("dasm %s,0x%X,#%d",path,address,length))
local size=lfs.attributes(path,"size")
assert(size and size>0 and size<=65536,"MAME не создал ограниченный disasm-файл")
local file=assert(io.open(path,"rb"))