Joined: 01 Oct 2008
|Posted: Wed Aug 02, 2017 9:41 pm Post subject: asyncAob aobscan* in async executing memory record
|Only for ce 6.7+
it seems timer created within an async executing memory record will not ever fire.
This is a custom AA command to turn aobscan* command
(aobscan/aobscanModule/aobscanRegion) run in async
execution for a memory record , will error when run in
autoAssemble since it need the memory record ID to properly
asyncAob( MRID, timeout, tryinterval, <=aobscan* command=>)
It will try run the aobscan* command in period of tryinterval (sec) until the aob is found or timeout (sec) reach.
The MRID should be provided in a lua block befoe the command like:
asyncAob(MRID, 10, 2, aobscan(symbol+0c,ff 22 33 44 55 01 02 03) )
the Lua variable memrec is only appear in a Lua block of a memory record,
which is the memory record itself.
check test script below.
Just before the actual scan, the associated symbol in aobscan command will be unregistered.
When the aob found, the associated symbol will be automatic registered.
extra: allow symbol offset
aobscan( symbol +0c, 11 22 33 ...)
if the aob pattern start at 0x10000, then the symbol is registered as 0x1000c, handy to adjust hack point.
Attached is a *.CT disguised as *.Lua. remove .lua extension for test.
The custom command asyncAob is defined in Lua engine.
Read the testing memory record script for more detail.