When I use my sword against a tree (that can be made to lumber with an axe) and then go into the hut, it would execute addresses $C900 or so ~ $CFFF. Don't know if this is useful, just saying.
(Edit: Using costume, then entering hut can sometimes make the whole screen black and execute from $BC10)
What would be the best code to reach the ending?
-----
Edit:
I've been working on this script (Masterjun helped me).
Language: lua
local function hex(num,dig)
if not dig then dig = 4 end
return string.format("%0"..dig.."X",num)
end
local addr = {}
t = ""
memory.registerexec(0xA000,0x2149,function()
table.insert(addr,memory.getregister("pc"))
end)
memory.registerexec(0xc14a,function()
table.insert(addr,memory.getregister("pc"))
t = t .. "(buttonpress)\n"
end)
memory.registerexec(0xc14b,0x05b4,function()
table.insert(addr,memory.getregister("pc"))
end)
memory.registerexec(0xc700,0x000b,function()
table.insert(addr,memory.getregister("pc"))
t = t .. "(inventory)\n"
end)
memory.registerexec(0xc70c,0x0440,function()
table.insert(addr,memory.getregister("pc"))
end)
memory.registerexec(0xcb4d,function()
table.insert(addr,memory.getregister("pc"))
t = t .. "(name)\n"
end)
memory.registerexec(0xcb4e,0x04b1,function()
table.insert(addr,memory.getregister("pc"))
end)
while true do
if #addr>0 then
local group = {}
for key,value in pairs(addr) do
if #group==0 then table.insert(group,{value,value})
elseif math.abs(group[#group][2]-value)>3 then
table.insert(group,{value,value})
else
group[#group][2]=value
end
end
group[#group][2]=addr[#addr]
print("== frame " .. emu.framecount() .. " ==")
for key,value in pairs(group) do
print(hex(value[1]).."~"..hex(value[2]).." executed!")
end
print(t)
if t ~= "" then print("") end
t=""
end
addr = {}
emu.frameadvance()
end
Using a match, then entering the hut (US ROM with VBA):
I just need to find out what code reaches the ending. I've already tried a bunch of
C3 xx xx
C4 xx xx
and it keeps hanging....