Just answering dougeff:
Well, code/data logger marks several addresses as data from ROM addresses 0x14000 forward. I wanted to break on read to some of these to analize how that data is handled, and I calculated that should be bank 5. But there's no way setting breakpoints to those addresses will work. I've even manually "step in" a bunch of times on the debugger until bank 5 was loaded (code is executed there when code/data logger is active, as the little "c" indicates next to each line, then I double click on a line to set a breakpoint which is a way to avoid mistakes, then I go back and play that part and it still doesn't break. I've even started from power on and played for several minutes and nothing. I've tried testing it on a fresh ROM (I figured my deb files may be corrupted) and still nothing. I'm thinking either fceux has a bug on this or I'm not understanding something (which is possible). I'll take a look at nintendulator.
hackfresh:
So, what can I do? That area in the ROM really is data. It's where all objects and enemies are stored. I want to better understand how the game interprets that data.
From my notes. This is all mostly data:
Code:
4020-40EF: overworld room ID map
40F0-7BFF: start of each screen mapping in 2x2 metatiles. Each screen is 15x16 (240) bytes long.
C020-C0EF: darkworld room ID map
C0F0-E0CF: darkworld metatile map
10020-100EF: hidden areas room ID map
100F0-13A1F: the hidden areas metatile map and possibly some beta version or quest 2 unused version of the overworld
13920-13A1F: an unused test room with gold and ladders
14000-1421F: object list mapping for overworld quest 1
1426B-147F6: object list for overworld quest 1. Each item takes 3 bytes. First byte is type, second is horizontal position and third is vertical position. Some items take 4 bytes, so the second is a parameter, and the last two are the position
14A9F-14C60: object list for darkworld
14E60-14FB8: object list for big warpzone
14FB9-15015: object list for medium warpzone
15016-15046: object list for small warpzone
So banks 2, 3 and 4 are for backgrounds / maps. And bank 5 is for objects. Roughly.