Patent ID: 7809547

Claim:
Apparatus for emulating hardware and operations of a first, target, computer system having legacy system and legacy application program software source code compiled to produce executable legacy binary code which includes legacy code instructions in a word size of a first length, the apparatus comprising: A) a host computer system having a word size of a second length which is larger than the word size of the first length, said host computer system including: 1) a host central processing unit; 2) a memory storing said legacy code instructions and streaming said legacy code instructions to said central processing unit; 3) peripheral equipment operatively coupled to said host central processing unit and to said memory, said peripheral equipment performing operations previously performed by the target system running the legacy application software; and, 4) a special purpose software emulator including: a) a first legacy software emulator running on said host central processing unit and emulating said legacy code instructions which, when processed, causes said peripheral equipment to perform operations previously performed by the target system running the legacy application software; and, b) a second software emulator running on said host central processing unit and emulating instructions with a word size of the second length; B) a compiler receiving the legacy application program software source code and generating an enhanced executable program file which is stored on the peripheral equipment for loading into the memory of the host computer system, the enhanced executable program file including instructions having the word size of the second length and optionally including instructions having the word size of the first length; and C) a switch mechanism, included within the special purpose software emulator, selectively based upon the word length directing processing of instructions at run time from the enhanced executable program file loaded in memory to either: 1) the first legacy software emulator running on said host central processing unit processing instructions having the word size of the first length; or 2) the second software emulator running on said host central processing unit processing instructions having the word size of the second length.