WO1997017670A1 - Multiple-button, daisy-chained joypad for personal computers - Google Patents

Multiple-button, daisy-chained joypad for personal computers Download PDF

Info

Publication number
WO1997017670A1
WO1997017670A1 PCT/US1996/017965 US9617965W WO9717670A1 WO 1997017670 A1 WO1997017670 A1 WO 1997017670A1 US 9617965 W US9617965 W US 9617965W WO 9717670 A1 WO9717670 A1 WO 9717670A1
Authority
WO
WIPO (PCT)
Prior art keywords
state
joypad
computer
ibm
digital
Prior art date
Application number
PCT/US1996/017965
Other languages
French (fr)
Inventor
David S. Feldman
Original Assignee
Pf Magic, Inc.
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 Pf Magic, Inc. filed Critical Pf Magic, Inc.
Priority to AU76113/96A priority Critical patent/AU7611396A/en
Publication of WO1997017670A1 publication Critical patent/WO1997017670A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/22Setup operations, e.g. calibration, key configuration or button assignment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/23Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/843Special adaptations for executing a specific game genre or game mode involving concurrently two or more players on the same game device, e.g. requiring the use of a plurality of controllers or of a specific view of game data for each player
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1018Calibration; Key and button assignment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1025Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals details of the interface with the game device, e.g. USB version detection
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8088Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game involving concurrently several players in a non-networked game, e.g. on the same game console
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0382Plural input, i.e. interface arrangements in which a plurality of input device of the same type are in communication with a PC

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Position Input By Displaying (AREA)

Abstract

This invention provides a new controller and data receiving method that can be used, with games and other software, to control computers through an input port. In one embodiment, the invention provides a controller system made up of a computer, with an input port that has digital input switches, and multiple controllers each having several digital buttons. The controller system may use an IBM-compatible game port as the input port and an IBM-compatible personal computer as the computer. Another embodiment of the invention provides a method of receiving data where two digital switch inputs are used. In this method, the current state of the two inputs is saved, the two inputs are then read until a change in one of them is detected, and a '1' is received if the change occurred in the first input and a '0' is received if the change occurred in the second input. These steps are then repeated until all data have been received.

Description

MULTIPLE-BUTTON. DAISY-CHAINED JOYPAD FOR PERSONAL COMPUTERS
Field of the Invention
This invention relates to a method and apparatus for remote control of computers through a multiple-button joypad that can be daisy-chained to other joypads. In particular, this invention provides a joypad that can be attached to an IBM-compatible personal computer through the computer's game port.
Background of the Invention
Personal computers can be controlled by controllers, such as joysticks, that enable a user to play games or control other computer programs running on the computer. For IBM-compatible personal computers, a game card which has a game port has become an industry standard. This industry standard allows personal computer manufacturers to offer standardized computers that work with standardized software that has been developed by game and other software developers. When an industry standard, such as the game port design, becomes popular, compatibility with that standard becomes necessary to compete effectively in the market.
Unfortunately, industry standards also have disadvantages. The standard IBM-compatible game port has eight inputs and no outputs. Of the eight inputs, four are analog (for the X and Y positions of two joysticks) and four are digital switches (for two buttons on two joysticks). This has limited users to using no more than two joysticks with no more than two buttons each, or one joystick with no more than four buttons.
The implementation that IBM chose for its game port also has another problem: reading analog input requires a comparatively long time. This is because reading the game port's analog input requires software polling and counts, which are time-consuming. This problem makes implementing many types of games, especially fighting games, very difficult using the IBM-compatible game port. To get around these limitations, game developers have devised several approaches. For example, commands can be implemented by programming function keys on the personal computer's keyboard to control a game, rather than using a joystick through the game port. This approach is taken in U.S. Patent No. 4,852,031 issued to Brasington. Another approach is to reconfigure game controllers to interact with a particular game, thus giving more flexibility to the game developer in designing the game. This approach, which requires changes to the IBM-compatible standard, is taken in U.S. Patent No. 5,396,267 issued to Boultin. None of the current approaches, however, provide a design for a standard joystick or other controller that allows multiple controllers (at least two) with multiple digital buttons (at least three each) which interface through a standard IBM-compatible game port. In addition, current approaches generally use the slower analog signal inputs of a game port, rather than relying solely on higher speed digital switch inputs. If the data reading speed could be improved, while at the same time allowing the use of several buttons and several controllers using only the IBM-compatible game port, the performance of fighting games and other high¬ speed applications would be enhanced. Moreover, highly sophisticated software such as 3-D games could be designed using such a digital joypad with extra buttons for multi-direction navigation. Therefore, a design that provides a multiple-button, daisy-chained joystick with these advantages would be a significant improvement over current approaches. Summary of the Invention
This invention provides a new controller and data receiving method that can be used, with games and other software, to control computers through an input port. In one embodiment, the invention provides a controller system made up of a computer, with an input port that has digital input switches, and multiple controllers each having several digital buttons. The controller system may use an IBM-compatible game port as the input port and an IBM-compatible personal computer as the computer.
Another embodiment of the invention provides a method of receiving data where two digital switch inputs are used. In this method, the current state of the two inputs is saved, the two inputs are then read until a change in one of them is detected, and a "1 " is received if the change occurred in the first input and a "0" is received if the change occurred in the second input. These steps are then repeated until all data has been received.
Brief Description of the Drawings
The objects, features and advantages of the present invention will be apparent to one skilled in the art in light of the following detailed description in which: Figure 1 shows an implementation of a 14-button joypad of the present invention.
Figure 2 shows two 14-button joypads of an implementation of the present invention connected in a daisy chain to a personal computer.
Figure 3 shows a block diagram of an implementation of two 14-button joypads of the present invention connected in a daisy chain.
Figure 4 shows a state diagram of an implementation of a standalone, 14-button joypad of the present invention.
Figure 5 shows a schematic of an implementation of a standalone, 14-button joypad of the present invention. Figure 6 shows a time diagram showing the digital switch inputs in an implementation of a joypad of the present invention.
Detailed Description of the Invention Before the present methods and apparatuses are described, it is to be understood that this invention is not limited to the particular apparatuses or methods described as such, which those of skill in the art can, of course, vary. It is also to be understood that the terminology used herein is for the purpose of describing particular embodiments only, and is not intended to be limiting as to the scope of the present invention, which will be limited only by the appended claims.
It should be noted that, as used in this specification and the appended claims, the singular forms "a", "an" and "the" include the plural referents unless the context clearly dictates otherwise. Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Although any methods and materials similar or equivalent to those described herein can be useful in the practice or testing of the present invention, preferred methods and materials are described below. All publications and patents mentioned herein are incoφorated herein by reference.
The present invention provides a method and apparatus for remote control of computers through a multiple-button joypad that can be daisy- chained to other joypads. In particular, this invention provides a joypad that can be attached to an IBM-compatible personal computer through the computer's game port.
The joypad of the present invention implements a serial data protocol on the two digital switch inputs of the standard IBM-compatible game port, thereby allowing virtually any number of buttons. It also does not use the analog inputs, instead relying solely on the digital switch inputs, so the read time is short and independent of the buttons being used.
Since the standard IBM-compatible game port does not allow for output, the joypad of the present invention repeats its data continuously, with an identifiable synchronization, or "synch," pattern leading the data. The game or other software that is receiving data through the game port reads the port continuously until the synch pattern is found, and then can read the data showing the current position of the joypad buttons.
Since each joypad in the present invention requires only two digital switch inputs to send data to the personal computer through the game port, two joypads can be connected to the game port at one time. The present invention also allows for multiple joypads to be daisy-chained onto the two joypads that are connected to the game port, allowing for multiple players to participate in the same game. Four player sports games on the Genesis and SNES systems are quite popular, so this feature of the present invention is a significant advantage.
Since the analog inputs of the standard IBM-compatible game port are not used by the present invention, those skilled in the art will realize that an analog joystick with multiple buttons could also be implemented using standard X,Y analog technology for the joystick input and the present invention for the button input.
As mentioned above, a joypad of the present invention passes data to the standard IBM-compatible game port serially, using a set of bit frames. Figure 1 shows one implementation of a joypad 30 of the present invention which has 14 digital buttons 32 and 36a-j. These are: Up, Down, Right, Left, LS (left switch), RS (right switch), Select, Start, X, Y, Z, A, B and C. (The other switch 34 shown on the joypad 30 of Figure 1, "Slow/Norm," regulates the clock speed and is not used as a button for controlling computer operation.)
In Figure 1, the button 32 controlling up, down, left and right is actually a four-way button. This button 32 pivots on its center so that any one direction, or any two adjacent directions, such as up and right, can be set at any one time.
For the puφoses of this application, the term "button" is used broadly. It can mean a digital button, such as those buttons 36a-j shown on Figure 1 , or a four-way button, such as the four-way button 32 shown on Figure 1.
It can also mean a switch, such as the switch 34 shown on Figure 1 (even though that switch 34 is not used as a button for controlling the computer in this implementation), a touchscreen, a digital joystick, or any other device that can generate a one or zero at a user's request. In this implementation, each frame is six bits long. Each frame consists of a " 1 ", followed by five data bits, except for the first frame, known as the synch frame, which is six zeros.
One frame format that can be used for this implementation, where the joypad has 14 buttons, has bits set as follows:
Figure imgf000008_0001
where the Ext bit equals "0", LF is "Left," RT is "Right," Slct is "Select," SX, SY and SZ are X, Y and Z, and SA, SB and SC are A, B and C.
A joypad using this frame format does not support daisy- chaining, as is indicated by the Ext bit being set to "0". However, this joypad can be the last joypad (i.e., the farthest from the computer) on a daisy chain. Note that, since each data frame starts with a " 1 ", the only time six consecutive zeros are seen at the game port's digital switch inputs is when the synch frame is sent. This is what allows the synch frame to be recognized.
A frame format for a joypad that does allow for daisy-chaining is as follows:
Figure imgf000009_0001
where the Ext bit equals "1" and Data is an additional data location.
In this frame format, the "Pn" bit indicates whether a particular joypad is in daisy chain mode. Pn=l indicates that the joypad is in daisy chain mode and is the device nearest the personal computer. Pn=0 indicates that the joypad is operating in stand-alone mode.
It should be noted that this frame format allows for additional data frames to be added if additional buttons are desired. The IDO, ID1 and ID2 bits can be used to designate the type of joypad which is sending data to software running on the computer, so that the software can correctly inteφret the frame format being used. That allows variously configured joypads, with different numbers of buttons, to be recognized as long as they use the same basic design of the present invention.
As long as one joypad is of the type shown in this latter implementation, a daisy chain of up to two joypads can be made. Two such daisy chains can be attached to the IBM-compatible game port, so that a total of four joypads with 14 buttons each can be used at one time.
As will be evident to those skilled in the art, longer chains can be implemented at the cost of some complications to the hardware and software, and thus added cost. Moreover, the serial signal to send the required data from a greater number of joypads will be longer, which may reduce response time.
However, the basic principles of the present invention enable those skilled in the art to easily alter the implementation described here to allow for longer daisy chains. Combining the two data frame formats described above allows one joypad, that farthest from the computer, to operate in standalone mode, while another joypad, that closest to the computer, operates in daisy-chained mode. In that case, the serial data stream received on the digital switch inputs of the computer's game port will be as follows:
Synch F2a F2b F2c F2d Synch Fla Fib Flc where Fix are the three data frames for the standalone joypad with the Ext bit equal to "0" and F2x are the status frame and the three data frames for the daisy- chained joypad with the Ext bit and Pn bit both set to " 1 ". In the present invention, an "implied" clock governs bit transfers, and no clock signal need be sent as input to the game port. Rather than have a clock on one digital switch input of the game port and data on the other, as is commonly done in other approaches, in the present invention all "0"s in the data are sent on one digital switch input and all " 1 "s on the other. This eliminates the need for close synchronization between the two inputs, and any problems from edge effects.
Designing the input protocol as in the present invention also simplifies the software needed to read the data received at the game port input considerably, and reduces input errors as well. As mentioned above, this protocol is also very tolerant in changes to the clock rate, so an inexpensive R/C clock circuit can be used to time the joypad circuitry.
In the input protocol of the present invention, all transitions (high to low and low to high) are considered to be data bits. The method for receiving data through the game port, then, is to save the current state of the input signal lines, read the input signal lines until a change in one of them is detected, receive a "1 " if the change occurred in the first input signal line and a "0" if the change occurred in the second input signal line, and repeat the above steps until all data has been received. This process for sample data is shown in Figure 6. As shown in Figure 2, the joypads 10a and 10b are joined to each other by one cable 12 and to a personal computer 16 by another cable 14. In one implementation of daisy-chained joypads, a joypad has a five-pin plug on the end of a cable, and a five-pin expansion jack on its body. A special adapter matches the plug to the personal computer's DB15 connector, with inputs for two joypads. The five wires are for: VCC
Ground OUTO OUT1 SENSE In this implementation, a joypad can exist in three possible places: connected to the personal computer; in the middle of a daisy chain; or on the end of a daisy chain. Note that if the daisy chain length is merely one, then the first and last conditions apply to one joypad. A joypad knows if it is plugged into a personal computer by reading its SENSE pin on the plug. A joypad knows if it has another joypad plugged into it by sensing backwards out of the expansion jack.
If desired, the joypad at the end of the daisy chain (farthest from the personal computer) can provide the system clock for all joypads. The clock can then propagate down the daisy chain. Each joypad decodes and saves the bit stream from the up-chain joypads. It then uses this information to create its own output bitstream. Thus, each joypad in the chain outputs a longer bitstream than the one before it.
Figure 3 shows a block diagram of an implementation of two 14-button joypads of the present invention connected in a daisy chain. Joypad A of Figure 3 is a stand-alone joypad with the simpler, shorter frame format described above. Joypad B, by contrast, must be a joypad with the more complex frame format described above for daisy-chainable joypads.
The digital switch outputs OutO and Outl of Joypad A and Joypad B in Figure 3 operate according to the input protocol described above, with transitions on OutO representing "0"s and transitions on Outl representing " 1 "s. Joypad B's OutO and Outl are then attached to two of the digital switch inputs of the game port of an IBM-compatible personal computer.
Figures 4 and 5 show, respectively, the state diagram and schematic for an implementation of a joypad of the current invention. The joypad shown in Figures 4 and 5 does not contain the logic necessary to receive and reformat data received from another joypad or joypads. Accordingly, this type of joypad must be either a stand-alone joypad or the last (farthest from the computer) joypad in a daisy-chain. For example, the joypad shown in Figures 4 and 5 could be used as Joypad A as shown in Figure 3. However, a joypad which can reformat data received from other joypads can be implemented simply by adding additional states to the implementation shown in Figures 4 and 5, as will be evident to those skilled in the art. Because the logic becomes more complex as more states are added, an ASIC chip may be the best implementation of the necessary state machine for a joypad that can be daisy-chained, if the volume of joypad production justifies the cost of designing and manufacturing an ASIC for this piupose.
In the implementation shown in Figure 5, however, standard chips are used, since they are less expensive and more readily obtained than an ASIC chip. In Figure 5, an implementation using both a PAL chip, shown as UI , and a multiplexor, shown as U3, is used. This is because this design allows a cheaper, more readily available PAL chip to be used even for a 14-button joypad. However, a larger PAL could be used instead, which would allow the design to be implemented without using a multiplexor.
The PAL equations for implementing the state chart of Figure 4 are as follows:
Figure imgf000013_0001
START UP := POWER.UP -> STATE.O
STATE.O := VCC •> STATE.1 JERST ZERO FOR SYNC HUME
+ GND -> STATE_18 STATE.0.OUTF = DOUT
STATE.1 := VCC -> STATE.2
+ GND -> STATE_18 STATE.l.OUTF = /DOUT
STATE.2 := VCC -> STATE.3
+ GND -> STATE.18 STATE_2.0UTF = /DOUT
STATE.3 :s VCC -> STATE.4
+ GND -> STATE_18 STATE.3.0UTF = /DOUT
STATE.4 := VCC -> STATE.5
+ GND -> STATE.18 STATE.4.0UTF = /DOUT
STATE.5 := VCC -> STATE.6 ;LAST ZERO FOR SYNC FRAME
+ GND -> STATE.18 STATE.5.0UTF = /DOUT 17965
STATE.6 := VCC -> STATE.OB .START BIT FOR FIRST DATA FRAME
+ GND -> STATE.18 .Last 3 bit of state bit control
STATE.6.0UTF = DOUT .The ext. multiplexer
STATE.OB := VCC -> STATE.7 ;Extende Bit
+ GND -> STATE.18 .0 => Basic Joypad
STATE_0B.OUTF = DOUT
STATE.7 := VCC -> STATE.8 ;UP
+ GND -> STATE_18 STATE.7.0UTF = /MUX -> DOUT + MUX -> /DOUT
STATE.8 := VCC -> STATE.9 ;DOWN
+ GND -> STATE_18
STATE_8.0UTF = DN -> DOUT
+ DN -> /DOUT
STATE.9 := VCC -> STATE.OA iLEFT
+ GND -> STATE.18 STATE.9.0UTF = /MUX -> DOUT + MUX -> /DOUT
STATE.OA := VCC -> STATE.OC ;RIGHT
+ GND -> STATE_18 STATE_0A.OUTF = /RT -> DOUT + RT -> DOUT
STATE.OC := VCC -> STATE.OD ;START BIT FOR SEC. DATA FRAME
+ GND -> STATE.18 STATE.OC.OUTF = DOUT
STATE.OD := VCC -> STATE.OE .PLAY
+ GND -> STATE_18 STATE.OD.OUTF = /MUX -> DOUT + MUX -> /DOUT
STATE.OE := VCC -> ST A TE.OF ;SELECT
+ GND -> STATE_18 STATE.0E.OUTF = MUX -> DOUT + MUX -> /DOUT
STATE.OF := VCC -> STATE.10
+ GND -> STATE_18 STATE.OF.OUTF = /MUX -> DOUT + MUX -> /DOUT
STATE.10 := VCC -> STATE.11 ;Q
+ GND -> ST ATE.18 STATE_10.OUTF = /MUX -> DOUT + MUX -> /DOUT
STATE.11 := VCC -> STATE.12
+ GND -> STATE.18 STATE_11.0UTF = /SX -> DOUT + SX -> DOUT
STATE.12 := VCC -> STATE.13 .START BIT FOR THIRD DATA FRAME + "GND -> STATE.18 STATE.12.0UTF = DOUT
STATE.13 := VCC -> STATE.14 . Y
+ ^GND -> STATE.18 STATE_13.0UTF = MUX -> DOUT + MUX -> /DOUT
STATE.14 :s VCC -> STATE.15 Z
+ GND -> STATE.18 STATE_14.0UTF = /MUX -> DOUT + MUX -> /DOUT
STATE.15 := VCC -> STATE.16 ;A
+ GND -> STATE.18 STATE_15.0UTF = /SA -> DOUT + SA -> /DOUT
STATE.16 := VCC -> STATE.17 ;B
+ GND -> STATE.18 STATE_16.0UTF = /SB -> DOUT + SB -> /DOUT
STATE.17 := VCC -> STATE.O ;C
+ GND -> STATE.18 STATE_17.0UTF = /SC -> DOUT + SC -> /DOUT
STATE.18 := VCC -> STATE.O
+ GND -> STATE_18 STATE.18.0UTF = /DOUT
STATE.19 := VCC -> STATE.O
+ GND -> STATE_I8 STATE.19.0UTF = /DOUT
STATE.1 A := VCC -> STATE.O ;This states should never be
+ GND -> STATE.18 ;reach. but Dout helps to STATE_lA.OUTF = DOUT ;keep OR term to minimum
STATE. IB := VCC -> STATE.O
+ GND -> STATE.18 STATE.1B.OUTF = DOUT
STATE.IC := VCC -> STATE.O
+ GND -> STATE_18 STATE.IC.OUTF = /DOUT
STATE. ID := VCC -> STATE.O
+ GND -> STATE.18 STATE. lD.OUTF = /DOUT
STATE.1E := VCC -> STATE.O
+ GND -> STATE_18 STATE.1E.OUTF = /DOUT
STATE. IF := VCC -> STATE.O
+ GND -> STATE.18 STATE.1F.OUTF = /DOUT .(state 18 and above not used)
STATE.O = /STCNT5 * /STCNT4 • /STCNT3 • /STCNT2 • /STCNTl STATE.1 = /STCNT5 * /STCNT4 • STCNT3 • /STCNT2 « STCNTl STATE.2 = /STCNT5 • /STCNT4 • /STCNT3 * STCNT2 • /STCNTl STATE.3 = /STCNT5 * /STCNT4 * STCNT3 • STCNT2 • STCNTl STATE.4 = STCNT5 • /STCNT4 * STCNT3 * /STCNT2 * /STCNTl STATE.5 = STCNT5 * /STCNT4 * STCNT3 • /STCNT2 • STCNTl STATE.OB « /STCNT5 * /STCNT4 • STCNT3 • STCNT2 • /STCNTl STATE.18 = /STCNT5 * /STCNT4 STCNT3 • STCNTl • STCNTl
STATE.OD > /STCNT5 • STCNT4 • /STCNT3 • /STCNT2 • /STCNTl ;Mux Data STATE.10 = /STCNT5 • STCNT4 • /STCNT3 • /STCNT2 • STCNTl STATE.14 = /STCNT5 • STCNT4 * /STCNT3 • STCNT2 * /STCNTl STATE.7 = /STCNT5 • STCNT4 * /STCNT3 • STCNT2 • STCNTl STATE.9 = /STCNT5 * STCNT4 • STCNT3 • STCNT2 • /STCNTl STATE.13 = /STCNT5 • STCNT4 • STCNT3 • /STCNT2 • STCNTl STATE.OE = /STCNT5 • STCNT4 * STCNT3 • STCNT2 • /STCNTl STATE.OF = /STCNT5 * STCNT4 STCNT3 • STCNT2 • STCNTl
STATE.8 = STCNT5 * /STCNT4 * /STCNT3 • /STCNT2 • /STCNTl STATE.OA = STCNT5 • /STCNT4 • /STCNT3 • /STCNT2 • STCNTl STATE.11 = STCNT5 • /STCNT4 * /STCNT3 • STCNT2 • /STCNTl STATE.15 = STCNT5 • /STCNT4 • /STCNT3 • STCNT2 • STCNTl STATE.16 = STCNT5 * /STCNT4 * STCNT3 • /STCNT2 • /STCNTl STATE.17 = STCNT5 • /STCNT4 • STCNT3 • /STCNT2 • STCNTl
STATE.19 = STCNT5 * /STCNT4 • STCNT3 • STCNT2 • /STCNTl STATE.1B = STCNT5 * /STCNT4 • STCNT3 • STCNT2 • STCNTl
STATE.6 = STCNT5 • STCNT4 • /STCNT3 • /STCNT2 • /STCNTl STATE.OC = STCNT5 * STCNT4 * STCNT3 • /STCNT2 * STCNTl STATE.12 = STCNT5 * STCNT4 • /STCNT3 * STCNT2 • /STCNTl STATE.1A = STCNT5 • STCNT4 • /STCNT3 • STCNT2 * STCNTl
STATE.IC = STCNT5 • STCNT4 • STCNT3 • /STCNT2 * /STCNTl STATE.1D = STCNT5 * STCNT4 • STCNT3 • /STCNT2 • STCNTl STATE.1E = STCNT5 • STCNT4 STCNT3 • STCNT2 • /STCNTl STATE_1F = STCNT5 • STCNT4 * STCNT3 • STCNT2 • STCNTl
- Simulation Segment •
SIMULATION

Claims

CLAIMS What is claimed is:
1. A controller system for inputting data into a computer comprising:
a computer with an input port having at least two digital switch inputs; and
at least two controllers connected to the computer through the input port, with each controller having at least three digital buttons.
2. The controller system of claim 1 wherein the computer is an IBM-compatible personal computer and the input port is an IBM-compatible game port.
3. A controller comprising:
two digital switch inputs which are connected to receive output from a second controller;
at least three digital buttons;
two digital switch outputs which are connected to an
IBM-compatible game port of an IBM-compatible computer.
4. A method of receiving data using a controller connected to a computer through an input port having first and second digital switch inputs, each capable of having two states, the method comprising:
saving the current state of the first and second digital switch inputs;
reading the first and second digital switch inputs until a change in one of them is detected;
receiving a "1" if the change occurred in the first digital switch input and a "0" if the change occurred in the second digital switch input; and repeating the above steps until all data has been received.
5. The method of claim 4 wherein the computer is an IBM-compatible computer and the input port is an IBM-compatible game port.
6. A controller comprising:
at least five digital buttons;
two digital switch outputs which are connected to an
IBM-compatible game port of an IBM-compatible computer.
7. A controller system for inputting data into a computer comprising:
a computer with an input port having at least two digital switch inputs;
a first controller, having at least three digital buttons, connected to the computer through the input port; and
a second controller, having at least three digital buttons, connected to the first controller.
PCT/US1996/017965 1995-11-09 1996-11-08 Multiple-button, daisy-chained joypad for personal computers WO1997017670A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU76113/96A AU7611396A (en) 1995-11-09 1996-11-08 Multiple-button, daisy-chained joypad for personal computers

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US59004095A 1995-11-09 1995-11-09
US08/590,040 1995-11-09

Publications (1)

Publication Number Publication Date
WO1997017670A1 true WO1997017670A1 (en) 1997-05-15

Family

ID=24360655

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1996/017965 WO1997017670A1 (en) 1995-11-09 1996-11-08 Multiple-button, daisy-chained joypad for personal computers

Country Status (2)

Country Link
AU (1) AU7611396A (en)
WO (1) WO1997017670A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1521404A2 (en) * 2003-10-03 2005-04-06 Sony Corporation Data transmission system, terminal device, data transmission method, and recording medium
US20100006349A1 (en) * 2006-12-07 2010-01-14 Atlab Inc. Sensor device and method of operating the same
EP2161060A2 (en) * 2008-07-11 2010-03-10 Nintendo Co., Limited Expanding operating device and operation system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5134395A (en) * 1990-08-10 1992-07-28 Ambrosia Microcomputer Products, Inc. Joystick/switch interface to computer serial port
US5245320A (en) * 1992-07-09 1993-09-14 Thrustmaster, Inc. Multiport game card with configurable address
WO1994016426A1 (en) * 1993-01-07 1994-07-21 Thrustmaster, Inc. Reconfigurable joystick controller with multi-stage trigger
US5421590A (en) * 1993-07-23 1995-06-06 Commodore Electronics Limited Multiple linked game controllers
EP0672981A1 (en) * 1994-03-18 1995-09-20 International Business Machines Corporation Input device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5134395A (en) * 1990-08-10 1992-07-28 Ambrosia Microcomputer Products, Inc. Joystick/switch interface to computer serial port
US5245320A (en) * 1992-07-09 1993-09-14 Thrustmaster, Inc. Multiport game card with configurable address
US5396267A (en) * 1992-07-09 1995-03-07 Thrustmaster, Inc. Reconfigurable video game system
WO1994016426A1 (en) * 1993-01-07 1994-07-21 Thrustmaster, Inc. Reconfigurable joystick controller with multi-stage trigger
US5421590A (en) * 1993-07-23 1995-06-06 Commodore Electronics Limited Multiple linked game controllers
EP0672981A1 (en) * 1994-03-18 1995-09-20 International Business Machines Corporation Input device

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1521404A2 (en) * 2003-10-03 2005-04-06 Sony Corporation Data transmission system, terminal device, data transmission method, and recording medium
EP1521404A3 (en) * 2003-10-03 2005-04-13 Sony Corporation Data transmission system, terminal device, data transmission method, and recording medium
CN100420226C (en) * 2003-10-03 2008-09-17 索尼株式会社 Data transmission system, terminal device, data transmission method, and recording medium
US20100006349A1 (en) * 2006-12-07 2010-01-14 Atlab Inc. Sensor device and method of operating the same
EP2161060A2 (en) * 2008-07-11 2010-03-10 Nintendo Co., Limited Expanding operating device and operation system
EP2161060A3 (en) * 2008-07-11 2012-03-21 Nintendo Co., Ltd. Expanding operating device and operation system
US8384565B2 (en) 2008-07-11 2013-02-26 Nintendo Co., Ltd. Expanding operating device and operating system

Also Published As

Publication number Publication date
AU7611396A (en) 1997-05-29

Similar Documents

Publication Publication Date Title
EP0654289B1 (en) Multiconnector for game machine
US5421590A (en) Multiple linked game controllers
JP3220328B2 (en) Video game console
AU724018B2 (en) Three-dimensional image processor
EP0485227B1 (en) Communication adaptor for game set
AU734018B2 (en) Three-dimension image processing system
US6141719A (en) USB selector switch
AU722079B2 (en) High performance/low cost video game system with multi- functional peripheral processing subsystem
JPH07507895A (en) Multi-port game card with configurable address
WO1996012250A1 (en) Improvement in communication between data processing apparatus and peripheral device thereof
US5892974A (en) System for sub-data processor identifies the peripheral from supplied identification data and supplies data indicative of the kind of peripheral to main data processor
WO2002084999A1 (en) Digital camera and data transfer method
CA2295665A1 (en) Game device, game machine operation device and game system which employ a half-duplex serial communication system and game device two-way communication method
CN101336422A (en) Methods and apparatus for adding an autonomous controller to an existing architecture
JPH01503339A (en) Peripheral control circuit for personal computers
JPH1040021A (en) External storage device, data writing method, floppy disk, and data reading method and communication method
WO1997017670A1 (en) Multiple-button, daisy-chained joypad for personal computers
JP2870538B2 (en) Data transmission method and game system using the same
US20020049876A1 (en) Multimedia modular card, device for operating the same, and integrated multimedia system
US6484215B1 (en) System having I/O module number assignment utilizing module number signal line having pair of inputs adapted for receiving module number signal and propagation of module number signal down stream
JPH10235016A (en) Game system
JP2003071137A (en) Communication game system
JPS5936288B2 (en) connection device
EP1144060B1 (en) Entertainment system, recording medium, and program
WO2003051477A1 (en) Dual-function remote controller capable of manipulating video game and method thereof

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE HU IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK TJ TM TR TT UA UG US UZ VN AM AZ BY KG KZ MD RU TJ TM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): KE LS MW SD SZ UG AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG

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)
NENP Non-entry into the national phase

Ref country code: JP

Ref document number: 97518357

Format of ref document f/p: F

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: CA