I was thinking right now about trying to mix things up. With FCEUX's hex editor, I managed to find out what a few parts of certain bytes do, and with the debugger, I could save that info within the code and it appears whetever that part is used. I think I can use this to find out what certain things do and use the assembler to generate my own coding into it. I used to hack Sonic 1 and it's Motorola 68000 coding (managed to make enemies generate shots and such), and I think I can learn the commands with some research maybe. I also found out that each byte on the debugger has a permanent function on certain parts of the code. Or I could still use hex and debugger for the changes and learn the commands just like I did with Motorola 68000
I think those are my best way to understand it.
edit: It turned out hex editing with FCEUX and debugger are giving me more results for now. I managed to edit some stuff and mess up others (in this case, I changed three enemies but MM does not climb laters and jump 3 blocks high. I have ideas of where to look to fix that). I think I will have to move to learning the codes when I decide to do something bigger. Thank you all for the help so far. I am still abit confusing at certain spots but I am slowly learning them.
I decided to balance the MM1 weapons by changing their basic concepts (like speed and angles), damage and if the shots will use one or two energy units. My thoughs so far were Rolling cutter doing more damage to big enemies and going faster but in a little shorter range (1 unit per use), decrease Thunder Beam's damage abit and make it slower (1 unit), make Fire Storm use two units but with a bigger shield, Decrease Hyper Bomb's countdown and make it go abit further (2 units), making Super Arm kills any enemy in one hit and add more blocks on the game and make ice slasher slower and with slight diagonal arc. Any different suggestions?