Kipróbáltam mindkét x86-64-es verziót, látszólag semmi különbség. Ebbe bele van fordítva a lua interpreter is? Még sosem használtam lua-t, fogalmam sincs hogyan lehet kipróbálni.
A két x86_64 változat között csak a Lua verzió a különbség, az egyik a Lua 5.3.3-at használja, a másik pedig a LuaJIT 2.1.0 beta2-t. Az utóbbi gyorsabb, mivel interpreter helyett JIT fordító, de a nyelv régebbi verziójára épül, így nem támogatja például az &, |, ~, << és >> műveleteket.
Valami egyszerű teszt-szkript nincs kéznél?
A README-ben a 640. sortól található leírás a Lua használatáról, és egy egyszerű példa is. A Lua nyelv dokumentációja
itt olvasható (5.3 verzió), a LuaJIT által támogatott régebbi 5.1 pedig
itt. A debugger Lua programozása hasonló az ep128emu-hoz, a lényege röviden, hogy
Run-ra lefut a script, és utána minden esetben amikor a debugger ablak megjelenne (az Alt+M-es kézi megnyitás kivételével), az emulátor meghívja a
breakPointCallback függvényt, ennek a visszatérési értéke (true vagy false) dönti el, hogy az ablak ténylegesen megjelenik-e. A
Stop gomb leállítja a breakPointCallback további hívását. A Lua programból elérhető a debugger funkcióinak a többsége, így írható és olvasható a memória és a CPU regiszterei, töréspontok definiálhatók, a memória PRG formátumban menthető és tölthető, írni lehet a monitor ablakba, stb.
Ez például a 260. sor elején növeli a keret színét:
setDebugContext(0)
clearBreakPoints()
setBreakPoint(4, 260 * 128, 3)
function breakPointCallback(d, t, a, v)
if t == 4 then
writeMemory(0xFF19, readMemory(0xFF19) + 1)
return false
end
return true
end
Report: a debuggerben a stack dump nem görgethető,
Valóban, ez az ep128emu esetében is így van, csak a "Memory dump" és a disassembler görgethető. De ha hasznos lenne a veremnél (eredetileg csak a veremmutató körüli néhányszor 10 byte-os terület megjelenítése volt a célja), akkor ott is meg lehetne oldani.
illetve a meghajtó CPU-ja esetén mintha nem is jól működne...
Alapértelmezés szerint a meghajtók nem emuláltak, mivel sokat lassítanak az emulátoron (kb. 9/16 sebességre az 1541 nagy pontosságú módban, és 10/16-ra a pontos időzítést kikapcsolva). A debugger természetesen csak létező hardverről tud használható információt adni, ezért előbb a meghajtót engedélyezni kell D64 file megnyitásával.