He only does in diamond, not pearl. Once you beat galactic boss Cyrus on spear pillar you will battle dialga with the music dialga and palkia battle at spear pillar!
You have to go east of eterna city.
In case you should have a master ball with you because its a legendary pokemon. to get to dialga go to mt coronet. then go all the way to the top of mt coronet. at the top you are in the spear pillar. head straight and you will see dialga. dialga will scream on you into battle. in battle dont kill dialga use your master you have and to capture dialga. Have fun.
Dialga is at the top of Mnt Coronet.(Go from Heartrome city side!)
Beat the final gym and you will get the TM Waterfall. When you have this, teach it to your Pokemon and go up Mount Coronet towards the Spear Pillar and there will be a cave with a waterfall in it go round to the waterfall and go into the small cave at the top. The there will be 2 item balls. Get both of them and go to the spear pillar. Dialga and Palkia should then appear.
To get dialga on Pokemon silver you need to have surf strength rock smash and dig. If you don't have palkia then you won't be able to get dialga. First go to spear pillar where you found palkia there will be mespirit. Then you're friend will appear and you will have to battle him for dialga. Once you beat him then go to the back and there should be a seceret entrance then dialga will be waiting for you.
70. beat the elite for, go back up mt. coronet and grab orbs, the palkia and dialga will appear, both 70s
go to top of mt. coronet capture dialga go to sunyshore man is gone
beat the elite four get the national dex and go into mt cornet. go into a cave and get the lustrous and adamant orbs and go to dialga and palkia at the top
to the top of mt.cornet where you caught dialga
You will need an azure flute though. Go to Mt. Cornet top where you see dialga and use the azure flute right at the entrence and stairs will appear. Go up them and walk forward and you will see arceus.
go to top of mt. coronet capture dialga go to sunyshore city and you can get in
Go to the top of Mount Coronet and it's called the Spheal Pillar, you battle Team Galactic and battle Dialga.