US2002032055A1PendingUtilityA1

Bi-directional digital game port driver

42
Assignee: THRUSTMASTER INCPriority: Aug 15, 1997Filed: Jul 10, 2001Published: Mar 14, 2002
Est. expiryAug 15, 2017(expired)· nominal 20-yr term from priority
A63F 13/843A63F 2300/8088A63F 2300/1025A63F 13/23
42
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

The invention uses the conventional PC game port as a port for a digital game input device, employing a Digital Game Port (DGP) protocol which uses the four discrete or button lines and a single analog line (one of four) on the conventional game board to form a dual serial port. Data from a DGP control device is packetized with each packet consisting of 13 bytes of data. The packets or blocks are then grouped into frames. A frame consists of two blocks of data. A total of two frames are transmitted to the driver for each driver request. The 13-byte data block is divided between six one byte analog values and four bytes of digital data, with three bytes that identify and define the device. This device definition and identification is unique. By sending the device identification and configuration to the driver, the driver can determine not only the presence of the device but also very specific aspects of the device. The hardware configuration of the cable enables the driver to uniquely identify the first unit connected to the host computer as the master unit. The driver identifies the other units, if any, as slave units. Up to 3 additional slave units may be chained from the master digital game port input device by such cables.

Claims

exact text as granted — not AI-modified
What is claimed is:  
     
         1 . A method for bi-directional communication between at least one game controller, a game port mounted on a personal computer, and a driver running on the personal computer, the game port having a charging circuit responsive to a personal computer instruction, analog input terminals, and digital input terminals, the at least one game controller having an analog circuit coupled to the game port for completing the charging circuit, the method comprising the steps of: 
 sending the personal computer instruction from the driver to the game port;    charging the charging circuit from a first level to a second level responsive to the personal computer instruction;    detecting a predetermined level on the charging circuit;    transmitting controller data to the driver using a predetermined number of the digital input terminals responsive to detecting the predetermined level on the charging circuit; and    processing the transmitted controller data.    
     
     
         2 . The method for bi-directional communication of  claim 1  wherein transmitting the controller data to the driver includes serially transmitting the controller data to the driver using the predetermined number of digital input terminals.  
     
     
         3 . The method for bi-directional communication of  claim 1  wherein transmitting the controller data to the driver includes: 
 transmitting a controller data signal on a first digital input terminal; and  
 transmitting a clock signal on a second digital input terminal.  
 
     
     
         4 . The method for bi-directional communication of  claim 3  wherein processing the transmitted controller data includes: 
 continuously monitoring the second digital input terminal for a transition of the clock signal;  
 detecting a transition of the clock signal; and  
 reading the controller data signal responsive to detecting the transition of the clock signal.  
 
     
     
         5 . The method for bi-directional communication of  claim 4  including shifting the controller data signal into a block of memory after reading the controller data signal.  
     
     
         6 . The method for bi-directional communication of  claim 4  wherein the transmitted controller data includes a plurality of data bytes, each data byte having a corresponding start and stop bit and wherein processing the transmitted controller data includes: 
 identifying the start and stop bit for each of the plurality of data bytes; and  
 decoding the each of the plurality of data bytes after identifying the corresponding start and stop bits.  
 
     
     
         7 . The method for bi-directional communication of  claim 6  wherein the at least one game controller is a master game controller wherein decoding each of the plurality of data bytes includes identifying the master game controller.  
     
     
         8 . The method for bi-directional communication of  claim 1  wherein the at least one game controller includes a master game controller and at least one slave game controller and wherein transmitting controller data to the driver includes: 
 transmitting a master controller data signal on a first digital input terminal;  
 transmitting a first clock signal on a second digital input terminal, the first clock signal corresponding to the master controller data signal;  
 transmitting a slave controller data signal on a third digital input terminal; and  
 transmitting a second clock signal on a fourth digital input terminal, the second clock signal corresponding to the slave controller data signal.;  
 
     
     
         9 . The method for bi-directional communication of  claim 8  wherein processing the transmitted controller data includes: 
 continuously monitoring the second digital input terminal for a transition of the first clock signal;  
 continuously monitoring the fourth digital input terminal for a transition of the second clock signal;  
 detecting a transition of the first clock signal;  
 detecting a transition of the second clock signal;  
 reading the master controller data signal responsive to detecting the transition of the first clock signal; and  
 reading the slave controller data signal responsive to detecting the transition of the second clock signal.  
 
     
     
         10 . The method for bi-directional communication of  claim 9  including shifting the master and slave controller data signal into a memory block after reading the master and slave controller data signal.  
     
     
         11 . The method for bi-directional communication of  claim 8  wherein the master and slave controller data signal includes a corresponding plurality of data bytes, each data byte having a corresponding start and stop bit and wherein processing the transmitted controller data includes: 
 identifying a start and a stop bit for each of the plurality of master and slave data bytes; and  
 decoding each of the plurality of master and slave data bytes after identifying the corresponding start and stop bits.  
 
     
     
         12 . The method for bi-directional communication of  claim 11  wherein decoding each of the plurality of master and slave data bytes includes identifying the master and slave controller.  
     
     
         13 . A bi-directional game/simulation system for simulating operation of a complex system having a plurality of user-controlled functions, the system comprising: 
 a personal computer having a digital microprocessor operable under the control of a video game/simulation program, a display for displaying images produced by the program, and an input/output bus for connecting peripheral input and output devices to the digital microprocessor;    a game board coupled to the input/output bus having a finite number of digital and analog input terminals and a portion of a charging circuit responsive to a personal computer instruction, the charging circuit coupled to one of the analog input terminals;    at least one game controller having an analog circuit coupled to the analog input terminal for completing the charging circuit;    detecting means in the at least one game controller for detecting a predetermined charging level on the charging circuit;    processing means in the at least one game controller for processing controller data responsive to the detected predetermined charge level;    transmitting means coupled to the processing means in the at least one game controller for transmitting the processed controller data using a predetermined number of the game board digital input terminals; and    a driver program running on the personal computer for processing the transmitted controller data received at the game board digital input terminals.    
     
     
         14 . A bi-directional game/simulation system according to  claim 13  wherein 
 the transmitting means transmits a game controller data signal on a first digital input terminal and a first clock signal on a second digital input terminal.  
 
     
     
         15 . A bi-directional game/simulation system according to  claim 14  wherein the driver includes monitoring means for monitoring the second digital input terminal for a transition of the first clock signal.  
     
     
         16 . A bi-directional game/simulation system according to  claim 14  wherein the game controller data signal includes a first finite number of analog position data bytes of the at least one game controller, a second finite number of digital position data bytes of the at least one game controller, and a third finite number of identification data bytes identifying the at least one game controller.  
     
     
         17 . A bi-directional game/simulation system according to  claim 14  wherein the driver includes: 
 detecting means for detecting a transition of the first clock signal;  
 reading means for reading the game controller data signal responsive to detecting the transition of the first clock signal;  
 storing means for storing the read game controller data signal into a block of memory; and  
 decoding means for decoding the stored game controller data signal.  
 
     
     
         18 . A bi-directional game/simulation system according to  claim 13  wherein the at least one game controller includes a slave and a master controller and wherein the transmitting means transmits a master controller data signal on a first digital input terminal, a first clock signal on a second digital input terminal, a slave controller data signal on a third digital input terminal, and a second clock signal on a fourth digital input terminal, the first clock signal corresponding to the master controller and the second clock signal corresponding to the slave controller.  
     
     
         19 . A bi-directional game/simulation system according to  claim 18  wherein the master controller data signal includes: 
 a first finite number of analog position data bytes of the master controller;  
 a second finite number of digital position data bytes of the master controller;  
 a third finite number of identification data bytes identifying the master controller;  
 a fourth finite number of analog position data bytes of the slave controller;  
 a fifth finite number of digital position data bytes of the slave controller; and  
 a sixth finite number of identification data bytes identifying the slave controller.  
 
     
     
         20 . A bi-directional game/simulation system according to  claim 18  wherein the driver includes: 
 detecting means for detecting a transition of the first and second clock signals;  
 reading means for reading the master controller data signal responsive to detecting the transition of the first clock signal;  
 reading means for reading the slave controller data signal responsive to detecting the transition of the second clock signal;  
 storing means for storing the read master controller data signal into a block of memory;  
 storing means for storing the read slave controller data signal into a block of memory;  
 decoding means for decoding the stored master controller data signal; and  
 decoding means for decoding the stored slave controller data signal.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.