the BEST roms are given at romulation.net but unfortunately it is no longer available some ppl might still give it out but they won't be as good so my advice is (thats what i am doing) get NO$ GBA 2.6a (REALLY GOOD NDS 3D EMULATOR) and try this english version:
if you want both and the emulator all in one package you will have to use torrent here is the link :
http://thepiratebay.org/torrent/5429841/Pokemon_Heart_gold___Pokemon_Soul_Silver_roms___No_gba-w_2.6a
here is another torrent for heart gold :
http://www.picktorrent.com/download/cf/3937852/--pokemon-heart-gold-(eng).nds/
soul sliver english torrent:
http://www.picktorrent.com/download/f6/4307112/pokemon-soul-silver-(u)-(100--english)/
this is a heart gold nds file that is a fixed patch(no guarentee)
http://www.filestube.com/8Da3FpFOI3CD61W33h7siF/Pokemon-Heart-Gold-HG-NDS-ROM-English-and-fixed.html
this is from a rom hosting site :
http://www.rom-freaks.net/download-5605111-file-4787_-_Pokemon:_HeartGold_(USA)-nds.html
if you want soul silver just type it in the search bars in those given sites NOW.......:
i am pretty sure that they will not be 100% working but can be played till the end just use this action replay code :
020DD9E4 E1A00000
020D3820 E1A00000
OR
020DE16C E1A00000
020D3FA8 E1A00000
in the cheats from the utility section and (you dont have to type in anything) no black screen and dot the action replay section and double click it when you are done and just save it once every five-seven-ten minutes and you will be fine (i finished it twice) oh and unfortunately no emulator supports trade for heart gold and soul silver ....HOPE THIS HELPED :D