JP5105649B2 - 遊技機および電子機器の認証方法 - Google Patents
遊技機および電子機器の認証方法 Download PDFInfo
- Publication number
- JP5105649B2 JP5105649B2 JP2011120747A JP2011120747A JP5105649B2 JP 5105649 B2 JP5105649 B2 JP 5105649B2 JP 2011120747 A JP2011120747 A JP 2011120747A JP 2011120747 A JP2011120747 A JP 2011120747A JP 5105649 B2 JP5105649 B2 JP 5105649B2
- Authority
- JP
- Japan
- Prior art keywords
- control command
- error check
- check value
- unit
- control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Pinball Game Machines (AREA)
Description
本発明は、パチンコ店等の遊技店に設置されるパチンコ遊技機、雀球遊技機、アレンジボール等の弾球遊技機、スロットマシン等の回胴式遊技機などの遊技機に関する。また、本発明は、複数の制御部を備える電子機器における各制御部間のデータ伝送の認証方法に関する。
遊技機に対し行われる、メダルや遊技球など(以下、「遊技媒体」という)を遊技とは無関係に強制的に払い出させる不正行為のうち、遊技に係る基本動作を制御する主制御部が搭載された主制御基板や、主制御部からの制御命令に基づき演出処理等を実行する周辺部が搭載された周辺基板に関するものとして、例えば以下に示すものがある。
(1)正規な主制御基板と不正な主制御基板との交換
(2)主制御基板に搭載されたCPUが実行する正規なプログラムが記憶されたROMと上記プログラムを改ざんした不正なプログラムが記憶されたROMとの交換
(3)主制御基板と周辺基板との間に不正な基板(なりすまし基板)を設け、かつ上記(2)のROMの交換
(1)正規な主制御基板と不正な主制御基板との交換
(2)主制御基板に搭載されたCPUが実行する正規なプログラムが記憶されたROMと上記プログラムを改ざんした不正なプログラムが記憶されたROMとの交換
(3)主制御基板と周辺基板との間に不正な基板(なりすまし基板)を設け、かつ上記(2)のROMの交換
このような不正行為を防止するため、従来の遊技機には、次のようなものがあった。例えば、特許文献1に記載の遊技機は、主制御基板は、制御コマンドを生成してサブ制御基板に送信する第1送信手段と、第1送信手段が所定期間内に送信した制御コマンドのチェックサムを状態監視コマンドとして所定のタイミングで送信する第2送信手段とを備えている。特許文献1に記載の遊技機は、サブ制御基板が、所定期間内に受信した制御コマンドのチェックサムと、所定のタイミングで受信した状態監視コマンドとを比較することで、所定期間内に送信された制御コマンドの正当性を検証している。すなわち、特許文献1に記載の遊技機は、制御コマンドの正当性を検証するための状態監視コマンドを所定のタイミングで送信することで、上記不正行為の防止を図っている。
しかしながら、特許文献1に記載の遊技機では、所定のタイミングで状態監視コマンドを単独で送信する処理を行っている。状態監視コマンドは、上述のように所定期間内に送信した制御コマンドのチェックサムなので、状態監視コマンドと通常の制御コマンドとはデータ形式あるいはデータ量が著しく異なる情報である。したがって、特許文献1に記載の遊技機では、不正行為を行う者(以下、不正者という)は状態監視コマンドの送信タイミングを容易に知ることができ、不正検出のための検査タイミングを容易に知ることができる。そして、状態監視コマンドの送信タイミングを知ることができる不正者が、状態監視コマンドを取得して内容を解析する虞があった。
また、特許文献1に記載の遊技機では、制御コマンドにそのチェックサムを付加して送信している。制御コマンドにそのチェックサムを付加して送信することにより、通信エラーチェックを行うことは一般的に行われることである。特許文献1に記載の遊技機でも同様に、制御コマンドにそのチェックサムを付加している。しかしながら、これにより、特許文献1に記載の遊技機では、不正者が制御コマンドを取得して状態監視コマンドの内容を解析することが容易になっている。具体的には、不正者が、状態監視コマンドの送信タイミングを容易に知ることができるのは上述したとおりである。このため、状態監視コマンドの送信タイミングを知った不正者が、所定期間内の制御コマンドとそのチェックサムを取得して、制御コマンドとチェックサムと状態監視コマンドを比較することで、制御コマンドに付加されたチェックサムの内容および状態監視コマンドの内容を容易に解析することができるという虞があった。
本発明は、上記事情に鑑みてなされたものであり、上記不正行為を防止してセキュリティ強度を向上させることができる遊技機を提供することを目的とする。
上記課題を解決するために本発明は、制御コマンドを出力する主制御部(主制御部110)と、前記制御コマンドに基づく処理を行う周辺部(演出制御部120)と、前記主制御部と前記周辺部との間に設けられた中間制御部(中間制御部180)とを備える遊技機であって、前記主制御部は、前記制御コマンドを出力するコマンド出力手段(制御コマンド出力部500)と、前記制御コマンドに付加されて当該制御コマンドの正当性を検査する誤り検査値を、前記コマンド出力手段によって過去に出力された制御コマンドを用いて、複数の生成方式で生成可能であり、いずれかの生成方式で生成された誤り検査値を出力する第1生成手段(制御コマンド記憶部530および誤り検査値演算部540)と、前記コマンド出力手段によって出力された制御コマンドが予め決められた2以上のグループのうちのいずれのグループに属するかを識別する第1識別手段(制御部520)と、前記コマンド出力手段によって出力された制御コマンドに基づいて、誤り検査値の生成方式を前記複数の生成方式のうちのいずれの生成方式とするかを決定する第1決定手段(制御部520)と、前記第1生成手段によって出力された前記誤り検査値を、前記コマンド出力手段によって出力された前記制御コマンドに付加して前記中間制御部に送信する第1送信手段(付加部550および送信部560)と、を有し、前記中間制御部は、前記第1送信手段によって送信された制御コマンドを用いて、前記複数の生成方式で誤り検査値を生成可能であり、生成した誤り検査値を出力する第2生成手段(誤り検査値生成部610)と、前記第1送信手段によって送信された誤り検査値と、前記第2生成手段から出力された誤り検査値とを用いて、前記制御コマンドの正当性の検査を行う検査手段(誤り検査部650)と、前記制御コマンドと前記検査結果とを前記周辺部に送信する第2送信手段(送信部670)と、を有し、前記周辺部は、前記検査結果に基づく処理を行い、前記第1生成手段は、前記コマンド出力手段によって過去に出力された制御コマンドの中から、前記第1識別手段による識別結果および所定の取り決めに基づいて選択された制御コマンドを用いて、前記第1決定手段によって決定された生成方式で生成した誤り検査値を出力することを特徴とする。
本発明によれば、コマンド出力手段によって少なくとも過去に出力された制御コマンドを用いて第1生成手段が生成した誤り検査値を今回出力する制御コマンドに付加して中間制御部に送信する。このように従来にない簡易な方法を適用することにより、制御コマンドとそれに付加された誤り検査値の関係を不正者が解析することを困難にしている。
さらに、本発明によれば、主制御部は、制御コマンドを2以上の複数のグループに分類している。さらに、主制御部は、今回送信する制御コマンドに付加する誤り検査値を、当該制御コマンドが属するグループに対応するグループに属する制御コマンドのうち過去に送信された制御コマンドを用いて複数の生成方式で生成された誤り検査値のうち、制御コマンドに基づいて決定された生成方式で生成された誤り検査値とする。したがって、制御コマンドとそれに付加される誤り検査値との時系列的な関係が不規則になるうえに、制御コマンドに基づいて誤り検査値の生成方式が変更されるので、制御コマンドとそれに付加される誤り検査値との関連性の解析を困難とすることができ、不正者が制御コマンドおよびそれに付加された誤り検査値を取得したとしても、不正を行うことを困難にすることができる。すなわち、本発明によれば、遊技機のセキュリティ強度を向上させることができる。
さらに、本発明によれば、主制御部は、制御コマンドを2以上の複数のグループに分類している。さらに、主制御部は、今回送信する制御コマンドに付加する誤り検査値を、当該制御コマンドが属するグループに対応するグループに属する制御コマンドのうち過去に送信された制御コマンドを用いて複数の生成方式で生成された誤り検査値のうち、制御コマンドに基づいて決定された生成方式で生成された誤り検査値とする。したがって、制御コマンドとそれに付加される誤り検査値との時系列的な関係が不規則になるうえに、制御コマンドに基づいて誤り検査値の生成方式が変更されるので、制御コマンドとそれに付加される誤り検査値との関連性の解析を困難とすることができ、不正者が制御コマンドおよびそれに付加された誤り検査値を取得したとしても、不正を行うことを困難にすることができる。すなわち、本発明によれば、遊技機のセキュリティ強度を向上させることができる。
以下、本発明を実施するための形態について、図面を参照しながら説明する。具体的には、本発明の実施形態に係る遊技機の1つであるパチンコ遊技機1(以下、「遊技機1」という)について説明する。
〈第1の実施形態〉
[遊技機の構成]
以下に、本発明の一実施形態である第1の実施形態に係る遊技機1の構成について説明する。
図1は、本実施形態に係る遊技機1の外観構成を示す正面図である。図2は、本実施形態に係る遊技機1のガラス枠を開放させた状態の外観構成を示す斜視図である。図3は、本実施形態に係る遊技機1の裏面側の外観構成を示す斜視図である。
[遊技機の構成]
以下に、本発明の一実施形態である第1の実施形態に係る遊技機1の構成について説明する。
図1は、本実施形態に係る遊技機1の外観構成を示す正面図である。図2は、本実施形態に係る遊技機1のガラス枠を開放させた状態の外観構成を示す斜視図である。図3は、本実施形態に係る遊技機1の裏面側の外観構成を示す斜視図である。
遊技機1は、遊技店の島設備に取り付けられる外枠60と、その外枠60と回動可能に支持されたガラス枠50とが備えられている(図1、図2参照)。また、外枠60には、遊技球200が流下する遊技領域6が形成された遊技盤2が設けられている。ガラス枠50には、回動操作されることにより遊技領域6に向けて遊技球を発射させる操作ハンドル3と、スピーカからなる音声出力装置32と、複数のランプを有する演出用照明装置34と、押圧操作により演出態様を変更させるための演出ボタン35とが設けられている。
さらに、ガラス枠50には、複数の遊技球200を貯留する受け皿40が設けられており、この受け皿40は、操作ハンドル3の方向側に遊技球200が流下するように下りの傾斜を有している(図2参照)。この受け皿40の下りの傾斜の端部には、遊技球を受け入れる図示しない受入口が設けられており、この受入口に受け入れられた遊技球は、玉送りソレノイド4bが駆動することにより、ガラス枠50の裏面に設けられた玉送り開口部41へ1個ずつ送り出される。そして、玉送り開口部41へ送り出された遊技球は、打出部材4cの方向に向けて下り傾斜を有している発射レール42により、発射レール42の下り傾斜の端部に誘導される。発射レール42の下り傾斜の端部の上方には、遊技球を停留させるストッパー43が設けられており、玉送り開口部41から送り出された遊技球200は、発射レール42の下り傾斜の端部で1個の遊技球が停留されることになる(図2参照)。
そして、遊技者が操作ハンドル3を回動させると、操作ハンドル3に直結している発射ボリューム3b(図4参照)も回動し、発射ボリューム3bにより遊技球の発射強度が調整され、調整された発射強度で発射用ソレノイド4a(図4参照)に直結された打出部材4cが回転する。この打出部材4cが回転することで、打出部材4cにより発射レール42の下り傾斜の端部に貯留されている遊技球200が打ち出され、遊技球が遊技領域6に発射されることとなる。
上記のようにして発射された遊技球は、発射レール42からレール5a、5b間を上昇して玉戻り防止片5cを超えると、遊技領域6に到達し、その後遊技領域6内を落下する。このとき、遊技領域6に設けられた複数の釘や風車によって、遊技球は予測不能に落下することとなる。
また、上記遊技領域6には、複数の一般入賞口12が設けられている。これら各一般入賞口12には、一般入賞口検出スイッチ12a(図4参照)が設けられており、この一般入賞口検出スイッチ12aが遊技球の入賞を検出すると、所定の賞球(例えば10個の遊技球)が払い出される。
また、上記遊技領域6の中央下側の領域には、遊技球が入球可能な始動領域を構成する第1始動口14および第2始動口15と、遊技球が入球可能な第2大入賞口17とが設けられている。
この第2始動口15は、一対の可動片15bを有しており、これら一対の可動片15bが閉状態に維持される態様(以下、「第1の態様」という)と、一対の可動片15bが開状態となる態様(以下、「第2の態様」という)とに可動制御される。なお、第2始動口15が上記第1の態様に制御されているときには、当該第2始動口15の真上に位置する第2大入賞口17の入賞部材が障害物となって、遊技球の受入れを不可能としている。一方で、第2始動口15が上記第2の態様に制御されているときには、上記一対の可動片15bが受け皿として機能し、第2始動口15への遊技球の入賞が容易となる。つまり、第2始動口15は、第1の態様にあるときには遊技球の入賞機会がなく、第2の態様にあるときには遊技球の入賞機会が増すこととなる。
ここで、第1始動口14には遊技球の入球を検出する第1始動口検出スイッチ14a(図4参照)が設けられ、第2始動口15には遊技球の入球を検出する第2始動口検出スイッチ15a(図4参照)が設けられている。そして、第1始動口検出スイッチ14aまたは第2始動口検出スイッチ15aが遊技球の入球を検出すると、特別図柄判定用乱数値等を取得し、後述する大当たり遊技を実行する権利獲得の抽選(以下、「大当たりの抽選」という)が行われる。また、第1始動口検出スイッチ14aまたは第2始動口検出スイッチ15aが遊技球の入球を検出した場合にも、所定の賞球(例えば3個の遊技球)が払い出される。
また、第2大入賞口17は、遊技盤2に形成された開口部から構成されている。この第2大入賞口17の下部には、遊技盤面側からガラス板52側に突出可能な第2大入賞口開閉扉17bを有しており、この第2大入賞口開閉扉17bが遊技盤面側に突出する開放状態と、遊技盤面に埋没する閉鎖状態とに可動制御される。そして、第2大入賞口開閉扉17bが遊技盤面に突出していると、遊技球を第2大入賞口17内に導く受け皿として機能し、遊技球が第2大入賞口17に入球可能となる。この第2大入賞口17には第2大入賞口検出スイッチ17a(図4参照)が設けられており、この第2大入賞口検出スイッチ17aが遊技球の入球を検出すると、予め設定された賞球(例えば15個の遊技球)が払い出される。
さらに、上記遊技領域6の右側の領域には、遊技球が通過可能な普通領域を構成する普通図柄ゲート13と、遊技球が入球可能な第1大入賞口16とが設けられている。
このため、操作ハンドル3を大きく回動させ、強い力で打ち出された遊技球でないと、普通図柄ゲート13と第1大入賞口16とには遊技球が、通過または入賞しないように構成されている。
このため、操作ハンドル3を大きく回動させ、強い力で打ち出された遊技球でないと、普通図柄ゲート13と第1大入賞口16とには遊技球が、通過または入賞しないように構成されている。
この普通図柄ゲート13には、遊技球の通過を検出するゲート検出スイッチ13a(図4参照)が設けられており、このゲート検出スイッチ13aが遊技球の通過を検出すると、普通図柄判定用乱数値を取得し、後述する「普通図柄の抽選」が行われる。
第1大入賞口16は、通常は第1大入賞口開閉扉16bによって閉状態に維持されており、遊技球の入球を不可能としている。これに対して、後述する特別遊技が開始されると、第1大入賞口開閉扉16bが開放されるとともに、この第1大入賞口開閉扉16bが遊技球を第1大入賞口16内に導く受け皿として機能し、遊技球が第1大入賞口16に入球可能となる。第1大入賞口16には第1大入賞口検出スイッチ16a(図4参照)が設けられており、この第1大入賞口検出スイッチ16aが遊技球の入球を検出すると、予め設定された賞球(例えば15個の遊技球)が払い出される。
さらには、遊技領域6の最下部であって遊技領域6の最下部の領域には、一般入賞口12、第1始動口14、第2始動口15、第1大入賞口16および第2大入賞口17のいずれにも入球しなかった遊技球を排出するためのアウト口11が設けられている。
また、遊技領域6の中央には、遊技球の流下に影響を与える飾り部材7が設けられている。この飾り部材7の略中央部分には、液晶表示装置31が設けられており、この液晶表示装置31の上方には、ベルトの形をした演出用駆動装置33が設けられている。
なお、本実施形態においては、液晶表示装置31を液晶表示器として用いているが、有機ELディスプレイを用いてもよいし、プロジェクター、円環状の構造物からなるリール、いわゆる7セグメントLED、ドットマトリクス等の表示装置等を用いてもよい。
なお、本実施形態においては、液晶表示装置31を液晶表示器として用いているが、有機ELディスプレイを用いてもよいし、プロジェクター、円環状の構造物からなるリール、いわゆる7セグメントLED、ドットマトリクス等の表示装置等を用いてもよい。
この液晶表示装置31は、遊技が行われていない待機中に画像を表示したり、遊技の進行に応じた画像を表示したりする。なかでも、後述する大当たりの抽選結果を報知するための3個の演出図柄36が表示され、特定の演出図柄36の組合せ(例えば、777等)が停止表示されることにより、大当たりの抽選結果として大当たりが報知される。
より具体的には、第1始動口14または第2始動口15に遊技球が入球したときには、3個の演出図柄36をそれぞれスクロール表示するとともに、所定時間経過後に当該スクロールを停止させて、演出図柄36を停止表示するものである。また、この演出図柄36の変動表示中に、さまざまな画像やキャラクタ等を表示することによって、大当たりに当選するかもしれないという高い期待感を遊技者に与えるようにもしている。
より具体的には、第1始動口14または第2始動口15に遊技球が入球したときには、3個の演出図柄36をそれぞれスクロール表示するとともに、所定時間経過後に当該スクロールを停止させて、演出図柄36を停止表示するものである。また、この演出図柄36の変動表示中に、さまざまな画像やキャラクタ等を表示することによって、大当たりに当選するかもしれないという高い期待感を遊技者に与えるようにもしている。
上記演出用駆動装置33は、その動作態様によって遊技者に期待感を与えるものである。演出用駆動装置33は、例えば、ベルトが下方に移動したり、ベルト中央部の回転部材が回転したりする動作を行う。これら演出用駆動装置33の動作態様によって、遊技者にさまざまな期待感を与えるようにしている。
さらに、上記の各種の演出装置に加えて、音声出力装置32は、バックグラウンドミュージック、サウンドエフェクト等を出力し、サウンドによる演出を行い、演出用照明装置34は、各ランプの光の照射方向や発光色を変更して、照明による演出を行うようにしている。
また、演出ボタン35は、例えば、上記液晶表示装置31に当該演出ボタン35を操作するようなメッセージが表示されたときのみ有効となる。演出ボタン35には、演出ボタン検出スイッチ35a(図4参照)が設けられており、この演出ボタン検出スイッチ35aが遊技者の操作を検出すると、この操作に応じてさらなる演出が実行される。
遊技領域6の右下方には、第1特別図柄表示装置20、第2特別図柄表示装置21、普通図柄表示装置22、第1特別図柄保留表示器23、第2特別図柄保留表示器24、普通図柄保留表示器25が設けられている。
上記第1特別図柄表示装置20は、第1始動口14に遊技球が入球したことを契機として行われた大当たりの抽選結果を報知するものであり、7セグメントのLEDで構成されている。つまり、大当たりの抽選結果に対応する特別図柄が複数設けられており、この第1特別図柄表示装置20に大当たりの抽選結果に対応する特別図柄を表示することによって、抽選結果を遊技者に報知するようにしている。例えば、大当たりに当選した場合には「7」が表示され、ハズレであった場合には「−」が表示される。このようにして表示される「7」や「−」が特別図柄となるが、この特別図柄はすぐに表示されるわけではなく、所定時間変動表示された後に、停止表示されるようにしている。
ここで、「大当たりの抽選」とは、第1始動口14または第2始動口15に遊技球が入球したときに、特別図柄判定用乱数値を取得し、取得した特別図柄判定用乱数値が「大当たり」に対応する乱数値であるか、「小当たり」に対応する乱数値であるかの判定する処理をいう。この大当たりの抽選結果は即座に遊技者に報知されるわけではなく、第1特別図柄表示装置20において特別図柄が点滅等の変動表示を行い、所定の変動時間を経過したところで、大当たりの抽選結果に対応する特別図柄が停止表示して、遊技者に抽選結果が報知されるようにしている。なお、第2特別図柄表示装置21は、第2始動口15に遊技球が入球したことを契機として行われた大当たりの抽選結果を報知するためのもので、その表示態様は、上記第1特別図柄表示装置20における特別図柄の表示態様と同一である。
また、本実施形態において「大当たり」というのは、第1始動口14または第2始動口15に遊技球が入球したことを条件として行われる大当たりの抽選において、大当たり遊技を実行する権利を獲得したことをいう。「大当たり遊技」においては、第1大入賞口16または第2大入賞口17が開放されるラウンド遊技を計15回行う。各ラウンド遊技における第1大入賞口16または第2大入賞口17の最大開放時間については予め定められた時間が設定されており、この間に第1大入賞口16または第2大入賞口17に所定個数の遊技球(例えば9個)が入球すると、1回のラウンド遊技が終了となる。つまり、「大当たり遊技」は、第1大入賞口16または第2大入賞口17に遊技球が入球するとともに、当該入球に応じた賞球を遊技者が獲得できる遊技である。
本実施形態では、「大当たりの抽選」においては、その当選確率により2つの遊技状態が設定されている。すなわち、当選確率が1/299.5に設定された「低確率遊技状態」と、当選確率が1/29.95に設定された「高確率遊技状態」である。また、「大当たり遊技」においても、複数種類の大当たり遊技が設定されている。例えば、「長当たり遊技」となれば、第1大入賞口16が、1ラウンド遊技ごとに、29.000秒間×1回開放(×15ラウンド)される。「短当たり遊技」となれば、第2大入賞口17が、1ラウンド遊技ごとに、0.052秒間×1回(×15ラウンド)開放される。「発展当たり遊技」となれば、第2大入賞口17が、最初の1ラウンド遊技では0.052秒間×3回開放され、2ラウンド目以降は、1ラウンド遊技ごとに29.000秒間×1回(×14ラウンド)開放される。
また、「小当たり」の場合は、当選確率が1/149.75の1つの遊技状態が設定されている。また、「小当たり遊技」となれば、ラウンド遊技ではないものの、第2大入賞口17が0.052秒間×15回開放される。なお、本実施形態では、「大当たり遊技」と「小当たり遊技」とを総称して「特別遊技」という。
また、「小当たり」の場合は、当選確率が1/149.75の1つの遊技状態が設定されている。また、「小当たり遊技」となれば、ラウンド遊技ではないものの、第2大入賞口17が0.052秒間×15回開放される。なお、本実施形態では、「大当たり遊技」と「小当たり遊技」とを総称して「特別遊技」という。
また、普通図柄表示装置22は、普通図柄ゲート13を遊技球が通過したことを契機として行われる普通図柄の抽選結果を報知するためのものである。詳しくは後述するが、この普通図柄の抽選によって当たりに当選すると普通図柄表示装置22が点灯し、その後、上記第2始動口15が所定時間、第2の態様に制御される。
ここで、「普通図柄の抽選」とは、普通図柄ゲート13に遊技球が通過したときに、普通図柄判定用乱数値を取得し、取得した普通図柄判定用乱数値が「当たり」に対応する乱数値であるかどうかを判定する処理をいう。この普通図柄の抽選結果についても、普通図柄ゲート13を遊技球が通過して即座に抽選結果が報知されるわけではなく、普通図柄表示装置22において普通図柄が点滅等の変動表示を行い、所定の変動時間を経過したところで、普通図柄の抽選結果に対応する普通図柄が停止表示して、遊技者に抽選結果が報知されるようにしている。
さらに、特別図柄の変動表示中や後述する特別遊技中等、第1始動口14または第2始動口15に遊技球が入球して、即座に大当たりの抽選が行えない場合には、一定の条件のもとで、大当たりの抽選の権利が保留される。より詳細には、第1始動口14に遊技球が入球したときに取得された特別図柄判定用乱数値を第1保留として記憶し、第2始動口15に遊技球が入球したときに取得された特別図柄判定用乱数値を第2保留として記憶する。
これら両保留は、それぞれ上限保留個数を4個に設定し、その保留個数は、それぞれ第1特別図柄保留表示器23と第2特別図柄保留表示器24とに表示される。なお、第1保留が1つの場合には、第1特別図柄保留表示器23の左側のLEDが点灯し、第1保留が2つの場合には、第1特別図柄保留表示器23の2つのLEDが点灯する。また、第1保留が3つの場合には、第1特別図柄保留表示器23の左側のLEDが点滅するとともに右側のLEDが点灯し、第1保留が4つの場合には、第1特別図柄保留表示器23の2つのLEDが点滅する。また、第2特別図柄保留表示器24においても、上記と同様に第2保留の保留個数が表示される。
そして、普通図柄の上限保留個数も4個に設定されており、その保留個数が、上記第1特別図柄保留表示器23および第2特別図柄保留表示器24と同様の態様によって、普通図柄保留表示器25において表示される。
これら両保留は、それぞれ上限保留個数を4個に設定し、その保留個数は、それぞれ第1特別図柄保留表示器23と第2特別図柄保留表示器24とに表示される。なお、第1保留が1つの場合には、第1特別図柄保留表示器23の左側のLEDが点灯し、第1保留が2つの場合には、第1特別図柄保留表示器23の2つのLEDが点灯する。また、第1保留が3つの場合には、第1特別図柄保留表示器23の左側のLEDが点滅するとともに右側のLEDが点灯し、第1保留が4つの場合には、第1特別図柄保留表示器23の2つのLEDが点滅する。また、第2特別図柄保留表示器24においても、上記と同様に第2保留の保留個数が表示される。
そして、普通図柄の上限保留個数も4個に設定されており、その保留個数が、上記第1特別図柄保留表示器23および第2特別図柄保留表示器24と同様の態様によって、普通図柄保留表示器25において表示される。
ガラス枠50は、遊技盤2の前方(遊技者側)において遊技領域6を視認可能に覆うガラス板52を支持している。なお、ガラス板52は、ガラス枠50に対して着脱可能に固定されている。
またガラス枠50は、左右方向の一端側(たとえば遊技機1に正対して左側)においてヒンジ機構部51を介して外枠60に連結されており、ヒンジ機構部51を支点として左右方向の他端側(たとえば遊技機1に正対して右側)を外枠60から開放させる方向に回動可能とされている。ガラス枠50は、ガラス板52とともに遊技盤2を覆い、ヒンジ機構部51を支点として扉のように回動することによって、遊技盤2を含む外枠60の内側部分を開放することができる。ガラス枠50の他端側には、ガラス枠50の他端側を外枠60に固定するロック機構が設けられている。ロック機構による固定は、専用の鍵によって解除することが可能とされている。また、ガラス枠50には、ガラス枠50が外枠60から開放されているか否かを検出する扉開放スイッチ133(図4参照)も設けられている。
遊技機1の裏面には、主制御部110が搭載された主制御基板、中間制御部180が搭載された中間制御基板、演出制御部120が搭載された演出制御基板、払出制御部130が搭載された払出制御基板、電源部170が搭載された電源基板、遊技情報出力端子板30などが設けられている。また、電源部170に遊技機1に電力を給電するための電源プラグ171や、図示しない電源スイッチが設けられている。
[遊技機の内部構成]
以下、本発明の実施形態に係る遊技機1の遊技進行に係る処理を制御する制御手段について説明する。
図4は、本実施形態に係る遊技機1の内部構成を示すブロック図である。
以下、本発明の実施形態に係る遊技機1の遊技進行に係る処理を制御する制御手段について説明する。
図4は、本実施形態に係る遊技機1の内部構成を示すブロック図である。
主制御部110は、遊技の基本動作を制御する主制御手段であり、第1始動口検出スイッチ14a等の各種検出信号を入力して、第1特別図柄表示装置20や第1大入賞口開閉ソレノイド16c等を駆動させて遊技を制御するものである。
この主制御部110は、メインCPU110aと、メインROM110bと、メインRAM110cと、主制御用の入力ポートおよび出力ポート(図示せず)とを少なくとも備えている。
この主制御用の入力ポートには、払出制御部130、一般入賞口12に遊技球が入球したことを検知する一般入賞口検出スイッチ12a、普通図柄ゲート13に遊技球が入球したことを検知するゲート検出スイッチ13a、第1始動口14に遊技球が入球したことを検知する第1始動口検出スイッチ14a、第2始動口15に遊技球が入球したことを検知する第2始動口検出スイッチ15a、第1大入賞口16に遊技球が入球したことを検知する第1大入賞口検出スイッチ16a、第2大入賞口17に遊技球が入球したことを検知する第2大入賞口検出スイッチ17aが接続されている。この主制御用の入力ポートによって、各種信号が主制御部110に入力される。
また、主制御用の出力ポートには、払出制御部130、第2始動口15の一対の可動片15bを開閉動作させる始動口開閉ソレノイド15c、第1大入賞口開閉扉16bを動作させる第1大入賞口開閉ソレノイド16c、第2大入賞口開閉扉17bを動作させる第2大入賞口開閉ソレノイド17c、特別図柄を表示する第1特別図柄表示装置20と第2特別図柄表示装置21、普通図柄を表示する普通図柄表示装置22、特別図柄の保留球数を表示する第1特別図柄保留表示器23と第2特別図柄保留表示器24、普通図柄の保留球数を表示する普通図柄保留表示器25、外部情報信号を出力する遊技情報出力端子板30が接続されている。この主制御用の出力ポートによって、各種信号が出力される。
主制御部110のメインCPU110aは、各検出スイッチやタイマからの入力信号に基づいて、メインROM110bに記憶されたプログラムを読み出して演算処理を行うとともに、演算処理の結果に応じて主制御部110を構成する各構成部への制御指示(以下、「制御信号」という)や主制御部110外の他の制御部への制御コマンドを出力したりする。
主制御部110のメインROM110bには、遊技進行に係る処理の内容や手順を記述した遊技処理用プログラムや、各種の遊技の決定に必要な固定データ、テーブルが予め記憶されている。
メインROM110bに記憶されたテーブルとして一例を挙げれば、大当たり抽選に参照される大当たり判定テーブル、普通図柄の抽選に参照される当たり判定テーブル、特別図柄の停止図柄を決定する図柄決定テーブル、大当たり終了後の遊技状態を決定するための大当たり遊技終了時設定データテーブル、大入賞口開閉扉の開閉条件を決定する特別電動役物作動態様決定テーブル、大入賞口開放態様テーブル、特別図柄の変動パターンを決定する変動パターン決定テーブルなどがある。
メインROM110bに記憶されたテーブルとして一例を挙げれば、大当たり抽選に参照される大当たり判定テーブル、普通図柄の抽選に参照される当たり判定テーブル、特別図柄の停止図柄を決定する図柄決定テーブル、大当たり終了後の遊技状態を決定するための大当たり遊技終了時設定データテーブル、大入賞口開閉扉の開閉条件を決定する特別電動役物作動態様決定テーブル、大入賞口開放態様テーブル、特別図柄の変動パターンを決定する変動パターン決定テーブルなどがある。
また、本実施形態において、メインROM110bには、メインCPU110aが、主制御部110から中間制御部180を介して演出制御部120に送信される制御コマンドの正当性を認証するために用いる誤り検査値を生成し、生成した誤り検査値を制御コマンドに付加して中間制御部180に送信する処理を行うためのプログラムや、誤り検査値を生成するために必要なデータなどが記憶されている。なお、主制御部110が行う制御コマンドの正当性を認証する認証処理に係る処理の詳細については後述する。
主制御部110のメインRAM110cは、メインCPU110aの演算処理時におけるデータのワークエリアとして機能し、複数の記憶領域を有している。
メインRAM110cが有する記憶領域として一例を挙げれば、普通図柄保留数(G)記憶領域、普通図柄保留記憶領域、普通図柄データ記憶領域、第1特別図柄保留数(U1)記憶領域、第2特別図柄保留数(U2)記憶領域、第1特別図柄乱数値記憶領域、第2特別図柄乱数値記憶領域、ラウンド遊技回数(R)記憶領域、開放回数(K)記憶領域、大入賞口入球数(C)記憶領域、遊技状態記憶領域(高確率遊技フラグ記憶領域等)、高確率遊技回数(X)カウンタ、遊技状態バッファ、停止図柄データ記憶領域、送信データ用記憶領域、特別図柄時間カウンタ、特別遊技タイマカウンタなど各種のタイマカウンタなどがある。また、本実施形態において、メインRAM110cが有する記憶領域として誤り検査値を生成するために用いるデータである制御コマンドを記憶しておくコマンド記憶領域がある。
メインRAM110cが有する記憶領域として一例を挙げれば、普通図柄保留数(G)記憶領域、普通図柄保留記憶領域、普通図柄データ記憶領域、第1特別図柄保留数(U1)記憶領域、第2特別図柄保留数(U2)記憶領域、第1特別図柄乱数値記憶領域、第2特別図柄乱数値記憶領域、ラウンド遊技回数(R)記憶領域、開放回数(K)記憶領域、大入賞口入球数(C)記憶領域、遊技状態記憶領域(高確率遊技フラグ記憶領域等)、高確率遊技回数(X)カウンタ、遊技状態バッファ、停止図柄データ記憶領域、送信データ用記憶領域、特別図柄時間カウンタ、特別遊技タイマカウンタなど各種のタイマカウンタなどがある。また、本実施形態において、メインRAM110cが有する記憶領域として誤り検査値を生成するために用いるデータである制御コマンドを記憶しておくコマンド記憶領域がある。
中間制御部180は、主に主制御部110に対する認証に係る処理(認証処理)を制御する。この中間制御部180は、CPU180a、ROM180b、RAM180cを備えており、主制御部110と、主制御部110が本来の遊技処理に係る制御コマンドを送信する対象となる制御部(演出制御部120や払出制御部130等)との間に設けられている。例えば、図4に示すように、中間制御部180が主制御部110と演出制御部120との間に設けられている場合、中間制御部180は、主制御部110から中間制御部180への一方向に通信可能に接続され、中間制御部180から演出制御部120への一方向に通信可能に接続される。また、図示しないが、中間制御部180が主制御部110と払出制御部130との間に設けられている場合、中間制御部180は、主制御部110との間で双方向に通信可能に接続され、払出制御部130との間で双方向に通信可能に接続される。よって、中間制御部180が介在する場合、演出制御部120や払出制御部130等は、主制御部110から直接制御コマンドを送信されず、中間制御部180を介して送信されることとなる。
また、中間制御部180は、主制御部110と同様の方法で誤り検査値を生成する。中間制御部180は、主制御部110から送信された誤り検査値と生成した誤り検査値とを用いて、制御コマンドの正当性を認証する認証処理を行う。なお、中間制御部180が行う認証処理の詳細については後述する。
中間制御部180のCPU180aは、主制御部110から送信された制御コマンドおよび誤り検査値に基づいて、ROM180bに記憶されたプログラムを読み出して認証処理を行うとともに、当該処理から得られた認証結果を後続する演出制御部120や払出制御部130等へ送信する。ROM180bは、主制御部110から送信された誤り検査値を用いて、その誤り検査値が付加された制御コマンドの正当性を認証する処理を行うためのプログラムが予め記憶されている。RAM180cは、CPU180aの演算処理時におけるデータのワークエリアとして機能する。本実施形態において、RAM180cが有する記憶領域として、メインRAM110cと同様に、誤り検査値を生成するために用いるデータである制御コマンドを記憶しておくコマンド記憶領域がある。
例えば、中間制御部180のCPU180aは、主制御部110から送信された制御コマンドであって、認証処理に直接関与しない各種データを受信すると、当該制御コマンドや各種データを後続する演出制御部120や払出制御部130等へそのまま送信する中継送信処理を行う。一方、CPU180aは、主制御部110から送信された認証処理に係る制御コマンドおよび誤り検査値を受信すると、この誤り検査値を用いて主制御部110に対する認証処理を行い、この認証処理によって得られた認証結果の情報(以下、「認証結果データ」という)を後続する演出制御部120や払出制御部130等へ送信し、認証結果データに基づく処理を実行させる。
このように、中間制御部180は、主制御部110に対する認証機能と、主制御部110から送信された制御コマンドや各種データを後続する演出制御部120や払出制御部130等へ中継送信する機能と、認証にて得られた認証結果データを後続する演出制御部120や払出制御部130等へ送信する機能とを少なくとも有している。なお、認証処理に関する構成については後述する。
遊技情報出力端子板30は、主制御部110において生成された外部情報信号を遊技店のホールコンピュータ等に出力するための基板である。遊技情報出力端子板30は、主制御部110と配線接続され、外部情報を遊技店のホールコンピュータ等と接続をするためのコネクタが設けられている。
電源部170は、コンデンサからなるバックアップ電源を備えており、遊技機1に電源電圧を供給するとともに、遊技機1に供給する電源電圧を監視し、電源電圧が所定値以下となったときに、電断検知信号を主制御部110へ出力する。より具体的には、電源電圧が、所定値以下を示すために電断検知信号がローレベルとなり一定時間経過すると、リセット信号がローレベルとなり、メインCPU110aは動作を停止する処理を行う。その後、電源電圧が、所定値以上を示すために電断検知信号がハイレベルとなり一定時間経過すると、リセット信号がハイレベルとなり、メインCPU110aは動作を開始する処理を行う。バックアップ電源はコンデンサに限らず、例えば、電池でもよく、コンデンサと電池とを併用して用いてもよい。
演出制御部120は、主に遊技中や待機中等の各演出を制御する。この演出制御部120は、サブCPU120a、サブROM120b、サブRAM120cを備えており、主制御部110から演出制御部120への一方向に通信可能に接続されている。サブCPU120aは、主制御部110から送信された制御コマンド、または、上記演出ボタン検出スイッチ35a、タイマからの入力信号に基づいて、サブROM120bに記憶されたプログラムを読み出して演算処理を行うとともに、当該処理に基づいて、対応するデータをランプ制御部140または画像制御部150に送信する。サブRAM120cは、サブCPU120aの演算処理時におけるデータのワークエリアとして機能する。
例えば、演出制御部120におけるサブCPU120aは、主制御部110から中間制御部180を介して送信された制御コマンドの1つである特別図柄の変動態様を示す変動パターン指定コマンドを受信すると、受信した変動パターン指定コマンドの内容を解析して、液晶表示装置31、音声出力装置32、演出用駆動装置33、演出用照明装置34に所定の演出を実行させるためのデータを生成し、かかるデータを画像制御部150やランプ制御部140へ送信する。
演出制御部120のサブROM120bには、演出制御用のプログラムや各種の遊技の決定に必要なデータ、テーブルが記憶されている。
サブROM120bに記憶されたテーブルとして一例を挙げれば、主制御部110から中間制御部180を介して受信した変動パターン指定コマンドに基づいて演出パターンを決定するための演出パターン決定テーブル、停止表示する演出図柄36の組み合わせを決定するための演出図柄決定テーブルなどがある。
サブROM120bに記憶されたテーブルとして一例を挙げれば、主制御部110から中間制御部180を介して受信した変動パターン指定コマンドに基づいて演出パターンを決定するための演出パターン決定テーブル、停止表示する演出図柄36の組み合わせを決定するための演出図柄決定テーブルなどがある。
演出制御部120のサブRAM120cは、サブCPU120aの演算処理時におけるデータのワークエリアとして機能し、複数の記憶領域を有している。
サブRAM120cが有する記憶領域として一例を挙げれば、遊技状態記憶領域、演出モード記憶領域、演出パターン記憶領域、演出図柄記憶領域などがある。
サブRAM120cが有する記憶領域として一例を挙げれば、遊技状態記憶領域、演出モード記憶領域、演出パターン記憶領域、演出図柄記憶領域などがある。
払出制御部130は、遊技球の払い出し制御を行う。この払出制御部130は、図示しない払出CPU、払出ROM、払出RAMから構成されるワンチップマイコンを備えており、主制御部110に対して、双方向に通信可能に接続されている。払出CPUは、遊技球が払い出されたか否かを検知する払出球計数検知スイッチ132、扉開放スイッチ133、タイマからの入力信号に基づいて、払出ROMに記憶されたプログラムを読み出して演算処理を行うとともに、当該処理に基づいて、対応するデータを主制御部110に送信する。
また、払出制御部130の出力側には、遊技球の貯留部から所定数の遊技球を払い出すための払出装置の払出モータ131が接続されている。払出CPUは、主制御部110から送信された制御コマンドの1つである払出個数指定コマンドに基づいて、払出ROMから所定のプログラムを読み出して演算処理を行うとともに、払出装置の払出モータ131を制御して所定の遊技球を払い出す。このとき、払出RAMは、払出CPUの演算処理時におけるデータのワークエリアとして機能する。
ランプ制御部140は、遊技盤2に設けられた演出用照明装置34を点灯制御したり、光の照射方向を変更するためのモータに対する駆動制御をしたりする。また、演出用駆動装置33を動作させるソレノイドやモータ等の駆動源を通電制御する。このランプ制御部140は、演出制御部120に接続されており、演出制御部120から送信された各種のコマンドに基づいて、上記の各制御を行うこととなる。
画像制御部150は、液晶表示装置31の画像表示制御を行うためのホストCPU、ホストCPUのワークエリアとして機能する一時的な記憶領域を有するホストRAM、ホストCPUの制御処理のプログラム等が記憶されたホストROM、画像データが記憶されたCGROM、画像データを描画するフレームバッファを有するVRAM、画像プロセッサとなるVDP(Video Display Processor)と、音の制御を行う音制御回路とを備えている。
ホストCPUは、演出制御部120から受信した演出パターン指定コマンドに基づいて、VDPにCGROMに記憶されている画像データを液晶表示装置31に表示させる指示を行う。
VDPは、ホストCPUからの指示に基づいて、CGROMに記憶された画像データをVRAMのフレームバッファに描画する。次に、VRAMにある表示用のフレームバッファに記憶された画像データに基づいて映像信号(RGB信号等)を生成し、生成した映像信号を液晶表示装置31に出力する。
VDPは、ホストCPUからの指示に基づいて、CGROMに記憶された画像データをVRAMのフレームバッファに描画する。次に、VRAMにある表示用のフレームバッファに記憶された画像データに基づいて映像信号(RGB信号等)を生成し、生成した映像信号を液晶表示装置31に出力する。
音制御回路には、音声データが多数記憶されている音声ROMが備えられており、音制御回路が、演出制御部120から送信されたコマンドに基づいて所定のプログラムを読み出すとともに、音声出力装置32における音声出力制御をする。
発射制御部160は、遊技球の発射制御を行う。この発射制御部160は、入力側にタッチセンサ3aおよび発射ボリューム3bが接続されており、出力側に発射用ソレノイド4aおよび玉送りソレノイド4bを接続している。発射制御部160は、タッチセンサ3aからのタッチ信号を入力するとともに、発射ボリューム3bから供給された電圧に基づいて、発射用ソレノイド4aや玉送りソレノイド4bを通電させる制御を行う。
タッチセンサ3aは、操作ハンドル3の内部に設けられ、遊技者が操作ハンドル3に触れたことによる静電容量の変化を利用した静電容量型の近接スイッチから構成される。タッチセンサ3aは、遊技者が操作ハンドル3に触れたことを検知すると、発射制御部160(図4参照)に発射用ソレノイド4aの通電を許可するタッチ信号を出力する。発射制御部160は、大前提としてタッチセンサ3aからタッチ信号の入力がなければ、遊技球200を遊技領域6に発射させないように構成されている。
発射ボリューム3bは、操作ハンドル3が回動する回動部に直結して設けられ、可変抵抗器から構成される。発射ボリューム3bは、その発射ボリューム3bに印加された定電圧(例えば5V)を可変抵抗器により分圧して、分圧した電圧を発射制御部160に供給する(発射制御部160に供給する電圧を可変させる)。発射制御部160は、発射ボリューム3bにより分圧された電圧に基づいて、発射用ソレノイド4aを通電して、発射用ソレノイド4aに直結された打出部材4cを回転させることで、遊技球200を遊技領域6に発射させる。
発射用ソレノイド4aは、ロータリーソレノイドから構成され、発射用ソレノイド4aには打出部材4cが直結されており、発射用ソレノイド4aが回転することで、打出部材4cを回転させる。
ここで、発射用ソレノイド4aの回転速度は、発射制御部160に設けられた水晶発振器の出力周期に基づく周波数から、約99.9(回/分)に設定されている。これにより、1分間における発射遊技数は、発射ソレノイドが1回転する毎に1個発射されるため、約99.9(個/分)となる。すなわち、1個の遊技球は約0.6秒毎に発射されることになる。
玉送りソレノイド4bは、直進ソレノイドから構成され、受け皿40にある遊技球を、発射用ソレノイド4aに直結された打出部材4cに向けて1個ずつ送り出す。
ここで、上記構成の演出制御部120、払出制御部130、ランプ制御部140、画像制御部150、および発射制御部160など、主制御部110からの制御コマンドに基づいて、若しくは当該制御コマンドに基づいて生成されるコマンドに従って遊技機1の制御処理を行う制御部であって、中間制御部180以外の制御部を総称して「周辺部300」という。また、演出制御部120が搭載された演出制御基板や払出制御部130が搭載された払出制御基板など、周辺部300の各制御部が搭載された各制御基板を総称して「周辺基板」という。なお、中間制御部180、ランプ制御部140および画像制御部150は、演出制御部120と同一の基板上に搭載することもできる。また、払出制御部130および発射制御部160は、主制御部110と同一の基板上に搭載することもできる。
[遊技機の認証処理に関する構成]
以下、上記構成の遊技機1が不正防止のために有する認証機能を実現する制御手段について説明する。
本実施形態に係る遊技機1の認証機能は、中間制御部180が主制御部110から送信された制御コマンドの正当性を認証することで、主制御部110を認証して実現される。つまり、遊技機1は、主制御部110から送信されてきた制御コマンドが正当なものであれば、主制御部110も正当なものであると判断するのである。そして、中間制御部180で得られた認証結果は周辺部300へ送信され、周辺部300にて受信した認証結果に応じた処理が行われる。なお、本実施の形態では、中間制御部180は、主制御部110と演出制御部120との間に設けられているとともに、中間制御部180で得られた認証結果は、周辺部300のうち演出制御部120へ送信され、演出制御部120が認証結果に応じた処理を行うこととして説明する。
以下、上記構成の遊技機1が不正防止のために有する認証機能を実現する制御手段について説明する。
本実施形態に係る遊技機1の認証機能は、中間制御部180が主制御部110から送信された制御コマンドの正当性を認証することで、主制御部110を認証して実現される。つまり、遊技機1は、主制御部110から送信されてきた制御コマンドが正当なものであれば、主制御部110も正当なものであると判断するのである。そして、中間制御部180で得られた認証結果は周辺部300へ送信され、周辺部300にて受信した認証結果に応じた処理が行われる。なお、本実施の形態では、中間制御部180は、主制御部110と演出制御部120との間に設けられているとともに、中間制御部180で得られた認証結果は、周辺部300のうち演出制御部120へ送信され、演出制御部120が認証結果に応じた処理を行うこととして説明する。
具体的には、主制御部110は、制御コマンドを予め複数(例えば、2つ)のグループに分類可能に構成されている。そして、主制御部110は、今回送信する制御コマンドがいずれのグループに属するかを識別し、当該制御コマンドと同一のグループに属する制御コマンドのうちの過去(例えば、1個前)に演出制御部120に送信した制御コマンドを用いて誤り検査値を生成する。ここで、主制御部110は、今回送信する制御コマンドに応じて、今回生成する誤り検査値の生成方式を予め設定された複数の生成方式から決定し、決定に応じた生成方式で誤り検査値を生成する。そして、主制御部110は、生成した誤り検査値を今回送信する制御コマンドに付加して中間制御部180に送信する。
一方、中間制御部180は、主制御部110と同様に、制御コマンドを予め複数のグループに分類可能に構成されている。そして、演出制御部120は、今回受信した制御コマンドがいずれのグループに属するかを識別し、当該制御コマンドと同一のグループに属する制御コマンドのうちの過去(例えば、1個前)に受信した制御コマンドを用いて認証用の誤り検査値を生成する。ここで、中間制御部180は、今回受信した制御コマンドに応じて、今回生成する誤り検査値の生成方式を予め設定された複数の生成方式から決定し、決定に応じた生成方式で誤り検査値を生成する。そして、中間制御部180は、生成した誤り検査値と、今回受信した制御コマンドに付加された誤り検査値とを照合して、これらが一致した場合は、今回送信された制御コマンドの正当性が認証され、主制御部110の認証が成功したと判断する。
なお、本実施形態では、制御コマンドを2つのグループ(グループAとグループB)に分類する例について説明する。また、本実施形態では、今回送信される制御コマンドと同一のグループに属するもののうち当該制御コマンドの1個前に送信された制御コマンドを用いて誤り検査値を生成して、当該制御コマンドに付加する例について説明する。
さらに、本実施形態では、誤り検査値を2つの生成方式(方式α、方式β)で生成可能として説明する。また、本実施形態では、グループA、グループBのそれぞれに関して独立して生成方式を制御するとして説明する。具体的には、今回送信する制御コマンドが例えばグループAに属し、かつ所定の制御コマンドである場合に、グループAに関して現在設定されている生成方式を他の生成方式に変更する。また、今回送信する制御コマンドが例えばグループBに属し、かつ所定の制御コマンドである場合に、グループBに関して現在設定されている生成方式を他の生成方式に変更する。
ここで、図5に、本実施形態における制御コマンドとそれに付加される誤り検査値の一例を示す。以下、主制御部110から中間制御部180へと送信される制御コマンド(制御コマンドデータ)と、それに付加された誤り検査値のことを制御コマンド情報という。また、以下の説明では、制御コマンドAnがグループAに属する制御コマンド、制御コマンドBnがグループBに属する制御コマンドとして説明する。また、1番目にグループA、2番目にグループA、3番目にグループA、4番目にグループB、5番目にグループB、6番目にグループB、7番目にグループAにそれぞれ属する制御コマンドが送信されるとして説明する。また、誤り検査値の生成方式は、最初、グループAおよびグループBのいずれも生成方式αに設定されているとする。また、制御コマンドA3および制御コマンドB3を所定の制御コマンドとする。なお、図5に示す制御コマンドの送信順番は一例であって特にこれに制限されない。
図5に示すように、制御コマンド情報は、基本的に、今回送信される制御コマンドと同一のグループに属するもののうち当該制御コマンドの1個前に送信された制御コマンドの誤り検査値が、今回送信される制御コマンドに付加された形式になっている。ただし、最初に送信される制御コマンドA1には所定の初期値1が付加されている。2番目に送信される制御コマンドA2は、グループAに属する制御コマンドである。したがって、制御コマンドA2には、グループAに属する制御コマンドのうち1個前に送信された制御コマンドA1を用いて方式αで生成された誤り検査値A1(α)が付加される。次に、3番目に送信される制御コマンドA3は、グループAに属する制御コマンドであり、かつ所定の制御コマンドなので、グループAの生成方式が方式βに変更される。したがって、制御コマンドA3には、グループAに属する制御コマンドのうち1個前に送信された制御コマンドA2を用いて方式βで生成された誤り検査値A2(β)が付加される。次に、4番目に送信される制御コマンドB1は、グループBに属する制御コマンドで最初に送信される制御コマンドなので、所定の初期値2が付加される。次に、5番目に送信される制御コマンドB2は、グループBに属する制御コマンドである。したがって、制御コマンドB2には、グループBに属する制御コマンドのうち1個前に送信された制御コマンドB1を用いて方式αで生成された誤り検査値B1(α)が付加される。次に、6番目に送信される制御コマンドB3は、グループBに属する制御コマンドであり、かつ所定の制御コマンドなので、グループBの生成方式が方式βに変更される。したがって、制御コマンドB3には、グループBに属する制御コマンドのうち1個前に送信された制御コマンドB2を用いて方式βで生成された誤り検査値B2(β)が付加される。次に、7番目に送信される制御コマンドA4は、グループAに属する制御コマンドである。したがって、制御コマンドA4には、グループAに属する制御コマンドのうち1個前に送信された制御コマンドA3を用いて方式βで生成された誤り検査値A3(β)が付加される。以下、同様にして、今回送信する制御コマンドには、これが属するグループの制御コマンドのうち1個前に送信された制御コマンドの誤り検査値が付加される。また、今回送信する制御コマンドが所定の制御コマンドである場合は、当該制御コマンドが属するグループの生成方式が他の生成方式に変更される。
ところで、制御コマンドを2以上の複数のグループに分ける場合の分類方法は特に制限されず、主制御部110と中間制御部180との間で予め取り決めてあればよい。例えば、各グループ間において、制御コマンドの出現頻度が略均等となるように分類しても良い。この場合、複数のグループが略均等に混成されて出現するので、不正者には、制御コマンドに誤り検査値がランダムに付加されているように見える。これにより、制御コマンドとそれに付加される誤り検査値の規則性の解析を困難とすることができセキュリティ強度を向上させることができる。
一方、特定のグループに属する制御コマンドの出現頻度が高く、それ以外のグループに属する制御コマンドの出現頻度が低くなるように分類してもよい。この場合、特定のグループに属する制御コマンドに時折他のグループに属する制御コマンドが混ざるように出現する。したがって、基本的には1個前に送信された制御コマンドの誤り検査値が今回送信される制御コマンドに付加され、時折出現する特定の制御コマンドの出現時に、大きく遡った過去に送信された制御コマンドの誤り検査値が今回送信される制御コマンドに付加されることとなる。したがって、この特定の制御コマンドにおいて誤り検査値の付加規則が変化することを知らない不正者が不正を行うことを防止することができるので、セキュリティ強度を向上させることができる。
また、初期値は特に制限されず、予め決められた、誤り検査値のダミーデータや、遊技機1に固有の情報である固有情報を用いることができる。固有情報は、具体的には、主制御基板の製造番号、メインCPU110aに固有のシリアル番号やメーカーコードなどの主制御部110に固有の識別情報である。また、固有情報としては、メインROM110bに記憶されているデータの一部である所定のデータを用いてもよい。すなわち、本実施形態において、固有情報は、予め決められた遊技機1に固有のデータである。なお、上記識別情報は、メインROM110bに記憶しておいてもよいし、主制御部110に設けられた他の記憶手段に記憶しておいてもよい。
図6は、本発明の一実施形態に係る遊技機1を構成する主制御部110の認証処理に関する構成を示す機能ブロック図である。主制御部110は、制御コマンド出力部500と、誤り検査値生成部510と、付加部550と、送信部560とを備えている。さらに、誤り検査値生成部510は、制御部520と、制御コマンド記憶部530と、誤り検査値演算部540とから構成される。主制御部110を構成する各機能ブロックは、例えば、図4に示す、メインCPU110a、メインROM110b、およびメインRAM110c等の主制御部110が有する各部材を適宜組み合わせて構成される。
制御コマンド出力部500は、演出制御部120によって行われる遊技処理の内容を指示するために、中間制御部180を介して演出制御部120に今回送信する制御コマンドを生成し、誤り検査値生成部510の制御部520および制御コマンド記憶部530、ならびに付加部550に出力する。制御コマンド出力部500の機能を実現する具体的な手段は、例えば、図4に示すメインCPU110a、メインROM110bの一部、およびメインRAM110cの一部から構成することができる。より具体的には、メインCPU110aは、メインRAM10cをワークエリアとして、メインROM110bに予め記憶されているプログラムに基づき、今回出力すべき制御コマンドを決定し、出力する。また、メインCPU110aは、出力した制御コマンドをメインRAM110cの送信データ用記憶領域にセットする。
誤り検査値生成部510は、制御コマンドを予め2つのグループに分類しており、今回送信される制御コマンドがいずれのグループに属するかを識別する。また、今回送信される制御コマンドに応じて今回送信される誤り検査値の生成方式を決定する。そして、誤り検査値生成部510は、当該制御コマンドと同一のグループに属する制御コマンドのうち制御コマンド出力部500が1個前に出力した制御コマンドを用いて、決定した生成方式で誤り検査値を生成し、生成した誤り検査値を付加部550に出力する。
具体的には、誤り検査値生成部510を構成する制御部520は、今回送信される制御コマンドがいずれのグループに属するかを識別する。そして、制御部520は、識別結果に基づいて、この制御コマンドがいずれのグループに属するかを示す情報(以下、グループ情報という)を制御コマンド記憶部530に出力する。
また、制御部520は、識別結果に応じて、過去に送信された制御コマンドを記憶している制御コマンド記憶部530にいずれの制御コマンドを誤り検査値演算部540へと出力させるかを制御する。具体的には、制御部520は、今回送信される制御コマンドと同一のグループに属する制御コマンドのうち今回送信される制御コマンド(今回出力された制御コマンド)を基準として所定の過去(本実施形態では1個前)に送信された制御コマンドを誤り検査値演算部540へと出力させると判断する。そして、制御部520は、その判断結果に基づいて、いずれの制御コマンドを出力するべきかを示す制御信号(例えば、当該制御コマンドが記憶されたアドレスを示すアドレス情報等であり、以下、コマンド制御信号という)を制御コマンド記憶部530に出力する。
また、制御部520は、制御コマンド出力部500から今回出力された制御コマンド、すなわち、主制御部110が今回送信する制御コマンドに基づいて、複数の誤り検査値の生成方式(本実施形態では2つの誤り検査値の生成方式)から、今回送信する誤り検査値の生成に用いる生成方式を決定する。制御部520は、決定した生成方式の情報を各グループ毎に記憶する記憶領域(以下、生成方式記憶領域という)を有し、各グループの生成方式の情報を個別に記憶している。また、制御部520は、決定した結果に応じて誤り検査値演算部540がいずれの生成方式を用いるべきかを示す制御信号(以下、方式制御信号という)を出力する。
ここで、本実施形態において、制御部520は、今回送信する制御コマンドが所定の制御コマンドである場合に、当該制御コマンドが属するグループの生成方式を変更する。例えば、グループAにおいて前回の誤り検査値が方式αで生成された場合、すなわち、生成方式記憶領域の生成方式の情報が方式αの場合、今回の生成方式を方式βに決定し、生成方式記憶領域の生成方式の情報を更新する。一方、制御部520は、今回送信する制御コマンドが所定の制御コマンドではない場合に、誤り検査値の生成方式を継続する。例えば、グループAにおいて前回の誤り検査値が方式αで生成された場合、すなわち、生成方式記憶領域の生成方式の情報が方式αの場合、今回の生成方式を方式αに決定し、生成方式記憶領域の生成方式の情報を継続する。
制御部520の機能を実現する具体的な手段は、例えば、図4に示すメインCPU110a、メインROM110bの一部、およびメインRAM110cの一部から構成することができる。より具体的には、メインCPU110aは、メインRAM110cをワークエリアとして、今回出力された制御コマンド(コマンドデータ)、およびメインROM110bに予め記憶されているプログラムに基づき、この制御コマンドがいずれのグループに属するかを識別する。そして、識別結果に基づいて、今回誤り検査値を生成するのに用いるべき制御コマンドを特定し、コマンド制御信号を出力する。また、メインCPU110aは、メインRAM110cをワークエリアとして、今回出力された制御コマンド(コマンドデータ)、およびメインROM110bに予め記憶されているプログラムに基づき、メインRAM110cの生成方式記憶領域に記憶されている生成方式の情報を更新する。
制御コマンド記憶部530は、制御部520から出力されたグループ情報に基づいて制御コマンド出力部500から出力された制御コマンドを記憶する。また、制御コマンド記憶部530は、制御部520から出力されたコマンド制御信号に基づいて、今回誤り検査値の生成に用いられる制御コマンドを誤り検査値演算部540に出力する。詳細には、制御コマンド記憶部530は、コマンド記憶領域を含み、このコマンド記憶領域は、グループAに属する制御コマンドを記憶するコマンド記憶領域Aと、グループBに属する制御コマンドを記憶するコマンド記憶領域Bとに分かれている。そして、制御コマンド記憶部530は、制御部520から出力されたグループ情報に基づいて、制御コマンド出力部500から今回出力された制御コマンドをそのグループに対応するコマンド記憶領域に記憶する。
また、制御コマンド記憶部530は、制御部520から出力されたコマンド制御信号に基づいて、今回送信される制御コマンドが属するグループに対応するコマンド記憶領域に記憶されている制御コマンドのうち今回送信される制御コマンドを基準として所定の過去(本実施形態では1個前)に送信された制御コマンドを今回誤り検査値の生成に用いられる制御コマンドとして誤り検査値演算部540に出力する。
制御コマンド記憶部530の機能を実現する具体的な手段は、例えば、図4に示すメインCPU110a、メインRAM110cに設けられるコマンド記憶領域等である。より具体的には、メインCPU110aは、メインRAM110cをワークエリアとして、今回出力された制御コマンドのグループ情報、およびメインROM110bに予め記憶されているプログラムに基づき、この制御コマンドが属するグループに対応するコマンド記憶領域にこの制御コマンドを記憶する。さらに、メインCPU110aは、この制御コマンドが属するグループに対応するコマンド記憶領域に記憶されている制御コマンドのうち今回出力された制御コマンドを基準として1個前に記憶された制御コマンドを今回誤り検査値の生成に用いる制御コマンドとして取得する。
誤り検査値演算部540は、複数の誤り検査値の生成方式、本実施形態では2つの誤り検査値の生成方式(方式αおよび方式β)で誤り検査値を生成可能である。誤り検査値演算部540は、制御部520から出力された方式制御信号に基づいて、制御部520によって決定された生成方式で、制御コマンド記憶部530から出力された制御コマンドを用いて誤り検査値を生成する。さらに、誤り検査値演算部540は、生成した誤り検査値を付加部550に出力する。誤り検査値演算部540の機能を実現する具体的な手段は、例えば、図4に示すメインCPU110a、メインROM110bの一部、およびメインRAM110cの一部から構成することができる。より具体的には、メインCPU110aは、メインRAM110cをワークエリアとして、方式制御信号およびメインROM110bに予め記憶されているプログラムに基づき、誤り検査値を生成し、出力する。
なお、後に詳述するが、制御コマンドは、制御コマンドの分類を示す1バイトの情報(MODE)と、制御コマンドの詳細を示す1バイトの情報(DATA)からなる2バイトの制御コマンドデータとして表される。また、本実施形態において、「制御コマンドを用いて誤り検査値を生成する」とは、制御コマンドの具体的な値である制御コマンドデータを用いて、誤り検査値を生成することである。本実施形態において、特に言及しない限りにおいて「制御コマンド」という言葉には、制御コマンドデータの意味が含まれるものとする。また、「制御コマンドを用いて生成された誤り検査値」を単に「制御コマンドの誤り検査値」ともいう。
また、本実施形態において誤り検査値の生成方式は、特に制限されず、例えば、チェックサム方式、CRC方式、奇数パリティ方式、偶数パリティ方式、群計数チェック方式、垂直パリティ方式、水平パリティ方式、またはハミング符号方式等の公知の生成方式を用いることができる。また、誤り検査値は、四則演算、論理演算を用いて生成してもよい。また、制御コマンドデータのビットをシフトする処理(ビットシフト処理)やローテイトする処理(ローテイト処理)を用いて生成してもよい。
付加部550は、制御コマンド出力部500から出力された今回送信する制御コマンドに、誤り検査値演算部540から出力された今回送信する誤り検査値を付加して、中間制御部180へと送信する制御コマンド情報を生成する。付加部550の機能を実現する具体的な手段は、例えば、図4に示すメインCPU110a、メインROM110bの一部、およびメインRAM110cの一部から構成することができる。より具体的には、メインCPU110aは、メインRAM110cをワークエリアとして、メインROM110bに予め記憶されているプログラムに基づき、制御コマンド情報を生成する。
送信部560は、今回送信する制御コマンドに誤り検査値を付加して生成された制御コマンド情報を中間制御部180へと送信する。送信部560の機能を実現する具体的な手段は、図4に示すメインCPU110a、メインROM110bの一部、およびメインRAM110cの一部や、図示しない送信回路等から構成することができる。
このように構成された主制御部110の各構成部の動作の概略を説明する。遊技機1の電源が投入され、主制御部110のメインCPU110aが初期化処理を行った後、制御コマンド出力部500は、中間制御部180を介して演出制御部120に今回送信する制御コマンドを生成し、誤り検査値生成部510および付加部550に出力する。
誤り検査値生成部510は、出力された今回送信される制御コマンドがいずれのグループに属するかを識別する。また、今回送信される制御コマンドに応じて今回の誤り検査値の生成方式を決定する。そして、識別結果に基づいて、制御コマンドをグループ毎に分類して記憶する。また、識別結果および決定結果に基づいて、今回送信される制御コマンドと同一のグループに属する制御コマンドのうち1個前に送信された制御コマンドを用いて、決定した生成方式で誤り検査値を生成し付加部550に出力する。
付加部550は、制御コマンド出力部500から出力された今回送信する制御コマンドに、誤り検査値生成部510から出力された今回送信する誤り検査値を付加して制御コマンド情報を生成し、送信部560へ出力する。
送信部560は、付加部550から受け取った制御コマンド情報を中間制御部180へと送信する。
誤り検査値生成部510は、出力された今回送信される制御コマンドがいずれのグループに属するかを識別する。また、今回送信される制御コマンドに応じて今回の誤り検査値の生成方式を決定する。そして、識別結果に基づいて、制御コマンドをグループ毎に分類して記憶する。また、識別結果および決定結果に基づいて、今回送信される制御コマンドと同一のグループに属する制御コマンドのうち1個前に送信された制御コマンドを用いて、決定した生成方式で誤り検査値を生成し付加部550に出力する。
付加部550は、制御コマンド出力部500から出力された今回送信する制御コマンドに、誤り検査値生成部510から出力された今回送信する誤り検査値を付加して制御コマンド情報を生成し、送信部560へ出力する。
送信部560は、付加部550から受け取った制御コマンド情報を中間制御部180へと送信する。
図7は、本発明の一実施形態に係る遊技機1を構成する中間制御部180の認証処理に関する構成を示す機能ブロック図である。中間制御部180は、受信部600と、誤り検査値生成部610と、誤り検査部650と、付加部660と、送信部670とを備えている。さらに、誤り検査値生成部610は、制御部620と、制御コマンド記憶部630と、誤り検査値演算部640とから構成される。中間制御部180を構成する各機能ブロックは、図4に示す、CPU180a、ROM180b、およびRAM180c等の各部材を適宜組み合わせて構成される。
受信部600は、受信データ用記憶領域を有し、主制御部110から受信した制御コマンド情報を受信データ用記憶領域に書き込む。また、受信部600は、受信した制御コマンド情報に含まれる今回受信した制御コマンドを誤り検査値生成部610へ、今回受信した制御コマンドに付加された誤り検査値を誤り検査部650へと出力する。受信部600の機能を実現する具体的な手段は、例えば、図4に示すCPU180a、ROM180bの一部、およびRAM180cの受信データ用記憶領域等や、図示しない受信回路等から構成することができる。より具体的には、CPU180aは、RAM180cをワークエリアとして、ROM180bに予め記憶されているプログラムに基づき、受信データ用記憶領域に記憶されている今回受信した制御コマンド情報から制御コマンドおよび誤り検査値を抽出する。
誤り検査値生成部610は、誤り検査値生成部510と同様に、制御コマンドを予め複数(本実施形態では2つ)のグループに分類しており、今回送信された(受信された)制御コマンドがいずれのグループに属するかを識別する。また、今回送信された制御コマンドに応じて今回誤り検査に用いられる誤り検査値の生成方式を決定する。そして、誤り検査値生成部610は、当該制御コマンドと同一のグループに属する制御コマンドのうち受信部600が過去(本実施形態では1個前)に送信された制御コマンドを用いて、決定した生成方式で誤り検査値を生成し、生成した誤り検査値を誤り検査部650に出力する。
具体的には、誤り検査値生成部610を構成する制御部620は、今回送信された制御コマンドのグループがいずれのグループに属するかを識別する。そして、制御部620は、識別結果に基づいて、この制御コマンドがいずれのグループに属するかを示すグループ情報を制御コマンド記憶部630に出力する。
また、制御部620は、識別結果に応じて、過去に送信された制御コマンドを記憶している制御コマンド記憶部630にいずれの制御コマンドを誤り検査値演算部640へと出力させるかを制御する。具体的には、制御部620は、今回送信された制御コマンドと同一のグループに属する制御コマンドのうち今回送信された制御コマンドを基準として所定の過去(本実施形態では1個前)に送信された制御コマンドを誤り検査値演算部640へと出力させると判断する。そして、制御部620は、その判断結果に基づいて、いずれの制御コマンドを出力するべきかを示すコマンド制御信号を制御コマンド記憶部630に出力する。
また、制御部620は、受信部600から今回出力された制御コマンド、すなわち、主制御部110が今回送信した制御コマンドに基づいて、複数の誤り検査値の生成方式(本実施形態では2つの誤り検査値の生成方式)から、今回誤り検査に用いる誤り検査値の生成に使用する生成方式を決定する。制御部620は、決定した生成方式の情報を各グループ毎に記憶する生成方式記憶領域を有し、各グループの生成方式の情報を個別に記憶している。また、制御部620は、決定した結果に応じて誤り検査値演算部640がいずれの生成方式を用いるべきかを示す制御信号(以下、方式制御信号という)を出力する。
ここで、本実施形態において、制御部620は、主制御部の制御部520と同様に、今回送信された制御コマンドが所定の制御コマンドである場合に、当該制御コマンドが属するグループの生成方式を変更する。例えば、グループAにおいて前回の誤り検査値が方式αで生成された場合、すなわち、生成方式記憶領域の生成方式の情報が方式αの場合、今回の生成方式を方式βに決定し、生成方式記憶領域の生成方式の情報を更新する。一方、制御部620は、今回送信された制御コマンドが所定の制御コマンドではない場合に、誤り検査値の生成方式を継続する。例えば、グループAにおいて前回の誤り検査値が方式αで生成された場合、すなわち、生成方式記憶領域の生成方式の情報が方式αの場合、今回の生成方式を方式αに決定し、生成方式記憶領域の生成方式の情報を継続する。
制御部620の機能を実現する具体的な手段は、例えば、図4に示すCPU180a、ROM180bの一部、およびRAM180cの一部から構成することができる。より具体的には、CPU180aは、RAM180cをワークエリアとして、今回送信された制御コマンド(コマンドデータ)、およびROM180bに予め記憶されているプログラムに基づき、この制御コマンドがいずれのグループに属するかを識別する。そして、識別結果に基づいて、今回誤り検査値を生成するのに用いるべき制御コマンドを特定し、コマンド制御信号を出力する。また、CPU180aは、RAM180cをワークエリアとして、今回送信された制御コマンド(コマンドデータ)、およびROM180bに予め記憶されているプログラムに基づき、RAM180cの生成方式記憶領域に記憶されている生成方式の情報を更新する。
制御コマンド記憶部630は、制御部620から出力されたグループ情報に基づいて受信部600から出力された制御コマンドを記憶する。また、制御コマンド記憶部630は、制御部620から出力されたコマンド制御信号に基づいて、今回誤り検査値の生成に用いられる制御コマンドを誤り検査値演算部640に出力する。詳細には、制御コマンド記憶部630は、コマンド記憶領域を含み、このコマンド記憶領域は、グループAに属する制御コマンドを記憶するコマンド記憶領域Aと、グループBに属する制御コマンドを記憶するコマンド記憶領域Bとに分かれている。そして、制御コマンド記憶部630は、制御部620から出力されたグループ情報に基づいて、受信部600から今回出力された(今回受信された)制御コマンドをそのグループに対応するコマンド記憶領域に記憶する。
また、制御コマンド記憶部630は、制御部620から出力されたコマンド制御信号に基づいて、今回送信された制御コマンドが属するグループに対応するコマンド記憶領域に記憶されている制御コマンドのうち今回送信された制御コマンドを基準として所定の過去(本実施形態では1個前)に送信された制御コマンドを今回誤り検査値の生成に用いられる制御コマンドとして誤り検査値演算部640に出力する。
制御コマンド記憶部630の機能を実現する具体的な手段は、例えば、図4に示すCPU180a、RAM180cに設けられるコマンド記憶領域等である。より具体的には、CPU180aは、RAM180cをワークエリアとして、今回出力された制御コマンドのグループ情報、およびROM180bに予め記憶されているプログラムに基づき、この制御コマンドが属するグループに対応するコマンド記憶領域にこの制御コマンドを記憶する。さらに、CPU180aは、この制御コマンドが属するグループに対応するコマンド記憶領域に記憶されている制御コマンドのうち今回出力された制御コマンドを基準として1個前に記憶された制御コマンドを今回誤り検査値の生成に用いる制御コマンドとして取得する。
誤り検査値演算部640は、主制御部110を構成する誤り検査値演算部540と同様に、複数の誤り検査値の生成方式、本実施形態では2つの誤り検査値の生成方式(方式αおよび方式β)で誤り検査値を生成可能である。誤り検査値演算部640は、制御部620から出力された方式制御信号に基づいて、制御部620によって決定された生成方式で、制御コマンド記憶部630から出力された制御コマンドを用いて誤り検査値を生成する。さらに、誤り検査値演算部640は、生成した誤り検査値を誤り検査部650に送る。誤り検査値演算部640の機能を実現する具体的な手段は、例えば、図4に示すCPU180a、ROM180bの一部、およびRAM180cの一部から構成することができる。より具体的には、CPU180aは、RAM180cをワークエリアとして、方式制御信号およびROM180bに予め記憶されているプログラムに基づき、誤り検査値を生成し、出力する。
誤り検査部650は、受信部600から送られた今回受信した制御コマンドに付加された誤り検査値と、誤り検査値演算部640から送られた今回生成された誤り検査値とを用いて誤り検査を行う。また、誤り検査部650は、誤り検査の結果である認証結果データを生成し、付加部660へと出力する。具体的には、誤り検査部650は、上記2つの誤り検査値を照合し、同一の値であるかを検証する。同一の場合は、誤り検査部650は、今回受信した制御コマンドの正当性を認証する。非同一の場合は、誤り検査部650は、制御コマンドに正当性がなく、誤りがあると判断する。すなわち、誤り検査部650は、今回受信した誤り検査値が付加された制御コマンドの正当性を認証する認証処理を行う。なお、最初に受信した制御コマンドには誤り検査値に替えて所定の初期値が付加されるので、誤り検査部650は、対応する所定の初期値を用いて誤り検査を行う。誤り検査部650の機能を実現する具体的な手段は、例えば、図4に示すCPU180a、ROM180bの一部、およびRAM180cの一部から構成することができる。より具体的には、CPU180aは、RAM180cをワークエリアとして、今回送信された誤り検査値と、今回生成された誤り検査値とを照合して誤り検査を行う。CPU180aは、誤り検査の結果である認証結果データを生成する。
付加部660は、受信部600から出力された、今回中間制御部180で受信した制御コマンドに、誤り検査部650から出力された認証結果データを付加して、演出制御部120へ送信する認証結果データ付き制御コマンドを生成する。また、付加部660は、生成した認証結果データ付き制御コマンドを送信部670に出力する。付加部660の機能を実現する具体的な手段は、例えば、図4に示すCPU180aの一部、ROM180bの一部、およびRAM180cの一部等から構成することができる。
送信部670は、付加部660から送信された認証結果データ付き制御コマンドを演出制御部120へと送信する。送信部670の機能を実現する具体的な手段は、例えば、図4に示すCPU180aの一部、ROM180bの一部、およびRAM180cの一部等から構成することができる。
このように構成された中間制御部180の各構成部の動作の概略を説明する。遊技機1の電源が投入され、主制御部110のメインCPU110aが初期化処理を行った後、主制御部110は制御コマンドの出力を開始し、中間制御部180に制御コマンド情報を送信する。受信部600は、制御コマンド情報を受信して、受信した制御コマンド情報の制御コマンドを誤り検査値生成部610に、誤り検査値を誤り検査部650に出力する。
誤り検査値生成部610は、出力された今回受信された制御コマンドがいずれのグループに属するかを識別する。また、今回受信された制御コマンドに応じて今回の誤り検査値の生成方式を決定する。そして、識別結果に基づいて、制御コマンドをグループ毎に分類して記憶する。また、識別結果および決定結果に基づいて、今回送信された制御コマンドと同一のグループに属する制御コマンドのうち1個前に送信された制御コマンドを用いて、決定した生成方式で誤り検査値を生成し付加部550に出力する。
誤り検査部650は、受信部600から出力された今回受信した制御コマンドに付加された誤り検査値と、誤り検査値生成部610から出力された今回生成された誤り検査値とを用いて誤り検査を行い、認証結果データを生成し、付加部660へと出力する。
付加部660は、受信部600から出力された、今回中間制御部180で受信した制御コマンドに、誤り検査部650から出力された認証結果データを付加して、演出制御部120へ送信する認証結果データ付き制御コマンドを生成し、送信部670に出力する。
送信部670は、付加部660から送信された認証結果データ付き制御コマンドを演出制御部120へと送信する。
誤り検査値生成部610は、出力された今回受信された制御コマンドがいずれのグループに属するかを識別する。また、今回受信された制御コマンドに応じて今回の誤り検査値の生成方式を決定する。そして、識別結果に基づいて、制御コマンドをグループ毎に分類して記憶する。また、識別結果および決定結果に基づいて、今回送信された制御コマンドと同一のグループに属する制御コマンドのうち1個前に送信された制御コマンドを用いて、決定した生成方式で誤り検査値を生成し付加部550に出力する。
誤り検査部650は、受信部600から出力された今回受信した制御コマンドに付加された誤り検査値と、誤り検査値生成部610から出力された今回生成された誤り検査値とを用いて誤り検査を行い、認証結果データを生成し、付加部660へと出力する。
付加部660は、受信部600から出力された、今回中間制御部180で受信した制御コマンドに、誤り検査部650から出力された認証結果データを付加して、演出制御部120へ送信する認証結果データ付き制御コマンドを生成し、送信部670に出力する。
送信部670は、付加部660から送信された認証結果データ付き制御コマンドを演出制御部120へと送信する。
[制御コマンドの説明]
以下、本発明の実施形態に係る遊技機1の主制御部110から中間制御部180を介して演出制御部120に対して送信される制御コマンドの種別について説明する。
図8は、本実施形態に係る遊技機1を構成する主制御部110から中間制御部180を介して演出制御部120へ送信される制御コマンドの種別を示す図である。なお、図8に示された制御コマンドは一例であり、本発明に係る制御コマンドはこれに限定されるものではない。
以下、本発明の実施形態に係る遊技機1の主制御部110から中間制御部180を介して演出制御部120に対して送信される制御コマンドの種別について説明する。
図8は、本実施形態に係る遊技機1を構成する主制御部110から中間制御部180を介して演出制御部120へ送信される制御コマンドの種別を示す図である。なお、図8に示された制御コマンドは一例であり、本発明に係る制御コマンドはこれに限定されるものではない。
主制御部110から演出制御部120へ送信される制御コマンドは、1コマンドが2バイトのデータで構成されており、制御コマンドの分類を識別するための1バイトの「MODE」の情報と、各制御コマンドの詳細な制御内容を示す1バイトの「DATA」の情報とから構成されている。
「演出図柄指定コマンド」は、停止表示される特別図柄の種別を示すものであり、「MODE」が「E0H」で設定され、特別図柄の種別に合わせて「DATA」の情報が設定されている。なお、特別図柄の種別が結果的に大当たりの種別や遊技状態を決定するものであるから、演出図柄指定コマンドは、大当たりの種別や、遊技状態を示すものともいえる。
この演出図柄指定コマンドは、各種の特別図柄が決定され、特別図柄の変動表示が開始されるときに、決定された特別図柄に対応する演出図柄指定コマンドが中間制御部180を介して演出制御部120に送信される。具体的には、大当たりの抽選結果を判定し特別図柄各種の特別図柄が決定され特別図柄の変動表示が開始されるときに、決定された特別図柄に対応する演出図柄指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされている演出図柄指定コマンドは、後述する制御コマンド送信処理により、誤り検査値を付加されて中間制御部180を介して演出制御部120へ送信されることになる。以下、他の制御コマンドも同様にして中間制御部180を介して演出制御部120へ送信される。
なお、演出図柄指定コマンド等と関連する大当たりの抽選に関する処理については後述する。
この演出図柄指定コマンドは、各種の特別図柄が決定され、特別図柄の変動表示が開始されるときに、決定された特別図柄に対応する演出図柄指定コマンドが中間制御部180を介して演出制御部120に送信される。具体的には、大当たりの抽選結果を判定し特別図柄各種の特別図柄が決定され特別図柄の変動表示が開始されるときに、決定された特別図柄に対応する演出図柄指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされている演出図柄指定コマンドは、後述する制御コマンド送信処理により、誤り検査値を付加されて中間制御部180を介して演出制御部120へ送信されることになる。以下、他の制御コマンドも同様にして中間制御部180を介して演出制御部120へ送信される。
なお、演出図柄指定コマンド等と関連する大当たりの抽選に関する処理については後述する。
ここで、演出図柄指定コマンドのうち、「DATA」が「00H」で設定される「ハズレ演出図柄指定コマンド」は、抽選結果がハズレの場合に、ハズレの結果を停止表示させるための制御コマンドである。すなわち、ハズレ演出図柄指定コマンド、抽選結果がハズレの場合に、主制御部110から中間制御部180を介して演出制御部120に必ず送信される制御コマンドである。以下、ハズレ演出図柄指定コマンドを、ハズレの際の処理を実行させるコマンドとして、単に、「ハズレコマンド」ともいう。
「第1特別図柄記憶指定コマンド」は、第1特別図柄保留数(U1)記憶領域に記憶されている保留記憶数を示すものであり、「MODE」が「E1H」で設定され、保留記憶数に合わせて「DATA」の情報が設定されている。
この第1特別図柄記憶指定コマンドは、第1特別図柄保留数(U1)記憶領域に記憶されている保留記憶数が切り替わるときに、保留記憶数に対応する第1特別図柄記憶指定コマンドが中間制御部180を介して演出制御部120に送信される。具体的には、第1始動口14への入球や大当たりの抽選結果の判定に際し第1特別図柄保留数(U1)記憶領域に記憶されている値が増減したときに、増減後の保留記憶数に対応する第1特別図柄記憶指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
この第1特別図柄記憶指定コマンドは、第1特別図柄保留数(U1)記憶領域に記憶されている保留記憶数が切り替わるときに、保留記憶数に対応する第1特別図柄記憶指定コマンドが中間制御部180を介して演出制御部120に送信される。具体的には、第1始動口14への入球や大当たりの抽選結果の判定に際し第1特別図柄保留数(U1)記憶領域に記憶されている値が増減したときに、増減後の保留記憶数に対応する第1特別図柄記憶指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
「第2特別図柄記憶指定コマンド」は、第2特別図柄保留数(U2)記憶領域に記憶されている保留記憶数を示すものであり、「MODE」が「E2H」で設定され、保留記憶数に合わせて「DATA」の情報が設定されている。
この第2特別図柄記憶指定コマンドは、第2特別図柄保留数(U2)記憶領域に記憶されている保留記憶数が切り替わるときに、保留記憶数に対応する第2特別図柄記憶指定コマンドが中間制御部180を介して演出制御部120に送信される。具体的には、第2始動口15への入球や大当たりの抽選結果の判定に際し第2特別図柄保留数(U2)記憶領域に記憶されている値が増減したときに、増減後の保留記憶数に対応する第2特別図柄記憶指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
なお、本実施形態では、「第1特別図柄記憶指定コマンド」と「第2特別図柄記憶指定コマンド」とをまとめて「特別図柄記憶指定コマンド」という。
この第2特別図柄記憶指定コマンドは、第2特別図柄保留数(U2)記憶領域に記憶されている保留記憶数が切り替わるときに、保留記憶数に対応する第2特別図柄記憶指定コマンドが中間制御部180を介して演出制御部120に送信される。具体的には、第2始動口15への入球や大当たりの抽選結果の判定に際し第2特別図柄保留数(U2)記憶領域に記憶されている値が増減したときに、増減後の保留記憶数に対応する第2特別図柄記憶指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
なお、本実施形態では、「第1特別図柄記憶指定コマンド」と「第2特別図柄記憶指定コマンド」とをまとめて「特別図柄記憶指定コマンド」という。
「図柄確定コマンド」は、特別図柄が停止表示されていることを示すものであり、「MODE」が「E3H」で設定され、「DATA」が「00H」に設定されている。
この図柄確定コマンドは、特別図柄が停止表示されているときに中間制御部180を介して演出制御部120に送信される。具体的には、大当たりの抽選結果を判定し特別図柄の変動時間が経過した後に、特別図柄を第1特別図柄表示装置20または第2特別図柄表示装置21に停止表示させるときに、図柄確定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
この図柄確定コマンドは、特別図柄が停止表示されているときに中間制御部180を介して演出制御部120に送信される。具体的には、大当たりの抽選結果を判定し特別図柄の変動時間が経過した後に、特別図柄を第1特別図柄表示装置20または第2特別図柄表示装置21に停止表示させるときに、図柄確定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
「電源投入時指定コマンド」は、遊技機1の電源が投入されたことを示すものであり、「MODE」が「E4H」で設定され、「DATA」が「00H」に設定されている。
この電源投入時指定コマンドは、遊技機1の電源が投入されたときに中間制御部180を介して演出制御部120に送信される。遊技機1の電源が投入され主制御部110の初期化処理が行われる際に、電源遮断時(以下、「電断時」という)に生成したメインRAM110cのバックアップ情報が有効でない場合は、メインRAM110cの作業領域がクリアされ、新たに作業領域の設定が行われる。その後、電源投入時指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
なお、電源投入時指定コマンド等と関連する初期化処理については後述する。
この電源投入時指定コマンドは、遊技機1の電源が投入されたときに中間制御部180を介して演出制御部120に送信される。遊技機1の電源が投入され主制御部110の初期化処理が行われる際に、電源遮断時(以下、「電断時」という)に生成したメインRAM110cのバックアップ情報が有効でない場合は、メインRAM110cの作業領域がクリアされ、新たに作業領域の設定が行われる。その後、電源投入時指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
なお、電源投入時指定コマンド等と関連する初期化処理については後述する。
「RAMクリア指定コマンド」は、メインRAM110cに記憶された情報がクリアされたことを示すものであり、「MODE」が「E4H」で設定され、「DATA」が「01H」に設定されている。
遊技機1の裏側には図示しないRAMクリアボタンが設けられており、RAMクリアボタンを押下しながら遊技機1の電源を投入すると、主制御部110にシステムリセットが発生し初期化処理が行われる。そして、メインRAM110cの作業領域がクリアされ新たに作業領域の設定が行われ電源投入時指定コマンドを送信した後に、RAMクリア指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
遊技機1の裏側には図示しないRAMクリアボタンが設けられており、RAMクリアボタンを押下しながら遊技機1の電源を投入すると、主制御部110にシステムリセットが発生し初期化処理が行われる。そして、メインRAM110cの作業領域がクリアされ新たに作業領域の設定が行われ電源投入時指定コマンドを送信した後に、RAMクリア指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
「電源復旧指定コマンド」は、遊技機1の電源が投入されて、正常に復旧したことを示すものであり、「MODE」が「E4H」で設定され、電断時の遊技状態別に合わせて「DATA」の情報が設定されている。
この電源復旧指定コマンドは、遊技機1の電源が投入されて、正常に復旧したときに中間制御部180を介して演出制御部120に送信される。具体的には、遊技機1の電源が投入され初期化処理が行われる際に、電断時に生成したメインRAM110cのバックアップ情報が有効である場合は、バックアップ情報が示す遊技状態に応じた電源復旧指定コマンドを生成し、生成した電源復旧指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
この電源復旧指定コマンドは、遊技機1の電源が投入されて、正常に復旧したときに中間制御部180を介して演出制御部120に送信される。具体的には、遊技機1の電源が投入され初期化処理が行われる際に、電断時に生成したメインRAM110cのバックアップ情報が有効である場合は、バックアップ情報が示す遊技状態に応じた電源復旧指定コマンドを生成し、生成した電源復旧指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
なお、電源投入時に、電源投入時指定コマンド、RAMクリア指定コマンド、電源復旧指定コマンドのいずれか少なくとも1つが主制御部110から中間制御部180を介して演出制御部120へ送信される。すなわち、「MODE」が「E4H」で設定される上記の制御コマンド群は、電源投入時の処理を実行させるコマンドである。以下、「MODE」が「E4H」で設定される上記の制御コマンド群を、単に、「電源投入コマンド」ともいう。
「デモ指定コマンド」は、第1特別図柄表示装置20または第2特別図柄表示装置21が作動していないことを示すものであり、「MODE」が「E5H」で設定され、「DATA」が「00H」に設定されている。
このデモ指定コマンドは、第1特別図柄表示装置20または第2特別図柄表示装置21の特別図柄の保留記憶がなく、遊技者による操作がない非遊技状態が所定の時間経過したときに、中間制御部180を介して演出制御部120に送信される。具体的には、大当たりの抽選、特別電動役物、遊技状態の制御を行うに際し、第1特別図柄保留数(U1)記憶領域または第2特別図柄保留数(U2)記憶領域のいずれの記憶領域にも1以上のデータがセットされていない状態が所定の時間継続したときに、デモ指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
このデモ指定コマンドは、第1特別図柄表示装置20または第2特別図柄表示装置21の特別図柄の保留記憶がなく、遊技者による操作がない非遊技状態が所定の時間経過したときに、中間制御部180を介して演出制御部120に送信される。具体的には、大当たりの抽選、特別電動役物、遊技状態の制御を行うに際し、第1特別図柄保留数(U1)記憶領域または第2特別図柄保留数(U2)記憶領域のいずれの記憶領域にも1以上のデータがセットされていない状態が所定の時間継続したときに、デモ指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
なお、デモ指定コマンドは、第1特別図柄表示装置20または第2特別図柄表示装置21の特別図柄の保留記憶がないとき直ちに送信するようにしてもよい。この場合、演出制御部120は、デモ指定コマンドを受信した後、他の制御コマンドを所定時間受信しなかった場合、すなわち非遊技状態が所定時間経過した場合にデモ演出を実行する。
「第1特別図柄用変動パターン指定コマンド」は、第1特別図柄表示装置20における特別図柄の変動時間(変動態様)を示すものであり、「MODE」が「E6H」で設定され、各種の変動パターンに合わせて「DATA」の情報が設定されている。
この第1特別図柄用変動パターン指定コマンドは、第1特別図柄表示装置20の特別図柄の変動表示が開始されるときに、決定された特別図柄の変動パターンに対応する第1特別図柄用変動パターン指定コマンドが中間制御部180を介して演出制御部120に送信される。具体的には、大当たりの抽選結果を判定し特別図柄の変動パターンが決定され特別図柄の変動表示が開始されるときに、決定された特別図柄の変動パターンに対応する第1特別図柄用変動パターン指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
この第1特別図柄用変動パターン指定コマンドは、第1特別図柄表示装置20の特別図柄の変動表示が開始されるときに、決定された特別図柄の変動パターンに対応する第1特別図柄用変動パターン指定コマンドが中間制御部180を介して演出制御部120に送信される。具体的には、大当たりの抽選結果を判定し特別図柄の変動パターンが決定され特別図柄の変動表示が開始されるときに、決定された特別図柄の変動パターンに対応する第1特別図柄用変動パターン指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
「第2特別図柄用変動パターン指定コマンド」は、第2特別図柄表示装置21における特別図柄の変動時間(変動態様)を示すものであり、「MODE」が「E7H」で設定され、各種の変動パターンに合わせて「DATA」の情報が設定されている。
この第2特別図柄用変動パターン指定コマンドは、第2特別図柄表示装置21の特別図柄の変動表示が開始されるときに、決定された特別図柄の変動パターンに対応する第2特別図柄用変動パターン指定コマンドが中間制御部180を介して演出制御部120に送信される。具体的には、大当たりの抽選結果を判定し特別図柄の変動パターンが決定され特別図柄の変動表示が開始されるときに、決定された特別図柄の変動パターンに対応する第2特別図柄用変動パターン指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
なお、本実施形態では、「第1特別図柄用変動パターン指定コマンド」と「第2特別図柄用変動パターン指定コマンド」とをまとめて、「変動パターン指定コマンド」という。
この第2特別図柄用変動パターン指定コマンドは、第2特別図柄表示装置21の特別図柄の変動表示が開始されるときに、決定された特別図柄の変動パターンに対応する第2特別図柄用変動パターン指定コマンドが中間制御部180を介して演出制御部120に送信される。具体的には、大当たりの抽選結果を判定し特別図柄の変動パターンが決定され特別図柄の変動表示が開始されるときに、決定された特別図柄の変動パターンに対応する第2特別図柄用変動パターン指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
なお、本実施形態では、「第1特別図柄用変動パターン指定コマンド」と「第2特別図柄用変動パターン指定コマンド」とをまとめて、「変動パターン指定コマンド」という。
ここで、変動パターン指定コマンドのうち、「DATA」が「01H」、「02H」、「03H」、「04H」、「05H」で設定される制御コマンド群は、リーチ演出を実行させる制御コマンドである。以下、「MODE」が「E6H」で設定され、かつ「DATA」が「01H」〜「05H」で設定される制御コマンド群を、単に、「リーチコマンド」ともいう。
「大入賞口開放指定コマンド」は、各種大当たりの種別に合わせた大当たりのラウンド数を示すものであり、「MODE」が「EAH」で設定され、大当たりのラウンド数に合わせて「DATA」の情報が設定されている。
この大入賞口開放指定コマンドは、大当たりラウンドが開始されるときに、開始されたラウンド数に対応する大入賞口開放指定コマンドが中間制御部180を介して演出制御部120に送信される。具体的には、大当たり遊技処理において第1大入賞口開閉扉16b(または第2大入賞口開閉扉17b)を開放させるときに、開放させるときのラウンド数に対応する大入賞口開放指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
なお、「MODE」が「EAH」で設定されるコマンド群は、大当たり中の各ラウンドに対応する処理を実行させるコマンドである。以下、「MODE」が「EAH」で設定されるコマンド群を、単に、「大当たりコマンド」ともいう。
この大入賞口開放指定コマンドは、大当たりラウンドが開始されるときに、開始されたラウンド数に対応する大入賞口開放指定コマンドが中間制御部180を介して演出制御部120に送信される。具体的には、大当たり遊技処理において第1大入賞口開閉扉16b(または第2大入賞口開閉扉17b)を開放させるときに、開放させるときのラウンド数に対応する大入賞口開放指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
なお、「MODE」が「EAH」で設定されるコマンド群は、大当たり中の各ラウンドに対応する処理を実行させるコマンドである。以下、「MODE」が「EAH」で設定されるコマンド群を、単に、「大当たりコマンド」ともいう。
「オープニング指定コマンド」は、各種の大当たりが開始することを示すものであり、「MODE」が「EBH」で設定され、大当たりの種別に合わせて「DATA」の情報が設定されている。
このオープニング指定コマンドは、各種の大当たりが開始するときに、大当たりの種別に対応するオープニング指定コマンドが中間制御部180を介して演出制御部120に送信される。具体的には、大当たり遊技処理の開始のときに、大当たりの種別に対応するオープニング指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
なお、「MODE」が「EBH」で設定されるコマンド群は、大当たり状態の処理を開始させるコマンドである。以下、「MODE」が「EBH」で設定されるコマンド群を、「大当たり開始コマンド」ともいう。
このオープニング指定コマンドは、各種の大当たりが開始するときに、大当たりの種別に対応するオープニング指定コマンドが中間制御部180を介して演出制御部120に送信される。具体的には、大当たり遊技処理の開始のときに、大当たりの種別に対応するオープニング指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
なお、「MODE」が「EBH」で設定されるコマンド群は、大当たり状態の処理を開始させるコマンドである。以下、「MODE」が「EBH」で設定されるコマンド群を、「大当たり開始コマンド」ともいう。
「エンディング指定コマンド」は、各種の大当たりが終了したことを示すものであり、「MODE」が「ECH」で設定され、大当たりの種別に合わせて「DATA」の情報が設定されている。
このエンディング指定コマンドは、各種の大当たりが終了するときに、大当たりの種別に対応するエンディング指定コマンドが中間制御部180を介して演出制御部120に送信される。具体的には、大当たり遊技終了処理の開始のときに、大当たりの種別に対応するエンディング指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
なお、「MODE」が「ECH」で設定されるコマンド群は、大当たり状態の処理を終了させるコマンドである。以下、「MODE」が「ECH」で設定されるコマンド群を、「大当たり終了コマンド」ともいう。
このエンディング指定コマンドは、各種の大当たりが終了するときに、大当たりの種別に対応するエンディング指定コマンドが中間制御部180を介して演出制御部120に送信される。具体的には、大当たり遊技終了処理の開始のときに、大当たりの種別に対応するエンディング指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
なお、「MODE」が「ECH」で設定されるコマンド群は、大当たり状態の処理を終了させるコマンドである。以下、「MODE」が「ECH」で設定されるコマンド群を、「大当たり終了コマンド」ともいう。
「遊技状態指定コマンド」は、遊技状態の内容を示すものであり、「MODE」が「EDH」で設定され、遊技状態の内容に合わせて「DATA」の情報が設定されている。
この遊技状態指定コマンドは、特別図柄の変動開始時および変動終了時に遊技状態指定コマンドが中間制御部180を介して演出制御部120に送信される。具体的には、特別図柄の変動開始時および変動終了時などによって、遊技状態記憶領域や高確率遊技回数カウンタなどの現在の遊技状態を示すデータを記憶した各種記憶領域の値が変化したときに、現在の遊技状態に対応する遊技状態指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
この遊技状態指定コマンドは、特別図柄の変動開始時および変動終了時に遊技状態指定コマンドが中間制御部180を介して演出制御部120に送信される。具体的には、特別図柄の変動開始時および変動終了時などによって、遊技状態記憶領域や高確率遊技回数カウンタなどの現在の遊技状態を示すデータを記憶した各種記憶領域の値が変化したときに、現在の遊技状態に対応する遊技状態指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
ここで、演出図柄指定コマンド、図柄確定コマンド、および変動パターン指定コマンドは、特別図柄の変動表示が開始されるときか、または停止されるときに送信される制御コマンドであり、特別図柄の変動の際にセットで送信される制御コマンドである。以下、これらの制御コマンドをまとめて「特別図柄変動関連コマンド」ともいう。
また、大当たり開始コマンド、大当たりコマンド、および大当たり終了コマンドは、大当たり遊技処理の際にセットで送信される制御コマンドである。以下、これらの制御コマンドをまとめて「大当たり関連コマンド」ともいう。
[主制御部の制御処理]
以下、本発明の実施形態に係る遊技機1の主制御部110の制御処理について説明する。まず、主制御部110のメイン処理について説明する。
図9は、本実施形態に係る主制御部110によるメイン処理を示すフローチャートである。
以下、本発明の実施形態に係る遊技機1の主制御部110の制御処理について説明する。まず、主制御部110のメイン処理について説明する。
図9は、本実施形態に係る主制御部110によるメイン処理を示すフローチャートである。
まず、ステップS10において、メインCPU110aは、初期化処理を行う。この処理において、メインCPU110aは、電源投入に応じて、メインROM110bから起動プログラムを読み込むとともに、メインRAM110cに記憶されるフラグなどを初期化する処理を行う。
ステップS20において、メインCPU110aは、特別図柄の変動態様(変動時間)を決定するためのリーチ判定用乱数値および特図変動用乱数値を更新する演出用乱数値更新処理を行う。
ステップS30において、メインCPU110aは、特別図柄判定用初期乱数値、大当たり図柄用初期乱数値、小当たり図柄用初期値乱数値、普通図柄判定用初期乱数値を更新する初期乱数値更新処理を行う。その後、所定の割込処理が行われるまで、ステップS20とステップS30との処理を繰り返し行う。
ステップS20において、メインCPU110aは、特別図柄の変動態様(変動時間)を決定するためのリーチ判定用乱数値および特図変動用乱数値を更新する演出用乱数値更新処理を行う。
ステップS30において、メインCPU110aは、特別図柄判定用初期乱数値、大当たり図柄用初期乱数値、小当たり図柄用初期値乱数値、普通図柄判定用初期乱数値を更新する初期乱数値更新処理を行う。その後、所定の割込処理が行われるまで、ステップS20とステップS30との処理を繰り返し行う。
次に、主制御部110の割込処理について説明する。
図10は、本実施形態に係る主制御部110による割込処理を示すフローチャートである。
メインCPU110aは、主制御部110に設けられたクロックパルス発生回路(図示せず)から出力されるクロック信号に基づいて、所定の周期(例えば、4ミリ秒)ごとに、主制御部110のタイマ割込処理を実行する。
図10は、本実施形態に係る主制御部110による割込処理を示すフローチャートである。
メインCPU110aは、主制御部110に設けられたクロックパルス発生回路(図示せず)から出力されるクロック信号に基づいて、所定の周期(例えば、4ミリ秒)ごとに、主制御部110のタイマ割込処理を実行する。
まず、ステップS100において、メインCPU110aは、メインCPU110aのレジスタに記憶されている情報をスタック領域に退避させる。
ステップS110において、メインCPU110aは、特別図柄時間カウンタの更新処理、特別電動役物の開放時間等などの特別遊技タイマカウンタの更新処理、普通図柄時間カウンタの更新処理、普電開放時間カウンタの更新処理等の各種タイマカウンタを更新する時間制御処理を行う。具体的には、特別図柄時間カウンタ、特別遊技タイマカウンタ、普通図柄時間カウンタ、普電開放時間カウンタから1を減算する処理を行う。
ステップS120において、メインCPU110aは、特別図柄判定用乱数値、大当たり図柄用乱数値、小当たり図柄用乱数値、普通図柄判定用乱数値の乱数更新処理を行う。
具体的には、それぞれの乱数値および乱数カウンタに1を加算して更新する。なお、加算した乱数カウンタが乱数範囲の最大値を超えた場合(乱数カウンタが1周した場合)には、乱数カウンタを0に戻し、その時の初期乱数値からそれぞれの乱数値を新たに更新する。
具体的には、それぞれの乱数値および乱数カウンタに1を加算して更新する。なお、加算した乱数カウンタが乱数範囲の最大値を超えた場合(乱数カウンタが1周した場合)には、乱数カウンタを0に戻し、その時の初期乱数値からそれぞれの乱数値を新たに更新する。
ステップS130において、メインCPU110aは、ステップS30と同様に、特別図柄判定用初期乱数値、大当たり図柄用初期乱数値、小当たり図柄用初期値乱数値、普通図柄判定用初期乱数値を更新する初期乱数値更新処理を行う。
ステップS200において、メインCPU110aは、入力制御処理を行う。この処理において、メインCPU110aは、一般入賞口検出スイッチ12a、第1大入賞口検出スイッチ16a、第2大入賞口検出スイッチ17a、第1始動口検出スイッチ14a、第2始動口検出スイッチ15a、ゲート検出スイッチ13aの各スイッチに入力があったか否か判定する入力処理を行う。
具体的には、一般入賞口検出スイッチ12a、第1大入賞口検出スイッチ16a、第2大入賞口検出スイッチ17a、第1始動口検出スイッチ14a、第2始動口検出スイッチ15aからの各種検出信号を入力した場合には、ぞれぞれの入賞口毎に設けられた賞球のために用いる賞球カウンタに所定のデータを加算して更新する。
さらに、第1始動口検出スイッチ14aから検出信号を入力した場合には、第1特別図柄保留数(U1)記憶領域にセットされているデータが4未満であれば、第1特別図柄保留数(U1)記憶領域に1を加算し、特別図柄判定用乱数値、大当たり図柄用乱数値、小当たり図柄用乱数値、リーチ判定用乱数値および特図変動用乱数値を取得して、取得した各種乱数値を第1特別図柄乱数値記憶領域にある所定の記憶部(第0記憶部〜第4記憶部)に記憶する。
同様に、第2始動口検出スイッチ15aから検出信号を入力した場合には、第2特別図柄保留数(U2)記憶領域にセットされているデータが4未満であれば、第2特別図柄保留数(U2)記憶領域に1を加算し、特別図柄判定用乱数値、大当たり図柄用乱数値、小当たり図柄用乱数値、リーチ判定用乱数値および特図変動用乱数値を取得して、取得した各種乱数値を第2特別図柄乱数値記憶領域にある所定の記憶部(第0記憶部〜第4記憶部)に記憶する。
また、ゲート検出スイッチ13aから検出信号を入力した場合には、普通図柄保留数(G)記憶領域にセットされているデータが4未満であれば、普通図柄保留数(G)記憶領域に1を加算し、普通図柄判定用乱数値を取得して、取得した普通図柄判定用乱数値を普通図柄保留記憶領域にある所定の記憶部(第0記憶部〜第4記憶部)に記憶する。
さらに、第1大入賞口検出スイッチ16aまたは第2大入賞口検出スイッチ17aからの検出信号を入力した場合には、第1大入賞口16または第2大入賞口17に入賞した遊技球を計数するための大入賞口入球数(C)記憶領域に1を加算して更新する。
ステップS300において、メインCPU110aは、上記ステップS200での入力制御処理に基づいて、大当たりの抽選、特別電動役物、遊技状態の制御を行うための特別図柄・特別電動役物制御処理(以下、「特図特電制御処理」という)を行う。特図特電制御処理の詳細については、図11を用いて後述する。
ステップS400において、メインCPU110aは、普通図柄の抽選、普通電動役物の制御を行うための普通図柄・普通電動役物制御処理(以下、「普図普電制御処理」という)を行う。
具体的には、まず普通図柄保留数(G)記憶領域に1以上のデータがセットされているか否かを判定し、普通図柄保留数(G)記憶領域に1以上のデータがセットされていなければ、今回の普図普電制御処理を終了する。
具体的には、まず普通図柄保留数(G)記憶領域に1以上のデータがセットされているか否かを判定し、普通図柄保留数(G)記憶領域に1以上のデータがセットされていなければ、今回の普図普電制御処理を終了する。
普通図柄保留数(G)記憶領域に1以上のデータがセットされていれば、普通図柄保留数(G)記憶領域に記憶されている値から1を減算した後、普通図柄保留記憶領域にある第1記憶部〜第4記憶部に記憶された普通図柄判定用乱数値を1つ前の記憶部にシフトさせる。このとき、既に第0記憶部に書き込まれていた普通図柄判定用乱数値は上書きされて消去されることとなる。
そして、当たり判定テーブルを参照し、普通図柄保留記憶領域の第0記憶部に記憶された普通図柄判定用乱数値が「当たり」に対応する乱数値であるかどうかの判定をする処理を行う。その後、普通図柄表示装置22において普通図柄の変動表示を行って、普通図柄の変動時間が経過すると普通図柄の抽選の結果に対応する普通図柄の停止表示を行う。そして、参照した普通図柄判定用乱数値が「当たり」のものであれば、始動口開閉ソレノイド15cを駆動させ、第2始動口15を所定の開放時間、第2の態様に制御する。
そして、当たり判定テーブルを参照し、普通図柄保留記憶領域の第0記憶部に記憶された普通図柄判定用乱数値が「当たり」に対応する乱数値であるかどうかの判定をする処理を行う。その後、普通図柄表示装置22において普通図柄の変動表示を行って、普通図柄の変動時間が経過すると普通図柄の抽選の結果に対応する普通図柄の停止表示を行う。そして、参照した普通図柄判定用乱数値が「当たり」のものであれば、始動口開閉ソレノイド15cを駆動させ、第2始動口15を所定の開放時間、第2の態様に制御する。
ステップS500において、メインCPU110aは、払出制御処理を行う。この払出制御処理において、メインCPU110aは、ぞれぞれの賞球カウンタを参照し、各種入賞口に対応する払出個数指定コマンドを生成して、生成した払出個数指定コマンドを払出制御部130に送信する。
ステップS600において、メインCPU110aは、外部情報データ、始動口開閉ソレノイドデータ、第1大入賞口開閉ソレノイドデータ、第2大入賞口開閉ソレノイドデータ、特別図柄表示装置データ、普通図柄表示装置データ、記憶数指定コマンドのデータ作成処理を行う。
ステップS700において、メインCPU110aは、出力制御処理を行う。この処理において、ステップS600で作成した外部情報データ、始動口開閉ソレノイドデータ、第1大入賞口開閉ソレノイドデータ、第2大入賞口開閉ソレノイドデータの信号を出力させるポート出力処理を行う。
また、第1特別図柄表示装置20、第2特別図柄表示装置21および普通図柄表示装置22の各LEDを点灯させるために、上記S600で作成した特別図柄表示装置データと普通図柄表示装置データとを出力する表示装置出力処理を行う。
また、第1特別図柄表示装置20、第2特別図柄表示装置21および普通図柄表示装置22の各LEDを点灯させるために、上記S600で作成した特別図柄表示装置データと普通図柄表示装置データとを出力する表示装置出力処理を行う。
ステップS710において、メインCPU110aは、制御コマンド送信処理を行う。
具体的には、メインCPU110aは、メインRAM110cの送信データ用記憶領域にセットされている制御コマンドに誤り検査値(または初期値)を付加して制御コマンド情報を生成し、生成した制御コマンド情報を中間制御部180に送信する。この制御コマンド送信処理の詳細については図13を用いて後述する。
具体的には、メインCPU110aは、メインRAM110cの送信データ用記憶領域にセットされている制御コマンドに誤り検査値(または初期値)を付加して制御コマンド情報を生成し、生成した制御コマンド情報を中間制御部180に送信する。この制御コマンド送信処理の詳細については図13を用いて後述する。
ステップS800において、メインCPU110aは、ステップS100で退避した情報をメインCPU110aのレジスタに復帰させる。
次に、主制御部110の特図特電制御処理を説明する。
図11は、本実施形態に係る主制御部110による特図特電制御処理を示すフローチャートである。
図11は、本実施形態に係る主制御部110による特図特電制御処理を示すフローチャートである。
ステップS301において、メインCPU110aは、特図特電処理データの値を読み込む。この「特図特電処理データ」は、特図特電制御処理の各サブルーチンが記憶された記憶領域のアドレスにそれぞれ割り当てられた値であり、特図特電処理データを参照することで、どのサブルーチンを処理するかを識別することができる。そして、特図特電処理データは、後述するように特図特電制御処理の各サブルーチンの中で必要に応じてセットされていき、その遊技において必要なサブルーチンが適宜処理されていくことになる。
ステップS302において、メインCPU110aは、読み込んだ特図特電処理データから分岐アドレスを参照し、特図特電処理データ=0であれば特別図柄記憶判定処理(ステップS310)に処理を移し、特図特電処理データ=1であれば特別図柄変動処理(ステップS320)に処理を移し、特図特電処理データ=2であれば特別図柄停止処理(ステップS330)に処理を移し、特図特電処理データ=3であれば大当たり遊技処理(ステップS340)に処理を移し、特図特電処理データ=4であれば大当たり遊技終了処理(ステップS350)に処理を移し、特図特電処理データ=5であれば小当たり遊技処理(ステップS360)に処理を移す。
ステップS310の特別図柄記憶判定処理においては、メインCPU110aは、大当たり判定処理、停止表示する特別図柄の決定をする特別図柄決定処理、特別図柄の変動時間を決定する変動時間決定処理等を行う。ここで、図12を用いて、特別図柄記憶判定処理の具体的な内容を説明する。
図12は、本実施形態に係る主制御部110による特別図柄記憶判定処理におけるフローチャートである。
ステップS311において、メインCPU110aは、第1特別図柄保留数(U1)記憶領域または第2特別図柄保留数(U2)記憶領域に1以上のデータがセットされているか否かを判定する。
そして、第1特別図柄保留数(U1)記憶領域または第2特別図柄保留数(U2)記憶領域のいずれの記憶領域にも1以上のデータがセットされていなければ、特図特電処理データ=0を保持したまま、今回の特別図柄変動処理を終了する。
一方、第1特別図柄保留数(U1)記憶領域または第2特別図柄保留数(U2)記憶領域に1以上のデータがセットされていれば、ステップS312に処理を移す。
そして、第1特別図柄保留数(U1)記憶領域または第2特別図柄保留数(U2)記憶領域のいずれの記憶領域にも1以上のデータがセットされていなければ、特図特電処理データ=0を保持したまま、今回の特別図柄変動処理を終了する。
一方、第1特別図柄保留数(U1)記憶領域または第2特別図柄保留数(U2)記憶領域に1以上のデータがセットされていれば、ステップS312に処理を移す。
ステップS312において、メインCPU110aは、大当たり判定処理を行う。
具体的には、第2特別図柄保留数(U2)記憶領域に1以上のデータがセットされている場合には、第2特別図柄保留数(U2)記憶領域に記憶されている値から1を減算した後、第2特別図柄乱数値記憶領域にある第1記憶部〜第4記憶部に記憶された各種乱数値を1つ前の記憶部にシフトさせる。このとき、既に第0記憶部に書き込まれていた各種乱数値は上書きされて消去されることとなる。そして、大当たり判定テーブルを参照して、第2特別図柄乱数値記憶領域の第0記憶部に記憶された特別図柄判定用乱数値が「大当たり」に対応する乱数値であるか、「小当たり」に対応する乱数値であるかの判定を行う。
具体的には、第2特別図柄保留数(U2)記憶領域に1以上のデータがセットされている場合には、第2特別図柄保留数(U2)記憶領域に記憶されている値から1を減算した後、第2特別図柄乱数値記憶領域にある第1記憶部〜第4記憶部に記憶された各種乱数値を1つ前の記憶部にシフトさせる。このとき、既に第0記憶部に書き込まれていた各種乱数値は上書きされて消去されることとなる。そして、大当たり判定テーブルを参照して、第2特別図柄乱数値記憶領域の第0記憶部に記憶された特別図柄判定用乱数値が「大当たり」に対応する乱数値であるか、「小当たり」に対応する乱数値であるかの判定を行う。
また、第2特別図柄保留数(U2)記憶領域に1以上のデータがセットされておらず、第1特別図柄保留数(U1)記憶領域に1以上のデータがセットされている場合には、第1特別図柄保留数(U1)記憶領域に記憶されている値から1を減算した後、第1特別図柄乱数値記憶領域にある第1記憶部〜第4記憶部に記憶された各種乱数値を1つ前の記憶部にシフトさせる。このときにも、既に第0記憶部に書き込まれていた各種乱数値は上書きされて消去されることとなる。そして、大当たり判定テーブルを参照して、第1特別図柄乱数値記憶領域の第0記憶部に記憶された特別図柄判定用乱数値が「大当たり」に対応する乱数値であるか、「小当たり」に対応する乱数値であるかの判定を行う。
本実施形態では、第1特別図柄乱数値記憶領域よりも第2特別図柄乱数値記憶領域に記憶された乱数値が優先してシフト(消化)されることになる。しかしながら、始動口に入賞した順序で、第1特別図柄記憶領域または第2特別図柄記憶領域をシフトさせてもよいし、第1特別図柄記憶領域を第2特別図柄記憶領域よりも優先させてシフトさせてもよい。
ステップS313において、メインCPU110aは、停止表示する特別図柄の種類を決定するための特別図柄決定処理を行う。
この特別図柄決定処理では、上記大当たり判定処理(ステップS312)において「大当たり」と判定された場合には、図柄決定テーブルを参照して、第1特別図柄乱数値記憶領域の第0記憶部に記憶された大当たり図柄用乱数値に基づいて大当たり図柄(特別図柄1〜特別図柄6)を決定する。また、上記大当たり判定処理(ステップS312)において「小当たり」と判定された場合には、図柄決定テーブルを参照して、第1特別図柄乱数値記憶領域の第0記憶部に記憶された小当たり図柄用乱数値に基づいて小当たり図柄(特別図柄A、特別図柄B)を決定する。また、上記大当たり判定処理(ステップS312)において「ハズレ」と判定された場合には、図柄決定テーブルを参照して、ハズレ図柄(特別図柄0)を決定する。
そして、決定した特別図柄に対応する停止図柄データを停止図柄データ記憶領域に記憶する。
この特別図柄決定処理では、上記大当たり判定処理(ステップS312)において「大当たり」と判定された場合には、図柄決定テーブルを参照して、第1特別図柄乱数値記憶領域の第0記憶部に記憶された大当たり図柄用乱数値に基づいて大当たり図柄(特別図柄1〜特別図柄6)を決定する。また、上記大当たり判定処理(ステップS312)において「小当たり」と判定された場合には、図柄決定テーブルを参照して、第1特別図柄乱数値記憶領域の第0記憶部に記憶された小当たり図柄用乱数値に基づいて小当たり図柄(特別図柄A、特別図柄B)を決定する。また、上記大当たり判定処理(ステップS312)において「ハズレ」と判定された場合には、図柄決定テーブルを参照して、ハズレ図柄(特別図柄0)を決定する。
そして、決定した特別図柄に対応する停止図柄データを停止図柄データ記憶領域に記憶する。
ステップS314において、メインCPU110aは、特別図柄の変動時間決定処理を行う。
具体的には、変動パターン決定テーブルを参照して、第1特別図柄乱数値記憶領域の第0記憶部に記憶されたリーチ判定用乱数値および特図変動用乱数値に基づいて、特別図柄の変動パターンを決定する。その後、決定した特別図柄の変動パターンに対応する特別図柄の変動時間を決定する。そして、決定した特別図柄の変動時間に対応するカウンタを特別図柄時間カウンタにセットする処理を行う。
具体的には、変動パターン決定テーブルを参照して、第1特別図柄乱数値記憶領域の第0記憶部に記憶されたリーチ判定用乱数値および特図変動用乱数値に基づいて、特別図柄の変動パターンを決定する。その後、決定した特別図柄の変動パターンに対応する特別図柄の変動時間を決定する。そして、決定した特別図柄の変動時間に対応するカウンタを特別図柄時間カウンタにセットする処理を行う。
ステップS315において、メインCPU110aは、第1特別図柄表示装置20または第2特別図柄表示装置21に特別図柄の変動表示(LEDの点滅)を行わせるための変動表示データを所定の処理領域にセットする。これにより、所定の処理領域に変動表示データがセットされていると、上記ステップS600でLEDの点灯または消灯のデータが適宜作成され、作成されたデータがステップS700において出力されることで、第1特別図柄表示装置20または第2特別図柄表示装置21の変動表示が行われる。
さらに、メインCPU110aは、特別図柄の変動表示が開始されるときに、上記ステップS314で決定された特別図柄の変動パターンに対応する特別図柄の変動パターン指定コマンド(第1特別図柄用変動パターン指定コマンドまたは第2特別図柄用変動パターン指定コマンド)をメインRAM110cの送信データ用記憶領域にセットする。
さらに、メインCPU110aは、特別図柄の変動表示が開始されるときに、上記ステップS314で決定された特別図柄の変動パターンに対応する特別図柄の変動パターン指定コマンド(第1特別図柄用変動パターン指定コマンドまたは第2特別図柄用変動パターン指定コマンド)をメインRAM110cの送信データ用記憶領域にセットする。
ステップS316において、メインCPU110aは、特図特電処理データ=0から特図特電処理データ=1にセットして、特別図柄変動処理のサブルーチンに移す準備を行い、特別図柄記憶判定処理を終了する。
再び、図11に示す特図特電制御処理について説明を戻すことにする。
ステップS320の特別図柄変動処理においては、メインCPU110aは、特別図柄の変動時間が経過したか否かを判定する処理を行う。
具体的には、ステップS314で決定された特別図柄の変動時間が経過したか(特別図柄時間カウンタ=0)否かを判定し、特別図柄の変動時間が経過していないと判定した場合には、特図特電処理データ=1を保持したまま、今回の特別図柄変動処理を終了する。なお、上記ステップS314でセットされた特別図柄の変動時間のカウンタは、上記ステップS110において減算処理されていく。
ステップS320の特別図柄変動処理においては、メインCPU110aは、特別図柄の変動時間が経過したか否かを判定する処理を行う。
具体的には、ステップS314で決定された特別図柄の変動時間が経過したか(特別図柄時間カウンタ=0)否かを判定し、特別図柄の変動時間が経過していないと判定した場合には、特図特電処理データ=1を保持したまま、今回の特別図柄変動処理を終了する。なお、上記ステップS314でセットされた特別図柄の変動時間のカウンタは、上記ステップS110において減算処理されていく。
特別図柄の変動時間が経過したと判定すれば、上記ステップS313で決定された特別図柄を第1特別図柄表示装置20または第2特別図柄表示装置21に停止表示させる。これにより、第1特別図柄表示装置20または第2特別図柄表示装置21に特別図柄が停止表示され、遊技者に大当たりの判定結果が報知されることとなる。
また、高確率遊技回数(X)>0のときには高確率遊技回数(X)カウンタから1を減算して更新し、高確率遊技回数(X)=0となれば、高確率遊技フラグをクリアする。
最後に、特図特電処理データ=1から特図特電処理データ=2にセットして、特別図柄停止処理のサブルーチンに移す準備を行い、特別図柄変動処理を終了する。
また、高確率遊技回数(X)>0のときには高確率遊技回数(X)カウンタから1を減算して更新し、高確率遊技回数(X)=0となれば、高確率遊技フラグをクリアする。
最後に、特図特電処理データ=1から特図特電処理データ=2にセットして、特別図柄停止処理のサブルーチンに移す準備を行い、特別図柄変動処理を終了する。
ステップS330の特別図柄停止処理においては、メインCPU110aは、停止表示された特別図柄が「大当たり図柄」であるか、「小当たり図柄」であるか、「ハズレ図柄」であるかを判定する処理を行う。
そして、大当たり図柄と判定された場合には、遊技状態記憶領域に記憶されているデータを参照し、現在の遊技状態を示すデータを遊技状態バッファにセットする。その後に、遊技状態記憶領域(高確率遊技フラグ記憶領域等)に記憶されているデータ(高確率遊技フラグ)、高確率遊技回数(X)カウンタをクリアする。さらに、特図特電処理データ=2から特図特電処理データ=3にセットして、大当たり遊技処理のサブルーチンに移す準備を行い、特別図柄停止処理を終了する。
そして、大当たり図柄と判定された場合には、遊技状態記憶領域に記憶されているデータを参照し、現在の遊技状態を示すデータを遊技状態バッファにセットする。その後に、遊技状態記憶領域(高確率遊技フラグ記憶領域等)に記憶されているデータ(高確率遊技フラグ)、高確率遊技回数(X)カウンタをクリアする。さらに、特図特電処理データ=2から特図特電処理データ=3にセットして、大当たり遊技処理のサブルーチンに移す準備を行い、特別図柄停止処理を終了する。
また、小当たり図柄と判定された場合には、遊技状態記憶領域に記憶されているデータはクリアせずに、特図特電処理データ=2から特図特電処理データ=5にセットして、小当たり遊技処理のサブルーチンに移す準備を行い、特別図柄停止処理を終了する。
一方、ハズレ図柄と判定された場合には、特図特電処理データ=2から特図特電処理データ=0にセットして、特別図柄記憶判定処理のサブルーチンに移す準備を行い、特別図柄停止処理を終了する。
一方、ハズレ図柄と判定された場合には、特図特電処理データ=2から特図特電処理データ=0にセットして、特別図柄記憶判定処理のサブルーチンに移す準備を行い、特別図柄停止処理を終了する。
ステップS340の大当たり遊技処理においては、メインCPU110aは、上記長当たりまたは短当たりのいずれの大当たりを実行させるかを決定し、決定した大当たりを制御する処理を行う。
具体的には、まず、特別電動役物作動態様決定テーブルを参照し、上記ステップS313で決定された大当たり図柄の種類(停止図柄データ)に基づいて、大当たりの開放態様を決定する。
具体的には、まず、特別電動役物作動態様決定テーブルを参照し、上記ステップS313で決定された大当たり図柄の種類(停止図柄データ)に基づいて、大当たりの開放態様を決定する。
次に、決定した大当たりの開放態様を実行させるために、大入賞口開放態様テーブルを参照し、大当たりの種類に応じた開放時間を特別遊技タイマカウンタにセットするとともに、第1大入賞口開閉ソレノイド16c(または第2大入賞口開閉ソレノイド17c)の駆動データを出力して第1大入賞口開閉扉16b(または第2大入賞口開閉扉17b)を開放させる。このとき、ラウンド遊技回数(R)記憶領域に1を加算する。
この開放中に規定個数の遊技球が入球するか、大入賞口の開放時間が経過すると(大入賞口入球数(C)=9または特別遊技タイマカウンタ=0である)と、第1大入賞口開閉ソレノイド16c(または第2大入賞口開閉ソレノイド17c)の駆動データの出力を停止して第1大入賞口開閉扉16b(または第2大入賞口開閉扉17b)を閉鎖させる。これにより、1回のラウンド遊技が終了する。このラウンド遊技の制御を繰り返し15回行う。
この開放中に規定個数の遊技球が入球するか、大入賞口の開放時間が経過すると(大入賞口入球数(C)=9または特別遊技タイマカウンタ=0である)と、第1大入賞口開閉ソレノイド16c(または第2大入賞口開閉ソレノイド17c)の駆動データの出力を停止して第1大入賞口開閉扉16b(または第2大入賞口開閉扉17b)を閉鎖させる。これにより、1回のラウンド遊技が終了する。このラウンド遊技の制御を繰り返し15回行う。
15回のラウンド遊技が終了すると(ラウンド遊技回数(R)=15)、ラウンド遊技回数(R)記憶領域および大入賞口入球数(C)記憶領域に記憶されているデータをクリアするとともに、特図特電処理データ=3から特図特電処理データ=4にセットして、大当たり遊技終了処理のサブルーチンに移す準備を行い、大当たり遊技処理を終了する。
ステップS350の大当たり遊技終了処理においては、メインCPU110aは、高確率遊技状態または低確率遊技状態のいずれかの確率遊技状態を決定する処理を行う。
具体的には、大当たり遊技終了時設定データテーブルを参照し、遊技状態バッファに記憶されているデータと上記ステップS313で決定された大当たり図柄の種類(停止図柄データ)とに基づいて、高確率遊技フラグの設定、高確率遊技回数(X)の設定を行う。例えば、特別図柄1であれば、高確率遊技フラグ記憶領域に高確率遊技フラグをセットし、高確率遊技回数(X)カウンタに10000回をセットする。
その後、特図特電処理データ=4から特図特電処理データ=0にセットして、特別図柄記憶判定処理のサブルーチンに移す準備を行い、大当たり遊技終了処理を終了する。
具体的には、大当たり遊技終了時設定データテーブルを参照し、遊技状態バッファに記憶されているデータと上記ステップS313で決定された大当たり図柄の種類(停止図柄データ)とに基づいて、高確率遊技フラグの設定、高確率遊技回数(X)の設定を行う。例えば、特別図柄1であれば、高確率遊技フラグ記憶領域に高確率遊技フラグをセットし、高確率遊技回数(X)カウンタに10000回をセットする。
その後、特図特電処理データ=4から特図特電処理データ=0にセットして、特別図柄記憶判定処理のサブルーチンに移す準備を行い、大当たり遊技終了処理を終了する。
ステップS360の小当たり遊技処理においては、メインCPU110aは、まず、特別電動役物作動態様決定テーブルを参照し、上記ステップS313で決定された小当たり図柄の種類(停止図柄データ)に基づいて、小当たりの開放態様を決定する。
次に、決定した小当たりの開放態様を実行させるために、大入賞口開放態様テーブルを参照し、小当たりの開放時間を特別遊技タイマカウンタにセットするとともに、第2大入賞口開閉ソレノイド17cの駆動データを出力して第2大入賞口開閉扉17bを開放させる。このとき、開放回数(K)記憶領域に1を加算する。
小当たりの開放時間が経過する(特別遊技タイマカウンタ=0)と、第2大入賞口開閉ソレノイド17cの駆動データの出力を停止して第2大入賞口開閉扉17bを閉鎖させる。この第2大入賞口開閉扉17bの開閉制御を繰り返し15回行う。
次に、決定した小当たりの開放態様を実行させるために、大入賞口開放態様テーブルを参照し、小当たりの開放時間を特別遊技タイマカウンタにセットするとともに、第2大入賞口開閉ソレノイド17cの駆動データを出力して第2大入賞口開閉扉17bを開放させる。このとき、開放回数(K)記憶領域に1を加算する。
小当たりの開放時間が経過する(特別遊技タイマカウンタ=0)と、第2大入賞口開閉ソレノイド17cの駆動データの出力を停止して第2大入賞口開閉扉17bを閉鎖させる。この第2大入賞口開閉扉17bの開閉制御を繰り返し15回行う。
そして、第2大入賞口開閉扉17bの開閉制御が15回行われるか、第2大入賞口17に規定個数の遊技球が入球する(開放回数(K)=15または大入賞口入球数(C)=9である)と、小当たり遊技を終了させるため、第2大入賞口開閉ソレノイド17cの駆動データの出力を停止させ、開放回数(K)記憶領域および大入賞口入球数(C)記憶領域に記憶されているデータをクリアするとともに、特図特電処理データ=5から特図特電処理データ=0にセットして、特別図柄記憶判定処理のサブルーチンに移す準備を行い、小当たり遊技処理を終了する。
次に、主制御部110の制御コマンド送信処理を説明する。
図13は、本実施形態に係る主制御部110による制御コマンド送信処理を示すフローチャートである。
図13は、本実施形態に係る主制御部110による制御コマンド送信処理を示すフローチャートである。
図9の主制御部110のメイン処理のステップS10の初期化処理における制御コマンド送信処理のタイミングや、主制御部110のタイマ割込み処理のステップS710の制御コマンド送信処理のタイミングになったら、ステップS711において、制御コマンド出力部500は、今回送信する制御コマンドが送信データ用記憶領域にセットされているかを参照することで、制御コマンドの送信タイミングかを判断する。制御コマンドがセットされている場合は、制御コマンド出力部500は、制御コマンドの送信タイミングであると判断する。そして、制御コマンド出力部500は、当該制御コマンドを誤り検査値生成部510の制御部520および制御コマンド記憶部530ならびに付加部550に出力し、ステップS712へと進む。制御コマンドがセットされていない場合は、制御コマンドの送信タイミングではないと判断し、制御コマンド送信処理を終了する。具体的には、メインCPU110aは、メインRAM110cの送信データ用記憶領域に、今回送信する制御コマンドが記憶されている場合、制御コマンドの送信タイミングであると判断し、当該制御コマンドを取得する。
続いて、ステップS712において、制御部520は、制御コマンド出力部500が今回出力した制御コマンド、すなわち今回送信する制御コマンドを取得し、この制御コマンドがいずれのグループに属するかを識別する。さらに、この識別結果をグループ情報として制御コマンド記憶部530に出力する。
続いて、ステップS713において、制御コマンド記憶部530は、制御コマンド出力部500が今回出力した制御コマンドを取得する。そして、制御部520によって出力されたグループ情報に基づいて、この取得した制御コマンドを、これが属するグループに対応するコマンド記憶領域に記憶する。具体的には、メインCPU110aは、メインRAM110cのコマンド記憶領域に今回送信する制御コマンドを記憶する。この際に、メインCPU110aは、この制御コマンドが属するグループの識別結果に対応するコマンド記憶領域に記憶する。すなわち、メインCPU110aは、制御コマンドがグループAに属する場合はメインRAM110cのコマンド記憶領域Aに記憶し、制御コマンドがグループBに属する場合はメインRAM110cのコマンド記憶領域Bに記憶する。
続いて、ステップS714において、制御部520は、すでに取得した今回送信する制御コマンドと、生成方式記憶領域に記憶されている生成方式(前回の生成方式)の情報とに基づいて今回の誤り検査値の生成方式を決定する。例えば、今回送信する制御コマンドがグループAに属する所定の制御コマンドであり、グループAに関する生成方式が方式αに設定されている(すなわち、前回の生成方式が方式αである)場合、制御部520は、今回のグループAに関する生成方式を方式βに決定する。また、例えば、今回送信する制御コマンドがグループAに属する所定の制御コマンド以外の制御コマンドであり、グループAに関する生成方式が方式αに設定されている場合、制御部520は、今回のグループAに関する生成方式を方式αに決定する。そして、制御部520は、誤り検査値演算部540に決定した生成方式で誤り検査値を生成させるために、決定結果に基づく方式制御信号を誤り検査値演算部540に出力する。
続いて、ステップS715において、制御部520は、決定した今回の生成方式を記憶する。具体的には、制御部520は、決定した結果に応じた誤り検査値の生成方式の情報を生成方式記憶領域に記憶する。記憶された生成方式の情報は、次回以降の制御コマンド送信処理のステップS714を実行する際に用いられる。
続いて、ステップS716において、先ず、制御部520は、すでに取得した今回送信する制御コマンドに基づいて、制御コマンド記憶部530にいずれの制御コマンドを出力させるかを判断し、判断結果に応じたコマンド制御信号を制御コマンド記憶部530に出力する。そして、制御コマンド記憶部530は、制御部520によって出力されたコマンド制御信号に基づいて、今回誤り検査値の生成に用いるべき制御コマンドを誤り検査値演算部540に出力する。すなわち、制御コマンド記憶部530は、今回送信する制御コマンドと同一のグループに属する制御コマンドのうち今回記憶した制御コマンドの1個前に記憶した制御コマンド(すなわち、今回送信される制御コマンドの1個前に送信された制御コマンド)を誤り検査値演算部540へ出力する。誤り検査値演算部540は、制御コマンド記憶部530から今回誤り検査値の生成に用いる制御コマンドを取得する。
続いて、ステップS717において、誤り検査値演算部540は、取得した制御コマンドを用いて誤り検査値を生成し、生成した誤り検査値を付加部550へと出力する。
続いて、ステップS718において、付加部550は、制御コマンド出力部500から出力された今回送信する制御コマンドに、誤り検査値演算部540から出力された今回生成された誤り検査値を付加して制御コマンド情報を生成し、送信部560に出力する。
続いて、ステップS719において、送信部560は、付加部550が生成した制御コマンド情報を受け取って中間制御部180に送信した後、本フローチャートによる処理を終了する。
続いて、ステップS719において、送信部560は、付加部550が生成した制御コマンド情報を受け取って中間制御部180に送信した後、本フローチャートによる処理を終了する。
なお、今回送信する制御コマンドを記憶するステップS713は、ステップS712以降であればどこで行ってもよい。例えば、ステップS716の今回誤り検査値を生成する制御コマンドを取得するステップの後に行ってもよく、この場合、制御コマンド記憶部は各グループに1つずつの制御コマンドのみを記憶しておけばよい。
[中間制御部の制御処理]
以下、本発明の実施形態に係る遊技機1の中間制御部180の制御処理について説明する。
図14は、本実施形態に係る中間制御部180によるメイン処理を示すフローチャートである。
以下、本発明の実施形態に係る遊技機1の中間制御部180の制御処理について説明する。
図14は、本実施形態に係る中間制御部180によるメイン処理を示すフローチャートである。
ステップS901において、CPU180aは、初期化処理を行う。この処理において、CPU180aは、電源投入に応じて、ROM180bからメイン処理に関するプログラムコードを読み込む。これとともに、CPU180aは、RAM180cに記憶されるフラグなどを初期化し、所定値に設定する処理を行う。
続いて、ステップS902において、CPU180aは、受信部600の受信データ用記憶領域に制御コマンド情報が記憶されているか否かを確認して、制御コマンド情報を受信したか否かを判定する。CPU180aは、受信データ用記憶領域に制御コマンド情報が記憶されていなければ本ステップを繰り返し、受信データ用記憶領域に制御コマンド情報が記憶されていればステップS903に処理を移す。
続いて、ステップS902において、CPU180aは、受信部600の受信データ用記憶領域に制御コマンド情報が記憶されているか否かを確認して、制御コマンド情報を受信したか否かを判定する。CPU180aは、受信データ用記憶領域に制御コマンド情報が記憶されていなければ本ステップを繰り返し、受信データ用記憶領域に制御コマンド情報が記憶されていればステップS903に処理を移す。
続いて、ステップS903において、中間制御部180の受信部600は、受信データ用記憶領域に記憶されている制御コマンド情報から制御コマンドおよび誤り検査値を取得する。また、受信部600は、今回受信した制御コマンドを制御部620、制御コマンド記憶部630、および付加部660へ、取得した誤り検査値を誤り検査部650へと出力する。
続いて、ステップS904において、制御部620は、今回受信した制御コマンドを取得し、この制御コマンドがいずれのグループに属するかを識別する。さらに、この識別結果をグループ情報として制御コマンド記憶部630に出力する。
続いて、ステップS905において、制御コマンド記憶部630は、今回受信した制御コマンドを取得する。そして、制御部620によって出力されたグループ情報に基づいて、この取得した制御コマンドを、これが属するグループに対応するコマンド記憶領域に記憶する。具体的には、CPU180aは、この制御コマンドが属するグループの識別結果に対応するRAM180cのコマンド記憶領域に記憶する。より具体的には、CPU180aは、制御コマンドがグループAに属する場合はRAM180cのコマンド記憶領域Aに記憶し、制御コマンドがグループBに属する場合はRAM180cのコマンド記憶領域Bに記憶する。
続いて、ステップS906において、制御部620は、すでに取得した今回受信した制御コマンドと、生成方式記憶領域に記憶されている生成方式(前回の生成方式)の情報とに基づいて今回の誤り検査値の生成方式を決定する。例えば、今回受信した制御コマンドがグループAに属する所定の制御コマンドであり、グループAに関する生成方式が方式αに設定されている(すなわち、前回の生成方式が方式αである)場合、制御部620は、今回のグループAに関する生成方式を方式βに決定する。また、例えば、今回受信した制御コマンドがグループAに属する所定の制御コマンド以外の制御コマンドであり、グループAに関する生成方式が方式αに設定されている場合、制御部620は、今回のグループAに関する生成方式を方式αに決定する。そして、制御部620は、誤り検査値演算部640に決定した生成方式で誤り検査値を生成させるために、決定結果に基づく方式制御信号を誤り検査値演算部640に出力する。
続いて、ステップS907において、制御部620は、決定した今回の生成方式を記憶する。具体的には、制御部620は、決定した結果に応じた誤り検査値の生成方式の情報を生成方式記憶領域に記憶する。記憶された生成方式の情報は、次回以降のメイン処理のステップS906を実行する際に用いられる。
続いて、ステップS908において、先ず、制御部620は、すでに取得した今回受信した制御コマンドに基づいて、制御コマンド記憶部630にいずれの制御コマンドを出力させるかを判断し、判断結果に応じたコマンド制御信号を制御コマンド記憶部630に出力する。そして、制御コマンド記憶部630は、制御部620によって出力されたコマンド制御信号に基づいて、今回誤り検査値の生成に用いるべき制御コマンドを誤り検査値演算部640に出力する。すなわち、制御コマンド記憶部630は、今回受信した制御コマンドと同一のグループに属する制御コマンドのうち今回記憶した制御コマンドの1個前に記憶した制御コマンド(すなわち、今回受信した制御コマンドの1個前に受信した制御コマンド)を誤り検査値演算部640へ出力する。誤り検査値演算部640は、制御コマンド記憶部630から今回誤り検査値の生成に用いる制御コマンドを取得する。
続いて、ステップS909において、誤り検査値演算部640は、取得した制御コマンドを用いて誤り検査値を生成し、生成した誤り検査値を誤り検査部650へと出力する。
続いて、ステップS910において、誤り検査部650は、ステップS903で取得した誤り検査値と、誤り検査値生成部610が今回生成した誤り検査値とを照合し、誤り検査を行う。
続いて、ステップS911において、誤り検査の結果、2つの誤り検査値が同一の場合は、誤り検査部650は、検査結果が正しいので、今回受信した制御コマンドの正当性の認証が成功であると判断し(ステップS911の結果がYES)、ステップS912へ進み、制御コマンドの正当性の認証が成功したことを示す認証結果データを生成し、付加部660へ出力する。非同一の場合は、誤り検査部650は、検査結果が正しくないので、認証が不成功であると判断し(ステップS911の結果がNO)、ステップS913へ進み、制御コマンドの正当性の認証が不成功であったことを示す認証結果データを生成し、付加部660へ出力する。
続いて、ステップS914において、付加部660は、受信部600から出力された今回受信した制御コマンドに、誤り検査部650から出力された認証結果データを付加して、認証結果データ付き制御コマンドを生成し、送信部670に出力する。
続いて、ステップS915において、送信部670は、付加部660から出力された認証結果データ付き制御コマンドを演出制御部120へ送信する。その後、ステップS902へと戻り以下のステップを繰り返し行う。
続いて、ステップS915において、送信部670は、付加部660から出力された認証結果データ付き制御コマンドを演出制御部120へ送信する。その後、ステップS902へと戻り以下のステップを繰り返し行う。
ここで、今回受信した制御コマンドを記憶するステップS905は、ステップS904以降であればどこで行ってもよい。例えば、ステップS908の今回誤り検査値を生成する制御コマンドを取得するステップの後に行ってもよく、この場合、制御コマンド記憶部630は各グループに1つずつの制御コマンドのみを記憶しておけばよい。
[演出制御部の制御処理]
以下、本発明の実施形態に係る遊技機1の演出制御部120の制御処理について説明する。まず、演出制御部120のメイン処理について説明する。
図15は、本実施形態に係る演出制御部120によるメイン処理を示すフローチャートである。
以下、本発明の実施形態に係る遊技機1の演出制御部120の制御処理について説明する。まず、演出制御部120のメイン処理について説明する。
図15は、本実施形態に係る演出制御部120によるメイン処理を示すフローチャートである。
ステップS1000において、サブCPU120aは、初期化処理を行う。この処理において、サブCPU120aは、電源投入に応じて、サブROM120bからメイン処理に関するプログラムコードを読み込む。これとともに、サブCPU120aは、サブRAM120cに記憶されるフラグなどを初期化し、所定値に設定する処理を行う。この処理が終了した場合には、ステップS1100へ処理を移す。
ステップS1100において、サブCPU120aは、演出用乱数更新処理を行う。この処理において、サブCPU120aは、サブRAM120cに記憶される演出用乱数値、演出図柄決定用乱数、演出モード決定用乱数等を更新する処理を行う。以降は、所定の割込処理が行われるまで、上記ステップS1100の処理を繰り返し行う。
次に、演出制御部120の割込処理について説明する。
図16は、演出制御部120による割込処理の手順の一例を示すフローチャートである。サブCPU120aは、演出制御部120に設けられたクロックパルス発生回路(図示せず)から出力されるクロック信号に基づいて、所定の周期(例えば4ミリ秒)ごとに、演出制御部120のタイマ割込処理を実行する。
図16は、演出制御部120による割込処理の手順の一例を示すフローチャートである。サブCPU120aは、演出制御部120に設けられたクロックパルス発生回路(図示せず)から出力されるクロック信号に基づいて、所定の周期(例えば4ミリ秒)ごとに、演出制御部120のタイマ割込処理を実行する。
ステップS1200において、サブCPU120aは、サブCPU120aのレジスタに記憶されている情報をスタック領域に退避させる。
ステップS1300において、サブCPU120aは、演出制御部120で用いられる各種タイマカウンタの更新処理を行う。
ステップS1300において、サブCPU120aは、演出制御部120で用いられる各種タイマカウンタの更新処理を行う。
ステップS1500において、サブCPU120aは、コマンド解析処理を行う。この処理において、演出制御部120は、受信データ用記憶領域に書き込まれた制御コマンドの種別を解析する処理を行う。
また、コマンド解析処理では、サブCPU120aは、中間制御部180から送信された制御コマンド情報に含まれる認証結果データを解析し、解析結果に応じた処理を行う。なお、コマンド解析処理の詳細については後述する。
また、コマンド解析処理では、サブCPU120aは、中間制御部180から送信された制御コマンド情報に含まれる認証結果データを解析し、解析結果に応じた処理を行う。なお、コマンド解析処理の詳細については後述する。
ステップS1600において、サブCPU120aは、演出ボタン検出スイッチ35aの信号のチェックを行い、演出ボタン35からの入力に関する演出用入力制御処理を行う。
ステップS1700において、サブCPU120aは、サブRAM120cの送信データ用記憶領域にセットされた制御コマンドや各種データを、ランプ制御部140や画像制御部150へ送信するための処理である演出用出力制御処理を行う。
ステップS1800において、サブCPU120aは、ステップS1200で退避した情報をサブCPU120aのレジスタに復帰させる。
ステップS1700において、サブCPU120aは、サブRAM120cの送信データ用記憶領域にセットされた制御コマンドや各種データを、ランプ制御部140や画像制御部150へ送信するための処理である演出用出力制御処理を行う。
ステップS1800において、サブCPU120aは、ステップS1200で退避した情報をサブCPU120aのレジスタに復帰させる。
次に、演出制御部120のコマンド解析処理について説明する。
図16および図17は、本実施形態に係る演出制御部120によるコマンド解析処理を示すフローチャートである。なお、図17のコマンド解析処理2は、図16のコマンド解析処理1に引き続いて行われるものである。
図16および図17は、本実施形態に係る演出制御部120によるコマンド解析処理を示すフローチャートである。なお、図17のコマンド解析処理2は、図16のコマンド解析処理1に引き続いて行われるものである。
ステップS1501において、サブCPU120aは、受信データ用記憶領域に制御コマンド情報が記憶されているか否かを確認して、制御コマンド情報を受信したか否かを判定する。
サブCPU120aは、受信データ用記憶領域に制御コマンド情報が記憶されていなければコマンド解析処理を終了し、受信データ用記憶領域に制御コマンド情報が記憶されていればステップS2000に処理を移す。
サブCPU120aは、受信データ用記憶領域に制御コマンド情報が記憶されていなければコマンド解析処理を終了し、受信データ用記憶領域に制御コマンド情報が記憶されていればステップS2000に処理を移す。
ステップS2000において、サブCPU120aは、受信データ用記憶領域に書き込まれた認証結果データ付き制御コマンドから認証結果データを取得し、認証結果データ解析処理を行う。この認証結果データ解析処理の詳細については図19を用いて後に詳述する。認証結果データ解析処理が終了したらステップS1510へ進む。
ステップS1510において、サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが、デモ指定コマンドであるか否かを確認する。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドがデモ指定コマンドであれば、ステップS1511に処理を移し、デモ指定コマンドでなければステップS1520に処理を移す。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドがデモ指定コマンドであれば、ステップS1511に処理を移し、デモ指定コマンドでなければステップS1520に処理を移す。
ステップS1511において、サブCPU120aは、デモ演出パターンを決定するデモ演出パターン決定処理を行う。
具体的には、デモ演出パターンを決定し、決定したデモ演出パターンを演出パターン記憶領域にセットするとともに、決定したデモ演出パターンの情報を画像制御部150とランプ制御部140に送信するため、決定したデモ演出パターンに基づく演出パターン指定コマンドをサブRAM120cの送信データ用記憶領域にセットする。
具体的には、デモ演出パターンを決定し、決定したデモ演出パターンを演出パターン記憶領域にセットするとともに、決定したデモ演出パターンの情報を画像制御部150とランプ制御部140に送信するため、決定したデモ演出パターンに基づく演出パターン指定コマンドをサブRAM120cの送信データ用記憶領域にセットする。
ステップS1520において、サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが、特別図柄記憶指定コマンドであるか否かを確認する。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが特別図柄記憶指定コマンドであれば、ステップS1521に処理を移し、特別図柄記憶指定コマンドでなければステップS1530に処理を移す。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが特別図柄記憶指定コマンドであれば、ステップS1521に処理を移し、特別図柄記憶指定コマンドでなければステップS1530に処理を移す。
ステップS1521において、サブCPU120aは、特別図柄記憶指定コマンドを解析して、液晶表示装置31に表示させる特別図柄の保留画像(以下、「特図保留画像」という)の表示個数を決定するとともに、決定した特図保留画像の表示個数に対応する特図表示個数指定コマンドを画像制御部150とランプ制御部140に送信する特別図柄記憶数決定処理を行う。
ステップS1530において、サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが、演出図柄指定コマンドであるか否かを確認する。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが演出図柄指定コマンドであれば、ステップS1531に処理を移し、演出図柄指定コマンドでなければステップS1540に処理を移す。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが演出図柄指定コマンドであれば、ステップS1531に処理を移し、演出図柄指定コマンドでなければステップS1540に処理を移す。
ステップS1531において、サブCPU120aは、受信した演出図柄指定コマンドの内容に基づいて、液晶表示装置31に停止表示させる演出図柄36を決定する演出図柄決定処理を行う。
具体的には、演出図柄指定コマンドを解析して、大当たりの有無、大当たりの種別に応じて演出図柄36の組み合わせを構成する演出図柄データを決定し、決定された演出図柄データを演出図柄記憶領域にセットするとともに、演出図柄データを画像制御部150とランプ制御部140に送信するため、演出図柄データを示す停止図柄指定コマンドをサブRAM120cの送信データ用記憶領域にセットする。
具体的には、演出図柄指定コマンドを解析して、大当たりの有無、大当たりの種別に応じて演出図柄36の組み合わせを構成する演出図柄データを決定し、決定された演出図柄データを演出図柄記憶領域にセットするとともに、演出図柄データを画像制御部150とランプ制御部140に送信するため、演出図柄データを示す停止図柄指定コマンドをサブRAM120cの送信データ用記憶領域にセットする。
ステップS1532において、サブCPU120aは、上記ステップ1100において更新されている演出モード決定用乱数値から1つの乱数値を取得し、取得した演出モード決定用乱数値と受信した演出図柄指定コマンドに基づいて、複数の演出モード(例えば、ノーマル演出モードやチャンス演出モード)の中から1つの演出モードを決定する演出モード決定処理を行う。また、決定した演出モードは、演出モード記憶領域にセットされる。
ステップS1540において、サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが、変動パターン指定コマンドであるか否かを確認する。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが変動パターン指定コマンドであれば、ステップS1541に処理を移し、変動パターン指定コマンドでなければステップS1550に処理を移す。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが変動パターン指定コマンドであれば、ステップS1541に処理を移し、変動パターン指定コマンドでなければステップS1550に処理を移す。
ステップS1541において、サブCPU120aは、上記ステップS1100(図14参照)において更新されている演出用乱数値から1つの乱数値を取得し、取得した演出用乱数値、受信した変動パターン指定コマンドおよび演出モード記憶領域にセットされている演出モードに基づいて、複数の変動演出パターンの中から1つの変動演出パターンを決定する変動演出パターン決定処理を行う。
具体的には、ノーマル演出モードであれば、変動演出パターン決定テーブルを参照し、取得した演出用乱数値に基づいて1つの変動演出パターンを決定し、決定した変動演出パターンを演出パターン記憶領域にセットするとともに、決定した変動演出パターンの情報を画像制御部150とランプ制御部140に送信するため、決定した変動演出パターンに基づく演出パターン指定コマンドをサブRAM120cの送信データ用記憶領域にセットする。
その後、かかる演出パターンに基づいて、液晶表示装置31、音声出力装置32、演出用駆動装置33、演出用照明装置34が制御されることになる。なお、ここで決定した変動演出パターンに基づいて、演出図柄36の変動態様が決定されることとなる。
具体的には、ノーマル演出モードであれば、変動演出パターン決定テーブルを参照し、取得した演出用乱数値に基づいて1つの変動演出パターンを決定し、決定した変動演出パターンを演出パターン記憶領域にセットするとともに、決定した変動演出パターンの情報を画像制御部150とランプ制御部140に送信するため、決定した変動演出パターンに基づく演出パターン指定コマンドをサブRAM120cの送信データ用記憶領域にセットする。
その後、かかる演出パターンに基づいて、液晶表示装置31、音声出力装置32、演出用駆動装置33、演出用照明装置34が制御されることになる。なお、ここで決定した変動演出パターンに基づいて、演出図柄36の変動態様が決定されることとなる。
ステップS1550において、サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが、図柄確定コマンドであるか否かを確認する。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが図柄確定コマンドであれば、ステップS1551に処理を移し、図柄確定コマンドでなければステップS1560に処理を移す。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが図柄確定コマンドであれば、ステップS1551に処理を移し、図柄確定コマンドでなければステップS1560に処理を移す。
ステップS1551において、サブCPU120aは、演出図柄36を停止表示させるために、演出図柄を停止表示させるための停止指定コマンドをサブRAM120cの送信データ用記憶領域にセットする演出図柄停止表示処理を行う。
ステップS1560において、サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが、遊技状態指定コマンドであるか否かを判定する。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが遊技状態指定コマンドであればステップS1561に処理を移し、遊技状態指定コマンドでなければステップS1570に処理を移す。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが遊技状態指定コマンドであればステップS1561に処理を移し、遊技状態指定コマンドでなければステップS1570に処理を移す。
ステップS1561において、サブCPU120aは、受信した遊技状態指定コマンドに基づいた遊技状態を示すデータをサブRAM120cにある遊技状態記憶領域にセットする。
ステップS1570において、サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが、オープニング指定コマンドであるか否かを確認する。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドがオープニング指定コマンドであればステップS1571に処理を移し、オープニング指定コマンドでなければステップS1580に処理を移す。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドがオープニング指定コマンドであればステップS1571に処理を移し、オープニング指定コマンドでなければステップS1580に処理を移す。
ステップS1571において、サブCPU120aは、当たり開始演出パターンを決定する当たり開始演出パターン決定処理を行う。
具体的には、オープニング指定コマンドに基づいて当たり開始演出パターンを決定し、決定した当たり開始演出パターンを演出パターン記憶領域にセットするとともに、決定した当たり開始演出パターンの情報を画像制御部150とランプ制御部140に送信するため、決定した当たり開始演出パターンに基づく演出パターン指定コマンドをサブRAM120cの送信データ用記憶領域にセットする。
具体的には、オープニング指定コマンドに基づいて当たり開始演出パターンを決定し、決定した当たり開始演出パターンを演出パターン記憶領域にセットするとともに、決定した当たり開始演出パターンの情報を画像制御部150とランプ制御部140に送信するため、決定した当たり開始演出パターンに基づく演出パターン指定コマンドをサブRAM120cの送信データ用記憶領域にセットする。
ステップS1580において、サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが、大入賞口開放指定コマンドであるか否かを確認する。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが大入賞口開放指定コマンドであればステップS1581に処理を移し、大入賞口開放指定コマンドでなければステップS1590に処理を移す。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが大入賞口開放指定コマンドであればステップS1581に処理を移し、大入賞口開放指定コマンドでなければステップS1590に処理を移す。
ステップS1581において、サブCPU120aは、大当たり演出パターンを決定する大当たり演出パターン決定処理を行う。
具体的には、大入賞口開放指定コマンドに基づいて大当たり演出パターンを決定し、決定した大当たり演出パターンを演出パターン記憶領域にセットするとともに、決定した大当たり演出パターンの情報を画像制御部150とランプ制御部140に送信するため、決定した大当たり演出パターンに基づく演出パターン指定コマンドをサブRAM120cの送信データ用記憶領域にセットする。
具体的には、大入賞口開放指定コマンドに基づいて大当たり演出パターンを決定し、決定した大当たり演出パターンを演出パターン記憶領域にセットするとともに、決定した大当たり演出パターンの情報を画像制御部150とランプ制御部140に送信するため、決定した大当たり演出パターンに基づく演出パターン指定コマンドをサブRAM120cの送信データ用記憶領域にセットする。
ステップS1590において、サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが、エンディング指定コマンドであるか否かを確認する。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドがエンディング指定コマンドであればステップS1591に処理を移し、エンディング指定コマンドでなければステップS1600(図16参照)に処理を移す。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドがエンディング指定コマンドであればステップS1591に処理を移し、エンディング指定コマンドでなければステップS1600(図16参照)に処理を移す。
ステップS1591において、サブCPU120aは、当たり終了演出パターンを決定する当たり終了演出パターン決定処理を行う。
具体的には、エンディング指定コマンドに基づいて当たり終了演出パターンを決定し、決定した当たり終了演出パターンを演出パターン記憶領域にセットするとともに、決定した当たり終了演出パターンの情報を画像制御部150とランプ制御部140に送信するため、決定した当たり終了演出パターンに基づく演出パターン指定コマンドをサブRAM120cの送信データ用記憶領域にセットする。本処理を終了すると、コマンド解析処理が終了する。
具体的には、エンディング指定コマンドに基づいて当たり終了演出パターンを決定し、決定した当たり終了演出パターンを演出パターン記憶領域にセットするとともに、決定した当たり終了演出パターンの情報を画像制御部150とランプ制御部140に送信するため、決定した当たり終了演出パターンに基づく演出パターン指定コマンドをサブRAM120cの送信データ用記憶領域にセットする。本処理を終了すると、コマンド解析処理が終了する。
次に、演出制御部120の認証結果データ解析処理について説明する。
図19は、本実施形態に係る演出制御部120による認証結果データ解析処理を示すフローチャートである。
図19は、本実施形態に係る演出制御部120による認証結果データ解析処理を示すフローチャートである。
ステップS2001において、サブCPU120aは、受信データ用記憶領域に書き込まれた認証結果データ付き制御コマンドから認証結果データを取得する。
続いて、ステップS2002において、サブCPU120aは、取得した認証結果データが、認証成功を示す結果であるか否かを確認する。サブCPU120aは、認証結果データが認証成功を示す結果である場合、今回の中間制御部180での認証処理が成功し、遊技機1の正当性を認証することができたと判断して、本フローチャートによる処理を終了する。一方、サブCPU120aは、認証結果データが認証不成功を示す結果である場合、今回の中間制御部180での認証処理が不成功であり、遊技機1で不正行為や通信エラーが発生したおそれがあると判断し、ステップS2003へ進む。
続いて、ステップS2002において、サブCPU120aは、取得した認証結果データが、認証成功を示す結果であるか否かを確認する。サブCPU120aは、認証結果データが認証成功を示す結果である場合、今回の中間制御部180での認証処理が成功し、遊技機1の正当性を認証することができたと判断して、本フローチャートによる処理を終了する。一方、サブCPU120aは、認証結果データが認証不成功を示す結果である場合、今回の中間制御部180での認証処理が不成功であり、遊技機1で不正行為や通信エラーが発生したおそれがあると判断し、ステップS2003へ進む。
ステップS2003において、パチンコ遊技機1で不正行為や通信エラーが発生したおそれがあると判断された場合、演出制御部120は、その旨を報知する為に報知信号を出力し、本フローチャートによる処理を終了する。
サブCPU120aは、生成した報知信号を、例えば、ランプ制御部140や画像制御部150、あるいは遊技機1を管理するホールコンピュータ等へ送信する。ランプ制御部140や画像制御部150等は、受信した報知信号に基づいて、遊技機1で不正行為が発生したおそれがある旨を報知する演出を実行する。この演出は、例えば、液晶表示装置31に通常出現しないキャラクタを出現させたり、通常出現するキャラクタを通常とは異なる方法で出現させるなどである。また、液晶表示装置31の輝度を変えたり、色を変えたり、ランプ制御部140に対して所定のランプを表示制御するようにしてもよい。また、音声出力装置32からアラーム音などの特別な音声を出力するなど、画像制御部150に対して所定の音声を出力する音声制御をするようにしてもよい。いずれにしても、遊技店の従業員が当該遊技機1の前を通過した際に、その状態に気付くようにしてあればよい。また、この演出は、顧客がその状態に気付かないような演出でもよく、また、顧客が容易に気付く演出であってもよい。顧客が容易に気付く演出にすれば、不正行為を効率的に抑止することができる。
また、報知信号に「大当たり中」や「確率変動中」などの遊技機1の遊技状態に関する情報を含めてもよい。これらの遊技状態に関する情報に基づいて、遊技機1を管理するセンター制御装置などによって不正行為が行われているか否かの判断を行ってもよい。例えば、大当たり中や確率変動中は入賞が集中していても正常である場合がある。よって、大当たり中や確率変動中は、その他の状態とは異なる条件で不正行為のおそれがあるか否かについて判断するのがよい。また、遊技状態に関する情報は、報知信号に含めずに別信号として出力するようにしてもよい。この場合、従業員は、報知信号と遊技状態に関する情報の両方に基づいて、不正行為のおそれがあるか否かについて判断する。
なお、主制御部110と払出制御部130との間に中間制御部180を設けた場合の認証処理は、主制御部110と演出制御部120との間に中間制御部180を設けた場合の認証処理とほぼ同様の手順で行われるため説明を省略する。
以上のように、本実施形態では、主制御部110は、制御コマンドをグループに分類して記憶している。そして主制御部110は、今回送信する制御コマンドがいずれのグループに属するかを識別し、この制御コマンドと同じグループに属する制御コマンドのうち、この制御コマンドの1つ前に送信した制御コマンドを用いて誤り検査値を生成する。その際に、今回送信する制御コマンドに応じて生成方式を決定し、決定した生成方式で誤り検査値を生成する。そして、生成した誤り検査値を今回送信する制御コマンドに付加して制御コマンド情報として中間制御部180に送信する。一方、中間制御部180は、制御コマンドをグループに分類して記憶している。そして中間制御部180は、今回受信した制御コマンドがいずれのグループに属するかを識別し、この制御コマンドと同じグループに属する制御コマンドのうち、この制御コマンドの1つ前に受信した制御コマンドを用いて誤り検査値を生成する。その際に、今回受信した制御コマンドに応じて生成方式を決定し、決定した生成方式で誤り検査値を生成する。そして、生成した誤り検査値と今回受信した制御コマンド情報に含まれる誤り検査値とを照合して誤り検査を行う。すなわち、本実施形態では、過去に送信した制御コマンドの誤り検査値を今回送信する制御コマンドに付加して、主制御部110から中間制御部180に送信している。
通常チェックサム等の誤り検査値は生成元の制御コマンドに付加されて通信エラーチェックに利用される。これに対して、本実施形態の遊技機1は、上述のように、前回または前々回に送信した制御コマンドの誤り検査値を、今回送信する制御コマンドに付加する。このような従来にない新規かつ簡易な手法を用いることにより、不正者が制御コマンドと誤り検査値を不正に取得しても制御コマンドと誤り検査値の関係を容易に知ることができない。したがって、本実施形態によれば、不正者による不正を防止することができ、セキュリティ強度を向上させることができる。
また、本実施形態の遊技機1では、制御コマンドを2以上の複数のグループに分類し、今回送信する制御コマンドに付加する誤り検査値を、当該制御コマンドと同一のグループに属する制御コマンドのうち過去(1個前)に送信された制御コマンドを用いて生成する。これにより、同一のグループに属する制御コマンドが連続して出力される場合は、1個前に出力された制御コマンドの誤り検査値が付加されることになるが、異なるグループに属する制御コマンドが時系列的に混ざって出力される場合は、少なくとも2個以上前に出力された制御コマンドの誤り検査値が付加されることになる。すなわち、制御コマンドに付加される誤り検査値が、1個前に出力された制御コマンドの誤り検査値となったり、2個以上前に出力された制御コマンドの誤り検査値となったりする。したがって、制御コマンドとそれに付加される誤り検査値との時系列的な関係が不規則になるので、制御コマンドとそれに付加される誤り検査値との関連性の解析を困難とすることができセキュリティ強度を向上させることができる。
また、主制御部110が今回送信する制御コマンドと同一のグループに属する制御コマンドのうち今回送信する制御コマンドよりも過去(1個前)に送信した制御コマンドを用いて生成した誤り検査値を、今回送信する制御コマンドに付加して送信し、演出制御部120が認証処理を行う。これにより、今回受信した制御コマンドの正当性を認証するとともに、今回付加された誤り検査値の生成元となった制御コマンドの正当性をも認証することができる。このように、今回送信された制御コマンドと、過去に送信された制御コマンドの正当性を同時に認証することができるので、主制御部110が継続的に正しく動作していることを認証することができる。
また、本実施形態では、各制御コマンドに誤り検査値を付加して主制御部110から中間制御部180に送信し、中間制御部180が各制御コマンド毎に認証処理を行うので、常時不正を検査することができる。
また、本実施形態の遊技機1は、通常は通信エラーチェックに用いる誤り検査値を不正を検出するための検査値として利用している。このように通信エラーチェックに従来から用いている誤り検査値を用いることで、誤り検査を行うための検査値を別に生成するための手段を設けることなく、簡単な構成で不正者による不正を防止することができ、セキュリティ強度を向上させることができる。すなわち、遊技機の主制御基板のリソースが限られているという状況下において、セキュリティ強度を向上させつつ、主制御基板の処理負荷の増大を抑制することができる。
また、本実施形態によれば、認証処理は、中間制御部180のみが実行するので、周辺部300を構成するCPUの処理負荷の増大を抑制することができる。このため、周辺部300の処理速度が低下し、演出のための表示がスムーズに行われないなどの問題の発生を防止することができる。
さらに、本実施形態によれば、認証処理を実行する中間制御部180と、所定の処理を行う周辺部300とが別個独立しているため、認証用のプログラムまたはハードウェアと、所定の処理用のプログラムまたはハードウェアとを別個に設計することができる。これにより、所定の処理を行う周辺部300の処理に認証機能を追加する場合と比較して、認証機能を追加するタイミングの設計・機能の実装・機能の検証、ハードウェアの設計などをより簡単に実現することができる。また、認証用のプログラム及び所定の処理用のプログラムの構成が比較的簡単となるため、他の機能と整合性を保つことが容易となる。
さらにまた、本実施形態によれば、遊技機の機種ごとに所定の処理が異なる場合であっても、認証処理は共通化が可能であるため、遊技機の機種ごとのプログラム設計やハードウェア設計が容易であり、設計時間の短縮化を図ることができるとともに、作業効率が向上する。
また、本実施形態の遊技機1では、主制御部110の制御部520は、今回送信する制御コマンドに基づいて、今回送信する誤り検査値の生成方式を複数の生成方式から決定している。このような本実施形態の遊技機1では、今回送信される制御コマンドが所定の制御コマンドである場合に今回の誤り検査値の生成方式が変更される。これにより、不正者が制御コマンドおよびそれに付加された誤り検査値を複数、不正に取得したとしても、誤り検査値の生成方式の変更タイミングを知ることができないので、制御コマンドと生成方式の関係性を解析困難とすることができる。したがって、不正者が不正を行うことを困難にすることができセキュリティ強度を向上させることができる。
特に本実施形態では、上述のように、制御コマンドを2以上の複数のグループに分類し、今回送信する制御コマンドに付加する誤り検査値を、当該制御コマンドと同一のグループに属する制御コマンドのうち過去(1個前)に送信された制御コマンドを用いて生成する。これにより、セキュリティ強度を向上されているうえに、生成方式を複数の方式から決定可能に構成されているため、より一層のセキュリティ強度の向上を実現させることができる。
また、本実施形態の遊技機1では、図5に示すように、グループ毎に独立して生成方式を制御している。すなわち、今回送信される制御コマンドが所定の制御コマンドである場合に当該制御コマンドが属するグループの生成方式が変更される。これにより、時系列的に連続して出力される誤り検査値の生成方式が、送信される制御コマンドが所定の制御コマンドではないのにも関わらず変更される場合がある(例えば、図5の制御コマンドB2を参照)。したがって、制御コマンドと生成方式の関係性を解析困難とすることができるので、制御コマンドと誤り検査値との対応関係をより一層解析困難とすることができる。すなわち、本実施形態によれば、セキュリティ強度をより一層向上させることができるのである。
ここで、所定の制御コマンドは、例えば、上述した、大当たりコマンド(大入賞口解放指定コマンド)、リーチコマンド、デモ指定コマンド、オープニング指定コマンド、エンディング指定コマンド、電源投入コマンド(電源投入時指定コマンド等)、またはハズレコマンド(ハズレ用演出図柄指定コマンド)等の少なくとも1つである。
所定の制御コマンドが、大当たりコマンドである場合、大当たりコマンドは大当たり中の各ラウンドで送信されるため、大当たり状態にある一定期間中に複数回の誤り検査値の生成方式の切替えが行われることとなる。したがって、切替えタイミングを知らない不正者が大当たりコマンドを含む制御コマンド情報を不正に取得してこれを流用したとしても、容易に不正を検出することができる。
また、所定の制御コマンドが、リーチコマンドである場合、リーチコマンドは大当たりコマンドよりも発生頻度が高く、発生タイミングにランダム性を有するので、時間軸上における誤り検査値の生成方式の切替えタイミングが分散されることとなる。したがって、不正行為者が、生成方式の切替えタイミングを特定することを困難とすることができ、認証処理の信頼性、すなわちセキュリティ強度を向上させることができる。
また、所定の制御コマンドが、オープニング指定コマンドまたはエンディング指定コマンドである場合、オープニング指定コマンドまたはエンディング指定コマンドは、大当たり状態を開始時または終了時に送信される制御コマンドであり、発生頻度が低い上に発生タイミングにランダム性を有するので、切替えタイミングもランダムかつ低い頻度で発生することとなる。したがって、不正行為者が、生成方式の切替えタイミングを特定することを困難とすることができ、セキュリティ強度を向上させることができる。
また、所定の制御コマンドが、デモ指定コマンドである場合、デモ指定コマンドは特別図柄の保留数記憶がない状態が所定時間継続したときにデモ表示を表示させるために送信される制御コマンドであり、発生タイミングにランダム性を有するので、時間軸上における誤り検査値の生成方式の切替えタイミングが分散されることとなる。したがって、不正行為者が、生成方式の切替えタイミングを特定することを困難とすることができ、認証処理の信頼性、すなわちセキュリティ強度を向上させることができる。
また、所定の制御コマンドが、ハズレコマンド(ハズレ用演出図柄指定コマンド)である場合、「はずれ」は、抽選時の抽選結果として最も発生頻度が高いので、ハズレコマンドが送信される頻度は高く、誤り検査値の切替えの頻度も高くなる。すなわち、誤り検査値の生成方式の切替えが高い頻度で行われることにより、制御コマンド情報を構成する制御コマンドと誤り検査値との関連性を解析困難とすることができ、セキュリティ強度を向上させることができる。これにより、不正者が複数の制御コマンド情報を取得したとしても、容易に不正を行うことを防止することができる。
なお、本実施形態において、誤り検査値生成部510の制御部520は、制御コマンド記憶部530の動作を制御するために、「グループ情報」と「コマンド制御信号」とを制御コマンド記憶部530に出力している。すなわち、制御部520は、今回送信される制御コマンドと同一のグループに属する制御コマンドのうち今回送信される制御コマンドを基準として1個前に送信された制御コマンドを制御コマンド記憶部530から誤り検査値演算部540へと出力させることを判断し、その判断結果に基づいて、いずれの制御コマンドを出力するべきかを示すコマンド制御信号を制御コマンド記憶部530に出力している。しかしながら、本発明はこれに限定されず、制御部520は、今回送信する制御コマンドに関するグループ情報のみを制御コマンド記憶部530に出力するようにしてもよい。この場合、制御コマンド記憶部530は、グループ情報に基づいて、今回出力すべき制御コマンドを誤り検査値演算部540に出力するように構成すればよい。また、中間制御部180の誤り検査値生成部610も同様である。
また、本実施形態では、制御コマンド記憶部にグループ毎に制御コマンドを記憶しておき、誤り検査値を送信する(誤り検査を行う)際に、今回送信する(受信した)制御コマンドと同一のグループに属する制御コマンドのうちの前回送信した(受信した)制御コマンドを用いて今回送信する(誤り検査に用いる)誤り検査値を生成していたが、本発明はこれに限定されない。具体的には、今回送信する(受信した)制御コマンドから誤り検査値を生成して、生成した誤り検査値をグループ毎に記憶しておき、誤り検査値を送信する(誤り検査を行う)際に、今回送信する(受信した)制御コマンドと同一のグループに属する誤り検査値であって、前回生成して記憶しておいた誤り検査値を今回送信する(誤り検査に用いる)誤り検査値として取得するようにしてもよい。この場合、誤り検査値演算部が生成した誤り検査値を、その生成元の制御コマンドのグループに対応づけて記憶しておく誤り検査値記憶部を設けておけばよい。誤り検査値記憶部は、全ての生成方式に対応する誤り検査値を記憶しておき、制御部によって決定された生成方式で生成された誤り検査値を出力すればよい。
〈第2の実施形態〉
以下、本発明の遊技機の一実施形態に係る第2の実施形態について説明する。
第1の実施形態では、今回送信する制御コマンドに応じて今回送信する(誤り検査に用いる)誤り検査値の生成方式を決定していた。これに対して、第2の実施形態では、今回送信する制御コマンドに応じて、当該制御コマンドと同一のグループに属する制御コマンドのうちM(Mは正整数)個後に送信する制御コマンドに付加する誤り検査値の生成方式を決定する。この場合、誤り検査値生成部は、生成方式記憶領域にグループ毎にM個分の生成方式の情報を記憶しておき、記憶している生成方式の情報から今回の生成方式の情報を参照して、今回送信する誤り検査値の生成方式を特定すればよい。
以下、本発明の遊技機の一実施形態に係る第2の実施形態について説明する。
第1の実施形態では、今回送信する制御コマンドに応じて今回送信する(誤り検査に用いる)誤り検査値の生成方式を決定していた。これに対して、第2の実施形態では、今回送信する制御コマンドに応じて、当該制御コマンドと同一のグループに属する制御コマンドのうちM(Mは正整数)個後に送信する制御コマンドに付加する誤り検査値の生成方式を決定する。この場合、誤り検査値生成部は、生成方式記憶領域にグループ毎にM個分の生成方式の情報を記憶しておき、記憶している生成方式の情報から今回の生成方式の情報を参照して、今回送信する誤り検査値の生成方式を特定すればよい。
なお、第1の実施形態では、制御コマンド記憶部を設けて制御コマンドを記憶していたが、本実施形態では、今回送信する制御コマンドを用いて生成した誤り検査値を保存しておく誤り検査値記憶部を備える例について説明する。また、本実施形態では、今回送信する制御コマンドに基づいて、当該制御コマンドと同一のグループに属する制御コマンドのうちの次回送信する制御コマンドに付加する誤り検査値の生成方式を決定する場合について、すなわちM=1の場合について詳細に説明する。なお、第1の実施形態の遊技機1と同一の部材については同一の符号を付して、その詳細な説明は省略し、異なる点について重点的に説明する。
M=1の場合の制御コマンド情報の構成の一例について、図20を用いて説明する。なお、以下の説明では、1番目にグループA、2番目にグループA、3番目にグループA、4番目にグループB、5番目にグループB、6番目にグループB、7番目にグループAにそれぞれ属する制御コマンドが送信されるとして説明する。また、誤り検査値の生成方式は、最初、グループAおよびグループBのいずれも方式αに設定されているとする。また、制御コマンドA2および制御コマンドB2を所定の制御コマンドとする。なお、図20に示す制御コマンドの送信順番は一例であって特にこれに制限されない。
図20に示すように、制御コマンド情報は、基本的に、今回送信される制御コマンドと同一のグループに属するもののうち当該制御コマンドの1個前に送信された制御コマンドの誤り検査値が、今回送信される制御コマンドに付加された形式になっている。ただし、最初に送信される制御コマンドA1には所定の初期値1が付加されている。2番目に送信される制御コマンドA2は、グループAに属する制御コマンドである。したがって、制御コマンドA2には、グループAに属する制御コマンドのうち1個前に送信された制御コマンドA1を用いて方式αで生成された誤り検査値A1(α)が付加される。ここで、制御コマンドA2は、所定の制御コマンドなので、次回のグループAに属する制御コマンドに付加される誤り検査値の生成方式が方式βに変更される。次に、3番目に送信される制御コマンドA3は、グループAに属する制御コマンドである。制御コマンドA3には、グループAに属する制御コマンドのうち1個前に送信された制御コマンドA2を用いて方式βで生成された誤り検査値A2(β)が付加される。次に、4番目に送信される制御コマンドB1は、グループBに属する制御コマンドで最初に送信される制御コマンドなので、所定の初期値2が付加される。次に、5番目に送信される制御コマンドB2は、グループBに属する制御コマンドである。したがって、制御コマンドB2には、グループBに属する制御コマンドのうち1個前に送信された制御コマンドB1を用いて方式αで生成された誤り検査値B1(α)が付加される。ここで、制御コマンドB2は、所定の制御コマンドなので、次回のグループBに属する制御コマンドに付加される誤り検査値の生成方式が方式βに変更される。次に、6番目に送信される制御コマンドB3は、グループBに属する制御コマンドである。したがって、制御コマンドB3には、グループBに属する制御コマンドのうち1個前に送信された制御コマンドB2を用いて方式βで生成された誤り検査値B2(β)が付加される。次に、7番目に送信される制御コマンドA4は、グループAに属する制御コマンドである。したがって、制御コマンドA4には、グループAに属する制御コマンドのうち1個前に送信された制御コマンドA3を用いて方式βで生成された誤り検査値A3(β)が付加される。以下、同様にして、今回送信する制御コマンドには、これが属するグループの制御コマンドのうち1個前に送信された制御コマンドの誤り検査値が付加される。また、今回送信制御コマンドが所定の制御コマンドである場合は、当該制御コマンドと同一のグループに属する制御コマンドのうち、次に送信される制御コマンドに付加される誤り検査値の生成方式が他の生成方式に変更される。
[遊技機の認証に関する構成]
図21は、上述の処理を実行する、本実施形態に係る遊技機を構成する主制御部110の認証処理に関する構成を示す機能ブロック図である。主制御部110は、制御コマンド出力部500と、誤り検査値生成部810と、付加部550と、送信部560とを備えている。さらに、誤り検査値生成部810は、制御部820と、誤り検査値演算部830と、誤り検査値記憶部840とから構成される。主制御部110を構成する各機能ブロックは、例えば、図4に示す、メインCPU110a、メインROM110b、およびメインRAM110c等の主制御部110が有する各部材を適宜組み合わせて構成される。
図21は、上述の処理を実行する、本実施形態に係る遊技機を構成する主制御部110の認証処理に関する構成を示す機能ブロック図である。主制御部110は、制御コマンド出力部500と、誤り検査値生成部810と、付加部550と、送信部560とを備えている。さらに、誤り検査値生成部810は、制御部820と、誤り検査値演算部830と、誤り検査値記憶部840とから構成される。主制御部110を構成する各機能ブロックは、例えば、図4に示す、メインCPU110a、メインROM110b、およびメインRAM110c等の主制御部110が有する各部材を適宜組み合わせて構成される。
制御コマンド出力部500は、中間制御部180に今回送信する制御コマンドを生成し、誤り検査値生成部810の制御部820および誤り検査値演算部830、ならびに付加部550に出力する。付加部550は、制御コマンド出力部500から出力された今回送信する制御コマンドに、誤り検査値生成部810から今回出力された誤り検査値を付加して、中間制御部180へと送信する制御コマンド情報を生成する。送信部560は、制御コマンド情報を中間制御部180へと送信する。
誤り検査値生成部810は、制御コマンドを予め複数のグループに分類しており、今回送信する制御コマンドがいずれのグループに属するかを識別する。そして、誤り検査値生成部810は、取得した制御コマンドを用いて複数の生成方式で誤り検査値を生成しこれを記憶しておく。誤り検査値を記憶する際に、この誤り検査値の生成元となった制御コマンドが属するグループに対応するようにグループに分類するとともに、いずれの生成方式で生成されたものかがわかるように記憶する。さらに、誤り検査値生成部810は、今回送信される制御コマンドが属するグループに対応するグループに属する誤り検査値の中の過去に生成された誤り検査値のうち、過去に送信された制御コマンドによって決定された生成方式で生成された誤り検査値を付加部550に出力する。本実施形態では、制御コマンドおよび誤り検査値を2つのグループ(グループAとグループB)に分類する例について説明する。また、本実施形態では、制御コマンド出力部500によって今回出力された制御コマンドのグループに対応するグループに属する誤り検査値のうち、当該制御コマンドを用いて生成された誤り検査値を基準として1個前に生成された誤り検査値を付加部550に出力する例について説明する。また、本実施形態では、制御コマンド出力部500によって今回出力された制御コマンドに基づいて、当該制御コマンドが属するグループと同一のグループに属する制御コマンドのうち次回出力される制御コマンドに付加される誤り検査値の生成方式を決定する例について説明する。
制御部820は、制御コマンド出力部500から出力された制御コマンドがいずれのグループに属するかを識別する。そして、制御部820は、識別結果に基づいて、この制御コマンドに関するグループ情報を誤り検査値記憶部840に出力する。
また、制御部820は、制御コマンド出力部500から今回出力された制御コマンド、すなわち、主制御部110が今回送信する制御コマンドに基づいて、当該制御コマンドと同一のグループに属する制御コマンドのうち次回送信する制御コマンドに付加する誤り検査値の生成方式を、複数の誤り検査値の生成方式(本実施形態では2つの誤り検査値の生成方式)から決定する。制御部820は、決定した生成方式の情報をグループ毎に記憶する生成方式記憶領域を有し、各グループの生成方式の情報を個別に記憶している。
また、制御部820は、いずれのグループに属し、いずれの生成方式で生成された誤り検査値を誤り検査値記憶部840が出力すべきかを示す制御信号(以下、出力制御信号という)をすでに決定されている結果に応じて生成し、誤り検査値記憶部840に出力する。
ここで、本実施形態においても、制御部820は、今回送信する制御コマンドが所定の制御コマンドである場合に、当該制御コマンドが属するグループの生成方式を変更する。例えば、グループAにおいて今回の誤り検査値が方式αで生成されたものである場合、すなわち、生成方式記憶領域の生成方式の情報が方式αの場合、次回の生成方式を方式βに決定し、生成方式記憶領域の生成方式の情報を更新する。一方、制御部820は、今回送信する制御コマンドが所定の制御コマンドではない場合に、誤り検査値の生成方式を継続する。例えば、グループAにおいて今回の誤り検査値が方式αで生成されたものである場合、すなわち、生成方式記憶領域の生成方式の情報が方式αの場合、次回の生成方式を方式αに決定し、生成方式記憶領域の生成方式の情報を継続する。
制御部820の機能を実現する具体的な手段は、例えば、図4に示すメインCPU110a、メインROM110bの一部、およびメインRAM110cの一部から構成することができる。より具体的には、メインCPU110aは、メインRAM110cをワークエリアとして、今回出力された制御コマンド(コマンドデータ)、およびメインROM110bに予め記憶されているプログラムに基づき、この制御コマンドがいずれのグループに属するかを識別する。また、メインCPU110aは、メインRAM110cをワークエリアとして、今回出力された制御コマンド(コマンドデータ)、およびメインROM110bに予め記憶されているプログラムに基づき、メインRAM110cの生成方式記憶領域に記憶されている生成方式の情報を更新する。また、メインCPU110aは、グループ情報および生成方式の情報に基づき、メインRAM110cに出力制御信号を出力する。
誤り検査値演算部830は、複数の誤り検査値の生成方式、本実施形態では2つの誤り検査値の生成方式(方式α、方式β)で誤り検査値を生成可能であり、制御コマンド出力部500から出力された今回送信する制御コマンドを用いて、上記複数の生成方式のそれぞれで誤り検査値を生成する。すなわち、複数の生成方式のそれぞれに対応する複数種類の誤り検査値を生成する。さらに、誤り検査値演算部830は、生成した複数種類の誤り検査値を誤り検査値記憶部840へと出力する。この際に、誤り検査値演算部830は、誤り検査値の生成方式がいずれの生成方式か分かる状態で(例えば、生成方式を示す識別ビットを付与して)出力する。誤り検査値演算部830の機能を実現する具体的な手段は、例えば、図4に示すメインCPU110a、メインROM110bの一部、およびメインRAM110cの一部から構成することができる。より具体的には、メインCPU110aは、メインRAM110cをワークエリアとして、メインROM110bに予め記憶されているプログラムに基づき、誤り検査値を生成し、出力する。
誤り検査値記憶部840は、誤り検査値演算部830から出力された誤り検査値を記憶するとともに、今回送信される誤り検査値を付加部550に出力する。詳細には、誤り検査値記憶部840は、制御部820から出力されたグループ情報に基づいて、誤り検査値演算部830から今回出力された2種類の誤り検査値を、その生成元となった制御コマンドのグループに対応させて分類して1セットとして記憶する。具体的には、誤り検査値記憶部840は、検査値記憶領域を含み、この検査値記憶領域は、グループAに属する制御コマンドから生成された誤り検査値を記憶する検査値記憶領域Aと、グループBに属する制御コマンドから生成された誤り検査値を記憶する検査値記憶領域Bとに分かれている。すなわち、誤り検査値記憶部840は、誤り検査値演算部830から今回出力された誤り検査値を、その生成元となった制御コマンドのグループ情報に基づいて当該制御コマンドが属するグループに対応させてグループ分けし、そのグループに対応する検査値記憶領域に1セットとして記憶する。その際に、誤り検査値記憶部840は、いずれの生成方式で生成された誤り検査値か分かるように記憶する。
また、誤り検査値記憶部840は、制御部820から出力された出力制御信号に基づいて、今回送信する制御コマンドと同一のグループに属する制御コマンドのうち1個前に送信された制御コマンドを用いて生成された誤り検査値であって、制御部820によって決定された生成方式で生成された誤り検査値を付加部550に出力する。
誤り検査値記憶部840の機能を実現する具体的な手段は、例えば、図4に示すメインCPU110a、メインRAM110cに設けられる検査値記憶領域等である。より具体的には、メインCPU110aは、メインRAM110cをワークエリアとして、今回出力された制御コマンドのグループ情報、およびメインROM110bに予め記憶されているプログラムに基づき、この制御コマンドが属するグループに対応する検査値記憶領域にこの制御コマンドから生成された誤り検査値を記憶する。さらに、この制御コマンドが属するグループに対応する検査値記憶領域に記憶された誤り検査値のうち、今回出力され記憶された誤り検査値を基準として1個前に記憶された誤り検査値であって、生成方式記憶領域に記憶された生成方式で生成された誤り検査値を今回送信する誤り検査値として取得する。
このように構成された主制御部110の各構成部の動作の概略を説明する。遊技機1の電源が投入され、主制御部110のメインCPU110aが初期化処理を行った後、制御コマンド出力部500は、中間制御部180を介して演出制御部120に今回送信する制御コマンドを生成し、誤り検査値生成部810および付加部550に出力する。
誤り検査値生成部810は、出力された今回送信される制御コマンドがいずれのグループに属するかを識別する。また、誤り検査値生成部810は、今回送信される制御コマンドを用いて複数の生成方式で誤り検査値を生成しこれを記憶するが、その際に、上記識別結果に基づいて、生成元となった制御コマンドが属するグループに対応するように分類して記憶する。さらに、誤り検査値生成部810は、今回送信される制御コマンドから生成された誤り検査値と同一のグループに属する誤り検査値のうち1個前に送信された制御コマンドの誤り検査値であって、既に決定された生成方式で生成された誤り検査値を付加部550に出力する。また、誤り検査値生成部810は、今回送信される制御コマンドに基づいて、当該制御コマンドと同一のグループに属する制御コマンドのうち次回送信される制御コマンドに付加される誤り検査値の生成方式を決定する。
付加部550は、制御コマンド出力部500から出力された今回送信する制御コマンドに、誤り検査値生成部810から出力された今回送信する誤り検査値を付加して制御コマンド情報を生成し、送信部560へ送る。
送信部560は、付加部550から受け取った制御コマンド情報を中間制御部180へと送信する。
誤り検査値生成部810は、出力された今回送信される制御コマンドがいずれのグループに属するかを識別する。また、誤り検査値生成部810は、今回送信される制御コマンドを用いて複数の生成方式で誤り検査値を生成しこれを記憶するが、その際に、上記識別結果に基づいて、生成元となった制御コマンドが属するグループに対応するように分類して記憶する。さらに、誤り検査値生成部810は、今回送信される制御コマンドから生成された誤り検査値と同一のグループに属する誤り検査値のうち1個前に送信された制御コマンドの誤り検査値であって、既に決定された生成方式で生成された誤り検査値を付加部550に出力する。また、誤り検査値生成部810は、今回送信される制御コマンドに基づいて、当該制御コマンドと同一のグループに属する制御コマンドのうち次回送信される制御コマンドに付加される誤り検査値の生成方式を決定する。
付加部550は、制御コマンド出力部500から出力された今回送信する制御コマンドに、誤り検査値生成部810から出力された今回送信する誤り検査値を付加して制御コマンド情報を生成し、送信部560へ送る。
送信部560は、付加部550から受け取った制御コマンド情報を中間制御部180へと送信する。
図22は、本発明の第2の実施形態に係る遊技機を構成する中間制御部180の認証処理に関する構成を示す機能ブロック図である。演出制御部120は、受信部600と、誤り検査値生成部910と、誤り検査部650と、付加部660と、送信部670とを備えている。さらに、誤り検査値生成部910は、制御部920と、誤り検査値演算部930と、誤り検査値記憶部940とから構成される。演出制御部120を構成する各機能ブロックは、図4に示す、CPU180a、ROM180b、およびRAM180c等の各部材を適宜組み合わせて構成される。
受信部600は、受信データ用記憶領域を有し、主制御部110から受信した制御コマンド情報を受信データ用記憶領域に書き込む。また、受信部600は、受信した制御コマンド情報に含まれる今回受信した制御コマンドを誤り検査値生成部910へ、今回受信した制御コマンドに付加された誤り検査値を誤り検査部650へと出力する。誤り検査部650は、受信部600から送られた今回受信した制御コマンドに付加された誤り検査値と、誤り検査値生成部910から送られた前回受信した制御コマンドを用いて生成された誤り検査値とを用いて誤り検査を行い、その結果である認証結果データを生成して付加部660へと出力する。付加部660は、送信された今回受信した制御コマンドに認証結果データを付加して認証結果データ付き制御コマンドを生成し、送信部670へと出力する。送信部670は、送られた認証結果データ付き制御コマンドを演出制御部120へと送信する。
誤り検査値生成部910は、制御コマンドを予め複数(本実施形態では2つ)のグループに分類しており、今回受信した制御コマンドがいずれのグループに属するかを識別する。そして、誤り検査値生成部910は、取得した制御コマンドを用いて複数の生成方式で誤り検査値を生成しこれを記憶しておく。誤り検査値を記憶する際に、この誤り検査値の生成元となった制御コマンドが属するグループに対応するようにグループに分類するとともに、いずれの生成方式で生成されたものかがわかるように記憶する。さらに、誤り検査値生成部910は、当該制御コマンドが属するグループに対応するグループに属する誤り検査値のうち過去(本実施形態では1個前)に生成された誤り検査値のうち、過去に送信された制御コマンドによって決定された生成方式で生成された誤り検査値を誤り検査部650に出力する。
制御部920は、受信部600から出力された制御コマンドがいずれのグループに属するかを識別する。そして、制御部920は、識別結果に基づいて、この制御コマンドに関するグループ情報を誤り検査値記憶部940に出力する。
また、制御部920は、受信部600から今回出力された制御コマンド、すなわち、中間制御部180が今回受信した制御コマンドに基づいて、当該制御コマンドと同一のグループに属する制御コマンドのうち次回受信する制御コマンドに関する誤り検査に用いられる誤り検査値の生成方式を、2つの誤り検査値の生成方式から決定する。制御部920は、決定した生成方式の情報をグループ毎に記憶する生成方式記憶領域を有し、各グループの生成方式の情報を個別に記憶している。
また、制御部920は、いずれのグループに属し、いずれの生成方式で生成された誤り検査値を誤り検査値記憶部940が出力すべきかを示す出力制御信号をすでに決定されている結果に応じて生成し、誤り検査値記憶部940に出力する。
制御部920の機能を実現する具体的な手段は、例えば、図4に示すCPU180a、ROM180bの一部、およびRAM180cの一部から構成することができる。より具体的には、CPU180aは、RAM180cをワークエリアとして、今回受信された制御コマンド(コマンドデータ)、およびROM180bに予め記憶されているプログラムに基づき、この制御コマンドがいずれのグループに属するかを識別する。また、CPU180aは、RAM180cをワークエリアとして、今回受信された制御コマンド(コマンドデータ)、およびROM180bに予め記憶されているプログラムに基づき、RAM180cの生成方式記憶領域に記憶されている生成方式の情報を更新する。また、CPU180aは、グループ情報および生成方式の情報に基づき、RAM180cに出力制御信号を出力する。
誤り検査値演算部930は、2つの誤り検査値の生成方式(方式α、方式β)で誤り検査値を生成可能であり、受信部600から出力された今回受信された制御コマンドを用いて、上記2つの生成方式のそれぞれで誤り検査値を生成する。すなわち、2つの生成方式のそれぞれに対応する2種類の誤り検査値を生成する。さらに、誤り検査値演算部930は、生成した2種類の誤り検査値を誤り検査値記憶部940へと出力する。この際に、誤り検査値演算部930は、誤り検査値の生成方式がいずれの生成方式か分かる状態で(例えば、生成方式を示す識別ビットを付与して)出力する。誤り検査値演算部930の機能を実現する具体的な手段は、例えば、図4に示すCPU180a、ROM180bの一部、およびRAM180cの一部から構成することができる。より具体的には、CPU180aは、RAM180cをワークエリアとして、ROM180bに予め記憶されているプログラムに基づき、誤り検査値を生成し、出力する。
誤り検査値記憶部940は、誤り検査値演算部930から出力された誤り検査値を記憶するとともに、今回の誤り検査に用いられる誤り検査値を誤り検査部650に出力する。詳細には、誤り検査値記憶部940は、制御部920から出力されたグループ情報に基づいて、誤り検査値演算部930から今回出力された2種類の誤り検査値を、その生成元となった制御コマンドのグループに対応させて分類して1セットとして記憶する。具体的には、誤り検査値記憶部940は、検査値記憶領域を含み、この検査値記憶領域は、グループAに属する制御コマンドから生成された誤り検査値を記憶する検査値記憶領域Aと、グループBに属する制御コマンドから生成された誤り検査値を記憶する検査値記憶領域Bとに分かれている。すなわち、誤り検査値記憶部940は、誤り検査値演算部930から今回出力された誤り検査値を、その生成元となった制御コマンドのグループ情報に基づいて当該制御コマンドが属するグループに対応させてグループ分けし、そのグループに対応する検査値記憶領域に1セットとして記憶する。その際に、誤り検査値記憶部940は、いずれの生成方式で生成された誤り検査値か分かるように記憶する。
また、誤り検査値記憶部940は、制御部920から出力された出力制御信号に基づいて、今回送信された制御コマンドと同一のグループに属する制御コマンドのうち1個前に送信された制御コマンドを用いて生成された誤り検査値であって、制御部920によって決定された生成方式で生成された誤り検査値を誤り検査部650に出力する。
誤り検査値記憶部940の機能を実現する具体的な手段は、例えば、図4に示すCPU180a、RAM180cに設けられる検査値記憶領域等である。より具体的には、CPU180aは、RAM180cをワークエリアとして、今回受信された制御コマンドのグループ情報、およびROM180bに予め記憶されているプログラムに基づき、この制御コマンドが属するグループに対応する検査値記憶領域にこの制御コマンドから生成された誤り検査値を記憶する。さらに、この制御コマンドが属するグループに対応する検査値記憶領域に記憶された誤り検査値のうち、今回出力され記憶された誤り検査値を基準として1個前に記憶された誤り検査値であって、生成方式記憶領域に記憶された生成方式で生成された誤り検査値を今回誤り検査に用いる誤り検査値として取得する。
このように構成された中間制御部180の各構成部の動作の概略を説明する。遊技機1の電源が投入され、主制御部110のメインCPU110aが初期化処理を行った後、主制御部110は制御コマンドの出力を開始し、中間制御部180に制御コマンド情報を送信する。受信部600は、制御コマンド情報を受信して、受信した制御コマンド情報の制御コマンドを誤り検査値生成部910に、誤り検査値を誤り検査部650に出力する。
誤り検査値生成部910は、出力された今回受信した制御コマンドがいずれのグループに属するかを識別する。また、誤り検査値生成部910は、今回受信した制御コマンドを用いて複数の生成方式で誤り検査値を生成しこれを記憶するが、その際に、上記識別結果に基づいて、生成元となった制御コマンドが属するグループに対応するように分類して記憶する。さらに、誤り検査値生成部910は、今回受信した制御コマンドから生成された誤り検査値と同一のグループに属する誤り検査値のうち1個前に生成された誤り検査値であって、既に決定された生成方式で生成された誤り検査値を誤り検査部650に出力する。また、誤り検査値生成部910は、今回受信された制御コマンドに基づいて、当該制御コマンドと同一のグループに属する制御コマンドのうち次回受信される制御コマンドに対する認証処理に用いられる誤り検査値の生成方式を決定する。
誤り検査部650は、受信部600から出力された今回受信された制御コマンドに付加された誤り検査値と、誤り検査値生成部910から出力された前回受信された制御コマンドを用いて生成された誤り検査値とを用いて誤り検査を行う。
付加部660は、受信部600から出力された、今回中間制御部180で受信した制御コマンドに、誤り検査部650から出力された認証結果データを付加して、演出制御部120へ送信する認証結果データ付き制御コマンドを生成し、送信部670に出力する。
送信部670は、付加部660から出力された認証結果データ付き制御コマンドを演出制御部120へと送信する。
誤り検査値生成部910は、出力された今回受信した制御コマンドがいずれのグループに属するかを識別する。また、誤り検査値生成部910は、今回受信した制御コマンドを用いて複数の生成方式で誤り検査値を生成しこれを記憶するが、その際に、上記識別結果に基づいて、生成元となった制御コマンドが属するグループに対応するように分類して記憶する。さらに、誤り検査値生成部910は、今回受信した制御コマンドから生成された誤り検査値と同一のグループに属する誤り検査値のうち1個前に生成された誤り検査値であって、既に決定された生成方式で生成された誤り検査値を誤り検査部650に出力する。また、誤り検査値生成部910は、今回受信された制御コマンドに基づいて、当該制御コマンドと同一のグループに属する制御コマンドのうち次回受信される制御コマンドに対する認証処理に用いられる誤り検査値の生成方式を決定する。
誤り検査部650は、受信部600から出力された今回受信された制御コマンドに付加された誤り検査値と、誤り検査値生成部910から出力された前回受信された制御コマンドを用いて生成された誤り検査値とを用いて誤り検査を行う。
付加部660は、受信部600から出力された、今回中間制御部180で受信した制御コマンドに、誤り検査部650から出力された認証結果データを付加して、演出制御部120へ送信する認証結果データ付き制御コマンドを生成し、送信部670に出力する。
送信部670は、付加部660から出力された認証結果データ付き制御コマンドを演出制御部120へと送信する。
[遊技機の動作処理]
次に、上記構成の遊技機の動作処理について、図面を参照して説明する。
本実施形態において主制御部110による処理は、第1の実施形態と制御コマンド送信処理のみが異なる。よって、以下、制御コマンド送信処理について説明する。図23は、主制御部110による制御コマンド送信処理の手順の一例を示すフローチャートである。
次に、上記構成の遊技機の動作処理について、図面を参照して説明する。
本実施形態において主制御部110による処理は、第1の実施形態と制御コマンド送信処理のみが異なる。よって、以下、制御コマンド送信処理について説明する。図23は、主制御部110による制御コマンド送信処理の手順の一例を示すフローチャートである。
図9の主制御部110のメイン処理のステップS10の初期化処理における制御コマンド送信処理のタイミングや、図10の主制御部110のタイマ割込み処理の制御コマンド送信処理のタイミングになったら、ステップS721において、制御コマンド出力部500は、今回送信する制御コマンドが送信データ用記憶領域にセットされているかを参照することで、制御コマンドの送信タイミングかを判断する。制御コマンドがセットされている場合は、制御コマンド出力部500は、制御コマンドの送信タイミングであると判断する。そして、制御コマンド出力部500は、当該制御コマンドを誤り検査値生成部810の制御部820および制御コマンド記憶部830ならびに付加部550に出力し、ステップS722へと進む。制御コマンドがセットされていない場合は、制御コマンドの送信タイミングではないと判断し、制御コマンド送信処理を終了する。具体的には、メインCPU110aは、メインRAM110cの送信データ用記憶領域に、今回送信する制御コマンドが記憶されている場合、制御コマンドの送信タイミングであると判断し、当該制御コマンドを取得する。
続いて、ステップS722において、制御部820は、制御コマンド出力部500が今回出力した制御コマンド、すなわち今回送信する制御コマンドを取得し、この制御コマンドがいずれのグループに属するかを識別する。さらに、この識別結果をグループ情報として誤り検査値記憶部840に出力する。
続いて、ステップS723において、誤り検査値演算部830は、取得した制御コマンドを用いて、2つの誤り検査値の生成方式である方式α、方式βのそれぞれで誤り検査値を生成する。そして、誤り検査値演算部830は、生成した誤り検査値を誤り検査値記憶部840に出力する。
続いて、ステップS724において、誤り検査値記憶部840は、誤り検査値演算部830から出力された2種類の誤り検査値を取得し、これらを1セットとして検査値記憶領域に記憶する。この際に、誤り検査値記憶部840は、当該誤り検査値に関するグループ情報に基づいて、当該誤り検査値が属するグループに対応する検査値記憶領域に、これら2種類の誤り検査値を記憶する。より具体的には、メインCPU110aは、生成元の制御コマンドがグループAに属する場合はメインRAM110cの検査値記憶領域Aに記憶し、生成元の制御コマンドがグループBに属する場合はメインRAM110cの検査値記憶領域Bに記憶する。
続いて、ステップS725において、先ず、制御部820は、今回送信すべき誤り検査値の生成方式の情報と、今回送信する制御コマンドに関するグループ情報を参照して、今回送信する誤り検査値を指示すべく出力制御信号を誤り検査値記憶部840に出力する。そして、誤り検査値記憶部840は、制御部820によって出力された出力制御信号に基づいて、今回送信すべき誤り検査値を付加部550に出力する。このようにして、付加部550は、誤り検査値記憶部840から今回送信する誤り検査値を取得する。
続いて、ステップS726において、制御部820は、制御コマンド出力部500が今回出力した制御コマンドと、生成方式記憶領域に記憶されている生成方式(今回の生成方式)の情報とに基づいて、当該制御コマンドが属するグループに関する生成方式を決定する。具体的には、例えば、今回送信する制御コマンドがグループAに属する所定の制御コマンドであり、今回の生成方式が方式αである場合、制御部820は、グループAに関する次回の生成方式を方式βに決定する。また、例えば、今回送信する制御コマンドがグループAに属する所定の制御コマンド以外の制御コマンドであり、今回の生成方式が方式αである場合、制御部820は、グループAに関する次回の生成方式を方式αに決定する。
続いて、ステップS727において、制御部820は、決定した生成方式の情報を記憶する。具体的には、制御部820は、決定した結果に応じて、今回送信する制御コマンドが属するグループに対応する生成方式記憶領域に記憶されている次回の誤り検査値の生成方式の情報を更新する。
続いて、ステップS728において、付加部550は、制御コマンド出力部500から出力された今回送信する制御コマンドに、誤り検査値記憶部840から出力された誤り検査値を付加して制御コマンド情報を生成し、送信部560に出力する。
続いて、ステップS729において、送信部560は、付加部550が生成した制御コマンド情報を受け取って中間制御部180に送信した後、本フローチャートによる処理を終了する。
続いて、ステップS729において、送信部560は、付加部550が生成した制御コマンド情報を受け取って中間制御部180に送信した後、本フローチャートによる処理を終了する。
なお、今回送信した制御コマンドの誤り検査値を記憶するステップS724は、ステップS723以降であればどこで行ってもよい。例えば、ステップS725の今回送信する誤り検査値を取得するステップの後に行ってもよく、この場合、誤り検査値記憶部840は各グループに1セットずつの誤り検査値のみを記憶しておけばよい。
以下、中間制御部180の処理について、図24に示すフローチャートを参照して説明する。図24は、中間制御部180による認証処理を含むメイン処理の手順の一例を示すフローチャートである。
ステップS921において、CPU180aは、初期化処理を行う。この処理において、CPU180aは、電源投入に応じて、ROM180bからメイン処理に関するプログラムコードを読み込む。これとともに、CPU180aは、RAM180cに記憶されるフラグなどを初期化し、所定値に設定する処理を行う。
続いて、ステップS922において、CPU180aは、受信部600の受信データ用記憶領域に制御コマンド情報が記憶されているか否かを確認して、制御コマンド情報を受信したか否かを判定する。CPU180aは、受信データ用記憶領域に制御コマンド情報が記憶されていなければ本ステップを繰り返し、受信データ用記憶領域に制御コマンド情報が記憶されていればステップS923に処理を移す。
続いて、ステップS923において、中間制御部180の受信部600は、受信データ用記憶領域に記憶されている制御コマンド情報から制御コマンドおよび誤り検査値を取得する。また、受信部600は、今回受信した制御コマンドを制御部920、誤り検査値演算部930、および付加部660へ、取得した誤り検査値を誤り検査部650へと出力する。
続いて、ステップS924において、制御部920は、今回受信した制御コマンドを取得し、この制御コマンドがいずれのグループに属するかを識別する。さらに、この識別結果をグループ情報として誤り検査値記憶部940に出力する。
続いて、ステップS925において、誤り検査値演算部930は、取得した制御コマンドを用いて、2つの誤り検査値の生成方式である方式α、方式βのそれぞれで誤り検査値を生成する。そして、誤り検査値演算部930は、生成した誤り検査値を誤り検査値記憶部940に出力する。
続いて、ステップS926において、誤り検査値記憶部940は、誤り検査値演算部930から出力された2種類の誤り検査値を取得し、これらを1セットとして検査値記憶領域に記憶する。この際に、誤り検査値記憶部940は、当該誤り検査値に関するグループ情報に基づいて、当該誤り検査値が属するグループに対応する検査値記憶領域に、これら2種類の誤り検査値を記憶する。より具体的には、サブCPU120aは、生成元の制御コマンドがグループAに属する場合はサブRAM120cの検査値記憶領域Aに記憶し、生成元の制御コマンドがグループBに属する場合はサブRAM120cの検査値記憶領域Bに記憶する。
続いて、ステップS927において、先ず、制御部920は、今回誤り検査に用いるべき誤り検査値の生成方式の情報と、今回受信された制御コマンドに関するグループ情報を参照して、今回誤り検査に用いる誤り検査値を指示すべく出力制御信号を誤り検査値記憶部940に出力する。そして、誤り検査値記憶部940は、制御部820によって出力された出力制御信号に基づいて、今回誤り検査に用いるべき誤り検査値を誤り検査部650に出力する。このようにして、誤り検査部650は、誤り検査値記憶部940から今回誤り検査に用いる誤り検査値を取得する。
続いて、ステップS928において、制御部920は、受信部600が今回出力した制御コマンド(今回受信された制御コマンド)と、生成方式記憶領域に記憶されている生成方式(今回の生成方式)の情報とに基づいて、当該制御コマンドが属するグループに関する生成方式を決定する。具体的には、例えば、今回受信された制御コマンドがグループAに属する所定の制御コマンドであり、今回の生成方式が方式αである場合、制御部920は、グループAに関する次回の生成方式を方式βに決定する。また、例えば、今回受信された制御コマンドがグループAに属する所定の制御コマンド以外の制御コマンドであり、今回の生成方式が方式αである場合、制御部920は、グループAに関する次回の生成方式を方式αに決定する。
続いて、ステップS929において、制御部920は、決定した生成方式の情報を記憶する。具体的には、制御部920は、決定した結果に応じて、今回受信した制御コマンドが属するグループに対応する生成方式記憶領域に記憶されている次回の誤り検査値の生成方式の情報を更新する。
続いて、ステップS930において、誤り検査部650は、ステップS927で取得した誤り検査値と、誤り検査値生成部910が今回受信した誤り検査値とを照合し、誤り検査を行う。
続いて、ステップS931において、誤り検査の結果、2つの誤り検査値が同一の場合は、誤り検査部650は、今回受信した制御コマンドの正当性の認証が成功であると判断し(ステップS931の結果がYES)、ステップS932へ進み、制御コマンドの正当性の認証が成功したことを示す認証結果データを生成し、付加部660へ出力する。非同一の場合は、誤り検査部650は、認証が不成功であると判断し(ステップS931の結果がNO)、ステップS933へ進み、制御コマンドの正当性の認証が不成功であったことを示す認証結果データを生成し、付加部660へ出力する。
続いて、ステップS931において、誤り検査の結果、2つの誤り検査値が同一の場合は、誤り検査部650は、今回受信した制御コマンドの正当性の認証が成功であると判断し(ステップS931の結果がYES)、ステップS932へ進み、制御コマンドの正当性の認証が成功したことを示す認証結果データを生成し、付加部660へ出力する。非同一の場合は、誤り検査部650は、認証が不成功であると判断し(ステップS931の結果がNO)、ステップS933へ進み、制御コマンドの正当性の認証が不成功であったことを示す認証結果データを生成し、付加部660へ出力する。
続いて、ステップS934において、付加部660は、受信部600から出力された今回受信した制御コマンドに、誤り検査部650から出力された認証結果データを付加して、認証結果データ付き制御コマンドを生成し、送信部670に出力する。
続いて、ステップS935において、送信部670は、付加部660から出力された認証結果データ付き制御コマンドを演出制御部120へ送信する。その後、ステップS922へと戻り、以下のステップS922からステップS935に係る認証処理を繰り返し行う。
続いて、ステップS935において、送信部670は、付加部660から出力された認証結果データ付き制御コマンドを演出制御部120へ送信する。その後、ステップS922へと戻り、以下のステップS922からステップS935に係る認証処理を繰り返し行う。
なお、今回受信した制御コマンドの誤り検査値を記憶するステップS926は、ステップS925以降であればどこで行ってもよい。例えば、ステップS927の今回誤り検査に用いる誤り検査値を取得するステップの後に行ってもよく、この場合、誤り検査値記憶部940は各グループに1セットずつの誤り検査値のみを記憶しておけばよい。
また、本実施形態においても、第1の実施形態同様に、主制御部110と払出制御部130との間で認証処理を行う場合も、主制御部110と演出制御部120との間の認証処理とほぼ同様の手順で行われるため説明を省略する。
以上のように、本実施形態では、主制御部110は、制御コマンドの誤り検査値をグループに分類して記憶している。そして主制御部110は、今回送信する制御コマンドがいずれのグループに属するかを識別し、この制御コマンドと同一のグループに属する誤り検査値のうち今回送信する制御コマンドの誤り検査値の1つ前に生成した誤り検査値を今回送信する制御コマンドに付加して制御コマンド情報として中間制御部180に送信する。主制御部110は、今回送信する制御コマンドに応じて当該制御コマンドが属するグループの生成方式を決定する。一方、中間制御部180は、制御コマンドの誤り検査値をグループに分類して記憶している。そして中間制御部180は、今回受信した制御コマンドがいずれのグループに属するかを識別し、この制御コマンドが属するグループに対応するグループに属する誤り検査値のうち、この今回受信した制御コマンドの誤り検査値の1つ前に生成した誤り検査値と今回受信した制御コマンド情報に含まれる誤り検査値とを照合して誤り検査を行う。中間制御部180は、今回受信した制御コマンドに応じて当該制御コマンドが属するグループの生成方式を決定する。すなわち、本実施形態では、過去に送信した制御コマンドの誤り検査値を今回送信する制御コマンドに付加して、主制御部110から中間制御部180に送信している。
上述のように構成される本実施形態の遊技機も第1の実施形態の遊技機1と同様の効果を得ることができる。さらに、今回送信する制御コマンドに応じて、当該制御コマンドと同一のグループに属する誤り検査値のうちM個後に送信する誤り検査値の生成方式を決定することにより、制御コマンドとそれに付加された誤り検査値との関係をより解析困難とすることができる。これにより、不正者が制御コマンド情報を取得したとしても、不正を行うことをより困難とすることができる。
なお、本実施形態では、一例としてM=1の場合について説明したが、Mが2以上の場合に本実施形態と同様に本発明を実現することができる。具体的には、例えば、グループ毎にMビットのシフトレジスタを設け、0を方式α、1を方式βに対応させて、シフトレジスタの各ビットに生成方式の情報をグループ毎に記憶しておく。そして、誤り検査値生成部は、今回送信する(今回誤り検査に用いる)誤り検査値の生成方式を決定する際に、今回のグループに対応するシフトレジスタの1ビットの値を参照し、今回送信する誤り検査値の生成方式を特定する。さらに、誤り検査値生成部は、今回送信する(今回受信した)制御コマンドに基づいて、当該制御コマンドがと同一のグループに属する誤り検査値のうちM回後に送信する(M回後に誤り検査に用いる)誤り検査値の生成方式を決定し、当該グループに対応するシフトレジスタの値を更新し、決定した生成方式の情報をシフトレジスタのMビットにセットする。
また、本実施形態では、誤り検査値生成部810は、各制御コマンドについて複数の誤り検査値を生成し、これらを1セットとして誤り検査値記憶部840に記憶している。また、誤り検査値生成部810は、今回送信する制御コマンドに基づいて次回送信する誤り検査値を決定し、この決定に応じて、次回送信する誤り検査値を制御するための出力制御信号を制御部820から誤り検査値記憶部840へ出力している。そして、誤り検査値記憶部840は、出力制御信号に応じて、既に決定されているグループおよび生成方式の誤り検査値を出力している。しかしながら、本実施形態はこれに限定されず、誤り検査値生成部810は、今回送信する制御コマンドに基づいて当該制御コマンドが属するグループにおいて次回送信する誤り検査値の生成方式を決定し、この決定に応じた生成方式のみで誤り検査値を生成し、これを記憶するようにしてもよい。具体的には、制御部820は、今回送信する制御コマンドに基づいて、当該制御コマンドが属するグループにおいて次回送信する誤り検査値がいずれの生成方式で生成された誤り検査値であるかを特定する。そして、制御部820は、特定した結果に基づいて、生成方式を制御するための生成方式制御信号を誤り検査値演算部830に出力する。誤り検査値演算部830は、生成方式制御信号に応じた生成方式のみで誤り検査値を生成して誤り検査値記憶部840に出力する。誤り検査値記憶部840は、制御部820から出力されたグループ情報に応じて、今回送信する制御コマンドが属するグループに対応する検査値記憶領域に誤り検査値を記憶する。なお、中間制御部180の誤り検査値生成部910も同様である。
なお、本実施形態では、誤り検査値記憶部を設け、今回送信する(受信した)制御コマンドを用いて生成した複数種類の誤り検査値を保存しておくように構成したが、これに限定されない。例えば、第1の実施形態のように、制御コマンド記憶部を設け、これに制御コマンドを記憶しておき、誤り検査値を送信する(誤り検査を行う)際に、記憶しておいた前回送信した(受信した)制御コマンドを用いて今回送信する(誤り検査に用いる)誤り検査値を生成するように構成してもよい。
以上、本発明の遊技機の一例である各実施形態について詳細に説明したが、本発明の遊技機は上記実施形態に限定されない。例えば、上記実施形態では、誤り検査値の生成方式は方式αと、方式βの2つの方式を例として説明したが、本発明はこれに限定されず、誤り検査値生成部は、3つ以上の複数の生成方式で誤り検査値を生成可能に構成してもよい。
また、上記実施形態では、誤り検査値生成部は、今回送信する(受信した)制御コマンドに基づいて、当該制御コマンドと同一のグループに属する誤り検査値のうち、今回またはM個後に送信する(誤り検査に用いる)誤り検査値の生成方式を決定していた。そして、決定した生成方式の情報を生成方式記憶領域に記憶し、この情報に応じて送信する(誤り検査に用いる)誤り検査値の生成方式を特定するとした。しかし、本発明はこれに限定されず、例えば、今回送信する(受信した)制御コマンドに基づいて、当該制御コマンドと同一のグループに属する誤り検査値のうち、今回(M個後)に送信する(誤り検査に用いる)誤り検査値の生成方式を切替えるか否かの情報を生成方式記憶領域に記憶するように構成してもよい。そして、この切替えるか否かの情報を参照して今回送信する(誤り検査に用いる)誤り検査値の生成方式を切替えるか否かを特定するようにしてもよい。いずれにせよ、誤り検査値生成部は、今回送信する(受信した)制御コマンドに基づいて誤り検査値の生成方式を決定しているのである。
また、この場合、あるグループに属する誤り検査値のうちm個後に送信する(誤り検査に用いる)誤り検査値の生成方式を切替える際に、同グループのm−1個後に送信する(誤り検査に用いる)誤り検査値の生成方式を参照して、m個後に送信する(誤り検査に用いる)誤り検査値の生成方式を決定しているがこれに限定されず、同グループのm−q個後に送信する(誤り検査に用いる)誤り検査値の生成方式を参照して決定するようにしてもよい(mは2以上の整数、qはm未満の正整数)。すなわち、今回送信する(誤り検査に用いる)誤り検査値の生成方式を決定する際に、同グループの1個前に送信した(誤り検査に用いた)誤り検査値の生成方式を参照することに限定されず、同グループのq個前に送信した(誤り検査に用いた)誤り検査値の生成方式を参照してもよい。
例えば、q=2かつ、m個後に送信する(誤り検査に用いる)誤り検査値の生成方式を切替えるか否かの情報が切替えることを示している場合、m−2個後に送信する(誤り検査に用いる)誤り検査値の生成方式を参照して(参照する際は、同グループにおいて、既に2個前に送信されている(誤り検査に用いられている)誤り検査値の生成方式となっている)、この生成方式に対して誤り検査値の生成方式を切替える。すなわち、同グループにおいて2個前に送信した(誤り検査に用いた)誤り検査値の生成方式を参照し、この生成方式が方式αである場合、今回送信する(誤り検査に用いる)誤り検査値の生成方式を方式βに切替える。いずれにせよ、誤り検査値生成部は、今回送信する制御コマンドに付加される(今回の誤り検査に用いる)誤り検査値の生成方式を所定の取り決めに基づいて決定しているのである。
なお、今回送信する(受信した)制御コマンドに基づいて当該制御コマンドと同一のグループに属する誤り検査値のうちm個後に送信する(誤り検査に用いる)誤り検査値の生成方式を決定する構成として、グループ毎にmビットのシフトレジスタを用いる例を挙げたが、これに限定されず、その他各種の構成および方法に基づいてハードウェアおよびソフトウェアにて実現可能に構成してもよい。例えば、誤り検査値生成部は、m個又は最大切替回数分のインクリメントカウンタまたはディクリメントカウンタをグループ毎に備えており、今回送信する(受信した)制御コマンドが所定の制御コマンドである場合に、当該制御コマンドが属するグループのカウンタを1つずつ起動させる。そして、対応するグループの誤り検査値を生成するたびにカウンタ値を更新し、カウンタ値がm又は0になった場合に生成方式の切替えるように構成してもよい。
また、制御コマンドを2以上の複数のグループに分ける分類方法は、出現頻度に着目する上記実施形態に限定されず、「特別図柄変動関連コマンド」の少なくとも1つがそれ以外と異なるグループとなるように分類してもよい。上述のように、特別図柄変動関連コマンドは、特別図柄の変動の際にセットで送信される制御コマンドであり、演出図柄指定コマンド、図柄確定コマンド、および変動パターン指定コマンドである。これらの制御コマンドの少なくとも1つが、その他の制御コマンドと異なるグループとなるように分類することにより、特別図柄が変動する際に必ず、グループが切り替わることとなる。これにより、制御コマンドとそれに付加される誤り検査値の関係を不規則にして、その解析を困難とすることができセキュリティ強度を向上させることができる。特に、特別図化柄変動関連コマンドは、遊技者が遊技中に頻繁に出力されるコマンド群である。したがって、遊技者が遊技中に頻繁かつ不規則にグループが切り替わることになるので、遊技中において効果的にセキュリティ強度を向上させることができる。
また、制御コマンドを2以上の複数のグループに分ける場合、「大当たり関連コマンド」の少なくとも1つがそれ以外と異なるグループとなるように分類してもよい。上述のように、大当たり関連コマンドは、大当たり遊技処理の際にセットで送信される制御コマンドであり、大当たり開始コマンド、大当たりコマンド、および大当たり終了コマンドである。これらの制御コマンドの少なくとも1つが、その他の制御コマンドと異なるグループとなるように分類することにより、大当たり遊技処理の際に必ず、グループが切り替わることとなる。これにより、制御コマンドとそれに付加される誤り検査値の関係を不規則にして、その解析を困難とすることができセキュリティ強度を向上させることができる。特に、大当たり関連コマンドは、不正者によって不正に出力されやすい制御コマンドであるため、このように分類することにより不正防止の効果を好適に得ることができる。
また、制御コマンドを2以上に複数のグループに分ける場合、大当たり遊技処理中に出力される「大当たり関連コマンド」と、大当たり遊技処理中以外に出力される制御コマンドとを同一のグループに分類してもよい。大当たり遊技処理中以外に出力される制御コマンドとは、例えば、ハズレのリーチ演出を行うために出力されるハズレリーチコマンド(図8に示す「第1特別図柄用変動パターン4指定コマンド」等)といった制御コマンドである。このように分類することにより、大当たり遊技処理の実行前(後)と大当たり遊技処理の実行中とにおいて、連続的に正しく処理が行われているかを検査することができる。また、大当たり関連コマンドに関する認証処理を、当該大当たり関連コマンドの後に送信されるその他の制御コマンドの送信時において行うことができる。これにより、不正者によって不正に出力されやすい大当たり関連コマンドに関する認証処理のタイミングを不正者から解析困難とすることができるため、不正防止の効果を好適に得ることができる。
また、上記実施形態では、今回送信する制御コマンドに、当該制御コマンドが属するグループに対応するグループに属する誤り検査値を付加していた。例えば、今回送信する制御コマンドがグループAに属する場合、グループAに属する制御コマンドの誤り検査値を付加していた。しかしながら、本発明はこれに限定されず、今回送信する制御コマンドに、当該制御コマンドが属するグループに基づいて予め決定された取り決めによって選択されたグループに属する誤り検査値を付加するように構成してもよい。例えば、今回送信する制御コマンドがグループAに属する場合はグループBに属する制御コマンドの誤り検査値を付加し、グループBに属する場合はグループAに属する制御コマンドの誤り検査値を付加するようにしてもよい。
また、上記実施形態では、今回送信する制御コマンドが所定の制御コマンドである場合、当該制御コマンドが属するグループの生成方式を変更していたが、本発明はこれに限定されず、当該制御コマンドが属するグループとは異なるグループの生成方式を変更してもよい。例えば、今回送信する制御コマンドがグループAに属する場合、グループBの生成方式を変更してよもよい。制御コマンドが属するグループに対して、いずれのグループの生成方式を変更するかは、予め取り決めておけばよい。
また、上記実施形態では、図5に示すように、グループ毎に生成方式を制御していたが、本発明はこれに限定されない。例えば、全てのグループで共通した生成方式として生成方式を制御するようにしてもよい。このような場合の制御コマンドへの誤り検査値の付加方法について、図25を用いて説明する。なお、以下の説明では、今回送信する制御コマンドに、当該制御コマンドと同一のグループに属する制御コマンドのうち前回送信した制御コマンドの誤り検査値を付加する場合について説明する。また、今回の制御コマンドが所定の制御コマンドである場合に今回の生成方式を変更する場合について説明する。また、以下の説明では、1番目、2番目、3番目、および7番目にグループA、4番目、5番目、および6番目にグループBにそれぞれ属する制御コマンドが送信されるとして説明する。また、誤り検査値の生成方式は、最初、生成方式αに設定されているとする。また、制御コマンドA3および制御コマンドB3を所定の制御コマンドとする。なお、図25に示す制御コマンドの送信順番は一例であって特にこれに制限されない。
図25に示すように、最初に送信される制御コマンドA1には所定の初期値1が付加されている。2番目に送信される制御コマンドA2は、グループAに属する制御コマンドである。したがって、制御コマンドA2には、グループAに属する制御コマンドのうち1個前に送信された制御コマンドA1を用いて方式αで生成された誤り検査値A1(α)が付加される。次に、3番目に送信される制御コマンドA3は、グループAに属する制御コマンドであり、かつ所定の制御コマンドなので、生成方式が方式βに変更される。したがって、制御コマンドA3には、グループAに属する制御コマンドのうち1個前に送信された制御コマンドA2を用いて方式βで生成された誤り検査値A2(β)が付加される。次に、4番目に送信される制御コマンドB1は、グループBに属する制御コマンドで最初に送信される制御コマンドなので、所定の初期値2が付加される。次に、5番目に送信される制御コマンドB2は、グループBに属する制御コマンドである。したがって、制御コマンドB2には、グループBに属する制御コマンドのうち1個前に送信された制御コマンドB1を用いて方式βで生成された誤り検査値B1(β)が付加される。次に、6番目に送信される制御コマンドB3は、グループBに属する制御コマンドであり、かつ所定の制御コマンドなので、生成方式が方式αに変更される。したがって、制御コマンドB3には、グループBに属する制御コマンドのうち1個前に送信された制御コマンドB2を用いて方式αで生成された誤り検査値B2(α)が付加される。次に、7番目に送信される制御コマンドA4は、グループAに属する制御コマンドである。したがって、制御コマンドA4には、グループAに属する制御コマンドのうち1個前に送信された制御コマンドA3を用いて方式αで生成された誤り検査値A3(α)が付加される。以下、同様にして、今回送信する制御コマンドには、これが属するグループの制御コマンドのうち1個前に送信された制御コマンドの誤り検査値が付加される。また、今回送信制御コマンドが所定の制御コマンドである場合は、生成方式が他の生成方式に変更される。
このように、全てのグループにおいて共通の生成方式を用いることにより、グループ毎に生成方式記憶領域を設ける必要がない。したがって、メインRAM110c、サブRAM120c等の記憶領域の消費を抑制することができる。また、グループ毎に生成方式を制御する必要がないので、構成を簡略化するとともに処理負荷の抑制を図ることができる。
また、上記実施形態では、図5に示すように、今回送信する制御コマンドに、当該制御コマンドと同一のグループに属する制御コマンドのうち1個前に送信された制御コマンドの誤り検査値を付加して制御コマンド情報とした。しかしながら、本発明はこれに限定されず、今回送信する制御コマンドと同一のグループに属する制御コマンドのうち当該制御コマンドのn(nは2以上の整数)個前に送信された制御コマンドの誤り検査値を付加して制御コマンド情報を生成するようにしてもよい。この場合、各グループにおいて、1〜n個目に送信される制御コマンドには誤り検査値のダミーデータや遊技機固有のID等を初期値として付加して制御コマンド情報とすればよい。ここで、第1の実施形態の遊技機の場合、各グループに対応するコマンド記憶領域のそれぞれを少なくともn個の制御コマンドを記憶可能に構成すればよい。また、第2の実施形態の遊技機の場合、各グループに対応する検査値記憶領域のそれぞれを少なくともn個の誤り検査値を記憶可能に構成すればよい。なお、nの値は、各グループで同一の値としてもよいし、グループ毎に異なる値としてもよい。
具体的に、n=2の場合、すなわち、今回送信する制御コマンドに、2個前に送信した制御コマンドの誤り検査値を付加する場合の制御コマンド情報の構成について、図26を用いて説明する。なお、以下の説明では、送信される制御コマンドはいずれもグループAに属する制御コマンドとして説明する。図26に示すように、制御コマンド情報は、基本的に、今回送信される制御コマンドと同一のグループAに属する制御コマンドのうち当該制御コマンドの2つ前に送信された制御コマンドの誤り検査値を付加した形式になっている。ただし、最初に送信される制御コマンドA1には所定の初期値1が付加されている。また、2つ目に送信される制御コマンドA2には初期値2が付加されている。そして、3番目に送信される制御コマンドA3には、最初に送信された制御コマンドA1の誤り検査値A1が付加され、制御コマンド情報が生成される。同様に、4番目に送信される制御コマンドA4には、2番目に送信される制御コマンドA2の誤り検査値2が付加され、制御コマンド情報が生成される。以下、同様にして制御コマンド情報が生成される。
このように、n個前に送信した制御コマンドの誤り検査値を、今回送信する制御コマンドに付加することにより、制御コマンドとそれに付加された誤り検査値との関係がより解析困難とすることができる。これにより、不正者が制御コマンド情報を搾取したとしても、不正を行うことをより困難とすることができる。
ここで、第2の実施形態において、誤り検査値生成部810は、今回送信する制御コマンドに基づいて当該制御コマンドが属するグループにおいて次回送信する誤り検査値の生成方式を決定し、この決定に応じた生成方式のみで誤り検査値を生成し、これを記憶するようにしてもよいことは上述の通りである。本発明において、n≦Mのときにも同様に、誤り検査値生成部が、今回送信する制御コマンドに基づいて当該制御コマンドが属するグループにおいて、M個後に送信する誤り検査値の生成方式を決定し、すでに決定された生成方式のみでn個前に送信された制御コマンドを用いて誤り検査値を生成し、これを記憶するように構成することができる。中間制御部180の誤り検査値生成部910も同様である。
また、上記実施形態では、制御コマンドのMODEとDATAの両方のデータを用いて誤り検査値を生成するとしたが、本発明の遊技機は、これに限定されない。例えば、本発明の遊技機は、制御コマンドのMODEの情報、すなわち制御コマンドの分類を識別するための1バイトのデータのみを用いて誤り検査値を生成するようにしてもよい。
さらに、本発明の遊技機は、制御コマンドとそれに付加された誤り検査値(制御コマンド情報)を用いて誤り検査値を生成してもよい。これにより、今回送信する誤り検査値が、同一グループに属する制御コマンドにそれまでに付加された誤り検査値の情報、すなわち、それまでに送信された同一グループに属する制御コマンド情報を含むことになる。したがって、誤り検査値が制御コマンドの送信履歴の情報を含むことになるので、不正者が一部の制御コマンド情報を取得したとしても誤り検査値を解析することができないようにすることができ、セキュリティ強度を向上させることができる。また、誤り検査値が制御コマンドの送信履歴の情報を含むことになるので、制御コマンドの連続性を検証することができる。
具体的に、制御コマンド情報を用いて誤り検査値を生成する場合について説明する。図27は、本実施形態における制御コマンド情報の形式を示す説明図である。図27に示すように、制御コマンド情報は、基本的に、制御コマンドにその1つ前に送信された制御コマンド情報の誤り検査値を付加した形式になっている。ただし、最初に送信される制御コマンド1には所定の初期値が付加されている。そして、2番目に送信される制御コマンド2には、最初に送信された制御コマンド情報、すなわち制御コマンド1と初期値とから生成された誤り検査値1が付加され、制御コマンド情報が生成される。同様に、3番目に送信される制御コマンド3には、2番目に送信された制御コマンド情報、すなわち、制御コマンド2と誤り検査値1とから生成された誤り検査値2が付加され、制御コマンド情報が生成される。以下、同様にして制御コマンド情報が生成される。このように、今回送信する制御コマンドに付加する誤り検査値は、同一のグループに属する全ての制御コマンド情報を用いて生成されることとなる。
制御コマンドとそれに付加された誤り検査値、すなわち制御コマンド情報を用いて誤り検査値を生成するための具体的な構成は、次のようなものが考えられる。第1の実施形態では、例えば、誤り検査値生成部において、今回送信する(今回誤り検査に用いる)誤り検査値を誤り検査値演算部から制御コマンド記憶部へ出力し、今回送信(受信)した制御コマンドと出力された誤り検査値とを合わせて制御コマンド情報として制御コマンド記憶部に記憶するように構成すればよい。また、第2の実施形態では、例えば、誤り検査値生成部において、今回送信する(今回誤り検査に用いる)誤り検査値を誤り検査値記憶部から誤り検査値演算部へ出力し、今回送信(受信)した制御コマンドと出力された誤り検査値とを用いて誤り検査値演算部が誤り検査値を生成するように構成すればよい。
また、本発明の遊技機は、過去に送信した複数の制御コマンドまたは制御コマンド情報を用いて誤り検査値を生成するようにしてもよい。これにより、制御コマンドとそれに付加された誤り検査値との関係をより解析困難とすることができ、不正者が制御コマンド情報を搾取したとしても、不正を行うことをより困難とするこができる。
過去に送信した複数の制御コマンドを用いて誤り検査値を生成するための具体的な構成は、例えば、次のようなものが考えられる。誤り検査値生成部において、制御コマンド出力部から出力された制御コマンドを複数記憶する制御コマンド記憶部を設け、この制御コマンド記憶部から出力された複数の制御コマンドを用いて誤り検査値演算部が誤り検査値を生成するように構成すればよい。
また、過去に送信した複数の制御コマンド情報を用いて誤り検査値を生成するための具体的な構成は、例えば、次のようなものが考えられる。誤り検査値生成部において、制御コマンド出力部から出力された制御コマンドと、誤り検査値演算部が生成したその誤り検査値とを制御コマンド情報として複数記憶する制御コマンド情報記憶部を設け、この制御コマンド情報記憶部から出力された複数の制御コマンド情報を用いて誤り検査値演算部が誤り検査値を生成するように構成すればよい。
なお、本発明の遊技機は、過去に送信した制御コマンド、または過去に送信した制御コマンドとその誤り検査値に加えて、今回送信する制御コマンドも含めて誤り検査値を生成してもよい。これにより、今回受信した制御コマンドの通信エラーチェックを、今回受信した制御コマンドに付加された誤り検査値を用いて、リアルタイムに行うことができる。
今回送信する制御コマンドも含めて誤り検査値を生成するための具体的な構成は、例えば、次のようなものが考えられる。誤り検査値を生成する対象となるデータである過去に送信した1つまたは複数の制御コマンドまたは制御コマンド情報を記憶する記憶部を設け、記憶部から出力された1つまたは複数の制御コマンドまたは制御コマンド情報と、制御コマンド出力部から出力された今回送信する制御コマンドとを用いて誤り検査値を生成するように構成すればよい。
このように、本発明の遊技機は、過去に送信した制御コマンド、または過去に送信した制御コマンドとその誤り検査値に加えて、今回送信する制御コマンドも含めて誤り検査値を生成してもよいが、セキュリティ強度の向上という観点においては、今回送信する制御コマンドの誤り検査値を、今回送信する制御コマンド自身を用いずに生成する方が好ましい。具体的には、過去に送信した制御コマンド、または過去に送信した制御コマンドとその誤り検査値とを用いて、今回送信する制御コマンドに付加する誤り検査値を生成するのが好ましい。このように、今回送信する制御コマンドを用いずに誤り検査値を生成する場合、今回送信する制御コマンドとそれに付加された誤り検査値との間に関連性がない。このため、不正者が、制御コマンドとそれに付加された誤り検査値との二つの値を取得したとしても、これらの関係を解析することができない。したがって、不正者が制御コマンドとそれに付加された誤り検査値との関係を解析することをより一層困難とすることができる。すなわち、不正者が制御コマンド情報を取得したとしても、不正を行うことをより一層困難とするこができる。
また、上記実施形態では、認証処理を行う中間制御部180も、主制御部110と同様に制御コマンドのグループを識別し、そのグループ情報に基づいて生成または選択された誤り検査値と主制御部110から送信された誤り検査値とを用いて誤り検査を行っているが、本発明はこれに限定されない。例えば、本発明では、中間制御部は、制御コマンドのグループを識別し、そのグループ情報に基づいて誤り検査値を生成または選択することを必ずしも行わなくても良い。この場合、中間制御部は、過去に受信した複数の制御コマンドのそれぞれで誤り検査値を生成し、受信した誤り検査値と、生成した複数の誤り検査値のいずれかとが一致するか否かによって認証処理を行うようにしてもよい。このように構成した場合であっても、制御コマンドとそれに付加される誤り検査値との時系列的な関係が不規則になる。したがって、制御コマンドとそれに付加される誤り検査値との関連性の解析を困難とすることができ、不正者が制御コマンドおよびそれに付加された誤り検査値を取得したとしても、不正を行うことを困難にすることができる。
また、上記実施形態では、誤り検査値生成部は、制御部と、制御コマンド記憶部(または、誤り検査値記憶部)と、誤り検査値演算部と、のそれぞれ異なる機能を有する3つの手段を備えるとして説明したが、本発明はこれに限定されない。例えば、誤り検査値生成部の内部構成において、2以上の機能を1つの手段で実現するように構成してもよい。
また、上記実施形態では、主制御部110は、制御コマンドに所定の初期値を付加して送信し、中間制御部180は、同様に所定の初期値を用いて認証を行うとしたが、本発明はこれに限定されず、初期値が付加された制御コマンドに関し認証処理を行わないようにしてもよい。例えば、同一グループ内でN(Nは正整数)個前に送信した制御コマンド情報を用いて今回送信する制御コマンドに付加する誤り検査値を生成する場合、中間制御部180は、当該グループ内で1〜N個目に受信した制御コマンド情報については初期値が付加されているものがあるので、そのような制御コマンドに関しては認証処理を行わず、N+1個目以降に受信した制御コマンド情報から全ての制御コマンド情報について認証処理を行うようにしてもよい。
また、主制御部110に計時手段を設け、または、主制御部110が予め備えている計時手段を用いて、制御コマンドの送信タイミングにおいて計時手段から取得した計時情報を初期値として用いてもよい。これにより、誤り検査値を遊技機1の状態に特有の値とすることができ、初期値の値を知らない不正者が一部の制御コマンド情報を取得したとしても誤り検査値の解析を不可能とすることができ、セキュリティ強度をより一層向上させることができる。なお、この場合、上述のように、中間制御部180では、初期値が付加された制御コマンドに関し認証処理を行わないようにすればよい。また、2個以上の制御コマンドに初期値として計時情報が付加される場合において、中間制御部180は、初期値として連続して送信された計時情報の間に時間の連続性が保持されているか、すなわち、連続して送信された計時情報の値が送信順番に従って増加しているか否かを参照することによって認証処理を行ってもよい。
このように本発明において、初期値として用いる固有情報に計時情報を含めてもよい。すなわち、固有情報は、制御コマンドの送信タイミングにおいて初期値を取得する遊技機1に固有の情報といえる。なお、計時情報としては、遊技機1の電源がオンになってから主制御部110の計時手段が計測する遊技機1に固有の計時情報を用いてもよく、絶対時間の情報を用いてもよい。遊技機1に固有の計時情報を用いることにより、初期値の秘匿性を高めることができ、セキュリティ強度をより一層向上させることができる。
また、複数の制御コマンドに初期値を付加する場合、複数の制御コマンドについて同一の初期値を付加してもよいし、異なる初期値を付加してもよい。例えば、初期値として識別情報を用いる場合、制御コマンド毎に異なる識別情報を用いてもよいし、同じ識別情報を用いてもよい。また、初期値として計時情報を用いる場合、制御コマンドの送信タイミング毎に計時手段から取得した計時情報を用いてもよいし、最初に送信する制御コマンドの送信タイミングに取得した計時情報を複数の制御コマンドに対して初期値として用いてもよい。
また、上記実施形態では、主制御部110および中間制御部180は、CPU、ROM、およびRAMを用いてソフトウェアによって認証機能を実現していたが、これに限定されず、誤り検査値を生成するための生成回路や誤り検査を行う検査回路等を設け、ハードウェアによって認証機能を実現してもよい。
また、本実施形態では、中間制御部180をCPU、ROM、RAM等を備えて構成しているが、同様の機能をLSI等の集積回路として実現するように構成してもよい。
また、上記実施形態では、本発明をパチンコ遊技機に適用する例を示したが、これに限定されず、本発明は、雀球遊技機、アレンジボール等のパチンコ遊技機以外の弾球遊技機、スロットマシン等の回胴式遊技機などの他の遊技機にも適用することができる。これらの遊技機においても、上記実施形態と同様に構成することにより、上記実施形態と同様の効果を得ることができる。
また、上記実施形態では、本発明を遊技機に適用する例を示したが、これに限定されず、本発明は、遊技機のような複数の制御部を備え、これら制御部間のデータ伝送について認証処理を実行する電子機器およびその認証方法にも適用することができる。これらの電子機器およびその認証方法においても、本実施形態と同様に構成することにより、上記実施形態と同様の効果を得ることができる。また、上記実施形態は、その目的及び構成等に特に矛盾や問題がない限り、互いの技術を流用することができる。
1 遊技機
110 主制御部
110a メインCPU
110b メインROM
110c メインRAM
120 演出制御部
120a サブCPU
120b サブROM
120c サブRAM
130 払出制御部
140 ランプ制御部
150 画像制御部
160 発射制御部
170 電源部
180 中間制御部
180a CPU
180b ROM
180c RAM
500 制御コマンド出力部
510、610、810、910 誤り検査値生成部
520、620、820、920 制御部
530、630 制御コマンド記憶部
540、640、830、930 誤り検査値演算部
550、660 付加部
560、670 送信部
600 受信部
650 誤り検査部
840、940 誤り検査値記憶部
110 主制御部
110a メインCPU
110b メインROM
110c メインRAM
120 演出制御部
120a サブCPU
120b サブROM
120c サブRAM
130 払出制御部
140 ランプ制御部
150 画像制御部
160 発射制御部
170 電源部
180 中間制御部
180a CPU
180b ROM
180c RAM
500 制御コマンド出力部
510、610、810、910 誤り検査値生成部
520、620、820、920 制御部
530、630 制御コマンド記憶部
540、640、830、930 誤り検査値演算部
550、660 付加部
560、670 送信部
600 受信部
650 誤り検査部
840、940 誤り検査値記憶部
Claims (9)
- 制御コマンドを出力する主制御部と、前記制御コマンドに基づく処理を行う周辺部と、前記主制御部と前記周辺部との間に設けられた中間制御部とを備える遊技機であって、
前記主制御部は、
前記制御コマンドを出力するコマンド出力手段と、
前記制御コマンドに付加されて当該制御コマンドの正当性を検査する誤り検査値を、前記コマンド出力手段によって過去に出力された制御コマンドを用いて、複数の生成方式で生成可能であり、いずれかの生成方式で生成された誤り検査値を出力する第1生成手段と、
前記コマンド出力手段によって出力された制御コマンドが予め決められた2以上のグループのうちのいずれのグループに属するかを識別する第1識別手段と、
前記コマンド出力手段によって出力された制御コマンドに基づいて、誤り検査値の生成方式を前記複数の生成方式のうちのいずれの生成方式とするかを決定する第1決定手段と、
前記第1生成手段によって出力された前記誤り検査値を、前記コマンド出力手段によって出力された前記制御コマンドに付加して前記中間制御部に送信する第1送信手段と、
を有し、
前記中間制御部は、
前記第1送信手段によって送信された制御コマンドを用いて、前記複数の生成方式で誤り検査値を生成可能であり、生成した誤り検査値を出力する第2生成手段と、
前記第1送信手段によって送信された誤り検査値と、前記第2生成手段から出力された誤り検査値とを用いて、前記制御コマンドの正当性の検査を行う検査手段と、
前記制御コマンドと前記検査手段による検査結果とを前記周辺部に送信する第2送信手段と、
を有し、
前記周辺部は、前記検査結果に基づく処理を行い、
前記第1生成手段は、前記コマンド出力手段によって過去に出力された制御コマンドの中から、前記第1識別手段による識別結果および所定の取り決めに基づいて選択された制御コマンドを用いて、前記第1決定手段によって決定された生成方式で生成した誤り検査値を出力することを特徴とする遊技機。 - 前記中間制御部は、前記第1送信手段によって送信された前記制御コマンドがいずれのグループに属するかを識別する第2識別手段と、
前記第1送信手段によって送信された前記制御コマンドに基づいて、誤り検査値の生成方式を前記複数の生成方式のうちのいずれの生成方式とするかを決定する第2決定手段とを有し、
前記第2生成手段は、前記第1送信手段によって過去に送信された制御コマンドの中から、前記第2識別手段による前記第1送信手段によって今回送信された制御コマンドの識別結果および前記所定の取り決めに基づいて選択された制御コマンドを用いて、前記第2決定手段によって決定された生成方式で生成された誤り検査値を出力する請求項1に記載の遊技機。 - 前記所定の取り決めは、前記コマンド出力手段から今回出力された制御コマンドが属するグループに対応するグループに属する制御コマンドのうち、前記今回出力された制御コマンドのN(Nは正整数)個前に前記コマンド出力手段によって出力された制御コマンドを選択することである請求項1または2に記載の遊技機。
- 前記第1決定手段は、前記出力手段によって出力された制御コマンドが所定の制御コマンドである場合、前記第1生成手段によって今回又はM(Mは正整数)個後に出力される誤り検査値の生成方式を、当該誤り検査値の1個前に出力される誤り検査値の生成方式から他の生成方式へ切替えることで決定する請求項1〜3のいずれかに記載の遊技機。
- 前記第1決定手段は、前記出力手段によって出力された制御コマンドが所定の制御コマンドである場合、当該制御コマンドが属するグループに対応するグループに属する制御コマンドのうち今回又はM(Mは正整数)個後に出力される制御コマンドを用いて前記第1生成手段によって生成され出力される誤り検査値の生成方式を、前記対応するグループに属する制御コマンドのうち前記今回又はM(Mは正整数)個後に出力される制御コマンドの1個前に出力される制御コマンドを用いて前記第1生成手段によって生成され出力される誤り検査値の生成方式から他の生成方式へ切替えることで決定する請求項1〜3のいずれかに記載の遊技機。
- 前記第1生成手段は、前記コマンド出力手段から出力された前記制御コマンドを前記第1識別手段によって識別されたグループに分類して記憶する制御コマンド記憶手段と、
前記制御コマンド記憶手段に記憶された制御コマンドから、前記選択された制御コマンドを用いて誤り検査値を生成し出力する検査値演算手段とを備える請求項1〜5のいずれかに記載の遊技機。 - 前記第1生成手段は、前記コマンド出力手段から出力された前記制御コマンドを用いて誤り検査値を生成する検査値演算手段と、
前記検査値演算手段によって生成された誤り検査値を前記第1識別手段によって識別されたグループに分類して記憶する誤り検査値記憶手段とを備える請求項1〜5のいずれかに記載の遊技機。 - 前記第1生成手段は、前記コマンド出力手段によって過去に出力された制御コマンドとそれに付加された誤り検査値とを用いて生成した新たな誤り検査値を前記付加手段に出力し、
前記第2生成手段は、過去に送信された制御コマンドとそれに付加された誤り検査値とを用いて新たな誤り検査値を生成する請求項1〜7のいずれかに記載の遊技機。 - 制御コマンドを出力する主制御部と、前記制御コマンドに基づく処理を行う周辺部と、前記主制御部と前記周辺部との間に設けられた中間制御部とを備える電子機器において、前記主制御部と前記中間制御部との間で行われるデータ伝送の正当性を認証する電子機器の認証方法であって、
前記主制御部は、
前記制御コマンドを出力するコマンド出力するコマンド出力工程と、
前記制御コマンドに付加されて当該制御コマンドの正当性を検査する誤り検査値を、前記コマンド出力手段によって過去に出力された制御コマンドを用いて、複数の生成方式で生成可能であり、いずれかの生成方式で生成された誤り検査値を出力する第1検査値出力工程と、
前記コマンド出力工程によって出力された制御コマンドが予め決められた2以上のグループのうちのいずれのグループに属するかを識別する識別工程と、
前記コマンド出力工程によって出力された制御コマンドに基づいて、誤り検査値の生成方式を前記複数の生成方式のうちのいずれの生成方式とするかを決定する決定工程と、
前記第1検査値出力工程によって出力された前記誤り検査値を、前記コマンド出力工程によって出力された前記制御コマンドに付加して前記周辺部に送信する第1送信工程と、
を実行し、
前記第1検査値出力工程は、前記コマンド出力工程によって過去に出力された制御コマンドの中から、前記識別工程による識別結果および所定の取り決めに基づいて選択された制御コマンドを用いて、前記決定工程によって決定された生成方式で生成された誤り検査値を出力する工程であり、
前記中間制御部は、
前記第1送信工程によって送信された制御コマンドを用いて、前記複数の生成方式の少なくとも1つで誤り検査値を生成し、生成した誤り検査値を出力する第2検査値出力工程と、
前記第1送信工程によって送信された誤り検査値と、前記第2検査値出力工程によって出力された誤り検査値とを用いて、前記制御コマンドの正当性の検査を行う検査工程と、
前記制御コマンドと前記検査工程による検査結果とを前記周辺部に送信する第2送信工程と、
を実行し、
前記周辺部は、前記検査結果に基づく処理を行う処理工程を実行する
ことを特徴とする電子機器の認証方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011120747A JP5105649B2 (ja) | 2011-05-30 | 2011-05-30 | 遊技機および電子機器の認証方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011120747A JP5105649B2 (ja) | 2011-05-30 | 2011-05-30 | 遊技機および電子機器の認証方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012245246A JP2012245246A (ja) | 2012-12-13 |
JP5105649B2 true JP5105649B2 (ja) | 2012-12-26 |
Family
ID=47466271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011120747A Expired - Fee Related JP5105649B2 (ja) | 2011-05-30 | 2011-05-30 | 遊技機および電子機器の認証方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5105649B2 (ja) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4995218B2 (ja) * | 2009-03-30 | 2012-08-08 | 京楽産業.株式会社 | 電子機器、主制御基板、周辺基板、認証方法および認証プログラム |
JP4943539B2 (ja) * | 2010-09-24 | 2012-05-30 | 京楽産業.株式会社 | 遊技機、認証方法及び認証プログラム |
-
2011
- 2011-05-30 JP JP2011120747A patent/JP5105649B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012245246A (ja) | 2012-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5202616B2 (ja) | 遊技機 | |
JP5202670B2 (ja) | 遊技機 | |
JP5109020B2 (ja) | 遊技機 | |
JP5202669B2 (ja) | 遊技機 | |
JP5109019B2 (ja) | 遊技機 | |
JP5194089B2 (ja) | 遊技機 | |
JP5194088B2 (ja) | 遊技機 | |
JP5202617B2 (ja) | 遊技機 | |
JP5202658B2 (ja) | 遊技機 | |
JP5202657B2 (ja) | 遊技機 | |
JP5183785B2 (ja) | 遊技機および電子機器の認証方法 | |
JP5105649B2 (ja) | 遊技機および電子機器の認証方法 | |
JP5145446B2 (ja) | 遊技機および電子機器の認証方法 | |
JP5105650B2 (ja) | 遊技機および電子機器の認証方法 | |
JP5145447B2 (ja) | 遊技機および電子機器の認証方法 | |
JP5114582B2 (ja) | 遊技機 | |
JP5114583B2 (ja) | 遊技機 | |
JP5183786B2 (ja) | 遊技機および電子機器の認証方法 | |
JP5183787B2 (ja) | 遊技機および電子機器の認証方法 | |
JP5135459B1 (ja) | 遊技機および電子機器の認証方法 | |
JP5096596B2 (ja) | 遊技機 | |
JP5135460B1 (ja) | 遊技機および電子機器の認証方法 | |
JP5096597B2 (ja) | 遊技機 | |
JP5105648B2 (ja) | 遊技機および電子機器の認証方法 | |
JP5135458B1 (ja) | 遊技機および電子機器の認証方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121001 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151012 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |