remake assembler with customasm, misc, need to clean up
This commit is contained in:
@@ -241,7 +241,7 @@ local function pdLinesFromDasm(dasm)
|
||||
end
|
||||
return lines, addrLines, lineAddrs
|
||||
end
|
||||
local function InitProgramDisplay(pd, data, code, arch)
|
||||
local function InitProgramDisplay(pd, arch, data, code, symbols)
|
||||
pd.width = 256
|
||||
pd.height = 12+pd.fontHeight*pd.numLines-3
|
||||
lg.print("Program", pd.scrX, pd.scrY-16)
|
||||
@@ -249,7 +249,7 @@ local function InitProgramDisplay(pd, data, code, arch)
|
||||
pd.firstLine = 1
|
||||
pd.data = data
|
||||
pd.code = code
|
||||
local dasm = asm.disassembleMemory(data, code, arch)
|
||||
local dasm = asm.disassembleMemory(arch, data, code, symbols)
|
||||
pd.lines, pd.addrLines, pd.lineAddrs = pdLinesFromDasm(dasm)
|
||||
pd.midLine = math.floor(pd.numLines/2)
|
||||
end
|
||||
@@ -490,13 +490,13 @@ WriteMemory = function(mem, addr, val)
|
||||
end
|
||||
end
|
||||
local function AssembleToMemory(mem, fn, arch)
|
||||
local data, code = asm.assembleFile(fn, arch)
|
||||
local data, code, symbols = asm.assembleFile(fn)
|
||||
for addr = 0, 65535 do
|
||||
if data[addr] then
|
||||
mem.c.data[addr] = data[addr]
|
||||
end
|
||||
end
|
||||
return data, code
|
||||
return data, code, symbols
|
||||
end
|
||||
|
||||
ffi.cdef [[
|
||||
@@ -631,8 +631,8 @@ function love.load()
|
||||
InitCharDisplay(CharDisplay)
|
||||
InitRegDisplay(RegDisplay)
|
||||
InitStackDisplay(StackDisplay)
|
||||
local data, code = AssembleToMemory(Memory, arg[2] or "../../8608programs/emutest.asm", Arch)
|
||||
InitProgramDisplay(ProgramDisplay, data, code, Arch)
|
||||
local data, code, symbols = AssembleToMemory(Memory, arg[2] or "../../8608programs/emutest.asm", Arch)
|
||||
InitProgramDisplay(ProgramDisplay, Arch, data, code, symbols)
|
||||
for _, md in ipairs(MemoryDisplays) do InitMemoryDisplay(md) end
|
||||
RedrawWindow()
|
||||
lg.setCanvas()
|
||||
|
||||
Reference in New Issue
Block a user