(57)【要約】【課題】互いに通信し不正チップによる置き換えを許さない遊技機制御用チップセットを提供する。【解決手段】遊技機内部の基板上に搭載されて、遊技機を制御する遊技機制御用チップセットであって、該遊技機制御用チップセットを構成するそれぞれのチップの内部に、データの書き込み及び読み込みが可能な記憶領域と、他のチップとの間でデータの通信を実行するデータ通信手段と、を有し、前記遊技機制御用チップセットのうちの中心となるメインＣＰＵ内部の記憶領域には前記遊技機制御用チップセットのうちの他のチップ内部の記憶領域に対応付けられる記憶領域が設けられ、前記遊技機が通常の動作をする際にバックグラウンドにおいて各チップ間のデータ通信が実行され、各チップ間でデータが共有される。【選択図】図４
2005312814.tif 000002
【特許請求の範囲】
【請求項１】
遊技機内部の基板上に搭載されて、遊技機を制御する遊技機制御用チップセットであって、
該遊技機制御用チップセットを構成するそれぞれのチップの内部に、
他チップとデータを共有するためのデータの書き込み及び読み込みが可能な記憶領域と、
他のチップとの間でデータの通信を実行するデータ通信手段と、
を有し、
前記遊技機制御用チップセットのうちの中心となるメインＣＰＵ内部の記憶領域には前記遊技機制御用チップセットのうちの他のチップ内部の記憶領域に対応付けられる記憶領域が設けられ、前記遊技機が通常の動作をする際にバックグラウンドにおいて各チップ間のデータ通信が実行され、各チップ間でデータが共有される遊技機制御用チップセット。
【請求項２】
請求項１に記載した遊技機制御用チップセットであって、
前記データ通信手段による通信は、暗号化されたデータで行うことを特徴とする遊技機制御用チップセット。
【請求項３】
請求項１又は２のいずれかに記載した遊技機制御用チップセットであって、
前記暗号化されたデータには前記遊技機制御用チップセットを構成するチップ間の相互監視データを含み、正規のチップ同士の通信でない場合には当該チップの動作を停止する動作停止手段をさらに有する遊技機制御用チップセット。
【請求項４】
請求項１、２又は３のいずれかに記載した遊技機制御用チップセットであって、
前記データ通信手段によるデータの通信はシリアル通信によりなされることを特徴とする遊技機制御用チップセット。
【請求項５】
請求項３に記載した遊技機制御用チップセットであって、前記相互監視データには各チップ固有のＩＤ情報を含むことを特徴とする遊技機制御用チップセット。
【請求項６】
請求項５に記載した遊技機制御用チップセットであって、前記データ通信は各チップ固有のＩＤ情報により算出した暗号鍵により暗号化して実行することを特徴とする遊技機制御用チップセット。
【請求項７】
請求項２に記載した遊技機制御用チップセットであって、前記チップ間の通信はチップの組み合わせごとに異なる暗号により暗号化された通信であることを特徴とする遊技機制御用チップセット。
【請求項８】
請求項１、２、３、４、５、６又は７のいずれかに記載した遊技機制御用チップセットであって、前記データ通信手段には乱数発生回路を含み、前記データ内に乱数を含むことを特徴とする遊技機制御用チップセット。
【請求項９】
データの書き込み及び読み込みが可能な記憶領域と、他のチップとの間でデータの通信を実行するデータ通信手段とを有する遊技機制御用チップを複数設けた遊技機制御用基板において、前記遊技機が通常の動作をする際にバックグラウンドで各チップ間のデータ通信を実行する遊技機制御用チップ間の通信方法であって、
他のチップとの間での初期化処理を行う初期化ステップと、
遊技用ＣＰＵの動作を開始する遊技用ＣＰＵ動作開始ステップと、
該遊技用ＣＰＵ動作開始ステップにて開始された遊技用プログラムの動作のバックグラウンドで他のチップのＲＡＭへのデータ更新処理を行うデータ更新ステップと、
該データ更新ステップにてなされたデータ更新に異常が生じた場合に、前記遊技用ＣＰＵを停止する遊技用ＣＰＵ停止ステップと
を有する遊技機制御用チップ間の通信方法。
【請求項１０】
請求項９に記載した遊技機制御用チップ間の通信方法であって、
前記初期化ステップ及びデータ更新ステップにおける通信は、暗号化されたデータで行うことを特徴とする遊技機制御用チップ間の通信方法。
【請求項１１】
請求項１０に記載した遊技機制御用チップ間の通信方法であって、
前記暗号化されたデータには前記複数の遊技機制御用チップ間の相互監視データを含む遊技機制御用チップ間の通信方法。
【請求項１２】
請求項９、１０又は１１のいずれかに記載した遊技機制御用チップ間の通信方法であって、
前記データ通信手段によるデータの通信はシリアル通信によりなされることを特徴とする遊技機制御用チップ間の通信方法。
【請求項１３】
請求項１１に記載した遊技機制御用チップ間の通信方法であって、前記相互監視データには各チップ固有のＩＤ情報を含むことを特徴とする遊技機制御用チップ間の通信方法。
【請求項１４】
請求項１３に記載した遊技機制御用チップ間の通信方法であって、前記データ通信は各チップ固有のＩＤ情報により算出した暗号鍵により暗号化して実行することを特徴とする遊技機制御用チップ間の通信方法。
【請求項１５】
請求項１０に記載した遊技機制御用チップ間の通信方法であって、前記チップ間の通信はチップの組み合わせごとに異なる暗号により暗号化された通信であることを特徴とする遊技機制御用チップ間の通信方法。
【請求項１６】
請求項９、１０、１１、１２、１３、１４又は１５のいずれかに記載した遊技機制御用チップ間の通信方法であって、前記データ通信手段には乱数発生回路を含み、前記データ内に乱数を含むことを特徴とする遊技機制御用チップ間の通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遊技機のセキュリティ分野に属し、パチンコ遊技機や回胴式遊技機等に使用される遊技機制御用チップの不正防止、チップセット間の通信に関する。
【背景技術】
【０００２】
＜従来の遊技機制御用チップ＞パチンコやパチスロ等の遊技機には、遊技機メーカが作成した遊技機制御用プログラムを記憶し遊技機の制御を行うメインの制御チップ（以下メインＣＰＵと省略する）、周辺デバイスとの入出力を行うＩ／Ｏチップ、獲得賞球の払出し制御用のチップ（払い出しＣＰＵ）、液晶等の画像制御用のチップといったマイクロコンピュータ（以下これらをまとめて遊技機制御用チップという）が複数使用されている。それらの複数のチップは、各々独立して動作しているため各チップを不正部品に置き換えても動作する場合がある。ＲＯＭ内蔵の偽造ＣＰＵに偽プログラムを仕込んだ不正や、ＣＰＵバス上のＩ／Ｏチップに不正にＣＰＵやＲＯＭを仕込み、本物のＣＰＵを止めて偽ＣＰＵが制御するという不正もある。
＜遊技機の開発＞各チップのインターフェイスは、各チップのアプリケーションプログラムが互いに通信を行う手段で行っているため、回路設計及びプログラム開発に負担がかかり遊技機制御プログラムの一部にインターフェイス制御用プログラムを記述する必要がある。
＜不正の虞れ＞各デバイス間が暗号化されないパラレル通信又はシリアル通信で行っているため、不正者が介在する虞れがある。
＜不正監視に関する従来技術＞遊技場内に複数設けられ遊技機器を監視する装置が特許文献１に開示されている。
【０００３】
【特許文献１】特開平１０−３１４４３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
遊技機に使用される基板上に複数存在する遊技機制御用チップの相互依存性を高めることが不正チップの横行を防止し、セキュリティを高めることに寄与すると本発明の発明者は考えた。また、複数のチップをチップセットとして連携度を高めることが遊技機メーカーが回路設計やプログラム開発を行ううえでの工数を削減する上でも役立つと考えた。そして、そのためには、チップ間で適切な通信を行うことが必要である。そこで、本発明は、高い連携度により互いに通信し不正チップによる置き換えを許さない遊技機制御用チップセットを提供することを目的とする。
【課題を解決するための手段】
【０００５】
かかる課題を解決すべく、本発明にかかる遊技機制御用チップセットは、遊技機内部の基板上に搭載されて、遊技機を制御する遊技機制御用チップセットであって、該遊技機制御用チップセットを構成するそれぞれのチップの内部に、データの書き込み及び読み込みが可能な記憶領域と、他のチップとの間でデータの通信を実行するデータ通信手段と、を有し、前記遊技機制御用チップセットのうちの中心となるメインＣＰＵ内部の記憶領域には前記遊技機制御用チップセットのうちの他のチップ内部の記憶領域に対応付けられる記憶領域が設けられ、前記遊技機が通常の動作をする際にバックグラウンドにおいて各チップ間のデータ通信が実行され、各チップ間でデータが共有されるものである。
【０００６】
請求項２に記載した発明は、請求項１に記載した遊技機制御用チップセットであって、前記データ通信手段による通信は、暗号化されたデータで行うことを特徴とするものである。
【０００７】
請求項３に記載した発明は、請求項１又は２のいずれかに記載した遊技機制御用チップセットであって、前記暗号化されたデータには前記遊技機制御用チップセットを構成するチップ間の相互監視データを含み、正規のチップ同士の通信でない場合には当該チップの動作を停止する動作停止手段をさらに有するものである。
【０００８】
請求項４に記載した発明は、請求項１、２又は３のいずれかに記載した遊技機制御用チップセットであって、前記データ通信手段によるデータの通信はシリアル通信によりなされることを特徴とするものである。
【０００９】
請求項５に記載した発明は、請求項３に記載した遊技機制御用チップセットであって、前記相互監視データには各チップ固有のＩＤ情報を含むことを特徴とするものである。
【００１０】
請求項６に記載した発明は、請求項５に記載した遊技機制御用チップセットであって、前記データ通信は各チップ固有のＩＤ情報により算出した暗号鍵により暗号化して実行することを特徴とするものである。
【００１１】
請求項７に記載した発明は、請求項２に記載した遊技機制御用チップセットであって、前記チップ間の通信はチップの組み合わせごとに異なる暗号により暗号化された通信であることを特徴とするものである。
【００１２】
請求項８に記載した発明は、請求項１、２、３、４、５、６又は７のいずれかに記載した遊技機制御用チップセットであって、前記データ通信手段には乱数発生回路を含み、前記データ内に乱数を含むことを特徴とするものである。
【００１３】
請求項９に記載した発明は、データの書き込み及び読み込みが可能な記憶領域と、他のチップとの間でデータの通信を実行するデータ通信手段とを有する遊技機制御用チップを複数設けた遊技機制御用基板において、前記遊技機が通常の動作をする際にバックグラウンドで各チップ間のデータ通信を実行する遊技機制御用チップ間の通信方法であって、他のチップとの間での初期化処理を行う初期化ステップと、遊技用ＣＰＵの動作を開始する遊技用ＣＰＵ動作開始ステップと、該遊技用ＣＰＵ動作開始ステップにて開始された遊技用プログラムの動作のバックグラウンドで他のチップのＲＡＭへのデータ更新処理を行うデータ更新ステップと、該データ更新ステップにてなされたデータ更新に異常が生じた場合に、前記遊技用ＣＰＵを停止する遊技用ＣＰＵ停止ステップとを有するものである。
【００１４】
請求項１０に記載した発明は、請求項９に記載した遊技機制御用チップ間の通信方法であって、前記初期化ステップ及びデータ更新ステップにおける通信は、暗号化されたデータで行うことを特徴とするものである。
【００１５】
請求項１１に記載した発明は、請求項１０に記載した遊技機制御用チップ間の通信方法であって、前記暗号化されたデータには前記複数の遊技機制御用チップ間の相互監視データを含むものである。
【００１６】
請求項１２に記載した発明は、請求項９、１０又は１１のいずれかに記載した遊技機制御用チップ間の通信方法であって、前記データ通信手段によるデータの通信はシリアル通信によりなされることを特徴とするものである。
【００１７】
請求項１３に記載した発明は、請求項１１に記載した遊技機制御用チップ間の通信方法であって、前記相互監視データには各チップ固有のＩＤ情報を含むことを特徴とするものである。
【００１８】
請求項１４に記載した発明は、請求項１３に記載した遊技機制御用チップ間の通信方法であって、前記データ通信は各チップ固有のＩＤ情報により算出した暗号鍵により暗号化して実行することを特徴とするものである。
【００１９】
請求項１５に記載した発明は、請求項１０に記載した遊技機制御用チップ間の通信方法であって、前記チップ間の通信はチップの組み合わせごとに異なる暗号により暗号化された通信であることを特徴とするものである。
【００２０】
請求項１６に記載した発明は、請求項９、１０、１１、１２、１３、１４又は１５のいずれかに記載した遊技機制御用チップ間の通信方法であって、前記データ通信手段には乱数発生回路を含み、前記データ内に乱数を含むことを特徴とするものである。
【発明の効果】
【００２１】
本発明により、複数のチップセットのより高度な連携が構成され、チップのなりすましによる不正がされにくくなった。また、チップ間共有メモリを更新する通信プロトコルを実行する回路を独立して持ち、遊技機制御プログラムのバックグラウンドで処理されることにより、アプリケーションプログラム、インタフェースプログラムの開発や遊技機の開発時間が削減され、開発しやすい環境を構築できた。不正者によるチップ間のインターフェイスへのデータ改ざんを排除するという効果もある。
【発明を実施するための最良の形態】
【００２２】
以下、図面を参照しつつ本発明の実施形態について説明する。図１は、オンラインにて遊技ホールごとの遊技機の情報をオンラインで一元管理する際のネットワーク構成を示す図である。複数のパチンコホールＡ、Ｂ、Ｃなどは、公衆回線３００を介してホストコンピュータ１００に接続される。それぞれのホール内の遊技機の稼動状況は、データベース２００に書き込まれて管理される。データベース２００には、少なくとも遊技機内に使用されている各チップごとの固有のＩＤ番号（各個体としてのチップ一個一個を特定する番号）と遊技機の動作状況が管理される。不正などで動作を停止しているものがあれば、ホストコンピュータのデータベースを調べることにより検出できる。
【００２３】
図２は、ホール内のホールコンピュータでホール内に設置された遊技機の動作状況を一元管理する様子を示すハードウェア構成図である。ホールコンピュータに遊技機の情報を集約することにより店内の遊技機の状況を監視できる。また、各遊技機は個別に台検査装置により遊技機の動作状況、遊技機に使用されているチップのＩＤ番号を読み取ることができる。各遊技台には、メインＣＰＵ１０、Ｉ／Ｏチップ６１、６２、サブＣＰＵ６３、６４が設けられている。それらに関する情報は、外部通信手段４０によりホールコンピュータに監視される。また、台検査装置８０により、個別に監視対象となりえる。
【００２４】
図３は、遊技機制御基板の構成図である。図３において、メイン基板は遊技機のゲームの中心となる制御を行う基板である。パチンコ機、パチスロ機のスタート検出後、大当たり抽選を行い、大当たりの場合はパチンコの大当たり動作、パチスロのボーナスゲームの進行を制御する。メインＣＰＵは、メインチップとも呼ばれるものであり、遊技機動作の制御プログラムが格納されており、遊技機制御のメイン処理を行う。メインチップには、ユーザの作成した制御プログラムの改ざんを防止するセキュリティ機能が搭載されている。ここで、セキュリティ機能について説明する。ユーザプログラムに対して暗号化ハッシュ関数を施して、セキュリティコードを作成し、これをユーザプログラムとともに書き込んでおく。電源立ち上げ時にチップ内で同一の暗号化ハッシュ関数を実行させ、再計算したものと、セキュリティコードとを比較して、万一不一致ならばユーザプログラムを実行しない。この機能のことをセキュリティ機能と呼ぶ。
Ｉ／Ｏチップは、遊技機を構成するパチンコではスタート検出スイッチからの入力、大入賞口の開閉出力、ランプ出力、パチスロではスタートレバーの検出入力、リールの回転出力などの制御に対する入出力を行うチップである。
サブ基板は、サブＣＰＵを搭載しパチンコでは玉の払い出し等、メインＣＰＵより受けたコマンドにより既定の動作を行う。サブＣＰＵはユーザの作成した制御プログラムの改ざんを防止するセキュリティ機能が搭載されている。
各チップはシリアル通信で接続され、内蔵のメモリを共有する構造となっている。シリアル通信の制御方法は、ＢＳＣ方式のほかにシリアルバス方式として、ＣＡＮ、ＬＩＮ、Ｉ２Ｃ（アイスクエアシー）などの方法がある。実施例では、ＢＳＣ方式による二点間の到達確認にＡＣＫ／ＮＡＫで応答する方式（通信プロトコル１）と、シリアルバス方式として、時間を分割しパケット内のデータが正常な場合のみ受信する方式（通信プロトコル２）について説明する。実施例では、メインチップをマスター（主局）、その他をスレーブ（従局）として説明しているがマスターになるのは、どのチップでもよい。また、マスターとなったチップはその系に接続される全チップのＩＤ番号、通信の状態などを外部の照合装置又は監視ネットワークへ伝えることができる。
【００２５】
図４は、チップ間のメモリ構成を示す図である。メインＣＰＵ、Ｉ／Ｏチップ、サブＣＰＵ間でメモリを共有し、メインＣＰＵよりのメインＣＰＵの共有メモリの当該出力エリアに書き込んだデータはＩ／Ｏチップ又はサブＣＰＵの当該出力エリアに現れる。また、Ｉ／Ｏチップ又はサブＣＰＵによりＩ／０チップ又はサブＣＰＵの共有メモリの当該入力エリアに書き込まれたデータはメインＣＰＵの当該入力エリアに現れる。
【００２６】
各チップの構成は遊技機を制御するブロックと通信回路で構成される。図５は、メインＣＰＵの構成を示すブロック図である。遊技機制御用ＣＰＵのバス上に共有メモリ、ブートＲＯＭ、ブートＲＡＭ、ユーザＲＯＭ、ユーザＲＡＭ、ウォッチドッグタイマー回路、不正アドレス実行禁止回路、タイマー回路、セキュリティチェック回路がつながり、共有メモリは、通信回路を介して他チップとの通信を実行する。また、通信回路は、個別ＩＤ番号格納回路につながり、各チップに格納されたＩＤ番号を読み出す。さらに通信回路は外部照合回路を介して、外部照合手段に接続されＩＤ番号の読み出し、通信結果の読み出しを行う。図６は、サブＣＰＵの構成を示すブロック図である。サブＣＰＵは、メインＣＰＵとほぼ同様の構成を持つ。図７は、Ｉ／Ｏチップの構成を示すブロック図である。Ｉ／Ｏチップは入出力制御回路を中心とするチップであって、入力ポート及び出力ポートを介して外部デバイス（パチンコではスタート検出スイッチからの入力、大入賞口の開閉出力、ランプ入力、パチスロではスタートレバーの検出入力、リールの回転出力など）の制御を実行する。共有メモリを介して通信回路につながり、その通信回路が他のチップとの通信を実行することはメインチップやサブＣＰＵと同様である。通信回路が個別ＩＤ番号格納回路につながること、外部照合回路を介して外部照合手段に接続されることなどのメインチップと同様である。
【００２７】
図８は、通信回路の構成を示すブロック図である。この通信回路は、メインＣＰＵ、Ｉ／Ｏチップ、サブＣＰＵのいずれにも共通に設けられている。通信制御回路、送受信回路、遊技機制御用ＣＰＵ又は入出力制御回路停止回路、送受信データバッファ、通信結果格納回路、暗号／復号回路、乱数発生回路、他チップＩＤ番号格納回路、乱数値等格納回路、暗号鍵格納回路、通信監視タイマー、共有メモリアクセス監視回路がそれぞれ繋がってこの通信回路を構成している。通信制御回路は、ＣＰＵまたはハードロジック回路により構成され、通信シーケンス（プロトコル）を制御する。送受信回路は他のチップとのシリアルデータを送受信する回路であり、シリアルデータを監視し、フレーミングエラー、パリティエラーなどの検出を行う。遊技機制御用ＣＰＵ又は入出力制御回路停止回路は、シリアルデータの通信結果及びデータの照合結果により、他のチップの異常を検出した場合にはリセット回路に信号を送りメインＣＰＵ又はサブＣＰＵの場合は遊技機制御用ＣＰＵを、Ｉ／Ｏチップの場合は入出力用制御回路を停止する。送受信データバッファは、送信時には暗号化した送信データを一旦バッファリングして送信する。受信時には受信データを一旦バッファリングして復号化を行う。通信結果格納回路は、通信の状態（回線接続中、回線断、遊技機稼動中、遊技機停止中、エラー発生回数など）、チップ自身のＩＤ番号、接続されているチップのＩＤ番号を格納する回路である。暗号／復号回路は通信データの暗号／復号を行う。乱数発生回路は、暗号鍵の生成、通信データの拡散に使用する乱数を発生する。他チップＩＤ番号格納回路は、通信対象となる他のチップから送られてきたＩＤ番号を格納する。乱数値等格納回路は、通信対象となるチップから送られてきた乱数値、自チップで発生した乱数値等を格納する。暗号鍵格納回路は、通信対象チップと自チップのデータにより算出された暗号用共通鍵を格納する。通信監視タイマーは、通信時の応答データの時間監視、送信データの送出時間の監視を行う。共有メモリアクセス監視回路は、共有メモリの書き込みエリアに書き込みがあったかを定周期的に監視し書き込みが有った場合には共有メモリの書き込みデータを読み出し、送信処理を起動する。又は共有メモリへの書き込み信号をトリガーとして送信処理を起動する方法もある。また受信処理により共有メモリ読み出しエリアへのデータを受信した場合には共有メモリ読み出しエリアへ受信データの更新を行う。
【００２８】
図９は、通信データのフォーマットを示す図である。図９の（１）は、初期化コマンド電文、（２）は初期化応答電文、（３）はデータ更新コマンド電文、（４）はデータ更新応答電文、（５）はデータのビット構成を示している。通信データは通常の通信規格（ＣＡＮ、ＬＩＮ、ＢＳＣ等）で通信する場合には、フラグ、コマンド、ＢＣＣ以外の部分を暗号化し転送する。フラグ以外の部分をすべて暗号化して転送する場合も考えられるがその場合は独自の送信手順となる。図９の（１）に示す初期化コマンド電文は、送信対象のアドレスと実装デバイス数、送信元デバイスのＩＤ番号、暗号データ拡散用乱数を含む。実装デバイスは、マスター（主局）以外のスレーブ（従局）の個数を示す。アドレスは、マスターがゼロでスレーブが１から順に振られる。本コマンドはデータ通信の最初に行われ、マスターとスレーブのＩＤ番号、乱数値の交換を行う。図９の（２）の初期化応答電文は、初期化コマンドを受け取ったスレーブデバイスからの応答である。図９の（３）のデータ更新コマンド電文は、マスターとなるメインＣＰＵの共有ＲＡＭへ書き込みデータを送信する。図９の（４）のデータ更新応答電文は、マスターとなるメインＣＰＵの共有ＲＡＭへ読み込みデータを送信する。図９の（５）に示すように通信データは各８ビットのデータで構成され、８ビットのデータ構成のビットフォーマットを示す。
【００２９】
図９の（１）から（４）の通信データフォーマットでは、データ更新コマンドにおける更新データは１バイトで記載しているが、複数バイトでも構わない。本実施例では、ＩＤ番号は２バイトで記載しているが、実際は８バイト以上の数値を使用する。しかし、チップ間の認証を行うには、ＩＤ番号の全てを使わず、ＩＤ番号の一部（又はハッシュ関数により圧縮した数値）を暗号化に使用することで、十分効果がある。さらに、チップの管理のためにＩＤ番号を使用する場合は、全てのＩＤ番号を読み出すことにより管理する。図９では、フラグを除いて８バイトのデータ長で示しているが、ＦＥＥＬ８、ＤＥＳといった暗号方式では８バイトの整数倍で暗号化を行うので、フラグ（データの先頭を示す符号）を除く部分が１６バイトや３２バイトなどの８バイトの整数倍の長さとなることもある。また図９の例ではコマンドが１パケットであるかのように描いてあるがコマンドや応答電文が複数パケットにまたがるものとすることもできる。通信電文中に乱数を含み電文を暗号化することにより、乱数以外のデータが同じでも暗号化された電文は乱数が異なるごとに異なる電文となるため、解析が困難となる。
【実施例１】
【００３０】
以下ＢＳＣ等の通信規格を用いてＡＣＫ／ＮＡＣ等により電文の到達を確認する方式を通信プロトコル１と呼びその場合の実施例について図１０、１１、１４、１６から３０までを参照しつつ説明する。
【００３１】
図１０は、初期化データ共有シーケンスを説明する図である。ここではメインＣＰＵが通信を行う対象としてＩ／Ｏチップが２個、サブＣＰＵが２個、合計４個のチップがあるものとする。メインＣＰＵのＩＤ番号はＩＤｍ、Ｉ／Ｏチップ１のＩＤ番号はＩＤｉ１、Ｉ／Ｏチップ２のＩＤ番号はＩＤｉ２、サブＣＰＵ１のＩＤ番号はＩＤｓ１、サブＣＰＵ２のＩＤ番号はＩＤｓ２である。フローチャートを参照しつつ後述するが、メインＣＰＵが他のチップとデータのやり取りをするには、各チップとの共通鍵（暗号通信をする際の暗号鍵）ｋ１、ｋ２、ｋ３、ｋ４を算出する必要がある。そして、これらの共通鍵は通信を行うチップの組み合わせごとに異なるものを用いる。すなわち、それぞれのチップのＩＤ番号とそれぞれのチップ内の乱数発生回路が発生させた乱数値を用いて暗号鍵を生成する。そのためにこの初期化のシーケンスにおいてメインＣＰＵはそれぞれの他のチップ一つ一つと通信をして上述した４つの共通鍵を算出する。
【００３２】
図１１は、データ転送シーケンスを説明する図である。メインＣＰＵとＩ／Ｏチップ１との間で既に生成された共通鍵ｋ１を用いてメインＣＰＵのメモリ内のデータＷＤ１をＩ／Ｏチップ１に送信する。その際メインＣＰＵのＩＤ番号とメインＣＰＵ内の通信回路に設けられた乱数発生回路が生成した乱数値も共に暗号化される。その応答としてＩ／Ｏチップ１からそのチップ内のメモリ内のデータであるＲＤ１がそのチップのＩＤ番号とそのチップ内の通信回路に設けられた乱数発生回路が生成した乱数値と共に共通鍵ｋ１を用いて暗号化されメインＣＰＵに送られる。送受信が正常になされ、ＩＤ番号が正常に照合されると該当するメモリ内のデータが更新される。同様のことがメインＣＰＵと他のチップの間でもなされる。その場合、用いられる暗号鍵はｋ２、ｋ３、ｋ４と異なるものであり、暗号化される対象にはそれぞれのチップのＩＤ番号及びそれぞれのチップで発生した乱数値が含まれる。
【００３３】
図１４は、ＡＣＫ／ＮＡＫにより電文の到達を確認する方式を説明する図である。チップ１及びチップ２の間で電文１及び電文２のやり取りがなされたとき、相手方に正常に到達すれば、ＡＣＫ信号が返される。これにより、データを送った側は、正常に届いたことを知る。電文３が正常に届かずに異常が生じた場合には、ＮＡＫ信号が返される。その場合送った側は、もう一度電文３を送りなおす。正常に送られると、ＡＣＫ信号が返される。
【００３４】
図１６は、実施例１におけるメインＣＰＵの処理全体を示すフローチャートである。ユーザＲＯＭにはあらかじめ計算されたセキュリティコードが書き込まれている。ユーザーＲＯＭのセキュリティチェック（ｓ１６２０）がなされ、チェックが正常になされたかどうかを判断する（ｓ１６４０）。異常の場合は、遊技機制御用ＣＰＵを停止し（ｓ２６９５）一連の処理がストップする（ｓ２６９６）。
セキュリティチェックが正常である場合は、エラー制限回数、制限時間の設定をし（ｓ１６６０）、エラー発生回数カウンタ制限時間タイマーの初期化をする（ｓ１６８０）。次に周辺チップの初期化処理を実行する（ｓ１７００）。この周辺チップの初期化処理の詳細については、図１７を参照しつつ後述する。初期化が正常になされない（ｓ２１９５でＮｏ）と、エラー発生カウンタを更新し（ｓ２６９３）、エラー判定を行う（ｓ２６９４）。一定時間内に定められた回数以内（エラー許容内）であればｓ１７００に戻る。一定時間内に定められた回数以内でなければ遊技用ＣＰＵ停止（ｓ２６９５）し、一連の処理をストップする（ｓ２６９６）。
周辺チップの初期化処理が正常とみなされる（ｓ２１９５でＹｅｓ）と、遊技用ＣＰＵの動作を開始する（ｓ２１９６）。そして、遊技プログラムが動作するバックグラウンドにおいて共有ＲＡＭのデータ更新処理（ｓ２２００）を実行する。この処理の詳細については図２２を参照しつつ後述する。データ更新が正常に行われると（ｓ２６９１）、エラー発生回数カウンタ制限時間タイマーの初期化を実行し（ｓ２６９２）、共有ＲＡＭデータ更新処理に戻る（ｓ２２００）。このデータ更新が正常に行われない場合は、エラー発生カウンタ更新（ｓ２６９３）に進み、エラーが許容内ならｓ１７００に戻り、エラーが許容内でなければ遊技用ＣＰＵ停止（ｓ２６９５）し一連の処理をストップする（ｓ２６９６）。
したがって、遊技用ＣＰＵが正常に動作している間は共有ＲＡＭのデータ更新処理が繰り返しなされ続けて他のチップとの通信が正常に行われていることを確認し続けることとなる。共有ＲＡＭデータは、ユーザＲＯＭに書き込まれた遊技機制御用プログラムよりアクセスされ、周辺チップとのインターフェイスが行われる。
【００３５】
図１７は、実施例１におけるメインＣＰＵの処理のうち、周辺チップの初期化処理について説明するフローチャートである。まずＩ／Ｏチップ１の初期化処理（ｓ１８００）を実行し初期化が正常になされたら（ｓ１８９５）、Ｉ／Ｏチップ２の初期化処理（ｓ１９００）を実行し初期化が正常になされたら（ｓ１９９５）、サブＣＰＵ１の初期化処理（ｓ２０００）を実行し初期化が正常になされたら（ｓ２０９５）、サブＣＰＵ２の初期化処理（ｓ２１００）を実行し初期化が正常になされたら（ｓ２１９１）、初期化処理の正常終了（ｓ２１９２）しこの一連の処理を終了する（ｓ２１９４）。上述した４つの初期化処理のいずれかで初期化が正常になされない場合は初期化処理の異常終了（ｓ２１９３）としてこの一連の処理を終了する（ｓ２１９４）。いずれの終了の仕方をしたかは、図１６にて前述したようにｓ２１９５で改めてきかれて、いずれであるかにより処理が分岐する。
【００３６】
図１８は、実施例１におけるメインＣＰＵの処理のうち、周辺チップの初期化処理を特にＩ／Ｏチップ１について詳しく書いたフローチャートである。まず、メインＣＰＵの通信回路内にある乱数発生回路から乱数値（Ｒ１）を取得する（ｓ１８１０）。Ｉ／Ｏチップ１へ初期化コマンド送信する。初期化コマンド電文は図９の（１）に示したようにフラグ、コマンドから始まり、対象アドレス、実装デバイス数、ｆｉｌｌｅｒ、送信元ＩＤ１、送信元ＩＤ２、乱数、ＢＣＣと続くものであって暗号化されて送信される。メインＣＰＵ１とＩ／Ｏチップ１との共通鍵はまだ算出されてないから、この暗号化の際に用いる暗号鍵はデフォルトの共通鍵ｋ０を用いる。したがって、ＩＤｍとＲ１を共通鍵ｋ０で暗号化し、Ｉ／Ｏチップへ送信する。送信が正常にされると（ｓ１８３０でＹｅｓ）Ｉ／Ｏチップより初期化応答を受信する（ｓ１８４０）。その応答電文は図９の（２）に示したフォーマットのものであって、さきほどメインＣＰＵから送信された初期化コマンド電文に似ているが送信元ＩＤは今度はＩ／Ｏチップ１のものであり、乱数値もＩ／Ｏチップ１の通信回路内にある乱数発生回路から取得したものである。したがって、Ｉ／Ｏチップ１にてＩＤｉ１とＲ２を共通鍵ｋ０で暗号化したものを応答電文として返して、それをメインＣＰＵが受信する。受信が正常にされると（ｓ１８５０でＹｅｓ）、メインＣＰＵとＩ／Ｏチップ１との共通鍵ｋ１を算出する（ｓ１８６０）。ＩＤｍ、ＩＤｉ１、Ｒ１、Ｒ２より共通鍵ｋ１が算出される。そして正常終了し（ｓ１８７０）Ｉ／Ｏチップ１の初期化処理を終了する（ｓ１８９０）。ｓ１８３０またはｓ１８５０でＮＡＫ再送リトライアルアウト、タイムアウト、無応答などにより送信エラー又は受信エラーとなると、異常と判断されて、異常終了（ｓ１８８０）と扱われ、Ｉ／Ｏチップ１の初期化処理を終了する（ｓ１８９０）。
【００３７】
図１９は、実施例１におけるメインＣＰＵの処理のうち、周辺チップの初期化処理を特にＩ／Ｏチップ２について詳しく書いたフローチャートである。図１８で説明した初期化処理とほぼ同様である。違う点は、ｓ１９１０で取得する乱数値がＲ３であること、ｓ１９２０で初期化コマンドを送信する際にＩＤｍとＲ３を共通鍵ｋ０で暗号化してＩ／Ｏチップ２へ送信すること、ｓ１９４０でＩ／Ｏチップ２よりＩＤｉ２とＲ４を共通鍵ｋ０で暗号化した応答電文を受信すること、ｓ１９６０でＩＤｍ、ＩＤｉ２、Ｒ３、Ｒ４より共通鍵ｋ２を算出することなどである。
【００３８】
図２０は、実施例１におけるメインＣＰＵの処理のうち、周辺チップの初期化処理を特にサブＣＰＵ１について詳しく書いたフローチャートである。図１８、図１９のフローチャートとほぼ同じであるが、ｓ２０１０で取得する乱数値はＲ５であり、ｓ２０２０で初期化コマンドを送信する際にＩＤｍとＲ５を共通鍵ｋ０で暗号化してサブＣＰＵ１へ送信する。そして、ｓ２０４０でサブＣＰＵ１よりＩＤｓ１とＲ６を共通鍵ｋ０で暗号化した応答電文を受信し、ｓ２０６０でＩＤｍ、ＩＤｓ１、Ｒ５、Ｒ６より共通鍵ｋ３を算出する。
【００３９】
図２１は、実施例１におけるメインＣＰＵの処理のうち、周辺チップの初期化処理を特にサブＣＰＵ２について詳しく書いたフローチャートである。図１８、図１９、図２０のフローチャートとほぼ同じであるが、ｓ２１１０で取得する乱数値はＲ７であり、ｓ２０２０で初期化コマンドを送信する際にＩＤｍとＲ７を共通鍵ｋ０で暗号化してサブＣＰＵ２へ送信する。そして、ｓ２１４０でサブＣＰＵ２よりＩＤｓ２とＲ８を共通鍵ｋ０で暗号化した応答電文を受信し、ｓ２０６０でＩＤｍ、ＩＤｓ２、Ｒ７、Ｒ８より共通鍵ｋ４を算出する。
【００４０】
図２２は、図１６に示した実施例１におけるメインＣＰＵの処理のうち、共有ＲＡＭのデータ更新処理について、より詳しく書いたフローチャートである。この共有ＲＡＭのデータ更新処理は、前述したように遊技用ＣＰＵの動作がなされている状態で、バックグラウンドでなされる処理である。図２２に示すように、Ｉ／Ｏチップ１、Ｉ／Ｏチップ２、サブＣＰＵ１、サブＣＰＵ２のデータ更新処理が順次実行されて終了する（ｓ２３００、ｓ２４００、ｓ２５００、ｓ２６００）。それぞれの四つのデータ更新処理が終るごとに更新が正常になされたか否かの判断がなされ、いずれかの判断で異常が認められると、データ更新異常終了（ｓ２６８９）として、終了する（ｓ２６９０）。すべてのデータ更新が正常になされたときにのみ、データ更新正常終了（ｓ２６８８）として終了する（ｓ２６９０）。どちらの終了の仕方をしたかが、前述した図１６に示すフローチャートにて改めてきかれて（図１６のｓ２６９１）、その結果によりさらに処理が分岐する。
【００４１】
図２３は、図２２に示した共有ＲＡＭのデータ更新処理をさらにＩ／０チップ１のデータ更新処理について詳しく書いたフローチャートである。乱数値Ｒ１を取得し（ｓ２３１０）、Ｉ／Ｏチップ１へ更新コマンドを送信する（ｓ２３２０）。この通信データのフォーマットは、図９の（３）に示すものを用いる。すなわち、ＩＤｍとＲ１とＩ／Ｏチップ１出力エリアのデータＷＤ１を共通鍵ｋ１で暗号化し、Ｉ／Ｏチップ１へ送信する。送信が正常ならば（ｓ２３３０でＹｅｓ）、Ｉ／Ｏチップ１から更新応答を受信する（ｓ２３４０）。すなわち、Ｉ／Ｏチップ１からの受信データを共通鍵ｋ１で復号し、更新データＲＤ１とＩＤｉ１とＲ２を受信する。受信が正常ならば（ｓ２３５０でＹｅｓ）、ＩＤ照合を実行する（ｓ２３６０）。ＩＤ照合は、Ｉ／Ｏチップ１から今回受信したＩＤｉ１と初期化処理で格納してあるＩＤｉ１とを比較照合することによりなされる。ＩＤ照合が正常になされると（ｓ２３６０でＹｅｓ）、Ｉ／Ｏチップ１の入力エリアを更新し（ｓ２３７０）、正常終了（ｓ２３８０）として、終了する（ｓ２３９０）。
ｓ２３３０における送信異常、又はｓ２３５０における受信異常は、ＮＡＫ再送リトライアウト、タイムアウト、無応答などにより認められ、異常終了（ｓ２３８５）として終了する（ｓ２３９０）。また、ｓ２３６０にてＩＤ照合が正常になされない場合も異常終了（ｓ２３８５）となる。なお、ここで正常に終了したか、異常に終了したかは、図２２のｓ２３９５にて改めてきかれて、その結果により分岐する。
【００４２】
図２４は、図２２に示した共有ＲＡＭのデータ更新処理をさらにＩ／０チップ２のデータ更新処理について詳しく書いたフローチャートである。図２３に示したフローチャートとほぼ同じである。ｓ２４１０では、取得する乱数値はＲ３である。ｓ２４２０の更新コマンドは、ＩＤｍとＲ３とＩ／Ｏチップ２出力エリアのデータＷＤ２を共通鍵ｋ２で暗号化し、Ｉ／Ｏチップ２へ送信する。ｓ２４４０では、Ｉ／Ｏチップ２よりの受信データを共通鍵ｋ２で復号し、更新データＲＤ２とＩＤｉ２とＲ４を受信する。ｓ２４６０では、Ｉ／Ｏチップ２より受信したＩＤｉ２と初期化処理で格納してあるＩＤｉ２とを比較照合する。ｓ２４７０では、ＲＤ２のデータを当該Ｉ／Ｏチップ２入力エリアに格納する。
【００４３】
図２５は、。図２２に示した共有ＲＡＭのデータ更新処理をさらにサブＣＰＵ１のデータ更新処理について詳しく書いたフローチャートである。図２３、図２４に示したフローチャートとほぼ同じである。ｓ２５１０では、取得する乱数値はＲ５である。ｓ２５２０の更新コマンドは、ＩＤｍとＲ５とサブＣＰＵ１出力エリアのデータＷＤ３を共通鍵ｋ３で暗号化し、サブＣＰＵ１へ送信する。ｓ２５４０では、サブＣＰＵ１よりの受信データを共通鍵ｋ３で復号し、更新データＲＤ３とＩＤｓ１とＲ６を受信する。ｓ２５６０では、サブＣＰＵ１より受信したＩＤｓ１と初期化処理で格納してあるＩＤｓ１とを比較照合する。ｓ２５７０では、ＲＤ３のデータを当該サブＣＰＵ１入力エリアに格納する。
【００４４】
図２６は、図２２に示した共有ＲＡＭのデータ更新処理をさらにサブＣＰＵ２のデータ更新処理について詳しく書いたフローチャートである。図２３、図２４、図２５に示したフローチャートとほぼ同じである。ｓ２６１０では、取得する乱数値はＲ７である。ｓ２６２０の更新コマンドは、ＩＤｍとＲ７とサブＣＰＵ２出力エリアのデータＷＤ４を共通鍵ｋ４で暗号化し、サブＣＰＵ２へ送信する。ｓ２６４０では、サブＣＰＵ２よりの受信データを共通鍵ｋ４で復号し、更新データＲＤ４とＩＤｓ２とＲ８を受信する。ｓ２６６０では、サブＣＰＵ２より受信したＩＤｓ２と初期化処理で格納してあるＩＤｓ２とを比較照合する。ｓ２６７０では、ＲＤ４のデータを当該サブＣＰＵ２入力エリアに格納する。
【００４５】
以上、実施例１におけるメインＣＰＵの動作を説明したが、以下、図２７、２８、２９、３０を用いて、他のチップの動作を説明する。なお、Ｉ／Ｏチップについてもフローチャートで説明するが、Ｉ／Ｏチップは必ずしもＣＰＵを含む必要は無く、ロジック回路で構成することが可能であることは前述したとおりである。図２７は、実施例１におけるＩ／Ｏチップ１の動作を示すフローチャートである。メインＣＰＵからＩＤｍとＲ１とを共通鍵ｋ０で暗号化したものを受信すると（ｓ２７０５）、自身の乱数回路から乱数Ｒ２を取得する（ｓ２７１０）。ＩＤｉ１とＲ２とを共通鍵ｋ０で暗号化して、メインＣＰＵへ送り返す（ｓ２７１５）。ＮＡＫ応答後のリトライアウト、無応答などを検出するとｓ２７２０で以上と判断してｓ２７０５へ戻る。ｓ２７２０で正常と判断すると、メインＣＰＵとの共通鍵ｋ１をＩＤｍ、ＩＤｉ１、Ｒ１、Ｒ２より算出する（ｓ２７２５）。Ｉ／Ｏチップの動作を開始し（ｓ２７３０）、メインＣＰＵからＩ／Ｏチップ１出力エリアのデータＷＤ１、ＩＤｍ、Ｒ１を受信し共通鍵ｋ１で復号する（ｓ２７３５）。メインＣＰＵより受信したＩＤｍと初期化処理で格納してあるＩＤｍを比較照合し（ｓ２７４０）、異常があればＩ／Ｏチップ１の動作を停止して（ｓ２７６５）、終わる（ｓ２７７０）。
ＩＤの照合が正常ならば（ｓ２７４０でＹｅｓ）、ＷＤ１のデータをＩ／Ｏチップ１出力エリアに格納する（ｓ２７４５）。そして自身の乱数発生回路から乱数Ｒ２を取得し、Ｉ／Ｏチップ１の入力エリアに格納されている更新データＲＤ１、ＩＤｉ１、Ｒ２を共通鍵ｋ１で暗号化してメインＣＰＵに更新応答電文を送信する（ｓ２７５５）。送信が正常になされたか否かをチェックし、異常があればＩ／Ｏチップ１の動作停止をし（ｓ２７６５）、正常ならばｓ２７３５に戻る。Ｉ／Ｏチップ１での入出力エリアに格納されたデータは、入出力制御回路により入力ポート、出力ポートへ入出力される。
【００４６】
図２８は、実施例１におけるＩ／Ｏチップ２の動作を示すフローチャートである。図２７のフローチャートとほぼ同様である。ｓ２８０５では、ＩＤｍとＲ３を共通鍵ｋ０で暗号化したものをメインＣＰＵより受信する。ｓ２８１０では、自身の乱数発生回路からＲ４を取得する。ｓ２８１５では、ＩＤｉ２とＲ４を共通鍵ｋ０で暗号化してメインＣＰＵへ送り返して初期化応答する。ｓ２８２５では、ＩＤｍ、ＩＤｉ２、Ｒ３、Ｒ４により共通鍵ｋ２を算出する。ｓ２８４５では、ＷＤ２のデータをＩ／Ｏチップ２出力エリアに格納する。ｓ２８５５では、Ｉ／Ｏチップ２の入力エリアに格納されている更新データＲＤ２、ＩＤｉ２、Ｒ４を共通鍵ｋ２で暗号化してメインＣＰＵに更新応答を送信する。ほかの点については、図２７のフローチャートと同様である。
【００４７】
図２９は、実施例１におけるサブＣＰＵ１の動作を示すフローチャートである。サブＣＰＵの動作の場合は、最初にユーザＲＯＭのセキュリティチェックを実行し、チェックがパスしなければ、サブＣＰＵ１の停止（ｓ２９７５）をすることがＩ／Ｏチップには無い特徴である。他の点は、Ｉ／Ｏチップの場合と同様である。ｓ２９１５では、ＩＤｍとＲ５とを共通鍵ｋ０で暗号化したものをメインＣＰＵより受信する。ｓ２９２５では、ＩＤｓ１とＲ６とを共通鍵ｋ０で暗号化し、メインＣＰＵへ送信する。ｓ２９３５では、ＩＤｍ、ＩＤｓ１、Ｒ５、Ｒ６より共通鍵ｋ３を算出する。ｓ２９４５では、サブＣＰＵ１出力エリアのデータＷＤ３、ＩＤｍ、Ｒ５を受信し共通鍵ｋ３で復号する。ｓ２９５５では、ＷＤ３のデータをサブＣＰＵ１出力エリアに格納する。ｓ２９６５では、サブＣＰＵ１の入力エリアに格納されている更新データＲＤ３、ＩＤｓ１、Ｒ６を共通鍵ｋ３で暗号化してメインＣＰＵに更新応答を送信する。サブＣＰＵ１の入力エリア、出力エリアのデータは、サブＣＰＵ１のユーザＲＯＭに格納された遊技機制御用プログラムよりアクセスされ、メインＣＰＵとのインターフェイスが行われる。
【００４８】
図３０は、実施例１におけるサブＣＰＵ２の動作を示すフローチャートである。図２９に示すフローチャートとほぼ同様である。ｓ３０１５では、ＩＤｍとＲ７とを共通鍵ｋ０で暗号化したものをメインＣＰＵより受信する。ｓ３０２５では、ＩＤｓ２とＲ８とを共通鍵ｋ０で暗号化し、メインＣＰＵへ送信する。ｓ３０３５では、ＩＤｍ、ＩＤｓ２、Ｒ７、Ｒ８より共通鍵ｋ４を算出する。ｓ３０４５では、サブＣＰＵ２出力エリアのデータＷＤ４、ＩＤｍ、Ｒ７を受信し共通鍵ｋ４で復号する。ｓ３０５５では、ＷＤ４のデータをサブＣＰＵ２出力エリアに格納する。ｓ３０６５では、サブＣＰＵ２の入力エリアに格納されている更新データＲＤ４、ＩＤｓ２、Ｒ８を共通鍵ｋ４で暗号化してメインＣＰＵに更新応答を送信する。
【実施例２】
【００４９】
以下シリアルバス方式を用いて通信をし、同報コマンドを送り、対応するデバイスの送信時間（スレッド）を規定し通信する方式を通信プロトコル２と呼びその場合の実施例について図１２、１３、１５、３１から５０までを参照しつつ説明する。
【００５０】
図１２は、実施例２における初期化データ共有シーケンスを説明する図である。図１２に示すように、メインＣＰＵから他のチップへの通信は同報コマンドとして一斉に送られそれぞれの他のチップからの応答は、それぞれＴ１、Ｔ２、Ｔ３、Ｔ４の時間間隔で返される。それぞれの電文は、自己のＩＤと自己の乱数発生回路から取得した乱数値とを共通鍵ｋ０で暗号化した内容となっている。メインＣＰＵが全ての他のチップからの応答を正常に受けると、それぞれのＩＤ及び乱数値を取得する。共通鍵ｋｃは、５つのチップのＩＤとそれぞれから取得した乱数５つとにより算出される。
【００５１】
図１３は、実施例２における共有ＲＡＭのデータ更新処理の場合のデータ転送シーケンスを説明する図である。４つの他のチップがある場合に、メインＣＰＵは、４回コマンド電文を送り、他のチップ４つのそれぞれの応答電文を受けることにより、他のチップ４つのデータ更新がなされることになる。この場合、暗号鍵は、共通鍵ｋｃ一個でよい。
【００５２】
図１５は、実施例２における通信エラーを説明する図である。マスターチップに対してスレーブチップ１，２，３があるばあいに、コマンド電文１に対する応答電文が三つのスレーブチップからある場合は、正常である。コマンド電文２がスレーブチップ１とスレーブチップ２には到達したが、スレーブチップ３に到達しなかった場合には、応答電文２１、２２のみがマスターチップに返り、応答電文２３は返らない。これによりスレーブチップ３との通信が正常になされなかったことが分かる。
【００５３】
図３１は、実施例２におけるメインＣＰＵの動作の全体を示すフローチャートである。ユーザＲＯＭのセキュリティチェックを行い（ｓ３１１０）、正常ならば（ｓ３１２０でＹｅｓ）、エラー制限回数、制限時間タイマーの設定（ｓ３１３０）、エラー発生回数カウンタ制限時間タイマーの初期化（ｓ３１５０）を実行する。そして、周辺チップの初期化処理（ｓ３２００）をしたのち、正常であれば（ｓ３６８０）、遊技用ＣＰＵの動作を開始し（ｓ３６９０）、正常に遊技プログラムが動作する間ずっと、そのバックグラウンドで共有ＲＡＭのデータ更新処理（ｓ３７００）、データ更新が正常の場合（ｓ４１７０でＹｅｓ)、エラー発生回数カウンタ制限時間タイマーの初期化（ｓ４１７５）をして、ｓ３７００に戻るルーティンを繰り返す。周辺チップの初期化処理の異常終了（ｓ３６８０でＮｏ）、共有ＲＡＭのデータ更新処理の異常終了（ｓ４１７０でＮｏ）の場合はエラー発生カウンタを更新し（ｓ４１８０）、制限時間内に規定回数のエラー（エラーが許容内）ならｓ３２００に戻る。エラーが許容範囲でなければ遊技用ＣＰＵを停止する（ｓ４１９０）。ユーザＲＯＭのセキュリティチェックが異常の場合も（ｓ３１２０でＮｏ）、遊技用ＣＰＵの停止をする。共有ＲＡＭデータは、ユーザＲＯＭに書き込まれた遊技機制御用プログラムよりアクセスされ、周辺チップとのインターフェイスが行われる。
【００５４】
図３２は、実施例２におけるメインＣＰＵの動作のうち、周辺チップの初期化処理を詳しく書いたフローチャートである。メインＣＰＵ内の通信回路内にある乱数発生回路から乱数Ｒ１を取得する（ｓ３２１０）。そして、ＩＤｍとＲ１を共通鍵ｋ０で暗号化して他のチップに同報送信する（ｓ３２２０）。他のチップであるＩ／Ｏチップ１、Ｉ／Ｏチップ２、サブＣＰＵ１、サブＣＰＵ２からはそれぞれＴ１、Ｔ２、Ｔ３、Ｔ４の時間間隔を置いて応答電文が届くので、それらを順次受信する（ｓ３３００、ｓ３４００、ｓ３５００、ｓ３６００）。初期化受信が正常にできたか否かはその都度判断し（ｓ３３５０、ｓ３４５０、ｓ３５５０、ｓ３６５０）、一度でも異常があれば、初期化処理異常終了（ｓ３６６５）として終了する（ｓ３６７０）。タイムアウト又は電文のＢＣＣエラーの場合に異常と判断する。
Ｉ／Ｏチップ１の初期化データ受信（ＩＤｉ１とＲ２の取得）、Ｉ／Ｏチップ２の初期化データ受信（ＩＤｉ２とＲ３の取得)、サブＣＰＵ１の初期化データ受信（ＩＤｓ１とＲ４の取得)、サブＣＰＵ２の初期化データ受信（ＩＤｓ２とＲ５の取得)のすべてが正常になされた場合にのみ、共通鍵ｋｃの算出をする（ｓ３６５５）。この共通鍵ｋｃは、５個のチップのＩＤ（ＩＤｍ、ＩＤｉ１、ＩＤｉ２、ＩＤｓ１、ＩＤｓ２）及びそれぞれのチップが発生した合計５個の乱数（Ｒ１、Ｒ２、Ｒ３、Ｒ４、Ｒ５）とから生成され、これら５個のチップ間の通信に共通で用いられる暗号鍵ｋｃである。
【００５５】
図３３は、実施例２におけるメインＣＰＵの動作のうち、周辺チップの初期化処理をさらにＩ／Ｏチップ１の初期化データ受信処理について詳しく書いたフローチャートである。Ｉ／Ｏチップ１よりＩＤｉ１とＲ２とを共通鍵ｋ０で暗号化した電文が受信される（ｓ３３１０）。受信が正常になされると（ｓ３３１５でＹｅｓ）、共通鍵ｋ０による復号化をし（ｓ３３２０）、受信したデータに基づきＢＣＣの計算をする（ｓ３３２５）。算出したＢＣＣと受信したＢＣＣの値とが一致すると（ｓ３３３０）、正常終了（ｓ３３３５）として終了する（ｓ３３４５）。受信エラー、フレーミングエラー、タイムアウトなどにより受信が異常であった場合（ｓ３３１５でＮｏ）又はＢＣＣエラーの場合（ｓ３３３０でＮｏ）には、異常終了（ｓ３３４０）として終了する（ｓ３３４５）。
【００５６】
図３４は、実施例２におけるメインＣＰＵの動作のうち、周辺チップの初期化処理をさらにＩ／Ｏチップ２の初期化データ受信処理について詳しく書いたフローチャートである。図３３に示すフローチャートとほぼ同様である。ｓ３４１０における受信は、Ｉ／Ｏチップ２がＩＤｉ２とＲ３を共通鍵ｋ０で暗号化して送信したものを受信し、ＩＤｉ２とＲ３とを取得するものである。
【００５７】
図３５は、実施例２におけるメインＣＰＵの動作のうち、周辺チップの初期化処理をさらにサブＣＰＵ１の初期化データ受信処理について詳しく書いたフローチャートである。図３３、図３４に示すフローチャートとほぼ同様である。ｓ３５１０における受信は、サブＣＰＵ１がＩＤｓ１とＲ４を共通鍵ｋ０で暗号化して送信したものを受信し、ＩＤｓ１とＲ４とを取得するものである。
【００５８】
図３６は、実施例２におけるメインＣＰＵの動作のうち、周辺チップの初期化処理をさらにサブＣＰＵ２の初期化データ受信処理について詳しく書いたフローチャートである。図３３、図３４、図３５に示すフローチャートとほぼ同様である。ｓ３６１０における受信は、サブＣＰＵ２がＩＤｓ２とＲ５を共通鍵ｋ０で暗号化して送信したものを受信し、ＩＤｓ２とＲ５とを取得するものである。
【００５９】
図３７は、実施例２におけるメインＣＰＵの動作のうち、共有ＲＡＭのデータ更新処理を詳しく書いたフローチャートである。Ｉ／Ｏチップ１、Ｉ／Ｏチップ２、サブＣＰＵ１、サブＣＰＵ２からはそれぞれＴ１、Ｔ２、Ｔ３、Ｔ４の時間間隔を置いて応答電文が届くことを利用して、それらのデータ更新処理を順次実行する（ｓ３８００、ｓ３９００、ｓ４０００、ｓ４１００）。データ更新処理が正常にできたか否かはその都度判断し（ｓ３８５０、ｓ３９５０、ｓ４０５０、ｓ４１５０）、一度でも異常があれば、データ更新処理異常終了（ｓ４１６０）として終了する（ｓ４１６５）。すべてのデータ更新が正常終了したときに正常終了（ｓ４１５５)として終了する（ｓ４１６５）。
【００６０】
図３８は、実施例２におけるメインＣＰＵの動作のうち、共有ＲＡＭのデータ更新処理をさらにＩ／Ｏチップ１のデータ更新処理について詳しく書いたフローチャートである。乱数Ｒ１を取得し（ｓ３８０５）、ＩＤｍとＲ１とＩ／Ｏチップ１出力エリアのデータＷＤ１を暗号鍵ｋｃで暗号化し、全チップへ送信する（ｓ３８１０）。送信が正常になされると（ｓ３８１５でＹｅｓ）、Ｉ／Ｏチップ１、Ｉ／Ｏチップ２、サブＣＰＵ１、サブＣＰＵ２の更新データを受信し、当該共有ＲＡＭエリアのデータを更新する（ｓ３８２０）。フレーミングエラー、タイムアウト、受信データの復号化データが正常でない場合、ＩＤの照合が不一致の場合には、ｓ３８２５でＮｏと判断されて異常終了（ｓ３８３５）として終了する（ｓ３８４０）。受信が正常になされると、正常終了（ｓ３８３０）として終了する（ｓ３８４０）。ｓ３８１５で送信異常の場合も異常終了（ｓ３８３５）となる。
【００６１】
図３９は、実施例２におけるメインＣＰＵの動作のうち、共有ＲＡＭのデータ更新処理をさらにＩ／Ｏチップ２のデータ更新処理について詳しく書いたフローチャートである。乱数Ｒ１を取得し（ｓ３９０５）、ＩＤｍとＲ１とＩ／Ｏチップ２出力エリアのデータＷＤ２を暗号鍵ｋｃで暗号化し、全チップへ送信する（ｓ３９１０）。送信が正常になされると（ｓ３９１５でＹｅｓ）、Ｉ／Ｏチップ１、Ｉ／Ｏチップ２、サブＣＰＵ１、サブＣＰＵ２の更新データを受信し、当該共有ＲＡＭエリアのデータを更新する（ｓ３９２０）。フレーミングエラー、タイムアウト、受信データの復号化データが正常でない場合、ＩＤの照合が不一致の場合には、ｓ３９２５でＮｏと判断されて異常終了（ｓ３９３５）として終了する（ｓ３９４０）。受信が正常になされると、正常終了（ｓ３９３０）として終了する（ｓ３９４０）。ｓ３９１５で送信異常の場合も異常終了（ｓ３９３５）となる。
【００６２】
図４０は、実施例２におけるメインＣＰＵの動作のうち、共有ＲＡＭのデータ更新処理をさらにサブＣＰＵ１のデータ更新処理について詳しく書いたフローチャートである。乱数Ｒ１を取得し（ｓ４００５）、ＩＤｍとＲ１とサブＣＰＵ１出力エリアのデータＷＤ３を暗号鍵ｋｃで暗号化し、全チップへ送信する（ｓ４０１０）。送信が正常になされると（ｓ４０１５でＹｅｓ）、Ｉ／Ｏチップ１、Ｉ／Ｏチップ２、サブＣＰＵ１、サブＣＰＵ２の更新データを受信し、当該共有ＲＡＭエリアのデータを更新する（ｓ４０２０）。フレーミングエラー、タイムアウト、受信データの復号化データが正常でない場合、ＩＤの照合が不一致の場合には、ｓ４０２５でＮｏと判断されて異常終了（ｓ４０３５）として終了する（ｓ４０４０）。受信が正常になされると、正常終了（ｓ４０３０）として終了する（ｓ４０４０）。ｓ４０１５で送信異常の場合も異常終了（ｓ４０３５）となる。
【００６３】
図４１は、実施例２におけるメインＣＰＵの動作のうち、共有ＲＡＭのデータ更新処理をさらにサブＣＰＵ２のデータ更新処理について詳しく書いたフローチャートである。乱数Ｒ１を取得し（ｓ４１０５）、ＩＤｍとＲ１とサブＣＰＵ２出力エリアのデータＷＤ４を暗号鍵ｋｃで暗号化し、全チップへ送信する（ｓ４１１０）。送信が正常になされると（ｓ４１１５でＹｅｓ）、Ｉ／Ｏチップ１、Ｉ／Ｏチップ２、サブＣＰＵ１、サブＣＰＵ２の更新データを受信し、当該共有ＲＡＭエリアのデータを更新する（ｓ４１２０）。フレーミングエラー、タイムアウト、受信データの復号化データが正常でない場合、ＩＤの照合が不一致の場合には、ｓ４０２５でＮｏと判断されて異常終了（ｓ４１３５）として終了する（ｓ４１４０）。受信が正常になされると、正常終了（ｓ４１３０）として終了する（ｓ４１４０）。ｓ４１１５で送信異常の場合も異常終了（ｓ４１３５）となる。
【００６４】
図４２は、実施例２におけるメインＣＰＵの動作のうち、共有ＲＡＭのデータ更新処理をさらに各チップの更新データ受信処理について詳しく書いたフローチャートである。ここでは、Ｉ／Ｏチップ１をチップ１、Ｉ／Ｏチップ２をチップ２、サブＣＰＵ１をチップ３、サブＣＰＵ２をチップ４と略す。この受信処理は、ｓ４２１０からｓ４２４０までをチップ１からチップ４までの４個についてループして繰り返す処理である（チップｎ＝１から４まで）。まず、各チップの更新応答として更新データＲＤｎとＩＤｎとを暗号鍵ｋｃで暗号化したものを受信する（ｓ４２１０）。受信エラー、フレーミングエラー、タイムアウトなどがなければ、受信が正常になされたとして（ｓ４２１５でＹｅｓ）、暗号鍵ｋｃにより電文を復号化し（ｓ４２２０）、ＢＣＣの算出をする（ｓ４２２５）。ＢＣＣが一致し（ｓ４２３０でＹｅｓ）、かつ当該受信ＩＤｎと初期化時に格納済みのＩＤｎとが一致すると（ｓ４２３５でＹｅｓ）、当該チップの入力エリアを更新する（ｓ４２４０）。チップ１、２、３、４のすべてについて更新されると正常終了し（ｓ４２４５）、終了（ｓ４２６０）する。受信異常（ｓ４２１５でＮｏ）、ＢＣＣエラー（ｓ４２３０でＮｏ）、ＩＤ不一致（ｓ４２３５でＮｏ）のいずれかの場合は異常終了（ｓ４２５０）として終了する（ｓ４２６０）。
【００６５】
図４３は、実施例２におけるＩ／Ｏチップ１の処理の前半を示すフローチャートである。初期化コマンドしてＩＤｍとＲ１を共通鍵ｋ０で暗号化したものをメインＣＰＵより同報コマンドとして受信する（ｓ４３０５）。フレーミングエラーのとき受信異常として（ｓ４３１０でＮｏ）戻る。受信が正常になされると（ｓ４３１０でＹｅｓ）、受信コマンドを共通鍵ｋ０で復号化し、ＩＤｍとＲ１を取得する（ｓ４３１５）。ＢＣＣエラー、コマンドエラーは変換異常（ｓ４３２０でＮｏ）として戻る。ｓ４３３０からｓ４３６０まではチップ１から４までについてのループである。図１２で示すように、ここで、チップｎ＝１から４までとは図４２と同様に、二つのＩ／Ｏチップと二つのサブＣＰＵとを略したものである。このループ内における送受信は、初期化コマンドを受信してから各チップに割り当てられた当該時間（スレッド）までウエイトし送受信する。当該チップすなわちＩ／Ｏチップ１の割り当て時間（スレッド）で、乱数ｎ＋１を取得し（ｓ４３３５）、ＩＤｉ１、Ｒ２を共通鍵ｋ０で暗号化して送信し、チップ初期化応答をする（ｓ４３４０）。他チップの割り当て時間（スレッド）では他チップの初期化応答の受信を行い、ＩＤｎ、乱数Ｒｎを共通鍵ｋ０で暗号化したものを受信し共通鍵ｋ０で復号化した後（ｓ４３４５）、受信が正常なら（ｓ４３５０でＹｅｓ)、当該ＩＤと乱数とを当該チップの格納エリアに保存する（ｓ４３５５）。フレーミングエラー、ＢＣＣチェックエラー、タイムアウトの場合は受信異常（ｓ４３５０でＮｏ）となり次の送受信のタイミングを待つ。ループをチップｎ＝１から４まで繰り返した後、全てのチップのＩＤ（ＩＤｍ、ＩＤｉ１、ＩＤｉ２、ＩＤｓ１、ＩＤｓ２）と乱数値（Ｒ１、Ｒ２、Ｒ３、Ｒ４、Ｒ５）を取得できたかどうかを判断する（ｓ４３６５）。取得できなかった場合はｓ４３０５に戻り、初期化コマンド待ちとなる。取得できた場合は、図４４のｓ４３７０に進む。
【００６６】
図４４は、実施例２におけるＩ／Ｏチップ１の処理の後半を示すフローチャートである。共通鍵ｋｃをＩＤｍ、ＩＤｉ１、ＩＤｉ２、ＩＤｓ１、ＩＤｓ２、Ｒ１、Ｒ２、Ｒ３、Ｒ４、Ｒ５により算出する（ｓ４３７０）。Ｉ／Ｏチップ１の通常の動作を開始する（ｓ４３７５）。そして、そのバックグラウンドでｓ４３８０以下の処理を実行する。図１３に示すように、共有エリア更新コマンドは、Ｉ／Ｏチップ１に対するものと他チップに対するものがあるが、ここでは共通に対応し、全ての共有エリア更新コマンドに対し、自チップの入力エリアの更新応答を送信する。そこで、共有エリア更新コマンドを受信した時（ｓ４３８０）、一定時間内に更新コマンドがこない場合は、タイムアウト（ｓ４３８５でＹｅｓ）となり、チップの機能を停止し（ｓ４４３０)、終る（ｓ４４４０）。フレーミングエラーの場合は受信エラー（ｓ４３９０でＹｅｓ）としてｓ４３８０に戻る。フレーミングエラーでない場合（ｓ４３９０でＮｏ）は、受信データを暗号鍵ｋｃで復号化しＷＤｎ、ＩＤｍ、Ｒ１を取得する（ｓ４３９５）。コマンドエラー、ＢＣＣエラーは復号異常とし（ｓ４４００でＮｏ）、チップの機能を停止する（ｓ４４３０)。受信したＩＤｍを初期化時に取得して格納してあるＩＤｍと照合し、一致しなければ（ｓ４４０５でＮｏ）、チップの機能を停止する（ｓ４４３０)。受信したコマンドがＩ／Ｏチップ１の場合は（ｓ４４１０でＹｅｓ）、ＷＤ１でＩ／Ｏチップ１の出力エリアを更新する（ｓ４４１５）。その後、当該チップの待ち時間を待機する（ｓ４４２０）。Ｉ／Ｏチップ１の更新データ送信時間が来ると、Ｉ／Ｏチップ１入力エリアのデータＲＤ１、ＩＤｉ１、Ｒ２を暗号鍵ｋｃで暗号化して送信する（ｓ４４２５）。そして、ｓ４３８０に戻る。Ｉ／Ｏチップ１での入出力エリアに格納されたデータは、入出力制御回路により入力ポート、出力ポートへ入出力される。
【００６７】
図４５は、実施例２におけるＩ／Ｏチップ２の処理の前半を示すフローチャートである。図４３に示したフローチャートとほぼ同様である。ｓ４５４０、ｓ４５４５などの送受信は、初期化コマンドを受信してからＩ／Ｏチップ２に割り当てられた当該時間に送受信する。ｓ４５４０のチップ初期化応答送信は、ＩＤｉ２、Ｒ３を共通鍵ｋ０で暗号化して送信するものである。
【００６８】
図４６は、実施例２におけるＩ／Ｏチップ２の処理の後半を示すフローチャートである。図４４に示したフローチャートとほぼ同様である。ｓ４６２５では、受信した更新コマンドがＩ／Ｏチップ２の場合にＷＤ２でＩ／Ｏチップ２出力エリアを更新する。ｓ４６３０では、Ｉ／０チップ２の更新データ送信時間まで待機する。ｓ４６３５では、Ｉ／Ｏチップ２入力エリアのデータＲＤ２、ＩＤｉ２、Ｒ３を暗号鍵ｋｃで暗号化して送信する。
【００６９】
図４７は、実施例２におけるサブＣＰＵ１の処理の前半を示すフローチャートである。図４３、図４５に示したフローチャートとほぼ同様である。ｓ４７４０、ｓ４７４５などの送受信は、初期化コマンドを受信してからサブＣＰＵ１に割り当てられた当該時間に送受信する。ｓ４７４０のチップ初期化応答送信は、ＩＤｓ１、Ｒ４を共通鍵ｋ０で暗号化して送信するものである。
【００７０】
図４８は、実施例２におけるサブＣＰＵ１の処理の後半を示すフローチャートである。図４４、図４６に示したフローチャートとほぼ同様である。ｓ４８２５では、受信した更新コマンドがサブＣＰＵ１の場合にＷＤ３でサブＣＰＵ１出力エリアを更新する。ｓ４８３０では、サブＣＰＵ１の更新データ送信時間まで待機する。ｓ４８３５では、サブＣＰＵ１入力エリアのデータＲＤ３、ＩＤｓ１、Ｒ４を暗号鍵ｋｃで暗号化して送信する。Ｉ／Ｏチップ１での入出力エリアに格納されたデータは、入出力制御回路により入力ポート、出力ポートへ入出力される。
【００７１】
図４９は、実施例２におけるサブＣＰＵ２の処理の前半を示すフローチャートである。図４３、図４５、４７に示したフローチャートとほぼ同様である。ｓ４９４０、ｓ４９４５などの送受信は、初期化コマンドを受信してからサブＣＰＵ２に割り当てられた当該時間に送受信する。ｓ４９４０のチップ初期化応答送信は、ＩＤｓ２、Ｒ５を共通鍵ｋ０で暗号化して送信するものである。
【００７２】
図５０は、実施例２におけるサブＣＰＵ２の処理の後半を示すフローチャートである。図４４、図４６、図４８に示したフローチャートとほぼ同様である。ｓ５０２５では、受信した更新コマンドがサブＣＰＵ２の場合にＷＤ４でサブＣＰＵ２出力エリアを更新する。ｓ５０３０では、サブＣＰＵ２の更新データ送信時間まで待機する。ｓ５０３５では、サブＣＰＵ２入力エリアのデータＲＤ４、ＩＤｓ２、Ｒ５を暗号鍵ｋｃで暗号化して送信する。
【実施例３】
【００７３】
実施例２ではマスターチップの同報コマンドに対してスレーブチップが決められたスレッドに対して順次応答コマンドを送出してくる方法を取っているが、同報コマンドでなく、個別にスレーブチップごとにコマンド送信と受信を行うこととする実施例も考えられる。
【産業上の利用可能性】
【００７４】
以上、説明したように、本発明は、遊技機の基板上のチップセットが常に通信により共有メモリの更新をするようにしたから、なりすましチップの横行を排除する。またアプリケーションの開発工数を減らす。
【図面の簡単な説明】
【００７５】
【図１】オンラインにて遊技ホールごとの遊技機の情報をオンラインで一元管理する際のネットワーク構成を示す図である。
【図２】ホール内のホールコンピュータでホール内に設置された遊技機の動作状況を一元管理する様子を示すハードウェア構成図である。
【図３】遊技機制御基板の構成図である。
【図４】チップ間のメモリ構成を示す図である。
【図５】メインＣＰＵの構成を示すブロック図である。
【図６】サブＣＰＵの構成を示すブロック図である。
【図７】Ｉ／Ｏチップの構成を示すブロック図である。
【図８】通信回路の構成を示すブロック図である。
【図９】通信データのフォーマットを示す図である。
【図１０】実施例１における初期化データ共有シーケンスを説明する図である。
【図１１】実施例１におけるデータ転送シーケンスを説明する図である。
【図１２】実施例２における初期化データ共有シーケンスを説明する図である。
【図１３】実施例２における共有ＲＡＭのデータ更新処理の場合のデータ転送シーケンスを説明する図である。
【図１４】ＡＣＫ／ＮＡＫにより電文の到達を確認する方式（実施例１）を説明する図である。
【図１５】実施例２における通信エラーを説明する図である。
【図１６】実施例１におけるメインＣＰＵの処理全体を示すフローチャートである。
【図１７】実施例１におけるメインＣＰＵの処理のうち、周辺チップの初期化処理について説明するフローチャートである。。
【図１８】実施例１におけるメインＣＰＵの処理のうち、周辺チップの初期化処理を特にＩ／Ｏチップ１について詳しく書いたフローチャートである。
【図１９】実施例１におけるメインＣＰＵの処理のうち、周辺チップの初期化処理を特にＩ／Ｏチップ２について詳しく書いたフローチャートである。
【図２０】実施例１におけるメインＣＰＵの処理のうち、周辺チップの初期化処理を特にサブＣＰＵ１について詳しく書いたフローチャートである。
【図２１】実施例１におけるメインＣＰＵの処理のうち、周辺チップの初期化処理を特にサブＣＰＵ２について詳しく書いたフローチャートである。
【図２２】図１６に示した実施例１におけるメインＣＰＵの処理のうち、共有ＲＡＭのデータ更新処理について、より詳しく書いたフローチャートである。
【図２３】図２２に示した共有ＲＡＭのデータ更新処理をさらにＩ／０チップ１のデータ更新処理について詳しく書いたフローチャートである。
【図２４】図２２に示した共有ＲＡＭのデータ更新処理をさらにＩ／０チップ２のデータ更新処理について詳しく書いたフローチャートである。
【図２５】図２２に示した共有ＲＡＭのデータ更新処理をさらにサブＣＰＵ１のデータ更新処理について詳しく書いたフローチャートである。
【図２６】図２２に示した共有ＲＡＭのデータ更新処理をさらにサブＣＰＵ２のデータ更新処理について詳しく書いたフローチャートである。
【図２７】実施例１におけるＩ／Ｏチップ１の動作を示すフローチャートである。
【図２８】実施例１におけるＩ／Ｏチップ２の動作を示すフローチャートである。
【図２９】実施例１におけるサブＣＰＵ１の動作を示すフローチャートである。
【図３０】実施例１におけるサブＣＰＵ２の動作を示すフローチャートである。
【図３１】実施例２におけるメインＣＰＵの動作の全体を示すフローチャートである。
【図３２】実施例２におけるメインＣＰＵの動作のうち、周辺チップの初期化処理を詳しく書いたフローチャートである。
【図３３】実施例２におけるメインＣＰＵの動作のうち、周辺チップの初期化処理をさらにＩ／Ｏチップ１の初期化データ受信処理について詳しく書いたフローチャートである。
【図３４】実施例２におけるメインＣＰＵの動作のうち、周辺チップの初期化処理をさらにＩ／Ｏチップ２の初期化データ受信処理について詳しく書いたフローチャートである。
【図３５】実施例２におけるメインＣＰＵの動作のうち、周辺チップの初期化処理をさらにサブＣＰＵ１の初期化データ受信処理について詳しく書いたフローチャートである。
【図３６】実施例２におけるメインＣＰＵの動作のうち、周辺チップの初期化処理をさらにサブＣＰＵ２の初期化データ受信処理について詳しく書いたフローチャートである。
【図３７】実施例２におけるメインＣＰＵの動作のうち、共有ＲＡＭのデータ更新処理を詳しく書いたフローチャートである。
【図３８】実施例２におけるメインＣＰＵの動作のうち、共有ＲＡＭのデータ更新処理をさらにＩ／Ｏチップ１のデータ更新処理について詳しく書いたフローチャートである。
【図３９】実施例２におけるメインＣＰＵの動作のうち、共有ＲＡＭのデータ更新処理をさらにＩ／Ｏチップ２のデータ更新処理について詳しく書いたフローチャートである。
【図４０】実施例２におけるメインＣＰＵの動作のうち、共有ＲＡＭのデータ更新処理をさらにサブＣＰＵ１のデータ更新処理について詳しく書いたフローチャートである。
【図４１】実施例２におけるメインＣＰＵの動作のうち、共有ＲＡＭのデータ更新処理をさらにサブＣＰＵ２のデータ更新処理について詳しく書いたフローチャートである。
【図４２】実施例２におけるメインＣＰＵの動作のうち、共有ＲＡＭのデータ更新処理をさらに各チップの更新データ受信処理について詳しく書いたフローチャートである。
【図４３】実施例２におけるＩ／Ｏチップ１の処理の前半を示すフローチャートである。
【図４４】実施例２におけるＩ／Ｏチップ１の処理の後半を示すフローチャートである。
【図４５】実施例２におけるＩ／Ｏチップ２の処理の前半を示すフローチャートである。
【図４６】実施例２におけるＩ／Ｏチップ２の処理の後半を示すフローチャートである。
【図４７】実施例２におけるサブＣＰＵ１の処理の前半を示すフローチャートである。
【図４８】実施例２におけるサブＣＰＵ１の処理の後半を示すフローチャートである。
【図４９】実施例２におけるサブＣＰＵ２の処理の前半を示すフローチャートである。
【図５０】実施例２におけるサブＣＰＵ２の処理の後半を示すフローチャートである。
【符号の説明】
【００７６】
１０  メインＣＰＵ
６１、６２  Ｉ／０チップ
６３、６４  サブＣＰＵ
１００  ホストコンピュータ
２００  データベース
３００  公衆回線
４００  ホールコンピュータ
【図１】
2005312814.tif 000003
【図２】
2005312814.tif 000004
【図３】
2005312814.tif 000005
【図４】
2005312814.tif 000006
【図５】
2005312814.tif 000007
【図６】
2005312814.tif 000008
【図７】
2005312814.tif 000009
【図８】
2005312814.tif 000010
【図９】
2005312814.tif 000011
【図１０】
2005312814.tif 000012
【図１１】
2005312814.tif 000013
【図１２】
2005312814.tif 000014
【図１３】
2005312814.tif 000015
【図１４】
2005312814.tif 000016
【図１５】
2005312814.tif 000017
【図１６】
2005312814.tif 000018
【図１７】
2005312814.tif 000019
【図１８】
2005312814.tif 000020
【図１９】
2005312814.tif 000021
【図２０】
2005312814.tif 000022
【図２１】
2005312814.tif 000023
【図２２】
2005312814.tif 000024
【図２３】
2005312814.tif 000025
【図２４】
2005312814.tif 000026
【図２５】
2005312814.tif 000027
【図２６】
2005312814.tif 000028
【図２７】
2005312814.tif 000029
【図２８】
2005312814.tif 000030
【図２９】
2005312814.tif 000031
【図３０】
2005312814.tif 000032
【図３１】
2005312814.tif 000033
【図３２】
2005312814.tif 000034
【図３３】
2005312814.tif 000035
【図３４】
2005312814.tif 000036
【図３５】
2005312814.tif 000037
【図３６】
2005312814.tif 000038
【図３７】
2005312814.tif 000039
【図３８】
2005312814.tif 000040
【図３９】
2005312814.tif 000041
【図４０】
2005312814.tif 000042
【図４１】
2005312814.tif 000043
【図４２】
2005312814.tif 000044
【図４３】
2005312814.tif 000045
【図４４】
2005312814.tif 000046
【図４５】
2005312814.tif 000047
【図４６】
2005312814.tif 000048
【図４７】
2005312814.tif 000049
【図４８】
2005312814.tif 000050
【図４９】
2005312814.tif 000051
【図５０】
2005312814.tif 000052