KR100555230B1 - 반이중 직렬 통신을 이용하는 게임 시스템 - Google Patents

반이중 직렬 통신을 이용하는 게임 시스템 Download PDF

Info

Publication number
KR100555230B1
KR100555230B1 KR1019997012467A KR19997012467A KR100555230B1 KR 100555230 B1 KR100555230 B1 KR 100555230B1 KR 1019997012467 A KR1019997012467 A KR 1019997012467A KR 19997012467 A KR19997012467 A KR 19997012467A KR 100555230 B1 KR100555230 B1 KR 100555230B1
Authority
KR
South Korea
Prior art keywords
game
game machine
controller
data
communication
Prior art date
Application number
KR1019997012467A
Other languages
English (en)
Other versions
KR20010020565A (ko
Inventor
야마모토야스유키
이오히데아키
다나카마코토
Original Assignee
가부시키가이샤 소니 컴퓨터 엔터테인먼트
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 가부시키가이샤 소니 컴퓨터 엔터테인먼트 filed Critical 가부시키가이샤 소니 컴퓨터 엔터테인먼트
Priority claimed from PCT/JP1999/002429 external-priority patent/WO1999059289A2/en
Publication of KR20010020565A publication Critical patent/KR20010020565A/ko
Application granted granted Critical
Publication of KR100555230B1 publication Critical patent/KR100555230B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/23Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/31Communication aspects specific to video games, e.g. between several handheld game devices at close range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Pinball Game Machines (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

텔레비전 게임 시스템과 같은 게임 시스템에서, 텔레비전 게임 기계 본체는 프로토콜 제어기를 포함하고 또한 직렬 포트를 통해서 텔레비전 게임 기계 본체에 연결된 각각의 게임 동작장치도 프로토콜 제어기를 갖는다. 텔레비전 게임 기계 본체가 특유한 식별자를 갖는 게임 동작장치에 연결되는 경우에, 텔레비전 게임 기계 본체는 각각의 문자에 대한 데이터를 송신하고 수신하는 통신 프로토콜 및 한 개의 행에 있는 두 개 이상의 문자들에 대한 데이터를 송신하거나 수신하는 통신 프로토콜을 결합하고, 또한 텔레비전 게임 기계 본체는 식별자에 근거해서 게임 동작장치에 대응하는 통신 프로토콜로 전환시켜서 텔레비전 게임 기계 본체와 게임 동작장치 사이에 요구되는 정보의 양을 최소화한다.
반이중, 직렬 통신, 게임 장치, 양방향 통신방법, 게임 기계 동작장치, 게임 시스템, 프로토콜 전환, 프로토콜 결합, 패킷 단위, 식별자, 텔레비전 게임 기계 본체

Description

반이중 직렬 통신을 이용하는 게임 시스템 {Game system which employs a half-duplex serial communication}
본 발명은 예를 들면 비디오 게임 시스템에 적합한 게임 장치, 게임 기계 동작장치, 게임 시스템, 및 게임 장치 양방향 통신방법에 관한 것이다.
지금까지, 동작수단으로서 제어기들이 비디오 게임 기계 본체(main unit)에 연결되어 있는 비디오 게임 시스템들이 있었는데, 게임은 제어기들을 조작하는 사용자들에 의해 진행된다. 비디오 게임 시스템들은 텔레비전 게임 기계 본체와 제어기들 사이의 통신을 위한 시스템으로서 전이중(full-duplex) 통신 시스템을 채택하며, 또한 그것들은 동시에 데이터를 송신하고 수신한다. 이 경우에, 텔레비전 게임 시스템은 데이터가 송신 또는 수신되어야 할 경우, 우선 속도 또는 포맷 등의 프로토콜에 관해서 일치가 되고, 데이터가 상기 일치에 근거해서 송신되고 수신되는 핸드셰이킹(handshaking) 방법을 사용하는데, 여기서 상기 속도 또는 포맷에 의해 데이터가 송신되고 수신된다.
텔레비전 게임 시스템과 같은 대화식 애플리케이션(application)에서, 사용 자에 의한 동작 감각의 신속성을 향상시키기 위하여, 제어기를 통한 동작 정보 입력은 텔레비전 게임 기계의 음향과 영상들에서 신속하게 반영되는 것이 중요하다. 일반적으로, 텔레비전 게임 기계에서, 한 개의 영상 프레임이 모니터에서 스캔되는 동안 제어기로부터의 동 작정보가 요청되고, 또한 다음 프레임을 위한 영상은 상기 동작 정보에 근거하여 생성된다. 그러므로, 텔레비전 게임 기계에서, 제한된 계산 능력으로 화질을 향상시키기 위하여, 제어기로부터 동작 정보를 요청하는 시간은 가능한 짧아야하며, 또한 한 개의 프레임 영상을 생성하는 시간은 가능한 길어야 한다.
한편, 사용되는 애플리케이션에 의존하여, 때로는 다중(multiple) 제어기들이 텔레비전 게임 기계에 연결된다. 또한, 때로는 제어기는 간단한 온/오프 스위치와 같은 디지털 데이터를 입력하기 위해서 뿐만 아니라, 예를 들면 화면에서 원하는 지점을 지정하기 위하여 조이스틱을 통해서 아날로그 신호를 입력하기 위해서도 이용된다. 더우기, 제어기는 때로는 충격이나 진동과 같은 피드백(feedback) 정보를 사용자에게 제공하기 위해서도 이용된다. 이 모든 것들로 인해, 텔레비전 게임 시스템에서 텔레비전 게임 기계 본체와 제어기들 사이에서의 통신 시간이 증가되기 쉬웠다.
그러나, 텔레비전 게임 시스템은 화질을 향상시키기 위하여, 위에서 설명한 것처럼, 통신 시간을 짧게 해야만 한다. 이러한 통신 시간의 단축을 실현하는 한 방법은 텔레비전 게임 기계 본체와 제어기 사이에서의 데이터 전송 속도를 증가시키는 것이다. 그러나, 텔레비전 게임 시스템에서, 단순하게 전송 속도를 증가시키 는 것은 또한 텔레비전 게임 기계 본체와 제어기를 연결하는 케이블으로부터 발생되는 이른바 바람직하지 않은 복사(radiation)를 증가시킨다. 저전압차 신호(LVDS) 통신 시스템, 이중 차폐선 통신 시스템, 광섬유 통신 시스템, 및 적외선 통신 시스템은 그러한 바람직하지 않은 복사가 증가하는 것을 방지하는 통신 시스템으로서 사용될 수 있다. 이것들 중에서, 효과적인 것은 신호 선들의 개수가 감소되고 차폐가 강화된, 예를 들면 USB(범용 직렬 버스) 또는 IEEE 1394(미국 전기 전자 기술자 협회 1394)와 같은 LVDS 통신 시스템이다.
텔레비전 게임 시스템에서 케이블 신호 선들의 개수가 감소되는 경우, 전이중 통신 또는 동기식 통신, 또는 제어 선들을 이용하는 효율적인 통신은 어려워지므로, 반이중 통신 시스템으로 모든 데이터 송신과 수신 또는 통신 제어를 하는 수 밖에 없었다. 따라서, 예를 들어 USB를 가지고, 데이터가 송신 또는 수신되어야 하는 경우, 및 송신과 수신이 별도로 실시되는 경우에, 먼저 프로토콜은 데이터가 송신되고 수신되는 속도와 포맷이 설정되어, 데이터는 이 프로토콜에 기초하여 송신되고 수신된다.
이러한 텔레비전 게임 시스템에서, 프로토콜의 설정 다음에 전송되어야 하는 데이터 통신의 볼륨(volume)이 크면, 프로토콜을 설정하기 위해 요구되는 데이터 통신의 볼륨(이른바 오버헤드)은 전송할 데이터 통신의 볼륨보다 적을 것이고, 또한 무시될 수 있다. 그러나, 비디오 게임 시스템에서, 컴퓨터 주변장치, 프린터, 스피커, 모뎀 등이 텔레비전 게임 기계 본체에 연결되면, 텔레비전 게임 기계 본체와 게임 제어기들 사이에서 전송되는 데이터 통신의 볼륨은 전송되는 데이터 통신 의 볼륨보다 적다. 따라서, 텔레비전 게임 시스템은, 프로토콜이 설정된 다음에 전송되는 데이터 통신의 볼륨에 추가해서, 큰 볼륨의 통신을 포함하는 오버헤드를 요구하고, 결과적으로 통신 시간이 늘어나는 문제가 발생한다.
본 발명의 목적은 문제되는 종래 타입의 장치보다 빠른 속도로 데이터를 송신하고 수신할 수 있는 게임 장치, 게임 기계 동작장치, 및 게임 장치 양방향 통신 방법을 제공하는 것이다.
본 발명의 상기 목적과 그외 목적들은 직렬 포트를 통해서 연결되는 게임 기계 동작장치들이 수반되고, 통신 시스템으로서 반이중 직렬 통신 시스템을 사용하며, 또한 각각의 단일 문자에 대한 데이터를 송신하고 수신하는 통신 프로토콜 및 한 개의 행에 있는 두 개 이상의 문자들을 송신하거나 수신하는 통신 프로토콜을, 각각의 게임 기계 동작장치로부터 공급되는 상기 게임 기계 동작장치의 식별자들(identifiers)에 근거하여, 결합하기 위한 수단을 포함하는 게임 장치에 의해 달성되며, 상기 게임 장치는 상기 통신 프로토콜을 게임 기계 동작장치에 대응하는 통신 프로토콜로 전환한다.
각각의 단일 문자에 대한 데이터를 송신하고 수신하는 통신 프로토콜 및 한 개의 행에 있는 두 개 이상의 문자들에 대한 데이터를 송신하고 수신하는 통신 프로토콜을 결합하고, 또한 상기 통신 프로토콜을 게임 기계 동작장치에 대응하는 통신 프로토콜로 전환함으로써, 게임 장치와 게임 기계 동작장치 사이에서 요구되는 통신의 양은, 이전의 단순한 각각의 단일 문자에 대한 데이터를 송신하고 수신하는 경우보다 큰 폭으로 최소화될 수 있다.
또한, 본 발명에서는 게임 기계 동작장치를 제안하는데, 상기 게임 기계 동작장치는 직렬 포트를 통해서 연결되는 게임 장치를 갖는 통신 시스템으로서 반이중 직렬 통신 시스템을 사용하고, 상기 게임 기계 동작장치에 대해 특유한(unique) 식별자를 가지며, 또한 상기 게임 기계 동작장치는 상기 게임 기계 동작장치가 상기 게임 장치에 연결되는 경우에 식별자를 게임 장치에 제공하기 위한 수단을 포함하여, 상기 게임 장치가 각각의 단일 문자에 대한 데이터를 송신하고 수신하는 통신 프로토콜 및 한 개의 행에 있는 두 개 이상의 문자들에 대한 데이터를 송신하거나 수신하는 통신 프로토콜을 결합하도록 하게 만들고, 또한 상기 통신 프로토콜을 상기 게임 기계 동작장치에 대응하는 통신 프로토콜로 전환시키도록 만든다.
각각의 단일 문자에 대한 데이터를 송신하고 수신하는 통신 프로토콜 및 한 개의 행에 있는 두 개 이상의 문자들에 대한 데이터를 송신하고 수신하는 통신 프로토콜을 결합하고, 또한 상기 통신 프로토콜을 게임 기계 동작장치에 대응하는 통신 프로토콜로 전환함으로써, 게임 장치와 게임 기계 동작장치 사이에서 요구되는 통신의 양은, 이전의 단순한 각각의 단일 문자에 대한 데이터를 송신하고 수신하는 경우보다 큰 폭으로 최소화될 수 있다.
또한, 본 발명에 따르면 게임 시스템이 제공되는데, 상기 게임 시스템은 직렬 포트를 통해서 게임 장치와 게임 기계 동작장치가 연결되고 또한 상기 게임 장치와 게임 기계 동작장치 사이에서의 통신 시스템으로서 반이중 직렬 통신 시스템을 사용하는데, 상기 게임 시스템에서 상기 게임 장치는, 상기 게임 기계 동작장치 들로부터 공급되는 게임 기계 동작장치들의 식별자들에 근거하여, 상기 게임 장치는 각각의 단일 문자에 대한 데이터를 송신하고 수신하는 통신 프로토콜 및 한 개의 행에 있는 두 개 이상의 문자들에 대한 데이터를 송신하거나 수신하는 통신 프로토콜을 결합하고, 또한 상기 통신 프로토콜을 상기 게임 기계 동작장치에 대응하는 통신 프로토콜로 전환시키며, 또한 게임 기계 동작장치가 게임 장치에 연결되는 경우에 게임 기계 동작장치들은 게임 기계 동작장치에 특유한 한 개의 식별자를 각각 갖고 또한 식별자를 게임 장치에 부여한다.
각각의 단일 문자에 대한 데이터를 송신하고 수신하는 통신 프로토콜 및 한 개의 행에 있는 두 개 이상의 문자들에 대한 데이터를 송신하고 수신하는 통신 프로토콜을 결합하고, 또한 상기 통신 프로토콜을 게임 기계 동작장치에 대응하는 통신 프로토콜로 전환함으로써, 게임 장치와 게임 기계 동작장치 사이에서 요구되는 통신의 양은, 이전의 단순한 각각 단일 문자에 대한 데이터를 송신하고 수신하는 경우보다 큰 폭으로 최소화될 수 있다.
또한, 본 발명에 따르면, 게임 장치 양방향 통신방법이 제공되는데, 상기 게임 장치 양방향 통신방법은 직렬포트를 통해서 연결되는 게임 기계 동작장치들이 있는 통신 시스템으로서 반이중 직렬 통신 시스템을 사용하고, 또한, 게임 기계 동작장치로부터 공급되는 상기 게임 기계 동작장치의 식별자들에 근거하여, 상기 게임 장치 양방향 통신방법은 각각의 단일 문자에 대한 데이터를 송신하고 수신하는 통신 프로토콜 및 한 개의 행에 있는 두 개 이상의 문자들을 송신하거나 수신하는 통신 프로토콜을 결합하며, 또한 상기 게임 장치 양방향 통신방법은 상기 통신 프 로토콜을 게임 기계 동작장치에 대응하는 통신 프로토콜로 전환한다.
각각의 단일 문자에 대한 데이터를 송신하고 수신하는 통신 프로토콜 및 한 개의 행에 있는 두 개 이상의 문자들에 대한 데이터를 송신하고 수신하는 통신 프로토콜을 결합하고, 또한 상기 통신 프로토콜을 게임 기계 동작장치에 대응하는 통신 프로토콜로 전환함으로써, 게임 장치와 게임 기계 동작장치 사이에서 요구되는 통신의 양은 단순한 이전의 각각 단일 문자에 대한 데이터를 송신하고 수신하는 경우보다 큰 폭으로 최소화될 수 있다.
도 1은 본 발명의 한 실시예에 따른 텔레비전 게임 시스템의 구성을 나타내는 블록도이다.
도 2는 도 1의 시스템의 텔레비전 게임 기계 본체의 구성을 나타내는 블록도이다.
도 3은 도 1의 시스템의 게임 제어기의 구성을 나타내는 블록도이다.
도 4 및 5는 도 1에서의 시스템에 따른 텔레비전 게임 기계 본체의 양방향 통신 방법을 나타내는 플로우 차트이다.
도 6 및 7은 게임 제어기의 ID 번호와 통신 모드를 확인하는 방법을 나타내는 플로우 차트이다.
도 8은 핸드셰이크 모드에 의한 양방향 통신 방법을 나타내는 플로우 차트이다.
도 9는 연속송신/연속수신 모드에 의한 양방향 통신 방법을 나타내는 플로우 차트이다.
도 10 및 도 11은 핸드셰이크/연속수신 모드에 의한 양방향 통신 방법을 나타내는 플로우 차트이다.
도 1은 텔레비전 게임 시스템 전체를 나타낸다. 이 텔레비전 게임 시스템은 텔레비전 게임 기계 본체 2 및 게임 기계 동작장치(게임 제어기들) 3A~3C를 포함하는데, 상기 게임 제어기들은 게임의 내용과 게임의 진행에 따라 명령을 텔레비전 게임 기계 본체에 입력한다. 텔레비전 게임 기계 본체 2는 제어기 포트 4A~4D를 갖고 있는데, 이 제어기 포트들은 외부 주변장치들과의 인터페이스로서 직렬(serial) 포트이고, 또한 원하는 주변장치들이 연결될 수 있다.
게임 제어기 3A는 제어기 포트 4A에 연결되고, 사용자에 의한 동작에 대응하는 동작 정보가 제어기 포트 4A를 통해서 텔레비전 게임 기계 본체 2에 송신된다. 게임 제어기 3A는 메모리 카드 5A에 연결되어 있는데, 이 메모리 카드는 원하는 게임 정보(예를 들어, 게임이 끝나기 전에 인터럽트(interrupt)되는 경우에, 그 때까지의 진행상태)저장할 수 있다.
제어기 포트 4B를 확장하기 위한 멀티-탭 포트 6은 제어기 포트 4B에 연결되어 있다. 게임 제어기들 3B와 3C는 멀티-탭 포트 6에 연결되고, 또한 메모리 카드 5B는 게임 제어기 3C에 연결된다. 또한, 라이트펜(light pen)-타입 권총형(gun) 제어기 7A는 멀티-탭 포트 6에 연결된다. 권총 제어기 7A에 장착된 방아쇠를 당기면, 권총 제어기 7A의 끝이 조준하는 텔레비전 게임 기계 본체 2의 화면 위에 있는 것 을 맞추는 것처럼 보인다. 권총 제어기 7B는 제어기 포트 4C에 연결되어 있고, 또한 메모리 카드 5C는 제어기 포트 4D에 연결되어 있다.
따라서, 텔레비전 게임 기계 본체 2는, 제어기 포트 4A~4D를 통해서 연결된 여러 개의 주변장치들과 데이터 통신을 실시하면서, 게임과 같은 애플리케이션 프로그램을 실행할 수 있다. 여러 개의 게임 제어기 3A~3C와 권총 제어기 7A, 7B를 텔레비전 게임 기계 본체 2에 연결함으로써, 예를 들면 대화식 게임들이 여러 사용자에 의해 실시될 수 있다.
도 2는 텔레비전 게임 기계 본체 2의 블록도를 나타낸다. 텔레비전 게임 기계 본체 2 전체를 관리하는 호스트 CPU 10은 버스(bus) 11을 통해서 각각의 블록을 제어한다. 제어기 포트 4A~4D에 연결된 주변장치들을 검사함으로써, 호스트 CPU 10은 주변장치들에 대응하는 통신 모드를 결정한다. 그리고, 호스트 CPU 10은 결정된 통신 모드에 기초한 통신 모드 정보를 버스 11을 통해서 명령 레지스터 12에 전송하고, 통신 모드 정보를 명령 레지스터 12에 기록함으로써 통신 모드가 설정된다.
또한, 호스트 CPU 10은 직렬 통신에 대한 조건들을 나타내는 직렬 통신 정보를 버스 11을 통해서 제어 레지스터 13에 전송하고, 직렬 통신이 설정되며 또한 실제 직렬 통신은 직렬 통신 정보를 제어 레지스터 13에 기록함으로써 시작된다. 한편, 상태 레지스터 14는 현재 통신 상태를 유지한다. 따라서, 호스트 CPU 10은 버스 11을 통해서 상태 레지스터 14에 접근해서 현재 통신 상태를 확인한다. 타이머(timer) 15는 통신 타이밍 제어를 실시한다. 이런 식으로, 호스트 CPU 10은 버스 11을 통해서 타이머 15에 접근해서 통신 간격(interval) 등을 조정한다.
메모리 16은 버스 11에 연결되고 통신되는 데이터를 저장한다. 비슷하게, DMA(직접 메모리 접근) 제어기 17은 비슷하게 버스 11에 연결된다. DMA 제어기 17은 FIFO(선입선출) 제어기 18에 의해 제어되고; FIFO 제어기 18로부터의 DMA 요구에 근거해서, 호스트 CPU 10을 우회하여, 메모리 16과 기록(write) FIFO 19의 사이에서 및 메모리 16과 판독(read) FIFO 20의 사이에서 데이터가 전송된다.
FIFO 제어기 18은 기록 FIFO 19와 판독 FIFO 20으로 및 기록 FIFO 19와 판독 FIFO 20으로부터의 판독과 기록을 제어한다. 기록 FIFO는 임시로 게임 제어기 3A로 송신되어야 할 데이터를 유지(holding)한다(도 1).
명령 레지스터 12, 제어 레지스터 13, 상태 레지스터 14, 타이머 15, FIFO 제어기 18, 및 트랜시버 선택기 22에 연결된 프로토콜 제어기 21은 송신되고 수신되는 데이터의 흐름을 제어한다. 트랜시버 선택기 22는, 송신할 때, 직렬 신호를 차동 신호로 포맷 변환하고, 제어기 포트 4A~4D 중에서 원하는 제어기 포트 4를 선택하며, 또한 제어기 포트 4를 통해서 차동 신호를 제어기 포트 4에 연결된 게임 제어기 3에 송신한다. 수신할 때는 반대로, 트랜시버 선택기 22가 상기 게임 제어기 3에 대응하는 제어기 포트 4를 통해서 게임 제어기 3A~3C 중에서 원하는 게임 제어기 3으로부터 송신된 차동 신호를 수신한다. 그리고, 트랜시버 선택기 22는 이 수신된 차동 신호를 직렬 신호로 변환하고 또한 이것을 DPLL 23으로 출력한다. DPLL 23은 직렬 신호의 수신 타이밍을 정정하고 또한 이것을 프로토콜 제어기 21로 출력한다.
부수적으로, 제어기 CPU 30(도 3을 참조)이 느린 실행 속도를 가지면, 프로토콜 제어기 21은 수신가능 대기시간을 길게 설정된다. 수신가능 대기시간이 통신 모드에 따라 설정된다는 것으로부터, 프로토콜 제어기 21은 게임 제어기 3A가 효율적인 송신을 하고 있는지 여부를 검사할 수 있다.
도 3은 게임 제어기 3A를 자세히 나타낸다. 게임 제어기 3A~3C는 모두 같은 식으로 구성되므로, 게임 제어기 3A의 구성만을 자세하게 설명한다. 도 3에 나타낸 것처럼, 게임 제어기 3A는 제어기 CPU 30, 버스 31, FIFO 제어기 38, 트랜시버 42, 및 ID 레지스터 32를 제외하고 텔레비전 게임 기계 본체 2와 같은 구성을 갖는다.
게임 제어기 3A 전체를 관리하는 제어기 CPU 30은 버스 31을 통해서 각각의 블록을 제어한다. 버스 31을 통해서 ID 레지스터 32에 접근함으로써, 제어기 CPU 30은 ID 레지스터 32에 기록하고 또한 게임 제어기 3A에 특유하고 또한 송신과 수신, 및 범주 분류에 대한 조건인 식별(ID=식별) 번호를 설정한다.
게임 제어기 3A가 텔레비전 게임 기계 본체 2처럼 DMA 제어기를 갖지 않기 때문에, FIFO 제어기 38에서 DMA 요구를 생성할 필요가 없다. 또한, 게임 제어기 3A는 텔레비전 게임 기계 본체 2처럼 제어기 포트 4A~4D를 갖지 않는다. 따라서, 트랜시버 42은 송신할 때는 직렬 신호를 차동 신호로 변환하고 또한 수신할 때는 차동 신호를 직렬 신호로 변환하기만 하면 된다.
게임 제어기 3A를 갖고, 판독 FIFO 40의 저장 용량이 작고 또한 송신되는 데이터의 문자의 개수가 많으면, 텔레비전 게임 기계 본체 2 쪽에서 수신되는 데이터의 손실은 송신 간격을 길게 설정함으로써 방지된다.
도 4 및 5는 텔레비전 게임 기계 본체 2의 양방향 통신방법을 나타내는 플로 우 차트이다. 우선, SP1 단계로부터 시작되는 SP2 단계에서, 텔레비전 게임 기계 본체 2는 주변장치들이 제어기 부분 4A~4D에 연결되는지 여부를 결정한다; 주변장치들이 연결된 것으로 결정하는 경우, SP3 단계로 진행한다; 주변장치들이 연결되지 않은 것으로 결정하는 경우, SP4 단계로 진행한다. SP3 단계에서, 텔레비전 게임 기계 본체 2는 연결된 주변장치의 ID 번호와 이 ID 번호에 대응하는 통신 모드를 확인하고 등록한다.
SP5 단계에서, 텔레비전 게임 기계 본체 2는 다른 주변장치가 접속되었는지 여부를 결정한다; 주변장치가 연결된 것으로 결정하는 경우, SP3 단계로 돌아가 동작을 되풀이한다; 연결되지 않은 것으로 결정하는 경우, SP4 단계로 진행한다. 텔레비전 게임 기계 본체 2는 게임의 진행에 따라서 필요한 만큼 연결된 주변장치들과 통신한다. SP4 단계에서, 텔레비전 게임 기계 본체 2는 주변장치와 통신할 시간인지 여부를 결정한다; 통신을 해야하는 것으로 결정하는 경우, SP6 단계로 진행한다; 통신을 해야할 필요가 없는 것으로 결정하는 경우, SP7 단계로 진행한다.
SP6 단계에서, 텔레비전 게임 기계 본체 2는 연결된 주변장치가 예를 들어, 사용자에게 충격 피드백을 제공하는 특별한 제어기인지 여부를 결정한다; 특별한 제어기인 것으로 결정하는 경우, SP8 단계로 진행한다; 특별한 제어기가 아닌 것으로 결정하는 경우, SP9 단계로 진행한다. SP8 단계에서, 텔레비전 게임 기계 본체 2는 통신 모드를 핸드셰이크 모드로 설정하고 SP9 단계로 진행한다.
SP9 단계에서, 텔레비전 게임 기계 본체 2는 연결된 주변장치가 예를 들어, 송신되고 수신되는 데이터가 미리 설정되는 표준 제어기인지 여부를 결정한다; 표 준 제어기인 것으로 결정하는 경우, SP10 단계로 진행한다; 표준 제어기가 아닌 것으로 결정하는 경우, SP11 단계로 진행한다. SP10 단계에서, 텔레비전 게임 기계 본체 2는 통신 모드를 연속송신/연속수신 모드 설정하고 SP11 단계로 진행한다.
SP11 단계에서, 텔레비전 게임 기계 본체 2는 데이터가 연결된 메모리 카드로부터 판독되어야 하는지 여부를 결정한다; 데이터가 연결된 메모리 카드로부터 판독되어야 하는 것으로 결정하는 경우, SP12 단계로 진행한다; 데이터가 연결된 메모리 카드로부터 판독되어야 하지 않는 것으로 결정하는 경우, SP7 단계로 진행한다. SP12 단계에서, 텔레비전 게임 기계 본체 2는 통신 모드를 핸드셰이크/연속수신 모드로 설정하고 SP7 단계로 진행한다.
SP7 단계에서, 텔레비전 게임 기계 본체 2는 연결된 주변장치 중에서 사용자에 의해 제거된 장치가 있는지 여부를 결정한다; 제거된 장치가 있는 경우, SP13 단계로 진행한다; 제거된 장치가 없는 경우, SP14 단계로 진행한다. SP13 단계에서, 텔레비전 게임 기계 본체 2는 제거된 장치의 등록을 삭제하고 SP14 단계로 진행한다. SP11 단계에서, 텔레비전 게임 기계 본체 2는 사용자에 의해 새롭게 연결된 장치가 있는지 여부를 결정한다; 새롭게 연결된 장치가 있는 경우, SP15 단계로 진행한다; 새롭게 연결된 장치가 없는 경우, SP4 단계로 되돌아가서 동작을 되풀이한다. SP15 단계에서, 텔레비전 게임 기계 본체 2는 ID번호와 연결된 장치의 통신 모드를 확인하고 SP4 단계로 진행한다.
도 6 및 도 7에 나타낸 플로우 차트를 이용해서, 게임 제어기 3A에 대한 ID번호와 통신 모드 확인 단계(SP3)에서의 특정 처리 과정을 설명한다.
먼저, 텔레비전 게임 기계 본체 2에서의 처리 과정을 설명한다. SP20 단계로부터 시작되는 SP21 단계에서, 트랜시버 선택기 22는 호스트 CPU 10으로 인터럽트 요구를 알린다. SP22 단계에서, 호스트 CPU 10은 인터럽트 처리를 시작한다. SP23 단계에서, 제어기 포트 4A는 게임 제어기 3A가 새롭게 연결된 것을 검출한다.
SP24 단계에서, 호스트 CPU 10은 버스 11을 통해서 통신과 수신 타이밍에 관한 조건들을 타이머 15에 알리고 또한 타이머 15에서 상기 타이머 조건들을 설정한다. SP25 단계에서, 호스트 CPU 10은 연결을 확인하기 위한 패킷(packet) 데이터, 즉, ID번호를 요구하는 명령(이하, ID 요구명령) 및 통신 모드를 묻는 명령(이하, 통신 모드 조회명령)을 기록 FIFO 19에 기록한다. SP26 단계에서, 호스트 CPU 10은 통신 모드를 2-바이트 핸드셰이크 모드로 지정하고 이것을 레지스터 12에 설정한다.
SP27 단계에서, 호스트 CPU 10은 제어 레지스터 13에서의 통신 개시를 지시한다. SP28 단계에서, 호스트 CPU 10은 기록 FIFO 19로부터 ID 요구명령을 판독하고 이것을 FIFO 제어기 18, 프로토콜 제어기 21, 트랜시버 선택기 22, 및 제어기 포트 4A를 통해서 게임 제어기 3A로 송신한다. SP29 단계에서, 텔레비전 게임 기계 본체 2는, ID 요구명령에 대응해서, 게임 제어기 3A로부터 되돌아온 ID 번호를 제어기 포트 4A, 트랜시버 선택기 22, DPLL 23, 프로토콜 제어기 21, 및 FIFO 제어기 18을 통해서 판독 FIFO 20로 보내고, 또한 상기 ID 번호를 판독 FIFO 20에 기록한다.
SP30 단계에서, 호스트 CPU 10은 통신 모드 조회명령을 기록 FIFO 19로부터 판독하고 이 명령을 FIFO 제어기 18, 프로토콜 제어기 21, 프로토콜 선택기 22, 및 제어기 포트 4A를 통해서 게임 제어기 3A로 송신한다. SP31 단계에서, 텔레비전 게임 기계 본체 2는 통신 모드 조회명령에 대응하여 게임 제어기 3A로부터 되돌아온 통신 모드를 제어기 4A, 트랜시버 선택기 22, DPLL 23, 프로토콜 제어기 21, 및 FIFO 제어기 18을 통해서 판독 FIFO 20으로 보내고 또한 그 통신 모드를 판독 FIFO 20에 기록한다. 상태 레지스터 14는 명령이 종료(complete)되었다는 것을 나타내는 플래그를 턴-온한다. SP32 단계에서, 호스트 CPU 10은 판독 FIFO 20으로부터 게임 제어기 3A의 ID번호에 대응하는 통신 모드를 판독한다. 다음, SP33 단계로 이동해서 처리를 종료한다.
다음, 게임 제어기 3A에서의 처리 과정을 설명한다. 우선, SP40 단계로부터 시작되는 SP41 단계에서, 게임 제어기 3A는 텔레비전 게임 기계 본체 2의 제어기 포트 4A에 연결된다. SP42 단계에서, 제어기 CPU 30은 타이머 35에서 송신과 수신 타이밍에 관한 조건들을 설정한다. SP43 단계에서, 제어기 CPU 30은 제어 레지스터 33에게 수신 준비를 하도록 지시한다. SP44 단계에서, 제어기 CPU 30 은 ID 요구명령이 수신되었는지 여부를 결정한다; 제어기 CPU 30이 ID 요구명령이 수신되었다고 결정하는 경우, SP45 단계로 진행한다; 제어기 CPU 30이 ID 요구명령이 수신되지 않았다고 결정하는 경우, 수신될 때까지 동작을 되풀이한다.
SP45 단계에서, 제어기 CPU 30은 트랜시버 42에 의해 수신된 ID 요구명령을 DPLL 43, 프로토콜 제어기 41, 및 FIFO 제어기 38를 통해서 판독 FIFO 40으로 보내고, 또한 상기 ID 요구명령을 판독 FIFO 40에 기록한다. 또한, 상태 레지스터 34는 수신 플래그를 턴-온한다. SP46 단계에서, ID 요구명령이 판독 FIFO 40로부터 FIFO 제어기 38를 통해서 판독되는 경우에, ID 레지스터 32는 ID 번호를 FIFO 제어기 38를 통해서 기록 FIFO 39로 보내고, 또한 상기 ID 번호를 기록 FIFO 39에 기록한다.
SP47 단계에서, 제어기 CPU 30은 제어 레지스터 33에서의 통신 개시를 지시한다. SP48 단계에서, 제어기 CPU 30은 기록 FIFO 39로부터 ID 번호를 판독하고 이것을 FIFO 제어기 38, 프로토콜 제어기 41, 및 트랜시버 42을 통해서 텔레비전 게임 기계 본체 2로 송신한다. SP49 단계에서, 텔레비전 게임 기계 본체 2로부터 송신된 통신 모드 조회명령이 트랜시버 42에 의해 수신되는 경우, 제어기 CPU 30은 통신 모드 조회명령을 DPLL 43, 프로토콜 제어기 41, 및 FIFO 제어기 38를 통해서 판독 FIFO 40으로 보내고, 또한 상기 통신 모드 조회명령을 판독 FIFO 40에 기록한다. 상태 레지스터 34는 수신 플래그를 턴-온한다.
SP50 단계에서, 통신 모드 조회명령이 FIFO 제어기 38를 통해서 판독 FIFO 40으로부터 판독되는 경우, 제어기 CPU 30은 ID 번호에 대응하는 통신 모드를 FIFO 제어기 38를 통해서 기록 FIFO 39로 보내고, 상기 통신 모드를 기록 FIFO 39에 기록한다. SP51 단계에서, 제어기 CPU 30은 제어 레지스터 33에서 통신 개시를 지시한다. SP52 단계에서, 제어기 CPU 30은 기록 FIFO 39로부터 ID 번호에 대응하는 통신 모드를 판독하고 그것을 FIFO 제어기 38, 프로토콜 제어기 41, 및 트랜시버 42을 통해서 텔레비전 게임 기계 본체 2로 송신한다. 다음, SP53 단계로 이동하여 처리를 종료한다.
다음은 도 8에 나타낸 플로우 차트를 이용해서 핸드셰이크 모드에 따른 양방 향 통신 방법을 자세히 설명한다. SP60 단계로부터 시작되는 SP61 단계에서, 텔레비전 게임 기계 본체 2에서의 처리 과정을 보면, 호스트 CPU 10은 송신 데이터를 메모리 16에 기록한다. SP62 단계에서, 호스트 CPU 10은 타이머 15에서 송신과 수신 타이밍에 대한 조건들을 설정한다.
SP63 단계에서, 호스트 CPU 10은 통신 모드를 핸드셰이크 모드로 선택하고, 통신 모드가 핸드셰이크 모드라는 것을 명령 레지스터 12에 기록하며, 또한 명령 레지스터 12에 송신되어야 하는 데이터의 문자의 개수를 설정한다. SP64 단계에서, 호스트 CPU 10은 직렬 통신에 대한 조건들을 명령 레지스터 13에 기록하고 통신 개시를 지시한다. SP65 단계에서, FIFO 제어기 18은 DMA 제어기 17에 대응하여 DMA 요구를 기록 FIFO 19에 한다. SP66 단계에서, DMA 제어기 17은 메모리 16으로부터 송신 데이터를 판독하고 또한 상기 송신 데이터를 FIFO 제어기 18에 전송함으로써 상기 송신 데이터를 기록 FIFO 19에 기록한다.
SP67 단계에서, 프로토콜 제어기 21은, 문자별로, 기록 FIFO 19로부터 FIFO 제어기 18을 통한 송신 데이터를 순서대로 판독하고, 타이머 15의 타이밍에 의해 순차적으로 변환하고, 결과인 직렬 신호를 트랜시버 선택기 22에 보내고, 또한 직렬 신호가 상기 트랜시버 선택기 22에 의해 차동 신호로 변환된 다음 이것을 게임 제어기 3A로 송신한다.
SP68 단계에서, 텔레비전 게임 기계 본체 2는, 송신된 차동 신호에 대응해서, 트랜시버 선택기 22에 의해 게임 제어기 3A로부터 되돌아온 차동 신호를 수신한다. 트랜시버 선택기 22는, DPLL 23에 의해 수신 타이밍을 정정하는 한편, 차동 신호를 직렬 신호로 변환하고 또한 이것을 프로토콜 제어기 21로 보낸다. 프로토콜 제어기 21은 직렬 신호를 정해진 포맷의 수신 데이터로 변환하고, 또한 상기 수신 데이터를 FIFO 제어기 18에 전송함으로써 수신 데이터는 문자별 순서대로 판독 FIFO 20에 기록된다.
SP69 단계에서, 프로토콜 제어기 21은 처리된 송신 데이터의 문자들의 개수가 명령 레지스터 12에 설정된 문자들의 개수와 일치하는지 여부를 결정한다. 처리된 문자들의 개수가 명령 레지스터 12에 설정된 문자들의 개수와 일치한다고 결정하는 경우에 SP70 단계로 진행하고, 또한 명령 레지스터 12에 설정된 문자들의 개수의 데이터가 처리되지 않았다고 결정하는 경우에 SP67 단계로 되돌아가서 동작을 되풀이한다.
SP70 단계에서, FIFO 제어기 18은 DMA, 제어기 17에 대응해서, 판독 FIFO 20으로부터의 DMA 요구를 메모리 16에 한다. SP71 단계에서, DMA 제어기 17은 FIFO 제어기 18을 통해서 판독 FIFO 20으로부터 수신 데이터를 판독하고, 이것을 메모리 16으로 전송하며, 또한 상기 메모리 16에 기록한다. 또한, 수신 데이터의 전송이 종료되었다는 것을 나타내는 플래그는 상태 레지스터 14에 설정되기 때문에, 호스트 CPU 10은 상태 레지스터 14로부터 플래그를 판독하는 경우에, 호스트 CPU 10은 메모리 16에 기록된 수신 데이터에 대한 정해진 데이터 처리를 개시한다. 다음, SP72 단계로 이동해서 처리를 종료한다.
다음, 게임 제어기 3A에서의 처리 과정을 설명한다. 우선, SP80 단계로부터 시작되는 SP81 단계에서, 트랜시버 42은 데이터의 첫번째 문자가 수신되었는지 여부를 결정한다; 데이터의 첫번째 문자가 수신되었다고 결정하는 경우, SP82 단계로 진행하고, 또한 수신되지 않은 경우, 수신될 때까지 대기한다. SP82 단계에서, 트랜시버 42은 수신 데이터를 순서대로 변환하고 또한 그것을 DPLL 43으로 보낸다. DPLL 43은 수신 데이터의 수신 타이밍을 정정하고 또한 그것을 프로토콜 제어기 41에 보낸다.
SP83 단계에서, 프로토콜 제어기 41은 수신 데이터가 ID 레지스터 32에 기록된 범주와 일치하는지 여부를 확인하고, 게임 제어기 3A의 ID 번호를 판독하고, 타이머 35의 타이밍에 의해 그것을 순서대로 변환하고, 또한 그것을 트랜시버 42으로 보낸다. 트랜시버 42은 이 직렬 신호를 차동 신호로 변환하고 또한 이것을 텔레비전 게임 기계 본체 2로 송신한다. SP84 단계에서, 트랜시버 42은 데이터의 두번째 문자가 수신되었는지 여부를 결정한다; 데이터의 두번째 문자가 수신되었다고 결정하는 경우, SP85 단계로 진행한다, 또한 아직 수신되지 않았다고 결정하는 경우, 수신될 때까지 대기한다.
SP85 단계에서, 게임 제어기 3A 는 수신 데이터를 트랜시버 42, DPLL 43, 프로토콜 제어기 41, 및 FIFO 제어기 38를 연속으로 통하여 판독 FIFO 40으로 보내고, 수신 데이터를 판독 FIFO 40에 기록한다. 이 때, 프로토콜 제어기 41은 상태 레지스터 34에 한 문자의 데이터가 수신되었다는 것을 나타내는 플래그를 설정한다. SP86 단계에서, 제어기 CPU 30이 상태 레지스터 34의 플래그가 변경되었다는 것을 검출하는 경우에, 제어기 CPU 30은 FIFO 제어기 38를 통해서 판독 FIFO 40으로부터 한 문자의 수신 데이터를 판독한다. 또한 제어기 CPU 30은 이 수신 데이터에 대한 응답 데이터를 생성하고, 이 응답 데이터를 FIFO 제어기 38를 통해서 기록 FIFO 39에 보내며, 또한 그것을 상기 기록 FIFO 39에 기록한다.
SP87 단계에서, 제어기 CPU 30은 제어 레지스터 33에서 송신 개시를 지시한다. SP88 단계에서, 프로토콜 제어기 41은 FIFO 제어기 38를 통해서 기록 FIFO 39로부터 응답 데이터를 판독하고 또한 그것을 트랜시버 42을 통해서 텔레비전 게임 기계 본체 2에 송신한다. SP89 단계에서, 수신된 데이터의 문자들의 개수가 명령 레지스터 12에서 설정된 문자들의 개수와 일치하는지 여부, 즉 명령 레지스터 12에서 설정된 문자들의 개수의 데이터가 처리되고 통신이 종료되었는지 여부가 결정된다. 수신된 데이터의 문자들의 개수가 명령 레지스터 12에서 설정된 문자들의 개수와 일치한다고 결정되는 경우, SP90 단계로 진행하고 처리가 종료된다. 또한 일치하지 않는 것으로 결정되는 경우, SP85 단계로 이동하고 동작을 되풀이한다.
도 9의 플로우 차트는 연속송신/연속수신 모드(SP10)에 따른 통신 단계에서의 특정 처리 과정을 나타낸다. 우선, 텔레비전 게임 기계 본체 2에서 처리 과정을 설명한다. SP100 단계로부터 시작되는 SP101 단계에서, 호스트 CPU 10은 송신 데이터를 메모리 16에 기록한다. SP102 단계에서, 호스트 CPU 10은 타이머 15에서의 송신과 수신 타이밍에 대한 조건들을 설정한다.
SP103 단계에서, 호스트 CPU 10은 통신 모드를 연속송신/연속수신 모드로 선택하고 또한 통신 모드가 연속송신/연속수신 모드인 것을 명령 레지스터 12에 기록한다. 이와 함께, 호스트 CPU 10은 명령 레지스터 12에, 예를 들어, 4 문자의 데이터가 송신된 다음에 8 문자의 데이터가 수신될 것이라는 통신 조건을 설정한다.
SP104 단계에서, 호스트 CPU 10은 직렬 통신에 대한 조건들을 명령 레지스터 13에 기록하고 또한 통신 개시를 지시한다.
SP105 단계에서, FIFO 제어기 18은 DMA 제어기 17에 대응하여 기록 FIFO 19에 DMA 요구를 한다. SP106 단계에서, DMA 제어기 17은 4자의 송신 데이터를 메모리 16으로부터 판독하고, 또한 상기 송신 데이터를 한 개의 패킷의 송신 데이터로서 처리하고 그것을 순서대로 FIFO 제어기 18에 전송함으로써, DMA 제어기 17은 상기 송신 데이터를 기록 FIFO 19에 기록한다. SP107 단계에서, 프로토콜 제어기 21은, 문자별로, 송신 데이터를 FIFO 제어기 18을 통해서 기록 FIFO 19로부터 판독하고, 또한 이 판독된(read-out) 송신 데이터를 트랜시버 선택기 22를 통해서 순서대로 게임 제어기 3A에 송신한다.
SP108 단계에서, 프로토콜 제어기 21은 4문자의 송신 데이터가 송신되고 송신 처리가 종료되었는지 여부를 결정한다; 송신 처리가 종료된 것으로 결정하는 경우, SP109 단계로 진행하고, 또한 송신이 종료되지 않았다고 결정하는 경우, SP107 단계로 되돌아가서 동작을 되풀이한다. SP109 단계에서, 텔레비전 게임 기계 본체 2는 트랜시버 선택기 22에 의해 게임 제어기 3A로부터 되돌아온 데이터를 수신하고, 또한 텔레비전 게임 기계 본체 2는 이 수신 데이터를 DPLL 23, 프로토콜 제어기 21, 및 FIFO 제어기 18을 통해서 판독 FIFO 20에 보냄으로써 수신 데이터를 판독 FIFO 20에, 문자별로, 순서대로 기록한다.
SP110 단계에서, 프로토콜 제어기 21은 8문자의 수신 데이터가 수신되었는지 및 수신 처리가 종료되었는지 여부를 결정한다; 수신 처리가 종료된 것으로 결정하 는 경우, SP111 단계로 진행하고, 또한 수신이 종료되지 않은 것으로 결정하는 경우, SP109 단계로 되돌아가서 동작을 되풀이한다. SP111 단계에서, FIFO 제어기 18은, DMA 제어기 17에 대응하여, 판독 FIFO 20 으로부터의 DMA 요구를 메모리 16에 한다.
SP112 단계에서, DMA 제어기 17은, 수신 데이터의 한 개의 패킷으로서, 판독 FIFO 20으로부터 8문자의 수신 데이터를 FIFO 제어기 18을 통해서 판독하고, 이것을 메모리 16으로 전송하며, 또한 그것을 상기 메모리 16에 기록한다. 또한, 수신 데이터의 전송이 종료되었다는 것을 나타내는 플래그가 상태 레지스터 14에 설정되었기 때문에, 호스트 CPU 10은, 상기 플래그를 상태 레지스터 14로부터 판독하는 경우, 정해진 데이터 처리를 메모리 16에 기록된 수신 데이터에 대응하여 개시한다. 다음, SP113 단계로 이동하여 처리를 종료한다.
다음, 게임 제어기 3A 에서 처리 과정을 설명한다. 우선, SP120 단계로부터 시작되는 SP121 단계에서, 트랜시버 42은, 문자별로, 텔레비전 게임 기계 본체 2로부터 송신된 데이터를 수신하고 또한 이 수신 데이터를 순서대로 DPLL 43을 통해서 프로토콜 제어기 41로 보낸다. SP122 단계에서, 프로토콜 제어기 41은 수신 데이터가 첫번째 문자인지 여부를 결정한다; 프로토콜 제어기 21이 수신 데이터가 첫번째 문자라고 결정하는 경우, SP123 단계로 진행하고, 또한 첫번째 문자가 아닌 경우, SP124 단계로 진행한다.
SP123 단계에서, 프로토콜 제어기 41은 수신 데이터가 ID 레지스터 34에 기록된 범주와 일치하는지 여부를 확인한다. SP124 단계에서, 프로토콜 제어기 41은 수신 데이터를 FIFO 제어기 38를 통해서 판독 FIFO 40에 보내고 또한 상기 수신 데이터를 판독 FIFO 40에 기록한다. 이 때, 프로토콜 제어기 41은 상태 레지스터 34에 데이터의 한 문자가 수신되었다는 것을 나타내는 플래그를 설정한다.
SP125 단계에서, 프로토콜 제어기 41은 4문자의 수신 데이터가 처리되고 수신 처리가 종료되었는지 여부를 결정한다; 프로토콜 제어기 41이 4문자의 수신 데가 처리되고 수신 처리가 종료된 것으로 결정하는 경우, SP126 단계로 진행하고, 또한 수신이 종료되지 않았다고 결정하는 경우, SP121 단계로 되돌아가서 동작을 되풀이한다.
SP126 단계에서, 제어기 CPU 30이 상태 레지스터 34의 플래그가 변경된 것을 검출하는 경우에, 제어기 CPU 30은 FIFO 제어기 38를 통해서 판독 FIFO 40으로부터 4문자의 수신 데이터를 판독한다. 또한, 제어기 CPU 30은 이 수신 데이터에 대한 응답 데이터를 생성하고, 이 응답 데이터를 FIFO 제어기 38를 통해서 기록 FIFO 39에 보내며, 또한 그것을 상기 기록 FIFO 39에 기록한다.
SP127 단계에서, 제어기 CPU 30은 제어 레지스터 33에서 송신 개시를 지시한다. SP128 단계에서, 프로토콜 제어기 41은 기록 FIFO 39로부터 응답 데이터를 FIFO 제어기 38를 통해서 판독하고 또한 그것을 트랜시버 42을 통해서 텔레비전 게임 기계 본체 2에 송신한다.
SP129 단계에서, 프로토콜 제어기 41은 송신된 데이터의 문자들의 개수가 명령 레지스터 12에서 설정된 문자들의 개수와 일치하는지 여부, 즉 8문자의 데이터가 송신되었는지 여부와 송신 처리가 종료되었는지 여부를 결정한다. 송신이 종료되었다고 결정하는 경우, SP130 단계로 진행하고, 또한 종료되지 않은 것으로 결정하는 경우, SP128 단계로 되돌아가서 동작을 되풀이한다. SP130 단계에서, 제어기 CPU 30은 판독 FIFO 40로부터 수신 데이터를 FIFO 제어기 38을 통해서 판독하고 정해진 데이터 처리를 실시한다. 다음, SP131 단계로 이동하고 처리를 종료한다.
다음, 핸드셰이크/연속수신 모드(SP12)에 의한 통신 단계에서의 특정 처리 과정을 나타내는 도 10 및 11의 플로우 차트를 참조하여 핸드셰이크/연속수신 모드에 따른 양방향 통신 방법에 대하여 설명한다. 텔레비전 게임 기계 본체 2에서의 처리 과정 중에, SP140 단계로부터 시작되는 SP141 단계에서, 호스트 CPU 10은 송신 데이터를 메모리 16에 기록한다. SP142 단계에서, 호스트 CPU 10은 타이머 15에서의 송신과 수신 타이밍에 대한 조건들을 설정한다.
SP143 단계에서, 호스트 CPU 10은 통신 모드를 핸드셰이크/연속수신 모드로 선택하고 또한 통신 모드가 핸드셰이크/연속수신 모드인 것을 명령 레지스터 12에 기록한다. 비슷하게, 호스트 CPU 10은 명령 레지스터 12에 3 문자의 데이터가 송신된 다음에 7 문자의 데이터가 한 개의 행으로 수신된다는 식의 통신 조건을 설정한다.
SP144 단계에서, 호스트 CPU 10은 직렬 통신에 대한 조건들을 제어 레지스터 13에 기록하고 또한 통신 개시를 지시한다. SP145 단계에서, FIFO 제어기 18은 DMA 제어기 17에 대응하여 기록 FIFO 19에 DMA 요구를 한다. SP146 단계에서, DMA 제어기 17은 송신 데이터를 메모리 16으로부터 판독하고, 또한 상기 송신 데이터를 FIFO 제어기 18에 전송함으로써 상기 송신 데이터를 기록 FIFO 19에 기록한다.
SP147 단계에서, 프로토콜 제어기 21은, 문자별로, 송신 데이터를 FIFO 제어기 18을 통해서 기록 FIFO 19로부터 판독하고 또한 상기 송신 데이터를 트랜시버 선택기 22를 통해서 순서대로 게임 제어기 3A에 송신한다. SP148 단계에서, 텔레비전 게임 기계 본체 2는 게임 제어기 3A로부터 되돌아온 데이터를 트랜시버 선택기 22에서 수신하고 또한 DPLL 23, 프로토콜 제어기 21, 및 FIFO 제어기 18을 통해서 판독 FIFO 20 에 순서대로 보냄으로써 수신 데이터를 판독 FIFO 20에 문자별로 순서대로 기록한다.
SP149 단계에서, 프로토콜 제어기 21은, 명령 레지스터 12에 설정된 통신 조건들에 근거해서, 3문자의 데이터를 게임 제어기 3A에 송신하고 3문자의 데이터를 게임 제어기 3A로부터 수신함으로써 핸드셰이크 모드를 종료할지 여부를 결정한다. 만일, 결과적으로, 3문자의 데이터가 전송되고 또한 수신되어 핸드셰이크 모드가 종료되는 경우에는, SP150 단계로 진행하고 연속수신 모드로 변경되며, 또한 3문자의 데이터가 송신되지 않고 수신되지도 않은 경우에는, SP147 단계로 되돌아가서 동작을 되풀이한다.
SP150 단계에서, 텔레비전 게임 기계 본체 2는 트랜시버 선택기 22에 의해 문자별로 수신된 수신 데이터를 DPLL 23, 프로토콜 제어기 21, 및 FIFO 제어기 18을 통해서 판독 FIFO 20에 전송하고, 또한 상기 수신 데이터를 판독 FIFO 20에 기록한다. SP151 단계에서, 프로토콜 제어기 21은, 명령 레지스터 12에 설정된 통신 조건들에 근거해서, 7문자의 데이터가 수신되었는지 여부를 결정한다. 결과적으로, 만일 프로토콜 제어기 21이 7문자의 데이터를 수신하고 수신 처리를 종료하기로 결 정하는 경우, SP152 단계로 진행하고, 또한 7문자의 데이터가 아직 수신되지 않은 것으로 결정하는 경우, SP150 단계로 되돌아가서 동작을 되풀이한다.
SP152 단계에서, FIFO 제어기 18은, DMA 제어기 17에 대응하여, 판독 FIFO 20으로부터 DMA 요구를 메모리 16에 한다. SP154 단계에서, DMA 제어기 17은 수신 데이터를 판독 FIFO 20로부터 FIFO 제어기 18을 통해서 판독하고, 이것을 메모리 16으로 전송하며, 또한 그것을 상기 메모리 16에 기록한다. 수신 데이터의 전송이 완료되었음을 나타내는 플래그는 상태 레지스터 14에 설정되기 때문에, 호스트 CPU 10이 상기 플래그를 상태 레지스터 14로부터 판독하는 경우에, 호스트 CPU 10은 메모리 16에 기록된 수신 데이터에 대한 정해진 데이터 처리를 개시한다. 다음, SP154 단계로 이동해서 처리를 종료한다.
다음, 게임 제어기 3A에서 처리 과정 중에, SP160 단계로부터 시작되는 SP161 단계에서, 트랜시버 42은 문자의 첫번째 문자가 수신되었는지 여부를 결정한다; 데이터의 첫번째 문자가 수신되었다고 결정하는 경우, SP162 단계로 진행하고, 또한 수신되지 않은 경우, 수신될 때까지 대기한다. SP162 단계에서, 트랜시버 42은 수신 데이터를 DPLL 43을 통해서 프로토콜 제어기 41로 보낸다.
SP163 단계에서, 프로토콜 제어기 41은 수신 데이터가 ID 레지스터 32에 기록된 범주와 일치하는지 여부를 확인하고, 게임 제어기 3A의 ID 번호를 판독하고, 또한 그것을 트랜시버 42을 통해서 텔레비전 게임 기계 본체 2로 보낸다. SP164 단계에서, 트랜시버 42은 데이터의 두번째 문자가 수신되었는지 여부를 결정한다; 데이터의 두번째 문자가 수신되었다고 결정하는 경우, SP165 단계로 진행하고, 또한 아직 수신되지 않았다고 결정하는 경우, 수신될 때까지 대기한다.
SP165 단계에서, 게임 제어기 3A는 수신 데이터를 트랜시버 42, DPLL 43, 프로토콜 제어기 41, 및 FIFO 제어기 38를 연속으로 통하여 판독 FIFO 40으로 보내고, 또한 수신 데이터를 판독 FIFO 40에 기록한다. 이 때, 프로토콜 제어기 41은 상태 레지스터 34에 한 문자의 데이터가 수신되었다는 것을 나타내는 플래그를 설정한다. SP166 단계에서, 제어기 CPU 30이 상태 레지스터 34의 플래그가 변경되었다는 것을 검출하는 경우에, 제어기 CPU 30은 FIFO 제어기 38를 통해서 판독 FIFO 40으로부터 한 문자의 수신 데이터를 판독한다. 또한 제어기 CPU 30은 이 수신 데이터에 대한 응답 데이터를 생성하고, 이 응답 데이터를 FIFO 제어기 38를 통해서 기록 FIFO 39에 보내며, 또한 그것을 상기 기록 FIFO 39에 기록한다.
SP167 단계에서, 제어기 CPU 30은 제어 레지스터 33에서 송신 개시를 지시한다. SP168 단계에서, 프로토콜 제어기 41은 FIFO 제어기 38를 통해서 기록 FIFO 39로부터 응답 데이터를 판독하고 또한 그것을 트랜시버 42을 통해서 텔레비전 게임 기계 본체 2에 송신한다. SP169 단계에서, 제어 레지스터 33에 설정된 통신 조건들에 근거하여, 3문자의 데이터가 수신되었는지 또한 3문자의 데이터 송신되었는지 여부를 결정한다. 결과적으로, 만일 3문자가 수신되고 송신되며 또한 핸드셰이크 모드가 종료된 것으로 결정하는 경우, SP170 단계로 이동하고 처리를 종료하며, 또한 3문자의 데이터가 수신되지 않고 송신되지 않은 것으로 결정하는 경우, SP165 단계로 이동하고 동작을 되풀이한다.
SP170 단계에서, 제어기 CPU 30은 수신 데이터에 대한 응답 데이터를 생성하고, 이 응답 데이터를 FIFO 제어기 38를 통해서 기록 FIFO 39에 보내며, 또한 그것을 상기 기록 FIFO 39에 기록한다. SP171 단계에서, 제어기 CPU 30은 제어 레지스터 33에서 송신 개시를 지시한다. SP172 단계에서, 프로토콜 제어기 41은 기록 FIFO 39로부터 FIFO 제어기 38를 통해서 응답 데이터를 판독하고 또한 그것을 트랜시버 42을 통해서 텔레비전 게임 기계 본체 2에 송신한다.
SP173 단계에서, 프로토콜 제어기 41은 송신된 데이터의 문자들의 개수가 명령 레지스터 12에 설정된 문자들의 개수와 일치하는지 여부, 즉, 7문자의 데이터가 송신되었고 송신 처리가 종료되었는지 여부를 결정한다. 결과적으로, 송신이 종료된 것으로 결정하는 경우, SP174 단계로 진행하고, 또한 종료되지 않은 것으로 결정하는 경우, SP172 단계로 되돌아가서 동작을 되풀이한다. SP174 단계에서, 제어기 CPU 30은 판독 FIFO 40으로부터 수신 시스템를 FIFO 제어기 38를 통해서 판독하고 또한 정해진 데이터 처리를 실시한다. 다음, 제어기 CPU 30은 SP175 단계로 이동하여 처리를 종료한다.
위에서 설명한 바와 같이, 텔레비전 게임 시스템 1은 반이중 직렬 통신 시스템을 텔레비전 게임 기계 본체 2와 주변장치 사이의 통신 시스템으로서 채택하고 또한 순서대로 송신과 수신을 각각 별도의 타이밍으로 송신한다. 텔레비전 게임 시스템 1에서, 특별한 제어기가 텔레비전 게임 기계 본체 2에 연결되어 있는 경우, 데이터가 한번에 한 개의 문자씩 송신과 수신이 되고 데이터의 내용이 상호 확인되는핸드셰이크 모드가 선택된다. 그러한 특별한 제어기가 연결되더라도, 핸드셰이크 모드를 선택함으로써 신뢰성 높은 통신이 실현될 수 있다.
텔레비전 게임 시스템 1에서 표준 제어기가 텔레비전 게임 기계 본체 2에 연결되고, 두 개 이상의 문자의 데이터가 연속적으로 송신되거나 수신되는 연속전송 모드가 선택된다. 그러한 표준 제어기가 연결되는 경우, 연속전송 모드를 선택함으로써, 전송율이 증가되고, 또한 전송 방향이 필요에 따라 전환되는 경우, 오버헤드가 감소될 수 있고 통신 시간이 짧아질 수 있다.
더욱이, 텔레비전 게임 시스템 1에서, 메모리 카드와 같은 데이터 저장 수단은 텔레비전 게임 기계 본체 2에 연결되는 경우에, 핸드셰이크 모드와 연속전송 모드를 결합하는 핸드셰이크/연속전송 모드가 선택된다. 데이터 저장 수단이 이렇게 연결되는 경우에, 핸드셰이크/연속전송 모드가 선택되면, 통신이 모두 핸드셰이크 모드에서 실시되는 경우와 같이, 불필요한 의사(dummy) 데이터를 전송하기 위해 필요하지 않은 부분 및 중복 데이터는 감소될 수 있고, 또한 효율적인 통신이 실시될 수 있다. 이렇게 하면서, 제어기가 연결되는 경우와 같은 식으로 신호 선을 통해서 텔레비전 게임 기계 본체 2에 연결되어 있더라도 중복 데이터는 통신 모드를 전환시킴으로써 감소된다.
텔레비전 게임 시스템 1은 전송 또는 수신되어야 할 데이터의 내용을 텔레비전 게임 기계 본체 2로부터 송신된 명령에 의해 결정하고, 또한 상기 명령이 철회될 때까지 통신되어야 할 데이터는 한 개의 패킷으로 받아들여진다. 따라서, 텔레비전 게임 시스템 1은 핸드셰이크 모드와 연속전송 모드 사이에서 전환되는 모드를 실시할 수 있고, 또한 패킷 단위들(units)에서의 연속전송 모드의 전송방향을 전환할 수 있다.
텔레비전 게임 기계 본체 2는 데이터가 송신되는 간격을 조정할 수 있으므로, 통신 시간은 짧아질 수 있다. 최대 수신가능 대기시간을 조정함으로써, 주변장치가 제거되었음을 검출할 수 있고, 또한 정해진 데이터 전송 주파수를 보장할 수 없는 주변장치들도 검출될 수 있다.
위에서 설명한 구성으로, 텔레비전 게임 기계 본체 2에 연결된 주변장치들에 따라 핸드셰이크 모드와 연속전송 모드를 결합하는 원하는 프로토콜을 설정함으로써, 텔레비전 게임 기계 본체 2와 주변장치들 사이의 통신 볼륨은 데이터의 송신과 수신이 핸드셰이크 모드에서 실시되는 경우보다 큰 폭으로 최소화될 수 있고, 따라서 통신 신뢰성을 유지하면서도 통신 시간은 이전보다 매우 짧아질 수 있다.
위에서 설명한 실시예들에서, 모드 전환에 핸드셰이크 모드와 연속전송 모드 사이에서 실시되는 경우와 관련된 설명을 했고, 또한 연속전송 모드의 전송 방향은 패킷 단위에서 전환되나, 본 발명은 이것으로 제한되지 않는다; 핸드셰이크 모드와 연속전송 모드 사이에서 전환되는 모드를 실시할 수 있고 한 개의 패킷 안에서 연속전송 모드의 전송 방향을 전환할 수 있으면 충분하다.
또한, 위에서 설명한 실시예들에서, 데이터가 메모리 카드로부터 판독되는 경우에 통신 모드 전환이 핸드셰이크/연속수신 모드로 설정되는 경우와 관련된 설명을 했다. 그러나, 본 발명은 그러한 경우로 제한되지 않는다. 데이터가 한 개의 메모리 카드에 저장되는 경우, 통신 모드를 핸드셰이크/연속송신 모드로 설정하는 것으로도 충분하다.
위에서 설명한 바와 같이, 본 발명으로써, 한 번에 한 개 문자의 데이터가 송신되고 수신되는 통신 프로토콜 및 두 개 이상의 문자가 연속으로 송신되거나 수신되는 통신 프로토콜을 결합함으로써, 또한 통신 프로토콜을 연결된 게임 기계 동작장치에 대응하는 통신 프로토콜으로 전환함으로써, 게임 장치와 게임 기계 동작장치들 사이의 통신 볼륨은 데이터의 송신과 수신이 한번에 한 문자만 실시되는 이전의 경우에 비해서 큰 폭으로 최소화될 수 있고, 따라서 통신 시간은 이전보다 매우 짧아질 수 있으며, 통신의 신뢰성을 유지하면서도 데이터는 빠르게 송신되고 수신될 수 있다.
본 발명에 따르면, 종래에 문제되는 타입의 장치보다 빠른 속도로 데이터를 송신하고 수신할 수 있는 게임 장치, 게임 기계 동작장치, 및 게임 장치 양방향 통신 방법을 제공함으로써, 게임 장치 산업뿐만 아니라 그 외 관련되는 산업분야에도 폭넓게 이용될 수 있다.

Claims (19)

  1. 직렬 포트를 통해서 연결된 게임 기계 동작장치들과의 통신 시스템으로서 반이중 직렬 통신 시스템을 이용하는 게임 장치에 있어서,
    상기 게임 기계 동작장치들로부터 공급되는 상기 게임 기계 동작장치들의 식별자들에 근거해서, 각각의 단일 문자에 대한 데이터를 송신하고 수신하는 통신 프로토콜과 한 개의 행에 있는 두 개 이상의 문자들에 대한 데이터를 송신하거나 수신하는 통신 프로토콜을 결합하는 수단; 및 상기 통신 프로토콜을 연결된 게임 기계 동작장치에 대응하는 통신 프로토콜로 전환시키는 수단을 포함하는 것을 특징으로 하는 게임 장치.
  2. 제 1 항에 있어서, 상기 전환 수단은 패킷 단위(packet units)로 상기 통신 프로토콜들을 전환시키는 것을 특징으로 하는 게임 장치.
  3. 제 1 항에 있어서, 상기 전환 수단은 상기 통신 프로토콜을 한 개의 패킷 안에서 전환시키는 것을 특징으로 하는 게임 장치.
  4. 제 1 항에 있어서, 상기 게임 기계 동작장치들로부터 송신된 데이터를 수신하는 대기시간을 조정하기 위한 수단을 더 포함하는 것을 특징으로 하는 게임 장치.
  5. 제 1 항에 있어서, 상기 게임 기계 동작장치들로 송신되어야 하는 데이터의 시간 간격을 조정하기 위한 수단을 더 포함하는 것을 특징으로 하는 게임 장치.
  6. 직렬 포트를 통해서 연결된 게임 장치와의 통신 시스템으로서 반이중 직렬 통신 시스템을 이용하는 게임 기계 동작장치에 있어서,
    상기 게임 기계 동작장치에 특유한 식별자를 갖고, 또한
    상기 게임 장치가 각각의 단일 문자에 대한 데이터를 송신하고 수신하는 통신 프로토콜과 한 개의 행에 있는 두 개 이상의 문자들에 대한 데이터를 송신하거나 수신하는 통신 프로토콜을 결합하도록 하고, 상기 통신 프로토콜을 상기 게임 기계 동작장치에 대응하는 통신 프로토콜로 전환시키도록 하기 위하여, 상기 게임 기계 동작장치는 상기 게임 장치에 연결될 경우에 상기 식별자를 상기 게임 장치에 제공하기 위한 수단을 포함하는 것을 특징으로 하는 게임 기계 동작장치.
  7. 제 6 항에 있어서, 상기 게임 장치는 패킷 단위로 상기 통신 프로토콜을 전환시키도록 하는 수단을 포함하는 것을 특징으로 하는 게임 기계 동작장치.
  8. 제 6 항에 있어서, 상기 게임 장치가 한 개의 패킷 안에서 상기 프로토콜을 전환시키도록 하는 수단을 포함하는 것을 특징으로 하는 게임 기계 동작장치.
  9. 게임 장치와 게임 기계 동작장치들이 직렬 포트를 통해서 연결되고 또한 상기 게임 장치와 게임 기계 동작장치들 사이의 통신 시스템으로서 반이중 직렬 통신 시스템을 이용하는 게임 시스템에 있어서,
    상기 게임 기계 동작장치들로부터 공급되는 상기 게임 기계 동작장치들의 식별자들에 근거해서, 각각의 단일 문자에 대한 데이터를 송신하고 수신하는 통신 프로토콜과 한 개의 행에 있는 두 개 이상의 문자들에 대한 데이터를 송신하거나 수신하는 통신 프로토콜을 결합하기 위한 수단, 및 상기 통신 프로토콜을 상기 게임 기계 동작장치에 대응하는 통신 프로토콜로 전환하기 위한 수단을 포함하며, 또한
    상기 게임 기계 동작장치들 각각은 상기 게임 기계 동작장치에 특유한 식별자를 갖고, 또한 상기 게임 기계 동작장치들 각각은 상기 게임 기계 동작장치가 상기 게임 장치에 연결되는 경우에 상기 식별자를 상기 게임 장치에 제공하기 위한 수단을 포함하는 것을 특징으로 하는 게임 시스템.
  10. 제 9 항에 있어서, 상기 게임 장치의 전환 수단은 패킷 단위로 상기 통신 프로토콜을 전환하는 것을 특징으로 하는 게임 시스템.
  11. 제 9 항에 있어서, 상기 게임 장치의 상기 전환 수단은 한 개의 패킷 안에서 상기 통신 프로토콜을 전환하는 것을 특징으로 하는 게임 시스템.
  12. 제 9 항에 있어서, 상기 게임 장치는 상기 게임 기계 동작장치들로부터 송신 되는 데이터를 수신하는 대기시간을 조정하기 위한 수단을 더 포함하는 것을 특징으로 하는 게임 시스템.
  13. 제 9 항에 있어서, 상기 게임 장치는 상기 게임 기계 동작장치들로 송신되어야 하는 데이터의 시간 간격을 조정하기 위한 수단을 포함하는 것을 특징으로 하는 게임 시스템.
  14. 직렬 포트를 통해서 연결된 게임 기계 동작장치와의 통신 시스템으로서 반이중 직렬 통신 시스템을 이용하는 게임 장치 양방향 통신방법에 있어서,
    상기 게임 기계 동작장치들로부터 공급되는 상기 게임 기계 동작장치들의 식별자들에 근거하여, 각각의 단일 문자에 대한 데이터를 송신하고 수신하는 통신 프로토콜과 한 개의 행에 있는 두 개 이상의 문자들에 대한 데이터를 송신하거나 수신하는 통신 프로토콜을 결합하는 단계, 및 상기 통신 프로토콜을 상기 게임 기계 동작장치와 대응하는 통신 프로토콜로 전환하는 단계를 포함하는 것을 특징으로 하는 게임 장치 양방향 통신 방법.
  15. 제 14 항에 있어서, 상기 전환 단계는 패킷 단위로 상기 통신 프로토콜을 전환하는 것을 특징으로 하는 게임 장치 양방향 통신방법.
  16. 제 14 항에 있어서, 상기 전환 단계는 한 개의 패킷 안에서 상기 통신 프로 토콜을 전환하는 것을 특징으로 하는 게임 장치 양방향 통신방법.
  17. 제 14 항에 있어서, 상기 게임 기계 동작장치들로부터 송신된 데이터를 수신하는 대기시간을 조정하는 단계를 더 포함하는 것을 특징으로 하는 게임 장치 양방향 통신방법.
  18. 제 14 항에 있어서, 상기 게임 기계 동작장치들로 송신되어야 하는 데이터의 시간 간격을 조정하는 단계를 더 포함하는 것을 특징으로 하는 게임 장치 양방향 통신방법.
  19. 제 9 항에 있어서, 상기 게임 장치는 텔레비전 기계 본체이고 상기 게임 기계 동작장치들은 명령들을 상기 텔레비전 게임 기계 본체에 입력하는 게임 제어기들인 텔레비전 게임 시스템인 것을 특징으로 하는 게임 시스템.
KR1019997012467A 1998-05-12 1999-05-11 반이중 직렬 통신을 이용하는 게임 시스템 KR100555230B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP12926498 1998-05-12
JP10-129264 1998-05-12
PCT/JP1999/002429 WO1999059289A2 (en) 1998-05-12 1999-05-11 Game system which employs a half-duplex serial communication

Publications (2)

Publication Number Publication Date
KR20010020565A KR20010020565A (ko) 2001-03-15
KR100555230B1 true KR100555230B1 (ko) 2006-03-03

Family

ID=29666707

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019997012467A KR100555230B1 (ko) 1998-05-12 1999-05-11 반이중 직렬 통신을 이용하는 게임 시스템

Country Status (7)

Country Link
US (1) US6659860B1 (ko)
KR (1) KR100555230B1 (ko)
AR (1) AR015295A1 (ko)
CA (1) CA2295665A1 (ko)
CO (1) CO4890861A1 (ko)
DE (1) DE69930920D1 (ko)
RU (1) RU2000102916A (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7305697B2 (en) 2001-02-02 2007-12-04 Opentv, Inc. Service gateway for interactive television
US7017175B2 (en) * 2001-02-02 2006-03-21 Opentv, Inc. Digital television application protocol for interactive television
EP1356680B1 (en) 2001-02-02 2013-05-22 Opentv, Inc. A method and apparatus for reformatting of content for display on interactive television
DE60335376D1 (de) * 2002-07-24 2011-01-27 Koninkl Philips Electronics Nv Spielverfahren zwischen zwei mannschaften mittels einzelkomponenten
JP3907609B2 (ja) * 2003-04-30 2007-04-18 株式会社ソニー・コンピュータエンタテインメント ゲーム実行方法、ゲーム機、通信方法および通信装置
US8376855B2 (en) 2004-06-28 2013-02-19 Winview, Inc. Methods and apparatus for distributed gaming over a mobile device
US8870639B2 (en) 2004-06-28 2014-10-28 Winview, Inc. Methods and apparatus for distributed gaming over a mobile device
US10226698B1 (en) 2004-07-14 2019-03-12 Winview, Inc. Game of skill played by remote participants utilizing wireless devices in connection with a common game event
KR100810399B1 (ko) * 2004-09-17 2008-03-07 가부시키가이샤 소니 컴퓨터 엔터테인먼트 중계기, 엔터테인먼트장치, 통신시스템, 통신방법, 및프로그램
WO2007002284A2 (en) 2005-06-20 2007-01-04 Airplay Network, Inc. Method of and system for managing client resources and assets for activities on computing devices
US10721543B2 (en) 2005-06-20 2020-07-21 Winview, Inc. Method of and system for managing client resources and assets for activities on computing devices
US8705195B2 (en) 2006-04-12 2014-04-22 Winview, Inc. Synchronized gaming and programming
US8149530B1 (en) 2006-04-12 2012-04-03 Winview, Inc. Methodology for equalizing systemic latencies in television reception in connection with games of skill played in connection with live television programming
US9511287B2 (en) 2005-10-03 2016-12-06 Winview, Inc. Cellular phone games based upon television archives
US9919210B2 (en) 2005-10-03 2018-03-20 Winview, Inc. Synchronized gaming and programming
US8002618B1 (en) 2006-01-10 2011-08-23 Winview, Inc. Method of and system for conducting multiple contests of skill with a single performance
US10556183B2 (en) 2006-01-10 2020-02-11 Winview, Inc. Method of and system for conducting multiple contest of skill with a single performance
US9056251B2 (en) 2006-01-10 2015-06-16 Winview, Inc. Method of and system for conducting multiple contests of skill with a single performance
US11082746B2 (en) 2006-04-12 2021-08-03 Winview, Inc. Synchronized gaming and programming
US20080320041A1 (en) * 2007-06-21 2008-12-25 Motorola, Inc. Adding virtual features via real world accessories
US8813112B1 (en) 2007-10-23 2014-08-19 Winview, Inc. Method of and apparatus for utilizing SMS while running an application on a mobile device controlling a viewer's participation with a broadcast
US9716918B1 (en) 2008-11-10 2017-07-25 Winview, Inc. Interactive advertising system
US8713300B2 (en) 2011-01-21 2014-04-29 Symantec Corporation System and method for netbackup data decryption in a high latency low bandwidth environment
US8495178B1 (en) 2011-04-01 2013-07-23 Symantec Corporation Dynamic bandwidth discovery and allocation to improve performance for backing up data
CN103632453A (zh) * 2012-08-27 2014-03-12 广州市德信四海电子科技有限公司 游乐设施电子结算系统
WO2014168989A1 (en) * 2013-04-09 2014-10-16 Winview, Inc. Conducting multiple contests of skill
US10044835B1 (en) 2013-12-11 2018-08-07 Symantec Corporation Reducing redundant transmissions by polling clients
US9992118B2 (en) 2014-10-27 2018-06-05 Veritas Technologies Llc System and method for optimizing transportation over networks
US11551529B2 (en) 2016-07-20 2023-01-10 Winview, Inc. Method of generating separate contests of skill or chance from two independent events
US11308765B2 (en) 2018-10-08 2022-04-19 Winview, Inc. Method and systems for reducing risk in setting odds for single fixed in-play propositions utilizing real time input
JP6974591B1 (ja) * 2020-02-17 2021-12-01 ガンホー・オンライン・エンターテイメント株式会社 処理装置、プログラム、及び方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4186379A (en) * 1977-04-28 1980-01-29 Hewlett-Packard Company High-speed data transfer apparatus
US4816653A (en) * 1986-05-16 1989-03-28 American Telephone And Telegraph Company Security file system for a portable data carrier
US4841295A (en) * 1986-07-24 1989-06-20 American Telephone And Telegraph Company, At&T Bell Laboratories Local area network with biasing arrangement for facilitating access contention between work stations connected to a common bus
JPH04176235A (ja) * 1990-11-08 1992-06-23 Nintendo Co Ltd ゲーム機用通信アダプタ
US5432705A (en) * 1991-05-31 1995-07-11 Itronix Corporation Administrative computer and testing apparatus
JPH06291732A (ja) * 1993-02-03 1994-10-18 Hitachi Ltd 情報伝送処理装置
US6001017A (en) * 1993-08-25 1999-12-14 Sega Enterprises, Ltd. Game device for displaying game input operations on the display
JP3220328B2 (ja) 1994-06-01 2001-10-22 株式会社ソニー・コンピュータエンタテインメント ビデオゲーム機
US5592609A (en) * 1994-10-31 1997-01-07 Nintendo Co., Ltd. Video game/videographics program fabricating system and method with unit based program processing
US5599231A (en) * 1994-10-31 1997-02-04 Nintendo Co., Ltd. Security systems and methods for a videographics and authentication game/program fabricating device
US5754837A (en) * 1994-12-22 1998-05-19 Texas Instruments Incorporated Clock control circuits, systems and methods
KR19980702472A (ko) * 1995-02-23 1998-07-15 오드베르, 쟝-삐에르 중앙 처리 장치 또는 네트워크 터미널용 인터페이스 장치,키보드, 휴대용 컴퓨터 및 게임 콘솔용 액세서리
JP3877079B2 (ja) * 1995-03-20 2007-02-07 株式会社セガ 射撃入力部支持装置及び射撃入力部を有するゲーム装置
US5793415A (en) * 1995-05-15 1998-08-11 Imagetel International Inc. Videoconferencing and multimedia system
US5712860A (en) * 1995-09-22 1998-01-27 Cirrus Logic, Inc. Methods and system for using multi-block bursts in half duplex subscriber unit transmissions
JPH09155065A (ja) * 1995-12-12 1997-06-17 Hudson Soft Co Ltd 特定固有データ交換可能な対戦型コンピュータゲームシステム
US5729547A (en) * 1996-02-07 1998-03-17 Dutec, Inc. Automatic driver/receiver control for half-duplex serial networks
US6115771A (en) * 1998-03-31 2000-09-05 Lsi Logic Corporation Method and system for converting computer peripheral equipment to SCSI-compliant devices
US6061746A (en) * 1998-04-30 2000-05-09 Compaq Computer Corporation Device bay system without 1394 PHY/Link interface to device bay controller having a software intercepting a GUID query and returning a stored unique identifier

Also Published As

Publication number Publication date
US6659860B1 (en) 2003-12-09
DE69930920D1 (de) 2006-05-24
CA2295665A1 (en) 1999-11-18
RU2000102916A (ru) 2001-12-20
AR015295A1 (es) 2001-04-18
CO4890861A1 (es) 2000-02-28
KR20010020565A (ko) 2001-03-15

Similar Documents

Publication Publication Date Title
KR100555230B1 (ko) 반이중 직렬 통신을 이용하는 게임 시스템
JP3220328B2 (ja) ビデオゲーム機
US6325718B1 (en) Operation controlling device and video processing system used therewith
US6001015A (en) Operation controlling device and video processing system used therewith
US7092670B2 (en) Method for exchanging information between communication devices performing wireless communication
US20060253639A1 (en) Control system for controlling a plurality of target computers through portable computer
CA2344774C (en) Game system and portable game machine
TWI402676B (zh) 實施於多電腦切換設備用以藉由使用者控制台存取兩台以上的電腦之方法及多電腦切換設備
KR20150036539A (ko) 데이터 터널을 사용하는 인터페이스를 통한 복수의 프로토콜 데이터 엘러먼트들의 송신
US5892974A (en) System for sub-data processor identifies the peripheral from supplied identification data and supplies data indicative of the kind of peripheral to main data processor
US20200298110A1 (en) Universal Game Controller Remapping Device
JP2001046742A (ja) ゲームシステム及び情報記憶媒体
US6017273A (en) Joystick game adapter card for a personal computer
AU749682B2 (en) Game device, game machine operation device and game system which employ a half-duplex serial communication system and game device two-way communication method
EP0761268B1 (en) Video game system and game controller
JP3390742B2 (ja) 半2重通信方式を用いたゲーム装置、ゲーム機用操作装置、ゲームシステム及びゲーム装置の双方向通信方法
JP3409794B2 (ja) コントローラ及び電子装置
MXPA00000479A (en) Game device, game machine operation device and game system which employ a half-duplex serial communication system and game device two-way communication method
US10252157B2 (en) Control circuit of client-side game console for enabling multiple video game consoles to together emulate same standalone multiplayer video game through networking connection
US6390919B1 (en) Entertainment system, entertainment apparatus, recording medium, and program
JPS636893B2 (ko)
US8700810B2 (en) Semiconductor devices capable of dividing endpoint into majority of sub-endpoints
JP3411022B2 (ja) 電子機器通信システム、これに用いられる中継器、電子機器、電子機器または中継器上で実行される通信制御プログラム、および電子機器通信システムの通信方法
JPH09218721A (ja) 画像処理用拡張装置および拡張装置を用いた画像処理システム
US7385971B1 (en) Latency reduction in network data transfer operations

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130201

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140204

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150119

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee