WO2002006947A3 - System and method for emulating the operation of a video graphics adapter - Google Patents

System and method for emulating the operation of a video graphics adapter Download PDF

Info

Publication number
WO2002006947A3
WO2002006947A3 PCT/US2001/022277 US0122277W WO0206947A3 WO 2002006947 A3 WO2002006947 A3 WO 2002006947A3 US 0122277 W US0122277 W US 0122277W WO 0206947 A3 WO0206947 A3 WO 0206947A3
Authority
WO
WIPO (PCT)
Prior art keywords
customized
function
vga
customized function
emulating
Prior art date
Application number
PCT/US2001/022277
Other languages
French (fr)
Other versions
WO2002006947A2 (en
Inventor
Timothy Carroll
Aaron Giles
Original Assignee
Connectix Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Connectix Corp filed Critical Connectix Corp
Priority to EP01952759A priority Critical patent/EP1303807B8/en
Priority to DE60136461T priority patent/DE60136461D1/en
Priority to AU2001273480A priority patent/AU2001273480A1/en
Publication of WO2002006947A2 publication Critical patent/WO2002006947A2/en
Publication of WO2002006947A3 publication Critical patent/WO2002006947A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • G06F9/30174Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45541Bare-metal, i.e. hypervisor runs directly on hardware
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers

Abstract

A method for emulating the functionality of VGA hardware, wherein the emulator program of the present invention maintains a set of tables that permits the emulator program to branch to a function customized for both the instruction and the operating mode of the VGA hardware. When the customized function has already been generated, the emulator will automatically dispatch directly into the customized function. If an instruction is executed at a time when the VGA operating mode has changed, the addresses of the customized functions are located from a second table. If a customized function is not present, a customized function is generated and the tables are updated to point to the addresses of the newly created customized function. As the VGA hardware is switching among operating modes, a customized function is not generated until such time when an actual instruction is executed for the VGA hardware.
PCT/US2001/022277 2000-07-17 2001-07-16 System and method for emulating the operation of a video graphics adapter WO2002006947A2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP01952759A EP1303807B8 (en) 2000-07-17 2001-07-16 System and method for emulating the operation of a video graphics adapter
DE60136461T DE60136461D1 (en) 2000-07-17 2001-07-16 SYSTEM AND METHOD FOR EMULATING THE OPERATION OF A VIDEO GRAPHIC ADAPTER
AU2001273480A AU2001273480A1 (en) 2000-07-17 2001-07-16 System and method for emulating the operation of a video graphics adapter

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/617,624 US7069205B1 (en) 2000-07-17 2000-07-17 System and method for emulating the operation of a video graphics adapter
US09/617,624 2000-07-17

Publications (2)

Publication Number Publication Date
WO2002006947A2 WO2002006947A2 (en) 2002-01-24
WO2002006947A3 true WO2002006947A3 (en) 2002-06-20

Family

ID=24474375

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/022277 WO2002006947A2 (en) 2000-07-17 2001-07-16 System and method for emulating the operation of a video graphics adapter

Country Status (6)

Country Link
US (2) US7069205B1 (en)
EP (1) EP1303807B8 (en)
AT (1) ATE413641T1 (en)
AU (1) AU2001273480A1 (en)
DE (1) DE60136461D1 (en)
WO (1) WO2002006947A2 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069205B1 (en) * 2000-07-17 2006-06-27 Microsoft Corporation System and method for emulating the operation of a video graphics adapter
US8157654B2 (en) 2000-11-28 2012-04-17 Nintendo Co., Ltd. Hand-held video game platform emulation
US6884171B2 (en) 2000-09-18 2005-04-26 Nintendo Co., Ltd. Video game distribution network
US6672963B1 (en) 2000-09-18 2004-01-06 Nintendo Co., Ltd. Software implementation of a handheld video game hardware platform
US7260815B1 (en) 2003-06-30 2007-08-21 Vmware, Inc. Method and apparatus for managing registers in a binary translator
US7434110B2 (en) * 2004-04-19 2008-10-07 Sezweed Systems Error handling scheme for time-critical processing environments
US8271976B2 (en) * 2004-06-30 2012-09-18 Microsoft Corporation Systems and methods for initializing multiple virtual processors within a single virtual machine
US7685593B2 (en) * 2005-05-12 2010-03-23 Microsoft Corporation Systems and methods for supporting multiple gaming console emulation environments
US8271258B2 (en) * 2007-03-30 2012-09-18 International Business Machines Corporation Emulated Z-series queued direct I/O
US10445218B2 (en) 2017-06-06 2019-10-15 Microsoft Technology Licensing, Llc Execution of graphic workloads on a simulated hardware environment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4875186A (en) * 1986-02-28 1989-10-17 Prime Computer, Inc. Peripheral emulation apparatus
EP0524773A1 (en) * 1991-07-23 1993-01-27 International Business Machines Corporation Multiple command set support for rendering components
US5406644A (en) * 1987-03-24 1995-04-11 Insignia Solutions, Inc. Apparatus and method for emulating a computer instruction set using a jump table in the host computer
WO1998057262A1 (en) * 1997-06-13 1998-12-17 Telefonaktiebolaget Lm Ericsson (Publ) Simulation of computer processor

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US524773A (en) * 1894-08-21 Malone wheless
US645701A (en) * 1900-01-23 1900-03-20 Jean Louis Ancelle Spring-wheel for vehicles.
US4979738A (en) * 1983-12-06 1990-12-25 Midway Manufacturing Corporation Constant spatial data mass RAM video display system
US4779188A (en) 1983-12-14 1988-10-18 International Business Machines Corporation Selective guest system purge control
US4903218A (en) * 1987-08-13 1990-02-20 Digital Equipment Corporation Console emulation for a graphics workstation
US5063499A (en) 1989-01-09 1991-11-05 Connectix, Inc. Method for a correlating virtual memory systems by redirecting access for used stock instead of supervisor stock during normal supervisor mode processing
US5278973A (en) 1989-03-27 1994-01-11 Unisys Corporation Dual operating system computer
US4958378A (en) * 1989-04-26 1990-09-18 Sun Microsystems, Inc. Method and apparatus for detecting changes in raster data
US5269021A (en) * 1989-10-12 1993-12-07 Texas Instruments Incorporated Multiprocessor software interface for a graphics processor subsystem employing partially linked dynamic load modules which are downloaded and fully linked at run time
US5448264A (en) 1991-03-15 1995-09-05 Hewlett-Packard Company Method and apparatus for separate window clipping and display mode planes in a graphics frame buffer
US5301277A (en) 1991-04-10 1994-04-05 Seiko Epson Corporation Method and apparatus for communicating peripheral data to/from minor operating systems running as subprocesses on a main operating system
JP2878499B2 (en) 1991-10-15 1999-04-05 株式会社日立製作所 Multi-window display method and window system
US5666521A (en) 1992-12-07 1997-09-09 Intel Corporation Method and apparatus for performing bit block transfers in a computer system
US5452456A (en) 1992-12-18 1995-09-19 Apple Computer, Inc. Apparatus for executing a plurality of program segments having different object code types in a single program or processor environment
US5581766A (en) * 1993-05-17 1996-12-03 Compaq Computer Corporation Selectable video driver system
JPH0784562A (en) 1993-09-16 1995-03-31 Nec Corp Device for storing image
US5515525A (en) 1993-09-28 1996-05-07 Bull Hn Information Systems Inc. Emulating the memory functions of a first system on a second system
AU1514795A (en) 1993-12-30 1995-08-01 Connectix Corporation Lossless data compression system and method
AU1447295A (en) 1993-12-30 1995-08-01 Connectix Corporation Virtual memory management system and method using data compression
US5640562A (en) 1995-02-27 1997-06-17 Sun Microsystems, Inc. Layering hardware support code on top of an existing operating system
US5752275A (en) 1995-03-31 1998-05-12 Intel Corporation Translation look-aside buffer including a single page size translation unit
US5757386A (en) 1995-08-11 1998-05-26 International Business Machines Corporation Method and apparatus for virtualizing off-screen memory of a graphics engine
US5742797A (en) 1995-08-11 1998-04-21 International Business Machines Corporation Dynamic off-screen display memory manager
US5790825A (en) * 1995-11-08 1998-08-04 Apple Computer, Inc. Method for emulating guest instructions on a host computer through dynamic recompilation of host instructions
US5831607A (en) 1996-01-25 1998-11-03 International Business Machines Corporation Method for adapting multiple screens of information for access and use on a single graphical panel in a computer system
US6026476A (en) 1996-03-19 2000-02-15 Intel Corporation Fast fully associative translation lookaside buffer
US5768593A (en) 1996-03-22 1998-06-16 Connectix Corporation Dynamic cross-compilation system and method
US5675382A (en) 1996-04-08 1997-10-07 Connectix Corporation Spatial compression and decompression for video
US6044408A (en) * 1996-04-25 2000-03-28 Microsoft Corporation Multimedia device interface for retrieving and exploiting software and hardware capabilities
US5801717A (en) * 1996-04-25 1998-09-01 Microsoft Corporation Method and system in display device interface for managing surface memory
US5964843A (en) * 1996-04-25 1999-10-12 Microsoft Corporation System for enhancing device drivers
US5815686A (en) 1996-09-12 1998-09-29 Silicon Graphics, Inc. Method and apparatus for address space translation using a TLB
US5860147A (en) 1996-09-16 1999-01-12 Intel Corporation Method and apparatus for replacement of entries in a translation look-aside buffer
US5940872A (en) 1996-11-01 1999-08-17 Intel Corporation Software and hardware-managed translation lookaside buffer
US6014170A (en) 1997-06-20 2000-01-11 Nikon Corporation Information processing apparatus and method
US6542938B1 (en) * 1997-12-23 2003-04-01 Seiko Epson Corporation Mechanism and apparatus for adaptive quality performance control in 3D based PC applications
US6067618A (en) 1998-03-26 2000-05-23 Innova Patent Trust Multiple operating system and disparate user mass storage resource separation for a computer system
CA2345084C (en) * 1998-09-22 2004-11-02 Cybex Computer Products Corporation System for accessing personal computers remotely
US6115054A (en) * 1998-12-29 2000-09-05 Connectix Corporation Graphics processor emulation system and method with adaptive frame skipping to maintain synchronization between emulation time and real time
US6332184B1 (en) * 1999-08-18 2001-12-18 Ati International, Srl Method and apparatus for modifying memory accesses utilizing TLB entries
US6452599B1 (en) * 1999-11-30 2002-09-17 Ati International Srl Method and apparatus for generating a specific computer hardware component exception handler
US7069205B1 (en) * 2000-07-17 2006-06-27 Microsoft Corporation System and method for emulating the operation of a video graphics adapter
US6884171B2 (en) * 2000-09-18 2005-04-26 Nintendo Co., Ltd. Video game distribution network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4875186A (en) * 1986-02-28 1989-10-17 Prime Computer, Inc. Peripheral emulation apparatus
US5406644A (en) * 1987-03-24 1995-04-11 Insignia Solutions, Inc. Apparatus and method for emulating a computer instruction set using a jump table in the host computer
EP0524773A1 (en) * 1991-07-23 1993-01-27 International Business Machines Corporation Multiple command set support for rendering components
WO1998057262A1 (en) * 1997-06-13 1998-12-17 Telefonaktiebolaget Lm Ericsson (Publ) Simulation of computer processor

Also Published As

Publication number Publication date
DE60136461D1 (en) 2008-12-18
WO2002006947A2 (en) 2002-01-24
ATE413641T1 (en) 2008-11-15
US7069205B1 (en) 2006-06-27
EP1303807B8 (en) 2009-03-25
EP1303807B1 (en) 2008-11-05
US20050273313A1 (en) 2005-12-08
AU2001273480A1 (en) 2002-01-30
EP1303807A2 (en) 2003-04-23
US7395199B2 (en) 2008-07-01

Similar Documents

Publication Publication Date Title
WO2002006947A3 (en) System and method for emulating the operation of a video graphics adapter
WO2002075511A3 (en) Multilingual graphic user interface system and method
AU2001294017A1 (en) A method for controlling access to protected content
WO2003054685A3 (en) Configurable panel controller and flexible display interface
TW347518B (en) Display screen split method of a computer system
MY126279A (en) Air-conditioning apparatus.
AU2369697A (en) Concrete spraying additives
CA2314338A1 (en) Method to prevent spurious operation of a fluorescent lamp ballast
WO2008117586A1 (en) Content reproduction system, content reproduction/control device, and computer program
ES8800807A1 (en) Command processor, use as a switch controller, and a method of operating the same.
GB2400949A (en) Controlling compatibility levels of binary translations between instruction set architectures
BR9807896A (en) System for dynamically controlling a network device.
ES2157084T3 (en) SELF-REPLYING EPISOMIC EXPRESSION VECTORS CONFIRMING HISTO-SPECIFIC GENE EXPRESSION.
AU2001290044A1 (en) Multiple-platform virtual microprocessor architecture and its corresponding operation system, in particular for onboard and mobile computer field
EP1182528A3 (en) Industrial control based on distributed technological objects
CA2259981A1 (en) 6,7-oxygenated steroids and uses related thereto
WO2002081805A3 (en) Method for operating a program-controlled household appliance
GB2397917A (en) Chart parsing using compacted grammar representations
WO1999066724A3 (en) System of apparatus and peripherals
CA2322606A1 (en) Display apparatus
WO2001063410A3 (en) System and method for implementing a project facility
GB2398149A (en) Method and apparatus for managing independent asynchronous I/O operations within a virtual machine
EP1477212A4 (en) Game execution system and game execution method
WO2000014630A8 (en) Method and apparatus for determining preferred controls for an upgradable operating system
MY125471A (en) Method for handling telephone calls

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWE Wipo information: entry into national phase

Ref document number: 2001952759

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2001952759

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: JP