Have to agree with koitsu... If you want to understand the program, you're going to have to read it at some point. I know 65816 and SNES have a pretty steep learning curve off the start, largely because good resources on it are hard to find.
This might help, it's a full blown official manual on the 65816, but it's also massive. At the least you should be able to look up different opcodes and addressing modes and learn what exactly they do. I refer to
this page a lot as a quick reference for details of each instruction. Mostly, which forms of each instruction exist (you can STZ using X as an index but not Y, for example) and which flags they affect.
The other main thing you'll need to understand to read SNES code once you have the 65816 instruction set down is the hardware registers. I've always referred to a very old text file I found somewhere around here for that. I don't know where to find it anymore so I've attached it here. If you see code reading/writing to addresses in the $2000s or $4000s, it's likely it's one of these registers. (But you have to be aware what bank you're currently in, as these registers only exist in banks $00 through $3F.)
This page gives you the entire memory map for the SNES, but it is understandably confusing at first glance. LoROM is the most common format I think, but I don't know if Megaman is.
As for how collision detection is done,
this page might provide some basic insight on different approaches to it that some games have taken, including megaman. Might help give some idea how to find what you're looking for.
Hopefully that should help you get started. It's rough at first but once you begin to understand it's easy from there.