For ROMs, what you do right now is install emulators (snes9x, nesticle, whatever) and associate your ROM files (.smc, .nes) with the appropriate emulators through Windows Explorer. Once that is done, you should be able to browse your ROMs just like browsing for media files. They run embedded. As for controlling the game, you should configure the emulators for your gamepad(s) once ahead of time.
Now, about those gamepads.. I've written the basic code to read some gamepad button data. I own a wired XBox 360 gamepad (no console). So far, I have been programming with that. I know there are third-party programs to let you use a gamepad as a mouse. I'll add that in to DriveLine though. Sounds easy enough.