The runs played by the robots are derived from the inputfiles, formatted for use with the respective console. In the case of NES and SNES for example, only the input frames the console asks for are sent to the console. Otherwise, it's what is recorded in the emulator.
The bot hardware differs. There are a number of NES/SNES robots, and few for other consoles. My current robots are on MIPS core MCUs and the firmware is written in C, and my next robot will have an ARM core and FPGA/CPLD. I sell my robots so others can replay runs if you don't want to develop your own. micro500's bots vary, being Arduino, Propeller (I think still C), FPGA-based, and so on. Others have made bots as well with varying degrees of complexity.
You can find some history here:
http://tasvideos.org/TASBot.html
I guess we need to know exactly what you are trying or wanting to do?