(57)【特許請求の範囲】
【請求項１】
制御コマンドを出力する主制御部と、前記制御コマンドに基づく処理を行う周辺部と、前記周辺部の後段に設けられた後段制御部とを備える遊技機であって、
前記主制御部は、
前記制御コマンドを出力する出力手段と、
前記制御コマンドに付加されて当該制御コマンドの正当性を検査する誤り検査値を、前記出力手段によって過去にのみ出力された制御コマンドを用いて所定の生成方式で演算することによって生成する第１生成手段と、
前記出力手段が今回またはＭ（Ｍは正整数）個後に出力する制御コマンドに付加する誤り検査値を、当該制御コマンドの出力時点よりも過去に出力される制御コマンドのうちのいずれの制御コマンドを用いて生成される誤り検査値とするかを、前記出力手段によって今回出力された制御コマンドを用いて、所定の取り決めに基づいて決定する第１決定手段と、
前記出力手段が今回出力した制御コマンドに、前記第１決定手段の決定に応じた誤り検査値を付加して前記周辺部を介して前記後段制御部に送信する第１送信手段と、
を有し、
前記後段制御部は、
前記第１送信手段によって送信され過去にのみ受信した制御コマンドを用いて前記所定の生成方式で演算することによって誤り検査値を生成する第２生成手段と、
前記今回またはＭ個後に受信する制御コマンドの正当性の検査に用いる誤り検査値を、当該制御コマンドの受信時点よりも過去に受信する制御コマンドのうちのいずれの制御コマンドを用いて生成される誤り検査値とするかを、今回受信した制御コマンドを用いて、前記所定の取り決めに基づいて決定する第２決定手段と、
今回受信した誤り検査値を、前記第２決定手段の決定に応じた誤り検査値と照合して、今回受信した制御コマンドの正当性の検査を行い、検査結果を出力する検査手段と、
前記検査結果を前記周辺部に送信する第２送信手段と、
を有し、
前記周辺部は、前記検査結果に基づく処理を行う
ことを特徴とする遊技機。
【請求項２】
制御コマンドを出力する主制御部と、前記制御コマンドに基づく処理を行う周辺部と、前記周辺部の後段に設けられた後段制御部とを備える遊技機であって、
前記主制御部は、
前記制御コマンドを出力する出力手段と、
前記制御コマンドに付加されて当該制御コマンドの正当性を検査する誤り検査値を、前記出力手段によって過去にのみ出力された制御コマンドを用いて所定の生成方式で演算することによって生成する第１生成手段と、
前記出力手段がＭ（Ｍは正整数）個後に出力する制御コマンドに付加する誤り検査値を、当該制御コマンドの出力時点よりも過去に出力される制御コマンドのうちのいずれの制御コマンドを用いて生成される誤り検査値とするかを、前記第１生成手段が今回生成する誤り検査値の生成に用いる制御コマンドを用いて、所定の取り決めに基づいて決定する第１決定手段と、
前記出力手段が今回出力した制御コマンドに、前記第１決定手段の決定に応じた誤り検査値を付加して前記周辺部を介して前記後段制御部に送信する第１送信手段と、
を有し、
前記後段制御部は、
前記第１送信手段によって送信され過去にのみ受信した制御コマンドを用いて前記所定の生成方式で演算することによって誤り検査値を生成する第２生成手段と、
前記Ｍ個後に受信する制御コマンドの正当性の検査に用いる誤り検査値を、当該制御コマンドの受信時点よりも過去に受信する制御コマンドのうちのいずれの制御コマンドを用いて生成される誤り検査値とするかを、今回受信した制御コマンドの正当性の検査に用いる誤り検査値の生成元である制御コマンドを用いて、前記所定の取り決めに基づいて決定する第２決定手段と、
今回受信した誤り検査値を、前記第２決定手段の決定に応じた誤り検査値と照合して、今回受信した制御コマンドの正当性の検査を行い、検査結果を出力する検査手段と、
前記検査結果を前記周辺部に送信する第２送信手段と、
を有し、
前記周辺部は、前記検査結果に基づく処理を行う
ことを特徴とする遊技機。
【請求項３】
前記所定の取り決めは、所定の制御コマンドであるか否かに基づいて決定することである請求項１又は２に記載の遊技機。
【請求項４】
前記第１生成手段は、前記出力手段が出力した制御コマンドを記憶する制御コマンド記憶手段と、前記制御コマンド記憶手段に記憶された制御コマンドを用いて誤り検査値を生成する演算手段と、を有する請求項１〜３のいずれかに記載の遊技機。
【請求項５】
前記第１生成手段は、前記出力手段が出力した制御コマンドを用いて誤り検査値を生成する演算手段と、前記演算手段が生成した誤り検査値を記憶する誤り検査値記憶手段とを有する請求項１に記載の遊技機。
【請求項６】
前記第１生成手段は、前記出力手段によって過去に出力された制御コマンドとそれに付加された誤り検査値とを用いて生成した新たな誤り検査値を前記第１送信手段に出力し、
前記第２生成手段は、過去に受信した制御コマンドとそれに付加された誤り検査値とを用いて新たな誤り検査値を生成する
請求項１〜５のいずれかに記載の遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パチンコ店等の遊技店に設置されるパチンコ遊技機、雀球遊技機、アレンジボール等の弾球遊技機、スロットマシン等の回胴式遊技機などの遊技機に関する。
【背景技術】
【０００２】
遊技機に対し行われる、メダルや遊技球など（以下、「遊技媒体」という）を遊技とは無関係に強制的に払い出させる不正行為のうち、遊技に係る基本動作を制御する主制御部が搭載された主制御基板や、主制御部からの制御命令に基づき演出処理等を実行する周辺部が搭載された周辺基板に関するものとして、例えば以下に示すものがある。
（１）正規な主制御基板と不正な主制御基板との交換
（２）主制御基板に搭載されたＣＰＵが実行する正規なプログラムが記憶されたＲＯＭと上記プログラムを改ざんした不正なプログラムが記憶されたＲＯＭとの交換
（３）主制御基板と周辺基板との間に不正な基板（なりすまし基板）を設け、かつ上記（２）のＲＯＭの交換
【０００３】
このような不正行為を防止するため、従来の遊技機には、次のようなものがあった。例えば、特許文献１に記載の遊技機は、主制御基板は、制御コマンドを生成してサブ制御基板に送信する第１送信手段と、第１送信手段が所定期間内に送信した制御コマンドのチェックサムを状態監視コマンドとして所定のタイミングで送信する第２送信手段とを備えている。特許文献１に記載の遊技機は、サブ制御基板が、所定期間内に受信した制御コマンドのチェックサムと、所定のタイミングで受信した状態監視コマンドとを比較することで、所定期間内に送信された制御コマンドの正当性を検証している。すなわち、特許文献１に記載の遊技機は、制御コマンドの正当性を検証するための状態監視コマンドを所定のタイミングで送信することで、上記不正行為の防止を図っている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１８０９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の遊技機では、所定のタイミングで状態監視コマンドを単独で送信する処理を行っている。状態監視コマンドは、上述のように所定期間内に送信した制御コマンドのチェックサムなので、状態監視コマンドと通常の制御コマンドとはデータ形式あるいはデータ量が著しく異なる情報である。したがって、特許文献１に記載の遊技機では、不正行為を行う者（以下、不正者という）は状態監視コマンドの送信タイミングを容易に知ることができ、不正検出のための検査タイミングを容易に知ることができる。そして、状態監視コマンドの送信タイミングを知ることができる不正者が、状態監視コマンドを取得して内容を解析する虞があった。
【０００６】
また、特許文献１に記載の遊技機では、制御コマンドにそのチェックサムを付加して送信している。制御コマンドにそのチェックサムを付加して送信することにより、通信エラーチェックを行うことは一般的に行われることである。特許文献１に記載の遊技機でも同様に、制御コマンドにそのチェックサムを付加している。しかしながら、これにより、特許文献１に記載の遊技機では、不正者が制御コマンドを取得して状態監視コマンドの内容を解析することが容易になっている。具体的には、不正者が、状態監視コマンドの送信タイミングを容易に知ることができるのは上述したとおりである。このため、状態監視コマンドの送信タイミングを知った不正者が、所定期間内の制御コマンドとそのチェックサムを取得して、制御コマンドとチェックサムと状態監視コマンドを比較することで、制御コマンドに付加されたチェックサムの内容および状態監視コマンドの内容を容易に解析することができるという虞があった。
【０００７】
本発明は、上記事情に鑑みてなされたものであり、上記不正行為を防止してセキュリティ強度を向上することができる遊技機を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために本発明は、制御コマンドを出力する主制御部と、前記制御コマンドに基づく処理を行う周辺部と、前記周辺部の後段に設けられた後段制御部とを備える遊技機であって、前記主制御部は、前記制御コマンドを出力する出力手段と、前記制御コマンドに付加されて当該制御コマンドの正当性を検査する誤り検査値を、前記出力手段によって過去にのみ出力された制御コマンドを用いて所定の生成方式で演算することによって生成する第１生成手段と、前記出力手段が今回またはＭ（Ｍは正整数）個後に出力する制御コマンドに付加する誤り検査値を、当該制御コマンドの出力時点よりも過去に出力される制御コマンドのうちのいずれの制御コマンドを用いて生成される誤り検査値とするかを、前記出力手段によって今回出力された制御コマンドを用いて、所定の取り決めに基づいて決定する第１決定手段と、前記出力手段が今回出力した制御コマンドに、前記第１決定手段の決定に応じた誤り検査値を付加して前記周辺部を介して前記後段制御部に送信する第１送信手段と、を有し、前記後段制御部は、前記第１送信手段によって送信され過去にのみ受信した制御コマンドを用いて前記所定の生成方式で演算することによって誤り検査値を生成する第２生成手段と、前記今回またはＭ個後に受信する制御コマンドの正当性の検査に用いる誤り検査値を、当該制御コマンドの受信時点よりも過去に受信する制御コマンドのうちのいずれの制御コマンドを用いて生成される誤り検査値とするかを、今回受信した制御コマンドを用いて、前記所定の取り決めに基づいて決定する第２決定手段と、今回受信した誤り検査値を、前記第２決定手段の決定に応じた誤り検査値と照合して、今回受信した制御コマンドの正当性の検査を行い、検査結果を出力する検査手段と、前記検査結果を前記周辺部に送信する第２送信手段と、を有し、前記周辺部は、前記検査結果に基づく処理を行うことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、出力手段によって少なくとも過去に出力された制御コマンドを用いて生成手段が生成した誤り検査値を今回出力する制御コマンドに付加して周辺部を介して後段制御部に送信する。このように従来にない簡易な方法を適用することにより、制御コマンドとそれに付加された誤り検査値の関係を不正者が解析することを困難にしている。
さらに、本発明によれば、主制御部は、出力手段によって出力された制御コマンドに基づいて、今回またはＭ（Ｍは正整数）個後に出力される制御コマンドに付加する誤り検査値を、出力手段によって今回またはＭ個後に出力される制御コマンドが出力される時点よりも過去に出力される制御コマンドのうちのいずれの制御コマンドを用いて生成される誤り検査値とするかを決定する第１決定手段を有し、第１決定手段の決定に応じた誤り検査値を制御コマンドに付加して周辺部に送信する。すなわち、送信される誤り検査値が過去に出力されたいずれの制御コマンドを用いて生成されている誤り検査値であるかが、制御コマンドに基づいて変更される。これにより、制御コマンドと誤り検査値との対応関係を解析困難とすることができ、不正者が制御コマンドおよびそれに付加された誤り検査値を取得したとしても、不正を行うことを困難にすることができる。すなわち、本発明によれば、遊技機のセキュリティ強度を向上することができる。
【図面の簡単な説明】
【００１０】
【図１】遊技機の外観構成を示す正面図である。
【図２】遊技機のガラス枠を開放させた状態の外観構成を示す斜視図である。
【図３】遊技機の裏面側の外観構成を示す斜視図である。
【図４】遊技機の内部構成を示すブロック図である。
【図５】主制御部の認証処理に関する構成を示すブロック図である。
【図６】制御コマンド情報の形式を説明する説明図である。
【図７】後段制御部の認証処理に関する構成を示すブロック図である。
【図８】主制御部から演出制御部へ送信される制御コマンドの種別を示す図である。
【図９】主制御部によるメイン処理におけるフローチャートを示す図である。
【図１０】主制御部による割込処理におけるフローチャートを示す図である。
【図１１】主制御部による特図特電制御処理におけるフローチャートを示す図である。
【図１２】主制御部による特別図柄記憶判定処理におけるフローチャートを示す図である。
【図１３】主制御部による制御コマンド送信処理におけるフローチャートを示す図であす。
【図１４】後段制御部によるメイン処理におけるフローチャートを示す図である。
【図１５】演出制御部によるメイン処理におけるフローチャートを示す図である。
【図１６】演出制御部による割込処理におけるフローチャートを示す図である。
【図１７】演出制御部によるコマンド解析処理１におけるフローチャートを示す図である。
【図１８】演出制御部によるコマンド解析処理２におけるフローチャートを示す図である。
【図１９】演出制御部による認証結果データ解析処理におけるフローチャートを示す図である。
【図２０】第２の実施形態に係る制御コマンド情報の形式を説明する説明図である。
【図２１】第２の実施形態に係る主制御部の認証処理に関する構成を示すブロック図である。
【図２２】第２の実施形態に係る後段制御部の構成を示すブロック図である。
【図２３】第２の実施形態に係る主制御部による制御コマンド送信処理におけるフローチャートを示す図であす。
【図２４】第２の実施形態に係る後段制御部によるメイン処理におけるフローチャートを示す図である。
【図２５】制御コマンド情報の形式の他の例を説明する説明図である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について、図面を参照しながら説明する。具体的には、本発明の実施形態に係る遊技機の１つであるパチンコ遊技機１（以下、「遊技機１」という）について説明する。
【００１２】
〈第１の実施形態〉
［遊技機の構成］
以下に、本発明の一実施形態である第１の実施形態に係る遊技機１の構成について説明する。
図１は、本実施形態１に係る遊技機１の外観構成を示す正面図である。図２は、本実施形態１に係る遊技機１のガラス枠を開放させた状態の外観構成を示す斜視図である。図３は、本実施形態１に係る遊技機１の裏面側の外観構成を示す斜視図である。
【００１３】
遊技機１は、遊技店の島設備に取り付けられる外枠６０と、その外枠６０と回動可能に支持されたガラス枠５０とが備えられている（図１、図２参照）。また、外枠６０には、遊技球２００が流下する遊技領域６が形成された遊技盤２が設けられている。ガラス枠５０には、回動操作されることにより遊技領域６に向けて遊技球を発射させる操作ハンドル３と、スピーカからなる音声出力装置３２と、複数のランプを有する演出用照明装置３４と、押圧操作により演出態様を変更させるための演出ボタン３５とが設けられている。
【００１４】
さらに、ガラス枠５０には、複数の遊技球２００を貯留する受け皿４０が設けられており、この受け皿４０は、操作ハンドル３の方向側に遊技球２００が流下するように下りの傾斜を有している（図２参照）。この受け皿４０の下りの傾斜の端部には、遊技球を受け入れる図示しない受入口が設けられており、この受入口に受け入れられた遊技球は、玉送りソレノイド４ｂが駆動することにより、ガラス枠５０の裏面に設けられた玉送り開口部４１へ１個ずつ送り出される。そして、玉送り開口部４１へ送り出された遊技球は、打出部材４ｃの方向に向けて下り傾斜を有している発射レール４２により、発射レール４２の下り傾斜の端部に誘導される。発射レール４２の下り傾斜の端部の上方には、遊技球を停留させるストッパー４３が設けられており、玉送り開口部４１から送り出された遊技球２００は、発射レール４２の下り傾斜の端部で１個の遊技球が停留されることになる（図２参照）。
【００１５】
そして、遊技者が操作ハンドル３を回動させると、操作ハンドル３に直結している発射ボリューム３ｂ（図４参照）も回動し、発射ボリューム３ｂにより遊技球の発射強度が調整され、調整された発射強度で発射用ソレノイド４ａ（図４参照）に直結された打出部材４ｃが回転する。この打出部材４ｃが回転することで、打出部材４ｃにより発射レール４２の下り傾斜の端部に貯留されている遊技球２００が打ち出され、遊技球が遊技領域６に発射されることとなる。
【００１６】
上記のようにして発射された遊技球は、発射レール４２からレール５ａ、５ｂ間を上昇して玉戻り防止片５ｃを超えると、遊技領域６に到達し、その後遊技領域６内を落下する。このとき、遊技領域６に設けられた複数の釘や風車によって、遊技球は予測不能に落下することとなる。
【００１７】
また、上記遊技領域６には、複数の一般入賞口１２が設けられている。これら各一般入賞口１２には、一般入賞口検出スイッチ１２ａ（図４参照）が設けられており、この一般入賞口検出スイッチ１２ａが遊技球の入賞を検出すると、所定の賞球（例えば１０個の遊技球）が払い出される。
【００１８】
また、上記遊技領域６の中央下側の領域には、遊技球が入球可能な始動領域を構成する第１始動口１４および第２始動口１５と、遊技球が入球可能な第２大入賞口１７とが設けられている。
【００１９】
この第２始動口１５は、一対の可動片１５ｂを有しており、これら一対の可動片１５ｂが閉状態に維持される態様（以下、「第１の態様」という）と、一対の可動片１５ｂが開状態となる態様（以下、「第２の態様」という）とに可動制御される。なお、第２始動口１５が上記第１の態様に制御されているときには、当該第２始動口１５の真上に位置する第２大入賞口１７の入賞部材が障害物となって、遊技球の受入れを不可能としている。一方で、第２始動口１５が上記第２の態様に制御されているときには、上記一対の可動片１５ｂが受け皿として機能し、第２始動口１５への遊技球の入賞が容易となる。つまり、第２始動口１５は、第１の態様にあるときには遊技球の入賞機会がなく、第２の態様にあるときには遊技球の入賞機会が増すこととなる。
【００２０】
ここで、第１始動口１４には遊技球の入球を検出する第１始動口検出スイッチ１４ａ（図４参照）が設けられ、第２始動口１５には遊技球の入球を検出する第２始動口検出スイッチ１５ａ（図４参照）が設けられている。そして、第１始動口検出スイッチ１４ａまたは第２始動口検出スイッチ１５ａが遊技球の入球を検出すると、特別図柄判定用乱数値等を取得し、後述する大当たり遊技を実行する権利獲得の抽選（以下、「大当たりの抽選」という）が行われる。また、第１始動口検出スイッチ１４ａまたは第２始動口検出スイッチ１５ａが遊技球の入球を検出した場合にも、所定の賞球（例えば３個の遊技球）が払い出される。
【００２１】
また、第２大入賞口１７は、遊技盤２に形成された開口部から構成されている。この第２大入賞口１７の下部には、遊技盤面側からガラス板５２側に突出可能な第２大入賞口開閉扉１７ｂを有しており、この第２大入賞口開閉扉１７ｂが遊技盤面側に突出する開放状態と、遊技盤面に埋没する閉鎖状態とに可動制御される。そして、第２大入賞口開閉扉１７ｂが遊技盤面に突出していると、遊技球を第２大入賞口１７内に導く受け皿として機能し、遊技球が第２大入賞口１７に入球可能となる。この第２大入賞口１７には第２大入賞口検出スイッチ１７ａ（図４参照）が設けられており、この第２大入賞口検出スイッチ１７ａが遊技球の入球を検出すると、予め設定された賞球（例えば１５個の遊技球）が払い出される。
【００２２】
さらに、上記遊技領域６の右側の領域には、遊技球が通過可能な普通領域を構成する普通図柄ゲート１３と、遊技球が入球可能な第１大入賞口１６とが設けられている。
このため、操作ハンドル３を大きく回動させ、強い力で打ち出された遊技球でないと、普通図柄ゲート１３と第１大入賞口１６とには遊技球が、通過または入賞しないように構成されている。
【００２３】
この普通図柄ゲート１３には、遊技球の通過を検出するゲート検出スイッチ１３ａ（図４参照）が設けられており、このゲート検出スイッチ１３ａが遊技球の通過を検出すると、普通図柄判定用乱数値を取得し、後述する「普通図柄の抽選」が行われる。
【００２４】
第１大入賞口１６は、通常は第１大入賞口開閉扉１６ｂによって閉状態に維持されており、遊技球の入球を不可能としている。これに対して、後述する特別遊技が開始されると、第１大入賞口開閉扉１６ｂが開放されるとともに、この第１大入賞口開閉扉１６ｂが遊技球を第１大入賞口１６内に導く受け皿として機能し、遊技球が第１大入賞口１６に入球可能となる。第１大入賞口１６には第１大入賞口検出スイッチ１６ａ（図４参照）が設けられており、この第１大入賞口検出スイッチ１６ａが遊技球の入球を検出すると、予め設定された賞球（例えば１５個の遊技球）が払い出される。
【００２５】
さらには、遊技領域６の最下部の領域には、一般入賞口１２、第１始動口１４、第２始動口１５、第１大入賞口１６および第２大入賞口１７のいずれにも入球しなかった遊技球を排出するためのアウト口１１が設けられている。
【００２６】
また、遊技領域６の中央には、遊技球の流下に影響を与える飾り部材７が設けられている。この飾り部材７の略中央部分には、液晶表示装置３１が設けられており、この液晶表示装置３１の上方には、ベルトの形をした演出用駆動装置３３が設けられている。
なお、本実施形態１においては、液晶表示装置３１を液晶表示器として用いているが、有機ＥＬディスプレイを用いてもよいし、プロジェクター、円環状の構造物からなるリール、いわゆる７セグメントＬＥＤ、ドットマトリクス等の表示装置等を用いてもよい。
【００２７】
この液晶表示装置３１は、遊技が行われていない待機中に画像を表示したり、遊技の進行に応じた画像を表示したりする。なかでも、後述する大当たりの抽選結果を報知するための３個の演出図柄３６が表示され、特定の演出図柄３６の組合せ（例えば、７７７等）が停止表示されることにより、大当たりの抽選結果として大当たりが報知される。
より具体的には、第１始動口１４または第２始動口１５に遊技球が入球したときには、３個の演出図柄３６をそれぞれスクロール表示するとともに、所定時間経過後に当該スクロールを停止させて、演出図柄３６を停止表示するものである。また、この演出図柄３６の変動表示中に、さまざまな画像やキャラクタ等を表示することによって、大当たりに当選するかもしれないという高い期待感を遊技者に与えるようにもしている。
【００２８】
上記演出用駆動装置３３は、その動作態様によって遊技者に期待感を与えるものである。演出用駆動装置３３は、例えば、ベルトが下方に移動したり、ベルト中央部の回転部材が回転したりする動作を行う。これら演出用駆動装置３３の動作態様によって、遊技者にさまざまな期待感を与えるようにしている。
【００２９】
さらに、上記の各種の演出装置に加えて、音声出力装置３２は、バックグラウンドミュージック、サウンドエフェクト等を出力し、サウンドによる演出を行い、演出用照明装置３４は、各ランプの光の照射方向や発光色を変更して、照明による演出を行うようにしている。
【００３０】
また、演出ボタン３５は、例えば、上記液晶表示装置３１に当該演出ボタン３５を操作するようなメッセージが表示されたときのみ有効となる。演出ボタン３５には、演出ボタン検出スイッチ３５ａ（図４参照）が設けられており、この演出ボタン検出スイッチ３５ａが遊技者の操作を検出すると、この操作に応じてさらなる演出が実行される。
【００３１】
遊技領域６の右下方には、第１特別図柄表示装置２０、第２特別図柄表示装置２１、普通図柄表示装置２２、第１特別図柄保留表示器２３、第２特別図柄保留表示器２４、普通図柄保留表示器２５が設けられている。
【００３２】
上記第１特別図柄表示装置２０は、第１始動口１４に遊技球が入球したことを契機として行われた大当たりの抽選結果を報知するものであり、７セグメントのＬＥＤで構成されている。つまり、大当たりの抽選結果に対応する特別図柄が複数設けられており、この第１特別図柄表示装置２０に大当たりの抽選結果に対応する特別図柄を表示することによって、抽選結果を遊技者に報知するようにしている。例えば、大当たりに当選した場合には「７」が表示され、ハズレであった場合には「−」が表示される。このようにして表示される「７」や「−」が特別図柄となるが、この特別図柄はすぐに表示されるわけではなく、所定時間変動表示された後に、停止表示されるようにしている。
【００３３】
ここで、「大当たりの抽選」とは、第１始動口１４または第２始動口１５に遊技球が入球したときに、特別図柄判定用乱数値を取得し、取得した特別図柄判定用乱数値が「大当たり」に対応する乱数値であるか、「小当たり」に対応する乱数値であるかの判定する処理をいう。この大当たりの抽選結果は即座に遊技者に報知されるわけではなく、第１特別図柄表示装置２０において特別図柄が点滅等の変動表示を行い、所定の変動時間を経過したところで、大当たりの抽選結果に対応する特別図柄が停止表示して、遊技者に抽選結果が報知されるようにしている。なお、第２特別図柄表示装置２１は、第２始動口１５に遊技球が入球したことを契機として行われた大当たりの抽選結果を報知するためのもので、その表示態様は、上記第１特別図柄表示装置２０における特別図柄の表示態様と同一である。
【００３４】
また、本実施形態１において「大当たり」というのは、第１始動口１４または第２始動口１５に遊技球が入球したことを条件として行われる大当たりの抽選において、大当たり遊技を実行する権利を獲得したことをいう。「大当たり遊技」においては、第１大入賞口１６または第２大入賞口１７が開放されるラウンド遊技を計１５回行う。各ラウンド遊技における第１大入賞口１６または第２大入賞口１７の最大開放時間については予め定められた時間が設定されており、この間に第１大入賞口１６または第２大入賞口１７に所定個数の遊技球（例えば９個）が入球すると、１回のラウンド遊技が終了となる。つまり、「大当たり遊技」は、第１大入賞口１６または第２大入賞口１７に遊技球が入球するとともに、当該入球に応じた賞球を遊技者が獲得できる遊技である。
【００３５】
本実施形態１では、「大当たりの抽選」においては、その当選確率により２つの遊技状態が設定されている。すなわち、当選確率が１/２９９．５に設定された「低確率遊技状態」と、当選確率が１／２９．９５に設定された「高確率遊技状態」である。また、「大当たり遊技」においても、複数種類の大当たり遊技が設定されている。例えば、「長当たり遊技」となれば、第１大入賞口１６が、１ラウンド遊技ごとに、２９．０００秒間×１回開放（×１５ラウンド）される。「短当たり遊技」となれば、第２大入賞口１７が、１ラウンド遊技ごとに、０．０５２秒間×１回（×１５ラウンド）開放される。「発展当たり遊技」となれば、第２大入賞口１７が、最初の１ラウンド遊技では０．０５２秒間×３回開放され、２ラウンド目以降は、１ラウンド遊技ごとに２９．０００秒間×１回（×１４ラウンド）開放される。
また、「小当たり」の場合は、当選確率が１／１４９．７５の１つの遊技状態が設定されている。また、「小当たり遊技」となれば、ラウンド遊技ではないものの、第２大入賞口１７が０．０５２秒間×１５回開放される。なお、本実施形態１では、「大当たり遊技」と「小当たり遊技」とを総称して「特別遊技」という。
【００３６】
また、普通図柄表示装置２２は、普通図柄ゲート１３を遊技球が通過したことを契機として行われる普通図柄の抽選結果を報知するためのものである。詳しくは後述するが、この普通図柄の抽選によって当たりに当選すると普通図柄表示装置２２が点灯し、その後、上記第２始動口１５が所定時間、第２の態様に制御される。
【００３７】
ここで、「普通図柄の抽選」とは、普通図柄ゲート１３に遊技球が通過したときに、普通図柄判定用乱数値を取得し、取得した普通図柄判定用乱数値が「当たり」に対応する乱数値であるかどうかを判定する処理をいう。この普通図柄の抽選結果についても、普通図柄ゲート１３を遊技球が通過して即座に抽選結果が報知されるわけではなく、普通図柄表示装置２２において普通図柄が点滅等の変動表示を行い、所定の変動時間を経過したところで、普通図柄の抽選結果に対応する普通図柄が停止表示して、遊技者に抽選結果が報知されるようにしている。
【００３８】
さらに、特別図柄の変動表示中や後述する特別遊技中等、第１始動口１４または第２始動口１５に遊技球が入球して、即座に大当たりの抽選が行えない場合には、一定の条件のもとで、大当たりの抽選の権利が保留される。より詳細には、第１始動口１４に遊技球が入球したときに取得された特別図柄判定用乱数値を第１保留として記憶し、第２始動口１５に遊技球が入球したときに取得された特別図柄判定用乱数値を第２保留として記憶する。
これら両保留は、それぞれ上限保留個数を４個に設定し、その保留個数は、それぞれ第１特別図柄保留表示器２３と第２特別図柄保留表示器２４とに表示される。なお、第１保留が１つの場合には、第１特別図柄保留表示器２３の左側のＬＥＤが点灯し、第１保留が２つの場合には、第１特別図柄保留表示器２３の２つのＬＥＤが点灯する。また、第１保留が３つの場合には、第１特別図柄保留表示器２３の左側のＬＥＤが点滅するとともに右側のＬＥＤが点灯し、第１保留が４つの場合には、第１特別図柄保留表示器２３の２つのＬＥＤが点滅する。また、第２特別図柄保留表示器２４においても、上記と同様に第２保留の保留個数が表示される。
そして、普通図柄の上限保留個数も４個に設定されており、その保留個数が、上記第１特別図柄保留表示器２３および第２特別図柄保留表示器２４と同様の態様によって、普通図柄保留表示器２５において表示される。
【００３９】
ガラス枠５０は、遊技盤２の前方（遊技者側）において遊技領域６を視認可能に覆うガラス板５２を支持している。なお、ガラス板５２は、ガラス枠５０に対して着脱可能に固定されている。
【００４０】
またガラス枠５０は、左右方向の一端側（たとえば遊技機１に正対して左側）においてヒンジ機構部５１を介して外枠６０に連結されており、ヒンジ機構部５１を支点として左右方向の他端側（たとえば遊技機１に正対して右側）を外枠６０から開放させる方向に回動可能とされている。ガラス枠５０は、ガラス板５２とともに遊技盤２を覆い、ヒンジ機構部５１を支点として扉のように回動することによって、遊技盤２を含む外枠６０の内側部分を開放することができる。ガラス枠５０の他端側には、ガラス枠５０の他端側を外枠６０に固定するロック機構が設けられている。ロック機構による固定は、専用の鍵によって解除することが可能とされている。また、ガラス枠５０には、ガラス枠５０が外枠６０から開放されているか否かを検出する扉開放スイッチ１３３（図４参照）も設けられている。
【００４１】
遊技機１の裏面には、主制御部１１０が搭載された主制御基板、演出制御部１２０が搭載された演出制御基板、後段制御部１８０が搭載された後段制御基板、払出制御部１３０が搭載された払出制御基板、電源部１７０が搭載された電源基板、遊技情報出力端子板３０などが設けられている。また、電源部１７０に遊技機１に電力を給電するための電源プラグ１７１や、図示しない電源スイッチが設けられている。
【００４２】
［遊技機の内部構成］
以下、本発明の実施形態１に係る遊技機１の遊技進行に係る処理を制御する制御手段について説明する。
図４は、本実施形態１に係る遊技機１の内部構成を示すブロック図である。
【００４３】
主制御部１１０は、遊技の基本動作を制御する主制御手段であり、第１始動口検出スイッチ１４ａ等の各種検出信号を入力して、第１特別図柄表示装置２０や第１大入賞口開閉ソレノイド１６ｃ等を駆動させて遊技を制御するものである。
【００４４】
この主制御部１１０は、メインＣＰＵ１１０ａと、メインＲＯＭ１１０ｂと、メインＲＡＭ１１０ｃと、主制御用の入力ポートおよび出力ポート（図示せず）とを少なくとも備えている。
【００４５】
この主制御用の入力ポートには、払出制御部１３０、一般入賞口１２に遊技球が入球したことを検知する一般入賞口検出スイッチ１２ａ、普通図柄ゲート１３に遊技球が入球したことを検知するゲート検出スイッチ１３ａ、第１始動口１４に遊技球が入球したことを検知する第１始動口検出スイッチ１４ａ、第２始動口１５に遊技球が入球したことを検知する第２始動口検出スイッチ１５ａ、第１大入賞口１６に遊技球が入球したことを検知する第１大入賞口検出スイッチ１６ａ、第２大入賞口１７に遊技球が入球したことを検知する第２大入賞口検出スイッチ１７ａが接続されている。この主制御用の入力ポートによって、各種信号が主制御部１１０に入力される。
【００４６】
また、主制御用の出力ポートには、払出制御部１３０、第２始動口１５の一対の可動片１５ｂを開閉動作させる始動口開閉ソレノイド１５ｃ、第１大入賞口開閉扉１６ｂを動作させる第１大入賞口開閉ソレノイド１６ｃ、第２大入賞口開閉扉１７ｂを動作させる第２大入賞口開閉ソレノイド１７ｃ、特別図柄を表示する第１特別図柄表示装置２０と第２特別図柄表示装置２１、普通図柄を表示する普通図柄表示装置２２、特別図柄の保留球数を表示する第１特別図柄保留表示器２３と第２特別図柄保留表示器２４、普通図柄の保留球数を表示する普通図柄保留表示器２５、外部情報信号を出力する遊技情報出力端子板３０が接続されている。この主制御用の出力ポートによって、各種信号が出力される。
【００４７】
主制御部１１０のメインＣＰＵ１１０ａは、各検出スイッチやタイマからの入力信号に基づいて、メインＲＯＭ１１０ｂに記憶されたプログラムを読み出して演算処理を行うとともに、演算処理の結果に応じて主制御部１１０を構成する各構成部への制御指示（以下、「制御信号」という）や主制御部１１０外の他の制御部への制御コマンドを出力したりする。
【００４８】
主制御部１１０のメインＲＯＭ１１０ｂには、遊技進行に係る処理の内容や手順を記述した遊技処理用プログラムや、各種の遊技の決定に必要な固定データ、テーブルが予め記憶されている。
メインＲＯＭ１１０ｂに記憶されたテーブルとして一例を挙げれば、大当たり抽選に参照される大当たり判定テーブル、普通図柄の抽選に参照される当たり判定テーブル、特別図柄の停止図柄を決定する図柄決定テーブル、大当たり終了後の遊技状態を決定するための大当たり遊技終了時設定データテーブル、大入賞口開閉扉の開閉条件を決定する特別電動役物作動態様決定テーブル、大入賞口開放態様テーブル、特別図柄の変動パターンを決定する変動パターン決定テーブルなどがある。
【００４９】
また、本実施形態において、メインＲＯＭ１１０ｂには、メインＣＰＵ１１０ａが、主制御部１１０から演出制御部１２０等の他の制御部に送信される制御コマンドの正当性を認証するために用いる誤り検査値を生成し、生成した誤り検査値を制御コマンドに付加して演出制御部１２０に送信する処理を行うためのプログラムや、誤り検査値を生成するために必要なデータなどが記憶されている。なお、主制御部１１０が行う制御コマンドの正当性を認証する認証処理に係る処理の詳細については後述する。
【００５０】
主制御部１１０のメインＲＡＭ１１０ｃは、メインＣＰＵ１１０ａの演算処理時におけるデータのワークエリアとして機能し、複数の記憶領域を有している。
メインＲＡＭ１１０ｃが有する記憶領域として一例を挙げれば、普通図柄保留数（Ｇ）記憶領域、普通図柄保留記憶領域、普通図柄データ記憶領域、第１特別図柄保留数（Ｕ１）記憶領域、第２特別図柄保留数（Ｕ２）記憶領域、第１特別図柄乱数値記憶領域、第２特別図柄乱数値記憶領域、ラウンド遊技回数（Ｒ）記憶領域、開放回数（Ｋ）記憶領域、大入賞口入球数（Ｃ）記憶領域、遊技状態記憶領域（高確率遊技フラグ記憶領域等）、高確率遊技回数（Ｘ）カウンタ、遊技状態バッファ、停止図柄データ記憶領域、送信データ用記憶領域、特別図柄時間カウンタ、特別遊技タイマカウンタなど各種のタイマカウンタなどがある。また、本実施形態において、メインＲＡＭ１１０ｃが有する記憶領域として誤り検査値を生成するために用いるデータである制御コマンドを記憶しておく制御コマンド記憶領域がある。
【００５１】
遊技情報出力端子板３０は、主制御部１１０において生成された外部情報信号を遊技店のホールコンピュータ等に出力するための基板である。遊技情報出力端子板３０は、主制御部１１０と配線接続され、外部情報を遊技店のホールコンピュータ等と接続をするためのコネクタが設けられている。
【００５２】
電源部１７０は、コンデンサからなるバックアップ電源を備えており、遊技機１に電源電圧を供給するとともに、遊技機１に供給する電源電圧を監視し、電源電圧が所定値以下となったときに、電断検知信号を主制御部１１０へ出力する。より具体的には、電源電圧が、所定値以下を示すために電断検知信号がローレベルとなり一定時間経過すると、リセット信号がローレベルとなり、メインＣＰＵ１１０ａは動作を停止する処理を行う。その後、電源電圧が、所定値以上を示すために電断検知信号がハイレベルとなり一定時間経過すると、リセット信号がハイレベルとなり、メインＣＰＵ１１０ａは動作を開始する処理を行う。バックアップ電源はコンデンサに限らず、例えば、電池でもよく、コンデンサと電池とを併用して用いてもよい。
【００５３】
演出制御部１２０は、主に遊技中や待機中等の各演出を制御する。この演出制御部１２０は、サブＣＰＵ１２０ａ、サブＲＯＭ１２０ｂ、サブＲＡＭ１２０ｃを備えており、主制御部１１０に対して、当該主制御部１１０から演出制御部１２０への一方向に通信可能に接続されている。サブＣＰＵ１２０ａは、主制御部１１０から送信された制御コマンド、または、上記演出ボタン検出スイッチ３５ａ、タイマからの入力信号に基づいて、サブＲＯＭ１２０ｂに記憶されたプログラムを読み出して演算処理を行うとともに、当該処理に基づいて、対応するデータをランプ制御部１４０または画像制御部１５０に送信する。サブＲＡＭ１２０ｃは、サブＣＰＵ１２０ａの演算処理時におけるデータのワークエリアとして機能する。
【００５４】
例えば、演出制御部１２０のサブＣＰＵ１２０ａは、主制御部１１０から送信された制御コマンドの１つである特別図柄の変動態様を示す変動パターン指定コマンドを受信すると、受信した変動パターン指定コマンドの内容を解析して、液晶表示装置３１、音声出力装置３２、演出用駆動装置３３、演出用照明装置３４に所定の演出を実行させるためのデータを生成し、かかるデータを画像制御部１５０やランプ制御部１４０へ送信する。
【００５５】
また、後述するように、演出制御部１２０に対して後段制御部１８０が接続されている場合には、サブＣＰＵ１２０ａは、主制御部１１０から送信された制御コマンドや各種データを後続する後段制御部１８０へそのまま送信する中継送信処理を行う。なお、後段制御部１８０が払出制御部１３０に接続されている場合は、後述する払出ＣＰＵが、上記演出制御部１２０の中継送信処理に関する構成を備えている。
【００５６】
演出制御部１２０のサブＲＯＭ１２０ｂには、演出制御用のプログラムや各種の遊技の決定に必要なデータ、テーブルが記憶されている。
サブＲＯＭ１２０ｂに記憶されたテーブルとして一例を挙げれば、主制御部から受信した変動パターン指定コマンドに基づいて演出パターンを決定するための演出パターン決定テーブル、停止表示する演出図柄３６の組み合わせを決定するための演出図柄決定テーブルなどがある。
【００５７】
演出制御部１２０のサブＲＡＭ１２０ｃは、サブＣＰＵ１２０ａの演算処理時におけるデータのワークエリアとして機能し、複数の記憶領域を有している。
サブＲＡＭ１２０ｃが有する記憶領域として一例を挙げれば、遊技状態記憶領域、演出モード記憶領域、演出パターン記憶領域、演出図柄記憶領域などがある。
【００５８】
後段制御部１８０は、主に主制御部１１０に対する認証に係る処理（認証処理）を制御する。この後段制御部１８０は、ＣＰＵ１８０ａ、ＲＯＭ１８０ｂ、ＲＡＭ１８０ｃを備えており、主制御部１１０が本来の遊技処理に係る制御コマンドを送信する対象となる制御部（演出制御部１２０や払出制御部１３０等）に対して、主制御部１１０からみて後続するように設けられている。例えば、図４に示すように、後段制御部１８０が演出制御部１２０に後続するように設けられている場合、後段制御部１８０は、演出制御部１２０との間で双方向に通信可能に接続される。また、図示しないが、後段制御部１８０が払出制御部１３０に後続するように設けられている場合、後段制御部１８０は、払出制御部１３０との間で双方向に通信可能に接続される。よって、後段制御部１８０は、主制御部１１０から直接制御コマンドを送信されず、演出制御部１２０や払出制御部１３０等を介して送信されることとなる。
【００５９】
また、後段制御部１８０は、主制御部１１０と同様の方法で誤り検査値を生成する。後段制御部１８０は、主制御部１１０から送信された誤り検査値と生成した誤り検査値とを用いて、制御コマンドの正当性を認証する認証処理を行う。なお、後段制御部１８０が行う認証処理および認証処理に係る構成についての詳細は後述する。
【００６０】
後段制御部１８０のＣＰＵ１８０ａは、前段の演出制御部１２０や払出制御部１３０等を介して主制御部１１０から送信された制御コマンドおよび誤り検査値に基づいて、ＲＯＭ１８０ｂに記憶されたプログラムを読み出して認証処理を行うとともに、当該処理から得られた認証結果データを制御コマンドに付加して、前段の演出制御部１２０や払出制御部１３０等へ送信し、認証結果データおよび制御コマンドに基づく処理を実行させる。ＲＯＭ１８０ｂは、主制御部１１０から送信された誤り検査値を用いて、その誤り検査値が付加された制御コマンドの正当性を認証する処理を行うためのプログラムが予め記憶されている。ＲＡＭ１８０ｃは、ＣＰＵ１８０ａの演算処理時におけるデータのワークエリアとして機能する。本実施形態において、ＲＡＭ１８０ｃが有する記憶領域として、メインＲＡＭ１１０ｃと同様に、誤り検査値を生成するために用いるデータである制御コマンドを記憶しておく制御コマンド記憶領域がある。
【００６１】
払出制御部１３０は、遊技球の払い出し制御を行う。この払出制御部１３０は、図示しない払出ＣＰＵ、払出ＲＯＭ、払出ＲＡＭから構成されるワンチップマイコンを備えており、主制御部１１０に対して、双方向に通信可能に接続されている。払出ＣＰＵは、遊技球が払い出されたか否かを検知する払出球計数検知スイッチ１３２、扉開放スイッチ１３３、タイマからの入力信号に基づいて、払出ＲＯＭに記憶されたプログラムを読み出して演算処理を行うとともに、当該処理に基づいて、対応するデータを主制御部１１０に送信する。
【００６２】
また、払出制御部１３０の出力側には、遊技球の貯留部から所定数の遊技球を払い出すための払出装置の払出モータ１３１が接続されている。払出ＣＰＵは、主制御部１１０から送信された制御コマンドの１つである払出個数指定コマンドに基づいて、払出ＲＯＭから所定のプログラムを読み出して演算処理を行うとともに、払出装置の払出モータ１３１を制御して所定の遊技球を払い出す。このとき、払出ＲＡＭは、払出ＣＰＵの演算処理時におけるデータのワークエリアとして機能する。
【００６３】
ランプ制御部１４０は、遊技盤２に設けられた演出用照明装置３４を点灯制御したり、光の照射方向を変更するためのモータに対する駆動制御をしたりする。また、演出用駆動装置３３を動作させるソレノイドやモータ等の駆動源を通電制御する。このランプ制御部１４０は、演出制御部１２０に接続されており、演出制御部１２０から送信された各種のコマンドに基づいて、上記の各制御を行うこととなる。
【００６４】
画像制御部１５０は、液晶表示装置３１の画像表示制御を行うためのホストＣＰＵ、ホストＣＰＵのワークエリアとして機能する一時的な記憶領域を有するホストＲＡＭ、ホストＣＰＵの制御処理のプログラム等が記憶されたホストＲＯＭ、画像データが記憶されたＣＧＲＯＭ、画像データを描画するフレームバッファを有するＶＲＡＭ、画像プロセッサとなるＶＤＰ（Video Display Processor）と、音の制御を行う音制御回路とを備えている。
【００６５】
ホストＣＰＵは、演出制御部１２０から受信した演出パターン指定コマンドに基づいて、ＶＤＰにＣＧＲＯＭに記憶されている画像データを液晶表示装置３１に表示させる指示を行う。
ＶＤＰは、ホストＣＰＵからの指示に基づいて、ＣＧＲＯＭに記憶された画像データをＶＲＡＭのフレームバッファに描画する。次に、ＶＲＡＭにある表示用のフレームバッファに記憶された画像データに基づいて映像信号（ＲＧＢ信号等）を生成し、生成した映像信号を液晶表示装置３１に出力する。
【００６６】
音制御回路には、音声データが多数記憶されている音声ＲＯＭが備えられており、音制御回路が、演出制御部１２０から送信されたコマンドに基づいて所定のプログラムを読み出すとともに、音声出力装置３２における音声出力制御をする。
【００６７】
発射制御部１６０は、遊技球の発射制御を行う。この発射制御部１６０は、入力側にタッチセンサ３ａおよび発射ボリューム３ｂが接続されており、出力側に発射用ソレノイド４ａおよび玉送りソレノイド４ｂを接続している。発射制御部１６０は、タッチセンサ３ａからのタッチ信号を入力するとともに、発射ボリューム３ｂから供給された電圧に基づいて、発射用ソレノイド４ａや玉送りソレノイド４ｂを通電させる制御を行う。
【００６８】
タッチセンサ３ａは、操作ハンドル３の内部に設けられ、遊技者が操作ハンドル３に触れたことによる静電容量の変化を利用した静電容量型の近接スイッチから構成される。タッチセンサ３ａは、遊技者が操作ハンドル３に触れたことを検知すると、発射制御部１６０（図４参照）に発射用ソレノイド４ａの通電を許可するタッチ信号を出力する。発射制御部１６０は、大前提としてタッチセンサ３ａからタッチ信号の入力がなければ、遊技球２００を遊技領域６に発射させないように構成されている。
【００６９】
発射ボリューム３ｂは、操作ハンドル３が回動する回動部に直結して設けられ、可変抵抗器から構成される。発射ボリューム３ｂは、その発射ボリューム３ｂに印加された定電圧（例えば５Ｖ）を可変抵抗器により分圧して、分圧した電圧を発射制御部１６０に供給する（発射制御部１６０に供給する電圧を可変させる）。発射制御部１６０は、発射ボリューム３ｂにより分圧された電圧に基づいて、発射用ソレノイド４ａを通電して、発射用ソレノイド４ａに直結された打出部材４ｃを回転させることで、遊技球２００を遊技領域６に発射させる。
【００７０】
発射用ソレノイド４ａは、ロータリーソレノイドから構成され、発射用ソレノイド４ａには打出部材４ｃが直結されており、発射用ソレノイド４ａが回転することで、打出部材４ｃを回転させる。
【００７１】
ここで、発射用ソレノイド４ａの回転速度は、発射制御部１６０に設けられた水晶発振器の出力周期に基づく周波数から、約９９．９（回／分）に設定されている。これにより、１分間における発射遊技数は、発射ソレノイドが１回転する毎に１個発射されるため、約９９．９（個／分）となる。すなわち、１個の遊技球は約０．６秒毎に発射されることになる。
【００７２】
玉送りソレノイド４ｂは、直進ソレノイドから構成され、受け皿４０にある遊技球を、発射用ソレノイド４ａに直結された打出部材４ｃに向けて１個ずつ送り出す。
【００７３】
ここで、上記構成の演出制御部１２０、払出制御部１３０、ランプ制御部１４０、画像制御部１５０、および発射制御部１６０など、主制御部１１０からの制御コマンドに基づいて、若しくは当該制御コマンドに基づいて生成されるコマンドに従って遊技機１の制御処理を行う制御部であって、後段制御部１８０以外の制御部を総称して「周辺部３００」という。また、演出制御部１２０が搭載された演出制御基板や払出制御部１３０が搭載された払出制御基板など、周辺部３００の各制御部が搭載された各制御基板を総称して「周辺基板」という。なお、後段制御部１８０、ランプ制御部１４０、および画像制御部１５０は、演出制御部１２０と同一の基板上に搭載することもできる。また、払出制御部１３０および発射制御部１６０は、主制御部１１０と同一の基板上に搭載することもできる。
【００７４】
［遊技機の認証処理に関する構成］
以下、上記構成の遊技機１が不正防止のために有する認証機能を実現する制御手段について説明する。
本実施形態１に係る遊技機１の認証機能は、後段制御部１８０が周辺部３００を介して主制御部１１０から送信された制御コマンドの正当性を認証することで、主制御部の認証を行うことによって実現される。つまり、パチンコ遊技機１は、主制御部１１０から送信されてきた制御コマンドが正当なものであれば、主制御部１１０も正当なものであると判断するのである。そして、後段制御部１８０で得られた認証結果は周辺部３００へ送信され、周辺部３００にて受信した認証結果に応じた処理が行われる。なお、本実施の形態では、後段制御部１８０は、演出制御部１２０に後続して接続されているとともに、後段制御部１８０で得られた認証結果は、周辺部３００のうち演出制御部１２０へ送信され、演出制御部１２０が認証結果に応じた処理を行うこととして説明する。
【００７５】
具体的には、主制御部１１０が、過去（例えば、１個前または２個前）に演出制御部１２０に送信した制御コマンドを用いて生成した誤り検査値を、今回送信する制御コマンドに付加して演出制御部１２０を介して後段制御部１８０に送信する。ここで、主制御部１１０は、今回送信する制御コマンドに付加する誤り検査値を、１個前または２個前に演出制御部１２０を介して後段制御部１８０に送信した制御コマンドのいずれを用いて生成するかを、今回送信する制御コマンドを用いて決定する。一方、後段制御部１８０は、過去（１個前または２個前）に受信した制御コマンドから生成した誤り検査値と、今回受信した制御コマンドに付加された誤り検査値とを照合して、これらが一致した場合は、今回送信された制御コマンドの正当性が認証され、主制御部１１０の認証が成功したと判断する。ここで、後段制御部１８０は、主制御部１１０と同様に、今回受信した制御コマンドの誤り検査に用いる誤り検査値を、１個前または２個前に受信した制御コマンドのいずれを用いて生成するかを、今回受信した制御コマンドを用いて決定する。すなわち、本実施形態では、今回送信する（受信した）制御コマンドに応じて今回生成される誤り検査値を過去に送信（受信）した制御コマンドのいずれの制御コマンドを用いるかを決定するのである。
【００７６】
図５は、本発明の一実施形態に係るパチンコ遊技機１を構成する主制御部１１０の認証処理に関する構成を示す機能ブロック図である。主制御部１１０は、制御コマンド出力部５００と、誤り検査値生成部５１０と、付加部５５０と、送信部５６０とを備えている。さらに、誤り検査値生成部５１０は、制御コマンド記憶部５２０と、誤り検査値演算部５３０と、制御コマンド決定部５４０とから構成される。主制御部１１０を構成する各機能ブロックは、例えば、図４に示す、メインＣＰＵ１１０ａ、メインＲＯＭ１１０ｂ、およびメインＲＡＭ１１０ｃ等の主制御部１１０が有する各手段を適宜組み合わせて構成される。
【００７７】
制御コマンド出力部５００は、演出制御部１２０によって行われる遊技処理の内容を指示するために、演出制御部１２０に今回送信する制御コマンドを生成し、誤り検査値生成部５１０および付加部５５０に出力する。制御コマンド出力部５００の機能を実現する具体的な手段は、例えば、図４に示すメインＣＰＵ１１０ａ、メインＲＯＭ１１０ｂの一部、およびメインＲＡＭ１１０ｃの一部から構成することができる。より具体的には、メインＣＰＵ１１０ａは、メインＲＡＭ１１０ｃをワークエリアとして、メインＲＯＭ１１０ｂに予め記憶されているプログラムに基づき、今回出力すべき制御コマンドを決定し、出力する。また、メインＣＰＵ１１０ａは、出力した制御コマンドをメインＲＡＭ１１０ｃの送信データ用記憶領域にセットする。
【００７８】
誤り検査値生成部５１０は、今回送信する制御コマンド、すなわち制御コマンド出力部５００が今回出力した制御コマンドに基づいて、今回生成する誤り検査値すなわち今回送信する制御コマンドに付加する誤り検査値を、制御コマンド出力部５００が過去に出力した制御コマンドのいずれの制御コマンドを用いて生成するかを決定する。本実施形態では、１個前（前回）または２個前（前々回）に出力された制御コマンドのいずれかを用いる例について説明する。また、誤り検査値生成部５１０は、今回誤り検査値の生成に用いることを決定した制御コマンド、すなわち、制御コマンド出力部５００から前回または前々回に出力された制御コマンドを用いて誤り検査値を生成し、生成した誤り検査値を付加部５５０に送る。
【００７９】
具体的には、誤り検査値生成部５１０を構成する制御コマンド記憶部５２０は、制御コマンド出力部５００から出力された制御コマンドを記憶するとともに、今回誤り検査値の生成に用いられる制御コマンドを誤り検査値演算部５３０に出力する。制御コマンド記憶部５２０は、制御コマンド決定部５４０によって決定される、今回誤り検査値演算部５３０に出力する制御コマンド（すなわち、今回誤り検査値の生成に用いる制御コマンド）を過去に送信した制御コマンドのうちのいずれの制御コマンドとするかを示す情報（以下、「コマンド制御情報」ともいう）を保持するコマンド制御情報記憶領域を有する。このような制御コマンド記憶部５２０は、今回送信する制御コマンドを記憶するとともに、制御コマンド決定部５４０によって決定された「コマンド制御情報」に基づいて前回または前々回送信した制御コマンドのいずれかを誤り検査値演算部５３０に出力する。なお、本実施形態では、制御コマンド記憶部５２０は、今回送信する制御コマンドと前回および前々回送信した制御コマンドとの少なくとも３つを記憶しておけばよい。制御コマンド記憶部５２０の機能を実現する具体的な手段は、例えば、図４に示すメインＣＰＵ１１０ａ、メインＲＡＭ１１０ｃに設けられる制御コマンド記憶領域や、コマンド制御情報記憶領域等である。
【００８０】
誤り検査値演算部５３０は、所定の生成方式で誤り検査値を生成可能であり、制御コマンド記憶部５２０に記憶されている前回および前々回に送信した制御コマンドから、制御コマンド決定部５４０が決定した今回誤り検査値の生成に用いる制御コマンドを取得し、この制御コマンドを用いて誤り検査値を生成する。そして、誤り検査値演算部５３０は、生成された誤り検査値を付加部５５０に出力する。なお、最初の誤り検査値の生成にいずれの過去に送信された制御コマンドを用いて生成するかは予め決めてあればよい、本実施形態では、最初は前回送信した制御コマンドを用いて誤り検査値を生成するように設定されているとして説明する。誤り検査値演算部５３０の機能を実現する具体的な手段は、例えば、図４に示すメインＣＰＵ１１０ａ、メインＲＯＭ１１０ｂの一部、およびメインＲＡＭ１１０ｃの一部から構成することができる。より具体的には、メインＣＰＵ１１０ａは、メインＲＡＭ１１０ｃをワークエリアとして、メインＲＯＭ１１０ｂに予め記憶されているプログラムに基づき、誤り検査値を生成し、出力する。
【００８１】
なお、後に詳述するが、制御コマンドは、制御コマンドの分類を示す１バイトの情報（ＭＯＤＥ）と、制御コマンドの詳細を示す１バイトの情報（ＤＡＴＡ）からなる２バイトの制御コマンドデータとして表される。また、本実施形態において、「制御コマンドを用いて誤り検査値を生成する」とは、制御コマンドの具体的な値である制御コマンドデータを用いて、誤り検査値を生成することである。本実施形態において、特に言及しない限りにおいて「制御コマンド」という言葉には、制御コマンドデータの意味が含まれるものとする。また、「制御コマンドを用いて生成された誤り検査値」を単に「制御コマンドの誤り検査値」ともいう。
【００８２】
また、本実施形態において誤り検査値の生成方式は、特に制限されず、例えば、チェックサム方式、ＣＲＣ方式、奇数パリティ方式、偶数パリティ方式、群計数チェック方式、垂直パリティ方式、水平パリティ方式、またはハミング符号方式等の公知の生成方式を用いることができる。また、誤り検査値は、四則演算、論理演算を用いて生成してもよい。また、制御コマンドデータのビットをシフトする処理（ビットシフト処理）やロテイトする処理（ロテイト処理）を用いて生成してもよい。
【００８３】
制御コマンド決定部５４０は、制御コマンド出力部５００から今回出力された制御コマンド、すなわち、主制御部１１０が今回送信する制御コマンドに基づいて、過去に出力された制御コマンド、本実施形態では前回および前々回に出力された制御コマンドから、今回送信する誤り検査値の生成に用いる制御コマンドを決定する。また、制御コマンド決定部５４０は、制御コマンド記憶部５２０のコマンド制御情報記憶領域に記憶されているコマンド制御情報を更新する。すなわち、制御コマンド決定部５４０は、決定した結果に応じて制御コマンド記憶部５２０が今回誤り検査値演算部５３０に出力する制御コマンドの制御を行う。制御コマンド決定部５４０の機能を実現する具体的な手段は、例えば、図４に示すメインＣＰＵ１１０ａ、メインＲＯＭ１１０ｂの一部、およびメインＲＡＭ１１０ｃの一部から構成することができる。より具体的には、メインＣＰＵ１１０ａは、メインＲＡＭ１１０ｃをワークエリアとして、今回出力された制御コマンド（コマンドデータ）、およびメインＲＯＭ１１０ｂに予め記憶されているプログラムに基づき、メインＲＡＭ１１０ｃのコマンド制御情報記憶領域に記憶されているコマンド制御情報を更新する。
【００８４】
ここで、本発明では、制御コマンド決定部５４０は、今回送信する制御コマンドが所定の制御コマンドである場合に、誤り検査値の生成に用いる制御コマンドをいずれの過去に送信された制御コマンドとするかを変更する。とくに本実施形態において、今回送信する制御コマンドが所定の制御コマンドである場合に、コマンド制御情報を「前回」と「前々回」を示す情報との間で切替える処理を行う。例えば、前回の誤り検査値が、当該誤り検査値が生成される時点から１個前（前回）に送信された制御コマンドで生成されたものであり、かつ、今回送信する制御コマンドが所定の制御コマンドである場合、今回の誤り検査値の生成に用いる制御コマンドを、２個前（前々回）送信された制御コマンドに切替える。すなわち、今回の誤り検査値の生成に用いる制御コマンドを前々回送信した制御コマンドに決定し、コマンド制御情報を「前々回」を示す情報に更新する。一方、制御コマンド決定部５４０は、今回送信する制御コマンドが所定の制御コマンドではない場合には、継続して、誤り検査値の生成に用いる制御コマンドとして前回の制御コマンドを用いる。すなわち、誤り検査値の生成に用いる制御コマンドを前回送信した制御コマンドに決定し、コマンド制御情報を「前回」を示す情報のまま継続する。
【００８５】
本実施形態では、制御コマンド決定部５４０は、ＭＯＤＥとＤＡＴＡからなる２バイトの制御コマンドデータに基づいてコマンド制御情報を決定する。すなわち、所定の制御コマンドとは、予め決められた２バイトの制御コマンドデータのことである。所定の制御コマンドは１種類でもよいし、複数種類でもよく、予め設定することができる。なお、本実施形態では、ＭＯＤＥとＤＡＴＡからなる２バイトの制御コマンドデータに基づいてコマンド制御情報を決定するとして説明するが、これに限定されずＭＯＤＥの情報のみを用いて決定するようにしてもよい。いずれにせよ、本発明では、制御コマンドに基づいてコマンド制御情報を決定しているのである。
【００８６】
なお、制御コマンド決定部５４０は、今回送信する制御コマンドが所定の制御コマンドである場合に、コマンド制御情報を変更するものとしたが、これに限定されない。例えば、制御コマンド決定部５４０は、今回送信する制御コマンドが所定の制御コマンドである場合には前回送信した誤り検査値の生成に用いられた制御コマンドに関わらずコマンド制御情報を「前回」に決定し、所定の制御コマンドではない場合にはコマンド制御情報を「前々回」に決定するようにしてもよい。また、所定の制御コマンドである場合にはコマンド制御情報を「前々回」に決定し、所定の制御コマンドでない場合にはコマンド制御情報を「前回」に決定するようにしてもよい。すなわち、制御コマンドの種類に応じて一義的にコマンド制御情報を決定するようにしてもよい。
【００８７】
付加部５５０は、制御コマンド出力部５００から出力された今回送信する制御コマンドに、誤り検査値演算部５３０から出力された今回送信する誤り検査値を付加して、演出制御部１２０へと送信する制御コマンド情報を生成する。付加部５５０の機能を実現する具体的な手段は、例えば、図４に示すメインＣＰＵ１１０ａ、メインＲＯＭ１１０ｂの一部、およびメインＲＡＭ１１０ｃの一部から構成することができる。より具体的には、メインＣＰＵ１１０ａは、メインＲＡＭ１１０ｃをワークエリアとして、メインＲＯＭ１１０ｂに予め記憶されているプログラムに基づき、制御コマンド情報を生成する。
【００８８】
送信部５６０は、今回送信する制御コマンドに誤り検査値を付加して生成された制御コマンド情報を演出制御部１２０へと送信する。送信部５６０の機能を実現する具体的な手段は、図４に示すメインＣＰＵ１１０ａ、メインＲＯＭ１１０ｂの一部、およびメインＲＡＭ１１０ｃの一部や、図示しない送信回路等から構成することができる。
【００８９】
ここで、制御コマンド情報とは、主制御部１１０から演出制御部１２０へと送信される制御コマンド（制御コマンドデータ）と、それに付加された誤り検査値のことである。以下、誤り検査値付き制御コマンドを制御コマンド情報ともいう。図６に、本実施形態における制御コマンド情報の形式を示す。なお、以下の説明では、制御コマンド３が所定の制御コマンドであるとして説明する。
【００９０】
図６に示すように、制御コマンド情報は、基本的に、制御コマンドにその前回または前々回送信された制御コマンドの誤り検査値が付加された形式になっている。ただし、最初に送信される制御コマンド１には所定の初期値が付加されている。次に、２番目に送信される制御コマンド２は、所定の制御コマンドではないのでコマンド制御情報は「前回」を示す情報が継続される。したがって、制御コマンド２には、最初に送信された制御コマンド１を用いて生成された誤り検査値１が付加され、制御コマンド情報が生成される。次に、３番目に送信される制御コマンド３は、所定の制御コマンドなのでコマンド制御情報は「前々回」を示す情報に変更される。したがって、制御コマンド３には、前々回、すなわち１番目に送信された制御コマンド１を用いて生成された誤り検査値１が付加され、制御コマンド情報が生成される。次に、４番目に送信される制御コマンド４は、所定の制御コマンドではないのでコマンド制御情報は「前々回」を示す情報が継続される。したがって、制御コマンド４には、前々回、すなわち２番目に送信された制御コマンド２を用いて生成された誤り検査値２が付加され、制御コマンド情報が生成される。以下、同様にして、今回送信する制御コマンドが所定の制御コマンドである場合は、コマンド制御情報を切替え、すなわち今回生成する誤り検査値を前回または前々回送信した制御コマンドのいずれの制御コマンドを用いて生成するかを切替え、所定の制御コマンドではない場合はコマンド制御情報を継続、すなわち今回生成する誤り検査値を前回または前々回送信した制御コマンドのいずれの制御コマンドを用いて生成するかを継続する。
【００９１】
ここで、初期値は特に制限されず、予め決められた、誤り検査値のダミーデータや、遊技機１に固有の情報である固有情報を用いることができる。固有情報は、具体的には、主制御基板の製造番号、メインＣＰＵ１１０ａに固有のシリアル番号やメーカーコードなどの主制御基板に固有の識別情報である。また、固有情報としては、メインＲＯＭ１１０ｂに記憶されているデータの一部である所定のデータを用いてもよい。すなわち、本実施形態において、固有情報は、予め決められた遊技機１に固有のデータである。なお、上記識別情報は、メインＲＯＭ１１０ｂに記憶しておいてもよいし、主制御基板に設けられた他の記憶手段に記憶しておいてもよい。
【００９２】
このように構成された主制御部１１０の各構成部の動作の概略を説明する。パチンコ遊技機１の電源が投入され、主制御部１１０のメインＣＰＵ１１０ａが初期設定処理を行った後、制御コマンド出力部５００は、演出制御部１２０に今回送信する制御コマンドを生成し、誤り検査値生成部５１０および付加部５５０に出力する。
誤り検査値生成部５１０は、受信した今回送信する制御コマンドを記憶するとともに、この今回送信する制御コマンドに基づいて今回送信する誤り検査値を過去に送信したいずれの制御コマンドを用いて生成するかを決定し、決定に基づいた制御コマンドを用いて誤り検査値を生成し付加部５５０に出力する。
付加部５５０は、制御コマンド出力部５００から出力された今回送信する制御コマンドに、誤り検査値生成部５１０から出力された今回送信する誤り検査値を付加して制御コマンド情報を生成し、送信部５６０へ送る。
送信部５６０は、付加部５５０から受け取った制御コマンド情報を演出制御部１２０へと送信する。
【００９３】
図７は、本発明の一実施形態に係るパチンコ遊技機１を構成する後段制御部１８０の認証処理に関する構成を示す機能ブロック図である。後段制御部１８０は、受信部６００と、誤り検査値生成部６１０と、誤り検査部６５０と、付加部６６０と、送信部６７０とを備えている。さらに、誤り検査値生成部６１０は、制御コマンド記憶部６２０と、誤り検査値演算部６３０と、制御コマンド決定部６４０とから構成される。後段制御部１８０を構成する各機能ブロックは、図４に示す、ＣＰＵ１８０ａ、ＲＯＭ１８０ｂ、およびＲＡＭ１８０ｃ等の各手段を適宜組み合わせて構成される。
【００９４】
受信部６００は、受信データ用記憶領域を有し、主制御部１１０から送信され演出制御部１２０を介して受信した制御コマンド情報を受信データ用記憶領域に書き込む。また、受信部６００は、受信した制御コマンド情報に含まれる今回受信した制御コマンドを誤り検査値生成部６１０および付加部６６０へ、今回受信した制御コマンドに付加された誤り検査値を誤り検査部６５０へと出力する。受信部６００の機能を実現する具体的な手段は、例えば、図４に示すＣＰＵ１８０ａ、ＲＯＭ１８０ｂの一部、およびＲＡＭ１８０ｃの受信データ用記憶領域等や、図示しない受信回路等から構成することができる。より具体的には、ＣＰＵ１８０ａは、ＲＡＭ１８０ｃをワークエリアとして、ＲＯＭ１８０ｂに予め記憶されているプログラムに基づき、受信データ用記憶領域に記憶されている今回受信した制御コマンド情報から制御コマンドおよび誤り検査値を抽出する。
【００９５】
誤り検査値生成部６１０は、今回受信した制御コマンドに基づいて、今回生成する誤り検査値すなわち今回誤り検査に用いる誤り検査値を、過去に受信した制御コマンドのいずれの制御コマンドを用いて生成するかを決定する。本実施形態では、１個前（前回）または２個前（前々回）に受信した制御コマンドのいずれかを用いて決定する。また、誤り検査値生成部６１０は、今回誤り検査値の生成に用いることを決定した制御コマンド、すなわち、前回または前々回に受信した制御コマンドを用いて誤り検査値を生成し、生成した誤り検査値を誤り検査部６５０に送る。
【００９６】
具体的には、誤り検査値生成部６１０を構成する制御コマンド記憶部６２０は、受信部６００から出力された制御コマンドを記憶するとともに、今回誤り検査値の生成に用いられる制御コマンドを誤り検査値演算部６３０に出力する。制御コマンド記憶部６２０は、制御コマンド決定部６４０によって決定される、今回誤り検査値演算部６３０に出力する制御コマンド（すなわち、今回誤り検査値の生成に用いる制御コマンド）を過去に受信した制御コマンドのうちのいずれの制御コマンドとするかを示す情報（以下、「コマンド制御情報」ともいう）を保持するコマンド制御情報記憶領域を有する。このような制御コマンド記憶部６２０は、今回受信した制御コマンドを記憶するとともに、制御コマンド決定部６４０によって決定されたコマンド制御情報に基づいて前回または前々回受信した制御コマンドのいずれかを誤り検査値演算部６３０に出力する。なお、本実施形態では、制御コマンド記憶部６２０は、今回受信した制御コマンドと前回および前々回受信した制御コマンドとの少なくとも３つを記憶しておけばよい。制御コマンド記憶部６２０の機能を実現する具体的な手段は、例えば、図４に示すＣＰＵ１８０ａ、ＲＡＭ１８０ｃに設けられる制御コマンド記憶領域や、コマンド制御情報記憶領域等である。
【００９７】
誤り検査値演算部６３０は、主制御部１１０を構成する誤り検査値演算部５３０と同様に、所定の生成方式で誤り検査値を生成可能であり、制御コマンド記憶部６２０に記憶されている前回および前々回に受信した制御コマンドから、制御コマンド決定部６４０が決定した今回誤り検査値の生成に用いる制御コマンドを取得し、この制御コマンドを用いて誤り検査値を生成する。そして、誤り検査値演算部６３０は、生成された誤り検査値を誤り検査部６５０に出力する。なお、最初の誤り検査値の生成にいずれの過去に送信された制御コマンドを用いて生成するかは、誤り検査値演算部５３０と同様に予め決めてあればよい。本実施形態では、最初は前回受信した制御コマンドを用いて誤り検査値を生成するように設定されているとして説明する。誤り検査値演算部６３０の機能を実現する具体的な手段は、例えば、図４に示すＣＰＵ１８０ａ、ＲＯＭ１８０ｂの一部、およびＲＡＭ１８０ｃの一部から構成することができる。より具体的には、ＣＰＵ１８０ａは、ＲＡＭ１８０ｃをワークエリアとして、ＲＯＭ１８０ｂに予め記憶されているプログラムに基づき、誤り検査値を生成し、出力する。
【００９８】
制御コマンド決定部６４０は、受信部６００から今回出力された制御コマンド、すなわち、後段制御部１８０が今回受信した制御コマンドに基づいて、過去に受信した制御コマンド、本実施形態では前回および前々回に受信した制御コマンドから、今回の誤り検査の対象となる誤り検査値の生成に用いる制御コマンドを決定する。また、制御コマンド決定部６４０は、決定した結果に応じて制御コマンド記憶部６２０が今回誤り検査値演算部６３０に出力する制御コマンドの制御、具体的には、制御コマンド決定部６４０は、制御コマンド記憶部６２０のコマンド制御情報記憶領域に記憶されているコマンド制御情報を更新する。制御コマンド決定部６４０の機能を実現する具体的な手段は、例えば、図４に示すＣＰＵ１８０ａ、ＲＯＭ１８０ｂの一部、およびＲＡＭ１８０ｃの一部から構成することができる。より具体的には、ＣＰＵ１８０ａは、ＲＡＭ１８０ｃをワークエリアとして、今回受信した制御コマンド、およびＲＯＭ１８０ｂに予め記憶されているプログラムに基づき、ＲＡＭ１８０ｃのコマンド制御情報記憶領域に記憶されているコマンド制御情報を更新する。
【００９９】
誤り検査部６５０は、受信部６００から送られた今回受信した制御コマンドに付加された誤り検査値と、誤り検査値演算部６３０から送られた今回生成された誤り検査値とを用いて誤り検査を行う。また、誤り検査部６５０は、誤り検査の結果である認証結果データを生成し、付加部６６０へと送信する。具体的には、誤り検査部６５０は、上記２つの誤り検査値を照合し、同一の値であるかを検証する。同一の場合は、誤り検査部６５０は、今回受信した制御コマンドの正当性を認証する。非同一の場合は、誤り検査部６５０は、制御コマンドに正当性がなく、誤りがあると判断する。すなわち、誤り検査部６５０は、今回受信した誤り検査値が付加された制御コマンドの正当性を認証する認証処理を行う。なお、最初に受信した制御コマンドには誤り検査値に替えて所定の初期値が付加されるので、誤り検査部６５０は、同様に所定の初期値を用いて誤り検査を行う。誤り検査部６５０の機能を実現する具体的な手段は、例えば、図４に示すＣＰＵ１８０ａ、ＲＯＭ１８０ｂの一部、およびＲＡＭ１８０ｃの一部から構成することができる。より具体的には、ＣＰＵ１８０ａは、ＲＡＭ１８０ｃをワークエリアとして、今回送信された誤り検査値と、今回生成された誤り検査値とを照合して誤り検査を行う。ＣＰＵ１８０ａは、誤り検査の結果である認証結果データを生成する。
【０１００】
付加部６６０は、受信部６００から出力された、今回後段制御部１８０で受信した制御コマンドに、誤り検査部６５０から出力された認証結果データを付加して、演出制御部１２０へ送信する認証結果データ付き制御コマンドを生成する。また、付加部６６０は、生成した認証結果データ付き制御コマンドを送信部６７０に出力する。付加部６６０の機能を実現する具体的な手段は、例えば、図４に示すＣＰＵ１８０ａの一部、ＲＯＭ１８０ｂの一部、およびＲＡＭ１８０ｃの一部等から構成することができる。
【０１０１】
送信部６７０は、付加部６６０から送信された認証結果データ付き制御コマンドを演出制御部１２０へと送信する。送信部６７０の機能を実現する具体的な手段は、例えば、図４に示すＣＰＵ１８０ａの一部、ＲＯＭ１８０ｂの一部、およびＲＡＭ１８０ｃの一部等から構成することができる。
【０１０２】
このように構成された後段制御部１８０の各構成部の動作の概略を説明する。パチンコ遊技機１の電源が投入され、主制御部１１０のメインＣＰＵ１１０ａが初期設定処理を行った後、主制御部１１０は制御コマンドの出力を開始し、後段制御部１８０に制御コマンド情報を送信する。受信部６００は、制御コマンド情報を受信して、受信した制御コマンド情報の制御コマンドを誤り検査値生成部６１０および付加部６６０に、誤り検査値を誤り検査部６５０に出力する。
誤り検査値生成部６１０は、今回受信した制御コマンドを記憶するとともに、この今回受信した制御コマンドに基づいて今回の誤り検査に用いる誤り検査値を過去に受信したいずれの制御コマンドを用いて生成するかを決定し、決定に基づいた制御コマンドを用いて誤り検査値を生成し誤り検査部６５０に出力する。
誤り検査部６５０は、受信部６００から出力された今回受信した制御コマンドに付加された誤り検査値と、誤り検査値生成部６１０から出力された今回生成された誤り検査値とを用いて誤り検査を行い、認証結果データを生成し、付加部６６０へと出力する。
付加部６６０は、受信部６００から出力された、今回後段制御部１８０で受信した制御コマンドに、誤り検査部６５０から出力された認証結果データを付加して、演出制御部１２０へ送信する認証結果データ付き制御コマンドを生成し、送信部６７０に出力する。
送信部６７０は、付加部６６０から送信された認証結果データ付き制御コマンドを演出制御部１２０へと送信する。
【０１０３】
［制御コマンドの説明］
以下、本発明の実施形態に係る遊技機１の主制御部１１０から演出制御部１２０に対して送信される制御コマンドの種別について説明する。
図８は、本実施形態に係る遊技機１を構成する主制御部１１０から演出制御部１２０へ送信される制御コマンドの種別を示す図である。なお、図８に示された制御コマンドは一例であり、本発明に係る制御コマンドはこれに限定されるものではない。
【０１０４】
主制御部１１０から演出制御部１２０へ送信される制御コマンドは、１コマンドが２バイトのデータで構成されており、制御コマンドの分類を識別するための１バイトの「ＭＯＤＥ」の情報と、各制御コマンドの詳細な制御内容を示す１バイトの「ＤＡＴＡ」の情報とから構成されている。
【０１０５】
「演出図柄指定コマンド」は、停止表示される特別図柄の種別を示すものであり、「ＭＯＤＥ」が「Ｅ０Ｈ」で設定され、特別図柄の種別に合わせて「ＤＡＴＡ」の情報が設定されている。なお、特別図柄の種別が結果的に大当たりの種別や遊技状態を決定するものであるから、演出図柄指定コマンドは、大当たりの種別や、遊技状態を示すものともいえる。
この演出図柄指定コマンドは、各種の特別図柄が決定され、特別図柄の変動表示が開始されるときに、決定された特別図柄に対応する演出図柄指定コマンドが演出制御部１２０に送信される。具体的には、大当たりの抽選結果を判定し特別図柄各種の特別図柄が決定され特別図柄の変動表示が開始されるときに、決定された特別図柄に対応する演出図柄指定コマンドがメインＲＡＭ１１０ｃの送信データ用記憶領域にセットされる。その後、送信データ用記憶領域にセットされている演出図柄指定コマンドは、後述する制御コマンド送信処理により、誤り検査値を付加されて演出制御部１２０へ送信されることになる。以下、他の制御コマンドも同様にして演出制御部１２０へ送信される。
なお、演出図柄指定コマンド等と関連する大当たりの抽選に関する処理については後述する。
【０１０６】
ここで、演出図柄指定コマンドのうち、「ＤＡＴＡ」が「００Ｈ」で設定される「ハズレ演出図柄指定コマンド」は、抽選結果がハズレの場合に、ハズレの結果を停止表示させるための制御コマンドである。すなわち、ハズレ演出図柄指定コマンド、抽選結果がハズレの場合に、主制御部１１０から演出制御部１２０に必ず送信される制御コマンドである。以下、ハズレ演出図柄指定コマンドを、ハズレの際の処理を実行させるコマンドとして、単に、「ハズレコマンド」ともいう。
【０１０７】
「第１特別図柄記憶指定コマンド」は、第１特別図柄保留数（Ｕ１）記憶領域に記憶されている保留記憶数を示すものであり、「ＭＯＤＥ」が「Ｅ１Ｈ」で設定され、保留記憶数に合わせて「ＤＡＴＡ」の情報が設定されている。
この第１特別図柄記憶指定コマンドは、第１特別図柄保留数（Ｕ１）記憶領域に記憶されている保留記憶数が切り替わるときに、保留記憶数に対応する第１特別図柄記憶指定コマンドが演出制御部１２０に送信される。具体的には、第１始動口１４への入球や大当たりの抽選結果の判定に際し第１特別図柄保留数（Ｕ１）記憶領域に記憶されている値が増減したときに、増減後の保留記憶数に対応する第１特別図柄記憶指定コマンドがメインＲＡＭ１１０ｃの送信データ用記憶領域にセットされる。
【０１０８】
「第２特別図柄記憶指定コマンド」は、第２特別図柄保留数（Ｕ２）記憶領域に記憶されている保留記憶数を示すものであり、「ＭＯＤＥ」が「Ｅ２Ｈ」で設定され、保留記憶数に合わせて「ＤＡＴＡ」の情報が設定されている。
この第２特別図柄記憶指定コマンドは、第２特別図柄保留数（Ｕ２）記憶領域に記憶されている保留記憶数が切り替わるときに、保留記憶数に対応する第２特別図柄記憶指定コマンドが演出制御部１２０に送信される。具体的には、第２始動口１５への入球や大当たりの抽選結果の判定に際し第２特別図柄保留数（Ｕ２）記憶領域に記憶されている値が増減したときに、増減後の保留記憶数に対応する第２特別図柄記憶指定コマンドがメインＲＡＭ１１０ｃの送信データ用記憶領域にセットされる。
なお、本実施形態では、「第１特別図柄記憶指定コマンド」と「第２特別図柄記憶指定コマンド」とをまとめて「特別図柄記憶指定コマンド」という。
【０１０９】
「図柄確定コマンド」は、特別図柄が停止表示されていることを示すものであり、「ＭＯＤＥ」が「Ｅ３Ｈ」で設定され、「ＤＡＴＡ」が「００Ｈ」に設定されている。
この図柄確定コマンドは、特別図柄が停止表示されているときに演出制御部１２０に送信される。具体的には、大当たりの抽選結果を判定し特別図柄の変動時間が経過した後に、特別図柄を第１特別図柄表示装置２０または第２特別図柄表示装置２１に停止表示させるときに、図柄確定コマンドがメインＲＡＭ１１０ｃの送信データ用記憶領域にセットされる。
【０１１０】
「電源投入時指定コマンド」は、遊技機１の電源が投入されたことを示すものであり、「ＭＯＤＥ」が「Ｅ４Ｈ」で設定され、「ＤＡＴＡ」が「００Ｈ」に設定されている。
この電源投入時指定コマンドは、遊技機１の電源が投入されたときに演出制御部１２０に送信される。遊技機１の電源が投入され主制御部１１０の初期化処理が行われる際に、電源遮断時（以下、「電断時」という）に生成したメインＲＡＭ１１０ｃのバックアップ情報が有効でない場合は、メインＲＡＭ１１０ｃの作業領域がクリアされ、新たに作業領域の設定が行われる。その後、電源投入時指定コマンドがメインＲＡＭ１１０ｃの送信データ用記憶領域にセットされる。
なお、電源投入時指定コマンド等と関連する初期化処理については後述する。
【０１１１】
「ＲＡＭクリア指定コマンド」は、メインＲＡＭ１１０ｃに記憶された情報がクリアされたことを示すものであり、「ＭＯＤＥ」が「Ｅ４Ｈ」で設定され、「ＤＡＴＡ」が「０１Ｈ」に設定されている。
遊技機１の裏側には図示しないＲＡＭクリアボタンが設けられており、ＲＡＭクリアボタンを押下しながら遊技機１の電源を投入すると、主制御部１１０にシステムリセットが発生し初期化処理が行われる。そして、メインＲＡＭ１１０ｃの作業領域がクリアされ新たに作業領域の設定が行われ電源投入時指定コマンドを送信した後に、ＲＡＭクリア指定コマンドがメインＲＡＭ１１０ｃの送信データ用記憶領域にセットされる。
【０１１２】
「電源復旧指定コマンド」は、遊技機１の電源が投入されて、正常に復旧したことを示すものであり、「ＭＯＤＥ」が「Ｅ４Ｈ」で設定され、電断時の遊技状態別に合わせて「ＤＡＴＡ」の情報が設定されている。
この電源復旧指定コマンドは、遊技機１の電源が投入されて、正常に復旧したときに演出制御部１２０に送信される。具体的には、遊技機１の電源が投入され初期化処理が行われる際に、電断時に生成したメインＲＡＭ１１０ｃのバックアップ情報が有効である場合は、バックアップ情報が示す遊技状態に応じた電源復旧指定コマンドを生成し、生成した電源復旧指定コマンドがメインＲＡＭ１１０ｃの送信データ用記憶領域にセットされる。
【０１１３】
なお、電源投入時に、電源投入時指定コマンド、ＲＡＭクリア指定コマンド、電源復旧指定コマンドのいずれか少なくとも１つが主制御部１１０から演出制御部１２０へ送信される。すなわち、「ＭＯＤＥ」が「Ｅ４Ｈ」で設定される上記の制御コマンド群は、電源投入時の処理を実行させるコマンドである。以下、「ＭＯＤＥ」が「Ｅ４Ｈ」で設定される上記の制御コマンド群を、単に、「電源投入コマンド」ともいう。
【０１１４】
「デモ指定コマンド」は、第１特別図柄表示装置２０または第２特別図柄表示装置２１が作動していないことを示すものであり、「ＭＯＤＥ」が「Ｅ５Ｈ」で設定され、「ＤＡＴＡ」が「００Ｈ」に設定されている。
このデモ指定コマンドは、第１特別図柄表示装置２０または第２特別図柄表示装置２１の特別図柄の保留記憶がなく、遊技者による操作がない非遊技状態が所定の時間経過したときに、演出制御部１２０に送信される。具体的には、大当たりの抽選、特別電動役物、遊技状態の制御を行うに際し、第１特別図柄保留数（Ｕ１）記憶領域または第２特別図柄保留数（Ｕ２）記憶領域のいずれの記憶領域にも１以上のデータがセットされていない状態が所定の時間継続したときに、デモ指定コマンドがメインＲＡＭ１１０ｃの送信データ用記憶領域にセットされる。
【０１１５】
なお、デモ指定コマンドは、第１特別図柄表示装置２０または第２特別図柄表示装置２１の特別図柄の保留記憶がないとき直ちに送信するようにしてもよい。この場合、演出制御部１２０は、デモ指定コマンドを受信した後、他の制御コマンドを所定時間受信しなかった場合、すなわち非遊技状態が所定時間経過した場合にデモ演出を実行する。
【０１１６】
「第１特別図柄用変動パターン指定コマンド」は、第１特別図柄表示装置２０における特別図柄の変動時間（変動態様）を示すものであり、「ＭＯＤＥ」が「Ｅ６Ｈ」で設定され、各種の変動パターンに合わせて「ＤＡＴＡ」の情報が設定されている。
この第１特別図柄用変動パターン指定コマンドは、第１特別図柄表示装置２０の特別図柄の変動表示が開始されるときに、決定された特別図柄の変動パターンに対応する第１特別図柄用変動パターン指定コマンドが演出制御部１２０に送信される。具体的には、大当たりの抽選結果を判定し特別図柄の変動パターンが決定され特別図柄の変動表示が開始されるときに、決定された特別図柄の変動パターンに対応する第１特別図柄用変動パターン指定コマンドがメインＲＡＭ１１０ｃの送信データ用記憶領域にセットされる。
【０１１７】
「第２特別図柄用変動パターン指定コマンド」は、第２特別図柄表示装置２１における特別図柄の変動時間（変動態様）を示すものであり、「ＭＯＤＥ」が「Ｅ７Ｈ」で設定され、各種の変動パターンに合わせて「ＤＡＴＡ」の情報が設定されている。
この第２特別図柄用変動パターン指定コマンドは、第２特別図柄表示装置２１の特別図柄の変動表示が開始されるときに、決定された特別図柄の変動パターンに対応する第２特別図柄用変動パターン指定コマンドが演出制御部１２０に送信される。具体的には、大当たりの抽選結果を判定し特別図柄の変動パターンが決定され特別図柄の変動表示が開始されるときに、決定された特別図柄の変動パターンに対応する第２特別図柄用変動パターン指定コマンドがメインＲＡＭ１１０ｃの送信データ用記憶領域にセットされる。
なお、本実施形態では、「第１特別図柄用変動パターン指定コマンド」と「第２特別図柄用変動パターン指定コマンド」とをまとめて、「変動パターン指定コマンド」という。
【０１１８】
ここで、変動パターン指定コマンドのうち、「ＤＡＴＡ」が「０１Ｈ」、「０２Ｈ」、「０３Ｈ」、「０４Ｈ」、「０５Ｈ」で設定される制御コマンド群は、リーチ演出を実行させる制御コマンドである。以下、「ＭＯＤＥ」が「Ｅ６Ｈ」で設定され、かつ「ＤＡＴＡ」が「０１Ｈ」〜「０５Ｈ」で設定される制御コマンド群を、単に、「リーチコマンド」ともいう。
【０１１９】
「大入賞口開放指定コマンド」は、各種大当たりの種別に合わせた大当たりのラウンド数を示すものであり、「ＭＯＤＥ」が「ＥＡＨ」で設定され、大当たりのラウンド数に合わせて「ＤＡＴＡ」の情報が設定されている。
この大入賞口開放指定コマンドは、大当たりラウンドが開始されるときに、開始されたラウンド数に対応する大入賞口開放指定コマンドが演出制御部１２０に送信される。具体的には、大当たり遊技処理において第１大入賞口開閉扉１６ｂ（または第２大入賞口開閉扉１７ｂ）を開放させるときに、開放させるときのラウンド数に対応する大入賞口開放指定コマンドがメインＲＡＭ１１０ｃの送信データ用記憶領域にセットされる。
なお、「ＭＯＤＥ」が「ＥＡＨ」で設定されるコマンド群は、大当たり中の各ラウンドに対応する処理を実行させるコマンドである。以下、「ＭＯＤＥ」が「ＥＡＨ」で設定されるコマンド群を、単に、「大当たりコマンド」ともいう。
【０１２０】
「オープニング指定コマンド」は、各種の大当たりが開始することを示すものであり、「ＭＯＤＥ」が「ＥＢＨ」で設定され、大当たりの種別に合わせて「ＤＡＴＡ」の情報が設定されている。
このオープニング指定コマンドは、各種の大当たりが開始するときに、大当たりの種別に対応するオープニング指定コマンドが演出制御部１２０に送信される。具体的には、大当たり遊技処理の開始のときに、大当たりの種別に対応するオープニング指定コマンドがメインＲＡＭ１１０ｃの送信データ用記憶領域にセットされる。
なお、「ＭＯＤＥ」が「ＥＢＨ」で設定されるコマンド群は、大当たり状態の処理を開始させるコマンドである。以下、「ＭＯＤＥ」が「ＥＢＨ」で設定されるコマンド群を、「大当たり開始コマンド」ともいう。
【０１２１】
「エンディング指定コマンド」は、各種の大当たりが終了したことを示すものであり、「ＭＯＤＥ」が「ＥＣＨ」で設定され、大当たりの種別に合わせて「ＤＡＴＡ」の情報が設定されている。
このエンディング指定コマンドは、各種の大当たりが終了するときに、大当たりの種別に対応するエンディング指定コマンドが演出制御部１２０に送信される。具体的には、大当たり遊技終了処理の開始のときに、大当たりの種別に対応するエンディング指定コマンドがメインＲＡＭ１１０ｃの送信データ用記憶領域にセットされる。
なお、「ＭＯＤＥ」が「ＥＣＨ」で設定されるコマンド群は、大当たり状態の処理を終了させるコマンドである。以下、「ＭＯＤＥ」が「ＥＣＨ」で設定されるコマンド群を、「大当たり終了コマンド」ともいう。
【０１２２】
「遊技状態指定コマンド」は、遊技状態の内容を示すものであり、「ＭＯＤＥ」が「ＥＤＨ」で設定され、遊技状態の内容に合わせて「ＤＡＴＡ」の情報が設定されている。
この遊技状態指定コマンドは、特別図柄の変動開始時および変動終了時に遊技状態指定コマンドが演出制御部１２０に送信される。具体的には、特別図柄の変動開始時および変動終了時などによって、遊技状態記憶領域や高確率遊技回数カウンタなどの現在の遊技状態を示すデータを記憶した各種記憶領域の値が変化したときに、現在の遊技状態に対応する遊技状態指定コマンドがメインＲＡＭ１１０ｃの送信データ用記憶領域にセットされる。
【０１２３】
［主制御部の制御処理］
以下、本発明の実施形態１に係る遊技機１の主制御部１１０の制御処理について説明する。まず、主制御部１１０のメイン処理について説明する。
図９は、本実施形態１に係る主制御部１１０によるメイン処理を示すフローチャートである。
【０１２４】
まず、ステップＳ１０において、メインＣＰＵ１１０ａは、初期化処理を行う。この処理において、メインＣＰＵ１１０ａは、電源投入に応じて、メインＲＯＭ１１０ｂから起動プログラムを読み込むとともに、メインＲＡＭ１１０ｃに記憶されるフラグなどを初期化する処理を行う。
ステップＳ２０において、メインＣＰＵ１１０ａは、特別図柄の変動態様（変動時間）を決定するためのリーチ判定用乱数値および特図変動用乱数値を更新する演出用乱数値更新処理を行う。
ステップＳ３０において、メインＣＰＵ１１０ａは、特別図柄判定用初期乱数値、大当たり図柄用初期乱数値、小当たり図柄用初期値乱数値、普通図柄判定用初期乱数値を更新する初期乱数値更新処理を行う。その後、所定の割込処理が行われるまで、ステップＳ２０とステップＳ３０との処理を繰り返し行う。
【０１２５】
次に、主制御部１１０の割込処理について説明する。
図１０は、本実施形態に係る主制御部１１０による割込処理を示すフローチャートである。
メインＣＰＵ１１０ａは、主制御部１１０に設けられたクロックパルス発生回路（図示せず）から出力されるクロック信号に基づいて、所定の周期（例えば４ミリ秒）ごとに、主制御部１１０のタイマ割込処理を実行する。
【０１２６】
まず、ステップＳ１００において、メインＣＰＵ１１０ａは、メインＣＰＵ１１０ａのレジスタに記憶されている情報をスタック領域に退避させる。
【０１２７】
ステップＳ１１０において、メインＣＰＵ１１０ａは、特別図柄時間カウンタの更新処理、特別電動役物の開放時間等などの特別遊技タイマカウンタの更新処理、普通図柄時間カウンタの更新処理、普電開放時間カウンタの更新処理等の各種タイマカウンタを更新する時間制御処理を行う。具体的には、特別図柄時間カウンタ、特別遊技タイマカウンタ、普通図柄時間カウンタ、普電開放時間カウンタから１を減算する処理を行う。
【０１２８】
ステップＳ１２０において、メインＣＰＵ１１０ａは、特別図柄判定用乱数値、大当たり図柄用乱数値、小当たり図柄用乱数値、普通図柄判定用乱数値の乱数更新処理を行う。
具体的には、それぞれの乱数値および乱数カウンタに１を加算して更新する。なお、加算した乱数カウンタが乱数範囲の最大値を超えた場合（乱数カウンタが１周した場合）には、乱数カウンタを０に戻し、その時の初期乱数値からそれぞれの乱数値を新たに更新する。
【０１２９】
ステップＳ１３０において、メインＣＰＵ１１０ａは、ステップＳ３０と同様に、特別図柄判定用初期乱数値、大当たり図柄用初期乱数値、小当たり図柄用初期値乱数値、普通図柄判定用初期乱数値を更新する初期乱数値更新処理を行う。
【０１３０】
ステップＳ２００において、メインＣＰＵ１１０ａは、入力制御処理を行う。この処理において、メインＣＰＵ１１０ａは、一般入賞口検出スイッチ１２ａ、第１大入賞口検出スイッチ１６ａ、第２大入賞口検出スイッチ１７ａ、第１始動口検出スイッチ１４ａ、第２始動口検出スイッチ１５ａ、ゲート検出スイッチ１３ａの各スイッチに入力があったか否か判定する入力処理を行う。
【０１３１】
具体的には、一般入賞口検出スイッチ１２ａ、第１大入賞口検出スイッチ１６ａ、第２大入賞口検出スイッチ１７ａ、第１始動口検出スイッチ１４ａ、第２始動口検出スイッチ１５ａからの各種検出信号を入力した場合には、ぞれぞれの入賞口毎に設けられた賞球のために用いる賞球カウンタに所定のデータを加算して更新する。
【０１３２】
さらに、第１始動口検出スイッチ１４ａから検出信号を入力した場合には、第１特別図柄保留数（Ｕ１）記憶領域にセットされているデータが４未満であれば、第１特別図柄保留数（Ｕ１）記憶領域に１を加算し、特別図柄判定用乱数値、大当たり図柄用乱数値、小当たり図柄用乱数値、リーチ判定用乱数値および特図変動用乱数値を取得して、取得した各種乱数値を第１特別図柄乱数値記憶領域にある所定の記憶部（第０記憶部〜第４記憶部）に記憶する。
【０１３３】
同様に、第２始動口検出スイッチ１５ａから検出信号を入力した場合には、第２特別図柄保留数（Ｕ２）記憶領域にセットされているデータが４未満であれば、第２特別図柄保留数（Ｕ２）記憶領域に１を加算し、特別図柄判定用乱数値、大当たり図柄用乱数値、小当たり図柄用乱数値、リーチ判定用乱数値および特図変動用乱数値を取得して、取得した各種乱数値を第２特別図柄乱数値記憶領域にある所定の記憶部（第０記憶部〜第４記憶部）に記憶する。
【０１３４】
また、ゲート検出スイッチ１３ａから検出信号を入力した場合には、普通図柄保留数（Ｇ）記憶領域にセットされているデータが４未満であれば、普通図柄保留数（Ｇ）記憶領域に１を加算し、普通図柄判定用乱数値を取得して、取得した普通図柄判定用乱数値を普通図柄保留記憶領域にある所定の記憶部（第０記憶部〜第４記憶部）に記憶する。
【０１３５】
さらに、第１大入賞口検出スイッチ１６ａまたは第２大入賞口検出スイッチ１７ａからの検出信号を入力した場合には、第１大入賞口１６または第２大入賞口１７に入賞した遊技球を計数するための大入賞口入球数（Ｃ）記憶領域に１を加算して更新する。
【０１３６】
ステップＳ３００において、メインＣＰＵ１１０ａは、上記ステップＳ２００での入力制御処理に基づいて、大当たりの抽選、特別電動役物、遊技状態の制御を行うための特別図柄・特別電動役物制御処理（以下、「特図特電制御処理」という）を行う。特図特電制御処理の詳細については、図１１を用いて後述する。
【０１３７】
ステップＳ４００において、メインＣＰＵ１１０ａは、普通図柄の抽選、普通電動役物の制御を行うための普通図柄・普通電動役物制御処理（以下、「普図普電制御処理」という）を行う。
具体的には、まず普通図柄保留数（Ｇ）記憶領域に１以上のデータがセットされているか否かを判定し、普通図柄保留数（Ｇ）記憶領域に１以上のデータがセットされていなければ、今回の普図普電制御処理を終了する。
【０１３８】
普通図柄保留数（Ｇ）記憶領域に１以上のデータがセットされていれば、普通図柄保留数（Ｇ）記憶領域に記憶されている値から１を減算した後、普通図柄保留記憶領域にある第１記憶部〜第４記憶部に記憶された普通図柄判定用乱数値を１つ前の記憶部にシフトさせる。このとき、既に第０記憶部に書き込まれていた普通図柄判定用乱数値は上書きされて消去されることとなる。
そして、当たり判定テーブルを参照し、普通図柄保留記憶領域の第０記憶部に記憶された普通図柄判定用乱数値が「当たり」に対応する乱数値であるかどうかの判定をする処理を行う。その後、普通図柄表示装置２２において普通図柄の変動表示を行って、普通図柄の変動時間が経過すると普通図柄の抽選の結果に対応する普通図柄の停止表示を行う。そして、参照した普通図柄判定用乱数値が「当たり」のものであれば、始動口開閉ソレノイド１５ｃを駆動させ、第２始動口１５を所定の開放時間、第２の態様に制御する。
【０１３９】
ステップＳ５００において、メインＣＰＵ１１０ａは、払出制御処理を行う。この払出制御処理において、メインＣＰＵ１１０ａは、ぞれぞれの賞球カウンタを参照し、各種入賞口に対応する払出個数指定コマンドを生成して、生成した払出個数指定コマンドを払出制御部１３０に送信する。
【０１４０】
ステップＳ６００において、メインＣＰＵ１１０ａは、外部情報データ、始動口開閉ソレノイドデータ、第１大入賞口開閉ソレノイドデータ、第２大入賞口開閉ソレノイドデータ、特別図柄表示装置データ、普通図柄表示装置データ、記憶数指定コマンドのデータ作成処理を行う。
【０１４１】
ステップＳ７００において、メインＣＰＵ１１０ａは、出力制御処理を行う。この処理において、ステップＳ６００で作成した外部情報データ、始動口開閉ソレノイドデータ、第１大入賞口開閉ソレノイドデータ、第２大入賞口開閉ソレノイドデータの信号を出力させるポート出力処理を行う。
また、第１特別図柄表示装置２０、第２特別図柄表示装置２１および普通図柄表示装置２２の各ＬＥＤを点灯させるために、上記Ｓ６００で作成した特別図柄表示装置データと普通図柄表示装置データとを出力する表示装置出力処理を行う。
【０１４２】
ステップＳ７１０において、メインＣＰＵ１１０ａは、制御コマンド送信処理を行う。
具体的には、メインＣＰＵ１１０ａは、メインＲＡＭ１１０ｃの送信データ用記憶領域にセットされている制御コマンドに誤り検査値（または初期値）を付加して制御コマンド情報を生成し、生成した制御コマンド情報を演出制御部１２０に送信する。この制御コマンド送信処理の詳細については図１３を用いて後述する。
【０１４３】
ステップＳ８００において、メインＣＰＵ１１０ａは、ステップＳ１００で退避した情報をメインＣＰＵ１１０ａのレジスタに復帰させる。
【０１４４】
次に、主制御部１１０の特図特電制御処理を説明する。
図１１は、本実施形態１に係る主制御部１１０による特図特電制御処理を示すフローチャートである。
【０１４５】
ステップＳ３０１において、メインＣＰＵ１１０ａは、特図特電処理データの値を読み込む。この「特図特電処理データ」は、特図特電制御処理の各サブルーチンが記憶された記憶領域のアドレスにそれぞれ割り当てられた値であり、特図特電処理データを参照することで、どのサブルーチンを処理するかを識別することができる。そして、特図特電処理データは、後述するように特図特電制御処理の各サブルーチンの中で必要に応じてセットされていき、その遊技において必要なサブルーチンが適宜処理されていくことになる。
【０１４６】
ステップＳ３０２において、メインＣＰＵ１１０ａは、読み込んだ特図特電処理データから分岐アドレスを参照し、特図特電処理データ＝０であれば特別図柄記憶判定処理（ステップＳ３１０）に処理を移し、特図特電処理データ＝１であれば特別図柄変動処理（ステップＳ３２０）に処理を移し、特図特電処理データ＝２であれば特別図柄停止処理（ステップＳ３３０）に処理を移し、特図特電処理データ＝３であれば大当たり遊技処理（ステップＳ３４０）に処理を移し、特図特電処理データ＝４であれば大当たり遊技終了処理（ステップＳ３５０）に処理を移し、特図特電処理データ＝５であれば小当たり遊技処理（ステップＳ３６０）に処理を移す。
【０１４７】
ステップＳ３１０の特別図柄記憶判定処理においては、メインＣＰＵ１１０ａは、大当たり判定処理、停止表示する特別図柄の決定をする特別図柄決定処理、特別図柄の変動時間を決定する変動時間決定処理等を行う。ここで、図１２を用いて、特別図柄記憶判定処理の具体的な内容を説明する。
【０１４８】
図１２は、本実施形態１に係る主制御部１１０による特別図柄記憶判定処理におけるフローチャートである。
【０１４９】
ステップＳ３１１において、メインＣＰＵ１１０ａは、第１特別図柄保留数（Ｕ１）記憶領域または第２特別図柄保留数（Ｕ２）記憶領域に１以上のデータがセットされているか否かを判定する。
そして、第１特別図柄保留数（Ｕ１）記憶領域または第２特別図柄保留数（Ｕ２）記憶領域のいずれの記憶領域にも１以上のデータがセットされていなければ、特図特電処理データ＝０を保持したまま、今回の特別図柄変動処理を終了する。
一方、第１特別図柄保留数（Ｕ１）記憶領域または第２特別図柄保留数（Ｕ２）記憶領域に１以上のデータがセットされていれば、ステップＳ３１２に処理を移す。
【０１５０】
ステップＳ３１２において、メインＣＰＵ１１０ａは、大当たり判定処理を行う。
具体的には、第２特別図柄保留数（Ｕ２）記憶領域に１以上のデータがセットされている場合には、第２特別図柄保留数（Ｕ２）記憶領域に記憶されている値から１を減算した後、第２特別図柄乱数値記憶領域にある第１記憶部〜第４記憶部に記憶された各種乱数値を１つ前の記憶部にシフトさせる。このとき、既に第０記憶部に書き込まれていた各種乱数値は上書きされて消去されることとなる。そして、大当たり判定テーブルを参照して、第２特別図柄乱数値記憶領域の第０記憶部に記憶された特別図柄判定用乱数値が「大当たり」に対応する乱数値であるか、「小当たり」に対応する乱数値であるかの判定を行う。
【０１５１】
また、第２特別図柄保留数（Ｕ２）記憶領域に１以上のデータがセットされておらず、第１特別図柄保留数（Ｕ１）記憶領域に１以上のデータがセットされている場合には、第１特別図柄保留数（Ｕ１）記憶領域に記憶されている値から１を減算した後、第１特別図柄乱数値記憶領域にある第１記憶部〜第４記憶部に記憶された各種乱数値を１つ前の記憶部にシフトさせる。このときにも、既に第０記憶部に書き込まれていた各種乱数値は上書きされて消去されることとなる。そして、大当たり判定テーブルを参照して、第１特別図柄乱数値記憶領域の第０記憶部に記憶された特別図柄判定用乱数値が「大当たり」に対応する乱数値であるか、「小当たり」に対応する乱数値であるかの判定を行う。
【０１５２】
本実施形態１では、第１特別図柄乱数値記憶領域よりも第２特別図柄乱数値記憶領域に記憶された乱数値が優先してシフト（消化）されることになる。しかしながら、始動口に入賞した順序で、第１特別図柄記憶領域または第２特別図柄記憶領域をシフトさせてもよいし、第１特別図柄記憶領域を第２特別図柄記憶領域よりも優先させてシフトさせてもよい。
【０１５３】
ステップＳ３１３において、メインＣＰＵ１１０ａは、停止表示する特別図柄の種類を決定するための特別図柄決定処理を行う。
この特別図柄決定処理では、上記大当たり判定処理（ステップＳ３１２）において「大当たり」と判定された場合には、図柄決定テーブルを参照して、第１特別図柄乱数値記憶領域の第０記憶部に記憶された大当たり図柄用乱数値に基づいて大当たり図柄（特別図柄１〜特別図柄６）を決定する。また、上記大当たり判定処理（ステップＳ３１２）において「小当たり」と判定された場合には、図柄決定テーブルを参照して、第１特別図柄乱数値記憶領域の第０記憶部に記憶された小当たり図柄用乱数値に基づいて小当たり図柄（特別図柄Ａ、特別図柄Ｂ）を決定する。また、上記大当たり判定処理（ステップＳ３１２）において「ハズレ」と判定された場合には、図柄決定テーブルを参照して、ハズレ図柄（特別図柄０）を決定する。
そして、決定した特別図柄に対応する停止図柄データを停止図柄データ記憶領域に記憶する。
【０１５４】
ステップＳ３１４において、メインＣＰＵ１１０ａは、特別図柄の変動時間決定処理を行う。
具体的には、変動パターン決定テーブルを参照して、第１特別図柄乱数値記憶領域の第０記憶部に記憶されたリーチ判定用乱数値および特図変動用乱数値に基づいて、特別図柄の変動パターンを決定する。その後、決定した特別図柄の変動パターンに対応する特別図柄の変動時間を決定する。そして、決定した特別図柄の変動時間に対応するカウンタを特別図柄時間カウンタにセットする処理を行う。
【０１５５】
ステップＳ３１５において、メインＣＰＵ１１０ａは、第１特別図柄表示装置２０または第２特別図柄表示装置２１に特別図柄の変動表示（ＬＥＤの点滅）を行わせるための変動表示データを所定の処理領域にセットする。これにより、所定の処理領域に変動表示データがセットされていると、上記ステップＳ６００でＬＥＤの点灯または消灯のデータが適宜作成され、作成されたデータがステップＳ７００において出力されることで、第１特別図柄表示装置２０または第２特別図柄表示装置２１の変動表示が行われる。
さらに、メインＣＰＵ１１０ａは、特別図柄の変動表示が開始されるときに、上記ステップＳ３１４で決定された特別図柄の変動パターンに対応する特別図柄の変動パターン指定コマンド（第１特別図柄用変動パターン指定コマンドまたは第２特別図柄用変動パターン指定コマンド）をメインＲＡＭ１１０ｃの送信データ用記憶領域にセットする。
【０１５６】
ステップＳ３１６において、メインＣＰＵ１１０ａは、特図特電処理データ＝０から特図特電処理データ＝１にセットして、特別図柄変動処理のサブルーチンに移す準備を行い、特別図柄記憶判定処理を終了する。
【０１５７】
再び、図１１に示す特図特電制御処理について説明を戻すことにする。
ステップＳ３２０の特別図柄変動処理においては、メインＣＰＵ１１０ａは、特別図柄の変動時間が経過したか否かを判定する処理を行う。
具体的には、ステップＳ３１４で決定された特別図柄の変動時間が経過したか（特別図柄時間カウンタ＝０）否かを判定し、特別図柄の変動時間が経過していないと判定した場合には、特図特電処理データ＝１を保持したまま、今回の特別図柄変動処理を終了する。なお、上記ステップＳ３１４でセットされた特別図柄の変動時間のカウンタは、上記ステップＳ１１０において減算処理されていく。
【０１５８】
特別図柄の変動時間が経過したと判定すれば、上記ステップＳ３１３で決定された特別図柄を第１特別図柄表示装置２０または第２特別図柄表示装置２１に停止表示させる。これにより、第１特別図柄表示装置２０または第２特別図柄表示装置２１に特別図柄が停止表示され、遊技者に大当たりの判定結果が報知されることとなる。
また、高確率遊技回数（Ｘ）＞０のときには高確率遊技回数（Ｘ）カウンタから１を減算して更新し、高確率遊技回数（Ｘ）＝０となれば、高確率遊技フラグをクリアする。
最後に、特図特電処理データ＝１から特図特電処理データ＝２にセットして、特別図柄停止処理のサブルーチンに移す準備を行い、特別図柄変動処理を終了する。
【０１５９】
ステップＳ３３０の特別図柄停止処理においては、メインＣＰＵ１１０ａは、停止表示された特別図柄が「大当たり図柄」であるか、「小当たり図柄」であるか、「ハズレ図柄」であるかを判定する処理を行う。
そして、大当たり図柄と判定された場合には、遊技状態記憶領域に記憶されているデータを参照し、現在の遊技状態を示すデータを遊技状態バッファにセットする。その後に、遊技状態記憶領域（高確率遊技フラグ記憶領域等）に記憶されているデータ（高確率遊技フラグ）、高確率遊技回数（Ｘ）カウンタをクリアする。さらに、特図特電処理データ＝２から特図特電処理データ＝３にセットして、大当たり遊技処理のサブルーチンに移す準備を行い、特別図柄停止処理を終了する。
【０１６０】
また、小当たり図柄と判定された場合には、遊技状態記憶領域に記憶されているデータはクリアせずに、特図特電処理データ＝２から特図特電処理データ＝５にセットして、小当たり遊技処理のサブルーチンに移す準備を行い、特別図柄停止処理を終了する。
一方、ハズレ図柄と判定された場合には、特図特電処理データ＝２から特図特電処理データ＝０にセットして、特別図柄記憶判定処理のサブルーチンに移す準備を行い、特別図柄停止処理を終了する。
【０１６１】
ステップＳ３４０の大当たり遊技処理においては、メインＣＰＵ１１０ａは、上記長当たりまたは短当たりのいずれの大当たりを実行させるかを決定し、決定した大当たりを制御する処理を行う。
具体的には、まず、特別電動役物作動態様決定テーブルを参照し、上記ステップＳ３１３で決定された大当たり図柄の種類（停止図柄データ）に基づいて、大当たりの開放態様を決定する。
【０１６２】
次に、決定した大当たりの開放態様を実行させるために、大入賞口開放態様テーブルを参照し、大当たりの種類に応じた開放時間を特別遊技タイマカウンタにセットするとともに、第１大入賞口開閉ソレノイド１６ｃ（または第２大入賞口開閉ソレノイド１７ｃ）の駆動データを出力して第１大入賞口開閉扉１６ｂ（または第２大入賞口開閉扉１７ｂ）を開放させる。このとき、ラウンド遊技回数（Ｒ）記憶領域に１を加算する。
この開放中に規定個数の遊技球が入球するか、大入賞口の開放時間が経過すると（大入賞口入球数（Ｃ）＝９または特別遊技タイマカウンタ＝０である）と、第１大入賞口開閉ソレノイド１６ｃ（または第２大入賞口開閉ソレノイド１７ｃ）の駆動データの出力を停止して第１大入賞口開閉扉１６ｂ（または第２大入賞口開閉扉１７ｂ）を閉鎖させる。これにより、１回のラウンド遊技が終了する。このラウンド遊技の制御を繰り返し１５回行う。
【０１６３】
１５回のラウンド遊技が終了すると（ラウンド遊技回数（Ｒ）＝１５）、ラウンド遊技回数（Ｒ）記憶領域および大入賞口入球数（Ｃ）記憶領域に記憶されているデータをクリアするとともに、特図特電処理データ＝３から特図特電処理データ＝４にセットして、大当たり遊技終了処理のサブルーチンに移す準備を行い、大当たり遊技処理を終了する。
【０１６４】
ステップＳ３５０の大当たり遊技終了処理においては、メインＣＰＵ１１０ａは、高確率遊技状態または低確率遊技状態のいずれかの確率遊技状態を決定する処理を行う。
具体的には、大当たり遊技終了時設定データテーブルを参照し、遊技状態バッファに記憶されているデータと上記ステップＳ３１３で決定された大当たり図柄の種類（停止図柄データ）とに基づいて、高確率遊技フラグの設定、高確率遊技回数（Ｘ）の設定を行う。例えば、特別図柄１であれば、高確率遊技フラグ記憶領域に高確率遊技フラグをセットし、高確率遊技回数（Ｘ）カウンタに１００００回をセットする。
その後、特図特電処理データ＝４から特図特電処理データ＝０にセットして、特別図柄記憶判定処理のサブルーチンに移す準備を行い、大当たり遊技終了処理を終了する。
【０１６５】
ステップＳ３６０の小当たり遊技処理においては、メインＣＰＵ１１０ａは、まず、特別電動役物作動態様決定テーブルを参照し、上記ステップＳ３１３で決定された小当たり図柄の種類（停止図柄データ）に基づいて、小当たりの開放態様を決定する。
次に、決定した小当たりの開放態様を実行させるために、大入賞口開放態様テーブルを参照し、小当たりの開放時間を特別遊技タイマカウンタにセットするとともに、第２大入賞口開閉ソレノイド１７ｃの駆動データを出力して第２大入賞口開閉扉１７ｂを開放させる。このとき、開放回数（Ｋ）記憶領域に１を加算する。
小当たりの開放時間が経過する（特別遊技タイマカウンタ＝０）と、第２大入賞口開閉ソレノイド１７ｃの駆動データの出力を停止して第２大入賞口開閉扉１７ｂを閉鎖させる。この第２大入賞口開閉扉１７ｂの開閉制御を繰り返し１５回行う。
【０１６６】
そして、第２大入賞口開閉扉１７ｂの開閉制御が１５回行われるか、第２大入賞口１７に規定個数の遊技球が入球する（開放回数（Ｋ）＝１５または大入賞口入球数（Ｃ）＝９である）と、小当たり遊技を終了させるため、第２大入賞口開閉ソレノイド１７ｃの駆動データの出力を停止させ、開放回数（Ｋ）記憶領域および大入賞口入球数（Ｃ）記憶領域に記憶されているデータをクリアするとともに、特図特電処理データ＝５から特図特電処理データ＝０にセットして、特別図柄記憶判定処理のサブルーチンに移す準備を行い、小当たり遊技処理を終了する。
【０１６７】
次に、主制御部１１０の制御コマンド送信処理を説明する。
図１３は、本実施形態に係る主制御部１１０による制御コマンド送信処理を示すフローチャートである。
【０１６８】
図９の主制御部１１０のメイン処理のステップＳ１０の初期化処理における制御コマンド送信処理のタイミングや、図１０の主制御部１１０のタイマ割込み処理のステップＳ７１０の制御コマンド送信処理のタイミングになったら、ステップＳ７１１において、誤り検査値生成部５１０は、制御コマンド出力部５００によって出力された今回送信する制御コマンドが送信データ用記憶領域にセットされているかを参照することで、制御コマンドの送信タイミングかを判断する。制御コマンドがセットされている場合は、制御コマンドの送信タイミングであると判断し、ステップＳ７１２へと進む。制御コマンドがセットされていない場合は、制御コマンドの送信タイミングではないと判断し、制御コマンド送信処理を終了する。具体的には、メインＣＰＵ１１０ａは、メインＲＡＭ１１０ｃの送信データ用記憶領域に、今回送信する制御コマンドが記憶されている場合、制御コマンドの送信タイミングであると判断する。
【０１６９】
続いて、ステップＳ７１２において、制御コマンド記憶部５２０は、制御コマンド出力部５００が今回出力した制御コマンド、すなわち今回送信する制御コマンドを取得してこれを保存する。具体的には、メインＣＰＵ１１０ａは、メインＲＡＭ１１０ｃの制御コマンド記憶領域に今回受信した制御コマンドを記憶する。
【０１７０】
続いて、ステップＳ７１３において、制御コマンド決定部５４０は、制御コマンド出力部５００が今回出力した制御コマンドを取得して、この今回送信する制御コマンドに基づいて今回の誤り検査値の生成に用いる制御コマンドを前回または前々回に送信した制御コマンドのいずれとするかを決定する。具体的には、例えば、前回の誤り検査値の生成の際に参照したコマンド制御情報が「前回」を示す情報であり、今回送信する制御コマンドが所定の制御コマンドである場合は、今回の誤り検査値の生成に前々回に送信した制御コマンドを用いることを決定する。
【０１７１】
続いて、ステップＳ７１４において、誤り検査値演算部５３０は、制御コマンド決定部５４０が決定した今回の誤り検査値の生成に用いる制御コマンドに関する情報を保存する。具体的には、制御コマンド決定部５４０は、決定した結果に応じて、制御コマンド記憶部５２０のコマンド制御情報記憶領域に記憶されているコマンド制御情報を更新する。
【０１７２】
続いて、ステップＳ７１５において、制御コマンド記憶部５２０は、コマンド制御情報を参照して、前回または前々回送信した制御コマンドから今回誤り検査値の生成に用いる制御コマンドを特定し、特定した制御コマンドを誤り検査値演算部５３０へ出力する。誤り検査値演算部５３０は、制御コマンド記憶部５２０から今回誤り検査値の生成に用いる制御コマンドを取得する。
続いて、ステップＳ７１６において、誤り検査値演算部５３０は、取得した制御コマンドを用いて誤り検査値を生成し、生成した誤り検査値を付加部５５０へと出力する。
【０１７３】
続いて、ステップＳ７１７において、付加部５５０は、制御コマンド出力部５００から出力された今回送信する制御コマンドに、誤り検査値演算部５３０から出力された今回生成された誤り検査値を付加して制御コマンド情報を生成し、送信部５６０に出力する。
続いて、ステップＳ７１８において、送信部５６０は、付加部５５０が生成した制御コマンド情報を演出制御部１２０に送信した後、本フローチャートによる処理を終了する。
【０１７４】
なお、今回送信した制御コマンドを保存するステップＳ７１２は、ステップＳ７１１以降であればどこで行ってもよい。例えば、ステップＳ７１５の前回送信した制御コマンドを取得するステップの後に行ってもよく、この場合、制御コマンド記憶部は１つの制御コマンドのみを保存しておけばよい。
【０１７５】
また、ステップＳ７１２において制御コマンド記憶部５２０は今回送信した制御コマンドを記憶するとしたが、制御コマンド記憶部５２０として機能するメインＲＡＭ１１０ｃの制御コマンド記憶領域と送信データ用記憶領域とを同一に構成すれば、本ステップは不要である。
【０１７６】
［後段制御部の制御処理］
以下、本発明の実施形態に係る遊技機１の後段制御部１８０の制御処理について説明する。
図１４は、本実施形態に係る後段制御部１８０によるメイン処理を示すフローチャートである。
【０１７７】
パチンコ遊技機１の電源が投入され、主制御部１１０のメインＣＰＵ１１０ａが初期設定処理を行った後、主制御部１１０を構成する制御コマンド出力部５００は、制御コマンドの出力を開始する。そして主制御部１１０は誤り検査値を生成し、生成した誤り検査値を制御コマンドに付加して制御コマンド情報として演出制御部１２０へと送信する。演出制御部１２０は、後述するが、中継送信処理を行って、受信した制御コマンド情報をそのまま後段制御部１８０に送信する。後段制御部１８０の受信部６００は、制御コマンド情報を受信すると、それを受信データ用記憶領域に書き込む。
【０１７８】
まず、ステップＳ９０１において、ＣＰＵ１８０ａは、初期化処理を行う。この処理において、ＣＰＵ１８０ａは、電源投入に応じて、ＲＯＭ１８０ｂからメイン処理に関するプログラムコードを読み込む。これとともに、ＣＰＵ１８０ａは、ＲＡＭ１８０ｃを初期化する処理を行う。
続いて、ステップＳ９０２において、ＣＰＵ１８０ａは、受信部６００の受信データ用記憶領域に制御コマンド情報が記憶されているか否かを確認して、制御コマンド情報を受信したか否かを判定する。ＣＰＵ１８０ａは、受信データ用記憶領域に制御コマンド情報が記憶されていなければ本ステップを繰り返し、受信データ用記憶領域に制御コマンド情報が記憶されていればステップＳ９０３に処理を移す。
【０１７９】
続いて、ステップＳ９０３において、後段制御部１８０の受信部６００は、受信データ用記憶領域に記憶されている制御コマンド情報から制御コマンドおよび誤り検査値を取得する。また、受信部６００は、今回受信した制御コマンドを制御コマンド記憶部６２０、制御コマンド決定部６４０および付加部６６０へ、取得した誤り検査値を誤り検査部６５０へと送信する。
【０１８０】
続いて、ステップＳ９０４において、制御コマンド記憶部６２０は、取得した今回受信した制御コマンドを記憶する。具体的には、ＣＰＵ１８０ａは、ＲＡＭ１８０ｃの制御コマンド記憶領域に今回受信した制御コマンドを記憶する。
【０１８１】
続いて、ステップＳ９０５において、制御コマンド決定部６４０は、受信部６００から取得した、今回受信した制御コマンドに基づいて今回の誤り検査値の生成に用いる制御コマンドを前回または前々回に受信した制御コマンドのいずれとするかを決定する。具体的には、例えば、前回の誤り検査値の生成の際に参照したコマンド制御情報が「前回」を示す情報であり、今回受信した制御コマンドが所定の制御コマンドである場合は、今回の誤り検査値の生成に前々回に受信した制御コマンドを用いることを決定する。
【０１８２】
続いて、ステップＳ９０６において、誤り検査値演算部６３０は、制御コマンド決定部６４０が決定した今回の誤り検査値の生成に用いる制御コマンドに関する情報を保存する。具体的には、制御コマンド決定部６４０は、決定した結果に応じて、制御コマンド記憶部６２０のコマンド制御情報記憶領域に記憶されているコマンド制御情報を更新する。
【０１８３】
続いて、ステップＳ９０７において、誤り検査値演算部６３０は、コマンド制御情報を参照して、前回または前々回受信した制御コマンドから今回誤り検査値の生成に用いる制御コマンドを特定し、特定した制御コマンドを誤り検査値演算部６３０へ出力する。誤り検査値演算部６３０は、制御コマンド記憶部６２０から今回誤り検査値の生成に用いる制御コマンドを取得する。
続いて、ステップＳ９０８において、誤り検査値演算部６３０は、取得した制御コマンドを用いて誤り検査値を生成し、生成した誤り検査値を誤り検査部６５０へと出力する。
【０１８４】
続いて、ステップＳ９０９において、誤り検査部６５０は、ステップＳ９０３で取得した誤り検査値と、誤り検査値生成部６１０が今回生成した誤り検査値とを照合し、誤り検査を行う。
続いて、ステップＳ９１０において、誤り検査の結果、２つの誤り検査値が同一の場合は、誤り検査部６５０は、今回受信した制御コマンドの正当性の認証が成功であると判断し（ステップＳ９１０の結果がＹＥＳ）、ステップＳ９１１へ進み、制御コマンドの正当性の認証が成功したことを示す認証結果データを生成し、付加部６６０へ出力する。非同一の場合は、誤り検査部６５０は、認証が不成功であると判断し（ステップＳ９１０の結果がＮＯ）、ステップＳ９１２へ進み、制御コマンドの正当性の認証が不成功であったことを示す認証結果データを生成し、付加部６６０へ出力する。
【０１８５】
続いて、ステップＳ９１３において、付加部６６０は、受信部６００から出力された今回受信した制御コマンドに、誤り検査部６５０から出力された認証結果データを付加して、認証結果データ付き制御信号を生成し、送信部６７０に出力する。
続いて、ステップＳ９１４において、送信部６７０は、付加部６６０から出力された認証結果データ付き制御コマンドを演出制御部１２０へ送信する。その後、ステップＳ９０２へと戻り以下のステップを繰り返し行う。
【０１８６】
［演出制御部の制御処理］
以下、本発明の実施形態１に係る遊技機１の演出制御部１２０の制御処理について説明する。まず、演出制御部１２０のメイン処理について説明する。
図１４は、本実施形態１に係る演出制御部１２０によるメイン処理を示すフローチャートである。
【０１８７】
ステップＳ１０００において、サブＣＰＵ１２０ａは、初期化処理を行う。この処理において、サブＣＰＵ１２０ａは、電源投入に応じて、サブＲＯＭ１２０ｂからメイン処理に関するプログラムコードを読み込む。これとともに、サブＣＰＵ１２０ａは、サブＲＡＭ１２０ｃに記憶されるフラグなどを初期化し、所定値に設定する処理を行う。この処理が終了した場合には、ステップＳ１１００へ処理を移す。
【０１８８】
ステップＳ１１００において、サブＣＰＵ１２０ａは、演出用乱数更新処理を行う。この処理において、サブＣＰＵ１２０ａは、サブＲＡＭ１２０ｃに記憶される演出用乱数値、演出図柄決定用乱数、演出モード決定用乱数等を更新する処理を行う。以降は、所定の割込処理が行われるまで、上記ステップＳ１１００の処理を繰り返し行う。
【０１８９】
次に、演出制御部１２０の割込処理について説明する。
図１５は、本実施形態１に係る演出制御部１２０による割込処理を示すフローチャートである。
サブＣＰＵ１２０ａは、演出制御部１２０に設けられたクロックパルス発生回路（図示せず）から出力されるクロック信号に基づいて、所定の周期（例えば２ミリ秒）ごとに、演出制御部１２０のタイマ割込処理を実行する。
【０１９０】
ステップＳ１２００において、サブＣＰＵ１２０ａは、サブＣＰＵ１２０ａのレジスタに記憶されている情報をスタック領域に退避させる。
ステップＳ１３００において、サブＣＰＵ１２０ａは、演出制御部１２０で用いられる各種タイマカウンタの更新処理を行う。
【０１９１】
ステップＳ１４００において、サブＣＰＵ１２０ａは、中継送信処理を行う。この処理において、サブＣＰＵ１２０ａは、サブＲＡＭ１２０ｃの第１受信データ用記憶領域に記憶された制御コマンド情報を、後段制御部１８０へ一旦そのまま送信して、主制御部１１０から送信された制御コマンド情報を後段制御部１８０へ中継する中継送信処理を行う。
サブＣＰＵ１２０ａは、受信した制御コマンド情報を第１受信データ用記憶領域へ取り込んで記憶する。そして、サブＣＰＵ１２０ａは、本ステップＳ１４００において、第１受信データ用記憶領域に記憶された制御コマンド等を、サブＲＡＭ１２０ｃの送信データ用記憶領域にそのまま書き込んでセットする。続いて、サブＣＰＵ１２０ａは、サブＲＡＭ１２０ｃの送信データ用記憶領域にセットされた制御コマンド情報を後段制御部１８０へ直ちに送信する。
【０１９２】
ステップＳ１５００において、サブＣＰＵ１２０ａは、コマンド解析処理を行う。この処理において、サブＣＰＵ１２０ａは、サブＲＡＭ１２０ｃの第２受信データ用記憶領域に書き込まれた制御コマンドの種別を解析する処理を行う。
主制御部１１０から送信された制御コマンド情報は、上記ステップＳ１４００において、演出制御部１２０から後段制御部１８０へ中継送信される。その後、この制御コマンド情報は、上述のように、後段制御部１８０において認証処理に用いられる。後段制御部１８０は、認証処理の結果である認証結果データを制御コマンドに付加して生成した認証結果データ付き制御コマンドを演出制御部１２０へと送信する。
サブＣＰＵ１２０ａは、受信した認証結果データ付き制御コマンドを第２受信データ用記憶領域に書き込んで記憶する。
そして、サブＣＰＵ１２０ａは、本ステップＳ１５００において、第２受信データ用記憶領域に記憶されたデータが制御コマンドであると判定されると、その種別を更に解析し、制御コマンドの種別に応じた処理を行う。なお、コマンド解析処理の詳細については後述する。
【０１９３】
ステップＳ１６００において、サブＣＰＵ１２０ａは、演出ボタン検出スイッチ３５ａの信号のチェックを行い、演出ボタン３５からの入力に関する演出用入力制御処理を行う。
ステップＳ１７００において、サブＣＰＵ１２０ａは、サブＲＡＭ１２０ｃの送信データ用記憶領域にセットされた制御コマンドや各種データを、ランプ制御部１４０や画像制御部１５０へ送信するための処理である演出用出力制御処理を行う。
ステップＳ１８００において、サブＣＰＵ１２０ａは、ステップＳ１２００で退避した情報をサブＣＰＵ１２０ａのレジスタに復帰させる。
【０１９４】
次に、演出制御部１２０のコマンド解析処理について説明する。
図１７および図１８は、本実施形態１に係る演出制御部１２０によるコマンド解析処理を示すフローチャートである。なお、図１８のコマンド解析処理２は、図１７のコマンド解析処理１に引き続いて行われるものである。
【０１９５】
ステップＳ１５０１において、サブＣＰＵ１２０ａは、第２受信データ用記憶領域に制御コマンドが記憶されているか否かを確認して、制御コマンドを受信したか否かを判定する。
サブＣＰＵ１２０ａは、第２受信データ用記憶領域に制御コマンドが記憶されていなければコマンド解析処理を終了し、第２受信データ用記憶領域に制御コマンドが記憶されていればステップＳ２０００に処理を移す。
【０１９６】
ステップＳ２０００において、サブＣＰＵ１２０ａは、受信データ用記憶領域に書き込まれた認証結果データ付き制御コマンドから認証結果データを取得し、認証結果データ解析処理を行う。この認証結果データ解析処理の詳細については図１９を用いて後に詳述する。認証結果データ解析処理が終了したらステップＳ１５１０へ進む。
【０１９７】
ステップＳ１５１０において、サブＣＰＵ１２０ａは、受信データ用記憶領域に記憶されている制御コマンドが、デモ指定コマンドであるか否かを確認する。
サブＣＰＵ１２０ａは、受信データ用記憶領域に記憶されている制御コマンドがデモ指定コマンドであれば、ステップＳ１５１１に処理を移し、デモ指定コマンドでなければステップＳ１５２０に処理を移す。
【０１９８】
ステップＳ１５１１において、サブＣＰＵ１２０ａは、デモ演出パターンを決定するデモ演出パターン決定処理を行う。
具体的には、デモ演出パターンを決定し、決定したデモ演出パターンを演出パターン記憶領域にセットするとともに、決定したデモ演出パターンの情報を画像制御部１５０とランプ制御部１４０に送信するため、決定したデモ演出パターンに基づく演出パターン指定コマンドをサブＲＡＭ１２０ｃの送信データ用記憶領域にセットする。
【０１９９】
ステップＳ１５２０において、サブＣＰＵ１２０ａは、受信データ用記憶領域に記憶されている制御コマンドが、特別図柄記憶指定コマンドであるか否かを確認する。
サブＣＰＵ１２０ａは、受信データ用記憶領域に記憶されている制御コマンドが特別図柄記憶指定コマンドであれば、ステップＳ１５２１に処理を移し、特別図柄記憶指定コマンドでなければステップＳ１５３０に処理を移す。
【０２００】
ステップＳ１５２１において、サブＣＰＵ１２０ａは、特別図柄記憶指定コマンドを解析して、液晶表示装置３１に表示させる特別図柄の保留画像（以下、「特図保留画像」という）の表示個数を決定するとともに、決定した特図保留画像の表示個数に対応する特図表示個数指定コマンドを画像制御部１５０とランプ制御部１４０に送信する特別図柄記憶数決定処理を行う。
【０２０１】
ステップＳ１５３０において、サブＣＰＵ１２０ａは、受信データ用記憶領域に記憶されている制御コマンドが、演出図柄指定コマンドであるか否かを確認する。
サブＣＰＵ１２０ａは、受信データ用記憶領域に記憶されている制御コマンドが演出図柄指定コマンドであれば、ステップＳ１５３１に処理を移し、演出図柄指定コマンドでなければステップＳ１５４０に処理を移す。
【０２０２】
ステップＳ１５３１において、サブＣＰＵ１２０ａは、受信した演出図柄指定コマンドの内容に基づいて、液晶表示装置３１に停止表示させる演出図柄３６を決定する演出図柄決定処理を行う。
具体的には、演出図柄指定コマンドを解析して、大当たりの有無、大当たりの種別に応じて演出図柄３６の組み合わせを構成する演出図柄データを決定し、決定された演出図柄データを演出図柄記憶領域にセットするとともに、演出図柄データを画像制御部１５０とランプ制御部１４０に送信するため、演出図柄データを示す停止図柄指定コマンドをサブＲＡＭ１２０ｃの送信データ用記憶領域にセットする。
【０２０３】
ステップＳ１５３２において、サブＣＰＵ１２０ａは、上記ステップ１１００において更新されている演出モード決定用乱数値から１つの乱数値を取得し、取得した演出モード決定用乱数値と受信した演出図柄指定コマンドに基づいて、複数の演出モード（例えば、ノーマル演出モードやチャンス演出モード）の中から１つの演出モードを決定する演出モード決定処理を行う。また、決定した演出モードは、演出モード記憶領域にセットされる。
【０２０４】
ステップＳ１５４０において、サブＣＰＵ１２０ａは、受信データ用記憶領域に記憶されている制御コマンドが、変動パターン指定コマンドであるか否かを確認する。
サブＣＰＵ１２０ａは、受信データ用記憶領域に記憶されている制御コマンドが変動パターン指定コマンドであれば、ステップＳ１５４１に処理を移し、変動パターン指定コマンドでなければステップＳ１５５０に処理を移す。
【０２０５】
ステップＳ１５４１において、サブＣＰＵ１２０ａは、上記ステップＳ１１００（図１４参照）において更新されている演出用乱数値から１つの乱数値を取得し、取得した演出用乱数値、受信した変動パターン指定コマンドおよび演出モード記憶領域にセットされている演出モードに基づいて、複数の変動演出パターンの中から１つの変動演出パターンを決定する変動演出パターン決定処理を行う。
具体的には、ノーマル演出モードであれば、変動演出パターン決定テーブルを参照し、取得した演出用乱数値に基づいて１つの変動演出パターンを決定し、決定した変動演出パターンを演出パターン記憶領域にセットするとともに、決定した変動演出パターンの情報を画像制御部１５０とランプ制御部１４０に送信するため、決定した変動演出パターンに基づく演出パターン指定コマンドをサブＲＡＭ１２０ｃの送信データ用記憶領域にセットする。
その後、かかる演出パターンに基づいて、液晶表示装置３１、音声出力装置３２、演出用駆動装置３３、演出用照明装置３４が制御されることになる。なお、ここで決定した変動演出パターンに基づいて、演出図柄３６の変動態様が決定されることとなる。
【０２０６】
ステップＳ１５５０において、サブＣＰＵ１２０ａは、受信データ用記憶領域に記憶されている制御コマンドが、図柄確定コマンドであるか否かを確認する。
サブＣＰＵ１２０ａは、受信データ用記憶領域に記憶されている制御コマンドが図柄確定コマンドであれば、ステップＳ１５５１に処理を移し、図柄確定コマンドでなければステップＳ１５６０に処理を移す。
【０２０７】
ステップＳ１５５１において、サブＣＰＵ１２０ａは、演出図柄３６を停止表示させるために、演出図柄を停止表示させるための停止指定コマンドをサブＲＡＭ１２０ｃの送信データ用記憶領域にセットする演出図柄停止表示処理を行う。
【０２０８】
ステップＳ１５６０において、サブＣＰＵ１２０ａは、受信データ用記憶領域に記憶されている制御コマンドが、遊技状態指定コマンドであるか否かを判定する。
サブＣＰＵ１２０ａは、受信データ用記憶領域に記憶されている制御コマンドが遊技状態指定コマンドであればステップＳ１５６１に処理を移し、遊技状態指定コマンドでなければステップＳ１５７０に処理を移す。
【０２０９】
ステップＳ１５６１において、サブＣＰＵ１２０ａは、受信した遊技状態指定コマンドに基づいた遊技状態を示すデータをサブＲＡＭ１２０ｃにある遊技状態記憶領域にセットする。
【０２１０】
ステップＳ１５７０において、サブＣＰＵ１２０ａは、受信データ用記憶領域に記憶されている制御コマンドが、オープニング指定コマンドであるか否かを確認する。
サブＣＰＵ１２０ａは、受信データ用記憶領域に記憶されている制御コマンドがオープニング指定コマンドであればステップＳ１５７１に処理を移し、オープニング指定コマンドでなければステップＳ１５８０に処理を移す。
【０２１１】
ステップＳ１５７１において、サブＣＰＵ１２０ａは、当たり開始演出パターンを決定する当たり開始演出パターン決定処理を行う。
具体的には、オープニング指定コマンドに基づいて当たり開始演出パターンを決定し、決定した当たり開始演出パターンを演出パターン記憶領域にセットするとともに、決定した当たり開始演出パターンの情報を画像制御部１５０とランプ制御部１４０に送信するため、決定した当たり開始演出パターンに基づく演出パターン指定コマンドをサブＲＡＭ１２０ｃの送信データ用記憶領域にセットする。
【０２１２】
ステップＳ１５８０において、サブＣＰＵ１２０ａは、受信データ用記憶領域に記憶されている制御コマンドが、大入賞口開放指定コマンドであるか否かを確認する。
サブＣＰＵ１２０ａは、受信データ用記憶領域に記憶されている制御コマンドが大入賞口開放指定コマンドであればステップＳ１５８１に処理を移し、大入賞口開放指定コマンドでなければステップＳ１５９０に処理を移す。
【０２１３】
ステップＳ１５８１において、サブＣＰＵ１２０ａは、大当たり演出パターンを決定する大当たり演出パターン決定処理を行う。
具体的には、大入賞口開放指定コマンドに基づいて大当たり演出パターンを決定し、決定した大当たり演出パターンを演出パターン記憶領域にセットするとともに、決定した大当たり演出パターンの情報を画像制御部１５０とランプ制御部１４０に送信するため、決定した大当たり演出パターンに基づく演出パターン指定コマンドをサブＲＡＭ１２０ｃの送信データ用記憶領域にセットする。
【０２１４】
ステップＳ１５９０において、サブＣＰＵ１２０ａは、受信データ用記憶領域に記憶されている制御コマンドが、エンディング指定コマンドであるか否かを確認する。
サブＣＰＵ１２０ａは、受信データ用記憶領域に記憶されている制御コマンドがエンディング指定コマンドであればステップＳ１５９１に処理を移し、エンディング指定コマンドでなければステップＳ１６００（図１５参照）に処理を移す。
【０２１５】
ステップＳ１５９１において、サブＣＰＵ１２０ａは、当たり終了演出パターンを決定する当たり終了演出パターン決定処理を行う。
具体的には、エンディング指定コマンドに基づいて当たり終了演出パターンを決定し、決定した当たり終了演出パターンを演出パターン記憶領域にセットするとともに、決定した当たり終了演出パターンの情報を画像制御部１５０とランプ制御部１４０に送信するため、決定した当たり終了演出パターンに基づく演出パターン指定コマンドをサブＲＡＭ１２０ｃの送信データ用記憶領域にセットする。本処理を終了すると、コマンド解析処理が終了する。
【０２１６】
次に、演出制御部１２０の認証結果データ解析処理について説明する。
図１９は、本実施形態に係る演出制御部１２０による認証結果データ解析処理を示すフローチャートである。
【０２１７】
ステップＳ２００１において、サブＣＰＵ１２０ａは、受信データ用記憶領域に書き込まれた認証結果データ付き制御コマンドから認証結果データを取得する。
続いて、ステップＳ２００２において、サブＣＰＵ１２０ａは、取得した認証結果データが、認証成功を示す結果であるか否かを確認する。サブＣＰＵ１２０ａは、認証結果データが認証成功を示す結果である場合、今回の後段制御部１８０での認証処理が成功し、遊技機１の正当性を認証することができたと判断して、本フローチャートによる処理を終了する。一方、サブＣＰＵ１２０ａは、認証結果データが認証不成功を示す結果である場合、今回の後段制御部１８０での認証処理が不成功であり、遊技機１で不正行為や通信エラーが発生したおそれがあると判断し、ステップＳ２００３へ進む。
【０２１８】
ステップＳ２００３において、パチンコ遊技機１で不正行為や通信エラーが発生したおそれがあると判断された場合、演出制御部１２０は、その旨を報知する為に報知信号を出力し、本フローチャートによる処理を終了する。
【０２１９】
サブＣＰＵ１２０ａは、生成した報知信号を、例えば、ランプ制御部１４０や画像制御部１５０、あるいは遊技機１を管理するホールコンピュータ等へ送信する。ランプ制御部１４０や画像制御部１５０等は、受信した報知信号に基づいて、遊技機１で不正行為が発生したおそれがある旨を報知する演出を実行する。この演出は、例えば、液晶表示装置３１に通常出現しないキャラクタを出現させたり、通常出現するキャラクタを通常とは異なる方法で出現させるなどである。また、液晶表示装置３１の輝度を変えたり、色を変えたり、ランプ制御部１４０に対して所定のランプを表示制御するようにしてもよい。また、音声出力装置３２からアラーム音などの特別な音声を出力するなど、画像制御部１５０に対して所定の音声を出力する音声制御をするようにしてもよい。いずれにしても、遊技店の従業員が当該遊技機１の前を通過した際に、その状態に気付くようにしてあればよい。また、この演出は、顧客がその状態に気付かないような演出でもよく、また、顧客が容易に気付く演出であってもよい。顧客が容易に気付く演出にすれば、不正行為を効率的に抑止することができる。
【０２２０】
また、報知信号に、遊技機１の遊技状態や大当たりの種別に関する情報を含めてもよい。これらの情報に基づいて、遊技機１を管理するホールコンピュータ等によって不正行為が行われているか否かの判断を行ってもよい。例えば、「高確率遊技状態」は賞球が集中していても正常である場合がある。よって、高確率遊技状態中は、その他の状態とは異なる条件で不正行為のおそれがあるか否かについて判断するのがよい。また、遊技状態や大当たりの種別に関する情報は、報知信号に含めずに別信号として出力するようにしてもよい。この場合、従業員は、報知信号と遊技状態や大当たりの種別に関する情報の両方に基づいて、不正行為のおそれがあるか否かについて判断する。
【０２２１】
なお、払出制御部１３０に対して後段制御部１８０が接続されている場合の認証処理は、演出制御部１２０に対して後段制御部１８０が接続されている場合の認証処理とほぼ同様の手順で行われるため説明を省略する。
【０２２２】
以上のように、本実施形態では、主制御部１１０は、制御コマンドを保存している。そして主制御部１１０は、今回送信する制御コマンドに基づいて決定されたコマンド制御情報を参照して、既に保存している前回または前々回送信した制御コマンドのいずれを用いて誤り検査値を生成するかを特定し、特定した制御コマンドを用いて生成された誤り検査値を今回送信する制御コマンドに付加して制御コマンド情報として演出制御部１２０を介して後段制御部１８０に送信する。一方、後段制御部１８０は、今回受信した制御コマンドに基づいて決定されたコマンド制御情報を参照して、既に保存している前回または前々回受信した制御コマンドのいずれを用いて誤り検査値を生成するかを特定し、特定した制御コマンドを用いて生成された誤り検査値と、今回受信した制御コマンド情報に含まれる誤り検査値とを照合して誤り検査を行う。すなわち、本実施形態では、過去に送信した制御コマンドの誤り検査値を今回送信する制御コマンドに付加して、主制御部１１０から演出制御部１２０を介して後段制御部１８０に送信している。
【０２２３】
通常チェックサム等の誤り検査値は生成元の制御コマンドに付加されて通信エラーチェックに利用される。これに対して、本実施形態の遊技機１は、上述のように、前回または前々回送信した制御コマンドの誤り検査値を、今回送信する制御コマンドに付加する。このような従来にない新規かつ簡易な手法を用いることにより、不正者が制御コマンドと誤り検査値を不正に取得しても制御コマンドと誤り検査値の関係を容易に知ることができない。したがって、本実施形態によれば、不正者による不正を防止することができ、セキュリティ強度を向上させることができる。
【０２２４】
また、主制御部１１０が前回または前々回送信した制御コマンドの誤り検査値を、今回送信する制御コマンドに付加して送信し、後段制御部１８０が認証処理を行うことにより、今回受信した制御コマンドの正当性を認証するとともに、前回または前々回受信した制御コマンドである今回付加された誤り検査値の生成元となった制御コマンドの正当性をも認証することができる。このように、今回送信された制御コマンドと、過去に送信された制御コマンドの正当性を同時に認証することができるので、主制御部１１０が継続的に正しく動作していることを認証することができる。
【０２２５】
また、本実施形態では、各制御コマンドに誤り検査値を付加して主制御部１１０から演出制御部を介して後段制御部１８０に送信し、後段制御部１８０が各制御コマンド毎に認証処理を行うので、常時不正を検査することができる。
【０２２６】
また、本実施形態の遊技機１は、通常は通信エラーチェックに用いる誤り検査値を不正を検出するための検査値として利用している。このように通信エラーチェックに従来から用いている誤り検査値を用いることで、誤り検査値を行うための検査値を別に生成するための手段を設けることなく、簡単な構成で不正者による不正を防止することができ、セキュリティ強度を向上させることができる。すなわち、遊技機の主制御基板のリソースが限られているという状況下において、セキュリティ強度を向上させつつ、主制御基板の処理負荷の増大を抑制することができる。
【０２２７】
また、本実施形態の遊技機１では、主制御部１１０の制御コマンド決定部５４０は、今回送信する制御コマンドに付加する誤り検査値の生成に用いる制御コマンドを、過去に送信した制御コマンドのいずれの制御コマンドとするかを、今回送信する制御コマンドに基づいて決定している。このような本実施形態の遊技機１では、今回送信される制御コマンドが所定の制御コマンドである場合に今回の誤り検査値の生成に用いられる制御コマンドに関する情報であるコマンド制御情報が変更される。これにより、不正者が制御コマンドおよびそれに付加された誤り検査値を複数、不正に取得したとしても、コマンド制御情報の変更タイミングを知ることができないので、制御コマンドと誤り検査値との対応関係を解析困難とすることができ、不正を行うことを困難にすることができる。
【０２２８】
なお、所定の制御コマンドは、例えば、上述した、大当たりコマンド（大入賞口解放指定コマンド）、リーチコマンド、デモ指定コマンド、オープニング指定コマンド、エンディング指定コマンド、電源投入コマンド（電源投入時指定コマンド等）、またはハズレコマンド（ハズレ用演出図柄指定コマンド）等の少なくとも１つである。
【０２２９】
ここで、所定の制御コマンドが、大当たりコマンドである場合、大当たりコマンドは大当たり中の各ラウンドで送信されるため、大当たり状態にある一定期間中に複数回のコマンド制御情報の切替えが行われることとなる。したがって、切替えタイミングを知らない不正者が大当たりコマンドを含む制御コマンド情報を不正に取得してこれを流用したとしても、容易に不正を検出することができる。
【０２３０】
また、所定の制御コマンドが、リーチコマンドである場合、リーチコマンドは大当たりコマンドよりも発生頻度が高く、発生タイミングにランダム性を有するので、時間軸上におけるコマンド制御情報の切替えタイミングが分散されることとなる。したがって、不正者が、コマンド制御情報を特定することを困難とすることができ、認証処理の信頼性、すなわちセキュリティ強度を向上させることができる。
【０２３１】
また、所定の制御コマンドが、オープニング指定コマンドまたはエンディング指定コマンドである場合、オープニング指定コマンドまたはエンディング指定コマンドは、大当たり状態を開始時または終了時に送信される制御コマンドであり、発生頻度が低い上に発生タイミングにランダム性を有するので、切替えタイミングもランダムかつ低い頻度で発生することとなる。したがって、不正行為者が、コマンド制御情報の切替えタイミングを特定することを困難とすることができ、セキュリティ強度を向上させることができる。
【０２３２】
また、所定の制御コマンドが、デモ指定コマンドである場合、デモ指定コマンドは特別図柄の保留数記憶がない状態が所定時間継続したときにデモ表示を表示させるために送信される制御コマンドであり、発生タイミングにランダム性を有するので、時間軸上におけるコマンド制御情報の切替えタイミングが分散されることとなる。したがって、不正行為者が、コマンド制御情報の切替えタイミングを特定することを困難とすることができ、認証処理の信頼性、すなわちセキュリティ強度を向上させることができる。
【０２３３】
また、所定の制御コマンドが、ハズレコマンド（ハズレ用演出図柄指定コマンド）である場合、「はずれ」は、抽選時の抽選結果として最も発生頻度が高いので、ハズレコマンドが送信される頻度は高く、コマンド制御情報の切替えの頻度も高くなる。すなわち、コマンド制御情報の切替えが高い頻度で行われることにより、制御コマンド情報を構成する制御コマンドと誤り検査値との関連性を解析困難とすることができ、セキュリティ強度を向上させることができる。これにより、不正者が複数の制御コマンド情報を取得したとしても、容易に不正を行うことを防止することができる。
【０２３４】
また、本実施形態によれば、認証処理は、後段制御部１８０のみが実行するので、周辺部３００を構成するＣＰＵの処理負荷の増大を抑制することができる。このため、周辺部３００の処理速度が低下し、演出のための表示がスムーズに行われないなどの問題の発生を防止することができる。
【０２３５】
さらに、本実施形態によれば、認証処理を実行する後段制御部１８０と、所定の処理を行う周辺部３００とが別個独立しているため、認証用のプログラムまたはハードウェアと、所定の処理用のプログラムまたはハードウェアとを別個に設計することができる。これにより、所定の処理を行う周辺部３００の演出処理に認証機能を追加する場合と比較して、認証機能を追加するタイミングの設計・機能の実装・機能の検証、ハードウェアの設計などをより簡単に実現することができる。また、認証用のプログラム及び所定の処理用のプログラムの構成が比較的簡単となるため、他の機能と整合性を保つことが容易となる。
【０２３６】
さらにまた、本実施形態によれば、遊技機の機種ごとに所定の処理が異なる場合であっても、認証処理は共通化が可能であるため、遊技機の機種ごとのプログラム設計やハードウェア設計が容易であり、設計時間の短縮化を図ることができるとともに、作業効率が向上する。
【０２３７】
なお、本実施形態では、制御コマンド記憶部に制御コマンドを記憶しておき、誤り検査値を送信する（誤り検査を行う）際に、記憶しておいた過去に送信した（受信した）制御コマンドを用いて今回送信する（誤り検査に用いる）誤り検査値を生成していたが、本発明はこれに限定されない。具体的には、今回送信する（受信した）制御コマンドから誤り検査値を生成して、生成した誤り検査値を記憶しておき、誤り検査値を送信する（誤り検査を行う）際に、過去に生成して記憶しておいた誤り検査値から今回送信する（誤り検査に用いる）誤り検査値を取得するようにしてもよい。この場合、誤り検査値演算部が生成した誤り検査値を記憶しておく誤り検査値記憶部を設け、今回送信する（誤り検査に用いる）誤り検査値、すなわち前回または前々回送信（受信）した制御コマンドを用いて生成した誤り検査値のうち、決定部によって決定された制御コマンドで生成された誤り検査値を送信部（誤り検査部）に出力すればよい。
【０２３８】
〈第２の実施形態〉
以下、本発明の遊技機の一実施形態に係る第２の実施形態について説明する。
第１の実施形態では、今回送信する制御コマンドに応じて今回送信する（誤り検査に用いる）誤り検査値の生成に用いる制御コマンドを決定していたが、第２の実施形態にかかる遊技機は、Ｍ（Ｍは正整数）個後に送信する（誤り検査に用いる）誤り検査値を過去に送信されたいずれの制御コマンドを用いて生成されたものとするかを、今回送信する制御コマンドに応じて決定する。この場合、誤り検査値生成部は、過去に送信（受信）されたいずれの制御コマンドを用いて生成された誤り検査値を送信する（誤り検査に用いる）かを示す情報（以下、検査値制御情報ともいう）をＭ個分記憶しておき、記憶している検査値制御情報から今回送信する（誤り検査に用いる）誤り検査値に係る検査値制御情報を参照して、今回送信する（誤り検査に用いる）誤り検査値を、過去に送信（受信）されたいずれの制御コマンドを用いて生成されたものとするかを特定すればよい。
【０２３９】
なお、第１の実施形態では、制御コマンド記憶部を設けて制御コマンドを記憶していたが、本実施形態では、今回送信する（受信した）制御コマンドを用いて生成した誤り検査値を保存しておく誤り検査値記憶部を備える例について説明する。
また、本実施形態では、一実施形態としてＭ＝１の場合、すなわち、今回送信する（受信した）制御コマンドに基づいて、次回送信する（誤り検査に用いる）誤り検査値を、前回または前々回に送信（受信）された制御コマンドのいずれの制御コマンドを用いて生成されたものとするかを決定する、すなわち次回送信する（誤り検査に用いる）誤り検査値に係る検査値制御情報を決定する場合について説明する。より具体的には、今回送信する（受信した）制御コマンドが所定の制御コマンドである場合、次回送信する（誤り検査に用いる）誤り検査値に係る検査値制御情報を変更する場合について説明する。
なお、第１の実施形態の遊技機１と同一の部材については同一の符号を付して、その詳細な説明は省略し、異なる点について重点的に説明する。
【０２４０】
ここで、本実施形態における制御コマンド情報の構成について、図２０を用いて説明する。なお、以下の説明では、制御コマンド３のみが所定の制御コマンドであり、検査値制御情報の初期値は「前回」を示す情報に設定されているとして説明する。図２０に示すように、制御コマンド情報は、基本的に、制御コマンドにその１つ前（前回）または２つ前（前々回）に送信された制御コマンドの誤り検査値を付加した形式になっている。ただし、最初に送信される制御コマンド１には所定の初期値が付加されている。そして、検査値制御情報は「前回」を示す情報に設定されており、２番目に送信される制御コマンド２には、前回送信された制御コマンド１を用いて生成された誤り検査値１が付加される。制御コマンド２は所定の制御コマンドではないので検査値制御情報が継続される。次に、３番目に送信される制御コマンド３には、検査値制御情報に基づいて、前回、すなわち２番目に送信された制御コマンド２を用いて生成された誤り検査値２が付加され、制御コマンド情報が生成される。ここで、制御コマンド３は所定の制御コマンドなので次回送信する誤り検査値に係る検査値制御情報が「前回」から「前々回」を示す情報に変更される。そして、４番目に送信される制御コマンド４には、検査値制御情報に基づいて、前々回、すなわち２番目に送信された制御コマンド２を用いて生成された誤り検査値２が付加され、制御コマンド情報が生成される。制御コマンド４は所定の制御コマンドではないので検査値制御情報が継続される。そして、５番目に送信される制御コマンド５には、検査値制御情報に基づいて、前々回、すなわち３番目に送信された制御コマンド３を用いて生成された誤り検査値３が付加される。以下、同様にして、今回送信する制御コマンドが所定の制御コマンドである場合は次回送信する誤り検査値に係る検査値制御情報を切替え、所定の制御コマンドではない場合は検査値制御情報を継続し、検査値制御情報に基づいて今回送信する誤り検査値を特定する。すなわち、本実施形態では、今回送信する制御コマンドに基づいて、次回送信する誤り検査値を過去に送信した制御コマンドのうちのいずれの制御コマンドを用いて生成されたものとするかを決定する。
【０２４１】
［遊技機の認証に関する構成］
図２１は、上述の処理を実行する、本実施形態に係るパチンコ遊技機を構成する主制御部１１０の認証処理に関する構成を示す機能ブロック図である。主制御部１１０は、制御コマンド出力部５００と、誤り検査値生成部８１０と、付加部５５０と、送信部５６０とを備えている。さらに、誤り検査値生成部８１０は、誤り検査値演算部８２０と、誤り検査値記憶部８３０と、誤り検査値決定部８４０とから構成される。主制御部１１０を構成する各機能ブロックは、例えば、図４に示す、メインＣＰＵ１１０ａ、メインＲＯＭ１１０ｂ、およびメインＲＡＭ１１０ｃ等の主制御部１１０が有する各手段を適宜組み合わせて構成される。
【０２４２】
制御コマンド出力部５００は、演出制御部１２０に今回送信する制御コマンドを生成し、誤り検査値生成部８１０および付加部５５０に出力する。付加部５５０は、制御コマンド出力部５００から出力された今回送信する制御コマンドに、誤り検査値生成部８１０から今回出力された誤り検査値を付加して、演出制御部１２０へと送信する制御コマンド情報を生成する。送信部５６０は、制御コマンド情報を演出制御部１２０へと送信する。
【０２４３】
誤り検査値生成部８１０は、今回送信する制御コマンド、すなわち制御コマンド出力部５００が今回出力した制御コマンドに基づいて、付加部５５０へと次回出力する誤り検査値（すなわち、次回送信する誤り検査値）を、当該誤り検査値が出力される時点を基準として、制御コマンド出力部５００から過去に出力された制御コマンドのいずれの制御コマンドを用いて生成されたものとするかを決定する。また、誤り検査値生成部８１０は、前回送信した制御コマンドに基づいて決定されている、過去に送信された制御コマンドのいずれを用いて生成した誤り検査値を出力するかを示す情報である検査値制御情報を参照して今回送信する誤り検査値を特定し、特定した誤り検査値を付加部５５０へ出力する。
なお、本実施形態では、今回送信する誤り検査値を出力する時点から１個前（前回）または２個前（前々回）に出力された制御コマンドを用いて生成された誤り検査値のいずれかを用いる例について説明する。
【０２４４】
誤り検査値演算部８２０は、所定の生成方式で誤り検査値を生成可能であり、制御コマンド出力部５００から出力された今回送信する制御コマンドを用いて誤り検査値を生成する。そして、誤り検査値演算部８２０は、生成した誤り検査値を誤り検査値記憶部８３０へと出力する。誤り検査値演算部８２０の機能を実現する具体的な手段は、例えば、図４に示すメインＣＰＵ１１０ａ、メインＲＯＭ１１０ｂの一部、およびメインＲＡＭ１１０ｃの一部から構成することができる。より具体的には、メインＣＰＵ１１０ａは、メインＲＡＭ１１０ｃをワークエリアとして、メインＲＯＭ１１０ｂに予め記憶されているプログラムに基づき、誤り検査値を生成し、出力する。
【０２４５】
誤り検査値記憶部８３０は、誤り検査値演算部８２０から出力された誤り検査値を記憶するとともに、今回送信される誤り検査値を付加部５５０に出力する。また、誤り検査値記憶部８３０は、誤り検査値決定部８４０によって決定される、付加部５５０に今回出力する誤り検査値（すなわち、今回送信する誤り検査値）を過去に送信した制御コマンドのうちのいずれの制御コマンドを用いて生成されたものとするかを示す情報である、「検査値制御情報」を保持する検査値制御情報記憶領域を有する。このような誤り検査値記憶部８３０は、今回生成された誤り検査値を記憶するとともに、誤り検査値決定部８４０によって決定された「検査値制御情報」に基づいて、前回送信された制御コマンド用いて生成された誤り検査値、または前々回送信された制御コマンドを用いて生成された誤り検査値のいずれかを付加部５５０に出力する。なお、本実施形態では、誤り検査値記憶部８３０は、今回生成された誤り検査値と、前回および前々回生成された誤り検査値との少なくとも３つを記憶しておけばよい。誤り検査値記憶部８３０の機能を実現する具体的な手段は、例えば、図４に示すメインＣＰＵ１１０ａ、メインＲＯＭの一部、メインＲＡＭ１１０ｃに設けられる誤り検査値記憶領域や、検査値制御情報記憶領域等から構成することができる。より具体的には、メインＣＰＵ１１０ａは、メインＲＡＭ１１０ｃをワークエリアとして、メインＲＡＭ１１０ｃの誤り検査値記憶領域に生成された誤り検査値を記憶する。また、メインＣＰＵ１１０ａは、メインＲＡＭ１１０ｃをワークエリアとして、メインＲＡＭ１１０ｃの検査値制御情報記憶領域に記憶されている検査値制御情報、およびメインＲＯＭ１１０ｂに予め記憶されているプログラムに基づき、今回送信する誤り検査値を特定する。
【０２４６】
誤り検査値決定部８４０は、制御コマンド出力部５００から今回出力された制御コマンド、すなわち、主制御部１１０が今回送信する制御コマンドに基づいて、誤り検査値生成部８１０が付加部５５０に次回出力する誤り検査値を、当該誤り検査値が出力される時点を基準として前回または前々回に送信された制御コマンドを用いて生成された誤り検査値のいずれとするかを決定する。また、誤り検査値決定部８４０は、決定した結果に応じて、誤り検査値記憶部８３０が付加部５５０に次回出力する誤り検査値の制御を行う。具体的には、誤り検査値決定部８４０は、誤り検査値記憶部８３０の検査値制御情報記憶領域に記憶されている検査値制御情報を更新する。誤り検査値決定部８４０の機能を実現する具体的な手段は、例えば、図４に示すメインＣＰＵ１１０ａ、メインＲＯＭ１１０ｂの一部、およびメインＲＡＭ１１０ｃの一部から構成することができる。より具体的には、メインＣＰＵ１１０ａは、メインＲＡＭ１１０ｃをワークエリアとして、今回出力された制御コマンド（コマンドデータ）、およびメインＲＯＭ１１０ｂに予め記憶されているプログラムに基づき、メインＲＡＭ１１０ｃの検査値制御情報記憶領域に記憶されている検査値制御情報を更新する。
【０２４７】
ここで、本実施形態において、誤り検査値決定部８４０は、今回送信する制御コマンドが所定の制御コマンドである場合に、次回送信する誤り検査値をいずれの過去に送信された制御コマンドを用いて生成されたものとするかを変更する。例えば、今回送信する制御コマンドが所定の制御コマンドであり、かつ、今回送信する誤り検査値が、１個前（前回）送信された制御コマンドを用いて生成されたものである場合、次回送信する誤り検査値を、当該誤り検査値が出力される時点から２個前（前々回）送信された制御コマンドを用いて生成されたものに切替える。すなわち、次回送信する誤り検査値に係る検査値制御情報を「前々回」を示す情報に更新する。一方、誤り検査値決定部８４０は、今回送信する制御コマンドが所定の制御コマンドではない場合には、継続して、次回送信する誤り検査値を前回送信された制御コマンドを用いて生成されたものを用いる。すなわち、次回送信する誤り検査値に係る検査値制御情報を「前回」を示す情報のまま継続する。
【０２４８】
なお、誤り検査値決定部８４０は、上述のように、今回送信する制御コマンドが所定の制御コマンドである場合に検査値制御情報を変更するものとしたが、これに限定されない。例えば、誤り検査値決定部８４０は、今回送信する制御コマンドが所定の制御コマンドである場合には今回送信する誤り検査値がいずれの過去に送信された制御コマンドを用いて生成されたものかに関わらず、検査値制御情報を「前回」に決定し、所定の制御コマンドではない場合には検査値制御情報を「前々回」に決定するようにしてもよい。また、所定の制御コマンドである場合には検査値制御情報を「前々回」に決定し、所定の制御コマンドでない場合には検査値制御情報を「前回」に決定するようにしてもよい。すなわち、制御コマンドの種類に応じて一義的に検査値制御情報を決定するようにしてもよい。
【０２４９】
このように構成された主制御部１１０の各構成部の動作の概略を説明する。パチンコ遊技機１の電源が投入され、主制御部１１０のメインＣＰＵ１１０ａが初期設定処理を行った後、制御コマンド出力部５００は、演出制御部１２０に今回送信する制御コマンドを生成し、誤り検査値生成部８１０および付加部５５０に出力する。
誤り検査値生成部８１０は、受信した今回送信する制御コマンドを用いて誤り検査値を生成し、記憶する。また、誤り検査値生成部８１０は、前回送信した制御コマンドに基づいて決定された今回送信する誤り検査値に係る検査値制御情報に基づいて、今回送信する誤り検査値を前回または前々回に送信した制御コマンドのいずれを用いて生成された誤り検査値とするかを特定し、特定された誤り検査値を付加部５５０に出力する。さらに、誤り検査値生成部８１０は、今回送信する制御コマンドに基づいて次回送信する誤り検査値を、当該誤り検査値が出力される時点を基準として前回または前々回に送信したいずれの制御コマンドを用いて生成されたものとするかを決定し、検査値制御情報を更新する。
付加部５５０は、制御コマンド出力部５００から出力された今回送信する制御コマンドに、誤り検査値生成部８１０から出力された今回送信する誤り検査値を付加して制御コマンド情報を生成し、送信部５６０へ送る。
送信部５６０は、付加部５５０から受け取った制御コマンド情報を演出制御部１２０へと送信する。
【０２５０】
図２２は、本発明の第２の実施形態に係るパチンコ遊技機を構成する後段制御部１８０の認証処理に関する構成を示す機能ブロック図である。後段制御部１８０は、受信部６００と、誤り検査値生成部９１０と、誤り検査部６５０と、付加部６６０と、送信部６７０とを備えている。さらに、誤り検査値生成部９１０は、誤り検査値演算部９２０と、誤り検査値記憶部９３０と、誤り検査値決定部９４０から構成される。後段制御部１８０を構成する各機能ブロックは、図４に示す、ＣＰＵ１８０ａ、ＲＯＭ１８０ｂ、およびＲＡＭ１８０ｃ等の各手段を適宜組み合わせて構成される。
【０２５１】
受信部６００は、受信データ用記憶領域を有し、主制御部１１０から受信した制御コマンド情報を受信データ用記憶領域に書き込む。また、受信部６００は、受信した制御コマンド情報に含まれる今回受信した制御コマンドを誤り検査値生成部９１０および付加部６６０へ、今回受信した制御コマンドに付加された誤り検査値を誤り検査部６５０へと送信する。誤り検査部６５０は、受信部６００から送られた今回受信した制御コマンドに付加された誤り検査値と、誤り検査値生成部９１０から送られた前回受信した制御コマンドを用いて生成された誤り検査値とを用いて誤り検査を行い、その結果である認証結果データを生成して付加部６６０へと送信する。付加部は、送信された今回受信した制御コマンドに認証結果データを付加して認証結果データ付き制御コマンドを生成し、送信部６７０へと出力する。送信部６７０は、送られた認証結果データ付き制御コマンドを演出制御部１２０へと送信する。
【０２５２】
誤り検査値生成部９１０は、受信部６００が今回受信した制御コマンドに基づいて、次回誤り検査に用いる誤り検査値を、当該誤り検査値が出力される時点を基準として、受信部６００が過去に受信した制御コマンドのいずれの制御コマンドを用いて生成されたものとするかを決定する。また、誤り検査値生成部９１０は、前回受信した制御コマンドに基づいて決定されている、過去に受信した制御コマンドのいずれを用いて生成した誤り検査値を誤り検査部６５０に出力するかを示す情報である検査値制御情報を参照して今回誤り検査に用いる誤り検査値を特定し、特定した誤り検査値を誤り検査部６５０へ出力する。
なお、本実施形態では、今回誤り検査に用いる誤り検査値を出力する時点から１個前（前回）または２個前（前々回）に受信部６００が受信した制御コマンドを用いて生成された誤り検査値のいずれかを用いる例について説明する。
【０２５３】
誤り検査値演算部９２０は、所定の生成方式で誤り検査値を生成可能であり、受信部６００が今回受信した制御コマンドを用いて誤り検査値を生成する。そして、誤り検査値演算部９２０は、生成した誤り検査値を誤り検査値記憶部９３０へと出力する。誤り検査値演算部９２０の機能を実現する具体的な手段は、例えば、図４に示すＣＰＵ１８０ａ、ＲＯＭ１８０ｂの一部、およびＲＡＭ１８０ｃの一部から構成することができる。より具体的には、ＣＰＵ１８０ａは、ＲＡＭ１８０ｃをワークエリアとして、ＲＯＭ１８０ｂに予め記憶されているプログラムに基づき、誤り検査値を生成し、出力する。
【０２５４】
誤り検査値記憶部９３０は、誤り検査値演算部９２０から出力された誤り検査値を記憶するとともに、今回誤り検査に用いられる誤り検査値を誤り検査部６５０に出力する。また、誤り検査値記憶部９３０は、誤り検査値決定部９４０によって決定される、今回誤り検査部６５０に出力する誤り検査値（すなわち、今回誤り検査に用いられる誤り検査値）を過去に受信した制御コマンドのうちのいずれの制御コマンドを用いて生成されたものとするかを示す情報である、「検査値制御情報」を保持する検査値制御情報記憶領域を有する。このような誤り検査値記憶部９３０は、今回生成された誤り検査値を記憶するとともに、誤り検査値決定部９４０によって決定された「検査値制御情報」に基づいて、前回受信された制御コマンド用いて生成された誤り検査値、または前々回受信された制御コマンドを用いて生成された誤り検査値のいずれかを誤り検査部６５０に出力する。なお、本実施形態では、誤り検査値記憶部９３０は、今回生成した誤り検査値と、前回および前々回生成した誤り検査値との少なくとも３つを記憶しておけばよい。誤り検査値記憶部９３０の機能を実現する具体的な手段は、例えば、図４に示すＣＰＵ１８０ａ、ＲＯＭ１８０ｂの一部、ＲＡＭ１８０ｃに設けられる誤り検査値記憶領域や、検査値制御情報記憶領域等である。より具体的には、ＣＰＵ１８０ａは、ＲＡＭ１８０ｃをワークエリアとして、ＲＡＭ１８０ｃの誤り検査値記憶領域に生成された誤り検査値を記憶する。また、ＣＰＵ１８０ａは、ＲＡＭ１８０ｃをワークエリアとして、ＲＡＭ１８０ｃの検査値制御情報記憶領域に記憶されている検査値制御情報、およびＲＯＭ１８０ｂに予め記憶されているプログラムに基づき、今回送信する誤り検査値を特定する。
【０２５５】
誤り検査値決定部９４０は、誤り検査値決定部８４０と同様に、受信部６００が今回受信した制御コマンドが所定の制御コマンドであるか否かに基づいて、次回、誤り検査部６５０に出力する誤り検査値を、当該誤り検査値を出力する時点を基準として前回または前々回に受信された制御コマンドを用いて生成された誤り検査値のいずれとするかを決定する。また、誤り検査値決定部９４０は、決定した結果に応じて、誤り検査値記憶部９３０が、次回、誤り検査部６５０に出力する誤り検査値の制御を行う。具体的には、誤り検査値決定部９４０は、誤り検査値記憶部９３０の検査値制御情報記憶領域に記憶されている検査値制御情報を更新する。誤り検査値決定部９４０の機能を実現する具体的な手段は、例えば、図４に示すＣＰＵ１８０ａ、ＲＯＭ１８０ｂの一部、およびＲＡＭ１８０ｃの一部から構成することができる。より具体的には、ＣＰＵ１８０ａは、ＲＡＭ１８０ｃをワークエリアとして、今回出力された制御コマンド（コマンドデータ）、およびＲＯＭ１８０ｂに予め記憶されているプログラムに基づき、ＲＡＭ１８０ｃの検査値制御情報記憶領域に記憶されている検査値制御情報を更新する。
【０２５６】
このように構成された後段制御部１８０の各構成部の動作の概略を説明する。パチンコ遊技機１の電源が投入され、主制御部１１０のメインＣＰＵ１１０ａが初期設定処理を行った後、主制御部１１０は制御コマンドの出力を開始し、演出制御部１２０を介して後段制御部１８０に制御コマンド情報を送信する。受信部６００は、制御コマンド情報を受信して、受信した制御コマンド情報の制御コマンドを誤り検査値生成部９１０および付加部６６０に、誤り検査値を誤り検査部６５０に出力する。
誤り検査値生成部９１０は、今回受信した制御コマンドを用いて誤り検査値を生成し、記憶する。また、誤り検査値生成部９１０は、前回受信した制御コマンドに基づいて決定された今回誤り検査に用いる誤り検査値に係る検査値制御情報に基づいて、今回誤り検査に用いる誤り検査値を前回または前々回に受信した制御コマンドのいずれを用いて生成された誤り検査値とするかを特定し、特定された誤り検査値を誤り検査部６５０に出力する。さらに、誤り検査値生成部９１０は、今回受信した制御コマンドに基づいて次回誤り検査に用いる誤り検査値を、当該誤り検査値が誤り検査部６５０に出力される時点を基準として前回または前々回に受信したいずれの制御コマンドを用いて生成されたものとするかを決定し、検査値制御情報を更新する。
誤り検査部６５０は、受信部６００から出力された今回受信した制御コマンドに付加された誤り検査値と、誤り検査値生成部９１０から出力された前回受信した制御コマンドを用いて生成された誤り検査値とを用いて誤り検査を行う。
付加部６６０は、受信部６００から出力された、今回後段制御部１８０で受信した制御コマンドに、誤り検査部６５０から出力された認証結果データを付加して、演出制御部１２０へ送信する認証結果データ付き制御コマンドを生成し、送信部６７０に出力する。
送信部６７０は、付加部６６０から出力された認証結果データ付き制御コマンドを演出制御部１２０へと送信する。
【０２５７】
［遊技機の動作処理］
次に、上記構成のパチンコ遊技機の動作処理について、図面を参照して説明する。
本実施形態において主制御部１１０による処理は、第１の実施形態と制御コマンド送信処理のみが異なる。よって、以下、制御コマンド送信処理について説明する。図２３は、主制御部１１０による制御コマンド送信処理の手順の一例を示すフローチャートである。
【０２５８】
図９の主制御部１１０のメイン処理のステップＳ１０の初期化処理における制御コマンド送信処理のタイミングや、図１０の主制御部１１０のタイマ割込み処理の制御コマンド送信処理のタイミングになったら、ステップＳ７２１において、誤り検査値生成部８１０は、制御コマンド出力部５００によって出力された今回送信する制御コマンドが送信データ用記憶領域にセットされているかを参照することで、制御コマンドの送信タイミングかを判断する。制御コマンドがセットされている場合は、制御コマンドの送信タイミングであると判断し、ステップＳ７２２へと進む。制御コマンドがセットされていない場合は、制御コマンドの送信タイミングではないと判断し、制御コマンド送信処理を終了する。具体的には、メインＣＰＵ１１０ａは、メインＲＡＭ１１０ｃの送信データ用記憶領域に、今回送信する制御コマンドが記憶されている場合、制御コマンドの送信タイミングであると判断する。
【０２５９】
続いて、ステップＳ７２２において、誤り検査値演算部８２０は、制御コマンド出力部５００から今回送信する制御コマンドを取得する。そして、この制御コマンドを用いて誤り検査値を生成し、誤り検査値記憶部８３０へと送信する。
続いて、ステップＳ７２３において、誤り検査値記憶部８３０は、誤り検査値演算部８２０から出力された誤り検査値を誤り検査値記憶領域に記憶する。
【０２６０】
続いて、ステップＳ７２４において、誤り検査値記憶部８３０は、前回の制御コマンド送信処理の際に誤り検査値決定部によって決定され、検査値制御情報記憶領域に記憶されている今回送信する誤り検査値の情報である検査値制御情報に基づいて、今回送信する誤り検査値を前回または前々回に送信した制御コマンドのいずれを用いて生成された誤り検査値とするかを特定する。誤り検査値記憶部８３０は、誤り検査値記憶領域に記憶されている前回および前々回送信した制御コマンドを用いて生成された２つの誤り検査値から、今回送信する誤り検査値として特定した誤り検査値を取得する。すなわち、前回の制御コマンド送信処理の際に「前回」または「前々回」のいずれかに決定された検査値制御情報に基づいて今回送信する誤り検査値を取得する。そして、取得した誤り検査値を付加部５５０に出力する。
【０２６１】
続いて、ステップＳ７２５において、検査値決定部８４０は、制御コマンド出力部５００が今回出力した制御コマンドを取得して、この今回送信する制御コマンドに基づいて、次回送信する誤り検査値を、当該誤り検査値が付加部５５０に出力される時点を基準として前回または前々回に送信したいずれの制御コマンドを用いて生成されたものとするかを決定する。具体的には、例えば、今回送信する誤り検査値に係る検査値制御情報が「前回」を示す情報であり、今回送信する制御コマンドが所定の制御コマンドである場合は、次回送信する誤り検査値に係る検査値制御情報を「前々回」に決定する。
【０２６２】
続いて、ステップＳ７２６において、誤り検査値記憶部８３０は、誤り検査値決定部８４０が決定した次回送信する誤り検査値に係る検査値制御情報を保存する。具体的には、誤り検査値決定部８４０が決定した結果に応じて、誤り検査値決定部８４０は、誤り検査値記憶部８３０の検査値制御情報記憶領域に記憶されている次回送信する誤り検査値に係る検査値制御情報を更新する。
【０２６３】
続いて、ステップＳ７２７において、付加部５５０は、制御コマンド出力部５００から出力された今回送信する制御コマンドに、誤り検査値記憶部８３０から出力された今回送信する誤り検査値を付加して制御コマンド情報を生成し、送信部５６０に出力する。
続いて、ステップＳ７２８において、送信部５６０は、付加部５５０が生成した制御コマンド情報を受け取って演出制御部１２０に送信し、本フローチャートによる処理を終了する。
【０２６４】
なお、本実施形態では、今回送信する誤り検査値を取得するステップＳ７２４の後に、次回送信する誤り検査値を決定するステップＳ７２５、および次回送信する誤り検査値情報を保存するステップＳ７２６を行っている。この場合、誤り検査値記憶部８３０は、今回送信する誤り検査値に関する１つの検査値制御情報のみを保存しておけばよいが、本発明はこれに限定されない。例えば、ステップＳ７２５およびステップＳ７２６の後に、ステップＳ７２４を行ってもよい。この場合、誤り検査値記憶部８３０は、式記憶領域に今回および次回送信する誤り検査値に関する２つの検査値制御情報を保存しておけばよい。
【０２６５】
以下、後段制御部１８０の処理について、図２４に示すフローチャートを参照して説明する。図２４は、後段制御部１８０による認証処理を含むメイン処理の手順の一例を示すフローチャートである。
【０２６６】
ステップＳ９２１において、ＣＰＵ１８０ａは、初期化処理を行う。この処理において、ＣＰＵ１８０ａは、電源投入に応じて、ＲＯＭ１８０ｂからメイン処理に関するプログラムコードを読み込む。これとともに、ＣＰＵ１８０ａは、ＲＡＭ１８０ｃを初期化する処理を行う。
続いて、ステップＳ９２２において、ＣＰＵ１８０ａは、受信部６００の受信データ用記憶領域に制御コマンド情報が記憶されているか否かを確認して、制御コマンド情報を受信したか否かを判定する。ＣＰＵ１８０ａは、受信データ用記憶領域に制御コマンド情報が記憶されていなければ本ステップを繰り返し、受信データ用記憶領域に制御コマンド情報が記憶されていればステップＳ９２３に処理を移す。
【０２６７】
続いて、ステップＳ９２３において、後段制御部１８０の受信部６００は、受信データ用記憶領域に記憶されている制御コマンド情報から制御コマンドおよび誤り検査値を取得する。また、受信部６００は、今回受信した制御コマンドを誤り検査値演算部９２０および誤り検査値決定部９４０へ、取得した誤り検査値を誤り検査部６５０へと出力する。
【０２６８】
続いて、ステップＳ９２４において、誤り検査値演算部９２０は、受信部６００から今回受信した制御コマンドを取得して、この制御コマンドを用いて誤り検査値を生成し、誤り検査値記憶部９３０へと送信する。
続いて、ステップＳ９２５において、誤り検査値記憶部９３０は、誤り検査値演算部９２０から出力された誤り検査値を誤り検査値記憶領域に記憶する。
【０２６９】
続いて、ステップＳ９２６において、誤り検査値記憶部９３０は、前回の認証処理の際に誤り検査値決定部によって決定され、検査値制御情報記憶領域に記憶されている今回送信する誤り検査値の情報である検査値制御情報に基づいて、今回誤り検査に用いる誤り検査値を前回または前々回に受信した制御コマンドのいずれを用いて生成された誤り検査値とするかを特定する。誤り検査値記憶部９３０は、誤り検査値記憶領域に記憶されている前回および前々回に受信した制御コマンドを用いて生成された２つの誤り検査値から、今回誤り検査に用いる誤り検査値として特定した誤り検査値を取得する。すなわち、前回の制御コマンド送信処理の際に「前回」または「前々回」のいずれかに決定された検査値制御情報に基づいて今回送信する誤り検査値を取得する。そして、取得した誤り検査値を誤り検査部６５０に出力する。
【０２７０】
続いて、ステップＳ９２７において、誤り検査値決定部９４０は、今回受信した制御コマンドを取得して、この今回受信した制御コマンドに基づいて、次回誤り検査に用いる誤り検査値を、当該誤り検査値が誤り検査部６５０に出力される時点を基準として前回または前々回に受信したいずれの制御コマンドを用いて生成されたものとするかを決定する。具体的には、例えば、今回誤り検査に用いる誤り検査値に係る検査値制御情報が「前回」を示す情報であり、今回受信した制御コマンドが所定の制御コマンドである場合は、次回誤り検査に用いる誤り検査値に係る検査値制御情報を「前々回」に決定する。
【０２７１】
続いて、ステップＳ９２８において、誤り検査値記憶部９３０は、誤り検査値決定部９４０が決定した次回誤り検査に用いる誤り検査値を示す検査値制御情報を保存する。具体的には、誤り検査値決定部９４０が決定した結果に応じて、誤り検査値決定部９４０は、誤り検査値記憶部９３０の検査値制御情報記憶領域に記憶されている次回誤り検査に用いる誤り検査値に係る検査値制御情報を更新する。
【０２７２】
続いて、ステップＳ９２９において、誤り検査部６５０は、ステップＳ９２６で取得した誤り検査値と、誤り検査値生成部９１０が今回受信した誤り検査値とを照合し、誤り検査を行う。
続いて、ステップＳ９３０において、誤り検査の結果、２つの誤り検査値が同一の場合は、誤り検査部６５０は、今回受信した制御コマンドの正当性の認証が成功であると判断し（ステップＳ９３０の結果がＹＥＳ）、ステップＳ９３１へ進み、制御コマンドの正当性の認証が成功したことを示す認証結果データを生成し、付加部６６０へ出力する。非同一の場合は、誤り検査部６５０は、認証が不成功であると判断し（ステップＳ９３０の結果がＮＯ）、ステップＳ９３２へ進み、制御コマンドの正当性の認証が不成功であったことを示す認証結果データを生成し、付加部６６０へ出力する。
【０２７３】
続いて、ステップＳ９３３において、付加部６６０は、受信部６００から出力された今回受信した制御コマンドに、誤り検査部６５０から出力された認証結果データを付加して、認証結果データ付き制御信号を生成し、送信部６７０に出力する。
続いて、ステップＳ９３４において、送信部６７０は、付加部６６０から出力された認証結果データ付き制御コマンドを演出制御部１２０へ送信する。その後、ステップＳ９２２へと戻り、以下のステップＳ９２２からステップＳ９３４に係る認証処理を繰り返し行う。
【０２７４】
なお、本実施形態では、今回誤り検査に用いる誤り検査値を取得するステップＳ９２６の後に、次回誤り検査に用いる誤り検査値を決定するステップＳ９２７、および次回誤り検査に用いる誤り検査値情報を保存するステップＳ９２８を行っているが、これに限定されない。例えば、ステップＳ９２７およびステップＳ９２８の後に、ステップＳ９２６を行ってもよい。この場合、誤り検査値記憶部８３０の生成方式記憶領域に今回および次回の誤り検査に用いる誤り検査値の情報である検査値制御情報を保存しておけばよい。
【０２７５】
また、本実施形態では、ステップＳ９２６の後に、次回誤り検査に用いる誤り検査値を決定するステップＳ９２７、および次回誤り検査に用いる誤り検査値の情報を保存するステップＳ９２８を行っているが、これに限定されない。例えば、ステップＳ９２７およびステップＳ９２８は、検査結果を生成するステップＳ９３１またはステップＳ９３２よりも後に行うようにしてもよい。
【０２７６】
また、本実施形態においても、第１の実施形態同様に、払出制御部１３０に対して後段制御部１８０が接続されている場合の認証処理は、演出制御部１２０に対して後段制御部１８０が接続されている場合の認証処理とほぼ同様の手順で行われるため説明を省略する。
【０２７７】
以上のように、本実施形態の遊技機１では、主制御部１１０は、制御コマンドの誤り検査値を生成し保存している。そして主制御部１１０は、前回また前々回送信した制御コマンドのいずれを用いて生成した誤り検査値を今回送信する制御コマンドに付加して送信するかを、前回送信した制御コマンドに基づいて予め決定しており、決定に応じた誤り検査値を、今回送信する制御コマンドに付加して制御コマンド情報として演出制御部１２０を介して後段制御部１８０に送信する。一方、後段制御部１８０は、受信した制御コマンドの誤り検査値を生成し保存している。そして、後段制御部１８０は、前回また前々回受信した制御コマンドのいずれを用いて生成した誤り検査値を今回の誤り検査に用いるかを、前回受信した制御コマンドに基づいて予め決定しており、今回受信した制御コマンド情報に含まれる誤り検査値と、決定された誤り検査値とを照合して誤り検査を行う。
【０２７８】
上述のように構成される本実施形態の遊技機も第１の実施形態の遊技機１と同様の効果を得ることができる。さらに、今回送信する（受信した）制御コマンドに応じて、Ｍ個後に送信する（誤り検査に用いる）誤り検査値を決定することにより、制御コマンドとそれに付加された誤り検査値との関係をより解析困難とすることができる。これにより、不正者が制御コマンド情報を取得したとしても、不正を行うことをより困難とすることができる。
【０２７９】
なお、本実施形態では、一例としてＭ＝１の場合について説明したが、Ｍが２以上の場合に本実施形態と同様に本発明を実現することができる。具体的には、例えば、検査値制御情報記憶領域として、Ｍビットのシフトレジスタを設け、０を「前回」、１を「前々回」に対応させて、シフトレジスタの各ビットに検査値制御情報を記憶しておく。そして、誤り検査値生成部は、今回送信する（今回誤り検査に用いる）誤り検査値を特定する際に、シフトレジスタの１ビットの値を参照し、今回送信する誤り検査値を特定する。さらに、誤り検査値生成部は、今回送信する（今回受信した）制御コマンドに基づいて、Ｍ回後に送信する（Ｍ回後に誤り検査に用いる）誤り検査値を決定し、シフトレジスタの値を更新し、決定した検査値制御情報をシフトレジスタのＭビットにセットする。
【０２８０】
このように、今回送信する制御コマンドに応じて、Ｍ個後に送信する誤り検査値を決定することにより、制御コマンドとそれに付加された誤り検査値との関係をより解析困難とすることができる。これにより、不正者が制御コマンド情報を取得したとしても、不正を行うことをより困難とすることができる。
【０２８１】
また、本実施形態では、誤り検査値記憶部を設け、今回送信する（受信した）制御コマンドを用いて生成した誤り検査値を保存しておくように構成したが、これに限定されない。例えば、第１の実施形態のように、制御コマンド記憶部を設け、これに制御コマンドを記憶しておき、誤り検査値を送信する（誤り検査を行う）際に、記憶しておいた前回または前々回送信した（受信した）制御コマンドのいずれかを用いて今回送信する（誤り検査に用いる）誤り検査値を生成するように構成してもよい。
【０２８２】
以上、本発明の遊技機の一例である各実施形態について詳細に説明したが、本発明の遊技機は上記実施形態に限定されない。例えば、第１の実施形態において、今回送信する（受信した）制御コマンドに応じて、Ｍ個後に送信する（誤り検査に用いる）誤り検査値を生成する制御コマンドを決定する場合、制御コマンドをＭ個送信する間に、コマンド制御情報を変更することができる最高回数（Ｍ未満の回数）を予め、主制御部および周辺部の間で決めておいてもよい。例えば、Ｍ＝３で最高切替回数が２の場合、連続して３個の制御コマンドが所定の制御コマンドであったとしても、コマンド制御情報を２回は変更するが３回目は２回目と同一のコマンド制御情報に基づいて誤り検査値を特定し、送信する。このように、最高切替回数をＭ未満に設定することにより、所定の制御コマンドであっても、検査値制御情報が変更されない場合が存在するようになるので、不正者による、制御コマンドとそれに付加される誤り検査値と関係の解析を困難とすることができ、セキュリティ強度を向上させることができる。
【０２８３】
第２の実施形態においても同様に、今回送信する（受信した）制御コマンドに応じて、Ｍ個後に送信する（誤り検査に用いる）誤り検査値を決定する場合、制御コマンドをＭ個送信する間に、検査値制御情報を変更することができる最高回数（Ｍ未満の回数）を予め、主制御部および周辺部の間で決めておいてもよい。
【０２８４】
また、上記実施形態では、誤り検査値生成部は、今回送信する（受信した）制御コマンドに基づいて、今回またはＭ個後に送信する（誤り検査に用いる）誤り検査値を決定して、この決定に応じて送信する（誤り検査に用いる）誤り検査値を特定するとしたが、本発明はこれに限定されない。例えば、今回送信する（受信した）制御コマンドに基づいて、今回（Ｍ個後）に送信する（誤り検査に用いる）誤り検査値を切替えるか否かの情報を所定の記憶領域に記憶し、この切替えるか否かの情報を参照して今回（Ｍ個後に）送信する（誤り検査に用いる）誤り検査値を切替えるか否かを特定するようにしてもよい。いずれにせよ、誤り検査値生成部は、今回送信する（受信した）制御コマンドに基づいて過去に出力（受信）されたいずれの制御コマンドを用いて生成された誤り検査値を送信するか（誤り検査に用いるか）を決定しているのである。
【０２８５】
また、この場合、ｍ（ｍは２以上の整数）個後に送信する（誤り検査に用いる）誤り検査値をいずれの過去に送信（受信）された制御コマンドを用いて生成された誤り検査値とするかを切替える際に、ｍ−１個後に送信する（誤り検査に用いる）誤り検査値を、過去に出力されたいずれの制御コマンドを用いて生成された誤り検査値とするかを示す情報（以下、誤り検査値に関する制御情報という）を参照して、ｍ個後に送信する（誤り検査に用いる）誤り検査値に関する制御情報を決定しているが、本発明はこれに限定されない。例えば、ｍ個後に送信する（誤り検査に用いる）誤り検査値に関する制御情報を決定するのに、ｍ−ｑ個後に送信する（誤り検査に用いる）誤り検査値に関する制御情報を参照してもよい（ｑはｍ未満の正整数）。すなわち、今回送信する（誤り検査に用いる）誤り検査値に関する制御情報を決定する際に、１個前に送信した（誤り検査に用いた）誤り検査値に関する制御情報を参照することに限定されず、ｑ個前に送信した（誤り検査に用いた）誤り検査値に関する制御情報を参照してもよい。例えば、ｑ＝２かつ、ｍ個後に送信する（誤り検査に用いる）誤り検査値を切替えるか否かの情報が切替えることを示している場合、ｍ−２個後に送信する（誤り検査に用いる）誤り検査値に関する制御情報を参照して（参照する際は、既に２個前に送信されている（誤り検査に用いられている）誤り検査値となっている）、これに対して誤り検査値を切替える。いずれにせよ、誤り検査値生成部は、今回送信する制御コマンドに付加される（今回の誤り検査に用いる）誤り検査値を過去に出力されたいずれの制御コマンドを用いて生成された誤り検査値とするかを所定の取り決めに基づいて決定しているのである。
【０２８６】
なお、今回送信する（受信した）制御コマンドに基づいてｍ個後に送信する（誤り検査に用いる）誤り検査値に関する制御情報を決定する構成として、ｍビットのシフトレジスタを用いる例を挙げたが、これに限定されず、その他各種の構成および方法に基づいてハードウェアおよびソフトウェアにて実現可能に構成してもよい。例えば、誤り検査値生成部は、ｍ個又は最大切替回数分のインクリメントカウンタまたはディクリメントカウンタを備えており、今回送信する（受信した）制御コマンドが所定の制御コマンドである場合にカウンタを１つずつ起動させる。そして、誤り検査値を生成するたびにカウンタ値を更新し、カウンタ値がｍ又は０になった場合に誤り検査値に関する情報を切替えるように構成してもよい。
【０２８７】
また、上記実施形態では、図６に示すように、今回送信する制御コマンドに、前回または前々回送信した制御コマンド、すなわち１個前または２個前に送信した制御コマンドの誤り検査値を付加して制御コマンド情報とした。しかしながら、本発明はこれに限定されず、今回送信する制御コマンドにｎ（ｎは３以上の整数）個前に送信した制御コマンドの誤り検査値を付加して制御コマンド情報を生成可能にしてもよい。この場合、１〜ｎ個目に送信する制御コマンドには誤り検査値のダミーデータや遊技機固有のＩＤ等を初期値として付加して制御コマンド情報としてもよい。また、第１の実施形態の遊技機の場合、少なくともｎ個の制御コマンドを保存可能に構成すればよい。また、第２の実施形態の遊技機の場合、少なくともｎ個の誤り検査値を保存可能に構成すればよい。このように、ｎ個前に送信した制御コマンドの誤り検査値を、今回送信する制御コマンドに付加可能に構成することにより、制御コマンドとそれに付加された誤り検査値との関係をより解析困難とすることができる。これにより、不正者が制御コマンド情報を取得したとしても、不正を行うことをより困難とすることができる。
【０２８８】
なお、ｎ個の制御コマンドまたは誤り検査値、すなわちｎ個の情報を保存可能に構成した場合、上記実施形態では、新たな情報を記憶する際に現在ｎ個前に記憶した情報を消去して、すなわち古い情報から消去している。この場合、所定の制御コマンドが出力される度にｎの値が切り替わることにより、複数回の認証の対象となる制御コマンド（例えば、図６の制御コマンド１）が存在することになる。ところで、制御コマンドの数と、認証処理の回数は同じなので、逆に、一度も認証の対象とならない制御コマンドも存在することになる。このように、複数回の認証の対象となる制御コマンドがあったり、認証の対象外となる制御コマンドが存在することにより、制御コマンドとそれに付加された誤り検査値との関係をより解析困難とすることができる。
【０２８９】
しかしながら、本発明は上記構成に限定されず、古い情報、かつ、認証に関する処理（誤り検査値の生成または誤り検査）に既に使用された情報から選択的に消去してもよい。例えば、第１の実施形態において、ｎ個の制御コマンドが記憶するように構成されており、新たな制御コマンドを記憶する場合において、ｎ〜ｎ−５個前に記憶した制御コマンドがまだ誤り検査値の生成に用いられておらず、ｎ−６個前に記憶した制御コマンドが既に誤り検査値の生成に用いられている場合、ｎ〜ｎ−５個前に記憶した制御コマンドは残して、ｎ−６個前に記憶した制御コマンドを消去するようにしてもよい。これにより、例えば、新しく記憶されたものから数えてｎ個目に記憶された制御コマンドが、ｎ個前に出力された制御コマンドではなくなることになる。すなわち、ｎ個目に記憶された制御コマンドを用いて生成された誤り検査値はｎ個以上前に出力された制御コマンドの誤り検査値ということになる。これにより、今回送信する制御コマンドに付加する誤り検査値の生成元となる制御コマンドがｎ個目に記憶されているものであっても、この制御コマンドが実際はｎ個以上前に出力されたものである場合が存在することとなり、この制御コマンドが実際にいつ出力されたものであるかを特定するのを困難とすることができる。したがって、制御コマンドとそれに付加された誤り検査値との関係をより解析困難とすることができる。
【０２９０】
また、上記実施形態では、制御コマンドのＭＯＤＥとＤＡＴＡの両方のデータを用いて誤り検査値を生成するとしたが、本発明の遊技機は、これに限定されない。例えば、本発明の遊技機は、制御コマンドのＭＯＤＥの情報、すなわち制御コマンドの分類を識別するための１バイトのデータのみを用いて誤り検査値を生成するようにしてもよい。
【０２９１】
さらに、本発明の遊技機は、制御コマンドとそれに付加された誤り検査値（制御コマンド情報）を用いて誤り検査値を生成してもよい。これにより、今回送信する誤り検査値が、それまでに付加された誤り検査値の情報、すなわち、それまでに送信された制御コマンド情報を含むことになる。したがって、誤り検査値が制御コマンドの送信履歴の情報を含むことになるので、不正者が一部の制御コマンド情報を取得したとしても誤り検査値を解析することができないようにすることができ、セキュリティ強度を向上することができる。また、誤り検査値が制御コマンドの送信履歴の情報を含むことになるので、制御コマンドの連続性を検証することができる。
【０２９２】
具体的に、制御コマンド情報を用いて誤り検査値を生成する場合について説明する。図２４は、本実施形態における制御コマンド情報の形式を示す説明図である。以下の説明では、誤り検査値に関する制御情報は「前回」を示す情報に設定されているとする。図２４に示すように、制御コマンド情報は、基本的に、制御コマンドにその１つ前に送信された制御コマンド情報の誤り検査値を付加した形式になっている。ただし、最初に送信される制御コマンド１には所定の初期値が付加されている。そして、２番目に送信される制御コマンド２には、最初に送信された制御コマンド情報、すなわち制御コマンド１と初期値とから生成された誤り検査値１が付加され、制御コマンド情報が生成される。同様に、３番目に送信される制御コマンド３には、２番目に送信された制御コマンド情報、すなわち、制御コマンド２と誤り検査値１とから生成された誤り検査値２が付加され、制御コマンド情報が生成される。以下、同様にして制御コマンド情報が生成される。このように、今回送信する制御コマンドに付加する誤り検査値は、初期値を含む既に送信された全ての制御コマンド情報を用いて生成されることとなる。
【０２９３】
制御コマンドとそれに付加された誤り検査値、すなわち制御コマンド情報を用いて誤り検査値を生成するための具体的な構成は、次のようなものが考えられる。第１の実施形態では、例えば、誤り検査値生成部において、今回送信する（今回誤り検査に用いる）誤り検査値を誤り検査値演算部から制御コマンド記憶部へ出力し、今回送信（受信）した制御コマンドと出力された誤り検査値とを合わせて制御コマンド情報として制御コマンド記憶部に記憶するように構成すればよい。また、第２の実施形態では、例えば、誤り検査値生成部において、今回送信する（今回誤り検査に用いる）誤り検査値を誤り検査値記憶部から誤り検査値演算部へ出力し、今回送信（受信）した制御コマンドと出力された誤り検査値とを用いて誤り検査値演算部が誤り検査値を生成するように構成すればよい。
【０２９４】
なお、本発明の遊技機は、今回送信する制御コマンドに応じて、今回またはＭ個後に送信する誤り検査値に関する制御情報を決定する構成と、過去に送信した制御コマンド情報を用いて誤り検査値を生成する構成を組み合わせてもよい。
【０２９５】
また、第１の実施形態では、今回送信する制御コマンドに基づいてＭ個後に送信する（誤り検査に用いる）誤り検査値に関する制御情報を決定することとなるが、本発明はこれに限定されない。例えば、今回誤り検査値の生成に用いる制御コマンドに基づいてＭ個後に送信する（誤り検査に用いる）誤り検査値を生成する制御コマンドに関する情報であるコマンド制御情報を決定し、予め決定されたコマンド制御情報に基づいて特定された制御コマンドを用いて今回送信する（誤り検査に用いる）誤り検査値を生成するようにしてもよい。この場合、制御コマンド記憶部は、今回送信する（誤り検査に用いる）誤り検査値の生成元となる制御コマンドを生成方式決定部と誤り検査値演算部に出力する。生成方式決定部は、受け取った制御コマンドに基づいて、Ｍ個後に送信する（誤り検査に用いる）誤り検査値に係るコマンド制御情報を決定するように構成すればよい。
【０２９６】
上述のように、本発明の遊技機は、今回送信する制御コマンドに対して所定の過去に出力された制御コマンドを少なくとも用いて生成した誤り検査値を、今回出力する制御コマンドに付加する。これにより、制御コマンドとそれに付加された誤り検査値との関係をより解析困難とすることができ、不正者が制御コマンド情報を取得したとしても、不正を行うことを困難とすることができる。
【０２９７】
なお、本発明の遊技機は、過去に送信した制御コマンド、または過去に送信した制御コマンドとその誤り検査値に加えて、今回送信する制御コマンドも含めて誤り検査値を生成してもよい。これにより、今回受信した制御コマンドの通信エラーチェックを、今回受信した制御コマンドに付加された誤り検査値を用いて、リアルタイムに行うことができる。
【０２９８】
今回送信する制御コマンドも含めて誤り検査値を生成するための具体的な構成は、例えば、次のようなものが考えられる。誤り検査値を生成する対象となるデータである過去に送信した複数の制御コマンドまたは制御コマンド情報を記憶する記憶部を設け、記憶部から出力された複数の制御コマンドまたは制御コマンド情報と、制御コマンド出力部から出力された今回送信する制御コマンドとを用いて誤り検査値を生成するように構成すればよい。
【０２９９】
このように、本発明の遊技機は、過去に送信した制御コマンド、または過去に送信した制御コマンドとその誤り検査値に加えて、今回送信する制御コマンドも含めて誤り検査値を生成してもよいが、セキュリティ強度の向上という観点においては、今回送信する制御コマンドの誤り検査値を、今回送信する制御コマンド自身を用いずに生成する方が好ましい。具体的には、過去に送信した制御コマンド、または過去に送信した制御コマンドとその誤り検査値とを用いて、今回送信する制御コマンドに付加する誤り検査値を生成するのが好ましい。このように、今回送信する制御コマンドを用いずに誤り検査値を生成する場合、今回送信する制御コマンドとそれに付加された誤り検査値との間に関連性がない。このため、不正者が、制御コマンドとそれに付加された誤り検査値との二つの値を取得したとしても、これらの関係を解析することができない。したがって、不正者が制御コマンドとそれに付加された誤り検査値との関係を解析することをより一層困難とすることができる。すなわち、不正者が制御コマンド情報を取得したとしても、不正を行うことをより一層困難とするこができる。
【０３００】
また、上記実施形態では、認証処理を行う後段制御部も、主制御部と同様に制御コマンドに基づいて誤り検査値を決定し、決定した誤り検査値と主制御部から送信された誤り検査値とを用いて誤り検査を行っているが、本発明はこれに限定されない。例えば、本発明では、後段制御部は、制御コマンドに基づいて誤り検査値に関する制御情報を決定することを必ずしも行わなくても良い。この場合、後段制御部は、過去に受信した複数の制御コマンドのそれぞれで誤り検査値を生成して記憶しておき、受信した誤り検査値と、生成した複数の誤り検査値のいずれかとが一致するか否かによって認証処理を行うようにしてもよい。このように構成した場合であっても、主制御部が、制御コマンドに応じて誤り検査値を決定し、決定した誤り検査値を制御コマンドに付加して周辺部を介して後段制御部に送信する。すなわち、送信される誤り検査値がいずれの制御コマンドを用いて生成されたものかが、制御コマンドに基づいて変更される。これにより、制御コマンドと誤り検査値との対応関係を解析困難とすることができ、不正者が制御コマンドおよびそれに付加された誤り検査値を取得したとしても、不正を行うことを困難にすることができる。すなわち、本発明によれば、遊技機のセキュリティ強度を向上することができる。
【０３０１】
さらに、上述のように後段制御部が、過去に受信した複数の制御コマンドのそれぞれで誤り検査値を生成し、これを用いて認証処理を行う場合、主制御部は、誤り検査値に関する制御情報を乱数を用いて決定するようにしてもよい。すなわち、所定の制御コマンドが出力された場合、Ｍ個後に送信する誤り検査値をいずれの過去に出力された制御コマンドの誤り検査値とするかを乱数を用いて決定し、決定した制御情報を保存するようにしてもよい。例えば、１〜１０等の所定の範囲の数値からランダムに数値を決定し、決定した値を何個前に送信された制御コマンドの誤り検査値とするかを示す情報として所定の記憶領域に保存するように、誤り検査値に関する制御情報の決定部（制御コマンド決定部または誤り検査値決定部）を構成すればよい。このように乱数を用いて誤り検査値に関する制御情報を決定することにより、制御コマンドとそれに付加される誤り検査値とのとの関係をより解析困難とすることができる。
【０３０２】
また、上記実施形態では、誤り検査値生成部は、制御コマンド記憶部（または、誤り検査値記憶部）と、誤り検査値演算部と、制御コマンド決定部（または、誤り検査値決定部）とのそれぞれ異なる機能を有する３つの手段を備えるとして説明したが、本発明はこれに限定されない。例えば、誤り検査値生成部の内部構成において、２以上の機能を１つの手段で実現するように構成してもよい。いずれにせよ、誤り検査値生成部は、過去に出力された制御コマンドを用いて誤り検査値を生成可能であり、制御コマンド出力部から出力された制御コマンドを用いていずれの制御コマンドを用いて生成された誤り検査値を出力するかを決定し、決定された誤り検査値を出力しているのである。
【０３０３】
また、上記実施形態では、誤り検査値生成部は、制御コマンド出力部から今回出力された制御コマンドを用いて、今回または次回以降に付加部に出力する誤り検査値を決定しているが、本発明はこれに限定されない。誤り検査値生成部は、制御コマンド出力部から今回出力された制御コマンドを用いて生成された誤り検査値を用いて、今回または次回以降に付加部に出力する誤り検査値を決定してもよい。このような場合も、制御コマンド出力部から今回出力された制御コマンドを用いて決定する本発明に含まれる。
【０３０４】
また、上記実施形態では、主制御部１１０は、制御コマンドに所定の初期値を付加して送信し、後段制御部１８０は、同様に所定の初期値を用いて認証を行うとしたが、本発明はこれに限定されず、初期値が付加された制御コマンドに関し認証処理を行わないようにしてもよい。例えば、Ｎ（Ｎは正整数）個前に送信した制御コマンド情報を用いて今回送信する制御コマンドに付加する誤り検査値を生成する場合、後段制御部１８０は、１〜Ｎ個目に受信した制御コマンド情報については初期値が付加されているものがあるので、そのような制御コマンドに関しては認証処理を行わず、Ｎ＋１個目以降に受信した制御コマンド情報から全ての制御コマンド情報について認証処理を行うようにしてもよい。
【０３０５】
また、主制御部１１０に計時手段を設け、または、主制御部１１０が予め備えている計時手段を用いて、制御コマンド送信タイミングにおいて計時手段から取得した計時情報を初期値として用いてもよい。これにより、誤り検査値を遊技機１の状態に特有の値とすることができ、初期値の値を知らない不正者が一部の制御コマンド情報を取得したとしても誤り検査値の解析を不可能とすることができ、セキュリティ強度をより一層向上することができる。なお、この場合、上述のように、初期値が付加された制御コマンドに関し認証処理を行わないようにすればよい。また、２個以上の制御コマンドに初期値として計時情報が付加される場合において、後段制御部１８０は、初期値として連続して送信された計時情報の間に時間の連続性が保持されているか、すなわち、連続して送信された計時情報の値が送信順番に従って増加しているか否かを参照することによって認証処理を行ってもよい。
【０３０６】
このように本発明において、初期値として用いる固有情報に計時情報を含めてもよい。すなわち、固有情報は、制御コマンドの送信タイミングにおいて初期値を取得する遊技機１に固有の情報といえる。なお、計時情報としては、遊技機１の電源がオンになってから主制御部１１０の計時手段が計測する遊技機１に固有の計時情報を用いてもよく、絶対時間の情報を用いてもよい。遊技機１に固有の計時情報を用いることにより、初期値の秘匿性を高めることができ、セキュリティ強度をより一層向上させることができる。
【０３０７】
また、複数の制御コマンドに初期値を付加する場合、初期値は固定値としてもよいし、変動値としてもよい。例えば、初期値として識別情報を用いる場合、制御コマンド毎に異なる識別情報を用いてもよいし、同じ識別情報を用いてもよい。また、初期値として計時情報を用いる場合、制御コマンドの送信タイミング毎に計時手段から取得した計時情報を用いてもよいし、最初に送信する制御コマンドの送信タイミングに取得した計時情報を複数の制御コマンドに対して初期値として用いてもよい。
【０３０８】
また、上記実施形態では、演出制御部１２０は、主制御部１１０から受信した制御コマンド情報を処理せずにそのまま後段制御部１８０に送信し、後段制御部１８０から送信された認証結果データ付き制御コマンドに基づいて処理を行うとしたが、本発明はこれに限定されない。例えば、主制御部１１０から受信した制御コマンド情報に基づいて遊技処理を行うとともに、受信した制御コマンド情報を後段制御部１８０に送信し、後段制御部１８０から送信された認証結果データ付き制御コマンドの認証結果データに基づいて処理を行うようにしてもよい。この場合、さらに、後段制御部１８０は、認証結果データを制御コマンドに付加して認証結果データ付き制御コマンドとして演出制御部１２０に送信するとしたが、これに限定されず、認証結果データのみを送信するようにしてもよい。このような処理を行う場合、後段制御部１８０は、付加部６６０を設けず、認証結果データを誤り検査部６５０から送信部６７０に直接出力するように構成すればよい。送信部６７０は、受信した認証結果データのみを演出制御部１２０に送信し、演出制御部１２０は、認証結果データを受信したかを判断し、認証結果データを受信した場合に図１９に示す認証結果データ解析処理を行うようにすればよい。
【０３０９】
また、本実施形態では、後段制御部１８０は、認証成功の場合も認証不成功の場合も、認証結果を認証結果データとして演出制御部１２０へ送信するとしたが、本発明はこれに限定されない。例えば、後段制御部１８０は、認証不成功の場合のみ認証不成功を示す認証結果データを制御コマンドに付加してまたは単独で演出制御部１２０に送信してもよい。あるいは、後段制御部１８０は、認証不成功の場合のみ認証が不成功であることを報せる認証不成功信号を演出制御部１２０へ送信するようにしてもよい。演出制御部１２０は、認証結果データまたは認証不成功信号を受信したか否かを判断し、受信した場合に報知信号を出力するように構成すればよい。
【０３１０】
また、上記実施形態では、主制御部１１０、演出制御部１２０、および後段制御部１８０は、ＣＰＵ、ＲＯＭ、およびＲＡＭを用いてソフトウェアによって認証機能を実現していたが、これに限定されず、誤り検査値を生成するための生成回路や誤り検査を行う検査回路等を設け、ハードウェアによって認証機能を実現してもよい。
【０３１１】
また、上記実施形態では、本発明をパチンコ遊技機に適用する例を示したが、これに限定されず、本発明は、雀球遊技機、アレンジボール等のパチンコ遊技機以外の弾球遊技機、スロットマシン等の回胴式遊技機などの他の遊技機にも適用することができる。これらの遊技機においても、上記実施形態と同様に構成することにより、上記実施形態と同様の効果を得ることができる。また、上記実施形態は、その目的及び構成等に特に矛盾や問題がない限り、互いの技術を流用することができる。
【符号の説明】
【０３１２】
１          遊技機
１１０      主制御部
１１０ａ    メインＣＰＵ
１１０ｂ    メインＲＯＭ
１１０ｃ    メインＲＡＭ
１２０      演出制御部
１２０ａ    サブＣＰＵ
１２０ｂ    サブＲＯＭ
１２０ｃ    サブＲＡＭ
１３０      払出制御部
１４０      ランプ制御部
１５０      画像制御部
１６０      発射制御部
１７０      電源部
１８０      後段制御部
１８０ａ    ＣＰＵ
１８０ｂ    ＲＯＭ
１８０ｃ    ＲＡＭ
５００      制御コマンド出力部
５１０、６１０、８１０、９１０    誤り検査値生成部
５２０、６２０    制御コマンド記憶部
５３０、６３０、８２０、９２０    誤り検査値演算部
５４０、６４０    制御コマンド決定部
５５０、６６０      付加部
５６０、６７０      送信部
６００      受信部
６５０      誤り検査部
８３０、９３０    誤り検査値記憶部
８４０、９４０    誤り検査値決定部
【図１】
0005202617.tif 000002
【図２】
0005202617.tif 000003
【図３】
0005202617.tif 000004
【図４】
0005202617.tif 000005
【図５】
0005202617.tif 000006
【図６】
0005202617.tif 000007
【図７】
0005202617.tif 000008
【図８】
0005202617.tif 000009
【図９】
0005202617.tif 000010
【図１０】
0005202617.tif 000011
【図１１】
0005202617.tif 000012
【図１２】
0005202617.tif 000013
【図１３】
0005202617.tif 000014
【図１４】
0005202617.tif 000015
【図１５】
0005202617.tif 000016
【図１６】
0005202617.tif 000017
【図１７】
0005202617.tif 000018
【図１８】
0005202617.tif 000019
【図１９】
0005202617.tif 000020
【図２０】
0005202617.tif 000021
【図２１】
0005202617.tif 000022
【図２２】
0005202617.tif 000023
【図２３】
0005202617.tif 000024
【図２４】
0005202617.tif 000025
【図２５】
0005202617.tif 000026