328 as avr isp programmer for another atmega?

if i use an atmega 328 board as avr isp programmer to burn bootloader and load sketch on another atmega does the one im burning to have to be a 328 or can i use any arduino compatable chip this way.
i need a momentary push button to work as a toggle switch and thats all the chip will be doing and will be powered off 5v usb. pushbutton will be connected to atmega and atmega to xbox controller button so that when its pressed it stays on till presed again and turns off. if im powering from 5v usb would i need any components between the usb and the chip or can i connect it directly? then i would just need a crystal, caps for it and resistor for reset pin correct?

thanks for help in advance

(deleted)

so can i only burn bootloader or will i be able burn a program or load a sketch thru first board also? or should i just buy ftdi breakout adapter?

(deleted)