So, the disassembly is done, but that does not mean the work has stopped! There is much analysis and code documentation that can be done, not to mention the SRAM, RAM and ROM maps. I am (slowly) beginning to go through it all, putting any substantial findings in this wiki.
I will update this thread as I make new wiki entries. Let's start off big with this guy. This is a bug that was discovered very recently in the Yoshi's Island speedrunning community, and I looked into why. These are my findings so far, enjoy.
Added more findings to this.
I figured some big stuff out about the foreground MAP16 objects, how they're stored in memory, how they move around as you move around, etc. Will be writing a technical article describing all of it if/when I get time.
I began it. But there's a lot more to say. So many technical details
Haven't touched YI hacking in a while, but that looks like a pretty cool find. Would it be possible to create new Map16 tiles?
Yes, once I figure a little bit more out. Although, as with anything like this, it's a lot more difficult to add entirely new ones because there are so many tables that correspond to each one and that would mess up every single address so a lot would have to be changed for even just one newly added one....that said, it's not that difficult to simply modify one that maybe is unused/junk or just one you don't like/need.
Added more and spruced up the article a bit with examples and such. I think over the Christmas holiday since I have a week off, I might hammer out a bunch more stuff. Getting the full picture of MAP16 documented is quite an effort and will serve very useful purposes when I finally get around to making a level editor.
What I've still yet to document is how the new columns and rows spawn in as you scroll, and also the humongous process of how they get built from level load (as mentioned in the article, that is 2 entire banks worth of code....cause it's custom per object). That will be a separate article discussing level load.