Universal Pokemon Game Randomizer
Works for Gen 1-5 games. Gives you the ability to randomize starter Pokemon, wild Pokemon, trainer Pokemon, Pokemon base stats and moves, Pokemon abilities and type, and also items. Also provides some tweaks (such as removing the need to trade a Pokemon to evolve) to make the game experience more enjoyable. Completely customizable on what's randomized, and also gives codes so others can recreated the same randomization for races. Note: Requires Java. Does not provide ROMs.