Patent ID: 7445551

Claim:
An emulator for execution on a first system including a first processor, first user controls and a first display, the emulator at least in part emulating the operation of a hand-held second system used to play video games, the second system comprising a second processor, second user controls, a second display, an object attribute memory (OAM) in a memory space from 07000000h to 070003FFh, color palette storage in a memory space from 05000000h to 050003FFh and video storage in a memory space from 06000000h to 06017FFFh, the emulator comprising: first instructions for execution by the first system to access a memory storing video game program instructions, wherein at least some of the video game program instructions stored in the memory are incompatible with the first system and wherein the video game program instructions are executable by the second system to: (a) store no more than 128 different 48-bit moving object definitions in the OAM of the second system at any one time; (b) store no more than 512 different 15-bit color values in the color palette storage of the second system at any one time; (c) write moving object data and background data to the video storage of the second system; and (d) generate a video game display on the second display based at least in part on inputs to the second user controls and on the contents of the OAM, the color palette storage, and the video storage, wherein the video game program instructions cause background data to be selectively written to the video storage as either character data or bitmap data so that backgrounds of the video game display are selectively rendered in a character mode or in a bitmap mode; second instructions for execution by the first system to transform at least some of the video game program instructions stored in the memory that are incompatible with the first system into transformed instructions that are compatible with the first system; and third instructions for execution by the first system to use the transformed video game program instructions in generating a video game display on the first display, wherein the memory stores at least one further instruction executable by the second processor for accessing a predetermined storage location of the second system, wherein bit position 3 of the storage location specifies whether vertical blanking interval interrupts are enabled; bit position 4 of the storage location specifies whether horizontal blanking interval interrupts are enabled; and bit position 5 of the storage location specifies whether vertical counter matching interrupts are enabled, wherein the emulator emulates the predetermined storage location and transforms the at least one further instruction to at least one instruction executable by the first processor to access the emulated predetermined storage location.