add repeated line notation to mem dump

This commit is contained in:
Redo 2022-11-01 10:59:41 -06:00
parent 46e5b83cef
commit 83d668fa5c

View File

@ -443,8 +443,16 @@ local function printMemory(mem)
print("Memory Dump:")
local anynonempty = false
local lastbase = -16
local lastline = ""
local numreps = 0
local function closereps(base)
if numreps~=0 then
print("(repeated "..numreps.." more times, up to "..string.format("%04X", base+16)..")")
numreps = 0
end
end
for base = 0, 0xFFF0, 16 do
local line = { string.format("%04X", base), " |" }
local line = {}
local nonempty = false
for addr = base, base+15 do
if addr%4==0 then table.insert(line, " ") end
@ -459,12 +467,20 @@ local function printMemory(mem)
end
end
if nonempty then
if base ~= lastbase+16 then print("...") end
print(table.concat(line))
local l = table.concat(line)
if l~=lastline or base~=lastbase+16 then
closereps(base)
if base ~= lastbase+16 then print("...") end
print(string.format("%04X", base).." |"..l)
else
numreps = numreps+1
end
lastline = l
lastbase = base
anynonempty = true
end
end
closereps(lastbase)
if not anynonempty then print("Empty") end
print()
end