(57)【特許請求の範囲】
【請求項１】
モニタに表示すべき映像の画像データを発生する画像処理装置と前記画像データに変化を与えるアナログジョイスティックとを備える画像処理システムであって、
操作者によって操作されたとき所定の傾動可能範囲内で傾動し、操作者が操作しないとき中心を示す所定の状態で静止するレバー、
前記レバーの周囲に形成され、その内周面に前記レバーが当接することによって物理的傾動可能範囲を８角形に規制するガイド部、
前記レバーの傾斜方向および傾斜角度に応じて、２軸方向の座標信号を出力する座標出力手段、
前記２軸方向の座標値の、前記中心を示す所定の状態における値を原点とした場合の当該原点からの距離を前記レバーの前記傾斜角度の量を表す傾き量データとして出力する傾き量データ出力手段、
前記傾き量データが所定の閾値より大きいか否か判定することによって、前記レバーが８角形の前記物理的傾動可能範囲に内接する円形状の範囲外の領域である不感領域内にあるかどうかを判断する判断手段、
前記判断手段によって前記レバーが前記不感領域内にあることを判断したとき、原点からの距離が前記閾値に等しくなるように前記２軸方向の座標値を補正する補正手段、および
前記２軸方向の座標値に基づいて画像データを出力する画像データ出力手段を備える、画像処理システム。
【発明の詳細な説明】
技術分野
この発明はアナログジョイスティックを用いる画像処理システムに関する。より特定的には、この発明は、レバーの傾斜方向および傾斜量に応じた操作信号を出力するアナログジョイスティックを、ＣＲＴ等のモニタ上に表示された映像の画像データをプログラムに基づいて発生する画像処理装置に接続し、操作者のレバー操作に従って画像データすなわち映像に変化を与える画像処理システムに関する。
従来技術
図１に示す従来のゲーム機用コントローラ１は、矩形ハウジング２およびそのハウジング１ａの上面に設けられた、ゲーム内容を選択するためのセレクトスイッチ３，ゲームの開始を指示するためのスタートスイッチ２，ゲーム中においてゲームキャラクタの移動方向を指示するための十字方向スイッチ４，およびキャラクタの動作を選択または指示するための２つの動作スイッチ５ａおよび５ｂを含む。
図２に示すゲーム機用コントローラ１では、セレクトスイッチ３，スタートスイッチ２および十字方向スイッチ４に加えて、ハウジング１ａ′の上に４つの動作スイッチ５ａ，５ｂ，５ｃおよび５ｄを設けるとともに、ハウジング１ａ′の左右側面に沿って手を当てたときに人指し指または中指が届くハウジング１ａ′の背面の位置に２つのスイッチ６ａおよび６ｂを設けた。
また、図３に示すコントローラ１では、左右ハウジング１ａおよび１ｂの上（前面）に十字方向スイッチ４ａ，および動作スイッチ５ａおよび５ｂ，および十字方向スイッチ４ｂ，および動作スイッチ５ｃおよび５ｃを配置した。
このような、図１ないし図３の従来技術のコントローラでは、十字方向スイッチ４または４ａおよび４ｂを用いて、モニタ上の映像を移動させるべき方向を指示する方向信号を出力する。ところが、従来の十字方向スイッチでは、モニタ画面上における上（北），下（南），左（西）および右（東）の４つの方向（コントローラを平面的に見た場合の前，後，左および右の４つの方向）にスイッチ接点が設けられ、その接点のいずれがオンされているかによって、その４つの方向のいずれか１つを指定する方向信号を出力する。つまり、従来のコントローラの十字スイッチは、いわばディジタルジョイスティックである。したがって、操作者が上方向指示ボタンと右方向指示ボタンとを同時に押せば、上方向信号と右方向信号とを同時に得られるという利点があるものの、操作者は決められた方向以外の他の任意の方向を指示することができない、という問題点があった。
他方、たとえば平成５年（１９９３）５月２５日付で出願公告された特公平５−１９９２５号には、レバーを備え、レバーを倒した方向によって決まる方向信号を出力するアナログジョイスティックが提案されている。このアナログジョイスティックは、回転可変抵抗器を用い、レバーを倒した方向の信号のみならず、レバーを倒した量に応じた信号を出力することができる。しかしながら、従来のアナログジョイスティックでは、ディジタルジョイスティックとは異なり、２つの方向を同時に指示することはできない。したがって、ゲームの内容によっては不都合が生じる。
具体的に、特公平５−１９９２５号に示すアナログジョイスティックをレーシングゲームに適用した場合を考える。このとき、レバーを上（前）に傾斜させたとき「アクセルを踏む」ように設定し、レバーを下（後）に傾斜させたとき「ブレーキを踏む」ように設定し、レバーを右に傾斜させたとき「ハンドルを右に回す」ように設定し、そしてレバーを左に傾斜させたとき「ハンドルを左に回す」ように設定したと想定する。この場合、従来のアナログジョイスティックでは、レバーを前方に最大傾斜量傾斜させたまま右または左に傾斜させると、レバーがガイドリングの内周（特公平５−１９９２５号のケース１１の円形の孔１１１）にガイドされてレバーは自然に右後方に押し戻される。したがって、アクセルを一杯踏んでいるときにハンドルを右または左に回したとき、アクセルの踏み込み量が自然に減少させられてしまう、換言すればアクセルを一杯踏み込んでいる状態ではハンドルを右または左に回せないという問題がある。
この問題は、従来のアナログジョイスティックのレバーをガイドするガイドリングの形状が円形に固定されていることに起因している。
発明の概要
それゆえに、この発明の主たる目的は、アナログジョイスティックのレバーの傾動範囲を適宜変更することができる、新規な画像処理システムを提供することである。
この発明の他の目的は、アナログジョイスティックを用いて所望の方向が正確に設定でき、しかもアナログジョイスティックのレバーの傾動範囲を適宜変更することができる、画像処理システムを提供することである。
この発明は、モニタに表示すべき映像の画像データを発生する画像処理装置と画像データに変化を与えるアナログジョイスティックとを備える画像処理システムであって、操作者によって操作されたとき所定の傾動可能範囲内で傾動し、操作者が操作しないとき中心を示す所定の状態で静止するレバー、レバーの周囲に形成され、その内周面にレバーが当接することによって物理的傾動可能範囲を８角形に規制するガイド部、レバーの傾斜方向および傾斜角度に応じて、２軸方向の座標信号を出力する座標出力手段、２軸方向の座標値の、中心を示す所定の状態における値を原点とした場合の当該原点からの距離をレバーの傾斜角度の量を表す傾き量データとして出力する傾き量データ出力手段、傾き量データが所定の閾値より大きいか否か判定することによって、レバーが８角形の物理的傾動可能範囲に内接する円形状の範囲外の領域である不感領域内にあるかどうかを判断する判断手段、判断手段によってレバーが不感領域内にあることを判断したとき、原点からの距離が閾値に等しくなるように２軸方向の座標値を補正する補正手段、および２軸方向の座標値に基づいて画像データを出力する画像データ出力手段を備える、画像処理システムである。
この発明によれば、アナログジョイスティックのレバーの物理的傾動可能範囲内の特定領域においてジョイスティックデータを補正するようにしているので、レバーの実質的傾動可能範囲の形状をその物理的傾動可能範囲の形状と異ならせることができ、したがって、用途、たとえばゲームの内容等に応じて最適の実質的傾動可能範囲を設定することができる。
さらに、この発明では、特定領域を不感領域として設定することによって、振動や操作者の不所望の手の動き等によって、モニタ上の画像が不所望に変化されるのを防止できる。
また、不感領域がレバーのニュートラル位置に関連して設定されると、レバーのニュートラル位置におけるデータのずれが解消される。つまり、摩擦等の原因でレバーのニュートラル位置においてデータが“０”に戻らないという問題を解決することができる。つまり、正しい“０”を設定することができる。
この発明の上述の目的およびその他の目的，特徴，局面および利点は、添付図面に関連して行われる以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
図１はコントローラの第１従来技術を示す図解図であり；
図２はコントローラの第２従来技術を示す図解図であり；
図３はコントローラの第３従来技術を示す図解図であり；
図４はこの発明の一実施例を示す概略図解図であり；
図５は図４実施例の画像処理装置を詳細に示すブロック図であり；
図６は図５実施例のＣＰＵのメモリマップを示す図解図であり、カートリッジに内蔵されている外部メモリおよびＷ−ＲＡＭを示し；
図７は図５実施例におけるコントローラ制御回路を詳細に示すブロック図であり；
図８は図７のＲＡＭのメモリマップを示す図解図であり；
図９は図４実施例のコントローラの上から見た斜視図であり；
図１０は図４実施例のコントローラの下から見た斜視図であり；
図１１は実施例に利用可能なアナログジョイスティックユニットを示す斜視図であり；
図１２は図１１ユニットの要部を示す斜視図であり；
図１３は図１１ユニットの要部を示す分解斜視図であり；
図１４は図１１ユニットの要部を示す断面図解図であり；
図１５はガイドリングによるレバーの案内状態を示す図解図であり；
図１６はコントローラおよび拡張装置を詳細に示すブロック図であり；
図１７はコントローラのアナログジョイスティックおよび各ボタンのデータを示す図解図であり；
図１８は図５実施例のＣＰＵの動作を示すフローチャートであり；
図１９は図５実施例のバス制御回路の動作を示すフローチャートであり；
図２０は図５実施例のコントローラ制御回路の動作を示すフローチャートであり；
図２１は図５実施例のコントローラ回路の動作を示すフローチャートであり；
図２２はコントローラ制御回路からコマンド”０”が送信されたときの制御回路の送受信データを示す図解図であり；
図２３はコントローラ制御回路からコマンド”１”が送信されたときの制御回路の送受信データを示す図解図であり；
図２４はコントローラ制御回路からコマンド”２”が送信されたときの制御回路の送受信データを示す図解図であり；
図２５はコントローラ制御回路からコマンド”３”が送信されたときの制御回路の送受信データを示す図解図であり；
図２６はコントローラ制御回路からコマンド”２５５”が送信されたときの制御回路の送受信データを示す図解図であり；
図２７はボタンの操作によるＸカウンタおよびＹカウンタのリセット動作を示すフローチャートであり；
図２８は電源をオンしたときのＸカウンタおよびＹカウンタのリセット動作を示すフローチャートであり；
図２９はレバーの物理的座標とモニタの画面との関係を示す図解図であり；
図３０はレバーの中心以外の位置でリセットしたときのレバーの物理的座標とモニタの画面との関係を示す図解図であり；
図３１は図５実施例におけるアナログジョイスティックのデータ補正のためのタイマインタラプトルーチンの一例を示すフローチャートであり；
図３２は中心補正の１つの方法を示す図解図であり；
図３３はその方法を示すフローチャートであり；
図３４は中心補正の他の方法を示す図解図であり；
図３５はその方法を示すフローチャートであり；
図３６は中心補正のさらに他の方法を示す図解図であり；
図３７はその方法を示すフローチャートであり；
図３８は周辺補正の１つの方法を示す図解図であり；
図３９はその方法を示すフローチャートであり；
図４０は周辺補正の他の方法を示す図解図であり；そして
図４１はその方法を示すフローチャートである。
発明を実施するための最良の形態
以下においては、アナログジョイスティックがメモリ装置（半導体メモリ，ＣＤ−ＲＯＭ等）のゲームプログラムに従ってモニタの画面上にゲームキャラクタを表示するビデオゲーム機に適用されてゲームキャラクタをコントロールするビデオゲーム機の実施例を説明する。しかしながら、この発明は、モニタに表示すべき映像の画像データをプログラムに基づいて発生する一般的な画像処理装置およびアナログジョイスティックを含む一般的な画像処理システムに適用され得ることを予め指摘しておく。
図４は、この発明に従った一実施例の画像処理装置１０およびコントローラ４０を示す図解図である。画像処理装置１０は、その上部にカートリッジ接続用のコネクタが設けられており、そのコネクタにカートリッジ２０が差し込まれている。カートリッジ２０には、カートリッジ用コネクタ１３と接続されることによって、画像処理装置１０と電気的に接続されデータの授受が可能となるように基板が設けられている。この基板には、プログラム等のデータを記憶する外部ＲＯＭおよび必要に応じて画像処理装置１０で処理されたデータを記憶するためのＲＡＭ等の読出・書込可能メモリが装着されている。また、この外部メモリのメモリマップは、図６の外部メモリ領域に示すとおり、画像処理装置１０が画像信号発生させるために必要な画像データを記憶している画像データ領域２０１と、ＣＰＵ１１が所定の動作を行うために必要なプログラムデータを記憶しているプログラムデータ領域２０２とを含む。
画像処理装置１０の前面には、コントローラ４０を接続するためのコントローラ用コネクタ１８１−１８４が設けられている。このコントローラ用コネクタ１８１−１８４にコントローラ４０を接続することにより、画像処理装置１０は、コントローラ４０と電気的に接続され、コントローラ４０との間でデータの送受信が可能となる。
コントローラ４０は、画像処理装置１０に設けられたコントローラ用コネクタ１８１−１８４に接続するための接続用ジャック４１とケーブル４２で接続されている。コントローラ４０は、両手または片手で把持可能な形状であり、そのハウジングの外部には、押圧することによって電気的信号を発生する複数のボタンおよび垂直に直立している操作部（アナログジョイスティックのレバー）が突出している。
画像処理装置１０およびコントローラ４０のハウジング内部には、電気回路および機械的機構が収容されるが、詳細は、後ほど説明する。
図５の詳細なブロック図を参照して、画像処理装置１０本体には、カートリッジ２０，モニタ３０（テレビジョン受像機またはＣＲＴ等）およびコントローラ４０が接続される。画像処理装置１０の内部には、カートリッジ２０に内蔵の外部メモリに予めストアされているプログラムに従って画像処理の進行を制御するためのＣＰＵ１１が備えられている。このＣＰＵ１１は、図６に示すようなメモリ空間を有し、このメモリ空間は、カートリッジ２０に内蔵の外部メモリのメモリ領域２０１および２０２とＷ−ＲＡＭ１４のメモリ領域１４１とを含む。そして、ＣＰＵ１１には、バス制御回路１２が接続されている。
バス制御回路１２は、パラレル信号線であるバスにより、カートリッジ用コネクタ１３，Ｗ−ＲＡＭ１４，音楽信号発生回路１５，および画像信号発生回路１６に接続され、シリアル信号線により、コントローラ制御回路１７に接続されている。また、バス制御回路１２は、ＣＰＵ１１からバスを介してパラレル信号で出力されたコマンドを入力し、シリアル信号に変換して、シリアル信号でコマンドをコントローラ制御回路１７に出力し、かつコントローラ制御回路１７から入力したシリアル信号のデータをパラレル信号に変換し、バスに出力する。バスに出力されたデータは、ＣＰＵ１１で処理されたり、Ｗ−ＲＡＭ１４に記憶される等の所定の処理を施される。
カートリッジ用コネクタ１３には、カートリッジ２０が接続され、カートリッジ２０内の外部ＲＯＭおよび読出・書込メモリとバス制御回路１２とがアドレスバスおよびデータバスで接続されデータの授受が行われる。
Ｗ−ＲＡＭ１４は、ＣＰＵ１１で処理するためのデータを一時記憶するためのメモリであって、アドレスバスおよびデータバスによってバス制御回路１２と接続され、バス制御回路１２を介してＷ−ＲＡＭ１４からまたはＷ−ＲＡＭ１４へデータを読み出しまたは書き込みすることができる。また、Ｗ−ＲＡＭ１４のメモリマップは、図６のＷ−ＲＡＭ領域に示すとおり、コントローラデータ領域ないてコントロールパッドデータ領域１４１を含む。
音楽信号発生回路１５は、バス制御回路１２を介して、ＣＰＵ１１の命令に従って音楽信号を発生する回路である。
画像信号発生回路１６は、バス制御回路１２を介して、ＣＰＵ１１の命令に従って画像信号を発生する回路である。
コントローラ制御回路１７は、バス制御回路１２およびコントローラ用コネクタ１８１−１８４にシリアルでデータを送受信できるように接続されている。
コントローラ制御回路１７の具体的な構造を図７の内部ブロック図を参照して説明する。
データ転送制御回路１７１は、パラレル−シリアル変換回路とシリアル−パラレル変換回路とを含み、シリアル−パラレル変換回路によって、バス制御回路１２からのシリアルデータを受信し、かつパラレル−シリアル変換回路４３によって、バス制御回路１２へシリアルデータを送信する。また、データ転送制御回路１７１は、送信回路１７２，受信回路１７３およびＲＡＭ１７４にバスによって接続されている。そのため、データ転送制御回路１７１は、ＲＡＭ１７４に対してデータをパラレルデータとして送受信する。従って、データ転送制御回路１７１は、バス制御回路１２からの命令に基づいて、ＲＡＭ１７４のデータを読出してバス制御回路１２に送信したり、バス制御回路１２から受信したデータをＲＡＭに書き込む。
送信回路１７２は、バスからのパラレル信号をシリアル信号に変換してデータを送信する。信号線ＣＨ１−ＣＨ４は、それそれコントローラ用コネクタ１８１−１８４に接続され、それぞれに接続されたコントローラ４０にシリアルデータを送信する。
受信回路１７３は、コントローラ４０からのシリアル信号を受信し、受信したデータをパラレル信号としてバスに出力する。信号線ＣＨ１−ＣＨ４は、それぞれコントローラ用コネクタ１８１−１８４に接続され、それぞれに接続されたコントローラ４０からシリアルデータを受信する。
ＲＡＭ１７４は、データ転送制御回路１７１とバスで接続されており、データをパラレル信号で入出力できる。ＲＡＭ１７４に記憶されているデータは、図８のメモリマップを用いて説明する。エリア１７４１には、１チャンネル用のコマンドが記憶される。エリア１７４２には、１チャンネル用の送信データおよび受信データが記憶される。エリア１７４３には、２チャンネル用のコマンドが記憶される。エリア１７４４には、２チャンネル用の送信データおよび受信データが記憶される。エリア１７４５には、３チャンネル用のコマンドが記憶される。エリア１７４６には、３チャンネル用の送信データおよび受信データが記憶される。エリア１７４７には、４チャンネル用のコマンドが記憶される。エリア１７４８には、４チャンネル用の送信データおよび受信データが記憶される。
上述のようなブロック構成により、データ転送制御回路１７１は、送信回路１７２から所定のコマンド（命令）を送信したり、受信回路１７３が受信したデータをＲＡＭ１７４に記憶したりすることができる。
コントローラ用コネクタ１８１−１８４は、それぞれコントローラ制御回路１７にシリアル線で接続されており、かつコントローラ４０の接続用ジャック４１と着脱自在に接続されている。また、コントローラ用コネクタ１８１−１８４がコントローラ４０の接続用ジャック４１に接続されたとき、コントローラ４０とコントローラ用コネクタ１８１−１８４とが電気的に接続され、その間でデータの授受ができるようになる。
図９および図１０を参照して、この実施例におけるコントローラ４０は、上ハーフと下ハーフとからなるハウジング４０１を含み、ハウジング４０１の左右両端には、左側グリップ４０２Ｌと右側グリップ４０２Ｒが手前側に突出して形成される。左側グリップ４０２Ｌと右側グリップ４０２Ｒの中間位置には、中央グリップ４０２Ｃが手前側に突出して形成される。左側グリップ４０２Ｌの基端近傍のハウジング４０１表面には、ディジタルジョイスティックである十字方向指示スイッチ４０３が形成される。右側グリップ４０２Ｒの基端近傍のハウジング４０１表面には、６種類の動作を指示する動作指示スイッチ４０４Ａ，４０４Ｂ，４０４Ｃ，４０４Ｄ，４０４Ｅおよび４０４Ｆがそれぞれ形成される。
中央グリップ４０２Ｃの基端近傍のハウジング４０１上には、３６０°の全方向を指示可能なアナログジョイスティック４５が形成される。ハウジング４０１のほば中央位置には、ゲームのスタートを指示するスタートスイッチ４０５が形成される。また、スタートスイッチ４０５は、スイッチ４０３および４０４Ａないし４０４Ｆ，およびアナログジョイスティック４５によって囲まれる領域のほぼ中央に位置する。
さらに、ハウジング４０１の背面側に一対の側面スイッチ４０６Ｌおよび４０６Ｒが形成され、下ハーフのほぼ中央であって、中央グリップ４０２Ｃの基端近傍に底面スイッチ４０７が形成される。
下ハーフの背面側は底面方向に延長され、その先端には開口部４０８が形成されている。開口部４０８の奥には図４に示す拡張カートリッジ５０がそこに接統されるコネクタ（図示せず）が設けられている。また、開口部４０８に挿入されたカートリッジ５０を排出するためのレバー４０９が開口部４０８に形成されている。そして、上述の拡張カートリッジ５０を挿入する開口部４０８のレバー４０９の反対側には、切欠４１０が形成され、この切欠４１０はレバー４０９を用いて拡張カートリッジ５０を取り出すときに拡張カートリッジ５０を引き出すためのスペースを形成する。
ここで、図１１ないし図１５を参照して、アナログジョイスティック４５を詳細に説明する。アナログジョイスティック４５は、図１１に示すジョイスティックユニットとして構成される。そのジョイスティックユニットはハウジング４０１の上ハーフおよび下ハーフで挟持される。ジョイスティックユニットは、ケース４５１とカバー４５２とによって形成されるハウジングを含み、ハウジング内には内ケース４５３が収容される。
図１２および図１３に示すように、内ケース４５３は中央部に碗形の凹部４５４を有し、この凹部４５４の周囲に２対の支持プレート４５５ａおよび４５５ｂ，および４５６ａおよび４５６ｂが互いに９０°の角度間隔を隔てて設けられ、それらの支持プレート４５５ａおよび４５５ｂ，および４５６ａおよび４５６ｂのそれぞれに半円形の軸受４５７ａおよび４５７ｂ，および４５８ａおよび４５８ｂが設けられている。軸受４５７ａおよび４５７ｂ，または４５８ａおよび４５８ｂは、同一軸線上に配置されており、軸受４５７ａおよび４５７ｂ，および４５８ａおよび４５８ｂの軸心は同じ高さレベルで互いに直交している。また、内ケース４５３の側面には回転軸心が互いに直交する羽根車ないし円盤４５９および４６０が回転自在に支持され、それぞれの円盤４５９および４６０には歯車４６１が付設されている。
アナログジョイスティックユニットは、さらに揺動部材４６２および４６３を含む。一方の揺動部材４６２は長手方向に長い長孔４６４を備える円弧状部材でなり、その両端部に支軸４６５ａおよび４６５ｂが設けられていると共に、それらの支軸４６５ａおよび４６５ｂから、平坦面４６６ａおよび４６６ｂを備えた軸端部４６７ａおよび４６７ｂが延出され、片側の軸端部４６７ｂに扇形の歯車４６８が設けられている。他方の揺動部材４６３は、一方の揺動部材４６２よりも曲率半径の小さな円弧状部材によって構成されている点で一方の揺動部材４６２と異なっているが、その他の点では、略同様の構成になっている。すなわち、参照番号４６９が長孔、参照番号４７０ａおよび４７０ｂは支軸、参照番号４７１ａおよび４７１ｂは平坦面、参照番号４７２ａおよび４７２ｂは軸端部、そして参照番号４７３が歯車を示す。
一対の揺動部材４６２および４６３は、それらの支軸４６５ａおよび４６５ｂ，および４７０ａおよび４７０ｂを内ケース４５３の２組の軸受４５７ａおよび４５７ｂ，および４５８ａおよび４５８ｂに各別に嵌め込んで揺動自在に支持させることによって、長孔４６３および４６９の長手方向が互いに直交するように間隔を隔てて重なった状態に配置される。こうして内ケース４５３に取り付けられた一対の揺動部材４６２および４６３において、扇形の歯車４６８および４７３は、上述の歯車４６１に噛み合わされる。また、上述の平坦面４６６ａおよび４６６ｂ，および４７１ａおよび４７１ｂのそれぞれは、後述するレバー４７４の中立状態において同一水平面に含まれる。
図１３に示すように、レバー４７４は、一端部に径外方向に突き出た突起４７５を備え、中間部に球部４７６を備え、他端部に連結部４７７を備えている。上記球部４７６には１８０°隔てた箇所に緯線方向に延びる溝４７８が形成されている。また、レバー４７４の直径は揺動部材４６２および４６３の長孔４６４および４６９の短径寸法よりも大きくない寸法、好ましくは長孔４６４および４６９にがたつきなく摺動可能に嵌入され得る寸法に選ばれる。そして、レバー４７４の一端部が長孔４６４および４６９に貫挿され、かつその突起４７５が一方の揺動部材４６２の長孔４６４に嵌まり込んでいる。このため、このレバー４７４において、突起４７５は内ケース４５３に取り付けられた上側の揺動部材４６３の長孔４６９の長手方向に直交する方向に突出することになり、これによって、レバー４７４が上方に引っ張られたときには、突起４７５が上側の揺動部材４６３によって抜止めされる。
図１２のように組み立てられた横構部分が、図１１に示した外ケースに収容される。このとき、内ケース４５３は図示していないビスなどの適宜手段で外ケースに固定される。
そして、内ケース４５３には図１３からよくわかるように、２つの羽根車ないし円盤４５９および４６０に対し、それぞれ、フォトインタラプタ４７９および４８０が対向して設けられる。このフォトインタラプタ４７９および４８０はそれぞれ発光素子および受光素子（図示せず）を含み、発光素子からの光が羽根車ないし円盤４５９および４６０にそれぞれ形成されたスリット４８１および４８３を通過して受光素子によって受光される。したがって、フォトインタラプタ４７９および４８０は、それぞれスリット４８１および４８２を検出し、スリット４８１および４８２に応じて、羽根車ないし円盤４５９および４６０の回転に従ったパルス信号を出力する。
なお、揺動部材４６２および４６３の揺動軸心（支軸４６５および４７０）の高さレベルとレバー４７４の球部４７６の中心の高さレベルとは一致している。また、外ケース４５１にはフレキシブル配線板４８３を接続した基板（図示せず）が組み込まれており、この基板の配線パターンに上述のフォトインタラプタ４７９および４８０に含まれる発光素子や受光素子が電気的に接続されている。
図１４から判るように、一対の揺動部材４６２および４６３に備わっている平坦面４６６および４７１の上に溝付きリング４８４が載架せられ、この溝付きリング４８４の上にコイルばね４８５が配置される。溝付きリング４８４は押下げ部材の例示であって、レバー４７４の中立状態においては、リング４８４の下面が水平になり、そのリング４８４の下面と上述の平坦面４６６および４７１とが互いに面接触して重なり合う。
図１４に示すように、カバー４５２にはガイドリング４８６が取り付けられていて、このガイドリング４８６の中央部に円形の孔４８７が形成される。ガイドリング４８６は、さらに、孔４８７の周囲から外方に向かって上がり勾配となるガイド壁４８８を含む。つまり、ガイド壁４８８は全体として“すりばち”または“コーン”形状に形成される。そして、ガイド壁４８８は、上から見たとき、図１５に示すように８角形になる外縁４９１を有する。
なお、孔４８７の直径は上述のレバー４７４の球部４７６の外周直径と略同じ寸法に選ばれる。したがって、図１４に示すように、孔４８７の孔縁がレバー４７４の球部４７６に接触し、レバー４７４が球部４７６と孔４８７とによって全方位揺動自在に支持されるようになっている。また、ガイドリング４８６の孔４８７には、１８０°隔てた２箇所に円形のボス４８９が径内方向に向けて突出されており、これらのボス４８９が、上記球部４７６に設けられている緯線方向の溝４７８に各別に嵌まり込んでいる。したがって、レバー４７４はボス４８９の軸心回りに揺動することができるが、レバー４７４自体の軸心まわりには回転することができない。したがって、球部４７６の溝４７８とボス４８９とによってレバー４７４がその軸心回りに回転することを阻止する。
また、カバー４５２を外ケース４５１に被着した状態では、ばね４９０が溝付きリング４８４とカバー４５２との間に挟まれて圧縮している。そのため、一対の揺動部材４６２および４６３の平坦面４６６および４７１は溝付きリング４８４を介してばね４９０の力で常時押圧されており、この押圧作用によって、一対の揺動部材４６２および４６３がいずれの方向にも傾かない姿勢になるように常時弾発付勢され、その結果、レバー４７４が垂直姿勢、すなわち中立状態に常時弾発付勢された状態になる。
レバー４７４には、操作つまみ４９２がレバー４７４の連結部４７７を介して取り付けられる。操作つまみ４９２の上面には、手の指を置きやすいように凹所４９３が備わっている。
このようなアナログジョイスティックユニットにおいて、レバー４７４の傾斜方向および傾斜角度に応じて、揺動部材４６２および／または４６３が揺動し、揺動部材４６２および／または４６３の揺動角度に応じて羽根車ないし円盤４６９および／または４７０が回転すると、それらの円盤４６９および／または４７０の回転量に応じたパルスがフォトインタラプタ４７９および４８０から出力され、そのパルスがＸ軸および／またはＹ軸の方向での座標信号として利用される。
ここで、ガイドリング４８６について説明する。ガイドリング４８６は、図１５に示すように上から見たとき８角形の外縁４９１を有するガイド壁４８８を含む。８角形の外縁４９１のそれぞれの角が図１５に示すようにレバー４７４を受け入れる凹所として機能し、角と角との間の直線（辺）がレバー４７４を案内するガイドとして働く。そのため、この実施例では、それぞれの角を上（北），下（南），左（西），右（東），上と左との中間（北西），上と右との中間（北東），下と左との中間（南西）および下と右との中間（南東）の８つの位置（４５°間隔）に位置決めする。
図１５に示す上（北）を示すポイントＮについてみると、このポイントＮを挟む両側のガイド壁４８８ａおよび４８８ｂは、ポイントＮに向かって収束している。すなわち、両側のガイド壁４８８ａおよび４８８ｂは互いに交差し、その交差した位置がポイントＮである。そのため、このポイントＮに向けてレバー４７４を倒すと、レバー４７４は、ポイントＮを挟む両側のガイド壁４８８ａおよび４８８ｂに沿って移動し、すなわち、ガイド壁４８８ａおよび４８８ｂによってガイドされて、最終的に、ポイントＮに位置決めされる。したがって、たとえばモニタ（図示せず）上の可動キャラクタ（図示せず）をモニタ画面上において上方向に移動させようとするとき、つまり、可動キャラクタをその可動キャラクタからみて直進方向に移動させようとするとき、レバー４７４をポイントＮに向けて倒すだけでよい。つまり、可動キャラクタをまっすぐ前進させるとき、レバー４７４をポイントＮの近傍に向けて傾けると、レバー４７４はポイントＮに隣接するガイド壁４８８ａおよび４８８ｂに沿ってポイントＮで拘束されるので、その状態を保持するだけで、可動キャラクタ正確に直進させることができる。
また、円盤４５９および４６０の回転を検出する方法としてスリット４８１および４８２をフォトインタラプタ４７９および４８０で検出する例を挙げたが、他の方法が利用されてもよい。たとえば、円盤４５９および４６０にそれぞれ複数の導電部材を設け、その導電部材を電気的に検出することによって、円盤４５９および４６０の回転を検出する方法が利用可能である。
次に、コネクタ１８１に接続されるコントローラ４０を図１６の詳細なブロック図を用いて説明する。
前述のコントローラ用コネクタ１８２−１８４に接続されるコントローラ４０は、コントローラ用コネクタ１８１に接続されているコントローラ４０と同じものである。そのため、説明は省略する。
接続用ジャック４１は、コントローラ用コネクタ１８１−１８４と接続され、画像処理装置１０から送信されたデータを変換回路４３に出力する。
変換回路４３は、画像処理装置１０のコントローラ制御回路１７のデータをシリアル信号でケーブル４２を介して送受信する。具体的に述べると、変換回路４３は、コントローラ制御回路１７から受信したシリアルデータをコントローラ回路４４内の受信回路４４１へシリアル信号で送信するとともに、コントローラ回路４４内の送信回路４４５からのシリアル信号を受信し、シリアル信号として、ケーブル４２を介してコントローラ制御回路１７へ出力する。
コントローラ回路４４は、受信回路４４１，制御回路４４２，スイッチ信号検出回路４４３，カウンタ４４４，送信回路４４５およびジョイポート制御回路４４６を含む。送信回路４４５は、制御回路４４２から出力されたパラレル信号をシリアル信号に変換して変換回路４３へ出力する。受信回路４４１は、変換回路４３から出力されたシリアル信号をパラレル信号に変換して制御回路４４２に出力する。
制御回路４４２は、受信回路４４１からのパラレル信号が入力されることにより、画像処理装置１０から出力されたデータを受け取る。制御回路４４２は、その受信したデータをもとに所定の動作を行う。制御回路４４２は、スイッチ信号検出回路４４３にスイッチ信号を検出するように指示し、スイッチ信号検出回路４４３からどのボタンが押されているかを表わすデータを受け取る。また、制御回路４４２は、カウンタ４４４にデータの出力を指示し、Ｘカウンタ４４４ＸおよびＹカウンタ４４４Ｙのデータを受け取る。制御回路４４２は、ジョイポート制御回路４４６とアドレスバスおよびデータバスで接続されており、ジョイポート制御回路４４６に命令データを出力することにより拡張装置５０を制御することができ、拡張装置５０から出力されたデータを受け取ることができる。
スイッチ信号検出回路４４３は、ボタン４０３−４０７のスイッチ信号を入力し、所定の復数のボタンが同時に押されたことを検出し、リセット信号をリセット回路４４８に送信する。また、スイッチ信号検出回路４４３は、スイッチ信号を制御回路４４２へ出力する。
カウンタ回路４４４は、２つのカウンタを含む。一方は、Ｘカウンタ４４４Ｘであり、ジョイステック４５内のＸ軸用フォトインタラプタ４７９から出力される検出信号（パルス信号）を計数（カウント）するものである。これによって、レバー４７４がＸ軸方向にどれだけ傾いたかを検出することができる。他方は、Ｙカウンタ４４４Ｙであり、ジョイスティック４５内のＹ軸用フォトインタラプタ４８０から出力されるパルス信号をカウントするものである。これによって、操作部がＹ軸方向にどれだけ傾いたかを検出することができる。カウンタ回路４４４は、これらＸカウンタ４４４ＸおよびＹカウンタ４４４Ｙによって計数された計数値を制御回路４４２の指示に従って、制御回路４４２へ出力する。
ジョイポート制御回路４４６は、制御回路４４２およびジョイポートコネクタ４６を介して拡張装置５０にアドレスバスおよびデータバスで接続されている。これによって、制御回路４４２と拡張装置５０とがアドレスバスおよびデータバスで接続されることになり、画像処理装置１０のメインＣＰＵ１１の命令に従って拡張装置５０を制御可能となる。
ボタン４０３−４０７は、コントローラ４０の外部に突出したキートップを使用者が押圧することにより、電気的信号を発生するものである。この実施例では、キーが押されたとき、電圧がハイからローに変わる。この電圧の変化は、スイッチ信号検出回路４４３によって検出される。
図１７を用いて、コントローラ１０のデータを説明する。コントローラ１０で発生するデータは、４バイトであり、Ｂ，Ａ，Ｇ，ＳＴＡＲＴ，上，下，左，右，ＪＳＲＳＴ，０（実施例では使用しない。），Ｌ，Ｒ，Ｅ，Ｄ，Ｃ，Ｆ，Ｘ座標およびＹ座標からなり、それぞれのビットは、０か１で表される。Ｂは、ボタン４０４Ｂに対応しており、ボタン４０４Ｂが操作者によって押されたとき１になり、押されていないとき０になる。同様に、Ａはボタン４０４Ａ，Ｇはボタン４０７，ＳＴＡＲＴはボタン４０５，上と下と左と右とはボタン４０３，Ｌはボタン４０６Ｌ，Ｒはボタン４０６Ｒ，Ｅはボタン４０４Ｅ，Ｄはボタン４０４Ｄ，Ｃはボタン４０４Ｃ，Ｆはボタン４０４Ｆに対応する。ＪＳＲＳＴは、ボタン４０５とボタン４０６Ｌとボタン４０６Ｒとが操作者によって同時に押されたとき１になり、押されていないとき０になる。Ｘ座標およびＹ座標は、それぞれＸカウンタ４４４ＸおよびＹカウンタ４４４Ｙの計数値のデータである。
次に、拡張装置５０について説明する。図１６の拡張装置５０の例は、バックアップメモリカード５０である。このバックアップメモリカード５０には、アドレスを指定することにより所望のアドレスにデータを書込・読出可能なＲＡＭ５１とそのＲＡＭ５１のデータを保存するために必要なバックアップ電源を供給するための電池５２が内蔵されている。そして、このバックアップメモリカード５０をコントローラ４０のジョイポートコネクタ４６に接続することにより、ＲＡＭ５１は、ジョイポート制御回路４４６と電気的に接続されるため、データの送受信が可能になる。このデータの送受信については、後ほど詳しく説明する。
上述の実施例では、拡張装置の例として、バックアップメモリカード５０を示したが、拡張装置としては、この実施例に限定されるものではなく、データを送信することができおよび／またはデータを受信して動作することができるなら任意の装置が適用可能である。
次に画像処理装置１０とコントローラ４０とのデータの送受信に関する動作説明をする。
まず、図１８の画像処理装置１０のＣＰＵ１１のフローチャートを参照して画像処理に関する説明を行う。ステップＳ１１１で、ＣＰＵ１１は、図５のプログラムデータ領域２０２に記憶されている初期値（図示せず）に基づき、初期設定を行う。次に、ステップＳ１１２で、ＣＰＵ１１は、プログラムデータ領域２０２に記憶されているコントールパッドデータ要求コマンドをバス制御回路１２に出力する。次に、ステップＳ１１３で、ＣＰＵ１１は、図５のプログラムデータ領域２０２に記憶されているプログラムにおよび画像データ領域２０１に基づき所定の画像処理を行う。また、ＣＰＵ１１がステップＳ１１３を実行しているときに、バス制御回路１２は、ステップＳ１２１−１２４を実行している。次に、ステップＳ１１４で、ＣＰＵ１１は、図３のコントロールパッドデータ領域１４１に記憶されているコントロールパッドデータに基づき画像データを出力する。ステツプ１１４を終了した後は、ＣＰＵ１１は、ステップＳ１１２−ステップＳ１１４を繰り返し実行する。
バス制御回路１２の動作を図１９を用いて説明する。ステツプ１２１で、バス制御回路１２は、ＣＰＵ１１がコントローラデータ要求コマンド（コントローラ４０のスイッチデータまたは拡張装置５０のデータ等の要求命令）を出力したか否かを判断する。コントローラデータ要求コマンドが出力されていなければ、出力されるまで待機する。コントローラデータ要求コマンドが出力されていれば、ステップＳ１２２に移る。ステップＳ１２２で、バス制御回路１２は、コントローラ制御回路１７にコントローラ４０のデータを読み込むためのコマンド（後に示すコマンド１またはコマンド２等）を出力する。次に、ステップＳ１２３で、バス制御回路１２は、コントローラ制御回路１７がコントローラ４０からデータを受信してＲＡＭ１７４に記憶したか否かを判断する。バス制御回路１２は、コントローラ制御回路１７がコントローラ４０からデータを受信してＲＡＭ１７４に記憶していなければ、ステップＳ１２３で待機し、コントローラ制御回路１７がコントローラ４０からデータを受信してＲＡＭ１７４に記憶していれば、ステップＳ１２４に移る。ステップＳ１２４で、バス制御回路１２は、コントローラ制御回路１７のＲＡＭ１７４に記憶されているコントローラ４０のデータをＷ−ＲＡＭ１４へ転送する。バス制御回路１２は、Ｗ−ＲＡＭ１４へのデータ転送が終わるとステップＳ１２１に戻り、ステップＳ１２１−ステップＳ１２４の動作を繰り返す。
なお、図１８および図１９のフローチャートでは、バス制御回路１２がＲＡＭ１７４からＷ−ＲＡＭ１４へデータを転送した後、ＣＰＵ１１がＷ−ＲＡＭ１４に記憶されたデータを処理する例を示したが、ＣＰＵ１１がバス制御回路１２を介して直接ＲＡＭ１７４のデータを処理してもよい。
次に、図２０のコントローラ制御回路１７の動作フローチャートを参照して、データ転送に関する動作説明を行う。
ステップＳ１７１で、バス制御回路１２からの書き込み待ちが有るか否かを判断する。バス制御回路１２からの書き込み待ちがなければ、データ転送制御回路１７１は、バス制御回路１２からの書き込み待ちが有るまで待機する。バス制御回路１２からの書き込み待ちが有れば、次のステップＳ１７２に移る。ステップＳ１７２で、データ転送制御回路１７１は、１−４チャンネルに対するコマンドおよび／またはデータをＲＡＭ１７４に記憶させる。
ステップＳ１７３において１チャンネル目のコマンドおよび／またはデータをコネクタ１８１に接続されているコントローラ４０に送信する。コントローラ４０の制御回路４４２は、このコマンドおよび／またはデータに基づいて所定の動作を行い、画像処理装置１０に送信すべきデータを出力する。このデータの内容は、後の制御回路４４２の動作説明で詳しく説明する。次に、ステップＳ１７４で、データ転送制御回路１７１は、この制御回路４４２から出力されたデータを受信し、そのデータをＲＡＭに記憶する。
ステップＳ１７５において２チャンネル目のコマンドおよび／またはデータをコネクタ１８２に接続されているコントローラ４０に送信する。コントローラ４０の制御回路４４２は、このコマンドおよび／またはデータに基づいて所定の動作を行い、画像処理装置１０に送信すべきデータを出力する。次のステップＳ１７６は、ステップＳ１７４と同様である。
ステップＳ１７７において３チャンネル目のコマンドおよび／またはデータをコネクタ１８３に接続されているコントローラ４０に送信する。コントローラ４０の制御回路４４２は、このコマンドおよび／またはデータに基づいて所定の動作を行い、画像処理装置１０に送信すべきデータを出力する。次のステップＳ１７８は、ステップＳ１７４と同様である。
ステップＳ１７９において４チャンネル目のコマンドおよび／またはデータをコネクタ１８４に接続されているコントローラ４０に送信する。コントローラ４０の制御回路４４２は、このコマンドおよび／またはデータに基づいて所定の動作を行い、画像処理装置１０に送信すべきデータを出力する。次のステップＳ１８０は、ステップＳ１７４と同様である。
ステップＳ１８１で、データ転送制御回路１７１は、ステップＳ１７４，１７６，１７８および１８０で受信したデータをまとめて、バス制御回路１２へ転送する。
次に、図２１のコントローラ４０内のコントローラ回路４４の動作フローチャートを示す。まず、ステップＳ４０２では、コマンドが画像処理装置１０から制御回路４４２に入力されているか否かを判断する。コマンドが入力されていなければ、制御回路４４２は、コマンドが入力されるまで待機する。コマンドが入力されていれば次のステップＳに移る。ステップＳ４０４では、コマンドが入力されると、制御回路４４２に入力されたコマンドがステータス要求コマンド（コマンド０）であるか否かを判断する。コマンド０でなかった場合は、ステップＳ４０８に移る。コマンド０であった場合は、ステップＳ４０６に移り、ステータス送出処理を行う。具体的には、ＣＰＵ１１がコマンド０を出力した場合の画像処理装置１０とコントローラ４０との送受信データを詳細に表した図２２を参照して説明する。
コントローラ４０の制御回路４４２は、１バイト（８ビット）で構成されるコマンド０のデータを受信すると、ＴＹＰＥ  Ｌ（１バイト），ＴＹＰＥ  Ｈ（１バイト）およびステータスを送信する。ＴＹＰＥ  ＬおよびＴＹＰＥ  Ｈは、ジョイポートコネクタ４６に接続されている機器がどんな機能を持っているかを示すためのものであり、拡張装置５０に記録されているデータである。これによって、画像処理装置１０は、コントローラ４０にどの様な拡張装置５０が接続されているかを認識することが可能である。ステータスは、ジョイポートに拡張装置５０が接続されているか否か、およびリセット後に拡張装置５０が接続されたか否かを示すデータである。
ステップＳ４０８では、入力されたコマンドがパッドデータ要求コマンド（コマンド１）であるか否かを判断する。コマンド１でなかった場合は、ステップＳ４１２に移る。コマンド１であった場合は、ステップＳ４１０に移り、パッドデータ送出処理を行う。具体的には、ＣＰＵ１１がコマンド１を出力した場合の画像処理装置１０とコントローラ４０との送受信データを詳細に表した図２３を参照して説明する。
コントローラ４０の制御回路４４２は、１バイト（８ビット）で構成されるコマンド１のデータを受信すると、Ｂ，Ａ，Ｇ，ＳＴＡＲＴ，上，下，左，右，Ｌ，Ｒ，Ｅ，Ｄ，Ｃ，Ｆの１４個のスイッチのデータ（１６ビット）とＪＳＲＳＴ（１ビット）とカウンタ４４４Ｘおよびカウンタ４４４Ｙのデータ（１６ビット）を送信する。これらのデータを画像処理装置１０に送信することによって、操作者がどのようにコントローラ４０を操作したかを画像処理装置１０に認識させることができる。
ステップＳ４１２では、入力されたコマンドが拡張コネクタ書き出し要求コマンド（コマンド２）であるか否かを判断する。コマンド２でなかった場合は、ステップＳ４１６に移る。コマンド２であった場合は、ステップＳ４１４に移り、拡張コネクタ書き出し処理を行う。具体的には、ＣＰＵ１１がコマンド２を出力した場合の画像処理装置１０とコントローラ４０との送受信データを詳細に表した図２４を参照して説明する。
コントローラ４０の制御回路４４２は、１バイト（８ビット）で構成されるコマンド２のデータ，アドレスの上位ビットを示すアドレスＨ（８ビット），アドレスの下位ビット（３ビット）を表わすアドレスＬおよび送受信のアドレスデータエラーをチェックするためのアドレスＣＲＣ（５ビット）を受信すると、受信したアドレスデータに基づいて、拡張装置５０に記憶されているデータ（３２バイト）およびデータエラーをチェックするためのＣＲＣ（８ビット）を送信する。このように、拡張装置５０と画像処理装置１０とが接続されることにより、画像処理装置１０が拡張装置５０からのデータを処理することができる。
ステップＳ４１６では、入力されたコマンドが拡張コネクタ読み込み要求コマンド（コマンド３）であるか否かを判断する。コマンド３でなかった場合は、ステップＳ４２０に移る。コマンド３であった場合は、ステップＳ４１８に移り、拡張コネクタ読み込み処理を行う。具体的には、ＣＰＵ１１がコマンド３を出力した場合の画像処理装置１０とコントローラ４０との送受信データを詳細に表した図２５を参照して説明する。
コントローラ４０の制御回路４４２は、１バイト（８ビット）で構成されるコマンド３のデータ，アドレスの上位ビットを示すアドレスＨ（８ビット），アドレスの下位ビット（３ビット）を表わすアドレスＬ，送受信のアドレスデータエラーをチェックするためのアドレスＣＲＣ（５ビット）および拡張装置５０に送るべきデータ（３２バイト）を受信すると、受信したデータに対してエラーをチェックするためのＣＲＣ（８ビット）を送信する。このように、拡張装置５０と画像処理装置１０とが接続されることにより、画像処理装置１０が拡張装置５０を制御可能となる。また、このように、拡張装置５０と画像処理装置１０とが接続されることにより、コントローラ４０の機能を飛躍的に向上させることができる。
ステップＳ４２０では、入力されたコマンドがリセットコマンド（コマンド２５５）であるか否かを判断する。コマンド２５５でなかった場合は、ステップＳ４０２に移る。コマンド２５５であった場合は、ステップＳ４２２に移り、ジョイスティックカウンタリセット処理を行う。具体的には、ＣＰＵ１１がコマンド２５５を出力した場合の画像処理装置１０とコントローラ４０との送受信データを詳細に表した図２６を参照して説明する。
コントローラ４０の制御回路４４２は、１バイト（８ビット）で構成されるコマンド２５５のデータを受信すると、リセット信号を出力し、Ｘカウンタ４４４ＸおよびＹカウンタ４４４Ｙをリセットし、前述のＴＹＰＥ  Ｌ（１バイト），ＴＹＰＥ  Ｈ（１バイト）およびステータスを送信する。
上述した、ジョイスティック４５のリセットに関する詳細な説明をする。
ジョイスティック４５の原点を決定するリセットの方法は、ボタンの操作によるリセット，電源のＯＮ−ＯＦＦによるリセットおよび画像処理装置１０によるリセットの３つの方法がある。
（１）ボタンの操作によるリセット
図２７のフローチャートを参照して、ジョイスティック４５の傾斜状態のデータを記憶しているカウンタ４４４のリセットについて説明する。まず、ステップＳ４３２で、スイッチ信号検出回路４４３が、ボタン４０６Ｌ，ボタン４０６Ｒおよびボタン４０５が同時に押されたか否かを検出する。そして、３つのボタンが押されていないときは、引き続きスイッチ信号の検出を続行する。また、３つのボタンが押された場合は、リセット信号を出力する。
このリセット信号が出力されたことによって、ステップＳ４３４で、Ｘカウンタ４４４ＸおよびＹカウンタ４４４Ｙの計数値がリセットされる。したがって、ボタン４０６Ｌ，ボタン４０６Ｒおよびボタン４０５が同時に押される毎に、ジョイスティックの原点が決定される。
この実施例では、使用者がボタン４０６Ｌ，ボタン４０６Ｒおよびボタン４０５の３つを同時に押したとき、スイッチ信号検出回路４４３がリセット信号を発生する例を示したが、特にこの３つのボタンでなくともよい。例えば、使用者が押すボタンは、３つに限定されるものではなく２つでも４つでもよい。また、リセットのためのボタンは、上述の３つのボタンでなくとも、その他に設けられたボタンのうちどのボタンを設定してもよい。
（２）電源のオン−オフによるリセット
図２８のフローチャートを参照して、その他のカウンタ４４４のリセットについて説明する。まず、コントローラ４０が画像処理装置１０に接続されている場合は、使用者が画像処理装置１０の電源スイッチをＯＮするか、コントローラ４０が画像処理装置１０に未接続の場合は、使用者がコントローラ４０の接続用ジャックを画像処理装置１０のコントローラ用コネクタ１８１−１８４に差込むことにより、コントローラ４０に電源を供給することに応じて、パワーオンリセット回路４４７がリセット信号を出力する。このリセット信号が出力されたことによって、ステップＳ４４２で、Ｘカウンタ４４４ＸおよびＹカウンタ４４４Ｙの計数値がリセットされる。したがって、電源がコントローラ４０に供給される毎にジョイスティックの原点が決定される。
（３）画像処理装置１０によるリセット
前述の図２１のステップＳ４２０およびステップＳ４２２のリセットがある。このリセットによって、画像処理装置１０の処理状況に応じて、プログラムで自由にジョイスティック４５の原点を決定可能である。
以上の方法でＸカウンタ４４４ＸおよびＹカウンタ４４４Ｙをリセットすることができる。レバー４７４が中立しているとき（使用者に操作されていないとき）にリセット信号が出力されることにより、Ｘカウンタ４４４ＸおよびＹカウンタ４４４Ｙに間違った計数値が記憶されたままで、画像処理装置１０に間違った計数値を送信することを防止できる。
次に、コントローラ４０によって画面を変化させる例を図２９を用いて説明する。図２９の左図は、レバー４７４の物理的な傾斜量を座標で表したものである。具体的に説明すると、中心に描かれている丸がレバー４７４の位置を表し、この図では、操作者が操作しない状態（レバー４７４がハウジングに対して、垂直に直立した状態）を表している。もし、操作者から見て、レバー４７４を前方に傾斜させたときは、丸がＹ軸に対して＋方向に移動し、レバー４７４を後方に傾斜させたときは、丸がＹ軸に対して−方向に移動する。また、操作者から見で、レバー４７４を右方に傾斜させたときは、丸がＸ軸に対して＋方向に移動し、レバー４７４を左方に傾斜させたときは、丸がＸ軸に対して−方向に移動する。
図２９の右図は、実施例の一例として、レバー４７４を前後左右に傾斜させることにより、照準３５を上下左右に動かし、敵３４に照準を合わせるゲームの表示画面を示している。雲３１，山３２および建物３３は、スクロール等で変化する背景画像であり、敵３４は画面上を自由に動き回るオブジェクトである。例えば、図に示すように敵３４が画面の右上に現れているとき、操作者は、レバー４７４を右に傾け、かつ前方に傾ける。すると、コントローラ４０内にあるＸカウンタ４４４Ｘが加算され計数値が大きくなり、かつＹカウンタ４４４Ｙが加算され計数値が大きくなる。この計数値のデータは、画像処理装置１０に送信される。画像処理装置１０は、この加算値のデータを用いて、照準３５の表示位置を変化させる。その結果、照準３５と敵３４とが重なり合うようになる。そして、重なったとき、ボタン４０４Ａ等のボタンを押すと、このスイッチデータも前述の加算値のデータと同様に画像処理装置１０に送信される。その結果、画像処理装置１０は、ミサイル（図示せず）等を画面に表示し、敵３４に当たるように表示するための画像信号を発生する。
次に、レバー４７４を中心部よりずらして（傾斜して）リセットした場合の例を図３０を用いて説明する。図３０の左図の実線の丸で示した座標位置でＸカウンタ４４４ＸおよびＹカウンタ４４４Ｙをリセットしたとき、操作者がレバー４７４から手を放すと、レバー４７４は、座標の中心位置（破線の丸で示した位置）に復帰する。このときの画像表示の変化を図３０の右図を用いて説明する。まず、Ｘカウンタ４４４ＸおよびＹカウンタ４４４Ｙをリセットしたときは、図２９の右図と同じように、照準３５が実線の丸の位置に表示されている。なぜなら、Ｘカウンタ４４４ＸおよびＹカウンタ４４４Ｙの計数値が０であるので、初期値と同じ計数値であるからである。次に、操作者がレバー４７４から手を放し、レバー４７４が座標の中心位置に復帰したとき、コントローラ４０内にあるＸカウンタ４４４Ｘが加算され計数値が大きくなり、かつＹカウンタ４４４Ｙが減算され計数値が小さくなる。この計数値のデータは、画像処理装置１０に送信される。画像処理装置１０は、この加算値のデータを用いて、照準３５の表示位置を変化させる。（破線の照準３５の位置に変化させる。）
このようなリセットをどの様なときに行うのかを説明する。例えば、操作者が敵３４の出現する位置を図３０の右図の破線の照準３５の位置であると予想したとする。その場合、敵３４が出現した瞬間に破線の照準３５の位置に照準３５を合わせたいと考える。しかし、破線の照準３５に照準３５を静止し続けるのでは、ゲームを操作するものとして退屈であり、かつ予想以外の場所から敵３４が出現したとき対応できない可能性がある。そのため、敵３４が出現した瞬間に破線の照準３５の位置に照準３５を合わせ、かつ自由に他の場所に照準３５を移動させるようにするために上述のリセット機能を用いる。操作者の動作を具体的に説明すると、まず操作者は、実線の照準３５を基準に、敵３４が現れると予想した位置（破線の照準３５の位置）と対象の位置に照準３５が表示されるようにレバー４７４を傾斜させる。そのとき、レバー４７４の物理的座標は、図３０の左図の実線の丸の位置になる。このとき、操作者は、ボタン４０６Ｌ，ボタン４０６Ｒおよびボタン４０５の３つを同時に押す。すると、Ｘカウンタ４４４ＸおよびＹカウンタ４４４Ｙがリセットされ、照準３５は、実線の照準３５の位置に表示される。そして、操作者は、自由に照準３５を動かし、敵３４の出現を待つ。もし、破線の照準３５の位置に敵３４が出現したとき、操作者は、レバー４７４から手を放す。すると、レバー４７４は、図３０の左図の破線の丸の物理的座標位置に復帰する。その結果、照準３５は、破線の照準３５の位置に表示される。操作者は、照準３５を敵３４に正確に重ね合せ、ボタン４０４Ａ等のスイッチを押すと、ミサイル（図示せず）等が画面に表示され、敵３４に当たる。
また、上述のようにリセットを行うと、レバー４７４を右下方向に多く動かすことができる。そのため、操作者が、レバー４７４を右下方向に多く動かしたいときに有効である。
次に、この発明の特徴となるアナログジョイスティック４５のデータを補正する方法について説明する。アナログジョイスティックのデータを補正する理由は、１つはレバー４７４のニュートラル状態におけるデータのずれが生じるからであり、１つはレバー４７４の傾動範囲を変更する必要性があるからである。
アナログジョイスティック４５からのデータを補正するために、図１６に示す制御回路４４２において、図３１に示すタイマインタラプトルーチンが実行される。このタイマインタラプトルーチンはたとえば１／３０秒程度の一定時間毎に実行される。
図３１の最初のステップＳ１では、制御回路４４２は、Ｘカウンタ４４４ＸおよびＹカウンタ４４４Ｙから、Ｘカウント値およびＹカウント値、すなわち、レバー４７４の実際の傾斜方向および傾斜量を示す座標データＸａおよびＹａを読み取る。このデータＸａおよびＹａは、制御回路４４２に含まれるメモリ（図示せず）にストアされる。続くステップＳ２では、制御回路４４２は、中心補正を実行する。中心補正とは、アナログジョイスティック４５のレバー４７４のニュートラル位置におけるデータＸａおよびＹａの”０”からのずれを補正することである。つまり、操作者がレバー４７４の操作を開放したとき、レバー４７４はニュートラル位置になり、そのとき、データＸａおよびＹａはともに”０”となるはずである。ところが、アナログジョイスティック４５の内部機構における摩擦のために、レバー４７４のニュートラル位置においてＸカウンタ４４４ＸおよびＹカウンタ４４４ＹのデータＸａおよびＹａが”０”に戻らないことがある。このようなニュートラル位置におけるデータのずれをステップＳ２によって補正する。中心補正の方法は、後に詳しく説明するように、図３２，図３４および図３６に示す３つの方法がある。
ステップＳ２の中心補正が終了すると、次のステップＳ３において、制御回路４４２は、そのとき設定されている周辺補正モードが”円モード”かどうか判断する。上述の実施例においては、アナログジョイスティック４５のガイドリング４８６は８角形の外縁４９１を有し、したがって、レバー４７４はこのガイドリング４８６の外縁４９１によって、８角形の範囲で傾動可能である。しかしながら、ゲームの内容によっては、８角形の範囲ではなく、円形や４角形の範囲でレバーが傾動されたものとみなすことが要求されることがある。レバー４７４の実質的傾動範囲が図３８に示すように円形の場合を”円モード”とよび、レバーの実質的傾動範囲が図４０に示すように４角形の場合を”４角形モード”とよぶ。前者の場合、レバー４７４は実際には８角形の外縁４９１で規制されて８角形の範囲で傾動されるが、ステップＳ４において、そのレバー４７４の動きを図３８に示す円形の範囲に補正する。後者の場合、ステップＳ５において、そのレバー４７４の動きを図４０に示す４角形の範囲に補正する。”円モード”はレバー４７４を最大傾動させたときに、レバー４７４の傾斜方向によってジョイスティックデータが変わらない方がよいゲーム、たとえばレバーを傾動させた方向および量によって可動キャラクタをモード画面上で全方向に移動させるゲームに好適する。”４角形モード”は、先に述べたレーシングゲームのように、レバー４７４を前方または後方に最大傾動した状態でレバー４７４を左右に傾動させるゲームに好適する。
次に、図３２および図３３を参照して、第１の中心補正方法について説明する。図３２に示す方法は、Ｘカウンタ４４４ＸおよびＹカウンタ４４４ＹのデータＸａおよびＹａがそれぞれ図３２における斜線で規定される所定範囲内にあるとき、アナログジョイスティック４５から出力されるデータ（以下、”ジョイスティックデータ”と呼ぶ）ＸおよびＹをそれぞれ”０”とみなす方法である。具体的には、カウンタデータＸａが”＋１６”から”−１６”の範囲にあるとき、ジョイスティックデータＸは”０”として出力される。同様に、カウンタデータＹａが”＋１６”から”−１６”の範囲にあるとき、ジョイスティックデータＹは”０”として出力される。なお、この具体的数値”１６”および”−１６”は発明者等の実験によって決定された数値であるが、他の任意の数値を設定することができることはいうまでもない。つまり、発明者等の実験では、レバー４７４のニュートラル位置におけるデータのずれはほぼ”１６”から”−１６”の範囲であったので、上述の数値を用いるが、他の数値が適当であると考えられるときはその他の数値を用いればよい。
図３３の最初のステップＳ１１では、制御回路４４２は、カウンタデータＹａが”１６”より大きいかどうか（Ｙａ＞１６）を判断する。このステップＳ１１で“ＹＥＳ”が判断されると、すなわち、カウンタデータＹａが”１６”より大きいとき、次のステップＳ１２において、制御回路４４２は、カウンタデータＹａから”１６”を減じた値（Ｙａ−１６）をジョイスティックデータＹとして設定する。
ステップＳ１１で“ＮＯ”が判断されると、制御回路４４２は、ステップＳ１３において、カウンタデータＹａが”−１６”より小さいかどうか判断する。このステップＳ１３において“ＹＥＳ”が判断されたとき、すなわち、カウンタデータＹａが”−１６”より小さいとき、次のステップＳ１４において、制御回路４４２は、ジョイスティックデータＹとしてカウンタデータＹａに”１６”を加えた値（Ｙａ＋１６）を設定する。
ステップＳ１３で“ＮＯ”と判断されると、すなわち、カウンタデータＹａが”１６”から”−１６”の範囲内にあるとき、ステップＳ１５において、制御回路４４２は、ジョイスティックデータＹとして”０”を出力する（Ｙ＝０）。
ステップＳ１２，Ｓ１４またはＳ１５の後、ステップＳ１６では、制御回路４４２は、カウンタデータＸａが”１６”より大きいかどうか（Ｘａ＞１６）を判断する。このステップＳ１６で“ＹＥＳ”が判断されると、すなわち、カウンタデータＸａが”１６”より大きいとき、次のステップＳ１７において、制御回路４４２は、カウンタデータＸａから”１６”を減じた値（Ｘａ−１６）をジョイスティックデータＸとして設定する。
ステップＳ１６で“ＮＯ”が判断されると、制御回路４４２は、ステップＳ１８において、カウンタデータＸａが”−１６”より小さいかどうか判断する。このステップＳ１３において“ＹＥＳ”が判断されたとき、すなわち、カウンタデータＸａが”−１６”より小さいとき、次のステップＳ１９において、制御回路４４２は、ジョイスティックデータＸとしてカウンタデータＸａに”１６”を加えた値（Ｘａ＋１６）を設定する。
ステップＳ１８で“ＮＯ”と判断されると、すなわち、カウンタデータＸａが”１６”から”−１６”の範囲内にあるとき、ステップＳ２０において、制御回路４４２は、ジョイスティックデータＸとして”０”を出力する（Ｘ＝０）。その後、図３１にリターンする。
第１の方法によれば、レバー４７４のニュートラル位置ではジョイスティックデータＸおよびＹは共に”０”となり、ニュートラル位置におけるデータのずれは解消される。しかしながら、Ｘ軸およびＹ軸の近傍、すなわち、図３２の斜線の範囲は、不感領域となる。この不感領域では、レバー４７４が動かされたにも拘わらず、”０”のジョイスティックデータが出力されるので、所謂”あそび”が生じる。したがって、第１の中心補正方法は、アナログジョイスティックの”あそび”が許容されるゲームに好適する。
図３４および図３５に示す中心補正の第２の方法は、図３４に示す円の部分が中心（０，０）に重なるようにデータをシフトする。具体的には、図３４の斜線で示す範囲以外の範囲のカウンタデータを中心に向かって１６√２だけシフトする。この方法では、第１の方法とは異なり、”あそび”は生じない。しかしながら、三角関数やルート計算が必要になる。
詳しくいうと、図３５のステップＳ２１において、制御回路４４２は、レバー４７４の傾き量Ｄａを（1）式に従って計算する。
0004290762.tif 000002
そして、次のステップＳ２２において、制御回路４４２は、傾き量Ｄａが所定値（１６√２）と等しいかまたは大きいかどうかを判断する。つまり、ステップＳ２２では、レバー４７４の傾き量Ｄａが図３４に示す円の範囲内かどうかが判断される。ステップＳ２２で“ＮＯ”が判断されると、ステップＳ２３で、制御回路４４２は、いずれも”０”のジョイスティックデータを出力する。つまり、Ｘ＝０，Ｙ＝０およびＤ＝０を設定する。
ただし、ステップＳ２２において“ＹＥＳ”と判断されると、制御回路４４２は以下に示す（2）式に従ってジョイスティックデータを計算する。
Ｄ＝Ｄａ−１６√２
θ＝ｔａｎ-1（Ｙａ／Ｘａ）
Ｘ＝Ｄ・ｃｏｓθ
Ｙ＝Ｄ・ｓｉｎθ      …（2）
このようにして、第２の方法によれば、図３４においてＡおよびＢで示す直線運動がＡ′およびＢ′で示す曲線運動に変換される。
図３６および図３７で示す第３の中心補正方法では、図３６に示される矩形の範囲（レバー４７４の静止可能範囲）が中心（０，０）に重なるように、カウンタデータを変換する。第３の方法では、”あそび”は生じないだけでなく、複雑な計算が不要となる。
図３７の最初のステップＳ３１では、制御回路４４２は、カウンタデータＸａが所定値（具体的には、”１６”）より大きいかどうか判断する。このステップＳ３１で“ＹＥＳ”が判断されると、次のステップＳ３２において、制御回路４４２は、次式（3）に従って、中間値Ｙａ１およびＸａ１を計算する。
Ｙａ１＝Ｙａ（１６／Ｘａ）
Ｘａ１＝１６      …（3）
また、ステップＳ３１において“ＮＯ”が判断されると、ステップＳ３３において、カウンタデータＸａが所定値（具体的には、”−１６”）より小さいかどうか判断する。このステップＳ３３で“ＹＥＳ”が判断されると、次のステップＳ３４において、制御回路４４２は、次式（4）に従って、中間値Ｙａ１およびＸａ１を計算する。
Ｙａ１＝Ｙａ（１６／−Ｘａ）
Ｘａ１＝−１６      …（4）
なお、ステップＳ３１およびＳ３３においてともに“ＮＯ”と判断されたときには、制御回路４４２は、中間値Ｙａ１およびＸａ１として、カウンタデータＹａおよびＸａをそのまま出力する。
続くステップＳ３６では、制御回路４４２は、中間値Ｙａ１が所定値（具体的には、”１６”）より大きいかどうか判断する。このステップＳ３６で“ＹＥＳ”が判断されると、次のステップＳ３７において、制御回路４４２は、次式（5）に従って、中間値Ｙａ２およびＸａ２を計算する。
Ｘａ２＝Ｘａ１（１６／Ｙａ１）
Ｙａ２＝１６      …（5）
また、ステップＳ３６において“ＮＯ”が判断されると、ステップＳ３８において、中間値Ｙａ１が所定値（具体的には、”−１６”）より小さいかどうか判断する。このステップＳ３８で“ＹＥＳ”が判断されると、次のステップＳ３９において、制御回路４４２は、次式（6）に従って、中間値Ｙａ２およびＸａ２を計算する。
Ｘａ２＝Ｘａ（１６／−Ｙａ）
Ｙａ２＝−１６      …（6）
ステップＳ３６およびＳ３８においてともに“ＮＯ”と判断されたときには、制御回路４４２は、中間値Ｙａ２およびＸａ２として、中間値Ｙａ１およびＸａ１をそのまま出力する。
その後、ステップＳ４１が実行され、４つの条件が同時に充足されるかどうか判断される。第１の条件は、カウンタデータＸａが”−１６”と等しいかまたは大きいか（Ｘａ≧−１６）である。第２の条件は、カウンタデータＸａが”１６”と等しいかまたは小さいか（Ｘａ≦１６）である。第３の条件は、カウンタデータＹａが”−１６”と等しいかまたは大きいか（Ｙａ≧−１６）であり、第４の条件は、カウンタデータＹａが”１６”と等しいかまたは小さいか（Ｙａ≦１６）である。この４つの条件が全て充足されると、ステップＳ４１において“ＹＥＳ”が判断される。この場合には、制御回路４４２は、ステップＳ４２において、ジョイスティックデータＹおよびＸとして、それぞれ、”０”を出力する（Ｙ＝０，Ｘ＝０）。ステップＳ４１で“ＮＯ”が判断されると、制御回路４４２は、ステップＳ４３において、次式（7）に従って、ジョイスティックデータＸおよびＹを計算する。
Ｙ＝Ｙａ−Ｙａ２
Ｘ＝Ｘａ−Ｘａ２      …（7）
このようにして中心補正が３つの方法のいずれかに従って実行された後、図３１のステップＳ３以降のステップが実行される。
図３８および図３９を参照して、図３１のステップＳ４すなわち、”円モード”について説明する。”円モード”は、図３８で示す８角形のレバー４７４の物理的傾動範囲を円形に補正する。ただし、このような周辺補正で使用されるデータは、先に中心補正を施されたデータ、すなわち、ジョイスティックデータである。図３８に示す方法では、８角形と円形との差の範囲（図３８において斜線で示す）がレバー４７４の”あそび”となる。
具体的には、図３９の最初のステップＳ５１において、制御回路４４２は、先の図３５のステップＳ２１および（1）式と同様にして、ジョイスティックデータＸおよびＹに基づいて、傾き量Ｄを計算する。次いで、ステップＳ５２において、傾き量Ｄが最大値Ｄｍａｘより大きいかどうか（Ｄ＞Ｄｍａｘ）を判断する。傾き量Ｄの最大値Ｄｍａｘは、アナログジョイスティック４５に固有の値であり、予めメモリ（図示せず）にストアされている。したがって、このステップＳ５２では、傾き量Ｄと最大値ｍａｘとを比較する。ステップＳ５２において“ＮＯ”が判断されれば、レバー４７４はガイドリング４８６（図１５）に当接する位置までは傾斜されていないことを意味し、この場合には、制御回路４４２は、中心補正されたジョイスティックデータをそのまま出力する。
これに対して、レバー４７４がガイドリング４８６に当接する位置まで傾斜されているとき、つまり、ステップＳ５２において“ＹＥＳ”が判断されるとき、制御回路４４２は次式（8）に従ってジョイスティックデータＸ′およびＹ′を計算する。
Ｘ′＝Ｘ（Ｄｍａｘ／Ｄ）
Ｙ′＝Ｙ（Ｄｍａｘ／Ｄ）      …（8）
このようにして、８角形であるレバー４７４の物理的傾動範囲が円形の実質的傾動可能範囲に補正される。
次に、図４０および図４１を参照して、図３１のステップＳ５における”４角形モード”について説明する。”４角形モード”は、図４０で示す８角形のレバー４７４の物理的傾動範囲を４角形に補正する。図４０に示す方法では、８角形と４角形との差の範囲（図４０において斜線で示す）がレバー４７４の”あそび”となる。
図４１の最初のステップＳ６１では、制御回路４４２は、ジョイスティックデータＸが最大値Ｘｍａｘより大きいかどうか判断する。Ｙ軸のプラス側の最大値（後述）と同じように、Ｘ軸のプラス側の最大値Ｘｍａｘもまたアナログジョイスティック４５に固有の値であり、予めメモリ（図示せず）にストアされている。したがって、このステップＳ６１では、ジョイスティックデータＸと最大値Ｘｍａｘとが比較される。ステップＳ６１において“ＹＥＳ”が判断されると、制御回路４４２は、次のステップＳ６２において、ジョイスティックデータＸとしてプラス最大値Ｘｍａｘを出力する。
ステップＳ６１で“ＮＯ”が判断されたとき、制御回路４４２は、ステップＳ６３において、さらに、ジョイスティックデータＸが最大値−Ｘｍａｘより小さいかどうか判断する。このＸ軸のマイナス側の最大値−Ｘｍａｘもまたアナログジョイスティック４５に固有の値であり、予めメモリ（図示せず）にストアされている。したがって、このステップＳ６３では、ジョイスティックデータＸとマイナス最大値−Ｘｍａｘとが比較される。ステップＳ６３において“ＹＥＳ”が判断されると、制御回路４４２は、次のステップＳ６４において、ジョイスティックデータＸとしてマイナス最大値−Ｘｍａｘを出力する。
Ｙ軸についても同様の処理が実行される。すなわち、ステップＳ６５では、制御回路４４２は、ジョイスティックデータＹが最大値Ｙｍａｘより大きいかどうか判断する。Ｙ軸のプラス側の最大値Ｙｍａｘもまたアナログジョイスティック４５に固有の値であり、予めメモリ（図示せず）にストアされている。したがって、このステップＳ６５では、ジョイスティックデータＹと最大値Ｙｍａｘとが比較される。ステップＳ６５において“ＹＥＳ”が判断されると、制御回路４４２は、次のステップＳ６６において、ジョイスティックデータＹとしてプラス最大値Ｙｍａｘを出力する。
ステップＳ６５で“ＮＯ”が判断されたとき、制御回路４４２は、ステップＳ６７において、さらに、ジョイスティックデータＹが最大値−Ｙｍａｘより小さいかどうか判断する。このＹ軸のマイナス側の最大値−Ｙｍａｘもまたアナログジョイスティック４５に固有の値であり、予めメモリ（図示せず）にストアされている。したがって、このステップＳ６７では、ジョイスティックデータＹとマイナス最大値−Ｙｍａｘとが比較される。ステップＳ６７において“ＹＥＳ”が判断されると、制御回路４４２は、次のステップＳ６８において、ジョイスティックデータＹとしてマイナス最大値−Ｙｍａｘを出力する。
このようにして、上述の実施例では、レバー４７４の傾動可能範囲の一部（中心部および／または周辺部）において、不感領域を設定することによって、レバー４７４のニュートラル位置におけるデータのずれが解消できるだけでなく、レバー４７４の実質的傾動範囲をガイドリング４８６の形状に拘わらず任意に設定できる。したがって、特定のゲームに好適するレバー４７４の実質的傾動範囲の形状を設定することができる。
この発明が詳細に説明され図示されたが、それは単なる図解および一例として用いたものであり、限定であると解されるべきではないことは明らかであり、この発明の精神および範囲は添付されたクレームの文言によってのみ限定される。
【図１】
0004290762.tif 000003
【図２】
0004290762.tif 000004
【図３】
0004290762.tif 000005
【図４】
0004290762.tif 000006
【図５】
0004290762.tif 000007
【図６】
0004290762.tif 000008
【図７】
0004290762.tif 000009
【図８】
0004290762.tif 000010
【図９】
0004290762.tif 000011
【図１０】
0004290762.tif 000012
【図１１】
0004290762.tif 000013
【図１２】
0004290762.tif 000014
【図１３】
0004290762.tif 000015
【図１４】
0004290762.tif 000016
【図１５】
0004290762.tif 000017
【図１６】
0004290762.tif 000018
【図１７】
0004290762.tif 000019
【図１８】
0004290762.tif 000020
【図１９】
0004290762.tif 000021
【図２０】
0004290762.tif 000022
【図２１】
0004290762.tif 000023
【図２２】
0004290762.tif 000024
【図２３】
0004290762.tif 000025
【図２４】
0004290762.tif 000026
【図２５】
0004290762.tif 000027
【図２６】
0004290762.tif 000028
【図２７】
0004290762.tif 000029
【図２８】
0004290762.tif 000030
【図２９】
0004290762.tif 000031
【図３０】
0004290762.tif 000032
【図３１】
0004290762.tif 000033
【図３２】
0004290762.tif 000034
【図３３】
0004290762.tif 000035
【図３４】
0004290762.tif 000036
【図３５】
0004290762.tif 000037
【図３６】
0004290762.tif 000038
【図３７】
0004290762.tif 000039
【図３８】
0004290762.tif 000040
【図４０】
0004290762.tif 000041
【図３９】
0004290762.tif 000042
【図４１】
0004290762.tif 000043