1 ) A method for emulating a first computer system on a second computer system, the method comprising: a) modifying first computer's source code by replacing a hardware driver source code routine in said first computer's source code with a substituted source code routine, said substituted source code routine being such that it calls a driver control program at runtime, b) compiling said modified first computer's source code for execution on said second computer system, and c) executing said compiled code on said second computer system along with said driver control program that controls the hardware drivers on said second computer system without involving the operating system on said second computer system.