Re: "Void Knowledge Archive, by the members of HallofOrigin"
Posted by: vowel
Date: 2015-10-02 14:38:46
It's just a little hard to look at is all, unless there's a way to get a horizontal scrollbar? (Assuming the new line of void prints on a new line? Yeah I guess it does.)There's no way to make the window bigger, AFAICS. My intention was for someone to copy this into notepad/excel and then examine it from there.
Your script only increments to 65k, since that's a full 2 byte number so I don't see how it could reach 70k. I haven't run it extensively though, and in theory (so if it does wrap after 2 bytes) that'd show up near the end of your script since 70k North would be around 60k South, and you do horizontal first.That's my point, at 65536 it should just have rolled around so 70k==4.5k. But there's a different map at 4.5k than at 70k, so something else must be going on.
I don't really get how both a 2 byte and 4 byte number can be mapped to the same thing which sounds like an issue (unless you've just got the small end of it?)The DS is little-endian, so a number '1234' would be stored in memory as '34 12'. So this is very much possible :)
Maybe if you just change both it'll work.
I guess we'll have to see. Note that a BSOD is basically the result of interpreting data RAM as (invalid) instructions, so if I knew anything about debugging, this might eventually become a vector for ACE…As a footnote I might add that going too far in either direction will lead to all areas acting like BSoD
This is something to keep in mind. 4 bytes gives us 4,294,967,295 possible values for each coordinate which is way too many. That takes too long to measure, too long to travel to manually and the game isn't stable enough it sounds like, so the search should probably be restricted… though hey if your method of virtually traveling doesn't suffer from instability maybe it'd be interesting to measure anyway? It'll take forever though.
EDIT: well, this is concerning. The below does NOT reach Stickyman's HoO D: D: D:
-- PoC: reach SFHoO
-- to be run when saved+reset @430N
-- 70kN,2912E
function SFHoO()
oldy=memory.readword(mapdata_ptr+0x24AF8)
for incr=0,70000,32
do
writefakey(oldy-incr)
emu.frameadvance()
end
writefakex(memory.readword(mapdata_ptr+0x24AF0)+2192)
end
SFHoO()
I'm doing something right, because I do get different maps than the standard Floaromas and Veilstones above Jubilife (e.g. I get Victory Road now), but no fake HoOs… :'(