You Can't Buy the way u get dive is u go to mossdeep city and there is a girl there in a house u talk to her and she will give u dive
You can buy these in Ruby, Sapphire and Emerald at Mossdeep city's pokemart.
You cannot buy Dive Balls in Pokémon Platinum however you can get Dive Balls from the Newspaper Person in Solaceon Town who asks to see a specific Pokémon every day.
You can't buy them
you cant
Pokeballs, greatballs, ultraballs, masterballs, timerballs, repeatballs, nestballs, netballs, luxuryballs, and you can also have from ruby/sapphire/emerald premier balls and dive balls but the dive balls will not work in firered and leafgreen because you can't go underwater.
You can buy them at the indigo plateau or at Sootopolis city.
Rustboro city
You can get Dive Balls from the News Press guy in Solaceon Town for showing him a specific pokemon each day but they are rare. The easiest way is to transfer a pokemon from Ruby, Sapphire, or Emerald that is holding a Dive Ball via Pal Park.
Pokeballs, great balls and ultra balls can be purchased at pokemarts, you can only receive one masterball from the president of silph co, you can buy timer balls and repeat balls after delivering the ruby and sapphire to celio at two island, dive balls must be traded to you from ruby, sapphire, nest balls and net balls can be received from trainers that want to see a heracross and magikarp one is on six island and the other is the fisherman who gives you the super rod, premier balls are obtained in ruby and sapphire after buying 10 pokeballs trade one to leafgreen, luxury balls can be obtained from a girl named selphy on five island.
You can get Dusk Ball and Quick Balls at Fallarbor Town.
You can buy Game boy Advanced cheat games. You can then Click on the 999 Master balls cheat.
I am pretty sure it is Rustboro City in the PokeMart.