Tip: If you make a change to your ROM that you regret, just go to File > Restore > Restore ROM to Previous State in the menu. From there, you can select a restore point and revert your ROM to a previous state.
This UberASM makes mario shoot a Yoshi Fireball if you hold a fire button (and optionally an additional button, by default R), emulating a charged fireball, just like in many platformer games like Megaman.
Check out the ChargedFire.asm file for customization options.
It also includes a minor patch (to be applied with asar!) and GFX to make Yoshi Fireballs and Flopping Cheep-Cheeps swap tilemaps, so you can have Yoshi Fireballs in every level, optional but recommended (especially if using this in gamemode 14!).