I've been doing a little research on Megaman X lately. I think it would be a good idea to share it with everyone in this thread.
I'm hosting some of the stuff that I've documented. I'll be sticking my stuff here (hosting is expensive so that site might not be up for long):http://insom.15-bit.com/stuff/
I'll also be sure to add things to the datacrystal wiki entry for the game as I go as well:http://www.datacrystal.org/wiki/Megaman_X
I'm hosting a few more docs that I haven't added to datacrystal yet (if someone wants to do that, I'd be grateful). Those mostly describe things in RAM at the moment, but I'll be putting code/ROM related stuff up too. The format that I use for my docs was inspired by Kejardon to a great extent.
Megaman X's code is quite different from the other SNES games I've examined. They constantly change the direct page register and have M and X set most of the time. It seems that Capcom's programmers aimed for code density over most other things, since they avoided using absolute addressing modes a lot of the time by doing much of the memory access with direct page.
Capcom reused a lot of code for the three Megaman X games on the SNES, and though the routines that write X's graphics to VRAM are almost the same throughout, they are stored to and execute from bank $7E in the second two games, perhaps having something to do with the Cx4 chip. (I've read that the chip was used extensively for those games' graphics.)
Xeeynamo: I'd love to contribute something to this editor. If there's any aspect of the game that you would like to have me look into, tell me and hopefully I can get around to doing it.