JP2004135778A - Radio communication game system - Google Patents

Radio communication game system Download PDF

Info

Publication number
JP2004135778A
JP2004135778A JP2002301955A JP2002301955A JP2004135778A JP 2004135778 A JP2004135778 A JP 2004135778A JP 2002301955 A JP2002301955 A JP 2002301955A JP 2002301955 A JP2002301955 A JP 2002301955A JP 2004135778 A JP2004135778 A JP 2004135778A
Authority
JP
Japan
Prior art keywords
time slot
packet
parent device
data
unit
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2002301955A
Other languages
Japanese (ja)
Other versions
JP3824568B2 (en
JP2004135778A5 (en
Inventor
Kiyonari Tanaka
田中 聖也
Masahito Kuwabara
桑原 雅人
Toru Oe
大江 徹
Teruyuki Yoshioka
吉岡 照幸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co 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 Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2002301955A priority Critical patent/JP3824568B2/en
Publication of JP2004135778A publication Critical patent/JP2004135778A/en
Publication of JP2004135778A5 publication Critical patent/JP2004135778A5/ja
Application granted granted Critical
Publication of JP3824568B2 publication Critical patent/JP3824568B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To enable a master unit to securely execute the entry process, operating primarily on the entry, without requiring an exclusive slot for the entry because a request for the entry is made to a first subordinate time slot whose vacancy is confirmed by a slave unit. <P>SOLUTION: The master unit detects the request for the entry from the slave unit by detecting the ID of the slave unit CID at the first subordinate time slot. When the master unit permits the entry, it stores the CID of the slave unit to be connected in a field (U Slot) of the packet of the master unit thereafter. Accordingly, the slave unit can decide whether the previously transmitted request for entry was permitted or not by deciding whether the CID of its own is present or not at the entry slot position in the field. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【産業上の利用分野】
この発明は、無線通信を利用するゲームシステムに関し、特にたとえば、新たにエントリする携帯ゲーム装置のエントリ処理に特徴のある無線通信ゲームシステム、およびエントリ処理方法、それに用いる携帯ゲーム装置ならびにゲームプログラムに関する。
【0002】
【従来の技術】
従来の無線通信ゲームシステムの一例が、たとえば、平成12年(2000)5月16日付で出願公開された特許文献1(国際分類:A63F13/00、H04L12/28)に開示されている。この先行技術では、新たなゲーム装置が通信ゲームにエントリ(参加)する場合に、他のゲーム装置からの通信データを受信して空きタイムスロットを確認し、空きタイムスロットにエントリ要求を送信する(第35段落参照)。
【0003】
【特許文献1】
特開2000−135380号公報
【0004】
【発明が解決しようとする課題】
上述の先行技術では、各ゲーム装置がそれぞれ独自に空きタイムスロットを検出するので、処理の無駄が大きく、また、通信状態が悪い場合には、空きタイムスロットの検出が正確にできない場合がある。また、特定のゲーム装置がエントリ処理に関して主導的な処理をするものではないので、エントリ処理に確実性がない。
【0005】
それゆえに、この発明の主たる目的は、新規な、無線通信ゲームシステム、エントリ処理方法、携帯ゲーム装置およびゲームプログラムを提供することである。
【0006】
この発明の他の目的は、迅速かつ確実にエントリ処理を行える、無線通信ゲームシステム、エントリ処理方法、携帯ゲーム装置およびゲームプログラムを提供することである。
【0007】
【課題を解決するための手段】
この発明は、複数の携帯ゲーム装置を用いる無線通信ゲームシステムである。携帯ゲーム装置は親機または子機となる(あるゲーム装置が予め固定的に親機または子機となるものでもよいし、親機と子機の両方になることができて選択的にいずれか一方になるものでもよい)。また、携帯ゲーム装置は、所定の通信周期で互いに無線通信可能である。この通信周期は第1タイムスロットと複数のサブタイムスロットを含む第2タイムスロットとによって構成される。親機は、第1タイムスロットで親機パケットをブロードキャストしかつ第2タイムスロットで子機パケットを受信する。親機は、さらに第1サブタイムスロット決定手段と、エントリ要求検出手段と、親機パケット設定手段とを備える。第1サブタイムスロット決定手段は、 複数のサブタイムスロットのうち新たな子機が使用すべき第1サブタイムスロットを決定する。エントリ要求検出手段は、 新たな子機が第1サブタイムスロットに送信したエントリ要求を検出する。親機パケット設定手段は、第1サブタイムスロットを指定する指定データを親機パケットに設定し、かつ、エントリ要求に応答して使用許可データを親機パケットに設定する。子機は、複数のサブタイムスロットのうち少なくとも1つのサブタイムスロットで子機パケットを送信し、第1タイムスロットで親機パケットを受信するものである。子機は、さらに、エントリ要求送信手段と成否判断手段を備える。エントリ要求送信手段は、 親機パケットに含まれる指定データが示す第1サブタイムスロットにエントリ要求を送信する。成否判断手段は、親機パケットの第1サブタイムスロットで使用許可データがブロードキャストされたかどうかに基づいてエントリの成否を判断する。
【0008】
請求項2の発明は、請求項1に従属するもので、使用許可データは各サブタイムスロット毎の使用許可データを含み、親機パケット設定手段は第1サブタイムスロットについての使用許可データを使用許可に設定し、成否判断手段はその第1サブタイムスロットについての使用許可データに基づいてエントリの成否を判断する。
【0009】
請求項3の発明は、請求項1または2に従属し、第1タイムスロットは、ゲームデータを送信するためのペイロードフィールドに加えて、指定データおよび使用許可データを送信するためのそれぞれ専用の第1フィールドおよび第2フィールドを含む。親機パケット設定手段は、指定データを第1フィールドに設定し、使用許可データを第2フィールドに設定する。
【0010】
請求項4の発明は、請求項3に従属し、親機パケット設定手段は、ゲーム実行中において第1フィールドに指定データを設定する。
【0011】
請求項5の発明は、請求項3または4に従属し、親機は、第1フィールドに所定データ(エントリを禁止することを意味するデータ)を設定することによって新たな子機のエントリを禁止する禁止手段をさらに備える。
【0012】
請求項6の発明は請求項1ないし5のいずれかに従属し、子機は自機の識別データを記憶する識別データ記憶手段をさらに備える。識別データは予め固定的に決定されていてもよいし、プログラム処理によって生成されてもよい。エントリ要求送信手段は第1サブタイムスロットに識別データを送信する識別データ送信手段を含み、エントリ要求検出手段は第1サブタイムスロットで送信された識別データを検出する検出手段を含む。
【0013】
請求項7の発明は、請求項6に従属し、親機パケット設定手段は第2フィールドに識別データ設定する手段を含み、成否判断手段は第2フィールドに識別データが存在するかどうか判断する判断手段を含む、無線通信ゲームシステムである。
【0014】
請求項8の発明は、請求項7に従属し、第2フィールドは、各サブタイムスロット毎のサブフィールドを含み、記親機パケット設定手段は第2フィールドのうち第1サブタイムスロットについてのサブフィールドに識別データを設定する手段を含み、成否判断手段は第2フィールドのうち第1サブタイムスロットについてのサブフィールドに識別データが存在するかどうか判断する手段を含む。
【0015】
請求項9の発明は、請求項8に従属し、子機は、新たに親機にエントリするときに、親機パケットの第2フィールドを参照して、第2フィールドに設定されている識別データとは異なる識別データを設定する識別データ設定手段を含む、無線通信ゲームシステムである。
【0016】
請求項10の発明は、請求項7に従属し、子機は、第2フィールドに自記の識別データが存在しなくなったことによって親機による接続切断を検出する接続切断検出手段をさらに備える。
【0017】
請求項11の発明は、請求項1ないし10のいずれかに従属し、親機は、1つの子機に対して割り当てるサブタイムスロットの最大数を、実行するゲームに応じて決定する個数決定手段をさらに備える。
【0018】
請求項12の発明は、請求項1ないし11のいずれかに従属し、親機は、エントリを許可する子機の最大数を、実行するゲームに応じて決定するエントリ数決定手段をさらに備える。
【0019】
請求項13の発明は、請求項1に従属し、使用許可データは、各サブタイムスロット毎の使用許可データを含む。また、各使用許可データは子機の識別データである。親機は、使用許可データに基づいて、接続中の子機のリストを表示する子機リスト表示手段をさらに備える。
【0020】
請求項14の発明は、請求項13に従属し、親機は、接続中の子機のうち接続の切断をユーザが希望する子機を子機リストから選択するための操作手段、操作手段によって選択された子機との接続を切断する切断手段、および切断手段が接続を切断した子機のデータを使用許可データから削除する削除手段を備える、無線通信ゲームシステムである。
【0021】
請求項15の発明は、無線通信ゲームシステムにおけるエントリ処理方法であって、次のステップを含む(無線通信ゲームシステムは、第1タイムスロットと複数のサブタイムスロットを含む第2タイムスロットとによって構成される通信周期で互いに無線通信可能であり、親機または子機となる複数の携帯ゲーム装置を用いるものである):(a) 親機は子機に使用させるべき第1サブタイムスロットを指定する指定データを含む親機パケットをブロードキャストし、(b) 子機は指定データで指定された第1サブタイムスロットでエントリ要求を送信し、(c) 親機は第1サブタイムスロットで子機から送信されたエントリ要求を検出し、(d) 親機はエントリ要求を許可する使用許可データを親機パケットに設定し、そして(e) 子機は親機パケットの使用許可データに基づいてエントリ要求の成否を判断する。
【0022】
請求項16の発明は、複数の携帯ゲーム装置を用いる無線通信ゲームシステムにおいて、携帯ゲーム装置のプロセサに次のステップを実行させるプログラムである。(携帯ゲーム装置は、第1タイムスロットと複数のサブタイムスロットを含む第2タイムスロットとによって構成される通信周期で互いに無線通信可能であり、親機または子機となる):(a) 親機のプロセサによって、子機に使用させるべき第1サブタイムスロットを指定する指定データを含む親機パケットをブロードキャストさせるブロードキャストステップ、(b) 子機のプロセサによって、指定データで指定された第1サブタイムスロットでエントリ要求を送信させる送信ステップ、(c) 親機のプロセサによって、第1サブタイムスロットで子機から送信されたエントリ要求を検出させる検出ステップ、(d) 親機のプロセサによって、エントリ要求を許可する使用許可データを親機パケットに設定させる設定ステップ、および(e) 子機のプロセサによって、親機パケットの使用許可データに基づいてエントリ要求の成否を判断させる成否判断ステップ。
【0023】
請求項17の発明は、請求項16に従属し、自機が親機になるか子機になるかを決定する親子決定ステップをさらに備え、親子決定ステップによって親機になることが決定された場合は、ステップ(a),(c) および (d )を携帯ゲーム装置のプロセサに実行させ、親子決定ステップによって子機になることが決定された場合は、ステップ(b) および (e) を携帯ゲーム装置のプロセサに実行させる。
請求項18の発明は、第1タイムスロットで親機から親機パケットをブロードキャストし、第2タイムスロットで子機から前記親機へ子機パケットを送信する、無線通信ゲームシステムにおいて、親機は接続中の子機の識別データを親機パケットに設定し、子機は、新たに親機にエントリするとき、親機パケットに既に設定されている識別データとは異なる識別データを自機の識別データとして決定し、該識別データを子機パケットで送信することを特徴とする。
【0024】
請求項19の発明は、複数の携帯ゲーム装置を用い、一方が親機となり他方が子機となり、親機は第1タイムスロットで親機パケットをブロードキャストしかつ第2タイムスロットで子機パケットを受信し、子機は第2タイムスロットに含まれる少なくとも1つのサブタイムスロットで子機パケットを送信しかつ第1タイムスロットで親機パケットを受信することによって無線通信ゲームをプレイする、携帯ゲーム装置であって、親機のために、第1タイムスロットで親機パケットをブロードキャストしかつ第2タイムスロットで子機パケットを受信するものであり、さらに (a) サブタイムスロットのうち新たな子機が使用すべき第1サブタイムスロットを決定する第1サブタイムスロット決定手段、(b) 新たな子機が第1サブタイムスロットに送信したエントリ要求を検出するエントリ要求検出手段、および (c) 第1サブタイムスロットを指定する指定データおよびエントリ要求に応答して設定される使用許可データを含む親機パケットを設定する親機パケット設定手段を備え、子機のために、サブタイムスロットのうち少なくとも1つのサブタイムスロットで子機パケットを送信し、第1タイムスロットで親機パケットを受信するものであり、(d) 親機パケットに含まれる指定データが示す第1サブタイムスロットにエントリ要求を送信するエントリ要求送信手段、および (e) 親機パケットの使用許可データに基づいてエントリの成否を判断する成否判断手段を備える。
【0025】
【作用】
無線通信ゲームシステムは、実施例では、少なくとも2台の携帯ゲーム装置(10:実施例で相当する参照符号。以下同じ。)を用いて構成される。実施例の携帯ゲーム装置(10)は、携帯ゲーム機(12)と、その携帯ゲーム機に装着された無線通信ユニット(14)とを含む。携帯ゲーム装置は、この無線通信ユニット(14)を用いて、親機の場合には、第1タイムスロット(親機スロット)で親機パケットをブロードキャストし、第2タイムスロットを構成するサブタイムスロット(子機スロット0−3)の1つで子機パケットを受信する。子機の場合には、第1タイムスロットで親機パケットを受信し、第2タイムスロットで子機パケットを親機に向けて送信する。
【0026】
第1タイムスロット決定手段は、実施例でいえば、携帯ゲーム機のプロセサ(20)とそれによって実行される図27のステップS1009を含み、このステップS1009において、プロセサは、親機パケットのEスロットフィールド(ESlot)に、使用していない、すなわち空いている、第1サブタイムスロットを指定する指定データ(具体的には、サブタイムスロット番号)を設定する。
【0027】
子機では、親機パケットに含まれるその指定データが示す第1サブタイムスロットに、エントリ要求を送信する。このエントリ要求は、実施例でいえば、自機の子機番号(CID)であり、子機となった携帯ゲーム装置のプロセサ(20)が図31のステップS3023で自機のCIDを第1サブタイムスロットで送信する。
【0028】
親機のエントリ要求検出手段は、実施例でいえば、プロセサ(20)とそのプロセサによって実行される図27のステップS1021を含み、このステップS1021において、プロセサは、指定データ(ESlot)が示す第1サブタイムスロットに子機から送信された子機CIDが受信できたかどうか判断する。このエントリ要求検出手段が子機からのエントリ要求を検出し、エントリ要求を許可する。
【0029】
そして、親機パケット設定手段によって設定される親機パケットは、指定データおよび使用許可データを含む。実施例でいえば図27のステップS1029に相当する親機パケット設定手段は、たとえばUスロットフィールド(USlot)のエントリスロット位置にエントリ要求をした子機のCIDを格納する。
【0030】
したがって、子機の成否判断手段は、実施例でいえば図31のステップS3029において親機パケットのそのフィールド(USlot)のエントリスロット位置に自己のCIDが存在するかどうか判断することによって、先に送出したエントリ要求が許可されたかどうか判断することができる。
【0031】
請求項2では、第1サブタイムスロットに使用許可データを設定するようにするので、エントリ要求に対する使用許可を与えるための特別なタイムスロットを必要としない。
【0032】
請求項3の第1フィールドおよび第2フィールドは実施例でいえばそれぞれ図11のフィールドESlotおよびUSlotであり、フィールドEslotに指定データが設定され、USlotに使用許可データが設定される。したがって、この請求項3によれば、親機パケットに指定データおよび使用許可データが含まれ、そのような親機パケットが、所定の通信周期でブロードキャストされるため、子機はいつの時点においてもエントリすることができる。
【0033】
請求項4では、ゲーム中に指定データが設定されるので、ゲーム中でも子機はエントリを要求し、その可否を判断できる。
【0034】
請求項5の禁止手段は、実施例でいえば、親機のプロセサとそれによって実行されるステップS31(図22)またはステップS69(図23)に相当し、第1フィールドに特定データ、たとえば「ffh」を設定する。したがって、請求項5によれば、エントリ禁止のために別途タイムスロットを確保する必要がない。
【0035】
請求項6の識別データ記憶手段は実施例でいえば図18に示す子機変数領域88の領域CIDであり、実施例のたとえばステップS3023(図31)で、エントリ要求のためにその領域に記憶されている識別データすなわちCIDを用いる。したがって、多数の子機が存在する状況においても個々の子機は識別データによって確実に同定されるので、混乱なくエントリ処理をすることができる。
【0036】
請求項7においても、実施例のたとえば1029(図27)で、使用許可データとして識別データを用いるので、請求項5と同様の効果が期待できる。
【0037】
請求項8では、図11で示すUスロットが具体的には図12に示すように各サブタイムスロット毎にサブフィールドを含み、親機パケット設定手段ではそのサブフィールドに識別データを設定する。したがって、子機の成否判断手段では、そのサブフィールドに自己の番号CIDが存在するかどうかによって、エントリの成否を判断する。この請求項8によっても、請求項7と同様の効果が期待できる。
【0038】
請求項9の識別データ設定手段は、実施例でいえば、子機のプロセサとそれによって実行されるステップS3011およびS3013(図30)を含み、それによって、既に他の子機で用いられている識別データの重複使用が確実に回避できる。また、子機の製造時に子機の識別データを設定する必要がないので、製造コストを下げることができる。
【0039】
請求項10は実施例でいえば、ステップS97,S101(図24)に相当する。そして、識別データをエントリ時のみに利用するのではなく、通信ゲーム実行中においても用いることにより、親機による切断の判断に利用することができる。
【0040】
請求項11は実施例でいえば、ステップS1001(図27)に相当するものであり、請求項12も実施例でいえばステップS1001)に相当する。つまり、実施例では、図27のステップS1001において、初期設定として、実行するゲームプログラムに応じて1つの子機の対して割り当てるサブタイムスロットの最大数(N)を設定するとともに、実行するゲームプログラムに応じてエントリを許可する子機の最大数(M)を設定する。
【0041】
そして、1つの子機に対して割り当てるサブタイムスロットの最大数や同時参加可能な子機の最大数をゲームに応じて決定することができるので、一定のサブタイムスロット数の中で、1つの子機に対して割り当てる個数を少なくして参加可能な子機の数を多くするか、または、1つの子機に対して割り当てる個数を多くしてデータレートを大きくするかのいずれかをゲームの内容に応じて決定することができる。たとえば、多くのプレイヤが参加する方が面白いゲームの場合には前者とし、通信量が多いゲームの場合は後者とする。
【0042】
請求項13は、実施例でいえばステップS1039(図28)に相当し、請求項14は、実施例でいえば、ステップS1013(図27)に相当する。それによって、親機が、通信ゲームをしたくない子機を選択して、通信を随意に切断することができる。
【0043】
請求項15や請求項16の発明によれば、請求項1の無線通信ゲームシステムと同様の効果が期待できる。ただし、請求項17では、同じ携帯ゲーム機を親機として、または子機として用いることができる。
【0044】
請求項18の発明においても、親機パケット(の第2フィールド)に既に設定されている識別データとは異なる識別データをエントリ要求に使うようにしたので、請求項9の発明と同様の効果が期待できる。
【0045】
請求項19の発明によれば、複数の同じ携帯ゲーム装置を用いて、一方が親機となりかつ他方が子機となる無線通信ゲームをプレイすることができる。
【0046】
【発明の効果】
この発明によれば、親機がエントリに関して主導的な働きをして、エントリ処理を確実に実行することができる。また、子機からは空きが確認されている第1サブタイムスロットに対してエントリ要求を出すので、エントリ要求のための専用のスロットが必要ない。
【0047】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【0048】
【実施例】
この発明が適用される無線通信ゲームシステムは、一例として、図1に示すような携帯ゲーム装置10を利用する。携帯ゲーム装置10は、この実施例では、たとえばゲームボーイアドバンス(GAMEBOY ADVANCE:商品名)のような携帯ゲーム機12と、その携帯ゲーム機12の通信コネクタ46に接続された無線通信ユニット14およびカートリッジコネクタ40に接続されたカートリッジ16を含む。つまり、この実施例においては、携帯ゲーム装置10は、携帯ゲーム機12,無線通信ユニット14およびカートリッジ16によって構成される。
【0049】
図1に示す携帯ゲーム機12は、プロセサ20を含み、このプロセサ20は、CPUコア22とそれに関連するブートROM24,LCDコントローラ26,WRAM(ワーキングRAM:以下同様)28,VRAM30および周辺回路32とを含む。ただし、周辺回路32は、音声(サウンド)回路、DMA(Direct Memory Access)回路、タイマ回路、入出力インタフェース(IO)などを含む。携帯ゲーム機12の前面に設けられたLCD18には、プロセサ20から表示信号、この実施例ではRGB信号が与えられ、したがって、LCD18ではゲーム画像がカラー表示される。そして、プロセサ20からは、サウンド回路34にオーディオ信号が与えられ、そのオーディオ信号によって、スピーカ36からゲーム音楽や効果音などの音声が出力される。また、携帯ゲーム機12の前面にLCD18を挟んで設けられる十字キーやスタートキー,セレクトキーおよびAボタンならびにBボタンがまとめて操作スイッチ38として示され、この操作スイッチ38からの操作信号がプロセサ20に入力される。したがって、プロセサ20は操作スイッチ38を通して与えられたユーザの指示に従った処理を実行する。
【0050】
携帯ゲーム機16はカートリッジコネクタ40を有し、このカートリッジコネクタ40には、カートリッジ16が接続または挿入される。カートリッジ16にはROM42およびバックアップRAM44が内蔵され、ROM42には携帯ゲーム機12で実行すべきゲームのためのゲームプログラムが、そのゲーム名とともに、予め設定されている。バックアップRAM44は、そのゲームの途中データやゲームの結果データを記憶する。
【0051】
携帯ゲーム機16にはさらに通信コネクタ46が設けられ、この通信コネクタ46には無線通信ユニット14のコネクタ48が接続される。なお、実施例で用いる携帯ゲーム機12は、一例としてゲームボーイアドバンス(商品名)であり、その場合、上述のカートリッジコネクタ40は、LCD18を前面(正面)としたときの上面奥側に設けられる32ピンコネクタであり、通信コネクタ46は上面手前側に設けられる6ピンコネクタである。
【0052】
無線通信ユニット14は、ベースバンドIC50を含み、このベースバンドIC50はROM52を含む。ROM52にはたとえばOCD(One−Cartridge Download)プログラムやその他のプログラムが内蔵され、ベースバンドIC50は、それらのプログラムに従って動作する。なお、ワンカートリッジダウンロードプログラムとは、OCモード(ワンカートリッジモード:親機にだけゲームカートリッジが装着されていて、子機はその親機カートリッジからの子機用プログラムのダウンロードを受けて動作するモード)において、子機へプログラムをダウンロードするためのプログラムである。
【0053】
無線通信ユニット14にはさらにEEPROM54が設けられ、このEEPROM54には、たとえば、ユーザ名が固有に設定される。ベースバンド(Base Band)IC50は、そのユーザ名を含んだデータを、RF(Radio Frequency)−IC56に送出し、RF−IC56は、そのデータを変調して、アンテナ58から電波を送信する。ただし、その電波強度は、非常に微弱で、電波法の規制の対象とならない程度の小さい値に設定されている。また、この無線通信ユニット14には電源回路60が設けられている。この電源回路60は典型的には電池であり、無線通信ユニット14の各コンポーネントに直流電源を供給する。
【0054】
無線通信ユニット14では、また、他の携帯ゲーム装置から送信された電波をアンテナ58で受信してRF−IC56によって復調し、復調信号がベースバンドIC50に入力される。したがって、ベースバンドIC50は、復調信号をデコードして、データを復元し、そのデータをコネクタ48および46を介して携帯ゲーム機12すなわちWRAM28に転送する。
【0055】
この発明に従った実施例の無線通信ゲームシステムでは、複数台の図1に示すような携帯ゲーム装置10を利用する。図2の点線64は自機携帯ゲーム装置62の通信可能範囲を示している。そして、携帯ゲーム装置62は、通信可能範囲64に存在する携帯ゲーム装置に対してエントリできる可能性がある。この通信可能範囲64が上述の微弱電波によって親機と子機との間のデータ通信が可能な範囲であり、この通信可能範囲64の中に存在する複数の携帯ゲーム装置は、どれでもが、任意に、親機となりまたは子機となることができる。図示の例では、その範囲64の内に、4台の親機と3台の子機と、1台の自機62とが存在する。
【0056】
そして、自機62がゲームに参加する場合、親機か子機になる必要がある。自機が子機になる場合には、参加可能な親機を探す必要がある。親機を探すときに、自機がカートリッジを持っているかどうかによって、異なる親機を探す必要がある。
【0057】
まず、自機62が図1に示すカートリッジ16を装着した携帯ゲーム装置である場合であって、かつ自機62の周囲のすべての親機を表示することを示す全表示フラグ(後述)を「1」に設定しているときには、図1に示す携帯ゲーム機12のLCD18上に、図3で示すような親機リスト18Aが表示される。この図3の親機リスト18Aには、通信可能範囲64(図2)内に存在するすべての親機、すなわち、ユーザ名がそれぞれ「太郎」,「一郎」および「二郎」の3台の親機が表示される。したがって、自機のユーザは、自機を子機として動作または機能させたいとき、その自機を接続したい親機を、操作キー38(図1)に含まれる十字キーでカーソルを動かして指定した後同じく操作キー38に含まれるAボタンを押すことによって、選択することができる。
【0058】
ただし、自機を親機として使いたい場合には、ユーザは、操作キー38に含まれるBボタンを押せばよい。
【0059】
図2では範囲64内に4台の親機が存在するにも拘わらず、図3の親機リスト18Aでは3台の親機だけが表示されるのは、次の理由による。ユーザ名が「三郎」の親機はエントリスロットESlotが「ffh」に設定されている。このエントリスロットESlotは、新しい子機を希望するかどうかを示すフラグであり、このエントリスロットESlotが「ffh」に設定されているときは、その親機は子機の新規参加を拒否しているので、そのような親機は表示されないのである。ユーザ名「三郎」の親機は、エントリ可能な最大子機数に達しているため、新しい子機を希望していない。
【0060】
また、図3の親機リスト18Aでは、ユーザ名「二郎」の親機に丸印(○)が付加されている。この丸印(○)は、OCモードでのゲームがプレイ可能なことを示す。
【0061】
さらに、全表示フラグがオフの場合には、LCD18には図4に示す親機リスト18Aが表示される。この場合には、自機のゲームカートリッジ、たとえばマリオカート−1(Mario Kart−1)と通信できる親機、この例ではユーザ名が「太郎」である親機だけが表示される。なぜなら、ユーザ名「太郎」の親機にはマリオカート−2(Mario Kart−2)のカートリッジが装着されていて、Mario Kart−1とMario Kart−2とは相互に通信可能であるからである。なお、通信可能範囲64内に、マリオカート−1のカートリッジが装着されている親機があれば、その親機も当然表示される。
【0062】
上の例では自機(子機)にMario Kart−1のカートリッジが装着されているが、自機にカートリッジを装着せず、OCモードでゲームをプレイしたい場合には、LCD18には、たとえば図5に示す親機リスト18Aが表示される。この図5の親機リスト18Aでは、OCモードに対応できる親機、この例ではユーザ名「二郎」の親機だけが表示される(「F−ZERO」はOCモード対応のゲームである)。ただし、この場合には自機にはカートリッジが装着されていないので、自機は親機になれない。したがって、「自分が親機になりたいときはBボタンを押してください」という図3や図4に示すメッセージは表示されない。
【0063】
次に図6−図8を参照して、ユーザ名「四郎」の親機が図2に示す通信可能範囲64に入り、その後、ユーザ名「一郎」の親機がその範囲64の外へ出た場合の自機62の表示の変化について説明する。ユーザ名「四郎」の親機が範囲外にある場合には、図6に示すように、自機62のLCD18上には図3と同じ親機リスト18Aが表示される。
【0064】
その後、ユーザ名「四郎」の親機が範囲内に進入してきたときには、図7で示す親機リスト18Aが表示される。ただし、自機62の全表示フラグがオンされているものとする。つまり、ユーザ名「四郎」の親機が、ユーザ名がそれぞれ「太郎」,「一郎」および「二郎」である親機に加えて表示される。
【0065】
そして、さらにユーザ名「一郎」の親機が範囲64外へ脱したときには、図8の親機リスト18Aが表示される。この親機リストにはユーザ名「一郎」の親機は表示されない。
【0066】
さらに、自機が親機であってかつ新たな子機の参加を待っているときには、LCD18には、図9に示す子機リスト18Bが表示される。この子機リスト18Bをみると、現在、ユーザ名がそれぞれ「五郎」,「六郎」および「七郎」の子機が自機に接続していることがわかる。ここで、本実施例は親機と子機とが微弱電波によって無線通信をしながらゲームを進行させる無線通信ゲームシステムであるので、本来的には「接続」の用語を用いるべきではない。しかしながら、親機となる携帯ゲーム装置と子機となる携帯ゲーム装置との間での通信可能な連係状態を表す用語として、有線通信の場合の用語を借りて、便宜上「接続」と表現することとする。
【0067】
次に、接続状態にある親機と子機とが無線通信する場合のデータパケットフォーマットについて、図10−図14を参照して説明する。図10で示すように、1つのデータサイクルが2ミリ秒で、そのデータサイクルは、1つの親機スロットと複数(この実施例では4つ)の子機スロットとを含む。親機スロットでは図11に具体的に示す親機パケットがブロードキャスト(Broadcast:放送)され、4つの子機スロットでは、それぞれ、図13に具体的に示す子機パケットの親機への送信が行われる。
【0068】
親機パケットは、図11に示すように、同期データを格納しておくためのフィールドsyncをその先頭に有し、その同期データフィールドsyncに後続してその親機の番号(識別コード)PID格納するためのフィールドPIDを有する。そのフィールドPIDに続いて、ユーザ名フィールドUserNameおよびゲーム名フィールドGameNameが形成される。ユーザ名フィールドUserNameには、EEPROM54(図1)から読み出されたユーザ名、上の例でいえば「太郎」,「一郎」などが登録され、ゲーム名フィールドGameNameにはゲーム名、上の例でいえばMarioKart−1,Mario Kart−2,F−Zero,Golf,…が登録される。ただし、カートリッジ16(図1)を装着すれば、このゲーム名フィールドGameNameにはROM42(図1)から読み出されたゲーム名(図16の68)が自動的に登録され得る。
【0069】
親機パケットはさらに、フラグOCを含み、このフラグOCは、先に述べたワンカートリッジ(OC)モードに対応できるかどうかを示すフラグである。具体的には、このフラグOCがリセットされているとき、すなわちOC=0のときには、そのときの親機のゲームカートリッジはOCモードに非対応であること、あるいは、OCモードに対応できるが現在は通常モードでプレイしていることを示す。フラグOCがセットされているとき、すなわち、OC=1のとき、OCモードに対応できかつ現在そのOCモードでプレイしていることを示す。したがって、カートリッジを持たないユーザは、このフラグOCが「1」である親機を探す必要がある。
【0070】
フラグOCに続いて、親機パケットは、フィールドESlot,USlotおよびPayloadを順次含む。EスロットフィールドESlotは、エントリ(参加)可能な子機スロットの番号が格納される。つまり、新規参加子機が使用できるスロット番号が格納される。UスロットフィールドUSlotには、子機スロットの使用状況が格納される。具体的には、図12に示す。すなわち、UスロットフィールドUSlotは、4つの領域を含み、この4つの領域の各々が子機スロット0,子機スロット1,子機スロット2および子機スロット3に対応する。そして、それぞれの領域には、該当する子機スロットが割り当てられた子機の番号(識別コード)CIDが格納される。該当する領域に対応する子機番号CIDが登録されているときには、その子機スロットが使用されていることがわかる。
【0071】
ペイロードフィールドPayloadは、ゲーム処理において必要となるゲームデータを送信するためのフィールドであり、親機から子機へ送信されるゲームデータを格納するためのフィールドである。
【0072】
子機から、その子機に割り当てられた子機スロットに送出される子機パケットが図13に示される。すなわち、子機パケットは、子機番号CIDを格納または登録する先頭のフィールドCIDとそれに後続するペイロードフィールドPayloadとを含む。ペイロードフィールドPayloadは子機から親機へ送信されるゲームデータを格納するためのフィールドである。
【0073】
図14が具体例を示す。この図14の例では、親機番号フィールドPIDに「58」が格納されていて、したがって、親機番号PIDが「58」であることがわかる。そして、この親機のユーザ名は「太郎」であり、ゲーム名はMario Kartであり、フラグOCが「0」で、EスロットフィールドESlotには「2」が登録されていて、UスロットフィールドUslotを参照することにより子機スロット0には「16」の子機番号(CID)を持った子機が、子機スロット1には「130」を持った子機がそれぞれ接続されているが、子機スロット2および3はともに「0h」であるので空きスロットであることがわかる。
【0074】
このような状態の親機に対して新たな子機が接続(Entry)を試みる場合には、親機のUスロットフィールドUSlotを参照すると子機番号CIDとして「16」および「130」が使用されているので、それ以外の子機番号CIDをたとえば乱数を発生させることによって決定する。一例として「86」が当該子機のCIDとして決定されたとする。したがって、その子機は、ESlotで指定される子機スロット(子機スロット2)にCID=86を送信する。
【0075】
そして、親機では、子機スロット2で「86」を受信することにより、子機番号CIDとして「86」を持つ子機がエントリしたい、ということを知る。そして、そのエントリを許可するかどうかを決定するわけであるが、許可する場合には、親機は、Uslotの子機スロット2に対応する領域に「86」を設定した図14の最下段に示す親機パケットをブロードキャストし、新たに「86」の子機番号CIDを持つ子機の参加を許可したことを知らしめる。同時に、新規参加した子機は、Uslotの子機スロット2に対応する領域に自己の子機番号としてCID=86があることを確認し、エントリが成功したことを判断できる。
【0076】
図15はOCモードに対応していないカートリッジのメモリマップを示し、図16はOCモードに対応できるカートリッジのメモリマップを示す。
【0077】
図15の実施例では、カートリッジ16に含まれるROM42(図1)は、ゲームプログラム領域62およびゲーム名領域64を含む。ゲームプログラム領域62には、共通プログラム66,親機プログラム68および子機プログラム70が予め格納される。共通プログラム66は、自機が親機であると子機であるとに拘わらず使用するプログラムである。すなわち、自機が親機の場合は共通プログラムと後述の親機プログラムが実行され、自機が子機の場合は共通プログラムと後述の子機プログラムが実行される。親機プログラム68は、自機が親機として機能するときにのみ作動するプログラムであり、変数MおよびNを含むとともに、「0」に設定された(つまりオフされた)フラグOCを含む。ただし、変数Mは、その親機に同時に接続可能な子機の最大数を示し、変数Nは1台の子機が使用できる最大スロット数を示す。これらの変数MおよびNは、ともに、ゲームに応じて変化することに留意されたい。子機プログラム70は、自機が子機として機能するときにのみ作動するプログラムであり、上述の変数Nを含む。ゲーム名領域64には、上記ゲームプログラムの名称、たとえばMario Kart−1,Golf,…などが予め格納される。
【0078】
図16の実施例でも、カートリッジ16のROM44は、ゲームプログラム領域62およびゲーム名領域64を含む。ゲームプログラム領域62には、図15と同じ共通プログラム66,親機プログラム68および子機プログラム70が設定されるとともに、OCモードに対応するためにOCモード用ゲームプログラム72が設定される。OCモード用ゲームプログラム72は親機プログラム74と転送用子機プログラム76とを含む。親機プログラム74は、フラグOCが「1」に設定されていることを除いて、先の親機プログラム68と同じである。転送用子機プログラム76は、OCモードでゲームプレイする子機へ転送するためのプログラムであり、変数Nを含む。OCモードでエントリする子機は、親機から転送(ダウンロード)されるこの転送用子機プログラム76を受けることによって、ゲームに参加できる。
【0079】
図17には図1に示す無線通信ユニット14のEEPROM54のメモリマップが示され、この図17に示すように、EEPROM54は、ユーザ名領域78を含み、このユーザ名領域78にユーザ名、上の例でいえば「太郎」,「一郎」…などが登録される。
【0080】
図18に示すメモリマップを参照すると、ゲーム機12のWRAM28(図1)は、親機リスト領域80,親機リストクリアタイマ82,子機リスト領域84,変数領域86および88,ゲーム変数領域90,送信バッファ領域92および受信バッファ領域94を含む。
【0081】
親機リスト領域80は、先に図3等で説明した親機リスト18Aを表示するためのデータ、たとえば親機番号(PID),ユーザ名(UserName),ゲーム名(GameName),フラグOC,EスロットフィールドESlotを一時的に記憶保持しておくための領域である。
【0082】
親機リストクリアタイマ82は、この親機リスト領域80のデータをクリアするまでの時間を計測するためのタイマであり、後述のように、このタイマ82がタイムアップすれば、親機リスト領域80は自動的にクリアされる。
【0083】
子機リスト領域84は、先に図9等で説明した子機リスト18Bを表示するためのデータ、たとえば子機番号(CID),ユーザ名(UserName)およびゲーム名(GameName)を一時的に記憶保持しておくための領域である。
【0084】
WRAM28はさらに、自機が親機として動作する(振舞う)ときに使用する変数をストアしておくための親機変数領域86および自機が子機として動作する(振舞う)ときに使用する変数をストアしておくための子機変数領域88を含む。
【0085】
親機変数領域86には、たとえば図11に示す各フィールドPID,USlotおよびESlotのためのデータや接続対象の子機の子機番号(CID)さらには、変数nおよびmが設定される。ここで、変数nは、1台の子機に現に実際に割り当てられているスロット数を示し、その最大数が先に説明した変数Nで与えられる。また、変数mは、1台の親機に現に実際に同時に接続されている子機数を示し、その最大数が上述の変数Mで与えられる。
【0086】
子機変数領域88には、たとえば図12に示すフィールドCIDのためのデータが設定されるとともに、接続結果を示す変数、復帰結果を示す変数、接続先の親機の親機番号(PID)、獲得したスロット番号(1つまたは複数)、同期タイマ、変数n、さらには、全表示フラグが設定される。
【0087】
ゲーム変数領域90はゲーム実行中のゲーム変数、たとえばクリアしたステージ数や獲得したアイテム等を示す変数をストアするための領域である。そして、送信バッファ92および受信バッファ94は、それぞれ、送信データおよび受信データを一時的にストアしておくための領域である。
【0088】
それぞれがこのような構成を有する2台以上の携帯ゲーム装置10がゲームシステムを構築するが、以下に、そのゲームシステムにおける各携帯ゲーム装置10の動作をフロー図を参照して説明する。
【0089】
詳細な説明に先立って、OCモードに対応できないカートリッジが自機に装着されている場合で、かつ、自機が親機になるときには、後述のステップS29(図21)−ステップS69(図23)の一連のステップを実行する。また、OCモードに対応できないカートリッジが自機に装着されている場合で、かつ、自機が子機となるときには、後述のステップS83−ステップS109(図24)の一連のステップを実行することになる。
【0090】
また、自機にOCモード対応可能なカートリッジが装着されてはいるが通常モード(OCモードではない)でゲームをプレイする場合には、自機を親機とするときには、ステップS29(図21)−ステップS69(図23)の一連のステップを実行し、自機を子機とするときには、上と同様に、ステップS83−ステップS109(図24)の一連のステップを実行することになる。
【0091】
さらに、自機にOCモード対応可能なカートリッジが装着されていて、OCモードでゲームをプレイする場合には、自機は親機としてしか機能できず、この場合には、ステップS75およびS77(図19)を経て、上述の親機の場合と同様に、図21に示すステップS29から図23に示すステップS69の一連のステップを実行する。
【0092】
そして、自機にカートリッジが装着されていない場合には、自機はOCモードでの子機にしかなれず、したがって、この場合には、ステップS111(図19)−ステップS147(図26)の一連のステップを実行することになる。
【0093】
図19は携帯ゲーム機12の動作を示す。携帯ゲーム機12の電源(図示せず)を投入すると図19の動作が開始され、最初は、ブート(Boot)ROM24内に設定された動作を実行する。つまり、最初のステップS1で、プロセサ20は、たとえばコネクタ40(図1)からの信号に基づいて、カートリッジ16が装着されているかどうかを検出する。そして、ステップS3でカートリッジがあると判断した場合には、カートリッジ16のROM42のプログラムに移行し、続くステップS5で、そのカートリッジがOCモードに対応可能なカートリッジかどうか判断する。このステップS5では、図15のカートリッジ(OCモードに対応不可能なカートリッジ)が装着されているか、図16のカートリッジ(OCモードに対応可能なカートリッジ)が装着されているかを判断する。
【0094】
ステップS5で“NO”が判断されたとき、すなわち自機にカートリッジは装着されているがそのカートリッジがOCモード対応カートリッジではないとき、図20のステップS7に進み、図18に示す親機リスト領域80をクリアするとともに、同じく図18に示す親機リストクリアタイマ82をリセットし、さらには図18の子機変数領域88に設定されている全表示フラグをオン(「1」を設定)する。なお、親機リストクリアタイマ82はリセット後自動的にタイマのカウントを開始する。
【0095】
その後、ステップS9において、図11で示すような親機パケットの受信を試みる。ステップS11で、親機パケットを成功裏に受信したかどうか判断する。そして、ステップS11で“YES”を判断したとき、続くステップS13において、その親機パケットをブロードキャストした親機は、親機リストに存在しない親機かどうか判断する。具体的には、このステップS13では、受信した親機パケットのデータ(図18に示すWRAM28の受信バッファ94に一時的にストアされているデータ)のうちの親機PIDやユーザ名が、親機リスト80(図18)に登録されている親機かどうか判断する。このステップS13で“YES”が判断されると、つまり、新規な親機の場合には、続くステップS15において、プロセサ20は、親機リスト80に、親機パケットに含まれた親機ID(PID),ユーザ名(UserName),ゲーム名(GameName),OCフラグ(OC)およびエントリスロット(ESlot)を新たに登録する。
【0096】
先のステップS11で“NO”を判断したとき、またはステップS15での登録を終えたとき、次のステップS17で、先のステップS7でリセットした親機リストクリアタイマ82(図18)の値が2秒以上になったかどうか判断する。“YES”なら、ステップS19で親機リスト80をクリアするとともに、親機リストクリアタイマ82をリセットする。ここで、親機リストクリアタイマ82をリセットするのは次の理由による。すなわち、図8を参照して前述したようにある親機(図8の「一郎」)が通信可能範囲から外れた場合に、その親機を親機リスト80から削除しなければならない。そのため、定期的に(この実施例では2秒ごとに)、親機リスト80をクリアして通信可能範囲の親機のリストへの登録を最初からおこなうことによって、通信可能範囲から外れた親機が親機リストに残らないようにしているのである。ステップS17で“NO”を判断したとき、またはステップS19を経た後、次のステップS21において、プロセサ20は、上述の全表示フラグがオン(「1」)かどうか判断する。なお、実施例では、この全表示フラグは、デフォルトとして、「1」またはオンに設定されている。全表示フラグがオンのとき、ステップS23で、親機リストに登録されている親機のうち、エントリスロットESlotが「ffh」でない親機、つまり、新たな子機のエントリを許容するすべて親機の情報(具体的には、ユーザ名UserNameおよびゲーム名GameName)を図3に示すように表示する。全表示フラグがオフ(「0」)のときには、ステップS25において、親機リストに登録されている親機のうち、エントリスロットESlotが「ffh」でなくしかも通信可能な(すなわち、親機のカートリッジのゲームと子機のカートリッジのゲームが所定の関係にあり通信可能な)親機の情報(ユーザ名UserNameおよびゲーム名GameName)を図4に示すように表示する。
【0097】
その後、図21のステップS27に進み、プロセサ20は、操作キー38からの信号を参照して、Bボタン(図示せず)が押されたかどうか判断する。Bボタンが押されたということは、その携帯ゲーム装置のユーザが、自機を親機として振舞わせることを決めたことを意味し、その場合には、変数MおよびNの範囲内で子機を募集するために、ステップS29の親機接続処理を実行する。ただし、1台の子機に与えられる最大スロット数を示す変数Nおよび最大参加可能子機数を示す変数Mは、それぞれ、ゲームによって変更可能である。たとえば、最大参加子機数Mを大きくするためには最大スロット数Nを小さくし、データレートを重視するなら最大スロット数Nを大きくし最大参加子機数Mを小さくすればよい。
【0098】
ここで、図27および図28を参照して、子機募集のためのステップS29における親機の接続処理について、詳細に説明する。図27の最初のステップS1001では、プロセサ20は、図18に示す子機リスト領域84をクリアするとともに、初期画面を表示させる。このステップS1001は初期設定ステップであり、上の処理に加えて、さらに、1つの子機の対して割り当てるサブタイムスロットの最大数(N)を設定するとともに、エントリを許可する子機の最大数(M)を設定する。ただし、これら最大数NおよびMは、それぞれ、実行すべきゲームプログラムに応じて決定できる。このように、1つの子機に対して割り当てるサブタイムスロットの最大数Nや同時参加可能な子機の最大数Mをゲームに応じて決定するようにすれば、一定のサブタイムスロット数の中で、1つの子機に対して割り当てる個数を少なくして参加可能な子機の数を多くするか、または、1つの子機に対して割り当てる個数を多くしてデータレートを大きくするかのいずれかをゲームの内容に応じて決定することができる。たとえば、多くのプレイヤが参加する方が面白いゲームの場合にはスロット数Nを小さくし参加子機数Mを大きくし、通信量が多いゲームの場合はスロット数Nを大きくし参加子機数Mを小さくすればよい。
【0099】
続くステップS1003では、プロセサ20は、親機変数領域86(図18)の親機PIDを設定するための領域PIDに擬似ランダム値を書き込む。そして、次のステップS1005において、領域86内の、親機(自機)に実際に接続している子機の数を示す変数mをゼロ(0)とし、続くステップS1007で、接続対象子機の番号を示す接続対象CIDの領域に「Null」を設定するとともに、領域86内の、現在接続処理中の子機に実際に付与しているスロット数を示す変数nにゼロ(0)を書き込む。なお、接続対象CIDとは、現在接続処理中の子機のCIDのことであり、エントリ処理において1つの子機に複数のスロットを付与する場合に、ある子機に対するスロットの付与を複数回連続しておこなうために、ある子機に対するスロットの付与が開始されたら、接続対象CID以外のCIDの子機からのエントリ要求を無視するためのものである。次のステップS1009において、領域86内の、エントリスロット領域ESlotに、空いているスロット番号のうちの1つを割り当てる。
【0100】
その後、ステップS1011において、プロセサ20は、操作キー38(図1)からの信号を検証して、Aボタン(図示せず)が押されたかどうか判断する。ステップS1011で“YES”なら、そのとき自機(親機)のユーザがその子機のエントリを拒否したことを意味するので(図9参照)、続くステップS1013において、プロセサ20は、図18の子機リスト領域84から、その選択された子機のデータ、USlotおよびCIDを削除する。その後、ステップS1015で、図9に示すように新たな子機リスト18Bを表示させる。
【0101】
そして、ステップS1011で“NO”が判断されたときには、すなわち親機のユーザがAボタンを押さなかったとき、またはステップS1015を実行した後には、ステップS1017において、プロセサ20は、操作キー38からの信号に基づいて、スタートキー(図示せず)が操作されたかどうか判断する。“YES”なら、そのままリターンする。しかしながら、“NO”なら、続くステップS1021において、図29に詳細に示す親機の送受信処理を実行する。
【0102】
図27のステップS1019で示す親機の送受信処理が、図29に詳細に示される。図29のステップS2001では、プロセサ20は、送信バッファ92(図18)に未送信データがあるかどうか判断する。“YES”なら、次のステップS2003において、図14の親機スロットに必要なデータ、たとえばPID,ユーザ名,ゲーム名,OCフラグ,Eスロット,Uスロットおよび、上記未送信データであるペイロードを送信する。そして、次のステップS2005で子機パケットを受信した後、リターンする。
【0103】
先のステップS2001で“NO”が判断されたときには、次のステップS2007で、プロセサ20は、過去64ミリ秒の間データ送信をしなかったかどうか判断する。なお、この「64ミリ秒」という時間は、タイマずれを解消できる数値の一例であり、当然この数値に限られるものではない。
【0104】
ステップS2007で“YES”を判断したときには、ステップS2009で、親機スロットを用いて、ペイロードを除く各データ、たとえばPID,ユーザ名,ゲーム名,OCフラグ,EスロットおよびUスロットを送信する。このステップS2009は子機からのエントリを可能にするために必要なステップであり、ペイロード(送信すべきデータ)がなくても、エントリ処理に必要なデータ(PID,ユーザー名,ゲーム名,OCフラグ,Eスロット,Uスロット)を定期的に送信しているため、子機は常にエントリ処理できるのである。このステップS2009では、ペイロードデータは送信しない。そして、ステップS2009の終了後、またはステップS2007で“NO”が判断されたとき、先のステップS2005を経てリターンする。
【0105】
図27に戻って、ステップS1019に続くステップS1021で、プロセサ20は、図11に示す親機パケットのフィールドESlotで指定したスロットで、子機番号CIDを受信できたかどうか判断する(すなわち、子機がエントリスロットを使用してエントリ要求をしてきたかどうかを判断する)。このステップS1021で“NO”の場合、先のステップS1011に戻り、“YES”の場合、次のステップS1023で、図18の子機変数領域86の接続対象子機CIDがNullかどうか判断する(すなわち、現在エントリ処理中の他の子機があるか否かを判断する)。“YES”なら、つまり、接続対象子機番号(CID)が登録されていなければ、ステップS1025で、ステップS1019で受信した子機CIDを接続対象子機番号(CID)として、図18の領域86内の接続対象子機CIDに登録する。
【0106】
先のステップS1023で“NO”のとき、またはステップS1025を終えたとき、ステップS1027において、プロセサ20は、受信したCIDが接続対象CIDと同じかどうか判断する(すなわち、受信したCIDが現在エントリ処理中の子機のCIDか否かを判断する)。“NO”なら先のステップS1011に戻るが、“YES”なら次のステップS1029で、図18の領域86内のUスロット領域USlotのエントリスロットを示す部分に、そのCIDを格納する。そして、ステップS1031で、実接続スロット数nをインクリメント(+1)し、ステップS1033で、n=Nかどうか、すなわち、実接続スロット数nが1台の子機に与える最大スロット数N(ゲーム毎に異なる)に達したかどうかを判断する。“YES”なら、その子機に対してそれ以上のスロットの付与は許容できないので、図28で示す次のステップS1035に進む。しかしながら、“NO”なら、その子機に対してさらにスロットを付与することが可能なので、ステップS1009に戻る。
【0107】
実付与スロット数nが最大付与可能スロット数Nに達したときには、その子機に対するエントリ処理を終了して、図28のステップS1035に進むが、このステップS1035では、親機となった携帯ゲーム機のプロセサ20は、エントリ処理が終了した子機のユーザ名、およびゲーム名等を受信する。この子機のユーザ名およびゲーム名がステップS1037において、子機リストに追加され、ステップS1039において、子機リスト18Bが、図9に示すように表示される。
【0108】
その後、親機のプロセサ20は、ステップS1041において、実接続子機数mをインクリメント(+1)し、ステップS1043において、その実接続子機数mが最大接続可能子機数M(ゲーム毎に異なる)と等しくなったかどうかを判断する。このステップS1043で“YES”が判断されると、つまり、それ以上子機を接続できないと判断したときには、そのままリターンする。
【0109】
逆に、1台以上の子機が未だ接続可能な場合、すなわちステップS1043で“NO”が判断された場合には、図27のステップS1007に戻る。
【0110】
このようにして、図21のステップS29での接続処理が実行され、さらに、図22のステップS31において、子機の募集を一旦打ち切り、他の子機の参加を禁止するために、エントリスロットESlotに「ffh」を書き込む。そして、ゲーム中に必要に応じて、子機を追加募集できるように、図18の領域86内の接続対象CIDをNull,実接続スロット数n=0としておく。
【0111】
その後、ステップS33においてゲームスタートかどうか、つまり、操作キー38に含まれるスタートボタン(図示せず)が押されたかどうか判断する。スタートボタンが押されると、次のステップS35において、プロセサ20は、図18に示す親機変数領域86のUスロット領域USlotを参照して、現に接続中の子機の数「m」を検出する。Uスロットの各領域のうち「0h」でない領域の数が現に接続中の子機の数mである。そして、ステップS37で、接続中の子機数mが最大接続可能数Mより小さいかどうか判断する。このステップS37で“YES”が判断されるということは、新規子機のエントリを許容できることを意味していて、したがって、この場合には、次のステップS39において、親機変数領域86のEスロット領域ESlotに、空いているスロット番号(Uスロットのうち「0h」である領域に対応するスロット番号)の1つを設定する。これによって、領域ESlotの「ffh」の状態設定が解除される。
【0112】
そして、ステップS41において、先に図29を参照して説明した親機の送受信処理を実行することによって、図11に示す親機パケットをブロードキャスト(送信)するとともに、各子機からの図13に示す子機データ(パケット)を受信する。
【0113】
その後、ステップS43において、プロセサ20は、一定時間t1以上、或る子機のデータを受信できなかったかどうか判断する。このステップS43で“YES”が判断されるということは、該当の子機が既に通信可能範囲64(図2)を離脱した可能性があることを意味し、その場合には、ステップS45において、プロセサ20は、該当の子機の子機番号CIDを親機変数領域86(図18)のUスロット領域USlotから削除する。この処理によって、離脱した子機が使用していた子機スロットが空きスロットになるので、離脱した子機の代わりに新たな子機のエントリが可能になる。
【0114】
ステップS43で“NO”が判断されたとき、またはステップS45を終えたとき、次のステップS47において、プロセサ20は、親機変数領域86のEスロット領域ESlotに「ffh」が設定されているかどうか判断する。“YES”なら、次のステップS49で、プロセサ20は、カートリッジ16のゲームプログラム62(図15)に従って、ゲーム処理を実行する。
【0115】
図22のステップS47で“NO”が判断されたときには、子機の途中参加を許容するために、プロセスは図23のステップS51に進む。このステップS51では、親機のプロセサ20は、EスロットフィールドESlotで指定したスロットで子機CIDを受信できたかどうか判断する。“YES”なら、次のステップS53において、図18の領域86内の接続対象CIDの領域に「Null」が書き込まれているかかどうか判断する。“YES”なら、つまり、接続対象子機のCIDが登録されていなければ、ステップS55で、Eスロットで指定したスロットで受信した子機CIDを接続対象CIDの領域に登録する。
【0116】
先のステップS53で“NO”のとき、またはステップS55を終えたとき、ステップS57において、プロセサ20は、受信した子機番号CIDが接続対象CIDと同じかどうか判断する。“YES”なら次のステップS59で、図18の領域86のUスロット領域USlotのエントリスロットを示す部分に、その子機番号CIDを格納する。そして、ステップS61で、実接続スロット数nをインクリメント(+1)し、ステップS63で、n=Nかどうか、すなわち、実接続スロット数nが1台の子機に与える最大スロット数Nに達したかどうかを判断する。“YES”なら、その子機にそれ以上のスロット付与は許容できないのでその子機に対するスロット付与を終了し、ステップS65で、領域86内の、接続対象CIDの領域に「Null」を設定するとともに、変数nにゼロ(0)を書き込む。
【0117】
その後、親機のプロセサ20は、ステップS67において、実接続子機数mが最大接続可能子機数Mと等しくなったかどうかを判断する。このステップS67で“YES”が判断されると、つまり、それ以上子機を接続できないと判断したときには、ステップS69において、Eスロット領域ESlotに「ffh」を書き込む。
【0118】
なお、ステップS69の後、または、ステップS51,S57,S63もしくはS67においてそれぞれ“NO”が判断されたときには、いずれの場合にも子機の途中参加処理をやめてゲーム処理に戻る(図22のステップS49に戻る)。
【0119】
以上が、自機にOCモード対応でないカートリッジが装着されている場合で、かつ自機が親機になる場合の携帯ゲーム装置の処理である。
【0120】
次に、自機にOCモード対応のカートリッジが装着されている場合の携帯ゲーム装置の処理を説明する。
【0121】
図19のステップS5において“YES”が判断されたとき、すなわち、自機に図16に示すOCモード対応のカートリッジを装着している場合には、次のステップS71で、プロセサ20は、モード選択画面(図示せず)を表示する。そして、ステップS73において、通常モードが選択されたかどうか判断する。“YES”なら、先のステップS5で“NO”を判断したときと同様に、図20のステップS7に進む。すなわち、OCモード対応でないカートリッジを装着している場合の処理と、OCモード対応のカートリッジを装着しているが通常モードを選択した場合の処理は同じである。
【0122】
自機にOCモード対応のカートリッジが装着されていてかつOCモードのゲームをプレイする場合には、自機は親機にしかなれない。詳しく述べると、ステップS73で“NO”なら、すなわち、OCモードが選択された場合には、次のステップS75において、先のステップS29(図21)と同様に、図27,図28を参照して詳しく説明した親機の接続処理を実行する。ただし、このときには、1台の子機の使用可能スロット数Nは「1」とし(N=1)、最大接続可能台数Mとしては、ゲームで許容されている数を設定する。その後、ステップS77で、プロセサ20は、図16に示す転送用子機プログラム76を子機に転送(ダウンロード)する。その後、図22のステップS31に進み、前述と同様にそれぞれ以降の各ステップを実行する。
【0123】
以上が、自機にOCモード対応のカートリッジが装着されている場合の携帯ゲーム装置の処理である。
【0124】
次に、自機にOCモード対応でないカートリッジが装着されている場合で、かつ自機が子機になる場合の携帯ゲーム装置の処理を説明する。
【0125】
図21のステップS27で“NO”が判断されたときには、つまり自機が親機になるという選択をしなかったときには、続くステップS79において、携帯ゲーム機12のプロセサ20は、操作キー38からの操作信号を検証して、Aボタン(図示せず)が操作されたかどうか、つまり、接続を希望する親機を選択したかどうかを判断する。このステップS79で“YES”を判断ときには、プロセサ20は、続いて、ステップS81において、当該選択した親機との間で通信可能かどうかを判断する。すなわち、親機のカートリッジと自機のカートリッジが所定の関係にあって通信可能かどうかを判断する。通信可能なときには、その後、図24のステップS83に進み、子機の接続処理を実行する。この子機の接続処理は、詳しくは、図30および図31に示される。
【0126】
図30の最初のステップS3001では、子機となった携帯ゲーム機のプロセサ20が、親機パケット(図11)の受信を試みる。そして、次のステップS3003において、メニュー画面(図3等)で選択した親機の、フレーム同期データsyncを受信できたかどうか判断する。具体的には、メニュー画面で選択した親機のPIDを含む親機パケットの同期データsyncを受信できたかどうか判断する。
【0127】
ステップS3003で“NO”が判断されたとき、つまり、選択した親機の親機パケットが受信できなかった場合には、ステップS3005において、タイムアウト(時間切れ)かどうか判断し、このステップS3005で“NO”なら先のステップS3001に戻るが、“YES”なら、ステップS3007で接続結果変数(図18の領域88内の)に「失敗」を書き込んでリターンする。
【0128】
ステップS3003で“YES”が判断されたとき、つまり、対象としている親機の同期信号を受信できたときには、ステップS3009で、子機のプロセサ20は、同期タイマ(領域88)をリセットし、次のステップS3011に進む。このステップS3011では、プロセサ20は、擬似ランダム値を子機のID番号CIDとする。そして、ステップS3013において、このときのCIDを持った子機が既に存在するかどうか判断する。すなわち、受信した親機パケットのUスロットを参照して、同一のCIDが既に存在するかどうか、判断する。ステップS3013で“YES”の場合には一旦付与した番号を変更する必要があり、したがって、この場合には、ステップS3011を再度実行し、新たな番号CIDを付与して、ステップS3013での検証を再度実行する。
【0129】
ステップS3013で“NO”が得られるまでこれらステップS3011およびS3013が繰り返され、“NO”が得られたとき、次のステップS3015に進む。ステップS3015では、実付与スロット数nをゼロ(0)とし、さらに、次のステップS3017で、親機パケットを受信するとともに、ステップS3019において、同期タイマを再度リセットする。そして、ステップS3021において、プロセサ20は、受信した親機パケットのEスロットESlot(図11参照)が「ffh」であるかどうか判断する。このステップS3021で“YES”が判断されると、子機のエントリは禁止されているので、先のステップS3007を経て、「失敗」としてリターンする。
【0130】
ステップS3021で“NO”が判断されたときには、子機のエントリは禁止されてはいないので、図31のステップS3023に進む。ステップS3023では、子機のCPUコアは、そのときの親機パケットのEスロットフィールドESlotで示されるスロットにステップS3011で得た番号CIDを送信する。そして、次のステップS3025において親機パケットを受信するとともに、ステップS3027において同期タイマを再度リセットする。
【0131】
そして、続くステップS3029において、子機のプロセサ20は、受信した親機パケットのUスロットフィールドのエントリスロット位置に自身の番号(CID)があるかどうか確認する。そして、このステップS3029で“NO”を判断すると、次のステップS3031で、プロセサ20は、タイムアウトかどうか判断する。タイムアウトではない場合には、先のステップS3017(図30)に戻るが、タイムアウトを生じた場合には、図30のステップS3007において「失敗」を接続結果変数に書き込んだ後にリターンする。
【0132】
ステップS3029で“YES”が判断されたとき、つまり、受信した親機パケットのUスロットのエントリスロット位置に自身の番号(CID)があったときには、続くステップS3033において実付与スロット数nをインクリメント(+1)した後、ステップS3035において、実付与スロット数nが1台の子機に付与できる最大スロット数N(ただし、このNは、ゲームによって変化し、たとえば1−4の値である。)と等しくなったかどうか判断する。このステップS3035で“NO”が判断されるときには、つまり、スロットが未だ付与できるときには、先のステップS3025に戻って親機パケットを受信する。
【0133】
しかしながら、ステップS3035で“YES”が判断されると、可能な数のスロットがすべて割り付けられたものとして、次のステップS3037において、接続結果変数に「成功」を登録し、次のステップS3039に進む。このステップS3039では、接続した親機の親機番号PIDおよび獲得したスロット番号を自身の内部RAM28(図18)の領域88に格納する。ただし、スロット数は複数の場合もあり、この実施例では「0」−「3」のいずれかの数値である。そして、その後図24のステップS85にリターンする。
【0134】
そのステップS85では、領域88の接続結果変数を参照して、接続結果が「成功」かどうか判断する。そして、“NO”の場合には、次のステップS87において、メッセージたとえば「接続できませんでした」を子機のLCD18(図1)に表示して図20のステップS7に戻る。
【0135】
親機への接続成功の場合には、次のステップS89において、子機のプロセサ20は、親機に対して、自身に付与された子機スロットを利用して、自身のユーザ名およびゲーム名を送信する。そして、ステップS91において、ゲームスタートかどうか、すなわち、操作キー38に含まれるスタートボタンが押されたかどうか判断する。このステップS91でスタートボタンのオンが検出されると、次のステップS93において、子機の送受信処理を実行する。
【0136】
図24のステップS93で示す子機の送受信処理が、図32に詳細に示される。図32のステップS4001で親機パケットを受信し、次のステップS4003で同期タイマ(図18)をリセットする。そして、ステップS4005では、子機のプロセサ20は、送信バッファ92(図18)に未送信データがあるかどうか判断する。“YES”なら、次のステップS4007において、既に割り付けられている子機スロットを用いて、必要なデータ、たとえばCIDおよびペイロードを送信する。そして、未送信データがない場合、またはステップS4007の後、プロセスは、図24のステップS95にリターンする。
【0137】
再び図24に戻って、ステップS95では、子機のプロセサ20は、時間t2以上の間にわたって親機からのデータを受信できなかったかどうか判断する。この時間t2は、先の図22のステップS43での時間t1より短い。すなわち、t1>t2である。なぜなら、t1は親機が通信異常の子機を切断する時間であり、t2は子機が復帰処理を開始する時間であるので、親機は子機の復帰処理を待ってから切断する必要があるためである。“NO”の場合には、さらに次のステップS97で、受信した親機パケットのUスロットフィールドに自身の番号CIDが含まれているかどうか判断する。ステップS97で“YES”の場合には、ステップS99において、図22のゲーム処理を実行する。ただし、ステップS97で“NO”が判断されたときは、すなわち、親機パケットのUスロットフィールドに自機の番号がない場合には、ステップS101において、メッセージたとえば「親機から切断されました」をLCDに表示し、図20のステップS7に戻る。
【0138】
先のステップS95で“YES”が判断されたときには、つまり、一定時間t2以上にわたって親機からのデータを受信できなかったときには、ステップS103においてメッセージたとえば「親機と通信できなくなりました。復帰を試みます」を表示した後、ステップS105で、復帰処理を実行する。
【0139】
この復帰処理の詳細が図33に示されていて、この図33の最初のステップS5001では、子機のプロセサ20は、復帰すべき親機パケットの受信を試みる。そして、ステップS5003では、その親機からのブロードキャストデータを受信できたかどうか判断する。ただし、自分が復帰すべき親機かどうかは、図18の領域88に登録されている「接続先のPID」をみればわかる。
【0140】
ステップS5003で“NO”が判断されたとき、つまり、復帰すべき親機パケットのデータを受信できなかったとき、次のステップS5005で、タイムアウトになったかどうか判断する。そして、“NO”なら、先のステップS5003に戻るが、タイムアウトになってしまったら、次のステップS5007で、図18に示す領域88に含まれる復帰結果変数に「失敗」を書き込み、リターンする。
【0141】
先のステップS5003で“YES”が判断されたとき、すなわち、対象としている親機からの親機パケットを受信できたときには、次のステップS5009で同期タイマをリセットし、さらに、ステップS5011で親機パケットを受信する。そして、ステップS5013において、その親機パケットのUスロットフィールドに自身の番号CIDがあるかどうか判断する。受信した親機パケットに自機の番号があるということは、時間t2以上にわたる通信不能状態の原因は、親機による意図的な切断ではないということであり、したがって、次のステップS5015において、領域88(図18)の復帰結果変数に「成功」を登録してリターンする。このように復帰処理をすることによって、例えば、親機と子機が誤って通信可能範囲を外れた場合や、通信状態が悪くて通信ができなかった場合、または、子機を操作しているプレイヤに用事ができて、その子機プレイヤが少しの間通信可能範囲を外れる必要がある場合等に、それらの要因が解消されて通信が可能になった後に、以前の通信状態に復帰することが可能になる。
【0142】
ただし、ステップS5003で“YES”になってもステップS5013で“NO”が判断されたときには、通信不能が親機の意思による切断が原因であったものとして、先のステップS5007を経て、リターンする。
【0143】
図33のサブルーチンから図24のステップS107にリターンすると、このステップS107では、領域88の復帰結果変数を参照して、復帰が「成功」したかどうか判断する。“YES”なら、ステップS99に進んでゲーム処理を実行する。しかしながら、“NO”なら、ステップS109でメッセージたとえば「復帰できませんでした」を表示した後、図20のステップS7に戻る。
【0144】
以上が、自機にOCモード対応でないカートリッジが装着されている場合で、かつ自機が子機になる場合の携帯ゲーム装置の処理である。
【0145】
次に、自機にカートリッジが装着されていない場合の携帯ゲーム装置の処理を説明する。ただし、この場合には、自機は、OCモード対応のゲームの子機として動作できるだけである。
【0146】
図19に戻って、ステップS3で“NO”が判断されたとき、すなわちその子機にカートリッジがないことを検出した場合は、ブートROM(図1の24)のプログラムであるステップS111において、無線通信ユニット14(図1)のROM52に設定されているOCDプログラム(親機から子機用プログラムをダウンロードするためのプログラム)を携帯ゲーム機12のプロセサ20に含まれるWRAM28に展開し、その後ステップS113において、子機のプロセサ20は、そのWRAM28上に展開されたOCDプログラムを起動する。
【0147】
その後、図25のステップS115において、子機のプロセサ20は、図18に示すような親機リスト領域80をクリアするとともに、親機リストクリアタイマ82をリセットする。ついで、ステップS117において、親機パケットの受信を試みる。そして、ステップS119において、親機パケットの受信が成功したかどうか判断し、“NO”ならステップS125に進み、“YES”なら、ステップS121に進む。ステップS121では、受信した親機パケットに含まれる親機番号PIDと図18に示す親機リスト領域80に登録されている番号PIDとを比較して、その親機パケットを送信した親機が親機リスト内に存在しないかどうか判断する。このステップS121で“YES”が判断されると、ステップS123において、親機リストに新たな親機を登録するように、親機パケットから読み出された、親機番号PID,ユーザ名,ゲーム名,OCフラグおよびEスロットを親機リスト領域80に追加する。その後ステップS125に進む。
【0148】
ステップS125では、ステップS115でリセットした親機リストクリアタイマ82の値が「2秒」以上になったかどうか判断する。“YES”なら、ステップS127で親機リストすなわち親機リスト領域80をクリアするとともに、親機リストクリアタイマ82をリセットする。その後、ステップS125で“NO”を判断した場合と同様に、ステップS127に進む。
【0149】
ステップS127では、親機リストの内、「Eスロットが「ffh」でなくかつOCフラグが「1」である親機、つまり、OCモードでのゲームがプレイできかつ子機の参加(エントリ)を拒否していない親機の情報(ユーザ名,ゲーム名)を表示する。それによって、当該子機のユーザに対して図5に示すような親機リスト18Aを作成し、自機が接続したい親機を選択させる。そして、ステップS131で、Aボタン(図示せず)が操作されたかどうか判断する。つまり、どれか1つの親機が選択されたかどうか判断する。ステップS127で“NO”なら、つまり親機を選択しなかったら、次のステップS133で、操作キー38に含まれる十字キー(図示せず)が操作されたかどうか判断する。十字キーの操作は、エントリを希望する親機の選択のためにカーソルを移動させるためであり、したがって、このステップS133で“YES”なら、次のステップS135でカーソルを移動させ、ステップS113に戻る。
【0150】
ステップS131で“YES”が判断されると、ステップS139に進んで子機の接続処理(図30,図31)を実行する。
【0151】
ステップS137で、既に詳細に説明した方法に従って、子機の接続処理を実行し、次のステップS139で、図18の領域88の接続結果変数を参照して、接続が成功したかどうか判断する。“NO”なら、ステップS141でメッセージたとえば「接続できませんでした」を表示して、ステップS111に戻る。
【0152】
ステップS139で“YES”が判断されると、プロセサ20は、当該子機と成功裏に接続された親機に対して、自機のユーザ名,ゲーム名を送信する。その後、図26のステップS145に進み、OCモードでゲームをプレイするために、転送用子機プログラムを親機から受信して自機のRAM28(図1)内に展開するとともに、そのプログラムを起動させる。そして、その後は、ステップS147において、先に説明した図24ステップS91−S109と同様の各ステップを実行する。
【0153】
以上が、自機にカートリッジが装着されていない場合の携帯ゲーム装置の処理である。
【0154】
なお、図21のステップS81で“NO”が判断されたとき、すなわち、親機の選択を試みたが通信できなかったときには、ステップS149において、メッセージたとえば「その親機は選択できません」を表示して図20のステップS9に戻る。
また、図21のステップS79で“NO”が判断されたとき、つまり、BボタンもAボタンも操作されなかったときには、次のステップS151において、十字キー(図示せず)が操作されたかどうか、判断する。“NO”なら、次のステップS153で、さらにスタートキー(図示せず)が操作されたかどうか判断する。セレクトキーが操作されていないときは、図20のステップS9に戻る。ステップS153で“YES”が判断されたときには、ステップS153で、全表示フラグのオン/オフを切替えた後、同様にステップS9に戻る(すなわち、セレクトキーは全表示フラグのオン/オフの制御に使用される)。ただし、ステップS151で“YES”が判断されたときには、その十字キーの指示に従ってカーソルを移動させた後、ステップS9に戻る。
【0155】
なお、上述の実施例では、プログラムの進行に合わせて自機を親機とするか子機とするかを選択するようにした。しかしながら、直ちにこのような選択をするようにしてもよい。この場合には、図34に示すように、スタート直後の最初のステップS201で親機または子機の選択画面(図示せず)を表示し、その表示に従ってユーザが親機または子機を選択する。したがって、プロセサ20は、次のステップS203で、ユーザが親機を選択したかどうか判断する。ステップS203で“YES”の場合には、それ以後、先の図21のステップS29以降のステップを実行する。“NO”の場合、すなわち子機を選択したときには、図21に示すステップS7−S25,S79,S151−S157,およびS81−S109を実行する。
【図面の簡単な説明】
【図1】図1はこの発明の一実施例の無線送信ゲームシステムに用いられる携帯ゲーム装置の一例を示すブロック図である。
【図2】図2は図1実施例の携帯ゲーム装置を用いたゲームシステムの概略を説明するための図解図である。
【図3】図3は図2実施例において自機の周りのすべての親機の情報を表示する全表示フラグがオンされている場合の表示画面例を示す図解図である。
【図4】図4は図2実施例において、全表示フラグがオンされていない場合において、自機の周りに存在しかつ自機との間で通信ゲームが可能な親機だけを表示する表示画面例を示す図解図である。
【図5】図5は図2実施例において自機の周りに存在しかつOC(ワンカートリッジ)モードでゲームがプレイできる親機のみを表示する表示画面例を示す図解図である。
【図6】図6は図2実施例における或る状況での親機リストの表示画面例を示す図解図である。
【図7】図7は図2実施例において図6の状況でユーザ名「四郎」の携帯ゲーム装置が通信範囲に入ったときの親機リストの表示画面例を示す図解図である。
【図8】図8は図2実施例において図7の状況でユーザ名「一郎」の携帯ゲーム装置が通信範囲外に出たときの親機リストの表示画面例を示す図解図である。
【図9】図9は図2実施例において自機が親機でありかつ子機の接続(エントリ)を待っている状態の子機リストの表示画面例を示す図解図である。
【図10】図10は図2実施例におけるデータサイクルの一例を示す図解図である。
【図11】図11は図10実施例における親機スロットに送出される親機パケットの一例を示す図解図である。
【図12】図12は図11におけるUスロットを詳細に示す図解図である。
【図13】図13は図10実施例における子機スロットに送出される子機パケットの一例を示す図解図である。
【図14】図14は図1実施例の或る状況における通信データの具体例を示す図解図である。
【図15】図15はOCモードには対応しないカートリッジのメモリマップの一例を示す図解図である。
【図16】図16はOCモードに対応するカートリッジのメモリマップの一例を示す図解図である。
【図17】図17は図1実施例の無線通信ユニットに含まれるEEPROMのメモリマップの一例を示す図解図である。
【図18】図18は図1実施例において携帯ゲーム装置を構成する携帯ゲーム機の内部RAMのメモリマップの一例を示す図解図である。
【図19】図19は図1実施例の携帯ゲーム機の動作を示すメインフローの一部を示すフロー図である。
【図20】図20は図19の続きを示すフロー図である。
【図21】図21は図20の続きを示すフロー図である。
【図22】図22は図21の続きを示すフロー図である。
【図23】図23は図22の続きを示すフロー図である。
【図24】図24は図21の続きを示すフロー図である。
【図25】図25は図19の続きを示すフロー図である。
【図26】図26は図25の続きを示すフロー図である。
【図27】図27は親機の接続処理の動作の一部を示すフロー図である。
【図28】図28は図27の続きを示すフロー図である。
【図29】図29は親機の送受信処理の動作を示すフロー図である。
【図30】図30は子機の接続処理の動作の一部を示すフロー図である。
【図31】図31は図30の続きを示すフロー図である。
【図32】図32は子機の送受信処理の動作を示すフロー図である。
【図33】図33は子機の復帰処理の動作を示すフロー図である。
【図34】図34は自機を親機とするか子機とするかの選択を最初に行う実施例の要部を示すフロー図である。
【符号の説明】
10 …携帯ゲーム装置
12 …携帯ゲーム機
14 …無線通信ユニット
16 …カートリッジ
18 …LCD
20 …プロセサ
22 …CPUコア
24 …ブートROM
28 …WRAM
38 …操作キー
42 …ROM
54 …EEPROM
[0001]
[Industrial application fields]
The present invention relates to a game system using wireless communication, and more particularly to a wireless communication game system, an entry processing method, an entry processing method, and a portable game device and a game program used for the entry processing of a newly entered portable game device.
[0002]
[Prior art]
An example of a conventional wireless communication game system is disclosed in, for example, Patent Document 1 (International Classification: A63F13 / 00, H04L12 / 28) filed on May 16, 2000. In this prior art, when a new game device enters (joins) a communication game, it receives communication data from another game device, confirms an empty time slot, and transmits an entry request to the empty time slot ( (See paragraph 35).
[0003]
[Patent Document 1]
JP 2000-135380 A
[0004]
[Problems to be solved by the invention]
In the above-described prior art, since each game device independently detects an empty time slot, there is a case where processing is wasteful, and when the communication state is bad, the empty time slot cannot be detected accurately. In addition, since a specific game device does not perform leading processing regarding entry processing, there is no certainty in entry processing.
[0005]
Therefore, a main object of the present invention is to provide a novel wireless communication game system, an entry processing method, a portable game device, and a game program.
[0006]
Another object of the present invention is to provide a wireless communication game system, an entry processing method, a portable game device, and a game program that can perform entry processing quickly and reliably.
[0007]
[Means for Solving the Problems]
The present invention is a wireless communication game system using a plurality of portable game devices. A portable game device can be a parent device or a child device (a game device can be fixed in advance as a parent device or a child device, or both a parent device and a child device can be selectively selected. It may be one side). In addition, the portable game devices can wirelessly communicate with each other at a predetermined communication cycle. This communication cycle is composed of a first time slot and a second time slot including a plurality of sub time slots. The parent device broadcasts the parent device packet in the first time slot and receives the child device packet in the second time slot. The parent device further includes first sub time slot determination means, entry request detection means, and parent device packet setting means. The first sub time slot determining means determines a first sub time slot to be used by a new slave unit among the plurality of sub time slots. The entry request detection means detects an entry request transmitted from the new slave unit to the first sub time slot. The base unit packet setting means sets specification data for specifying the first sub time slot in the base unit packet, and sets use permission data in the base unit packet in response to the entry request. The slave unit transmits the slave unit packet in at least one sub time slot among the plurality of sub time slots, and receives the master unit packet in the first time slot. The slave unit further includes entry request transmission means and success / failure determination means. The entry request transmission means transmits the entry request to the first sub time slot indicated by the designation data included in the parent device packet. The success / failure determination means determines the success / failure of the entry based on whether or not the use permission data is broadcast in the first sub time slot of the parent device packet.
[0008]
The invention of claim 2 is dependent on claim 1, wherein the use permission data includes use permission data for each sub time slot, and the parent device packet setting means uses the use permission data for the first sub time slot. The permission is set, and the success / failure determination means determines the success / failure of the entry based on the use permission data for the first sub time slot.
[0009]
The invention according to claim 3 is dependent on claim 1 or 2, and the first time slot has a dedicated time slot for transmitting designated data and use permission data in addition to a payload field for transmitting game data. 1 field and 2nd field are included. The base unit packet setting means sets the designation data in the first field and sets the use permission data in the second field.
[0010]
The invention of claim 4 is dependent on claim 3, and the parent device packet setting means sets the designated data in the first field during the execution of the game.
[0011]
The invention of claim 5 is dependent on claim 3 or 4, and the master unit prohibits entry of a new slave unit by setting predetermined data (data meaning prohibition of entry) in the first field. And a prohibiting means.
[0012]
The invention of claim 6 is dependent on any one of claims 1 to 5, and the slave unit further includes identification data storage means for storing identification data of the own unit. The identification data may be fixedly determined in advance or may be generated by a program process. The entry request transmission means includes identification data transmission means for transmitting identification data in the first sub time slot, and the entry request detection means includes detection means for detecting identification data transmitted in the first sub time slot.
[0013]
The invention of claim 7 is dependent on claim 6, wherein the parent device packet setting means includes means for setting identification data in the second field, and the success / failure determination means determines whether or not the identification data exists in the second field. A wireless communication game system including means.
[0014]
The invention of claim 8 is dependent on claim 7, wherein the second field includes a subfield for each sub time slot, and the base station packet setting means includes a sub field for the first sub time slot of the second field. The field includes means for setting identification data in the field, and the success / failure determination means includes means for determining whether or not the identification data exists in the subfield for the first sub time slot in the second field.
[0015]
The invention of claim 9 is dependent on claim 8, and when the child device newly enters the parent device, the identification data set in the second field is referred to the second field of the parent device packet. This is a wireless communication game system including identification data setting means for setting identification data different from.
[0016]
A tenth aspect of the present invention is dependent on the seventh aspect, and the slave unit further includes connection disconnection detecting means for detecting disconnection by the master unit due to the absence of the identification data in the second field.
[0017]
The invention of claim 11 is dependent on any one of claims 1 to 10, wherein the master unit determines the maximum number of sub time slots allocated to one slave unit according to the game to be executed. Is further provided.
[0018]
A twelfth aspect of the present invention is dependent on any one of the first to eleventh aspects, and the parent device further includes entry number determining means for determining the maximum number of child devices that permit entry according to the game to be executed.
[0019]
The invention of claim 13 is dependent on claim 1, and the use permission data includes use permission data for each sub time slot. Each use permission data is identification data of the slave unit. The parent device further includes a child device list display means for displaying a list of connected child devices based on the use permission data.
[0020]
The invention of claim 14 is dependent on claim 13, and the master unit is configured by an operation unit and an operation unit for selecting, from the slave unit list, a slave unit that the user desires to disconnect from among the connected slave units. A wireless communication game system comprising: a disconnecting unit that disconnects a connection with a selected slave unit; and a deletion unit that deletes data of a slave unit that has been disconnected by the disconnection unit from use permission data.
[0021]
The invention of claim 15 is an entry processing method in a wireless communication game system, and includes the following steps (the wireless communication game system includes a first time slot and a second time slot including a plurality of sub time slots. (A) The parent device designates the first sub time slot to be used by the child device. (A) The parent device designates the first sub time slot to be used by the child device. (B) The slave unit transmits an entry request in the first sub time slot designated by the designated data. (C) The master unit transmits the slave unit in the first sub time slot. (D) the base unit sets use permission data permitting the entry request in the base unit packet, and (e) Machine determines the success or failure of the entry request based on use permission data in the parent device packet.
[0022]
The invention of claim 16 is a program for causing a processor of a portable game device to execute the following steps in a wireless communication game system using a plurality of portable game devices. (The portable game device can perform wireless communication with each other in a communication cycle constituted by the first time slot and the second time slot including a plurality of sub time slots, and becomes a parent device or a child device): (a) Parent A broadcast step of broadcasting a master unit packet including designated data designating a first sub time slot to be used by the slave unit by a processor of the slave unit; (b) a first sub designated by the designated data by the processor of the slave unit; A transmission step for transmitting an entry request in a time slot; (c) a detection step for detecting an entry request transmitted from a slave unit in the first sub time slot by the processor of the master unit; and (d) an entry by the processor of the master unit. A setting step for setting use permission data for permitting the request in the base unit packet, and (E) Success / failure determination step of causing the processor of the slave unit to determine whether the entry request is successful based on the use permission data of the master unit packet.
[0023]
The invention of claim 17 is dependent on claim 16 and further comprises a parent-child determination step for determining whether the own device becomes a parent device or a child device, and the parent-child determination step determines that the device becomes the parent device. In the case where steps (a), (c) and (d) are executed by the processor of the portable game device, and it is determined by the parent-child determination step that the device becomes a child device, steps (b) and (e) are performed. The processor of the portable game device is executed.
The invention according to claim 18 is the wireless communication game system in which the parent device broadcasts the parent device packet from the parent device in the first time slot and transmits the child device packet from the child device to the parent device in the second time slot. The identification data of the connected slave unit is set in the base unit packet, and when the slave unit newly enters the base unit, the identification data different from the identification data already set in the base unit packet is identified. It is determined as data, and the identification data is transmitted in a slave unit packet.
[0024]
The invention of claim 19 uses a plurality of portable game devices, one of which is a parent device and the other is a child device, the parent device broadcasts the parent device packet in the first time slot and receives the child device packet in the second time slot. A portable game device for receiving and playing a wireless communication game by transmitting a child device packet in at least one sub time slot included in the second time slot and receiving the parent device packet in the first time slot; And, for the parent device, broadcasts the parent device packet in the first time slot and receives the child device packet in the second time slot, and (a) a new child device in the sub time slot. A first sub time slot determining means for determining a first sub time slot to be used by the first sub time slot; Entry request detecting means for detecting an entry request transmitted to a lot; and (c) a parent for setting a parent device packet including designation data designating a first sub time slot and use permission data set in response to the entry request A device packet setting means for transmitting a child device packet in at least one sub time slot among sub time slots and receiving a parent device packet in a first time slot for the child device; (d) Entry request transmitting means for transmitting an entry request to the first sub time slot indicated by the designated data included in the parent device packet; and (e) success / failure determining means for determining the success or failure of the entry based on use permission data of the parent device packet. Prepare.
[0025]
[Action]
In the embodiment, the wireless communication game system is configured by using at least two portable game devices (10: reference numerals corresponding to the embodiments; the same applies hereinafter). The portable game device (10) of the embodiment includes a portable game machine (12) and a wireless communication unit (14) attached to the portable game machine. In the case of a parent device, the portable game device broadcasts the parent device packet in the first time slot (parent device slot) and uses the wireless communication unit (14) to form the second time slot. A handset packet is received at one of the handset slots 0-3. In the case of the slave unit, the master unit packet is received in the first time slot, and the slave unit packet is transmitted to the master unit in the second time slot.
[0026]
In the embodiment, the first time slot determining means includes a processor (20) of the portable game machine and step S1009 of FIG. 27 executed thereby. In this step S1009, the processor determines the E slot of the parent machine packet. In the field (ESlot), designation data (specifically, a sub time slot number) that designates a first sub time slot that is not used, that is, vacant is set.
[0027]
The slave unit transmits an entry request to the first sub time slot indicated by the designated data included in the master unit packet. In this embodiment, the entry request is the child device number (CID) of the own device, and the processor (20) of the portable game device serving as the child device sets the first CID of the own device in step S3023 of FIG. Transmit in sub time slot.
[0028]
In the embodiment, the entry request detection means of the master unit includes the processor (20) and step S1021 of FIG. 27 executed by the processor. In this step S1021, the processor indicates the first data indicated by the designated data (ESlot). It is determined whether or not the child device CID transmitted from the child device in one sub time slot has been received. This entry request detection means detects an entry request from the slave unit and permits the entry request.
[0029]
The parent device packet set by the parent device packet setting means includes designation data and use permission data. In the embodiment, the base unit packet setting means corresponding to step S1029 in FIG. 27 stores, for example, the CID of the slave unit that has requested entry in the entry slot position of the U slot field (USlot).
[0030]
Therefore, the success / failure determination means of the child device first determines whether or not its own CID exists at the entry slot position of the field (USlot) of the parent device packet in step S3029 in FIG. It can be determined whether or not the sent entry request is permitted.
[0031]
According to the second aspect, since the use permission data is set in the first sub time slot, a special time slot for giving the use permission for the entry request is not required.
[0032]
The first field and the second field of claim 3 are the fields ESlot and USlot of FIG. 11 in the embodiment, respectively, the designated data is set in the field Eslot, and the use permission data is set in the USlot. Therefore, according to the third aspect, since the base unit packet includes the designation data and the use permission data, and such a base unit packet is broadcast in a predetermined communication cycle, the slave unit can enter at any time. can do.
[0033]
According to the fourth aspect, since the designated data is set during the game, the slave unit can request entry during the game and determine whether or not it is possible.
[0034]
In the embodiment, the prohibiting means according to claim 5 corresponds to the processor of the master unit and step S31 (FIG. 22) or step S69 (FIG. 23) executed by the processor, and specific data such as “ ffh "is set. Therefore, according to claim 5, it is not necessary to secure a separate time slot for entry prohibition.
[0035]
The identification data storage means of claim 6 is the area CID of the handset variable area 88 shown in FIG. 18 in the embodiment. In step S3023 (FIG. 31) of the embodiment, it is stored in that area for the entry request. Identification data, that is, CID is used. Therefore, even in a situation where there are a large number of child devices, each child device is reliably identified by the identification data, so that entry processing can be performed without confusion.
[0036]
Also in claim 7, since the identification data is used as the use permission data in 1029 (FIG. 27) of the embodiment, the same effect as in claim 5 can be expected.
[0037]
In the eighth aspect, the U slot shown in FIG. 11 specifically includes a subfield for each sub time slot as shown in FIG. 12, and the parent device packet setting means sets identification data in the subfield. Therefore, the success / failure determination means of the slave unit determines the success or failure of the entry depending on whether or not its own number CID exists in the subfield. According to the eighth aspect, the same effect as that of the seventh aspect can be expected.
[0038]
The identification data setting means of claim 9 includes, in the embodiment, a processor of the slave unit and steps S3011 and S3013 (FIG. 30) executed thereby, and is already used by another slave unit. Duplicate use of identification data can be reliably avoided. Further, since it is not necessary to set the identification data of the slave unit when manufacturing the slave unit, the manufacturing cost can be reduced.
[0039]
Claim 10 corresponds to steps S97 and S101 (FIG. 24) in the embodiment. The identification data is not used only at the time of entry, but can also be used for determining disconnection by the parent device by using the identification data during execution of the communication game.
[0040]
Claim 11 corresponds to step S1001 (FIG. 27) in the embodiment, and claim 12 corresponds to step S1001 in the embodiment. That is, in the embodiment, in step S1001 of FIG. 27, as the initial setting, the maximum number (N) of sub time slots to be assigned to one slave unit is set according to the game program to be executed, and the game program to be executed The maximum number (M) of slave units that allow entry is set according to.
[0041]
Since the maximum number of sub time slots assigned to one slave unit and the maximum number of slave units that can participate simultaneously can be determined according to the game, one sub time slot can be selected within a certain number of sub time slots. Either increase the data rate by increasing the number of slaves that can be assigned by reducing the number of slaves that can be assigned, or by increasing the number of slaves that can be assigned to one slave. It can be determined according to the content. For example, the former is used when the game is more interesting for many players to participate, and the latter is used when the game has a large amount of communication.
[0042]
Claim 13 corresponds to step S1039 (FIG. 28) in the embodiment, and claim 14 corresponds to step S1013 (FIG. 27) in the embodiment. As a result, the master unit can select a slave unit that does not want to play the communication game, and can arbitrarily disconnect the communication.
[0043]
According to the fifteenth and sixteenth aspects of the invention, the same effect as the wireless communication game system of the first aspect can be expected. However, in claim 17, the same portable game machine can be used as a parent machine or a child machine.
[0044]
Also in the invention of claim 18, since the identification data different from the identification data already set in the parent device packet (second field) is used for the entry request, the same effect as that of the invention of claim 9 is obtained. I can expect.
[0045]
According to the nineteenth aspect of the present invention, it is possible to play a wireless communication game in which one is a parent device and the other is a child device using a plurality of the same portable game devices.
[0046]
【The invention's effect】
According to the present invention, the parent device can take a leading role with respect to the entry and reliably execute the entry process. Further, since an entry request is issued from the slave unit to the first sub time slot whose vacancy is confirmed, a dedicated slot for entry request is not required.
[0047]
The above object, other objects, features and advantages of the present invention will become more apparent from the following detailed description of embodiments with reference to the drawings.
[0048]
【Example】
As an example, the wireless communication game system to which the present invention is applied uses a portable game apparatus 10 as shown in FIG. In this embodiment, the portable game apparatus 10 includes a portable game machine 12 such as Game Boy Advance (trade name), a wireless communication unit 14 and a cartridge connector connected to the communication connector 46 of the portable game machine 12. 40 includes a cartridge 16 connected. That is, in this embodiment, the portable game device 10 is constituted by the portable game machine 12, the wireless communication unit 14, and the cartridge 16.
[0049]
A portable game machine 12 shown in FIG. 1 includes a processor 20, which includes a CPU core 22, a boot ROM 24, an LCD controller 26, a WRAM (working RAM: hereinafter the same) 28, a VRAM 30 and a peripheral circuit 32. including. However, the peripheral circuit 32 includes a sound (sound) circuit, a DMA (Direct Memory Access) circuit, a timer circuit, an input / output interface (IO), and the like. The LCD 18 provided on the front surface of the portable game machine 12 is provided with a display signal from the processor 20, in this embodiment, an RGB signal, so that the game image is displayed in color on the LCD 18. Then, an audio signal is given from the processor 20 to the sound circuit 34, and sounds such as game music and sound effects are output from the speaker 36 by the audio signal. A cross key, a start key, a select key, an A button, and a B button provided on the front surface of the portable game machine 12 with the LCD 18 interposed therebetween are collectively shown as an operation switch 38, and an operation signal from the operation switch 38 is sent to the processor 20. Is input. Therefore, the processor 20 executes processing in accordance with the user instruction given through the operation switch 38.
[0050]
The portable game machine 16 has a cartridge connector 40, and the cartridge 16 is connected or inserted into the cartridge connector 40. The cartridge 16 includes a ROM 42 and a backup RAM 44, and a game program for a game to be executed on the portable game machine 12 is set in advance in the ROM 42 together with the game name. The backup RAM 44 stores mid-game data and game result data.
[0051]
The portable game machine 16 is further provided with a communication connector 46, and a connector 48 of the wireless communication unit 14 is connected to the communication connector 46. The portable game machine 12 used in the embodiment is, for example, Game Boy Advance (trade name). In this case, the above-described cartridge connector 40 is provided on the back side of the upper surface when the LCD 18 is the front surface (front surface). The communication connector 46 is a 6-pin connector provided on the front side of the upper surface.
[0052]
The wireless communication unit 14 includes a baseband IC 50, and the baseband IC 50 includes a ROM 52. The ROM 52 includes, for example, an OCD (One-Cartridge Download) program and other programs, and the baseband IC 50 operates according to these programs. The one-cartridge download program is an OC mode (one-cartridge mode: a mode in which a game cartridge is attached only to the master unit, and the slave unit operates upon receiving a slave unit program download from the master unit cartridge). The program for downloading the program to the handset.
[0053]
The wireless communication unit 14 is further provided with an EEPROM 54, and a user name is uniquely set in the EEPROM 54, for example. The base band IC 50 transmits data including the user name to an RF (Radio Frequency) -IC 56, and the RF-IC 56 modulates the data and transmits a radio wave from the antenna 58. However, the radio field intensity is very weak and is set to such a small value that it is not subject to regulations of the Radio Law. The wireless communication unit 14 is provided with a power supply circuit 60. The power supply circuit 60 is typically a battery and supplies direct current power to each component of the wireless communication unit 14.
[0054]
In the wireless communication unit 14, the radio wave transmitted from another portable game device is received by the antenna 58 and demodulated by the RF-IC 56, and the demodulated signal is input to the baseband IC 50. Therefore, the baseband IC 50 decodes the demodulated signal, restores the data, and transfers the data to the portable game machine 12 or the WRAM 28 via the connectors 48 and 46.
[0055]
In the wireless communication game system of the embodiment according to the present invention, a plurality of portable game apparatuses 10 as shown in FIG. 1 are used. A dotted line 64 in FIG. 2 indicates a communicable range of the own portable game device 62. Then, the portable game device 62 may be able to enter a portable game device that exists in the communicable range 64. The communicable range 64 is a range in which data communication between the parent device and the child device can be performed by the above-described weak radio wave, and any of the plurality of portable game devices existing in the communicable range 64 is Optionally, it can be a parent machine or a child machine. In the illustrated example, within the range 64, there are four master units, three slave units, and one own unit 62.
[0056]
When the own device 62 participates in the game, it is necessary to become a parent device or a child device. When your machine becomes a child machine, you need to find a parent machine that you can join. When searching for a parent machine, it is necessary to search for a different parent machine depending on whether or not the own machine has a cartridge.
[0057]
First, in the case where the own device 62 is a portable game device equipped with the cartridge 16 shown in FIG. 1, an all display flag (described later) indicating that all the parent devices around the own device 62 are displayed is “ When “1” is set, a parent machine list 18A as shown in FIG. 3 is displayed on the LCD 18 of the portable game machine 12 shown in FIG. In the parent device list 18A of FIG. 3, all parent devices existing in the communicable range 64 (FIG. 2), that is, three parent users whose user names are “Taro”, “Ichiro”, and “Jiro”, respectively. The machine is displayed. Therefore, when the user of his / her own device wants to operate or function his / her own device as a child device, he / she designates the parent device to which he / she wants to connect by moving the cursor with the cross key included in the operation key 38 (FIG. 1). The selection can be made by pressing the A button included in the operation key 38 later.
[0058]
However, when the user wants to use his / her own device as the parent device, the user may press the B button included in the operation key 38.
[0059]
In FIG. 2, although there are four parent devices in the range 64, only three parent devices are displayed in the parent device list 18A of FIG. 3 for the following reason. The base unit with the user name “Saburo” has the entry slot ESlot set to “ffh”. This entry slot ESlot is a flag indicating whether or not a new child device is desired. When this entry slot ESlot is set to “ffh”, the parent device refuses new participation of the child device. Therefore, such a master unit is not displayed. Since the master unit with the user name “Saburo” has reached the maximum number of slave units that can be entered, it does not want a new slave unit.
[0060]
Further, in the parent device list 18A of FIG. 3, a circle (◯) is added to the parent device of the user name “Jiro”. This circle (◯) indicates that the game in the OC mode can be played.
[0061]
Further, when the all display flag is OFF, the parent device list 18A shown in FIG. In this case, only the parent device that can communicate with its own game cartridge, for example, Mario Kart-1, (in this example, the parent device whose user name is “Taro”) is displayed. This is because a Mario Kart-2 cartridge is installed in the parent device of the user name “Taro”, and Mario Kart-1 and Mario Kart-2 can communicate with each other. . If there is a parent device in which the Mario Kart-1 cartridge is mounted in the communicable range 64, the parent device is naturally displayed.
[0062]
In the above example, the Mario Kart-1 cartridge is attached to the own device (slave device). However, if the player wants to play a game in the OC mode without attaching the cartridge to the own device, the LCD 18 displays, for example, FIG. 5 is displayed. In the parent machine list 18A of FIG. 5, only the parent machine that can support the OC mode, in this example, the parent machine with the user name “Jiro” is displayed (“F-ZERO” is a game that supports the OC mode). However, in this case, since the cartridge is not mounted in the own machine, the own machine cannot become the parent machine. Therefore, the message shown in FIG. 3 or FIG. 4 that “Please press the B button when you want to become the parent machine” is not displayed.
[0063]
Next, referring to FIG. 6 to FIG. 8, the master unit with the user name “Shiro” enters the communicable range 64 shown in FIG. 2, and then the master unit with the user name “Ichiro” goes outside the range 64. A change in the display of the own device 62 in the case of failure will be described. When the parent device of the user name “Shiro” is out of the range, as shown in FIG. 6, the same parent device list 18 </ b> A as FIG. 3 is displayed on the LCD 18 of the own device 62.
[0064]
Thereafter, when the parent device having the user name “Shiro” enters the range, the parent device list 18A shown in FIG. 7 is displayed. However, it is assumed that all display flags of the own device 62 are turned on. That is, the parent device having the user name “Shiro” is displayed in addition to the parent devices having the user names “Taro”, “Ichiro”, and “Jiro”, respectively.
[0065]
Then, when the parent device having the user name “Ichiro” moves out of the range 64, the parent device list 18A in FIG. 8 is displayed. The parent device with the user name “Ichiro” is not displayed in this parent device list.
[0066]
Further, when the own device is a parent device and is waiting for the participation of a new child device, the child device list 18B shown in FIG. Looking at this handset list 18B, it can be seen that handset devices whose user names are “Goro”, “Rokuro”, and “Nanaro” are currently connected to their own devices. Here, since the present embodiment is a wireless communication game system in which a game is progressed while wireless communication between the parent device and the child device is performed using weak radio waves, the term “connection” should not be used originally. However, the term “wired communication” is used as a term representing the link state in which communication is possible between the portable game device serving as the parent device and the portable game device serving as the child device, and expressed as “connection” for convenience. And
[0067]
Next, a data packet format when wireless communication is performed between a parent device and a child device in a connected state will be described with reference to FIGS. As shown in FIG. 10, one data cycle is 2 milliseconds, and the data cycle includes one master unit slot and a plurality of (four in this embodiment) slave unit slots. In the parent device slot, the parent device packet specifically shown in FIG. 11 is broadcast (broadcast), and in each of the four child device slots, the child device packet specifically shown in FIG. 13 is transmitted to the parent device. Is called.
[0068]
As shown in FIG. 11, the base unit packet has a field sync for storing synchronization data at its head, and stores the number (identification code) PID of the base unit following the synchronization data field sync. Field PID for Following the field PID, a user name field UserName and a game name field GameName are formed. In the user name field UserName, the user name read from the EEPROM 54 (FIG. 1), such as “Taro” and “Ichiro” in the above example, is registered, and in the game name field GameName, the game name, the above example In other words, MarioKart-1, Mario Kart-2, F-Zero, Golf,... Are registered. However, if the cartridge 16 (FIG. 1) is mounted, the game name (68 in FIG. 16) read from the ROM 42 (FIG. 1) can be automatically registered in the game name field GameName.
[0069]
The parent device packet further includes a flag OC, and this flag OC is a flag indicating whether or not the one-cartridge (OC) mode described above can be supported. Specifically, when the flag OC is reset, that is, when OC = 0, the game machine of the parent machine at that time is not compatible with the OC mode, or can be compatible with the OC mode, but at present, Indicates that you are playing in normal mode. When the flag OC is set, that is, when OC = 1, it indicates that the OC mode can be supported and that the OC mode is currently being played. Therefore, a user who does not have a cartridge needs to search for a parent machine whose flag OC is “1”.
[0070]
Subsequent to the flag OC, the base unit packet includes fields ESlot, USlot, and Payload sequentially. The E slot field ESlot stores the number of the slave unit slot that can be entered (participated). That is, the slot number that can be used by the newly participating slave unit is stored. In the U slot field USlot, the usage status of the slave unit slot is stored. Specifically, it is shown in FIG. That is, U slot field USlot includes four areas, and each of the four areas corresponds to slave unit slot 0, slave unit slot 1, slave unit slot 2, and slave unit slot 3. In each area, the number (identification code) CID of the slave unit to which the corresponding slave unit slot is assigned is stored. When the handset number CID corresponding to the corresponding area is registered, it is understood that the handset slot is being used.
[0071]
The payload field Payload is a field for transmitting game data necessary for the game process, and is a field for storing game data transmitted from the parent device to the child device.
[0072]
FIG. 13 shows a handset packet sent from the handset to the handset slot assigned to the handset. That is, the child device packet includes a head field CID for storing or registering the child device number CID and a payload field Payload subsequent thereto. The payload field Payload is a field for storing game data transmitted from the child device to the parent device.
[0073]
FIG. 14 shows a specific example. In the example of FIG. 14, it is understood that “58” is stored in the parent device number field PID, and therefore, the parent device number PID is “58”. The user name of the parent device is “Taro”, the game name is Mario Kart, the flag OC is “0”, “2” is registered in the E slot field ESlot, and the U slot field Uslot , A slave unit having a slave unit number (CID) of “16” is connected to the slave unit slot 0, and a slave unit having “130” is connected to the slave unit slot 1, The slave slots 2 and 3 are both “0h”, so that it is understood that they are empty slots.
[0074]
When a new slave unit tries to connect to the master unit in such a state, referring to the U slot field USlot of the master unit, “16” and “130” are used as the slave unit number CID. Therefore, the other handset number CID is determined by generating a random number, for example. As an example, assume that “86” is determined as the CID of the child device. Therefore, the slave unit transmits CID = 86 to the slave unit slot (slave unit slot 2) designated by ESlot.
[0075]
Then, by receiving “86” in the slave unit slot 2, the master unit knows that the slave unit having “86” as the slave unit number CID wants to enter. Then, whether or not to permit the entry is determined. When the entry is permitted, the master unit sets “86” in the area corresponding to the slave unit slot 2 of the Uslot. The parent device packet shown is broadcast, and it is notified that the participation of the child device having the child device number CID of “86” is newly permitted. At the same time, the newly joined child device confirms that CID = 86 as its own child device number in the area corresponding to the slave device slot 2 of the Uslot, and can determine that the entry has succeeded.
[0076]
FIG. 15 shows a memory map of a cartridge that does not support the OC mode, and FIG. 16 shows a memory map of a cartridge that can support the OC mode.
[0077]
In the embodiment of FIG. 15, the ROM 42 (FIG. 1) included in the cartridge 16 includes a game program area 62 and a game name area 64. In the game program area 62, a common program 66, a parent device program 68, and a child device program 70 are stored in advance. The common program 66 is a program used regardless of whether the own device is a parent device or a child device. That is, when the own device is a parent device, a common program and a later-described parent device program are executed, and when the own device is a child device, a common program and a later-described child device program are executed. The parent device program 68 is a program that operates only when the own device functions as the parent device, and includes variables M and N and a flag OC set to “0” (that is, turned off). However, the variable M indicates the maximum number of slave units that can be simultaneously connected to the master unit, and the variable N indicates the maximum number of slots that can be used by one slave unit. Note that both these variables M and N vary from game to game. The child device program 70 is a program that operates only when the own device functions as a child device, and includes the variable N described above. In the game name area 64, names of the game programs, for example, Mario Kart-1, Golf,.
[0078]
Also in the embodiment of FIG. 16, the ROM 44 of the cartridge 16 includes a game program area 62 and a game name area 64. In the game program area 62, the same common program 66, parent device program 68, and child device program 70 as those in FIG. 15 are set, and an OC mode game program 72 is set to correspond to the OC mode. The OC mode game program 72 includes a parent device program 74 and a transfer child device program 76. The base unit program 74 is the same as the previous base unit program 68 except that the flag OC is set to “1”. The transfer handset program 76 is a program for transferring to a handset that plays a game in the OC mode, and includes a variable N. A child device that enters in the OC mode can participate in the game by receiving the transfer child device program 76 transferred (downloaded) from the parent device.
[0079]
FIG. 17 shows a memory map of the EEPROM 54 of the wireless communication unit 14 shown in FIG. 1. As shown in FIG. 17, the EEPROM 54 includes a user name area 78, and the user name area 78 includes a user name. For example, “Taro”, “Ichiro”, etc. are registered.
[0080]
Referring to the memory map shown in FIG. 18, the WRAM 28 (FIG. 1) of the game machine 12 includes a parent machine list area 80, a parent machine list clear timer 82, a child machine list area 84, variable areas 86 and 88, and a game variable area 90. , A transmission buffer area 92 and a reception buffer area 94.
[0081]
The base unit list area 80 is data for displaying the base unit list 18A described above with reference to FIG. 3, for example, base unit number (PID), user name (UserName), game name (GameName), flags OC, E This is an area for temporarily storing and holding the slot field ESlot.
[0082]
The base unit list clear timer 82 is a timer for measuring the time until the data in the base unit list area 80 is cleared. As will be described later, when the timer 82 expires, the base unit list area 80 Is automatically cleared.
[0083]
The handset list area 84 temporarily stores data for displaying the handset list 18B described above with reference to FIG. 9, such as handset number (CID), user name (UserName), and game name (GameName). It is an area for holding.
[0084]
The WRAM 28 further stores a parent machine variable area 86 for storing variables used when the own machine operates (behaves) as a parent machine, and variables used when the own machine operates (behaves) as a child machine. It includes a handset variable area 88 for storing.
[0085]
In the base unit variable area 86, for example, data for each field PID, USlot, and ESlot shown in FIG. 11, a slave unit number (CID) of a slave unit to be connected, and variables n and m are set. Here, the variable n indicates the number of slots actually allocated to one slave unit, and the maximum number is given by the variable N described above. The variable m indicates the number of slave units that are actually connected to one master unit at the same time, and the maximum number is given by the variable M described above.
[0086]
In the cordless handset variable area 88, for example, data for the field CID shown in FIG. 12 is set, a variable indicating the connection result, a variable indicating the return result, a base number (PID) of the parent device of the connection destination, The acquired slot number (s), synchronization timer, variable n, and all display flags are set.
[0087]
The game variable area 90 is an area for storing game variables during game execution, for example, variables indicating the number of cleared stages and acquired items. The transmission buffer 92 and the reception buffer 94 are areas for temporarily storing transmission data and reception data, respectively.
[0088]
Two or more portable game apparatuses 10 each having such a configuration construct a game system. The operation of each portable game apparatus 10 in the game system will be described below with reference to a flowchart.
[0089]
Prior to the detailed description, when a cartridge that is not compatible with the OC mode is mounted on the own device and when the own device becomes the parent device, Step S29 (FIG. 21) to Step S69 (FIG. 23) described later. Perform a series of steps. Further, when a cartridge that is not compatible with the OC mode is mounted on the own device and when the own device is a slave device, a series of steps from Step S83 to Step S109 (FIG. 24) described later is executed. Become.
[0090]
Further, when a game is played in the normal mode (not the OC mode) although the cartridge capable of supporting the OC mode is attached to the own device, when the own device is set as the parent device, step S29 (FIG. 21). -When a series of steps of Step S69 (FIG. 23) is executed and the own machine is used as a slave machine, a series of steps of Step S83 to Step S109 (FIG. 24) is executed in the same manner as above.
[0091]
Further, when a cartridge capable of supporting the OC mode is mounted on the own device and the game is played in the OC mode, the own device can only function as the parent device. In this case, steps S75 and S77 (see FIG. 19), a series of steps from Step S29 shown in FIG. 21 to Step S69 shown in FIG.
[0092]
If the cartridge is not attached to the own device, the own device can only be a slave device in the OC mode. Therefore, in this case, a series of steps S111 (FIG. 19) to step S147 (FIG. 26) is performed. The steps will be executed.
[0093]
FIG. 19 shows the operation of the portable game machine 12. When the power (not shown) of the portable game machine 12 is turned on, the operation of FIG. 19 is started, and the operation set in the boot ROM 24 is executed first. That is, in the first step S1, the processor 20 detects whether or not the cartridge 16 is mounted based on a signal from the connector 40 (FIG. 1), for example. When it is determined in step S3 that there is a cartridge, the program shifts to the ROM 42 program of the cartridge 16, and in step S5, it is determined whether or not the cartridge is compatible with the OC mode. In this step S5, it is determined whether the cartridge of FIG. 15 (cartridge that is not compatible with the OC mode) or the cartridge of FIG. 16 (cartridge that is compatible with the OC mode) is mounted.
[0094]
When “NO” is determined in step S5, that is, when a cartridge is mounted in the own apparatus but the cartridge is not an OC mode compatible cartridge, the process proceeds to step S7 in FIG. 20, and the parent device list area shown in FIG. 18 is cleared, and the parent device list clear timer 82 shown in FIG. 18 is reset, and all display flags set in the child device variable area 88 of FIG. 18 are turned on (“1” is set). The parent device list clear timer 82 automatically starts counting after resetting.
[0095]
Thereafter, in step S9, an attempt is made to receive the parent device packet as shown in FIG. In step S11, it is determined whether the base unit packet has been successfully received. When “YES” is determined in step S11, in subsequent step S13, it is determined whether or not the parent device that broadcasts the parent device packet is a parent device that does not exist in the parent device list. Specifically, in step S13, the parent device PID and the user name in the received parent device packet data (data temporarily stored in the reception buffer 94 of the WRAM 28 shown in FIG. 18) It is determined whether the parent device is registered in the list 80 (FIG. 18). If “YES” is determined in this step S13, that is, if it is a new parent device, in the subsequent step S15, the processor 20 adds the parent device ID (included in the parent device packet) to the parent device list 80. PID), user name (UserName), game name (GameName), OC flag (OC), and entry slot (ESlot) are newly registered.
[0096]
When “NO” is determined in the previous step S11, or when the registration in step S15 is completed, in the next step S17, the value of the parent device list clear timer 82 (FIG. 18) reset in the previous step S7 is set. Judge whether it is more than 2 seconds. If “YES”, the parent device list 80 is cleared in step S19, and the parent device list clear timer 82 is reset. Here, the reason for resetting the parent device list clear timer 82 is as follows. That is, as described above with reference to FIG. 8, when a parent device (“Ichiro” in FIG. 8) is out of the communicable range, the parent device must be deleted from the parent device list 80. Therefore, by periodically clearing the parent device list 80 (every 2 seconds in this embodiment) and registering in the list of parent devices in the communicable range from the beginning, the parent device outside the communicable range Is not left in the parent machine list. When “NO” is determined in step S17 or after step S19, in next step S21, the processor 20 determines whether or not the above-described all display flag is on (“1”). In the embodiment, this all display flag is set to “1” or ON as a default. When the all display flag is on, in step S23, among the parent devices registered in the parent device list, all parent devices whose entry slot ESlot is not “ffh”, that is, all parent devices that allow entry of a new child device. Information (specifically, user name UserName and game name GameName) is displayed as shown in FIG. When the all display flag is off (“0”), in step S25, among the parent devices registered in the parent device list, the entry slot ESlot is not “ffh” and communication is possible (that is, the cartridge of the parent device). The parent machine information (user name UserName and game name GameName) is displayed as shown in FIG. 4.
[0097]
Thereafter, the process proceeds to step S27 in FIG. 21, and the processor 20 refers to the signal from the operation key 38 and determines whether or not the B button (not shown) is pressed. The fact that the B button has been pressed means that the user of the portable game device has decided to behave as the parent device. In this case, the child device is within the range of the variables M and N. In order to recruit, the base unit connection process of step S29 is executed. However, the variable N indicating the maximum number of slots given to one slave unit and the variable M indicating the maximum number of slave units that can participate can be changed by the game. For example, in order to increase the maximum number of participating slave units M, the maximum number of slots N may be reduced, and if the data rate is important, the maximum number of slots N may be increased and the maximum number of participating slave units M may be decreased.
[0098]
Here, with reference to FIG. 27 and FIG. 28, the parent device connection processing in step S29 for recruiting the child devices will be described in detail. In the first step S1001 in FIG. 27, the processor 20 clears the slave unit list area 84 shown in FIG. 18 and displays the initial screen. Step S1001 is an initial setting step. In addition to the above processing, in addition to setting the maximum number (N) of sub time slots allocated to one slave unit, the maximum number of slave units that allow entry is set. Set (M). However, these maximum numbers N and M can be determined according to the game program to be executed. In this way, if the maximum number N of sub time slots allocated to one slave unit and the maximum number M of slave units that can participate simultaneously are determined according to the game, the number of sub time slots is fixed. In this case, either the number assigned to one slave unit is reduced to increase the number of slave units that can participate, or the number assigned to one slave unit is increased to increase the data rate. Can be determined according to the content of the game. For example, in the case of a game where it is more interesting for many players to participate, the number of slots N is reduced and the number of participating slave units M is increased, and in the case of a game with a large amount of communication, the number of slots N is increased and the number of participating slave units M is increased. Should be reduced.
[0099]
In the subsequent step S1003, the processor 20 writes a pseudo-random value in the area PID for setting the parent machine PID in the parent machine variable area 86 (FIG. 18). In the next step S1005, a variable m indicating the number of child devices actually connected to the parent device (own device) in the area 86 is set to zero (0), and in the subsequent step S1007, the connection target child device. “Null” is set in the area of the connection target CID indicating the number of “0”, and zero (0) is written in a variable n indicating the number of slots actually assigned to the child machine currently connected in the area 86. . Note that the connection target CID is the CID of the child device that is currently being connected. When a plurality of slots are assigned to a single child device in the entry process, a slot is continuously assigned to a certain child device a plurality of times. For this reason, when slot assignment to a certain child device is started, an entry request from a child device having a CID other than the connection target CID is ignored. In the next step S1009, one of the free slot numbers is assigned to the entry slot area ESlot in the area 86.
[0100]
Thereafter, in step S1011, the processor 20 verifies the signal from the operation key 38 (FIG. 1) and determines whether or not the A button (not shown) is pressed. If “YES” in the step S1011, it means that the user of the own device (parent device) has rejected the entry of the child device (see FIG. 9), so in the subsequent step S1013, the processor 20 displays the child device in FIG. From the machine list area 84, the data, USlot and CID of the selected slave machine are deleted. Thereafter, in step S1015, a new slave unit list 18B is displayed as shown in FIG.
[0101]
When “NO” is determined in step S 1011, that is, when the user of the parent device does not press the A button or after executing step S 1015, in step S 1017, the processor 20 uses the operation key 38. Based on the signal, it is determined whether a start key (not shown) has been operated. If “YES”, return directly. However, if “NO”, in the subsequent step S1021, the transmission / reception process of the master unit shown in detail in FIG. 29 is executed.
[0102]
The transmission / reception process of the master unit shown in step S1019 of FIG. 27 is shown in detail in FIG. In step S2001 in FIG. 29, the processor 20 determines whether there is untransmitted data in the transmission buffer 92 (FIG. 18). If “YES”, in the next step S2003, necessary data such as PID, user name, game name, OC flag, E slot, U slot and payload which is the above-mentioned untransmitted data are transmitted in the base unit slot of FIG. To do. Then, after receiving the slave unit packet in the next step S2005, the process returns.
[0103]
If “NO” is determined in the previous step S2001, in the next step S2007, the processor 20 determines whether data transmission has not been performed for the past 64 milliseconds. Note that the time of “64 milliseconds” is an example of a numerical value that can eliminate the timer shift, and is not limited to this numerical value.
[0104]
If “YES” is determined in step S2007, each data excluding the payload, for example, PID, user name, game name, OC flag, E slot, and U slot are transmitted using the parent machine slot in step S2009. This step S2009 is a step necessary for enabling entry from the slave unit, and even if there is no payload (data to be transmitted), data (PID, user name, game name, OC flag required for entry processing) , E slot, and U slot) are periodically transmitted, the slave unit can always perform entry processing. In step S2009, payload data is not transmitted. Then, after the end of step S2009 or when “NO” is determined in step S2007, the process returns through the previous step S2005.
[0105]
Returning to FIG. 27, in step S1021 following step S1019, the processor 20 determines whether or not the slave unit number CID has been received in the slot designated by the field ESlot of the master unit packet shown in FIG. Determine whether it has made an entry request using the entry slot). If “NO” in this step S1021, the process returns to the previous step S1011. If “YES”, in the next step S1023, it is determined whether or not the connection target child device CID in the child device variable area 86 of FIG. That is, it is determined whether there is another child device that is currently processing the entry). If “YES”, that is, if the connection target child device number (CID) is not registered, in step S1025, the child device CID received in step S1019 is set as the connection target child device number (CID) in the area 86 of FIG. Registered in the connection target child device CID.
[0106]
If “NO” in the previous step S1023 or when step S1025 is completed, in step S1027, the processor 20 determines whether or not the received CID is the same as the connection target CID (that is, the received CID is the current entry process). It is determined whether or not it is the CID of the slave unit in the middle). If “NO”, the process returns to the previous step S1011. If “YES”, in the next step S1029, the CID is stored in the portion indicating the entry slot of the U slot area USlot in the area 86 of FIG. In step S1031, the number n of actual connection slots is incremented (+1). In step S1033, whether n = N, that is, the maximum number of slots N given to one slave unit by the number n of actual connection slots (for each game). To determine whether or not If “YES”, since it is not allowed to give more slots to the slave unit, the process proceeds to the next step S1035 shown in FIG. However, if “NO”, since it is possible to give more slots to the slave unit, the process returns to step S1009.
[0107]
When the actual grant slot number n reaches the maximum grantable slot count N, the entry processing for the child device is terminated and the process proceeds to step S1035 in FIG. 28. In this step S1035, the portable game machine serving as the parent machine The processor 20 receives the user name, game name, and the like of the child device for which entry processing has been completed. The user name and game name of this child device are added to the child device list in step S1037, and in step S1039, the child device list 18B is displayed as shown in FIG.
[0108]
Thereafter, the processor 20 of the parent device increments (+1) the actual connected child device number m in step S1041, and in step S1043, the actual connected child device number m is the maximum connectable child device M (different for each game). To determine if they are equal. If “YES” is determined in the step S1043, that is, if it is determined that the slave unit cannot be connected any more, the process directly returns.
[0109]
Conversely, if one or more slave units are still connectable, that is, if “NO” is determined in the step S1043, the process returns to the step S1007 in FIG.
[0110]
In this way, the connection process in step S29 in FIG. 21 is executed. Further, in step S31 in FIG. 22, the entry slot ESlot is used to temporarily cancel the recruitment of the slave units and prohibit the participation of other slave units. Write "ffh" to Then, the connection target CID in the area 86 of FIG. 18 is set to Null and the number of actual connection slots n = 0 so that additional slave units can be recruited as needed during the game.
[0111]
Thereafter, in step S33, it is determined whether or not the game is started, that is, whether or not a start button (not shown) included in the operation key 38 is pressed. When the start button is pressed, in the next step S35, the processor 20 refers to the U slot area USlot of the parent machine variable area 86 shown in FIG. 18, and detects the number “m” of the currently connected child machines. . The number of areas that are not “0h” among the areas of the U slot is the number m of the currently connected slave units. In step S37, it is determined whether the number m of connected slave units is smaller than the maximum connectable number M. If “YES” is determined in this step S37, it means that the entry of the new child device can be permitted. Therefore, in this case, in the next step S39, the E slot of the parent device variable area 86 is obtained. One of the vacant slot numbers (slot number corresponding to the area of “0h” in the U slot) is set in the area ESlot. As a result, the state setting of “ffh” in the area ESlot is canceled.
[0112]
In step S41, the base unit packet shown in FIG. 11 is broadcast (transmitted) by executing the transmission / reception process of the base unit described above with reference to FIG. Receives handset data (packet).
[0113]
Thereafter, in step S43, the processor 20 determines whether or not data of a certain child device has not been received for a certain time t1 or more. If “YES” is determined in step S43, it means that the corresponding slave unit may have already left the communicable range 64 (FIG. 2). In this case, in step S45, The processor 20 deletes the child machine number CID of the corresponding child machine from the U slot area USlot of the parent machine variable area 86 (FIG. 18). As a result of this processing, the slave unit slot used by the detached slave unit becomes an empty slot, so that a new slave unit can be entered instead of the detached slave unit.
[0114]
When “NO” is determined in step S43 or when step S45 is completed, in the next step S47, the processor 20 determines whether “ffh” is set in the E slot area ESlot of the parent machine variable area 86 or not. to decide. If “YES”, in the next step S49, the processor 20 executes the game process according to the game program 62 (FIG. 15) of the cartridge 16.
[0115]
When “NO” is determined in step S47 of FIG. 22, the process proceeds to step S51 of FIG. 23 in order to allow the slave unit to join midway. In step S51, the processor 20 of the parent device determines whether or not the child device CID has been received in the slot designated by the E slot field ESlot. If “YES”, in the next step S 53, it is determined whether or not “Null” is written in the area of the connection target CID in the area 86 of FIG. If “YES”, that is, if the CID of the connection target slave unit is not registered, the slave unit CID received in the slot designated by the E slot is registered in the connection target CID area in step S55.
[0116]
When “NO” in the previous step S53 or when step S55 is completed, in step S57, the processor 20 determines whether or not the received slave unit number CID is the same as the connection target CID. If “YES”, in the next step S59, the slave unit number CID is stored in the portion indicating the entry slot of the U slot region USlot in the region 86 of FIG. In step S61, the actual connection slot number n is incremented (+1). In step S63, whether n = N, that is, the actual connection slot number n has reached the maximum slot number N given to one slave unit. Determine whether or not. If “YES”, no more slots can be given to the slave unit, and slot assignment to the slave unit is terminated. In step S65, “Null” is set in the area of the connection target CID in the area 86, and the variable Write zero (0) to n.
[0117]
Thereafter, in step S67, the processor 20 of the parent device determines whether or not the actual connection child device number m is equal to the maximum connectable child device number M. If “YES” is determined in this step S67, that is, if it is determined that the slave unit cannot be connected any more, “ffh” is written in the E slot area ESlot in step S69.
[0118]
Note that after step S69, or when “NO” is determined in steps S51, S57, S63, or S67, in any case, the mid-participation process of the slave unit is stopped and the process returns to the game process (step of FIG. 22). Return to S49).
[0119]
The above is the processing of the portable game device when a cartridge that is not compatible with the OC mode is mounted on the own device and when the own device becomes the parent device.
[0120]
Next, a description will be given of the processing of the portable game device when the OC mode compatible cartridge is attached to the own device.
[0121]
If “YES” is determined in step S5 of FIG. 19, that is, if the cartridge corresponding to the OC mode shown in FIG. 16 is installed in the own apparatus, the processor 20 selects the mode in the next step S71. A screen (not shown) is displayed. In step S73, it is determined whether the normal mode is selected. If “YES”, the process proceeds to step S7 in FIG. 20 in the same manner as when “NO” was determined in the previous step S5. That is, the process when a cartridge that is not compatible with the OC mode is mounted is the same as the process when a cartridge that is compatible with the OC mode is mounted but the normal mode is selected.
[0122]
When an OC mode compatible cartridge is attached to the player and an OC mode game is played, the player can only be a master. More specifically, if “NO” in the step S73, that is, if the OC mode is selected, in the next step S75, as in the previous step S29 (FIG. 21), refer to FIG. 27 and FIG. The base unit connection process described in detail above is executed. However, at this time, the number of usable slots N of one slave unit is set to “1” (N = 1), and the maximum allowable number M is set to a number allowed in the game. Thereafter, in step S77, the processor 20 transfers (downloads) the transfer handset program 76 shown in FIG. 16 to the handset. Thereafter, the process proceeds to step S31 in FIG. 22, and the subsequent steps are executed in the same manner as described above.
[0123]
The above is the processing of the portable game device when a cartridge compatible with the OC mode is attached to the own device.
[0124]
Next, a description will be given of processing of the portable game device when a cartridge that is not compatible with the OC mode is attached to the player and when the player becomes a slave.
[0125]
When “NO” is determined in step S27 of FIG. 21, that is, when the player has not selected to become the parent machine, in the subsequent step S79, the processor 20 of the portable game machine 12 uses the operation key 38. The operation signal is verified, and it is determined whether or not an A button (not shown) has been operated, that is, whether or not a parent device desired to be connected has been selected. When “YES” is determined in step S79, the processor 20 subsequently determines whether or not communication with the selected parent device is possible in step S81. That is, it is determined whether or not communication is possible because the cartridge of the parent device and the cartridge of the own device have a predetermined relationship. If communication is possible, then the process proceeds to step S83 in FIG. 24 to execute a slave connection process. Details of the connection processing of the slave units are shown in FIGS. 30 and 31. FIG.
[0126]
In the first step S3001 in FIG. 30, the processor 20 of the portable game machine serving as the child machine attempts to receive the parent machine packet (FIG. 11). Then, in the next step S3003, it is determined whether or not the frame synchronization data sync of the parent device selected on the menu screen (FIG. 3 etc.) has been received. Specifically, it is determined whether or not synchronization data sync of the parent device packet including the PID of the parent device selected on the menu screen has been received.
[0127]
If “NO” is determined in step S3003, that is, if the parent device packet of the selected parent device cannot be received, it is determined in step S3005 whether a timeout (timeout) has occurred. If “NO”, the process returns to the previous step S3001. If “YES”, in the step S3007, “failure” is written in the connection result variable (in the area 88 of FIG. 18), and the process returns.
[0128]
If “YES” is determined in step S3003, that is, if the synchronization signal of the target parent device can be received, in step S3009, the processor 20 of the child device resets the synchronization timer (area 88), and next The process proceeds to step S3011. In this step S3011, the processor 20 sets the pseudo random value as the ID number CID of the slave unit. In step S3013, it is determined whether or not a child device having the CID at this time already exists. That is, it is determined whether or not the same CID already exists with reference to the U slot of the received base unit packet. If “YES” in the step S3013, it is necessary to change the number once assigned. Therefore, in this case, the step S3011 is executed again, a new number CID is assigned, and the verification in the step S3013 is performed. Try again.
[0129]
These steps S3011 and S3013 are repeated until “NO” is obtained in step S3013. When “NO” is obtained, the process proceeds to the next step S3015. In step S3015, the number n of actual grant slots is set to zero (0). Further, in the next step S3017, the master unit packet is received, and in step S3019, the synchronization timer is reset again. In step S3021, the processor 20 determines whether or not the E slot ESlot (see FIG. 11) of the received parent device packet is “ffh”. If “YES” is determined in this step S3021, entry of the slave unit is prohibited, and the process returns to “failure” through the previous step S3007.
[0130]
If “NO” is determined in the step S3021, the slave unit entry is not prohibited, and the process advances to the step S3023 in FIG. In step S3023, the CPU core of the child device transmits the number CID obtained in step S3011 to the slot indicated by the E slot field ESlot of the parent device packet at that time. In step S3025, the base unit packet is received, and in step S3027, the synchronization timer is reset again.
[0131]
In subsequent step S3029, processor 20 of the slave unit checks whether or not its own number (CID) exists at the entry slot position in the U slot field of the received master unit packet. If “NO” is determined in the step S3029, the processor 20 determines whether or not a time-out occurs in a next step S3031. If it is not time-out, the process returns to the previous step S3017 (FIG. 30). If time-out occurs, “failure” is written in the connection result variable in step S3007 of FIG.
[0132]
When “YES” is determined in step S3029, that is, when the own slot number (CID) is in the entry slot position of the U slot of the received parent device packet, the number n of actually granted slots is incremented in the subsequent step S3033 ( In step S3035, the maximum number of slots N that can be granted to one slave unit (however, this N varies depending on the game, and is a value of 1-4, for example). Determine if they are equal. If “NO” is determined in this step S3035, that is, if the slot can still be assigned, the process returns to the previous step S3025 to receive the parent device packet.
[0133]
However, if “YES” is determined in step S3035, “success” is registered in the connection result variable in the next step S3037 on the assumption that all the possible number of slots have been allocated, and the process proceeds to the next step S3039. . In this step S3039, the base unit number PID of the connected base unit and the acquired slot number are stored in the area 88 of its own internal RAM 28 (FIG. 18). However, there may be a plurality of slots, and in this embodiment, it is a numerical value of “0”-“3”. Then, the process returns to step S85 in FIG.
[0134]
In step S85, the connection result variable in area 88 is referred to and it is determined whether or not the connection result is “success”. In the case of “NO”, in the next step S87, a message such as “Could not be connected” is displayed on the LCD 18 (FIG. 1) of the slave unit, and the process returns to step S7 in FIG.
[0135]
If the connection to the parent device is successful, in the next step S89, the processor 20 of the child device uses its own child device slot and the user name and game name for the parent device. Send. In step S91, it is determined whether or not the game is started, that is, whether or not the start button included in the operation key 38 is pressed. If it is detected in step S91 that the start button is turned on, in the next step S93, transmission / reception processing of the slave unit is executed.
[0136]
The slave transmission / reception process shown in step S93 in FIG. 24 is shown in detail in FIG. In step S4001 of FIG. 32, the base unit packet is received, and in the next step S4003, the synchronization timer (FIG. 18) is reset. In step S4005, the processor 20 of the slave unit determines whether there is untransmitted data in the transmission buffer 92 (FIG. 18). If “YES”, in the next step S4007, necessary data, for example, CID and payload are transmitted using the already assigned child device slot. If there is no untransmitted data or after step S4007, the process returns to step S95 in FIG.
[0137]
Returning to FIG. 24 again, in step S95, the processor 20 of the slave unit determines whether data from the master unit has not been received for a time t2 or more. This time t2 is shorter than the time t1 in step S43 of FIG. That is, t1> t2. This is because t1 is the time for the parent device to disconnect the slave device with abnormal communication, and t2 is the time for the child device to start the recovery process, so it is necessary for the parent device to disconnect after waiting for the recovery processing of the child device. Because there is. In the case of “NO”, in the next step S97, it is determined whether or not its own number CID is included in the U slot field of the received base unit packet. If “YES” in the step S97, the game process of FIG. 22 is executed in a step S99. However, if “NO” is determined in step S97, that is, if there is no own device number in the U slot field of the parent device packet, in step S101 a message such as “disconnected from parent device” Is displayed on the LCD, and the process returns to step S7 in FIG.
[0138]
When “YES” is determined in the previous step S95, that is, when data from the parent device cannot be received for a certain time t2 or longer, a message such as “Communication with the parent device is no longer possible. After "I will try" is displayed, a return process is executed in step S105.
[0139]
Details of the return processing are shown in FIG. 33. In the first step S5001 of FIG. 33, the processor 20 of the slave unit attempts to receive the parent unit packet to be returned. In step S5003, it is determined whether broadcast data from the parent device has been received. However, whether or not it is the parent machine to be restored can be determined by looking at the “connection destination PID” registered in the area 88 of FIG.
[0140]
If “NO” is determined in the step S5003, that is, if the data of the parent packet to be recovered cannot be received, it is determined whether or not a time-out has occurred in the next step S5005. If “NO”, the process returns to the previous step S5003, but if time-out occurs, in the next step S5007, “failure” is written in the return result variable included in the area 88 shown in FIG. 18 and the process returns.
[0141]
If “YES” is determined in the previous step S5003, that is, if a parent device packet from the target parent device can be received, the synchronization timer is reset in the next step S5009, and further, in step S5011, the parent device is reset. Receive the packet. In step S5013, it is determined whether or not its own number CID exists in the U slot field of the parent device packet. The fact that the received parent device packet has its own device number means that the cause of the communication disabled state over time t2 is not intentional disconnection by the parent device, and therefore, in the next step S5015, the region Register “success” in the return result variable 88 (FIG. 18) and return. By performing the return processing in this way, for example, when the parent device and the child device are out of the communication range by mistake, when the communication state is bad and communication is not possible, or the child device is operated. When the player can use the device and the child player needs to be out of the communication range for a while, the communication state can be restored after those factors are resolved and the communication state can be restored. It becomes possible.
[0142]
However, even if “YES” is determined in step S5003, if “NO” is determined in step S5013, it is determined that the communication failure is caused by the disconnection of the parent device, and the process returns through the previous step S5007. .
[0143]
When returning from the subroutine of FIG. 33 to step S107 of FIG. 24, in this step S107, it is determined whether or not the return is “successful” with reference to the return result variable in the area 88. If “YES”, the process proceeds to step S99 to execute the game process. However, if “NO”, a message such as “Could not be restored” is displayed in step S109, and the process returns to step S7 in FIG.
[0144]
The above is the processing of the portable game device when a cartridge that is not compatible with the OC mode is attached to the player and when the player becomes a child device.
[0145]
Next, the processing of the portable game device when the cartridge is not attached to the own device will be described. However, in this case, the own device can only operate as a child device of the OC mode compatible game.
[0146]
Returning to FIG. 19, when “NO” is determined in step S3, that is, when it is detected that there is no cartridge in the slave unit, wireless communication is performed in step S111 which is a program in the boot ROM (24 in FIG. 1). The OCD program (program for downloading the slave program from the parent device) set in the ROM 52 of the unit 14 (FIG. 1) is expanded on the WRAM 28 included in the processor 20 of the portable game machine 12, and then in step S113. The slave processor 20 activates the OCD program developed on the WRAM 28.
[0147]
Thereafter, in step S115 in FIG. 25, the processor 20 of the child device clears the parent device list area 80 as shown in FIG. 18 and resets the parent device list clear timer 82. Next, in step S117, an attempt is made to receive the parent device packet. Then, in step S119, it is determined whether or not reception of the parent device packet is successful. If “NO”, the process proceeds to step S125, and if “YES”, the process proceeds to step S121. In step S121, the parent device number PID included in the received parent device packet is compared with the number PID registered in the parent device list area 80 shown in FIG. Judge whether it exists in the machine list. If “YES” is determined in step S121, the parent device number PID, user name, and game name read from the parent device packet so as to register a new parent device in the parent device list in step S123. , OC flag and E slot are added to the parent device list area 80. Thereafter, the process proceeds to step S125.
[0148]
In step S125, it is determined whether or not the value of base unit list clear timer 82 reset in step S115 is equal to or greater than “2 seconds”. If “YES”, in step S127, the parent device list, that is, the parent device list area 80 is cleared, and the parent device list clear timer 82 is reset. Thereafter, similarly to the case where “NO” is determined in step S125, the process proceeds to step S127.
[0149]
In step S127, the parent device in which the E slot is not “ffh” and the OC flag is “1” in the parent device list, that is, the game in the OC mode can be played and the child device participation (entry) is rejected. The information (user name, game name) of the parent device that is not used is displayed. Accordingly, the parent device list 18A as shown in FIG. 5 is created for the user of the child device, and the parent device to which the own device wants to connect is selected. In step S131, it is determined whether an A button (not shown) has been operated. That is, it is determined whether any one parent device is selected. If “NO” in the step S127, that is, if the parent device is not selected, it is determined whether or not a cross key (not shown) included in the operation key 38 is operated in a next step S133. The operation of the cross key is for moving the cursor to select a parent machine that desires entry. Therefore, if “YES” in this step S133, the cursor is moved in the next step S135, and the process returns to step S113. .
[0150]
If “YES” is determined in the step S131, the process proceeds to a step S139 to execute a connection process (FIGS. 30 and 31) of the slave unit.
[0151]
In step S137, the slave unit connection process is executed according to the method already described in detail, and in the next step S139, it is determined whether or not the connection is successful by referring to the connection result variable in the area 88 of FIG. If “NO”, a message such as “Could not connect” is displayed in step S141, and the process returns to step S111.
[0152]
If “YES” is determined in step S139, the processor 20 transmits the user name and game name of the own device to the parent device that has been successfully connected to the child device. Thereafter, the process proceeds to step S145 in FIG. 26, and in order to play the game in the OC mode, the transfer slave unit program is received from the master unit and expanded in the RAM 28 (FIG. 1) of the host unit, and the program is started. Let And after that, in step S147, each step similar to FIG. 24 step S91-S109 demonstrated previously is performed.
[0153]
The above is the processing of the portable game device when the cartridge is not attached to the own device.
[0154]
If “NO” is determined in step S81 of FIG. 21, that is, if the master unit is selected but communication is not possible, a message such as “The master unit cannot be selected” is displayed in step S149. Then, the process returns to step S9 in FIG.
When “NO” is determined in step S79 in FIG. 21, that is, when neither the B button nor the A button is operated, whether or not a cross key (not shown) is operated in the next step S151, to decide. If “NO”, it is determined in a next step S153 whether or not a start key (not shown) is further operated. When the select key is not operated, the process returns to step S9 in FIG. If “YES” is determined in step S153, after all display flags are switched on / off in step S153, the process similarly returns to step S9 (that is, the select key controls on / off of all display flags). used). However, if “YES” is determined in the step S151, the cursor is moved in accordance with the instruction of the cross key, and then the process returns to the step S9.
[0155]
In the above-described embodiment, it is selected whether the own device is a parent device or a child device in accordance with the progress of the program. However, such a selection may be made immediately. In this case, as shown in FIG. 34, a selection screen (not shown) for a parent device or a child device is displayed in the first step S201 immediately after the start, and the user selects the parent device or the child device according to the display. . Therefore, the processor 20 determines whether or not the user has selected the parent device in the next step S203. If “YES” in the step S203, thereafter, the steps after the step S29 in FIG. 21 are executed. If “NO”, that is, if a slave is selected, steps S7-S25, S79, S151-S157, and S81-S109 shown in FIG. 21 are executed.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an example of a portable game device used in a wireless transmission game system according to an embodiment of the present invention.
FIG. 2 is an illustrative view for explaining the outline of a game system using the portable game device of FIG. 1 embodiment;
3 is an illustrative view showing an example of a display screen in a case where an all display flag for displaying information of all parent devices around the own device is turned on in the embodiment in FIG. 2; FIG.
FIG. 4 is a display for displaying only the parent device that exists around the own device and is capable of a communication game with the own device when the all display flag is not turned on in the embodiment of FIG. 2; It is an illustration figure which shows the example of a screen.
5 is an illustrative view showing an example of a display screen that displays only a parent device that exists around the own device and can play a game in the OC (one cartridge) mode in the embodiment of FIG. 2; FIG.
6 is an illustrative view showing a display screen example of a parent device list in a certain situation in the embodiment of FIG. 2; FIG.
7 is an illustrative view showing a display screen example of a parent machine list when a portable game device with a user name “Shiro” enters a communication range in the situation of FIG. 6 in the embodiment of FIG. 2;
8 is an illustrative view showing a display screen example of a parent machine list when the portable game device having the user name “Ichiro” goes out of the communication range in the situation of FIG. 7 in the embodiment of FIG. 2;
9 is an illustrative view showing an example of a display screen of a slave unit list in a state where the own device is a master unit and waiting for connection (entry) of the slave unit in the embodiment of FIG. 2; FIG.
FIG. 10 is an illustrative view showing one example of a data cycle in the embodiment of FIG. 2;
FIG. 11 is an illustrative view showing one example of a parent device packet sent to a parent device slot in the embodiment of FIG. 10;
FIG. 12 is an illustrative view showing a U slot in FIG. 11 in detail.
FIG. 13 is an illustrative view showing one example of a handset packet sent to a handset slot in the embodiment in FIG. 10;
FIG. 14 is an illustrative view showing a specific example of communication data in a certain situation of FIG. 1 embodiment;
FIG. 15 is an illustrative view showing one example of a memory map of a cartridge not corresponding to the OC mode;
FIG. 16 is an illustrative view showing one example of a memory map of the cartridge corresponding to the OC mode;
FIG. 17 is an illustrative view showing one example of a memory map of an EEPROM included in the wireless communication unit of FIG. 1 embodiment;
FIG. 18 is an illustrative view showing one example of a memory map of an internal RAM of a portable game machine constituting the portable game device in FIG. 1 embodiment;
FIG. 19 is a flowchart showing a part of the main flow showing the operation of the portable game machine of FIG. 1 embodiment;
FIG. 20 is a flowchart showing the continuation of FIG. 19;
FIG. 21 is a flowchart showing the continuation of FIG. 20;
22 is a flowchart showing the continuation of FIG. 21. FIG.
FIG. 23 is a flowchart showing the continuation of FIG. 22;
24 is a flowchart showing a continuation of FIG. 21. FIG.
FIG. 25 is a flowchart showing the continuation of FIG. 19;
FIG. 26 is a flowchart showing the continuation of FIG. 25;
FIG. 27 is a flowchart showing a part of the operation of the base unit connection processing;
FIG. 28 is a flowchart showing the continuation of FIG. 27;
FIG. 29 is a flowchart showing an operation of transmission / reception processing of the master unit.
FIG. 30 is a flowchart showing a part of operation of connection processing of the slave unit.
FIG. 31 is a flowchart showing the continuation of FIG. 30;
FIG. 32 is a flowchart showing the operation of transmission / reception processing of the slave unit.
FIG. 33 is a flowchart showing operations of a slave unit return process;
FIG. 34 is a flowchart showing a main part of an embodiment in which selection of whether the own device is a parent device or a child device is first performed.
[Explanation of symbols]
10: Portable game device
12 ... portable game machine
14 ... Wireless communication unit
16 ... cartridge
18… LCD
20 ... Processor
22 ... CPU core
24: Boot ROM
28 ... WRAM
38 ... operation keys
42… ROM
54… EEPROM

Claims (19)

第1タイムスロットと複数のサブタイムスロットを含む第2タイムスロットとによって構成される通信周期で互いに無線通信可能であり、親機または子機となる複数の携帯ゲーム装置を用いる、無線通信ゲームシステムであって、
前記親機は、前記第1タイムスロットで親機パケットをブロードキャストしかつ前記第2タイムスロットで子機パケットを受信するものであり、さらに (a) 前記複数のサブタイムスロットのうち新たな子機が使用すべき第1サブタイムスロットを決定する第1サブタイムスロット決定手段、(b) 新たな子機が前記第1サブタイムスロットに送信したエントリ要求を検出するエントリ要求検出手段、および (c) 前記第1サブタイムスロットを指定する指定データおよび前記エントリ要求に応答して設定される使用許可データを含む親機パケットを設定する親機パケット設定手段を備え、
前記子機は、前記複数のサブタイムスロットのうち少なくとも1つのサブタイムスロットで子機パケットを送信し、前記第1タイムスロットで前記親機パケットを受信するものであり、(d) 前記親機パケットに含まれる前記指定データが示す前記第1サブタイムスロットに前記エントリ要求を送信するエントリ要求送信手段、および (e) 前記親機パケットの前記使用許可データに基づいてエントリの成否を判断する成否判断手段を備える、無線通信ゲームシステム。
Wireless communication game system using a plurality of portable game devices that can be wirelessly communicated with each other in a communication cycle constituted by a first time slot and a second time slot including a plurality of sub time slots, and that serve as a parent device or a child device Because
The parent device broadcasts a parent device packet in the first time slot and receives a child device packet in the second time slot; and (a) a new child device among the plurality of sub time slots. (B) Entry request detection means for detecting an entry request transmitted to the first sub time slot by a new slave unit; and (c) A parent device packet setting means for setting a parent device packet including designation data designating the first sub time slot and use permission data set in response to the entry request;
The slave unit transmits a slave unit packet in at least one sub time slot among the plurality of sub time slots, and receives the master unit packet in the first time slot, and (d) the master unit Entry request transmitting means for transmitting the entry request to the first sub time slot indicated by the designated data included in the packet; and (e) success or failure of determining the success or failure of the entry based on the use permission data of the parent device packet. A wireless communication game system comprising a determination unit.
前記使用許可データは前記各サブタイムスロット毎の使用許可データを含み、前記親機パケット設定手段は前記第1サブタイムスロットについての使用許可データを使用許可に設定し、
前記成否判断手段は前記第1サブタイムスロットについての使用許可データに基づいてエントリの成否を判断する、請求項1記載の無線通信ゲームシステム。
The use permission data includes use permission data for each of the sub time slots, and the master packet setting unit sets the use permission data for the first sub time slot to use permission,
The wireless communication game system according to claim 1, wherein the success / failure determination unit determines whether the entry is successful based on use permission data for the first sub time slot.
前記第1タイムスロットは、ゲームデータを送信するためのペイロードフィールドに加えて、前記指定データおよび前記使用許可データを送信するためのそれぞれ専用の第1フィールドおよび第2フィールドを含み、
前記親機パケット設定手段は、前記指定データおよび前記使用許可データをそれぞれ前記第1フィールドおよび前記第2フィールドに設定する、請求項1または2記載の無線通信ゲームシステム。
The first time slot includes, in addition to a payload field for transmitting game data, a dedicated first field and a second field for transmitting the designated data and the use permission data,
The wireless communication game system according to claim 1 or 2, wherein the base unit packet setting means sets the designation data and the use permission data in the first field and the second field, respectively.
前記親機パケット設定手段は、ゲーム実行中において前記第1フィールドに前記指定データを設定する、請求項3記載の無線通信ゲームシステム。4. The wireless communication game system according to claim 3, wherein the base unit packet setting means sets the designated data in the first field during game execution. 前記親機は、前記第1フィールドに所定データを設定することによって新たな子機のエントリを禁止する禁止手段をさらに備える、請求項3または4記載の無線通信ゲームシステム。5. The wireless communication game system according to claim 3, wherein the parent device further includes prohibiting means for prohibiting entry of a new child device by setting predetermined data in the first field. 前記子機は自機の識別データを記憶する識別データ記憶手段をさらに備え、
前記エントリ要求送信手段は前記第1サブタイムスロットに前記識別データを送信する識別データ送信手段を含み、
前記エントリ要求検出手段は前記第1サブタイムスロットで送信された前記識別データを検出する検出手段を含む、請求項1ないし5のいずれかに記載の無線通信ゲームシステム。
The slave unit further includes identification data storage means for storing identification data of the own unit,
The entry request transmission means includes identification data transmission means for transmitting the identification data in the first sub time slot,
6. The wireless communication game system according to claim 1, wherein the entry request detection means includes detection means for detecting the identification data transmitted in the first sub time slot.
前記親機パケット設定手段は前記第2フィールドに前記識別データ設定する手段を含み、
前記成否判断手段は前記第2フィールドに前記識別データが存在するかどうか判断する判断手段を含む、請求項6記載の無線通信ゲームシステム。
The base unit packet setting means includes means for setting the identification data in the second field,
The wireless communication game system according to claim 6, wherein the success / failure determination unit includes a determination unit that determines whether the identification data exists in the second field.
前記第2フィールドは、各サブタイムスロット毎のサブフィールドを含み、
前記親機パケット設定手段は前記第2フィールドのうち前記第1サブタイムスロットについてのサブフィールドに前記識別データを設定する手段を含み、
前記成否判断手段は前記第2フィールドのうち前記第1サブタイムスロットについてのサブフィールドに前記識別データが存在するかどうか判断する手段を含む、請求項7記載の無線通信ゲームシステム。
The second field includes a subfield for each sub time slot;
The base unit packet setting means includes means for setting the identification data in a subfield for the first sub time slot in the second field,
8. The wireless communication game system according to claim 7, wherein the success / failure determination means includes means for determining whether or not the identification data exists in a subfield for the first sub time slot in the second field.
前記子機は、新たに親機にエントリするときに、前記親機パケットの前記第2フィールドを参照して、前記第2フィールドに設定されている識別データとは異なる識別データを設定する識別データ設定手段を含む、請求項8記載の無線通信ゲームシステム。Identification data for setting identification data different from the identification data set in the second field with reference to the second field of the parent machine packet when the child device newly enters the parent device The wireless communication game system according to claim 8, further comprising setting means. 前記子機は、前記第2フィールドに前記自機の識別データが存在しなくなったことによって前記親機による接続切断を検出する接続切断検出手段をさらに備える、請求項7記載の無線通信ゲームシステム。The wireless communication game system according to claim 7, wherein the child device further includes connection disconnection detection means for detecting connection disconnection by the parent device when the identification data of the own device no longer exists in the second field. 前記親機は、1つの子機に対して割り当てるサブタイムスロットの最大数を、実行するゲームに応じて決定する個数決定手段をさらに備える、請求項1ないし10のいずれかに記載の無線通信ゲームシステム。The wireless communication game according to any one of claims 1 to 10, wherein the parent device further includes number determination means for determining a maximum number of sub time slots to be assigned to one child device according to a game to be executed. system. 前記親機は、エントリを許可する子機の最大数を、実行するゲームに応じて決定するエントリ数決定手段をさらに備える、請求項1ないし11のいずれかに記載の無線通信ゲームシステム。The wireless communication game system according to any one of claims 1 to 11, wherein the parent device further includes an entry number determination unit that determines a maximum number of child devices that allow entry according to a game to be executed. 前記使用許可データは、各サブタイムスロット毎の使用許可データを含み、かつ、各使用許可データは子機の識別データであり、
前記親機は、前記使用許可データの子機の識別データに基づいて、接続中の子機のリストを表示する子機リスト表示手段をさらに備える、請求項1記載の無線通信ゲームシステム。
The use permission data includes use permission data for each sub time slot, and each use permission data is identification data of a slave unit,
The wireless communication game system according to claim 1, wherein the parent device further includes a child device list display unit that displays a list of connected child devices based on identification data of the child device in the use permission data.
前記親機は、接続中の子機のうち接続の切断をユーザが希望する子機を前記子機リストから選択するための操作手段、前記操作手段によって選択された子機との接続を切断する切断手段、および前記切断手段が接続を切断した子機のデータを前記使用許可データから削除する削除手段を備える、請求項13記載の無線通信ゲームシステム。The parent device disconnects the connection with the child device selected by the operation means for selecting from the child device list a child device that the user desires to disconnect from among the connected child devices. The wireless communication game system according to claim 13, further comprising: a disconnecting unit, and a deleting unit that deletes data of the slave unit disconnected by the disconnecting unit from the use permission data. 第1タイムスロットと複数のサブタイムスロットを含む第2タイムスロットとによって構成される通信周期で互いに無線通信可能であり、親機または子機となる複数の携帯ゲーム装置を用いる無線通信ゲームシステムにおけるエントリ処理方法であって、
(a) 親機は子機に使用させるべき第1サブタイムスロットを指定する指定データを含む親機パケットをブロードキャストし、
(b) 子機は前記指定データで指定された前記第1サブタイムスロットでエントリ要求を送信し、
(c) 親機は前記第1サブタイムスロットで子機から送信されたエントリ要求を検出し、
(d) 親機は前記エントリ要求を許可する使用許可データを親機パケットに設定し、そして
(e) 子機は親機パケットの前記使用許可データに基づいてエントリ要求の成否を判断する。
In a wireless communication game system using a plurality of portable game devices that are wirelessly communicable with each other in a communication cycle constituted by a first time slot and a second time slot including a plurality of sub time slots and that serve as a parent device or a child device An entry processing method,
(A) The master unit broadcasts a master unit packet including designation data designating the first sub time slot to be used by the slave unit,
(B) The slave unit transmits an entry request in the first sub time slot designated by the designated data,
(C) The master unit detects the entry request transmitted from the slave unit in the first sub time slot,
(D) The master unit sets use permission data permitting the entry request in the master unit packet, and (e) the slave unit determines success or failure of the entry request based on the use permission data of the base unit packet.
第1タイムスロットと複数のサブタイムスロットを含む第2タイムスロットとによって構成される通信周期で互いに無線通信可能であり、親機または子機となる複数の携帯ゲーム装置を用いる無線通信ゲームシステムにおいて、前記携帯ゲーム装置のプロセサに次のステップを実行させるプログラム:
(a) 親機のプロセサによって、子機に使用させるべき第1サブタイムスロットを指定する指定データを含む親機パケットをブロードキャストさせるブロードキャストステップ、
(b) 子機のプロセサによって、前記指定データで指定された前記第1サブタイムスロットでエントリ要求を送信させる送信ステップ、
(c) 親機のプロセサによって、前記第1サブタイムスロットで子機から送信されたエントリ要求を検出させる検出ステップ、
(d) 親機のプロセサによって、前記エントリ要求を許可する使用許可データを親機パケットに設定させる設定ステップ、および
(e) 子機のプロセサによって、親機パケットの前記使用許可データに基づいてエントリ要求の成否を判断させる成否判断ステップ。
In a wireless communication game system using a plurality of portable game devices that are wirelessly communicable with each other in a communication cycle constituted by a first time slot and a second time slot including a plurality of sub time slots, and that serve as a parent device or a child device A program for causing the processor of the portable game device to execute the following steps:
(A) a broadcast step of broadcasting a master unit packet including designation data specifying a first sub time slot to be used by a slave unit by a processor of the master unit;
(B) a transmission step of transmitting an entry request in the first sub time slot designated by the designated data by a processor of the slave unit;
(C) a detection step of detecting an entry request transmitted from the slave unit in the first sub time slot by the processor of the master unit;
(D) a setting step in which use permission data for permitting the entry request is set in the base unit packet by the processor of the base unit; and (e) entry based on the use permission data in the base unit packet by the processor of the slave unit. Success / failure determination step for determining success / failure of the request.
自機が親機になるか子機になるかを決定する親子決定ステップをさらに備え、前記親子決定ステップによって親機になることが決定された場合は、前記ステップ(a),(c) および (d )を携帯ゲーム装置のプロセサに実行させ、
前記親子決定ステップによって子機になることが決定された場合は、前記ステップ(b) および (e) を携帯ゲーム装置のプロセサに実行させる、請求項16記載のプログラム。
A parent-child determination step for determining whether the own device becomes a parent device or a child device is further provided, and when the parent device determination step determines that the own device becomes a parent device, the steps (a), (c) and (D) is executed by the processor of the portable game device;
The program according to claim 16, wherein, when it is determined to become a child machine by the parent-child determination step, the program of the portable game device is caused to execute the steps (b) and (e).
第1タイムスロットで親機から親機パケットをブロードキャストし、第2タイムスロットで子機から前記親機へ子機パケットを送信する、無線通信ゲームシステムにおいて、
前記親機は接続中の子機の識別データを前記親機パケットに設定し、
前記子機は、新たに親機にエントリするとき、前記親機パケットに既に設定されている識別データとは異なる識別データを自機の識別データとして決定し、該識別データを前記子機パケットで送信することを特徴とする、無線通信ゲームシステム。
In a wireless communication game system, a base unit packet is broadcast from a base unit in a first time slot, and a base unit packet is transmitted from the slave unit to the base unit in a second time slot.
The master unit sets the identification data of the connected slave unit in the master unit packet,
When the child device newly enters the parent device, it determines identification data different from the identification data already set in the parent device packet as its own identification data, and the identification data is determined by the child device packet. A wireless communication game system, characterized by transmitting.
複数の携帯ゲーム装置を用い、一方が親機となり他方が子機となり、親機は第1タイムスロットで親機パケットをブロードキャストしかつ第2タイムスロットで子機パケットを受信し、子機は前記第2タイムスロットに含まれる少なくとも1つのサブタイムスロットで子機パケットを送信しかつ前記第1タイムスロットで前記親機パケットを受信することによって無線通信ゲームをプレイする、携帯ゲーム装置であって、
前記親機のために、前記第1タイムスロットで親機パケットをブロードキャストしかつ前記第2タイムスロットで子機パケットを受信するものであり、さらに(a) 前記サブタイムスロットのうち新たな子機が使用すべき第1サブタイムスロットを決定する第1サブタイムスロット決定手段、(b) 新たな子機が前記第1サブタイムスロットに送信したエントリ要求を検出するエントリ要求検出手段、および (c) 前記第1サブタイムスロットを指定する指定データおよび前記エントリ要求に応答して設定される使用許可データを含む親機パケットを設定する親機パケット設定手段を備え、
前記子機のために、前記サブタイムスロットのうち少なくとも1つのサブタイムスロットで子機パケットを送信し、前記第1タイムスロットで前記親機パケットを受信するものであり、(d) 前記親機パケットに含まれる前記指定データが示す前記第1サブタイムスロットに前記エントリ要求を送信するエントリ要求送信手段、および (e) 前記親機パケットの前記使用許可データに基づいてエントリの成否を判断する成否判断手段を備える、携帯ゲーム装置。
Using a plurality of portable game devices, one is a parent device and the other is a child device, the parent device broadcasts a parent device packet in a first time slot and receives a child device packet in a second time slot, A portable game device for playing a wireless communication game by transmitting a child device packet in at least one sub time slot included in a second time slot and receiving the parent device packet in the first time slot,
Broadcasting a parent device packet in the first time slot and receiving a child device packet in the second time slot for the parent device; and (a) a new child device in the sub time slot (B) Entry request detection means for detecting an entry request transmitted to the first sub time slot by a new slave unit; and (c) A parent device packet setting means for setting a parent device packet including designation data designating the first sub time slot and use permission data set in response to the entry request;
For the child device, a child device packet is transmitted in at least one sub time slot among the sub time slots, and the parent device packet is received in the first time slot, and (d) the parent device Entry request transmitting means for transmitting the entry request to the first sub-time slot indicated by the designated data included in the packet; and (e) success or failure of determining the success or failure of the entry based on the use permission data of the parent device packet. A portable game device comprising a judging means.
JP2002301955A 2002-10-16 2002-10-16 Wireless communication game system Expired - Fee Related JP3824568B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002301955A JP3824568B2 (en) 2002-10-16 2002-10-16 Wireless communication game system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002301955A JP3824568B2 (en) 2002-10-16 2002-10-16 Wireless communication game system

Publications (3)

Publication Number Publication Date
JP2004135778A true JP2004135778A (en) 2004-05-13
JP2004135778A5 JP2004135778A5 (en) 2006-01-05
JP3824568B2 JP3824568B2 (en) 2006-09-20

Family

ID=32450165

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002301955A Expired - Fee Related JP3824568B2 (en) 2002-10-16 2002-10-16 Wireless communication game system

Country Status (1)

Country Link
JP (1) JP3824568B2 (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008504733A (en) * 2004-06-23 2008-02-14 ソニー・コンピュータ・エンタテインメント・アメリカ・インク Network participant status assessment
JP2009540630A (en) * 2006-06-02 2009-11-19 クゥアルコム・インコーポレイテッド Wireless subscriber stations for short-range ad hoc data communication
JP2010507282A (en) * 2006-10-16 2010-03-04 マーベル インターナショナル リミテッド Automatic ad hoc network formation and coalescence using WPS
EP2164230A1 (en) 2005-05-06 2010-03-17 Nintendo Co., Limited Communication game system, game apparatus, server, and game control method
US7995478B2 (en) 2007-05-30 2011-08-09 Sony Computer Entertainment Inc. Network communication with path MTU size discovery
US8005957B2 (en) 2007-12-04 2011-08-23 Sony Computer Entertainment Inc. Network traffic prioritization
US8015300B2 (en) 2008-03-05 2011-09-06 Sony Computer Entertainment Inc. Traversal of symmetric network address translator for multiple simultaneous connections
US8060626B2 (en) 2008-09-22 2011-11-15 Sony Computer Entertainment America Llc. Method for host selection based on discovered NAT type
US8224985B2 (en) 2005-10-04 2012-07-17 Sony Computer Entertainment Inc. Peer-to-peer communication traversing symmetric network address translators
US8233456B1 (en) 2006-10-16 2012-07-31 Marvell International Ltd. Power save mechanisms for dynamic ad-hoc networks
US8619623B2 (en) 2006-08-08 2013-12-31 Marvell World Trade Ltd. Ad-hoc simple configuration
US8628420B2 (en) 2007-07-03 2014-01-14 Marvell World Trade Ltd. Location aware ad-hoc gaming
US9308455B1 (en) 2006-10-25 2016-04-12 Marvell International Ltd. System and method for gaming in an ad-hoc network

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04354221A (en) * 1991-05-31 1992-12-08 Toshiba Corp Satellite packet communication system
JPH05183504A (en) * 1991-12-27 1993-07-23 Toshiba Corp Method for radio communication
JPH09139747A (en) * 1995-09-11 1997-05-27 Toshiba Corp Communication controller and communication control method
JPH1015245A (en) * 1996-07-05 1998-01-20 Kokusai Electric Co Ltd Data transmission device, video game machine
JPH1056417A (en) * 1996-08-07 1998-02-24 Nippon Telegr & Teleph Corp <Ntt> Scheduling type dead channel control access method
JPH10209956A (en) * 1997-01-28 1998-08-07 Nippon Telegr & Teleph Corp <Ntt> Radio packet communication method
JPH11103283A (en) * 1997-09-25 1999-04-13 Nec Eng Ltd Tdma/tdd transmitting method
JP2000135380A (en) * 1999-01-26 2000-05-16 Snk:Kk Communication device for game and game devices
JP2000165512A (en) * 1998-11-24 2000-06-16 Hitachi Ltd Device and method for detecting illegal use and storage medium recording illegal use detection program and read by computer
JP2001168873A (en) * 1999-12-07 2001-06-22 Sony Corp Radio communication system, its method and radio communication equipment
JP2002224449A (en) * 2001-01-31 2002-08-13 Tdk Corp Video game device

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04354221A (en) * 1991-05-31 1992-12-08 Toshiba Corp Satellite packet communication system
JPH05183504A (en) * 1991-12-27 1993-07-23 Toshiba Corp Method for radio communication
JPH09139747A (en) * 1995-09-11 1997-05-27 Toshiba Corp Communication controller and communication control method
JPH1015245A (en) * 1996-07-05 1998-01-20 Kokusai Electric Co Ltd Data transmission device, video game machine
JPH1056417A (en) * 1996-08-07 1998-02-24 Nippon Telegr & Teleph Corp <Ntt> Scheduling type dead channel control access method
JPH10209956A (en) * 1997-01-28 1998-08-07 Nippon Telegr & Teleph Corp <Ntt> Radio packet communication method
JPH11103283A (en) * 1997-09-25 1999-04-13 Nec Eng Ltd Tdma/tdd transmitting method
JP2000165512A (en) * 1998-11-24 2000-06-16 Hitachi Ltd Device and method for detecting illegal use and storage medium recording illegal use detection program and read by computer
JP2000135380A (en) * 1999-01-26 2000-05-16 Snk:Kk Communication device for game and game devices
JP2001168873A (en) * 1999-12-07 2001-06-22 Sony Corp Radio communication system, its method and radio communication equipment
JP2002224449A (en) * 2001-01-31 2002-08-13 Tdk Corp Video game device

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7769409B2 (en) 2004-06-23 2010-08-03 Sony Computer Entertainment America Inc. Network participant status evaluation
JP4668268B2 (en) * 2004-06-23 2011-04-13 ソニー コンピュータ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー Network participant status assessment
JP2008504733A (en) * 2004-06-23 2008-02-14 ソニー・コンピュータ・エンタテインメント・アメリカ・インク Network participant status assessment
US8014825B2 (en) 2004-06-23 2011-09-06 Sony Computer Entertainment America Llc Network participant status evaluation
EP2164230A1 (en) 2005-05-06 2010-03-17 Nintendo Co., Limited Communication game system, game apparatus, server, and game control method
US8224985B2 (en) 2005-10-04 2012-07-17 Sony Computer Entertainment Inc. Peer-to-peer communication traversing symmetric network address translators
JP2009540630A (en) * 2006-06-02 2009-11-19 クゥアルコム・インコーポレイテッド Wireless subscriber stations for short-range ad hoc data communication
US8571473B2 (en) 2006-06-02 2013-10-29 Qualcomm Incorporated Wireless subscriber station for short range ad-hoc data communication
KR101182571B1 (en) * 2006-06-02 2012-09-12 콸콤 인코포레이티드 Wireless subscriber station for short range ad-hoc data communication
US9019866B2 (en) 2006-08-08 2015-04-28 Marvell World Trade Ltd. Ad-hoc simple configuration
US8619623B2 (en) 2006-08-08 2013-12-31 Marvell World Trade Ltd. Ad-hoc simple configuration
JP2014075830A (en) * 2006-10-16 2014-04-24 Marvel Internatl Ltd Formation and coalescence of automatic ad-hoc network using wps
JP2010507282A (en) * 2006-10-16 2010-03-04 マーベル インターナショナル リミテッド Automatic ad hoc network formation and coalescence using WPS
US8233456B1 (en) 2006-10-16 2012-07-31 Marvell International Ltd. Power save mechanisms for dynamic ad-hoc networks
US9444874B2 (en) 2006-10-16 2016-09-13 Marvell International Ltd. Automatic Ad-Hoc network creation and coalescing using WPS
US9374785B1 (en) 2006-10-16 2016-06-21 Marvell International Ltd. Power save mechanisms for dynamic ad-hoc networks
US9308455B1 (en) 2006-10-25 2016-04-12 Marvell International Ltd. System and method for gaming in an ad-hoc network
US7995478B2 (en) 2007-05-30 2011-08-09 Sony Computer Entertainment Inc. Network communication with path MTU size discovery
US8628420B2 (en) 2007-07-03 2014-01-14 Marvell World Trade Ltd. Location aware ad-hoc gaming
US8171123B2 (en) 2007-12-04 2012-05-01 Sony Computer Entertainment Inc. Network bandwidth detection and distribution
US8943206B2 (en) 2007-12-04 2015-01-27 Sony Computer Entertainment Inc. Network bandwidth detection and distribution
US8005957B2 (en) 2007-12-04 2011-08-23 Sony Computer Entertainment Inc. Network traffic prioritization
US8930545B2 (en) 2008-03-05 2015-01-06 Sony Computer Entertainment Inc. Traversal of symmetric network address translator for multiple simultaneous connections
US8015300B2 (en) 2008-03-05 2011-09-06 Sony Computer Entertainment Inc. Traversal of symmetric network address translator for multiple simultaneous connections
US8060626B2 (en) 2008-09-22 2011-11-15 Sony Computer Entertainment America Llc. Method for host selection based on discovered NAT type

Also Published As

Publication number Publication date
JP3824568B2 (en) 2006-09-20

Similar Documents

Publication Publication Date Title
JP3830442B2 (en) Wireless communication game system, game device, information storage medium, and program
JP2004136009A (en) Radio communication game system
JP3824568B2 (en) Wireless communication game system
JP3679111B2 (en) Wireless communication game system
JP2005095697A5 (en)
JP3699471B2 (en) Wireless communication game system
JP3790257B2 (en) Wireless communication game system, game device, information storage medium, and program
JP3790263B2 (en) Wireless communication game system, game device, information storage medium, and program
JP3790264B2 (en) Wireless communication game system, game device, information storage medium, and program
JP3790261B2 (en) Wireless communication game system, game device, information storage medium, and program
JP4456611B2 (en) Wireless communication game system, game device, and program
JP5358619B2 (en) Wireless communication game system, game device, game program, and wireless communication method
JP4099482B2 (en) Wireless communication game system, game device, information storage medium, and program
JP5427204B2 (en) Wireless communication game system, game device, game program, and game processing method
JP3786369B2 (en) Wireless communication game system, game device, information storage medium, and program
JP3798010B2 (en) Wireless communication game system, game device, information storage medium, and program
JP4778999B2 (en) Game device and program
JP6348547B2 (en) Wireless communication game system
JP3790262B2 (en) Wireless communication game system, game device, information storage medium, and program
JP6193948B2 (en) Wireless communication game system
JP3790259B2 (en) Wireless communication game system, game device, information storage medium, and program
JP3790260B2 (en) Wireless communication game system
JP5358610B2 (en) GAME DEVICE, GAME PROGRAM, AND GAME PROCESSING METHOD
JP5923082B2 (en) Wireless communication game system
JP5856589B2 (en) Wireless communication game system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051014

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051026

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20051026

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20051114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060411

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060605

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060627

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060627

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3824568

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090707

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090707

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100707

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100707

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110707

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110707

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110707

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120707

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120707

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120707

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120707

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130707

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130707

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130707

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees