(57)【要約】【課題】不正対策を外観から容易に見抜けないようにしつつ、サブＲＯＭ交換ゴト行為を防止する。【解決手段】遊技の進行を制御するメイン制御基板５０と、ＡＴ抽選を行う第１サブ制御基板８０と、演出の出力を制御する第２サブ制御基板９０とを備える。第１サブ制御基板８０は、演出用データを記憶しており、演出用データを認証データとして第２サブ制御基板９０に送信する。第２サブ制御基板９０は、第１サブ制御基板８０から送信されてくる認証データと同等の認証データを予め記憶し、第１サブ制御基板８０から送信されてきた認証データを受信し、記憶された認証データと照合する。第２サブ制御基板９０は、同一の認証データを受信した回数が所定回数となったときは、異常検出処理を実行する。【選択図】図１
2015204868.tif 000002
【特許請求の範囲】
【請求項１】
遊技の進行を制御するメイン制御手段と、
前記メイン制御手段から情報を受信し、受信した情報に基づいて演出を制御するサブ制御手段と
を備え、
前記サブ制御手段は、
演出の出力に関する所定の抽選を行う第１サブ制御手段と、
演出の出力を制御する第２サブ制御手段と
を備え、
前記第１サブ制御手段は、演出用データを記憶しており、
前記第１サブ制御手段は、前記演出用データのうちの少なくとも一部を認証データとして、所定の順番で前記第２サブ制御手段に送信し、
前記第２サブ制御手段は、前記第１サブ制御手段から送信されてくる認証データと同等の認証データを予め記憶し、
前記第２サブ制御手段は、前記第１サブ制御手段から送信されてきた認証データを受信し、前記第２サブ制御手段に記憶された認証データと照合し、
前記第２サブ制御手段は、同一の認証データを受信した回数をカウントし、同一の認証データを受信した回数が所定回数となったときは、所定の異常検出処理を実行する
ことを特徴とする遊技機。
【請求項２】
請求項１において、
前記第２サブ制御手段は、認証データを受信したときは、チェックデータを前記第１サブ制御手段に返信し、
前記第１サブ制御手段は、認証データを送信した後、所定時間内にチェックデータを受信しなかったときは、再度、同一の認証データを送信する
ことを特徴とする遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スロットマシン等の遊技機に関し、いわゆるサブＲＯＭ交換ゴト行為を防止する技術に関するものである。
【背景技術】
【０００２】
従来の遊技機のうち、たとえばスロットマシンでは、メイン（主）制御基板とサブ（副）制御基板とを備え、両者はハーネス等で電気的に接続され、メイン制御基板からサブ制御基板に対して情報を送信している。
そして、メイン制御基板は、役の抽選、リールの停止制御等を行い、サブ制御基板は、演出の制御、さらにはＡＴ（アシストタイム）の抽選を行っている。
【０００３】
ここで、ＡＴの当選確率は、スロットマシンの出玉に大きな影響を与える。したがって、サブ制御基板のＲＯＭ（「サブＲＯＭ」と称される）を不正に交換するゴト行為、すなわちＡＴ抽選に係るプログラムやデータの不正な改ざんを防止する必要がある。
【０００４】
従来の技術において、メイン制御基板とサブ制御基板とを接続するハーネス又は端子部分にゲート装置を設け、このゲート装置をサブＲＯＭ交換検出装置により制御する技術が知られている（たとえば、特許文献１参照）。
特許文献１の技術において、サブＲＯＭ交換検出装置は、サブ制御基板のサブＲＯＭの内容を予め記憶している。そして、サブＲＯＭとゲート装置に記憶しているサブＲＯＭデータとを照合し、照合の結果、不正と判断したときは、メイン制御基板からサブ制御基板に対して信号を送信しないように制御するものである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−２８７９１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、前述の従来の技術において、メイン制御基板とサブ制御基板との間に、それまでの遊技機にはない新たなゲート装置を設けると、外観から一見して不正対策装置が取り付けられているとわかってしまうという問題がある。
また、ゲート装置を別途設けると、それだけ部品点数も増加するので、コストが高くなるという問題がある。
本発明が解決しようとする課題は、不正対策を外観から容易に見抜けないようにしつつ、サブＲＯＭ交換ゴト行為を防止することである。
【課題を解決するための手段】
【０００７】
本発明は、以下の解決手段によって上述の課題を解決する。
本発明は、
遊技の進行を制御するメイン制御手段と、
前記メイン制御手段から情報を受信し、受信した情報に基づいて演出を制御するサブ制御手段と
を備え、
前記サブ制御手段は、
演出の出力に関する所定の抽選を行う第１サブ制御手段と、
演出の出力を制御する第２サブ制御手段と
を備え、
前記第１サブ制御手段は、演出用データを記憶しており、
前記第１サブ制御手段は、前記演出用データのうちの少なくとも一部を認証データとして、所定の順番で前記第２サブ制御手段に送信し、
前記第２サブ制御手段は、前記第１サブ制御手段から送信されてくる認証データと同等の認証データを予め記憶し、
前記第２サブ制御手段は、前記第１サブ制御手段から送信されてきた認証データを受信し、前記第２サブ制御手段に記憶された認証データと照合し、
前記第２サブ制御手段は、同一の認証データを受信した回数をカウントし、同一の認証データを受信した回数が所定回数となったときは、所定の異常検出処理を実行する
ことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、第１サブ制御手段側のサブＲＯＭ交換ゴト行為が行われても、第２サブ制御手段には正しい認証データが記憶されているので、両者を照合すれば、データの一致／不一致を発見することができる。
また、正しい認証データ（改ざんしていない認証データ）のみを繰り返し送信するようにプログラムが改ざんされても、異常を検出することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態におけるスロットマシン（遊技機）の制御の概略を示すブロック図である。
【図２】第１サブ制御基板のメモリの記憶内容と、送信する認証データの作成を説明する図である。
【図３】第１サブ制御基板から送信する認証データを示す図である。
【図４】第１サブ制御基板から受信した認証データから、オフセット値及び制御データへの演算を説明する図である。
【図５】第２サブ制御基板のメモリの記憶内容を説明する図である。
【図６】ベクタテーブルを示す図である。
【図７】第１サブ制御基板のメインループを示すフローチャートである。
【図８】割込み処理を示すフローチャートである。
【図９】第１サブ制御基板から第２サブ制御基板へのデータ送信を示すフローチャートである。
【図１０】第２サブ制御基板における異常検出処理を示すフローチャートである。
【図１１】第１サブ制御基板側のチェックサム処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面等を参照して、本発明の一実施形態について説明する。
図１は、本実施形態におけるスロットマシン１０（遊技機）の制御の概略を示すブロック図である。スロットマシン１０は、メイン制御基板５０とサブ制御基板（第１サブ制御基板８０及び第２サブ制御基板９０）とを備える。
メイン制御基板５０は、入力ポート５１、出力ポート５２、メモリ５３、メインＣＰＵ５４等を備える（図１で図示したもののみを備える意味ではない）。
【００１１】
メイン制御基板５０と、図１で図示した操作スイッチ等の遊技進行用の周辺機器とは、入力ポート５１又は出力ポート５２を介して電気的に接続されている。入力ポート５１は、操作スイッチ等の信号が入力される接続部であり、出力ポート５２は、モータ３２等の周辺機器に対して信号を送信する接続部である。
【００１２】
なお、図１において、入力用の周辺機器は、その周辺機器からの信号がメイン制御基板５０に向かう矢印で表示しており、出力用の周辺機器は、メイン制御基板５０（第２サブ制御基板９０も同様）からその周辺機器に向かう矢印で示している。
【００１３】
メモリ（メインメモリ）５３は、遊技の進行等に必要なプログラムや各種データ等を記憶しておくＲＯＭ（メインＲＯＭ）、及びメインＣＰＵ５４が各種の制御を行うときに取り込んだデータ等を一時的に記憶しておくＲＷＭ（Read Write Memory ）からなる。また、メインＣＰＵ５４に備えられたレジスタもメモリ５３に含まれる。
【００１４】
メインＣＰＵ５４は、メイン制御基板５０上に設けられたＣＰＵを指し、遊技の進行に必要なプログラムの実行、演算等を行い、具体的には、役の抽選、リール３１の駆動制御、及び入賞時の払出し等を実行する。
【００１５】
また、サブ制御基板は、本実施形態では、第１サブ制御基板８０と第２サブ制御基板９０とを備える。サブ制御基板は、遊技中及び遊技待機中における演出（情報）の選択や出力等を制御するものである。
【００１６】
第１サブ制御基板８０及び第２サブ制御基板９０は、メイン制御基板５０の下位に属する制御基板である。そして、メイン制御基板５０と第１サブ制御基板８０とは電気的に接続されており、メイン制御基板５０のメインＣＰＵ５４内にあるシリアル通信回路により、第１サブ制御基板８０に一方向で演出等に必要な情報（信号、データ、制御コマンド等）を送信する。
なお、メイン制御基板５０と第１サブ制御基板８０とは、電気的に接続されることに限らず、光通信手段を用いた接続であってもよい。さらに、電気的接続及び光通信接続のいずれも、シリアル通信に限らず、パラレル通信であってもよい。
【００１７】
メイン制御基板５０から第１サブ制御基板８０に送信される情報としては、たとえば、メダルが投入（ベット、貯留）された旨の情報、スタートスイッチ４１が操作された旨の情報、役の抽選結果（当選役）の情報、リール３１の回転が開始された旨の情報、ストップスイッチ４２が操作された旨の情報、リール３１が停止した旨の情報、各リール３１の停止位置（停止図柄）の情報、入賞役の情報、メダルの払出し（リプレイの入賞による自動ベットを含む）の情報、遊技状態の情報、フリーズに関する情報等が挙げられる。
【００１８】
さらに、第１サブ制御基板８０と第２サブ制御基板９０とは、第１サブ制御基板８０内に設けられた第１サブＣＰＵ８４と、第２サブ制御基板９０内に設けられた第２サブＣＰＵ９４とにそれぞれ設けられたシリアル通信回路により、双方向通信を行う。すなわち、第１サブ制御基板８０から第２サブ制御基板９０に対して必要な情報を送信するとともに、第２サブ制御基板９０は、第１サブ制御基板８０に対して必要な情報を送信する。
なお、第１サブ制御基板８０と第２サブ制御基板９０との間の接続についても、上記と同様に、電気的接続に限らず、光通信接続であってもよい。さらに、電気的接続及び光通信接続のいずれも、シリアル通信に限らず、パラレル通信であってもよい。
【００１９】
図１の例では、第１サブ制御基板８０に接続された周辺機器を図示していないが、第１サブ制御基板８０に接続される演出用の周辺機器とは、入力ポート８１又は出力ポート８２を介して電気的に接続されている。また、メイン制御基板５０と同様に、第１サブ制御基板８０は、メモリ８３及び第１サブＣＰＵ８４を備える。
【００２０】
メモリ（サブメインメモリ）８３は、演出用データとして、ＡＴ（サブボーナスを含む）の抽選を行うとき等のプログラムや各種データ等を記憶しておくＲＯＭ（サブメインＲＯＭ）、第１サブＣＰＵ８４が演出を制御するときに取り込んだデータ等を一時的に記憶しておくＲＷＭ、第１サブＣＰＵ８４に備えられたレジスタからなる。
第１サブＣＰＵ８４は、ＡＴ抽選手段８５を備え、このＡＴ抽選手段８５は、所定のプログラムに従って、遊技回数や当選役等に基づいて、ＡＴ（サブボーナス）等に関する抽選を実行する。
また、第１サブＣＰＵ８４は、認証データ送信手段８６を備え、後述するように、第２サブ制御基板９０に対し、認証データを所定のタイミングで送信する。
【００２１】
第２サブ制御基板９０は、第１サブ制御基板８０のさらに下位に属する制御基板である。第１サブ制御基板８０を、サブメイン基板と称し、第２サブ制御基板９０をサブサブ制御基板と称する場合もある。
また、第２サブ制御基板９０は、第１サブ制御基板８０と同様に、メモリ９３及び第２サブＣＰＵ９４を備える。メモリ（サブサブメモリ）９３は、演出ランプ２１、スピーカ２２、及び画像表示装置２３から出力する演出用データ（演出パターン等）を記憶しておくＲＯＭ（サブサブＲＯＭ）、第２サブＣＰＵ９４が各種の演出を出力するときに取り込んだデータ等を一時的に記憶しておくＲＷＭ、第２サブＣＰＵ９４に備えられたレジスタからなる。
第２サブＣＰＵ８４は、所定のプログラムに従って、演出の決定及び実行を行う。
【００２２】
図１において、メダル投入口４３は、遊技者が実際にメダルを投入（手入れ）する部分である。メダル投入口４３から投入されたメダルは、通路センサ４３ａ及びブロッカ４５を通過して、投入センサ４４により検知される。
投入センサ４４は、たとえば一対の光学センサからなり、一対の光学センサのオン／オフのタイミングに基づいて、メダルが正しく通過したか否かを判断する。
【００２３】
通路センサ４３ａは、投入されたメダルが正規のものであるか否か等を検知するセンサであり、通路センサ４３ａの検知結果に基づいて、投入されたメダルを受け付けるか否かを判断する。投入されたメダルを受け付けるときは、ブロッカ４５を介して投入センサ４４側にメダルを案内する。これに対し、投入されたメダルを受け付けないときは、ブロッカ４５を駆動制御して投入されたメダルを払出し口から返却する。
【００２４】
また、図１に示すように、メイン制御基板５０には、遊技者が操作する操作スイッチとして、ベットスイッチ４０、スタートスイッチ４１、（左、中、右）ストップスイッチ４２、精算スイッチ４６が電気的に接続されている。
ベットスイッチ４０は、貯留されたメダルを当該遊技のためにベットするときに遊技者が操作するスイッチである。
【００２５】
また、スタートスイッチ４１は、（左、中、右のすべての）リール３１を始動させるときに遊技者が操作するスイッチである。
さらにまた、ストップスイッチ４２は、３つ（左、中、右）のリール３１に対応して３つ設けられ、対応するリール３１を停止させるときに遊技者が操作するスイッチである。
さらに、精算スイッチ４６は、遊技終了時等、ベットされたメダルを実際に払い出すときに遊技者が操作するスイッチである。
【００２６】
メイン制御手段５０のメインＣＰＵ５４は、設定値を変更・決定する設定変更手段６０を備える。
ここで、設定値とは、出玉（獲得できるメダル）の程度（遊技者の有利度）を定めるものであり、本実施形態では設定１〜設定６の６段階を設けている。
そして、設定値が高くなるほど、役（特に特別役）の当選確率が高く設定され、遊技者にとっての有利度が高くなるように設定している。
また、設定値が高くなるほど、ＡＴに移行する確率が高くなり、遊技者にとっての有利度が高くなるように設定している。
【００２７】
なお、ＡＴに移行する確率を高くすることに代えて、又はＡＴに移行する確率を高くするとともに、たとえばＡＴ中の遊技回数や払出し枚数を上乗せする確率を高くしたり、ＡＴを継続する確率を高くしてもよい。
また、設定値が高くなるほど、メダルの投入枚数に対する払出し枚数の期待値が高くなるようにしてもよい。
【００２８】
設定値を設定・変更するには、図示しない電源スイッチ、設定キーが用いられる。設定値が確定すると、メイン制御基板５０は、メモリ５３の所定の記憶領域に設定値を記憶する。また、設定値の情報は、メイン制御基板５０から第１サブ制御基板８０に送信され、メモリ８３内の所定の記憶領域に記憶される。第１サブ制御基板８０においてもメイン制御基板５０のメモリ５３に記憶された設定値と同一の設定値を共有する。そして、第１サブ制御基板８０側でも設定値を設定して、設定値に応じた確率でＡＴの抽選等を実行する。
【００２９】
メイン制御基板５０の出力ポート５２には、図柄表示装置３０のモータ３２等が電気的に接続されている。
図柄表示装置３０は、図柄を表示する（本実施形態では３つの）リール３１と、各リール３１をそれぞれ駆動するモータ３２等からなる。
モータ３２は、リール３１を回転させるためのものであり、各リール３１の回転中心部に連結され、後述するリール制御手段６２によって制御される。ここで、リール３１は、左リール３１、中リール３１、右リール３１からなり、左リール３１を停止させるときに操作するストップスイッチ４２が左ストップスイッチ４２であり、中リール３１を停止させるときに操作するストップスイッチ４２が中ストップスイッチ４２であり、右リール３１を停止させるときに操作するストップスイッチ４２が右ストップスイッチ４２である。
【００３０】
リール３１は、リング状のものであって、その外周面には複数種類の図柄（役に対応する図柄の組合せを構成している図柄）を印刷したリールテープを貼付したものである。本実施形態では、各リール３１ごとに、２１個の図柄表示領域が等間隔で配置されているとともに（図柄コマ数が２１個）、各図柄表示領域にそれぞれ所定の図柄が表示されている。なお、図柄コマ数は、２１個以外に、２０個の場合が挙げられる。
【００３１】
また、メイン制御基板５０には、メダル払出し装置３５が電気的に接続されている。メダル払出し装置３５は、メダルの貯留部となるホッパーのメダルを払出し口から払い出すときに駆動するホッパーモータ３６と、ホッパーモータ３６から払い出されたメダルを検出するための払出しセンサ３７とを備える。
【００３２】
メダル投入口４３から手入れされ、受け付けられたメダルは、所定の通路を通してホッパー内に収容されるように形成されている。
払出しセンサ３７は、メダルの払出し時に、メダルが正しく払い出されたか否かを判断する。たとえば、ホッパーモータ３６が駆動しているにもかかわらず、払出しセンサ３７の信号がオフであるときは、メダルが払い出されていないと判断し、ホッパーエラー（メダルなし）と検知される。一方、払出しセンサ３７の信号がオンのままとなったときは、メダル詰まりが生じたと検知する。
【００３３】
さらに、メイン制御基板５０側で制御する情報表示装置として、貯留枚数表示装置４７及びベット枚数表示装置４８が設けられている。
このように、情報表示装置の中には、サブ制御基板で制御されることなく、メイン制御基板５０と電気的に接続され、メイン制御基板５０で直接表示を制御する装置を有する。
【００３４】
スロットマシン１０は、メダルを電気的に貯留する機能を備え、最大で「５０」（５０枚）まで貯留可能となっている。「５０」を超える場合には、メダル払出し装置３５から実際に払い出す。
そして、貯留枚数表示装置４７は、現時点におけるメダルの貯留枚数をセグメント表示する装置である。
また、ベット枚数表示装置４８は、現時点でベットされているメダル枚数を表示する装置であり、本実施形態では「０」〜「３」の範囲の枚数を表示する。
【００３５】
また、第２サブ制御基板９０の出力ポート９２には、演出ランプ２１、スピーカ２２、画像表示装置２３からなる演出用の周辺機器が電気的に接続されている。
演出ランプ２１は、スロットマシン１０の演出用のＬＥＤ等であり、所定の条件を満たしたときに、それぞれ所定のパターンで点灯する。なお、演出ランプ２１には、各リール３１の内周側に配置され、リール３１に表示された図柄（表示窓から見える上下に連続する図柄）を背後から照らすためのバックランプ、リール３１の上部からリール３１上の図柄を照光する蛍光灯、スロットマシン１０の筐体前面に配置され、役の入賞時等に点滅する装飾ランプ（いずれも図示せず）等が含まれる。
【００３６】
また、スピーカ２２は、遊技中に各種の演出を行うべく、所定の条件を満たしたときに、所定のサウンドを出力するものである。
さらにまた、画像表示装置２３は、液晶ディスプレイ、有機ＥＬディスプレイ、ドットディスプレイ等からなるものであり、遊技中に各種の演出画像（ＡＴ中の押し順、役の抽選結果に対応する演出等）や、遊技情報（ＡＴ中の遊技回数や獲得枚数等）、メニュー画面等を表示するものである。
【００３７】
遊技の開始時には、遊技者は、ベットスイッチ４０を操作して予め貯留されたメダルをベットするか、又はメダル投入口４３からメダルを手入れする。遊技開始前にメダルが貯留されているときは、その貯留枚数の範囲内で、ベットスイッチ４０の操作により所定枚数のメダルがベットされる。
【００３８】
また、貯留の有無にかかわらず、ベットメダル無しの状態から、メダル投入口４３から１枚のメダルが手入れされると１ベットされ、３枚のメダルが手入れされれば３ベットされる。
そして、ベットが行われたときは、その信号がメイン制御基板５０に入力される。さらに、ベットが行われた状態でスタートスイッチ４１が操作されると、その信号がメイン制御基板５０に送信される。
【００３９】
メインＣＰＵ５４（リール制御手段６２）は、スタートスイッチ４１の操作信号を受信すると、すべてのモータ３２を駆動制御して、すべてのリール３１を回転させるように制御する（ただし、フリーズの実行時には回転させない場合もある）。このようにしてリール３１がモータ３２によって回転されることで、リール３１上の図柄は、所定の速度で表示窓内で上下方向（図柄が上段から下段に移動する方向）に移動表示される。
【００４０】
また、メインＣＰＵ５４の役抽選手段６１は、スタートスイッチ４１が操作された信号を検知したときは、役の抽選を行う。役抽選手段６１は、スタートスイッチ４１が操作されたときに乱数値を抽出し、その乱数値がどの当選役に該当するかを役抽選テーブルと照合することにより、当該遊技での当選役を決定する。
【００４１】
役抽選テーブルは、抽選される役の種類と、各役の当選確率とを定めたものである。役抽選テーブルは、それぞれ所定の範囲の抽選領域を有し、この抽選領域は、各役の当選領域及び非当選領域に分けられているとともに、抽選される役が、予め設定された当選確率となるように所定の割合に設定されている。
なお、役抽選テーブルは、設定値ごとに設けられており、メモリ５３に記憶されている設定値に対応する役抽選テーブルが用いられる。
【００４２】
遊技者は、ストップスイッチ４２の操作受付けが有効となっているときにストップスイッチ４２を押すことで、そのストップスイッチ４２に対応するリール３１（例えば、左ストップスイッチ４２に対応する左リール３１）の回転を停止させる。ストップスイッチ４２が操作されると、その信号がメイン制御基板５０に入力される。
【００４３】
メインＣＰＵ５４（リール制御手段６２）は、この信号を受信すると、役抽選手段６１での役抽選結果と、ストップスイッチ４２が操作された瞬間のリール３１の位置とから、そのストップスイッチ４２に対応するモータ３２を駆動制御し、そのモータ３２に係るリール３１の停止制御を行う。
そして、すべてのリール３１の停止時に、いずれかの役に対応する図柄の組合せが有効ラインに停止したとき（すなわち、その役の入賞時）は、入賞した役に対応するメダルの払出し等が行われる。
【００４４】
メインＣＰＵ５４の入賞判定手段６３は、すべてのリール３１の停止時に、いずれかの役に対応する図柄の組合せが有効ラインに停止したか否かを判断する。入賞判定手段６３は、たとえばモータ３２のステップ数を検知することにより、有効ライン上の図柄を判断する。
【００４５】
メインＣＰＵ５４の払出し手段６４は、すべてのリール３１の停止時に、いずれかの役に対応する図柄の組合せが有効ラインに停止したと判断され、その役の入賞となったときに、その入賞役に応じて所定枚数のメダルを遊技者に対して払い出す。払出しは、貯留枚数として加算するか、又は貯留枚数が「５０」を超えるときは実際にメダルを払出し口から払い出す。メダルを実際に払い出すときは、ホッパーモータ３６を駆動制御して、所定枚数のメダルを払い出す。メダルの払出し時には、払い出されたメダルを払出しセンサ３７により検知し、正しく払い出されたか否かをチェックする。
【００４６】
また、遊技の開始時に、メイン制御手段５０で役の抽選が行われると、役の抽選結果の情報がメイン制御手段５０から第１サブ制御手段８０に送信される。第１サブ制御手段８０は、この情報を受信すると、さらに第２サブ制御基板９０にこの情報を送信する。したがって、遊技の開始時に、第１サブ制御基板８０及び第２サブ制御基板９０のいずれも、役の抽選結果の情報を受信する。
【００４７】
第１サブ制御手段８０は、遊技ごとに、遊技の開始時に、役抽選手段６１による役の抽選結果（メイン制御基板５０側から送信された役抽選結果の情報）に基づいて、ソフトウエア乱数を用いた抽選によって、ＡＴを実行するか否かの抽選を行う。さらに、ＡＴ前兆中、ＡＴ準備中等では、ＡＴの遊技回数の抽選を行う。また、ＡＴ中は、ＡＴの遊技回数の上乗せ抽選を行う。さらに、ＡＴ中は、さらに遊技者にとってより有利となるモード（たとえばＡＴ遊技回数の上乗せ特化モード）に移行するか否か等の抽選を行う。これらの抽選は、メモリ８３に記憶されたプログラム及びデータに基づき行われる。
【００４８】
なお、ＡＴ等の抽選は、毎遊技行うものや、所定の役抽選結果となったことを条件として行うものが挙げられる。さらに、ＡＴの抽選は、遊技開始時に限らず、全リール３１の停止時（役の入賞時）、遊技終了時（メダルの払出しや再遊技のためのメダルの自動投入終了時）に行うものでもよい。
また、ＡＴは、抽選のみに限らず、たとえば前回のＡＴ終了時から、次のＡＴ発動までの遊技回数を抽選等で決定する場合もある。
【００４９】
さらにまた、第２サブ制御基板９０は、遊技ごとに、遊技の開始時に、役抽選手段６１による役の抽選結果に基づいて、ソフトウェア乱数を用いた抽選によって、演出を選択、出力する（上述した演出ランプ２１、スピーカ２２、及び画像表示装置２３からの演出の出力を制御する）。
【００５０】
具体的には、遊技の進行に伴って、どのようなタイミングで（スタートスイッチ４１の操作時や各ストップスイッチ４２の操作時等）、どのような演出を出力するか（ランプ２１をどのように点灯、点滅又は消灯させるか、スピーカ２２からどのようなサウンドを出力するか、及び画像表示装置２３にどのような画像を表示させるか等）を選択する。そして、この選択に従って、演出を出力する。
したがって、これらの演出ランプ２１、スピーカ２２、及び画像表示装置２３からの演出の出力は、第２サブ制御基板９０側で制御されるものであり、メイン制御基板５０や第１サブ制御基板８０側で制御されるものではない。
【００５１】
図２は、第１サブ制御基板８０のメモリ８３（サブメインＲＯＭ）内に記憶した演出用データの一部を示す図である。
図２の例では、３つのアドレス「７００００００」、「７０００００１」、及び「７０００００３」と、各アドレスに対応するオフセット値及び制御データを示している。ただし、実際には、数百万個のアドレスと、各アドレスに対するデータが記憶されている。これらのデータは、第１サブ制御基板８０で用いる演出用データ（ＡＴ抽選に係るものを含む）である。
【００５２】
また、図２の例では、各アドレスに、オフセット値に対応する制御データ（いずれも１６進数で表示）を記憶している。たとえば、アドレス「７００００００」には、５つのオフセット値「００」〜「０５」（上段）に対応する制御データ（下段）を記憶しており、たとえばオフセット値「００」に対応する制御データは「ＡＡ」である。
なお、図２の例では、アドレス「７０００００１」及び「７０００００３」の制御データの表示は省略しているが、実際には、各オフセット値に対応する制御データが記憶されている。
さらに、図２の例では、上段にオフセット値、下段に制御データを表示しているが、実際には、メモリ８３には制御データのみが記憶されており、第１サブ制御基板８０が制御データに対応するオフセット値を特定するときは、後述するカウンタのカウント値を用いる。
【００５３】
第１サブ制御基板８０は、第２サブ制御基板９０に対して認証データを送信するが、図２に示したオフセット値及びそのオフセット値に対応する制御データを含む認証データを作成する。図２に示すように、認証データは、４個の一群（１セット）のデータであり、それぞれ、「０ｘ５０ＶＶ」、「０ｘ５１ＷＷ」、「０ｘ５２ＸＸ」、及び「０ｘ５３ＹＹ」とする。ここで、「ＶＶ」、「ＷＷ」、「ＸＸ」、「ＹＹ」は、オフセット値とそのオフセット値に対応する制御データから算出される値である。
【００５４】
「０ｘ５０ＶＶ」〜「０ｘ５３ＹＹ」は、第２サブ制御基板９０に送信する認証データとするときは、２進数の１６ビットデータとする。ここで、１６ビットデータのうち、上位８ビットと下位８ビットに分けたとき、上位８ビットは、「５０」〜「５３」を表す。つまり、「０ｘ５０ＶＶ」では、上位８ビットは、「５０」を２進数で表したビット値、すなわち「０１０１００００」となる。同様に、「０ｘ５１ＷＷ」、「０ｘ５２ＸＸ」、及び「０ｘ５３ＹＹ」の上位８ビットは、それぞれ、「０１０１０００１」、「０１０１００１０」、「０１０１００１１」となる。
【００５５】
さらに、本実施形態では、１６ビットの認証データのうち、下位８ビットのうちの最上位ビット目（８ビット目）は、空とし、常に「０」とする。なお、この空きビットを、後述するチェックサム用データに利用することも可能である。
さらにまた、「０ｘ５０ＶＶ」の１〜７ビット目、「０ｘ５１ＷＷ」の１〜７ビット目、「０ｘ５２ＸＸ」の１〜５ビット目で、オフセット値を示すようにする。
また、「０ｘ５２ＸＸ」の６ビット目と、「０ｘ５３ＹＹ」の１〜７ビット目で、制御データを示すようにする。
【００５６】
たとえば、アドレス「７００００００」のオフセット値「００」と、このオフセット値「００」に対応する制御データ「ＡＡ」を送信するときは、以下のようにして認証データを作成する。
まず、オフセット値は、２進数の１９ビットに置き換える。したがって、オフセット値「００」は、１９ビットで示すと、「０００００００００００００００００００」となる。同様に、制御データも、２進数の８ビットに置き換える。したがって、制御データ「ＡＡ」（１６進数）は、「１０１０１０１０」となる。
【００５７】
そして、１９ビットのオフセット値の１〜７ビット目を、「０ｘ５０ＶＶ」の下位７ビットに割り当てる。よって、「０ｘ５０ＶＶ」の１６ビットの認証データは、
「０１０１００００  ００００００００」
となる。
次に、１９ビットのオフセット値の８〜１４ビット目を、「０ｘ５１ＷＷ」の１〜７ビット目に割り当てる。よって、「０ｘ５１ＷＷ」の１６ビットの認証データは、
「０１０１０００１  ００００００００」
となる。
【００５８】
さらに、１９ビットのオフセット値の１５〜１９ビット目を、「０ｘ５２ＸＸ」の１〜５ビット目に割り当てる。
さらにまた、８ビットの制御データの最上位ビット（８ビット目）を、「０ｘ５２ＸＸ」の６ビット目に割り当てる。また、図２の例では、１６ビットの認証データのうち、「０ｘ５２ＸＸ」の７ビット目を「０」とする。よって、「０ｘ５２ＸＸ」の１６ビットの認証データは、
「０１０１００１０  ００１０００００」
となる。
【００５９】
また、８ビットの制御データの１〜７ビット目を、「０ｘ５３ＹＹ」の１〜７ビット目に割り当てる。よって、「０ｘ５３ＹＹ」の１６ビットの認証データは、
「０１０１００１１  ００１０１０１０」
となる。
【００６０】
以上より、
０ｘ５０ＶＶ：０１０１００００  ００００００００
０ｘ５１ＷＷ：０１０１０００１  ００００００００
０ｘ５２ＸＸ：０１０１００１０  ００１０００００
０ｘ５３ＹＹ：０１０１００１１  ００１０１０１０
となる。
よって、これらの一群の認証データを、第２サブ制御基板９０に送信する。
【００６１】
また、「０ｘ５０ＶＶ」、「０ｘ５１ＷＷ」、「０ｘ５２ＸＸ」、及び「０ｘ５３ＹＹ」のそれぞれの「ＶＶ」、「ＷＷ」、「ＸＸ」、「ＹＹ」は、１６ビットの認証データのうち、後半８ビットを１６進数で示す値となる。
したがって、
００００００００＝００
００１０００００＝２０
００１０１０１０＝２Ａ
である。よって、図２に示すように、オフセット値「００」、制御データ「ＡＡ」を示す「０ｘ５０ＶＶ」、「０ｘ５１ＷＷ」、「０ｘ５２ＸＸ」、及び「０ｘ５３ＹＹ」は、それぞれ、「０ｘ５０００」、「０ｘ５１００」、「０ｘ５２２０」、及び「０ｘ５３２Ａ」となる。
【００６２】
もう１つ例を挙げて説明する。
アドレス「７００００００」のオフセット値「０１」と、このオフセット値「０１」に対応する制御データ「ＢＢ」の認証データは、以下の通りとなる。
まず、オフセット値は、２進数の１９ビットに置き換えると、「００００００００００００００００００１」となる。また、制御データ「ＢＢ」（１６進数）は、２進数の８ビットに置き換えると、「１０１１１０１１」となる。
【００６３】
そして、１９ビットのオフセット値の１〜７ビット目を、「０ｘ５０ＶＶ」の下位７ビットに割り当てると、「０ｘ５０ＶＶ」の１６ビットの認証データは、
「０１０１００００  ０００００００１」
となる。
次に、１９ビットのオフセット値の８〜１４ビット目を、「０ｘ５１ＷＷ」の１〜７ビット目に割り当てると、「０ｘ５１ＷＷ」の１６ビットの認証データは、
「０１０１０００１  ００００００００」
となる。
【００６４】
さらに、１９ビットのオフセット値の１５〜１９ビット目を、「０ｘ５２ＸＸ」の１〜５ビット目に割り当てる。
さらにまた、制御データの８ビット目を、「０ｘ５２ＸＸ」の６ビット目に割り当てる（なお、上記と同様に、下位８ビット中、７ビット目を「０」とする）。よって、「０ｘ５２ＸＸ」の１６ビットの認証データは、
「０１０１００１０  ００１０００００」
となる。
【００６５】
また、制御データの１〜７ビット目を、「０ｘ５３ＹＹ」の１〜７ビット目に割り当てる。よって、「０ｘ５３ＹＹ」の１６ビットの認証データは、
「０１０１００１１  ００１１１０１１」
となる。
【００６６】
以上より、
０ｘ５０ＶＶ：０１０１００００  ０００００００１
０ｘ５１ＷＷ：０１０１０００１  ００００００００
０ｘ５２ＸＸ：０１０１００１０  ００１０００００
０ｘ５３ＹＹ：０１０１００１１  ００１１１０１１
となる。
また、
ＶＶ＝０１
ＷＷ＝００
ＸＸ＝２０
ＹＹ＝３Ｂ
となる。よって、図２に示すように、オフセット値「０１」、制御データ「ＢＢ」を示す「０ｘ５０ＶＶ」、「０ｘ５１ＷＷ」、「０ｘ５２ＸＸ」、及び「０ｘ５３ＹＹ」は、それぞれ、「０ｘ５００１」、「０ｘ５１００」、「０ｘ５２２０」、及び「０ｘ５３３Ｂ」となる。
【００６７】
図３は、以上のようにして作成された認証データを示す図である。
第２サブ制御基板９０に送信する認証データは、「０ｘ５０ＶＶ」〜「０ｘ５３ＹＹ」の４個を一群とし、連続で送信する。また、たとえば「０ｘ５０ＶＶ」では、１６ビットの認証データのうち、前半８ビットのデータは、「０１１１００００」、すなわち「５０」を示す識別情報である。第２サブ制御基板９０は、この前半８ビットデータから、「０ｘ５０」であると判断する。
また、「０ｘ５０ＶＶ」の後半８ビットデータである「０，Ａ０６，Ａ０５，Ａ０４，Ａ０３，Ａ０２，Ａ０１，Ａ００」のうち、１〜７ビット目（Ａ００〜Ａ０６）がオフセット値データである。
【００６８】
さらにまた、「０ｘ５１ＷＷ」では、１６ビットの認証データのうち、前半８ビットのデータは、「０１１１０００１」、すなわち「５１」を示す識別情報である。第２サブ制御基板９０は、この前半８ビットデータから、「０ｘ５１」であると判断する。
また、「０ｘ５１ＷＷ」の後半８ビットデータのうち、１〜７ビット目（Ａ０７〜Ａ１３）がオフセット値データである。
【００６９】
さらにまた、「０ｘ５２ＸＸ」では、１６ビットの認証データのうち、前半８ビットのデータは、「０１１１００１０」、すなわち「５２」を示す識別情報である。第２サブ制御基板９０は、この前半８ビットデータから、「０ｘ５２」であると判断する。
【００７０】
また、「０ｘ５２ＸＸ」の後半８ビットデータのうち、１〜５ビット目（Ａ１４〜Ａ１８）がオフセット値データである。さらに、６ビット目の「Ｄ０７」が制御データである。
さらにまた、「０ｘ５３ＹＹ」では、１６ビットの認証データのうち、前半８ビットのデータは、「０１１１００１１」、すなわち「５３」を示す識別情報である。第２サブ制御基板９０は、この前半８ビットデータから、「０ｘ５３」であると判断する。
また、「０ｘ５３ＹＹ」の後半８ビットデータのうち、１〜７ビット目（Ｄ００〜Ｄ０６）が制御データを示す値となる。
【００７１】
第１サブ制御基板８０は、初めにどのオフセット値（及び制御データ）を送信するかを、第１サブ制御基板８０に設けられたカウンタに基づいて判断する。
第１サブ制御基板８０は、認証データを送信すると、後述する第２サブ制御基板９０は、認証データを受信したことを示すチェックサムを第１サブ制御基板８０に返信する。第１サブ制御基板８０は、チェックサムを受信すると、チェックサムが正しいか否かを判断し、チェックサムが正しいと判断したときは、カウンタを「＋１」インクリメントする。そして、たとえばカウンタの値が「０」であるときは、オフセット値が「０」及びその制御データを送信するために認証データを作成し、カウンタの値が「１」であるときは、オフセット値が「１」及びその制御データを送信するために認証データを作成する。
【００７２】
なお、本実施形態では、カウンタ値によって、実質的にどのオフセット値のデータを送信すればよいかを判断するが、これに限らず、直接、送信済みのオフセット値（あるいは、チェックサムが正しいと判断されたオフセット値）を記憶してもよい。
【００７３】
図４は、認証データを受信した第２サブ制御基板９０側での演算を説明する図である。上述したように及び図４に示すように、第１サブ制御基板８０は、一群の認証データとして、４個の認証データを順次連続で第２サブ制御基板９０に送信する。１６ビットからなる１つの認証データを４個送信することで、１セットの送信となる。
【００７４】
図４に示すように、第２サブ制御基板９０は、「０ｘ５０ＶＶ」、「０ｘ５１ＷＷ」、「０ｘ５２ＸＸ」、及び「０ｘ５３ＹＹ」の認証データを受信する。これにより、第２サブ制御基板９０側では、
「０，１，０，１，０，０，０，０，０，Ａ０６，Ａ０５，Ａ０４，Ａ０３，Ａ０２，Ａ０１，Ａ００」
「０，１，０，１，０，０，０，１，０，Ａ１３，Ａ１２，Ａ１１，Ａ１０，Ａ０９，Ａ０８，Ａ０７」
「０，１，０，１，０，０，１，０，０，Ｅ０１，Ｄ０７，Ａ１８，Ａ１７，Ａ１６，Ａ１５，Ａ１４」
「０，１，０，１，０，０，１，１，０，Ｄ０６，Ｄ０５，Ｄ０４，Ｄ０３，Ｄ０２，Ｄ０１，Ｄ００」
の４個の認証データを受信する。
【００７５】
次に、第２サブ制御基板９０の第２サブＣＰＵ９４は、上記４個の認証データのうちの、最初から３個目までの認証データを用いて、１９ビットからなるオフセット値を作成する。本実施形態では、１個目の認証データ（０ｘ５０ＶＶ）の下位７ビット（Ａ０６〜Ａ００）、２個目の認証データ（０ｘ５１ＷＷ）の下位７ビット（Ａ１３〜Ａ０７）、及び３個目の認証データ（０ｘ５２ＸＸ）の下位５ビット（Ａ１８〜Ａ１４）を結合し、Ａ１８〜Ａ００からなる１９ビットデータを、オフセット値として演算（作成）する（図４参照）。
さらに、３個目の認証データの６ビット目（「Ｄ０７」）と、４個目の認証データ（０ｘ５３ＹＹ）の下位７ビット（Ｄ０６〜Ｄ００）を結合し、８ビットからなる制御データを演算（作成）する。この制御データが、オフセット値が指定する制御データとなる。
【００７６】
そして、第２サブ制御基板９０は、第２サブ制御基板９０のメモリ９３に記憶されたオフセット値及びそのオフセット値に対応する制御データと対応させ、制御データが正しいか否かを判断する。
図５は、第２サブ制御基板９０のメモリ９３（サブサブＲＯＭ）内に記憶した認証用のデータテーブルを示す図である。
図５に示すように、第２サブ制御基板９０は、オフセット値と、そのオフセット値に対応する制御データとからなるデータテーブルを、メモリ９３内に記憶している。
オフセット値は、１９ビットからなるデータである。また、制御データは、８ビットからなるデータである。
【００７７】
第２サブ制御基板９０は、認証データを受信すると、上述のように１９ビットからなるオフセット値を作成するとともに、作成したオフセット値を記憶しておく。そして、次に認証データを受信したときは、再度、その認証データからオフセット値を作成し、作成したオフセット値と、記憶しているオフセット値（前回の認証データから作成したオフセット値）とを対比し、差分が「１」であれば（「１」だけインクリメントされていれば）、受信した認証データから作成したオフセット値は正しいと判断して、記憶しているオフセット値を更新する。
【００７８】
そして、今回受信した認証データから制御データを作成し、オフセット値が正しいと判断したときは、次に、そのオフセット値に対応する（作成した）制御データが、メモリ９３に記憶された制御データ（作成したオフセット値に対応する制御データ）と一致するか否かを判断する（第２サブ制御基板９０における照合）。したがって、受信した認証データから作成したオフセット値が正しい（つまり、記憶している前回のオフセット値に対して「１」インクリメントされている）と判断したときには制御データの照合を行う。
【００７９】
そして、照合の結果、制御データが一致すると判断したときは、異常検出処理は行わない。これに対し、制御データが一致しないと判断したときは、異常検出カウンタ９５ｂのカウント値を加算する。
ここで、本実施形態では、第１サブ制御基板８０は、異常検出用のカウンタとして、図１に示すように、オフセット値異常カウンタ９５ａと、異常検出カウンタ９５ｂとを備える。
【００８０】
また、異常検出カウンタ９５ｂのカウント値を加算したときは、次に、異常検出カウンタ９５ｂのカウント値が所定値に到達したか否かを判断する。異常検出カウンタ９５ｂのカウント値が所定値に到達したと判断したときは、異常報知を行う処理に移行する。これに対し、異常検出カウンタ９５ｂのカウント値が所定値に到達していないと判断したときは、第１サブ制御基板８０から認証データを受信する処理に戻る。
【００８１】
一方、認証データからオフセット値を作成し、そのオフセット値が正しくない（「１」インクリメントされていない）と判断したときは、今回受信した認証データから作成したオフセット値が、記憶しているオフセット値（前回作成したオフセット値）と同一値であるか否かを判断する。
同一値でないと判断したときは、今回のオフセット値が前回のオフセット値に対して「２」以上ずれていることを意味するので、この場合には、オフセット値異常カウンタ９５ａのカウント値を加算する。
【００８２】
そして、オフセット値異常カウンタ９５ａのカウント値を加算したときは、次に、オフセット値異常カウンタ９５ａのカウント値が所定値に到達したか否かを判断する。オフセット値異常カウンタ９５ａのカウント値が所定値に到達したと判断したときは、制御データの照合を行うことなく異常検出カウンタ９５ｂのカウント値を加算する。異常検出カウンタ９５ｂのカウント値を加算したときは、上述した処理を実行する。
【００８３】
また、今回受信した認証データから作成したオフセット値が、記憶しているオフセット値（前回作成したオフセット値）と同一値であると判断したときは、同一値であると判断した連続回数をカウントするためのカウンタ（このカウンタは、第２サブ制御基板９０に設けられている）のカウント値を加算する。そして、このカウント値を加算した後、そのカウント値が「４」となったか否かを判断する。
カウント値が「４」であると判断したとき、すなわち連続して４回オフセット値が同一であると判断したときは、照合を行うことなく、異常検出カウンタ９５ｂのカウント値を加算する。
これに対し、カウント値が「３」以下であると判断したときは、制御データの照合を行う。
【００８４】
図６は、第１サブ制御基板８０のメモリ８３及び第２サブ制御基板９０のメモリ９３に記憶されているベクタテーブルの例を示す図である。
プログラムにおいて、複数の割込み処理を設けている場合には、各割込み処理に対するサブルーチンを事前に作成しておく。そして、ベクタテーブルとは、割込み処理の要求があったときに、どのサブルーチンを呼び出すかを特定するために、割込み処理の種類とサブルーチンのアドレスとの対応関係を表すデータテーブルである。
【００８５】
ここで、ベクタテーブルは、図２に示したように、アドレスとそのアドレスに対応するデータとからなるデータテーブル構造を有する場合（通常のプログラム内にベクタテーブルのプログラムが入り込んでいる場合）もあるが、図６に示すようなデータテーブル構造を有する場合もある。
【００８６】
図６に示すベクタテーブルは、本来は、第１サブ制御基板８０側で使用するものである。ただし、第１サブ制御基板８０のメモリ８３に記憶しているベクタテーブルと同一のベクタテーブルを、第２サブ制御基板９０のメモリ９３にも記憶している。なお、第１サブ制御基板８０のメモリ８３に記憶しているベクタテーブルと同等のベクタテーブルを、そのまま第２サブ制御基板９０のメモリ９３に記憶することや、第１サブ制御基板８０のメモリ８３に記憶しているベクタテーブルの一部を、第２サブ制御基板９０のメモリ９３に記憶しておくことが挙げられる。
【００８７】
第１サブ制御基板８０は、ベクタテーブルの割込み処理とそのアドレスのデータ（すなわちベクタテーブルの内容）を第２サブ制御基板９０に送信する。第２サブ制御基板９０は、メモリ９３に記憶されたベクタテーブルを参照し、受信した割込み処理及びそのアドレスが一致するか否かを判断する。そして、一致しないと判断したときは、上記と同様の所定の異常検出処理を実行する。
【００８８】
以上のようにして、本実施形態では、
（１）第１サブ制御基板８０のメモリ８３に、アドレスとその演出用データとからなり、かつ演出用データがオフセット値に対応する制御データを含むデータテーブルを記憶している。第１サブ制御基板８０は、オフセット値と制御データとから４個の連続する一群の認証データを作成し、第２サブ制御基板９０に送信する。
第２サブ制御基板９０では、オフセット値と、そのオフセット値に対応する制御データとを記憶したデータテーブルを備える。第２サブ制御基板９０は、上記一群の認証データを受信すると、（１９ビットの）オフセット値と（８ビットの）制御データとを演算し、オフセット値が「１」インクリメントされているか否かを判断する。オフセット値が「１」インクリメントされていると判断したときは、そのオフセット値は正しいと判断し、そのオフセット値に対応する制御データが一致するか否かの照合を行う。そして、一致しないと判断したときは、所定の異常検出処理を実行する。
【００８９】
（２）第１サブ制御基板８０及び第２サブ制御基板９０の双方に同等のベクタテーブルを記憶しておくか、又は第１サブ制御基板８０に記憶したベクタテーブルの一部を第２サブ制御基板９０に記憶しておく。
第１サブ制御基板８０は、ベクタテーブルの割込み処理とそのアドレス（番地）のデータを第２サブ制御基板９０に送信する。第２サブ制御基板９０は、そのデータを受信すると、記憶したベクタテーブルを参照し、割込み処理とそのアドレス（番地）が一致するか否かを判断する。一致しないと判断したときは、所定の異常検出処理を実行する。
すなわち、ベクタテーブル内のデータを、認証データとして使用する。
【００９０】
上記の２つの処理を実行することで、第１サブ制御基板８０のメモリ８３、すなわちいわゆるサブＲＯＭが不正に交換されていないか（サブＲＯＭ交換ゴト行為）を判断する。
なお、上記（１）及び（２）の双方を実行することが好ましいが、（１）又は（２）のうちいずれか一方のみにより照合を行ってもよい。照合数が多くなるほど照合に対する信頼性は増加するが、処理時間が長くなる。照合数が少なければ処理時間も少なくて済むが、それだけ信頼性は低下する。
【００９１】
さらにまた、ベクタテーブルが改ざんされると、不正対策プログラムが起動する前に、不正プログラムが起動されるおそれがある。この場合に、不正プログラムには不正対策プログラムを通らないように改ざんされるおそれがある。
しかし、ベクタテーブルを用いた処理の対応関係を照合することで、不正プログラムが起動していないことを検出することができる。
【００９２】
図７は、本実施形態における第１サブ制御基板８０のメインループを示すフローチャートである。
第１サブ制御基板８０は、演出に係る情報処理として、図７に示すメインループを、電源がオンにされている間、繰り返し実行する。
【００９３】
図７において、先ず、ステップＳ１１では、第１サブ制御基板８０は、実装されているウォッチドッグタイマをクリアする。次にステップＳ１２に進み、ウォッチドッグタイマの動作処理（計測）を開始する。ウォッチドッグタイマは、第１サブＣＰＵ８４の暴走判定用のパルスを出力するとともに、このパルスの出力数をカウントし続ける。そして、後述するようにウォッチドッグタイマがクリアされるまでにパルス数のカウント値が所定値（たとえば「１０」）となったときは、第１サブＣＰＵ８４が暴走していると判定し、第１サブ制御基板８０の処理を電源投入時の処理に移行する。
【００９４】
次に、ステップＳ１３に進み、割込み処理を許可する。このステップＳ１３において割込み処理が許可されると、後述する図８に示す割込み処理が行われる。そして、この割込み処理において、上述した認証データを第２サブ制御基板９０に送信する。
【００９５】
メインループ中に、割込み処理が許可されると、メインループを一旦抜けて、予め定められた割込み処理（図８）を実行する。その割込み処理の実行後、再度、メインループに戻る。この処理を定期的に行う。その割込み時間の間隔は、本実施形態では１ｍｓである。すなわち、１ｍｓ間隔の割込み処理ごとに、後述する図８の処理を実行する。
【００９６】
次にステップＳ１４に進み、第１サブ制御基板８０は、ランプ・サウンド制御を実行する。この処理は、たとえば、スピーカ２２の制御、演出ランプ２１、具体的にはサイドランプ（スロットマシン１０の筐体両側面に設けられ、遊技状態や入賞役等に応じて点灯、点滅するランプ（ＬＥＤ等））、バックランプ（リール３１の背後から図柄を照らすランプ）、リール蛍光灯（リール３１の上部に配置された蛍光灯）、演出ボタンを点灯させるランプ等の監視等である。
【００９７】
次にステップＳ１５に進み、第１サブ制御基板８０は、画像表示監視を実行する。この処理は、画像表示装置２３に設けられた放熱ファンのエラー検出やエラー処置、画像表示装置２３のリセット要求チェック処理（たとえば電断からの復帰時等）、第１サブＣＰＵ８４の命令に基づく処理等である。
【００９８】
次のステップＳ１６では、第１サブ制御基板８０は、アンプ監視を実行する。ここのアンプとは、スピーカ２２のアンプを指す。このアンプの動作状態を監視する。
次のステップＳ１７では、バスコントローラ（たとえば、Ｉ２Ｃバスコントローラ）の監視を実行する。この処理は、デバイス間の情報伝達の監視等である。
【００９９】
次のステップＳ１８では、フレーム毎実行処理を行う。第１サブ制御基板８０で実行する処理は、フレーム化されており、１フレームずつ措定の順序で順次実行するように設定されている。フレーム毎実行処理に進むと、次のステップＳ１９では、第１サブ制御基板８０は、ステップＳ１２で開始したウォッチドッグタイマをクリアする。したがって、この時点で、カウントしたパルス数がクリアされる。
【０１００】
次にステップＳ２０に進み、第１サブ制御基板８０は、１コマンド処理、すなわち１フレーム中の１命令を実行する。この１コマンド処理のタイミングで、オフセット値及び制御データから、４個（一群）の認証データを作成し、第２サブ制御基板９０に送信する。
なお、この１コマンド処理中に電断が生じたときは、完全復帰処理を行う。完全復帰処理では、１コマンド処理中の電断が生じたタイミングから復帰する。
また、１コマンド処理中以外で電断が生じたときは、通常復帰処理を行う。通常復帰処理では、第１サブＣＰＵ８４及びＲＷＭを初期化し、メインループの最初から処理を実行する。
これにより、完全復帰処理では、第１サブＣＰＵ８４及びＲＷＭの初期化を行わないので、認証データを作成している途中で電断が生じても、正しいオフセット値及び制御データに基づく認証データを作成することができる。
【０１０１】
次のステップＳ２１では、第１サブ制御基板８０は、１コマンド処理後の残余時間に行うべき処理を実行する。たとえば、１コマンド処理が終了し、必ず実行すべき処理が終了すると、次に、バッファに溜められている処理等を行う。ここで、この残余時間を利用して認証データを作成してもよい。さらに、１コマンド処理及び残余時間処理のいずれでも、認証データを送信することが可能である。特に、遊技が行われていない遊技待機中（たとえばデモ画面表示中）であるときは、処理が少ない（残余時間が多い）ので、認証データの作成及び送信に時間をかけることができる。
さらに、残余時間処理では、１ｍｓの割込みごとに「＋１」するカウンタにより、「＋１６」となるまでカウントを行う。
【０１０２】
次にステップＳ２２に進み、ステップＳ１８で実行することとなった１フレーム全ての処理を実行したか否かを判断する。ここでは、ステップＳ１３において割込み許可された後、１６ｍｓを経過したか否かを検知することによって、１フレームの実行を終了したか否かを判断する。本実施形態では、１６ｍｓ経過時には、必ず１フレーム処理が終了している。
具体的には、本実施形態では、割込み処理ごと（１ｍｓごと）に「＋１」するカウンタを設け、上述したステップＳ２１における残余時間処理において、割込み処理ごと（１ｍｓごと）に上記カウンタ値を加算し、「＋１６」となるまでカウントを行う。
【０１０３】
そして、ステップＳ２２において、カウンタ値が「＋１６」となったときは、１フレーム全ての処理が終了したと判断し、ステップＳ１１に戻る（なお、カウンタ値はリセットされる）。これに対し、１フレーム全ての処理が未だ終了していないと判断したときは、ステップＳ２０に戻って、１フレーム中の未処理のコマンドを実行する。
なお、ステップＳ１３において割込みが許可されてからステップＳ２２における判断までの処理時間は、１ｍｓに満たない程度である。
【０１０４】
図８は、図７中、ステップＳ１３において割込みが許可されたときの割込み処理を示すフローチャートである。ステップＳ１３において割込みが許可されると、１ｍｓごとに、図８に示す処理を実行する。この割込み処理で実行するのは、第１サブ制御基板８０から第２サブ制御基板９０に対して、図３等で図示した認証データの送信等の処理である。
【０１０５】
先ず、図８のステップＳ３１では、第１サブ制御基板８０は、コマンド、すなわち上述した認証データを含むコマンドを第２サブ制御基板９０に送信可能状態であるか否かを判断し続ける。そして、送信可能であると判断したときは、その時点における第１サブ制御基板８０の状態に応じて、所定のステップに移行する。本実施形態では、送信可能な状態として、アイドル状態、データ送信開始待ち状態、データ送信中、返信待ち状態、復旧開始状態、復旧待ち状態を有する。
【０１０６】
アイドル状態であるときはステップＳ３２に進み、データ送信開始待ち状態であるときはステップＳ４１に進み、データ送信中であるときは、そのままデータを送信し続ける。返信待ち状態であるときはステップＳ５１に進み、復旧開始状態であるときはステップＳ６１に進み、復旧待ち状態であるときはステップＳ７１に進む。
【０１０７】
アイドル状態であり、ステップＳ３２に進むと、第１サブ制御基板８０は、未送信のコマンド（認証データ等）を有するか否かを判断する。未送信のコマンド有りと判断されるとステップＳ３３に進み、未送信のコマンドなしと判断されると本フローチャートによる処理を終了する。ステップＳ３３では、未送信のコマンドを登録するために、未送信のコマンドが格納されている記憶領域（バッファ）の読込ポインタを更新する。次にステップＳ３４に進み、送信するコマンド中、０バイト目（１６ビットの認証データであるときは、下位８ビットからなるバイトデータを指す。）の送信要求を行う。この処理は、コマンドの０バイト目を判断することにより、後述するＴＤＲ（トランスミットデータレジスタ。本実施形態では１バイトレジスタ。以下同じ。）に送信データが書き込まれているか否かを判断するためである。
【０１０８】
次にステップＳ３５に進み、ＴＤＲがエンプティ（空）であるか否か、すなわち送信データが書き込まれているか（格納されているか）否かを判断する。ＴＤＲがエンプティであると判断されるとステップＳ３６に進み、ＴＤＲに、送信すべきデータを書き込む（ライト処理）。そしてステップＳ３７に進み、送信データを空にするための割込み許可を行い、本フローチャートを終了する。
なお、ＴＤＲにデータが書き込まれると、そのデータは自動で送信されるとともに、送信後は、ＴＤＲのデータが自動で空（エンプティ）となる。
【０１０９】
これに対し、ステップＳ３５においてＴＤＲエンプティでないと判断されたときは、送信すべきデータがＴＤＲに既に書き込まれている状態であるので、ステップＳ３８に進み、データ送信開始待ち状態へ移行する。すなわち、本フローチャートによる処理を終了した後、次の割込み処理では、ステップＳ３１で「Ｙｅｓ」となったときはステップＳ４１に移行する。
【０１１０】
ステップＳ３１において「Ｙｅｓ」となり、データ送信開始待ち状態であると判断されるとステップＳ４１に移行し、上述のステップＳ３５と同様に、ＴＤＲがエンプティであるか否かを判断する。ステップＳ４１でＴＤＲがエンプティでない（送信すべきデータが既に書き込まれている）と判断されたときは本フローチャートによる処理を終了する。これに対し、ＴＤＲがエンプティであると判断されたときはステップＳ４２に進み、ステップＳ３６と同様にＴＤＲへの書込み（ライト処理）を行う。次に、ステップＳ４３に進み、ステップＳ３７と同様に、送信すべきデータを空にするための割込み許可を行う。そして、ステップＳ４４に進み、データ送信中へ移行する。すなわち、次の割込み処理時には、ステップＳ３１で「Ｙｅｓ」となったときは「データ送信中」となる。
【０１１１】
ステップＳ３１において「Ｙｅｓ」となり、返信待ちと判断されたときはステップＳ５１に進む。
第１サブ制御基板８０は、データを送信すると、タイマによる計時を開始する。そして、ステップＳ５１において、第１サブ制御基板８０は、そのタイマによる計測時間が所定の待ち時間を経過したか否かを判断し続ける。所定の待ち時間を経過したと判断したときはステップＳ５３に進み、リトライ処理、すなわちデータの再送信を行う。ステップＳ５３のリトライ処理に移行すると、図８中、ステップＳ８１に進む。
【０１１２】
これに対し、ステップＳ５１において所定の待ち時間を経過していないと判断したときはステップＳ５２に進み、チェックサムエラーであるか否かを判断する。ここで、チェックサムエラーとは、チェックサムを受信し、受信したチェックサムが正しい値でないときに該当する。なお、チェックサムを未だ受信していないときは、ステップＳ５２のチェックサムエラーにはならない。ステップＳ５２においてチェックサムエラーであると判断したときはステップＳ５３に進んでリトライ処理に移行し、チェックサムエラーでないと判断したときは本フローチャートによる処理を終了する。
【０１１３】
なお、図８のフローチャートの例では、第１サブ制御基板８０側で、第２サブ制御基板９０から返信されてきたチェックサムに基づき、チェックサムエラーであるか否かを判断したが、第２サブ制御基板９０側でチェックサムエラーを判断することも可能である。
【０１１４】
たとえば、第２サブ制御基板９０は、チェックサムを受信すると、第２サブ制御基板９０側で演算したチェックサムと対比し、正否を判断してもよい。この場合には、第２サブ制御基板９０は、チェックサムが正常であると判断したときは、第１サブ制御基板８０に対して返信せず、チェックサムが異常であると判断したときは、第１サブ制御基板８０に返信（チェックサムが異常である旨）を行うようにすることもできる。
そして、第１サブ制御基板８０は、チェックサムが異常である旨の情報を受信したときには、チェックサムに異常があったと判断する。
【０１１５】
ステップＳ８１では、リトライ回数（最初の送信を含む）が３以下であるか否かを判断する。すなわち、第１サブ制御基板８０は、リトライ回数をカウンタを用いてカウントし、リトライ回数が「３」以下であるか否かを判断する。リトライ回数が「３」以下であると判断されたときはステップＳ８２に進み、復旧開始状態へ移行する。すなわち、次の割込み処理時には、ステップＳ３１で「Ｙｅｓ」となったときに、ステップＳ６１以降の処理を行う。
【０１１６】
これに対し、ステップＳ８１において、リトライ回数が「３」以下でないと判断されたときは、ステップＳ８３に進み、第１サブ制御基板８０は、送信したデータの異常であると判断し、第２サブ制御基板９０に対し、初期化要求を行う。そしてステップＳ８４に進み、アイドル状態へ移行する。すなわち、次の割込み処理時には、ステップＳ３１で「Ｙｅｓ」となったときはステップＳ３２以降の処理を行う。
【０１１７】
ステップＳ３１において「Ｙｅｓ」となり、復旧開始状態と判断されたときはステップＳ６１に進む。ステップＳ６１では、ＴＤＲがエンプティであるか否かを判断する。ＴＤＲがエンプティでない（送信すべきデータが書き込まれている）と判断されたときは本フローチャートによる処理を終了する。これに対し、ＴＤＲがエンプティであると判断されたときはステップＳ６２に進み、復旧待ち時間（５０ｍｓ）をセットし、タイマのカウントを開始する。次のステップＳ６３では、ＴＤＲへのデータの書込み（ライト処理）を行う。そして、ステップＳ６４に進み、復旧待ち状態に移行する。すなわち、次の割込み処理時には、ステップＳ３１で「Ｙｅｓ」となったときはステップＳ７１以降の処理を行う。
【０１１８】
ステップＳ３１において「Ｙｅｓ」となり、復旧待ち状態と判断されたときはステップＳ７１に進む。ステップＳ７１では、登録済みの送信すべきデータをセットする。次のステップＳ７３では、ステップＳ７２でセットしたデータの０バイト目送信要求を行う。そしてステップＳ７４に進み、データ送信開始待ち状態に移行する。すなわち、次の割込み処理時には、ステップＳ３１で「Ｙｅｓ」となったときはステップＳ４１以降の処理を行う。
【０１１９】
図９は、第１サブ制御基板８０による認証データの送信処理を示すフローチャートである。図８において、データ送信中となったときは、図９の処理を実行する。なお、図９の例は、オフセット値を含む認証データを送信する例を示している。
【０１２０】
図９において、ステップＳ９２では、図２で示した演出用データ（アドレスと、そのアドレスに対応するオフセット値及び制御データ）から、送信すべきオフセット値とそのオフセット値に対応する制御データを取得する。上述したように、第１サブ制御基板８０は、どのオフセット値に対応する認証データまで第２サブ制御基板９０に送信したかを判断するためのカウンタを備えており、このカウンタ値に基づいて、送信すべきオフセット値及び制御データを取得する。そして、オフセット値及び制御データを取得したら、図２に示すように、一群の認証データを作成する。
また、作成した１６ビットの認証データは、図８で示したように、送信直前は、ＴＤＲに書き込まれる。次にステップＳ９３に進み、その認証データを第２サブ制御基板９０に送信する。
【０１２１】
ステップＳ９４では、送信した認証データのオフセット値が最終オフセット値であるか否かを判断する。最終オフセット値に対応する認証データを送信したか否かは、上記のカウンタ値に基づき判断する。そして、最終オフセット値を送信したと判断したときは、認証すべきすべてのオフセット値とそのオフセット値に対応する制御データを送信したこととなる。
最終オフセット値を送信したと判断したときはステップＳ９６に進み、送信すべきオフセット値を初期化する。すなわち、上述したカウンタ（送信したオフセット値をカウントするカウンタ）をクリアし、本フローチャートによる処理を終了する。
【０１２２】
これに対し、ステップＳ９４で最終オフセット値でないと判断したときは、ステップＳ９５に進み、送信すべきオフセット値を更新し（すなわち、カウンタを「１」加算し）、本フローチャートによる処理を終了する。
なお、後述したように、本実施形態では、カウンタを用いて送信すべきオフセット値を記憶しておくが、これに限らず、送信すべき（送信した）オフセット値そのものを記憶しておくようにしてもよい。
【０１２３】
ここで、送信すべきオフセット値の順番は、「０」、「１」、「２」、・・・と順番通りに行い、図６のベクタテーブルのデータを送信する場合も同様に、割込みベクタ順に行う。ただし、これに限らず、送信すべきオフセット値の順番は、任意に決定することができる。たとえばステップＳ９２でオフセット値を取得する際にソフトウエア乱数を用いてランダムに決定してもよい。ただし、すべてのアドレスのオフセット値の送信を完了するまで、同一オフセット値を複数回指定しないように設定する。
【０１２４】
その方法としては、同一のソフトウエア乱数を生成しないように設定することが挙げられる。この場合には、生成したソフトウエア乱数を記憶しておき、すでに生成したソフトウエア乱数であった場合は再度ソフトウエア乱数を生成するように設定する。すなわち、送信すべきオフセット値が一巡するまでの送信順序は任意であるが、一巡するまで同一オフセット値を重複して送信しないように制御する。
【０１２５】
図１０は、第１サブ制御基板８０から認証データが送信されてきたときの第２サブ制御基板９０の処理、具体的には、異常検出処理を示すフローチャートである。
まず、ステップＳ１１１では、第２サブ制御基板９０は、第１サブ制御基板８０から認証データを受信したか否かを判断する。認証データを受信したと判断したときはステップＳ１１２に進み、受信していないと判断したときはステップＳ１２４に進む。
【０１２６】
ステップＳ１１２では、受信した認証データから、オフセット値及びそのオフセット値に対応する制御データを作成する。図４で示したように、１６ビットからなる４個の（一群の）認証データを受信したときは、１９ビットのオフセット値と、そのオフセット値に対する８ビットの制御データを作成する。
【０１２７】
次のステップＳ１１３では、第２サブ制御基板９０は、ステップＳ１１１で受信した認証データのチェックサムを抽出又は作成し、第１サブ制御基板８０に返信する。第１サブ制御基板８０は、後述する図１１の処理によりチェックサムを受信し、その値を判断することで、認証データが正しく送信されたか否かを判断する。チェックサムの値をどのようにするかについては種々挙げられるが、たとえば、１６ビットの認証データのうち、たとえば上記の例では空ビットとしていた８ビット目の値をチェックサムに設定することや、全１６ビットの値の総和を演算し、その値をチェッムサムに設定して送信すること等が挙げられる。また、第１サブ制御基板８０から送信する認証データの中に、予めチェックサムのデータを含ませておき、そのデータを抽出してチェックサムとして返信することが挙げられる。
【０１２８】
ステップＳ１１４では、受信した認証データが、最初の認証データであるか否かを判断する。ここで、「最初の認証データ」とは、認証データの送信のリトライがあったときの２度目以降に受信した認証データでないという意味である。すなわち、リトライなし時の最初の認証データ受信時は、ステップＳ１１４で「Ｙｅｓ」となり、リトライ後の２度目以降の認証データの受信時には、ステップＳ１１４で「Ｎｏ」となる。
ステップＳ１１４で最初の認証データであると判断したときはステップＳ１１９に進み、最初の認証データでないと判断したときはステップＳ１１５に進む。
【０１２９】
ステップＳ１１５では、受信した認証データから作成したオフセット値が、前回受信した認証データから作成したオフセット値に対して「＋１」であるか否かを判断する。本実施形態では、上述したように、受信するオフセット値は、「１」ずつインクリメントされるように設定されている。
ステップＳ１１５においてオフセット値が「＋１」であると判断したときはステップＳ１１９に進み、「＋１」でないと判断したときはステップＳ１１６に進む。
【０１３０】
ステップＳ１１６では、今回受信した認証データから作成したオフセット値が、前回受信した認証データから作成したオフセット値と同一値であるか否かを判断する。たとえば、前回受信した認証データから作成したオフセット値が「０Ａ」であって、今回受信した認証データから作成したオフセット値が「０Ａ」であるときときは、両者は、同一値となる。
【０１３１】
ステップＳ１１６において、オフセット値が同一値でないと判断されたときはステップＳ１１７に進み、同一値であると判断されたときはステップＳ１２３に進む。
ステップＳ１１７では、オフセット値異常カウンタ９５ａの値を「＋１」にする。次にステップＳ１１８に進み、オフセット値異常カウンタ９５ａの値が所定の上限値に到達したか否かを判断する。
【０１３２】
ここで、上限値をいくつに設定するかは任意であるが、本実施形態では、「２」に設定されている。ただし、これに限らず、上限値は種々設定することができ、たとえば「１」に設定してもよく、あるいは「３」以上に設定してもよい。上限値を「１」に設定したときは、オフセット値異常カウンタ９５ａのカウント値が「＋１」になっただけで、異常に係る何らかの処理を行うこととなる。
ステップＳ１１８においてオフセット値異常カウンタ９５ａの値が上限値に到達したと判断したときはステップＳ１２５に進み、上限値に到達していないと判断したときはステップＳ１１９に進む。
【０１３３】
なお、ステップＳ１１５で「Ｎｏ」、すなわちオフセット値が「＋１」でなく、かつ、ステップＳ１１６でオフセット値が前回値でないと判断される場合とは、オフセット値が前回値に対して「２」以上異なる場合である。たとえば、前回のオフセット値が「１」であり、今回のオフセット値が「３」であった場合等が挙げられる。
【０１３４】
一方、ステップＳ１１６において、今回受信した認証データに基づき作成したオフセット値が、前回受信した認証データに基づき作成したオフセット値と同一値であると判断され、ステップＳ１２３に進むと、４連続同一値となったか否かを判断する。ここで、本実施形態では、「４連続」に設定しているが、何連続に設定してもよい。４連続同一値であると判断したときは、認証データの異常であると判断し、ステップＳ１２５に進む。これに対し、未だ４連続でないと判断したときは、ステップＳ１１９に進む。
【０１３５】
なお、図１０のフローチャートの例では、オフセット値が４連続同一値であると判断されたときはステップＳ１２５に進み、後述する異常検出カウンタ９５ｂのカウント値を加算する。しかし、上述したように、オフセット値が４連続同一値であると判断されたときは、第１サブ制御基板８０から初期化命令を受信していないこととなるので（第１サブ制御基板８０は、リトライ回数が３回を超えると、第２サブ制御基板９０に初期化命令を送信するため）、不正の可能性が高い。したがって、ステップＳ１２３で「Ｙｅｓ」のときは、後述するステップＳ１２７に進み、異常報知処理に移行してもよい。
【０１３６】
ステップＳ１１９では、データの照合を開始する。上述したように、オフセット値に対応する制御データが、第２サブ制御基板９０のメモリ９３（図５に示すデータテーブル）に記憶されている制御データと一致するか（同一であるか）否かを判断する。
そして、一致すると判断したときは、第１サブ制御基板８０から正しい認証データを受信したと判断し、ステップＳ１２１に進む。これに対し、一致しないと判断したときは、第１サブ制御基板８０から正しい認証データを受信していないと判断し、ステップＳ１２５に進む。
【０１３７】
ステップＳ１２１では、全領域の照合が終了したか否かを判断する。ここで、全領域とは、図３中、第２サブ制御基板９０のメモリ９３に記憶されている全オフセット値とその制御データを指す。そして、全領域の照合が終了したと判断したときはステップＳ１２２に進み、全領域の照合が終了していないと判断したときはステップＳ１１１に戻る。
ステップＳ１２２では、オフセット値異常カウンタ９５ａと、異常検出カウンタ９５ｂとの各カウント値をクリアする（「０」にする）。そしてステップＳ１１１に戻る。
【０１３８】
一方、ステップＳ１１１において第１サブ制御基板８０から認証データを受信していないと判断したときはステップＳ１２４に進む。ステップＳ１２４では、一定期間（時間）、認証データを受信していないか否かを判断する。ここで、第２サブ制御基板９０は、認証データを受信した時から計時を開始するタイマを備え、最後に認証データを受信した時から所定時間を経過していると判断したときは、一定期間、認証データを受信していないと判断する。一定期間、認証データを受信していないと判断したときはステップＳ１２５に進み、一定期間を経過していないと判断したときはステップＳ１１１に戻り、計時を継続する。なお、ステップＳ１１１に戻り、認証データを受信したと判断したときは、最後に認証データを受信した時から計時を開始しているタイマカウントをクリアする。
【０１３９】
ステップＳ１１８、ステップＳ１２０、ステップＳ１２３、又はステップＳ１２４からそれぞれステップＳ１２５に進むと、第２サブ制御基板９０は、異常検出カウンタ９５ｂのカウント値を「＋１」する。そして、次にステップＳ１２６に進み、第２サブ制御基板９０は、異常検出カウンタ９５ｂのカウント値が所定の上限値に到達したか否かを判断する。ここで「上限値」としては種々設定することができるが、たとえば「３」に設定することが挙げられる。なお、この上限値を「１」に設定してもよいのは勿論である。すなわち、異常検出カウンタ９５ｂの値が「＋１」となった時点で、一律に異常検出に係る後述の処理を実行してもよい。
【０１４０】
異常検出カウンタ９５ｂの値が上限値に到達したと判断したときはステップＳ１２７に進み、上限値に到達していないと判断したときはステップＳ１１１に戻る。
ステップＳ１２７では、第２サブ制御基板９０は、認証データの異常状態をセットする。そして、次のステップＳ１２８に進み、認証データの異常である旨の報知を行う。この報知は、たとえばオフセット値及びそれに対応する制御データが不一致である旨の報知であり、演出ランプ２１、スピーカ２２、又は画像表示装置２３のうち、少なくとも１つを用いて報知を行う。そして、本フローチャートによる処理を終了する。
【０１４１】
図１０に示す処理から明らかなように、第２サブ制御基板９０は、オフセット値が順番通りでない場合（ステップＳ１１５）や、同一のオフセット値を繰り返し受信した場合（ステップＳ１１６及びステップＳ１２３）には、オフセット値異常カウンタ９５ａの値を加算し、このカウント値が上限値に到達したときは、異常検出カウンタ９５ｂの値を「＋１」にする。そして、異常検出カウンタ９５ｂのカウント値が上限値に到達したときは、異常報知を行う。
したがって、オフセット値異常検出カウンタ９５ａの上限値及び異常検出カウンタ９５ｂの上限値の双方を「１」に設定すれば、いずれか一方の値が「０」から「１」になった時点で異常報知を行うことができる。
【０１４２】
これに対し、オフセット値異常検出カウンタ９５ａの上限値を「２」以上に設定すれば、ノイズ等により、認証データを正しく受信できなかったときが１回発生しただけでは、異常として検出しないようにすることができる。同様に、異常検出カウンタ９５ｂの上限値を「２」以上に設定すれば、一定期間、認証データを受信しなかったときが１回あっても、直ちに異常として検出しないようにすることができる。
【０１４３】
また、図１０から明らかなように、今回受信した認証データから作成したオフセット値が前回受信した認証データから作成したオフセット値と同一値であっても、４連続同一値でなければ（ステップＳ１２３で「Ｎｏ」）、ステップＳ１１９に進んで照合を行う。
また、オフセット値に「＋１」を超えるズレが生じても、オフセット値異常カウンタ９５ａが上限値に到達していなければ、ステップＳ１１９に進んで照合を行う。
【０１４４】
なお、本フローチャートでは図示しないが、第２サブ制御基板９０は、リトライカウンタを有しており、オフセット値が前回値と同一と判断されるごとにカウント値を「＋１」にするカウンタを備える。認証データは、常に一定の時間間隔で送信されるとは限られず、ビジー状態のときには遅れて送信される場合がある。このような場合であっても、リトライ何回目の認証データであるかを正しくカウントすることができる。
【０１４５】
また、上述した図８において、リトライ回数（最初の送信を含む）が４回であると第１サブ制御基板８０が判断したとき（ステップＳ８１）は、ステップＳ８３に進み、第２サブ制御基板９０を初期化する要求を行う。このため、通常は、図１０中、ステップＳ１２３で「オフセット値が４回連続同一値」と判断されることはない。
【０１４６】
しかし、ステップＳ８３の処理（初期化要求）をさせないようにプログラムが改ざんされるおそれも考えられる。そのように改ざんされたとしても、第２サブ制御基板９０側で、オフセット値が４連続同一値であるか否かを判断することで、第２サブ制御基板９０側で独自に異常を検知することが可能となる。なお、オフセット値が４回連続で同一値であると判断されたときは、第１サブ制御基板８０から初期化命令を受信していないこととなるので、第１サブ制御基板８０が改ざんされている可能性が高いと判断することができる。
【０１４７】
図１１は、第１サブ制御基板８０側のチェックサム処理を示すフローチャートである。
図１１のフローチャートにおいて、ステップＳ１３７の処理（待ち時間が経過したか否かの判断）は、図８のステップＳ５１の処理に相当する。また、ステップＳ１３９〜ステップＳ１４１は、図８のステップＳ５３（リトライ処理）に相当する。
【０１４８】
まず、ステップＳ１３１では、第１サブ制御基板８０は、第２サブ制御基板９０に対し、認証データを送信する。次にステップＳ１３２に進み、第１サブ制御基板８０は、認証データを送信した時からの経過時間の計測（タイマカウント）を開始する。そして、第２サブ制御基板９０からのチェックサムの返信を待つ。
【０１４９】
ステップＳ１３３では、第１サブ制御基板８０は、チェックサムを受信したか否かを判断する。チェックサムを受信したと判断したときはステップＳ１３４に進み、受信していないと判断したときはステップＳ１３７に進む。
【０１５０】
ステップＳ１３４では、ステップＳ１３２で開始したタイマカウントをクリアする。次にステップＳ１３５に進み、受信したチェックサムの照合を行う。次のステップＳ１３６では、ステップＳ１３５での照合の結果、受信したチェックサムが正しいか否かを判断する。受信したチェックサムが正しいと判断したときは本フローチャートによる処理を終了し、正しくないと判断したときはステップＳ１３９に進む。
【０１５１】
ステップＳ１３３においてチェックサムを受信していないと判断し、ステップＳ１３７に進むと、待ち時間を経過したか否かを判断する。待ち時間を経過していないと判断したときはステップＳ１３３に戻り、待ち時間を経過したと判断したときはステップＳ１３８に進む。
【０１５２】
ステップＳ１３８では、ステップＳ１３４と同様に、ステップＳ１３２で開始したタイマカウントをクリアする。次にステップＳ１３９に進み、ステップＳ１３１で送信した認証データのリトライ回数（本実施形態では、最初の送信を含む）が「３」以下であるか否かを判断する。本実施形態では、同一の認証データの送信回数上限値を「３」に設定しており、３回まではリトライを行うが、「３」を超えると異常であると判断する。したがって、リトライ回数が「３」以下であると判断したときはステップＳ１４１に進み、同一の認証データの再送信を行う。そしてステップＳ１３２に戻る。
【０１５３】
これに対し、リトライ回数が「３」を超えると判断したときはステップＳ１４０に進み、所定の異常検出処理を行う。たとえば図８のステップＳ８３〜ステップＳ８４に示したように、第２サブ制御基板９０に対して初期化要求を行い、アイドル状態に移行するように制御する。そして本フローチャートによる処理を終了する。
【０１５４】
続いて、実際にサブＲＯＭ（メモリ８３）交換ゴト行為が行われたときに、異常検出に至るまでの過程を説明する。
（１）第１サブ制御基板８０のメモリ８３に記憶されたオフセット値を不正に改ざんした場合
図２において、たとえばアドレス「７０００００００」のうち、オフセット値「０１」の制御データ「ＢＢ」を、「ＡＡ」に書き換えられたと仮定する。
この場合、認証データが作成されると、
０ｘ５０ＶＶ：０１０１００００  ０００００００１
０ｘ５１ＷＷ：０１０１０００１  ００００００００
０ｘ５２ＸＸ：０１０１００１０  ００１０００００
０ｘ５３ＹＹ：０１０１００１１  ００１０１０１０
となる。
そして、これらの認証データが第２サブ制御基板９０に送信される。
【０１５５】
しかし、第２サブ制御基板９０で１９ビットのオフセット値を作成すると、上記認証データから作成されるオフセット値は「１」であり、制御データは「ＡＡ」となる。しかし、第２サブ制御基板９０のメモリ９３には、オフセット値「１」に対応する制御データは「ＢＢ］であるから、制御データを照合すると、不一致となる。これにより、図１０中、ステップＳ１２０において照合不一致と判断される。
【０１５６】
（２）同一の一群の認証データのみを繰り返して送信するようにプログラムを改ざんした場合
図２において、たとえばオフセット値「００」以外のオフセット値の制御データが改ざんされたと仮定する。さらに、このオフセット値「００」以外の認証データを第２サブ制御基板９０に送信すると、改ざんが検出されてしまうので、オフセット値「００」の認証データのみを繰り返して送信するように、送信プログラムを改ざんしたと仮定する。
具体的には、図２で示したオフセット値「００」及び制御データ「ＡＡ」の認証データである、「０ｘ５０００」、「０ｘ５１００」、「０ｘ５２２０」、及び「０ｘ５３２Ａ」のみを送信し続けるような場合である。
【０１５７】
このような場合には、図１０中、ステップＳ１１６の処理で、オフセット値が前回値と判断される。そして、４連続同一のオフセット値であると判断されると、ステップＳ１２５以降の処理が行われるので、最終的には、異常報知を行うことができる。
【０１５８】
（３）改ざんしたオフセット値を飛ばして送信するように送信プログラムを改ざんした場合
図２において、オフセット値「０１」の制御データ「ＢＢ」を改ざんしたと仮定する。
この場合には、オフセット値「００」の制御データ「ＡＡ」に係る認証データを送信した後、オフセット値「０１」の制御データ「ＢＢ」に係る認証データを送信することなく、オフセット値「０２」の制御データ「ＣＣ」に係る認証データを送信することが考えられる。すなわち、オフセット値「０１」の制御データ「ＢＢ」に係る認証データの飛ばしである。
【０１５９】
このような場合には、第２サブ制御基板９０は、オフセット値「０２」の制御データ「ＣＣ」に係る認証データからオフセット値を作成すると、前回受信したオフセット値「００」の制御データ「ＡＡ」に係る認証データに対して「＋１」ではないと判断されるので、ステップＳ１１７においてオフセット値異常カウンタ９５ａが「＋１」される。したがって、最終的には異常を報知することができる。
【０１６０】
なお、オフセット値のずれ（飛び）は、「照合回数に対し、何回発生したときは、異常報知を行う」等のように設定することができる。さらに、タイマのカウント値と合わせることで、たとえば６０分以内にオフセット値が２回ずれる（飛ぶ）と、異常報知を行う等のように設定することも可能である。あるいは、オフセット値が一巡する間に２回ずれる（飛ぶ）と、異常報知を行うことも可能である。
さらに、前回の一巡中に特定のオフセット値にずれ（飛び）が生じ、次の一巡のときも同一のオフセット値にずれ（飛び）が生じたときは、その時点で異常報知を行うことも可能である。
【０１６１】
また、第２サブ制御基板９０が異常を検出した場合（図１０中、ステップＳ１２６以降）は、種々の処理を実行することが可能である。たとえば、異常状態セット後又は異常報知後は、第１サブ制御基板８０からの認証データその他のコマンドを受け付けないように制御することが可能である。
【０１６２】
ここで、サブＲＯＭ交換ゴト行為として、不正な認証データの送信後に、異常解除コマンドを第２サブ制御基板９０に強制的に送信するようにプログラムが改ざんされるおそれがある。しかし、第２サブ制御基板９０側で、異常状態セット後は、そのようなコマンドを受信しないように設定すればよい。
【０１６３】
また、異常報知後の解除は、たとえば電断又はＲＡＭ（上述のＲＷＭ）クリアに設定し、これらを行わない限り、異常報知の解除を不可に設定することが挙げられる。
なお、認証データの照合中に電断が発生したときは、どの時点まで照合が終了したかを記憶し、電断復帰後に、その続きから照合を開始するように制御する。
【０１６４】
以上、本発明の一実施形態について説明したが、本発明は、上記実施形態に限定されるものではなく、たとえば以下のような種々の変更が可能である。
（１）本実施形態では、認証データとして、４個（各１６ビット）の一群の認証データを送信し、１９ビットのオフセット値及び８ビットの制御データを作成した。たとえばアドレスが大きくなってしまう場合には、アドレスを用いずにオフセット値を用いる方法がある。ただし、アドレス自体及び１６ビットのデータを送信し、第２サブ制御基板９０側にも同一データを記憶しておき、両者を単に照合するようにしてもよい。
また、１個のオフセット値及び制御データに対する一群の認証データ数は、実施形態では４個としたが、１〜３個、又は５個以上であってもよい。
【０１６５】
（２）図１に示すように、演出ランプ２１やスピーカ２２は、画像表示装置２３と同様に、第２サブ制御基板９０に電気的に接続されている。しかし、これに限らず、演出ランプ２１やスピーカ２２は、第１サブ制御基板８０に電気的に接続してもよい。そして、第２サブ制御基板９０を、画像制御基板（画像制御に特化した制御基板）にする方法が挙げられる。
図１では図示を省略しているが、画像表示装置２３を制御する場合には、その画像制御基板上には、画像制御ＣＰＵ、画像コントローラＩＣ、キャラクタＲＯＭ（文字の画像データの格納用）、ビデオＲＡＭ（ＶＲＡＭ）等が搭載される。
【０１６６】
（３）照合を必要とすべき演出用データとしては、実施形態で示したもの以外には、たとえば関数ポインタテーブルや、ＡＴ抽選用のデータテーブル等が挙げられる。ここで、「関数ポインタテーブル」とは、各関数（プログラム上で実行する関数）にアドレスを割り当て、このアドレスを格納したテーブルである。関数を呼び出す際に、ポインタを指定し、そのポインタが指している関数を実行する。
出玉に影響を与えるような関数を有する場合は、関数ポインタテーブル（アドレスと、そのアドレスに対応する関数）を認証データとして、第２サブ制御基板９０側にも（認証で用いる少なくとも一部を）記憶しておき、第１サブ制御基板８０から関数ポインタテーブルのデータを認証データとして第２サブ制御基板９０に送信し、照合することが挙げられる。
【０１６７】
（４）本実施形態では、メイン制御基板５０、第１サブ制御基板８０、第２サブ制御基板９０がそれぞれ物理的に別体であるものを例示したが、これに限らず、第１サブ制御基板８０の機能（第１サブ制御手段）と第２サブ制御基板９０の機能（第２サブ制御手段）が１枚のサブ制御基板上に搭載されている場合にも適用することができる。このような場合には、容量に応じて、当該サブ制御基板上に、メインサブＲＯＭ（メモリ８３に相当）とサブサブＲＯＭ（メモリ９３に相当）との双方が実装されるか、又は１つのサブＲＯＭが実装される。
【０１６８】
（５）さらには、メイン制御基板５０、第１サブ制御基板８０、第２サブ制御基板９０のすべてが１枚の制御基板上に搭載されている場合にも本発明を適用することが可能である。この場合には、メインＣＰＵ５４と第１サブＣＰＵ８４とは、一方向通信に限らず、双方向通信も可能である。
【０１６９】
（６）本実施形態では、第１サブ制御基板８０と第２サブ制御基板９０とは、双方向通信が可能とした。しかし、第２サブ制御基板９０から第１サブ制御基板８０に対してチェックサム等その他のコマンド（情報）を送信しない仕様であれば、第１サブ制御基板８０から第２サブ制御基板９０への通信は、メイン制御基板５０と第１サブ制御基板８０との間の通信と同様に、第１サブ制御基板８０から第２サブ制御基板９０への一方向通信であってもよい。
【０１７０】
（７）認証データを送信するタイミングとしては、実施形態で示したものに限定されるものではなく、遊技中の送信や、遊技待機中の送信のいずれでもよい。タイマを用いて定期的に認証データを送信する方法や、遊技が行われていないデモ画面表示中を中心に認証データを送信してもよい。デモ画面表示中であれば、遊技中よりも、ＣＰＵの処理能力に余裕があるので、多くの認証データを送信することができる。
【０１７１】
（８）認証データを照合するにあたり、第２サブ制御基板９０は、第１サブ制御基板８０の演出用データのすべてを記憶しておく場合と、一部を記憶しておく場合とが挙げられる。一部を記憶しておく場合には、たとえば、図２中、重要なデータが存在するアドレス範囲を設定し、その範囲のオフセット値及び制御データを第２サブ制御基板９０で記憶しておくようにすればよい。
【０１７２】
（９）図１０の例では、ステップＳ１１５において、オフセット値が「＋１」であるか否かを判断し、「＋１」でないと判断したときはステップＳ１１６に移行したが、ステップＳ１１５の判断で「＋１」でないと判断したときは、直ちに、ステップＳ１１７の処理（オフセット値異常カウンタ９５ａの加算）、ステップＳ１２５の処理（異常検出カウンタ９５ｂの加算）、又はステップＳ１２７の処理（異常状態セット）に移行してもよい。
【０１７３】
（１０）本実施形態では、サブ制御基板として第１サブ制御基板８０と第２サブ制御基板９０の２つを示したが、サブ制御基板は、３つ以上であってもよい。たとえば、遊技機に役物（演出用の可動物）を設け、この役物の動作を制御するサブ制御基板（第３サブ制御基板）を設けることが挙げられる。
このような場合には、第２サブ制御基板９０と第３サブ制御基板とを電気的又は光学的に接続するか、又は第１サブ制御基板８０と第３サブ制御基板とを電気的又は光学的に接続する。そして、第３サブ制御基板に認証データ（オフセット値と制御データ等）を記憶しておき、第１サブ制御基板８０から送信された認証データに基づき照合を実行することも可能である。
【０１７４】
（１１）本実施形態では、遊技機の一例としてスロットマシン１０を例示したが、スロットマシンに限らず、メイン制御基板（手段）、第１サブ制御基板（手段）、第２サブ制御基板（手段）を有する各種の遊技機（ぱちんこ遊技機を含む）に適用することができる。
【０１７５】
＜付記＞
本願の出願当初の請求項に係る発明（当初発明）が解決しようとする課題、当初発明に係る課題を解決するための手段及び当初発明の効果は、以下の通りである。
（ａ）当初発明が解決しようとする課題
従来の技術において、メイン制御基板とサブ制御基板との間に、それまでの遊技機にはない新たなゲート装置を設けると、外観から一見して不正対策装置が取り付けられているとわかってしまうという問題がある。
また、ゲート装置を別途設けると、それだけ部品点数も増加するので、コストが高くなるという問題がある。
そこで、当初発明が解決しようとする課題は、不正対策を外観から容易に見抜けないようにしつつ、サブＲＯＭ交換ゴト行為を防止することである。
【０１７６】
（ｂ）当初発明に係る課題を解決するための手段（なお、かっこ書きで、対応する実施形態を記載する。）
第１の解決手段は、
遊技の進行を制御するメイン制御手段（メイン制御基板５０）と、
前記メイン制御手段から情報を受信し、受信した情報に基づいて演出を制御するサブ制御手段（第１サブ制御基板８０及び第２サブ制御基板９０）と
を備え、
前記サブ制御手段は、
演出の出力に関する所定の抽選（ＡＴ抽選等）を行う第１サブ制御手段（第１サブ制御基板８０）と、
演出の出力を制御する第２サブ制御手段（第２サブ制御基板９０）と
を備え、
前記第１サブ制御手段は、演出用データ（１６ビットからなるデータ）を記憶しており、
前記第１サブ制御手段は、前記演出用データのうちの少なくとも一部を認証データとして、所定の順番で前記第２サブ制御手段に送信し、
前記第２サブ制御手段は、前記第１サブ制御手段から送信されてくる認証データと同等の認証データ（１９ビットのオフセット値及び８ビットの制御データ）を予め記憶し、
前記第２サブ制御手段は、前記第１サブ制御手段から送信されてきた認証データを受信し、前記第２サブ制御手段に記憶された認証データと照合し、
前記第２サブ制御手段は、同一の認証データを受信した回数をカウントし、同一の認証データを受信した回数が所定回数となったときは、所定の異常検出処理（異常検出カウンタ９５ｂのカウント値の加算、異常報知）を実行する
ことを特徴とする。
【０１７７】
第２の解決手段は、第１の解決手段において、
前記第２サブ制御手段は、認証データを受信したときは、チェックデータ（チェックサム）を前記第１サブ制御手段に返信し、
前記第１サブ制御手段は、認証データを送信した後、所定時間内にチェックデータを受信しなかったときは、再度、同一の認証データを送信する
ことを特徴とする。
【０１７８】
（ｃ）当初発明の効果
当初発明によれば、第１サブ制御手段側のサブＲＯＭ交換ゴト行為が行われても、第２サブ制御手段には正しい認証データが記憶されているので、両者を照合すれば、データの一致／不一致を発見することができる。これにより、たとえば異常報知等の異常検出処理が実行可能となる。
また、同一の認証データを繰り返し受信したときは、異常検出処理を実行するので、たとえば、正しい認証データ（改ざんしていない認証データ）のみを繰り返し送信するようにプログラムが改ざんされても、異常を検出することができる。
【０１７９】
なお、第１サブ制御手段及び第２サブ制御手段の双方のサブＲＯＭが不正に交換されてしまうと、実効がない。
しかし、
１）サブＲＯＭ交換ゴト行為は、第１サブ制御手段のサブＲＯＭを交換することが主であること、
２）第２サブ制御手段に認証データを記憶していることは、ゴト師にはわかりにくいこと、
３）第２サブ制御手段のサブＲＯＭデータは、画像制御用に係るものであり、第１サブ制御手段のサブＲＯＭデータよりも複雑化しており、データ量も膨大であることから、第２サブ制御手段のサブＲＯＭのどの部分に認証データが記憶されているのかを探し出すことは困難であること
等から、本発明は、実効性を有するものである。
【符号の説明】
【０１８０】
１０  スロットマシン（遊技機）
２１  演出ランプ
２２  スピーカ
２３  画像表示装置
３０  図柄表示装置
３１  リール
３２  モータ
３５  メダル払出し装置
３６  ホッパーモータ
３７  払出しセンサ
４０  ベットスイッチ
４１  スタートスイッチ
４２  ストップスイッチ
４３  メダル投入口
４３ａ  通路センサ
４４  投入センサ
４５  ブロッカ
４６  精算スイッチ
４７  貯留枚数表示装置
４８  ベット枚数表示装置
５０  メイン制御基板
５１  入力ポート
５２  出力ポート
５３  メモリ
５４  メインＣＰＵ
６０  設定変更手段
６１  役抽選手段
６２  リール制御手段
６３  入賞判定手段
６４  払出し手段
８０  第１サブ制御基板
８１  入力ポート
８２  出力ポート
８３  メモリ
８４  第１サブＣＰＵ
８５  ＡＴ抽選手段
８６  認証データ送信手段
９０  第２サブ制御基板
９１  入力ポート
９２  出力ポート
９３  メモリ
９４  第２サブＣＰＵ
９５  異常検知手段
９５ａ  オフセット値異常カウンタ
９５ｂ  異常検出カウンタ
【図１】
2015204868.tif 000003
【図２】
2015204868.tif 000004
【図４】
2015204868.tif 000005
【図５】
2015204868.tif 000006
【図６】
2015204868.tif 000007
【図７】
2015204868.tif 000008
【図８】
2015204868.tif 000009
【図９】
2015204868.tif 000010
【図１０】
2015204868.tif 000011
【図１１】
2015204868.tif 000012
【図３】
2015204868.tif 000013