WO2000030314A1 - Procede de transmission de donnees et systeme de jeu fonctionnant selon ledit procede - Google Patents

Procede de transmission de donnees et systeme de jeu fonctionnant selon ledit procede Download PDF

Info

Publication number
WO2000030314A1
WO2000030314A1 PCT/JP1999/006391 JP9906391W WO0030314A1 WO 2000030314 A1 WO2000030314 A1 WO 2000030314A1 JP 9906391 W JP9906391 W JP 9906391W WO 0030314 A1 WO0030314 A1 WO 0030314A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
peripheral device
signal
transmission
transmitted
Prior art date
Application number
PCT/JP1999/006391
Other languages
English (en)
French (fr)
Inventor
Naoki Niizuma
Atunori Himoto
Hirokazu Hama
Original Assignee
Sega Enterprises, Ltd.
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 Sega Enterprises, Ltd. filed Critical Sega Enterprises, Ltd.
Publication of WO2000030314A1 publication Critical patent/WO2000030314A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/14Channel dividing arrangements, i.e. in which a single bit stream is divided between several baseband channels and reassembled at the receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines
    • 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

Definitions

  • the present invention relates to an interface technology for connecting a data processing device for performing data processing to a peripheral device for inputting and outputting information, and more particularly, to a novel interface relating to a connection between a game device and the peripheral device.
  • the following data transmission methods are used for data communication between the main unit of the information processing device and its peripheral devices.
  • data and clock are physically separated, and the simplest way to transmit, receive, and reproduce data is possible.
  • the I 2 C bus is described in, for example, the Philips I 2 C bus specification manual (January 1992).
  • a clock signal is reproduced by a data signal and a strobe signal.
  • the transmission data changes to a different value, only the data signal changes. If the transmission data has the same value, only the strobe section signal changes. For example, if the transmission of the data signal changes from “0” to “1” or “1” to “0”, the stop signal does not change. If the transmission data of the overnight signal does not change from "0" to "0” or “1” to “1”, only the strobe signal changes. As a result, it is possible to reproduce the clock signal by taking the exclusive OR of the data signal and the strobe signal.
  • the transition edge of the data signal is at the same timing as the transition edge of the clock, so that the clock signal cannot be used as it is on the data reproduction (demodulation) side.
  • an exclusive OR of the data signal and the strobe signal is taken, and a synchronization clock is reproduced.
  • the data signal must be sampled further using this clock. For this reason, the degree of simplicity of the circuit configuration of the interface does not sufficiently satisfy the requirements of a home-use game device that requires extremely low cost.
  • an object of the present invention is to provide an inexpensive interface data transmission system which can be applied to an information processing apparatus such as a home game system and can be configured at a low cost.
  • Another object of the present invention is to provide a basic technology for developing a variety of peripheral devices by proposing a new interface technology between the game device and the peripheral devices.
  • a data transmission method comprises:
  • a data transmission method for serially distributing data to first and second data signals wherein the first and second data signals each include a start pattern section, a data pattern section, and an end pattern section.
  • the start pattern section transmits the second data signal to the second data signal while the first data signal is maintained at a constant potential level.
  • the data pattern portions of the first and second data signals are each composed of a pulse train including a clock signal component and the pulse pattern including a clock signal component.
  • the peak signal components included in the pulse train signals of the first and second data signals are arranged with their positions on the time axis shifted from each other by a predetermined value, and correspond to the timing of the clock signal component of one of the data signals.
  • the data pattern of the other data signal is transmitted in such a manner that the data bits of the other data signal are respectively located.
  • the end pattern portion is configured to perform the first data signal while the second data signal is maintained at a constant potential level. Characterized by a format in which the data signal is transmitted as a second pulse train signal.
  • the constant potential level is one of a power supply potential and a ground potential.
  • the first and second pulse train signals are each composed of a different number of pulse trains.
  • the side receiving the first and second data signals sequentially receives the data signal by latching the potential level of the other data signal at the timing of the clock signal component of the one data signal. De-night Separate the night superimposed on the signal.
  • the detection of the clock signal component is performed by one of the rising and falling edges of each pulse in the pulse train.
  • a game device is a game device that collects and uses information necessary for a game from a peripheral device via a signal transmission path, and transmits the information to the peripheral device.
  • the data requesting transmission is distributed to the first and second data signals and transmitted, and the first and second data signals each include a start pattern section, a data pattern section, and an end pattern section.
  • the start pattern portion is configured by a frame defined by a transmission format, and the start pattern portion corresponds to a timing in which the first data signal is maintained at a constant potential level during a first period.
  • the data pattern portion of the first data signal includes a first clock signal, and the data bits of the first data column are inserted between each pulse of the first clock signal so as to be inserted into the first data signal.
  • Composing a data signal The data pattern portion of the second data signal includes a second clock signal of the same cycle having a predetermined phase difference from the first clock signal, and a data bit of the second data sequence is converted to the second clock signal.
  • the second data signal is inserted between the respective pulses of the first and second data signals, whereby the data pattern portions of the first and second data signals are connected to each other.
  • the end bit portion of the other end signal is transmitted in such a manner as to be located corresponding to the timing of the back signal component.
  • the first data signal including the second pulse train signal is transmitted during the second period in response to the timing when the second data signal is maintained at the constant potential level during the second period.
  • the start pattern unit, Serial de - sending to the peripheral device as a transmission unit frames are Ru represented by two data signals including evening pattern portion and the Endopa evening Ichin unit.
  • the first and second data strings are serial data strings, respectively, and the first data string is a data string of odd-numbered bits of the data to be transmitted.
  • the data string 2 is a data string of even-numbered bits of the data to be transmitted.
  • the game device has a plurality of input / output ports for connecting peripheral devices, and a peripheral device connected to the input / output ports from the game device via a signal transmission path.
  • the data pattern transmitted to the device includes a command code and a parameter
  • the parameter includes a destination address indicating a destination of data, a source address indicating a source of data, and a parameter.
  • the destination address and the source address include information on an input / output port to which the peripheral device is connected.
  • the signal transmission path includes a pair of data signal lines, and the first and second data signals are distributed to and transmitted to the pair of data signal lines.
  • the signal transmission path is a wireless communication signal or an optical communication signal including a pair of carrier components that can be separated by a peripheral device, and the first and second data signals are included in the pair of carrier components and distributed. Transmitted.
  • the signal transmission path is constituted by a pair of wireless communication channels or a pair of optical communication channels, and the first and second data signals are distributed and transmitted to the pair of channels.
  • the present invention also relates to a peripheral device that receives the first and second data signals transmitted from the game device and transmits the data in response to a request from the game device.
  • the device reproduces data transmitted from the data pattern portion of the first and second data signals, and responds to a data transmission request included in the data by the peripheral device to reproduce the game.
  • the data transmitted from the peripheral device to the game device is distributed to third and fourth data signals and transmitted, and the third and fourth data signals are transmitted to the game device.
  • Each of the data signals is composed of a frame defined in a transmission format including a start pattern part, a data pattern part, and an end pattern part.
  • the start pattern part is the third pattern
  • the fourth data signal including the third pulse train signal is output during the third period in response to the timing at which the data signal is maintained at a constant potential level during the third period.
  • Data to be transmitted from the peripheral device is divided into third and fourth data strings, and the data pattern part of the third data signal includes a third clock signal.
  • a data pattern portion of the fourth data signal includes a fourth clock signal having the same cycle as the third clock signal and having a predetermined phase difference;
  • the fourth data signal is inserted between each pulse of the fourth clock signal to form the fourth data signal, whereby the data pattern portion of the third and fourth data signals is
  • the data pattern of the other data signal is transmitted in such a manner as to be positioned corresponding to the timing of the clock signal component of one of the data signals.
  • the third data signal including the fourth pulse train signal is transmitted during the fourth period.
  • the third and fourth data signals are transmitted in units of frames represented by two data signals including the start pattern part, the data pattern part, and the end pause part. It is configured to be transmitted from a peripheral device.
  • the present invention also relates to a peripheral device for transmitting information necessary for a game to a game device via a signal transmission path, wherein data transmitted from the peripheral device is distributed to first and second data signals.
  • the first and second data signals are each composed of a frame defined in a transmission format including a start-up part, a data pattern part and an end pattern part, and
  • the pattern unit converts the second data signal including a first pulse train signal into the first period.
  • Data to be transmitted to the game device is divided into first and second data strings, and the data pattern portion of the first data signal is a first clock signal.
  • the first data The data bits of the column are inserted between each pulse of the first clock signal to form the first data signal, and the data pattern portion of the second data signal is the same as the first clock signal.
  • a second clock signal having a predetermined phase difference and having the same period; and Is inserted between each pulse of the second clock signal to form the second data signal, whereby the data pattern part of the first and second data signals is
  • the end pattern portion is formed of a format in which the data bits of the other data signal are transmitted so as to correspond to the timing of the clock signal component of the data signal.
  • the first data signal including the second pulse train signal is transmitted during the second period in response to the timing when the signal is maintained at the constant potential level during the second period.
  • a frame represented by two data signals including the start pattern section, the data pattern section, and the end pattern section is transmitted to the game device as a transmission unit.
  • the game device has a plurality of input / output ports for connecting the peripheral device, and information about the input / output port to which the peripheral device is connected is notified from the game device,
  • the evening pattern section includes a command and a parameter-evening, and the parameter evening is configured to include at least the address of the peripheral device generated based on the notified information on the input / output port.
  • the game device has a plurality of input / output ports for connecting peripheral devices, each of the input / output ports is defined by unique port information, and the peripheral device includes at least one functional device.
  • the data pattern portion includes a command and a parameter
  • the parameter includes a source address indicating an address of the peripheral device on the signal transmission path
  • the source address includes information indicating a type of the functional device and the function.
  • the game device is configured to be generated based on information indicating a connection state of a device and port information of an input / output port to which the peripheral device is connected, which is notified from the game device.
  • the present invention further relates to a game system that uses a peripheral device connected to a game device via a transmission line, wherein the peripheral device includes at least one functional device, and a device between the game device and the functional device.
  • Evening transmission is a pair of data This is performed by serially distributing the signals into signals, and the receiving side reproduces the data from the received pair of data signals.
  • Each of the pair of data signals has a start pattern.
  • a transmission format including a data pattern section and an end stop section. In the start pattern section, the timing is set so that one of the pair of data signals is maintained at a constant potential level.
  • a plurality of pulses are transmitted as the other data signal, whereby the reception side recognizes the start of transmission of the signal from the transmission side, and in the end pattern portion, the other data signal is transmitted to the fixed side.
  • a plurality of pulses are transmitted as the one data signal, whereby the receiving side transmits a signal from the transmitting side.
  • the pair of data signals include clock signals sequentially transmitted, and represent data bits corresponding to the timing of the clock signal of one of the data signals.
  • the receiving side detects in the data pattern section of the pair of received data signals that the signal level of the other data signal is detected in accordance with the timing of the clock signal of the one data signal. It is configured to alternately perform these successively, combine them on the time axis, and reproduce the data transmitted from the transmitting side.
  • the number of the plurality of pulses in the start pattern portion and the number of the plurality of pulses in the end pattern portion are different from each other.
  • the present invention also relates to a peripheral device used in the game system, wherein the data pattern transmitted from the game device includes a command for requesting the functional device to transmit data. Reproduces the data transmitted from the game device from the data pattern portion of the received pair of data signals Then, in response to the data transmission request command included in the data, the data necessary for the game generated by the functional device is distributed to the data pattern part of the configuration, and the data is distributed as a pair of data signals. It is configured to transmit to the game device via a transmission path.
  • the game device has a plurality of input / output ports for connecting the peripheral device, and each of the input / output ports is defined by unique port information.
  • the apparatus includes at least one functional device; the data pad includes a command and a parameter; and the parameter includes a source address representing an address on the signal transmission path of a peripheral device;
  • the address is generated based on information indicating the type of the functional device and port information of an input / output port to which the peripheral device is connected, which is notified from the game device, and is stored in the peripheral device.
  • the transmission destination address included in the data pattern part of the transmitted data overnight signal is compared with the transmission source address generated in the peripheral device, and it is determined that they match. And transmitting the data generated by the functional device to the game device via the signal transmission path together with the transmission source address.
  • the present invention also relates to a peripheral device used by connecting to an input / output port of a game device.
  • the peripheral device is connected to a connector detachably connected to the input / output port of the game device, and connected to a connector.
  • a game device and a peripheral device wherein the transmitting device distributes the data into a pair of data signals, serially transmits the data through the pair of data lines, and the receiving device transmits the data to the receiving device. It is configured to reproduce the data from the received pair of data signals, and the pair of data signals is a start pattern unit for notifying the start of data transmission in one frame, and a data pattern.
  • a transmission format including an end pattern section for notifying the end of data transmission, wherein the data pattern section includes a pair of data signals, one of which is transmitted to another. It was seen including a clock signal that is sequentially sent displaced a certain time, one of the de Isseki signal of the clock signal de Isseki bit corresponding to the timing of the The transmitted signal level is alternately transmitted as the other data signal, so that the transmitted data is distributed to the pair of data signals and transmitted sequentially, and the receiving side receives one of the data signals. By sequentially and alternately performing the detection of the potential level of the other data signal at the timing of the mouth signal, the data transmitted by the transmitting side is reproduced from the pair of received data signals.
  • the game device sends a data signal including a command for requesting data transmission to the peripheral pattern unit to the peripheral device, and the peripheral device responds to the data transmission request command and the data generated by the peripheral device. It is configured to include one night in the night and night pattern part and transmit it to the game device.
  • a plurality of pulses are transmitted as the other data signal in response to a timing at which one of the pair of data signals is maintained at a constant potential level.
  • the receiving side recognizes the start of transmission of a signal from the transmitting side, and the end pattern portion generates the one data signal as the one data signal corresponding to the timing when the other data signal is maintained at the constant potential level.
  • a plurality of pulses are transmitted so that the receiving side recognizes the end of the transmission of the signal from the transmitting side.
  • the constant potential level is one of a power supply potential and a ground potential
  • the plurality of pulses included in the start pattern portion are constituted by four consecutive pulses
  • the end pattern The plurality of pulses included in the section are constituted by two consecutive pulses.
  • the game device has a plurality of input / output ports, a connector of the peripheral device is detachably connected to any of the input / output ports, the peripheral device includes at least one functional device, And notifies the connected peripheral device of data including the port number of the input / output port to which the peripheral device is connected and the identification number of the functional device assigned to the input / output port. And a source address indicating an address of the functional device on the transmission path, and the source address is held in advance by the peripheral device.
  • the game device includes a plurality of input / output ports, and represents the input / output port from the game device when the peripheral device is connected to any of the input / output ports via the transmission line.
  • the input / output port information is configured to be notified, and the peripheral device further includes an extension connector for connecting an extension peripheral device to the transmission line, and the peripheral device itself is directly connected to the game device.
  • Peripheral device identification information indicating that there is a basic peripheral device of the type to be stored is stored in advance, the peripheral device identification information, the input / output port information notified from the game device, and an extension peripheral to an extension connector.
  • a source address is generated based on connection information indicating a connection state of the extension peripheral device obtained by determining the presence or absence of connection of the device, and the extension peripheral device is connected to the extension connector.
  • the embodiment of the peripheral device is characterized in that the extension socket is distinguished from a voltage level of a specific terminal of the extension connector to which a level shift circuit adapted to be supplied with a bias voltage by the extension peripheral device is connected. It is configured to determine the presence or absence of a connection to a mouse.
  • the present invention also relates to an extension peripheral device connected to the peripheral device via the extension connector, the extension connector being notified from the peripheral device via the extension connector after connection to the extension connector.
  • Extended connector identification information relating to the extended peripheral device extended peripheral device information indicating that the peripheral device is a type of peripheral device to be connected to an extended connector held in advance in the extended peripheral device, and the transmission path notified from the game device Based on the input / output port information indicating the input / output port to which the A source address of the extended peripheral device is generated and stored.
  • a destination address included in a data signal transmitted from the game device matches a source address held by the extended peripheral device, And transmitting a data signal including the data generated by the source address and the extension peripheral device to the transmission line in response to the request.
  • the present invention further relates to a plug connector for connecting the peripheral device to a bus connector of the game device, wherein the game device has an input / output port having a bus connector, and each bus connector is A power supply potential supply terminal and a ground potential terminal are arranged on one of two surfaces opposed to each other with the base interposed therebetween, and a pair of data signal transmission terminals is provided on the other of the two surfaces.
  • a groove configured to insert the base and two inner walls facing the groove are provided corresponding to the two surfaces of the base, and one of the two inner walls has a power supply on the base.
  • a power supply potential supply terminal and a ground potential terminal are provided corresponding to the potential supply terminal and the ground potential terminal, and a pair of data signal transmission terminals on the base is provided on the other of the two inner wall surfaces.
  • a data signal transmission terminal is provided, and the A data line constituting the transmission line is connected to a pair of data transmission terminals of the connector respectively, and the data signal is distributed and transmitted through the pair of transmission terminals. It is comprised in.
  • a shield terminal is further provided at an intermediate portion between the pair of data transmission terminals.
  • the present invention further provides a plug connector for connecting the extended peripheral device to the basic peripheral device, wherein the basic peripheral device has an extended connector portion, and the extended connector portion has a horizontally elongated fourth surface having a flat surface.
  • a first base having a horizontally elongated first groove having a flat inner wall surface and arranged side by side in a horizontally extending direction of the first base, wherein the first base has a plurality of connections arranged on a flat surface;
  • a first terminal group including terminals, the first groove portion includes a second terminal group including a plurality of connection terminals disposed on a flat inner wall surface, and the first terminal group and the second terminal group ,
  • Each, from extended peripherals to gaming devices A pair of first data supply connection terminals connected to a pair of data lines carrying one-way data transmission, and a pair of data carrying one-way data transmission from the game device to the extended peripheral device A pair of second data supply connection terminals connected to a wire, wherein the plug connector has a horizontally long second groove having
  • a pair of first data supply connection terminals connected to a pair of data lines for one-way data transmission to the game device, and one-way data transmission from the game device to the extended peripheral device.
  • a pair of second data supply connection terminals connected to a pair of data lines, respectively, and a group of data lines connected to the third terminal group and the fourth terminal group are each provided with a sub data transmission. It is configured to function as a road.
  • the present invention also provides a plug connector having the above-described configuration for connecting the extended peripheral device to the peripheral device as a basic peripheral device.
  • the present invention also relates to a peripheral device used by being connected to the game device, wherein the peripheral device notifies the game device of information that the peripheral device is a type of peripheral device that generates an output at random.
  • the game device recognizes that the connected peripheral device is a peripheral device of a type that randomly generates an output
  • the game device transmits a transmission path occupation pattern to the peripheral device, and the input device to which the peripheral device is connected.
  • the peripheral device is informed that the output port has entered the transmission line occupation mode, and the peripheral device can transmit the output data at any time during the transmission line occupation pattern.
  • the transmission line occupancy pattern corresponds to a timing at which one of the first and second data signals is maintained at the one potential level.
  • the peripheral device When the transmission line occupancy mode is entered, the peripheral device can transmit an output at an arbitrary timing during the transmission line occupation mode, and when the peripheral device is operated, transmits a trigger signal to the game device.
  • the transmission line occupation mode is configured to be a screen drawing period for every single video signal.
  • the present invention is also characterized in that the peripheral device is a simulation gun. In this embodiment of the peripheral device, it is a light gun.
  • An embodiment of the peripheral device is an extended peripheral device of the type that exchanges data transmission with the game device via a basic peripheral device of the type directly connected to the game device.
  • the present invention is an information storage medium storing a program for operating a computer system as the game device.
  • the present invention is also an information storage medium storing a program for operating a convenience store system as the peripheral device.
  • the transmission method of the present invention it is possible to form a communication interface in which a modulation / demodulation circuit can be relatively easily configured with a small number of data lines (two).
  • the superimposed data is obtained by latching the level of the other one of the first and second data signals by latching the level of the other one of the first and second data signals with the pulse edge of the closing signal component of the one of the first data signals Can be separated by a simple circuit configuration.
  • the pulse edge of the pulse signal included in one of the two data signals representing the data pattern is located on the time axis at the data portion of the other data signal on the time axis. Since the pulse page of the clock signal included in the data signal is determined so as to be located on the time axis in the data portion of the one data signal, the data superimposed on the other data signal by one clock signal One night can be easily separated.
  • a peripheral device that performs data communication with the game device via a data transmission path connected to any one of the input / output ports of the game device having one or more input / output ports.
  • First storage means for storing in advance the identification information of the above, and second storage means for storing input / output port information indicating the input / output port to which the data transmission path is connected, which is notified from the game device, and A source address forming means for forming its own source address to be added to the data to be transmitted to the game device based on the peripheral device identification information and the input / output port information.
  • the device can know the address of the peripheral device on the transmission line and the type of the peripheral device from the received transmission data.
  • Each of the basic peripheral device and the extended peripheral device holds unique information including information on the type of the peripheral device and device-specific information.
  • the game device reads out the unique information by the data communication,
  • the game device refers to the unique information to determine compatibility between the game application and the peripheral device, thereby enabling so-called plug-and-play and avoiding use of the peripheral device that is not compatible with the application.
  • the expansion peripheral device performs data communication with a game device having a plurality of input / output ports via a peripheral device (basic peripheral device) having a plurality of expansion connectors connected in parallel to one of the input / output ports, Then, a source address used in the data communication is formed using information on the input / output port notified from the game device and information on the used expansion connector notified from the peripheral device, and the source address is a single address. Rather, such peripheral device functions that include certain information are suitable for plug-and-play and the like.
  • the peripheral device includes at least one functional device.
  • the data communication between the game device and the peripheral device in the game system having such a configuration starts at the start timing because one or both of the two data signals include the transmission clock component. In the evening, it is easy to detect end patterns and to separate data from data patterns. Modulation and demodulation circuit configuration is relatively simple.
  • FIG. 1 is an explanatory diagram illustrating an example of a host (game device) 1, a peripheral device 2, and an extended peripheral device 3.
  • FIG. 2 is a block diagram illustrating a control system of the host.
  • FIG. 3 is a block diagram illustrating a connection relationship between a host and a device.
  • FIG. 4 is a block diagram illustrating the relationship between the host, the upper device, and the lower device.
  • FIG. 5 is a block diagram illustrating assignment of absolute positions.
  • FIG. 6 is a block diagram illustrating that a device as viewed from the host has position transparency.
  • FIG. 7 is an explanatory diagram illustrating the configuration of one frame of the transfer data.
  • FIG. 8 is a block diagram illustrating the configuration of the interface from the aspect of the software.
  • FIG. 1 is an explanatory diagram illustrating an example of a host (game device) 1, a peripheral device 2, and an extended peripheral device 3.
  • FIG. 2 is a block diagram illustrating a control system of the host.
  • FIG. 9 is a block diagram illustrating the hierarchy of the communication protocol between the host and the device.
  • FIG. 10 is an explanatory diagram for explaining the overnight transmission system.
  • FIG. 11 is an explanatory diagram illustrating a standard format of a transmission frame.
  • FIG. 12 is an explanatory diagram for explaining a format of a transmission frame with a CRC option.
  • FIG. 13 is an explanatory diagram for explaining a start pattern (a) and an end pattern (b) of the synchronization pattern.
  • FIG. 14 is an explanatory diagram illustrating a CRC option start pattern.
  • FIG. 15 is an explanatory diagram illustrating an SDCKB occupation permission pattern.
  • FIG. 16 is an explanatory diagram illustrating a reset pattern.
  • FIG. 10 is an explanatory diagram for explaining the overnight transmission system.
  • FIG. 11 is an explanatory diagram illustrating a standard format of a transmission frame.
  • FIG. 12 is an explanatory diagram for explaining a format of a transmission frame with a CRC option
  • FIG. 17 is an explanatory diagram for explaining a mode of communication between the host and the device function.
  • FIG. 18 (a) is an explanatory diagram for explaining a state on the M bus where data communication is performed intermittently in a format in which each device function responds to a command from the host.
  • FIG. 2B is an explanatory diagram for explaining an example of intermittently transmitting data using a plurality of transmission frames when data to be transmitted is long.
  • FIG. 19 is an explanatory diagram schematically explaining the operation of the device.
  • FIG. 20 is an explanatory diagram illustrating a procedure for setting an absolute position (AP).
  • Figure 21 is a block diagram illustrating the host MIE. is there.
  • FIG. 22 is a block circuit diagram illustrating the operation principle of the frame encoder.
  • FIG. 23 is a timing chart for explaining the operation of the frame encoder.
  • FIG. 24 is a block circuit diagram for explaining the operation principle of the orbit shift register.
  • FIG. 25 is a timing chart for explaining the operation of an orbit shift register (parallel to serial conversion).
  • FIG. 26 is a block circuit diagram illustrating the operation principle of the frame decoder.
  • FIG. 27 is a timing chart for explaining the operation of the frame decoder.
  • FIG. 28 is a block circuit diagram for explaining the operation principle of the all-in-one shift register (serial / parallel conversion).
  • FIG. 29 is a timing chart for explaining the operation of the alternate shift register.
  • FIG. 30 is a block diagram schematically showing the entire configuration of the standard controller.
  • FIG. 31 is a block diagram illustrating the MIE of the standard controller.
  • FIG. 32 is a block diagram illustrating a bus switching unit that is transparent (positional transparent) during a day.
  • FIG. 33 is a block diagram illustrating the MIE of the U-device.
  • FIG. 34 is a block diagram illustrating the MIE of the L-device.
  • FIG. 35 is a flowchart illustrating the determination of the transmission pattern in the MIE.
  • FIG. 36 is a flowchart illustrating the formation of a frame signal in the standard format.
  • FIG. 37 is a flowchart illustrating the formation of a frame signal in a format with CRC options.
  • FIG. 38 is a flowchart for explaining the operation based on the SDCKB occupation pattern.
  • FIG. 39 is a flowchart illustrating transmission of the reset pattern.
  • FIG. 39 is a flowchart illustrating transmission of the reset pattern.
  • FIG. 40 is a flowchart illustrating a receiving operation in the MIE.
  • FIG. 41 is a flowchart illustrating a process when a short-circuit pattern is detected.
  • FIG. 42 is a flowchart for explaining processing when a start pattern with CRC is detected.
  • FIG. 43 is a flowchart illustrating an example in which the host reads the unique information held in the device.
  • FIG. 44 is an explanatory diagram illustrating a plurality of modes of connection between the host, the basic device, and the extension device.
  • Figure 45 conceptually shows the relationship between the host and the functions (base device, expansion device).
  • FIG. FIG. 46 is an explanatory diagram illustrating the data communication between the host and the basic and extension devices using a layered model.
  • FIG. 47 is an explanatory diagram for explaining the connection relationship between the basic device and each extension device.
  • FIG. 48 is an explanatory diagram for explaining the structure of the frame detour.
  • FIG. 49 is an explanatory diagram for explaining the timeout.
  • FIG. 50 is an explanatory diagram illustrating data transmission by the SDCKA signal and the SDCKB signal.
  • FIG. 51 is an explanatory diagram illustrating a start pattern and an end pattern.
  • FIG. 52 is an explanatory diagram illustrating an SDCKB occupation permission pattern.
  • FIG. 53 is an explanatory diagram illustrating a reset pattern.
  • FIG. 54 is an explanatory diagram illustrating the format of a frame.
  • Fig. 55 is an explanatory diagram for explaining the outline of the data transmission between the host and peripheral devices (basic device, expansion device).
  • FIG. 56 (a) is an explanatory diagram for explaining that data communication is performed intermittently in a format in which each device responds to a command sent from the host to the device.
  • FIG. 3B shows an example in which, when the data to be transmitted is larger than the amount that can be transmitted in one transmission frame, the data is divided into a plurality of data and transmitted intermittently in a plurality of transmission frames.
  • FIG. FIG. 57 is an explanatory diagram illustrating all AP values of a host, each basic device, and each expansion device.
  • FIG. 58 is an explanatory diagram for explaining the procedure of AP setting (absolute address) of a basic device.
  • FIG. 59 is an explanatory diagram for explaining an AP setting (absolute address) procedure of the extension device.
  • FIG. 60 is an explanatory diagram illustrating frame data transfer between a host, a basic device, and an extension device.
  • FIG. 61 is an explanatory diagram illustrating a normal communication procedure between a host and a basic device (or an expansion device).
  • FIG. 62 is an explanatory diagram for explaining the SDCKB occupation procedure between the host and the basic device.
  • FIG. 63 is a block diagram illustrating the MIE of the host.
  • FIG. 64 is a block diagram illustrating the configuration of the basic device.
  • FIG. 65 is a block diagram illustrating the configuration of the MIE of the basic device.
  • FIG. 66 is a block diagram illustrating the connection between the basic device and the extension device.
  • Figure 67 illustrates the procedure when the base device receives data from the host.
  • FIG. 68 is an explanatory diagram for explaining the procedure when the basic device receives data from the host that is larger than the transmission / reception buffer.
  • FIG. 69 is an explanatory diagram for explaining a procedure when a device is transmitted from a basic device to a host.
  • FIG. 70 is an explanatory diagram for explaining a procedure in the case where data larger than the capacity of the MIE transmission / reception buffer is transmitted from the basic device to the host.
  • FIG. 71 is an explanatory diagram for explaining the command “Device Request”.
  • FIG. 68 is an explanatory diagram for explaining the command “All Status Request”.
  • FIG. 73 is an explanatory diagram for explaining the command “Device Reset”.
  • FIG. 74 is an explanatory diagram for explaining the command “Device Kill”.
  • FIG. 75 is an explanatory diagram for explaining the command “Date Transfer”.
  • FIG. 76 is an explanatory diagram for explaining the command “Get Condition”.
  • FIG. 77 is an explanatory diagram for explaining the command “Get Media Info”.
  • FIG. 78 is an explanatory diagram for explaining the command “Block Read”.
  • FIG. 79 is an explanatory diagram for explaining the command “Block Write”.
  • FIG. 80 is an explanatory diagram for explaining the command “Get Last Error”.
  • FIG. 81 is a block diagram showing an example of a basic device (game controller) of a relative address.
  • FIG. 82 is a block diagram showing an example of a basic device (game controller) having an absolute address.
  • FIG. 83 is a block diagram showing an example of a relative address expansion device (LCD cartridge).
  • FIG. 84 is a block diagram showing an example of an absolute address expansion device (LCD cartridge).
  • FIG. 85 is a block diagram showing an example of a relative address expansion device (memory cartridge).
  • FIG. 86 is a block diagram illustrating an example of an absolute address expansion device (memory cartridge).
  • FIG. 87 is a block diagram showing an example of a relative address expansion device (vibration force / triage).
  • FIG. 88 is a block diagram showing an example of an absolute address expansion device (vibration cartridge).
  • FIG. 89 is a block diagram showing an example of a relative address expansion device (light gun cartridge).
  • FIG. 90 is a block diagram showing an example of an absolute address extension device (write gun cartridge).
  • Figure 91 shows a block diagram of an example of a relative address expansion device (voice input cartridge).
  • FIG. 92 is a block diagram showing an example of an absolute address expansion device (voice input cartridge).
  • FIG. 93 is a block diagram showing an example of a relative address expansion device (audio output cartridge).
  • FIG. 94 is a block diagram illustrating an example of an absolute address extension device (audio output cartridge).
  • FIG. 95 is an explanatory diagram illustrating an example in which the M bus is configured by wireless (wireless communication).
  • FIG. 96 is an explanatory diagram illustrating another example in which the M bus is configured by wireless (optical communication).
  • FIG. 97 (a) is an explanatory diagram illustrating the M bus connector of the game controller.
  • FIG. 2B is an explanatory diagram illustrating an LM bus connector of the game controller.
  • FIG. 92 is a block diagram showing an example of an absolute address expansion device (voice input cartridge).
  • FIG. 93 is a block diagram showing an example of a relative address expansion device (audio output cartridge).
  • FIG. 94 is a block diagram illustrating an example of an absolute address
  • FIG. 98 is an explanatory diagram illustrating an example of another game controller.
  • FIG. 99 is a front view illustrating an example of the socket of the M bus connector.
  • FIG. 100 (a) is a side view illustrating the plug of the M bus connector,
  • FIG. 100 (b) is a top view of the plug, and
  • FIG. 100 (c) is a front view of the plug.
  • FIG. 101 is an explanatory diagram of a connector provided on a peripheral device (basic device) side of the M-bus cable.
  • FIG. 102 (a) is a top view of the socket of the LM bus connector, and
  • FIG. 102 (b) is a front view of the plug.
  • Fig. 103 (a) is a top view of the plug of the LM bus connector, and Fig.
  • FIG. 103 (b) is a front view of the plug.
  • FIG. 104 is a perspective view showing an example of another game device.
  • FIG. 105 is a rear view showing the game device.
  • FIG. 106 is a block diagram showing a control system of another game device.
  • FIG. 107 is a block diagram of a network system to which the present invention is applied.
  • FIG. 108 is a block diagram of another network system.
  • FIG. 1 is an explanatory diagram illustrating a game device as a computer system.
  • FIG. 2 is a block diagram illustrating a control system of the game device.
  • the game device (host) 1 includes a CPU 1 a for executing a game program, etc. ROM 1b for storing control programs, data, 0S, etc. as a game device, CD-ROM device 1c for storing game application programs and data, bus for controlling data transfer between the CPU 1a and each unit Controller 1d, RAM 1e that holds programs and data of CPU 1a and is used for data processing, Drawing processor 1f that forms image signals from drawing data, Sound processor that forms audio signals from audio data 1g, CPU 1a and peripheral interface 1h for relaying data transfer between external peripheral devices. Part of the area of the RAM 1e is used as a work RAM for the peripheral processing, and so-called DMA operation is enabled.
  • the image signal and the audio signal are supplied to the monitor 4, for example, a television, and the video and the audio are output.
  • the peripheral device includes a basic peripheral device 2 and an extended peripheral device 3.
  • the basic peripheral device 2 is connected to the peripheral controller lh via a connector 1 i, and the extended peripheral device 3 is connected to the basic peripheral device 2.
  • the basic peripheral device 2 and the extended peripheral device 3 are electrically (or logically structurally) connected in parallel to the host.
  • the basic peripheral device 2 is, for example, a game controller
  • the extended peripheral device 3 is, for example, a voice input device, a voice output device, a light gun module, a vibration device, a memory device, and the like.
  • peripheral devices are examined from the viewpoint of the functions to be performed, and are classified into U device functions and L device functions. This classification is not only when one function is formed in one peripheral device, but also when multiple functions are formed in one peripheral device, or one function is realized by multiple peripheral devices. This is in consideration of cases that may occur.
  • peripheral devices are classified into basic peripheral devices and extended peripheral devices based on the connection relationship between the devices.
  • Embodiments of the present invention are roughly classified into a first embodiment and a second embodiment.
  • serial data data obtained by developing data in a time series is called "serial data.”
  • a signal line for exchanging data over a serial connection is called a “serial bus”.
  • the serial bus that connects the game device and the peripheral device that adopts the interface standard of the present application is referred to as an M bus (M-Bus).
  • the registration identification number assigned to each device function of the peripheral device from the beginning is called “device ID”.
  • a plurality of device IDs for example, 256 types, can be prepared.
  • One port may have the same device number more than once.
  • the point at which the peripheral controller of the game device and the peripheral device are connected by the M bus is called a “port”.
  • multiple ports can be actively connected.
  • the embodiment describes an example in which four ports (port A, port B, port C, and port D) are supported.
  • the game device side is called “host”, and one of the functions of peripheral devices connected to it is called “device function”.
  • the device function refers to the function of the device, not the device (product) itself.
  • the function of one device is divided into a plurality of functions and each device function is It can be.
  • M bus there is one host, and device functions are connected to it in a tree. And each device function appears to be on the same M bus. Multiple device functions, for example, 14 device functions can be connected to one port.
  • the device function is, for example, a peripheral device of a game device. Function as a game controller, game pad, joystick, keyboard, simulated control device, simulated gun, storage device, audio device, etc.
  • each device function is classified into two types, “upper (U) device function” and “lower (L) device function”.
  • U Device function can connect to the host.
  • the U-depth function has the ability to control the L-device function.
  • An L-device function is a device function that is connected to, or presupposed to be connected to, a U-device function.
  • the M bus that connects the U-device function to the L-device function is called the “LM bus”.
  • the game controller of the game device is mainly a U-device function, and the expansion (peripheral connection) device is an L-device function.
  • the expansion (peripheral connection) device is an L-device function.
  • up to 14 L-device functions can be connected to the M bus.
  • U-device function it is also possible to connect a U-device function to a U-device function.
  • the connected U-device function becomes an L-device function.
  • the U-device function and the L-device function need not be physically separated, and another device function that is logically separated in the U-device function can be an L-device function. I can do it.
  • a digital control unit in an IC (for example, a microphone computer) that controls the device function of a peripheral device, a digital control unit can be a U-device function and an analog control unit can be an L-device function for each function.
  • an analog control unit When not using the L-device function, that is, the analog control unit, it is possible to disable that part.
  • a number is assigned to each device function in order from port A so that the host can directly access any of a plurality of device functions at each port of the host.
  • the identification number (or code) for access assigned to each device function is described as “absolute position”.
  • one AP is reserved for the port, so a maximum of 15 APs can be assigned to one port. As a result, up to 15 device functions can be used per port. In addition, since one U-depth function is connected to one port, the maximum number of L-device functions is 14 device functions.
  • the range of numbers that can be used for APs assigned to device functions is determined for each port.
  • the configuration of AP is as follows.
  • the AP value of the device function is "0" for port A 0000 00 1 "to” 0 0 0 0 1 1 1 1 ", Port B" 0000 1 0 "
  • the AP of each port of the host from the point of view of the device function is always the minimum value of the AP that can be used at that port.
  • the device function and host can determine the connected port from the upper 4 bits of AP. To access the device function, specify the device function to be accessed by this AP.
  • each device function By specifying the AP assigned to each device function, one device function is specified, so that the host can directly access each device function of the peripheral device. Therefore, as shown in Fig. 6, from the host's perspective, the host and each device function appear to be connected without going through anything. In other words, each device appears to be connected on the same bus.
  • the exchange of data between the host and the device function is not a one-way traffic as in the past, and data is exchanged using certain instructions so that data can be transmitted and received at the right time. I do.
  • This command is called a “command”.
  • the command data is referred to as "parameter overnight”.
  • one transmission data is composed of one frame of the command + one parameter (for example, 256 bytes).
  • the parameters include AP data, data size, and data, but may not include data.
  • the host issues commands to access device functions. After the device function prepares the corresponding data, it issues a command to the host and sends the data.
  • the M bus for example, up to 254 commands can be prepared, and up to 253 bytes of data can be transferred.
  • a place where a peripheral device, for example, an expansion device for expanding the function of a game controller as a game operation input device is connected is referred to as an “extension socket”.
  • an L-device is connected to the extension socket.
  • a standard game controller for example, has two extended sockets.
  • the number of extension sockets can be the same as the number of L-device functions, for example, up to 14 in the embodiment.
  • M bus I / F engine A circuit or functional device that converts a given data into serial data for the M bus and enables transmission and reception on the M bus is called an “M bus I / F engine (M I E)”. All M-bus standard devices have this MIE.
  • the host incorporates MIE for host, U-device function incorporates MIE for U-device function, and L-device function incorporates MIE for L-device function.
  • M bus driver that supervises the device functions.
  • Device functions are controlled and managed by the M-path driver.
  • the M bus driver manages device IDs (functional identification numbers), APs (absolute positions), ports, etc., receives and transmits commands, and controls and manages data formats.
  • the command can be increased by improving (revising) and adding the M bus driver.
  • the device status records the product name, device ID, license, model number, destination, LM-bus number, etc. as management data, and standby current consumption, maximum current consumption, etc. as electrical data (hardware information). I do.
  • the device status is managed and used by the M-bus driver and the application 'Program' interface (API). For example, it determines the product name of the peripheral device and the permissible connection, and controls the current of the entire port based on the maximum current consumption. Is possible.
  • API application 'Program' interface
  • FIG. 9 schematically shows the range proposed by this interface standard.
  • the application software running on the host performs data communication with device functions of peripheral devices via software called API or directly by giving an instruction to the M bus driver.
  • the commands formed by the M bus driver in response to the instructions are transmitted via the host MIE, cable, peripheral device MIE, and MIE controller, and the control software that is the core of the peripheral device functions. Conveyed to The control software returns a response to the command to the application software running on the host via the MIE controller, the peripheral device MIE, the cable, the host MIE, and the M bus driver.
  • a peripheral device can be provided with a plurality of device functions. In this case, each device function can share the MIE.
  • the MIE and the connection cables correspond to the physical layer
  • the M bus driver and the MIE controller correspond to the logical layer.
  • connection cable uses a total of four wires: a power line pair (Vcc, GND) and a data line pair (SD CKA, SD CKB: both directions). If necessary, a shielded wire that shields the connection cable to prevent noise is added. Data transmission and reception is half-duplex for two-way communication, and an appropriate data transfer rate, for example, 2 Mbps is set.
  • serial data clock (SDCK) A and serial data clock (SDCK) B The transmission principle will be described with reference to FIG. Propagation of the De Isabashi Line It is transmitted by the serial data clock (SDCK) A and serial data clock (SDCK) B.
  • Serial data clocks A and B contain clock components during data transmission and become negative edges (falling edges) alternately as shown in FIG. That is, as shown in the data pattern section of FIG. 11, data bits are inserted between each pulse of the pulse train of the transmission clock, and the serial data clocks A and B are appropriate on the time axis. A certain amount of time (the time when the pulse edge of one signal is located in the overnight portion of the other signal). You.
  • the overnight portion of the signal is the portion where the level of the signal can be changed and bears the L level ("0") or the H level ("1").
  • the L level is a relatively low first potential level (eg, ground potential)
  • the H level is a relatively high second potential level (eg, power supply potential).
  • MSB most significant digit
  • a circuit for performing such data transmission can be configured relatively easily.
  • the timing of the overnight latch may use a positive edge (rising edge).
  • the transmission frequency of the transmission line compared to the I 2 BUS or DS-link method.
  • a data transmission medium must be operated at 10 MHz to transmit a data transmission rate of 10 Mbit / s.
  • 10 Mbits of data are transmitted by sharing 5 Mbits each on two data lines, so theoretically, 5 MHz data on the data line is transmitted.
  • the overnight transmission clock it is possible to obtain a data transmission speed of 10 Mbit / sec.
  • the pulse width is increased by inserting data between clock pulses, the transmission frequency is equivalently reduced in this portion. The need for lower transmission rates simplifies circuit design.
  • FIG. 11 and FIG. 12 show examples of signal transmission formats. Transmission Each mat is composed of a start pattern, a data pattern, and an end pattern. If necessary, a CRC (Cyclic Redundancy Check) check bit is added.
  • CRC Cyclic Redundancy Check
  • Figure 11 shows the standard transmission format. Data transmission is performed in frame units (minimum units).
  • a standard format frame consists of a start (START) pattern that indicates the start of data transmission, a 256-byte data pattern (DATA), and an end (END) pattern.
  • “D” shown in the data overnight pattern indicates a portion that carries the bit information “0” and “1” of the data.
  • FIG. 12 shows an example of a format with a CRC option in which an error correction function is added to a standard data format.
  • an error correction method for example, a cyclic redundancy check (CRC) can be used.
  • CRC cyclic redundancy check
  • a CRC code pattern is added after the data subject to CRC, as shown in the data transmission pattern in Figure 12.
  • the portions other than the data patterns in the transmission format described above are information patterns that carry specific information.
  • the information pattern is defined by the number of signal pulses (transmission clocks) that one of the data lines SD CKA and S D CKB propagates through the other signal line during the “L” level state.
  • Examples of the information pattern include a synchronization pattern, a data line occupation permission pattern, and a reset pattern.
  • Synchronization patterns include the start pattern shown in Fig. 13 (a), the end pattern shown in Fig. 13 (b), and the start pattern with CRC option shown in Fig. 14.
  • the start pattern is a synchronization pattern transmitted prior to the data pattern described above.
  • the MIE on the receiving side detects four negative edges of the data line SD CKB while the data line SD CKA is at the “; L” level, it decodes the subsequent pattern as a data pattern and stores it in memory. Performs buffering to capture.
  • the end pattern indicates the end of the overnight pattern. If the receiving MIE detects two negative edges of the data line SD CKA during the period when the data line SD CKB is at “L” level, it confirms the end of the data overnight pattern and terminates normally. .
  • the start pattern with CRC option is the START pattern when the CRC option is added. If the MIE on the receiving side detects six negative levels on the SD CKB line during the period when the data line SD CKA is at the “L” level, it recognizes the data transmission with the CRC option. Then, an error check is performed on the data portion using 16 bits before the END pattern as CRC data.
  • FIG. 15 shows an example of a data line occupation permission pattern in which the host permits the reception side to occupy one of the data lines.
  • the SD CK B line has eight negative edges while the SD CK A is “L”.
  • the receiving MIE detects the SD CKB occupation permission pattern, the SD CKB can occupy the SD CKB during the “L” period from the next negative edge of the SD CKA. After that, the occupation of SDCKB is released by the positive edge of SDCKA.
  • the data line SD CKB can be occupied, and the output data of a light gun used in a shooting game device can be sent to the game device.
  • Data transfer is performed using only the data line SDCKB, and the data line SDCKA indicates the occupation time (period).
  • Figure 16 shows the reset pattern.
  • the data line SD CKB line has 14 negative edges while the data line SD CKA is at the “L” level. If the MIE on the receiving side detects the reset pattern, it is determined that the reset request is from the host. The device initializes the MIE and deletes the AP. Other initialization is not performed overnight.
  • the command transmission priority is on the host side. Communication is performed in such a way that the device function corresponding to the command from the host responds. Therefore, all communication protocols are started by sending a command from the host.
  • Figure 18 (a) illustrates this situation. Data communication is performed from the host to the device function when necessary. Therefore, intermittent data communication is performed between the host and each of the plurality of device functions on the M bus and the LM bus. If the length of the data to be transmitted exceeds the length defined as one transmission frame, the data to be transmitted is divided into multiple parts as shown in Fig. 18 (b). Each data is transmitted by a plurality of transmission frames (see FIG. 70 described later).
  • the host application program accesses the bus driver to obtain the data from the device function of the specific peripheral device.
  • the driver forms the AP and command as the destination, and the MIE sends the frame data carrying the AP and command to the M bus.
  • the device function connected to the bus is in a standby state in a normal state, and waits for a command from the host.
  • the MIE of the peripheral device receives the frame data and passes the command to the control program of the device function via the MIE controller.
  • the control program detects its own AP, it returns a response to the command to the MIE via the MIE controller.
  • the MIE forms a frame including the reply command and the AP of the host, and outputs the frame to the bus.
  • the host receives the frame and obtains a response to the transmission command.
  • the device function returns to the command waiting state.
  • the host can obtain necessary information from the device function.
  • the shion executes initialization for setting initial values of hardware and the like.
  • an AP setting process for setting an AP value in a device function which will be described later, is performed.
  • recognition of connected device functions, assignment of APs to device functions, etc. are performed.
  • communication between the host and the device function is enabled by the AP, and the device enters a normal operating state.
  • the AP When the device function receives a reset command from the host in the normal operation state, the AP is reset (soft reset). When a bus reset command is received, all device functions connected to the bus of the corresponding port are initialized, and AP settings are reset (hard reset). The host can also send commands to each device function to instruct the operation to be prohibited or stopped.
  • the AP set is a process for recognizing a device function connected to a port and assigning an AP.
  • the host After initialization, the host sends device requests (Device Requests) in order from port A to check whether the device function is connected to the port.
  • the device request is a command that requests a device function to which no AP is assigned to return device status (Device Status), which is device-specific information. Transmission is performed in order from port A and ends at port D.
  • the host grasps the connection relationship and device attributes based on the data, allocates the AP to the device function, and assigns the AP value assigned to the allocated AP value. (AP Assign) to the device function. APs are assigned sequentially within the range set for each port, and the host grasps the relationship between APs and device functions. If the attribute of the device function is unplanned (not used) of the application software, send a command to stop the operation of the device function, Device Kill, and stop the operation of the device function. You can do it. If the device function is a U-depth function, the L-device function connected to it is also stopped, and the entire port can be disabled.
  • the device function receives the AP assignment from the host, stores the assigned AP, and returns a device reply (Device Reply) to the host as a reply from the device function. Thereafter, the host accesses the device function from the device ID using the AP.
  • the host knows the number of LM buses of the device function that is currently set by the device status, so if there is an LM bus, connect one of the LM buses to the device function. To the LM-Bus Connect. If there is no LM bus connection, the processing (10) described later is performed.
  • the host Upon receiving the device reply, the host sends a device request.
  • the U-device function does not respond because AP has already been assigned.
  • the L-device function Upon receiving a device request from the host, the L-device function sends a device status to the host in response.
  • the device function Upon receiving the function start, the device function shifts from the AP set operation to the normal operation. After migration, the device function returns a device reply to the host.
  • the host Upon receiving the device reply, the host sends a function start to the next AP.
  • the host sends a device request to each port at regular intervals. Unused ports can be excluded from access targets.
  • the host recognizes that the device function has been connected. After recognition, a reset pattern is output for that port, and APs for all device functions are deleted. After that, the AP setting process is performed to update the AP and rebuild the connection.
  • the host sends a command to the device function. If there is no response from the device function, the host recognizes that the device function is disconnected. For the disconnected device function, the host deletes the AP and reconstructs the connection.
  • the priority command for command transmission is always sent from the host first, and the depth function responds to it. Sending a command from the device function to the host first is not allowed. Commands will not be resent from the host unless there is a request from the device function.
  • Data format transmission 'Reception data consists of a command and parameters (AP data, data size, data transmission).
  • AP data data, data size, data transmission.
  • start pattern before the command and the end pattern at the end of the parameter are added to the signal actually sent to the data line.
  • Start Pattern +
  • One frame is composed and transmitted in the order of "command pattern” + "AP data overnight” + “data overnight size” + “data overnight” + “end pattern”.
  • the frame is analyzed by the receiving MIE, and the start pattern and end pattern are confirmed. Details of commands and parameters will be described later.
  • MIE for host host is managed by M bus driver.
  • the acquisition of device functions is not automatically performed by MIE, but is performed by each software via the M bus driver. Where each software Is software higher than the driver of the M bus, for example, library software / game software.
  • a single access can communicate with one device function specified by the AP.
  • To obtain data from multiple device functions during one INT access the device function as many times as necessary.
  • 1 INT (interrup is the unit time for rewriting the TV screen, which is about 1/60 second.
  • the port connection check sends a device request to an unconnected port and responds. The port is always in the input (receive) state except when transmitting. The command to use depends on the device function and the situation at that time, so follow the specifications of each device function.
  • the MIE for the device function peripheral device is controlled by a CPU or the like that executes a device function program via the MIE controller.
  • the device function keeps receiving until a command is sent from the host.
  • the device function then creates its own schedule for communication.
  • the device function creates data to be output as the device function (for example, an operation input device such as a control pad and a joystick), asynchronously with the access from the host. If there is a request from the host, data is sent within the specified time.
  • the same command is sent from the host to all device functions connected to the same port.
  • the device function analyzes the received command and parameters, and returns the command only when it matches its own AP. If you do not agree with your own AP, do not react to the host. Which command to use depends on the device function and the situation at that time, so follow the device function specifications for details.
  • Exception processing is a special processing that is provided for devices that cannot control data transmission and reception overnight using commands.
  • An example of such a device is a light gun used in a shooting 'game.
  • the host When the host recognizes that the device function has the device ID of the light gun, it switches the M bus from normal mode to SDCKB occupancy mode. The mode cannot be switched from the device function side. Before switching, the host sends a mode change to check whether the light gun is connected, and then switches the M bus mode according to the SDCKB occupancy pattern.
  • the SD CKB occupancy mode When the SD CKB occupancy mode is entered, all devices on that port enter the SDC KB occupation mode, and no commands are accepted except for device functions that operate in the SD CKB occupation mode. For example, if a light gun, memory card, and vibration unit are connected to port A, the only device function that operates in the SDCKB occupancy mode is the light gun. In the occupancy mode, only the light gun is controlled from the host, and the other device functions, the memory drive unit, do not operate (cannot be controlled from the host).
  • the SD CKB occupation mode is the time of screen rewriting of 1 INT excluding the vertical planning period, that is, the period of drawing the TV screen. The period of drawing the screen is over, Plankin
  • Plankin When it is time to switch to normal mode, it immediately switches to normal mode and sends data and receives data overnight to other port device functions.
  • the part with the light receiving element should be one device function, and the parts such as triggers, direction keys, and analog keys should be another one device function. In this way, it is possible to solve the problem that the direction key cannot be used when the light gun is used. Also, since the light gun is a single device function, it can be connected to other expansion devices. This makes it possible to provide game applications with new functions.
  • Commands are roughly classified into control commands and error commands.
  • the control commands include the basic commands Device Request ⁇ Status Request, All Status Request, All Status Request, AP Assign, LM Path Connect (LM- Bus Connect), Function Start (Function Star), Host Data Transmit (Data Request) ⁇ Data Request (All Data Request), Mode Change (Mode Change), Device Series Device Sleep, Device Reset. Device Kill, Device Status, Device Reply ⁇ Device Data Transmit, etc.
  • LM Path Connect LM- Bus Connect
  • Function Start Function Start
  • Host Data Transmit Data Request
  • Data Request Data Request
  • Mode Change Mode Change
  • Device Series Device Sleep Device Reset.
  • Device Kill Device Status
  • Device Reply ⁇ Device Data Transmit, etc.
  • a device request is a command by which the host requests a device function to which no AP has been assigned to return a device status.
  • the status request (Status Request) is transmitted when the host This command requests the device function to return device status (Fixed Device Status in the event of a failure).
  • the All Status Request indicates that the host sends all device status (specific device information (Fixed Device Status) and free device information (Free Device Status)) to the device function specified by the AP. Command).
  • the device function returns the free device information data after the unique device information data in the device data transmission (Device Data Trandsmit).
  • AP Assign is a command by which the host assigns an AP to a device function. It can be issued only during AP set processing. The device function returns a command refusal (Reject) without accepting it during normal operation.
  • the LM bus connect (LM-Bus Connect) is a command by which the host requests the device function to connect one of the LM buses to the M bus. Each time a device function receives an LM bus connect, it connects its own LM bus one by one. Returns the command reference without processing during normal operation of the device function.
  • Function 3 Start is a command for the host to normally operate the device function specified by the AP.
  • a device reply is returned. Initialization is not performed. During the normal operation of the device function, it returns a command refusal without accepting it.
  • Host Data Transmit is a command to transfer data from the host to the device function.
  • the content of the data differs for each device function.
  • the details of the data are determined by the specifications of each device function. If the data size is 0, the device function Returns a command refusal without receiving it. During the AP set, the device function returns a command reference without accepting it.
  • the overnight request (Data Request;) is a command that requests the host to transmit the data specified to the device function. Multiple request data numbers can be specified in the data area. If the data size is 00h, the device function returns a command refusal without accepting this command. During the AP set, the device function returns a command reference without accepting this command.
  • the All Data Request is a command that requests the host to send all data to the device function.
  • the device function returns a command reference without accepting it.
  • Mode change is a command by the host to switch the mode of the port's M bus.
  • To enter the SDCKB exclusive mode after issuing a mode change, check the device relibrary and set the specific port to the SDCK exclusive mode. If the device function does not support operation in the SDCKB occupancy mode, the device function returns a command reference without accepting the mode change. During the AP set processing, the device function returns the command refusal without performing the mode change processing.
  • Device Sleep is a command for the host to temporarily suspend the specified device. After the device function stops, it returns a device reply, and thereafter accepts only a function start. During the AP set processing, the device function returns a command refresh user without accepting the device sleep.
  • the device reset (Device Reset) is a command by which the host performs a soft reset on a specific device function and initializes the device.
  • the soft reset is Instead of resetting (initializing) using hardware functions such as the Ic reset terminal, for example, the internal RAM and registers are initialized programmatically (software). is there. Since the reset target can be selected by software in the software reset, a portion that is not to be initialized, such as an IC terminal state setting, can be retained. AP values that have already been allocated are not initialized. After initialization, a device reply is returned and normal operation is resumed. During AP set processing, the device function returns a command reference without accepting a device reset. Device Kill is a command that the host does not allow the device function to operate.
  • the device function waits in standby current consumption and does not accept any commands. Requires a hard reset or power down to operate.
  • the hard reset is a reset (initialization) using a hardware function such as an IC reset terminal. Also includes the case where the same initialization processing is performed by the program. Performs the same processing as power-on reset when the power is turned on, which also requires initialization of the IC. Unlike the soft reset, the location to be initialized cannot be selected. During normal operation of the device function, it returns a command reference without accepting it. Use device sleep to suspend device functions during normal operation.
  • Device Status is a command that the device function returns unique device information to the host.
  • the unique device information will be described later.
  • Device reply (Device Reply) is used extensively by the device function as a reply to the device function.
  • the AP of the data content indicates the AP of the device function itself and clarifies the issuer.
  • Device Data Transmit is a device fan
  • a command is a command to transfer data according to a request from the host. The contents of the day differ depending on each device function. Data size is 0
  • O h (h represents hexadecimal notation)
  • the host does not accept the command and returns a command ref user.
  • commands such as retransmission and device status are transmitted.
  • Error commands include Command Refusual, Command Unknown, Transmit Again, LM-Bus Error, and Device Error (Device) as basic commands. Error).
  • extended commands that are individualized by device functions and M bus drivers.
  • the term “individualized” means a command prepared for a specific device function, not a command that the driver has as a standard.
  • Mandatory refusal is a command by which the host or device function refuses to send the received command overnight. This command is returned even if a command that does not conform to the operation is sent. And prohibit unauthorized access.
  • Command Unknown is a command that the device function returns to the host when the command sent from the host is not prepared in the device function.
  • Transmit Again is a command that requests the host or device function to send the same data again when there is an error in the data sent.
  • the LM bus error (LM-Bus Error) is a command used by a device function to notify the host that an error has occurred on the LM bus.
  • LM bus connection is received from the host, but is sent to the host when there is no LM bus to be connected.
  • a device error is a command used by the device function to notify the host that an error has occurred in the device function and the device function is recovering.
  • the device-specific information (device status) described above will be described.
  • the device status is set so that it cannot be rewritten or erased, and the device status is recorded as it is. For example, it is forbidden to calculate a value into a status value or text.
  • the device status includes unique device information (Fixed Device Status) and free device information (Free Device Status).
  • the unique device information is a device status that must be described, for example, a fixed device status of a total of 108 bytes. Operation and connection are not guaranteed unless all items are described.
  • Free device information is a device status that may be used freely by individual device functions.
  • the capacity must be, for example, less than 148 bytes.
  • the specific device information includes the following items.
  • Device ID Describe the ID and attribute of the device function. By registering in advance and acquiring the ID, each device function makes it possible to determine what kind of device function is connected by the ID read by the host. Therefore, those who use the M bus are registered in advance by product for those who have a license for the M bus.
  • Product name Describe the product name in English or Roman alphabet in AS CII code. It may be different from the actual product name. Product names are also subject to pre-registration.
  • Destination code Describe the sales area of the product. For example, North America, South Africa, Japan, etc. This code can be used to determine the suitability of peripheral devices for specific areas with game applications.
  • Standby current consumption Describe the current consumption during a temporary stop in 0.1 mA units.
  • FIG. 21 shows an example of a block circuit diagram of a peripheral controller provided in a host.
  • a clock divider (Clock Divider) 51 generates a clock to be supplied to each processing block from the system clock, and changes the division ratio of the supplied clock to change the transmission (transfer) rate. And so on.
  • Instruction Register 52 is a 32-bit register where applications from the application etc. to the reference interface are written via the main bus. The written contents are passed to the port controller 57 and the frame controller 58.
  • the write buffer 53 is a 256-byte RAM that writes the data to be transferred.
  • the interrupt controller 54 is a controller that controls transmission, reception, and interrupts due to various errors.
  • Status Register 5 5 indicates the status of the controller. It is a two-bit resist evening.
  • the read buffer 56 is a 256-byte RAM for holding the received data.
  • the port controller (Port Controller) 57 is a controller for controlling ports to be transmitted and received. By controlling the 3-state buffer 68 of the transmission port selected by the command, the outputs SD CKA and SD CKB of the first and second selectors 64 and 65 are led out to the selected port. It also controls the third and fourth selectors 66 and 67 to select the receiving port.
  • a frame controller 58 controls a frame configuration such as an output pattern and a data length.
  • a frame encoder (Frame Encoder) 59 is controlled by a frame controller 58 to generate and output an information pattern.
  • the Alternate Shift Register 60 is controlled by the frame controller, converts parallel data on the write buffer (Write Buffer) into serial data (P / S), and outputs SD CKA, SD This register outputs data and clock alternately to CKB.
  • a CRC operation unit is provided in the alternate shift register, and performs CRC processing on the data according to a command of the frame controller.
  • the first selector 64 is controlled by the frame controller 58 to select the output of the frame encoder 59 or the output of the alternate shift register 60 and output the SDCKA.
  • the second selector 65 is controlled by the frame controller 58, selects the output of the full-length shift register 60 or the output of the frame encoder 59, and outputs SDCKB.
  • the third selector 66 selects a reception port according to the instruction of the port controller 57, and frame-decodes the SD CKA received via the buffer amplifier 69. —Supplied to Da 61 and Ori Night Shift Register.
  • the fourth selector 67 selects a receiving port in accordance with a command from the port controller 57, and supplies the SD CKB received via the buffer amplifier 69 to the frame decoder 61 and the O / L net shift register 62. I do.
  • the frame decoder (Frame Decoder) 61 analyzes the structure of the received frame, reflects it on the status register 55, and controls the alternate register 62.
  • the Alternate Shift Register 62 is an (S / P) register that is controlled by the frame decoder 61 and converts received serial data into parallel data. Further, the alternate shift register 62 includes a CRC arithmetic circuit that performs an error check of a received signal.
  • the HV (horizontal / vertical) latch signal controller (HV Latch Signal Controller) is activated by the frame controller 58.
  • the frame controller 58 deactivates the frame decoder and activates the HV latch signal controller.
  • HV latch signal When the controller receives the SD CKB after transmitting the SD CKB occupation permission pattern, it sends a latch signal to the HV counter (not shown).
  • the HV count is a horizontal position count and a vertical position count that outputs a value corresponding to the position on the screen. For example, in a shooting game, when a gun pointing at the TV screen is triggered, SD CKB is output from the gun. This SD CKB is used to determine the aiming (firing) position on the gun screen based on the HV count.
  • FIG. 22 is a circuit diagram illustrating the operation principle of the frame encoder 59.
  • reference numeral 591 denotes a flip-flop
  • 592 denotes a counter
  • 593 denotes a comparator
  • 594 denotes a logic gate.
  • this circuit When a write pulse is supplied to the frame encoder 59, this circuit enters an active state.
  • the rising edge of the flip-flop 591 sets the Q output SD CKA to “L ⁇ level.
  • SD CK A is the enable input for count 592, and count 592 starts counting the supplied clock CLK.
  • Count 592 increments the count value CNT OUT to “0”, “1”, “2”,... “7”, “8”.
  • This count value is supplied to the comparison input A of the comparator 593.
  • An output pattern set value n is supplied to the comparison reference input B of the comparator 593. For example, to generate a “start pattern”, “9” is given as the set value n by the frame encoder 59 that has decoded the command.
  • the comparator 593 When both inputs match, the comparator 593 outputs the output CMP OUT from the output terminal EQ and supplies it to the preset terminal / PR of the flip-flop 591-1. As a result, the SD CKA of the Q output of flip-flop 591-1 is set to the “H” level.
  • the SD CKA and the CL KB signal obtained by dividing the clock signal CLK by (CLK) are combined by the OR gate 594 to obtain the SD CKB.
  • FIG. 24 is a circuit diagram for explaining the operation principle of the ORIGINATE SHIFT REGISTER 60.
  • 601 is a shift register for converting parallel data to serial data
  • 602 is a 2-input selector
  • 603 is a shift register for converting parallel data to serial data
  • 604 is a 2-input selector.
  • FIG. 25 is a timing chart for explaining the operation of the alternate shift register 60.
  • a plurality of even bits D6, D4, D2, and DO to be transmitted are supplied to a plurality of D inputs of the shift register 601, respectively, and the shift clock is shifted by the shift clock SH IFT CLKA at the timing shown. Then, it is supplied from the output terminal Q to the A input terminal of the selector 602 as serial data.
  • the B input terminal of the selector Clock CLKA is input.
  • the selector 602 selects the serial data at the output terminal Q in response to the “H” level of the shift clock SH IFT CLKA, and selects the clock CLCKA in response to the “L” level.
  • an SD CKA in which data D6, D4, D2, and DO are superimposed at regular intervals on the clock C LKA is obtained.
  • a plurality of odd bits D7, D5, D3, and D1 to be transmitted are respectively supplied to a plurality of D input terminals of the shift register 603, and the data is shifted by a shift clock SHIFT CLKB at the timing shown in the figure.
  • the data is supplied from the output terminal Q to the A input terminal of the selector 604 as serial data.
  • the clock CLKB shown in the figure is input to the B input terminal of the selector 604.
  • the selector 604 selects the serial data at the output terminal Q corresponding to the "H" level of the shift clock SHIFFT CLKB, and selects the clock CL CKB corresponding to the "L" level.
  • FIG. 26 is a circuit diagram showing a configuration example of the frame decoder 61.
  • 611 is a counter
  • 612 is a composite flip-flop composed of a plurality of flip-flops
  • 613 is a counter
  • 614 is a composite flip-flop composed of a plurality of flip-flops It is.
  • FIG. 27 is a timing chart for explaining the operation of the frame decoder 61.
  • the count pattern 61 1 and the flip flop 6 12 in the circuit diagram operate to detect the set pattern.
  • SD CKA is at “H” level
  • the operation of the counter is disabled.
  • SD CKA goes to “L” level
  • the count operation is enabled and the falling edge of SD CKB is counted.
  • SD CK When the number of falling edges of SDCKB while A is at the “L” level is counted, a count output is provided to the flip-flop. At the rising edge of SDCK A, the count output is taken into flip-flops 6 1 and 2.
  • flip-flop 612 starts. Outputs power detection.
  • the count of the falling edge of SDCKA during the period when SDCKB is at the “L” level is counted by the counter 613 and the flip-flop 614.
  • the count output of counter 6 13 is taken into flip-flop 614.
  • the flip-flop 612 outputs an end pattern detection. If the number of falling edges of SDCKA during the “L” level period of SDCKB is an undefined number of times, flip-flop 614 outputs a frame error detection.
  • the start pattern including the four falling edges of SDCKB is followed by the data pattern and the end pattern including the two falling edges of SDSKA (see Fig. 11).
  • the flip-flop 612 outputs the detection of the start pattern with CRC (see Fig. 14) In the operation mode of the pattern with CRC, after the CRC start pattern including the six falling edges of SD CKB, the data The evening pattern, the CRC pattern, and the end pattern follow (see Figure 12).
  • the flip-flop 612 detects the SCK B occupation permission pattern (Fig. 1). 5) is output. In this case, SD CKB occupation Transition to mode. The SD CKB occupancy mode is released by the release pattern (SD CKA rising).
  • the flip-flop 612 will reset the reset pulse (see Figure 16). Output detection. As a result, a reset operation is performed.
  • the flip-flop 612 When the number of falling edges of SD CKB during the “L” level period of DCKA is undefined, the flip-flop 612 outputs a frame error detection. The pattern detection output by the flip-flops 612 and 614 is held in the status register 55.
  • FIG. 28 shows an example of the configuration of the Oru Nei shift register 62.
  • a serial data SD CKB is supplied to a data input terminal D of a shift register 621, and an SD CKA is supplied to a shift clock input.
  • the shift register 621 sequentially captures the data portion of the SD CKB at the falling edge of the SD CKA.
  • the parallel output terminals D7, D5, D3, and D1 of the shift register 621 have the serial-to-parallel conversion data set by four clock edges of SDCKA.
  • serial data SDCKA shown in FIG. 29 is supplied to the data input terminal D of the shift register 622 shown in FIG. 28, and the SD CKB is supplied to the shift clock input.
  • Shift register 622 sequentially captures the data portion of SDCKA at the falling edge of SDCKB.
  • the parallel output terminals D6, D4, D2, and DO of the shift register 622 are ready for serial-parallel conversion by four clock edges of SDCKB.
  • FIG. 30 is a schematic general and professional diagram of peripheral devices connected to a game device called a game controller, an input operation controller, or an operation input device. This will be described as a game controller. Two extended sockets are provided in the game controller, and additional peripheral devices (L-device functions) are added. ) Is possible.
  • the game controller has a built-in one-chip micro-controller.
  • the game controller has 11 switches that generate digital output and analog keys that generate 4-axis output. The output of these switches is processed by a micro-controller and output to the host via the MIE section and M path.
  • FIG. 31 is a block diagram schematically illustrating the configuration of the MIE on the device function side, taking the functions of peripheral devices as device functions.
  • a game controller is connected to a host (not shown) via an M bus.
  • the game controller has a U-device function connected to the host via the M bus, and two L-device functions connected to the U-device function via the LM bus.
  • FIG. 32 is a block circuit diagram illustrating a bus switching unit (selector) in FIG. 31.
  • U There are two M buses branching from the device function, which are called LM bus 1 and LM bus 2, respectively.
  • the connection between the LM bus and the M bus is switched by the U—MIE selector for device functions.
  • FIG. 33 shows a schematic block diagram of the hardware portion of the U-device function.
  • the communication processing unit, the socket control unit, the CPU unit, and the I / O unit are configured by a so-called one-chip microcontroller.
  • the communication processing block performs an interface with the host.
  • the CPU controls signal processing in a peripheral device such as a game controller.
  • the I / O section is an external input interface for digital buttons, analog keys, and the like.
  • the socket control section controls the extended socket.
  • two L-device function hardware expansion sockets two slots
  • a U-DEVICE portion surrounded by a broken line in the drawing indicates a portion that can be configured as a one-chip microcontroller. The same applies to the L-DE VICE part in the following figure.
  • FIG. 34 is a schematic block diagram of the L-device function.
  • the communication processing unit, CPU unit, and support function unit are configured by a one-chip microcomputer.
  • the communication processing unit interfaces with the U-device function (L-MIE for device function).
  • the CPU is responsible for processing as an L-device function.
  • the support function block realizes the function of L-device function. For example, the circuit performs a trigger function, a memory function, a vibration function, and the like of the light gun.
  • the 3-state buffer is controlled by the socket controller shown in Fig. 33, and the SD CKA OUT and SD CKB OUT transmitted to the extended socket 1 and the extended socket 2 are disabled.
  • the socket controller has the functions of the LM bus 1 controller and the LM bus 2 controller.
  • the SD CKA OUT goes to the “L” level due to the pull-down resistor connected to the output terminal of the 3-state buffer.
  • the socket controller can determine that the L-device function is not connected to the U-device function.
  • a power supply is connected via a bull-up resistor to the input terminal of the SD COUT of hardware of the L-device function shown in FIG.
  • the SD CKA OUT pin (the 3-state buffer is cut off) by the relatively high-resistance pull-down resistor and the low-resistance pull-up resistor shown in FIG. State) is raised to the “H” level.
  • the socket controller detects the “H” level at this output. This allows the connection of the hardware including the L-device function to the hardware including the U-device function to be determined.
  • the U-device function When the host assigns an AP to the L-device function of extension socket 1 and sends an LM bus connect command to the U-device function, the U-device function sends SDCK A OUT and SD CKB OUT of extension socket 2 Enable state. After the assignment of the AP to the L-device function of the extended socket 2, the command from the host is transmitted equally to all U-device functions and L-device functions.
  • the U-device function and the L-device function refer to the AP value included in the command, determine whether or not they are selected, and respond appropriately.
  • FIG. 35 to FIG. 39 are flowcharts illustrating the control operation in the transmission of MIE.
  • a series of processing instructions are given from the host application to the bus driver software via the API.
  • the bus driver translates this processing instruction into an instruction for controlling the MIE, and sets the instruction register 52 of the MIE.
  • the frame controller 58 determines whether the code (instruction) set in the instruction register commands the output of a signal having a pattern of a standard transmission format (S12), a format with a CRC option. It is determined whether the output of the output signal is a command (S14), the output of the SD CKB occupation permission pattern (S16), or the output of the reset pattern (S18). In the case of the output of the standard transmission format pattern (S12, Yes), the frame controller 58 selects the output of the frame encoder 59 for the selectors 64 and 65 according to the sequence shown in FIG. Let the frame encoder
  • the start pattern is output from 59 (S21). Then, selectors 64 and
  • the selectors 64 and 65 are made to select the output of the frame encoder 59, and the frame encoder 59 is set to the end-panel. Send out.
  • the frame controller 58 is shown in Fig. 37. According to the sequence, the selectors 64 and 65 are made to select the output of the frame encoder 59, and the frame encoder 59 outputs the set pattern with CRC (S31). Next, the selectors 64 and 65 are made to select the output of the O / N shift register and the transmission data is read from the write buffer 53 into the O / N shift register 60 (S32). . In addition, the frame controller 58 causes the CRC calculation unit in the evening shift register to perform a CRC calculation for the read data (S33). The output pattern is output from the default evening shift register 60 (S34).
  • the frame controller 58 converts the transferred data to, for example, 256 bytes. Check if it was successful (S35). If it is still less than 256 bytes (S35, No), reading from the write buffer (S32), CRC calculation (S33), and data output (S34) are repeated.
  • the frame controller 58 causes the O / L shift register 60 to transmit the CRC data following the data (S36).
  • the selectors 64 and 65 are made to select the output of the frame encoder 59, and the frame encoder 59 sends the end pattern (S37). In this way, the data is transmitted in a pattern with CRC.
  • the frame controller 58 determines the output command of the SD CKB occupation permission pattern (S16, Yes)
  • it causes the selectors 64 and 65 to select the output of the frame encoder 59 according to the sequence shown in FIG.
  • the frame encoder 59 outputs the SD CKB occupation permission pattern (S41).
  • the buffer 68 is controlled via the port controller 57, and the transmission of the SD CKB is prohibited (S42).
  • the frame encoder 59 outputs an SD CKB occupation permission pattern in which the SD CKA is set to the “L” level (S 43).
  • the HV latch controller 63 After that, the HV latch controller 63 is enabled.
  • the HV latch controller 63 monitors the SD CKB line (S44).
  • the HV latch controller 63 When a response is received from the device (S44, Yes), the HV latch controller 63 generates a latch output of the HV count (S45). After the latch output is generated (S45), or when there is no response from the device side (S44, No), it is determined whether or not the command for setting the SDCKB occupancy mode still exists in the register 52 (S46). If there is (S46, No), steps S44 to S46 are repeated, and a latch output is generated sequentially in response to a reply from the device.
  • the SD CKA is returned to the “H” level, and the SD CKA and SDCKB are returned to a state usable for transmission (S 47).
  • the SD CKB occupancy mode is performed.
  • the frame controller 58 determines that the code set in the command register is a reset pattern output (S18), the frame controller 58 transmits the reset pattern to the frame encoder 59 as shown in the sequence of FIG.
  • the reset pattern is output (S51).
  • the frame decoder 61 decodes the received SD CKA and SD CKB, and determines whether the received signal is a start pattern (S62), a start pattern with CRC (S64), or It is determined whether the frame era does not belong to any of them (S66).
  • start pattern When the start pattern is detected (S62, Yes), it is determined whether the start pattern is an undefined start pattern as shown in the sequence of FIG. 41 (S71). If the pattern is undefined (S71, Yes), a frame error detection flag is set in the status register, and a predetermined frame error detection process is performed by driver software or the like (S72).
  • the preset time is a preset time (S71, N0)
  • a start pattern detection flag is set in the status register.
  • the all-night shift register 62 is activated, data is sequentially extracted from the received SD CKA and SD CKB, and the extracted serial data is restored to the parallel data (S73).
  • the demodulated data is written to the read buffer 56 (S74). This demodulation and transfer of the data is repeated until the frame decoder 61 detects the end pattern (S71 to S75). If an end pattern is detected (S75, Yes), an end pattern detection flag is set in the status register 55 and reception is terminated.
  • start time is an undefined start time (S81). If the pattern is an undefined pattern (S81, Yes). Set a frame error detection flag in the status register, and perform a predetermined frame error detection process using driver software (S82). ).
  • the detection flag of the start pattern with CRC is set in the status register.
  • the alternate shift register 62 is activated, and data is sequentially extracted from the received SD CKA and SD CKB, and the extracted serial data is demodulated to parallel data (S83).
  • a CRC operation is performed on the demodulated data (S84).
  • the demodulated data is written to the lead buffer 56 (S85).
  • the demodulation and transfer of this data are repeated until the frame decoder 61 detects the end pattern (S81 to S86).
  • the end pattern is detected (S86, Yes)
  • the presence or absence of a CRC error is determined by referring to the CRC calculation of the received data and the CRC data added after the data part (S86). 87).
  • FIG. 8 is a flowchart illustrating acquisition and use of unique information of a device (device function).
  • An application program supplied from an information recording medium such as a CD-ROM is stored in a memory and executed by the CPU.
  • the application program sends a device request command to the device function (S102), and waits for a reply from the device function. If no specific information is received from the device function after a certain period of time, It is determined that the device function is not connected (S104, No), and disconnection processing is performed (S106).
  • the unique information is received from the device function (S104, Yes)
  • the license (license) notation information (S108), the destination information (S110), and the device ID are set to CD- It is compared with information contained in an application such as a game program supplied from an information recording medium such as a ROM (S112). If each collation matches (S112, Yes), processing is performed to assign an AP to the device function (S114).
  • processing is performed to inform the user that the connected device function (or connected peripheral device) is not compatible with the application (S116). After that, a process (S106) for not connecting the device function to the host is performed, and the processing ends.
  • fear c for example useful as PL (Product Liability) measures peripherals, but using the simulated gun in shea user computing game, which also is given imitating a gun elaborate be mistaken for real guns There is. For example, in some countries such use may not be a problem, but in other countries it may be. In such cases, only guns that look like apparently simulated guns need to be used in the country.
  • the game device and the plurality of peripheral devices can be connected with a small number of bus lines. Also, when the user connects the game peripheral device to the game device via a cable (cable wire) or a cord, the game device automatically recognizes the connected device and connects. Since the connected peripheral device is initialized and started up so as to be adapted to the application, it is not necessary for the user to go through a special procedure or setting, which is suitable as a connection standard for the peripheral device of the game device.
  • each peripheral device does not have an access right to another device connected to the bus, and performs data communication in a format in which the peripheral device responds to an access from the game device. Therefore, it is not necessary to adjust the access timing between the game device and the plurality of peripheral devices. In addition, since access between the peripheral devices is prohibited, it is not necessary to adjust the access timing between the peripheral devices, and the configuration of the I / O hardware and software can be relatively simplified.
  • peripheral devices can be easily connected. For example, it is possible to connect a game device controller, joystick, keyboard, CD-ROM drive, DVD drive, audio input / output device, memory pack, FDD device, modem, ISDN terminal device, etc. is there.
  • the game application transmits the data required at that time to the game controller (peripheral device) as the game progresses. ) Etc.
  • connection cable Because of the small amount of data and intermittent data transfer, there is little noise radiated from the connection cable.
  • multimedia data such as audio output, audio input, still image, and moving image can be transmitted with a pair of cables.
  • the game device itself or the application can use the unique information of the peripheral device, of the plurality of connected peripheral devices, the peripheral device used in combination with the application and the peripheral device used in the application are used. Not around It is preferable because the device can be distinguished from the device and the operation of the peripheral device not used can be stopped.
  • the second peripheral interface standard of the M bus will be described below.
  • the specifications of the present application include the interface specifications between the MIE for the host and the M bus driver, the interface specifications between the function and the MILE controller, the communication protocol specifications, and the data in the entire M bus processing. Determine the format. First, the physical topology and the logical topology of the second interface will be described in accordance with the same procedure as described in the first interface standard.
  • FIG. 44 schematically illustrates a physical connection topology according to the second embodiment.
  • the physical connection form takes the form of host-basic device (peripheral device) and extension device (peripheral device).
  • Basic devices are hardware (peripheral devices) that are directly connected to the host.
  • An expansion device is hardware (peripheral device) connected to a host via a basic device.
  • there is one host eg, game device).
  • the host can have up to four ports for connecting peripheral devices.
  • One basic device is connected to one port. Up to four externally connected expansion devices can be connected to the basic device. Connect the specified cable between the host and the basic device. However, the following connections are not planned.
  • FIG. 45 is an explanatory diagram illustrating a logical connection topology according to the second embodiment. As shown in the figure, each function (basic device and extended device The logical connection between the host and the host is a so-called “single-type connection” centered on the host. The host manages the transmission and reception of signals.
  • Layer Configuration and Communication Flow FIG. 46 is an explanatory diagram illustrating the layer configuration of the host and the peripheral device. As shown in the figure, the host and peripheral devices have a hierarchical structure for mutual data communication.
  • the function layer transmits and receives data according to the data format, utilizing each function of the peripheral device.
  • Peripherals can have up to three functions.
  • the I / O control layer controls data transmission and reception in frame units and MIE (M bus I / F engine) described later.
  • MIE M bus I / F engine
  • the bus, interface, and layer perform the physical connection between the host and the basic device (or expansion device), and transmit and receive signals.
  • Data acquisition (data communication) and control between the application in the host and the physical function of the peripheral device are performed by a function library, bus driver, host MIE, connection lines, basic (or extended) devices. It is performed via MIE, MIE controller and function.
  • Peripheral type peripherals are classified and distinguished as follows. First, peripheral devices are classified into two device types: basic devices and expansion devices. In addition, basic and extended devices are categorized into game controllers and other peripheral types. Examples of the game controller system peripheral peripheral device include a standard game controller attached to the game device as a standard component of the game device, JOY-STICK, steering, and the like. Examples of other peripheral type devices include a keyboard, a mouse, and a GUN (simulated gun).
  • the expansion device is a peripheral type of a controller expansion device, and examples of the device include a voice input, a backup memory, and a GUN (simulated gun).
  • the controller system has a standard default format so that it can be used with any application software. I have. For other basic devices and expansion devices, since the device format is different for each device, a function library is prepared for each function. Explanation of terms
  • serial data The data that is developed in chronological order is called “serial data”.
  • the signal line (flow) for exchanging data over the serial data is called a “serial bus”.
  • M bus a serial bus connecting the game device and the peripheral device.
  • the device ID is composed of 16 bytes (Byte), including the attributes of peripheral devices and the provided functions (data format and functional elements). The device ID can be obtained by the [Device Status] command described later.
  • the M bus terminal to which the peripheral device of the game device can be connected is called a “port”.
  • the standard port pins are power supply pins (VCC, GND) and data bins (SDCKA, SDCKB), 4 bins, or 5 pins with a shielded wire.
  • the "M bus" according to the standard of the second embodiment supports up to four ports (port A, port B, port C, and port D).
  • the game device side is called a “host”, and the functions implemented in the peripheral devices connected to it are called “functions”. Functions indicate not the product itself but the components that make up the product, so one product can have multiple functions. Peripheral devices are a group of functions. Access from the host is performed in units of peripheral devices, and access to functions is performed by specifying the function type in the device. Multiple functions can be used with one peripheral device, For example, a maximum of three M buses can be used in the second embodiment.
  • peripheral devices are physically divided into two types: "base devices” and "extended devices".
  • the basic device is a peripheral device connected to the host and having the function of controlling the extension device.
  • the base device automatically recognizes the connection of the extension device and makes the connection.
  • An extension device is a peripheral device that is connected to a base device and cannot operate without a device.
  • the M bus that connects the basic device to the expansion device is called the “LM bus”.
  • the LM bus is logically (signaling) the same as the M bus, but physically different.
  • the basic device is mainly a game controller system among peripheral devices, and the expansion device is a game controller system expansion device. For example, only one basic device can be connected to the host port 1, and the basic device can manage, for example, up to five expansion devices (up to five LM buses).
  • an identification number is assigned to the basic device or extended device at the place where it is connected. This assigned number is called "absolute position AP". In the "M bus", AP is fixed at 1 byte. [Max 4 ports (2 bit)] X
  • the APs to be assigned depend on the connection type and whether the device is a basic device or an expansion device, as described later. Is decided. Use this AP for access to basic devices and expansion devices.
  • the exchange of data between the host and the function is not one-sided as in the past, but is exchanged using a predetermined command so that data can be sent and received at the right time.
  • This command is called a "command”
  • the command data is called "parameters”.
  • the parameters consist of the destination device AP, the source device AP, the data size, and the device parameters.
  • up to 254 basic commands can be prepared. It can send and receive data of 120 bytes.
  • FIG. 48 shows a configuration example of a frame.
  • One frame is composed of a start pattern, a command code, parameters (destination AP, source AP, data size, data size, etc.), a parity bit, and an end pattern.
  • One frame is transmitted in one access.
  • One access is made to one device within one event (INT).
  • the start pattern, parity bit, and end pattern are added by MIE (described later).
  • FIG. 49 is an explanatory diagram for explaining a response and a time-out on the M bus.
  • the host sends a command to the base device or expansion device, and the reply to the command is called a "response".
  • the host waits for a response for a certain period of time after sending a command, but when there is no response after waiting, it is called “Time Out (Time Out) j.
  • the basic (or extended) device that has timed out is disconnected from the host. If the basic (or extended) device times out during reception, it performs a soft reset, and the time until the timeout (response time) is, for example, 1.0 ms. .
  • extension socket A place where an expansion device for expanding the function of the controller is connected is called an “extension socket”.
  • An extension device is connected to the extension socket.
  • M bus the number of extension sockets can be up to four. This is because the correspondence between the extended socket and the LM bus is performed by the logic of two ID lines described later. L The number of M buses and the number of expansion sockets need not necessarily be the same.
  • MIE M bus I / F engine
  • All devices of the M bus standard have this MIE.
  • the host accesses the peripheral devices through the software “M bus driver” and “function library” that control the peripheral devices (basic devices and expansion devices).
  • the M bus driver controls and manages the frame, and controls the peripheral devices (functions) by commands and manages the parameters (data format) in the function library.
  • the information of the basic device and the extension device is called “device status”.
  • the device status records the product name, device ID, license, model number, manufacturing lot, destination, etc. as management data, and the standby current consumption, maximum current consumption, etc. as electrical data.
  • the device status is managed and used in the device library and application software. For example, it is possible to eliminate illegal copied products based on product names and license information, and to control the current of the entire port using information on the maximum current consumption.
  • Data transmission pattern Physical data transmission on the M bus will be described. This The same format as in the first embodiment is used for data transmission. That is, data transmission is performed by the synchronous serial method. There are a total of four lines: the power supply side line Vcc, the ground line GND, the data line SD CKA (bidirectional) for transmitting the SD CKA signal, and the data line SD CKB (bidirectional) for transmitting the SD CKB signal. .
  • One-way communication is half-duplex, and the transfer rate is, for example, 2 Mbps at maximum. If necessary, signal shield wires can be added.
  • Transmission principle diagram 50 shows a data pattern by SD CKA and SD CKB.
  • the signals transmitted by the serial data overnight clocks A (SD CKA) and B (SD CKB) are formed such that the falling edges are always present alternately during transmission over the transparent data.
  • the other signal is latched by the falling edge (or rising edge) of one signal, and the latched signal level is demodulated as digital data.
  • Data is transferred from the MSB.
  • SDCKA is used as clock information
  • SDCKB is used as data information.
  • FIG. 51 shows an example of a synchronization pattern.
  • the synchronization pattern includes a start (START) pattern and an end (END) pattern.
  • the start pattern is a synchronization pattern transmitted prior to the overnight pattern. If the receiving side detects the falling (or falling) edge of SD CKB four times (four negative pulses) between the falling and rising edges of SD CKA, it interprets the subsequent pattern as a temporary pattern. . If the receiving side detects the falling (or rising) edge of SD CKA twice (two negative pulses) between the falling and rising of SD CKB, it confirms the end of the data pattern and ends normally. Judge.
  • FIG. 52 shows an example of the SD CKB occupation permission pattern. If the receiving side detects the falling edge of SD CKB eight times (eight negative pulses) between the falling edge and rising edge of SD CKA, the receiving side detects the falling edge of SD CKA until the rising edge. Occupy SD C KB Wear. The occupation of SDCKB must be released by the rising edge of SDCKA. This pattern is used, for example, for a ray gun in a shooting game.
  • FIG. 53 shows an example of a reset pattern. If the receiving side detects the falling edge of SDCKB 14 times (14 negative pulses) between the falling and rising edges of SDCKA, it interprets this as a reset request from the transmitting side and resets it. I do.
  • Transmission format Fig. 54 shows an example of the transmission format.
  • Data transmission is performed in frame units (minimum units).
  • the content of the frame starts with a start pattern indicating the start of overnight transmission, and is composed of a data pattern, a noise, and an end pattern of a maximum of 104 bytes in length.
  • the noise has an 8-bit horizontal direction, is automatically added by hardware at the time of transmission, and is deleted at the time of reception.
  • FIG. 55 is an explanatory diagram illustrating an outline of the protocol.
  • the host has the priority to send commands in the sequence. Therefore, initially, the peripheral device (basic or expansion device) is in a command waiting state. All communication between the peripheral device and the host is performed in the frame unit described above. The host executes the application program to generate commands for peripheral devices. This command is sent to the peripheral device via the M bus as an overnight frame. Peripheral devices are instructed by commands and parameters within the frame. When the peripheral device corresponding to the destination AP in the frame receives the frame data, it responds to it.
  • the peripheral device generates a corresponding command, forms a frame sequence, and transmits this to the host via the M bus. Thereafter, the peripheral device is in a state of waiting for the next data.
  • the host receives the frame data from the peripheral device and extracts the command (reply). This frame Command to the application.
  • the application performs the next action using the information returned by the command.
  • Fig. 56 (a) shows the state of intermittent data communication between such a host and a plurality of peripheral devices on the M bus and LM paths.
  • Fig. 56 (b) shows that if all data to be transmitted cannot be transmitted in one transmission frame, the data is divided and long data is intermittently transmitted in multiple transmission frames. (See FIG. 70 described later).
  • the above data communication has the following features.
  • the host can directly access the basic device and the extension device using the same protocol, and no data conversion is required on the way.
  • the required AP time for access is determined by the connected host port, basic device, and extension socket.
  • Peripheral devices can be connected and disconnected while the host is active. The host requests device status from peripheral devices to obtain information on the devices. If not requested, the peripheral will not start operation and will remain in the standby state.
  • Data transfer is performed in units of a maximum of 104 bytes. Up to three functions can be used with one peripheral device, and the functions are accessed by specifying their function types. One function is accessed at most once within one-in-one IINT, and data is one frame per one access. Do not access one port continuously. The realization of these features will be described later.
  • One function can be accessed at most once during the INT period, and one function can transmit one frame of data and one frame of received data. It is a frame.
  • FIG. 54 described above shows an example of frame data.
  • One frame is composed of a start pattern, a data pattern, a no, a 'bit', and an end pattern.
  • the start pattern, no, 'bit', and end pattern are the patterns specified in the data transmission pattern and are automatically processed by the MIE.
  • the command code specifies the code of the command to instruct the destination device.
  • Destination AP specifies the AP of the device to which the frame is sent. In other words, the host specifies the AP of the basic device and the expansion device, and the basic device and the expansion device specify the AP of the port of the host.
  • the source AP specifies its own AP.
  • the data size specifies the size of the transmission data in 4-byte units. Data is stored in 4-byte units in the data to be transmitted (data format, etc.).
  • Command code The command code consists of 1 note and stores the command code.
  • COM 0 to COM 7 are command codes. Command codes are specified in the range from Olh to FEh. Various command codes will be described later. The data described with reference to the table is held in an appropriate location such as an internal memory register, although not shown.
  • AP Absolute Position AP
  • the AP of the basic or extended device is the AP of the device itself, and is used for the frame transmitted from the host.
  • the device's source AP is the data that is written in the third byte of the frame when the basic or extended device sends data back to the host ( Figure 48). Inform the host which device the data was sent from.
  • the lower 5 bits of the source AP of the device indicate the connection status of the LM bus ahead.
  • the host accesses the basic device and looks at the source AP of the reply command (frame from the basic device) to determine which LM path of the basic device is connected to the extended device.
  • the value of the AP is determined by the connection mode of the port, the basic device, and the expansion device as shown in FIG. 57 described later (socket N 0. fixed system).
  • the AP bit configuration Table 2 shows the bit configuration of the AP held in the internal register.
  • the AP consists of 1 byte (8 bits).
  • the 7th and 6th bits of the AP are the port setting bits P and P0 that specify the input / output port of the host to which the basic device is connected. It is.
  • the fifth bit of the AP is a basic device / extended device setting bit D / E indicating whether the device is a basic device or an extended device.
  • Fourth to 0 bit Bok of the AP is the LM bus setting bits LM 4 ⁇ LM 0 to specify the number of LM bus.
  • Port Setting bit P0 0 and PO any port of the ports A ⁇ port D by 2 bits Bok is specified.
  • the basic device / extended device setting bits are “1” when the AP specifies a basic device, “0” when an extended device is specified, and “0” when a port is specified.
  • FIG. 57 shows a list of APs (in hexadecimal notation) of the basic device and the extension device when accessed from the host.
  • the source AP when the base device responds is the sum (all ORs) of the values of the base device's own AP and the connected expansion device's AP. Therefore, the source device AP of the base device includes the connection information of the extension device. The host can know the connection of the expansion device from the source device's source AP.
  • the figure illustrates an example in which a basic device is connected to port A of the host, and expansion devices are connected to N0.1 and N2 of the LM bus of the basic device.
  • the figure shows the operation of the host and the operation of the CPU of the basic device. It is shown.
  • the host, the basic device, and the extension device are connected to each other by a communication line.
  • an initial program is booted from a ROM (not shown) to the CPU in each device.
  • FIG. 64 which will be described later, illustrates the MIE for the basic device
  • FIG. 66 illustrates the MIE for the extension device.
  • the basic device CPU
  • the basic device initializes the interface registers and ports described later (S22, S24).
  • the AP of the base device itself is generated. In this case, since AP is its own device, only bit 5 of the AP becomes "1" and becomes "--100000". Here, "-" indicates that the value is undecided (S26).
  • the LM bus No. 5 is a bus connection or a logical connection unlike other LM buses. This is because it is planned to be used as an extension of the function of the basic device itself, such as incorporating an expansion device in the basic device or using a combination of the basic device and the expansion device. For example, when creating a game controller with a vibration function, the game controller is used as a basic device, and the vibration section is connected to this via the LM bus N0.5 to realize a game controller with a vibration section as a whole.
  • the presence or absence of this No. 5 bus is known to the CPU of the basic device (information is written in ROM, etc.), and no special configuration is required. In the example of this description, it is assumed that there is no LM bus No. 5 (S28).
  • the CPU of the basic device sets the LM bus of the external socket.
  • the basic device uses a combination of voltage values corresponding to the LM bus number from the I / O section to a specific terminal of the socket of each LM bus, for example, terminal ⁇ ⁇ , ⁇ ⁇ . Occurs.
  • Terminal ID of each LM bus set by the basic device Table 6 shows an example of output logic for ID i (S30). IDO ID1 LM-Bus No. ⁇
  • Base device the specific terminal that is specifically considered the socket of each LM bus, For example, read the logic level of terminal ID 2.
  • Terminal ID 2 is grounded via a bull-down resistor.
  • voltage Vcc is applied from the extension device side.
  • the logic level of terminal ID 2 is “1”.
  • the logic level of terminal ID 2 is “0”.
  • the basic device determines the logical level of ID 2 corresponding to ID 0 ID! Output to the LM path, and determines whether the LM path No. indicated by the logical output to terminal ID 0 IDi is connected or not connected. it can.
  • terminal ID 2 is for confirming the connection of the expansion device. If ID 2 is “0”, it indicates no connection, and if it is “1”, it indicates connection. In this example, ID 2 of the LM bus No. 2 and ID 2 of the LM path No. 2 become "1" (S34).
  • the logic output of terminals ID 0 IDi of sockets I also functions as a reset signal from the base device to expansion device.
  • the base device is the ID.
  • I When "00" is, ID 0, I DL- "1 1" so locked stop the expansion device outputs a (stop signal), then the base device is reset Tosuru. ID after the base device returns.
  • the base device generates a transmission source ⁇ when transmitting from the base device.
  • the source ⁇ is "--lxxxxx” based on the status of the base device ⁇ and terminal ID 2 .
  • "X" of bits 0 to 4 is “0" or "1” depending on the connection status of the LM bus.
  • the source AP is connected to only the LM bus Nos. 1 and 2 and thus becomes "--100011" (S36).
  • the basic device waits for a device request [Device Request], which is a type of command sent from the host.
  • the basic device repeats the processing from step 34 while remaining in the standby state except for the device request [Device Request] (S38; No).
  • a basic device is connected to port A of the host.
  • the destination AP from the host to this basic device is "00100000" which specifies the basic device of port A.
  • the fifth bit “1” indicates the designation of the basic device, and the sixth and seventh bits “00” indicate the designation of port A.
  • the host sends a command [Device Request] to each port sequentially and waits for a response from the basic device in order to know whether the basic device and the extension device (peripheral device) are connected to ports A to D (H22) ).
  • the command [Device Request] is sent from the host to the basic device of port A (S38; Yes)
  • the basic device reads the source AP of the received frame and reads the sixth and seventh bits. Get the port N 0. In this example, it is "00" because it is port A (S40).
  • the basic device completes the AP (8-bit) of the basic device itself using the lower 6 bits formed earlier and the upper 2 bits of the port (S42).
  • step S36 the bit of the port is added to the source AP for which only the lower 6 bits have been completed.
  • the source AP code it can be seen that the basic device is connected to port A and the expansion device is connected to LM bus Nos. 1 and 2 of the basic device.
  • the base device creates a transmission frame to reply to the device request [Device Request] (S46).
  • For the basic device prepare the device status [Device Status] of the reply command corresponding to the command and device request [Device Request].
  • the destination AP is “00000000” representing port A, and the source AP is “00100011” described above.
  • the basic device sends a transmission frame including the device status [Device Status], and returns a command to the host (S48). After that, the AP of the base device will be "00100000" unless disconnected.
  • the base device always monitors the status of pin ID 2 of the LM bus socket. Then, when the connection state of the extension device to the LM bus changes, the bit of the transmission source AP is changed, and the transmission source AP corresponding to the connection state of the expansion device is held.
  • the host receives the transmission frame from the basic device and knows the connection of the basic device to port A and the connection of the expansion device to its LM bus Nos. 1 and 2 (H24).
  • the host only needs to access the base device to access it.
  • the presence of the connected expansion device can be known.
  • the host knows the contents of the basic device (type of peripheral device, etc.) connected to the port by the command and the device status [Device Status].
  • the socket No. for connecting the extension device to the basic device is fixed, and it is confirmed whether or not the extension device is connected to each socket (socket No. LM bus No.) Fixed type).
  • the basic device sets (a) the IDs 0 and I corresponding to the LM bus (socket) No. first after initializing the basic device itself, and (b) the ID of each socket. By looking at the logical level 2 above , it is determined whether an expansion device is connected to each LM bus.
  • C Since the number of the LM bus connected to the extension device is known from the connection information of ID 2 , the lower 6 bits of the source AP of the transmission frame are created based on this information. .
  • D Obtain information about the connection port of the host to which the basic device is connected from the source AP of the frame received from the host, add the upper 2 bits of the source AP of the basic device, and add To complete.
  • the basic device may first check ID 2 to determine the LM bus to be used, and assign the LM path No. to the LM path to be used (socket number (LM path No.) Allocation method). That is, the basic device: (a) After initializing the basic device itself, look at the logic of ID 2 and determine whether or not an extended device is connected to the LM path. 0>) Next, assign ID 0 and IDt to the LM bus whose connection has been determined at terminal ID 2 . Assign numbers in ascending order so that they do not overlap. Table 7 shows an example of the ID 0 , IDj and LM bus No. LM buses that do not change their connection state retain their previous state number.
  • the basic device is (c) ID. And send based on the information of ID 0 and ID,
  • Replacement form Create the lower 6 bits of the source AP when performing the operation. (From the source AP of the frame received from the host, obtain the connection port information of the host to which the basic device is connected, add the upper 2 bits of the source AP of the basic device, and Complete the AP.
  • the socket No. In the fixed method, ID is already assigned to each socket. And I are associated with each other, so that the processing of the basic device for updating the AP is performed in the above (b) and subsequent steps.
  • the socket No. allocation method the socket number fluctuates, and the processing of the basic device for updating the AP is performed from the above (a).
  • a base device is connected to port B of the host, and an extension device is connected to No. 2 of the LM bus of the base device.
  • the host, basic device, and expansion device are interconnected, and power is supplied to each device (K22).
  • the MIE for the basic device will be described with reference to FIG. 64 described below, and the MIE for the extension device will be described with reference to FIG.
  • the expansion device is connected to the basic device, and when a so-called power-on reset is performed, the internal registers and the ports of the LM bus are initialized (K24, ⁇ 25) ⁇
  • the expansion device checks the LM bus according to the control program.
  • the predetermined terminal of the connector of each LM bus for example, the terminal ID. , I have a logical output corresponding to the LM bus number by the base device (CPU).
  • Expansion device is the terminal ID of the LM bus to which the expansion device is connected. Read the logic of I Di (K 28). In this example, the expansion device is Since it is connected to socket 2, the terminal ID of the socket is 10. Is set to the logical output of "01”.
  • the extension device has a terminal ID.
  • the extension device creates its own AP.
  • the extension device knows that it is an extension device. This is done by writing necessary information in advance in the ROM, or by writing directly in the control program of the expansion device.
  • bit 5 device / extension device setting bit
  • bits 0 to 4 LM bus No. setting bit
  • the extended device waits for the arrival of a frame containing the command [Device Request] specifying its own "--000010" from the host (K36). Except for the command [DeviceRequest], it keeps waiting (K36; No).
  • the host since the host has already reported the connection status of the LM bus from the base device (S48), the host knows to which LM bus the expansion device is connected (H26). . Therefore, only the application that uses the extended device sends a command [Device Request] to the extended device, so that the extended device can be used.
  • the source AP of the transmission frame transmitted by the host is "01000000" representing port B, and the destination AP is "01000010" which is an expansion device and specifies LM bus No. 2 (H28).
  • the extension device receives a frame containing the command [Device Request] (K36; Yes).
  • the source AP "01000000” is read from the frame and the host port No. is obtained.
  • the extension device adds the bit of port B to the AP of the extension device for which only the lower 6 bits have been completed first, and completes the AP of the extension device itself.
  • add port B bit "01” to the expansion device AP "--000010”.
  • the source AP of the extension device is completed.
  • the extension device creates a transmission frame to return to the host ( ⁇ 44).
  • Command device request Prepare the device status [Device Status] of the reply command corresponding to [Device Request].
  • the destination AP is "01000000" of the host port B, and the source AP is "01000010".
  • the extension device returns a command to the host (K46).
  • the host obtains the contents of the connected expansion device (various information of peripheral devices) by receiving the command [DeviceStatus] from the expansion device.
  • the configuration of the data size part included in the data size transmission / reception frame will be described. As shown in Table 8, the data size section consists of one byte.
  • the configuration of the data transmission / reception frame will be described.
  • the data section stores the data to be transferred in the size specified by the data size (in units of 4 bytes).
  • the data content differs depending on the function. For example, in the case of a controller system, the controller function type and data format are included. Table 10 shows the configuration of the data section.
  • data communication is basically performed in the form of a request from the host and a response from the peripheral device to the request. All instructions and requests from the host to peripheral devices are made by commands (frames). When a command (frame) is sent to a peripheral device, the peripheral device always returns some command to the host. If a transmission error occurs,
  • Peripheral devices After connecting to the host, the peripheral device is activated after receiving a command to recognize the contents of the peripheral device from the host, Device Request. Peripheral devices always return some command in response to a command from the host. Peripheral devices (or functions implemented there), for example, can receive one command during one INT.
  • FIG. 60 is an explanatory diagram illustrating data communication between a host and a peripheral device.
  • the host and peripheral devices base device, expansion device
  • each AP is established prior to the start of data communication.
  • an AP unique to each device, a source AP, and a destination AP required for data communication can be obtained.
  • the transmission data and transmission commands output by the application are written to the host MIE write (write) buffer and command register, respectively.
  • the transmission data and transmission command are assembled as a frame shown in FIG. 48 described above and transmitted to the peripheral device in a command waiting state.
  • the MIE of the peripheral device extracts the command and the data and gives it to the CPU of the peripheral device.
  • the CPU of the peripheral device decodes the command, performs processing corresponding to the command, and obtains a command to be returned to the host and data to be returned if necessary.
  • the data and commands are assembled into a frame by the MIE of the peripheral device and transmitted to the host. After that, the peripheral device waits for the next command.
  • the host MIE When the host MIE receives the reply frame, it writes the communication status to the status register and the received data to the read buffer.
  • the host CPU receives the data from both the registry and continues the application. By repeating such operations, data communication between the host and peripheral devices (basic device, expansion device) is performed. The more specific communication between the MIE of the host and the MIE of the peripheral device will be described later.
  • Errors that can be detected by hardware include parity errors, time outs, and data overflows.
  • the noness error is an error detected when the parity of the data frame does not match.
  • the time-out is an error detected when the time of the time-out expires while the line of the SDCKA and the SDCKB is kept constant.
  • a data overflow is an error detected when the data amount exceeds the capacity of the transmission / reception buffer.
  • Other errors (such as garbled data) are detected by software.
  • the resend command is sent by the command.
  • the resend command is sent up to three times. If an error still occurs, perform processing such as no connection or error display.
  • the number of retransmissions and the processing method differ depending on the application software and library.
  • a resend command sent from a peripheral device is accepted up to three times per transmission from the host, and after that, processing such as no connection or error display is performed.
  • a hardware reset reset (reset pattern) is sent to the port with an error. Then, if necessary, perform a device request [DeviceRequest].
  • the peripheral devices (basic device and expansion device) retransmit in response to a request from the host. Not performed.
  • the peripheral device can send a resend command to the host.
  • the peripheral device performs a soft reset. Timeout is detected only by the basic device, and a reset signal is sent from the basic device to the expansion device using the ID line.
  • Prohibited items This standard sets certain prohibited items. In other words, (1) Direct access from a peripheral device to a peripheral device is prohibited while a plurality of peripheral devices (basic devices and expansion devices) are connected to the host. In principle, it must be via a host. (2) Peripheral devices are not allowed to use commands that can only be issued by the host. (3) Do not access the same port continuously.
  • Peripheral device connection and disconnection This section describes the process of judging the connection and disconnection of peripheral devices (basic device, extended device) at the host.
  • the host sends a command and device request [Device Request] to the peripheral device of each port.
  • the procedure for establishing the AP for each of the host, basic device, and expansion device is executed. Therefore, before this determination processing, the AP of the destination peripheral device is determined for each port.
  • the interval at which the device request [Device Request] is transmitted is preferably every 1 in 1 bar (INT). If a response is received from the peripheral device, there is no need to send a device request [Device Request] for the command.
  • the host does not need to send commands and device requests [Device Request] to ports not used by application software.
  • Basic Device Connection Check The basic device connection check will be described. Host Sends a device request [Device Request] for a command to a certain port, and returns a device status [Device Status] for the command from the basic device. The host then sends the device status [Device Status] to that port (described later). It recognizes that the basic device described in is connected. If there is no response from the base device (timeout), it is determined that the port is not connected to the base device. Time Out occurs when there is no reply within 1.0 ms after the command is sent.
  • connection check host of the expansion device accesses only the base device through each port, the connection status of the expansion device connected to the base device is also returned from the base device together with the connection status (source AP). It is not necessary to check the connection for all expansion devices like the basic device. Also, when the base device is accessed and the connection setting bit of the extension device that has not been connected to the source AP in response from the base device has changed to "1", the connection setting bit indicates this. This indicates that the connected extension device is newly connected. After accessing the basic device, the connection status of the extension device is known, so a device request [Device Request] is also sent to the extension device, and the device status [Device Status] of the response command is awaited. At this time, if there is no reply of the device status [Device Status], timeout occurs and it is determined that the extension device is not connected.
  • Peripheral device operation for connection check All peripheral devices (basic device, expansion device) are in the standby state immediately after connection, have not yet started operation as devices, and have obtained only the lower 6 bits of their AP. . Each peripheral device does not respond to the host if it receives another command before receiving the device request [Device Request]. After that, the peripheral device receives the command from the host and the device request “Device Request.” The peripheral device sends the received frame. It remembers the AP of the port to which it is connected from the source AP, completes its own AP and the source AP, and starts operation to reply to the Device Request.
  • Basic device disconnection check When the host sends a command to the connected basic device (the basic device whose connection to the port has been confirmed in advance) and there is no response from the basic device even after the lapse of a predetermined time (Time Art), the host recognizes that the base device has been disconnected and is no longer connected. Confirmation of non-connection is performed up to three times. If connection is not made, a reset-pan is transmitted after one in-valve (1 INT).
  • the host sends a command to the expansion device whose connection to the port has been confirmed first and there is no response (timeout), the host determines that the expansion device has been disconnected and is not connected. recognize. Confirmation of non-connection is performed up to three times. If it is not connected, a reset pattern is sent out after one interval (1 INT).
  • the host accesses the base device and receives a reply frame from the base device. Then, when it is determined that the host is changed to send the connection setting bit of the original AP expansion device is "0" of the received frame, the expansion device is disconnected, shown in the connection setting bit LM n It turns out that the connection has not been established.
  • a hard reset is a reset based on a reset pattern that can initialize all peripheral devices (basic devices and expansion devices) connected to a port. No response from peripheral device.
  • a soft reset is a reset by the device reset [Device Reset] of the reset command, and can initialize a specific peripheral device. In this case, the peripheral device returns a device reply [Command Reply] of the command, and then the peripheral device performs its own initialization.
  • reset peripheral devices base devices and expansion devices
  • stored data such as variables and RAM contents.
  • the AP of the peripheral device is also initialized, so when reusing it, it is necessary to send a device request [Device Request] from the host.
  • the peripheral device (basic device, extended device) that has received the device request [Device Request] from the host returns the device status [Device Status] to the host.
  • Various information about the device is recorded in a device area of the device status [Device Status] which is information specific to the device.
  • One of these is the device ID.
  • the device ID In the device ID, the function type of the basic device or extension device and the declaration part of the function definition process are registered. Every peripheral device has exactly one device ID and one or more functions. This allows the host to know the contents (model, function, signal format, etc.) of the connected peripheral device. The various commands will be described later.
  • Configuration of device ID The device ID consists of 16 bits (128 bits) as shown in Table 11. Configure device ID
  • FT indicates the type of function provided by the peripheral.
  • FD 1 indicates the function definition block of the first function.
  • FD2 indicates the function definition block of the second function.
  • FD3 indicates the function definition block of the third function.
  • FD1, FD2 and FD3 have different meanings depending on the function indicated by FT.
  • Table 12 shows the contents of the function types FT Q to FT 31 described above.
  • the function type indicates the function that the peripheral device has. There are a total of 32 function types, each of which has a command and data format.
  • up to three types of functions can be set with one peripheral device, and the setting bits corresponding to the provided functions are set to “ ⁇ ”.
  • the setting bits have priority, with the most significant bit (FT 31 ) having the highest priority and the least significant bit (F To) having the lowest priority.
  • Up to three function libraries are set in order of priority.
  • FD 1 31 ⁇ FD 1 0 indicates the first function definition blocks. It is a block that defines the individual elements that make up the first function. ⁇ The contents vary depending on the function. Details are specified in the respective function specifications (not shown).
  • FD2 31 to FD2. Indicates the second function definition block. This block defines the individual elements that make up the second function. The content depends on the function. Details are specified in the respective function specifications.
  • FD 3 31 ⁇ FD 3. Indicates the third function definition block. This block defines the individual elements that make up the third function. The contents differ depending on the function. Details are each function specification
  • the function default format and definition block The function format and definition block will be described. These indicate the format of data transmission and reception to and from peripheral devices.
  • peripheral devices peripheral devices (peripherals) are classified and distinguished as shown in Table 13.
  • a typical basic device is a game controller.
  • the function type of the game controller is a controller, which is used by connecting to the port of the host.
  • the game controller has a standard default format so that it can be used in many application software.
  • the elements of the controller function are as follows.
  • Analog key A1, A2, A3, A4
  • Analog lever A5, A6
  • the controller peripheral device must be equipped with the following elements.
  • Ua 'Digital button A, B, START
  • Other types of basic devices Other types are function type peripherals other than game controllers .
  • Each peripheral device has different data contents, formats, read / write cycles, etc., so it has a data format and function library corresponding to each function.
  • An extension device is a peripheral device for extending the function of the basic device. Since the contents and format of the data and the read / write cycle are different depending on each peripheral device, the data format and function corresponding to each function are different.
  • Controller function indicates the controller's default format and the device ID definition block.
  • Table 14 shows the format of the lead data.
  • the read format is a format for reading data from the controller.
  • the size of the data format is 8 bytes.
  • the third data is the data of analog axis 1 (value from 00h to FFh).
  • the fourth data is analog axis 2 data (00h ⁇ FFh value).
  • the fifth data is the data of analog axis 3 (80h ⁇ 7Fh).
  • the sixth data is the data of analog axis 4 (80h ⁇ 7Fh).
  • the seventh data is the data of analog axis 5 (80h ⁇ 7Fh).
  • the eighth data is the data of analog axis 6 (80h ⁇ 7Fh).
  • the definition block FD of the function definition block game controller divides and specifies the elements used in the read format shown in Table 14. Table 15 shows an example of the function definition function of the game controller.
  • Table 15 In the table, RB n indicates a read format division block (Table 16 shows an example of block division.
  • Table 17 shows examples of the device ID of the standard controller and the device ID of the data format standard controller.
  • the table shows an example of the Depises ID of a standard controller having a function with only a controller.
  • the device IDs shown in the table are from the first data to the 16th data.
  • Storage-related functions indicate a storage-related function function for storing data and a function definition block.
  • Information other than the function definition (such as the total capacity) is acquired by the command GetMedialnfo [GetMedialnfo].
  • the function (storage) definition block is as shown in Table 19.
  • PT. ⁇ PT 7 indicates the number of partitions.
  • the number of partitions can be set from 1 to 256.
  • the number of partitions ( ⁇ ⁇ + 1) [pieces].
  • ⁇ . ⁇ ⁇ 7 represents the number of pie capital of 1 Plock (Block). You can set from 32 to 8192 bytes.
  • the number of blocks in one block is 2 (B B + l) x 32 [pites].
  • RA 0 to RA 3 represent the number of accesses for one block read.
  • the number of accesses can be set from 1 to 15 times.
  • the data amount of one access is an amount obtained by equally dividing the capacity of one process by the number of accesses.
  • the number of accesses RA [times]
  • the capacity of one access the capacity of one block / RA [pites]
  • RA 0 indicates that there is no read access.
  • WA 3- WA. Represents the number of accesses for one block light.
  • the number of accesses can be set from 1 to 15 times.
  • the amount of data for one access is the amount obtained by equally dividing the capacity of one block by the number of accesses.
  • RM Removable 'Media. Set whether the media for saving data is removable (FD, flash memory card, etc.). Table 20 shows examples of RM settings.
  • FD 6 to FD Represents a reserved bit.
  • the reserved bits are reserved setting bits for the future. Normally all bits are set to "0".
  • the B / WL CD function definition block is as shown in Table 21 for example.
  • PT 7 ⁇ PT Represents the number of LCD. Up to 1 to 256 can be set. LCD number-(P T + 1) [pieces].
  • HZV specifies whether the row of LCD data is horizontal or vertical. This is shown in Table 22.
  • B / W specifies whether the liquid crystal display is normally black (Normally Black) or normally white (Normally White). This
  • the detailed format of the functions other than the function controller system and the detailed contents of the function definition block are determined by the individual specifications (not shown) of each function.
  • the host checks the command returned from the basic device, the destination, product name, license, operating current, etc. described in Device Status [Device Status], and confirms the match with the host destination. Check for items that cannot be removed, those that do not support ablation, or that cannot be operated with hardware. When the base device is ineligible, the host performs a hard reset of the base device or a process to prevent access to the base device thereafter.
  • the host checks the function type of the basic device from the date indicated in Device Status [Device Status]. The host searches from the top of the function type setting bits and calls the top three function libraries. Then, prepare the necessary data from the function definition block.
  • the host determines from the value of the source AP that an extension device is connected, it sends a device request [Device Request] to the extension device and repeats the process from (1). .
  • the host After connection, the host starts communication with the peripheral device and accesses the functions of the peripheral device.
  • the peripheral device connected to port A is a standard (game) controller (basic device).
  • the host requests data from the standard controller.
  • the command uses the get condition [Get Condition]. This command specifies that the physical state of the function be returned.
  • the host requests the state of buttons, keys, and levers from the game controller.
  • the interval between command transmissions is preferably every one-in-one-valve (INT), for example, earlier access is prohibited.
  • Hos Displays the details of the message data sent from the device to the peripheral device (controller).
  • the type sent by the host is stored as it is, and a read format is added accordingly.
  • the controller's lead format is 8 pi.
  • Exception handling is a special process provided for devices that cannot control data transmission / reception by commands.
  • a typical example is a light gun.
  • Light-GUN Light Gun
  • the host recognizes that the peripheral device has a device ID of a light gun or a simulated gun used for a shooting game, the host uses the light gun when using the light gun.
  • the SD CKB occupation mode is the time of screen rewriting of one interval (INT) excluding the vertical blanking period, that is, the period of drawing the TV screen. .
  • the mode is switched to the normal mode immediately, and data can be transmitted / received to / from other peripheral devices on the port.
  • the part having the light receiving element is made into one function (an expansion device is also possible), and the parts such as triggers, direction keys, analog keys, etc. Yes)
  • This overcomes the problem that the directional key cannot be used when using a light gun.
  • the ray gun becomes a single function, it can be connected to other expansion devices.
  • No time out processing is performed during the SD CKB occupancy mode.
  • the internal interface of the host The interface between the M bus driver and the host MIE (see Fig. 46 and Fig. 63) is explained.
  • the peripheral controller shown in Figure 63 is used to store a register set consisting of multiple register evenings in the evening gate section.
  • the peripheral controller consists of a 32-bit DMA instruction table address register, DMA trigger selection register, DMA enable register, DMA start / status register evening, system control register evening, status register evening, and hard trigger clear register. Evening, Work Ram Area Protection Regist Evening.
  • the peripheral controller synchronizes with the V_BLANK signal (startup delay can be set by the system control register), and the work indicated by the DMA instruction table address register:
  • the transmission data on the RAM (Work RAM) is transmitted. Load to FO.
  • Work RAM can also be configured by allocating a predetermined area on the main memory.
  • the transmission data is composed of: the instruction + the reception data-the storage address + the transmission data.
  • the instruction is an instruction given to the peripheral controller, and sets the instruction end, output port, transmission data length, and the like. If the instruction does not indicate the end, the transmission data in the work RAM is loaded into the transmission data FIF 0 as soon as the transmission data FIF becomes empty (performed in units of 32 bytes). . Set the first address for storing the received data in the received data address.
  • the outgoing data is the data that is actually transferred to the peripheral device controlled by the application protocol (in units of 4 bytes).
  • the reception data from the peripheral device is in units of 4 bytes, and is transferred to the work RAM area indicated by the reception data store address as soon as the reception data FIFO becomes full (32 notes). However, even if FIF0 is not full, as soon as reception is completed, the data is forcibly transferred as 32 bytes (valid data + invalid data).
  • ffff_ffffh is written to the first received data store address corresponding to the instruction. Parity error occurred In this case, 32 bits of ffff_ff00h are written.
  • ⁇ The referral controller stops operation and reflects the status to the DMA status / status register.
  • Register address map DMA instruction table address register DMA instruction table address register is a rewritable register composed of 32 bits. Component is an instruction to the peripheral controller (fin Stra click Chillon), received de one Tasutaadoresu, bits indicating the head address of the transmission data group (Ct 31 ⁇ Ct 5).
  • the DMA Trigger Selection Register is a 32-bit readable register.
  • the component is a selection bit (Ts) that determines whether to activate the transmission and reception by software or by hardware (V blank out).
  • DMA rice registry evening is a 32-bit read-only registry evening.
  • the component is a transmission enable / disable selection bit (Tn).
  • Tn transmission enable / disable selection bit
  • transmission / reception is started by enabling this bit and setting the DMA start bit shown in the DMA start / status register to "1".
  • this bit is enabled and transmission / reception starts as soon as a hard trigger (V blank out) is detected. By writing '0' in the enabled state, forced termination is possible.
  • the DMA Start Register is a 32-bit read-only register.
  • the component is a bit (Ss) that starts software transmission and reception. At the time of reading, the status indicates the transmission / reception state. Only when the software trigger is selected as the start trigger, writing 'becomes valid and transmission starts.
  • System control registry evening is 32 This is a registratable evening that is made up of birds.
  • Component timeout from the data delivery against the peripheral device (TimeOut) setting bit (To 15 ⁇ To 0), Bruno, - whether to start every Dueatoriga when V Burankuauto, clear the flag on clear Regis evening Bit (Si), transfer rate setting bits (Dc 3 to Dc 0 ), start timing at hardware startup (delay setting from V blank bit) bit (S Dt 3 to Dt 0 ).
  • Si is a repetition setting bit for automatic startup. When this bit is "0", it is performed for each event. When "1", the next start is not performed until the flag is cleared in the hard trigger clear register.
  • ⁇ ( ⁇ to ⁇ (3 ⁇ 4 represent the transfer rate setting bits.
  • Status Regis Evening is a read-only Regis evening composed of 32 bits.
  • Component, bi Uz preparative shown in the peripheral controller is operated (in sending and receiving) (Do), bit monitoring the frame counter evening internal block (Fm 2 ⁇ Fm.), The state counter evening internal block to monitor bit (S t 5 ⁇ St 0), a bit for monitoring the input and output lines of each port (La 3 ⁇ La., Lb 3 ⁇ L b 0).
  • This register is a register for hardware debugging and is not used in the application.
  • Hard trigger clear register evening The hard trigger clear register evening is a 32-bit dedicated write-only resist evening.
  • a component of this register is the release bit (Tc) of the single hardware automatic start / stop of the peripheral controller. Writing "1" to this bit clears the automatic stop.
  • Tc release bit
  • One Clam Area Protection Regis Evening is a 32-bit dedicated write-resist evening.
  • the components of this register are the 16-bit write security code and the bits that set the start (Ha) and end (Ta) addresses of the storage address range of the received data.
  • the transmission data address count register is a read-only register composed of 32 bits. The component indicates the address point of the transmission data on the work RAM (Work RAM) read by the Peripheral controller. Not used in application because it is a debug register.
  • Receive data address count register evening Receive data address count evening register is a read-only register evening consisting of 32 bits.
  • the component indicates the address point of the reception data on the work RAM (Work RAM) written by the Peripheral controller. Not used in applications because it is a debugging registry.
  • Receive data base address register The receive data base address register is a read-only register consisting of 32 bits.
  • the component element indicates the start address of the received data on the work RAM written by the peripheral controller (it is used for debugging and is not used in applications.
  • transmission data Next, transmission data will be described.
  • One unit of transmission data consists of an instruction, a reception store address, and transmission data. ⁇ If the instruction, the reception data address, the transmission data, the reception, the instruction, the reception data address, the transmission data, etc. are arranged on the RAM, the peripheral controllers will be executed sequentially.
  • Instructions are 32 bits of data given to the peripheral controller from an application program to control the controller. Component, the effective I Nsu traction final bit that indicates the last (E f), selected bits of the activator Bupoto to be transmitted and received (P o 13 P o 0) , the pattern selection bits (P n 2 ⁇ P n 0), is delivered de Isseki length selection bits (L n 8 ⁇ L n 0) . If the peripheral controller detects "1" in the Ef bit, it ends processing with this instruction. The Ef bit must be "1”). If "0" is detected in the Ef bit, the next instruction is executed. When [ST ART] is selected for the pattern selection bit, the output data is output.
  • the peripheral controller outputs the negative edge input from the SD CKB line as a latch signal for the HV counter while the SDC KB is occupied.
  • the transmission data length selection bit Ln can be specified, for example, in units of 4 bytes up to 1024 bytes.
  • the reception data address is a setting bit (Ra) of the start address for storing the reception data.
  • Transmission data is data actually transmitted to the peripheral device.
  • the data length of the transmission data must exist for the size of the transmission data length set in the above-mentioned instruction (32-bit unit).
  • Interrupt Registers Register interrupts related to interrupts are not included in this interface. From this interface, six signals are connected to the interrupt block. Interrupts are generated, for example, when transmission / reception ends (DMA end), when the transmission / reception operation (DMA) straddles VBLANKIN, when the reception FIFO is full, and when the reception FIFO is full. There are cases such as when trying to write, setting and starting out of the protection area of the DMA instruction table address, and fetching illegal instruction.
  • HV Countdown Regis Evening HV Countdown Regis evening in the Light-Gun mode is not included in this evening. From this interface, the HV latch signal is connected to the drawing process.
  • Application is V BLANK Read the HV count value of the drawing block during the period.
  • the transmission / reception sequence includes a normal sequence and an SD CKB occupation procedure described below.
  • FIG. 61 An example of the normal sequence is shown in Fig. 61. This figure shows the flow of data transmission and reception between the host CPU and peripheral controller shown in FIG. 63 and the peripheral devices A and B shown in FIG. 64, which will be described in detail later.
  • the CPU of the host knows whether a peripheral device is connected to each port and the destination AP of each peripheral device by establishing the AP. Then, the contents of each peripheral device are grasped by transmitting and returning a device request [Device Request] to each peripheral device. For example, the CPU sets the transmission data in the work RAM of the DMA operation in order to perform data communication with the peripheral device A based on a request from an application or the like, and transmits the data to the register 52a in the target unit 52a of the peripheral controller. Make various settings such as instructions. In addition, for example, in order to perform data communication with the peripheral device B, transmission data is set in the work RAM, and various settings such as instructions are set in a register in the evening target section 52a of the peripheral controller.
  • This instruction is an instruction given to the peripheral controller, and sets the end of the instruction, the output port, the transmission data length, and the like. If the instruction does not indicate the end, the transmission data on the work RAM is continuously transmitted to the transmission FIF 053a as soon as the transmission FIFO 53a becomes empty. Loading is performed, for example, in units of 32 bytes.
  • the peripheral controller synchronizes with the rising edge of the supplied video signal V blank (V BLANK) signal (end of the blanking period) and transmits the data to the work RAM (Work RAM) indicated by the DMA instruction table address register. Send overnight Load it to FIF 053 a.
  • the start delay can be set by the system control register.
  • the ferrule controller forms transmission data in the frame format shown in FIG. 48 based on the instruction and the data output by the CPU, and sends the transmission data to the M bus of the corresponding port.
  • Peripheral device A constantly monitors data signals on the M bus. After confirming that the destination AP for sending data is its own address (AP), it takes in the sending data. Peripheral device A performs processing corresponding to the command, creates reply data in a predetermined frame format, and sends it to the M bus.
  • AP its own address
  • the peripheral controller When receiving the data from the peripheral device A, the peripheral controller temporarily receives the received data into the received FIF 056b, and transfers the data to the work RAM in the DMA operation.
  • the received data from the peripheral device is, for example, in units of 4 bytes, and is transferred to the work RAM indicated by the received data address as soon as the received FIFO 56b becomes full (32 bytes). However, even if the reception FIF 056b is not full, as soon as the reception is completed, it is forcibly transferred as 32 bytes (valid data + invalid data overnight).
  • data to be transmitted to the peripheral device B remaining in the work RAM is read, and the transmission data is taken into the FIF 053a to form transmission data to the peripheral device B. This is sent to the M bus of the port to which peripheral device B is connected.
  • peripheral device B constantly monitors the overnight signal on the M bus. After confirming that the destination AP of the transmission data is its own address (AP), it takes in the transmission data. Peripheral device B performs processing corresponding to the command, creates reply data in a predetermined frame format, and sends it to the M bus.
  • AP its own address
  • the peripheral controller Upon receiving the data from the peripheral device B, the peripheral controller temporarily receives the received data into the reception FIFO 56b and transfers it to the work RAM in the DMA operation.
  • the CPU synchronizes with the falling edge of the V blank (V BLANK) signal of the supplied video signal (start of the blanking period) and sets the step from the peripheral controller. Read the message. Thus, the presence of the data from the peripheral device is known. Read the received data from the corresponding area in the work RAM. Return this data to the application.
  • V BLANK V blank
  • the peripheral controller stops the operation and reflects the status in the DMA register / status register.
  • a timeout occurs (for example, lmSec) due to a peripheral device not being connected or a malfunction
  • a 32-bit ffff-ffffh is written by the peripheral controller to the first received data store address corresponding to the command. You.
  • 32 bits of ffff_ff00h are written. The CPU performs processing corresponding to this.
  • the SD CKB occupation procedure is used, for example, for a data communication between a host and a light gun as a peripheral device in a shooting game.
  • the CPU knows whether a peripheral device is connected to each port and the destination AP of each peripheral device by establishing the AP. Then, the contents of each peripheral device are grasped by transmitting and returning a device request (Device Request) to each peripheral device. For example, in order to perform data communication with the light gun based on the requirements of the shooting game application, the CPU sets the transmission data in the work RAM in the DMA operation, and sets the register in the target section 52 of the peripheral controller. In the evening, make various settings such as the instruction.
  • the CPU changes the port operation from the normal mode to the SD CKB occupancy mode.
  • the transmission data including the selected port and SD CKB occupation permission is written to the work RAM.
  • the peripheral controller synchronizes with the rising edge of the V blank (V BLANK) signal of the video signal to be supplied (end of the blanking period), and transmits the transmission data on the work RAM (Work RAM) indicated by the DMA command table address register.
  • V BLANK V blank
  • Work RAM work RAM
  • the peripheral controller reads commands and data from the work RAM, forms an SDCKB occupation permission pattern signal in the format shown in Fig. 52, and sends it to the M bus of the corresponding port.
  • Peripheral device A constantly monitors data signals on the M bus. Upon receiving the SDCKB occupation permission pattern, peripheral device A can send its output to the M bus at any timing. When peripheral A (light gun) is operated (triggered) by the user, peripheral A (light gun) sends a trigger signal to the M bus.
  • the peripheral controller When receiving the data of the trigger signal from the peripheral device A, the peripheral controller outputs a latch signal of the HV counter (not shown).
  • the HV counter counts the value corresponding to the position of the bright spot scanned on the television screen. It is possible to determine the impact position on the screen when peripheral device A (light gun) is triggered by the latched HV count value.
  • the CPU allocates a TV screen drawing period of one-in-one-bar of the supplied video signal as an SD CKB occupation period. Therefore, when the V blank (V BLANK) signal falls after the drawing period ends (the blanking period starts), the CPU releases the SD CKB occupancy mode and changes the operation of the corresponding port from the SD CKB occupation mode to the normal mode. I do. For this reason, the CPU writes the transmission data including the selected port and the release of the SD CKB occupancy to the work RAM by the above-described command. Write the address of the data on the Works RAM in the DMA command table address register.
  • the peripheral control is immediately activated by the DM A command Load the transmission data on the work RAM (Work RAM) indicated by the display into transmission FIF 0.
  • the peripheral controller reads commands and data from the work RAM, forms an SD CKB occupancy permission release pattern signal, and sends this signal to the M bus of the corresponding port.
  • Peripheral device A constantly monitors the overnight signal on the M bus. Upon receiving the SDCKB occupancy release pattern, peripheral device A releases the output enable state. In this way, in one interval of the video signal, the period in which the television is drawn is in the SD CKB occupation mode, and the vertical blanking period is in the normal operation mode. Therefore, even when using a peripheral device that generates a random output such as a light gun, other peripheral devices connected to the same M bus can be used.
  • Registrar setting method An example of the resister setting will be described for the case of software startup and hardware startup (automatic startup for each trigger).
  • the initiator section 50 plays a role of accessing the work RAM as a bus cell. It reads data to be transmitted to the peripheral device from the work RAM, and writes data received from the peripheral device to the work RAM.
  • the clock divider 51 is a clock divider circuit for selecting a bit rate (transfer rate) for a transmission device.
  • the target section 52a is a block that operates as a target on the route bus, and is composed of the above-mentioned register group that is read / written in 32 bits by the host CPU. Primarily, instructions are written.
  • the transmission data temporary register 53 b is a register for storing 32 bits of transmission data from the 32-byte transmission data FIFO 53 a.
  • the transmission data FIF 05 3 a is a 32-byte FIF 0 (Firtst In First Out) for temporarily storing transmission data, that is, a register for first-in first-out operation.
  • the received data overnight FIF 0 56 b is a 32-byte received data overnight FIF 0.
  • the reception data temporary registration evening 56 a is a registration evening for storing 32 bits of the reception reception overnight.
  • the interrupt signal controller 54 generates an interrupt signal of one clock pulse to be sent to the interrupt (interrupt processing) section under certain conditions.
  • the frame controller 58 is a block that controls a transmission frame (start pattern, overnight pattern, end pattern, etc.) based on instructions and the like.
  • the frame encoder 59 is a block for creating a frame pattern.
  • Alternate Shift Register (Parallel / Serial) 60 is a circuit that alternately converts parallel transmission data into two serial lines.
  • the O / L net shift register 60 stores transmission data.
  • the parity of the evening is calculated, and the parity data (for example, 1-byte parity bit) is added to the end of the transmission data.
  • the frame decoder 61 is a circuit that analyzes a frame of a received signal.
  • Ori-Night Shift Register (Serial / Parallel) 6 2 is a circuit that converts data coming alternately from two serial lines into parallel data.
  • Alternate shift register 62 calculates the parity of received data overnight. The result of the calculation is compared with the received parity data to determine whether there is an error. If there is an error, the error is notified to the interrupt controller of the CPU via the interrupt signal control unit 54. As a result, the CPU can perform error processing such as a retransmission instruction.
  • the HV latch signal controller 63 draws the H latch signal from the serial line into the drawing processor.
  • Video signal forming unit This is a circuit to pass to the 1 f HV counter.
  • the port controller 57 controls an active port to be transmitted and received. That is, the three-state buffers 68a to 68h of the transmission port selected by the instruction are controlled, and the outputs SDCKA and SDCKB of the selectors 64 and 65 are connected to the selected port. Derive.
  • the selector 64 is controlled by the frame controller 58, selects the output of the frame encoder 59 or the output of the shift register 60, forms the SDCKA signal, and selects the selected 3-state buffer. Output to M bus line via 6 8.
  • the selector 65 is controlled by the frame controller 58, selects the output of the frame encoder 59 or the output of the O / L shift register 60, forms the SDCKB signal, and selects the selected 3-state buffer 6. Output to M bus line via 8.
  • the selector 66 selects a reception port in accordance with a command from the port controller 57, and supplies the reception signal SDCKA that has passed through the buffer amplifier 69 to the frame decoder 61 and the all-night shift register 62.
  • the selector 67 selects a reception port in accordance with a command from the port controller 57, and converts the reception signal SDCKB passed through the sofa amplifier 69 into the frame decoder 61 and the alternate shift register 62. To supply.
  • FIG. 64 is a block circuit diagram schematically showing a circuit configuration of a basic device as a peripheral device.
  • FIG. 65 is a block circuit diagram illustrating in more detail the interface (MIE for basic device) of socket control section 203 and communication processing section 204 shown in FIG.
  • MIE for basic device
  • the CPU block 201 has a basic device control function such as formation of a transmission data that carries input operation information and processing of return data in response to a request from the host 1. This includes the initial operations described above, such as the establishment of the device AP during setup and the expansion device AP.
  • the 10 block 202 converts operation information of the input means into a data signal.
  • the basic device 2 is a control pad of a game device, a plurality of digital buttons, a plurality of analog keys, and the like correspond to input means.
  • the I / O block 202 notifies the expansion device connected via the ID0 and ID1 terminals of each expansion socket of the LM bus number according to the output of the CPU.
  • the socket control block 203 determines whether or not an extension device is connected to each extension socket. Then, the three-state buffer of the expansion socket to which the expansion device is connected is turned on, and the data lines SD18 and 30 CKB derived from the host to the device are transferred to the LM bus. Connect to lines SD CK A and SDC KB. Therefore, when the M bus is viewed from the host 1, it appears equivalently that a plurality of peripheral devices (base devices and expansion devices) are connected in parallel to the M bus.
  • the communication processing block 204 decodes received data, encodes CPU output data, and the like.
  • the CPU block 201 to the communication processing block 204 can be configured as a one-chip integrated circuit. is there.
  • the communication processing unit 204 plays a role of demodulating a frame received from the host 1 and framing (decoding) the transmission data output from the CPU 201.
  • the communication processing unit 204 constitutes a main part of the MIE (input / output interface) together with the socket control unit 203.
  • the SDCKA signal (down signal) output from the host to the M bus is supplied to the communication processing unit 204 via the buffer amplifier 212a.
  • the SDCKA signal passed through the buffer amplifier 211a is sent to the LM bus as the SD CKAD S-1 signal and the SD CKAD S-2 signal via the 3-state buffers 215a and 215b, respectively. Supplied to 1 and 2.
  • the SD CKB signal (down signal) output from the host to the M bus is supplied to the communication processing unit 204 via the buffer amplifier 212b.
  • the SD CKB signal passed through the buffer amplifier 2 12 b is converted into the SD CKBD S-1 signal and the SD CKBD S -2 signal via the 3-state buffers 2 16 a and 2 16 b, respectively. Supplied to LM buses 1 and 2.
  • the SD CKA signal output to the host (upstream) output from the communication processing unit 204 of the device passes through the OR gate 214a (the first input terminal) and the 3-state buffer 211a to the M bus. Data is output to SDCKA and received by the host MIE. Also, the SD CKB signal for the host output by the communication processing unit 204 is sent to the M bus data line SDCKB via the OR gate 214b (first input terminal) and the 3-state buffer 211b. Output and received by the host MIE.
  • the communication processing unit 204 sends out the SD CKA signal and the SD CKB signal, it supplies an enable signal to the control terminal of the three-state buffer 211a via the OR gate 213a (the first input terminal thereof).
  • Gate 211b is opened (conducting), and an enable signal is sent to the control terminal of the 3-state buffer 211b via the OR gate 211b (first input terminal). Giving gate 2 1 1 b Release.
  • Each input terminal of the 3-input OR gates 2 13 a and 2 13 b is grounded via a resistor. If there is no signal input to the input terminal, the input terminal is held at the ground level.
  • each input terminal of the 32-input OR gates 214a and 214b is connected to the power supply Vcc via a resistor. Therefore, the input terminals without signal input are kept at “H” level.
  • the SD CKA signal output to the LM bus 1 by the first extension device is output to the or gate 214a (the second input terminal thereof) and the three-state buffer 21 1 via the extension socket 1 terminal SDCK AUS-1.
  • the SD CKB signal output to the LM bus 1 by the first expansion device is the terminal SD of the expansion socket 1.
  • the signal is output to the M bus data line S D CKB via the gate 2 1413 (the second input terminal thereof) and the 3-state buffer 21 1 lb via 8113-1.
  • the first expansion device When the first expansion device transmits the SD # 8 signal and the 30 CKB signal, the first expansion device uses the signal line SD CKAEN 1 of the LM bus 1 and the second input of the orifice 213a (The enable signal is supplied to the control terminal of the 3-state buffer 211a through the terminal 21) to open the gate 21 la. In addition, an enable signal is supplied to the 3-state buffer 2 1 1 b via the signal line SD CKB EN 1 of the LM path 1 and the OR gate 2 1 3 b (the second input terminal thereof) to generate a gate 2 1 1 b Release.
  • the SDCK A signal output from the second extension device to the LM bus is connected to the OR gates 2 14a (the third input terminal) and 3 via the extension socket 2 terminal SDCK AU S-2.
  • the data is output to the M bus data line SD CKA via the state buffer 211a.
  • the SD CKB signal output to the LM bus by the second expansion device is output to the terminal 30 of the expansion socket 2.
  • the OR gate 2 14 b (the third input terminal of) via the 1 ⁇ 8113-2 ⁇ and the 3-state buffer 2 1 Output via 1b to the M bus data line SDC KB.
  • the second expansion device When the second expansion device sends out the SDC KA signal and the SD CKB signal, the second expansion device uses the signal line SD CKAE of the LM bus 2
  • the enable signal is supplied to the control terminal of the three-state buffer 211a via the N2 and the OR gate 213a (the third input terminal thereof) to open the gate 211a.
  • the enable signal is given to the control terminal of the 3-state buffer 211b via the signal line SD CKBEN2 of the LM bus 2 and the OR gate 211b (the third input terminal thereof), and the gate 211b is supplied. Let open.
  • the operating power for the basic device is supplied from the host 1 via the M bus power lines Vcc and GND.
  • the operating power of the expansion device is supplied from the basic device via the power lines Vcc and GND of the LM bus.
  • the socket control section 203 includes an LM bus controller 203a.
  • the LM bus controller 203a monitors the voltage of a specific terminal provided for checking the connection of the extension socket. In this example, the voltage of the ID 2 bin of the extension socket is monitored.
  • the ID 2 pin on the basic device side is connected to the ground power supply GND on the basic device side via a resistor R.
  • the power supply Vcc and GND are supplied to the extension device 3 via the terminals Vcc and GND of the extension socket.
  • the power supply Vcc of this extension device is applied to the resistor R via the terminal ID 2 of the extension socket of the basic device.
  • the LM bus controller 203a determines whether or not the extension device is connected to the socket based on the presence or absence (or large or small) of the voltage generated in the resistor R.
  • the LM bus controller 203a informs a control register 204a to be described later whether or not an extension device is connected to each LM bus. As a result, the LMM flag corresponding to whether or not each extension port is used is set in the control register 204a.
  • the LM bus controller 203a opens the gate of the 3-state buffer of the extended socket LM bus to which the extended device is connected, and connects the data buses SDCKA and SDCKB of the M bus and the LM bus. Evening lines SD CKAD S and SD CKBD S are connected to each other.
  • the LM bus controller 203a activates the expansion connector bus independently of the operation of other parts. Can be controlled, but this can also involve the judgment of the CPU. That is, the LM bus controller 203a detects the connection of the extension device, and sets the detection output to the control register 204a. The CPU 201 knows the connection of the extension device to the LM bus by monitoring the control register 204a. When the connection of the expansion device is permitted, the CPU 201 sets the flag LMC for instructing the connection of the corresponding LM bus to the control register 204a. The LM bus controller 203a opens (conducts) the three-state buffers 215 and 216 of the LM bus corresponding to the flag LMC. As shown in FIG. 47, when the expansion device is connected to the base device by such an operation, the base device automatically recognizes the connection of the expansion device and connects the expansion device to the M bus.
  • the communication processing unit 204 includes a control register 204a, no. 204b, Frame controller 204c, Line monitor 204d, Frame encoder 204e, Alternate shift register P / S 204f, Temporary register 204g, Frame decoder 204h, Alternate shift register S / P 204 i, transmission / reception buffer 204 j, data length register 204 k.
  • the control registry evening 204a is a registry evening that holds various flags and the like for controlling transmission and reception of the data.
  • the various flags will be described later with reference to Table 26.
  • the NR 204b is a double buffer for serial / parallel, parallel / serial conversion calculations, and parity calculations.
  • the transmission / reception buffer 204 j is a data storage register used for data transmission / reception.
  • the frame controller 204c controls transmission and reception of frames by monitoring various flags of the control register 204a. The corresponding flag is set in the control register 204a in response to the detection of the first pattern, end pattern, SD CKB occupation pattern, reset pattern, and the like.
  • H The frame encoder 204e generates a frame by adding a pattern part to the data.
  • the O / N native shift register P / S 204 performs parallel / serial conversion for converting parallel data to serial data.
  • the line monitor 204d monitors the SD CKA and SD CKB signal lines.
  • the register register 204 k is a register for specifying the amount of data to be transmitted during transmission.
  • the interface with the MIE consists of 21 control flags (CFLAG), a data register length register (LREG) 204 k, and a transmit / receive buffer of up to 1,024 bytes.
  • CLAG control flags
  • LREG data register length register
  • TRBF transmit / receive buffer
  • the frame data transmitted from the host via the data lines SD CKA and SD CKB is received by the frame decoder 204h.
  • the frame decoder 204h demodulates frame data from the SD CKA and SD CKB signals, and separates a pattern portion and a data portion from the frame data.
  • the frame decoder 204h detects a pattern part such as a start pattern, an end pattern, an SD CKB occupation pattern, and a reset pattern
  • the detection information of the pattern part is sent to the frame controller controller 204c.
  • the frame controller 204c controls the reception and sets a flag in the control register in response to the pattern detection. This flag includes the reception flag RXB, reception completion flag RFB, SD CKB occupation mode flag POS, and reset pattern reception flag HRES.
  • the separated overnight portion is sent to the Ori Night Shift Register 204i.
  • the shift register 204 i has a data serial / parallel conversion function, converts the separated serial data into parallel data, and converts it to a temporary register. send to g.
  • the temporary register 204 g calculates the parity check of the received data.
  • the parity bit portion of the received data is extracted and stored in the parity register 204b.
  • a parity error flag PERR is set in the control register 204a.
  • the error-checked data is stored in the transmission / reception buffer 204j.
  • the buffer overflow flag BF0V is set in the control register 204a.
  • the overflow data is not stored in the transmission / reception buffer 204j.
  • the reception completion flag RFB is set in the control register 204a.
  • the CPU 201 monitors the contents of the control register 204a, and reads the received data stored in the transmission / reception buffer 204j in accordance with the setting of the reception completion flag RFB.
  • the transmission data is stored in the transmission / reception buffer, and the transmission data amount is written to the data length register 204k.
  • the CPU 201 sets the transmission flag TXB and the end pattern transmission flag ENP (when there is no subsequent transmission data) in the control register 204a.
  • the transmission data of the transmission / reception buffer 204j is sent to the temporary register 204g, where the parity calculation is performed.
  • the temporary register 204 holds the result of the parity calculation as a one-byte parity bit and adds it to the end of the transmission data.
  • the transmission data is supplied from the temporary register 204 g to the temporary shift register 204 f, converted into serial data, and supplied to the frame encoder 204 e.
  • the frame encoder 204e adds a start and end time before and after the transmission data and parity data to form a transmission frame
  • the c frame controller 204c includes an OR gate 21 3a And via 3 b open the 3-state buffers 2 1 a and 2 1 b respectively.
  • SDCKA signal and SDC KB signal are transmitted by frame encoder 204e. Is encoded to The SDCKA signal and SDCKB signal are output on the M bus data line SD # 1 (8 and data line 30 CKB), respectively.
  • the line monitor 204d constantly monitors the data line SDCKA and the data line SDCKB.
  • the result (presence / absence of a signal) is set as the SD CKA line monitor flag and the SD CKB line monitor flag in the control register 204a.
  • the CPU 201 can check the timeout of the data sent from the host by referring to these flags.
  • the MIE of the extension device is configured similarly to the MIE of the base device, but does not include a socket control unit.
  • the support function part shown in the figure is a part corresponding to the input means of the basic device and the I / O part 202.
  • an LCD display For example, an LCD display, a sound output power cartridge, a sound input power cartridge, a light gun cart. It is a part that has individualized functions such as ridges, vibration cartridges, and memory cartridges.
  • the CPU unit 301 and the communication processing unit 304 correspond to the CPU unit 201 and the communication processing unit 204 of the device, respectively.
  • control register 204a the data length register 204k, and the transmission / reception buffer (TRBF) provided in the MIE of the basic device (or expansion device) will be described.
  • TRBF transmission / reception buffer
  • Table 26 shows the structure of the control register 204a including various control flags (CFLAG).
  • the control flag consists of 21 flags for controlling data transmission and reception. Which flag is used to configure the registry depends on the type of peripheral device.
  • R / W indicates that reading / writing is possible.
  • R indicates that only reading is possible.
  • Ini represents the initial setting.
  • HRES indicates a reset pattern reception flag.
  • Reset pattern reception flag HRES is set to "1" when a reset pattern is received, prompting the initialization of the MIE controller.
  • TXB is a transmission flag. If data is written to TXB during transmission or reception, the contents of the data in that case are not guaranteed.
  • C TXB is a continue transmission flag. When transmitting beyond the capacity of the transmission / reception buffer 204j, the subsequent data is stored in the transmission / reception buffer 204j, and then transmitted using the continuation transmission flag C TXB instead of the transmission flag TXB.
  • T FB is a transmission completion flag.
  • BF 0 V is a transmission / reception buffer overflow flag.
  • the overflow flag BF OV is cleared to "0" at the start of reception and at the start of transmission.
  • the overflow flag BFOV is set to "1".
  • RFB is a reception completion flag.
  • ENDP is the end-of-end transmission flag.
  • EN DP "1”.
  • RXB is a reception flag. The receive flag RXB changes when data is received.
  • EMP is the empty flag. When there is no more data to be transmitted to the transmission / reception buffer 204 j during transmission (empty), the empty flag EMP is set to "1".
  • P ERR is a parity error flag.
  • the parity error flag PERR is set to "1" when the parity of the received frame does not match, and is cleared to "0" when the received frame is normal.
  • P0S is an SDC KB occupancy mode flag.
  • SDAM is the SDCKA line monitor flag (provided only for the basic device).
  • SDBM is the SDC KB line monitor flag (provided only in the basic device).
  • SDAM and SDBM indicate the state of the data lines SD CKA and SD CKB, respectively.
  • LMC 1-4 are LM bus Connection flags 1 to 4 (provided only for the basic device).
  • L MM 1 to 4 are LM bus 1 to 4 connection monitor flags (provided only in the basic device).
  • Flags LMM1 to LMM4 indicate the use status of LMbus1 to LM4.
  • the MIE controller checks the flags SDAM and SDBM and checks the time-out of the data coming from the host. Only the basic device performs the time-out processing, not the extended device.
  • Table 27 shows the composition of the De Ichiban Regis Evening.
  • the data length register is a one-byte register to specify the size of one frame at the time of transmission.
  • R / W indicates that both reading and writing are possible.
  • all bits are undefined.
  • Ln represents the data length. 00h ⁇ Ln ⁇ FFh.
  • Table 28 shows the correspondence between the value of Ln and the data length.
  • the value of the data length register (LREG) is undefined.
  • the data length can be specified in 4-byte units.
  • the transmission / reception buffer (TRBF) 204 j described above is used as a data buffer.
  • the transmission / reception buffer 204 j is a buffer area for storing one frame of transmission data and one frame of reception data.
  • the capacity ranges from a minimum of 4 bytes to a maximum of 104 bytes in 4-byte units. Capacity is optimized for each peripheral device. It has a common buffer for transmission and reception, and uses it in the command code, destination AP, source AP, data size and data area.
  • Table 29 shows the configuration of the transmit / receive buffer.
  • R / W indicates that both reading and writing are possible. Initially, the contents of the buffer are undefined. The data is transmitted in order from the first data (1st Data) in the table, and the received data is written in order from the first data storage area. The 1st Data to 4st Data portions are areas in which data to be stored is determined.
  • the first data portion is an area for storing a command code.
  • the second data area (2ndData) is an area for storing the value of the destination AP.
  • the third data portion (3rdData) is an area for storing the value of the source AP.
  • the fourth data area (4thData) is an area for storing the size of data. When the value of the fourth data 04 (04. to 04 7 ) is "00h", it means that there is no data.
  • the area after the fifth data section (5th Data) is an area for storing parameter data. Replacement paper specified by data size (Rule 26) The data is stored by the number of data. The contents of the data area after the data size are undefined.
  • reception processing ends.
  • reception flag RXB and the reception completion flag RFB are both "1"
  • the transmission / reception buffer overflow flag BFOV is set to "1”
  • the reception data from the start of reception to the capacity of the transmission / reception buffer is set. Is stored in the send / receive buffer.
  • PERR is set to "1” if the parity of the frame does not match, and cleared to "0" if the parity is normal.
  • FIG. 67 is a diagram illustrating MIE data reception on the device side when the capacity of transmission data from the host to the device (peripheral device) does not exceed the capacity of the transmission / reception buffer 204j.
  • transmission data to be transmitted on the host side is formed in the work RAM 1e, and the MIE of the host forms frame data including this data and starts transmission to the M bus.
  • the MIE of the device receives the frame data and decodes it with the frame decoder 204h.
  • the data portion (data pattern) of the frame data and the parity data are converted to serial / parallel by the all-in-one shift register 204i, and the parity is checked (parity calculation) by the temporary register 204g.
  • the checked data portion is stored in the transmission / reception buffer 204k, and the parity data is stored in the parity register 204b.
  • the frame controller 204c clears the transmission flag TXB, the transmission completion flag TFB, and the reception completion flag RFB of the control register 204a to "0" when the frame decoder 204h detects a frame start pattern in the evening. .
  • the reception flag; RXB is "1"
  • the reception flag RXB is "0”
  • the CPU unit 201 reads that the reception flag RXB is "1" and determines that data is being received. Further, the CPU 201 can monitor the use of the data lines SD CKA and SD CKB by checking the flags SDAM and SDBM.
  • the frame controller 204c determines that the reception has been completed, and sets the reception flag RXB to "0".
  • the parity register section 204b compares the result of the parity check of the received data with the received parity data to determine whether or not there is a parity error. The presence or absence of an error is written to the parity error flag PERR of the control register 204a.
  • the reception completion flag RFB is set. Set to "1" to end the reception process.
  • the reception completion flag RFB is assigned to the CPU 201 Embedded signal.
  • the CPU 201 periodically monitors the reception completion flag: RFB or, upon receiving an interrupt signal due to the reception completion flag RFB being set to "1", processes the reception data. Execute First, check that the parity error flag P ERR of the controller registry 204a does not indicate the presence of an error. Next, the received data is fetched from the transmission / reception buffer 204 j into the main memory in the CPU 201. Then, it performs the processing corresponding to the command and parameter sent from the host, and performs the processing of forming the return data and so on.
  • both the reception flag RXB and the reception completion flag: RFB are "1"
  • the CPU is incompatible with each other, and the CPU determines that an error has occurred in reception and takes the corresponding processing. Do.
  • the parity error flag PERR indicates the presence of an error
  • the CPU unit 201 performs, for example, a process of transmitting a retransmission request command to the host.
  • FIG. 68 is a diagram for explaining the data reception of the MIE on the basic device side when the capacity of the transmission data from the host to the basic device (peripheral device) exceeds the capacity of the transmission / reception buffer TRBF. If the reception data exceeds the capacity of the transmission / reception buffer 204j, the transmission / reception buffer overflow flag BFOV is set to "1". Stored in the send / receive buffer. The operation in this case will be described.
  • the transmission data to be transmitted on the host side is formed in the work RAM1e, and the MIE of the host forms frame data containing this data and transmits it to the M bus.
  • the MIE of the base device receives the frame data and decodes it with the frame decoder 204h.
  • the data portion of the frame data (data and data) and the parity data are converted to serial / parallel at the shift register 204i, and the parity check (parity calculation) is performed at the temporary register 204g.
  • the checked data part is the send / receive buffer 2 04j is stored in the parity register 204b.
  • the frame controller 204c clears the transmission flag TXB, the transmission completion flag TFB, and the reception completion flag RFB of the control register 204a to "0". I do. As described above, when the reception flag RXB is "1", it indicates that the MIE is receiving data overnight, and when the reception flag RXB is "0", it indicates the end of reception. ⁇ ? The 11 unit 201 reads that the reception flag RXB is "1" and determines that the data is received. The CPU 201 can monitor the use of the data lines SD CKA and SD CKB by checking the flags S DAM and SDBM.
  • the transmission / reception buffer 204j sets the transmission / reception buffer overflow flag BF0V of the controller / register to "1". This is because, for example, an overflow can be detected by generating a detection output when the address counter in the transmission / reception buffer 204 j reaches the maximum address value of the memory. Even after the amount of received data exceeds the capacity of the transmission / reception buffer 204j, the received data is supplied to the transmission / reception buffer via the temporary register, but the transmission / reception buffer does not capture data. Therefore, only the parity calculation is performed for all data. Reception data-The parity data in the evening is stored in the parity register.
  • the frame controller 204c determines the end of the reception and sets the reception flag RXB to "0".
  • the parity register section 204b compares the result of the parity check of the received data with the received parity data to determine whether or not there is a parity error.
  • the presence or absence of an error is written to the parity error flag PERR of the control register 204a.
  • the data is sent to the transmit / receive buffer 204 j and the parity error status is When the parity error flag PERR of the password register 204a is set, the reception completion flag RFB is set to "1" and the reception processing ends.
  • the reception completion flag RFB can be used as an interrupt signal to the CPU 201.
  • the CPU 201 periodically monitors the reception completion flag RFB in the control register, or receives an interrupt signal due to the reception completion flag RFB being set to “1”, thereby receiving the reception data. Know that you should run a program that handles Also, confirm that the parity error flag PE RR of the controller register 204a does not indicate the presence of an error (in addition, the transmission / reception buffer overflow flag BBOV is set to "1"). After recognizing that the data is about to be interrupted halfway, the CPU 201 retrieves the received data from the transmission / reception buffer 204j into the main memory in the CPU 201. Perform processing.
  • the procedure for transmitting data from the expansion device to the host is the same as the procedure for transmitting data from the basic device to the host, and a description thereof will be omitted.
  • the base device When the base device receives a command from the host, it forms reply data in response to the command and sends it to the host. As described above, the host is unconnected if there is no response within a predetermined time (for example, 1.0 ms) after sending the command. Therefore, the base device must return commands during this period.
  • a predetermined time for example, 1.0 ms
  • the CPU 201 of the basic device writes the transmission data (command, parameters) to the transmission / reception buffer 204j. After that, write the data amount of the transmission data to the data length register 204 k and set the end flag END P of the control register to "1".
  • the CPU 201 sets the transmission flag TXB of the control register 204a.
  • the MIE starts transmission operation to transmit the data of the size specified in the data length register.
  • the transmission flag TXB is set to "1”
  • the reception flag RXB, reception completion flag RFB, transmission completion flag TFB, and transmission / reception buffer overflow flag BFO V of 204a in the control register register are set to "0". Is set to (cleared).
  • the transmit / receive buffer overflow flag BFOV is set to "1" and all data in the transmit / receive buffer 204j is transmitted. I do.
  • the frame controller 204c transmits the transmission data stored in the transmission / reception buffer 204j in accordance with the setting of the transmission flag TXB of "1".
  • the transmission data is parity-calculated at the temporary register 204 g, converted into parallel / serial data at the all-time register shift 204 f, and sent to the frame encoder 204 e.
  • a temporary password is added to the end of the transmission data by 2g / 4g.
  • the frame encoder 204e Under control of the frame controller 204c, the frame encoder 204e sequentially transmits a start pattern, transmission data (commands, parameters), parity data, and an end pattern.
  • the transmission frame composed of these data is transmitted to the M bus by carrying the above described SDCKA signal and SDCKB signal.
  • the transmission flag TXB of the control register is set to "0"
  • the empty flag EMP is set to "1”
  • the continuation transmission flag is set to "0”.
  • the contents of the transmission / reception buffer 204j are undefined.
  • the frame controller 204c transmits the end pattern, and when the transmission of the data is completed normally, sets the transmission completion flag T FB of the control register 204a to "1".
  • the MIE of the basic device waits for input from the M bus.
  • the CPU 201 periodically recognizes the end of transmission by monitoring the transmission completion flag TFB of the control register 204a at "1". Also, the CPU 201 indicates that transmission is in progress. If both the transmission flag TXB and the transmission completion flag TFB are "1", it is determined that an error has occurred.
  • the MIE of the host receives the frame data transmitted from the base device.
  • the frame decoder 61 detects the data start pattern, a signal is sent to the interrupt controller of the host CPU la via the integrated signal control unit 54 to notify the CPU of the data reception.
  • the received data is serial-to-parallel converted by the O / E shift register 62 and is sent from the initiator section 50 to the work RAM le via the received data temporary register 56a and the received data FIF 056b.
  • the reception data storage location on the work RAM 1 e is set at the head of the reception data storage address specified in advance by the CPU 1 a.
  • the frame decoder 61 detects the end pause, the reception ends, and a signal indicating the completion of the reception is sent from the input signal control unit 54 to the input interrupt controller. As a result, the CPU knows that the reception has been completed, and can access the received data on the work RAM Ie to perform processing.
  • the CPU unit 201 of the basic device can divide the data into several blocks with the capacity of the transmission / reception buffer 204j and transmit the data. .
  • the CPU 201 of the basic device When receiving a command from the host, the CPU 201 of the basic device forms reply data in response to the command, and transmits the reply data to the host. If there is no response within a predetermined time (for example, 1.0 ms) after sending the command, the host determines that the connection is not established. Therefore, the base device must return commands and parameters during this period.
  • a predetermined time for example, 1.0 ms
  • the CPU 201 of the basic device determines the amount of data to be transmitted and the It recognizes that the data amount of the transmission data is larger than the capacity of the buffer 204j.
  • the CPU unit 201 writes the transmission data into the transmission / reception buffer 204 j by dividing the transmission data into a length equal to or smaller than the capacity of the transmission / reception buffer 204 j (for example, 1,024 bytes) (data blocking).
  • the CPU 201 writes the data amount of the transmission data stored in the transmission / reception buffer 204j to the data length register 204k, and sets the end pattern flag ENDP of the control register 204a to "0". Set to ".
  • the CPU 201 sets the transmission flag TXB of the control register 204a.
  • the MIE When set to “1" (transmission mode), the MIE starts transmission operation to transmit the data of the size specified by the data register.
  • the transmission flag T XB is set to “1”
  • the frame controller 204c transmits the transmission data stored in the transmission / reception buffer 204j in response to the setting of the transmission flag TXB of "1".
  • the transmission data is parity-calculated in a temporary register 204g, parallel-serial-converted by an orbit shift register 204f, and sent to a frame encoder 204e.
  • the frame encoder 204e sequentially transmits the start pattern and the transmission data (command and parameter) under the control of the frame controller 204c. By setting the flag ENDP to "0", no parity data and end pattern are added at the end of this data block.
  • the transmission frame composed of these data is transmitted to the M bus by carrying the above-mentioned SD CKA signal and SDC KB signal.
  • the empty flag EMP of the control register is set to "1" and the continue transmission flag is set to "0".
  • the CPU section 201 periodically monitors the empty flag EMP of the control register 204a. When it is confirmed that the empty flag EMP has become “1”, the subsequent transmission data is stored in the transmission / reception buffer 204j after being divided into the transmission / reception buffer capacity or less. The length of this day is set to 204k for the night. Next, the CPU 201 sets the continue transmission flag C TXB of the control register 204a to "1".
  • the frame controller 204c sets the empty flag EMP and the transmission / reception buffer overflow flag BFOV of the control register 204a to "0" (cleared). I do.
  • the frame controller 204c causes the transmission data stored in the transmission / reception buffer 204j to be transmitted in response to the setting of the transmission flag TXB of "1".
  • the transmission data is parity-calculated in a temporary register 204g, parallel-serial-converted by an all-in-one shift register 204f, and sent to a frame encoder 204e.
  • the frame encoder 204e sequentially transmits transmission data (commands and parameters) under the control of the frame controller 204c. These data are transmitted to the M bus by carrying the SD CKA signal and the SD CK B signal described above.
  • the empty flag EMP of the control register is set to "1" and the continuous transmission flag CTXB is set to "0".
  • the CPU section 201 knows that the empty flag EMP has become "1" by periodically monitoring the control register.
  • the refining unit 201 stores the remaining (untransmitted) transmission data in the transmission / reception buffer 204 j by dividing the transmission data into the capacity of the transmission / reception buffer 204 j or less. In the case of this example, the remaining data is smaller than the capacity of the transmission / reception buffer 204j, so the entire remaining data is stored in the transmission / reception buffer 204j.
  • the length of this data is given as Set to k. Further, since the last data block is transmitted, the end pattern sending flag ENDP is set to "1" to add an end pattern at the end.
  • the CPU 201 sets the continuous transmission flag CTXB of the control register 204a to "1".
  • the frame controller 204c sets the empty flag EMP and the transmission / reception buffer overflow flag BFOV of the control register 204a to "0" (cleared). I do.
  • the frame controller 204c transmits the transmission data stored in the transmission / reception buffer 204j in response to the setting of the transmission flag TXB of "1".
  • the parity is calculated in the temporary register 204 g, the data is parallel-serial converted in the all-night shift register 204 f, and sent to the frame encoder 204 e.
  • the result of parity calculation for all transmission data is added to the end of the transmission data as parity data (one-byte parity bit).
  • the frame encoder 204e sequentially transmits the transmission data (command, parameter data), the parity data, and the end pattern according to the control of the frame controller 204c. These data are transmitted to the M bus by the SD CKA and SD CKB signals.
  • the control register empty flag EMP is set to "1" and the continuation transmission flag C TXB is set to "0". Since transmission has been completed, the transmission flag TXB and the transmission completion flag TFB are both set to "0".
  • the CPU 201 By periodically monitoring the control register 204a, the CPU 201 knows from the state of each flag that the transmission of all data has been completed.
  • the MIE of the host starts the receiving operation by receiving the start pattern, and sequentially stores the received data (commands and parameters) in the work RAM Ie. Store.
  • the storage location in the work RAM 1 e is specified in advance in the DMA register.
  • the original transmission data is restored by connecting the received data blocks in the work RAM 1e.
  • the first block uses the transmission flag TXB, and the second and subsequent blocks use the continuous transmission flag C TXB to perform the remaining transmission.
  • Send data If the time from transmitting one block of data to transmitting the next block exceeds a predetermined time, for example, 1.0 ms, the host will time out (TimeOut). The block after is sent within this time.
  • the block size can be set for each block. Set the size of the block to 204 k for each block sent. Except for the last block, the end-pan flag is transmitted with "0", and no end pattern is added. When transmitting the last block, the end pattern flag is set to "1" and an end pattern is added at the end of the transmission. In this way, the basic device can send more data to the host than the capacity of its own transmission / reception buffer. The same applies to expansion devices.
  • control register flag 204a of the basic device The relationship between the control register flag 204a of the basic device and the communication status will be described.
  • the extension device When any of the extension devices (transmission devices) transmits data to the host, the extension device may occupy the LM path. This occupation is made possible by controlling the OR gates 21, 214 by the transmitting device. In such a case, since the basic device and the extension device other than the transmission device are removed from the bus, there is no need to monitor data reception, and the burden is reduced accordingly.
  • reception flag RXB and the reception completion flag RFB are "1" If both the reception flag RXB and the reception completion flag RFB are "1", it is a reception error.
  • Replacement form (Rule 26) Reset, reset both the basic device and expansion device.
  • a) Invert the ID to the extension device and use it as an operation stop signal to the extension device.
  • the expansion device stops processing.
  • the basic device resets and recovers, the ID is inverted (returned to the original).
  • the extension device resets. After reset, the state is the same as after soft reset.
  • Commands include control commands and error commands.
  • the control command uses a command code in the range of 0 lh to DFh. This command controls the transmission and reception of data overnight.
  • the function library of each host, basic device, and expansion device must not have different commands with the same command code. When adding more commands, it is desirable to notify the administrator of the standard in advance and standardize the standard. Hereinafter, the control command will be described.
  • Operation is not permitted for the peripheral device specified by the destination AP. Peripheral devices wait in standby current consumption and do not accept any commands. Make it work To do so, it is necessary to perform a hard reset or turn off the power and restart. Operation order: (1) The peripheral device returns a device reply [Device Reply]. (2) Peripheral devices stop operating.
  • Peripheral devices Command code 0 7 h
  • Data area Function type: 4 bytes, Partition (PT): 1 byte, Phase (Phase): 1 byte, Block number (Block No.): 2 bytes Expected return value: Data transfer [ Data Transfer]
  • Block Writer Block Writer Fig. 79
  • the error command is command code E01! Use a range of ⁇ FEh.
  • the error command indicates that an error has occurred in the transmission / reception or processing of the server.
  • Each function library of the host, the basic device, and the extension device is prohibited from having different commands with the same command code.
  • it is desirable to notify the administrator of the standard in advance and standardize the standard.
  • the error command will be described.
  • Corrective action (1) Correct the function type specification. (2) Correct the description of the night. (3) Send the device request [Device Request] again and get the device ID. (4) Try sending again (up to three times, and then process the same as timeout).
  • Issuance rights host, peripheral device
  • Action Send again (up to three times, and then process the same as timeout).
  • FE Partition Ella one is (PTError), FE Phase error -! (Phase Error) FE 2 is block error (Block Error), FE 3 write error - (Write Error), FE 4 data length error one (Length Error) , FE 5 indicates CRC error-(CRC Error). The following are reserved.
  • FE Indicates PT Ei'ror, FE i indicates Phase Error, FE 2 indicates Block Error, FE 3 indicates Write Ei'ror, FE 4 indicates Length Error, and FE 5 indicates none. The following are reserved.
  • the device status is recorded as it is so that it cannot be rewritten or erased.
  • the device status includes a fixed device status and a free device status.
  • the fixed device status is a fixed device status of 112 bytes that must be described. Operation and connection are not guaranteed unless all items are described.
  • the free device status is a device status that can be used freely by individual devices. The capacity is up to 912 pips.
  • the fixed device status must describe all of the following items.
  • Table 36 shows the configuration of the destination bit.
  • Table 37 shows the relationship between the destination bit and the destination.
  • the free development status is an area where product planners, developers, designers, programmers, and the like can freely describe, and the host can be obtained by an all-device request [All Device Request]. When used in application software, etc., it is necessary to support data arrangement.
  • FIG. 81 schematically shows a configuration example of another basic device (controller) according to the first embodiment using relative addresses.
  • the presence or absence of the extension device is determined by the SD CKA OUT terminal (to which the resistor is connected).
  • each extension connector is provided with a terminal ID2 to which a resistor R is connected, and the voltage generated at this terminal is determined to determine whether or not an extension socket is connected.
  • the control circuit of the basic device (game controller) 2 can be constituted by a so-called one-chip microcombination system 200.
  • CPU 201 a for controlling each part, ROM 201 b for storing control program and data library of CPU 201 a, and CPU processing and data for storing CPU program and data RAM 20 1c, which is used to convert the pressing operation of one digital switch 206 into code data I / O section 202a and the variable level output of four analog switches 207 It includes an A / D converter 202b for converting to a signal, and a MIE 205 for a basic device that assists data communication between the basic device and the host and data communication between the extension device and the host.
  • the computer system 200 also includes a reset signal generation circuit including a resistor, a capacitor, and a diode that generates a reset signal when the power is turned on, and a crystal oscillator that generates various close-up signals of the system.
  • a voltage conversion circuit that generates 3.3 V from the power supply Vcc (+5 V) for the MIE 2005 signal voltage for the basic device and the signal voltage for the expansion device.
  • Power Vcc (+5 V) to the basic device is supplied from the game device via the external connection cable.
  • the external connection cable consists of signal line SD CKA, signal line SD CKB, power supply line Vcc and ground line GND.
  • the power Vcc (+5 V) supplied from the game device via the external connection cable is supplied to an expansion device (not shown) via the expansion connector together with the signal power (+3.3 V) described above.
  • the CPU 201a, ROM 201b and RAM 201c are the CPU in FIG. 33, the A / D converter 202b and the unit 202a are the I / O, the basic device MIE 205 is the communication processing unit, It corresponds to the socket control section and gates.
  • the power supply Vcc and ground GND are supplied to the basic device 2 from the host via the M bus. Data communication is performed via signal lines SDCKA and SDCKB.
  • FIG. 82 shows a configuration example of another basic device (controller) according to the second embodiment using absolute addresses, corresponding to the example of FIG. 81 using relative addresses.
  • the portions corresponding to FIG. 65 or FIG. 81 are denoted by the same reference numerals, and the description of such portions will be omitted.
  • the I / O block 202a notifies the extension device connected via the ID0 and ID1 terminals of each extension socket of the LM bus number according to the output of the CPU.
  • the roles of the ID0 and ID1 pins are described in the procedure for setting the AP of the expansion device with reference to FIG. From the I / O 202a, the terminals ID0-1 and ID1-1 are provided in a first extension socket, and the terminals ID0-2 and ID1-2 are provided in a second extension socket.
  • FIG. 83 and FIG. 84 show examples of expansion devices provided with an LCD display (LCD cartridge) of a relative address type and an absolute address type, respectively.
  • the control circuit of the extension device (LCD cartridge) 3 can be constituted by a so-called one-chip microcombining system 300.
  • the computer system 300 includes a CPU 301 for controlling each unit, a ROM 302 for storing a control program and a data library of the CPU 301, and a RAM used for storing a program and data of the CPU and performing data processing.
  • MI MI for extended device that performs overnight communication between the extended device and the host It includes an E 304, an I / O unit 305 that performs input and output interfaces, an LCD controller 306 that controls display of the LCD 308, and an LCD driver 307 that drives elements of the LCD.
  • the extension device MIE 304 is configured similarly to the base device MIE, but does not include the LM bus controller 203a and its associated gate.
  • the L CD cartridge is used for character data, still image data, and video data transmitted in the frame format from the host via the M bus, LM bus, and MIE 304 (LD, CD_V, DVD, TV video information Are stored in the RAM 303. Then, the CPU 301 gives the data to be displayed to the LCD controller 306 to form an image.
  • the computer system 300 has a reset signal generation circuit that generates a reset signal when the power is turned on, a crystal oscillator that generates a clock signal, and a voltage such as a signal of the MIE 205 for devices provided as necessary.
  • a voltage conversion circuit (not shown) that generates 3 V from the power supply Vcc (+5 V).
  • the power supply Vcc (5 V, 3.3 V) is supplied from the basic device side, but the expansion device can generate the voltage necessary to realize the target function in the internal circuit.
  • the power supply voltage Vcc is applied to the signal line ID2 on the extension device side.
  • the IZO unit 305 is connected to ID0 and ID1 for notifying the LM bus number.
  • FIGS. 85 and 86 show examples of the memory cartridge (extension device) of the relative address type and the absolute address type, respectively.
  • parts corresponding to those in FIGS. 83 and 84 are denoted by the same reference numerals, and description of such parts will be omitted.
  • a nonvolatile RAM 312 such as an EEPR0M or a memory backed up by a battery is provided.
  • the data to be saved is stored in the RAM 303 via the MIE 304.
  • the CPU 301 writes the stored data to the nonvolatile RAM 312 via the external output bus driver 311.
  • CPU 301 The data written in the RAM 312 is read out to the RAM 303 in response to a command from the host, and transferred to the host via the MIE 304.
  • the nonvolatile RAM 312 can be connected to the bus driver 311 via a socket, so that a plurality of carded nonvolatile RAMs 312 can be exchanged.
  • the combination system 300 may include the nonvolatile RAM 312.
  • FIGS. 87 and 88 show examples of a vibration cartridge (expansion device) of the relative address system and the absolute address system, respectively.
  • a driver / controller unit 321 for driving a vibrating body 322 such as a motor or solenoid that rotates an eccentric weight that generates vibration is provided.
  • the operation command signal or the operation stop command signal of the vibrating body is stored in the RAM 303 from the host via the MIE 304, and given to the driver / controller section 321 by the CPU 301 via the I / O section 305.
  • FIG. 89 and FIG. 90 show examples of a light gun (light gun) cartridge (extension device) of the relative address type and the absolute address type, respectively.
  • parts corresponding to those in FIGS. 83 and 84 are denoted by the same reference numerals, and description of such parts will be omitted.
  • a bright spot formed by an electron beam that scans a certain portion of the television screen (the point of impact of the light gun) is captured by the light receiving element 332 via the lens of the light gun cartridge.
  • the level of the received light signal is amplified by the amplifier 331.
  • a trigger of the game controller for example, 2d in FIG. 97 (b) described later
  • a trigger signal is generated, and the output of the amplifier 331 is supplied to the MIE 304 as a detection signal. This signal is transferred to the host and used as a latch signal for HV counting. used.
  • FIGS. 91 and 92 show examples of audio input cartridges (extension devices) of the relative addressing method and the absolute addressing method, respectively.
  • parts corresponding to those in FIGS. 83 and 84 are denoted by the same reference numerals, and description of such parts will be omitted.
  • the output of the microphone 345 is amplified to an appropriate level by the amplifier 344 and sampled by the A / D converter 344.
  • the sampled audio data is stored alternately in the first and second registers (FIFO) of the buffer memory 342.
  • the data is read out by the bus controller 341 and sent out to the transmission / reception buffer of the MIE 304 via the communication bus.
  • the audio data is framed by MIE 304 and sent to the host (game device).
  • the host game device
  • FIGS. 93 and 94 show examples of relative address type and absolute address type audio output cartridges (extension devices), respectively.
  • parts corresponding to those in FIGS. 83 and 84 are denoted by the same reference numerals, and description of such parts will be omitted.
  • the audio data transmitted from the host is supplied from the MIE 304 to the bus controller 351 via the oral path.
  • the path controller 351 stores the audio data in the memory 352 of the FIF 0 (First In First Out) operation, and concatenates the audio data sequentially transferred.
  • the audio data output from the memory 352 is converted into an audio signal by the D / A converter 353, amplified by the amplifier 354, and output as audio from the speaker 355. .
  • Such a function can be used as a so-called host response (voice output) function, a game sound effect (especially a sound effect using a multi-speaker configuration), a karaoke receiver, and a telephone receiver.
  • the present invention is not limited to application to a game device, but is also applicable to a small computer system, a convenience network, a computer application device, a portable communication terminal device, and the like.
  • FIG. 95 and FIG. 96 show another embodiment in which the M bus connecting the host and the peripheral device is wirelessly configured.
  • a peripheral controller 1 h of a host (game device) 1, a peripheral controller 1 of a peripheral device (basic device) 2, and a wireless modem device 500 are connected.
  • the wireless modem device 500 includes a data controller 501, a transmitting unit 502, a duplexer 503, a receiving unit 504, an antenna 505, etc., and communicates between the host and peripheral devices. Relay the data.
  • the peripheral device 2 can be driven by a battery.
  • the data controller 501 performs data processing to transmit the SD ⁇ 1 ⁇ 8 signal and 30 CKB signal to be transmitted by multi-level modulation, for example, 7 ⁇ 4 shift QPSK modulation, and performs I signal processing. And Q signal component data.
  • This orthogonal component data is supplied to the transmitting section 502.
  • the data controller 501 forms an SDCKA signal and an SDCKB signal from the data of the I and Q components decoded by the receiving section 504, and supplies them to the peripheral controller 501.
  • Transmitting section 502 includes a multi-level modulator, for example, a quadrature modulator that performs 7/4 shift QPSK modulation, and forms a carrier signal having a frequency that carries frame data.
  • the receiving unit 504 includes, for example, a synchronous detector, separates the I signal component and the Q signal component from the carrier signal, and decodes the multilevel data.
  • the data controller 501 forms the SD CKA signal and the SD CKB signal from the multi-level data and supplies them to the peripheral controller 501.
  • the wireless peripheral device 2 has a greater degree of freedom in arrangement and use mode apart from the host.
  • the above-described wireless modem device 500 may utilize a portable telephone device (or PHS device). In this case, an IC chip can be obtained at relatively low cost, and not only wireless use of peripheral devices but also use of competitive games or the Internet in which a host is connected to a communication line becomes possible.
  • a configuration may be adopted in which the transmission system and the reception system are configured in duplicate according to the two signals of the SD CKA signal and the SD CK B signal, and two communication channels fi and f 2 are used. Also, after returning the SDCKA signal and SDC KB signal to the frame signal of the serial data once, the signal is transmitted to the other party through one communication channel, and the SD0 signal and 30 CKB are decoded from the frame signal demodulated on the receiving side.
  • a configuration for decoding a signal may be adopted.
  • FIG. 96 shows an example in which the wireless configuration shown in FIG. 95 is configured by optical communication.
  • parts corresponding to those in FIG. 95 are denoted by the same reference numerals. The description of such portions is omitted.
  • an infrared modem device 600 is used to perform light (for example, infrared) communication.
  • the infrared modem device 600 includes a data controller 601, a modulator 602, an issuing unit 603, a light receiving unit 604, a demodulation unit 605, and the like.
  • the data controller 601 temporarily returns the SD CKA signal and the SD CK B signal to a serial data frame signal.
  • the modulator 602 modulates the drive current with the frame signal. As the modulation, for example, level modulation or frequency modulation can be selected.
  • the driving current is the light emitting element of the light emitting unit 603, For example, it is supplied to an LED that emits infrared light and causes the LED to blink.
  • Flashing LED Light is emitted to the outside through the optical system.
  • This radiated light enters the light receiving section 604 of the other infrared modem apparatus 600.
  • the incident light is converted into an electric signal by a light receiving element, for example, a phototransistor, and is demodulated by a demodulation unit 605 into a digital signal.
  • This data overnight signal is returned to the SDCKA signal and the SDCKB signal by the data overnight controller 601, and sent to the peripheral controller.
  • the peripheral controller of the host (game device) 1 or the peripheral device 2 has already been described.
  • the configuration of the M bus may be not only wired but also wireless.
  • FIG. 97 (a) is an explanatory diagram illustrating an M-bus connector for connecting a game device 1 as a host and a basic device (game controller) 2 as a peripheral device.
  • a game device 1 as a host
  • a basic device (game controller) 2 as a peripheral device.
  • parts corresponding to those in FIG. 1 are denoted by the same reference numerals.
  • the connector (plug) 110 of the game controller 2 is connected to one of the connectors 1 i.
  • the socket 1i and the plug 110 have the following shapes each having five terminals (pins).
  • These buttons actuate the digital input switches 206.
  • an analog button (analog key) 2c for actuating an analog switch 207 for performing analog input is provided. Analog keys are used, for example, to continuously move on-screen forces—sols and busines.
  • FIG. 97 (b) shows the basic device (game controller) 2 and an extension not shown
  • FIG. 3 is an explanatory diagram for explaining an LM bus connector 1 31 for connecting to a device 3;
  • parts corresponding to those in FIG. 97 (a) are denoted by the same reference numerals, and description of such parts is omitted.
  • Two LM bus connectors (sockets) 131 are provided on the back side of the game controller 2 facing the game device 1c.
  • FIG. 98 (a) shows an example of another game controller. This game controller has a function to be combined with the extension device.
  • the game controller 2 includes A, B, C, and D buttons 2a, a cross key 2b, an analog key 2c, a lever 2d (see FIG. 97 (b) described above), a start button (start button). Switch) 2e.
  • a slot is provided on the back side of the game controller (see Fig. 97 (b)) to insert an expansion device.
  • a window 2 f is provided at the center rear of the upper surface of the game controller 2.
  • FIG. 98 (b) shows an example of the LCD force storage as the extended device 3.
  • the LCD cartridge 3 is provided with cross keys 2b, A, B, C, D buttons 2a, etc., so that the LCD cartridge 2 alone can be enjoyed as a portable game device. .
  • FIG. 99 to FIG. 101 are diagrams illustrating the configuration of the M bus connector used for the M bus.
  • FIG. 99 schematically shows the socket side of the bus connector 1 i provided in the housing of the host 1 when viewed from the front (insertion direction).
  • the socket is formed between a substantially D-shaped outer peripheral portion 101, a substantially D-shaped hexagonal pin base 102, and the outer peripheral portion 101 and the pin base 102. And a substantially D-shaped groove 103. ing.
  • the socket is an injection-molded product of insulating plastic, and contact pins No. 1, No. 3, and No. 5 are formed on the main surface (upper surface) of the pin base 102, and are parallel to the main surface. On the opposite surface (lower surface), contact pins No. 2 and No. 4 are formed.
  • the contact bin No. 2 is arranged so as to oppose the insulating region existing between the contact pins No.
  • each contact pin is a metal elastic body, and is connected to five substrate connection terminals on the rear side of the pin base 102 (not shown).
  • the contact pins No. 1 and No. 5 are respectively connected to SD CKA and SD CKB.
  • the contact pin No. 3 between the contact pins No. 1 and No. 5 is connected to the shield wire, and the connection between the contact pins No. 1 and No.
  • FIG. 100 shows a configuration on the plug side corresponding to the socket of the bus connector 1i.
  • A is a side view of the plug
  • (b) is a top view
  • (c) is a front view.
  • the plug is molded from a plastic with good insulation properties.
  • 1 1 1 is a housing that contains the connection between the wires and the terminals of the contact pins.
  • 1 1 2 is a cross section that roughly corresponds to the shape of the groove 103 of the socket.
  • D-shaped insertion part, 113 is a substantially D-shaped inner wall of the insertion part, 114 is a groove corresponding to the outer shape of the pin base 102, No. 1 to No. 5 are the inner wall 1 13 is a contact pin provided.
  • Each contact pin is a metal elastic body, and is provided corresponding to each pin of the socket.
  • FIG. 101 is a front view illustrating a connector (plug) on the peripheral device (basic device) side of the M bus cable.
  • the plug 122 formed of a plastic having good insulation properties has terminals No. 1 to No. 5 connected to the respective wires of the cable.
  • the terminals are arranged in a row on one side of a substantially rectangular parallelepiped or plate-like socket.
  • This socket 1 21 is directly connected to the wiring of the board of the peripheral device via a connector (socket) or by soldering.
  • FIG. 102 shows a configuration example of a socket 1331 of an LM bus connector for connecting a basic device and an extension device.
  • FIG. 2A is a top view
  • FIG. 1B is a front view.
  • FIG. 103 shows a configuration example of the plug 141 of the LM bus connector.
  • FIG. 1A is a top view
  • FIG. 1B is a front view.
  • the socket 13 1 is generally constituted by an insertion portion 13 2, a receiving portion 13 3, and a housing 13 4 that couples or accommodates both.
  • the plug 144 is also composed of an insertion portion 142, a receiving portion 144, and a housing 144 for connecting or housing both.
  • the insertion part 13 2 of the socket 13 1 is inserted into the insertion part 14 3 of the plug 14 1, and the insertion part 14 2 of the plug 14 1 is inserted into the insertion part 14 1 of the socket 13 1 Inserted into 1 3 3
  • the insertion portion 13 2 of the socket 13 1 is a columnar body protruding from one side of the front left side of the housing 13 4, and has an “I” shape extending in the left-right direction on the front end face of the columnar body
  • a (rectangular) insertion groove 1 32 a is formed.
  • This insertion groove is a groove provided for inserting the insertion portion 13 2 into the groove 14 3 a of the plug 14 1 so as to straddle the plate-shaped pin base 14 3 c in the groove. It is.
  • the insertion groove 13a is formed to be lower than the vertical center of the end surface of the columnar body to prevent erroneous insertion or to arrange a plurality of connection pins at the approximate center of the columnar member 1332. ing.
  • connection pins No. 1 to ⁇ 7 are not shown, but a plurality of connection terminals provided on the rear side of the housing 134 in correspondence with the connection bins ⁇ 0.1 to ⁇ .7, respectively. And connected to the wiring or cable of the board.
  • Connection pins ⁇ ⁇ ⁇ 1 to ⁇ ⁇ . 7 are power supply line Vcc (3.3 V), power supply line Vcc (5 V), control line SD CKA EN, data line SD CKB DS, data line SD Connected to CKA US, identification line ID 1 and ground line GND.
  • the receiving portion 133 of the socket 131 is a pillar projecting from the front right side of the housing 134, and a front end of the pillar 133 extends around the pin base 133c.
  • a "0" -shaped groove 133a is formed.
  • the shape of the inner wall 133 b of the groove 133 a corresponds to the outer shape of the insertion portion 142 of the plug 141.
  • the bin base 133c at the center of the groove is a plate-like body having an “I” shape extending in the left-right direction and having a shape corresponding to the groove 142a.
  • the upper surface of the pin base 133c is positioned substantially at the center in the vertical direction of the end surface of the columnar body 133, and connection pins N0.8 to No.
  • connection bins No. 8 to No. 14 respectively extends to a corresponding connection terminal on the rear side of the housing 134, and is connected to a wiring or a cable on the board.
  • Connection pins N 0.8 to No. 14 are connected to ground line GND, identification line ID 2, data line SD CKB DS, data line SD CKB US, control line SD CKB EN, and identification line IDO, respectively. Connected.
  • connection bin No. 14 is not used at present and is an empty terminal.
  • the plug 141 inserted into the socket 131 is formed in the same manner as the socket 131. However, as shown in FIG. 103 (a), the connection pins No. 1 to No. 7 are provided in the inserted portion 143, and the connection pins No. 8 to ⁇ ⁇ 14 are in the insertion portion 142. Is provided.
  • the accessory device is a device that is connected to a peripheral device including the above-described game device or the extended peripheral device and provides an additional function to the operation and function of the above-described game device or the peripheral device. As described later, for example, it is connected to various connectors of a game device.
  • This accessory device realizes a new data processing system / game system by being integrated with a game device or peripheral device.
  • FIG. 104 is a perspective view showing an example of another game device
  • FIG. 105 is a rear view showing the game device.
  • reference numeral 1 denotes a game device
  • the game device 1 is provided with a control system of the game device provided inside a housing ij formed in a substantially rectangular parallelepiped shape by, for example, plastic or other material. It has been.
  • the game device 1 has a recess 1k formed in a part of its housing 1j.
  • An extension connector 1 m is provided at a predetermined location of the recess 1 of the housing 1 j.
  • a modem is provided in the extension connector 1 m. 5 is detachably mounted.
  • a receptacle for a parallel accessory device described later or a receptacle for a cable connecting the accessory device can be attached to the extension connector 1m.
  • peripheral connectors 1i, 1i, li, 1i on the front surface of the housing 1j of the game apparatus 1, there are provided peripheral connectors 1i, 1i, li, 1i.
  • a CD-ROM device 1c is provided above the housing 1j of the game device 1.
  • a power connector 1p, an extended serial connector 1q, and an audio / video connector 1r are arranged on the rear surface 1n of the housing 1j of the game device 1, respectively.
  • This power supply connector 1p is connected to the power cable for the game device.
  • Plug can be connected.
  • the extended serial connector 1q is adapted to be fitted with a receptacle for a serial accessory device described later or a cable receptacle connected to the accessory device.
  • the audio / video connector 1 r can be connected to a receptacle for a cable for connection to the monitor 4.
  • a telephone line connector 5a is provided on the back of the modem 5 (see FIG. 105).
  • FIG. 106 is a block diagram showing a control system of another game device.
  • the game device 1 has a CPU 1a for executing a game program and other control programs, a ROM lb for storing a control program as a game device, a storage system, and a game application program.
  • CD-ROM device 1c bus controller Id that controls data transfer between the CPU 1a and each part, RAM 1e that holds the program of the CPU 1a and is used for data processing, and drawing It comprises a drawing processor 1 f for forming an image signal from data and a sound processor 1 g for forming a sound signal from the sound data.
  • a VRAM 1 s is connected to the drawing processor 1 f, which is used when forming an image signal.
  • a sound RAM 1 t is connected to the sound processor 1 g, and is used for forming an acoustic signal.
  • the output unit of the sound processor 1g and the output unit of the drawing processor 1f are connected to the audio / video connector 1r.
  • the above-mentioned bus controller 1 d is roughly composed of a peripheral interface lh, a drawing processor controller 1 u, an internal bus controller lv, and an external bus controller 1 w. .
  • a bus controller 1d is connected to the CPU 1a via the bus 11a, and the CPU 1a can control the bus controller 1d.
  • a RAM 1e is also connected to the bus 11a.
  • CPU 1a The extended serial connector 1q is directly connected to the CPU 1a via the bus 11b, and the CPU 1a communicates with the serial attached device connected to the extended serial connector 1q according to the present invention.
  • the attached equipment can be controlled and used. That is, the game device 1 for realizing the data transmission method according to the present invention can be connected to a serial accessory device, and the program, video, sound, Signals such as commands can be exchanged.
  • the drawing processor controller 1u in the bus controller 1d can control the drawing processor 1f under the control of the CPU 1a.
  • a CD-ROM device 1c and a ROM 1b are connected to the internal bus controller 1 V via the bus 11c, respectively.
  • the internal bus controller lv controls the CD-ROM under the control of the CPU la.
  • the operation of the device 1c, the ROM 1b and the sound processor 1g can be controlled.
  • an output section of the external bus controller 1w is connected to an expansion connector 1m and a sound processor 1g via a bus 11d, and the external bus controller lw is extended under the control of the CPU 1a.
  • a parallel-type accessory device can be connected, and a program, a video, a sound, a command, and a command are transmitted between the accessory device and the game device 1. And other signals can be exchanged.
  • peripheral controller l k external bus controller l w, internal bus controller l v, and drawing processor controller lu have specifications that match the devices and modules connected to their respective buses.
  • Peripherals connected to the peripheral controller lk need not have a relatively low transmission speed, but are relatively resistant to external noise due to the relatively long wiring, and the number of transmission lines is low. Since a smaller one is desirable in terms of cost, the configuration is as shown in the present application.
  • the interface on the attached device side can be simplified by the force S.
  • the interface on the modem side can be simplified by using only the 8-bit bus when accessing the connected modem.
  • high-speed access is performed by using all 32-bit buses.
  • the attached device connected to the extension connector lm branches the bus l ib internally, and a connector equivalent to the extension connector lm is provided at the end.
  • a CD-ROM drive lc or ROMlb which is fixedly connected to the internal bus controller lv and whose access speed is relatively uniform, is connected, so scalability like the bus lib is required
  • the specifications are such that the access speed required and sufficient for these accesses is sufficient.
  • the drawing processor controller lu is connected to a drawing processor that operates at a very high speed, so that a large amount of data can be accessed at once with a wide bus width so that high-speed access can be made.
  • the extended serial connector lq is directly connected to the CPU la via the bus l ib.
  • This bus l ib is a bus with a simpler structure than the peripheral controller port lk bus. Attached devices (for example, game devices) that can be accessed with a simpler protocol are connected.
  • the bus controller Id is connected to the CPU la for accessing all of the above-mentioned controllers lk, lw, lv, lu via a bus 11a. , Lw, lv, lu to access each bus.
  • each bus has a specification suitable for the attached device to be connected, and the above-described controllers lk, lw, lv, and lu connect the connected bus to the CPU la bus 11a. It plays a role in changing the specifications to meet the requirements.
  • serial accessories connected to the extended serial connector 1 q include a printer, a portable game machine, a PHS, a scan camera, a data recording device, a communication cable, and other serial accessories. .
  • the parallel accessories connected to the extension connector 1 m include: Yuichi Minal Adapter, Cable Modem (Modem 5 in Figures 104 and 105), Satellite Data Receiver, Scanner, Printer, Examples include a personal digital assistant (PDA), a mobile phone, a digital still camera, a data recording device, a mobile audio output device, a mobile video output device, or other parallel accessory devices.
  • PDA personal digital assistant
  • the game device 1 can upload and download images, programs, audio data, commands, etc. to and from the portable game machine, take over a desired game from the portable game machine, A desired game of the game device 1 can be given.
  • each of the parallel-type attachment devices will be described.
  • a terminal adapter is connected to the 1 m expansion connector described above, It is possible to transmit and receive all data such as ram and sound via ISDN lines, and to connect to the Internet via ISDN lines. Further, when another game device is connected to the connection destination of the Internet, a game can be enjoyed between the game device and the other game device in a competitive manner. Of course, it is also possible to exchange programs for other game devices.
  • a cable modem (modem 5) is connected to the above-mentioned extension connector 1 m, it is possible to transmit and receive all data such as images, programs, and sound via a normal analog telephone line. It will be possible to connect at high speed to the Internet via analog telephone lines. Furthermore, when another game device is connected to the Internet connected via this modem, it is possible to enjoy a game between the game device and the other game device in a competitive manner. . Of course, it is also possible to exchange programs for other game devices. When a satellite data receiver is connected to the above-mentioned extension connector 1 m, it is possible to receive all data such as images, programs, and sound via wireless lines, and to connect to the Internet High-speed connection becomes possible.
  • the image data can be imported to the game device 1, and the game device 1 can create an album, edit an image, etc. Will be able to
  • audio data can be provided from the game device 1 to the portable audio output device, and music can be played instead of a portable tape or MD device. become.
  • the game device 1 can provide image data to the portable video output device, and can reproduce video mail, video clips, etc. Can be performed.
  • the game device 1 can control and use the accessory device by exchanging programs and signals with the accessory device.
  • the accessory devices are classified into serial accessory devices and normal accessory devices.
  • serial accessories By connecting the serial accessories to the extended serial connector 1r, various types of data communication between the CPU 1a and the serial accessories can be performed under the direct control of the CPU 1a. Exchange of programs and commands becomes possible.
  • parallel accessory By connecting the parallel accessory to the extension connector 1 m, various types of communication between the CPU 1 a and the parallel accessory via the external bus controller 1 w under the control of the CPU 1 a are possible. Data, programs Exchange of programs and commands becomes possible.
  • the game device 1 according to the present invention can be connected to the various accessory devices as described above. Therefore, the game device 1 according to the present invention can In addition to the above, it is possible to provide an excellent device capable of providing a variety of usage methods.
  • the data obtained in the game system composed of the game machine main body and peripheral devices described above is used for data communication with other game systems via the modem network as the accessory device. Exchange is possible.
  • FIG. 107 and 108 show networks for data exchange, respectively.
  • FIG. 107 shows a network using the Internet
  • FIG. 108 shows a network corresponding to an original communication network.
  • each of the game systems described above can communicate with each other using the Internet.
  • the route connected to the host computer varies depending on the line usage, so there is a risk of transmission delay depending on the connection route.
  • the present invention is applied uniquely to the above-described game system including the game machine main body and the peripheral device unique to the present invention.
  • data obtained by the game system of the present invention is exchanged. Therefore, it is possible to newly provide an attached device or an attached device such as a modem for applying the data.
  • This accessory means is combined with a game machine or peripheral device to provide a data processing system and an electronic game processing system with additional accessory functions.
  • data communication between a game device (or a host) and a peripheral device is performed with two data lines and a relatively simple I / O circuit configuration. This is preferable because it is possible.
  • the address setting of a plurality of devices connected to the network is automatically performed, so that the peripheral device can be freely connected to the game device (or the host). Since the contents of the device can be grasped by the game device, it is convenient as a convenience system for consumers, such as a game device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Pinball Game Machines (AREA)

Description

明細書
デ一夕伝送方法及びこれを用いたゲームシステム 技術分野
本発明は、 データ処理を行うデータ処理装置と情報の入出力等を行う周辺装 置との相互間を接続するイン夕フェース技術に関し、 特に、 ゲーム装置とその 周辺装置との接続に関する新規なィンタフヱ一スの技術規格の提案に関する。 背景技術
情報処理装置の本体とその周辺装置間におけるデータ通信に用いられるデー 夕伝送方法として次のようなものがある。
フイ リップス(PHILIPS)社、 I 2 Cバス方式
シリアルデータと、 シリアルクロヅクの 2ワイヤによって伝送する方式であ る。 この方式は、 データとクロックを物理的に分離しており、 最も単純にデ一 夕の送受、 再生が可能である。 I 2 Cバスについては、 例えば、 フイ リヅプス社 の I 2 Cバス仕様説明書 ( 1 9 9 2年 1月) によって説明されている。
S G S — トムソン (Thomson) 社 D S リ ンク方式
デ一夕信号、 ス トローブ信号の 2ワイヤによって伝送する方式である。 この 方式はデータ信号、 ストローブ信号によってクロック信号を再生する。 伝送デ 一夕が異なる値に遷移する場合には、 デ一夕信号のみが変化する。 また、 伝送 デ一夕が同一の値の場合は、 ス トローブ部信号のみが変化する。 例えば、 デ一 夕信号の伝送デ一夕が 「0」 → 「 1」、 「 1」 → 「0」 と遷移する場合はス ト口 ープ信号は変化しない。 デ一夕信号の伝送データが 「0」→「0」、 「 1」→「1」 と遷移しない場合はストロープ信号のみが変化する。 この結果、 デ一夕信号と ストロ一ブ信号の排他的論理和をとることにより、 クロック信号を再生するこ とが可能となる。 D Sリンク方式については、 例えば、 日経エレク トロニクス 第 6 7 5号 ( 1 9 9 6年 1 1月 4曰、 1 6 7頁〜 1 7 1頁) に紹介記事がある。 ゲーム装置のようなコンシュ一マ向けの機器では、 低価格で実現可能なデ一 夕伝送方式ゃィン夕フェースの接続規格が必要とされる。
しかしながら、 上述した I 2B U S方式では、 デ一夕信号の遷移エッジがクロ ヅクの遷移エッジと同一タイミングであるため、 データの再生 (復調) 側では、 このクロック信号をそのまま利用することは出来ない。 また、 後者の D Sリン ク方式では、 デ一夕信号とス トローブ信号との排他的論理和をとり、 同期用の クロックを再生する。 このクロックを用いて更にデータ信号のサンプリングを 行わなければならない。 このため、 インタフェースの回路構成の簡単さの程度 力 低価格がきわめて要求される家庭用ゲーム装置の条件を十分に満足させる ものではない。 発明の概要
よって、 本発明の目的とするところは、 家庭用ゲームシステムのような情 報処理装置に適用できる、 安価に回路構成可能なィン夕フェースのデータ伝送 方式を提供することである。
また、 本発明の他の目的は、 デ一夕を担う信号からより簡単な回路構成でデ —夕を分離できる、 ィン夕フェースのデ一夕伝送方式を提供することである。 また、 本発明の他の目的は、 デ一夕を担う信号からより簡単な回路構成でデ 一夕を分離できる、 イン夕フェースを備えるゲーム装置及びその周辺装置を提 供することである。
また、 本発明の他の目的は、 ゲーム装置と周辺装置との間の新たなインタフ エース技術を提案することにより、 多種多様な周辺装置を開発する基盤技術を 提供することである。
さらに、 本発明の別の目的は、 これらのゲーム装置あるいは周辺機器などの 本発明に適用される付属装置を適用することである。 前記目的を達成ずるために、 本発明に係わるデータ伝送方法は、 デ一夕を第
1及び第 2のデータ信号に分配してシリアル伝送するデータ伝送方法であって、 前記第 1及び第 2のデータ信号は、 それそれスタートパターン部、 データパ夕 —ン部及びェンドパターン部を含む伝送フォーマッ 卜で定義されるデータフレ —ムによって構成されており、 前記スタートパターン部は、 前記第 1のデ一夕 信号が一定電位レベルに維持されている間に前記第 2のデ一夕信号を第 1のパ ルス列信号として送出するフォーマツ 卜で構成され、 前記第 1及び第 2のデ一 夕信号のデータパターン部は、 それそれ、 クロック信号成分を含むパルス列と 各パルス間に配置された前記分配されたデータのデータビッ トを含み、 前記第
1及び第 2のデータ信号のパルス列信号に含まれるク口ック信号成分は互いに 時間軸上の位置を所定値だけずらして配置され、 一方のデ一夕信号のクロック 信号成分のタイミングに対応して他方のデータ信号のデータビッ 卜が夫々位置 するように伝送されるフォーマッ トで構成され、 前記エンドパターン部は、 前 記第 2のデータ信号が一定電位レベルに維持されている間に前記第 1のデータ 信号を第 2のパルス列信号として送出するフォーマツ トで構成される、 ことを 特徴とする。
この伝送方法において、 前記一定電位レベルは、 電源電位あるいは接地電位 のいずれか一方である。 前記第 1及び第 2のパルス列信号は、 それそれ異なる 数のパルス列により構成されている。 前記第 1及び第 2のデ一夕信号を受信し た側は、 一方のデータ信号のクロック信号成分のタイ ミングで、 他方のデータ 信号の電位レベルをラッチすることを順次行うことによって、 受信したデ一夕 信号に重畳されたデ一夕を分離する。 前記クロック信号成分の検出は、 パルス 列における各パルスの立ち上がり又は立ち下がりの一方のェッジ部分によって 行われる。
また、 本発明に係わるゲーム装置は、 周辺装置から信号伝送路を介してゲー ムに必要な情報を収集して使用するゲーム装置であって、 周辺装置に情報の送 信を要求するデータは第 1及び第 2のデータ信号に分配して送信され、 第 1及 び第 2のデータ信号はそれそれス夕一トパターン部、 データパターン部及びェ ンドパターン部を含む伝送フォーマツ トで定義されるフレームによって構成さ れており、 前記スタートパターン部は、 前記第 1のデータ信号が第 1の期間中 一定電位レベルに維持されているタイ ミングに対応して、 第 1のパルス列信号 を含む前記第 2のデータ信号を前記第 1の期間中に送出するように構成され、 前記周辺装置に送信すべきデータを第 1及び第 2のデ一夕列に分け、 前記第 1 のデ一夕信号のデータパターン部は第 1のクロック信号を含み、 前記第 1のデ —夕列のデータビッ トを第 1のクロック信号の各パルス間にそれそれ挿入して 前記第 1のデータ信号を構成し、 前記第 2のデータ信号のデータパターン部は 前記第 1のクロック信号と所定の位相差を有する同周期の第 2のクロック信号 を含み、 前記第 2のデータ列のデータビッ トを前記第 2のクロック信号の各パ ルス間にそれそれ挿入して前記第 2のデータ信号を構成し、 これにより前記第 1及び第 2のデ一夕信号のデータパターン部はそれそれ一方のデ一夕信号のク 口ック信号成分のタイミングに対応して他方のデ一夕信号のデ一夕ビッ トがそ れそれ位置するように伝送されるフォーマツ 卜で構成され、 前記ェン ドパ夕一 ン部は、 前記第 2のデータ信号が第 2の期間中一定電位レベルに維持されてい るタイミングに対応して、 第 2のパルス列信号を含む前記第 1のデータ信号を 前記第 2の期間中に送出するように構成され、 前記スタートパターン部、 前記 デ—夕パターン部及び前記ェンドパ夕一ン部を含む 2つのデータ信号で表され るフレームを送信単位として前記周辺装置に送出する。
このゲーム装置において、 前記第 1及び第 2のデ一夕列は、 それぞれシリア ルデ一夕であり、 前記第 1のデータ列は前記送信すべきデータの奇数ビッ 卜の デ一夕列、 前記第 2のデータ列は前記送信すべきデータの偶数ビッ トのデ一夕 列である。 前記ゲーム装置は、 周辺装置を接続する複数の入出力ポートを有し、 前記ゲーム装置から信号伝送路を介して前記入出力ポ一トに接続された周辺装 置に伝送される前記データパターン部はコマン ドコード及びパラメ一夕を含み、 前記パラメ一夕はデータの送信先を表す送信先ァドレスと、 データの送信元を 表す送信元ァドレスとデ一夕とを含み、 前記送信先ァドレス及び送信元ァドレ スは当該周辺装置が接続された入出力ポートに関する情報を含む。 前記信号伝 送路は、 一対のデータ信号線を含み、 前記第 1及び第 2のデ一夕信号は前記一 対のデータ信号線に分配して伝送される。 前記信号伝送路は、 周辺装置におい て分離可能な一対のキヤリァ成分を含む無線通信信号あるいは光通信信号であ り前記第 1及び第 2のデータ信号は前記一対のキヤリァ成分に含ませて分配し て伝送される。 前記信号伝送路は、 一対の無線通信チャンネルあるいは一対の 光通信チャンネルによって構成され、 前記第 1及び第 2のデータ信号は前記一 対のチャンネルに分配して伝送される。
本発明は、 また、 前記ゲーム装置から送信される前記第 1及び第 2のデ一夕 信号を受信し、 ゲーム装置からの要求に応じてデ一夕を送信する周辺装置であ つて、 この周辺装置は、 前記第 1及び第 2のデ一夕信号のデ一夕パターン部か ら送信されて来たデータを再生し、 これに含まれているデータ送信要求に応答 して周辺装置から前記ゲーム装置にデ一夕を送信するように構成されており、 この周辺装置からゲーム装置へ送信されるデータは、 第 3及び第 4のデータ信 号に分配して送信され、 第 3及び第 4のデ一夕信号はそれそれスタートパター ン部、 デ一夕パターン部及びェンドパターン部を含む伝送フォーマツ 卜で定義 されるフレームによって構成されており、 前記第 3及び第 4のデ一夕信号の前 記スタートパターン部は、 前記第 3のデ一夕信号が第 3の期間中一定電位レべ ルに維持されているタイミングに対応して、 第 3のパルス列信号を含む前記第 4のデ一夕信号を前記第 3の期間中に送出するように構成され、 この周辺装置 から送信すべきデータを第 3及び第 4のデ一夕列に分け、 前記第 3のデータ信 号のデ一夕パターン部は第 3のクロック信号を含み、 前記第 3のデ一夕列のデ —夕ビッ トを第 3のクロック信号の各パルス間にそれそれ挿入して前記第 3の デ一夕信号を構成し、 前記第 4のデータ信号のデータパターン部は前記第 3の クロック信号と所定の位相差を有する同周期の第 4のクロック信号を含み、 前 記第 4のデータ列のデータビッ トを前記第 4のクロック信号の各パルス間にそ れそれ挿入して前記第 4のデータ信号を構成し、 これにより前記第 3及び第 4 のデータ信号のデ一夕パターン部はそれそれ一方のデ一夕信号のクロヅク信号 成分のタイミングに対応して他方のデータ信号のデータビッ トがそれそれ位置 するように伝送されるフォーマッ トで構成され、 前記エン ドパターン部は、 前 記第 4のデータ信号が第 4の期間中一定電位レベルに維持されているタイミン グに対応して、 第 4のパルス列信号を含む前記第 3のデ一夕信号を前記第 4の 期間中に送出するように構成され、 前記第 3及び第 4のデ一夕信号は、 前記ス タートパターン部、 前記デ一夕パターン部及び前記ェンドパ夕一ン部を含む 2 つのデ一夕信号で表されるフレームを送信単位として前記周辺装置から送出さ れる、 ように構成されてなることを特徴とする。
本発明は、 また、 ゲーム装置に信号伝送路を介してゲームに必要な情報を送 る周辺装置であって、 周辺装置から送信するデ一夕は第 1及び第 2のデータ信 号に分配して送信され、 第 1及び第 2のデ一夕信号はそれそれス夕一トパ夕一 ン部、 データパターン部及びェンドパターン部を含む伝送フォーマツ トで定義 されるフレームによって構成されており、 前記スタートパターン部は、 前記第 1のデータ信号が第 1の期間中一定電位レベルに維持されているタイ ミングに 対応して、 第 1のパルス列信号を含む前記第 2のデータ信号を前記第 1の期間 中に送出するように構成され、 前記ゲーム装置に送信すべきデータを第 1及び 第 2のデータ列に分け、 前記第 1のデータ信号のデ一夕パターン部は第 1のク 口ック信号を含み、 前記第 1のデータ列のデータビッ トを第 1のクロック信号 の各パルス間にそれそれ挿入して前記第 1のデータ信号を構成し、 前記第 2の デ一夕信号のデータパターン部は前記第 1のクロック信号と所定の位相差を有 する同周期の第 2のクロック信号を含み、 前記第 2のデータ列のデータビッ ト を前記第 2のクロック信号の各パルス間にそれぞれ挿入して前記第 2のデ一夕 信号を構成し、 これにより前記第 1及び第 2のデータ信号のデ一夕パターン部 はそれそれ一方のデ一夕信号のクロック信号成分のタイミングに対応して他方 のデータ信号のデータビッ トがそれそれ位置するように伝送されるフォ一マッ 卜で構成され、 前記エンドパターン部は、 前記第 2のデータ信号が第 2の期間 中一定電位レベルに維持されているタイ ミングに対応して、 第 2のパルス列信 号を含む前記第 1のデータ信号を前記第 2の期間中に送出するように構成され、 前記スタートパターン部、 前記データパターン部及び前記ェンドパターン部を 含む 2つのデータ信号で表されるフレームを送信単位として前記ゲーム装置に 送出する、 ことを特徴とする。
この周辺装置の発明において、 前記ゲーム装置は、 周辺装置を接続する複数 の入出力ポートを有し、 周辺装置が接続された前記入出力ポー卜に関する情報 が前記ゲーム装置から通知され、 前記デ一夕パターン部はコマンド及びパラメ —夕を含み、 前記パラメ一夕は、 少なく とも通知された入出力ポートに関する 情報に基づき生成された当該周辺装置に関するァドレスを含むように構成され ている。 また、 前記ゲーム装置は周辺装置を接続する複数の入出力ポートを有 し、 前記入出力ポートのそれそれは特有のポート情報で定義されており、 前記 周辺装置は少なくとも一つの機能デバイスを含み、 前記データパターン部はコ マンド及びパラメ一夕を含み、 前記パラメータは周辺装置の前記信号伝送路上 のァドレスを表す送信元ァドレスを含み、 この送信元ァドレスは前記機能デバ イスの種類を表す情報と前記機能デバイスの接続状態を表す情報と前記ゲーム 装置から通知される当該周辺装置が接続された入出力ポートのポート情報とに 基づいて生成されるように構成されてなる。
本発明は、 さらに、 ゲーム装置に周辺装置を伝送路を介して接続して使用す るゲームシステムであり、 周辺装置は少なく とも一つの機能デバイスを含み、 ゲーム装置と機能デバイスの間のデ一夕伝送は、 送信側デ一夕を一対のデ一夕 信号に分配してそれそれシリアル伝送し、 受信側では受信した一対のデ一夕信 号からデータを再生することにより行われ、 前記一対のデ一夕信号は、 それそ れ 1 フレームがスタートパターン部、 データパターン部及びェンドパ夕一ン部 を含む伝送フォーマツ 卜で構成されており、 前記スタートパターン部では、 前 記一対のデ一夕信号の一方が一定電位レベルに維持されているタイミングに対 応して他方のデータ信号として複数個のパルスが送出され、 これにより受信側 は送信側からの信号の送出開始を認識し、 前記エンドパターン部では、 前記他 方のデ一夕信号が前記一定電位レベルに維持されているタイ ミングに対応して 前記一方のデータ信号として複数個のパルスが送出され、 これにより受信側は 送信側からの信号の送出終了を認識し、 前記データパターン部では、 前記一対 のデ一夕信号はそれそれ順次送出されるクロック信号を含み、 一方のデ一夕信 号のクロック信号のタイミングに対応してデータビッ 卜を表す信号レベルを他 方のデータ信号として送出することを交互に行うことにより、 送出されるデ一 夕が前記一対のデータ信号に分配されて順次送出され、 受信側は受信した前記 一対のデ一夕信号からデ一夕ビッ トを表す信号レベルを順次検出して送信側が 送信したデータを再生するように構成してなることを特徴とする。 このゲーム システムにおいて、 受信側は、 受信した前記一対のデータ信号のデータパ夕一 ン部において、 一方のデータ信号のクロック信号の夕ィミングに対応して他方 のデータ信号の信号レベルを検出することを順次交互に行い、 これを時間軸上 で合成して送信側から送出されたデ一夕を再生するように構成されてなる。 前 記スタートパターン部の複数のパルスの数と前記ェンドパターン部の複数のパ ルスの数は、 異なるように構成されてなることを特徴とする。
本発明は、 また、 前記ゲームシステムで使用する周辺装置であって、 前記ゲ ーム装置から伝送されるデ一夕パターン部は前記機能デバイスにデータの伝送 を要求するコマンドを含み、 前記機能デバイスは、 受信した前記一対のデ一夕 信号のデータパターン部から前記ゲーム装置から伝送されて来たデ一夕を再生 し、 このデータに含まれる前記データ伝送要求コマンドに応答して、 前記機能 デバイスで生成されたゲームに必要なデータを前記構成のデ一夕パターン部に 分配して一対のデ一夕信号として前記伝送路を介して前記ゲーム装置に伝送す るように構成されてなる。 この周辺装置の発明の実施形態において、 前記ゲー ム装置は周辺装置を接続する複数の入出力ポ一トを有し、 前記入出力ポートの それそれは特有のポート情報で定義されており、 前記周辺装置は少なくとも一 つの機能デバイスを含み、 前記デ一タパ夕一ン部はコマンド及びパラメ一夕を 含み、 前記パラメータは周辺装置の前記信号伝送路上のァドレスを表す送信元 ァドレスを含み、 この送信元ァドレスは前記機能デバイスの種類を表す情報と 前記ゲーム装置から通知ざれる当該周辺装置が接続された入出力ポートのポー ト情報とに基づいて生成されて周辺装置内に記憶され、 前記ゲーム装置から伝 送されるデ一夕信号のデータパターン部に含まれている送信先ァドレスを周辺 装置内で生成した送信元ァドレスと比較して一致したときに、 当該機能デバィ スで生成されたデータを前記送信元ァドレスとともに前記信号伝送路を介して ゲーム装置に伝送する、 ように構成されてなる。
本発明は、 また ゲーム装置の入出力ポートに接続して使用する周辺装置であ つて、 この周辺装置は、 ゲーム装置の入出力ポートに着脱自在に接続されるコ ネク夕と、 コネクタに接続された一対のデ一夕線を含むケーブルとを有し、 ゲ —ム装置及び周辺装置は、 送信側がデータを一対のデータ信号に分配して前記 一対のデータ線を介してシリアル伝送し、 受信側が受信した一対のデータ信号 からデ一夕を再生するように構成されており、 前記一対のデ一夕信号は、 それ それ 1 フレームがデ一夕送出の開始を知らせるスタートパターン部、 デ一タパ ターン部及びデータ送出の終了を知らせるエンドパターン部を含む伝送フォー マッ トで構成されており、 前記データパターン部では、 前記一対のデータ信号 はそれそれ一方が他方に対し一定時間ずれて順次送出されるクロック信号を含 み、 一方のデ一夕信号のクロック信号のタイ ミングに対応してデ一夕ビッ トを 表す信号レベルを他方のデ一夕信号として送出することを交互に行うことによ り、 送出されるデータが前記一対のデータ信号に分配されて順次送出され、 受 信側は一方のデータ信号のク口ック信号のタイミングで他方のデータ信号の電 位レベルを検出することを順次交互に実行することにより、 受信した前記一対 のデータ信号から送信側が伝送したデータを再生するように構成されており、 前記ゲーム装置はデ一夕パターン部にデータ伝送を要求するコマンドを含むデ —夕信号を周辺装置に送出し、 当該周辺装置はデータ伝送要求コマンドに応答 して周辺装置で生成されるデ一夕をデ一夕パターン部に含めゲーム装置に伝送 するように構成されてなる。
この周辺装置の発明において、 前記スタートパターン部では、 前記一対のデ 一夕信号の一方が一定電位レベルに維持されているタイミングに対応して他方 のデータ信号として複数個のパルスが送出され、 これにより受信側は送信側か らの信号の送出開始を認識し、 前記エンドパターン部では、 前記他方のデータ 信号が前記一定電位レベルに維持されているタイ ミングに対応して前記一方の データ信号として複数個のパルスが送出され、 これにより受信側は送信側から の信号の送出終了を認識するように構成されてなる。 また、 前記一定電位レべ ルは、 電源電位あるいは接地電位のいずれか-一方の電位であり、 前記スタート パターン部に含まれる前記複数個のパルスは連続する 4個のパルスにより構成 され、 前記ェンドパターン部に含まれる前記複数個のパルスは連続する 2個の パルスにより構成されてなる。 前記ゲーム装置は、 複数の入出力ポートを有し、 前記周辺装置のコネクタは前記入出力ポートのいずれかに着脱自在に接続され、 前記周辺装置は少なくとも一つの機能デバイスを含み、 前記ゲーム装置は、 接 続された周辺装置に対し、 当該周辺装置が接続された入出力ポートのポート番 号及び当該入出力ポートに割り当てられた機能デバイスの識別番号を含むデー 夕を通知し、 前記機能デバイスは、 機能デバイスの前記伝送路上のアドレスを 表す送信元アドレスを含み、 この送信元アドレスは、 当該周辺装置が予め保持 している周辺装置の種類を表す周辺装置識別情報と、 前記ゲーム装置から通知 される当該周辺装置が接続された入出力ポート番号及び機能デバイスの識別番 号の情報とに基づいて生成されるように構成されてなる。 また、 前記ゲーム装 置は、 複数の入出力ポートを備えており、 前記周辺装置が前記伝送路を介して 前記入出力ポートのいずれかに接続されたとき前記ゲーム装置から当該入出力 ポートを表す入出力ポート情報が通知されるように構成されており、 前記周辺 装置は、 さらに拡張周辺装置を前記伝送路に接続するための拡張コネクタを備 え、 自己が前記ゲーム装置に直接的に接続されるべき種類の基本周辺装置ある ことを表す周辺装置識別情報を予め記憶しており、 前記周辺装置識別情報と、 前記ゲーム装置から通知される前記入出力ポート情報と、 拡張コネクタへの拡 張周辺装置の接続の有無を判別して得られる拡張周辺装置の接続状態を表す接 続情報とに基づき送信元ァドレスを生成し、 前記拡張コネクタに拡張周辺装置 が接続されており、 前記ゲーム装置から送出されるデータ信号が送信先ァドレ スとして前記拡張周辺装置を指定する情報を含んでいるとき前記伝送路を介し て前記ゲーム装置と前記拡張周辺装置との間のデータ通信を可能にする、 よう に構成されてなる。
また、 この周辺装置の実施形態は、 前記拡張周辺装置によってバイアス電圧 が供給されるようになされたレベルシフ ト回路が接続された前記拡張コネクタ の特定の端子の電圧レベルを弁別することによって前記拡張ソケッ 卜への接続 の有無を判別するように構成されてなる。
本発明は、 また、 前記周辺装置に前記拡張コネクタを介して接続される拡張 周辺装置であって、 前記拡張コネクタへの接続後に該拡張コネクタを介して前 記周辺装置から通知される当該拡張コネクタに関する拡張コネクタ識別情報と、 該拡張周辺装置内に予め保持されている拡張コネクタに接続されるべき種類の 周辺装置であることを表す拡張周辺装置情報と、 前記ゲーム装置から通知され る前記伝送路が接続された入出力ポートを表す入出力ポート情報とに基づき当 該拡張周辺装置の送信元ァドレスを生成して保持し、 前記ゲーム装置から送出 されるデータ信号に含まれる送信先ァドレスが当該拡張周辺装置が保持する送 信元ァドレスと一致するとき、 ゲーム装置の要求に応答して前記送信元ァドレ ス及び拡張周辺装置で生成されたデ一夕を含むデータ信号を前記伝送路に送出 する、 ように構成されてなる。
本発明は、 さらに、 前記周辺装置を前記ゲーム装置のバスコネクタ部に接続 するためのプラグコネクタであって、 前記ゲーム装置はバスコネクタ部を備え た入出力ポートを有し、 各バスコネクタ部は基台と基台を挟んで対向する 2面 の一方に電源電位供給端子及び接地電位端子が配置され、 前記 2面の他方に一 対のデ一夕信号伝送用端子が設けられており、 前記基台が挿入されるように構 成された溝部と、 溝部の対向する 2内壁面が前記基台の 2面に対応して設けら れ、 2内壁面の一方には前記基台上の電源電位供給端子及び接地電位端子に対 応して電源電位供給端子及び接地電位端子が設けられ、 2内壁面の他方には前 記基台上の一対のデータ信号伝送用端子に対応して一対のデータ信号伝送用端 子が設けられており、 前記ブラグコネクタの一対のデ一夕信号伝送用端子には 前記伝送路を構成するデータ線がそれそれ接続され、 前記データ信号は前記一 対の伝送用端子を介して分配してそれそれ伝送されるように構成されてなる。 このプラグコネクタの実施形態は、 前記一対のデ一夕伝送用端子の中間部にシ ールド用端子がさらに設けられてなる。
本発明は、 さらに、 前記拡張周辺装置を前記基本周辺装置に接続するための プラグコネクタであって、 前記基本周辺装置は、 拡張コネクタ部を備え、 拡張 コネクタ部は平坦な面を有する横長の第 1基台と該第 1基台の横長延長方向に 並んで配置され平坦な内壁面を有する横長の第 1溝部とを有し、 前記第 1基台 は平坦な面に配置された複数の接続端子を含む第 1端子群を備え、 前記第 1溝 部は平坦な内壁面に配置された複数の接続端子を含む第 2端子群を備えており、 前記第 1端子群及び第 2端子群は、 それそれ、 拡張周辺装置からゲーム装置へ の一方向のデータ伝送を担う一対のデータ線に接続された一対の第 1デ一夕供 給接続端子と、 ゲーム装置から拡張周辺装置への一方向のデ一夕伝送を担う一 対のデータ線に接続された一対の第 2データ供給接続端子を備えており、 前記 プラグコネクタは、 前記第 1基台が挿入される平坦な内壁面を有する横長の第 2溝部と、 該第 2溝部の横長延長方向に並んで配置され前記第 1溝部に挿入さ れる平坦な面を有する横長の第 2基台と、 前記第 1端子群に対応して前記第 2 溝部の平坦な内壁面に配置された複数の接続端子を含む第 3端子群と、 前記第 2端子群に対応して前記第 2基台の平坦な面に配置された複数の接続端子を含 む第 4端子群とを備え、 前記第 3端子群及び第 4端子群は、 前記第 1端子群及 び第 2端子群に対応して、 拡張周辺装置からゲーム装置への一方向のデ一夕伝 送を担う一対のデータ線に接続される一対の第 1データ供給接続端子と、 ゲー ム装置から拡張周辺装置への一方向のデ一夕伝送を担う一対のデータ線に接続 される一対の第 2デ一夕供給接続端子をそれそれ備えており、 前記第 3端子群 及び第 4端子群に接続されるデータ線の群がそれそれ副データ伝送路として機 能するように構成されてなる。
本発明は、 また、 前記周辺装置を基本周辺装置としてこれに拡張周辺装置を 接続するための、 既述の構成を備えるプラグコネクタである。
本発明は、 また、 前記ゲーム装置に接続して使用する周辺装置であって、 前 記周辺装置は、 自己がランダムに出力を発生する種類の周辺装置であるとの情 報をゲーム装置に通知し、 接続された周辺装置がランダムに出力を発生する種 類の周辺装置であることを認識したゲーム装置は伝送路占有パターンを当該周 辺装置に送信して当該周辺装置が接続されている入出力ポートが伝送路占有モ 一ドになったことを通知し、 前記周辺装置は伝送路占有パターンの期間の任意 の夕ンミングで出力データを伝送することができるように構成されてなる。 この周辺装置において、 前記伝送路占有パターンは、 前記第 1及び第 2のデ 一夕信号のうち一方が前記一方の電位レベルに維持されているタイミングに対 応して他方のデータ信号として連続した複数のパルス列を伝送するパターンに より構成されている。 前記伝送路占有モードに入ると、 周辺装置は、 伝送路占 有モードの期間の任意のタイ ミングで出力を送出することが可能となり、 周辺 装置が操作されるとトリガ信号をゲーム装置に送出するように構成されてなる, 前記伝送路占有モ一ドはビデオ信号の 1ィン夕一バルの画面描画期間である。 本発明は、 また前記周辺装置が模擬銃であることを特徴とする。 この周辺装 置の実施形態では、 光線銃である。
前記周辺装置の実施形態は、 ゲーム装置に直接接続される種類の基本周辺装 置を介して前記ゲーム装置とデータ伝送の授受を行う種類の拡張周辺装置であ る。
また、 本発明は、 コンピュータシステムを前記ゲーム装置として動作させる プログラムを記憶した情報記憶媒体である。 また、 本発明は、 コンビュ一夕シ ステムを前記周辺装置として動作させるプログラムを記憶した情報記憶媒体で ある。
本発明の伝送方法によって、 少ないデータ線の数 ( 2本) で変調 '復調の回 路が比較的に簡単に構成可能な通信ィン夕フェースを形成することが可能とな る。 前記記第 1及び第 2のデータ信号のうちのいずれか一方のデ一夕信号のク 口ヅク信号成分のパルスエツジで、 他方のデ一夕信号のレベルをラツチするこ とによって、 重畳されたデータを分離することによって、 簡単な回路構成で重 畳されたデ一夕を分離することが出来る。
上記データパターンを表す 2つのデータ信号のうちの一方のデータ信号に含 まれるク口ック信号のパルスエツジが時間軸上において他方のデ一夕信号のデ 一夕部分に位置し、 上記他方のデ一夕信号に含まれるクロック信号のパルスェ ヅジが時間軸上において上記一方のデータ信号のデータ部分に位置するように 定められることにより、 一方のクロックによって他方のデータ信号に重畳して いるデ一夕を簡単に分離することができる。 1つ又は複数の入出力ポートを備えるゲーム装置のいずれかの入出力ポート に接続されるデータ伝送路を介して、 上記ゲーム装置とデータ通信を行う周辺 装置において、 周辺装置の種類を表す周辺装置の識別情報を予め記憶する第 1 の記憶手段と、 上記ゲーム装置から通知される、 上記データ伝送路が接続され た入出力ポートを表す入出力ポート情報を記憶する第 2の記憶手段と、 上記周 辺装置識別情報と上記入出力ポート情報とに基づいて、 上記ゲーム装置に送信 すべきデ一夕に加える自己の送信元ァドレスを形成する送信元ァドレス形成手 段と、 を備えることによって、 ゲーム装置は、 受信した送信データから周辺装 置のデ一夕伝送路上のァドレスと周辺装置のタイプを知ることができる。
上記基本周辺装置及び上記拡張周辺装置の各々は、 周辺装置の種類や装置固 有の情報を含む固有情報を保持し、 上記ゲーム装置は、 この固有情報を上記デ —夕通信によって読み出すことによって、 ゲーム装置は、 固有情報を参照して ゲームアプリケ一シヨンと周辺装置との適合性を判別することによって、 いわ ゆるプラグ &プレイやアプリケーションと適合しない周辺装置の使用回避を可 能とする。
拡張周辺装置は、 複数の入出力ポートを備えるゲーム装置とのデータ通信を、 入出力ポートのいずれかに並列接続される複数の拡張コネクタを有する周辺装 置 (基本周辺装置) を介して行い、 そして、 データ通信において使用する送信 元ァドレスを、 ゲーム装置から通知される入出力ポートの情報及び周辺装置か ら通知される使用拡張コネクタの情報を用いて形成し、 送信元ァドレスは単な るアドレスではなく、 一定の情報を含む、 ような周辺装置の機能は、 プラグァ ンドプレイ等に好適である。
ゲーム装置に周辺装置を着脱自在に接続して使用するゲームシステムにおい て、 上記周辺装置は少なくとも一つの機能デバイスを含む。 このような構成の ゲームシステムにおけるゲーム装置及び周辺装置相互間のデータ通信は、 2つ のデータ信号の両方又はいずれかが伝送クロック成分を含むので、 スタートパ 夕一ン、 エンドパターンの検出や、 データパターンからのデータの分離が容易 である。 変調 ·復調回路の構成が比較的に簡単に済む。
図面の簡単な説明
図 1は、 ホスト (ゲーム装置) 1と周辺装置 2及び拡張周辺装置 3の例を説明 する説明図である。 図 2は、 ホストの制御系を説明するブロック図である。 図 3は、 ホストとデバイスの接続関係を説明するブロック図である。 図 4は、 ホ スト、 上位デバイス及び下位デバイスの関係を説明するブロック図である。 図 5は、 絶対位置の割当てを説明するブロック図である。 図 6は、 ホストから見 たデバイスが位置透過性を持つことを説明するブロック図である。 図 7は、 転 送デ一夕の 1フレームの構成を説明する説明図である。 図 8は、 ソフ トウェア の側面からインタフェースの構成を説明するブロック図である。 図 9は、 ホス トとデバイス間の通信プロ トコルの階層を説明するプロック図である。 図 1 0 は、 デ一夕の伝送方式を説明する説明図である。 図 1 1は、 伝送フレームの標 準フォーマツ トを説明する説明図である。 図 1 2は、 伝送フレームの C R Cォ プシヨン付きフォーマツ トを説明する説明図である。 図 1 3は、 同期パターン の、 スタートパターン (a ) と、 エンドパターン (b ) を説明する説明図であ る。 図 1 4は、 C R Cオプションスタートパターンを説明する説明図である。 図 1 5は、 S D C K B占有許可パターンを説明する説明図である。 図 1 6は、 リセッ トパターンを説明する説明図である。 図 1 7は、 ホス トとデバイスファ ンクシヨン間の交信の態様を説明する説明図である。 図 1 8 ( a ) は、 ホスト からのコマンドに対して各デバイスファンクションが応答する形式でデ一夕通 信が間欠的に行われる Mバス上の様子を説明する説明図である。 同図 (b ) は、 送信すべきデータが長いときに、 複数の送信フレームを使用してデ一夕を間欠 的に送信する例を説明する説明図である。 図 1 9は、 デバイスにおける動作を 概略的に説明する説明図である。 図 2 0は、 絶対位置 (A P ) 設定の手順を説 明する説明図である。 図 2 1は、 ホス ト用 M I Eを説明するプロック回路図で ある。 図 2 2は、 フレームエンコーダの動作原理を説明するブロック回路図で ある。 図 2 3は、 フレームエンコーダの動作を説明するタイミング図である。 図 2 4は、 オル夕ネィ トシフ トレジス夕の動作原理を説明するプロック回路図 である。 図 2 5は、 オル夕ネィ トシフ トレジス夕 (パラレル . シリアル変換) の動作を説明するタイミング図である。 図 2 6は、 フレームデコーダの動作原 理を説明するブロック回路図である。 図 2 7は、 フレームデコーダの動作を説 明するタイミング図である。 図 2 8は、 オル夕ネィ トシフ トレジス夕 (シリァ ル ·パラレル変換) の動作原理を説明するプロヅク回路図である。 図 2 9は、 オルタネイ トシフ トレジス夕の動作を説明するタイミング図である。 図 3 0は、 標準コントローラの全体の構成を概略的に示すプロック図である。 図 3 1は、 標準コン トローラの M I Eを説明するブロック図である。 図 3 2は、 デ一夕の 透過 (位置透過) なバス切替部を説明するブロック図である。 図 3 3は、 U— デバイスの M I Eを説明するブロック回路図である。 図 3 4は、 L—デバイス の M I Eを説明するプロック回路図である。 図 3 5は、 M I Eにおける送信パ ターンの判別を説明するフローチヤ一トである。 図 3 6は、 標準フォーマツ ト のフレーム信号の形成を説明するフローチャートである。 図 3 7は、 C R Cォ プシヨン付きフォーマツ 卜のフレーム信号の形成を説明するフローチヤ一卜で ある。 図 3 8 S D C K B占有パターンによる動作を説明するフローチャートで ある。 図 3 9は、 リセッ トパターンの送出を説明するフローチヤ一トである。 図 4 0は、 M I Eにおける受信動作を説明するフローチャートである。 図 4 1 は、 ス夕一トパターンを検出した場合の処理を説明するフローチャートである。 図 4 2は、 C R C付きスタートパターンを検出した場合の処理を説明するフロ 一チャートである。 図 4 3は、 ホストがデバイスに保持される固有情報を読出 す例を説明するフローチャートである。 図 4 4は、 ホストと、 基本デバイス、 拡張デバイスの接続の複数の態様について説明する説明図である。 図 4 5は、 ホストとファンクション (基本デバイス、 拡張デバイス) との関係を概念的に 説明する説明図である。 図 4 6は、 ホス トと基本及び拡張デバイスとの間のデ —夕通信を階層化モデルで説明する説明図である。 図 4 7は、 基本デバイスと 各拡張デバイスとの接続関係を説明する説明図である。 図 4 8は、 フレームデ 一夕の構成を説明する説明図である。 図 4 9は、 タイムアウ トを説明する説明 図である。 図 5 0は、 S D C K A信号及び S D C K B信号によるデータ伝送を 説明する説明図である。 図 5 1は、 スタートパターン及びエンドパターンを説 明する説明図である。 図 5 2は、 S D C K B占有許可パターンを説明する説明 図である。 図 5 3は、 リセッ トパターンを説明する説明図である。 図 5 4は、 フレームのフォーマツ トを説明する説明図である。 図 5 5は、 ホストと周辺装 置 (基本デバイス、 拡張デバイス) 間のデ一夕伝送の概略を説明する説明図で ある。 図 5 6 ( a ) は、 ホス トからデバイスに送られたコマンドに対して各デ バイスが応答する形式でデ一夕通信が間欠的に行われることを説明する説明図 である。 同図 (b ) は、 送信すべきデータが 1送信フレームで送れる量よりも 大きい場合に、 該デ一夕を複数のデ一夕に分割し、 複数の送信フレームで間欠 的に送信する例を説明する説明図である。 図 5 7は、 ホスト、 各基本デバイス、 各拡張デバイスの全 A P値を説明する説明図である。 図 5 8は、 基本デバイス の A P設定 (絶対アドレス) の手順を説明する説明図である。 図 5 9は、 拡張 デバイスの A P設定 (絶対ァドレス) 手順を説明する説明図である。 図 6 0は、 ホス ト、 基本デバイス、 拡張デバイス間のフレームデータ転送を説明する説明 図である。 図 6 1は、 ホストと基本デバイス (あるいは拡張デバイス) との通 常の交信手順を説明する説明図である。 図 6 2は、 ホストと基本デバイス間の S D C K B占有手順を説明する説明図である。 図 6 3は、 ホス トの M I Eを説 明するブロック図である。 図 6 4は、 基本デバイスの構成を説明するブロック 図である。 図 6 5は、 基本デバイスの M I Eの構成を説明するブロック図であ る。 図 6 6は、 基本デバイスと拡張デバイスの接続を説明するブロック図であ る。 図 6 7は、 基本デバイスがホス トからデ一夕を受信する場合の手順を説明 する説明図である。 図 6 8は、 基本デバイスがホス トから送受信バッファ以上 のデータを受信する場合の手順を説明する説明図である。 図 6 9は、 基本デバ イスからホストにデ一夕を送信する場合の手順を説明する説明図である。 図 7 0は、 基本デバイスからホス トに M I Eの送受信バッファの容量以上のデータ を送信する場合の手順を説明する説明図である。 図 7 1は、 コマンド" Device Request"を説明する説明図である。 図 6 8は、 コマンド" All Status Request" を説明する説明図である。 図 7 3は、 コマンド" Device Reset"を説明する説明図 である。 図 7 4は、 コマンド" Device Kill"を説明する説明図である。 図 7 5は、 コマンド" Date Transfer"を説明する説明図である。 図 7 6は、 コマンド" Get Condition"を説明する説明図である。 図 7 7は、 コマンド" Get Media Info"を説 明する説明図である。 図 7 8は、 コマンド" Block Read"を説明する説明図であ る。 図 7 9は、 コマン ド" Block Write"を説明する説明図である。 図 8 0は、 コ マンド" Get Last Error"を説明する説明図である。 図 8 1は、 相対アドレスの基 本デバイス (ゲームコントローラ) の例を示すブロヅク図である。 図 8 2は、 絶対アドレスの基本デバイス (ゲームコントローラ) の例を示すブロック図で ある。 図 8 3は、 相対ァドレスの拡張デバイス (L C Dカートリッジ) の例を 示すブロック図である。 図 8 4は、 絶対アドレスの拡張デバイス (L C Dカー トリッジ) の例を示すブロック図である。 図 8 5は、 相対アドレスの拡張デバ イス (メモリカートリッジ) の例を示すブロック図である。 図 8 6は、 絶対ァ ドレスの拡張デバイス (メモリカートリッジ) の例を示すブロック図である。 図 8 7は、 相対アドレスの拡張デバイス (振動力一トリヅジ) の例を示すプロ ヅク図である。 図 8 8は、 絶対アドレスの拡張デバイス (振動カートリッジ) の例を示すブロック図である。 図 8 9は、 相対アドレスの拡張デバイス (ライ トガンカートリッジ) の例を示すプロック図である。 図 9 0は、 絶対アドレス の拡張デバイス (ライ トガンカートリ ッジ) の例を示すブロック図である。 図 9 1は、 相対アドレスの拡張デバイス (音声入力カートリッジ) の例を示すブ ロック図である。 図 92は、 絶対アドレスの拡張デバイス (音声入力カートリ ヅジ) の例を示すブロック図である。 図 93は、 相対アドレスの拡張デバイス (音声出力カートリッジ) の例を示すプロヅク図である。 図 94は、 絶対アド レスの拡張デバイス (音声出力カート リ ッジ) の例を示すブロック図である。 図 95は、 Mバスをワイヤレス (無線通信) で構成する例を説明する説明図で ある。 図 9 6は、 Mバスをワイヤレス (光通信) で構成する他の例を説明する 説明図である。 図 97 (a) は、 ゲームコントローラの Mバスコネクタを説明 する説明図である。 同図 (b) は、 ゲームコントローラの LMバスコネクタを 説明する説明図である。 図 98は、 他のゲームコントローラの例を説明する説 明図である。 図 99は、 Mバスコネクタのソケッ ト例を説明する正面図である。 図 100 (a) は、 Mバスコネクタのプラグを説明する側面図、 同図 (b) は 同プラグの上面図、 同図 ( c) は同プラグの正面図である。 図 1 0 1は、 Mバ スケ一ブルの周辺装置 (基本デバイス) 側に設けられるコネクタの説明図であ る。 図 102 (a) は、 LMバスコネクタのソケッ トの上面図、 同図 (b) は、 同プラグの正面図である。 図 1 03 (a) は、 LMバスコネクタのプラグの上 面図、 同図 (b) は、 同プラグの正面図である。 図 1 04は他のゲーム装置の 例を示す斜視図である。 図 1 05は同ゲーム装置を示す背面図である。 図 10 6は他のゲーム装置の制御系を示すブロック図である。 図 1 07は、 本発明が 適用されるネッ トワークシステムのブロック図である。 図 1 08は、 他のネッ トワークシステムのプロヅク図である。 発明を実施するための好適な形態
まず、 システム構成の概略を図 1及び図 2を参照して説明する。 図 1は、 コ ンピュー夕システムとしてのゲーム装置を説明する説明図である。 図 2は、 こ のゲーム装置の制御系を説明するプロック図である。
ゲーム装置 (ホスト) 1は、 ゲームプログラム等を実行する CPU 1 a、 ゲ ーム装置としての制御プログラム、 データ、 0 S等を記憶する R O M 1 b、 ゲ —ムアプリケーションプログラムやデータを記憶する C D— R O M装置 1 c、 C P U 1 aと各部間のデータ転送を制御するバスコントローラ 1 d、 C P U 1 aのプログラムやデータを保持し、 データ処理に使用される R A M 1 e、 描画 データから画像信号を形成する描画プロセッサ 1 f 、 音声デ一夕から音声信号 を形成する音響プロセッサ 1 g、 C P U 1 a及び外部の周辺装置相互間のデ一 夕転送を中継するペリフェラルイン夕フヱース 1 h、 等によって構成される。 R A M 1 eの一部の領域はペリフエラルデ一夕処理のためのワーク R A Mとし て使用され、 いわゆる D M A動作が可能になされている。 画像信号及び音声信 号はモニタ 4、 例えばテレビジョンに供給され、 映像と音声が出力される。 周 辺装置は、 基本周辺装置 2と拡張周辺装置 3とからなる。 基本周辺装置 2はコ ネクタ 1 iを介してべリフヱラルコントローラ l hと接続され、 拡張周辺装置 3は基本周辺装置 2に接続される。 基本周辺装置 2及び拡張周辺装置 3は、 ホ ストに対して電気的 (あるいは論理構造的) には並列に接続される。 基本周辺 装置 2は、 例えば、 ゲームコン トローラであり、 拡張周辺装置 3は、 例えば、 音声入力装置、 音声出力装置、 光線銃モジュール、 振動装置、 メモリ装置等で ある。
ただし、 次に述べる第 1の実施の形態 (第 1のイン夕フェース規格) では、 周辺装置は、 その果たす機能の観点から検討され、 Uデバイスファンクション 及び Lデバイスファンクションに分類されている。 この分類は、 一つの周辺装 置に一つの機能が形成される場合だけでなく、 一つの周辺装置内に複数の機能 が形成される場合や、 一つのファンクションが複数の周辺装置によって実現さ れる場合があることを考慮したものである。
一方、 後述する第 2の実施の形態 (第 2のィン夕フェース規格) においては、 周辺装置は、 装置相互の接続関係から基本周辺装置及び拡張周辺装置に分類さ れている。 本発明の実施の形態は、 大別して、 第 1の実施の形態と、 第 2の実施の形態 とに分けられる。
(第 1の実施の形態) まず、 本願の第 1のインタ一フェース規格で使用する 用語の意味について図面を参照して説明する。
まず、 データを時系列上に展開したデータを 「シリアルデ一夕」 と称する。 シリアルデ一夕でデ一夕のやりとりを行う信号線を 「シリアルバス」 と称する。 本願のィン夕フェース規格を採用する、 ゲーム装置と周辺装置とを接続するシ リアルバスを Mバス (M— B u s ) と称する。
周辺装置の各デバイスファンクションに最初から割当てられている、 登録制 の認識番号を 「デバイス I D」 と称する。 デバイス I Dは、 複数種類、 例えば、 2 5 6種類を用意できる。 一つのポ一卜に同じデバイス番号が複数あってもよ い。
ゲーム装置のぺリフエラルコントローラと周辺装置と Mバスで接続する箇所 をを 「ポート」 と称する。 Mバスでは複数のポートを能動的に接続することが 可能である。 例えば、 1 6ポートをサポート可能であるが、 実施例では、 4つ のポート (ポート A、 ポート B、 ポート C、 ポート D ) をサポートする例で説 明している。
図 3に示すように、 ゲーム装置側を 「ホスト」、 これに接続する周辺装置の機 能の一つを 「デバイスファンクション」 と称する。 デバイスファンクションは、 装置 (製品) そのものではなく、 装置の機能を指し示すため、 一つの装置によ つて一機能が実現される場合の他、 一つの装置の機能を複数に分割し、 夫々を デバイスファンクションとすることが出来る。 Mバスでは、 ホストは 1台で、 それにデバイスファンクションがツリー状に接続される。 そして、 各デバイス ファンクションは、 同一 Mバス上に存在するように見える。 一つのポートには、 複数のデバイスファンクション、 例えば、 1 4個のデバイスファンクションが 接続可能である。 デバイスファンクションは、 例えば、 ゲーム装置の周辺装置 を、 ゲームコントローラ、 ゲームパッ ド、 ジョイスティ ヅク、 キーボ一ド、 模 擬操縦装置、 模擬銃、 記憶装置、 音声装置等として機能させる。
図 4に示すように、 各デバイスファンクションは、 「上位 (U ) デバイスファ ンクシヨン」 と 「下位 (L ) デバイスファンクション」 との 2種類に分類され る。 U—デバイスファンクションは、 ホストと接続出来る。 また、 U—デパイ スフアンクシヨンは L—デバイスファンクションをコントロールする能力を持 つ。 L—デバイスファンクションは、 U—デバイスファンクションに接続して いる、 あるいは接続することを前提とするデバイスファンクションである。 U -デバイスフアンクシヨンから L—デバイスファンクションに繋がる Mバスを 「L Mバス」 と称する。
一つのポートに必ず一つの U—デバイスフアンクションがないと、 そのポー トは使用できない。 そして、 主として、 ゲーム装置のゲームコントローラを U 一デバイスファンクション、 拡張 (周辺接続) 装置を L—デバイスファンクシ ヨンとする。 例えば、 Mバスには、 最大 1 4個の L—デバイスファンクション を接続できる。
また、 U—デバイスファンクションに U—デバイスファンクションを接続す ることが可能である。 この場合、 接続した U—デバイスファンクションは、 L 一デバイスフアンクシヨンとなる。 U—デバイスフアンクシヨンと L—デバイ スフアンクシヨンとは物理的に分離している必要はなく、 U—デバイスファン クシヨンの中に論理的に分離した別のデバイスファンクションを L一デバイス ファンクションとすることが出来る。
例えば、 周辺装置のデバイスファンシヨンを制御する I C (例えば、 マイク 口コンピュータ) の中に機能別に、 デジタル制御部を U—デバイスファンクシ ヨン、 アナログ制御部を L—デバイスファンクションとすることができ、 L一 デバイスフアンクションすなわちアナログ制御部を使用しないときには、 その 部分を使用不可にすることも可能である。 図 5に示すように、 ホス 卜の各ポー卜において複数のデバイスファンクショ ンのいずれにも、 ホストが直接的にアクセスできるように、 個々のデバイスフ アンクシヨンにポート Aから順に番号が割振られる。 このデバイスファンクシ ヨン毎に割振られるアクセスのための識別番号 (あるいは符号) を 「絶対位置
(AP)j と称する。
Mバスでは、 ホス トの 1つのポートに複数のデバイスファンクションが割当 てられる。 Mバスのポート数と APの数の関係は、 次式で表される。
(最大ポート数) X ( 1ポートに割当てられる最大 AP数) =一定値実施例 の Mバスでは、 「一定値」 を 1バイ 卜で表現することにする。 この場合、
(4ポート (max l 6ポ一ト)) X (最大ポート 1 6個の AP) = 1バイ トと なる。
1 6個の APのうち、 ポートに APがーつ予約されるため、 1ポートに割り 当てられる A Pは最大 1 5個になる。 これより、 1ポートに最大 1 5デバイス ファンクションまで使用可能となる。 また、 1ポートに U—デパイスフアンク シヨンが 1つ接続されるので、 L—デバイスファンクションは最大 14デバイ スフアンクシヨンとなる。
デバイスファンクションに割当てられる APは、 ポート毎に使用可能な数字 の範囲が定められる。 例えば、 A Pの構成は、 次のようになる。
ビット 765432 10
A P pppp****
ここで、 " p p p p,,はポート番号 (ポート A = " 0000 "、 ポート B = " 0 00 1"、 ポート C = "00 1 0"、 ポート D= "00 1 1") に相当し、 "** **" は連番 ("0000" ( 1 0進数の "0") 〜 ": L 1 1 1" ( 1 0進数の " 1 5")) である。 よって、 1つのポートで最大 1 5デバイスフアンクションの A Pが定められる。
2進数表示にすると、 デバイスファンクションの A P値は、 ポート Aでは" 0 0000 00 1 " ~ "0 0 0 0 1 1 1 1 " の範囲、 ポート Bでは " 0 00 1 0
0 0 1 " 〜 "00 0 1 1 1 1 1,, の範囲、 ポート Cでは " 0 0 1 00 0 0 1,, - "00 1 0 1 1 1 1" の範囲、 ポート Dでは、 " 00 1 1 000 1" 〜 "◦ 0
1 1 1 1 1 1 1" の範囲である。
これ等を、 1 0進数表示にすると、 それそれ、 1〜: L 5、 1 7〜3 1、 3 3 〜4 7、 4 9〜6 3と表される。 また、 1 6進数表示にすると、 それそれ、 #
0 1〜# 0 F、 # 1 1〜: L F、 # 2 1 ~ 2 F、 # 3 1〜# 3 Fと表される。 デバイスファンクションから見たホス トの各ポートの APは、 常に、 そのポ —トで使用できる APの最小値で、 ポート Aでは # 00 ( 0)、 ポート Bでは #
1 0 ( 1 6 )、 ポート Cでは # 2 0 ( 3 2 )、 ポート Dでは # 3 0 ( 4 8 ) とな る。 デバイスファンクション及びホス トは、 A Pの上位 4ビッ トからその接続 されているポートが判別できる。 デバイスファンクションへのアクセスは、 こ の APでアクセスするデバイスフアンクションを指定する。
各デバイスファンクション毎に割り当てられている A P指定することで、 1 つのデバイスファンクションが指定されるため、 ホストは、 周辺装置の各デバ イスファンクションにダイレク 卜にアクセスできる。 このため、 図 6に示すよ うに、 ホス トから見て、 ホス トと各デバイスファンクションとは何も経由せず に接続されているように見える。 別言すれば、 各デバイスが同一バス上に接続 されているように見える。
ホストとデバイスフアンクションのデ一夕のやりとりは、 従来のような一方 通行的なものではなく、 その場その時に適したデータの送信受信が出来るよう に、 ある決った命令を用いてデータのやりとりを行う。 この命令のことを 「コ マンド」 と称する。 コマンドのデータを 「パラメ一夕」 と称する。
一回の送信データは、 図 7に示すように、 コマンド +パラメ一夕の 1フレー ム (例えば、 2 5 6バイ ト) で構成される。 パラメ一夕には、 APデータ、 デ —夕のサイズ、 データが含まれるが、 データを含まない場合もある。 原則的に、 ホス トがコマンドを発行してデバイスファンクションにアクセス する。 デバイスファンクションはそれに対応するデ一夕を用意した後、 ホスト にコマンドを発行してデ一夕を送る。 Mバスでは、 例えば、 最大 2 5 4個のコ マンドを用意可能であり、 最大 2 5 3バイ トのデータの転送が可能である。 周辺装置、 例えば、 ゲーム操作入力装置としてのゲームコントローラの機能 を拡張するための拡張装置を接続する場所を 「拡張ソケッ ト」 と称する。 拡張 ソケッ トには、 原則として、 L—デバイスを接続する。 標準的なゲームコント ローラでは、 例えば、 2つの拡張ソケッ トを持つ。 Mバスでは、 拡張ソケッ ト の数は L—デバイスファンクションの個数と同じ数、 例えば、 実施例では 1 4 個まで持つことが出来る。
あるデ一夕を Mバス用のシリアルデータに変換し、 Mバス上で送受信できる ようにする回路あるいは機能デバイスを 「Mバス I / Fエンジン (M I E )」 と 称する。 Mバス規格の機器は、 全てこの M I Eを持つ。 ホストにはホスト用の M I E、 U—デバイスファンクションには U—デバイスファンクション用の M I E、 L一デバイスファンクションには L—デバイスファンクション用の M I Eを組込む。
図 8に示すように、 ホストがデバイスファンクションにアクセスするために は、 必ずデバイスファンクションを統括するソフ ト 「Mバス ドライバ」 を介し なければならない。 デバイスファンクションは、 Mパス ドライバによって、 制 御 '管理される。 Mバスドライバは、 デバイス I D (機能識別番号)、 A P (絶 対位置)、 ポート等の管理、 コマン ドの受信 '発信、 データ形式の制御、 管理等 を行う。 Mバスドライバを改良 (改版)、 追加していくことにより、 コマンドを 増すことが出来る。
Mバスにおいて、 全ての周辺装置は、 所定フォーマッ トによる装置に特有の 情報 (固有情報) を記録しなけれはならない。 このデバイスファンクション情 報のことを 「デバイスステイタス」 と称する。 デバイスステイタスは、 管理データとして、 製品名、 デバイス I D、 ライセ ンス、 モデルナンバー、 仕向地、 LM—バス数等を、 電気的データ (ハードウ エア情報) として、 スタンバイ消費電流、 最大消費電流等を記録する。 デバイ スステイタスは、 Mバス ドライバ及びアプリケーション ' プログラム 'イン夕 フェース (AP I ) にて管理活用され、 例えば、 周辺装置の製品名や接続許容 の判別、 最大消費電流に基づくポート全体の電流制御等を可能とする。
図 9は、 本インタフヱ一ス規格が提案する範囲を概略的に示している。 ホス ト上で実行されているアプリケ一ションソフ トは、 周辺装置のデバイスファン クシヨンとのデータ通信を AP Iというソフ トウエアを介して、 あるいは直接 に Mバス ドライバにィンス トラクションを与えて行う。 Mバス ドライバによつ てインス トラクションに対応して形成されるコマンドはホス 卜の MI E、 ケ一 ブル、 周辺装置の M I E、 M I Eコントローラを介して、 周辺装置のデバイス ファンクションの中核となるコン トロールソフ トに伝えられる。 該コン トロ一 ルソフ トは当該コマン ドに対する応答を、 M I Eコン トローラ、 周辺装置の M I E、 ケーブル、 ホストの M I E、 Mバスドライバを介してホスト上で実行さ れているアプリケーションソフ 卜に返す。 周辺装置には、 複数のデバイスファ ンクシヨンを設けることが出来るが、 この場合には、 各デバイスファンクショ ンは M I Eを共用することが可能である。 ここで、 MI E、 接続ケーブル等は 物理的階層、 Mバスドライバ、 M I Eコントローラは論理的階層に相当する。 次に、 Mバス上のデータの伝送について説明する。
Mバスにおいては、 データ伝送は同期シリアル方式で行われる。 接続ケープ ルは、 電力線対 (Vcc、 GND)、 データ線対 (SD CKA、 SD CKB :双方 向) の計 4線を使用する。 必要により、 ノイズ防止のために接続ケーブルをシ ールドするシールド線が追加される。 デ一夕の送受信は双方向通信の半二重と し、 適当なデータ転送速度、 例えば、 2 Mbpsに設定される。
図 10を参照して、 伝送原理について説明する。 デ一夕は、 デ一夕線を伝搬 するシリアルデータクロヅク (S D C K ) A及びシリアルデータクロック (S D C K ) Bによって伝送される。 シリアルデ一夕クロヅク A及び Bは、 デ一夕 伝送時には、 クロック成分を含み、 同図に示すように、 交互にネガティブエツ ジ (立ち下がりエッジ) となる。 すなわち、 図 1 1のデ一夕パターン部に示す ように、 伝送クロックのパルス列の各パルス間にデ一夕のビッ トが揷入され、 シリアルデータクロック A及び B相互間は時間軸上において適当な量 (一方の 信号のパルスエッジが他方の信号のデ一夕部分に位置するような時間) だけシ フトされている。 る。 受信側では、 一方の信号の、 波形のネガティブエッジの 夕イミングにおいて他方の信号のデ一夕部分をラツチし、 これを読取りデ一夕 (再生デ一夕) とする。 信号のデ一夕部分は、 信号のレベル変化可能な部分で あり、 Lレベル (「0」)、 あるいは Hレベル (「 1」) を担う。 Lレベルは、 相対 的に低い第 1の電位レベル (例えば、 接地電位) であり、 Hレベルは相対的に 高い第 2の電位レベル (例えば、 電源電位) である。 デ一夕は、 例えば、 最上 位桁 (M S B ) 側から転送される。 このようなデータ伝送を行う回路は比較的 に簡単に構成することができる。 なお、 デ一夕ラッチのタイ ミングは、 ポジテ イブエッジ (立ち上がりエッジ) を使用することとしても良い。
この方式によれば、 I 2B U Sや D S—リンク方式に比べてデ一夕伝送路の伝 送周波数を下げることが可能となる。 例えば、 I 2B U Sや D S —リンク方式で は、 1 0 Mビッ ト/秒のデ一夕伝送速度を送るには、 デ一夕伝送媒体を 1 0 M H zで動作させる必要がある。 これに対し、 本方式では、 1 0 Mビッ トのデ一 夕を 2本のデータ線でそれそれ 5 Mビッ トずつ分担して伝送するので、 理論的 にはデータ線の 5 M H zのデ一夕伝送クロックで 1 0 Mビッ 卜/秒のデ一夕伝 送速度を得ることが可能となる。 また、 クロックパルス間にデータを挿入する ことによってパルス幅が長くなるので、 当該部分では伝送周波数が等価的に低 下する。 より低い伝送速度で済むことは回路設計を容易にする。
図 1 1及び図 1 2は、 信号の伝送フォーマツ トの例を示している。 伝送フォ 一マッ トは、 スタートパターン、 デ一夕パターン、 エンドパターンによって構 成され、 必要により、 C R C (Cyclic Redundancy Check)チエックビッ トが付加 される。
図 1 1は、 標準の伝送フォーマッ トを示している。 データ伝送は、 フレーム 単位 (最小単位) で行われる。 標準フォーマッ トの 1フレームの構成は、 デー 夕伝送の開始を示すスタート (S TART) パターンから始り、 256バイ ト 長のデ一夕 (DATA) パターン、 そしてエンド (END) パターンで構成さ れる。 デ一夕パターン中に示される 「D」 は、 データの 「0」 ·「 1」 のビヅ ト 情報を担っている部分を示している。
図 1 2は、 標準データフォーマヅ 卜にエラ一訂正機能を付加した CRCォプ シヨン付フォーマッ トの例を示している。 エラー訂正方法としては、 例えば、 巡回冗長検査 (CR C) を使用することが出来る。 CRCオプション付のデ一 夕伝送時は、 図 1 2のデ一夕パターンに示すように、 CRCの対象となったデ 一夕の後に CR Cコードのパターンが付加される。
上述した伝送フォーマツ ト中のデータパターン以外の部分は、 特定の情報を 担う情報パターンとなっている。 情報パターンは、 データ線 SD CKA及び S D CKBのいずれかが、 「L」 レベル状態の間に他方の信号線を伝搬する信号パ ルス (伝送クロック) 数によって定義される。 情報パターンとしては、 例えば、 同期パターン、 データ線占有許可パターン、 リセッ トパターン等がある。
同期パターンには、 図 1 3 (a) に示すスタートパターン、 同図 (b) に示 すエンドパターン、 図 14に示す CR Cオプション付きスタートパターンがあ る。
スタートパターンは、 上述したデータパターンに先立ち伝送される同期パ夕 —ンである。 受信側の M I Eが、 データ線 S D CKAが 「; L」 レベルの期間に デ一夕線 SD CKBの 4ネガティブエッジを検出すると、 以降のパ夕一ンをデ —夕パターンとして解読し、 メモリに取込むバッファリングを行う。 エンドパターンは、 デ一夕パターンの終了を示す。 受信側の M I Eが、 デ一 夕線 SD CKBが 「L」 レベルの期間にデ一夕線 S D CKAの 2ネガティブェ ッジを検出すると、 デ一夕パターンの終了を確認して正常終了とする。
CR Cォプション付ス夕一トパターンは、 CR Cオプションを付加するとき の STARTパターンである。 受信側の M I Eは、 デ一夕線 SD CKAが 「L」 レベルの期間に S D CKBラインの 6ネガティブェヅジを検出すると、 CR C オプション付のデ一夕伝送と認識する。 そして、 E NDパターン以前の 1 6ビ ヅ トを CRCデ一夕として、 データ部分に対してエラー検査を行う。
図 1 5は、 ホス 卜が受信側にデータ線のうちの 1本の占有を許容するデ一夕 線占有許可パターンの例を示している。 データ線 SD CKBの占有許可パター ンは、 S D C K Aが 「 L」 の期間に S D C K Bラインが 8ネガティブエッジを 有する。 受信側の M I Eが S D C KB占有許可パターンを検出した場合、 次の SD CKAのネガティブエッジより SD CKAが 「L」 の期間 SD CKBを占 有することが出来る。 その後、 S D C K Aのポジティブエッジにより S D C K Bの占有を解除する。
例えば、 デ一夕線 SD CKBを占有して、 シュ一ティングゲーム装置に使用 される光線銃(Light-Gun)の出力デ一夕をゲーム装置に送ることが出来る。 デ 一夕線 S D C KBのみを使用してデ一夕が転送され、 データ線 SD CK Aは占 有の時間 (期間) を示している。
図 1 6は、 リセッ トパターンを示している。 リセッ トパターンは、 デ一夕線 SD CKAが 「L」 レベルの状態でデータ線 S D CKBラインが 14ネガティ ブエッジを有する。 受信側の M I Eがリセッ トパターンを検出した場合は、 ホ ス ト側からのリセッ ト要求と判断する。 デバイスは、 MI Eの初期化、 APの 抹消を行う。 その他のデ一夕の初期化は行わない。
次に、 ホス 卜とデバイス間のデータ通信における伝送プロ 卜コルについて図 1 7を参照して説明する。 まず、 原則として、 コマンド送信の優先権はホス ト側にある。 ホス トからの コマンドに該当するデバイスファンクションが応答する形で交信が行われる。 従って、 ホストからのコマンド送信によって全ての通信プロ トコルは開始する。 図 1 8 ( a ) はこの様子を説明するものである。 データ通信は必要が生じたと きにホス 卜からデバイスファンクションに対して行われる。 従って、 Mバス、 L Mバス上では、 ホス卜と複数のデバイスファンクションの各々との間で間欠 的なデータ通信が行われる。 なお、 送信すべきデ一夕が、 1送信フレームとし て定められた長さを超える場合には、 図 1 8 ( b ) に示すように、 送信すべき データは複数に分割され、 分割された各デ一夕が複数の送信フレームによって 送信される (後述図 7 0参照)。
ホス 卜のアプリケーシヨンプログラムが特定の周辺装置のデバイスフアンク シヨンからデ一夕を入手するべくバス ドライバにアクセスする。 ドライバはあ て先としての A P、 コマンドを形成し、 M I Eは A P、 コマンドを担うフレー ムデ一夕を Mバスに送出する。 バス接続されているデバイスフアンクシヨンは 通常状態においては、 待機状態にあり、 ホス トからのコマンドを待受けている。 周辺装置の M I Eがフレームデータを受信し、 デバイスファンクションのコン トロールプログラムに M I Eコントロ一ラを介してコマンドを渡す。 コント口 —ルプログラムは、 自己の A Pを検出すると、 当該コマンドに対する応答を M I Eコントローラを介して M I Eに返答する。 M I Eは、 返信コマンドとホス 卜の A Pを含むフレームデ一夕を形成し、 バスに出力する。 ホストは、 該フレ —ムデ一夕を受信して送信コマンドに対する応答を得る。 デバイスファンクシ ョンはコマンドの待受け状態に戻る。
このようにして、 ホストは、 必要な情報をデバイスファンクションから入手 することができる。
次に、 デバイスファンクションにおける処理の概略を図 1 9を参照して説明 する。 周辺装置に電源線が接続され、 電源が供給されると、 デバイスファンク シヨンはハードウェアの初期値設定等を行う初期化を実行する。 次に、 後述す る、 デバイスファンクションに A P値を設定する A Pセッ ト処理を行う。 A P セッ ト処理では、 接続デバイスファンクションの認識、 デバイスファンクショ ンへの A Pの割当て等が行われる。 デバイスファンクションが A Pを保持する ことにより、 ホス トとデバイスファンクション間の交信が A Pによって可能と なり、 通常の動作状態となる。
通常動作状態において、 デバイスファンクションがホス 卜からリセッ トコマ ンドを受信すると、 A Pの再設定を行う (ソフ トリセッ ト)。 バスリセヅ トコマ ンドを受信すると、 該当するポートのバスに接続された全てのデバイスファン クシヨンを初期化し、 A Pの設定し直しを行う (ハードリセッ ト)。 ホストは、 各デバイスファンクションにコマンドを送出して動作の禁止や停止を指令する ことも出来る。
デバイスフアンクションへの A Pセッ ト処理について図 2 0を参照して説明 する。
A Pセッ トは、 ポ一卜に接続されているデバイスファンクションの認識と A Pの割当てを行う処理である。
(1) ホストは、 初期化終了後、 ポートにデバイスファンクションが接続され ているかどうかを確認するために、 ポ一ト Aから順々にデバイスリクェ スト (Device Request) を送信する。 デバイスリクエス トは A Pが割当 てられていないデバイスフアンクションに対して、 デバイス固有の情報 であるデバイススティタス(Device Status)を返すように要求するコマン ドである。 送出はポート Aから順に行い、 ポート Dで終了する。
(2) U—デバイスファンクションは、 初期化終了後、 L Mバスを Mバスから 切り離し、 ホス 卜からのデバイスリクエストを待つ。 ホス卜からデバイ スリクエス トを受取ると、 それに応答してデバイススティタスをホス 卜 に返す。 この時点でのデバイスリクエス トを受取れるデバイスファンク シヨンは、 1回に付きポートで 1つだけである。 A Pを割当てられたデ バイスファンクションは反応しない。
(3) ホストは、 デバイスファンクションからデバイススティタスを受取ると、 このデ一夕を基に接続関係と、 デバイスの属性を把握し、 デバイスファ ンクシヨンに A Pを割振り、 割振った A P値を担う A Pアサイン (AP Assign) をデバイスファンクションに送る。 A Pは、 各ポートで設定さ れている範囲内で連番で割振られ、 ホス トは A Pとデバイスファンクシ ョンの関係を把握する。 デバイスファンクションの属性がアプリケ一シ ヨンソフ トの予定しない (使用対象外) ものであった場合は、 デバイス ファンクションの動作を停止させるコマンド、デバイスキル (Device Kill) を送り、 そのデバイスファンクションの動作を停止することが出来る。 当該デバィスフアンクシヨンが U—デパイスファンクションである場合 は、 それに接続される L—デバイスファンクションも停止し、 そのポ一 ト全体を動作不可にすることが出来る。
(4) デバイスファンクションは、 ホストからの A Pアサインを受取り、 割当 てれた A Pを記憶して、 ホス トにデバイスファンクションからの返信と してデバイスリプライ(Device Reply)を返す。 これ以後、 ホス卜からデバ イスファンクションへのアクセスは、 デバイス I Dから、 A Pを用いて 行われる。
(5) ホストは、 今セッティングしているデバイスファンクションの L Mバス の本数を、 デバイスステイタスで把握しているので、 L Mバスがある場 合には、 デバイスファンクションに L Mバスの 1つを接続するように、 L Mバスコネク ト(LM-Bus Connect)を送る。 L Mバスコネク 卜がない場 合には、 後述の処理(10)を行う。
(6) U—デバイスファンクションは、 L Mバスコネク トを受取ると、 L N スの 1本を Mバスと接続する。 そして、 ホス トにデバイスリプライを返 す。
(7) ホストは、 デバイスリプライを受取ると、 デバイスリクエストを送る。
このとき、 U—デバイスファンクションは既に A Pが割当てられている ので反応しない。
(8) L一デバイスファンクションは、 ホストからデバイスリクエストを受取 ると、 それに応答してデバイスステイタスをホス 卜に送る。
(9) L Mバスが全て接続される (全てのデバイスファンクションに A Pが割 当てられる) まで、 (3)以降の処理を繰返す。
(10) ホストは、 各デバイスファンクションの動作を開始させるために、 ファ ンクシヨンスタート(Function Start)を送る。
(11) デバイスファンクションは、 ファンクションスタートを受けとると、 A Pセッ 卜の動作から、 通常の動作に移行する。 移行した後、 デバイスフ アンクションはホストにデバイスリプライを返す。
(12) ホストは、 デバイスリプライを受取ると、 次の A Pにファンクションス タートを送る。
(13) (11)と(12)の処理を繰返して各デバイスフアンクションを順次活性化し、 最後の A Pのデバイスフアンクションがデバイスリプライを返して、 A Pセヅ 卜の処理を終了する。
(14) 各デバイスファンクションは、 通常動作に移行し、 ホス トは次のポート の A Pのセッ トを行う。
(15) このようにして、 あるポートに接続された各デバイスファンクションへ の A P設定が行われる。
次に、 ホストが動作中にケーブルの抜き差しが発生した場合 (活線挿抜) の 処理について説明する。
(1) ホストは、 各ポートに一定間隔でデバイスリクエス トを送出する。使 用しないポートはアクセスの対象から除くことが出来る。 (2) 接続されていなかったポ一卜からデバイススティタスが返ってくれ ば、 ホストはデバイスファンクションが接続されたと認識する。認識 後、 そのポ一トに対してリセッ トパターンを出力し、 全デバイスファ ンクションの A Pを抹消する。 その後、 A Pセッ ト処理を行い、 A P の更新と接続関係の再構築を行う。
(3) ホストは、 デバイスファンクションにコマンドを送信し、 デバイスフ アンクションから応答がなければ、そのデバイスファンクションは切 断されたものとして認識する。切断されたデバイスファンクションは、 ホストにて A Pの抹消、 接続関係の再構築を行う。
通常動作におけるデータの送信 ·受信の処理について説明する。
(1) コマンド送信の優先権コマンドは、 最初に必ずホス トから送り、 デパイ スフアンクションがそれに返答する。 最初にデバイスファンクション側 からホストにコマンドを送ることは、 認められていない。 コマンドの再 送は、 デバイスファンクション側からリクエストがない限り、 ホスト側 からは行わない。
(2) データ形式送信 '受信のデ一夕は、 コマンドとパラメ一夕 (A Pデータ、 データサイズ、 デ一夕) から成り立つ。 実際にデ一夕線に送出される信 号には、 M I Eにて、 コマンドの前にスタートパターン、 パラメ一夕の 最後尾にエンドパターンが付加される。 そして、 「スタートパターン」 +
「コマンドパターン」 + 「A Pデ一夕」 + 「デ一夕サイズ」 + 「デ一夕」 + 「ェンドパターン」 の順番で 1つのフレームが構成され、 送信される。 受信側の M I Eにてフレームは解析され、 スタートパターンとェンドパ ターンを確認する。 コマンドとパラメ一夕の詳細は後述される。
(3) ホストホス ト用 M I Eは、 Mバスドライバによって管理される。 デバイ スフアンクションのデ一夕の取得は M I Eで自動的には行われずに、 M バスドライバを介して各ソフ トウェアが行う。 ここで、 各ソフ トウェア とは、 Mバスのドライバの上位のソフ トウェア、 例えば、 ライブラリソ フ トゃゲームソフ トウェアをいう。 1回のアクセスで A P指定した 1個 のデバイスファンクションと通信できる。 1 I N T中に複数のデバイス ファンクションからデ一夕を取得するには、 その数だけデバィスフアン クシヨンにアクセスする。 1 I N T (interrup は、 T V画面の書換タイ ミングの単位時間であり、 約 1 / 6 0秒である。 ポートの接続チェック は、 未接続ポートに対してデバイスリクエス トを送信して、 反応があれ ば 「接続」 とする。 ポートは送信時以外は、 常に入力 (受信) 状態であ る。 どのコマンドを使用するかは、 デバイスファンクションとその時そ の場面によって異なるため、 各デバイスファンクションの仕様に従う。
(4) デバイスファンクション周辺装置用 M I Eは、 M I Eコントローラを介 して、 デバイスファンクションのプログラムを実行する C P U等によつ てコントロールされる。 デバイスファンクションは、 ホストからコマン ドが送られてくるまで、 受信状態を維持する。 そして、 デバイスファン クシヨンは、 交信のために必要な自己のデ一夕を作成する。 また、 ホス 卜からのアクセスとは非同期で、 デバイスファンクションは当該デバィ スフアンクシヨン (例えば、 コントロールパッ ド及びジョイステック等 の操作入力装置) として出力すべきデータを作成する。 ホストから要求 があれば、 規定時間内にデータを送出する。 ホス トからは、 同じポート に接続されている全てのデバイスファンクションに同じコマンドが送ら れる。 デバイスファンクションは、 受信したコマンドとパラメ一夕を解 析し、 自己の A Pと一致した場合のみ、 コマンドを返信する。 自己の A Pと一致しない場合には、 ホス トに対して反応してはならない。 どのコ マンドを使用するかは、 デバイスファンクションとその時その場面によ つて異なるため、 詳細はデバイスファンクションの仕様に従う。
(5) 禁止事項同じポー卜内のデバイスファンクションからデバイスファンク シヨンへの、 デバイスファンクション同士の直接のアクセスは禁止され る。 デバイスファンクション同士の交信はホス トを介さなければならな い。 また、 デバイスファンクションは、 ホストのみが発行できるコマン ドを使用してはならない。
例外処理について説明する。 例外処理は、 デ一夕送受信がコマンドでコント ロール出来ない機器のために用意されている特別の処理である。 このような機 器の例としては、 シュ一ティング ' ゲームに使用されるライ トガン(光線銃、 Light- GUN)がある。
(1) ホストは、 デバイスファンクションがライ トガンのデバイス I Dを持つ ことを認識した場合は、 Mバスを通常モードから SDCKB占有モード に切替える。 デバイスファンクション側からモード切替は出来ない。 ホ ストは、 切替える前に、 モードチェンジを送出して、 ライ トガンが接続 されているかを確認した後、 S D C KB占有パターンにて、 Mバスモ一 ドを切替える。 SD CKB占有モードになると、 そのポートの全デバイ スが S DC KB占有モードになり、 SD CKB占有モードで動作するデ バイスファンクション以外はコマン ドを受付けない。 例えば、 ポート A に、 ライ トガン、 メモリカード及び振動ユニッ トが接続されている場合、 S D C KB占有モードで動作するデバイスファンクションはライ トガン だけである。 占有モードにすると、 ライ トガンだけがホストから制御さ れ、 他のデバイスファンクションであるメモリ力一ドゃ振動ュニヅ トは 動作しない (ホストから制御できない)。
(2) SD CKB占有モードから戻るためには、 ホストにて解除処理を行う。
SD C KB占有モード終了後は、 直ぐに通常モードになる。
(3) ライ トガンの場合、 1 I N Tの画面書替えの時間のうち、 垂直プランキ ング期間を除いた時間、 すなわち、 TV画面を描画している期間が S D CKB占有モードとなる。 画面を描画している期間が終り、 プランキン グ期間になったとき、 直ぐに通常モードに切替えて、 その他のポートの デバイスファンクションに対してデータの送信とデ一夕の受信を行う。 (4) ライ トガンの機能を実現するためには、 受光素子を持つ部分を 1デバイ スフアンクシヨンとし、 ト リガーや方向キー、 アナログキ一等の部分を 別の 1デバイスファンクションとする。 こうすると、 従来、 ライ トガン を使用するときには、 方向キーが使用できない、 という不具合を解消可 能となる。 また、 ライ トガンが単体のデバイスファンクションとなるの で、 他の拡張装置との接続も可能となる。 これにより、 新たな機能のゲ —ムアプリケ一ションの提供が可能となる。
次に、 コマンドの例について説明する。 コマンドには、 大別して、 コント口 —ルコマンドとエラーコマンドとがある。
コン トロールコマン ドには、 基本コマン ドとして、 デバイスリクエス ト (Device Request)^ ステイタスリクエス ト(Status Request), オールステイタス リクエスト(All Status Request)、 A Pアサイン(AP Assign)、 L Mパスコネクト (LM-Bus Connect), ファンクションスタート(Function Starり、 ホストデ一夕 トランスミヅト(Host Data Transmit)ヽ データリクエスト(Data Request)^ ォ —ルデ一夕リクエスト(All Data Request)、 モードチェンジ (Mode Change)、 デ バイススリ一プ (Device Sleep)、 デバイスリセッ ト(Device Reset). デバイスキ ル (Device Kill),デバイスステイタス(Device Status)、デバイスリプライ(Device Reply) ^ デバイスデータトランスミツ ト(Device Data Transmit)、 等がある。 こ の他に基本コマンドに属しない拡張コマンドがある。 拡張コマンドは、 デパイ スフアンクシヨン、 Mバスドライバによって異なる。
デバイスリクエスト(Device Request)は、 ホス 卜が、 A Pが割当てられていな ぃデバイスフアンクシヨンに対して、 デバイスステイタスを返すように要求す るコマンドである。
ステイタスリクエス ト(Status Request)は、 ホストが、 A Pで指定されるデバ イスファンクションに対し、 デバイスステイタス (デ一夕は固有デバイス情報 (Fixed Device Status)) を返すように要求するコマンドである。
オールステイタスリクエス ト(All Status Request)は、 ホストが、 A Pで指定 されるデバイスフアンクシヨンに対して、 全てのデバイスステイタス(固有デバ イス情報 (Fixed Device Status)と自由デバイス情報 (Free Device Status)の両 方)を要求するコマンドである。 デバイスファンクションからは、 デバイスデ一 夕 トランスミツ ト(Device Data Trandsmit)で、 固有デバイス情報デ一夕の後に 自由デバィス情報デ一夕を返す。
A Pアサイン (AP Assign)は、 ホストが、 デバイスファンクションに対して、 A Pを割当てるコマンドである。 A Pセヅ ト処理内でのみ発行可能である。 デ バイスファンクションは、 通常動作の間においては受理せずにコマンドリフユ —ザル(拒否、 Command Refusual)を返す。
L Mバスコネク ト(LM-Bus Connect)は、 ホス トが、 デバイスフアンクシヨン に対して、 L Mバスの 1本を Mバスに接続することを要求するコマンドである。 デバイスファンクションは、 L Mバスコネク トを受信する度に所持している L Mバスを 1本ずつ接続していく。 デバイスファンクションが通常動作の間は処 理せずに、 コマンドリフューザルを返す。
ファンクシ 3ンスタート(Function Starりは、 ホス卜が A Pで指定したデバイ スフアンクシヨンを通常動作させるコマンドである。 このコマンドを受け、 デ バイスの通常動作になったら、 デバイスリプライを返す。 初期化はされない。 デバイスフアンクシヨンが通常動作の間は、 受理せずにコマンドリフユ一ザル を返す。
ホストデ一夕 トランスミツ ト(Host Data Transmit)は、 ホス 卜からデバイス ファンクションにデ一夕を転送するコマンドである。 データの内容は各デバイ スフアンクシヨンによって異なる。 データの詳細は各デバイスファンクション の仕様によって定められる。 デ一夕サイズが 0の場合、 デバイスファンクショ ンは受信せずに、 コマンドリフユ一ザルを返す。 A Pセッ トの間は、 デバイス ファンクションは受理せずにコマンドリフユ一ザルを返す。
デ一夕リクエス ト(Data Request;)は、 ホス卜がデバイスファンクションに指 定したデータを送信するように要求するコマンドである。 デ一夕領域に複数の 要求デ一夕の番号を指定することが出来る。 デ一夕サイズが 0 0 hの場合は、 デバイスフアンクションはこのコマン ドを受理せずにコマンドリフューザルを 返す。 A Pセッ トの間は、 デバイスファンクションはこのコマンドを受理せず にコマン ドリフューザルを返す。
オールデ—夕リクエス ト(All Data Re quest;)は、 ホス 卜がデバイスファンクシ ヨンに全てのデ一夕を送信するように要求するコマンドである。 A Pセッ ト処 理の間は、 デバイスファンクションは、 受理せずにコマンドリフューザルを返 す。
モードチェンジ(Mode Change)は、 ホス トが、 ポートの Mバスのモードを切 替えるコマンドである。 S D C K B占有モードにするときは、 モードチェンジ 発行後、 デバイスリブラィを確認して特定ポ一トを S D C K B占有モードにす る。 デバイスフアンクションが S D C K B占有モ一ドでの動作に対応していな いときは、 デバイスファンクションはモードチェンジを受理せずにコマンドリ フユ一ザルを返す。 A Pセッ ト処理の間は、 デバイスファンクションはモード チェンジ処理をせずにコマンドリフューザルを返す。
デバイススリープ (Device Sleep)は、 ホス卜が指定デバイスを一時停止させる コマンドである。 デバイスファンクションは停止後に、 デバイスリプライを返 し、 以後、 ファンクションスタートのみを受付ける。 A Pセヅ ト処理の間は、 デバイスファンクションはデバイススリ一プを受理せずにコマンドリフユ一ザ ルを返す。
デバイスリセッ ト(Device Reset)は、 ホス トが、 特定デバィスフアンクシヨン にソフ トリセヅ トをかけ、 初期化させるコマンドである。 ソフ トリセッ トは、 I cのリセッ ト端子等のハードウェア機能を利用してリセッ ト (初期化) を行 うのではなく、 例えば、 プログラム (ソフ トウェア) 的に内部の R A Mやレジ ス夕を初期化するものである。 ソフ ト リセッ トはプログラムでリセヅ 卜の対象 を選択できるので、 初期化したくない箇所、 例えば、 I Cの端子状態設定等は、 保持可能である。 既に割振られている A Pの値は初期化されない。 初期化後、 デバイスリプライを返し、 通常動作になる。 A Pセッ ト処理の間は、 デバイス ファンクションはデバイスリセッ トを受理せずにコマンドリフユ一ザルを返す。 デバイスキル (Device Kill)、 は、 ホス トが、 デバイスファンクションに対して 動作を認めないコマンドである。 A Pセ ヅ ト処理フローの A Pアサインの前で のみ、 デバイスファンクションは受理できる。 デバイスファンクションは、 ス タンバイ消費電流で待機し、 コマンドを一切受付けない。 動作させるためには、 ハードリセッ トまたは電源を切る必要がある。 ハードリセッ トは、 I Cのリセ ッ ト端子等のハードウェア機能を利用してリセヅ ト (初期化) を行うものであ る。 また、 プログラムで同等の初期化処理を行う場合を含む。 I Cの初期化も 行わなければならない電源投入の際のパワーオンリセッ トと同等処理を行う。 ソフ トリセッ トと異なり、 初期化する箇所の選択はできない。 デバイスファン クシヨンが通常動作の間は、 受理せずにコマンドリフユ一ザルを返す。 通常動 作のときに、 デバイスファンクションを一時停止させるには、 デバイススリー プを使用する。
デバイスステイタス(Device Status)は、 デバイスファンクションが、 ホス ト に対して固有デバイス情報を返すコマン ドである。 固有デバイス情報について は後述する。
デバイスリプラィ(Device Reply)は、 デバイスフアンクシヨンが、 デバイスフ アンクシヨンの返信として広範囲で使用する。 データ内容の A Pは、 デバイス ファンクション自身の A Pを示し、 発行元を明確にする。
デバイスデ一夕 トランスミ ツ ト(Device Data Transmit)は、 デバイスフアン クシヨンが、 ホストからの要求に従って、 データを転送するコマンドである。 デ一夕の内容は各デバイスファンクションによって異なる。 データサイズが 0
O h ( hは 1 6進数表示を表す) の場合は、 ホス トは受理せず、 コマンドリフ ユーザルを返す。 場合によって、 再送信、 デバイスステイタス等のコマンドが 送信される。
次に、 エラーコマンドについて説明する。 エラ一コマンドには、 基本コマン ドとして、 コマンドリフユ一ザル ( Command Refusual)、 コマンドアンノウン ( Command Unknown )、 トランスミツ トァゲン (Transmit Again)、 L Mノ スェ ラ一 (LM-Bus Error)、 デパイスエラー (Device Error)等がある。 この他に、 デバ イスファンクション、 Mバス ドライバによって個性化された拡張コマンドがぁ る。 ここで、 個性化されたとは、 ドライバが標準で持っているコマン ドではな く、 特定のデバイスファンクション向けに用意されたコマンドをいう。
マンドリフューザル (Command Refusual) は、 ホストあるいはデバイスフ アンクシヨンが、 送られてきたコマンドに対して、 デ一夕の受渡しの拒否をす るコマンドである。 動作に適合しないコマンドが送られてきた場合にも、 この コマンドを返信する。 そして、 不正なアクセスを禁止する。
コマンドアンノウン (Command Unknown) は、 ホストから送られてきたコ マンドがデバイスフアンクシヨン側に用意されていないものであるときに、 デ バイスファンクションがホス卜に返すコマンドである。
トランスミヅ トァゲン(Transmit Again)は、 ホストあるいはデバイスファン クシヨンが、 送られてきたデ一夕に何らかのエラーがあるときに、 もう一度同 じデ一夕を送るように要求するコマンドである。
L Mバスエラー (LM-Bus Error)は、 デバイスファンクションが、 ホストに対 して、 L Mバスでエラーが発生したことを告げるコマンドである。 ホス 卜から、 L Mバスコネク トを受信したが、 接続する L Mバスがないとき等にホストに送 る デバイスエラー (Device Error)は、 デバイスファンクションが、 デバイスファ ンクションで何らかのエラーが発生し、 復帰中であることをホストに告げるコ マンドである。
上述したデバイス固有の情報 (デバイスステイタス) について説明する。 デ バイスステイタスは、 書き替えたり、 消去出来ないようにし、 そのままのデ一 夕を記録する。 例えば、 ある値を計算してステイタス値や文字にすることは禁 止される。
デバイスステイタスには、 固有デバイス情報 (Fixed Device Status)と自由デ バイス情報 (Free Device Status)とがある。
固有デバイス情報は、 絶対に記述しなければならない、 例えば、 全部で 1 0 8バイ トのフォーマツ 卜の決ったデバイススティタスである。 全ての項目を記 述しないと、 動作、 接続の保障がされない。
自由デバィス情報は、 個々のデバイスフアンクシヨンによって自由に使用し ても良いデバイスステイタスである。 容量は、 例えば、 1 4 8バイ ト以下でな ければならない。
固有デバィス情報には、 次のように項目が含まれる。
(1) デバイス I Dデバイスファンクションの I D、 属性を記述する。 各デバ イスファンクションは、 予め登録して I Dを取得することで、 ホストが 読取った I Dでどのような種類のデバイスファンクションが接続された のかを判別可能とする。 そこで、 Mバスを使用するものは、 Mバスのラ ィセンスを保有している者に対して、 事前に製品別に登録する。
(2) 最大デ一夕サイズデバイスファンクションから出力されるデ一夕の最大 サイズを記述する。
(3) L Mバス数デバイスファンクションが持つ L Mバスの数を記述する。
(4) 製品名製品名を英語またはローマ字で A S CII コードで記述する。 実際 の商品名と異なっていても良い。 製品名も事前登録の対象となる。 (5) 仕向地コード製品の販売地域を記述する。 例えば、 北アメリカ、 ョ一口 ッパ、 日本等である。 このコードを、 特定地域向けの周辺装置とゲーム アプリケーションとの適合性を判断する等が可能となる。
(6) ライセンス製品のライセンス表示を英語またはローマ字で A S C II コ一 ドで記述する。
(7) スタンバイ消費電流一時停止時の消費電流を 0 . 1 mA単位で記述する。
(8) 最大消費電流最大消費電流を 0 . 1 m A単位で記述する。
一方、 自由デバイス情報 (Free Device Status)は、 製品の企画者、 開発者、 設 計者、 プログラマ等が自由に記述できる領域の情報である。 ホストは、 オール デバイスリクエス ト(All Device Request)コマン ドでデバイスファンクションか らこの情報を取得することが出来る。 アプリケーションソフ ト等でこの領域を 利用する場合には、 データの配列等の対応を予めとつておく必要がある。 ホス 卜の M I Eを特にペリフェラルコントローラと称する。 図 2 1は、 ホストに設 けられるペリフェラルコントローラのブロック回路図の例を示している。
同図において、 クロックデバイダ (Clock Divider) 5 1は、 夫々の処理ブロッ クへ供給するクロックをシステムクロックから作り出し、 また、 供給するクロ ックの分周比を変えることで、 送信 (転送) レートの変更等を行う。
インストラクシヨンレジス夕(Instruction Register) 5 2は、 メインバスを介 してアプリケ一ション等からぺリフエラルイン夕フェースへのインス トラクシ ョンが書込まれる 3 2ビッ トのレジス夕である。 書込まれた内容をポートコン トロ一ラ 5 7、 フレームコン トローラ 5 8に渡す。
ライ トバッファ(Write Buffer) 5 3は、 転送するデ一夕を書込む 2 5 6バイ ト の R A Mである。
インタラプトコントローラ(Interrupt Controller) 5 4は、 送信、 受信、 各種 エラ一による割込みを制御するコントロ一ラである。
ステイタスレジス夕(Status Resister) 5 5は、本コントローラの状態を示す 3 2ビッ 卜のレジス夕である。
リードノ ソ ファ (Read Buffer) 5 6は、 受信したデ一夕を保持するための 25 6バイ 卜の RAMである。
ポートコントローラ(Port Controller) 57は、送受信の対象となるポートを制 御するコントロ一ラである。 コマンドによって選択された送信ポ一卜の 3ステ ートバッファ 68を制御して、 第 1及び第 2のセレクタ 64及び 65の各出力 SD CKA及び SD CKBを選択ポートに導出する。 また、 第 3及び第 4のセ レク夕 6 6及び 67を制御して受信ポートの選択を行う。
フレームコントローラ(Frame Controller) 5 8は、 出力パターン、 デ一夕長等 のフレーム構成を制御するコントローラである。
フレームェンコ一ダ (Frame Encoder) 5 9は、フレームコントローラ 58によ つて制御され、 情報パターンの生成、 出力を行う。
オル夕ネィ トシフ トレジス夕(Alternate Shift Register) 60は、 フレームコ ントローラによって制御され、 ライ トノ ッファ(Write Buffer)上のパラレルデー 夕をシリアルデ一夕に変換 (P/S) し、 SD CKA、 SD CKBにデータ、 クロックを交互に出力するレジスタである。 また、 オルタネイ トシフ トレジス 夕内には、 CRC演算部が設けられ、 フレームコントローラの指令に従って、 データに CRC処理を行う。
第 1のセレクタ 64は、 フレームコントローラ 58によって制御されて、 フ レームエンコーダ 5 9の出力またはオルタネィ トシフ トレジス夕 60の出力を 選択して SDCKAを出力する。
第 2のセレクタ 65は、 フレームコントローラ 58によって制御されて、 ォ ル夕ネィ トシフ トレジス夕 6 0の出力またはフレームエンコーダ 59の出力を 選択して SDCKBを出力する。
第 3のセレクタ 66は、 ポートコン トローラ 5 7の指令に従って、 受信ポ一 トを選択し、 バッファアンプ 6 9を介して受信した SD CKAをフレームデコ —ダ 6 1及びオル夕ネィ トシフ トレジス夕 62に供給する。
第 4のセレクタ 67は、 ポートコントローラ 5 7の指令に従って、 受信ポ一 トを選択し、 バッファアンプ 69を介して受信した SD CKBをフレームデコ —ダ 6 1及びオル夕ネィ トシフ トレジス夕 62に供給する。
フレームデコーダ (Frame Decoder) 6 1は、 受信フレームの構成を解析し、 ス ティタスレジス夕 55への反映、 オルタネィ トレジス夕 62の制御を行う。 オル夕ネィ トシフ トレジス夕(Alternate Shift Register) 62は、 フレームデ コーダ 6 1によって制御され、 受信シリアルデ一夕をパラレルデ一夕に変換す る (S/P) レジス夕である。 また、 オルタネイ トシフ トレジス夕 62は、 受 信信号のエラ一検査 (Error Check)を行う C R C演算回路を備えている。
H V (水平/垂直) ラッチ信号コントローラ(HV Latch Signal Controller) は、 フレームコントローラ 5 8によって活性化される。 例えば、 フレームコン トロ一ラ 58が、 S D CKB占有許可パターンを送出した後、 フレームデコ一 ダを不活性化し、 HVラッチ信号コントローラを活性化する。 HVラッチ信号 コントローラは、 SD CKB占有許可パターンを送出した後に SD CKBを受 信すると、 図示しない HVカウン夕にラッチ信号を与える。 HVカウン夕は、 画面上の位置に対応した値を出力する、 水平位置カウン夕と垂直位置カウン夕 である。 例えば、 シュ一ティングゲームにおいて、 テレビ画面に向けた銃がト リガされると、 SD CKBが銃から出力される。 この SD CKBが銃の画面上 の照準 (射撃) 位置を HVカウン夕で判別するために使用される。
図 22は、 フレームエンコーダ 59の動作原理を説明する回路図である。 同 図において、 5 9 1はフリップフロップ、 5 92はカウン夕、 593はコンパ レー夕、 594は論理ゲートである。
フレームエンコーダ 5 9にライ トパルスが供給されると、 本回路がァクティ ブ状態となる。 ライ トパルスが供給されると、 その立上がりエッジでフリップ フロヅプ 5 9 1の Q出力の SD CKAが 「L ι レベルに設定される。 SD CK Aはカウン夕 59 2のィネーブル入力となっており、 カウン夕 592は供給さ れるクロック C L Kの計数を開始する。 カウン夕 5 92は、 カウント値 CNT OUTを 「0」、 「 1」、 「2」、 … 「7」、 「8」 と歩進する。 このカウン ト値は、 コンパレータ 5 9 3の比較入力 Aに供給される。 コンパレ一夕 593の比較基 準入力 Bには、 出力パターン設定値 nが供給される。 例えば、 「スタートパター ン」 を発生させる場合には、 コマンドをデコードしたフレームエンコーダ 59 によって、 設定値 nとして 「9」 が与えられる。 コンパレ一夕 593は、 両入 力が一致すると、 出力端子 EQから出力 CMP OUTを出力し、 フリップフロ ヅプ 59 1のプリセッ ト端子/ PRに供給する。 これにより、 フリップフロヅ プ 59 1の Q出力の SD CKAは、 「H」 レベルに設定される。 SD CKAと、 クロック信号 CLKを ( 1/2) 分周した CL KB信号とを、 オアゲート 59 4で合成して S D CKBを得る。
このように、 スタートパターン、 リセッ トパターン、 エンドパターン等に対 応した出力パターン設定値を与えて、 ライ トパルスを供給すると、 SDCKA が 「L」 レベルに設定され、 SD CKBが所定回数の立ち下がりエッジを有す るパターン信号を得ることが出来る。
図 24は、 オル夕ネィ トシフ トレジス夕 60の動作原理を説明する回路図で ある。 同図において、 60 1はパラレルデータをシリアルデ一夕に変換するシ フトレジス夕、 602は 2入力のセレクタ、 603はパラレルデータをシリア ルデ一夕に変換するシフトレジス夕、 604は 2入力のセレクタである。
図 25は、 オルタネイ トシフ トレジス夕 60の動作を説明するタイミングチ ヤートである。
送信する複数の偶数ビヅ ト D6、 D4、 D2、 DOをそれそれシフ トレジスタ 6 0 1の複数の D入力端に与え、 図示のタイミングのシフ トクロヅク SH I FT CLKAにより、 デ一夕をシフ トさせ、 出力端 Qよりシリアルデ一夕としてセ レク夕 602の A入力端に供給する。 セレクタ 6 02の B入力端には、 図示の クロック C L K Aが入力されている。 セレクタ 6 02は、 シフ トクロック SH I FT CLKAの 「H」 レベル対応して出力端 Qのシリアルデ一夕を、 「L」 レ ペルに対応してクロヅク C L CK Aを選択する。 この結果、 セレクタ 602の 出力端 Yには、 クロック C LKAにデ一夕 D6、 D4、 D2、 DOを一定の間隔で 重畳した SD CKAを得る。
同様に、 送信する複数の奇数ビッ ト D7、 D5、 D3、 D1をそれそれシフトレ ジス夕 603の複数の D入力端に与え、 図示のタイミングのシフ トクロック S H I FT CLKBにより、 データをシフ卜させ、 出力端 Qよりシリアルデータ としてセレクタ 604の A入力端に供給する。 セレクタ 604の B入力端には、 図示のクロヅク C L KBが入力されている。 セレクタ 604は、 シフ トクロヅ ク SH I FT CLKBの 「H」 レベル対応して出力端 Qのシリアルデータを、 「L」 レベルに対応してクロヅク CL CKBを選択する。 この結果、 セレクタ 604の出力端 Yには、 クロヅク C L K Aにデータ D7、 D5、 D3、 D1を一定 の間隔で重畳した SD CKBを得る。 なお、 信号 SD CKA及び SD CKBに 示される 「D0」〜「D7」の部分はデータの値によって 「H」 レベルまたは「L」 レベルとなる。
図 26は、 フレームデコーダ 6 1の構成例を示す回路図である。 同図におい て、 6 1 1はカウンタ、 6 1 2は複数のフ リ ップフロップによって構成される 複合フリップフロップ、 6 1 3はカウンタ、 6 14は複数のフリップフロップ によって構成される複合フリップフ口ヅプである。
図 27は、 フレームデコーダ 6 1の動作を説明するタイミングチャートであ る o
ス夕一トパターンの検出には、 回路図中のカウン夕 6 1 1と、 フリップフロ ップ 6 1 2が動作する。 SD CKAが 「H」 レベルではカウン夕の動作はディ スイネ一ブルされる。 SD CKAが 「L」 レベルになると、 カウン夕の動作は イネ一ブルとなり、 SD CKBの立ち下がりエッジをカウントする。 SD CK Aが 「L」 レベルの期間中の S D C K Bの立ち下がり回数を計数すると、 計数 出力がフリヅプフ口ップに与えられる。 SD CK Aの立上がりエッジでカウン 夕出力がフリ ップフロップ 6 1 2に取込まれる。 図 27に示すように、 SD C KAが 「L」 レベルの期間中に SD CKBの立ち下がり回数が 4回のとき (ス 夕一トパ夕一ン、 図 13参照)、 フリ ップフロップ 6 12はスタートパ夕一ン検 出を出力する。
ェンドパターンを検出するために、 カウン夕 6 13、 フリップフロップ 6 1 4によって、 SD CKBが 「L」 レベルの期間中の S D C K Aの立ち下がり回 数が計数される。 SDCKBの立上がりエッジにより、 カウン夕 6 1 3の計数 出力をフリップフロップ 6 14に取込む。 図 27に示すように、 S D CKBが 「L」 レベル期間中に S D C K Aの 2回の立ち下がりを計数すると、 フリップ フロヅプ 6 12はェンドパターン検出を出力する。 SD CKBの 「L」 レベル 期間中の S D C K Aの立ち下がり回数が未定義の計数回数である場合には、 フ リップフロヅプ 6 14はフレームエラー検出を出力する。 通常の動作モードで は、 上記 S D CKBの 4回の立ち下がりを含むスタートパターンの後に、 デー 夕パターン、上記 S D S K Aの 2回立ち下がりを含むェンドパターンが続く (図 1 1参照)。
なお、 図 27には、 示していないが、 受信開始後、 30。1(八が 「1^」 レぺ ルの期間中にカウン夕 6 1 1が S D C KBの 6回の立ち下がりを検出すると、 フリ ップフロップ 6 12は CR C付きスタートパターン (図 14参照) の検出 を出力する。 CR C付きパターンの動作モードでは、 SD CKBの 6回の立ち 下がりを含む CR Cスタートパターンの後に、 デ一夕パターン、 CRCデ一夕、 エンドパターンが続く (図 1 2参照)。
また、 カウン夕 6 1 1が、 S D CK Aが 「L」 レベルの期間中に SD CKB の 8回の立ち下がりを検出すると、 フ リ ップフロップ 6 1 2は S CK B占有許 可パターン (図 1 5参照) の検出を出力する。 この場合には、 SD CKB占有 モードに移行する。 SD CKB占有モードは、 解除パターン (SD CKAの立 ち上がり) によって解除される。
また、 カウン夕 6 1 1が SD CKAが 「L」 レベルの期間中に SD CKBの 14回の立ち下がりを検出すると、 フ リ ップフロップ 6 1 2はリセッ トパ夕一 ン (図 1 6参照) の検出を出力する。 これにより、 リセッ ト動作が行われる。
D CKAの 「L」 レベル期間中の SD CKBの立ち下がり回数が未定義回数 のとき、 フリップフロップ 6 12はフレームエラーの検出を出力する。 フリッ プフロヅプ 6 12及び 6 14によるパターン検出出力は、 ステイタスレジス夕 55に保持される。
図 28は、 オル夕ネィ トシフ トレジス夕 62の構成例を示している。 同図に おいて、 シフ トレジスタ 62 1のデ一夕入力端 Dには、 シリアルデ一夕 SD C KBが供給され、 シフ トクロヅク入力には、 SD CKAが供給される。 シフ ト レジス夕 62 1は、 図 29に示すように、 S D CKAの立ち下がりエッジで S D C KBのデ一夕部分を逐次取込む。 シフトレジス夕 62 1のパラレル出力端 子 D7、 D5、 D3、 D1には、 S D C K Aの 4回のクロックエッジによって直並 列変換デ一夕が揃う。
同様に、 図 28に示すシフ トレジス夕 622のデータ入力端 Dには、 図 2 9 に示すシリアルデータ S D C K Aが供給され、 シフ トクロヅク入力には、 SD CKBが供給される。 シフ トレジス夕 622は SD CKBの立ち下がりエッジ で S D C K Aのデ一夕部分を逐次取込む。 シフ トレジス夕 622のパラレル出 力端子 D6、 D4、 D2、 DOには、 S D C K Bの 4回のクロックエッジによって 直並列変換デ一夕が揃う。
図 30は、 ゲームコントローラ、 入力操作用コントローラ、 あるいは操作入 力装置等と呼ばれるゲーム装置に接続される周辺装置の概略全体プロ、ソク図で ある。 ゲームコントローラとして説明する。 ゲームコントローラに 2つの拡張 ソケヅ 卜が設けられて更に周辺装置(L一デバイスファンクション)を追加(結 合) することが可能である。 ゲームコントローラには、 1チップマイクロコン トロ一ラ(one-chip micro-controller)が内蔵されている。 また、 ゲームコント口 —ラには、 デジタル出力を発生する 1 1個のスィッチ、 4軸の出力を発生する アナログキーが設けられている。 これ等のスィツチの出力はマイクロコント口 —ラ(micro-controller)によって処理され、 M I E部、 Mパスを介してホストに 出力される。
図 3 1は、 周辺装置の機能をデバイスファンクションとしてとらえ、 デバイ スフアンクシヨン側の M I Eの構成を概略的に説明するブロヅク図である。 同図においては、 図示しないホストに Mバスを介してゲームコントローラが 接続されている。 ゲームコントローラ内には、 Mバスを介してホストに接続さ れる U—デバイスフアンクシヨンと、 L Mバスを介して U—デバイスファンク シヨンに接続される 2つの L—デバイスフアンクションとが設けられている。 図 3 2は、 図 3 1におけるバスの切替部 (セレクタ) を説明するブロック回 路図である。 U—デバイスファンクションから分岐する Mバスは 2つあり、 そ れそれ L Mバス 1、 L Mバス 2と称する。 L Mバスと Mバスの接続、 切断の切 替は、 U—デバイスファンクション用の M I Eのセレクタが行う。
図 3 3は、 U—デバイスフアンクションのハ一ドウェア部分の概略ブロヅク 図を示している。 いわゆる 1チップマイクロコン トローラ(one-chip microcontroller)によって、 通信処理部、 ソケヅ トコン トロール部、 C P U部、 I / O 部が構成される。 通信処理ブロックは、 ホス トとのイン夕フェースを行う。 C P U部は、 ゲームコントロ一ラ等の周辺装置内における信号処理を制御する。 I / O部は、 デジタルボタン、 アナログキ一等の外部入力インタフェースであ る。 ソケッ トコントロール部は、 拡張ソケッ トのコントロールを行う。 この例 では、 2つの L—デバイスフアンクション用のハードウェアの拡張ソケッ ト( 2 スロッ ト) が用意されている。 なお、 図中の破線でかまれる U— D E V I C E 部分は、 1チップマイクロコントロ一ラとして構成可能な部分を示している。 次図の L— DE V I CE部分も同様である。
図 34は、 L一デバイスファンクションの概略ブロック図である。 1チップ マイコンによって、 通信処理部、 CPU部、 サポート機能部が構成される。 通 信処理部は、 U—デバイスファンクションとのイン夕フェースを行う (L—デ バイスファンクション用 M I E)。 CPU部は、 L一デバイスファンクションと しての処理を担う部分である。 サポート機能ブロックは、 L—デバイスファン クシヨンの機能を実現するものである。 例えば、 光線銃のトリガ機能、 メモリ 機能、 振動機能等を果す回路である。
次に、 デバイスフアンクション側の M I Eの動作について図 33及び図 34 を参照して説明する。 AP未割当ての初期においては、 図 33に示すソケッ ト コントローラにより 3ステ一トバッファが制御されて、 拡張ソケッ ト 1、 拡張 ソケッ ト 2へ伝送される S D CKA OUT及び SD CKB OUTはディスィ ネーブル状態となっている。 ここで、 ソケッ トコントローラは、 LMバス 1コ ントローラと LMバス 2コントローラの機能を担っている。
SDCKA OUTがデイスイネ一ブル状態で、 拡張ソケヅ 卜に L—デバイス ファンクションが接続されていないとき、 SD CKA OUTは、 3ステートバ ヅファの出力端に接続されたプルダウン抵抗によって、 「L」 レベルとなる。 ソ ケヅ 卜コントロ一ラはこの出力端の 「L」 レベルを検出することによって、 L 一デバイスファンクションの U—デバイスファンクションへの未接続を判別で き 。
一方、 図 34に示す L—デバイスファンクションのハ一ドウエアの SD CK AO UTの入力端にはブルアップ抵抗を介して電源が接続されている。 このた め、 L一デバイスファンクションのハードウエアが拡張ソケヅ 卜に接続されと、 図 33に示す相対的に高抵抗のプルダウン抵抗と低抵抗の上記プルアツプ抵抗 によって SD CKA OUT端子 (3ステートバッファは遮断状態) は 「H」 レ ベルに引上げられる。 ソケッ トコントローラはこの出力端の 「H」 レベルを検 出することによって、 Lーデバイスフアンクションを含むハ一ドウエアの U— デバイスフアンクシヨンを含むハ一ドウェアへの接続を判別できる。
ホストからの APアサインコマンドによって、 U—デバイスファンクション に APが割当てられ、 LMバスコネク トコマンドを受けると、 拡張ソケッ ト 1 の SD CKA OUT及び SD CKB 0 U Tをイネ一ブル状態とする。 これに より、 ホストからのコマンドは、 U—デバイスファンクション及び拡張ソケッ ト 1に繋がる L—デバイスファンクションに伝送される。
ホス卜が拡張ソケヅ ト 1の L—デバイスファンクションに APを割当て、 U 一デバイスファンクションに LMバスコネク トコマンドを送信した場合、 U— デバイスファンクションは拡張ソケッ ト 2の S D CK A OUT, SD CKB OUTをィネーブル状態とする。 拡張ソケッ ト 2の L一デバイスファンクショ ンに APの割当て終了後、 ホストからのコマンドは、 U—デバイスファンクシ ヨン、 L—デバイスファンクション全てに等しく伝送される。 U—デバイスフ アンクシヨン、 L—デバイスフアンクシヨンはコマンドに含まれる A Pの値を 参照し、 自己が選択されているかを判別して、 適切に応答する。
図 35乃至図 39は、 M I Eの送信における制御動作を説明するフローチヤ —トである。
ホス卜のアプリケーションから AP Iを介して、 バスドライバソフ トウエア に一連の処理命令が与えられる。 バス ドライバはこの処理命令を M I Eを制御 するインストラクションに翻訳して、 M I Eのインストラクションレジス夕 5 2に設定する。
フレームコントローラ 58は、 インス トラクションレジス夕に設定されたコ —ド (インストラクション) が、 標準の伝送フォーマ ヅ トのパターンの信号の 出力を命ずるものであるか ( S 12 )、 CR Cオプション付きフォーマ ヅ 卜の信 号の出力を命ずものであるか (S 1 4)、 SD CKB占有許可パターンの出力か ( S 1 6 )、 リセッ トパターンの出力か ( S 18 )、 を判別する。 標準の伝送フォーマツ トパターンの出力である場合 (S 1 2, Y e s ) は、 フレームコントローラ 5 8は、 図 3 6に示すシーケンスに従って、 セレクタ 6 4及び 6 5にフレームエンコーダ 5 9の出力を選択させ、 フレームエンコーダ
5 9からスタートパターンを出力させる (S 2 1 )。 次いで、 セレクタ 6 4及び
6 5にオル夕ネィ トシフ トレジス夕 6 0の出力を選択させ、 ライ トバッファ 5 3から送信デ一夕をオル夕ネィ トシフ トレジスタ 6 0に読込ませ (S 2 2)、 ォ ルタネイ トシフ トレジスタ 6 0からデ一夕パターンを出力させる ( S 2 3 )。 フレームコントローラ 5 8は、 送信したデ一夕が、 例えば、 2 5 6バイ トに なつたかを確認する (S 2 4)。 まだ、 2 5 6バイ トに満たない場合には ( S 2 4 , N o ), ライ トバッファからの読出 (S 2 2 ) と、 デ一夕出力 (S 2 3 ) を 繰返す。
2 5 6バイ トを送出した場合には (S 2 4, Y e s ), セレクタ 6 4及び 6 5 にフレームエンコーダ 5 9の出力を選択させ、 フレームエンコーダ 5 9にェン ドパ夕一ンを送出させる。
このようにして、 標準パターンでデータが送信される。
インストラクションレジス夕 5 2に設定されたコ一ドが、 C R Cォプション 付きフォーマツ 卜の信号の出力を命ずるものである場合 ( S 1 4 , Y e s ), フ レームコントローラ 5 8は、 図 3 7に示すシーケンスに従って、 セレクタ 6 4 及び 6 5にフレームエンコーダ 5 9の出力を選択させ、 フレームエンコーダ 5 9から CR C付きス夕一卜パターンを出力させる ( S 3 1 )。 次いで、 セレクタ 6 4及び 6 5にオル夕ネィ トシフ トレジス夕 6 ◦の出力を選択させ、 ライ トノヽ' ッファ 5 3から送信データをオル夕ネィ トシフ トレジス夕 6 0に読込ませる ( S 3 2 )。 また、 フレームコントローラ 5 8はオル夕ネィ トシフ トレジス夕内 の CR C演算部に、 読込みデ一夕に対して CR C計算を行わせる (S 3 3)。 ォ ル夕ネィ トシフ トレジスタ 6 0からデ一夕パターンを出力させる ( S 3 4 )。 フレームコントローラ 5 8は、 転送したデ一夕が、 例えば、 2 5 6バイ トに なつたかを確認する (S 35)。 まだ、 25 6バイ トに満たない場合には (S 3 5 , No)、 ライ トバッファからの読出 (S 32 )、 CR C計算 (S 33 )、 デー 夕出力 (S 34) を繰返す。
256バイ 卜を送出した場合には (S 35 , Ye s), フレームコントローラ 58は、 オル夕ネィ トシフ トレジス夕 6 0に、 データに続いて CR Cデ一夕を 送出させる (S 36)。 セレクタ 64及び 6 5にフレームエンコーダ 59の出力 を選択させ、 フレームエンコーダ 59にェンドパターンを送出させる ( S 37 )。 このようにして、 CR C付きパターンでデ一夕が送信される。
フレームコントローラ 58が、 SD CKB占有許可パターンの出力指令を判 別する (S 1 6 , Y e s) と、 図 38に示すシーケンスに従って、 セレクタ 6 4及び 6 5にフレームエンコーダ 5 9の出力を選択させ、 フレームエンコーダ 59に SD CKB占有許可パターンを出力させる (S 4 1 )。 ポートコント口一 ラ 57を介してバッファ 68を制御し、 SD CKBの送出を禁止する ( S 42 )。 次に、 フレームエンコーダ 5 9に SD CKAを 「L」 レベルに設定した S D C KB占有許可パターンを出力させる (S 43)。
その後、 HVラッチコントローラ 6 3をイネ一ブルにする。 HVラッチコン トロ一ラ 63は SD CKBのラインを監視する (S 44)。
デバイス側から返信があると (S 44, Ye s), HVラッチコントローラ 6 3は HVカウン夕のラッチ出力を発生する (S 45 )。 ラッチ出力の発生後 (S 45)、 あるいはデバイス側からの返信がない場合 (S 44, No)、 S D C K B占有モードを設定するコマンドがまだレジス夕 52に存在するかを判別する (S 46)。 存在する場合 (S 46, No) には、 ステップ S 44 ~S 46を繰 返し、 デバイス側からの返信に対応して逐次ラツチ出力を発生する。
SD CKB占有モードを設定するコマン ド解除されると (S 46, Ye s), SD CKAを 「H」 レベルに戻し、 S D CKA、 S D C K Bを送信に使用可能 な状態に戻す (S 47)。 このようにして、 S D CKB占有モードが行われる。
フレームコントローラ 58は、 コマンドレジス夕に設定されたコードが、 リ セッ トパターンの出力であることをを判別する (S 18) と、 図 39のシーケ ンスに示されるように、 フレームエンコーダ 5 9にリセッ トパターンの出力を 行わせる ( S 5 1 )。
このようにして、 各種フォーマッ トの信号が送出される。
次に、 M I Eの受信における動作について説明する。
図 40のシーケンスに示すように、 フレームデコーダ 6 1は、 受信した SD CKA及び SD CKBをデコードし、 受信信号がスタートパターンか (S 62)、 CR C付きスター卜パターンか (S 64)、 あるいはいずれにも属しないフレー ムエラ一か ( S 66 ) を判別する。
ス夕一トパターンを検出した場合 ( S 62 , Ye s), 図 4 1のシーケンスに 示すように、 未定義のスタートパターンであるかを判別する (S 7 1 )。 未定義 のパターンである場合には ( S 7 1 , Y e s )、 ステイタスレジス夕にフレーム エラ一検出フラグを設定し、 ドライバソフ ト等によって所定のフレームエラー 検出処理を行う (S 72)。
予め定義されているス夕一トパ夕一ンである場合には ( S 7 1 , N 0 )、 ステ ィ夕スレジス夕にスタートパターンの検出フラグを設定する。 これにより、 ォ ル夕ネィ トシフ トレジスタ 62が活性化され、 受信した SD CKA及び SD C KBからデータを逐次抽出し、 抽出したシリアルデ一夕をパラレルデ一夕に復 調する (S 73)。 復調データをリードバッファ 5 6に書込む (S 74)。 この デ一夕の復調 ·転送を、 フレームデコーダ 6 1がェンドパターンを検出するま で繰返す (S 7 1〜S 75 )。 ェンドパターンを検出した場合(S 75 , Ye s), ステイタスレジス夕 55にェンドパターン検出フラグを設定し、 受信を終了す る
一方、 C R C付きスタートパターンを検出した場合、 図 42に示すように、 未定義のスタートパ夕一ンであるかを判別する ( S 8 1 )。 未定義のパターンで ある場合には ( S 8 1 , Ye s). ステイタスレジス夕にフレームエラ一検出フ ラグを設定し、 ドライバソフ ト等によって所定のフレームエラ一検出処理を行 う (S 82)。
予め定義されているスタートパターンである場合には (S 8 1, No)、 ステ ィ夕スレジス夕に CRC付きスタートパターンの検出フラグを設定する。 これ により、 オルタネイ トシフ トレジス夕 6 2が活性化され、 受信した SD CKA 及び SD C KBからデ一夕を逐次抽出し、 抽出したシリアルデータをパラレル デ一夕に復調する(S 83)。そして、復調データに対して CRC演算を行う(S 84)。 復調データをリ一ドバヅファ 5 6に書込む ( S 85 )。 このデータの復 調 '転送を、 フレームデコーダ 6 1がェンドパターンを検出するまで繰返す( S 8 1〜S 86)。 ェンドパターンを検出した場合 ( S 86, Y e s), 受信デ一 夕の CR C計算とデータ部の後に付加された CR Cデ一夕とを参照して、 CR Cエラーの有無を判別する (S 87)。
CRCエラ一を検出したとき (S 87, Ye s) は、 ステイタスレジスタ 5 5に CR Cエラ一検出フラグを設定し、 デ一夕の再送信要求 (トランスミツ ト ァゲイン) 等の CR Cエラ一検出処理を可能とする。 CR Cエラーを検出しな いときは、 CR C付きパターンによるデータ受信を終了する (S 87, N o)o 図 43は、 ゲームプログラム等のアプリケーション (ソフ トウェア) に組み 込まれたプログラムによる周辺装置 (デバイスファンクション) の固有情報の 入手及びその利用を説明するフローチャートである。
CD— R OM等の情報記録媒体から供給されたアプリケ一シヨンのプログラ ムはメモリに記憶されて C P Uによって実行される。 アプリケーションのプロ グラムは、 デバイスファンクションに対してデバイスリクエストコマンドを送 信させ ( S 102 )、 デバイスフアンクシヨンからの返信を待つ。 所定時間を経 過してもデバイスファンクションから固有情報を受信しない場合には、 バスに デバイスファンクションが接続されていないと判断し (S 1 0 4, N o )、 未接 続処理を行う ( S 1 0 6 )。
デバイスファンクションから固有情報を受信した場合には ( S 1 0 4 , Y e s )、 許諾 (ライセンス) 表記情報 (S 1 0 8 )、 仕向地情報 (S 1 1 0 )、 デバ イス I Dを C D— R O M等の情報記録媒体から供給されたゲームプログラム等 のアプリケーションに含まれている情報と照合する (S 1 1 2 )。 各照合が一致 すれば (S 1 1 2, Y e s ), そのデバイスファンクションに A Pを割当てる処 理を行う (S 1 1 4 )。
一方、 照合に一致しないものがある場合には、 接続デバイスファンクション (あるいは接続周辺装置) がアプリケ一ションに非対応であることをユーザに 知らせる処理を行う (S 1 1 6 )。 その後、 当該デバイスファンクションをホス トに接続しない処理 ( S 1 0 6 ) を行って終了する。
このような機能は、周辺装置の P L (Product Liability)対策として有用である c 例えば、 シユーティングゲームでは模擬銃を使用するが、 精巧に銃を模したも のは本物の銃と間違われる恐れがある。 例えば、 ある国においては、 そのよう な使用が問題にならない場合であっても、 他の国においては問題となることも 考えられる。 そのような場合には、 明らかに模擬銃と判るような外観の銃のみ が当該国で使用される必要がある。
そこで、 上述したデバイスの固有情報を利用することにより、 ある国やある 地域での慣習、 事情等を考慮すべきアプリケーションでは、 そのアプリケーシ ョンで使用できる周辺装置の種類や型式を限定することが可能となって好まし いものである。
このように、 本発明に係るゲーム装置とこの周辺装置との接続規格によれば、 少ない本数のバスラインでゲーム装置と複数の周辺装置とを接続可能である。 また、 ユーザーがゲーム用周辺装置をケ一ブル (cable wire)あるいはコードを 介してゲーム装置に接続すると、 ゲーム装置が自動的に接続機器を認識し、 接 続された周辺装置をアプリケーションに適応するように初期化して立ち上げる ので、 ユーザ一に特別の手順や設定を経させることがなくなり得、 ゲーム装置 の周辺装置の接続規格として好適である。
また、 上記した実施例においては、 各周辺装置はバスに接続された他の装置 へのアクセス権を有せず、 ゲーム装置からのアクセスに対応して周辺装置が応 答する形式でデータ通信を行うので、 ゲーム装置と複数の周辺装置相互間のァ クセスタイミングの調整等が不要となる。 また、 周辺装置相互間のアクセスを 禁止しているので、 周辺装置相互間のアクセスタイミングの調整が不要となり、 I / Oのハードウエア、 ソフトウエアの構成が比較的に簡単で済む。
また、 複数かつ複数種類の周辺装置を容易に接続できる。 例えば、 ゲーム装 置のコントローラ、 ジョイスティ ック、 キ一ボード、 C D— R O Mドライブ、 D V D ドライブ、 音声入力/出力装置、 メモリパック、 F D D装置、 モデム、 I S D N端末装置等を接続することが可能である。
また、 ゲーム装置と周辺装置との間でコマン ド形式でデ一夕通信が行われる ので、 ゲームアプリケーションがゲームの進行に応じて、 その時その場面で必 要なデ一夕をゲームコントローラ (周辺装置) 等から取得できる。
また、 少ないデータ量と、 間欠的なデータ転送を行うため、 接続ケーブルか ら輻射されるノィズが少ない。
バスドライバによってデ一夕通信が制御されるために、 ドライバの更新によ つてコマンドの追加、 新たな周辺装置の開発が容易である。
また、 ゲーム装置と周辺装置相互間でデータ通信を行うことが出来るように なされているので、 一対のケーブルで音声出力、 音声入力、 静止画、 動画等の マルチメディアのデータ転送が可能である。
また、 周辺装置の固有情報をゲーム装置器本体やアプリケ一シヨンが利用す ることが出来るので、 複数接続されている周辺装置のうち、 アプリケーション と組合わせて使用する周辺装置と、 当該アプリケーションでは使用しない周辺 装置とを区別でき、 使用しない周辺装置の動作を停止させることが可能となつ て好ましい。
(第 2の実施の形態) 概要以下に、 Mバスの第 2のペリフエラルイン夕フエ —ス規格について説明する。 本願の規格は、 Mバスの処理全体の中で、 ホスト 用 M I Eと Mバスドライバとのィン夕一フェイス仕様、 ファンクションと M l Eコントローラとのイン夕一フェイス仕様、 通信プロ トコル仕様、 データフォ 一マッ トを定める。 まず、 上述した第 1のイン夕フェース規格の説明と同様の 手順に従って、 第 2のィン夕フヱースの物理トポロジーと論理トポロジーから 説明する。
( 1 ) 物理接続トポロジー
図 4 4は、 第 2の実施の形態の物理接続トポロジーを概略的に示している。 物理的な接続形態は、 ホス ト—基本デバイス (周辺装置) 一拡張デバイス (周 辺装置) の形態をとる。 基本デバイスはホストに直接接続されるハードウェア (周辺装置) である。 拡張デバイスは基本デバイスを介してホストに接続され るハードウェア (周辺装置) である。 1システムでは、 ホスト (例えば、 ゲーム 装置) は 1台である。 ホス トは、 周辺装置を接続するポートを、 最大 4つ持つ ことが出来る。 1 つのポートに 1 つの基本デバイスが接続される。 基本デバィ スには外部接続の拡張デバイスが、 最大 4個まで接続できる。 ホスト—基本デ バイス間は規定のケーブルで接続する。 ただし、 以下の様な接続は予定してい ない。 a)ホス卜への拡張デバイスの直接接続、 b) 基本デバイスへの基本デパイ スの接続、 c)拡張デバイスへの基本デバイスの接続、 d)拡張デバイスへの拡張デ バイスの接続。 なお、 これ等の記述は、 本発明を実施例に限定する意図のもの ではない。
( 2 ) 論理接続トポロジー
図 4 5は、 第 2の実施の形態の論理接続トポロジーを説明する説明図である。 同図に示されるように、 各ファンクション (基本デバイス, 拡張デバイスのハ —ドウエア上に構成される) とホス トとの論理接続は、 ホス トを中心とした、 いわゆるス夕一型接続である。 信号の送受信の管理はホス トが行う。 レイヤ構 成と、 コミュニケーションフロー図 4 6は、 ホス トと、 周辺装置とのレイヤ構 成を説明する説明図である。 同図に示されるように、 ホス ト及び周辺装置は相 互間のデータ通信のために階層化された構造を持つ。
同図において、 ファンクション ' レイヤは、 周辺装置の各ファンクションを 活用し、 デ一夕フォーマッ トに従って、 データの送受信を行う。 周辺装置は最 大 3つまでのファンクションを持つことが出来る。 I / O · コントロール · レ ィャは、 フレーム単位でのデ一夕送受信と、 後述の M I E ( Mバス I / F ェ ンジン) を制御する。 バス · イン夕一フェイス · レイヤは、 ホストと基本デバ イス (または拡張デバイス) の物理的な接続, 信号の送受信を行う。 ホスト内 のアプリケ一ションと周辺装置の物理フアンクシヨンとの間のデ一夕取得 (デ 一夕通信) や制御は、 ファンクションライブラリ、 バス ' ドライバ、 ホスト用 M I E、 接続線、 基本 (あるいは拡張) デバイス用 M I E、 M I Eコント口一 ラ、 ファンクションを介して行われる。
ペリフエラルタイプ周辺装置 (ペリフエラル) は次のように分類、 区別され る。 まず、 周辺装置は、 基本デバイスと拡張デバイスの二つのデバイスタイプ に分類される。 更に、 基本及び拡張デバイスは、 ゲームコントローラとその他 のペリフエラルタイプに分類される。 ゲームコントローラ系のペリフエラル夕 ィプの装置の例としては、 ゲーム装置の標準構成品としてゲーム装置に添付さ れる標準ゲームコン トローラ、 J O Y— S T I C K、 ステアリング等が挙げら れる。 その他のペリフエラルタイプの装置の例としては、 キ一ボード、 マウス、 G U N (模擬銃) 等が挙げられる。 拡張デバイスは、 コントローラ拡張装置系 のペリフエラルタイプであり、 その装置の例としては、 音声入力、 バックアツ プメモリ、 G U N (模擬銃) 等がある。 コントローラ系は、 どのアプリケ一シ ヨンソフ トでも使用出来るように、 標準となるデ一夕フォーマヅ トが決まって いる。 その他の基本デバイスや拡張デバイスは、 デ一夕フォーマットが各デバ イスによって異なる為、 それそれのファンクション毎に、 ファンクション ' ラ ィブラリが準備される。 用語の説明
以下、 第 2の実施の形態の説明において使用する用語について説明する。 説 明の便宜上、 第 1の実施の形態における説明と一部重複している。 まず、 デー 夕を時系列上に展開したデ一夕のことを 「シリアルデ一夕」 と呼ぶ。 シリアル にデ一夕でデータのやりとりを行う信号線 (流れ) を 「シリアルバス」 と呼ぶ。 本願の提案の規格に従って、 ゲーム装置と周辺装置を接続するシリアルバスを 「Mバス」 と称することにする。 それそれの周辺装置に割り当てられている、 周辺装置の機能を示すパラメ一夕群を 「デバイス I D」 と呼ぶ。 デバイス I D は、 周辺装置の属性や備えているファンクション (データフォーマッ トや機能 要素)など、 1 6バイ ト(Byte)で構成される。デバイス I Dは、後述する [Device Status] コマンドで得ることができる。
ゲーム装置の周辺装置が接続できる Mバスの端子のことを 「ポート」 と呼ぶ。 ポートの端子は、 電源端子 (VCC , GND) とデ一夕線 (S D C K A, S D C K B ) の 4 ビン、 あるいはこれにシールド線を加えた 5ピンが標準である。 第 2 の実施の形態の規格による 「Mバス」 では最大 4ポート (ポート A, ポート B , ポート C, ポート D ) をサポートする。
ゲーム装置側を 「ホスト」、 それに接続する周辺装置において実現される機能 を 「ファンクション」 と呼ぶ。 ファンクションは製品そのものではなく、 製品 の構成する要素を示すため、 1つの製品に複数の機能を持たせることが出来る。 周辺装置はファンクションの集まりとなるが、 ホス 卜からのアクセスは周辺装 置単位で行い、 ファンクションへのアクセスは、 その中でファンクションタイ プを指定して行う。 1つの周辺装置で、複数のファンクションが使用できるが、 例えば、 第 2の実施の形態の 「Mバス」 では最大 3つまで使用できる。
図 4 7に示すように、 周辺装置は、 物理的に 「基本デバイス」 と 「拡張デバ イス」 の 2種類に分けられる。 基本デバイスは、 ホス 卜に接続され、 拡張デバ イスをコントロールする機能を持つ周辺装置である。 基本デバイスは、 拡張デ バイスの接続を自動的に認識し、 接続を行う。 拡張デバイスは、 基本デバイス に接続され、 デバイスが無いと動作できない周辺装置である。 基本デバイスか ら拡張デバイスにつながる Mバスのことを、 特に、 「L Mバス」 と呼ぶ。 L Mバ スは Mバスと論理 (信号) 的には同一であるが、 物理的には異なる。 基本デバ イスは、 周辺装置の中で主としてゲームコントローラ系になり、 拡張デバイス はゲームコントローラ系の拡張装置となる。 ホス トのポ一ト 1に対して、 例え ば、 基本デバイスが 1個のみ接続でき、 基本デバイスは、 例えば、 拡張デバィ スを 5個まで (L Mバスも 5本まで) 管理できる。
1つのポー卜で基本デバイスや複数の拡張デバイスに、ダイレク 卜でアクセス 出来るように、 基本デバイス, 拡張デバイスに対し、 接続されている場所で認 識番号を割り当てる。この割り当てる番号のことを「絶対位置 A P」と呼ぶ。「M バス」 では、 A Pは 1バイ ト固定で、 次の様になる。 [最大 4ポート(2 bit)] X
[ 1ポートに割り当てられる最大 A P数 = 6個(6 bit)] = [ 1バイ ト ( 8 bit) ] 割り当てられる A Pは、 後述するように、 接続形態と、 基本デバイスか、 拡張 デバイスかによつて決まる。 基本デバィス及び拡張デバイスへのアクセスは、 この A Pを使用する。
ホストとファンクシヨンとのデ一夕のやりとりは、 従来のような一辺倒では なく、 その場その時に適したデータの送信受信ができるように、 ある決まった 命令を用いてデ一夕のやりとりを行う。 この命令のことを 「コマンド」 と呼び、 コマンドのデータのことを 「パラメ一夕」 と呼ぶ。 パラメ一夕は、 送信先デバ イスの A P , 送信元デバイスの A P , データのサイズ, デ一夕から構成される。 Mバスでは、 最大 2 5 4個の基本的なコマンドが用意でき、 1アクセスで最大 1 0 2 0バイ トのデ一夕の送受信ができる。
ポ一トを介して行われるデ一夕通信は、 「フレーム」 という単位で行われる。 図 4 8は、 フレームの構成例を示している。 1 フレームは、 スタートパターン と、 コマンドコードと、 パラメ一夕 (送信先 A P , 送信元 A P, データサイズ, デ一夕等) と、 パリティビッ トと、 ェンドパターンとによって構成される。 1 回のアクセスで 1つのフレームが送信される。 1つのデバイスに対し、 1イン 夕一バル (INT) 内で 1アクセスである。 スタートパターンとパリティビッ ト、 エンドパターンは M I E (後述) にて付加される。
図 4 9は、 Mバス上における応答とタイムァゥトとを説明する説明図である。 ホス卜が基本デバイスまたは拡張デバイスにコマンドを送信し、 そのコマンド に対しての返信を 「応答」 と呼ぶ。 ホス トはコマンド送信後に、 ある時間まで 応答を待つが、待った後も応答が無い状態のことを「タイムァゥト(Time Out)j と呼ぶ。 タイムアウトした基本 (あるいは拡張) デバイスはホス卜からは切断 されたものとして認識される。 また、 基本 (あるいは拡張) デバイスは受信時 にタイムアウトした場合は、 ソフ トリセッ トを行う。 タイムァゥ卜までの時間 (応答時間) は、 例えば、 1 . O m Sである。
図 4 9において、 1)の場合は、 基本 (あるいは拡張) デバイスからの応答が、 応答時間内にあるので正常である。 2)の場合は、 応答が無いのでタイムアウト となる。 3)の場合は、 応答が応答時間内に無いので、 タイムアウトとなる。 4) の場合は、 送信デ一夕の途中の間隔が応答時間を越えているので、 タイムァゥ トとなる。 タイムアウトした周辺装置が接続されているポートにはハ一ドリセ ッ 卜が行われる。
コントローラの機能を拡張するための拡張装置を接続する場所を 「拡張ソケ ヅ ト」 と呼ぶ。 拡張ソケヅ 卜には、 拡張デバイスが接続される。 「Mバス」 では、 拡張ソケッ トの数は、 最大 4個まで持つことが出来る。 これは、 拡張ソケッ ト と L Mバスとの対応を後述する 2本の I D線の論理によって行う為である。 L Mバスの数と拡張ソケッ 卜の数は必ずしも同一である必要はない。
データを Mバス用のシリアルデータに変換し、 Mバス上で送受信できるよう にする回路を 「M I E (Mバス Iノ Fエンジン)」 と呼ぶ。 Mバス規格の装置は、 全てこの M I Eを持つ。 ホス 卜にはホス ト用 M I E、 基本デバイスには基本デ バイス用 M I E、 拡張デバイスには拡張デバイス用 M I Eを組み込む。 M I E はデータ変換のみだけなので、 フレーム内のデ一夕抽出は、 ホストは Mバスド ライバ (後述)、 デバイスは M I Eコントローラと呼ばれるソフトウエア (ファ —ムウェア) で行う。
ホストが周辺装置にアクセスするには、 周辺装置 (基本デバイス, 拡張デバ イス) をコントロールするソフ トウェア 「Mバス ドライバ」 と 「ファンクショ ン ' ライブラリ」 を介して行う。 Mバス ドライバは、 フレームの制御と管理を 行い、 各周辺装置(ファンクション)へのコマンドによる制御とパラメ一夕 (デ —夕フォーマツ ト) の管理はファンクション ' ライブラリで行う。 Mバスドラ ィバは全ての周辺装置に対して 1種類のみで、 ファンクション · ライブラリは 各ファンクション毎に対応する。 1つの周辺装置に対して、 デバイス I Dで示さ れるファンクション · ライブラリが、 3つまで使用できる。
「Mバス」 において、 全ての基本デバイスと拡張デバイスは、 所定フォーマ ッ トに則った自身に特有の情報を記録している。
この基本デバイスと拡張デバイスの情報のことを 「デバイスステイタス」 と 呼ぶ。 デバイスステイタスは、 管理データとして、 製品名、 デバイス I D、 ラ ィセンス、 モデルナンバー、 製造ロッ ト、 仕向地などを、 電気デ一夕として、 スタンバイ消費電流、 最大消費電流などを記録する。 デバイスステイタスは、 デバイス · ライブラリ及びアプリケーションソフ トにて管理活用される。 例え ば、 製品名、 ライセンス情報による不正なコピー製品の排除、 最大消費電流の 情報によるポート全体の電流制御などが可能となる。
データ伝送パターン Mバス上の物理的なデ一夕伝送について説明する。 この データ伝送には、 第 1の実施の形態と同じ形式が使用される。 すなわち、 デー 夕伝送は同期シリアル方式で行われる。 電源を供給するライン側線 Vcc、 接地 線 GND、 SD CKA信号を伝送するデータ線 SD CKA (双方向) 及び SD CKB信号を伝送するデ一夕線 SD CKB (双方向) の計 4線が存在する。 デ 一夕の双方向通信は半 2重、 転送レートは、 例えば、 最大 2Mbpsである。 なお、 必要により、 信号のシールド線を追加することが出来る。
伝送原理図 50は、 SD CKA、 S D C KBによるデ一夕パターンを示して いる。 シリアルデ一夕クロック A (SD CKA) 及び同 B (SD CKB) で伝 送される信号は、 透過デ一夕伝送時に必ず立ち下がりェッジが交互に存在する ように形成される。 受信側では、 一方の信号の立ち下がりエッジ (若しくは立 ち上がりエッジ) により他方の信号をラッチし、 ラッチした信号レベルをディ ジ夕ルデータとして復調する。 データは MS Bから転送され、 開始位置では、 SDCKAをクロヅク情報、 S D C K Bをデ一夕情報として行われる。
SD CKA, S D CKBによる情報パターン図 5 1は、 同期パターンの例を 示している。 同期パターンは、 スタート (S TART) パターンとエンド (E ND) パターンを含む。 スタートパターンは、 デ一夕パターンに先立ち伝送さ れる同期パターンである。 受信側は SD CKAの立ち下がりから立ち上がりま での間に SD CKBの立ち下がり (若しくは立ち下がり) エッジを 4回 (4個 の負パルス) 検出すると、 以降のパターンをデ一夕パターンと解釈する。 受信 側は SD CKBの立ち下がりから立ち上がりまでの間に SD CKAの立ち下が り (若しくは立ち上がり) エッジを 2回 (2個の負パルス) 検出すると、 デ一 夕パターンの終了を確認し正常終了と判断する。
SD CKB占有許可パターン (光線銃) 図 5 2は、 SD CKB占有許可パ夕 —ンの例を示している。 受信側は、 SD CKAの立ち下がりから立ち上がりま での間に SD CKBの立ち下がりエッジを 8回 ( 8個の負パルス) 検出した場 合、 次の SD CK Aの立ち下がりより立ち上がりまでの間 SD C KBを占有で きる。 S D C K Aの立ち上がりエッジによって、 S D C K Bの占有を解除しな ければならない。 このパターンは、 例えば、 シュ一ティングゲームの光線銃に 用いられる。
リセッ トパ夕一ン図 5 3は、 リセッ トパターンの例を示している。 受信側は、 S D C K Aの立ち下がりから立ち上がりまでの間に S D C K Bの立ち下がりェ ッジを 1 4回 ( 1 4個の負パルス) 検出した場合、 送信側からのリセッ ト要求 と解釈し、 リセッ トを行う。
伝送フォーマツ ト図 5 4は、 伝送フォーマツ 卜の例を示している。 データ伝 送はフレーム単位 (最小単位) で行われる。 フレームの内容は、 デ一夕伝送の 開始を示すスタートパターンから始まり、 最大 1 0 2 4バイ ト長のデータパ夕 —ン、 ノ リティ、 そしてェン ドパターンで構成される。 ノ リティは 8 ビヅ 卜の 水平方向とし、 送信時にハードウェアで自動的に付加され、 受信時は削除され る。
プロ 卜コルホストと周辺装置との通信プロトコルについて説明する。 コマン ドは [コマンド名] で記し、 詳細は後述する。 図 5 5は、 プロ トコルの概要を 説明する説明図である。 まず、 一連の流れにおけるコマンドの送信の優先権は ホストにある。 このため、 当初、 周辺装置 (基本あるいは拡張デバイス) は、 コマンド待ち状態にある。 周辺装置とホストとの通信は全て上述したフレーム 単位で行われる。 ホストは、 アプリケーションプログラムを実行して周辺装置 に対するコマンドを発生する。 このコマンドは、 フレームデ一夕として Mバス を介して周辺装置に送信される。 フレーム内のコマンドとパラメ一夕で周辺装 置に指示が行われる。 フレーム内の送信先 A Pに該当する周辺装置は、 フレー ムデ一夕を受信するとそれに応答する。 すなわち、 周辺装置は対応するコマン ドを生成し、 フレームデ一夕を形成し、 これを Mバスを介してホストに送信す る。 その後、 周辺装置は次のデータの待ち受け状態となる。 ホストは、 周辺装 置からのフレームデータを受け取り、 コマンド (返信) を抽出する。 このコマ ンドをアプリケーションに返す。 アプリケーションは、 コマンドで返信された 情報を用いて次のアクションを行う。 このような手順を繰り返して、 ホストと 周辺装置とのデータ通信が行われる。 図 5 6 ( a ) は、 Mバス、 L Mパス上に おけるこのようなホストと複数の周辺装置との間欠的なデータ通信の様子を表 している。 また、 図 5 6 ( b ) は、 1つの送信フレームでは送信すべきデ一夕 を全部送ることができない場合に、 デ一夕を分割し、 複数の送信フレームで長 いデータを間欠的に送信する例を示している (後述の図 7 0参照)。
上述のデータ通信に際しては、 以下に述べるような特徴がある。 ホス トは、 基本デバイスと拡張デバイスに直接同一プロ トコルでアクセスでき、 途中でデ —夕変換などは不要である。 アクセスに必要な A Pのデ一夕は、 接続したホス 卜のポート、 基本デバイス、 拡張ソケッ トによって決定される。 基本デバイス にアクセスすると、 その基本デバイスの拡張デバイスの接続状態が確認できる。 ホストが動作状態であっても、 周辺装置は接続と切断が出来る。 ホス トは、 周 辺装置に対してその装置の情報を得るために、 デバイスステイタスを要求する。 要求しないと、 周辺装置は動作を開始せずに、 スタンバイ状態のままで待機す る。 周辺装置のリセヅ 卜には 2種類ある。 後述されるソフ ト リセッ ト (リセヅ トコマンド) とハードリセッ ト (リセッ トノ 夕一ン) である。 ソフ トリセッ ト はポートに接続されている特定の周辺装置のみをリセッ 卜する。 ハードリセヅ トは周辺装置の全部のリセッ トを行う。 データ転送は最大 1 0 2 4バイ トのフ レーム単位で行われる。 1つの周辺装置で最大 3つまでのファンクションが使 用でき、 ファンクションへはそれそれのファンクションタイプを指定してァク セスする。 1つのファンクションへは 1ィン夕一バル I N T内に最大 1回のァ クセスで、 データは 1アクセスで 1フレームである。 1つのポートに対して、 連続してアクセスはしない。 これら特徴の実現については、 後述する。
フレームデ一夕 1つのファンクションへは 1ィン夕ーバル INT期間中に最大 1回アクセスでき、 1アクセスで転送するデータは送信 1 フレーム、 受信 1フ レームである。 既述図 54は、 フレームデータの例を表しており、 1フレーム は、 スタートパターン、 デ一夕パターン、 ノ、'リティ ビッ ト、 エンドパターンに よって構成される。
スタートパターン, ノ、'リティ ビッ ト, エンドパターンは、 デ一夕伝送パ夕一 ンで規定されているパターンで、 M I Eにて自動的に処理される。 フレーム中 のデ一夕パターンは、 4バイ ト単位で構成され、 最小 4バイ トから最大 102 4バイ 卜である。 最小値の 4バイ 卜では、 コマンドコード, 送信先 AP, 送信 元 AP, デ一夕サイズ (=00h) のみになる。 コマンドコードは、 送信先の装 置に指示するコマン ドのコードを指定する。 送信先 A Pは、 フレームの送り先 の装置の APを指定する。 すなわち、 ホス 卜は、 基本デバイス、 拡張デバイス の APを、 基本デバイス, 拡張デバイスはホス トのポートの APを指定する。 送信元 APは、 自分自身の APを指定する。 データサイズは、 送信データのサ ィズを 4バイ ト単位で指定する。 データは送信するデ一夕 (データフォーマツ トなど) で、 4パイ ト単位で格納する。
コマン ドコードコマン ドコードは、 1ノ イ トで構成され、 コマンドのコード を格納する。
コマン ドコ' の構成
【表 1】
Figure imgf000071_0001
ここで、 C OM0~C OM7はコマン ドコードである。 コマンドコードは、 Olh から FEhの範囲で指定する。 各種のコマンドコードについては後述する。 なお、 表を参照して説明されるデータは、 特に、 図示しないが、 内部のメモ リゃレジスタ等の適宜な場所に保持されるものである。
絶対位置 A P次に、 A Pについて説明する。 APには、 基本及び拡張デバィ ス自身の APと、 デ一夕の送信先を表す AP (送信先 AP) と、 データの発信 元を表す AP (送信元 AP) と、 の 3種類の APがある。 基本あるいは拡張デ バイスの A Pはデバイス自身の A Pであり、 ホス 卜から送信されたフレームの
差替え用紙 (規則 26) 送信先 A Pと比較し、 ホス 卜からのデータが自分宛のデータかどうかを判別す るために使用される。 デバイスの送信元 APは、 基本あるいは拡張デバイスが ホストにデータを返信する際に、 フレームの 3バイ 卜めに書き込まれるデータ である (図 48 )。 送信したデ一夕がどのデバイスから送られたかをホストに知 らせる。 デバイスの送信元 APは、 下位の 5ビッ トがその先の LMバスの接続 状態を示す。 ホス 卜は、 基本デバイスにアクセスし、 その返信コマン ド (基本 デバイスからのフレーム) の送信元 APを見ると、 基本デバイスのどの LMパ スに拡張デバイスが接続されているかが判る。 APの値は、 後述する図 57に 示すように、 ポー卜、 基本デバイス、 拡張デバイスの接続形態によって決まる (ソケッ 卜 N 0. 固定方式)。
APのビッ ト構成表 2は、 内部レジス夕に保持される A Pのビッ ト構成を示 している。 APは 1バイ ト (8ビッ ト) で構成される。 A Pの第 7及び第 6ビ ッ トは、 基本デバイスが接続されるホス 卜の入出力ポートを指定するボート設 定ビッ ト P 及び P 0。である。 APの第 5ビヅ トは、 基本デバイスか拡張デ バイスかを表す基本デバイス/拡張デバイス設定ビッ ト D/Eである。 APの 第 4〜第 0ビッ 卜は、 LMバスの番号を指定する LMバス設定ビッ ト LM4~L M0である。
APの構成
【表 2】
Figure imgf000072_0001
ポート設定ビッ ト P00, P 01の使用例を表 3に示す。 ポート設定ビッ ト P00 及び PO,の 2ビッ 卜によってポート A〜ポート Dのうちのいずれかのポート が指定される。
ポー卜設定ビッ 卜
表 3】
Figure imgf000072_0002
差替え用紙 (規則 26) 基本デバイス/拡張デバイス設定ビッ トは、 表 4に示すように、 APが基本 デバイス指定の場合は 「 1」、 拡張デバイス指定の場合は 「0」、 ポート指定 の場合は 「0」 である。
基本デバィス /拡張デバイス
設定ビッ ト
【表 4】
Figure imgf000073_0001
LMバス設定ビッ 卜 LM4〜LM。は、 表 5に示されるようになる。 APが基 本デバイスあるいはポー卜を指定する場合には、 LM4〜LM0は全て 「0」 と なる。 LMバスに拡張デバイスが接続されているとき、 あるいは拡張デバィ スにアクセスするとき、 該当する LMパスの設定ビッ 卜 LMnに 「 1」 が設定 される。 また、 未接続状態のときは、 該当する LMバスの設定ビッ ト LMn
「0」 が設定される。 拡張デバイスにアクセスする場合には、 アクセスする 拡張デバイスの LMパス番号の設定ビッ トのみを 「 1 j にする。
LM-Bus No. 設定ビッ ト
Figure imgf000073_0002
【表 5】
Figure imgf000073_0003
基本デバイスからの応答の時の送信元 APは、 基本デバイスの APと、 そ れそれの LMバス上の拡張デバイスの接続状態の設定ビッ 卜を自動的に OR で組み合わせる。 例えば、 ホス トがポート A ( 0 Oh) から基本デバイスにァ クセスする場合は、 送信先 A P = "00100000" (2 0 h) , 送信元 AP = "00000000" (0 Oh)となる。 ここで、 hは 1 6進数表示を意味する。 ボート
差替え用紙 (規則 26) Aの基本デバイスの応答は、 基本デバイスに拡張デバイスが LMバス No. 1と 3に接続されている場合、 送信先 AP ="00000000"(00h), 送信元 AP = "0010010Γ'( 2 5 h)となる。 送信元 A Pは、 基本デバイスの A P二 "00100000"に拡張デバイスの接続状態 (LM。, LM2= 1 ) が足されて (0 Rされて) いる。
次に、 ホストがポート Bから LMバス No . 1に接続された拡張デバイス にアクセスする場合は、 送信先 AP= "01000001" (4 lh), 送信元 AP = "01000000" (4 Oh)となる。 LMバス No. 1に接続された拡張デバイスか らの応答は、 送信先 AP= "01000000" (4 Oh), 送信元 AP= "01000001" (4 lh)となる。
図 57には、 ホストからアクセスする時の基本デバイス, 拡張デバイスの AP—覧 ( 1 6進数表現) が示されている。 基本デバイスの応答時の送信元 APは、 基本デバイス自身の APと、 接続されている拡張デバイスの APの 値の総和 (全ての OR) の値となる。 従って、 基本デバイスの送信元 APに は拡張デバイスの接続情報を含む。 ホス トは基本デバイスの送信元 APから 拡張デバイスの接続を知ることが出来る。
基本デバイス A Pの初期設定の手順次に、 A Pの初期設定手順について説 明する。 ゲームを行う者は、 基本デバイスをホストの任意のポートに接続でき、 更に、 拡張デバイスを、 基本デバイスの任意の LMバスに接続できる。 このた め、 ゲームの開始に先立って、 ホス トは、 ホス トの各ポートへの基本デバイス、 拡張デバイスの接続の有無と、 各デバイスの A Pを知ることが必要となる。 そ こで、 基本デバイスの APの初期設定手順について、 図 5 8のフローチャート を参照して説明する。
同図は、 ホストのポート Aに基本デバイスが接続され、 この基本デバイスの LMバスの N 0. 1及び 2に拡張デバイスが接続されている場合を一例として 説明するものである。 同図には、 ホス トの動作と基本デバイスの CPUの動作 が示されている。
まず、 ホスト、 基本デバイス、 拡張デバイスの相互間が通信線によって接続 され、 各装置に電源が投入されると、 各装置において、 図示しない ROMから C P Uに初期プログラムがブートされる。 なお、 後述する図 64には基本デバ イス用 M I Eが、 図 66には拡張デバイスの M I Eが説明されている。 このプ ログラムに従って基本デバイス (の C PU) は、 後述するイン夕フェースのレ ジス夕とポートを初期化する (S 22、 S 24)。 その後、 基本デバイス自身の A Pを生成する。 この場合、 A Pは自身のデバイスであることから、 APのビ ッ ト 5だけが "1" となり、 "--100000" となる。 ここで、 "-" は、 未定の値で あることを表す ( S 26 )。
次に、 基本デバイスが LMバス No. 5を備えるかどうかを調べる。 LMバ ス N o . 5は他の LMバスとは異なり、 バス接続や論理的な接続である。 これは、 基本デバイスに拡張デバイスを内蔵し、 あるいは基本デバィスと拡張デバィス とを組み合わせて使用するというような、 基本デバイス自身の機能拡張として の使用が予定されているからである。 例えば、 振動機能付きゲームコントロー ラを作成する場合、 ゲームコントローラを基本デバイスとし、 これに振動部を LMバス N 0. 5を介して接続することによって全体として振動部付きゲーム コントローラを実現する。 この No. 5バスの有無は、 基本デバイスの CPU には既知 (R OMなどに情報が書き込まれている) であり、 コンフィグレーシ ヨンなどは特に必要としない。 この説明の例では、 LMバス No. 5はないも のとする ( S 28 )。
次に、 基本デバイスの CPUは、 外部ソケッ 卜の LMバスの設定を行う。 図 64に示すように、 基本デバイスは、 I/O部から各 LMバスのソケッ トの特 定の端子、 例えば、 端子 Ι ϋο,Ι ϋ に、 当該 LMバスの番号に対応した電圧値 の組み合わせを発生する。基本デバイスが設定する各 LMバスの端子 I D。,I D iへの出力論理の例を表 6に示す (S 30)。 IDO ID1 LM-Bus No. Κο·
0 0 1 1
1 0 2 2
0 1 3 3
【表 6】 1 1 4 4 基本デバイスは、 LMバス No. 1のソケッ トの端子 I D0,I D!にはそれそ れ 「0」、 0」 を、 LMバス No. 2のソケヅ 卜の端子 I D0, 1 にはそれそ れ 「1」、 「0」 を出力する。 この論理出力電圧は、 LMパス、 I/Oポートを 介して拡張デバイスに与えられる。 拡張デバイスは、 基本デバイスからの論理 出力の値を見て、 自己がどの LMパス (拡張ソケッ ト) に接続されたかを知る ことができる (S 32 )。
基本デバイスは、 各 LMバスのソケッ トの特に考慮された特定の端子、 例え ば、 端子 I D2の論理レベルを読み込む。 端子 I D2はブルダウン用抵抗を介し て接地されており、 このソケッ トに拡張デバイスが接続されると、 拡張デバィ ス側から電圧 Vccが印加されるようになされる。 その結果、 当該ソケッ トに拡 張デバイスが接続されている場合は、 端子 I D2の論理レベルは 「 1」 となる。 また、 拡張デバイスが接続されていない場合には、 端子 ID 2の論理レベルは 「0」 となる。基本デバイスは、 LMパスに出力した I D0 ID!に対応した I D2の論理レベルを判別することにより、 上記端子 ID0 IDiへの論理出力で 示した LMパス No. の接続あるいは未接続が判別できる。 繰り返せば、 端子 I D2は拡張デバイスの接続確認用であり、 I D2が「0」であると未接続、 「1」 であると接続を示す。 この例では、 LMバス N o.lの I D2と LMパス N o .2 の I D2が 「 1」 になる ( S 34 )。
なお、 ソケッ 卜の端子 ID0 IDiの論理出力は、 一定の条件下に、 基本デバ イスから拡張デバイスへのリセッ ト信号としても機能する。 例えば、 基本デバ イスが、 拡張デバイスへの出力 I D0 I D,を反転させると、 拡張デバィスへの 動作停止信号となり、 拡張デバイスは動作を停止する。 冽えば、 ID0 I D, = "00"であるとき、 ID I D,= " 1 1 " と反転すると、 拡張デバイスは
差替え用紙 (規則 26) 処理を停止する。 また、 基本デバイスが出力 I D0、 I Diを反転させ、 更に出力 I D0、 I を反転させて元に戻すと、拡張デバイスへのリセッ ト信号となり、 拡張デバイスはリセッ トする。例えば、 基本デバイスが、 I D。、 I
Figure imgf000077_0001
"00" であるとき、 I D0、 I DL- " 1 1 " (停止信号) を出力して拡張デバイスを停 止させ、 その後基本デバイスがリセッ トする。 基本デバイスが復帰後、 ID。、 I Ώ,= "00" (リセヅ ト信号) とする (元に戻す) と、 拡張デバイスは、 リ セッ トする。 リセッ ト後は、 後述するソフ ト リセッ トの後と同様の状態になる。 次に、 基本デバイスは、 基本デバイスから送信する際の送信元 ΑΡを生成する。 基本デバイスの ΑΡと端子 I D2の状態から送信元 ΑΡは、 "--lxxxxx" となる。 ビット 0~4の "X" は LMバスの接続状態で 「0」 か 「 1」 になる。 この例で は、 送信元 APは、 LMバス N o . 1 と 2だけに接続されているので、 "-- 100011" となる ( S 36 )。 基本デバイスは、 ホス 卜から送られるコマンドのー 種であるデバイスリクエスト [Device Request] の受信を待つ。 基本デバイス は、 デバイスリクエス ト [Device Request] 以外は待機状態のまま、 ステップ 34からの処理を繰り返す (S 38 ; N o)。 この例では、 ホス卜のポート Aに 基本デバイスが接続されている。 この基本デバイスへのホス トからの送信先 A Pはポート Aの基本デバイスを指定する" 00100000"となる。第 5ビッ 卜の「 1」 が基本デバイスの指定を、 第 6及び第 7ビッ トの 「00」 がポート Aの指定を 表す。
一方、 ホストは、 ポート Aから Dに基本デバイス及び拡張デバイス (周辺装 置)接続されたかどうかを知るべく、各ポートに順次コマンド [Device Request] を送って基本デバイスの応答を待つ (H 2 2 )。 ホス トから、 ポート Aの基本デ バイスにコマンド [Device Request] が送られると (S 38 ; Y e s)、 基本デ バイスは、 その受信フレームの送信元 A Pを読み、 その第 6及び第 7ビッ トか ら自己が接続されているポート N 0. を取得する。 この例では、 ポート Aなの で "00" である ( S 40 )。 基本デバイスは、 ステップ S 2 6にて、 先に形成した下位 6ビッ トとポート の上位 2ビッ トとによって、 基本デバイス自身の A P ( 8ビヅ ト) を完成する (S 42 )。 すなわち、 取得したポート Aの "00" (第 6及び第 7ビッ ト) と、 基本デバイスが先に形成した AP = "--100000" (第 0ビヅ ト〜第 5ビッ ト) と を組み合わせて、 基本デバイス自身の AP= "00100000" ( 1 6進数表示で 2 Oh) を完成する。
次に、 基本デバイスは、 送信フレームの送信元 APを完成させる。 先に、 ス テヅプ S 36において、 下位 6bitだけが完成していた送信元 APに、 ポートの bit を上位に付加する。 この例では、 送信元 AP= "--100011" にポートの bit "00"を付加して、 送信元 A Pは "00100011" となる (S 44)。 この送信元 A Pのコードを見ると、 ポート Aに基本デバイスが接続され、 その基本デバイス の LMバス No. 1及び 2に拡張デバイスが接続されていることが判る。
基本デバイスは、 デバイスリクエス ト [Device Request] に対して返信する ベく、 送信フレームを作成する (S 46)。 基本デバイスは、 コマンド、 デバイ スリクエスト [Device Request] に対応した返信コマンドのデバイススティ夕 ス [Device Status] を用意する。 送信先 A Pは、 ポート Aを表す "00000000"、 送信元 A Pは、 上述した "00100011" となる。
基本デバイスは、 デバイスステイタス [Device Status] を含む送信フレーム を送出し、 ホストにコマンドを返信する (S 48)。 以後、 基本デバイスの AP は切断されない限り、 "00100000" となる。 基本デバイスは、 常に LMバスの ソケッ トの端子 I D2の状態を監視する。 そして、 LMバスへの拡張デバイスの 接続状態が変わると送信元 APのビッ トを変化させ、 拡張デバイスの接続状態 に対応した送信元 A Pを保持する。
ホストは、 基本デバイスからの送信フレームを受信し、 ポート Aへの基本デ バイスの接続と、 その LMバス No . 1及び 2への拡張デバイスの接続を知る (H 24)。 ホス トは、 基本デバイスにアクセスするだけでその基本デバイスに 接続された拡張デバイスの存在を知ることが出来る。 また、 後述するように、 ホストは、 コマンド、 デバイスステイタス [Device Status] によってポートに 接続されている基本デバイスの内容 (周辺装置の種類等) を知る。
なお、 上述した APの設定に際しては、 基本デバイスに拡張デバイスを接続 するソケッ ト N o . を固定し、 各ソケヅ 卜への拡張デバイスの接続の有無を確 認している (ソケヅ ト No. (LMバス No .) 固定方式)。 すなわち、 基本デバ イスは、 (a)基本デバイス自身の初期化後に、 先に LMバス (ソケッ ト) No. に対応する I D0、 I の設定を行い、 (b)その後、 各ソケッ 卜の I D2の論理レ ペルを見て、 各 LMバスへの拡張デバイスの接続の有無を判別している。 そし て、(c) I D 2の接続倩報でどの番号の L Mバスに拡張デバイスが接続されたかが 判ったので、 この情報を元にして、 送信フレームの送信元 APの下位 6ビッ ト を作成する。 (d)ホストから受信したフレームの送信元 A Pから、 基本デバイス が接続されたホス 卜の接続ポートの情報を得て、 基本デバイスの送信元 APの 上位 2ビッ トを追加して、 送信元 A Pを完成する。
これに対し、 基本デバイスが先に I D2のチェックを行って使用される LMバ スを把握し、 使用される LMパスに LMパス No . を割り当てることとしても 良い (ソケヅ ト No. (LMパス No.) 割り振り方式)。 すなわち、 基本デバィ スは、 (a) 基本デバイス自身の初期化後、 I D2の論理を見て、 その LMパスに 拡張デバイスの接続の有無を判別する。 0>)次に、 端子 I D2で接続を判別した L Mバスに I D0、 I Dtを割り当てる。 割り当てが重ならないように、 No. の小 さい順に割り当てる。 この I D0、 I Djと LMバス N o . の例を表 7に示す。接 続状態に変化のない LMバスは、 前の状態の番号を維持する。
【表 7
Figure imgf000079_0001
そして、 基本デバイスは、 (c)I D。と、 I D0、 I D,の情報に基づいて、 送信
差替え用紙 (規則 26) する際の送信元 A Pの下位 6ビッ トを作成する。 (めホス 卜から受信したフレー ムの送信元 A Pから、 基本デバイスが接続されたホス 卜の接続ポートの情報を 得て、 基本デバイスの送信元 APの上位 2ビッ トを追加して、 送信元 APを完 成する。
基本デバイスが一旦送信元 APを確立した後に、 ホス 卜から送信元 APを更 新すべき指令を受けた場合、 ソケッ ト N o. 固定方式では、 既に各ソケットに I D。、 I が対応付けられているので、 APの更新のための基本デバイスの処 理は、 上記 (b)以降を行う。 ソケッ ト N o. 割り振り方式では、 ソケッ ト Noは 変動するので、 A Pの更新のための基本デバイスの処理は、 上記 (a)以降を行う。 拡張デバイス A Pの初期設定手順図 5 9のフローチャートを参照して拡張デ バイスの APの初期設定手順について説明する。 同図においては、 ホスト、 基 本デバイス、 拡張デバイスの各動作が並行して示されている。 また、 同図にお いて図 58と対応する部分には、 同一ステップ番号を付し、 かかる部分の説明 は省略する。 この例では、 ホストのポート Bに基本デバイスが接続され、 更に 該基本デバイスの LMバスの N o . 2に拡張デバイスが接続されるものとして 説明する。
まず、 ホス ト、 基本デバイス、 拡張デバイスが相互接続され、 各装置に電源 が供給される (K 22)。 なお、 後述する図 64によって基本デバイス用 MI E が、 図 6 6によって拡張デバイスの M I Eが説明される。 拡張デバイスは、 基 本デバイスに接続され、 いわゆるパワーオンリセッ トがなされると、 内部レジ ス夕と LMバスのポートの初期化を行う (K 24、 Κ 25 )ο
拡張デバイス (の CPU) は、 制御プログラムに従って LMバスを調べる。 前述したように、 各 LMバスのコネクタの所定の端子、 例えば、 端子 I D。、 I には、 基本デバイス (の CPU) によって、 LMバス番号に対応した論理出 力がなされている。 拡張デバイスは、 拡張デバイスが接続している LMバスの 端子 I D。、 I Diの論理を読み取る (K 28)。 この例では、 拡張デバイスはソ ケッ ト 2 に接続されたので、 ソケッ 卜の端子 I Dい 10。には= "01" の論理 出力が設定されている。拡張デバイスは、 端子 I D。、 I Diの論理出力と表 6と を参照して LMバス No. を判別する。 この例では、 I D^ I D。= "01" な ので、 LMバス No. は 「 2」 と判別される (K 30 )。
拡張デバイスは、 拡張デバイス自身の A Pを作成する。 拡張デバイスは、 自 己が拡張デバイスであることを知っている。 これは、 予め ROMに必要な情報 を書き込むことにより、 あるいは拡張デバイスの制御プログラムに直接書き込 むこと等によってなされる。 表 2に示すレジス夕の、 APのビッ ト 5 (デバイ ス /拡張デバイス設定ビッ ト) を " 0" に設定し、 ビッ ト 0〜4 (LMバス N o. 設定ビッ ト) を接続されている LMバスの N o . に対応して " 1" に設定 する。 この例では、 LMバスが N o.2なので、 bitlが "1" に設定される。 よ つて、 拡張デバイス自身の A Pは、 AP= "--000010" となる (K 32)。 次に、 拡張デバイスは、 拡張デバイスの送信元 ΑΡを作成する。 拡張デバィ スは、 基本デバイスとは異なり、 送信元 ΑΡで接続チェックを行わないので、 「送信元 ΑΡ=拡張デバイスの ΑΡ」 とする。 この例では、 送信元 ΑΡ二拡張 デバイスの AP= "--000010" となる (Κ 34)。
拡張デバイスは、 ホス トからの自己の ΑΡ二 "--000010" を指定したコマン ド [Device Request] を含むフレームの着信を待つ (K 3 6 )。 コマン ド [DeviceRequest] 以外は待機状態のまま、 待ち続ける (K 36 ; N o )。
上述したように、 ホストは、 既に基本デバイスから LMバスの接続状況が報 告されているので (S 48)、 拡張デバイスがどこの LMバスに接続されている かを知っている (H 26)。 よって、 拡張デバイスを使用するアプリケーション のみ、 拡張デバイスにコマンド [Device Request] を送信し、 拡張デバイスを 使用できるようにする。 この例では、 ホストが送信する送信フレームの送信元 A Pはポート Bを表す "01000000"、 送信先 A Pは、 拡張デバイスでかつ LM バス No. 2を指定する "01000010" となる (H 28)。 拡張デバイスは、 コマン ド [Device Request] を含むフレームを受信する (K 3 6 ; Y e s )。 そのフレームデ一夕の送信元 A P = "01000000" を読み、 ホ ス トのポート N o . を取得する。 この例では、 ポート Bなので " 01" である。 拡張デバイスは、 先に下位 6 ビッ 卜だけが完成している拡張デバイスの APに、 ポー卜 Bのビッ トを上位に付加し、 拡張デバイス自身の A Pを完成させる。 こ の例では、 拡張デバイスの A P = "--000010" に、 ポート Bのビッ ト "01" を 付加する。 拡張デバイスの A Pは、 A P = "01000010" となる。
次に、 拡張デバイスの送信元 A Pを完成させる。 先に下位 6ビッ トだけが完 成している送信元 A Pに、 ポートのビッ トを上位に付加する。 この例では、 送 信元 AP= "--000010" にポ一卜のビヅ 卜 'ΟΓを付加する。 送信元 Α Ρは ΑΡ = "01000010" となる (Κ 4 2 )。 なお、 拡張デバイスの送信元 Α Ρは、 拡張デ パイスの Α Ρと同じなのでこの処理 (Κ 4 2 ) は省略しても良い。
拡張デバイスは、 ホス トに返信すべく、 送信フレームを作成する (Κ 4 4 )。 コマンド、 デバイスリクエス ト [Device Request] に対応した返信コマンドの デバイスステイタス [Device Status] を用意する。 送信先 APは、 ホストのポ —ト Bの "01000000"、 送信元 A Pは、 "01000010" となる。拡張デバイスは、 ホス トにコマン ドを返信する ( K 4 6 )。 コマン ド、 デバイスステイタス [DeviceStatus] を送信する。 以後、 拡張デバイスは、 電源やケーブルが遮断 されない限り、 自己の AP及び送信元 A P = "01000010" を保持する。
ホストは、 拡張デパイスからコマンド [DeviceStatus] を受信することによ つて接続されている拡張デバイスの内容 (周辺装置の各種情報) を得る。
データサイズ送受信フレームに含まれるデータサイズ部の構成について説明 する。 デ一夕サイズ部は、 表 8に示されるように、 1バイ トで構成される。
データサイズの構成
【表 8】
Figure imgf000082_0001
ここで、 ビッ 卜 0〜ビッ ト 7のデータ Ό S。〜D S7はデータサイズを表す。デ
差替え用紙 (規則 26) —夕サイズ部は、 データのサイズを最小 0 卜から最大 1 0 2 0バイ 卜まで、 4バイ 卜単位で指定する。 これを表 9に示す,
データサイズ
【表 9】
Figure imgf000083_0001
データ送受信フレームに含まれるデ一夕部の構成について説明する。 データ 部は、 転送するデ一夕を、 デ一夕サイズで指定したサイズ (4バイ ト単位) で格 納する。 データ内容は、 ファンクションによって異なる。 例えば、 コン トロー ラ系ではコン トローラのファンクションタイプ, デ一夕フォーマツ トが入る。 データ部の構成を表 1 0に示す。
データの構成
【表 1 0】
Figure imgf000083_0002
データ伝送ホス トと、 周辺装置 (基本デバイス、 拡張デバイス) との間のデ —夕通信の概略について説明する。 このデ一夕通信においては、 とくに、 ゲー ム装置に好適なように規約に工夫がなされている。 まず、 データ通信は、 基本 的には、 ホストからの要求と、 それに対する周辺装置からの返答の形式で行わ れる。 ホス トから周辺装置に対しての指示、 要求は全てコマンド (フレーム) で行う。 周辺装置にコマンド (フレーム) を送信すると、 周辺装置から必ず何 らかのコマンドがホス 卜に返信される。 送信エラーが発生した場合は、 ハード
差替え用紙 (規則 26) ウェアの機能により、 エラーフラグが立ち、 エラ一処理を行う。
周辺装置は、 ホストとの接続後、 ホストから周辺装置の内容を認識するため のコマンド、 デバイスリクエスト [Device Request] を受信した後に活性化さ れる。 周辺装置は、 ホス トからのコマンドに対しては、 必ず何らかのコマンド を返信する。 周辺装置 (あるいはそこに実現されるファンクション) は、 例え ば、 1ィン夕一バル INT中に 1回のコマンドの受信が出来る。
図 6 0は、 ホス トと周辺装置間のデータ通信を説明する説明図である。 前述 したように、 ホス ト、 周辺装置 (基本デバイス、 拡張デバイス) の相互間が接 続され、 電源が供給されると、 デ一夕通信の開始に先立って各々の A Pが確立 される。 それにより、 データ通信に必要な各装置固有の A P、 送信元 A P、 送 信先 A Pが得られる。
ホス卜の C P Uがアプリケーションを実行することによって、 周辺装置への アクセスが必要となる。 アプリケーションが出力した送信データ、 送信コマン ドは、 それそれホス 卜の M I Eのライ ト (書き込み) バッファ、 コマンドレジ ス夕に書き込まれる。 送信データ、 送信コマンドは、 既述図 4 8に示すフレー ムとして組み立てられて、 コマンド待ち状態の周辺装置に送信される。 周辺装 置の M I Eは、 フレームを受信すると、 コマンド及びデ一夕を取り出して、 周 辺装置の C P Uに与える。 周辺装置の C P Uは、 コマンドを解読し、 このコマ ンドに対応する処理を行って、 ホストに返信のコマンドと必要により返信すベ きデータとを得る。 このデ一夕とコマンドを周辺装置の M I Eによってフレー ムに組み立てて、 ホストに送信する。 その後、 周辺装置は、 次のコマンド待ち の状態となる。 ホス トの M I Eが返信のフレームを受け取ると、 交信状態をス ティタスレジス夕に、 受信データをリ一ドバッファに書き込む。 ホス 卜の C P Uは、 両レジス夕からデ一夕を受け取ってアプリケーションを続行する。 この ような動作を繰り返してホス トと周辺装置 (基本デバイス、 拡張デバイス) 間 のデータ通信が行われる。 なお、 ホストの M I Eと周辺装置の M I E相互間のより具体的な通信に関し ては、 後述される。
ハードウェアでエラーフラグが立つと、 エラ一処理を行う。 ホストの内部ィ ン夕一フェイスの詳細については、 後述する。
転送エラ一データ伝送における転送エラ一について説明する。 ハードウエア で検知できるエラーには、 パリティエラ一、 タイムアウト (Time Out), デ一 夕オーバ一フローが含まれる。 ノ リティエラ一は、 データフレームのパリティ がー致しなかったときに検出されるエラーである。 タイムアウトは、 S D C K A , S D C K Bのラインが一定状態を維持したまま、 タイムアウトの時間にな つたときに検出されるエラーである。 デ一夕オーバーフローは、 デ一夕の量が 送受信バッファの容量を越えたときに検出されるエラーである。 これ等以外の エラ一 (デ一夕化け等) はソフ トウェアで検知する。 フレームを受信したとき にハ一ドウエアで検知できるエラーが発生した場合、 エラ一フラグ等で知らせ ホストにおけるエラー処理ホス トにおいて受信エラーが発生した場合、 周辺 装置 (基本デバイス、 拡張デバイス) に送信したコマンドによって再送コマン ドを送信する。 再送コマンドは最大 3 回まで送信する。 それでもエラーが発生 するならば、 未接続やエラ一表示などの処理を行う。 再送の回数と処理方法は、 アプリケーションソフ ト、 ライブラリによって異なる。 周辺装置から送られて きた再送コマンドは、 ホス トからの送信 1回につき 3回まで受け付け、 それ以 上は未接続やエラ一表示などの処理を行う。 未接続処理は、 エラーのあるポ一 卜に対して、 ハードウェアリセヅ ト (リセヅ トパターン) を送信する。 その後、 必要ならば、 デバイスリクエス ト [DeviceRequest] を行う。
周辺装置におけるエラー処理送信エラーが発生した場合、 周辺装置 (基本デ バイス、 拡張デバイス) は、 ホス 卜からの要求に応じて再送は行うが、 周辺装 置の判断によって再送などのエラ一処理は行わない。 受信エラ一が発生した場 合、 周辺装置は再送コマンドをホス トに送信することが出来る。 受信時にタイ ムァゥ卜が発生した場合は、 周辺装置はソフ トリセッ トを行う。 タイムアウト の検知は、 基本デバイスのみが行い、 拡張デバイスへは基本デバイスから、 I Dラインを使用してリセッ ト信号を送る。
禁止事項本規格においては、 一定の禁止事項を設けている。 すなわち、 (1)ホ ストに複数の周辺装置 (基本デバイス、 拡張デバイス) が接続された状態で、 周辺装置から周辺装置へのダイレク トアクセスは禁止する。 原則として、 ホス トを介しなければならない。 (2)周辺装置は、 ホストのみが発行できるコマンド を使用することは許されない。 (3)同じポートに対して連続してアクセスしては いけない。
ただし、 これ等の禁止事項は、 実施例の規格における例示的なものであり、 本発明の範囲を減縮したり、 発明の応用を限定する意図のものではない。 これ 等の禁止事項を許容する別の規格によるデ一夕通信を行うことはもちろん可能 である。
周辺装置の接続と切断ホス トにおける周辺装置 (基本デバイス、 拡張デバィ ス) の接続と切断の判断処理について説明する。 この判断処理のために、 ホス トは各ポートの周辺装置に対して、 コマンド、 デバイスリクエス ト [ Device Request] を送信する。先に説明したように、 ホストと周辺装置の接続後に電源 が供給されると、 ホスト、 基本デバイス、 拡張デバイス各々についての A P確 立の手順が実行される。 従って、 本判断処理の前に送信先の周辺装置の A Pは、 各ポートで決定されている。 デパイスリクエスト [Device Request] を送信す る間隔は、 望ましくは、 1イン夕一バル (INT) 毎である。 周辺装置から返信 があった場合は、 以後、 コマンドのデバイスリクエスト [Device Request] を 送信する必要はない。 なお、 当然のことながら、 アプリケーションソフ トが使 用しないポートに対しては、 ホストはコマンド、 デバイスリクエス ト [Device Request] を送信する必要はない。 基本デバイスの接続チェック基本デバィスの接続チェックについて説明する。 ホスト力 あるポートにコマンドのデバイスリクエスト [Device Request] を 送信し、 基本デバイスからコマンドのデバイスステイタス [Device Status] が 返信されると、 ホス トはそのポートにデバイスステイタス [Device Status] (後 述) で記されている基本デバイスが接続されていると認識する。 基本デバイス から何も反応が無い場合 (タイムアウト) は、 そのポートは基本デバイスが未 接続と判断される。 タイムアウト (Time Out) はコマンド送信後、 例えば、 1 . 0 m sの間に返信が無い場合に生ずる。
拡張デバイスの接続チヱックホストは、 それそれのポートで基本デバイスだ けにアクセスすれば、 その基本デバイスに接続されている拡張デバイスの接続 状態も合わせて基本デバイスから返信されるので (送信元 A P )、 全ての拡張デ バイスに対して基本デバイスのような接続チエックをする必要はない。 また、 基本デバイスにアクセスして、 基本デバイスからの返信で送信元 A Pに未接続 であった拡張デバイスの接続設定ビッ 卜が " 1 " に変化している時は、 その設 定ビッ トで示されている拡張デバィスが新たに接続されたことを示している。 基本デバィスへのアクセス後、 拡張デバイスについての接続状態が判つている ので、 拡張デバイスに対してもデバイスリクエス ト [Device Request] を送信 し、 応答コマンドのデバイスステイタス [Device Status] を待つ。 この時、 デ バイスステイタス [Device Status] の返信が無ければタイムアウトし、 その拡 張デバイスは未接続と判断される。
接続チヱックに対する周辺装置の動作全ての周辺装置 (基本デバイス、 拡張 デバイス) は、 接続した直後はスタンバイ状態で、 まだ装置としての動作を開 始せず、 自分の A Pの下位 6 bitのみ得ている。 各周辺装置はデバイスリクエス ト [Device Request] を受信する前に他のコマンドを受信しても、 ホストに対 して何の反応もしない。 その後、 周辺装置は、 ホス トからのコマンド、 デバイ スリクエス ト 「Device Request] を受信する。 周辺装置は受信フレームの送信 元 A Pから自己が接続されているポートの A Pを記憶し、 自己の A P、 送信元 A Pを完成し、 デバイスリクエスト [Device Request] に返信するべく動作を 開始する。
基本デバイスの切断チェックホストが、 接続されている基本デバイス (予め ポートへの接続が確認されていた基本デバイス) に対してコマンドを送信し、 所定時間経過してもその基本デバイスから応答が無い場合 (タイムァゥト)、 ホ ストはその基本デバイスが切断され、 未接続になったと認識する。 未接続の確 認は 3回まで行い、 それでも未接続なら 1イン夕一バル ( 1 INT) 後に、 リセ ッ トパ夕一ンを送出する。
拡張デバイスの切断チェックホストは、 先にポートへの接続が確認されてい る拡張デバイスに対し、 コマンドを送信して返信が無い場合 (タイムアウト)、 その拡張デバイスが切断され、 未接続状態になったと認識する。 未接続の確認 は 3回まで行い、 それでも未接続なら 1インターバル ( 1 INT) 後に、 リセヅ トパターンを送出する。
また、 ホストが基本デバイスにアクセスして、 基本デバイスからの返信フレ —ムを受信する。 そして、 ホストが受信フレームの送信元 A Pの拡張デバイス の接続設定ビッ トが " 0 " に変化していることを判別したとき、 その接続設定 ビッ ト L Mnで示されている拡張デバイスが切断され、 未接続になったことが判 る。
切断に対する周辺装置の動作基本デバイスがホス 卜のポートから取り外され ると、 当該ポートに接続されていた基本デバイスへのホス 卜からの電源の供給 が遮断される。 このため、 基本デバイスが記憶していた接続ポートの情報は失 われる。 従って、 一旦コネクタを取り外した基本デバイスをホス卜のポ一卜に 再度接続 (ハードウェアリセッ ト) しても、 そのままでは、 基本デバイスは動 作を開始しない。 同様に、 拡張デバイスが基本デバイスのソケッ トから取り外 された場合も、 拡張デバイスへの電源の供給が遮断されるため、 記憶していた 接続ポートの情報が失われる。 このため、 取り外した拡張デバイスを基本デバ イスのソケッ トに再度接続しても動作を開始しない。
リセッ トリセッ トには 2 種類ある。 ハードリセヅ ト (リセヅ トパ夕一ン) と ソフ トリセッ ト (リセッ トコマンド) である。 リセッ トはホストからのみ行え る。 ハードリセッ トは、 リセッ トパターンによるリセッ トで、 あるポートに接 続された周辺装置 (基本デバイス、 拡張デバイス) の全てを初期化することが 出来る。 周辺装置からの返信はない。 ソフトリセッ トは、 リセッ トコマンドの デバイスリセヅ ト [Device Reset] によるリセッ トで、 特定の周辺装置を初期 化できる。 この場合、 該当する周辺装置からはコマンドのデバイスリプライ [Device Reply] が返信され、 その後、 この周辺装置は自身の初期化を実行す る。
リセッ トされた周辺装置 (基本デバイス、 拡張デバイス) は、 一部のファン クシヨンを除き、 変数や R A M内容などの記憶していたデータが電源投入直後 の状態まで初期化される。 周辺装置の A Pも初期化されるので、 再使用する場 合には、 ホス卜からデバイスリクエス ト [Device Request] を送信する必要が ある。
デバイス I D既述接続チェックにおいて説明したように、 ホス 卜からデパイ スリクエスト [Device Request] を受信した周辺装置 (基本デバイス、 拡張デ バイス) は、 デバイスステイタス [Device Status] をホストに返信する。 この デバイス固有の情報であるデバイスステイタス [Device Status] のデ一夕領域 には、 デバイスに関する種々の情報が記録されている。 この中の一つにデバイ ス I Dが含まれる。 デバイス I Dには、 基本デバイスあるいは拡張デバイスの、 ファンクションタイプ、 ファンクション定義プロヅクの宣言部が登録されてい る。全ての周辺装置は必ず 1つのデバィス I Dと、 1つ以上のファンクシヨンを 持つ。 これにより、 ホス トは、 接続された周辺装置の内容 (機種、 機能、 信号 フォーマッ ト、 e t c ) を知る。 なお、 各種コマンドについては後述する。 デパイス I Dの構成デバィス I Dは、表 1 1に示されるように 16パイ ト( 1 28bit) で構成される。 デバイス IDの構成
【表 1 1】
Figure imgf000090_0001
ここで、 FTは、 ペリフエラルが備えているファンクションの種類を示す。 FD 1は、 1つ目のファンクションの、 ファンクション定義ブロックを示す。 FD2は、 2つ目のファンクションの、 ファンクション定義ブロックを示して いる。 FD3は、 3つ目のファンクションの、 ファンクション定義ブロックを 示している。 FD 1、 FD2及び FD 3は、 F Tで示されるファンクションに よって内容の意味が異なる。
次に、 上記 F TQ~F T31のファンクションタイプの内容を表 12に示す。 F
Τファンクションタイプは、 周辺装置が装備しているファンクションを示す。 ファンクションタイプは全部で 32種類あり、 それそれコマンド、 データフォ 一マッ トが決まっている。
差 え用 則 26) ファンクションタイブ
【表 1 2】
Figure imgf000091_0001
1つの周辺装置で、例えば、 3種類までのファンクションを設定することがで き、 装備しているファンクションの対応する設定ビッ 卜を ' Γにする。 設定ビッ 卜には優先順位が存在し、最上位ビッ ト (F T 31)が一番高く、最下位ビッ 卜(F To) が一番低くなつている。 優先順位順に 3つまでファンクション ·ライブラ リが設定される。
表 1 1において、 F D 1 31〜F D 10は、 第 1のファンクション定義ブロックを 示す。 1つ目のファンクションを構成する個々の要素を定義するプロックである < その内容は、 ファンクションによって異なる。 詳細はそれそれのファンクショ ン仕様書 (図示せず) によって規定される。
F D 231〜F D 2。は、 第 2のファンクション定義ブロックを示す。 2 つ目の ファンクションを構成する個々の要素を定義するブロックである。 内容は、 フ アンクシヨンによって異なる。 詳細はそれそれのファンクション仕様書によつ て規定される。
同様に、 F D 331〜F D 3。は、 第 3のファンクション定義ブロックを示す。 3つ目のファンクションを構成する個々の要素を定義するブロックである。 内 容は、 ファンクショ ンによって異なる。 詳細はそれそれのファンクション仕様
差替え用紙 (規則 26) 書によって規定される。
ファンクションのデ一夕フォーマヅ 卜と定義ブロヅクファンクションのデ一 夕フォーマッ トと定義ブロックについて説明する。 これ等は、 周辺装置とデ一 夕のやりとりを行う為の、 デ一夕の形式を示す。
まず、 周辺装置 (ペリフエラル) は表 13のように分類、 区別される。
周辺装 sの分類
【表 1 3】
Figure imgf000092_0001
表 13に示すように、 基本デバイスの代表的なものはゲームコントローラで ある。 ゲームコントローラのファンクションタイプはコントローラで、 ホス ト のポートに接続して使用される。 ゲームコントローラは、 多くのアプリケーシ ヨンソフ 卜で利用できるように、 標準となるデ一夕フォーマツ 卜が決まってい る。
コン卜ローラ系のファンクションの要素は、 以下の通りである。 ·デジタル方 向キー A : R a,L a,D a,U a 'デジタル方向キー B : Rb.Lb.Db.Ub - デジタルボタン : A,B,C,D,X,Y,Z,S TART ·アナログキー : A 1,A2, A 3, A 4 ·アナログレバ一 : A 5,A6また、 コントローラ系周辺装置は、 以 下の要素を必ず備えていることが条件になる。 ·デジタル方向キー A : R a,L a,D a.Ua 'デジタルポタン : A,B,S T AR T基本デバイスのその他のタイ プその他のタイプは、 ゲームコントローラ以外のファンクションタイプの周辺 装置である。 各周辺装置によって、 データの内容とフォーマッ ト、 リード/ラ ィ トサイクルなどが異なるため、 それそれの機能に対応したデ一夕フォーマツ ト, ファンクション ' ライブラリを持つ。
拡張デバィス基本デバイスの機能を拡張するための周辺装置である。 各周辺 装置によって、 デ一夕の内容とフォーマッ ト、 リード/ライ トサイクルなどが 異なるため、それそれの機能に対応したデ—夕フォーマツ ト,ファンクション '
差替え用紙 (規則 26) ライブラリを持つ。
コントロ一ラ系ファンクションファンクションタイプがコントローラのデ一 夕フォーマッ トと、 デバイス I Dの定義ブロヅクを示す。
リ一ドデ一夕フォ一マヅ トを表 1 4に示す。 リ一ドデ一夕フォ一マヅ トは、 コントローラのデータを読む時のフォーマツ 卜である。 データフォーマツ 卜の サイズは 8バイ トである。
コン トローラ'リードフォーマツ ト
【表 1 4】
Figure imgf000093_0001
同表において、 1番目のデ一夕は、デジタルボタンのデータである(ON-" 0 " OFF= " 1 ")o 2番目のデータは、 デジタルボタンのデータである (ON= " 0 ": OFF= " 1 ")o 3番目のデータは、 アナログ軸 1のデータ (00h →FFhの値) である。 4番目のデ一夕は、 アナログ軸 2のデータ (00h →FFh の値) で ある。 5番目のデータは、 アナログ軸 3のデ一夕 (80h±7Fhの値) である。
6番目のデータは、 アナログ軸 4のデ一夕 (80h±7Fhの値) である。 7番目 のデータは、 アナログ軸 5のデ一夕 (80h±7Fhの値) である。 8番目のデー タは、 アナログ軸 6のデ一夕 (80h±7Fhの値) である。 ライ トデ一夕フォー マヅ トコントローラへデータを書き込む時のフォーマツ トは存在しない。 デ 一夕サイズは 0パイ トである。 仮にデータを書き込みしても、 反応しない。 ファンクション定義プロックゲ一ムコン 卜ローラの定義ブロック F Dは、 表 1 4に示すリードフォーマツ 卜で使用する要素を分割して指定する。 ゲーム コントローラのファンクション定義プロヅクの例を表 1 5に示す。
差替え用紙 (規則 26) コントローラのファンクション定 ISブロック FDの構成
表 1 5
Figure imgf000094_0001
同表において、 R Bnは、 リードフォーマッ ト分割ブロックを示す ( プロック分割の例を表 1 6に示す。
コン トローラ 'リードフォーマ ヅ ト 'ブロック分' i|
【表 1 6】
Figure imgf000094_0002
表 1 4と対応させて、 使用するプロックの設定ビッ トを " 1 " に、 未使用を " 0 " にセッ 卜する。 未使用のブロヅクは、 ファンクション · ライブラリか ら無視される。
標準コントローラのデバイス I Dとデータフォーマツ ト標準コントローラ のデバイス I Dの例を表 1 7に示す。 同表は、 コン卜ローラのみのファンク シヨンをもつ標準コントロ一ラのデパイス I Dの例を示している。
W準コン トローラのデパイス ID
【表 1 7】
Figure imgf000094_0003
同表に示されるデバイス I Dは、 第 1番目のデータから第 1 6番目のデー
差替え用紙 (規則 26) 夕まで順に
00h--OυOυhη--OυOυhη--0υ1 ihn--3sCしh XI--l丄F X"h n--OuOuhn--OuOuhn--OuOuhn--Ou0uhii--0u0uhn--OuOuhn--0uOuhn--0u0uhn--0u0uhn--0U0Uhh となる o 標準コントロ一ラのデ一夕フォーマヅ ト (リードフォーマッ ト) * 表 18に示す(
標準コン 卜ローラのリ一ドフォーマッ ト
【表 1 8】
Figure imgf000095_0001
標準コントローラには、 ライ 卜フォーマヅ トは予定されていない。
ストレージ系ファンクションストレージ系ファンクションは、 データを保存 するためのストレ一ジ系ファンクションのファンクション夕イブと、 ファ ンクシヨン定義ブロックを示す。 ファンクション定義以外の情報 (全容量 等) は、 コマンドのゲヅ トメディアインホ [GetMedialnfo]で取得する。 ファンクションタイプは、 FT\= "1"、 ファンクション (ストレージ)定義 ブロックは、 表 1 9のようになる。
ストレージのファンクション定義ブロックの構成
【表 1 9】
Figure imgf000095_0002
同表において、 P T。~P T7は、 パーティシヨン数を表す。パーティシヨン は 1個〜 256個まで設定できる。 パーティシヨン数 =(Ρ Τ+ 1)【個]であ る。 ΒΒ。~ΒΒ7は 1プロック(Block)のパイ ト数を表す。 32パイ ト〜 8 1 92パイ トまで設定できる。 1ブロックのパイ ト数二(B B+ l)x 32 [パイ 卜] である。 R A0~RA3は 1プロックリードのアクセス数を表す。
sえ用紙 (規則 26) 1プロックのデ一夕をリ一ドするためには、 何回アクセスしなければなら ないかを設定する。 アクセス数は、 1回〜 1 5回まで設定できる。 1ァク セスのデータ量は、 1プロヅクの容量をアクセス数で等分割した量である。 アクセス数 =RA [回]、 1アクセスの容量 = 1ブロックの容量/ R A [パイ 卜]、 RA= 0はリードのアクセスがないことを示す。 WA3〜WA。は 1ブ ロックライ 卜のアクセス数を表す。 1ブロックのデータを書き込むために は、 何回アクセスしなければならないかを設定する。 アクセス数は、 1回 〜 1 5回まで設定できる。 1アクセスのデ一夕量は、 1ブロックの容量を アクセス数で等分割した量である。 アクセス数 =WA [回】、 1アクセスの 容量 = 1プロヅクの容量/ W A [バイ ト]、 WA= 0はライ トのアクセスが 無いことを示す。 RMは、 リムーパブル 'メディアを表す。 データを保存 するメディアがリムーバブル (FDやフラッシュメモリーカードなど) で あるかを設定する。 RMの設定値の例を表 20に示す。
【表 20】
Figure imgf000096_0001
また、 表 19において、 FD6〜FD。は、 予約ビッ 卜をを表す。 予約ビッ トは、 将来のための予約用設定ビッ 卜である。 通常全ビッ ト "0" にしておく。
B/WL CD系ファンクション: B/WL CD系ファンクションは、 簡単な映 像を出力する、 モノクロのドッ トマト リックス液晶ディスプレイ系のファンク シヨンタイプと、 ファンクション定義ブロックを示す。 ファンクション定義以 外の情報 (解像度等) は、 コマンド [Get Media Info]で取得する。 ファンクショ ン夕イブ FT 2 = "1" である。 B/WL CD系ファンクション定義ブロック は、 例えば、 表 2 1に示すようになる。
差替え用紙 (規則 26) B/W LCDのファンクション定義ブロックの構成
【表 2 1】
Figure imgf000097_0001
表 2 1において、 P T7〜P T。は L CD数を表す。 1個〜 256個まで設定で きる。 L CD数- (P T+ 1) [個]である。 BB7〜BB。はブロック転送 1回の パイ ト数を表す。 32パイ 卜〜 8 1 92パイ 卜まで設定できる。 1プロヅク のパイ ト数 = (BB+ l)x 32 【パイ ト]である。 WA3〜WA。は 1プロックラ イ トのアクセス数を表す。 1ブロックのデータを書き込むためには、 何回ァ クセスしなければならないかを設定する。 アクセス数は、 1回〜 1 5回まで 設定できる。 1アクセスのデータ量は、 1ブロックの容量をアクセス数で等 分割した量である。 アクセス数= 八 [回]、 1アクセスの容量 = 1プロヅク の容量/ WA 【バイ ト】、 WA== 0は書き込みのアクセスがないことを示す。
HZVは、 LCDデータの並びが、 横か縦かを指定する。 これを表 22に示す。
H/Vの値
【表 22】
Figure imgf000097_0002
表 2 1において、 B/Wは液晶ディスプレイがノーマリブラック (Normally Black) か、 ノーマリホワイ ト (Normally White) かを指定する。 これを表
2 3に示す。 B/W
【表 23】
Figure imgf000097_0003
その他のファンクシヨンコントローラ系以外のフアンクションのデ一夕フ ォーマヅ 卜とファンクション定義ブロックの詳細内容については、 各ファン クシヨンの個別仕様書 (図示せず) によって定められる。
実際の周辺装置へのアクセス例周辺装置への実際のアクセス方法の例につ いて、 以下に説明する。
差替え用紙 (規則 26) 接続後の処理
( 1 ) ホス トは、 基本デバイスから返信されたコマンド、 デバイススティ タス [Device Status] に記述してある仕向地、 製品名、 ライセンス、 動作電流等を確認し、 ホス トの仕向地と整合の取れないもの、 アブ リケ一ションがサポ一トしていないもの、 ハードウエアで動作不可 能なものなどを確認する。 ホストは、 基本デバイスが不適格な場合、 当該基本デバイスのハードリセッ ト、 または、 以後当該基本デバィ スをアクセスしないような処理を行う。
( 2 ) ホストは、 デバイスステイタス [Device Status] に記述してあるデ —夕から、 基本デバイスのファンクションタイプを確認する。 ホス トは、 ファンクションタイプ設定ビッ トの上位から検索し、 上位 3 つまでのファンクション · ライブラリを呼び出す。 その後、 ファン クションの定義プロックから必要となるデータの準備を行う。
( 3 ) ホストは、 送信元 A Pの値から、 拡張デバイスが接続されているこ とを判別した場合、その拡張デバイスにデバイスリクエスト [Device Request] を送信して、 ( 1 ) からの処理を繰り返す。
ファンクションへのアクセス
接続後、 ホストは周辺装置との通信に入り、 周辺装置のファンクションへ アクセスする。 これをポート Aに接続されている周辺装置が標準 (ゲーム) コントローラ (基本デバイス) である場合を例にして説明する。
( 1 ) ホストは、 標準コントローラにデータを要求する。 コマンドはゲッ トコンディション [Get Condition] を使用する。 このコマンドは、 フアンクシヨンの物理的な状態を返すように指定するコマンドであ る。 ホス 卜はゲームコントローラに対し、 ボタンや、 キー、 レバー の状態を要求する。 コマン ド送信の間隔は 1イン夕一バル (INT) 毎が望ましく、 例えば、 それより早いアクセスは禁止される。 ホス 卜から周辺装置 (コン トローラ) に送信される送 ί言データの咧を表
2 4に示す。
ホス 卜から周辺 への送信データ
【表 2 4】
Figure imgf000099_0001
( 2 ) コントローラからデ一夕フォーマツ 卜に則ってデータがホス卜に返信さ れる。 コマンドはデ一夕 トランスファ [Data Transfer] が使用される。 周辺装 置 (コントローラ) からホストに送信されるデ一夕の例を表 2 5に示す。
周辺装置からホス トへの送信データ
【表 2 5】
Figure imgf000099_0002
ファンクションタイプは、 ホス トが送信したタイプがそのまま格納され、 そ れに従って、 リードフォーマッ トが付加される。 コントローラのリードフォー マツトは 8パイ トである。
例外処理例外処理は、 データ送受信をコマンドでコントロール出来ない装置 のために用意された、 特別な処理である。 代表的なものは光線銃である。
光線銃 (Light- G U N )
( 1 ) ホス卜は、 周辺装置がシユーティングゲームに用いる光線銃や模擬銃 のデバイス I Dを持つことを認識した場合は、 光線銃を使用する時に
差替え用紙 (規則 26) Mバスを通常モードから SD CKB占有モードに切り換える。周辺装 置側からモ一ド切り換えは出来ない。 ホス卜が SD CKB占有パ夕一 ン (図 52参照) を送信し、 ポートが S DC KB占有モードになると、 そのポートの全ての周辺装置が SD C KB占有モ一ドになり、 SD C KB占有モードで動作する周辺装置以外は動作しない。 1つのポート に光線銃のデバイス I Dを持つ周辺装置が複数接続されている場合 は、 ホストは、 注意メッセージなどでユーザーに知らせ、 接続数を 1 つにするように表示や音声で案内する。
( 2 ) Mバスを S D C KB占有モ一ドから戻すためには、 ホス卜が解除処理 を行う。 SD CKB占有モード終了後は、 すぐに通常モードになる。
(3) 光線銃の場合、 1インターバル (INT)の画面書き換えの時間の内、 垂 直プランキング期間を除いた時間、 つまり、 TV画面を描画している 期間が SD CKB占有モ一ドとなる。 画面を描画している期間が終わ り、 ブランキング期間になった時、 すぐに通常モードに切り換えて、 そのポー卜の他の周辺装置に対して、 データの送受信が行える。
(4) 光線銃の機能を実現する為には、 受光素子をもつ部分を 1ファンクシ ヨン (拡張デバイスでも可) とし、 トリガーや方向キー, アナログキ —などの部分を別の 1ファンクション (拡張デバイスでも可) とする。 こうすることで、 従来、 光線銃を使用する時には方向キーが使用でき ない、 というような問題を克服できる。 また、 光線銃が単体のファン クシヨンとなるので、 他の拡張装置との接続も可能となる。 ( 5) S D CKB占有モード中は、 タイムァゥ ト(Time Out)処理は行わない。 ホストの内部イン夕一フェイス Mバス ドライバとホスト用 M I Eとのイン夕 一フェイス (図 46、 図 63参照) を説明する。
ホス 卜の内部ィン夕ーフェイスの概要図 63に示すペリフェラルコン ト口一 ラは、 複数のレジス夕によって構成されるレジス夕セッ トを夕一ゲヅ ト部 5 2 a内に備えている。 すなわち、 ペリフェラルコントローラは、 32ビッ トの D MAインストラクションテーブルアドレスレジスタ、 DMAトリガセレクショ ンレジスタ、 DM Aイネ一ブルレジスタ、 DM Aスタート /ステイタスレジス 夕、 システムコントロールレジス夕、 ステイタスレジス夕、 ハードトリガクリ ァレジス夕、 ワークラムエリアプロテクションレジス夕等を含んで構成される。 以下、 ホストのペリフエラルイン夕一フェイスの基本動作を説明する。 ペリ フェラルコントローラは、 V_BLANK信号に同期 (システムコントロールレジ ス夕により起動遅延設定可) し、 DMAインス トラクションテーブルアドレス レジス夕で示されるワーク: RAM (Work RAM) 上の送信データを送信デ一夕 F I FOへロードする。 ワーク RAMはメインメモリ上の所定ェリアを割り当 てることによっても構成できる。 送信データは、 ィンス トラクシヨン +受信デ —夕ストアアドレス +送出データ、 により構成される。
インストラクションはペリフェラルコントローラへ与える命令であり、 イン ストラクシヨン終了、 出力ポート、 送出デ一夕長等を設定する。 また、 インス トラクシヨンが終了を示さない場合、 送信デ一夕 F I F〇がェンプティになり 次第、 引き続きワーク RAM上の送信データを送信デ一夕 F I F 0へロードす る (32バイ ト単位で行われる)。 受信データス トァァドレスには受信データを ス トアする先頭ァドレスを設定する。 送出デ一夕はアプリケーションプロ トコ ルで支配される実際に周辺装置に転送されるデ一夕である(4バイ ト単位)。周辺 装置からの受信デ一夕は 4バイ ト単位であり、 受信データ F I FOがフル (3 2ノ イ ト) になり次第、 受信データス トアアドレスで示されるワーク RAMの エリアへ転送される。 ただし、 F I F 0がフルでなくても受信が終了次第、 強 制的に 32バイ トとして転送する (有効データ +無効データ)。
また、 周辺装置が未接続や、 不具合等により Time Out (例えば、 1 mS e c) を起こした場合、 32ビッ トの ffff_ffffhが、 そのインス トラクシヨンに対応す る先頭受信データス トァアドレスに書き込まれる。 パリティエラ一を起こした 場合、 32ビヅ 卜の ffff_ff00hが書き込まれる。 一連の動作が終了した場合、 ぺ リフエラルコントローラは動作を停止し、 DM Aス夕一ト /ステイタスレジス 夕へ状態を反映する。
レジス夕マップ DM Aィンス トラクションテ一ブルアドレスレジス夕 DMA インストラクションテーブルアドレスレジス夕は、 32ビヅ 卜で構成されるリ 一ドライ ト可能レジスタである。 構成要素は、 ペリフェラルコントローラへの 命令 (ィンストラクシヨン)、 受信デ一タストァァドレス、 送信データ群の先頭 アドレスを示すビッ ト (Ct31〜Ct5) である。
DMAトリガセレクションレジス夕 DMAトリガセレクションレジス夕は、 32ビッ 卜で構成されるリードライ ト可能なレジス夕である。 構成要素は、 送 受信の起動トリガをソフ トウェア起動とするか、 ハードウエア起動 (Vブラン クアウト) にするかの選択ビッ ト (Ts) である。
D M Aイネ一ブルレジス夕 D M Aイネ一ブルレジス夕は、 32ビッ トで構成 されるリードライ ト可能なレジス夕である。 構成要素は、 送受信のイネ一ブル、 ディセーブルの選択ビッ ト ( T n) である。 ソフ トウェアトリガ時、 本ビッ トを イネ一ブルにし、 DM Aスタート /ステイタスレジス夕で示す DMAスタート ビヅ トを " 1" にすることで送受信が開始される。 ハードゥエアトリガ時、 本 ビッ トをイネ一ブルにしハード トリガ (Vブランクアウ ト) が検出され次第、 送受信が開始される。 また、 ィネーブル状態において' 0'を書き込むことにより 強制終了することができる。
DMAス夕一卜/ステイタスレジス夕 DMAスタートレジス夕は、 32ビッ 卜で構成されるリードライ ト可能なレジス夕である。 構成要素は、 送受信のソ フ トウェアスタートを行うビッ ト (Ss) である。 また、 リード時は送受信状態 を示すステイタスとなる。 起動トリガにソフ トウエアトリガを選択した時のみ' の書き込みが有効となり、 送信が開始される。
システムコント口一ルレジス夕システムコントロールレジス夕は、 32ビヅ 卜で構成されるリードライ ト可能なレジス夕である。 構成要素は、 周辺装置に 対するデータ送出からのタイムアウト(TimeOut)設定ビッ ト (To15〜To0)、 ノ、 —ドゥエアトリガ時 Vブランクァゥト毎に起動を行うか、 クリアレジス夕上の フラグをクリアするまで停止しているかの選択ビッ ト(S i)、転送レートの設定 ビット(Dc3〜Dc0)、ハードウエア起動時の起動タイミングの設定 (Vブランクァ ゥトからの遅延設定)ビッ ト (Dt3〜Dt0) である。 タイムァゥト設定時間は、 設 定時間 = 20 n s X To15〜To。となる。 例えば、 300 /s = 20 ns x 3 a 98h で設定できる。 Siは自動起動の反復設定ビッ トである。 同ビッ トが "0"のときは各ィン夕ーバル毎に行う。 "1"のときはハードトリガクリアレ ジス夕のフラグクリアまで、 次の起動は行わない。 ϋ(^〜ϋ(¾は、 転送レート設 定ビッ トを表す。
ステイタスレジス夕ステイタスレジス夕は、 32ビッ トで構成されるリード 専用レジス夕である。 構成要素は、 ペリフェラルコントローラが動作中 (送受 信中) を示すビヅ ト (Do)、 内部ブロックのフレームカウン夕をモニタするビ ッ ト (Fm2〜Fm。)、 内部ブロックのステートカウン夕をモニタするビッ ト (S t5〜St0)、 各ポートの入出力ラインをモニタするビッ ト (La3〜La。、 Lb3〜L b0) である。 このレジス夕はハードウェアデバッグ用のレジスタであり、 ァプ リケーションでは使用しない。
ハードト リガクリアレジス夕ハード トリガクリアレジス夕は、 32ビッ 卜で 構成されるライ ト専用レジス夕である。 このレジス夕の構成要素は、 ペリフエ ラルコントローラのシングルハードウエア自動起動停止の解除ビッ ト (Tc) で ある。 このビッ トに " 1" を書き込むことにより、 自動停止がクリアされる。 ヮ一クラムエリアプロテクションレジス夕ヮ一クラムエリアプロテクション レジス夕は、 32ビッ トで構成されるライ ト専用レジス夕である。 このレジス 夕の構成要素は、 1 6ビッ トの書き込みセキュリティコード、 受信データのス トァァドレスの範囲先頭 (Ha)、 終了 (Ta) ァドレスを設定するビッ トである。 送信データァ ドレスカウン夕レジス夕送信データァ ドレスカウン夕レジス夕 は、 3 2 ビヅ 卜で構成される リード専用レジスタである。 構成要素は、 ペリフ エラルコン トローラが読み込むワーク R A M(Work RAM)上の送信デ一夕のァ ドレスポイン トを示す。 デバッグ用レジスタであるためアプリケーションでは 使用しない。
受信デ一夕アドレスカウン夕レジス夕受信データア ドレスカウン夕レジス夕 は、 3 2 ビッ トで構成される リード専用レジス夕である。 構成要素は、 ペリフ エラルコン トローラが書き込むワーク R A M(Work RAM)上の受信デ一夕のァ ドレスボイン トを示す。 デバッグ用レジス夕であるためアプリケ一ションでは 使用しない。
受信デ一夕ベースァ ドレスレジス夕受信データべ一スァドレスレジス夕は、 3 2 ビッ 卜で構成される リード専用レジス夕である。 構成要素は、 ペリフェラ ルコン トローラが書き込むワーク R A M上の受信デ一夕の先頭ァドレスを示す ( デバヅグ用であるためアプリケーシヨンでは使用しない。
送信データ次に、 送信データについて説明する。 送信デ一夕は 1つの単位を、 インス トラクション、 受信デ一夕ス トアアドレス、 送出データで構成する。 ヮ ーク R A M上に、 イ ンス トラクション +受信データス トァア ドレス +送出デー 夕 +イ ンス トラクシヨン +受信デ一タス トァァ ドレス +送出データ… と配置 すれば、 ペリフェラルコン トロ一ラは順次実行する。
インス トラクションインス トラクションは、 ペリフェラルコン トローラを制 御する為にアプリケーションプログラムから該コン トローラに与えられる 3 2 ビッ トのデータである。 構成要素は、 実効ィ ンス トラクションの最終を示す最 終ビッ ト (E f)、 送受信の対象となるアクティ ブポートの選択ビッ ト (P o13 P o 0)、 パターン選択ビッ ト (P n2〜P n0)、 送出デ一夕長選択ビッ ト (L n8〜L n0) である。 ペリフェラルコントローラは E f ビッ 卜に " 1 " を検出した場合、 このィンス トラクションで処理を終了する (送信データの最終コマン ドは必ず Ef ビッ トを " 1 " にしなければならない)。 また、 E f ビッ トに " 0 " を検出 した場合、 次のィンストラクシヨンを実行する。 パターン選択ビッ 卜に [S T ART] を選んだ場合、 送出デ一夕を出力する。 それ以外のパターン (SD C KB占有許可、 RE SE T、 SD CKB占有解除) を選択した場合、 ポートに は情報パターン出力のみで送出データ長の指定は無効となる。 SD CKB占有 許可パターンを選択した場合、 そのィンストラクシヨンの Ef ビッ トは "1"に しなければならない。 次のインストラクションの実行は、 SD CKB占有解除 パターン以外、 すべて無効となる。 また、 ペリフェラルコントローラは S D C KB占有の間、 SD CKBラインより入力されるネガティブエッジを HVカウ ン夕のラッチ信号として出力する。 送出デ一夕長選択ビッ ト L nは、 例えば、 4バイ ト単位で 1024バイ トまで指定できる。
受信データストァァドレス受信データス トァァドレスは、 受信デ一夕をスト ァする為の先頭アドレスの設定ビッ ト (Ra) である。
送出データ送出データは実際に周辺装置へ送信されるデータである。 送出デ 一夕のデータ長は上記ィンス トラクシヨンで設定される送出データ長のサイズ 分存在しなければならない (32ビッ ト単位)。
割り込みレジス夕割り込み関連のレジス夕は、 本イン夕フェースには含まれ ない。 本イン夕一フェイスからは、 割り込みブロックへ 6本の信号が接続され ている。 割込みが生じるのは、 例えば、 送受信終了 (DMA終了) の場合、 送 受信動作 (DMA) が VBLANKINにまたがつている場合、 受信 F I FOがフ ル状態のときに、 更に、 受信 F I FOにデータ書き込みを行おうとした場合、 DMAイ ンス トラクションテーブルア ドレスのプロテクションエリァ外設定及 び起動の場合、 イリーガルインス トラクションのフエツチの場合等である。
HVカウン夕レジス夕ライ トガン(Light-Gun)モードでの HVカウン夕レジ ス夕は、 本イン夕フェースには含まれない。 本イ ン夕一フェイスからは、 描画 プロヅクへ HVラッチ信号が接続されている。 アプリケーションは V BLANK 期間に描画ブロックの HVカウン夕値を読む。
送受信シーケンス次に、 送受信シーケンスについて説明する。 送受信シーケ ンスには、 以下に説明する、 通常シーケンスと SD CKB占有手順とが含まれ る。
通常シーケンス通常シーケンスの一例を図 6 1に示す。 同図は、 後に詳細に 説明される図 63に示されるホス トの CP U、 ペリフェラルコントローラ、 図 64に示される周辺装置 A及び Bのデータ送受の流れを示している。
図 6 1において、 ホス トの CPUは、 既述 A Pの確立によって各ポートへの 周辺装置接続の有無と各周辺装置の送信先 APを知っている。 そして、 各周辺 装置へのデバイスリクエス ト [Device Request] の送信及びその返信によって 各周辺装置の内容を把握している。 CPUは、 例えば、 アプリケーション等の 要求に基づいて周辺装置 Aとのデータ通信を行うべく、 DM A動作のワーク R AMに送信データを設定し、 ペリフェラルコントローラのターゲッ ト部 52 a 内のレジス夕にインストラクション等の各種設定を行う。 また、 例えば、 周辺 装置 Bとのデ一夕通信を行うべく、 ワーク RAMに送信データを設定し、 ペリ フェラルコントローラの夕ーゲッ ト部 5 2 a内のレジス夕にインス トラクショ ン等の各種設定を行う。 このインス トラクシヨンはペリフェラルコントロ一ラ へ与える命令であり、 インス トラクション終了、 出力ポート、 送出データ長等 を設定する。 また、 インス トラクションが終了を示さない場合、 送信 F I FO 53 aがェンプティになり次第、 引き続きワーク RAM上の送信デ一夕を送信 F I F 053 aへ口一ドする。 ロードは、 例えば、 32バイ ト単位で行われる。 ペリフェラルコントローラは、 例えば、 供給されるビデオ信号の Vブランク (V BLANK) 信号の立ち上がり (ブランキング期間終了) に同期し、 DMA インストラクションテーブルァドレスレジス夕で示されるワーク RAM (Work RAM) 上の送信デ一夕を送信 F I F 053 aへロードする。 なお、 既述したよ うに、 システムコントロールレジス夕により起動遅延設定が可能である。 ペリ フェラルコントローラは、 CPUが出力したィンス トラクシヨン及びデ一夕に 基づいて図 48に示すフレーム形式の送信データを形成し、 この送信デ一夕を 該当ポートの Mバスに送る。
周辺装置 Aは、 Mバス上のデータ信号を常時監視している。 送信デ一夕の送 信先 APが自己のアドレス (AP) であることを確認すると、 この送信デ一夕 を取込む。 周辺装置 Aはコマンドに対応する処理を行い、 所定フレーム形式の 返信データを作成して Mバスに送信する。
ペリフェラルコントローラは、 周辺装置 Aからのデータを受信すると、 受信 デ一夕を受信 F I F 05 6 bに一旦取り込み、 これを DM A動作のワーク R A Mに転送する。 周辺装置からの受信データは、 例えば、 4バイ ト単位であり、 受 信 F I FO 56 bがフル (32バイ ト) になり次第、 受信データストァァドレ スで示されるワーク RAMへ転送される。 ただし、 受信 F I F 056 bがフル でなくても受信が終了次第、 強制的に 32バイ トとし転送する (有効データ + 無効デ一夕)。 次に、 ワーク RAMに残っている周辺装置 Bに送信すべきデータ を読み取って、 送信データの F I F 053 aに取り込み、 周辺装置 Bへの送信 データを形成する。 これを周辺装置 Bが接続されているポー卜の Mバスに送出 する。
周辺装置 Bも同様に、 Mバス上のデ一夕信号を常時監視している。 送信デー 夕の送信先 APが自己のアドレス (AP) であることを確認すると、 この送信 デ一夕を取込む。 周辺装置 Bはコマン ドに対応する処理を行い、 所定フレーム 形式の返信データを作成して Mバスに送信する。
ペリフェラルコン トローラは、 周辺装置 Bからのデ一夕を受信すると、 受信 デ一夕を受信 F I FO 5 6 bに一旦取り込み、 これを DM A動作のワーク R A Mに転送する。
CPUは、 供給されるビデオ信号の Vブランク (V BLANK) 信号の立ち下 がり (ブランキング期間開始) に同期し、 ペリフェラルコントローラからステ ィ夕スを読み取る。 これにより、 周辺装置からのデ一夕の存在を知る。 ワーク RAMの該当エリァから保存した受信デ一夕を読み取る。 このデ一夕をアプリ ケ一ションに返す。
このような手順を繰り返して、 ホス トと周辺装置とのデータ通信が行われる。 一連の動作が終了した場合、 ペリフェラルコントローラは動作を停止し、 DM Aス夕一ト /ステイタスレジス夕へ状態を反映する。
なお、 周辺装置が未接続や、 不具合等によりタイムアウト (例えば、 l mS e c) を起こした場合、 32ビッ トの ffff— ffffhが、 そのコマンドに対応する先 頭受信データス トァアドレスにペリフェラルコントローラによって書き込まれ る。パリティエラーを起こした場合、 32ビヅ 卜の ffff_ff00hが書き込まれる。 CPUは、 これに対応した処理を行う。
SD CKB占有手順 (light-GUN) 次に、 S D C K B占有手順について図 6 2を参照して説明する。 SD CKB占有手順は、 例えば、 射撃ゲーム (shooting game)における周辺装置としての光線銃とホストとのデ一夕通信に使用される。 前述したように、 CPUは、 既述 APの確立によって各ポートへの周辺装置 接続の有無と各周辺装置の送信先 APを知っている。 そして、 各周辺装置への デバイスリクエス ト(Device Request)の送信及びその返信によって各周辺装置 の内容を把握している。 CPUは、 例えば、 射撃ゲームアプリケーションの要 求に基づいて光線銃とのデータ通信を行うべく、 DM A動作でワーク RAMに 送信デ一夕を設定し、 ペリフェラルコントローラのターゲッ ト部 52内のレジ ス夕にィンストラクシヨン等の各種設定を行う。
例えば、 ガンゲームのアプリケーションが、 S D C KB占有を CP Uに要求 すると、 CPUは、 ポートの動作を通常モードから SD CKB占有モードにす る。 既述コマンドによって、 選択ポート、 SD CKB占有許可、 を含む送信デ —夕をワーク RAMに書き込む。 DM Aコマンドテーブルアドレスレジス夕に ワーク RAM上のデ一夕のァドレスを書き込む。 ペリフェラルコントローラは、 例えば、 供給ざれるビデオ信号の Vブランク (V BLANK) 信号の立ち上がり (ブランキング期間終了) に同期し、 DMA コマンドテーブルアドレスレジス夕で示されるワーク RAM (Work RAM) 上 の送信データを送信データ F I F 05 3 aへ口一ドする。 ペリフェラルコント ローラは、 ワーク RAMからコマンド及びデータを読み出し、 図 52に示す形 式の SD C KB占有許可パターンの信号を形成し、 これを該当ポートの Mバス に送る。
周辺装置 Aは、 Mバス上のデータ信号を常時監視している。 SDCKB占有 許可パターンを受信すると、 周辺装置 Aは任意のタイミングで出力を Mバスに 送出することが可能となる。 使用者によって周辺装置 A (光線銃) が操作され る (引き金が引かれる) と、 周辺装置 A (光線銃) はトリガ信号を Mバスに送 出する。
ペリフェラルコントローラは、 周辺装置 Aからのトリガ信号のデータを受信 すると、 図示しない HVカウン夕のラッチ信号を出力する。 HVカウンタは、 テレビ画面上を走査する輝点の位置に対応する値を数える。 ラツチされた H V カウン夕値により、 周辺装置 A (光線銃) をトリガしたときの画面上の着弾位 置を判別可能である。
CPUは、 周辺装置が光線銃の場合、 供給されるビデオ信号の 1イン夕一バ ルのテレビ画面描画期間を SD CKB占有期間として割り当てる。 そこで、 描 画期間が終わって Vブランク (V BLANK) 信号が立ち下がる (ブランキング 期間開始) と、 CPUは、 SD CKB占有モードを解除し、 該当ポートの動作 を SD CKB占有モードから通常モードにする。 このため、 CPUは、 既述コ マン ドによって、 選択ポート、 SD CKB占有解除、 を含む送信デ一夕をヮー ク RAMに書き込む。 DMAコマン ドテーブルアドレスレジス夕にワークス R AM上のデータのァドレスを書き込む。
ペリフェラルコン ト口一ラは、 直ちに、 DM Aコマン ドテ一ブルア ドレスレ ジス夕で示されるワーク RAM (Work RAM) 上の送信デ一夕を送信 F I F 0 へロードする。 ペリフェラルコントローラは、 ワーク RAMからコマンド及び データを読み出し、 SD CKB占有許可解除パターンの信号を形成し、 これを 該当ポー卜の Mバスに送る。
周辺装置 Aは、 Mバス上のデ一夕信号を常時監視している。 SDCKB占有 解除パターンを受信すると、 周辺装置 Aは出力のイネ一ブル状態を解除する。 このようにして、 ビデオ信号の 1インターバルのうち、 テレビを描画してい る期間は SD CKB占有モードとなり、 垂直ブランキング期間は、 通常動作モ ードとなる。 従って、 光線銃のようなランダムに出力を発生する周辺装置を使 用している場合にも、 同じ Mバスに接続された他の周辺装置を使用可能である。 レジス夕設定方法レジス夕設定の一例について、ソフ ト起動とハード起動(ト リガ毎に自動起動) の場合について説明する。
ソフ ト起動では、 以下の場合にレジス夕の所定値の設定を行う。 初期化 1.ヮ —ク RAM(Work RAM)ェリァプロテクションレジス夕設定 2.システムコント 口一ルレジス夕設定 3.DMAトリガセレクションレジス夕設定実行手順 4.ヮ一 ク R AM(WorkRAM)へのデータ設定 (DMAコマンドテ一ブル) 5.DMAコマ ンドテ一ブルアドレスレジス夕設定 6.DM Aィネーブルレジスタ設定 7.DMA スタート /ステイタスレジス夕設定終了確認 8. DMAスタート /ステイタスの 確認 9.ワーク RAMへ受信デ一夕読み込みハード起動 (トリガ毎に自動起動) では、 以下の場合にレジス夕への所定値の設定を行う。
初期化 1.ワークラムエリアプロテクションレジス夕設定 2.システムコントロ 一ルレジス夕設定 3.DMAトリガセレクションレジス夕設定実行手順 4.ワーク R AM(WorkRAM)へのデ一夕設定 (DMAコマンドテーブル) 5. DMAコマン ドテーブルァドレスレジス夕設定 6. DMAィネーブルレジス夕設定 7.DMAス タート/スティタスレジス夕設定終了確認 8. DMAスタート/ステイタスの確 認 9.ワーク RAMへ受信デ一夕読み込みホス 卜の MI Eプロック図図 63は、 ホス トのペリフェラルコン トローラ (M I E ) 1 hの概略構成 (ペリフエラル コン トローラ) を示すブロック図である。 同図において図 2 1と対応する部分 には同一符号を付している。
図 6 3において、 イニシエータ部 5 0は、 ペリフェラルコントローラ 1 が 動作状態になったときに、 バスマス夕となってワーク R A Mにアクセスする役 割を果たす。 周辺装置に送信すべきデータのワーク R A Mからの読み出しや、 周辺装置から受信したデータのワーク R A Mへの書き込み等を行う。 クロック ディバイダ 5 1は、 送信デ一夕のビッ トレート (転送レート) 選択用のクロッ ク分周回路である。 ターゲッ ト部 5 2 aは、 ルートバス上でターゲッ トとして 動作するプロックであり、 ホストの C P Uによって 3 2ビッ 卜でリード/ライ トされる前述したレジス夕群で構成される。 主に、 インス トラクション等が書 き込まれる。 送信デ一夕テンポラリレジス夕 5 3 bは、 3 2バイ トの送信デ一 夕 F I F O 5 3 aからの送信用データ 3 2 ビヅ トを保持しておく為のレジス夕 である。 送信デ一夕 F I F 0 5 3 aは、 送信データを一時保持する 3 2バイ ト の F I F 0 (Firtst In First Out)、 すなわち、 先入れ先出し動作のレジス夕であ る。 受信デ一夕 F I F 0 5 6 bは、 3 2バイ 卜の受信デ一夕 F I F 0である。 受信デ一夕テンポラリレジス夕 5 6 aは、 受信デ一夕 3 2ビッ トを保持してお く為のレジス夕である。 デ一夕の受信完了次第、 受信デ一夕を受信デ一夕 F I F 0 5 6 bへ書き込む。ィンターラプト信号制御部 5 4は、 ィン夕一ラブト (割 り込み処理) 部へ送る 1クロックパルスのィン夕ラブト (割り込み) 信号を一 定の条件下に発生する。 フレームコントローラ 5 8は、 インストラクション等 に基づいて送信フレーム (スタートパターン、 デ一夕パターン、 エンドパター ン等) をコントロールするブロックである。 フレームエンコーダ 5 9は、 フレ —ムパターンを作成するブロックである。 オルタネイ トシフ トレジス夕 (パラ レル /シリアル) 6 0は、 パラレル送信データを交互に 2本のシリアルライン に変換する回路である。 また、 オル夕ネィ トシフ トレジスタ 6 0は、 送信デ一 夕のパリティ計算を行い、 送信デ一夕の最後にバリティデータ (例えば、 1バ イ トのパリティビッ ト) を付加する。 フレームデコーダ 6 1は、 受信信号のフ レームを解析する回路である。 オル夕ネィ トシフ トレジス夕 (シリアル/パラ レル) 6 2は、 2本のシリアルラインから交互に来るデ一夕を、 パラレルデ一 夕に変換する回路である。 また、 オルタネイ トシフ トレジスタ 6 2は、 受信デ 一夕のパリティ計算を行う。 その計算結果と、 受信したパリティデ一夕とを照 合してエラーの有無を判別する。 エラ一があると、 インタラプト信号制御部 5 4を介して C P Uのインタラプトコントローラにエラ一を知らせる。 これによ り、 C P Uは再送指令等のエラ一処理を行うことが出来る。 H Vラッチ信号コ ントロ一ラ 6 3は、 シリアルラインからの H ラツチ信号を描画プロセッサ部
(ビデオ信号形成部) 1 f の H Vカウン夕へ渡す回路である。 ポートコント口 ーラ 5 7は、 送受信の対象となるァクティブポ一トをコントロールする。 すな わち、 インストラクシヨンによって選択された送信ポ一卜の 3ステートバッフ ァ 6 8 aから 6 8 hを制御して、 セレクタ 6 4及び 6 5の各出力 S D C K A及 び S D C K Bを選択ポートに導出する。 セレクタ 6 4は、 フレームコント口一 ラ 5 8によって制御され、 フレームエンコーダ 5 9の出力またはオル夕ネィ 卜 シフトレジス夕 6 0の出力を選択して S D C K A信号を形成し、 選択された 3 ステ一トバッファ 6 8を介して Mバスラィンに出力する。 セレクタ 6 5は、 フ レームコン トローラ 5 8によって制御され、 フレームエンコーダ 5 9の出力ま たはオル夕ネィ トシフ トレジス夕 6 0の出力を選択して S D C K B信号を形成 し、 選択された 3ステートバッファ 6 8を介して Mバスラインに出力する。 セ レク夕 6 6は、 ポートコントローラ 5 7の指令に従って受信ポ一トを選択し、 バッファアンプ 6 9を経た受信信号 S D C K Aをフレームデコーダ 6 1及びォ ル夕ネイ トシフ トレジスタ 6 2に供給する。 セレクタ 6 7は、 ポートコント口 —ラ 5 7の指令に従って受信ポ一トを選択し、 ノ ソファアンプ 6 9を経た受信 信号 S D C K Bをフレームデコーダ 6 1及びオルタネィ トシフ トレジス夕 6 2 に供給する。
周辺装置の内部ィン夕一フェイス
図 64は、 周辺装置としての基本デバイスの回路構成を概略的に示すプロック 回路図である。 また、 図 6 5は、 図 64に示されるソケッ トコントロール部 2 03及び通信処理部 204のイン夕フェース (基本デバイス用 M I E) をより 詳細に説明するブロック回路図である。 これ等の例では、 説明 (作図) の便宜 上、 外部拡張ソケットは 2つだけが描かれているが実際には、 既述したように、 4つの外部拡張ソケッ トを備えることができる。
CPUブロック 20 1は、 入力操作情報を担う送信デ一夕の形成や、 ホスト 1からの要求に対する返信データ処理等の基本デバイスの制御機能を担ってい る。 これには、 既述した、 セッ トアップの際のデバイス AP、 拡張デバイス A Pの確立等の初期動作が含まれる。 1 0ブロヅク202は、 入力手段の操作 情報をデータ信号に変換する。 基本デバイス 2がゲーム装置のコントロールパ ッ ドである場合、 複数のデジタルボタンや複数のアナログキ一等が入力手段に 相当する。 また、 I/Oブロック 202は、 C P Uの出力に従って各拡張ソケ ヅ トの I D 0、 I D 1端子を介して接続された拡張デバイスに LMバスの番号 を知らせる。 I D 0、 I D 1端子の役割は、 図 5 9を参照した拡張デバイスの A Pの設定手順で既に説明されている。 ソケヅ トコントロールブロック 203 は、 各拡張ソケッ トへの拡張装置の接続の有無を判別する。 そして、 拡張装置 が接続された拡張ソケヅ 卜の 3ステートバッファを導通して、 ホス卜からデバ イスに導出されたデ一夕線 S D〇1 八及び30 C KBをそれそれ LMバスのデ 一夕線 S D CK A及び S D C KBに接続する。 従って、 ホス ト 1から Mバスを 見ると、 等価的には、 Mバスに複数の周辺装置 (基本デバイス、 拡張デバイス) が並列に接続されているように見える。 通信処理プロック 2 04は、 受信デー 夕のデコード、 C P Uの出力データのエンコード等を行う。 CPUブロック 2 0 1〜通信処理プロック 204は、 1チップ集積回路構成とすることが可能で ある。
通信処理部 204は、 ホス ト 1から受信したフレームの復調、 CPU部 20 1の出力した送信デ一夕のフレーム化 (デコード) の役割を担っている。 通信 処理部 204はソケッ トコントロール部 203と共に、 M I E (入出力イン夕 フェース) の主要部分を構成する。
ホストが Mバスに出力した SD CK A信号 (下り信号) は、 バヅファアンプ 2 1 2 aを介して通信処理部 204に供給される。 また、 バッファアンプ 2 1 2 aを経た S D C K A信号は、 それそれ 3ステ一トバッファ 2 1 5 a及び 2 1 5 bを介して、 SD CKAD S— 1信号及び SD CKAD S— 2信号として、 LMバス 1及び 2に供給される。
ホス卜が Mバスに出力した SD CKB信号 (下り信号) は、 バッファアンプ 2 12 bを介して通信処理部 204に供給される。 また、 バッファアンプ 2 1 2 bを経た SD C KB信号は、 それそれ 3ステ一トバッファ 2 1 6 a及び 2 1 6 bを介して、 SD CKBD S— 1信号及び SD CKBD S - 2信号として、 LMバス 1及び 2に供給される。
一方、 デバイスの通信処理部 204が出力するホスト (上流) に向けての S D CKA信号は、 オアゲート 2 14 a (の第 1入力端子) 及び 3ステ一トバッ ファ 2 1 1 aを経て Mバスのデ一夕線 S D C K Aに出力され、 ホス トの MI E によって受信される。 また、 通信処理部 204が出力するホス トに向けての S D CKB信号は、 オアゲート 2 14 b (の第 1入力端子) 及び 3ステートパヅ ファ 2 1 1 bを経て Mバスのデ一夕線 S D C K Bに出力され、 ホス トの MI E によって受信される。 通信処理部 204が SD CKA信号及び SD CKB信号 を送出する際には、 オアゲート 2 13 a (の第 1入力端子) を介して 3ステー トバッファ 2 1 1 aの制御端子にイネ一ブル信号を与えてゲ一ト 2 1 1 aを開 放 (導通) させ、 また、 オアゲート 2 1 3 b (の第 1入力端子) を介して 3ス テートバッファ 2 1 1 bの制御端子にイネ一ブル信号を与えてゲート 2 1 1 b を開放させる。 3入力オアゲート 2 1 3 a及び 2 1 3 bの各入力端子は抵抗を 介して接地される。 入力端子に信号入力がない場合には当該入力端子は接地レ ベルに保持される。 また、 32入力オアゲート 2 14 a及び 2 14 bの各入力 端子は抵抗を介して電源 Vcc に接続される。 このため、 信号入力のない入力端 子は 「H」 レベルに保持される。
第 1の拡張デバイスが LMバス 1に出力した S D CKA信号は、 拡張ソケヅ ト 1の端子 S D C K AU S - 1を介してオアゲ一ト 2 14 a (の第 2入力端子) 及び 3ステートバッファ 2 1 1 aを経て Mバスのデータ線 S D CK Aに出力さ れる。 第 1の拡張デバイスが LMバス 1に出力した SD CKB信号は、 拡張ソ ケヅ ト 1の端子 S D。 8113— 1を介してォァゲート 2 1413 (の第 2入力 端子) 及び 3ステートバッファ 2 1 l bを経て Mバスのデータ線 S D CKBに 出力される。 第 1の拡張デバイスが SD〇 八信号及び30 C KB信号を送出 する際には、 第 1の拡張デバイスは、 LMバス 1の信号線 S D CKAEN 1、 オアゲ一ト 2 13 a (の第 2入力端子) を介して 3ステートバッファ 2 1 1 a の制御端子にィネーブル信号を与えてゲート 2 1 l aを開放させる。 また、 L Mパス 1の信号線 S D CKB EN 1、 オアゲート 2 1 3 b (の第 2入力端子) を介して 3ステートバッファ 2 1 1 bにイネ一ブル信号を与えてゲ一ト 2 1 1 bを開放させる。
同様に、 第 2の拡張デバイスが LMバスに出力した SD CK A信号は、 拡張 ソケッ ト 2の端子 S D C K AU S - 2を介してオアゲ一ト 2 14 a (の第 3入 力端子) 及び 3ステートバッファ 2 1 1 aを経て Mバスのデータ線 S D CKA に出力される。 第 2の拡張デバイスが LMバスに出力した SD C KB信号は、 拡張ソケッ ト 2の端子30。1{8113— 2を介してオアゲート 2 14 b (の第 3入力端子) 及び 3ステートバッファ 2 1 1 bを経て Mバスのデータ線 S D C KBに出力される。 第 2の拡張デバイスが S D C KA信号及び SD CKB信号 を送出する際には、 第 2の拡張デバイスは、 LMバス 2の信号線 SD CKAE N2、 オアゲート 2 13 a (の第 3入力端子) を介して 3ステートバッファ 2 11 aの制御端子にィネーブル信号を与えてゲート 2 1 1 aを開放させる。 ま た、 LMバス 2の信号線 SD CKBEN 2、 オアゲート 2 1 3 b (の第 3入力 端子) を介して 3ステートバッファ 2 1 1 bの制御端子にィネーブル信号を与 えてゲート 2 1 1 bを開放させる。
基本デバイスの動作電源は、 ホスト 1から Mバスの電源線 Vcc及び GNDを 介して供給される。 拡張デバイスの動作電源は、 基本デバイスから LMバスの 電源線 Vcc及び GNDを介して供給される。
図 65に示すように、 ソケッ トコントロール部 203は、 LMバスコントロ —ラ 203 aによって構成される。 LMバスコントローラ 203 aは、 拡張ソ ケッ 卜の接続用チェック用に設けられた特定端子の電圧を監視する。 この例で は、 拡張ソケッ トの I D 2ビンの電圧を監視する。 基本デバィス側の I D 2ピ ンは抵抗 Rを介して基本デバィス側の接地電源 GNDに接続されている。.図 6 6に示すように、 基本デバイスの拡張ソケッ トに拡張装置を接続すると、 拡張 ソケッ 卜の端子 Vcc及び GNDを介して拡張デバイス 3に電源 Vcc及び GND が供給される。 この拡張デバイス側の電源 Vcc が基本デバイスの拡張ソケッ ト の端子 I D 2を介して抵抗 Rに印加する。 L Mバスコントロ一ラ 203 aは、 抵抗 Rに生ずる電圧の有無 (あるいは大小) によってソケッ トへの拡張装置の 接続の有無を判別する。 LMバスコントローラ 203 aは、 各 LMバスへの拡 張デバイスの接続の有無を後述のコントロ一ルレジス夕 204 aに知らせる。 これにより、 コントロールレジス夕 2 04 aには、 各拡張ポー卜の使用の有無 に対応した L MMフラグが設定される。 また、 LMバスコントローラ 203 a は、 拡張デバイスが接続された拡張ソケヅ ト LMバスの 3ステ一トバッファの ゲートを開いて、 Mバスのデ一夕線 S D CK A及び S D C K Bと、 LMバスの デ一夕線 SD CKAD S及び SD CKBD Sとをそれそれ接続する。 LMバス コントロ一ラ 203 aは、 他部の動作とは独立して、 拡張コネクタバスの活性 化を制御することが出来るが、 これに C PUの判断を介在させることも出来る。 すなわち、 LMバスコントローラ 20 3 aが拡張デバイスの接続を検出し、 検 出出力をコントロールレジス夕 204 aに設定する。 CPU 20 1は、 コント 口一ルレジス夕 204 aを監視することによって LMバスへの拡張デバイスの 接続を知る。 CPU 20 1は、 拡張デバイスの接続を許容する場合に、 該当 L Mバスの接続を指令するフラグ LMCをコントロールレジス夕 204 aに設定 する。 L Mバスコントローラ 203 aは、 フラグ L M Cに対応する L Mバスの 3ステートバッファ 2 1 5、 2 1 6を開放 (導通) させる。 このような動作に よって、 図 47に示したように、 基本デバイスに拡張デバイスが接続されると、 基本デバイスが拡張デバイスの接続を自動的に認識し、 拡張デバイスを Mバス に接続する。
通信処理部 204は、 コントロールレジス夕 204 a、 ノ、。リティレジスタ 2 04 b、 フレームコン トローラ 204 c、 ライ ンモニタ 204 d、 フレームェ ンコーダ 204 e、 オルタネイ トシフ トレジス夕 P/S 204 f、 テンポラリ レジス夕 204 g、 フレームデコーダ 2 04 h、 オルタネイ トシフ トレジス夕 S/P 204 i、 送受信バヅファ 204 j、 データ長レジス夕 204 kを含ん で構成される。
コントロールレジス夕 204 aは、 デ一夕の送受信を制御するための各種フ ラグ等を保持するレジス夕である。 各種フラグについては後に表 26を参照し て説明される。 ノ リティレジス夕 204 bは、 シリアル/パラレル、 パラレル /シリアル変換に係る計算及びパリティ計算用のダブルバッファである。 送受 信バッファ 204 jは、 データの送受信の際に使用するデータの格納用レジス 夕である。 フレームコントローラ 204 cは、 コントロールレジス夕 204 a の各種フラグを監視してフレームの送受信の制御を行う。 また、 ス夕一トパ夕 ーン、 エンドパターン、 SD CKB占有パターン、 リセッ トパターン等の検出 に対応して、 該当するフラグをコントロールレジス夕 204 aに設定する。 フ レームエンコーダ 204 eは、 デ一夕にパターン部を付加してフレームの生成 を行う。 オル夕ネィティブシフ トレジス夕 P/S 204 は、 パラレルデ一夕 をシリアルデ一夕に変換するパラレル/シリアル変換を行う。 ラインモニタ 2 04 dは、 SD CKA、 SD CKB信号線をモニタする。 デ一夕長レジス夕 2 04 kは、 送信時の送信データ量を指定するレジスタである。
周辺装置の CPU部 20 1から見た MI Eとのインターフェイスは、 2 1個 のコントロールフラグ (CFLAG) とデ一夕長レジス夕 (LREG) 204 k, 及 び最大 1 024バイ 卜の送受信バッファ (TRBF) 204 jによって構成される c 送受信バッファはデバイスに対応して容量が最適化される。
上記構成による、 M I Eコン トローラ (CPU 20 1 ) と基本デバイス用 M I E (ソケッ トコントロール 203、 通信処理 2 04) とのインタ一フェイス を説明する。
ホストからデ一夕線 SD CKA及び SD CKBを介して送信されたフレーム デ一夕は、 フレームデコーダ 204 hに受信される。 フレームデコーダ 204 hは、 SD CKA及び SD CKB信号からフレームデータを復調し、 フレーム デ一夕からパターン部分とデータ部分とを分離する。 フレームデコーダ 204 hは、 スタートパターン、 エンドパターン、 SD CKB占有パターン、 リセッ トパターン等のパターン部分を検出すると、 そのパターン部分の検出情報がフ レームコン ト口一ルコン トローラ 204 cに送られる。 フレームコン トローラ 204 cは、 受信を制御すると共に、 パターン検出に対応してコントロールレ ジス夕にフラグを設定する。 このフラグには、 受信フラグ RXB、 受信完了フ ラグ RFB、 SD CKB占有モードフラグ P O S、 リセッ トパターン受信フラ グ HRE Sが含まれる。
分離されたデ一夕部分は、 オル夕ネィ トシフ トレジス夕 204 iに送られる。 シフ トレジス夕 2 04 iは、 データのシリアル パラレル変換機能を有し、 分 離したシリアルデータをパラレルデー夕に変換してテンポラリレジス夕 204 gに送る。 テンポラリレジス夕 204 gは、 受信データのパリテイチエックの 計算を行う。 また、 受信データのパリティビッ ト部分を抽出してパリティレジ ス夕 204 bに保持する。 ノ リティチェックの結果とパリティレジス夕 204 bのパリティビヅ トを比較してエラ一を検出すると、 コントロールレジス夕 2 04 aにパリティエラーフラグ PER Rが設定される。 エラーチェックされた デ一夕は、 送受信バッファ 204 jに格納される。 受信デ一夕の量が送受信バ ヅファ 204 jの容量を超えると、 コントロールレジス夕 2 04 aにバッファ オーバーフローフラグ B F 0 Vを設定する。 あふれたデータは送受信バッファ 204 jには格納されない。 受信が完了すると、 コント口一ルレジス夕 204 aに受信完了フラグ RFBが設定される。 CPU 20 1はコントロールレジス 夕 204 aの内容をモニタしており、 受信完了フラグ R F Bの設定に対応して 送受信バッファ 204 jに格納された受信データを読み出す。
CPU 2 0 1がデ一夕を送信するときは、 送信データを送受信バッファに格 納し、 データ長レジスタ 204 kに送信データ量を書き込む。 CPU 201は、 コントロールレジス夕 204 aに送信フラグ TXB、 ェンドパターン送出フラ グ ENP (後続の送信データがない場合) を設定する。 送受信バッファ 204 jの送信デ一夕は、 テンポラリレジス夕 204 gに送られ、 パリティ計算が行 われる。 テンポラリレジス夕 204 は、 パリティ計算の結果を 1バイ トのパ リティビッ トとして保持し、 送信データの最後に付加する。 送信データは、 テ ンポラリレジス夕 204 gからオル夕ネィ トシフ トレジス夕 204 f に供給さ れ、 シリアルデータに変換され、 フレームエンコーダ 204 eに供給される。 フレームエンコーダ 204 eは、 送信データ及びパリティデ一夕の前後にそれ それス夕一トパ夕一ン及びェンドパ夕一ンを付加して送信フレームを形成する c フレームコントローラ 204 cは、 オアゲート 2 1 3 a及び 2 1 3 bを介して それそれ 3ステートバッファ 2 1 1 a及び 2 1 1 bを開放する。 送信フレーム は、 フレームエンコーダ 204 eによって S D C K A信号及び S D C KB信号 にエンコードされる。 S D C K A信号及び S D C K B信号は、 それそれ Mバス のデ一夕線 SD〇1(八及びデ一夕線30 CKBに出力される。
ラインモニタ 204 dは、 データ線 SD C K A及びデ一夕線 S D C KBを常 に監視している。 この結果 (信号の有無) をコン トロ一ルレジス夕 2 04 aに SD CKAラインモニタフラグ及び S D CKBラインモニタフラグとして設定 する。 CPU 20 1は、 これ等のフラグを参照してホス 卜から送られるデ一夕 のタイムアウトを調べることが出来る。
図 62に示すように、 拡張デバイスの M I Eは基本デバイスの M I Eと同様 に構成されるが、 ソケッ トコントロール部は備えていない。 同図のサポート機 能部は基本デバイスの入力手段と I/O部 2 02に相当する部分で、 例えば、 L CD表示器、 音声出力力一卜リッジ、 音声入力力一卜リッジ、 光線銃カート リッジ、 振動カートリッジ、 メモリ力一卜リッジ等の個性化された機能を担う 部分である。 CPU部 30 1及び通信処理部 304はそれそれデバイスの CP U部 20 1及び通信処理部 204に対応する。
次に、 上述した、 基本デバイス (あるいは拡張デバイス) の M I E内に設け られたコン卜ロールレジス夕 204 a、 データ長レジスタ 204 k及び送受信 バアツファ (TRBF) の構成について説明する。
各種のコントロールフラグ (CFLAG) を含むコントロールレジス夕 204 a の構成を表 26に示す。 コントロールフラグは、 データの送信と受信を制御す るための、 2 1個のフラグによって構成される。 どのフラグを使用してレジス 夕を構成するかは、 周辺装置の種類によって異なる。
【表 26】
CFLAGの構成
Figure imgf000120_0001
Figure imgf000120_0002
差替え用紙 (規則 26) 同表において、 R/Wは、 読み込み/書き込み可能であることを示す。 Rは、 読み出しのみ可能であることを示す。 Iniは、 初期設定を表す。 HRE Sはリ セヅ トパターン受信フラグを示す。 リセッ トパターン受信フラグ HR E Sはリ セヅ トパターンを受信すると " 1" になり、 M I Eコントローラの初期化を促 す。 TXBは送信フラグである。 送信あるいは受信中に TXBに書き込みを行 うと、 その場合のデ一夕の内容は保証されない。 C TXBはコンティニュー送 信フラグである。 送受信バッファ 204 jの容量を超えて送信する場合は、 続 きのデータを送受信バッファ 204 jに格納後、 送信フラグ TXBではなくコ ンティニュー送信フラグ C TXBで送信する。 T FBは送信完了フラグである。 B F 0 Vは送受信バッファオ一バーフローフラグである。 オーバーフローフラ グ B F OVは受信開始時と送信開始時に "0" クリアされる。 送受信バッファ 204 jがオーバ一フローを起こすと、 オーバ一フローフラグ BFOVが "1" にセッ トされる。 RFBは、 受信完了フラグである。 ENDPはエンドパ夕一 ン送出フラグである。 送信デ一夕にエンドパターンを付加する場合には、 EN DP = " 1" にセッ トする。 RXBは受信フラグである。 受信フラグ RXBは データ受信時に変化する。 EMPは、 ェンプティフラグである。 送信時に送受 信バッファ 204 jに送信するデ一夕が無くなる (空になる) と、 ェンプティ フラグ E MPが " 1" にセッ トされる。 P ERRはパリティエラーフラグであ る。 パリティエラ一フラグ P ERRは受信したフレームのパリティが不一致の 時に " 1 " にセッ トされ、 正常の時に "0" にクリァされる。 P 0 Sは、 S D C KB占有モードフラグである。 SD CKB占有モードフラグ PO Sは、 Mバ スが通常モード( P 0 S = " 0 ")であるか S D C K B占有モ一ド( P 0 S =" 1") であるかを示す。 SDAMは、 S D C K Aラインモニタフラグ (基本デバイス のみに設けられる) である。 SDBMは、 S D C KBラインモニタフラグ (基 本デバイスのみに設けられる) である。 SDAM, SDBMはそれそれデータ 線 SD CKA, S D CKBのラインの状態を示す。 LMC 1〜4は、 LMバス 1 ~ 4の接続フラグ (基本デバイスのみに設けられる) である。 フラグ LMC 1〜4は、 LMバス 1〜4の接続 (= " 1 "), 切断 (- "0") を指示する。 L MM 1〜 4は、 L Mバス 1〜 4接続モニタフラグ (基本デバイスのみに設けら れる) である。 フラグ LMM 1〜4は LMバス 1〜 4の使用状態を示す。 M I Eコントローラは、 フラグ SDAM、 S D B Mをチェックしてホストから来る デ一夕のタイムァゥ卜を調べる。 タイムァゥ 卜処理は基本デバイスのみが行い、 拡張デバイスは行わない。
デ一夕長レジス夕 (LHEG)
デ一夕長レジス夕の構成を表 27に示す。 データ長レジス夕は、 送信時の 1 フ レームのサイズを指定する為の、 1バイ 卜のレジス夕である。
【表 27】
LREGの構成
Figure imgf000122_0001
同表において、 R/Wは、 読み込み/書き込みの両方が可能であることを示 す。初期状態では、 全てのビッ ト(bit)は不定である。 Lnは、 データ長を表す。 00h≤Ln≤FFh である。 Lnの値とデータ長の対応関係を表 28に示す。
【表 28】
データ長
Figure imgf000122_0002
デ一夕の送受信中及び受信後はデ一夕長レジス夕(LRE G)の値は不定である, データ長は、 4バイ ト単位で指定することができる。
差替え用紙 (規則 26) 次に、 データバッファについて説明する。 データのバッファとして上述した 送受信バッファ (TRBF) 204 jが使用される。送受信バッファ 204 jは、 1フレームの送信デ一夕と受信デ一夕を格納するバッファ領域である。容量は最 小 4バイ 卜から 4バイ 卜単位で最大 1 0 24バイ 卜までである。 容量は周辺装 置毎に最適化される。 送信と受信で共通したバッファを持ち、 その中でコマン ドコード, 送信先 AP, 送信元 AP, データサイズとデータの領域に分けて使 用する。
送受信バッファの構成を表 2 9に示す。 同表において、 R/Wは、 読み込み /書き込みの両方が可能であることを示す。 初期状態では、 バッファの内容は 不定である。 同表の第一番目のデータ(1st Data)から順に送信され、 受信デー 夕は第一番目のデータ記憶領域から順に書き込まれる。 なお、 lst Data〜4st Data部分は格納すベきデ一夕が決められている領域である。
2 9 】 TRBFの構成
Figure imgf000123_0001
同表において、 第 1のデ一夕部分 ( IstData) は、 コマンドコードを格納す るための領域である。 第 2のデ一夕部分 (2ndData) は、 送信先 APの値を格 納するための領域である。 第 3のデ一夕部分 ( 3rdData) は、 送信元 APの値 を格鈉するための領域である。 第 4のデ一夕部分 (4thData) は、 データのサ ィズを格納するための領域である。第 4のデ一夕 04(04。~047)の値が "00h" の時は、 データ無しを意味する。 第 5のデ一夕部分 ( 5 th Data) 以降は、 パラ メータのデ一夕を格納するための領域である。 データサイズで指定されたバイ 差替え用紙 (規則 26) ト数だけ、 データを格納する。 データサイズ以降のデータ領域の内容は不定で ある。
ホストの M I Eと基本デバイスの M I Eとのデータ伝送手順
上述した構成のホス 卜の M I Eと基本デバイスの M I Eによるデータ受信及び データ通信について説明する。 なお、 拡張デバイスにおいても同様のデータ電 送手順であるので、 ホス トの M I Eと拡張デバイスの M I Eとのデ一夕伝送手 順については説明を省略する。
データ受信手順
まず、 基本デバイスのデータ受信手順の概略について説明する。 データの受 信はホス ト及び基本デバイスの各 M I Eが自動的に行う。 ホス 卜からデータ信 号が送出され、 基本デバイスの受信が始まると、 MI Eによって送信フラグ T XB、 送信完了フラグ TFB、 受信完了フラグ RFBが "0" にクリアされる。 受信フラグ RXBが、 "1"の時は M I Eがデ一夕受信中を示し、 RXBが" 0" の時は受信終了を示す。 デ一夕の受信が正常に完了し、 データが送受信バッフ ァ (TRBF) に、 パリティエラーの状態がパリティエラ一フラグ P ER Rに 格納されると、 受信完了フラグ RFBが "1" にセッ トされ (割込処理の場合 はここで受信割込が発生する)、 受信処理が終了する。 受信フラグ RXBと受信 完了フラグ RFBが両方共 " 1" である場合は、 受信にエラ一が生じたことを 示す。 また、 受信データが送受信バッファの容量を超えた場合は、 送受信バッ ファオ一バーフローフラグ B FO Vが " 1" にセッ 卜され、 受信開始から送受 信バッファの容量分までの受信デ一夕が、 送受信バッファに格納される。 フレ —ムデ一夕のパリティが不一致の場合は PER Rが " 1" にセッ トされ、 正常 の場合は "0" にクリアされる。
図 6 7は、 ホス トからデバイス (周辺装置) への送信データの容量が送受信 バッファ 204 jの容量を超えない場合のデバイス側の M I Eのデータ受信を 説明する図である。 まず、 ホスト側で送信すべき送信データがワーク RAM 1 eに形成され、 ホ ストの M I Eがこのデ一夕を含むフレームデータを形成して Mバスに送信を開 始する。 デバイスの M I Eは、 フレームデ一夕を受信し、 フレームデコーダ 2 04 hでデコードする。 フレームデータのデータ部分 (データパーターン) 及 びパリティデ一夕は、 オル夕ネィ トシフ トレジス夕 204 iで直並列変換され、 テンポラリレジス夕 204 gでパリティチェック (パリティ計算) される。 チ エックされたデ一夕部分は、 送受信バッファ 204 kに格納され、 パリティデ —夕はパリティレジス夕 204 bに格納される。
フレームコントローラ 2 04 cは、 フレームデコーダ 204 hがフレームデ —夕のスタートパターンを検出すると、 コントロールレジス夕 204 aの送信 フラグ TXB、 送信完了フラグ TFB、 受信完了フラグ RFBを "0" にクリ ァする。 既述のように、 受信フラグ; RXBが " 1 " のときは、 M I Eがデ一夕 受信中であることを示し、 受信フラグ RXBが "0"のときは受信終了を示す。 CPU部 20 1は、 受信フラグ RXBが "1" であることを読み取ってデータ を受信していることを判別する。 また、 CPU部 20 1は、 フラグ SDAM及 び SDBMをチェックすることにより、 デ一夕線 SD CKA及び SD CKBの 使用をモニタすることが出来る。 フレームコントローラ 204 cは、 フレーム デコーダ 204 hがフレームデータのエンドパターンを検出すると、 受信終了 を判別し、 受信フラグ RXBを "0" に設定する。
パリティ レジス夕部 204 bは、 受信デ一夕のパリティチェックの結果と受 信したパリティデータとを比較し、 パリティエラーの有無を判断する。 エラ一 の有無をコントロールレジス夕 204 aのパリティエラ一フラグ PERRに書 き込む。 フレームデータの受信が正常に完了し、 デ一夕が送受信バッファ 20 4 jに、 パリティエラ一の状態がコン トロールレジス夕 204 aのパリテイエ ラ一フラグ P ERRに格納されると、 受信完了フラグ RFBが " 1" にセッ ト され、 受信処理が終了する。 受信完了フラグ RFBは、 CPU部 20 1への割 込み信号とすることが出来る。
CPU部 20 1は、 定期的に受信完了フラグ: R FBを監視し、 あるいは受信 完了フラグ RFBが "1" にセヅ 卜されたことによる割り込み信号を受けると、 受信デ一夕を処理するプログラムを実行する。 まず、 コント口一ルレジス夕 2 04 aのパリティエラーフラグ P ERRがエラ一の存在を示していないことを 確認する。 次に、 送受信バッファ 204 jから受信デ一夕を CPU部 20 1内 のメインメモリに取り込む。 そして、 ホストから送信されたコマンド、 パラメ —夕に対応する処理を行い、 返信データ等の形成処理などを行う。
なお、 受信フラグ RXBと受信完了フラグ: RFBが両方共 " 1" である場合 は、 本来両立しない状態であるので、 C PUは受信にエラ一が生じたことを判 別し、 対応する処理を行う。 また、 CPU部 2 0 1は、 パリティエラ一フラグ P ERRがエラーの存在を示す場合、 例えば、 ホストに対して再送信要求のコ マンドを送信する処理を行う。
図 68は、 ホス トから基本デバイス (周辺装置) への送信デ一夕の容量が送 受信バヅファ TR B Fの容量を超える場合の基本デバイス側の M I Eのデ一夕 受信を説明する図である。 受信データが送受信バッファ 204 jの容量を超え た場合は、 送受信バッファオーバ一フローフラグ B F OVが "1" にセヅ 卜さ れ、 受信デ一夕は受信開始から送受信バッファの容量分までが、 送受信バッフ ァに格納される。 この場合の動作について説明する。
まず、 図 67の場合と同様に、 ホス ト側で送信すべき送信デ一夕がワーク R AM 1 eに形成され、 ホストの M I Eがこのデータを含むフレームデータを形 成して Mバスに送信を開始する。 基本デバイスの M I Eは、 フレームデ一夕を 受信し、 フレームデコーダ 204 hでデコードする。 フレームデータのデータ 部分 (デ一タパ一夕一ン) 及びパリティデータは、 オル夕ネィ トシフ トレジス 夕 204 iで直並列変換され、 テンポラリレジス夕 204 gでパリティチエツ ク (パリティ計算) される。 チェックされたデータ部分は、 送受信バッファ 2 04 jに格納され、 パリティデ一夕はパリティレジス夕 204 bに格納される。 フレームコン トローラ 2 04 cは、 フレームデコーダ 204 hがフレームデ —夕のスタートパターンを検出すると、 コントロールレジス夕 204 aの送信 フラグ TXB、 送信完了フラグ T FB、 受信完了フラグ RFBを "0" にクリ ァする。 既述のように、 受信フラグ RXBが " 1" のときは、 MI Eがデ一夕 受信中であることを示し、 受信フラグ RXBが "0"のときは受信終了を示す。 〇?11部20 1は、 受信フラグ RXBが "1" であることを読み取ってデ一夕 を受信していることを判別する。 また、 CPU部 20 1は、 フラグ S DAM及 び SDBMをチェックすることにより、 デ一夕線 SD CKA及び SD CKBの 使用をモニタすることが出来る。
送受信バッファ 204 jは、 受信デ一夕が送受信バッファ 204 jの容量を 超えると、 コント口一ルレジス夕の送受信バヅファオーバーフローフラグ B F 0 Vを " 1 " にセッ 卜する。 これは、 例えば、 送受信バヅファ 204 j内蔵の ァドレスカウン夕がメモリの最大ァドレス値となったときに検出出力を発生す ることにより、 オーバ一フローを検出することが可能である。 受信デ一夕の量 が送受信バッファ 204 jの容量を超えた後も、 受信デ一夕はテンポラリレジ ス夕を経由して送受信バッファに供給されるが、 送受信バッファはデータを取 り込まない。 従って、 パリティ計算のみが全デ一夕について行われる。 受信デ —夕のパリティデ一夕部分は、 パリティレジス夕に格納される。
フレームコン トローラ 2 04 cは、 フレームデコーダ 204 hがフレームデ —夕のエンドパターンを検出すると、 受信終了を判別し、 受信フラグ RXBを "0" に設定する。
パリティ レジス夕部 204 bは、 受信データのパリティチェックの結果と受 信したパリティデータとを比較し、 パリティエラーの有無を判断する。 エラ一 の有無をコントロールレジス夕 204 aのパリティエラーフラグ P ERRに書 き込む。 データが送受信バッファ 204 jに、 パリティエラ一の状態がコント 口一ルレジス夕 204 aのパリティエラ一フラグ PER Rに設定されると、 受 信完了フラグ RFBが " 1" にセッ トされ、 受信処理が終了する。 受信完了フ ラグ RFBは、 CPU部 20 1への割込み信号とすることが出来る。
CPU部 20 1は、 定期的にコントロールレジス夕の受信完了フラグ RFB を監視することにより、 あるいは受信完了フラグ RFBが " 1" にセッ 卜され たことによる割り込み信号を受けることにより、 受信デ一夕を処理するプログ ラムを実行すべきであることを知る。 また、 コント口一ルレジス夕 204 aの パリティエラーフラグ PE RRがエラ一の存在を示していないことを確認する ( 更に、 送受信バッファオーバ一フローフラグ B F OVが " 1" にセヅ 卜されて いることを確認する。 CPU部 2 0 1は、 途中までのデ一夕であることを知つ た上で送受信バッファ 204 jから受信データを CPU部 20 1内のメインメ モリに取り込む。 そして、 該当する処理を行う。
データ送信方法
次に、 基本デバイスからホストへのデータの送信手順について図 69を参照し て説明する。 なお、 拡張デバイスからホストへのデータ伝送手順は基本デバィ スからホス卜へのデータ伝送手順と同様であるのでその説明は省略する。
基本デバイスは、 ホストからコマン ドを受けると、 これに応答するべく返信 データを形成し、 これをホス トに送信する。 既述のように、 ホストは、 コマン ド送信後予め定められた時間 (例えば、 1. 0ms) 以内に応答がない場合は 未接続とする。 従って、 基本デバイスは、 この期間中にコマンドを返信しなけ ればならない。
まず、 基本デバイスの CPU部 20 1は、 送受信バッファ 2 04 jに送信デ —夕 (コマンド、 パラメ一夕) を書き込む。 その後、 データ長レジス夕 204 kに送信デ一夕のデータ量を書き込み、 コントロールレジス夕のェンドパ夕一 ンフラグ END Pを " 1" に設定する。
CPU部 20 1が、 コン トロールレジス夕 2 04 aの送信フラグ T X Bを " 1 " に設定すると、 MI Eは、 デ一夕長レジス夕で指定されたサイズのデ一 夕を送信するべく送信動作を開始する。 送信フラグ TXBが " 1" に設定され ると、 コント口一ルレジス夕の 204 aの受信フラグ RXB、 受信完了フラグ RFB、 送信完了フラグ T FB、 送受信バッファオーバ一フローフラグ BFO Vは、 "0" に設定 (クリア) される。 なお、 デ一夕長レジスタ 204 kに設定 されたデータ量が送受信バッファ 204 jの容量を超えるとき、 送受信バッフ ァオーバ一フローフラグ B F OVは " 1 " になり、 送受信バッファ 204 jの 全データを送信する。
フレームコントローラ 2 04 cは、 送信フラグ TXBの " 1 " の設定に対応 して、 送受信バッファ 204 jに格納された送信デ一夕を送出させる。 送信デ 一夕は、 テンポラリレジス夕 204 gにおいてパリティ計算され、 オル夕ネィ トシフ トレジス夕 204 f で並直列変換されて、 フレームエンコーダ 204 e に送られる。 テンポラリレジス夕 2◦ 4 gにより、 送信データの最後にパリテ イデ一夕が付加される。 フレームエンコーダ 204 eは、 フレームコントロー ラ 204 cの制御下で、 スタートパターン、 送信データ (コマンド、 パラメ一 夕)、 パリティデ一夕、 エンドパターンを順次送出する。 これ等のデ一夕によつ て構成される送信フレームは、 既述 S D CK A信号及び S D C KB信号に担わ れて Mバスに送出される。 送受信バッファ 204 jから最後のデータが送り出 されると、 コントロ一ルレジス夕の送信フラグ TXBは "0"、 ェンプティフラ グ EMPは "1"、 コンティニュー送信フラグは "0" に設定される。 送信完了 後の送受信バッファ 204 jの内容は不定である。 フレームコン トローラ 20 4 cは、 エンドパターンを送出し、 デ一夕の送信が正常に完了すると、 コント ロールレジス夕 204 aの送信完了フラグ T FBを "1" に設定する。 基本デ バイスの MI Eは、 Mバスからの入力待ち状態となる。 CPU部 20 1は、 周 期的にコントロールレジス夕 204 aの送信完了フラグ T FBを "1 " を監視 することによって送信終了を認識する。 また、 CPU部 20 1は、 送信中を示 す送信フラグ TXBと送信完了フラグ T FBが共に " 1" の場合、 エラーが生 じていること判別する。
一方、 ホストの MI Eは、 基本デバイスから送信されたフレームデ一夕を受 信する。 フレームデコーダ 6 1がデータのスタートパターンを検出すると、 ィ ン夕ラブト信号制御部 54を介してホス トの CPU l aのインタラプトコント ローラに信号が送られ、 データの受信が CPUに知らされる。 受信データは、 オル夕ネィ トシフ トレジス夕 62によって直並列変換され、 受信デ一夕テンポ ラリレジス夕 56 a、 受信デ一夕 F I F 05 6 bを経て、 イニシエータ部 50 からワーク RAM l eに送られる。 ワーク RAM 1 e上の受信デ一夕の格納場 所は、 CPU 1 aによって予め指定された受信データストァァドレスを先頭位 置とする。 フレームデコーダ 6 1がェンドパ夕一ンを検出すると受信は終了し、 ィン夕ラブト信号制御部 54から受信完了を示す信号がィン夕ラプトコントロ ーラに送られる。 これにより、 CPUは受信完了を知り、 ワーク RAM I e上 の受信データにアクセスして処理を行うことが出来る。
次に、 基本デバイスの送信データがその送受信バッファ 204 jの容量を超 える場合のデ一夕送信について図 70を参照して説明する。 なお、 拡張デバィ スの場合も基本デバイスの場合と同様の手順で行われる。
基本デバイスの CPU部 20 1は、 送信データが送受信バッファ 204 jの 容量を超えている場合は、 デ一夕を送受信バッファ 204 jの容量で、 いくつ かのプロックに分割して送信することが出来る。
基本デバイスの CPU部 20 1は、 ホストからコマンドを受信すると、 これ に応答するべく返信データを形成し、 これをホス トに送信する。 ホストは、 コ マンド送信後予め定められた時間 (例えば、 1. 0ms) 以内に応答がない場 合は未接続と判断する。 従って、 基本デバイスは、 この期間中にコマンド及び パラメ一夕を返信しなければならない。
まず、 基本デバイスの CPU部 20 1は、 送信すべきデータの量と送受信バ ッファ 204 jの容量とを比べて送信デ一夕のデ一夕量が大きいことを認識す る。 C PU部 20 1は、 送信データを送受信バッファ 204 jの容量 (例えば、 1 024バイ ト) 以下の長さに区切って、 送受信バヅファ 204 jに書き込む (データのブロック化)。 その後、 CPU部 20 1は、 デ一夕長レジス夕 204 kに送受信バッファ 204 jに格納した送信デ一夕のデータ量を書き込み、 コ ントロールレジス夕 204 aのエンドパターンフラグ E ND Pを "0" に設定 する。
CPU部 20 1が、 コン ト口一ルレジス夕 2 04 aの送信フラグ TXBを
"1" (送信モード) に設定すると、 MI Eは、 デ一夕長レジス夕で指定された サイズのデータを送信するべく送信動作を開始する。 送信フラグ T X Bが " 1 " に設定されると、 フレームコン トローラ 204 cは、 コン トロールレジス夕の
204 aの受信フラグ RXB、 受信完了フラグ RFB、 送信完了フラグ TFB、 ェンプティフラグ EMP、 送受信バッファオーバ一フローフラグ B F 0 Vを、
"0" に設定 (クリア) する。
フレームコン トローラ 2 04 cは、 送信フラグ TXBの " 1 " の設定に対応 して、 送受信バッファ 204 jに格納された送信デ一夕を送出させる。 送信デ 一夕は、 テンポラリレジスタ 204 gにおいてパリティ計算され、 オル夕ネィ トシフ トレジス夕 2 04 f で並直列変換されて、 フレームエンコーダ 204 e に送られる。 フレームエンコーダ 204 eは、 フレームコントローラ 204 c の制御に従って、 スタートパターン、 送信デ一夕 (コマンド、 パラメ一夕) を 順次送出する。 フラグ END Pを "0" に設定したことにより、 このデータの ブロックの最後には、 パリティデータ及びエンドパターンは付加されない。 こ れ等のデ一夕によって構成される送信フレームは、 既述 SD CKA信号及び S D C KB信号に担われて Mバスに送出される。 送受信バッファ 204 jから最 後のデータが送り出されると、 コントロールレジス夕のェンプティフラグ E M Pは "1"、 コンティニュー送信フラグは "0" に設定される。 CPU部 20 1は、 コント口一ルレジス夕 2 04 aのェンプティフラグ EM Pを周期的に監視する。 ェンプティフラグ EMPが " 1" になったことを確認 すると、 続きの送信データを送受信バッファの容量以下に区切って送受信バッ ファ 204 jに格納する。 このデ一夕の長さをデ一夕長レジス夕 204 kに設 定する。 次いで、 CPU部 20 1はコントロ一ルレジス夕 2 04 aのコンティ ニュー送信フラグ C TXBを " 1" に設定する。
コンティニュー送信フラグ C TXBが "1" に設定されると、 フレームコン トロ一ラ 204 cは、 コントロールレジス夕の 2 04 aのェンプティフラグ E MP、 送受信バッファオーバーフローフラグ B F OVを "0" に設定 (クリア) する。
フレームコントロ一ラ 2 04 cは、 送信フラグ TXBの " 1" の設定に対応 して、 送受信バッファ 204 jに格納された送信デ一夕を送出させる。 送信デ 一夕は、 テンポラリレジスタ 204 gにおいてパリティ計算され、 オル夕ネィ トシフ トレジス夕 204 fで並直列変換されて、 フレームエンコーダ 204 e に送られる。 フレームエンコーダ 204 eは、 フレームコントローラ 204 c の制御に従って、 送信データ (コマンド、 パラメ一夕) を順次送出する。 これ 等のデ一夕は、 既述 SD CKA信号及び SD C K B信号に担われて Mバスに送 出される。 送受信バッファ 204 jから最後のデ一夕が送り出されると、 コン トロ一ルレジス夕のェンプティフラグ EMPは " 1"、 コンティニュ一送信フラ グ CTXBは " 0" に設定される。
C P U部 20 1は、 コント口一ルレジス夕を周期定期に監視することによつ て、 ェンプティフラグ E MPが " 1 " になったことを知る。 〇卩11部20 1は、 残っている (未送信の) 送信データを送受信バッファ 204 jの容量以下に区 切って送受信バッファ 204 jに格納する。 この例の場合、 残っているデータ は送受信バッファ 204 jの容量以下になったので、 残りのデ一夕全部を送受 信バッファ 204 jに格納する。 このデータの長さをデ一夕長レジス夕 204 kに設定する。 更に、 最後のデータブロックの送信となるので、 最後にエンド パターンを付加するべく、 エンドパターン送出フラグ E ND Pを "1" に設定 する。 次いで、 CPU部 20 1はコント口一ルレジス夕 204 aのコンティニ ユー送信フラグ CTXBを "1" に設定する。
コンティニュー送信フラグ C TXBが " 1" に設定されると、 フレームコン トローラ 204 cは、 コント口一ルレジス夕の 2 04 aのェンプティフラグ E MP、 送受信バッファオーバーフローフラグ B F OVを "0" に設定 (クリア) する。
フレームコン トローラ 2 04 cは、 送信フラグ TXBの " 1" の設定に対応 して、 送受信バッファ 204 jに格納された送信デ一夕を送出させる。 送信デ —夕は、 テンポラリレジス夕 204 gにおいてパリティ計算され、 オル夕ネィ トシフトレジス夕 204 f で並直列変換されて、 フレームエンコーダ 204 e に送られる。 テンポラリレジス夕 204 gは、 全送信デ一夕についてパリティ 計算した結果をパリティデ一夕 ( 1バイ トのパリティビッ ト) として、 送信デ —夕の最後に付加する。 フレームエンコーダ 204 eは、 フレームコント口一 ラ 204 cの制御に従って、 送信デ一夕 (コマンド、 パラメ一夕)、 パリティデ —夕、 エンドパターンを順次送出する。 これ等のデ一夕は、 既述 SD CKA信 号及び SD CKB信号に担われて Mバスに送出される。 送受信バッファ 204 jから最後のデータが送り出されると、 コントロ一ルレジス夕のェンプティフ ラグ EMPは " 1 "、 コンティニュー送信フラグ C TXBは "0" に設定される。 送信が終了したので送信フラグ TXB、 送信完了フラグ T F Bは共に "0" に 設定される。
CPU部 20 1は、 コントロールレジス夕 2 04 aを定期的に監視すること によって、 各フラグの状態から全デ一夕の送信が完了したことを知る。
一方、 ホストの M I Eは、 スタートパターンを受信することによって受信動 作を開始し、 受信データ (コマンド、 パラメ一夕) をワーク RAM I eに逐次 格納する。 ワーク RAM 1 eにおける格納場所は予め DMAレジス夕で指定さ れている。 受信した各デ一夕ブロックをワーク RAM 1 eにて連結することに よって元の送信デ一夕が復元される。 ホストの M I Eが最後にェンドパターン を受信すると、 該 M I Eは受信を終了する。
以上説明したように、 送信データを分割して送るブロック送信の際には、 最 初のプロヅクは送信フラグ TXBを使用し、 2番目以降のプロックはコンティニ ユー送信フラグ C TXBを使用して残りのデータを送信する。 1プロックのデー 夕を送信した後、 次のブロックを送信するまでの時間が所定時間、 例えば、 1. 0msを超えると、 ホストにてタイムアウト (TimeOut) になるので、 デバイ ス側は、 第 2のブロック以降をこの時間以内に送信する。 ブロックのサイズは、 各プロック単位で設定可能である。 各プロックの送信毎にプロックのサイズを デ一夕長レジス夕 204 kにセッ トする。 最終プロヅク以外は、 ェンドパ夕一 ンフラグを "0" で送信し、 エンドパターンは付加しない。 最終ブロックを送 信する時には、 エンドパターンフラグを "1 " にして、 送信デ一夕の最後にェ ンドパターンを付加する。 このようにして、 基本デバイスは、 自己の送受信バ ヅファの容量以上のデ一夕をホス 卜に送ることが可能となる。 拡張デバイスも 同様である。
フラグと通信状態の関係
基本デバイスのコントロールレジス夕のフラグ 2 04 aと通信状態との関係を 説明する。
( 1) 基本デバイスのフラグの状態 (当該基本デバイスがホストと通信してい る場合)
(a) 基本デバイスからホストにデ一夕を送信する場合
【表 30】 ホス卜へのデータ送信
Figure imgf000135_0001
送信フラグ TXBと送信完了フラグ T FBとが共に " 1" であるときは、 送 信エラ一である。
(b) 基本デバイスがホス 卜からデ一夕を受信する場合
【表 3 1】
ホストからのデータ受信
Figure imgf000135_0002
受信フラグ RXBと受信完了フラグ R F Βとが共に " 1" であるときは、 受 信エラ一である。
(2) 基本デバイスのフラグの状態 (ある拡張デバイスがホス卜と交信してい る場合)
(a) 拡張デバイスがホス卜にデータを送信している場合
【表 32】
他の周辺装置の送信状態に対する、 自身のフラグの状態
Figure imgf000135_0003
いずれかの拡張デバイス (送信デバイス) がホス卜にデータを送信する場合 には、 当該拡張デバイスが LMパスを占有することとしても良い。 この占有は、 送信デバイスによってオアゲート 2 1 3、 2 14を制御することによって可能 となる。 こうした場合、 送信デバイス以外の基本デバイス及び拡張デバイスは、 バスから外されるのでデータ受信の監視をする必要がなく、 その分負担が軽減 される。
(b) 拡張デバイスがホス 卜からデータを受信している場合
差替え用紙 26 【表 33】
他の周辺装置の受信状態に対する自身のフラグの状態
Figure imgf000136_0001
受信フラグ RXBと受信完了フラグ RFBとが共に "1"であるときは、 受 信エラーである。
エラー処理
エラ一処理について説明する。 前述したように、 送信フラグ TXB及び送信完 了フラグ TFBが共に "1"であるときは送信エラーである。 受信フラグ RX B及び受信完了フラグ R FBが共に " 1"であるときは受信エラ一である。 な お、 送信処理中にエラーが生じたときに、 M I Eが送信フラグ TXB及び送信 完了フラグ TFBを共に "1" に設定してエラーを知らしめることとしても良 い。 受信処理中にエラーが生じた場合も同様である。 パリティエラーが生じた 場合には、 パリティエラーフラグ PERRが設定 (= "1") される。 受信時に 受信データが送受信バッファの容量を超えた場合 (オーバ一フロー) や、 送信 時にバッファ容量を越えてデータ長を指定した場合は送受信バッファオーパ一 フローフラグ B FO Vが設定 (二 "1") される。
このようなエラーが発生した場合の基本デバイスにおけるエラ一処理の例に ついて説明する。
(a) ホストに送信している時にエラーが発生した場合は、 エラーに対しては 何もせずに、 送信フラグ TXB及び送信完了フラグ TFBのクリアのみ行う。
(b) ホストからのデータ受信時にエラ一が発生した場合、 まず、 データ送信 先が自身の場合は、 ホス 卜に対して再送コマンドを送信することが出来る。 次 に、 データ送信先が他のデバイスの場合は、 自己の受信フラグ RXB、 受信完 了フラグ RFBをクリアする。
( c ) ホス 卜からのデータ受信時のエラ一がタイムアウ ト (Time Out) であ
差替え用紙 (規則 26) る場合は、 基本デバイス、 拡張デバイス共にリセッ トする。 すなわち、 ィ) 拡 張デバイスへの I Dを反転させて、 拡張デバイスへの動作停止信号とする。 こ れにより、 拡張デバイスは処理を停止する。 口) 基本デバイスがリセッ トし、 復帰後、 I Dを反転 (元に戻す) する。 I Dが反転すると拡張デバイスはリセ ヅ 卜する。 ノ、) リセッ ト後はソフ トリセヅ ト後と同じ状態である。
コマン ドリファレンス
フレームに使用される各種コマンドについて説明する。 コマンドコードは、 0 1 1!〜 F E hまでの 2 5 4個が使用可能である。 0 O hと F F hは使用できない。 このコードは 「通信エラーの為デ一夕は保証しない」 の意味で使用することが 予約されている。 コマンドには、 コン トロールコマンド及びエラ一コマンドが 含まれる。
コン ト口一ルコマン ド
コントロールコマンドは、 コマンドコード 0 l h〜D F hの範囲を使用する。 こ のコマンドは、 デ一夕の送受信をコントロールするためのコマンドである。 ホ スト、 基本デバイス、 拡張デバイス各々のファンクション · ライブラリには、 同じコマンドコードで異なるコマンドを設けてはならない。 コマンドを増設す る場合は規格の管理者に事前に届け出て規格の統一を図るのが望ましい。以下、 コント口一ルコマンドについて説明する。
デバイスリクエスト (Device Requestヽ 図 7 1 )
発行権:ホスト
コマン ドコード : 0 l h
データサイズ: 0 O h
つ—夕領 : none
期待戻り値:デバイスステイタス [Device Status]
説明:送信先 A Pの周辺装置に対して、 [Device Status] を要求するコマンド である。 ポートに対して、 接続チェックにも使用する。 オールステイタスリクエスト (All Status Requests 図 7 2 ) 発行権: ホスト
コマン ドコード : 0 2 h
データサイズ: 0 O h
デ一夕 ¾H域: none
期待戻り値:デバイスォ一ルスティタス [Device All Status]
説明:送信先 A Pの周辺装置に対して、 全てのデバイスステイタス (フィクス ドデバイススティタス Fixed Device Statusとフリ一デバイススティタス Free Device Statusの両方) を要求する。
デバイスリセッ ト (Device Resets 図 7 3 )
発行権: ホス ト
コマン ドコード : 0 3 h
データサイズ: 0 O h
デ一夕領域: none
期待戻り値:デバイスリプライ [Device Reply]
説明:送信先 A Pで指定される周辺装置に対して、 初期化することが出来る。 動作順:(1)周辺装置は、 デバイスリプライ [Device Reply] を返す。 (2)周辺 装置は自己を初期化する。
デバイスキル (Device Kill, 図 7 4 )
発行権: ホスト
コマン ドコード : 0 4 h
デ一夕サイズ: 0 O h
つ—夕領 ¾½: none
期待戻り値 :デバイスリプライ [Device Reply]
説明 :送信先 A Pで指定される周辺装置に対して、 動作を認めない。 周辺装置 は、 スタンバイ消費電流で待機し、 コマンドを一切受け付けない。 動作させる ためには、 ハードリセッ トまたは、 電源を切って再動作させる必要がある。 動作順:(1)周辺装置は、 デバイスリプライ [Device Reply] を返す。 (2)周辺装 置は動作を停止する。
デバイスステイタス (Device Status)
発行権:周辺装置
コマンドコード : 0 5 h
データサイズ: 1 Ch ( 28)
デ一夕領域:デバイス I D : 1 6バイ ト、 仕向地コード : 1バイ ト、 製品名 : 3 1バイ ト、 ライセンス : 6 0バイ ト、 スタンバイ消費電流: 2バイ 卜、 最大 消費電流: 2バイ ト
説明:ホス トからのデバイスリクエスト [Device Request] に対して、 フイク スドデバイスステイタス [Fixed Device Status] デ一夕を返す。 内容の詳細は、 後述の周辺装置の情報に記載されている。
デバイスォ一ルスティタス (Device All Status)
発行権:周辺装置
コマンドコード : 0 6 h
データサイズ: 1 C h + (n/4)
デ一夕領域:フィクスドデバイスステイタス [Fixed Device Status]: 1 1 2ノ ィ ト、 デバイス I D : 1 6バイ ト、 仕向地コード : 1バイ ト、 製品名 : 3 1ノ' イ ト、 ライセンス : 6 0バイ ト、 スタンバイ消費電流: 2バイ ト、 最大消費電 流: 2バイ ト、 フリーデバイスステイタス [Free Device Status]: nバイ ト 説明:ホストからのオールステイタスリクエスト [All Status Request] に対し て、 フィクスドデバイスステイタスとフリ一デバイスステイタスの両方を返す。 内容の詳細は、 後述の周辺装置の情報で説明される。
デバイスリプライ (Device Reply)
発行権:周辺装置 コマンドコード : 0 7 h
デ一夕サイズ: 0 O h
ラ—夕令貝域: none
説明:周辺装置からの返信として使用する。
デ一夕トランスファ (Data Transfer、 図 7 5 )
発行権:周辺装置
コマンドコード : 0 8 h
デ一夕サイズ: n ( 0 l h≤n≤ F F h)
データ領域: ファンクションタイプ: 4バイ ト、 デ一夕 :(n— l ) x 4バイ ト 期待戻り値: none
説明: ホス卜から指定されたファンクションタイプのデータを返す。 デ一夕は 要求されたコマンドで異なる。
ゲッ トコンディション (Get Condition, 図 7 6 )
発行権:ホス ト
コマン ドコード : 0 9 h
テ、、 一夕サイス、、 :01h
デ一夕領域: ファンクションタイプ: 4バイ ト
期待戻り値:デ一夕 トランスファ [Data Transfer]
説明:周辺装置のファンクションタイプで指定したファンクションの物理的状 態を要求する。 周辺装置は、 ホス トから送られてきたファンクションタイプと 同じタイプで返す。一度に指定できるファンクションタイプは、 1つだけである。 ゲヅ トメディアインホ (Get Media Info, 図 7 7 )
発行権:ホスト
コマン ドコード : 0 Ah
データサイズ: 0 2 h
データ領域: ファンクションタイプ : 4バイ ト、 P T (パーティシヨン) : 4ノ イ ト (うち 3バイ トはダミー)
期待戻り値:デ一夕 トランスファ [Data Transfer]
説明:周辺装置のフアンクシヨンタイプと P Tで指定したファンクションの、 メディア (Media) 情報を要求する。 詳細は、 それそれのファンクションタイ プの仕様書による。
プロヅクリ一ド (Block Read, 図 78 )
発行権:ホスト
コマンドコード : O Bh
デ一夕サイズ: 0 2h
デ一夕領域: ファンクションタイプ: 4バイ ト、 パーテイシヨン (P T): 1バ ィ ト、 フェーズ (Phase) : 1バイ ト、 ブロック番号 (Block No.): 2バイ ト 期待戻り値:データ トランスファ [Data Transfer]
説明:周辺装置のファンクション夕ィプと情報記録媒体のパーティシヨン、 フ ェ一ズ、 ブロック番号で指定した場所 (例えば、 FDD、 HDD, メモリや C D— ROM等のデ一夕記録場所) のデ一夕を要求する。 詳細は、 それそれのフ アンクシヨンタイプの仕様書による。
ブロックライ ト (Block Writer 図 7 9 )
発行権:ホスト
コマン ドコ一ド : 0 Ch
データサイズ: 02h+n
データ領域: ファンクションタイプ: 4バイ ト、 パーティシヨン : 1バイ ト、 フエーズ: 1バイ ト、 ブロック番号: 2バイ ト、 書き込みデ一夕 : nx 4バイ ト 期待戻り値:デバイスリプライ [Device Reply]
説明:周辺装置のファンクションタイプと、 パーティション、 フエ一ズ、 プロ ック番号で指定した場所にデータを書き込む。 詳細は、 それそれのファンクシ ョンタイプの仕様書による。 ゲヅ トラストエラ一 (Get Last Error, 図 8 0 )
発行権:ホスト
コマンドコード : 0 D h
デ一夕サイズ: 0 2 h
デ一夕領域: ファンクションタイプ: 4バイ ト、 パーテイシヨン : 1バイ ト、 フエーズ: 1バイ ト、 プロック番号 : 2バイ ト
期待戻り値:デバイスリプライ [Device Reply]
説明:直前のコマンドに対してエラ一が発生したかを調べる。 エラ一が無けれ ばデバイスリプライ [Device Reply]を、エラ一があればエラーコマンドを返しま す。 パーティションとブロック番号は直前のコマンドの値をそのままに、 フエ ーズは + 1する。 詳細は、 それそれのファンクションタイプの仕様書による。 エラ一コマンド
次に、 エラーコマンドについて説明する。 エラ一コマンドは、 コマンドコード E 0 1!〜 F E hの範囲を使用する。 エラーコマンドは、 デ一夕の送受信や処理に 対して、 エラーが発生したことを告げる。 ホス ト、 基本デバイス、 拡張デバィ スの各々のファンクション · ライブラリは、 同じコマンドコードで異なるコマ ンドを設けることは禁止される。 エラ一コマン ドを増設する場合は規格の管理 者に事前に届け出て規格の統一を図るのが望ましい。 以下、 エラーコマンドに ついて説明する。
ファンクションタイプアンノウン (Function Type Unknown)
発行権:周辺装置
コマンドコード : F E h
デ一夕サイズ: 0 O h
つ—夕領域: none
説明:送信されてきたファンクションタイプで指定されるファンクションが、 周辺装置に存在しない場合に発行する。 考えられる原因:(1)ファンクションタイプの指定が間違っている。 (2)データの 記述が間違っている。 (3)デバイス I Dがデータ化けしていた。 (4)通信中にデー 夕化けした。
対処:(1)ファンクションタイプの指定を正しくする。 (2)デ一夕の記述を正しく する。 (3)もう一度デバイスリクエスト [Device Request] を送信し、 デバイス I Dを得る。 (4)もう一度送信してみる (最大 3回まで、 以後タイムアウトと同 処理)。
コマン ドアンノウン ( Command Unknown)
発行権:周辺装置
コマン ドコード : F D h
デ一夕サイズ: 0 O h
テ一夕領域: none
説明:送信されてきたコマンドが、 周辺装置側のファンクションに用意されて いない時に発行する。
考えられる原因:(1)コマンドの指定が間違っている。 (2)データの記述が間違 つている。 (3)デバイス I Dがデ一夕化けしていた。 (4)通信中にデ一夕化けした。 対処:(1)コマンドの指定を正しくする。 (2)データの記述を正しくする。(3)もう 一度デバイスリクエス ト [Device Request] を送信し、 デバイス I Dを得る。 (4)もう一度送信してみる (最大 3回まで、 以後タイムアウトと同処理)。
トラスンミ ヅ トァゲイン (Transmit Again)
発行権:ホスト, 周辺装置
コマン ドコード : F Ch
データサイズ: 0 O h
デ一夕領 : none
説明:送信されてきたデータが、 何らかでエラ一があった場合で、 もう一度同 じデータを送るように要求する。 考えられる原因 :(1)パリティエラーが発生した。 (2)データがオーバーフローし た。 (3)通信中にデータ化けした。
対処: もう一度送信する (最大 3回まで、 以後タイムアウトと同処理)。
ファイルエラ一 (File Error)
発行権:周辺装置
コマンドコード : FBh
データサイズ: 0 lh
データ領域: ファンクション 'エラ一コード
説明: ファイルファンクション(File Function)でエラーが発生した時に発行す る。 ファンクション 'エラ一コードで、 詳細なエラーを返す。
考えられる原因:
【表 34】
File Functionのファンクション 'エラーコード
Figure imgf000144_0001
同表において、 エラーが発生した項目が " 1 " になり、 エラーでない項目は、 "0" になる。 FE。はパーティションエラ一 (PTError)、 FE!はフェーズエラ -(Phase Error) F E 2はブロックエラー (Block Error)、 FE3は書き込みエラ -(Write Error), F E 4はデータ長エラ一 (Length Error)、 FE5は CRCエラ -(CRC Error), を表す。 以下は、 予約される。
L C Dエラ一 (LCD Error)
発行権:周辺装置
コマンドコード : F Ah
データサイズ: 0 lh
データ領域: ファンクション ·エラ一コード
差替え用紙 (規則 26) 説明: L C Dファンクション(LCD Function)でエラーが発生した時に発行する, ファンクション .エラーコードで、 詳細なエラーを返す。
考えられる原因 :
【表 3 5】
LCD Functionのファンクション 'エラーコード
Figure imgf000145_0001
同表において、 エラーが発生した項目が " 1 " になり、 エラ一でない項目は、 " 0 " になる。 F E。は PT Ei'ror、 F E iは Phase Error、 F E 2は Block Error、 F E 3は Write Ei'ror、 F E 4は Length Error、 F E 5は none、 を表す。 以下は、 予約される。
周辺装置の情報
基本デバイス及び拡張デバイス固有の情報 (デバイスステイタス) について説 明する。 デバイスステイタスは、 書き換え出来たり、 消去出来ないようにし、 そのままのデータを記録する。 デバイスステイタスには、 フィクスドデバイス ステイタス (Fixed Device Status) とフリーデバイスステイタス (Free Device Status) とがある。 フィクスドデバイスステイタスは、 絶対に記述しなければ ならない、 1 1 2バイ 卜のフォーマツ 卜の決まったデバイスステイタスである。 全ての項目を記述していないと、 動作, 接続の保証はない。 フリーデバイスス ティタスは、 個々のデバイスによって自由に使用しても良いデバイススティ夕 スである。 容量は、 最大 9 1 2パイ トである。
フィクス ドデバイスステイタス (Fixed Device Status)
フィクス ドデバイスステイタスは、 下記の項目を全てを記述しなければならな い。
( 1 ) デバイス I D
え用紙 26 容量: 1 6バイ 卜
説明:周辺装置の厲性, デ一夕フォーマッ ト (ファンクション) を示す。 デパ イス I Dについては、 プロ 卜コルの項に関速記載がある。
(2) 仕向地
容量: 1バイ 卜
説明:製品の仕向地 (販売地域) を示す。 仕向地の設定ビッ 卜の構成を表 36 に示す。 仕向地の設定ビッ 卜と仕向地との関係を表 37に示す。
【表 36】
仕向地の設定ビッ 卜の構成
Figure imgf000146_0001
【表 37】
仕向地の設定ビッ ト
Figure imgf000146_0002
例えば、 全世界共通の場合は、 DE S二 "11111111" =FFh、 日本とアジア 向け共通の場合は、 D E S - "00000110" = 06hとなる。 DE S = 00hは指 定禁止である。
(3) 製品名
容量: 3 1バイ ト
説明:製品名を英語またはローマ字で記述する。 全角、 半角を問わない。 余り の容量 (ビッ ト) には、 スペースコード (2 Oh) を入れる。 この製品名は、 事 前登録する。
(4) ライセンス
え 容量: 60バイ ト
説明:製品のライセンス表示を英語またはローマ字で ASCIIコードで記述する。 余りの容量には、 スペースコード ( 2 Oh) を入れる。例えば、 「ProducedBy or Under License From XX XXX, LTD. j と記述する。
(5) スタンバイ消費電流
容量: 2バイ ト
説明:一時停止時の消費電流を 0. 1 mA単位で 1 6進数によって記述する。 例えば、 1 0. 5mAの場合は、 00— 69hと記述する。
(6) 最大消費電流
容量: 2パイ ト
説明:最大消費電流を 0. 1 m A単位で 1 6進数で記述する。 例えば、 127. 9 mAの場合は、 04— F Fhと記述する。
フリーデバイスステイタス (Free Device Status)
フリーデパイスステイタスは、 製品の企画者, 開発者, 設計者, プログラマー 等が自由に記述出来る領域で、オールデバィスリクエス ト [All Device Request] でホストは取得出来る。 アプリケーションソフ ト等で使用する場合には、 デー 夕配列等の対応をしておく必要がある。
本発明を用いた基本デバイス、 拡張デバイスの他の例について図面を参照し て説明する。
図 8 1は、 相対アドレスを使用する第 1の実施の形態にかかる、 他の基本デ バイス (コントローラ) の構成例を概略的に示している。 相対アドレス方式に よる図 33に示した Uデバイスファンクションの構成例では、 SD CKA OU Tの端子 (抵抗が接続されている) によって拡張デバイスの接続の有無を判断 しているが、 この例では、 図 64に示す例と同様に、 各拡張コネクタに抵抗 R を接続した端子 I D 2を設けて、 この端子の生起電圧を判別して拡張ソケッ ト の接続の有無を判断している。 図 8 1において、 基本デバイス (ゲームコン トローラ) 2の制御回路は、 い わゆる 1チップマイクロコンビュ一夕システム 2 00によって構成することが 可能である。 コンビユー夕システム 2 00には、 各部の制御を行う C PU 20 1 a、 C PU 20 1 aの制御プログラムやデータライブラリを格納する ROM 20 1 b, CPUプログラムやデータを格納してデータ処理を行うために使用 される RAM20 1 c、 1 1個のデジ夕ルスィツチ 206の押圧操作をコ一ド データに変換する I/O部 202 a、 4個のアナログスィッチ 207の可変な レベル出力をデ一夕信号に変換する A/D変換器 202 b、 基本デバィスとホ ス卜とのデータ通信、 拡張デバイスとホストとのデ一夕通信の補助を行う基本 デバイス用 M I E 205を含んでいる。 また、 コンピュータシステム 200に は、 電源投入の際にリセッ ト信号を生成する、 抵抗、 キャパシ夕、 ダイオード からなるリセッ ト信号生成回路、 システムの各種ク口ック信号を発生するクリ ス夕ル発振器、 基本デバイス用 M I E 2 05の信号用電圧及び拡張デバイス用 信号電圧 3. 3Vを電源 Vcc (+ 5 V) から生成する電圧変換回路を含む。 基 本デバイスへの電源 Vcc (+ 5 V) は、 外部接続ケーブルを介してゲーム装置 から供給される。 外部接続ケーブルは、 信号線 SD CKA、 信号線 SD CKB、 電源線 Vcc及び接地線 GNDによって構成される。 ゲーム装置から外部接続ケ —ブルを介して供給される電源 Vcc (+ 5 V) は、 上述した信号用電源 (+ 3. 3 V) と共に拡張コネクタを介して図示しない拡張デバイスに供給される。
CPU 201 a, ROM20 1 b及び RAM201 cは、 図 33における C PUに、 A/D変換器 202 b及び 1ノ0部 202 aは I/Oに、 基本デバィ ス用 M I E 205は通信処理部、 ソケッ トコントロール部及びゲート類に対応 している。 基本デバイス 2には、 Mバスを介してホストから電源 Vcc及び接地 GNDが供給される。 また、 信号線 S D CK A及び SD CKBによってデ一夕 通信が行われる。基本デバィスと拡張デバイス間は信号線 S D C K A-US-1、 SD CKA-D S-1、 SD CKA-EN-1、 S D C KB-U S- 1 N SD CKB-D S-l、 SD CKB-EN-K S D C K A-U S-2 , S D C K A-D S-2, S D C KA-EN-2、 SD CKB-U S-2, SD CKB-D S-2, SD CKB-EN-2, 電源 Vc c (+ 5 V、 3. 3 V)、 接地線 GND (4本) によって接続される。 なお、 この例では、 基本デバイスが拡張コネクタを 2つ持つ場合で説明してい るが、 既述のように、 外部への拡張コネクタを 4つ持つことができる。 この場 合、拡張デバイスの接続を確認するための I D 2は、 I D 2-:!〜 I D 2-4まで 備える。 基本デバイス 2の動作は、 図 33に示した Uデバイスファンクション と同じであるのでその説明は省略する。
図 82は、 絶対アドレスを使用する第 2の実施の形態にかかる、 他の基本デ バイス (コントロ一ラ) の構成例を相対ァドレスを使用する図 8 1の例に対応 して示している。 同図において図 65あるいは図 8 1と対応する部分には、 同 一符号を付し、 かかる部分の説明は省略する。 絶対アドレス方式を採る基本デ バイスでは、 I/Oブロック 202 aは、 C P Uの出力に従って各拡張ソケヅ トの I D 0、 I D 1端子を介して接続された拡張デバイスに LMバスの番号を 知らせる。 I D 0、 I D 1端子の役割は、 図 5 9を参照した拡張デバイスの A Pの設定手順で説明されている。 I/O 202 aから端子 I D 0— 1及び I D 1— 1は、 第 1の拡張ソケヅ 卜に、 端子 I D 0— 2及び I D 1— 2は、 第 2の 拡張ソケッ 卜に設けられる。
図 83及び図 84は、 それそれ相対ァドレス方式及び絶対ァドレス方式の、 L CD表示器 (L CDカートリヅジ) を備える拡張デバイスの例を示している。 両図において、 拡張デバイス (L CDカートリ ッジ) 3の制御回路は、 いわ ゆる 1チヅプマイクロコンビュ一夕システム 300によって構成することが可 能である。 コンピュータシステム 300には、 各部の制御を行う CPU 30 1、 CPU 30 1の制御プログラムやデータライブラリを格納する ROM 302、 C P Uのプログラムやデータを格納してデータ処理を行うために使用される R AM 303、 拡張デバィスとホス トとのデ一夕通信を行う拡張デバィス用 M I E 304、 入力及び出力のイン夕フェースを行う I /0部 305、 L CD 30 8の表示を制御する L CDコン トローラ 306、 L CDのエレメントを駆動す る L CDドライバ 307を含んでいる。 拡張デバイス用 M I E 304は、 基本 デバイスの M I Eと同様に構成されるが、 LMバスコン トローラ 203 a及び これに関連するゲートは備えていない。 L CDカートリッジは、 ホストから M バス、 LMバス、 M I E 304を介してフレーム形式で送信された文字デ一夕、 静止画デ一夕、 動画デ一夕 (LD、 CD_V、 DVD, テレビのビデオ情報を 含む) 等を RAM303に格納する。 そして、 CPU 30 1によって、 これ等 の表示すべきデ一夕を L CDコントロ一ラ 306に与えて画像化する。
また、 コンピュータシステム 300には、 電源投入の際にリセッ ト信号を生 成するリセッ ト信号生成回路、 クロック信号を発生するクリスタル発振器、 必 要により設けられるデバイス用 M I E 205の信号等の電圧 3. 3 Vを電源 V cc (+5 V) から生成する電圧変換回路 (図示せず) を含む。 電源 Vcc ( 5 V、 3. 3V) は、 基本デバイス側から供給されるが、 拡張デバイスは目的とする 機能を実現するに必要な電圧を内部回路で生成することができる。 信号線 I D 2には、 拡張デバイス側において電源電圧 Vcc が印加される。 絶対アドレスの 拡張デバイスにおいては、 既述のように、 IZO部 305に LMバス番号を知 らせる I D 0、 I D 1が接続される。
図 85及び図 86は、 それそれ相対ァドレス方式及び絶対ァドレス方式のメ モリカートリッジ (拡張デバイス) の例を示している。 両図において、 図 83 及び図 84と対応する部分には、 同一符号を付し、 かかる部分の説明は省略す る。
この例では、 E E P R 0 Mや電池でバックアップされたメモリ等の不揮発性 RAM 3 1 2を備えている。 保存すべきデ一夕が M I E 304を介して RAM 303に格納される。 C P U 30 1は、 格納されたデータを不揮発性 RAM 3 1 2に外部出力バスドライノ 3 1 1を介して書き込む。 また、 CPU 301は、 ホストからの指令に応じて RAM 3 1 2に書き込まれたデ一夕を RAM303 に読み出し、 M I E 304を介してホス トに転送する。 例えば、 遊技者がゲ一 ムを途中で止める場合に、 ホス卜から送られたゲーム途中までのゲームパラメ 一夕を RAM 3 1 2に保存することにより、 次回のゲームをゲーム途中から再 開することが可能となる。 なお、 不揮発性 RAM 3 12部分を、 ソケッ トを介 してバスドライバ 3 1 1と接続するようにし、 カード化した複数の不揮発性 R AM 3 1 2を交換可能とすることができる。 また、 コンビユー夕システム 30 0に不揮発性 RAM 3 12を含むようにすることもできる。
図 87及び図 88は、 それそれ相対アドレス方式及び絶対アドレス方式の振 動カートリッジ (拡張デバイス) の例を示している。 両図において、 図 83及 び図 84と対応する部分には、 同一符号を付し、 かかる部分の説明は省略する。 この例では、 振動を発生する偏心錘を回転させるモー夕ゃソレノィ ド等によ る振動体 322を駆動する ドライバ/コントロ一ラ部 32 1を備える。 振動体 の動作指令信号あるいは動作停止指令信号は、 ホストから M I E 304を介し て RAM 303に格納され、 CPU30 1によって I/O部 305を介して ド ライバ /コントロ一ラ部 32 1に与えられる。
図 8 9及び図 90は、 それそれ相対ァドレス方式及び絶対ァドレス方式のラ ィ トガン (光線銃) カートリッジ (拡張デバイス) の例を示している。 両図に おいて、 図 83及び図 84と対応する部分には、 同一符号を付し、 かかる部分 の説明は省略する。
この例では、 テレビ画面上のある部分 (光線銃の着弾点) を走査する電子ビ —ムによる輝点がライ トガンカートリツジのレンズを介して受光素子 332に 取り込まれる。 受光信号は、 増幅器 33 1によってレベル増幅される。 ゲーム コントローラの引き金 (例えば、 後述の図 9 7 (b) の 2 d) が操作されると トリガ信号が発生し、 増幅器 33 1の出力が検出信号として MI E 304に供 給される。 この信号は、 ホス トに転送されて HVカウン夕のラッチ信号として 使用される。
図 9 1及び図 9 2は、 それそれ相対ァドレス方式及ぴ絶対ァドレス方式の音 声入力カートリッジ (拡張デバイス) の例を示している。 両図において、 図 8 3及び図 8 4と対応する部分には、 同一符号を付し、 かかる部分の説明は省略 する。
この例では、 マイク 3 4 5の出力が増幅器 3 4 4で適当なレベルに増幅され、 A/ D変換器 3 4 3によってサンプリングされる。 サンプリングされた音声デ —夕は、 バッファメモリ 3 4 2の第 1及び第 2のレジス夕 (F I F O ) に交互 に格納される。 このデ一夕をバスコントローラ 3 4 1が読み出し、 口一力ルバ スを介して M I E 3 0 4の送受信バッファに送り出す。 M I E 3 0 4によって 音声デ一夕はフレーム化されてホス ト (ゲーム装置) に送られる。 このような 機能は、 いわゆる音声入力、 カラオケ、 電話機、 通信機等としてホス トを使用 することを可能とする。
図 9 3及び図 9 4は、 それそれ相対ァドレス方式及び絶対ァドレス方式の音 声出力カートリッジ (拡張デバイス) の例を示している。 両図において、 図 8 3及び図 8 4と対応する部分には、 同一符号を付し、 かかる部分の説明は省略 する。
この例では、 ホストから送信された音声デ一夕が M I E 3 0 4から口一カル パスを介してバスコントローラ 3 5 1に供給される。 パスコントローラ 3 5 1 は、 音声デ一夕を F I F 0 (First In First Out)動作のメモリ 3 5 2に格納し、 逐次転送される音声データを連結する。 メモリ 3 5 2から出力された音声デ一 夕は D / A変換器 3 5 3によって音声信号に変換され、 増幅器 3 5 4にてレべ ル増幅され、 スピーカ 3 5 5から音声として出力される。 このような機能は、 いわゆるホス 卜の音声による応答 (音声出力) 機能、 ゲームの効果音 (特に複 数スピーカ構成による音響効果)、 カラオケ、 電話の受話器等として使用可能で ある。 なお、 上述した発明の実施の形態は、 2つの規格の形式で説明されているが、 第 1の実施の形態の構成要素と第 2の実施の形態の構成要素とを技術的に矛盾 しない範囲で組み合わせることが可能である。 また、 本発明は、 ゲーム装置へ の適用に限定されるものではなく、 小型のコンピュータシステム、 コンビュ一 夕ネッ トワーク、 コンピュータ応用装置、 携帯型通信端末装置等にも適用可能 である。
図 9 5及び図 9 6は、 ホス ト及び周辺装置相互間を接続する Mバスをワイヤ レス構成とした他の実施の形態を示している。 両図において、 第 1及び第 2の 実施の形態と対応する部分には同一符号を付し、 かかる部分の説明は省略する。 図 9 5において、 ホスト (ゲーム装置) 1のペリフェラルコントローラ 1 h と、 周辺装置 (基本デバイス) 2のペリフェラルコントローラとのそれそれに 無線モデム装置 5 0 0が接続されている。 無線モデム装置 5 0 0は、 データコ ントローラ 5 0 1、 送信部 5 0 2、 デュプレクサ 5 0 3、 受信部 5 0 4、 アン テナ 5 0 5等によって構成され、 ホス トと周辺装置相互間の通信データを中継 する。 この場合、 周辺装置 2は電池駆動とすることができる。
デ一タコントロ一ラ 5 0 1は、 送信すべき S D〇1{八信号及び3 0 C K B信 号を多値変調、 例えば、 7Γ 4シフ ト Q P S K変調により送信すべく、 データ 処理を行って I信号成分、 Q信号成分のデータを形成する。 この直交成分のデ 一夕を送信部 5 0 2に供給する。 また、 デ一夕コントローラ 5 0 1は、 受信部 5 0 4によって復号化された I、 Q成分のデータから S D C K A信号及び S D C K B信号を形成してペリフェラルコントローラ 5 0 1に供給する。 送信部 5 0 2は、 多値変調器、 例えば、 7Γ/ 4シフト Q P S K変調を行う直交変調器を 備え、 フレームデータを担う周波数 のキャリア信号を形成する。 このキヤリ ァ信号は、 デュプレクサ 5 0 3によってアンテナ 5 0 5に導出され、 自由空間 に電波として放射される。 一方、 周辺装置 2側のアンテナ 5 0 5に到来した電 波はキヤリァ信号となり、 デュプレクサ 5 0 3によって受信部 5 0 4に導かれ る。 受信部 504は、 例えば、 同期検波器を備えており、 キャリア信号から I 信号成分、 Q信号成分を分離し、 多値デ一夕を復号する。 前述したように、 デ 一タコントロ一ラ 50 1は、 多値デ一夕から S D CKA信号及び SD CKB信 号を形成してペリフヱラルコン トローラ 50 1に供給する。
この結果、 ホストと周辺装置間を接続した Mバスのケーブル類が不要となる。 ワイヤレスの周辺装置 2は、 ホス 卜から離間した配置や使用態様の自由度が増 す。 上述した無線モデム装置 500は、 携帯型電話装置 (あるいは PHS装置) を活用するものであっても良い。 この場合には、 比較的に安価に I Cチップが 入手でき、 周辺装置のワイヤレス使用のみならず、 ホストを通信回線に接続し た対戦型ゲームやインターネッ 卜の使用が可能となる。
なお、 SD CKA信号及び SD CK B信号の二つの信号に対応して送信系及 び受信系を二重に構成し、二つの通信チャネル fi、 f2を使用する構成としても 良い。 また、 S D C K A信号及び S D C KB信号を一旦シリアルデ一夕のフレ ーム信号に戻してから、 相手側に一つの通信チャネル で送信し、 受信側で復 調したフレーム信号から SD 0 信号及び30 C KB信号を復号する構成と しても良い。
図 9 6は、 図 9 5に示したワイヤレス構成を光通信によって構成した例を示 している。 同図において、 図 95と対応する部分には同一符号を付している。 かかる部分の説明は省略する。
この例では、 光 (例えば、 赤外線) による通信を行うために、 赤外線モデム 装置 600が用いられている。 赤外線モデム装置 600は、 デ一タコントロ一 ラ 60 1、 変調器 602、 発行部 603、 受光部 604、 復調部 605等によ つて構成される。 データコン トローラ 60 1は、 SD CKA信号及び SD CK B信号を一旦シリアルデータのフレーム信号に戻す。 変調器 602はフレーム 信号によって駆動電流を変調する。 変調としては、 例えば、 レベル変調あるい は周波数変調を選択することができる。 駆動電流は、 発光部 603の発光素子、 例えば、 赤外線発光の L E Dに供給され、 L E Dを点滅させる。 L E Dの点滅 光は光学系を経て外部に放射される。 この放射光は、 他方の赤外線モデム装置 6 0 0の受光部 6 0 4に入射する。 入射光は、 受光素子、 例えば、 フォ ト トラ ンジス夕によって電気信号に変換され、 復調部 6 0 5によってデジタルデ一夕 信号に復調される。 このデ一夕信号は、 デ一夕コン トローラ 6 0 1によって S D C K A信号及び S D C K B信号に戻され、 ペリフェラルコン トローラに送ら れる。 ホスト (ゲーム装置) 1あるいは周辺装置 2のペリフェラルコント口一 ラについては、 既述している。
このように、 Mバスの構成は有線のみならず無線 (ワイヤレス) によって構 成しても良いものである。
次に、 ホス卜及び周辺装置のコネクタ等について図 9 7を参照して説明する。 図 9 7 ( a ) は、 ホストとしてのゲーム装置 1と、 周辺装置としての基本デバ イス (ゲームコントローラ) 2と、 を接続する Mバスコネクタを説明する説明 図である。 同図において図 1と対応する部分には同一符号を付している。
この例では、 ゲーム装置の正面側に 4つのコネクタ (ソケッ ト) l iを備え ている。 このコネクタ 1 iのいずれかにゲームコントローラ 2のコネクタ (プ ラグ) 1 1 0が接続される。 ソケッ ト 1 i及びプラグ 1 1 0はそれそれ 5端子 (ピン) を備える後述の形状をしている。 ゲームコントローラ 2の上面には、 A、 B、 C及び Dボタン (A、 B、 C、 Dスィッチ) 2 a、 十字キー (上下左 右方向指示スイッチ) 2 b、 ゲームコン トローラ 2の保持部には、 トリガレノ' 一 (トリガスィツチ) 2 dが設けられている (図 9 7 ( b ) 参照)。 これ等のボ タン類は、 デジタル入力のスィッチ類 2 0 6をァクチユエ一卜する。 また、 ァ ナログ入力を行うアナログスィッチ 2 0 7をァクチユエ一卜するアナログボタ ン (アナログキ一) 2 cを備えている。 アナログキーは、 例えば、 画面上の力 —ソルやボイン夕を連続的に移動するために使用される。
図 9 7 ( b ) は、 基本デバイス (ゲームコントローラ) 2と図示しない拡張 デバイス 3とを接続する LMバスコネクタ 1 3 1を説明する説明図である。 同 図において、 図 97 (a) と対応する部分には、 同一符号を付し、 かかる部分 の説明は省略する。 ゲームコントローラ 2の、 ゲーム装置 1 cと向かい合う背 面側には、 2つの; LMバスコネクタ (ソケッ ト) 13 1が設けられている。 図 98 (a) は、 他のゲームコントローラの例を示している。 このゲームコ ントロ一ラは、 拡張デバイスと合体する機能を有している。
同図において、 ゲームコントローラ 2は、 A、 B、 C及び Dボタン 2 a、 十 字キー 2 b、 アナログキー 2 c、 レバ一 2 d (既述図 97 (b) 参照)、 スター トボタン (スタートスイッチ) 2 eを備えている。 更に、 ゲームコントローラ の背面側 (図 97 (b) 参照) に拡張デバイスを挿入するスロッ トを備えてい る。 ゲームコントロ一ラ 2の上面中央の背面側よりに窓 2 f が設けられている。 図 98 (b) は、 拡張デバィス 3としての L CD力一トリヅジの例を示して いる。 L CDカートリッジ 3を上記スロッ トに挿入し、 拡張コネクタ 13 1を 介してゲームコントローラ 2に接続すると、 L CDカートリヅジの L CDパネ ル 308が、 この窓 2 f の直下に位置するように構成される。 この結果、 ゲー ムコントローラ 2に L CDカートリッジ 3を接続すると、 ゲーム装置 1から送 られるビデオ画像等をゲームコントローラ 2で見ることができるようになる。 また、 この L CDカートリッジ 3には、 十字キ一 2 b、 A、 B、 C、 Dボタン 2 a等が設けられ、 L CDカートリヅジ 2単体でも形態型ゲーム装置として楽 しめるように構成されている。
図 9 9〜図 1 0 1は、 Mバスに使用される Mバスコネクタの構成を説明する 図である。
図 9 9は、 ホス ト 1の筐体に設けられるバスコネクタ 1 iのソケッ ト側を正 面方向 (挿入方向) から見た状態の概略を示している。 ソケッ トは、 略 D字状 の外周部 1 0 1と、 略 D字状の 6角形状のピン基台 1 02と、 外周部 1 0 1と ピン基台 1 02との間に形成された略 D字状の溝 103と、 を含んで構成され ている。 ソケッ トは絶縁性プラスチックの射出成型品であり、 ピン基台 1 02 の主面 (上面) には、 接触ピン No. 1、 No . 3、 No . 5が形成され、 該 主面と平行な反対面 (下面) には、 接触ピン N o . 2及び N o. 4が形成され ている。 接触ビン N o. 2は、 接触ピン No . 1及び No . 3相互間に存在す る絶縁領域と対抗するように配置され、 接触ピン N o . 1あるいは No. 3と 容量結合が生じ難いようになっている。 同様に、 接触ピン N o. 4は、 接触ピ ン No. 3及び No. 5相互間に存在する絶縁領域と対抗するように配置され、 接触ピン No. 3あるいは N o. 5と容量結合が生じ難いようになっている。 各接触ピンは金属の弾性体であり、 図示しないピン基台 1 02の背面側の 5本 の基板接続用端子と繋がれている。 接触ピン N o . 1と N o . 5は、 それそれ デ一夕線 SD CKA及び SD CKBと接続される。 接触ピン N o . 1及び No. 5相互間の接触ピン No. 3は、 シールド線が接続され、 データ線がそれそれ 接続される接触ピン No . 1及び No . 5相互間の結合が防止される。 接触ビ ン No. 2及び No. 4は電源線であり、 それそれ電源 Vcc及び接地線 GND に接続される。 前述したように、 接触ピン N o . 2及び No. 4の各金属面は、 接触ピン No. 1、 No. 3、 No. 5の各金属面と直接対抗しないように配 置されるので、 電源 Vcc及び接地線 G N Dのデータ線へ与える影響は少ない。 図 1 00は、 バスコネクタ 1 iのソケッ 卜に対応するプラグ側の構成を示し ている。 同図 (a) は、 プラグの側面図、 同図 (b) は上面図、 同図 (c) は 正面図である。 ブラグは絶縁性の良いプラスチックによって成型されており、 1 1 1はワイヤ類と接触ピンの端子との接続部を内蔵するハウジング、 1 1 2 は断面がソケッ 卜の溝 103の形状に対応した略 D字状の差込部、 1 13は差 込部の略 D字状の内壁、 1 14はピン基台 1 02の外形に対応した形状の溝、 No. l〜No. 5は、 内壁 1 1 3に設けられた接触ピンである。 各接触ピン は金属の弾性体であり、 ソケッ トの各ピンに対応して設けられる。 プラグの差 込部 1 1 2をソケッ トの溝 1 03に挿入することで互いの接触ピン N 0. 1〜 N o . 5同士が接続される。
図 1 0 1は、 Mバスケーブルの周辺装置 (基本デバイス) 側のコネクタ (ブ ラグ) を説明する正面図である。 絶縁性の良いプラスチックによって成型され たプラグ 1 2 1は、 ケ一ブルの各ワイヤに接続される端子 N 0 . l〜N o . 5 を備えている。 各端子は、 略直方体あるいは板状体のソケッ トの一側面に一列 に配置されている。 このソケッ ト 1 2 1は、 周辺装置の基板の配線に、 コネク 夕 (ソケッ ト) を介して、 あるいは半田付けにより直接接続される。
図 1 0 2は、 基本デバイスと拡張デバイスとを接続する L Mバスコネクタの ソケヅ ト 1 3 1の構成例を示している。 同図 (a ) は上面図、 同図 (b ) は正 面図である。 また、 図 1 0 3は、 L Mバスコネクタのプラグ 1 4 1の構成例を 示している。 同図 (a ) は上面図、 同図 (b ) は正面図である。
ソケッ ト 1 3 1は、 概略、 揷入部 1 3 2、 被揷入部 1 3 3及び両者を結合あ るいは収容するハウジング 1 3 4によって構成される。 同様に、 ブラグ 1 4 1 も、 挿入部 1 4 2、 被揷入部 1 4 3及び両者を結合あるいは収容するハウジン グ 1 4 4とによって構成される。 ソケヅ ト 1 3 1の揷入部 1 3 2は、 プラグ 1 4 1の被挿入部 1 4 3に揷入され、 プラグ 1 4 1の挿入部 1 4 2は、 ソケッ ト 1 3 1の被揷入部 1 3 3に挿入される。
ソケッ ト 1 3 1の挿入部 1 3 2は、 ハウジング 1 3 4の正面左側の一面から 突起する柱状体であり、 該柱状体の正面側端面に、 左右方向に延在する 「 I」 字状 (長方形) の挿入溝 1 3 2 aが形成されている。 この挿入溝は、 挿入部 1 3 2をプラグ 1 4 1の溝 1 4 3 aに、 該溝内の板状のピン基台 1 4 3 cを跨る ようにして挿入するために設けられた溝である。 誤挿入の防止あるいは複数の 接続ピンを柱状体部材 1 3 2の略中央に配列するために挿入溝 1 3 2 aは、 柱 状体端面の上下方向の中央よりも下側に片寄って形成されている。 挿入溝 1 3 2 aの内壁面 1 3 2 bの上側面に金属の接続ピン N o . :!〜 N o . 7がー列に 配設されている。 これ等の接続ビンは、 柱状体 1 3 2端面の上下方向の略中央 位置に存在している。 接続ピン N o . 1〜Ν ο· 7の各々は、 図示しないが、 ハウジング 134の背面側に、 接続ビン Ν 0. 1〜Νο. 7に対応してそれぞ れ設けられた複数の接続端子の各々にまで延在し、 基板の配線またはケーブル と接続される。 接続ピン Ν ο · 1〜Ν ο. 7は、 それそれ電源線 Vcc ( 3. 3 V)、 電源線 Vcc (5 V)ヽ 制御線 SD CKA E N、 データ線 SD CKB D S、 デ一夕線 SD CKA US、 識別線 I D 1及び接地線 GNDに接続される。 ソケッ ト 13 1の被揷入部 1 33は、 ハウジング 1 34の正面右側から突起 する柱状体であり、 該柱状体 1 33の正面側端部には、 ピン基台 1 33 cを一 周する 「0」 字状の溝 1 33 aが形成されている。 溝 1 33 aの内壁 133 b の形状は、 プラグ 14 1の挿入部 142の外形に対応している。 溝中央のビン 基台 133 cは左右方向に延在する 「 I」 字状の、 溝 142 aに対応した形状 の板状体である。 ピン基台 1 33 cの上面は、 柱状体 133の端面の上下方向 の略中央位置となるようになされ、 この上面に金属弾性体の接続ピン N 0. 8 〜No. 14が配設されている。 接続ビン N o . 8〜No . 14の各々は、 図 示しないが、 それそれハウジング 1 34の背面側の対応する各接続端子にまで 延在し、 基板の配線またはケーブルと接続される。 接続ピン N 0. 8~No . 14は、 それそれ接地線 GND、 識別線 I D 2、 デ一夕線 SD CKB D S、 デ —夕線 SD CKB US、 制御線 SD CKB EN、 及び識別線 I D Oに接続さ れる。 なお、 接続ビン No. 14は、 現在のところ使用されておらず、 空き端 子となっている。
ソケッ ト 13 1に挿入されるプラグ 14 1は、 ソケッ ト 1 3 1と同様に形成 される。 ただし、 図 1 03 (a) に示すように、 接続ピン N o . 1〜N o . 7 は被挿入部 143内に設けられ、 接続ピン N o. 8〜Νο · 14は揷入部 14 2内に設けられる。
このように構成される拡張コネクタは、 互いの外形が異なる揷入部 1 32、 142と被挿入部 1 33、 143とが分離した形で別々に形成されているので、 使用者は一見してソケッ ト 1 3 1及びプラグ 1 4 1の接続方向を認識すること ができる。 また、 一つの接続方向 (態様) でのみしか接続できないので、 誤接 続が生じない。 また、 接続ビンに直接手が触れないという利点がある。
次に本発明に係わる付属装置について説明する。 ここで、 付属装置とは、 既 述のゲーム装置或いは拡張周辺装置を含む周辺装置に接続されて、 既述のゲー ム装置或いは周辺装置の動作 ·機能に付属的な機能を与えるものであって、 後 述するように、 例えば、 ゲーム装置の各種コネクタに接続されるものである。 この付属装置はゲーム装置或いは周辺装置と一体になつて新規なデータ処理シ ステム ·ゲームシステムを実現する。
図 1 0 4は他のゲーム装置の例を示す斜視図であり、 図 1 0 5は同ゲーム装 置を示す背面図である。 これらの図において、 符号 1はゲーム装置であり、 こ のゲーム装置 1は、 例えばプラスチックその他の材料によってほぼ直方体形状 に形成された筐体 i jの内部に、 このゲーム装置の制御系を設けて構成されて いる。
このゲーム装置 1は、 その筐体 1 jの一部に凹所 1 kを形成している。 この 筐体 1 jの凹所 1の所定の簡所には拡張コネクタ 1 mが設けられており、 この 拡張コネクタ 1 mには、 図 1 0 4及び図 1 0 5に示すように、 例えばモデム 5 が脱着自在に装着されている。 もちろん、 この拡張コネクタ 1 mには、 前記モ デム 5以外に、 後述するパラレル系の付属装置のレセプ夕クルあるいは当該付 属装置を接続するケーブルのレセプ夕クルが装着できるようになつている。 ま た、 ゲーム装置 1の筐体 1 jの前面には、 ペリフエラル用コネクタ 1 i , 1 i , l i , 1 iが設けられている。 ゲーム装置 1の筐体 1 jの上側には、 C D— R O M装置 1 cが設けられている。
さらに、 ゲーム装置 1の筐体 1 jの背面 1 nには電源用コネクタ 1 p、 拡張 シリアルコネクタ 1 q及びオーディオ · ビデオ用コネクタ 1 rがそれそれ配置 されている。 この電源用コネクタ 1 pには、 当該ゲーム装置用電源ケーブルの プラグが接続可能になっている。 この拡張シリアルコネクタ 1 qには、 後述す るシリアル系の付属装置のレセプ夕クルあるいは当該付属装置に接続されるケ —ブルのレセプ夕クルが装着できるようになっている。また、このオーディォ · ビデオ用コネクタ 1 rには、 モニタ 4との間を接続するケーブルのレセプ夕ク ルが装着できる。 なお、 前記モデム 5の背面には、 電話回線用のコネクタ 5 a が設けられている (図 105参照)。
図 1 06は他のゲーム装置の制御系を示すブロック図である。 この図 106 において、 図 1と同一構成要素には同一符号を付して説明する。 このゲーム装 置 1は、 ゲームプログラムやその他の制御プログラムを実行する CPU 1 aと、 ゲーム装置としての制御プログラムゃデ一夕ゃォペレ一ティングシステム等を 記憶する ROM l bと、 ゲームアプリケーションプログラムを記憶する CD— ROM装置 1 cと、 CPU 1 aと各部間とのデータ転送を制御するバスコント ローラ I dと、 CPU 1 aのプログラムを保持し、 データ処理に使用される R AM 1 eと、 描画データから画像信号を形成する描画プロセッサ 1 f と、 音響 デ一夕から音響信号を形成するサゥンドプロセッサ 1 gとから構成されている。 また、 描画プロセッサ 1 f には VRAM 1 sが接続されていて、 画像信号を 形成する際に使用されている。 サウン ドプロセッサ 1 gにはサウンド RAM 1 tが接続されていて、 音響信号を形成する際に使用されている。 なお、 サゥン ドプロセッサ 1 gの出力部と描画プロセヅサ 1 f の出力部は、 オーディオ · ビ デォ用コネクタ 1 rに接続されている。
上述したバスコントロ一ラ 1 dは、 大別すると、 ペリフエラルインターフエ —ス l hと、 描画プロセッサコントローラ 1 uと、 内部バスコントロ一ラ lv と、 外部バスコントローラ 1 wとから構成されている。
上述した CPU 1 aにはバス 1 1 aを介してバスコントロ一ラ 1 dが接続さ れており、 CPU 1 aはバスコントロ一ラ 1 dを制御することができる。 また、 このバス 1 1 aには RAM 1 eも接続されている。 また、 上述した CPU 1 a にはバス 1 1 bを介して拡張シリアルコネクタ 1 qが直接接続されており、 こ の C P U 1 aは拡張シリアルコネクタ 1 qに接続されたシリアル系の付属装置 との間で本発明に係るデ一夕伝送方法を使用して信号の交換を行うことにより、 当該付属機器を制御したり使用したりすることができるようになつている。 す なわち、 本発明に係るデータ伝送方法を実現するゲーム装置 1には、 シリアル 系の付属機器が接続可能になっていて、 付属機器とゲーム装置 1との間でプロ グラム、 映像、 音響、 コマンド等の信号の交換ができるようになつている。
このバスコントロ一ラ 1 dにおける描画プロセヅサコントローラ 1 uは、 C P U 1 aの制御下に描画プロセヅサ 1 f を制御することができる。 また、 内部 バスコントローラ 1 Vにはバス 1 1 cを介して C D— R O M装置 1 c、 R O M 1 bがそれそれ接続されており、 この内部バスコン トローラ l vは C P U l a の制御下にそれら C D— R O M装置 1 c、 R O M 1 b及びサゥンドプロセッサ 1 gの動作を制御することができる。 さらに、 前記外部バスコントローラ 1 w の出力部はバス 1 1 dを介して拡張コネクタ 1 m及びサゥンドプロセッサ 1 g に接続されており、 この外部バスコントローラ l wは C P U 1 aの制御下に拡 張コネクタ 1 mに接続されたパラレル系の付属装置との間で信号の交換を行う ことにより、 当該付属機器を制御したり使用したりすることができるようにな つている。 すなわち、 本発明に係るデ一夕伝送方法を実現するゲーム装置 1に は、 パラレル系の付属機器が接続可能になっていて、 付属機器とゲーム装置 1 との間でプログラム、 映像、 音響、 コマンド等の信号の交換ができるようにな つている。
ペリフェラルコントローラ l k,外部バスコントローラ l w, 内部バスコントロ一ラ l v,描画 プロセッサコントローラ l uは、そのそれぞれのバスに接続される装置やモジュールに合 わせた仕様となっている。
ペリフェラルコントローラ l kに接続されるペリフエラルは、比較的低速な伝送スピードで よいかわりに、配線が比較的長いことから外部からのノイズに強く、かつ伝送線の数が 少ないほうがコスト的に望ましいので、本願のような構成となっている。
一方、 外部バスコントローラは、 モデムのような低速な伝送スビ一ドのものか ら、 デ一夕記録装置のような高速な伝送スピードを必要とするものまで幅広く 使用されるため、 パラレルのデ一夕バス構造となっている。
また、このパラレルのデータバスのうち、使用するバス幅を接続する付属装置の種類や 伝送スピードに合わせて変化させることで、付属装置側のインタ一フェースを簡略化す ること力 Sでさる。
例えば、この外部バスを 32bitとした場合、接続されたモデムにアクセスするときは 8bi tのバスのみを用いることで、モデム側のインタ一フェースを簡略化することができる。 接続されたデータ記録装置にアクセスするときは、 32bitのバスすベてを用いてアクセス を行うことで、高速なアクセスを行う。
また、パラレルバスであることから、ペリフェラルコントローラ lbのように複数の端子を設 けることはコスト的に困難であるため、 1つの拡張コネクタ lmに、接続される付属装置に 更に付属装置を接続していくような、ディージ一チェーン状の接続方法で複数の付属 装置を接続できるようになつている。
このため、拡張コネクタ lmに接続される付属装置は、内部ではバス l ibを分岐させて その先に拡張コネクタ lmと同等のコネクタを設けるようにしている。
内部バスコントローラ lvには、固定的に接続され、アクセススピ一ドが比較的均一であ るような CD-ROMドライブ lcや ROMlb等が接続されるので、バス l ibのような拡張性 は必要なく、これらのアクセスに必要かつ充分なアクセススピードであればよいような仕 様となっている。
描画プロセッサコントローラ luには、極めて高速で動作する描画プロセッサが接続さ れるため、これに合わせて高速なアクセスが可能なように広いバス幅で一度に大量のデ ータアクセスができる仕様となっている。
拡張シリアルコネクタ lqは、バス l ibを介して CPU l aと直接接続されている。このバス l ibは、ペリフェラルコント口一ラ lkのバスより簡易的な構造のバスであり、ペリフェラノレ より簡易的なプロトコルでアクセスできるような付属装置(例えば、ゲーム装置同士など) が接続される。
また、バスコントロ一ラ I dには、上述のコントローラ l k, lw, l v, luすべてとアクセスを 行う CPU l aがバス 1 1 aを介して接続されており、プログラムによって適宜これら上述のコ ントローラ lk, lw, lv, l uを介して各バスとアクセスを行う。
このように、各バスは、接続される付属装置に適した仕様となっており、上述のコント口 ーラ l k, l w, l v, l uは、それぞれ接続されたバスを CPU l aのバス 1 1 aに合わせた仕 様に変える役割をしている。
ここに、 拡張シリアルコネクタ 1 qに接続されるシリアル系の付属装置とし ては、 プリン夕、 携帯用ゲーム機、 P H S、 スキャンカメラ、 データ記録装置 通信ケーブル、 あるいは、 その他のシリアル付属機器が挙げられる。
また、 拡張コネクタ 1 mに接続されるパラレル系の付属装置としては、 夕一 ミナルアダプタ、 ケーブル用モデム (図 1 0 4、 図 1 0 5においてモデム 5 )、 衛星データ受信機、 スキャナ、 プリンタ、 携帯端末装置 (P D A )、 携帯電話機、 デジタルスチルカメラ、 データ記録装置、 携帯オーディオ出力装置、 携帯映像 出力装置、 あるいは、 その他のパラレル付属機器が挙げられる。
次に、 シリアル系の付属装置のそれそれについて説明する。 まず、 上述した 拡張シリアルコネクタ 1 qにプリン夕が接続された場合には、 当該プリン夕に よって画像デ一夕やテキス トデータを印字することができることになる。 すな わち、 ゲーム装置 1に取り込んだィン夕一ネヅト画像やデジタルカメラの映像 は、 プリン夕によってハードコピーされることになる。 また、 上述した拡張シ リアルコネクタ 1 qに携帯用ゲーム機が接続された場合には、 ゲーム装置 1と 携帯用ゲーム機との間で画像デ一夕、 プログラム、 音響デ一夕、 コマンド等を アッププロ一ド · ダウンロードすることができることから、 当該ゲーム装置 1 と携帯用ゲーム機との間で対戦式のゲームを楽しむこともできる。
上述した拡張シリアルコネクタ 1 qに携帯用ゲーム機が接続された場合には、 ゲーム装置 1は、 携帯用ゲーム機との間で画像デ一夕、 プログラム、 音響デー 夕、 コマンド等をアップロード ·ダウン口一ドすることができ、 携帯用ゲーム 機から所望のゲームを引き継いだり、 ゲーム装置 1の所望のゲームを与えたり することができる。
上述した拡張シリアルコネクタ 1 qに P H Sが接続された場合には、 画像、 プログラム、 音響等のデータ全般を通信することができる。 これにより、 ワイ ャレス (モデムレス) でもって、 所望のデ一夕やプログラムを無線にて送受す ることができる。 この P H Sの接続先に他のゲーム装置が接続されている場合 には、 当該ゲーム装置と他のゲーム装置との間で対戦型にゲームを楽しむこと もできる。 勿論、 他のゲーム装置との間でプログラムを交換したりすることも 可能になる。
上述した拡張シリアルコネクタ 1 qにスキャンカメラが接続された場合には、 画像、 音響のデ一夕をゲーム装置 1に取り込むことができる。 このような構成 にした装置によって、 例えばテレビジョン電話、 ビデオメール等を得ることが できる。
上述した拡張シリアルコネクタ 1 qにデータ記響装置が接続された場合には、 画像 '音響デ一夕を交換することができ、 ゲームデ一夕、 イン夕一ネットデ一 夕、 E— M 1 A 1 Lを保存することができる。
上述した拡張シリアルコネクタ 1 qに通信ケーブルが接続された場合には、 通信ケーブルを介して他のゲーム装置等との間でコマンドのゃりとりが可能と なり、 他のゲーム機のゲーム内容を当該ゲーム装置 1に取り込んだり、 あるい は、 当該ゲーム装置 1のゲームの内容を他のゲーム機に与えたりすることがで きる。 したがって、 当該ゲーム装置 1 と他のゲーム装置との問で対戦型のゲ一 ムを楽しむことができる。
次に、 パラレル系の付属装置のそれそれについて説明する。 まず、 上述した 拡張コネクタ 1 mにターミナルアダプタが接続された場合には、 画像、 プログ ラム、 音響等のデータの全般を I S D N回線を介して送受信することが可能に なり、 I S D N回線を介してイン夕一ネッ ト等に接続することが可能になる。 さらに、 このインターネッ 卜の接続先に他のゲーム装置が接続されている場合 には、 当該ゲーム装置と他のゲーム装置との間で対戦型にゲームを楽しむこと もできる。 もちろん、 他のゲーム装置のプログラムを交換したりすることも可 能になる。
上述した拡張コネクタ 1 mにケーブルモデム (モデム 5 ) が接続された場合 には、 画像、 プログラム、 音響等のデータの全般を通常のアナログ電話回線を 介して送受信することが可能になり、 通常のアナログ電話回線を介してイン夕 一ネットに高速で接続することが可能になる。 さらに、 このモデムを介して接 続されたィンターネヅ卜に他のゲーム装置が接続されている場合には、 当該ゲ —ム装置と他のゲーム装置との間で対戦型にゲームを楽しむこともできる。 も ちろん、 他のゲーム装置のプログラムを交換したりすることも可能になる。 上述した拡張コネクタ 1 mに衛星データ受信機が接続された場合には、 画像、 プログラム、 音響等のデータの全般を無線回線を介して受信することが可能に なり、 イン夕一ネッ トへの高速接続をすることが可能になる。 また、 このイン 夕一ネヅ 卜の接続先に他のゲーム装置が接続されている場合には、 当該ゲーム システムと他のゲームシステムとの間で対戦型にゲームを楽しむこともできる。 上述した拡張コネクタ 1 mにスキャナが接続された場合には、 ゲーム装置 1 に画像データを取り込むことができ、 ゲーム装置 1において画像デ一夕の編集、 メールへの添付、 ホームページ作成等に利用することができる。
上述した拡張コネクタ 1 mにプリン夕が接続された場合には、 画像デ一夕や テキストデ一夕をハードコビ一することが可能になり、 インタ一ネット画像、 E— M 1 A 1 L、 デジタルカメラ映像出力をハードコピーすることができる。 上述した拡張コネクタ 1 mに P D Aが接続された場合には、 プログラム、 コ マンドをゲーム装置 1と P D Aとの間で送受信することができ、 住所録、 時刻 設定、 アプリケーションの送受信が可能になる。
上述した拡張コネクタ 1 mに携帯電話機が接続された場合には、 テキス ト文 書、 コマンドをゲーム装置 1 と携帯電話機との間で送受信することができ、 往 所録、 時刻設定等のコントロールが可能になる。
上述した拡張コネクタ 1 mにデジ夕ルスチルカメラが接続された場合には、 画像デ一夕をゲーム装置 1に取り込むことが可能になり、 ゲーム装置 1によつ てアルバムの作成、 画像編集などができるようになる。
上述した拡張コネクタ 1 mにデータ記録装置が接続された場合には、 画像、 プログラム、 音響等のデ一夕全般がゲーム装置 1との間で交換できるとともに、 デ一夕記憶装置にゲームデ一夕、 インターネッ トデ一夕、 E— M A I L等を保 存することができる。
上述した拡張コネクタ 1 mに携帯オーディオ出力装置が接続された場合には、 ゲーム装置 1から音響デ一夕を携帯オーディォ出力装置に与えることができ、 携帯テープ、 M D機器に代わって音楽再生が可能になる。
上述した拡張コネクタ 1 mに携帯映像出力装置が接続された場合には、 ゲ一 ム装置 1から画像デ一夕を携帯映像出力装置に与えることができ、 動画メール、 ビデオォクリップ等の映像再生を行わさせることができる。
このように上記ゲーム装置 1は、 付属機器との間でプログラムや信号の交換 を行うことにより、 当該付属機器を制御したり使用したりすることができる。 また、 当該付属機器には、 既に説明したように、 シリアル系の付属機器と、 ノ ラレル系の付属機器とに分類される。 そして、 シリアル系の付属機器は拡張シ リアルコネクタ 1 rに接続されることにより、 C P U 1 aからの直接の制御下 に C P U 1 aとシリアル系の付属機器との間で各種のデ一夕、 プログラム、 コ マンド等の交換が可能になる。 また、 パラレル系の付属機器は拡張コネクタ 1 mに接続されることにより、 C P U 1 aの制御下に外部バスコントロ一ラ 1 w を介して C P U 1 aとパラレル系の付属機器との間で各種のデータ、 プログラ ム、 コマンド等の交換が可能になる。
このように本発明に係るゲーム装置 1には上述したような各種の付属装置が 接続可能になっているために、 本発明に係るゲーム装置 1は、 各種の付属装置 を接続することにより、 ゲームの他に、 多種多様な使用方法を提供することが 可能になるという優れた装置を提供できるものである。
ここで、 説明した前記ゲーム機本体と周辺装置からなるゲームシステムで得 られたデ一夕は、 前記付属機器としてのモデム · ネッ トワークを介して、 他の ゲームシステムとの間でデ一夕の交換が可能である。
図 1 0 7及び図 1 0 8は、 それそれデータ交換のためのネッ トワークを示す ものである。 図 1 0 7は、 ィン夕ーネッ トを利用したネットワークであり、 図 1 0 8は、 独自の通信網に対応するネッ トワークである。 図 1 0 7のシステム では、 既述の各ゲームシステムが、 インターネッ トを利用して相互に通信可能 である。 このシステムでは、 アクセスポイントの数は多いけれども、 ホス トコ ンビュー夕にどのような経路で接続されているかが、 回線の使用状況で変わつ てしまうため、 接続経路によっては伝送遅延のおそれがある。
これに対して、 図 1 0 8のシステムでは、 アクセスポイントの数は少ない、 が、 ホス トコンピュータへは専用の回線で接続されるため、 回線の使用状況に かかわらずデータの伝送速度は一定である。 各ゲームシステム間の対戦あるい は通信においては、 リアルタイム性が望まれる。
このように、 本願発明によれば、 既述の本願発明特有なゲーム機本体と周辺 機器とからなるゲームシステムに固有に適用される、 例えば、 本発明のゲーム システムで得られたデータを交換するため、 また、 このデータが適用されるた めなどの、 モデム等の付属機器や付属装置を新たに提供することができる。 こ の付属手段はゲーム機あるいは周辺機器と組み合わされて、 さらに付属機能を 追加したデータ処理システム ·電子ゲーム処理システムを提供する。 産業上の利用性
以上説明したように、 本発明によれば、 2本のデータ線と比較的に簡単な I / 0回路構成で、 ゲーム装置 (あるいはホス ト) と周辺装置相互間のデ一夕通 信を行うことが可能となって好ましい。
また、 データ通信を行うに際し、 ネッ トワークに接続された複数の装置のァ ドレス設定が自動的に行われるので、 ゲーム装置 (あるいはホスト) に周辺装 置を自由に接続でき、 また、 接続した周辺装置の内容をゲーム装置が把握する ことが可能となるので、 ゲーム装置のような、 コンシユーマに向けたコンビュ 一夕システムとして好都合である。

Claims

求の範囲
1 . データを第 1及び第 2のデ一夕信号に分配してシリアル伝送するデータ伝 送方法であって、
前記第 1のデータ信号は、パルス列によって形成される第 1のクロック信号の 各パルス間に、 前記データの奇数ビッ トを夫々配置してなり、
前記第 2のデータ信号は、 前記第 1のクロック信号と同周期のパルス列によ つて形成される第 2のクロック信号の各パルス間に、 前記データの偶数ビッ ト を夫々配置してなり、 一一青
前記第 1及び第 2のデータ信号は、一方のデータ信号のクロック信号成分の夕 ィミングに対応して他方のデ一夕信号のデ一夕ビッ トが夫々位置するように伝 送される、 ことを特徴とするデ一夕伝送方法。
2 . データを第 1及び第 2のデータ信号に分配してシリアル伝送するデータ伝 送方法であって、
前記第 1のデータ信号は、パルス列によって形成される第 1のクロック信号の 各パルス間に、 前記分配された一方のデータのビッ トを夫々配置してなり、 前記第 2のデータ信号は、前記第 1のクロック信号と同周期のパルス列によつ て形成される第 2のクロック信号の各パルス間に、 前記分配された他方のデ一 夕のビッ トを夫々配置してなり、
前記第 1及び第 2のデータ信号は、一方のデータ信号のク口ック信号成分の夕 ィミングに対応して他方のデータ信号のデ一夕ビッ トが夫々位置するように伝 送される、 ことを特徴とするデータ伝送方法。
3 . データを第 1及び第 2のデータ信号に分配してシリアル伝送するデータ伝 送方法であって、
前記第 1及び第 2のデータ信号は、 それそれスタートパターン部、 データパ夕 ーン部及びェンドパターン部を含む伝送フォーマッ 卜で定義されるデ一タフレ —ムによって構成されており、 前記スタートパターン部は、前記第 1のデ一夕信号が一定電位レベルに維持さ れている間に前記第 2のデータ信号を第 1のパルス列信号として送出するフォ 一マッ 卜で構成され、
前記第 1及び第 2のデータ信号のデータパターン部は、 それそれ、 クロック信 号成分を含むパルス列と各パルス間に配置された前記分配されたデ一夕のデー 夕ビッ トを含み、 前記第 1及び第 2のデ一夕信号のパルス列信号に含まれるク 口ック信号成分は互いに時間軸上の位置を所定値だけずらして配置され、 一方 のデータ信号のクロック信号成分のタイ ミングに対応して他方のデ一夕信号の デ一夕ビッ 卜が夫々位置するように伝送されるフォーマツ 卜で構成され、 前記ェンドパターン部は、前記第 2のデ一夕信号が一定電位レベルに維持され ている間に前記第 1のデータ信号を第 2のパルス列信号として送出するフォー マッ トで構成される、
ことを特徴とするデ一夕伝送方法。
4 . 前記一定電位レベルは電源電位あるいは接地電位のいずれか一方であるこ とを特徴とする請求項 3記載のデータ伝送方法。
5 . 前記第 1及び第 2のパルス列信号はそれそれ異なる数のパルス列により構 成されていることを特徴とする請求項 3または 4記載のデータ伝送方法。
6 . 前記第 1及び第 2のデータ信号を受信した側は、 一方のデ一夕信号のクロ ック信号成分のタイミングで、 他方のデータ信号の電位レベルをラツチするこ とを順次行うことによって、 受信したデータ信号に重畳されたデータを分離す る、 ことを特徴とする請求項 1乃至 5のいずれかに記載のデータ伝送方法。
7 . 前記クロック信号成分の検出は、 パルス列における各パルスの立ち上がり 又は立ち下がりの一方のエツジ部分によって行われることを特徴とする請求項 1乃至 6のいずれかに記載のデータ伝送方法。
8 . 周辺装置から信号伝送路を介してゲームに必要な情報を収集して使用する ゲーム装置であって、 周辺装置に情報の送信を要求するデータは第 1及び第 2のデータ信号に分配 して送信され、 第 1及び第 2のデータ信号はそれそれスタートパターン部、 デ 一夕パターン部及びェンドパターン部を含む伝送フォーマツ 卜で定義されるフ レームによって構成されており、
前記スタートパターン部は、前記第 1のデータ信号が第 1の期間中一定電位レ ベルに維持されているタイミングに対応して、 第 1のパルス列信号を含む前記 第 2のデ一夕信号を前記第 1の期間中に送出するように構成され、
前記周辺装置に送信すべきデータを第 1及び第 2のデータ列に分け、前記第 1 のデータ信号のデータパターン部は第 1のクロック信号を含み、 前記第 1のデ 一夕列のデ一夕ビッ トを第 1のクロック信号の各パルス間にそれぞれ揷入して 前記第 1のデータ信号を構成し、 前記第 2のデ一夕信号のデータパターン部は 前記第 1のクロック信号と所定の位相差を有する同周期の第 2のクロック信号 を含み、 前記第 2のデータ列のデ一夕ビッ トを前記第 2のクロック信号の各パ ルス間にそれそれ挿入して前記第 2のデータ信号を構成し、 これにより前記第 1及び第 2のデ一夕信号のデ一夕パターン部はそれそれ一方のデータ信号のク ロック信号成分のタイミングに対応して他方のデ一夕信号のデータビッ トがそ れそれ位置するように伝送されるフォ一マツ トで構成され、
前記ェンドパターン部は、前記第 2のデ一夕信号が第 2の期間中一定電位レべ ルに維持されているタイミングに対応して、 第 2のパルス列信号を含む前記第 1のデータ信号を前記第 2の期間中に送出するように構成され、
前記スタートパターン部、前記データパターン部及び前記ェンドパターン部を 含む 2つのデータ信号で表されるフレームを送信単位として前記周辺装置に送 出する、 ことを特徴とするゲーム装置。
9 . 前記第 1及び第 2のデータ列はそれそれシリアルデ一夕であり、 前記第 1 のデータ列は前記送信すべきデータの奇数ビッ 卜のデータ列、 前記第 2のデー 夕列は前記送信すべきデータの偶数ビッ 卜のデータ列である、 請求項 8記載の ゲーム装置。
1 0 . 前記一定電位レベルは電源電位あるいは接地電位のいずれか一方である ことを特徴とする請求項 8または 9記載のゲーム装置。
1 1 . 前記第 1及び第 2のクロック信号に含まれるクロック信号成分は、 ノ^レ ス列における各パルスの立ち上がり又は立ち下がりの一方のエツジ部分によつ て行われることを特徴とする請求項 8乃至 1 0のいずれかに記載のゲーム装置。
1 2 . 前記ゲーム装置は周辺装置を接続する複数の入出力ポートを有し、 前記 ゲーム装置から伝送路を介して前記入出力ポートに接続された周辺装置に伝送 される前記デ一夕パターン部はコマンドコード及びパラメ一夕を含み、 前記パ ラメ一夕はデータの送信先を表す送信先ァドレスと、 データの送信元を表す送信 元ァドレスとデータとを含み、 前記送信先ァドレス及び送信元ァドレスは当該 周辺装置が接続された入出力ポートに関する情報を含む、 請求項 8乃至 1 1の いずれかに記載のゲーム装置。
1 3 . 前記信号伝送路は、 一対のデータ信号線を含み、 前記第 1及び第 2のデ —夕信号は前記一対のデータ信号線に分配して伝送されることを特徴とする請 求項 8乃至 1 2のいずれかに記載のゲーム装置。
1 4 . 前記信号伝送路は、 周辺装置において分離可能な一対のキャリア成分を 含む無線通信信号あるいは光通信信号であり前記第 1及び第 2のデータ信号は 前記一対のキヤリァ成分に含ませて分配して伝送されることを特徴とする請求 項 8乃至 1 1のいずれかに記載のゲーム装置。
1 5 . 前記信号伝送路は、 一対の無線通信チャンネルあるいは一対の光通信チ ヤンネルによって構成され、 前記第 1及び第 2のデ一夕信号は前記一対のチヤ ンネルに分配して伝送されることを特徴とする請求項 8乃至 1 1のいずれかに 記載のゲーム装置。
1 6 . 請求項 8乃至 1 5のいずれかに記載のゲーム装置から送信される前記第 1及び第 2のデータ信号を受信し、 ゲーム装置からの要求に応じてデ一夕を送 信する周辺装置であって、 前記周辺装置は、
受信して前記第 1及び第 2のデータ信号のデータパターン部から送信されて 来たデータを再生し、 これに含まれているデ一夕送信要求に応答して周辺装置 から前記ゲーム装置にデータを送信するように構成されており、
前記周辺装置からゲーム装置へ送信されるデータは、 第 3及び第 4のデ一夕 信号に分配して送信され、 第 3及び第 4のデ一夕信号はそれそれスタートパ夕 —ン部、 データパターン部及びェンドパ夕一ン部を含む伝送フォーマッ トで定 義されるフレームによって構成されており、
前記第 3及び第 4のデ一夕信号の前記スタートパターン部は、前記第 3のデ一 夕信号が第 3の期間中一定電位レベルに維持されているタイミングに対応して、 第 3のパルス列信号を含む前記第 4のデータ信号を前記第 3の期間中に送出す るように構成され、
前記周辺装置から送信すべきデータを第 3及び第 4のデ一夕列に分け、前記第 3のデ一夕信号のデ一タパ夕一ン部は第 3のクロック信号を含み、 前記第 3の データ列のデ一夕ビッ トを第 3のクロック信号の各パルス間にそれそれ挿入し て前記第 3のデータ信号を構成し、 前記第 4のデ一夕信号のデ一夕パターン部 は前記第 3のクロック信号と所定の位相差を有する同周期の第 4のクロック信 号を含み、 前記第 4のデ一夕列のデータビッ トを前記第 4のクロック信号の各 パルス間にそれそれ挿入して前記第 4のデ一夕信号を構成し、 これにより前記 第 3及び第 4のデータ信号のデータパターン部はそれぞれ一方のデータ信号の クロック信号成分のタイミングに対応して他方のデ一夕信号のデータビッ 卜が それそれ位置するように伝送されるフォーマッ トで構成され、
前記ェンドパターン部は、前記第 4のデ一夕信号が第 4の期間中一定電位レべ ルに維持されているタイミングに対応して、 第 4のパルス列信号を含む前記第 3のデータ信号を前記第 4の期間中に送出するように構成され、
前記第 3及び第 4のデータ信号は、 前記スタートパターン部、 前記データパ夕 ーン部及び前記ェンドパターン部を含む 2つのデ一夕信号で表されるフレーム を送信単位として前記周辺装置から送出される、 ように構成されてなることを 特徴とする周辺装置。
1 7 . ゲーム装置に信号伝送路を介してゲームに必要な情報を送る周辺装置で あって、
周辺装置から送信するデ一夕は第 1及び第 2のデータ信号に分配して送信さ れ、 第 1及び第 2のデータ信号はそれそれスタートパターン部、 デ一夕パター ン部及びェンドパターン部を含む伝送フォーマツ トで定義されるフレームによ つて構成されており、
前記スタートパターン部は、前記第 1のデ一夕信号が第 1の期間中一定電位レ ベルに維持されているタイ ミングに対応して、 第 1のパルス列信号を含む前記 第 2のデ一夕信号を前記第 1の期間中に送出するように構成され、
前記ゲーム装置に送信すべきデータを第 1及び第 2のデ一夕列に分け、前記第 1のデータ信号のデ一夕パターン部は第 1のクロック信号を含み、 前記第 1の データ列のデータビッ トを第 1のクロック信号の各パルス間にそれそれ挿入し て前記第 1のデ一夕信号を構成し、 前記第 2のデータ信号のデータパターン部 は前記第 1のクロツク信号と所定の位相差を有する同周期の第 2のクロック信 号を含み、 前記第 2のデータ列のデ一夕ビッ トを前記第 2のクロック信号の各 パルス間にそれそれ挿入して前記第 2のデータ信号を構成し、 これにより前記 第 1及び第 2のデ一夕信号のデータパターン部はそれそれ一方のデ一夕信号の クロック信号成分のタイミングに対応して他方のデ一夕信号のデ一夕ビッ 卜が それそれ位置するように伝送されるフォーマツ 卜で構成され、
前記ェンドパターン部は、前記第 2のデータ信号が第 2の期間中一定電位レべ ルに維持されているタイミングに対応して、 第 2のパルス列信号を含む前記第 1のデータ信号を前記第 2の期間中に送出するように構成され、
前記スタートパターン部、前記データパターン部及び前記ェンドパターン部を 含む 2つのデータ信号で表されるフレームを送信単位として前記ゲーム装置に 送出する、 ことを特徴とするゲーム装置用周辺装置。
1 8 . 前記第 1及び第 2のデータ列はそれそれシリアルデ一夕であり、 前記第 1のデータ列は前記送信すべきデ一夕の奇数ビッ 卜のデータ列、 前記第 2のデ 一夕列は前記送信すべきデータの偶数ビッ トのデータ列である、 請求項 1 7記 載の周辺装置。
1 9 . 前記一定電位レベルは電源電位あるいは接地電位のいずれか一方である ことを特徴とする請求項 1 7または 1 8記載の周辺装置。
2 0 . 前記第 1及び第 2のクロック信号に含まれるクロック信号成分は、 ノ ル ス列における各パルスの立ち上がり又は立ち下がりの一方のエツジ部分によつ て行われることを特徴とする請求項 1 7乃至 1 9のいずれかに記載の周辺装置。
2 1 . 前記ゲーム装置は周辺装置を接続する複数の入出力ポートを有し、 周辺 装置が接続された前記入出力ポートに関する情報が前記ゲーム装置から通知さ れ、
前記データパターン部はコマンド及びパラメ一夕を含み、前記パラメ一夕は少 なくとも通知された入出力ポートに関する情報に基づき生成された当該周辺装 置に関するァドレスを含むように構成された、 請求項 1 7乃至 2 0のいずれか に記載の周辺装置。
2 2 . 前記ゲーム装置は周辺装置を接続する複数の入出力ポートを有し、 前記 入出力ポートのそれそれは特有のポート情報で定義されており、
前記周辺装置は少なくとも一つの機能デバィスを含み、
前記デ一夕パターン部はコマンド及びパラメ一夕を含み、前記パラメ一夕は周 辺装置の前記信号伝送路上のァドレスを表す送信元ァドレスを含み、 この送信 元ァドレスは前記機能デバイスの種類を表す情報と前記機能デバイスの接続状 態を表す情報と前記ゲーム装置から通知される当該周辺装置が接続された入出 力ポートのポート情報とに基づいて生成されるように構成されてなる、 請求項 1 7乃至 2 0のいずれかに記載の周辺装置。
2 3 . 前記信号伝送路は、 一対のデータ信号線を含み、 前記第 1及び第 2のデ 一夕信号は前記一対のデ一夕信号線にそれそれ分配して伝送されることを特徴 とする請求項 1 7乃至 2 2のいずれかに記載の周辺装置。
2 4 . 前記信号伝送路は、 前記ゲーム装置において分離可能な一対のキャリア 成分を含む無線通信信号あるいは光通信信号であり前記第 1及び第 2のデータ 信号は前記一対のキヤリァ成分に含ませて分配して伝送されることを特徴とす る請求項 1 7乃至 2 2のいずれかに記載の周辺装置。
2 5 . 前記信号伝送路は、 一対の無線通信チャンネルあるいは一対の光通信チ ヤンネルによって構成され、 前記第 1及び第 2のデ一夕信号は前記一対のチヤ ンネルに分配して伝送されることを特徴とする請求項 1 7乃至 2 2のいずれか に記載の周辺装置。
2 6 . ゲーム装置に周辺装置を伝送路を介して接続して使用するゲームシステ ムにおいて、
周辺装置は少なくとも一つの機能デバイスを含み、
ゲーム装置と機能デバイスの間のデ一夕伝送は、送信側デ一夕を一対のデ一夕 信号に分配してそれそれシリアル伝送し、 受信側では受信した一対のデータ信 号からデ一夕を再生することにより行われ、
前記一対のデ一夕信号は、 それそれ 1 フレームがスタートパターン部、 デ一夕 パターン部及びェンドパ夕一ン部を含む伝送フォーマツ トで構成されており、 前記スタートパターン部では、 前記一対のデータ信号の一方が一定電位レべ ルに維持されているタイミングに対応して他方のデ一夕信号として複数個のパ ルスが送出され、 これにより受信側は送信側からの信号の送出開始を認識し、 前記ェンドパターン部では、 前記他方のデータ信号が前記一定電位レベルに 維持されている夕イ ミングに対応して前記一方のデ-—夕信号として複数個のパ ルスが送出され、 これにより受信側は送信側からの信号の送出終了を認識し、 前記データパターン部では、前記一対のデ一夕信号はそれそれ順次送出される ク口ック信号を含み、 一方のデータ信号のクロック信号の夕ィ ミングに対応し てデータビッ トを表す信号レベルを他方のデ一夕信号として送出することを交 互に行うことにより、 送出されるデータが前記一対のデ一夕信号に分配されて 順次送出され、
受信側は受信した前記一対のデ一夕信号からデ一夕ビッ トを表す信号レベル を順次検出して送信側が送信したデ一夕を再生するように構成してなるゲーム システム。
2 7 . 受信側は、 受信した前記一対のデ一夕信号のデ一夕パターン部において、 一方のデータ信号のクロック信号のタイ ミングに対応して他方のデータ信号の 信号レベルを検出することを順次交互に行い、 これを時間軸上で合成して送信 側から送出されたデータを再生するように構成されてなる請求項 2 6記載のゲ —ムシステム。
2 8 . 前記クロック信号の検出は、 パルスの立ち上がりまたは立ち下がりの一 方のエッジ部分によって行われるように構成されてなる請求項 2 6または 2 7 記載のゲームシステム。
2 9 . 前記一定電位レベルは電源電位あるいは接地電位のいずれか一方である ことを特徴とする請求項 2 6乃至 2 8のいずれかに記載のゲームシステム。
3 0 . 前記ス夕一トパターン部の複数のパルスの数と前記ェンドパターン部の 複数のパルスの数は異なるように構成されてなることを特徴とする請求項 2 6 乃至 2 9のいずれかに記載のゲームシステム。
3 1 . 前記伝送路は、 一対のデ一夕信号線を含み、 前記一対のデータ信号は前 記一対のデータ信号線にそれそれ分配して伝送されることを特徴とする請求項
2 6乃至 3 0のいずれかに記載のゲームシステム。
3 2 . 前記伝送路は、 前記ゲーム装置において分離可能な一対のキャリア成分 を含む無線通信信号あるいは光通信信号であり前記一対のデータ信号は前記一 対のキヤリア成分にそれそれ分配して含ませ伝送されることを特徴とする請求 項 2 6乃至 3 0のいずれかに記載のゲームシステム。
3 3 . 前記伝送路は、 一対の無線通信チャンネルあるいは一対の光通信チャン ネルによって構成され、 前記一対のデータ信号は前記一対のチャンネルにそれ それ分配して伝送されることを特徴とする請求項 2 6乃至 3 0のいずれかに記 載のゲームシステム。
3 4 . 前記ゲーム装置から伝送されるデ一夕パターン部は前記機能デバイスに デ一夕の伝送を要求するコマンドを含み、
前記機能デバイスは、 受信した前記一対のデータ信号のデ一夕パターン部か ら前記ゲーム装置から伝送されて来たデータを再生し、 このデ一夕に含まれる 前記データ伝送要求コマンドに応答して、 前記機能デバイスで生成されたゲ一 ムに必要なデ一夕を前記構成のデータパターン部に分配して一対のデータ信号 として前記伝送路を介して前記ゲーム装置に伝送するように構成されてなる請 求項 2 6乃至 3 3記載のゲームシテスムで使用する周辺装置。
3 5 . 前記ゲーム装置は周辺装置を接続する複数の入出力ポートを有し、 前記 入出力ポートのそれぞれは特有のポート情報で定義されており、
前記周辺装置は少なくとも一つの機能デバイスを含み、
前記デ一夕パターン部はコマンド及びパラメ一夕を含み、前記パラメ一夕は周 辺装置の前記信号伝送路上のァドレスを表す送信元ァドレスを含み、
この送信元ァドレスは前記機能デバイスの種類を表す情報と前記ゲーム装置 から通知される当該周辺装置が接続された入出力ポートのポ一ト情報とに基づ いて生成されて周辺装置内に記憶され、
前記ゲーム装置から伝送されるデータ信号のデ一タパ夕一ン部に含まれてい る送信先ァドレスを周辺装置内で生成した送信元ァドレスと比較して一致した ときに、 当該機能デバイスで生成されたデータを前記送信元ァドレスとともに 前記信号伝送路を介してゲーム装置に伝送する、 ように構成されてなる請求項 3 4記載の周辺装置。
3 6 . ゲーム装置の入出力ポートに接続して使用する周辺装置であって、 周辺装置は、ゲーム装置の入出力ポ一トに着脱自在に接続されるコネクタと、 コネクタに接続された一対のデ一夕線を含むケーブルとを有し、
ゲーム装置及び周辺装置は、送信側がデータを一対のデータ信号に分配して前 記一対のデータ線を介してシリアル伝送し、 受信側が受信した一対のデータ信 号からデータを再生するように構成されており、
前記一対のデータ信号は、それそれ 1フレームがデ一夕送出の開始を知らせる スタートパターン部、 データパターン部及びデータ送出の終了を知らせるェン ドパターン部を含む伝送フォーマツ 卜で構成されており、
前記デ一夕パターン部では、前記一対のデータ信号はそれそれ一方が他方に対 し一定時間ずれて順次送出されるクロック信号を含み、 一方のデータ信号のク 口ック信号のタイミングに対応してデータビッ トを表す信号レベルを他方のデ 一夕信号として送出することを交互に行うことにより、 送出されるデータが前 記一対のデータ信号に分配されて順次送出され、
受信側は一方のデ一夕信号のクロック信号の夕ィ ミングで他方のデ一夕信号 の電位レベルを検出することを順次交互に実行することにより、 受信した前記 一対のデータ信号から送信側が伝送したデータを再生するように構成されてお 、
前記ゲーム装置はデ一夕パターン部にデ一夕伝送を要求するコマンドを含む デ一夕信号を周辺装置に送出し、 当該周辺装置はデータ伝送要求コマンドに応 答して周辺装置で生成されるデ一夕をデータパターン部に含めゲーム装置に伝 送するように構成されてなる周辺装置。
3 7 . 前記スタートパターン部では、 前記一対のデ一夕信号の一方が一定電位 レベルに維持されているタイミングに対応して他方のデータ信号として複数個 のパルスが送出され、 これにより受信側は送信側からの信号の送出開始を認識 し、
前記ェンドパターン部では、 前記他方のデータ信号が前記一定電位レベルに 維持されているタイ ミングに対応して前記一方のデータ信号として複数個のパ ルスが送出され、 これにより受信側は送信側からの信号の送出終了を認識する ように構成されてなる請求項 3 6記載の周辺装置。
3 8 . 前記一定電位レベルは電源電位あるいは接地電位のいずれか一方の電位 であり、 前記スタートパターン部に含まれる前記複数個のパルスは連続する 4 個のパルスにより構成され、 前記ェンドパ夕一ン部に含まれる前記複数個のパ ルスは連続する 2個のパルスにより構成される請求項 3 7記載の周辺装置。
3 9 . 前記ゲーム装置は複数の入出力ポートを有し、 前記周辺装置のコネクタ は前記入出力ポ一卜のいずれかに着脱自在に接続され、
前記周辺装置は少なくとも一つの機能デバィスを含み、
前記ゲーム装置は、 接続された周辺装置に対し、 当該周辺装置が接続された入 出力ポ一卜のポート番号及び当該入出力ポートに割り当てられた機能デバィス の識別番号を含むデータを通知し、
前記機能デバイスは、機能デバイスの前記伝送路上のァドレスを表す送信元ァ ドレスを含み、 この送信元アドレスは、 当該周辺装置が予め保持している周辺 装置の種類を表す周辺装置識別情報と、 前記ゲーム装置から通知される当該周 辺装置が接続された入出力ポート番号及び機能デバィスの識別番号の情報とに 基づいて生成されるように構成されてなる、
請求項 3 6乃至 3 8のいずれかに記載の周辺装置。
4 0 . 前記ゲーム装置は複数の入出力ポートを備えており、 前記周辺装置が前 記伝送路を介して前記入出力ポートのいずれかに接続されたとき前記ゲーム装 置から当該入出力ポートを表す入出力ポート情報が通知されるように構成され ており、
前記周辺装置は、 さらに拡張周辺装置を前記伝送路に接続するための拡張コネクタを備え、 自己が前記ゲーム装置に直接的に接続されるべき種類の基本周辺装置あるこ とを表す周辺装置識別情報を予め記憶しており、
前記周辺装置識別情報と、前記ゲーム装置から通知される前記入出力ポート情 報と、 拡張コネクタへの拡張周辺装置の接続の有無を判別して得られる拡張周 辺装置の接続状態を表す接続情報とに基づき送信元ァドレスを生成し、
前記拡張コネク夕に拡張周辺装置が接続されており、前記ゲーム装置から送出 されるデータ信号が送信先ァドレスとして前記拡張周辺装置を指定する情報を 含んでいるとき前記伝送路を介して前記ゲーム装置と前記拡張周辺装置との間 のデータ通信を可能にする、
ように構成されてなる請求項 1 6乃至 2 5及び 3 4乃至 3 9のいずれかに記載 の周辺装置。
4 1 . 前記拡張周辺装置によってバイァス電圧が供給されるようになされたレ ベルシフ ト回路が接続された前記拡張コネクタの特定の端子の電圧レベルを弁 別することによって前記拡張ソケッ トへの接続の有無を判別するように構成さ れた請求項 4 0記載の周辺装置。
4 2 . 請求項 4 0または 4 1記載の周辺装置に前記拡張コネクタを介して接続 される拡張周辺装置であって、
前記拡張コネクタへの接続後に該拡張コネクタを介して前記周辺装置から通 知される当該拡張コネクタに関する拡張コネクタ識別情報と、 該拡張周辺装置 内に予め保持されている拡張コネクタに接続されるべき種類の周辺装置である ことを表す拡張周辺装置情報と、 前記ゲーム装置から通知される前記伝送路が 接続された入出力ポートを表す入出力ポート情報とに基づき当該拡張周辺装置 の送信元ァドレスを生成して保持し、
前記ゲーム装置から送出されるデータ信号に含まれる送信先ァドレスが当 該拡張周辺装置が保持する送信元ァドレスと一致するとき、 ゲーム装置の要求 に応答して前記送信元ァドレス及び拡張周辺装置で生成されたデータを含むデ 一夕信号を前記伝送路に送出する、
ように構成されてなる拡張周辺装置。
4 3 . 複数の入出力ポートを備えるゲーム装置のいずれかの入出力ポートに接 続されるデ一夕伝送路を介して、 前記ゲーム装置とデータ通信を行う周辺装置 であって、 前記ゲーム装置は入出力ポート毎に特有の入出力ポート番号が割り 当てられており、 入出力ポートのいずれかに周辺装置が接続されたとき当該ポ 一ト番号を含むデータが当該周辺装置に通知されるように構成されており、 前記周辺装置は、
少なくとも一つの機能デバィスを含み、前記周辺装置の種類を表す識別情報を 予め記憶しており、
前記識別情報と前記入出力ポート番号とに基づいて、前記ゲーム装置に送信す べきデータに加える自己の送信元ァドレスを生成して記憶しておき、
前記ゲーム装置から伝送されるデータ信号のデータパターン部に含まれてい る送信先ァドレスを周辺装置内で生成した送信元ァドレスと比較して一致した ときに、 当該機能デバイスで生成されたデータを前記送信元ァドレスとともに 前記信号伝送路を介してゲーム装置に伝送するように構成されてなる周辺装置。
4 4 . ゲーム装置に設けられた複数の入出力ポ一トのいずれかに接続してデ一 夕通信を行う周辺装置であって、 前記周辺装置は、
前記入出力ポートに接続されるデータ伝送路と、
拡張周辺装置を前記データ伝送路に接続するための拡張コネクタと、 前記デ一夕伝送路を介して行われる前記ゲーム装置とのデ一夕通信を制御す る入出力コントローラと、
を備え、
自己が前記ゲーム装置に直接的に接続されるべき種類の基本周辺装置である ことを表す周辺装置識別情報を予め記憶しており、 前記入出力コン トローラは、
前記周辺装置識別情報と、前記ゲーム装置から通知される前記データ伝送路が 接続された入出力ポートを表す入出力ポート情報と、 拡張コネクタへの拡張周 辺装置の接続の有無を判別して得られる拡張周辺装置の接続状態を表す接続倩 報と、 に基づき送信元アドレスを生成し、
前記拡張コネク夕に拡張周辺装置が接続されており、前記ゲーム装置から送出 されるデータ信号が送信先ァドレスとして前記拡張周辺装置を指定する情報を 含んでいるとき前記データ伝送路を介して前記ゲーム装置と前記拡張周辺装置 との間のデ一夕通信を可能にする、
ように構成されてなる周辺装置。
4 5 . 前記拡張周辺装置によってバイァス電圧が供給されるようになされたレ ベルシフ ト回路が接続された前記拡張コネクタの特定の端子の電圧レベルを弁 別することによって前記拡張ソケッ 卜への接続の有無を判別するように構成さ れた請求項 4 4記載の周辺装置。
4 6 . 請求項 4 4または 4 5記載の周辺装置に前記拡張コネクタを介して接続 される拡張周辺装置であって、
前記拡張コネクタへの接続後に該拡張コネクタを介して前記入出力コント口 ーラから通知されるこの拡張コネクタの番号を表すコネクタ識別情報と、 該拡 張周辺装置内に予め保持されている拡張コネクタに接続されるべき種類の周辺 装置であることを表す拡張周辺装置情報と、 前記ゲーム装置から通知される前 記データ伝送路が接続された入出力ポートを表す入出力ポート情報とに基づき 当該拡張周辺装置の送信元ァドレスを生成して保持し、
前記ゲーム装置から送出されるデータ信号に含まれる送信先ァドレスが当 該拡張周辺装置が保持する送信元ァドレスと一致するとき、 ゲーム装置の要求 に応答して前記送信元ァドレス及び拡張周辺装置で生成されたデータを含むデ 一夕信号を前記データ伝送路に送出する、 ように構成されてなる拡張周辺装置。
4 7 . 複数の入出力ポートと、 前記入出力ポートを通して送受信するデータ通 信を制御する入出力コントロ一ラを備え、
前記入出力ポートはそれそれ主データ伝送路を介して基本周辺装置を接続 することができるように構成されており、
前記基本周辺装置は、 1つ又は複数の拡張周辺装置を副データ伝送路を介し て接続することができるように構成されており、
前記入出力コントローラは、少なく とも 1つの基本周辺装置が主デ一夕伝送路 を介して前記入出力ポートのいずれかに接続され、 さらに必要に応じて前記基 本周辺装置に副デ一夕伝送路を介して拡張周辺装置が接続されているとき、 前 記周辺装置のいずれかと所定のフレームで構成されるデータ信号を用いてデ一 夕通信を行うように構成されており、
前記データ通信は、 前記入出力コントロ一ラからの命令に該当する周辺装置 が応答する形式で行われ、
前記データ信号は 1 フレームが、 データパターンの開始を表すス夕一トパ夕 ーン部と、 デ一夕パターン部と、 デ一夕パターン部の終了を表すエンドパター ン部とを含むように構成されており、
前記データパターン部は、 コマンド及びパラメ一夕を含み、
前記パラメ一夕は、 送信先ァドレスと送信元ァドレスと送信すべきデ一夕を 含み、
前記送信先ァドレス及び前記送信元ァドレスの各々は、 通信に使用される前 記主データ伝送路が接続された入出力ポートの情報、 周辺装置の基本/拡張の 区別、 さらに拡張周辺装置が接続されている場合には通信に使用される副デ一 夕伝送路の情報を含むように構成されてなるゲーム装置。
4 8 . 前記主データ伝送路に前記副データ伝送路の各々が接続される、 請求項 4 7記載のゲーム装置。
4 9 . 前記基本周辺装置及び前記拡張周辺装置の各々は、 周辺装置の種類や装 置固有の情報を含む固有情報を保持し、 前記ゲーム装置は、 この固有情報を前 記データ通信によって読み出す、 請求項 4 8記載のゲーム装置。
5 0 . 前記固有情報を参照してゲームアプリケーションと周辺装置との適合性 を判別する、 請求項 4 9記載のゲーム装置。
5 1 . 前記主データ伝送路は 2つのデ一夕線によって構成され、 送信側から送 出されるデ一夕は前記 2つのデータ線に分配されて伝送され受信側では受信し た一対のデータ信号から送信されて来たデ一夕を再生するように構成された請 求項 4 7乃至 5 0のいずれかに記載のゲーム装置。
5 2 . 1つ又は複数の拡張周辺装置を夫々に設けられた副データ伝送路を介し て接続することができると共に、 複数の入出力ポートを備えるゲーム装置のい ずれかの入出力ポートに主デ一夕伝送路を介して接続される基本周辺装置であ つて、
前記ゲーム装置と所定のフレームで構成されるデ一夕信号を用いてデ一夕通 信を行う入出力コントロ一ラを備え、
前記デ一夕通信は、 前記ゲーム装置からの命令に前記入出力コントローラが 応答する形式で行われ、
前記データ信号は 1 フレームが、 データパターンの開始を表すス夕一トパ夕 ーン部と、 デ一夕パターン部と、 デ一夕パターン部の終了を表すエンドパター ン部とを含むように構成されており、
前記データパターン部は、 コマンド及びパラメ一夕を含み、
前記パラメ一夕は、 送信先ァドレスと送信元ァドレスと送信すべきデータと を含み、
前記送信先ァドレス及び前記送信元ァドレスの各々は、 通信に使用される前 記主データ伝送路、 接続された周辺装置の基本/拡張の区別、 さらに拡張周辺 装置が接続されている場合には通信に使用される副データ伝送路の情報を含む ように構成されてなる基本周辺装置。
5 3 . 前記主データ伝送路を介して前記入出力ポートに接続するコネクタと、 前記副データ伝送路を介して拡張周辺装置を接続するための複数の拡張コネク 夕と、 を備える請求項 5 2記載の基本周辺装置。
5 4 . 周辺装置の種類や装置固有の情報を含む固有情報を記憶する記憶手段を 有し、 前記ゲーム装置からの求めに応じて、 この固有情報を前記データ通信に よって送信する、 請求項 5 2又は 5 3記載の基本周辺装置。
5 5 . 前記主デ一夕伝送路は 2つのデータ線によって構成され、 送信側から送 出されるデ一夕は前記 2つのデータ線に分配されて伝送され受信側では受信し た一対のデータ信号から送信されて来たデータを再生するように構成された請 求項 5 2乃至 5 4のいずれかに記載の基本周辺装置。
5 6 . 複数の入出力ポートを備えるゲーム装置のいずれかの入出力ポートと主 デ一夕伝送路を介して接続してゲーム装置とデ一夕通信を行う拡張周辺装置で あって、
前記拡張周辺装置は、前記入出力ポートのいずれかに接続された基本周辺装置 に接続されたとき副データ伝送路を介して前記主デ一夕伝送路に接続されるよ うに構成されており、
前記ゲーム装置と所定のフレームで構成されるデータ信号を用いてデータ通 信を行う入出力コントローラを備え、
前記データ通信は、 前記ゲーム装置からの命令に前記入出力コントローラが 応答する形式で行われ、
前記データ信号は 1 フレームが、 デ一夕パターンの開始を表すスタートパ夕 —ン部と、 デ一夕パターン部と、 データパターン部の終了を表すエンドパ夕一 ン部とを含むように構成されており、
前記デ一夕パターン部は、 コマンド及びパラメ一夕を含み、
前記パラメ一夕は、 送信先ァドレスと送信元ァドレスと送信すべきデータと を含み、
前記送信先ァドレス及び前記送信元ァドレスの各々は、 通信に使用される前 記主データ伝送路、 接続された周辺装置の基本/拡張の区別、 及び通信に使用 される前記副データ伝送路の情報を含むように構成されてなる拡張周辺装置。
5 7 . 前記主データ伝送路はゲーム装置と基本周辺装置の間で双方向のデータ 信号伝送を担う 2つのデータ線によって構成され、 前記副データ伝送路は拡張 周辺装置から基本周辺装置への一方向のデータ伝送を担う 2つのデータ線と、 基本周辺装置から拡張周辺装置への一方向のデータ伝送を担う 2つのデータ線 とによって構成され、 送信側から送出されるデ一夕は対をなす前記 2つのデ一 夕線に分配されて伝送され受信側では受信した一対のデータ信号から送信され て来たデータを再生するように構成されてなる請求項 5 6記載の拡張周辺装置。
5 8 . 複数の入出力ポートを備えるゲーム装置のいずれかの入出力ポートに主 データ伝送路を介して接続される周辺装置であって、
拡張周辺装置を接続する拡張コネクタと、
拡張周辺装置が前記拡張コネクタに接続されたとき当該拡張周辺装置を前 記主デ一夕伝送路に接続するための副データ伝送路と、
前記ゲーム装置と所定のフレームで構成されるデータ信号を用いて行うデ —夕通信を制御する入出力コントローラとを備え、
前記デ一夕通信は、 前記ゲーム装置からの命令に前記入出力コントローラが 応答する形式で行われ、
前記主データ伝送路及び副伝送路を介して伝送されるデータ信号は 1 フレ ームが、 デ一夕送信の開始を表すスタートパターン部と、 デ一夕パターン部と、 データ送信の終了を表すェンドパターン部とを含むように構成されており、 前記デ一夕パターン部は、 コマンド及びパラメ一夕を含み、
前記パラメ一夕は、 送信先ァドレスと送信元ァドレスと送信すべきデータと を含み、 ゲーム装置から通知される入出力ポ一トを表すポート情報と、 予め当該周辺 装置の記憶手段に保持されている自己が前記主データ伝送路に直接接続される 種類の周辺装置であることを表す情報と、 前記拡張コネクタに拡張周辺装置が 接続されているか否かの倩報とに基づき送信元ァドレスを生成し、
前記ゲーム装置からのデータ要求に応答して、 前記データパターン部が、 送 信先アドレスと、 前記送信元アドレスと、 ゲーム装置に送信すべきデータとを 含むデータ信号を前記ゲーム装置に送信するように構成されており、
前記主データ伝送路は 2本のデータ線によって構成され、 送信側から送出さ れるデ一夕は前記 2本のデータ線に分配されて伝送され受信側では受信した一 対のデータ信号から送信されて来たデ一夕を再生するように構成されてなる周
5 9 . 複数の入出力ポートを備えるゲーム装置のいずれかの入出力ポ一トと主 データ伝送路を介して接続してゲーム装置とデ一夕通信を行う拡張周辺装置で あって、
前記拡張周辺装置は、前記入出力ポートのいずれかに接続された基本周辺装置 に接続されたとき副データ伝送路を介して前記主データ伝送路に接続されるよ うに構成されており、
前記ゲーム装置と所定のフレームで構成されるデ一夕信号を用いて行うデー 夕通信を制御する入出力コントローラを備え、
前記データ通信は、 前記ゲーム装置からの命令に前記入出力コントローラが 応答する形式で行われ、
前記主データ伝送路及び副データ伝送路を介して伝送されるデ一夕信号は 1 フレームが、 デ一夕送信の開始を表すスタートパターン部と、 データパターン 部と、 データ送信の終了を表すェンドパターン部とを含むように構成されてお り、
前記データパターン部は、 コマンド及びパラメ一夕を含み、 前記パラメ一夕は、 送信先ァドレスと送信元ァドレスと送信すべきデータと を含み、
ゲーム装置から通知される前記基本周辺装置が接続されている入出力ポ一ト のポート情報と、 予め当該拡張周辺装置の記憶手段に保持されている自己が拡 張周辺装置であることを表す情報と、 使用される前記副データ伝送路の情報と に基づき送信元ァドレスを生成し、
前記ゲーム装置からのデータ要求に応答して、 前記デ一夕パターン部が、 送 信先アドレスと、 前記送信元アドレスと、 ゲーム装置に送信すべきデータとを 含むデータ信号を前記副データ伝送路及び主データ伝送路を介して前記ゲーム 装置に送信するように構成されており、
前記主データ伝送路はゲーム装置と基本周辺装置の間で双方向のデ一夕信 号伝送を担う 2本のデータ線によって構成され、 前記副データ伝送路は拡張周 辺装置から基本周辺装置への一方向のデータ伝送を担う 2本のデータ線と、 基 本周辺装置から拡張周辺装置への一方向のデータ伝送を担う 2本のデ一夕線と によって構成され、 送信側から送出されるデータは対をなす 2本のデータ線に それそれ分配されて伝送され受信側では受信した一対のデータ信号から送信さ れて来たデ一夕を再生するように構成されてなる拡張周辺装置。
6 0 . 前記ゲーム装置はバスコネクタ部を備えた入出力ポートを有し、 各バス コネクタ部は基台と基台を挟んで対向する 2面の一方に電源電位供給端子及び 接地電位端子が配置され、 前記 2面の他方に一対のデータ信号伝送用端子が設 けられており、
前記基台が挿入されるように構成された溝部と、 溝部の対向する 2内壁面が 前記基台の 2面に対応して設けられ、 2内壁面の一方には前記基台上の電源電 位供給端子及び接地電位端子に対応して電源電位供給端子及び接地電位端子が 設けられ、 2内壁面の他方には前記基台上の一対のデ一夕信号伝送用端子に対 応して一対のデータ信号伝送用端子が設けられており、 前記プラグコネクタの 一対のデ一夕信号伝送用端子には前記伝送路を構成するデータ線がそれそれ接 続され、 前記データ信号は前記一対の伝送用端子を介して分配してそれそれ伝 送されるように構成されてなる請求項 1 6乃至 2 5、 3 4乃至 4 1、 4 3、 4 5、 5 2乃至 5 5及び 5 8のいずれかに記載の周辺装置を前記ゲーム装置のバ スコネク夕部に接続するためのプラグコネクタ。
6 1 . 前記一対のデータ伝送用端子の中間部にシールド用端子がさらに設けら れてなる請求項 6 0記載のプラグコネクタ。
6 2 . 請求項 4 2、 4 6、 5 6、 5 7及び 5 9のいずれかに記載の前記拡張周 辺装置を前記基本周辺装置に接続するためのプラグコネクタであって、
前記基本周辺装置は拡張コネクタ部を備え、 拡張コネクタ部は平坦な面を有 する横長の第 1基台と該第 1基台の横長延長方向に並んで配置され平坦な内壁 面を有する横長の第 1溝部とを有し、 前記第 1基台は平坦な面に配置された複 数の接続端子を含む第 1端子群を備え、 前記第 1溝部は平坦な内壁面に配置さ れた複数の接続端子を含む第 2端子群を備えており、 前記第 1端子群及び第 2 端子群は、 それそれ、 拡張周辺装置からゲーム装置への一方向のデータ伝送を 担う一対のデータ線に接続された一対の第 1デ一夕供給接続端子と、 ゲーム装 置から拡張周辺装置への一方向のデータ伝送を担う一対のデータ線に接続され た一対の第 2デ一夕供給接続端子を備えており、
前記プラグコネクタは、 前記第 1基台が挿入される平坦な内壁面を有する横 長の第 2溝部と、 該第 2溝部の横長延長方向に並んで配置され前記第 1溝部に 挿入される平坦な面を有する横長の第 2基台と、 前記第 1端子群に対応して前 記第 2溝部の平坦な内壁面に配置された複数の接続端子を含む第 3端子群と、 前記第 2端子群に対応して前記第 2基台の平坦な面に配置された複数の接続端 子を含む第 4端子群とを備え、
前記第 3端子群及び第 4端子群は、 前記第 1端子群及び第 2端子群に対応し て、 拡張周辺装置からゲーム装置への一方向のデータ伝送を担う一対のデ一夕 線に接続される一対の第 1データ供給接続端子と、 ゲーム装置から拡張周辺装 置への一方向のデ一夕伝送を担う一対のデ一夕線に接続される一対の第 2デー 夕供給接続端子をそれそれ備えており、
前記第 3端子群及び第 4端子群に接続されるデータ線の群がそれそれ副デ —夕伝送路として機能するように構成されてなるプラグコネクタ。
6 3 . 請求項 1 6乃至 2 5及び 3 6乃至 4 1のいずれかに記載の周辺装置を基 本周辺装置としてこれに拡張周辺装置を接続するためのプラグコネクタであつ て、
前記基本周辺装置は拡張コネクタ部を備え、 拡張コネクタ部は平坦な面を有 する横長の第 1基台と該第 1基台の横長延長方向に並んで配置され平坦な内壁 面を有する横長の第 1溝部とを有し、 前記第 1基台は平坦な面に配置された複 数の接続端子を含む第 1端子群を備え、 前記第 1溝部は平坦な内壁面に配置さ れた複数の接続端子を含む第 2端子群を備えており、 前記第 1端子群及び第 2 端子群は、 それそれ、 拡張周辺装置からゲーム装置への一方向のデ一夕伝送を 担う一対のデータ線に接続された一対の第 1データ供給接続端子と、 ゲーム装 置から拡張周辺装置への一方向のデータ伝送を担う一対のデータ線に接続され た一対の第 2デ一夕供給接続端子を備えており、
前記プラグコネクタは、 前記第 1基台が挿入される平坦な内壁面を有する横 長の第 2溝部と、 該第 2溝部の横長延長方向に並んで配置され前記第 1溝部に 挿入される平坦な面を有する横長の第 2基台と、 前記第 1端子群に対応して前 記第 2溝部の平坦な内壁面に配置された複数の接続端子を含む第 3端子群と、 前記第 2端子群に対応して前記第 2基台の平坦な面に配置された複数の接続端 子を含む第 4端子群とを備え、
前記第 3端子群及び第 4端子群は、 前記第 1端子群及び第 2端子群に対応し て、 拡張周辺装置からゲーム装置への一方向のデ一夕伝送を担う一対のデ一夕 線に接続される一対の第 1デ一夕供給接続端子と、 ゲーム装置から拡張周辺装 置への一方向のデータ伝送を担う一対のデ一夕線に接続される一対の第 2デー 夕供給接続端子をそれそれ備えており、
前記第 3端子群及び第 4端子群に接続されるデータ線の群がそれそれ前記 副デ一夕伝送路として機能するように構成されてなるプラグコネクタ。
6 4 . コネクタ部を有する装置に接続するためのプラグコネクタであって、 前記装置のコネクタ部は平坦な面を有する横長の第 1基台と該第 1基台の 横長延長方向に並んで配置され平坦な内壁面を有する横長の第 1溝部とを有し、 前記第 1基台は平坦な面に配置された複数の接続端子を含む第 1端子群を備え、 前記第 1溝部は平坦な内壁面に配置された複数の接続端子を含む第 2端子群を 備えており、 前記第 1端子群及び第 2端子群は、 それそれデ一夕伝送を担う一 対のデータ線に接続された一対のデータ供給接続端子を備えており、
前記プラグコネクタは、 前記第 1基台が挿入される平坦な内壁面を有する横 長の第 2溝部と、 該第 2溝部の横長延長方向に並んで配置され前記第 1溝部に 挿入される平坦な面を有する横長の第 2基台と、 前記第 1端子群に対応して前 記第 2溝部の平坦な内壁面に配置された複数の接続端子を含む第 3端子群と、 前記第 2端子群に対応して前記第 2基台の平坦な面に配置された複数の接続端 子を含む第 4端子群とを備え、
前記第 3端子群及び第 4端子群は、 前記第 1端子群及び第 2端子群に対応し て、 それそれデータ伝送を担う一対のデータ線に接続された一対のデータ供給 接続端子をそれそれ備えてなるプラグコネクタ。
6 5 . 請求項 8乃至 1 5及び請求項 4 7乃至 5 1のいずれかに記載のゲーム装 置に接続して使用する周辺装置であって、
前記周辺装置は、 自己がランダムに出力を発生する種類の周辺装置であると の情報をゲーム装置に通知し、 接続された周辺装置がランダムに出力を発生す る種類の周辺装置であることを認識したゲーム装置は伝送路占有パターンを当 該周辺装置に送信して当該周辺装置が接続されている入出力ポートが伝送路占 有モ一ドになったことを通知し、 前記周辺装置は伝送路占有パターンの期間の 任意の夕ンミングで出力デ一夕を伝送することができるように構成されてなる 周辺装置。
6 6 . 前記伝送路占有パターンは、 前記第 1及び第 2のデータ信号のうち一方 が前記一方の電位レベルに維持されているタイミングに対応して他方のデ一夕 信号として連続した複数のパルス列を伝送するパターンにより構成されている 請求項 6 5記載の周辺装置。
6 7 . 前記伝送路占有モードに入ると、 周辺装置は伝送路占有モードの期間の 任意のタイミングで出力を送出することが可能となり、 周辺装置が操作される とトリガ信号をゲーム装置に送出するように構成されてなる請求項 6 5または 6 6記載の周辺装置。
6 8 . 前記伝送路占有モードはビデオ信号の 1ィン夕一バルの画面描画期間で ある請求項 6 7記載の周辺装置。
6 9 . 前記周辺装置は模擬銃である請求項 6 5乃至 6 8のいずれかに記載の周 辺装置。
7 0 . 前記周辺装置は光線銃である請求項 6 9記載の周辺装置。
7 1 . 請求項 6 5乃至 7 0のいずれかに記載の周辺装置は、 ゲーム装置に直接 接続される種類の基本周辺装置を介して前記ゲーム装置とデータ伝送の授受を 行う種類の拡張周辺装置であることを特徴とする周辺装置。
7 2 . コンビュ一夕システムを請求項 8乃至 1 5のいずれかに記載のゲーム装 置として動作させるプログラムを記憶した情報記憶媒体。
7 3 . コンピュータシステムを請求項 1 6乃至 2 5のいずれかに記載の周辺装 置として動作させるプログラムを記憶した情報記憶媒体。
7 4 . コンビュ一夕システムを請求項 4 3乃至 4 6のいずれかに記載の周辺装 置として動作させるプログラムを記憶した情報記憶媒体。
7 5 . コンピュータシステムを請求項 5 2乃至 5 9のいずれかに記載の周辺装 置として動作させるプログラムを記憶した情報記憶媒体。
7 6 . デ一夕を第 1及び第 2のデ一夕信号に分配してシリアル伝送するデ一夕 伝送方法を実行するゲームシステムに使用される付属機器であって、
このゲームシステムにおいて前記第 1及び第 2のデ一夕信号は、 それそれス タートパターン部、 デ一夕パターン部及びェンドパターン部を含む伝送フォー マツ 卜で定義されるデ一夕フレームによって構成されており、 前記ス夕一トパ 夕一ン部は、 前記第 1のデータ信号が一定電位レベルに維持されている間に前 記第 2のデ一夕信号を第 1のパルス列信号として送出するフォーマツ トで構成 され、 前記第 1及び第 2のデータ信号のデータパターン部は、 それそれ、 クロ ック信号成分を含むパルス列と各パルス間に配置された前記分配されたデータ のデータビッ トを含み、 前記第 1及び第 2のデータ信号のパルス列信号に含ま れるクロック信号成分は互いに時間軸上の位置を所定値だけずらして配置され、 一方のデータ信号のクロック信号成分のタイミングに対応して他方のデータ信 号のデータビッ 卜が夫々位置するように伝送されるフォーマツ 卜で構成され、 前記ェンドパターン部は、 前記第 2のデータ信号が一定電位レベルに維持され ている間に前記第 1のデータ信号を第 2のパルス列信号として送出するフォー マッ トで構成される、 ことを特徴とするデータ伝送方法。
7 7 . 周辺装置から信号伝送路を介してゲームに必要な情報を収集して使用す るゲーム装置に接続される付属装置であって、
このゲーム装置は、 周辺装置に情報の送信を要求するデータは第 1及び第 2 のデータ信号に分配して送信され、 第 1及び第 2のデータ信号はそれそれスタ —トパターン部、 データパターン部及びェンドパターン部を含む伝送フォーマ ッ 卜で定義されるフレームによって構成されており、 前記スタートパターン部 は、 前記第 1のデ一夕信号が第 1の期間中一定電位レベルに維持されている夕 ィミングに対応して、 第 1のパルス列信号を含む前記第 2のデータ信号を前記 第 1の期間中に送出するように構成され、 前記周辺装置に送信すべきデータを 第 1及び第 2のデータ列に分け、 前記第 1のデ一夕信号のデ一夕パターン部は 第 1のクロック信号を含み、 前記第 1のデ一夕列のデータビッ トを第 1のクロ ック信号の各パルス間にそれそれ挿入して前記第 1のデ一夕信号を構成し、 前 記第 2のデータ信号のデータパターン部は前記第 1のクロック信号と所定の位 相差を有する同周期の第 2のクロック信号を含み、 前記第 2のデータ列のデー 夕ビッ トを前記第 2のクロック信号の各パルス間にそれそれ挿入して前記第 2 のデ一夕信号を構成し、 これにより前記第 1及び第 2のデ一夕信号のデータパ ターン部はそれそれ一方のデータ信号のクロック信号成分のタイミングに対応 して他方のデ一夕信号のデータビッ トがそれそれ位置するように伝送されるフ ォ—マッ トで構成され、 前記エンドパターン部は、 前記第 2のデータ信号が第 2の期間中一定電位レベルに維持されているタイ ミングに対応して、 第 2のパ ルス列信号を含む前記第 1のデータ信号を前記第 2の期間中に送出するように 構成され、 前記スタートパターン部、 前記デ一夕パターン部及び前記エンドパ ターン部を含む 2つのデータ信号で表されるフレームを送信単位として前記周 辺装置に送出する、 ことを特徴とする。
7 8 . ゲーム装置に周辺装置を伝送路を介して接続して使用してなるゲーム装 置において前記ゲーム装置に接続される付属装置であって、
前記周辺装置は少なくとも一つの機能デバイスを含み、 ゲーム装置と機能デ バイスの間のデ一夕伝送は、 送信側デ一夕を一対のデ一夕信号に分配してそれ それシリアル伝送し、 受信側では受信した一対のデータ信号からデ一夕を再生 することにより行われ、 前記一対のデ一夕信号は、 それそれ 1 フレームがス夕 ートパターン部、 データパターン部及びェンドパターン部を含む伝送フォーマ ッ トで構成されており、 前記スタートパターン部では、 前記一対のデ一夕信号 の一方が一定電位レベルに維持されているタイ ミングに対応して他方のデ一夕 信号として複数個のパルスが送出され、 これにより受信側は送信側からの信号 の送出開始を認識し、 前記エンドパターン部では、 前記他方のデ一夕信号が前 記一定電位レベルに維持されているタイ ミングに対応して前記一方のデータ信 号として複数個のパルスが送出され、 これにより受信側は送信側からの信号の 送出終了を認識し、 前記データパターン部では、 前記一対のデータ信号はそれ それ順次送出されるクロック信号を含み、 一方のデ一夕信号のクロック信号の タイミングに対応してデータビッ トを表す信号レベルを他方のデ一夕信号とし て送出することを交互に行うことにより、 送出されるデ一夕が前記一対のデ一 夕信号に分配されて順次送出され、 受信側は受信した前記一対のデ一夕信号か らデ一夕ビッ トを表す信号レベルを順次検出して送信側が送信したデータを再 生するように構成してなる。
PCT/JP1999/006391 1998-11-16 1999-11-16 Procede de transmission de donnees et systeme de jeu fonctionnant selon ledit procede WO2000030314A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP10/325624 1998-11-16
JP32562498 1998-11-16

Publications (1)

Publication Number Publication Date
WO2000030314A1 true WO2000030314A1 (fr) 2000-05-25

Family

ID=18178944

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1999/006391 WO2000030314A1 (fr) 1998-11-16 1999-11-16 Procede de transmission de donnees et systeme de jeu fonctionnant selon ledit procede

Country Status (1)

Country Link
WO (1) WO2000030314A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011062074A1 (ja) * 2009-11-17 2011-05-26 株式会社ソニー・コンピュータエンタテインメント 通信システム、端末装置、通信処理方法、通信処理プログラム、通信処理プログラムが記憶された記憶媒体
JP2017514394A (ja) * 2014-04-22 2017-06-01 クアルコム,インコーポレイテッド マルチシンボルワードのための同期方法
TWI767782B (zh) * 2015-10-01 2022-06-11 日商新力股份有限公司 主控單元器件及通信器件

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50122815A (ja) * 1974-03-11 1975-09-26
JPH01144752A (ja) * 1987-11-30 1989-06-07 Nec Corp ディジタルデータ伝送方式
JPH01152843A (ja) * 1987-12-10 1989-06-15 Oki Electric Ind Co Ltd データ伝送方式
JP2870538B2 (ja) * 1997-05-14 1999-03-17 株式会社セガ・エンタープライゼス データ伝送方法及びこれを用いたゲームシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50122815A (ja) * 1974-03-11 1975-09-26
JPH01144752A (ja) * 1987-11-30 1989-06-07 Nec Corp ディジタルデータ伝送方式
JPH01152843A (ja) * 1987-12-10 1989-06-15 Oki Electric Ind Co Ltd データ伝送方式
JP2870538B2 (ja) * 1997-05-14 1999-03-17 株式会社セガ・エンタープライゼス データ伝送方法及びこれを用いたゲームシステム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011062074A1 (ja) * 2009-11-17 2011-05-26 株式会社ソニー・コンピュータエンタテインメント 通信システム、端末装置、通信処理方法、通信処理プログラム、通信処理プログラムが記憶された記憶媒体
JP2011107935A (ja) * 2009-11-17 2011-06-02 Sony Computer Entertainment Inc 通信システム、端末装置、通信処理方法、通信処理プログラム、通信処理プログラムが記憶された記憶媒体
US9015366B2 (en) 2009-11-17 2015-04-21 Sony Corporation Communication system, terminal device, communication processing method, communication processing program, storage medium stored with communication processing program
US9440147B2 (en) 2009-11-17 2016-09-13 Sony Corporation Communication system, terminal device, communication processing method, communication processing program, storage medium stored with communication processing program
JP2017514394A (ja) * 2014-04-22 2017-06-01 クアルコム,インコーポレイテッド マルチシンボルワードのための同期方法
TWI767782B (zh) * 2015-10-01 2022-06-11 日商新力股份有限公司 主控單元器件及通信器件

Similar Documents

Publication Publication Date Title
US6213879B1 (en) Data transmission system and game system with game peripherals using same
AU722079B2 (en) High performance/low cost video game system with multi- functional peripheral processing subsystem
US6141719A (en) USB selector switch
US7972216B2 (en) Video game system and camera accessory for a video game system
JP4841545B2 (ja) ブリッジコントローラを用いないポイントツーポイントバスブリッジング
US6582311B1 (en) Memory card device, video game apparatus, and program providing medium
US20090138638A1 (en) Serial Peripheral Interface for a Transceiver Integrated Circuit
CN103189852A (zh) 用于动态多链路编译分区的系统和方法
JP2870538B2 (ja) データ伝送方法及びこれを用いたゲームシステム
CN102203851A (zh) 在标准设备连接器上的可选内容的传输
JP2008257744A (ja) モジュール交換型演算システムおよび信号媒介方法
JP3426171B2 (ja) 通信プロトコル変換システム、モニタ装置
KR20060080052A (ko) 이동통신 단말기용 게임 조작을 위한 지원 장치
KR101319981B1 (ko) 독립적으로 통신 상태의 확인이 가능하도록 하는 통신 커넥트 및 이 통신 커넥트를 포함하는 통신 장치
WO2000030314A1 (fr) Procede de transmission de donnees et systeme de jeu fonctionnant selon ledit procede
KR101384711B1 (ko) 통신 시스템, 단말 장치, 통신 처리 방법, 통신 처리 프로그램, 통신 처리 프로그램이 기억된 기억매체
TWI252652B (en) Data transmission device
JPH10235016A (ja) ゲーム用システム
US20050097247A1 (en) Meta-message set with real-time and database aspects
JPH09259068A (ja) 拡張入出力インターフェイス
NZ500500A (en) Portable electronic game, connectable to video game controller, where the display inverts when connected
JP2009519667A (ja) 多機能リモコンシステム
MXPA99000582A (en) Data transmission method and game system constructed by using the method
KR100767545B1 (ko) 전자장비 통신시스템 및 중계기
KR20050020030A (ko) 컴퓨터

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN JP KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

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)
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

Ref document number: 2000583216

Format of ref document f/p: F