説明

遊技機

【課題】簡易な手段によりセキュリティ強度を向上することができる遊技機を提供する。
【解決手段】主制御部は、制御コマンドを出力する出力手段500と、所定の過去に送信された制御コマンドおよび誤り検査値を用いて、出力手段によって出力された制御コマンドに付加される新たな誤り検査値を生成する第一生成手段530と、出力手段によって出力された制御コマンドに、第一生成手段によって生成された新たな誤り検査値を付加して周辺部に送信する送信手段とを有し、周辺部は、上記所定の過去に送信された制御コマンドおよび誤り検査値を用いて新たな誤り検査値を生成する第二生成手段530と、送信手段によって送信された新たな誤り検査値と、第二生成手段によって生成された新たな誤り検査値とを用いて、送信手段によって送信された制御コマンドの正当性の検査を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パチンコ店等の遊技店に設置されるパチンコ遊技機、雀球遊技機、アレンジボール等の弾球遊技機、スロットマシン等の回胴式遊技機などの遊技機に関する。
【背景技術】
【0002】
遊技機に対し行われる、メダルや遊技球など(以下、「遊技媒体」という)を遊技とは無関係に強制的に払い出させる不正行為のうち、遊技に係る基本動作を制御する主制御部が搭載された主制御基板や、主制御部からの制御命令に基づき演出処理等を実行する周辺部が搭載された周辺基板に関するものとして、例えば以下に示すものがある。
(1)正規な主制御基板と不正な主制御基板との交換
(2)主制御基板に搭載されたCPUが実行する正規なプログラムが記憶されたROMと上記プログラムを改ざんした不正なプログラムが記憶されたROMとの交換
(3)主制御基板と周辺基板との間に不正な基板(なりすまし基板)を設け、かつ上記(2)のROMの交換
【0003】
このような不正行為を防止するため、従来の遊技機には、次のようなものがあった。例えば、特許文献1に記載の遊技機は、主制御基板は、制御コマンドを生成してサブ制御基板に送信する第1送信手段と、第1送信手段が所定期間内に送信した制御コマンドのチェックサムを状態監視コマンドとして所定のタイミングで送信する第2送信手段とを備えている。特許文献1に記載の遊技機は、サブ制御基板が、所定期間内に受信した制御コマンドのチェックサムと、所定のタイミングで受信した状態監視コマンドとを比較することで、所定期間内に送信された制御コマンドの正当性を検証している。すなわち、特許文献1に記載の遊技機は、制御コマンドの正当性を検証するための状態監視コマンドを所定のタイミングで送信することで、上記不正行為の防止を図っている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002−18095号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載の遊技機では、所定のタイミングで状態監視コマンドを単独で送信する処理を行っている。状態監視コマンドは、上述のように所定期間内に送信した制御コマンドのチェックサムなので、状態監視コマンドと通常の制御コマンドとは異なるデータ形式あるいはデータ量の情報である。したがって、特許文献1に記載の遊技機では、不正行為を働こうとする者(以下、不正者という)は状態監視コマンドの送信タイミングを容易に知ることができ、不正検出のための検査タイミングを容易に知ることができる。そして、状態監視コマンドの送信タイミングを知ることができる不正者が、状態監視コマンドを不正に取得して内容を解析する虞があった。
【0006】
また、特許文献1に記載の遊技機では、制御コマンドにそのチェックサムを付加して送信している。制御コマンドにそのチェックサムを付加して送信することにより、通信エラーチェックを行うことは一般的に行われることである。しかしながら、所定期間内に送信した制御コマンドのチェックサムを状態監視コマンドとしている特許文献1に記載の遊技機では、制御コマンドにそのチェックサムを付加していることにより、不正者が制御コマンドを取得することで状態監視コマンドの内容を解析容易にしている。具体的には、不正者が、状態監視コマンドの送信タイミングを容易に知ることができるのは上述したとおりである。状態監視コマンドの送信タイミングを知った不正者が、所定期間内の制御コマンドとそのチェックサムを取得して比較することで、状態監視コマンドの内容を容易に解析することができるという虞があった。
【0007】
また、特許文献1に記載の遊技機では、状態監視コマンドを送信するという、通常の処理とは異なる処理を行っている。これにより、処理が複雑となるうえ、所定期間内に送信する全てのチェックサムを記憶しておく必要があり、主制御基板の処理負荷が増大するという問題があった。遊技機においては、「風俗営業等の規制及び業務の適正化等に関する法律(風営法)」の規制により主制御基板のROMやRAMの容量に制限があり、主制御基板のリソースが限られている。にもかかわらず、遊技機メーカーには、遊技機の演出に係わるプログラムに、限られた容量の多くを割り振りたいという要望があった。このため、セキュリティに関する処理による、主制御基板の処理負荷の増大は、看過できない大きな問題であった。
【0008】
本発明は、上記事情に鑑みてなされたものであり、従来ない簡易な手段により上記不正行為を防止してセキュリティ強度を向上することができる遊技機を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するために本発明は、制御コマンドと前記制御コマンドに付加されて前記制御コマンドの正当性を検査する誤り検査値とを送信する主制御部(主制御部10)と、前記主制御部から送信された前記制御コマンドに基づく処理を行う周辺部(周辺部30)とを備える遊技機であって、前記主制御部は、前記制御コマンドを出力する出力手段(制御コマンド出力部500)と、所定の過去に送信された制御コマンドおよび誤り検査値を用いて、前記出力手段によって出力された前記制御コマンドに付加される新たな誤り検査値を生成する第一生成手段(誤り検査値生成部510)と、前記出力手段によって出力された前記制御コマンドに、前記第一生成手段によって生成された前記新たな誤り検査値を付加して前記周辺部に送信する送信手段と(付加部540および送信部550)を有し、前記周辺部は、前記所定の過去に送信された制御コマンドおよび誤り検査値を用いて新たな誤り検査値を生成する第二生成手段(誤り検査値生成部610)と、前記送信手段によって送信された新たな誤り検査値と、前記第二生成手段によって生成された新たな誤り検査値とを用いて、前記送信手段によって送信された前記制御コマンドの正当性の検査を行う検査手段(誤り検査部640)とを有することを特徴とする。
【発明の効果】
【0010】
本発明によれば、出力手段によって少なくとも過去に出力された制御コマンドとそれに付加された誤り検査値とを用いて生成手段が生成した誤り検査値を今回出力する制御コマンドに付加して演出制御部に送信する。このように従来にない簡易な方法を適用することにより、制御コマンドとそれに付加された誤り検査値の関係を不正者が解析することを困難にし、不正者が制御コマンドおよびそれに付加された誤り検査値を取得したとしても不正を行うことを困難にすることができる。すなわち、本発明によれば、簡易な方法で遊技機のセキュリティ強度を向上することができる。
【図面の簡単な説明】
【0011】
【図1】本発明の第1の実施形態に係るパチンコ遊技機の外観構成を示す正面図である。
【図2】本発明の第1の実施形態に係るパチンコ遊技機の電気的構成を示すブロック図である。
【図3】本発明の第1の実施形態に係る主制御部の構成を示す機能ブロック図である。
【図4】制御コマンドへの誤り検査値の付加方法を説明する説明図である。
【図5】主制御部の認証に関する処理を示すシーケンス図である。
【図6】主制御部が出力する制御コマンドの種別の一例を示す図である。
【図7】本発明の第1の実施形態に係る演出制御部の構成を示す機能ブロック図である。
【図8】演出制御部の認証に関する処理を示すシーケンス図である。
【図9】主制御部のメイン処理を示すフローチャートである。
【図10】主制御部の制御コマンド送信処理を示すフローチャートである。
【図11】演出制御部のメイン処理を示すフローチャートである。
【図12】演出制御部の割込処理を示すフローチャートである。
【図13】演出制御部のコマンド解析処理を示すフローチャートである。
【図14】演出制御部の認証処理を示すフローチャートである。
【図15】主制御部の認証に関するハードウェア構成の一例を示す図である。
【図16】本発明の第2の実施形態に係る主制御部の構成を示す機能ブロック図である。
【図17】本発明の第2の実施形態に係る主制御部の認証に関する処理を示すシーケンス図である。
【図18】本発明の第2の実施形態に係る演出制御部の構成を示す機能ブロック図である。
【図19】本発明の第2の実施形態に係る演出制御部の認証に関する処理を示すシーケンス図である。
【図20】本発明の第2の実施形態に係る主制御部の制御コマンド送信処理を示すフローチャートである。
【図21】本発明の第2の実施形態に係る演出制御部の認証処理を示すフローチャートである。
【図22】本発明の第2の実施形態に係る主制御部の認証に関するハードウェア構成の一例を示す図である。
【図23】本発明の制御コマンドへの誤り検査値の付加方法を説明する説明図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して本発明を実施するための形態について説明する。
[遊技機の基本構成]
図1は、本発明に係る遊技機の一実施形態である第1の実施形態のパチンコ遊技機1の外観構成を示す正面図である。また、図2は、図1に示すパチンコ遊技機1の電気的構成を示すブロック図である。
【0013】
本実施の形態に係るパチンコ遊技機1は、遊技盤101を備えている。遊技盤101の図1において右下方であって、枠部材110の右下部には、遊技者によって操作され、発射部292(図2参照)を作動させるための操作ハンドル113が設けられている。操作ハンドル113は、遊技者側に突出する形状を呈している。操作ハンドル113は、発射部292を作動させて遊技球を発射させる発射指示部材114を備えている。発射指示部材114は、操作ハンドル113の外周部において、遊技者から見て右回りに回転可能に設けられている。発射部292は、発射指示部材114が遊技者によって直接操作されている場合に、遊技球を発射させる。公知の技術であるため説明を省略するが、操作ハンドル113には、遊技者が発射指示部材114を直接操作していることを検出するセンサなどが設けられている。
【0014】
発射部292の作動によって発射された遊技球は、レール102a,102b間を上昇して遊技盤101の上部位置に達した後、遊技領域103内を落下する。遊技領域103には、複数の釘(図示せず)や、遊技球の落下方向を変化させる風車(図示せず)や、入球口が配設されており、遊技球を各種の方向に向けて落下させるようにしている。ここで、「入球口」は、いずれも後述する第1始動口105、第2始動口120、普通入賞口107、第1大入賞口109c、第2大入賞口129cの総称である。
【0015】
遊技盤101の略中央部分には、図柄表示部104が配置されている。図柄表示部104は、例えば、液晶ディスプレイ等のディスプレイを有している。図柄表示部104の下方には、遊技領域103に向けて打ち込まれた遊技球を受入れ可能な第1始動口105が配置されている。第1始動口105の下方には、第2始動口120が配置されている。第2始動口120は、一対の可動片(図示せず)が閉状態であるときは遊技球を受け入れることが不可能又は受け入れ困難となっており、この一対の可動片が開状態であるときは、第1始動口105よりも遊技球の受け入れが容易となる。
【0016】
また、図柄表示部104の左側には、入賞ゲート106が配設されている。入賞ゲート106は、遊技球の通過を検出し、第2始動口120を一定時間だけ開放させる普通図柄の抽選を行うために設けられている。図柄表示部104の左側部や下方等には、複数の普通入賞口107が配設されている。各普通入賞口107に遊技球が入球すると、所定の賞球数(例えば、10個)の払い出しが行われる。遊技領域103の最下部には、どの入球口にも入球しなかった遊技球を回収する回収口108が設けられている。
【0017】
図柄表示部104は、後述する演出制御部203(図2参照)から第1始動口105又は第2始動口120に遊技球が入球したことが報知されたときに、複数の装飾図柄の変動表示を開始し、所定時間経過後に当該装飾図柄の変動を停止させる。この停止時に特定図柄(例えば、「777」)が揃うと、遊技者は第1大当たり遊技(長当たり遊技)を実行する権利を獲得したこととなり、その後、第1大当たり遊技(長当たり遊技)が開始される。第1大当たり遊技(長当たり遊技)が開始されると、遊技領域103の下方に位置する第1大入賞口開閉装置109における第1大入賞口開閉扉109aが、一定の期間開放する動作を所定回数(例えば、15回)繰り返し、入球した遊技球に対応する賞球が払い出される。
【0018】
一方、図柄表示部104における上記装飾図柄の停止時に上記特定図柄とは別の特定図柄(例えば、「737」)が揃うと、遊技者は第2大当たり遊技(短当たり遊技)を実行する権利を獲得したこととなり、その後、第2大当たり遊技(短当たり遊技)が開始される。第2大当たり遊技(短当たり遊技)が開始されると、第1大入賞口開閉装置109の右斜め上方に位置する第2大入賞口開閉装置129における第2大入賞口開閉扉129aが、第1大入賞口開閉扉109aの開閉動作に比して短い時間にて一定の期間開放する動作を所定回数(例えば、15回)繰り返し、入球した遊技球がある場合、これに対応する賞球が払い出される。
【0019】
また、遊技盤101の遊技領域103の外周には、枠部材110が設けられ、開口部から遊技領域103が遊技者側に露出している。枠部材110は、遊技者側に突出する形状を呈している。枠部材110において、遊技領域103の左上部及び右下部には、演出ライト(ランプユニット)111a及び111bがそれぞれ設けられている。各演出ライト111a及び111bは、複数のライト112を備えている。各演出ライト111a及び111bは、上下駆動モータ(図示せず)でそれぞれ駆動されることにより、それぞれが備える複数のライト112から照射される光の方向を上下方向、すなわち、パチンコ遊技機1の正面にいる遊技者の頭部と腹部を結ぶ方向に平行な方向に変更可能に構成されている。
【0020】
また、各ライト112は、各演出ライト111a及び111bを構成する回転駆動モータ(図示せず)で駆動されることにより、それぞれ所定半径を有する円の円周方向に移動する。上記構成により、各ライト112から照射された光を回転移動させつつ、各演出ライト111a及び111b全体から照射された光を上下移動させる演出を行うことができる。さらに、枠部材110の下部には、遊技球が供給される受け皿ユニット119が設けられている。この受け皿ユニット119には、貸し玉装置(図示せず)から貸し出される遊技球が供給される。
【0021】
図1において、図柄表示部104の右側には、演出用の役物(以下、「演出役物」という)115が設けられている。演出役物115は、キャラクターとして人間の上半身(特に頭部)を模式的に表している。演出役物115は、キャラクターの瞼部116を開閉して、キャラクターが瞬きをするが如くに、瞼部116を上下方向に沿って移動可能に設けられている。また、演出役物115は、キャラクターの頭部を左右方向に移動可能に設けられている。
【0022】
また、枠部材110において、操作ハンドル113の左側には、遊技者により操作される演出ボタン117が設けられている。演出ボタン117の操作は、例えば、遊技中における特定のリーチ演出に際し、演出ボタン117の操作を促すガイダンスが表示されている間だけ有効となる。
【0023】
加えて、枠部材110には、演出効果音又は不正を知らしめる音響を出力するスピーカ277(図2参照)が組み込まれている。このスピーカ277は、高音・中音・低音の領域を出力できるタイプのものであり、通常演出時は高音・中音・低音をバランスよく出力するが、例えば、特別演出時又は不正等があった場合には、周りによく聞こえるように高音領域を高く出力するように制御される。
【0024】
次に、本発明の実施の形態に係るパチンコ遊技機1の電気的構成について、図2に示すブロック図を参照して説明する。パチンコ遊技機1は、電気的な構成上は、制御手段200に、第1始動口検出部221等の各種検出手段や、図柄表示部104等の各種演出手段、役物作動装置231、払出部291、発射部292などが接続されて構成されている。制御手段200は、図2に示す例では、主制御部10と、演出制御部203と、賞球制御部204と、ランプ制御部205とから構成されている。
【0025】
主制御部10は、CPU10aと、ROM10bと、RAM10cと、生成送信回路10gとを備えている。CPU10aは、パチンコ遊技機1の遊技に係る基本動作を制御し、ROM10bに予め記憶されているプログラム(プログラムコード)に基づき、遊技内容の進行に伴う基本処理を実行する。ROM10bには、CPU10aがパチンコ遊技機1の遊技内容の進行に伴う基本処理を実行するためのプログラムコードが予め記憶されている。
【0026】
RAM10cは、CPU10aがパチンコ遊技機1の遊技内容の進行に伴う基本処理を実行する際に行う演算処理において、データ等のワークエリアとして機能する。生成送信回路10gは、主制御部10から演出制御部203に送信される制御コマンドの正当性を認証するために用いる誤り検査値を生成し、生成した誤り検査値を制御コマンドに付加して演出制御部203に送信する。なお、主制御部10が行う制御コマンドの正当性を認証する認証処理に係る処理の詳細については後述する。この主制御部10では、第1始動口105又は第2始動口120への遊技球の入球を契機として、大当たりの抽選を行うとともに、この抽選結果に基づいて、ROM10bに記憶されている演出に係わるコマンドの選択を行う。
【0027】
主制御部10の入力側には、第1始動口検出部221と、第2始動口検出部225と、ゲート検出部222と、普通入賞口検出部223と、第1大入賞口検出部214と、第2大入賞口検出部224とが接続されている。第1始動口検出部221は、第1始動口105に遊技球が入球したことを検出して検出結果を主制御部10へ送信する。第2始動口検出部225は、第2始動口120に遊技球が入球したことを検出して検出結果を主制御部10へ送信する。ゲート検出部222は、入賞ゲート106を遊技球が通過したことを検出して検出結果を主制御部10へ送信する。普通入賞口検出部223は、普通入賞口107に入球した遊技球を検出して検出結果を主制御部10へ送信する。第1大入賞口検出部214は、第1大入賞口109cに入球した遊技球を検出して検出結果を主制御部10へ送信する。第2大入賞口検出部224は、第2大入賞口129cに入球した遊技球を検出して検出結果を主制御部10へ送信する。上記各検出部は、例えば、近接スイッチなどを用いて構成することができる。
【0028】
また、この主制御部10の出力側には、役物作動装置231が接続されている。本実施の形態では、役物作動装置231は、第1大入賞口開閉扉109a及び第2大入賞口開閉扉129aをそれぞれ開閉させる第1大入賞口開閉ソレノイド109b及び第2大入賞口開閉ソレノイド129bと、第2始動口120を開閉させる第2始動口開閉ソレノイド120bとから構成されている。
【0029】
役物作動装置231は、主制御部10によって制御され、長当たり遊技時に、第1大入賞口開閉ソレノイド109bを通電して第1大入賞口開閉扉109aを開放したり、短当たり遊技及び小当たり遊技時に、第2大入賞口開閉ソレノイド129bを通電して第2大入賞口開閉扉129aを開放したり、また、上記普通図柄の当選によって第2始動口開閉ソレノイド120bを通電して第2始動口120を開閉したりする。
【0030】
演出制御部203は、CPU203aと、ROM203bと、RAM203cと、VRAM203d等を備えている。CPU203aは、主にパチンコ遊技機1の遊技中における演出を制御し、ROM203bに予め記憶されているプログラム(プログラムコード)に基づき、主制御部10より送信される制御信号にて示された制御コマンドに基づいて演出の抽選及び演出処理を実行する。ROM203bには、CPU203aが演出の抽選及び演出処理を実行するためのプログラムコードと、過去の演出パターンとが予め記憶されている。RAM203cは、CPU203aが演出の抽選及び演出処理を実行する際に行う演算処理等を実行する際に行う演算処理等のワークエリアとして機能する。VRAM203dには、図柄表示部104に表示させるための画像データが書き込まれる。演出制御部203は、主制御部10より送信された制御コマンド情報を用いて誤り検査値を生成する。演出制御部203は、主制御部10の生成送信回路10gと同様の方法で誤り検査値を生成する。演出制御部203は、主制御部10から送信された誤り検査値と生成した誤り検査値とを用いて、制御コマンドの正当性を認証する認証処理を行う。なお、演出制御部203が行う認証処理の詳細については後述する。
【0031】
この演出制御部203は、主制御部10より送信される演出に係る制御コマンドを示す制御信号を受信すると、この制御信号にて示された制御コマンドに基づいて抽選を行い、演出背景パターン、リーチ演出パターン、登場キャラクター等の演出を確定するとともに、当該確定した演出の制御を行う。
また、演出制御部203の出力側には、図柄表示部104が接続されており、抽選によって決定された内容のとおりに、図柄表示部104に、例えば、図柄変動の演出表示を展開する。
【0032】
そして通常、CPU203aがROM203bに記憶されたプログラムコードを読み込んで、背景画像表示処理、図柄画像表示及び変動処理、キャラクター画像表示処理など各種画像処理を実行し、必要な画像データをROM203bから読み出してVRAM203dに書き込む。背景画像、図柄画像、キャラクター画像は、表示画面上において図柄表示部104に重畳表示される。
すなわち、図柄画像やキャラクター画像は背景画像よりも手前に見えるように表示される。このとき、同一位置に背景画像と図柄画像が重なる場合、Zバッファ法など周知の陰面消去法により各画像データのZバッファのZ値を参照することで、図柄画像を優先してVRAM203dに記憶させる。
【0033】
演出制御部203の入力側には、上記演出ボタン117が操作されたことを検出する演出ボタン検出部220が接続されている。また演出制御部203の出力側には、スピーカ277が接続されており、演出制御部203において確定したとおりに、音声が出力されるようにしている。
また演出制御部203の出力側には、ランプ制御部205を備えている。
【0034】
ランプ制御部205は、演出制御部203より送信された制御信号にて示された制御コマンドに基づきROM205bから読み込んだプログラムを作動させて演出処理を実行するCPU205aと、上記プログラムコード及び各種演出パターンデータを記憶するROM205bと、CPU205aの演算処理時におけるデータのワークエリアとして機能するRAM205c等を備えている。ランプ制御部205は、ランプ262、演出ライト111a及び111b、演出役物作動装置254を制御する。演出役物作動装置254は、演出役物115等の、演出用の役物を作動させるモータやソレノイド等によって構成されている。
【0035】
ランプ制御部205は、遊技盤101や台枠等に設けられている各種ランプ262に対する点灯制御等を行い、また、演出ライト111a及び111bをそれぞれ構成する複数のライト112に対する点灯制御等を行い、各ライト112からの光の照射方向を変更するためにモータに対する駆動制御等を行う。
また、ランプ制御部205は、演出制御部203より送信された制御信号にて示された制御コマンドに基づき、演出役物115を動作させる演出役物作動装置254のソレノイドや、瞼部116を動作させる演出役物作動装置254のモータに対する駆動制御等を行う。
【0036】
賞球制御部204は、主制御部10と送受信可能に接続されている。賞球制御部204は、ROM204bに記憶されたプログラムコードに基づき、賞球制御を行う。この賞球制御部204は、ROM204bに記憶されたプログラムを作動して賞球制御の処理を実行するCPU204aと、CPU204aの演算処理時におけるデータのワークエリアとして機能するRAM204c等を備えている。
【0037】
賞球制御部204は、接続される払出部291に対して、各入球口(第1始動口105、第2始動口120、普通入賞口107、第1大入賞口109c、第2大入賞口129c)に入球した遊技球に対応した賞球数を払い出す制御を行う。また、賞球制御部204は、発射部292に対する遊技球の発射の操作を検出し、遊技球の発射を制御する。発射部292は、遊技のための遊技球を発射するものであり、遊技者による遊技操作を検出するセンサ(図示せず)と、遊技球を発射させるソレノイド等(図示せず)を備えている。賞球制御部204は、発射部292のセンサにより遊技操作を検出すると、検出された遊技操作に対応してソレノイド等を駆動させて遊技球を間欠的に発射させ、遊技盤101の遊技領域103に遊技球を送り出す。
払出部291は、遊技球の貯留部から所定数を払い出すためのモータ等からなる。
【0038】
ここで、上記構成の演出制御部203、賞球制御部204、及びランプ制御部205を総称して「周辺部30」とする。また、主制御部10と、演出制御部203と、賞球制御部204と、ランプ制御部205とは、それぞれ異なるプリント基板(例えば、主制御部10は主制御基板、演出制御部203は演出制御基板、賞球制御部204は賞球制御基板、ランプ制御部205はランプ制御基板)に搭載されている。これらのうち、演出制御基板、賞球制御基板、及びランプ制御基板を総称して「周辺基板」とする。なお、ランプ制御部205は、演出制御部203と同一のプリント基板上に搭載することもできる。また、賞球制御部204は、主制御部10と同一のプリント基板上に搭載することもできる。
【0039】
[遊技機の認証に関する構成]
次に、上記構成のパチンコ遊技機1が不正防止のために有する認証機能を実現する手段について、図面を参照しながら説明する。本実施の形態に係るパチンコ遊技機1の認証機能は、周辺部30が主制御部10から送信された制御コマンドの正当性を認証することで、主制御部の認証を行うことによって実現される。つまり、パチンコ遊技機1は、主制御部から送信されてきた制御コマンドが正当なものであれば、主制御部も正当なものであると判断するのである。なお、本実施の形態では、周辺部30のうち演出制御部203に主制御部10を認証する機能が備えられていることとして説明する。
【0040】
具体的には、主制御部10が、1個前(すなわち、前回)に演出制御部203に送信した制御コマンドとそれに付加された誤り検査値とを用いて生成した誤り検査値を、今回送信するべき制御コマンドに付加して演出制御部203に送信する。演出制御部203は、1個前に受信した制御コマンドとそれに付加された誤り検査値とを用いて誤り検査値を生成し、これと、今回受信した制御コマンドに付加された誤り検査値とを照合して、これらが一致した場合は、今回および前回送信された制御コマンドの正当性が認証され、その結果として主制御部10の認証が成功したと判断する。
なお、以下、主制御部10から演出制御部203へと送信される制御コマンド(制御コマンドデータ)に誤り検査値が付加された誤り検査値付き制御コマンドを制御コマンド情報という。
【0041】
図3は、本発明の一実施形態に係るパチンコ遊技機1を構成する主制御部10の認証処理に関する構成を示す機能ブロック図である。主制御部10は、制御コマンド出力部500と、誤り検査値生成部510と、付加部540と、送信部550とを備えている。さらに、誤り検査値生成部510は、誤り検査値演算部520と、誤り検査値記憶部530とから構成される。主制御部10を構成する各機能ブロックは、図2に示す、CPU10a、ROM10b、RAM10cおよび生成送信回路10gの各手段を適宜組み合わせて構成される。
【0042】
制御コマンド出力部500は、演出制御部203によって行われる遊技処理の内容を指示するために、演出制御部203に今回送信する制御コマンドを生成し、誤り検査値生成部510および付加部540に出力する。制御コマンド出力部500の機能を実現する具体的な手段は、図2に示すCPU10aの一部、ROM10bの一部、およびRAM10cの一部から構成することができる。より具体的には、CPU10aは、RAM10cをワークエリアとして、ROM10bに予め記憶されているプログラムに基づき、今回出力すべき制御コマンドを決定し、出力する。
【0043】
誤り検査値生成部510は、制御コマンド出力部500から出力された今回送信する制御コマンドと、予め保存されている、前回送信された制御コマンド情報を用いて生成された誤り検査値とを用いて、次回送信する制御コマンドに付加するための新たな誤り検査値を生成する。さらに、誤り検査値生成部510は、演出制御部203に前回送信された制御コマンド情報を用いて生成された誤り検査値を付加部540に送る。
【0044】
具体的には、誤り検査値生成部510を構成する誤り検査値演算部520は、制御コマンド出力部500から送られた、演出制御部203に今回送信する制御コマンドと、後述するように誤り検査値記憶部530から送られた、前回送信された制御コマンド情報を用いて生成された誤り検査値とを用いて新たな誤り検査値を生成する。すなわち、今回送信する制御コマンド情報から新たな誤り検査値を生成する。そして、誤り検査値演算部520は、生成した誤り検査値を保存するために誤り検査値記憶部530に送る。誤り検査値演算部520の機能を実現する具体的な手段は、図2に示す生成送信回路10gから構成することができる。
【0045】
なお、本実施形態において、「制御コマンド情報を用いて誤り検査値を生成する」とは、制御コマンドの具体的な値である制御コマンドデータと付加された誤り検査値とを用いて、新たな誤り検査値を生成することである。本実施形態において、特に言及しない限りにおいて「制御コマンド」という言葉には、制御コマンドデータの意味が含まれるものとする。また、「制御コマンド情報を用いて生成された誤り検査値」を単に「制御コマンド情報の誤り検査値」ともいう。
【0046】
また、本実施形態において誤り検査値の生成方法は、特に制限されず、例えば、チェックサム方式、CRC方式、奇数パリティ方式、偶数パリティ方式、群計数チェック方式、垂直パリティ方式、垂平パリティ方式、またはハミング符号方式等の公知の方式を用いることができる。
【0047】
誤り検査値記憶部530は、誤り検査値生成部510が生成した誤り検査値のうち、今回送信する制御コマンド情報を用いて生成した新たな誤り検査値および前回送信した制御コマンド情報を用いて生成した誤り検査値の少なくとも2つを記憶する。また、誤り検査値記憶部530は、前回送信した制御コマンド情報を用いて生成した誤り検査値を誤り検査値演算部520および付加部540に送る。誤り検査値記憶部530の機能を実現する具体的な手段は、図2に示す生成送信回路10gから構成することができる。
【0048】
付加部540は、制御コマンド出力部500から出力された今回送信する制御コマンドに、誤り検査値記憶部530から送られた前回送信した制御コマンド情報を用いて生成された誤り検査値を付加して、今回送信する制御コマンド情報を生成する。付加部540の機能を実現する具体的な手段は、図2に示す生成送信回路10gから構成することができる。
【0049】
ここで、制御コマンド情報の形式について説明する。図4は、本実施形態における制御コマンド情報の形式を示す説明図である。図4に示すように、制御コマンド情報は、基本的に、制御コマンドにその1つ前に送信された制御コマンド情報の誤り検査値を付加した形式になっている。ただし、最初に送信される制御コマンド1には所定の初期値が付加されている。そして、2番目に送信される制御コマンド2には、最初に送信された制御コマンド情報、すなわち制御コマンド1と初期値とから生成された誤り検査値1が付加され、制御コマンド情報が生成される。同様に、3番目に送信される制御コマンド3には、2番目に送信された制御コマンド情報、すなわち、制御コマンド2と誤り検査値1とから生成された誤り検査値2が付加され、制御コマンド情報が生成される。以下、同様にして制御コマンド情報が生成される。このように、今回送信する制御コマンドに付加する誤り検査値は、初期値を含む既に送信された全ての制御コマンド情報を用いて生成されることとなる。
【0050】
ここで、初期値は特に制限されず、予め決められた誤り検査値のダミーデータや、遊技機1に固有の情報である固有情報を用いることができる。固有情報は、具体的には、主制御基板の製造番号、CPU10aに固有のシリアル番号やメーカーコードなどの主制御基板に固有の識別情報である。また、固有情報としては、ROM10bに記憶されているデータの一部である所定のデータを用いてもよい。すなわち、本実施形態において、固有情報は、予め決められた遊技機1に固有のデータである。なお、上記識別情報は、ROM10bに記憶しておいてもよいし、主制御基板に設けられた他の記憶手段に記憶しておいてもよい。
【0051】
送信部550は、今回送信する制御コマンドに前回送信した制御コマンド情報の誤り検査値を付加して生成された制御コマンド情報を演出制御部203へと送信する。送信部550の機能を実現する具体的な手段は、図2に示す生成送信回路10gから構成することができる。
【0052】
次に、認証処理時における主制御部10の各構成部の処理について説明する。図5は、主制御部の認証に関する処理を示すシーケンス図である。
パチンコ遊技機1の電源が投入され、主制御部10のCPU10aが初期設定処理を行った後、主制御部10を構成する制御コマンド出力部10は、制御コマンドの出力を開始する。なお、上述のように最初に送信される制御コマンドには誤り検査値に替えて所定の初期値が付加される。
【0053】
ステップS31において、制御コマンド出力部500は、演出制御部203に今回送信する制御コマンドを生成し、誤り検査値生成部510および付加部540に出力する。
制御コマンド出力部500から出力された制御コマンドを受信した誤り検査値生成部510は、ステップS32において、受信した今回送信する制御コマンドと前回送信した制御コマンド情報を用いて生成された誤り検査値(すなわち、前回生成された誤り検査値)とを用いて、次回送信する制御コマンドに付加する新たな誤り検査値を生成する。続いて、ステップS33において、誤り検査値生成部510は、生成した誤り検査値を保存する。続いて、ステップS34において、誤り検査値生成部510は、予め保存してある前回送信した制御コマンド情報を用いて生成された誤り検査値(すなわち、前回生成された誤り検査値)を付加部540に出力する。
【0054】
次に、ステップS35において、付加部540は、ステップS31で制御コマンド出力部500から出力された今回送信する制御コマンドに、ステップS34で誤り検査値生成部510から出力された前回送信した制御コマンド情報を用いて生成された誤り検査値を付加して制御コマンド情報を生成し、送信部550へ送る。続いて、ステップS36において、送信部550は、付加部540から受け取った制御コマンド情報を演出制御部203へと送信する。
【0055】
なお、本実施形態では、誤り検査値生成部510が、今回送信する制御コマンド情報の誤り検査値を生成(ステップS32)し、生成した誤り検査値を保存(ステップS33)した後に、前回送信した制御コマンド情報の誤り検査値を付加部540に出力(ステップS34)するとしたが、これに限定されない。例えば、誤り検査値生成部510が、前回送信した制御コマンド情報の誤り検査値を付加部540に出力(ステップS34)した後に、今回送信する制御コマンド情報の誤り検査値を生成(ステップS32)し、生成した誤り検査値を保存(ステップS33)するようにしてもよい。この場合、誤り検査値生成部510は、少なくとも一つの誤り検査値を保存しておけばよく、誤り検査値を保存するステップS33において、既に保存されている誤り検査値に新しい誤り検査値を上書き保存するようにしてもよい。
【0056】
次に、主制御部10から演出制御部203に対して送信される制御コマンドの種別について図6を用いて説明する。なお、図6は、本発明の実施の形態に係るパチンコ遊技機1を構成する主制御部10が出力する制御コマンドの種別の一例を示す図であって、図6に示された制御コマンドの種別に限定されるものではない。
主制御部10から演出制御部203へ送信される制御コマンドは、1コマンドが2バイトのデータで構成されており、制御コマンドの分類を識別するための1バイトのMODEの情報と、各制御コマンドの詳細な制御内容を示す1バイトのDATAの情報とから構成されている。MODEの情報とDATAの情報は、主制御部10のROM10bに予め記憶されている。なお、本実施形態では、制御コマンドには前回送信された制御コマンド情報の誤り検査値が付加され、制御コマンド情報として演出制御部203に送信される。以下の説明において、「制御コマンドを送信する」との表現には、制御コマンドに誤り検査値を付加して制御コマンド情報を生成し、この制御コマンド情報を演出制御部203に送信することが含まれる。
【0057】
「電源投入コマンド」は、パチンコ遊技機1の電源が投入されたことを示すものであり、「MODE」が「E1H」で設定され、「DATA」が「00H」に設定されている。
この電源投入コマンドは、パチンコ遊技機1の電源が投入されたときに演出制御部203へ送信される。具体的には、パチンコ遊技機1の電源が投入されたとき、主制御部10を構成する制御コマンド出力部500は、誤り検査値生成部510および付加部540に電源投入コマンドを出力する。この電源投入コマンドは、最初に出力された制御コマンドなので、付加部540は、制御コマンドから生成した誤り検査値に替えて、予め記憶されている初期値を電源投入コマンドに付加して制御コマンド情報を生成し、送信部550は、この制御コマンド情報を送信する。
【0058】
「客待ちデモコマンド」は、パチンコ遊技機1が非遊技状態における客待ちのデモ画面を表示させることを示すものであり、「MODE」が「E2H」で設定され、「DATA」が「00H」に設定されている。
この客待ちデモコマンドは、電源投入時に表示される初期演出表示としてデモが開始されてから、又は後述する未抽選入賞回数がゼロとなりデモが開始されてから、所定時間経過したときに演出制御部203へ送信される。
【0059】
「図柄変動パターンコマンド」は、パチンコ遊技機1の始動口(第1始動口105又は第2始動口125)に遊技球が入賞し、図柄表示部104にて入賞抽選結果に応じた図柄の変動態様を示すものであり、「MODE」が「E3H」で設定され、各種の変動パターンに合わせてDATAの情報が設定されている。
この図柄変動パターンコマンドは、入賞抽選時の大当たり判定後の各種の図柄変動パターンの決定時に演出制御部203へ送信される。具体的には、入賞抽選時に取得した大当たり判定用乱数が予め設定された大当たり判定テーブルのいずれかの乱数値と対応するかが判断され、各種の図柄変動パターンが決定されて図柄変動が開始されたときに、決定された図柄変動パターンに対応する図柄変動パターンコマンドが演出制御部203へ送信される。
【0060】
「図柄停止コマンド」は、図柄変動を停止表示させることを示すものであり、「MODE」が「E4H」で設定され、「DATA」が「00H」に設定されている。
この図柄停止コマンドは、図柄変動が開始され図柄変動時間が経過した後に演出制御部203へ送信される。具体的には、図柄変動が開始された後、予め設定された図柄変動時間が経過したため図柄変動を停止させるときに演出制御部203へ送信される。
【0061】
「大当たり開始コマンド」は、各種の大当りが開始することを示すものであり、「MODE」が「E5H」で設定され、大当たりの種別に合わせてDATAの情報が設定されている。
この大当たり開始コマンドは、各種の大当りが開始するときに、大当たりの種別に対応する大当たり開始コマンドが演出制御部203へ送信される。具体的には、大当たり遊技処理の開始のときに、大当たりの種別に対応する大当たり開始コマンドが演出制御部203へ送信される。
【0062】
「大当たりコマンド」は、各種大当りの種別に合わせた大当たりのラウンド数を示すものであり、「MODE」が「E6H」で設定され、大当たりのラウンド数に合わせてDATAの情報が設定されている。
この大当たりコマンドは、大当りラウンドが開始されるときに、開始されたラウンド数に対応する大当たりコマンドが演出制御部203へ送信される。具体的には、第1大入賞口開閉扉109a又は第2大入賞口開閉扉129aを開放させるときに、開放させるときのラウンド数に対応する大当たりコマンドが演出制御部203へ送信される。
【0063】
「大当たり終了コマンド」は、各種の大当りが終了したことを示すものであり、「MODE」が「E7H」で設定され、大当たりの種別に合わせてDATAの情報が設定されている。
この大当たり終了コマンドは、各種の大当りが終了するときに、大当たりの種別に対応する大当たり終了コマンドが演出制御部203へ送信される。具体的には、大当り遊技終了処理の開始のときに、大当たりの種別に対応する大当たり終了コマンドが演出制御部203へ直ちに送信される。
【0064】
図7は、本発明の一実施形態に係るパチンコ遊技機1を構成する演出制御部203の認証処理に関する構成を示す機能ブロック図である。演出制御部203は、受信部600と、誤り検査値生成部610と、誤り検査部640とを備えている。さらに、誤り検査値生成部610は、誤り検査値演算部620と、誤り検査値記憶部630とから構成される。演出制御部203を構成する各機能ブロックは、図2に示す、CPU203a、ROM203b、およびRAM203c等の各手段を適宜組み合わせて構成される。
【0065】
受信部600は、受信データ用記憶領域を有し、主制御部10から受信した制御コマンド情報を受信データ用記憶領域に書き込む。また、受信部600は、受信した制御コマンド情報に含まれる今回受信した制御コマンドを誤り検査値生成部610へ、今回受信した制御コマンドに付加された誤り検査値を誤り検査部640へと送信する。受信部600の機能を実現する具体的な手段は、図2に示すCPU203aの一部、ROM203bの一部、およびRAM203cの一部等から構成することができる。より具体的には、CPU203aは、RAM203cをワークエリアとして、ROM203bに予め記憶されているプログラムに基づき、今回受信した制御コマンド情報を誤り検査値生成部610へ、今回受信した制御コマンド情報に含まれる誤り検査値を誤り検査部640へと送信する。
【0066】
誤り検査値生成部610は、受信部600から送られた今回受信した制御コマンド情報を用いて誤り検査値を生成する。さらに、誤り検査値生成部610は、受信部600から前回送られた制御コマンド情報、すなわち、演出制御部203が前回受信した制御コマンド情報を用いて生成された誤り検査値を誤り検査部640に送る。
【0067】
具体的には、誤り検査値生成部610を構成する誤り検査値演算部620は、受信部600から送られた、演出制御部203が今回受信した制御コマンド情報を用いて誤り検査値を生成し、生成した誤り検査値を、誤り検査値記憶部630に送る。誤り検査値演算部620の機能を実現する具体的な手段は、図2に示すCPU203aの一部、ROM203bの一部、およびRAM203cの一部等から構成することができる。なお、本実施形態において、誤り検査値の生成方法は、主制御部10の誤り検査値生成部510が行う誤り検査値生成方法と同一であればよく、生成送信回路10gが行う誤り検査値生成方法と同様に特に制限されず、上述の各種の方法を適用することができる。
【0068】
誤り検査値記憶部630は、誤り検査値生成部620が生成した誤り検査値のうち、今回受信した制御コマンド情報を用いて生成された新たな誤り検査値および前回受信した制御コマンド情報を用いて生成された誤り検査値の少なくとも2つを記憶する。また、誤り検査値記憶部630は、前回受信した制御コマンド情報を用いて生成された誤り検査値を誤り検査部640に送る。誤り検査値記憶部630の機能を実現する具体的な手段は、図2に示すCPU203a、ROM203b、およびRAM203cから構成することができる。
【0069】
誤り検査部640は、受信部600から送られた今回受信した制御コマンドに付加された誤り検査値と、誤り検査値記憶部630から送られた前回受信した制御コマンド情報を用いて生成された誤り検査値とを用いて誤り検査を行う。すなわち、誤り検査部640は、今回受信した誤り検査値が付加された制御コマンド、および今回の誤り検査値の生成元である前回受信した制御コマンド情報の正当性を認証する認証処理を行う。誤り検査部640の機能を実現する具体的な手段は、図2に示すCPU203a、ROM203b、およびRAM203cから構成することができる。
【0070】
次に、認証処理における演出制御部203の各構成部の処理について説明する。図8は、演出制御部203の認証に関する処理を示すシーケンス図である。
パチンコ遊技機1の電源が投入され、主制御部10のCPU10aが初期設定処理を行った後、主制御部10を構成する制御コマンド出力部500は、制御コマンドの出力を開始し、演出制御部203に誤り検査値付き制御コマンドである制御コマンド情報を送信する。なお、上述のように最初に送信される制御コマンドには誤り検査値に替えて所定の初期値が付加される。
【0071】
ステップS41において、受信部600は、誤り検査値付き制御コマンドである制御コマンド情報を受信して、受信データ用記憶領域に書き込む。続いて、ステップS42において、受信部600は、受信した制御コマンド情報を誤り検査値生成部610に、誤り検査値を誤り検査部640に出力する。
【0072】
受信部600から今回受信した制御コマンド情報を受信した誤り検査値生成部610は、ステップS43において、今回受信した制御コマンド情報を用いて新たな誤り検査値を生成する。続いて、ステップS44において、誤り検査値生成部610は、生成した誤り検査値を保存する。続いて、ステップS45において、誤り検査値生成部610は、予め保存してある前回受信した制御コマンド情報の誤り検査値を誤り検査部640に出力する。
【0073】
次に、ステップS46において、誤り検査部640は、ステップS42で受信部600から出力された今回受信した制御コマンドに付加された誤り検査値と、ステップS45で誤り検査値生成部610から出力された前回受信した制御コマンド情報を用いて生成された誤り検査値とを用いて誤り検査を行う。具体的には、誤り検査部640は、上記2つの誤り検査値を照合し、同一の値であるかを検証する。同一の場合は、誤り検査部640は、今回および前回受信した制御コマンドの正当性を認証する。非同一の場合は、誤り検査部640は、制御コマンドに正当性がなく、誤りがあると判断する。なお、最初に受信した制御コマンドには誤り検査値に替えて所定の初期値が付加されるので、誤り検査部640は、同様に所定の初期値を用いて誤り検査を行う。
【0074】
なお、本実施形態では、誤り検査値生成部610が、今回受信した制御コマンド情報の誤り検査値を生成(ステップS43)し、生成した誤り検査値を保存(ステップS44)した後に、前回受信した制御コマンド情報の誤り検査値を誤り検査部640に出力(ステップS45)するとしたが、これに限定されない。例えば、誤り検査値生成部610が、前回受信した制御コマンド情報の誤り検査値を誤り検査部640に出力(ステップS45)した後に、今回受信した制御コマンド情報の誤り検査値を生成(ステップS43)し、生成した誤り検査値を保存(ステップS44)するようにしてもよい。この場合、誤り検査値生成部610は、少なくとも一つの誤り検査値を保存しておけばよく、誤り検査値を保存するステップS44において、既に保存されている誤り検査値に新しい誤り検査値を上書き保存するようにしてもよい。
【0075】
[遊技機の動作処理]
次に、上記構成のパチンコ遊技機1の動作処理について、図面を参照して説明する。以下、主制御部10による演出制御部203への制御コマンドの送信を含む動作処理について、図9に示すフローチャートを参照して説明する。主制御部10の構成部であるCPU10aは、図示しないパルス発生部より出力されるクロック信号に基づいて、所定の周期(例えば4ミリ秒)ごとに制御コマンドの実行等の処理を行う。なお、以下の説明では、各制御コマンドの送信処理には、制御コマンドに誤り検査値(または初期値)を付加して制御コマンド情報を生成し、生成した制御コマンド情報を送信する処理を含む。この制御コマンド送信処理の詳細については後述する。
【0076】
ステップS1において、まず、主制御部10は、パチンコ遊技機1の電源投入に伴う初期設定処理を実行した後、ステップS2へ進む。なお、パチンコ遊技機1に電源が投入された際には、周辺基板が主制御基板から受信する制御コマンドを確実に取り込むために、周辺基板が立ち上がってRAM領域の初期化を行い、待機状態となった後、主制御基板が立ち上がるように構成されている。主制御部10は、初期設定処理として、例えば、スタックポインタに予め決められた所定値を設定するとともに、演出制御部203が待機状態になることを待つために、一定時間(例えば、約1秒間)だけ待機する。
【0077】
ステップS2において、制御コマンド出力部500は、演出制御部203に図5に示す電源投入コマンドを付加部540に出力し、付加部540で初期値が付加された電源投入コマンド(図4参照)を送信部550が演出制御部203へ送信する。電源投入コマンドを送信した後、主制御部10は、ステップS3へ進む。電源投入コマンドを受信すると、演出制御部203は、図柄表示部104やランプ制御部205のそれぞれに対して電源投入時の演出用の制御コマンド、具体的には、遊技機が非遊技状態における客待ちのデモ画面を表示するための客待ちデモコマンド、あるいは、ランプの点灯等を行うための制御コマンドを送信する。
【0078】
なお、電源投入コマンドは、電源投入後に電源投入に伴う処理を実行させるための制御コマンドを示し、各制御基板が立ち上がった後に、主制御部10から演出制御部203へ送信される制御コマンドであって、電源投入後の立ち上げ時における遊技を制御するための初期制御情報、例えば、制御モード、バックアップデータ等を送信するための制御コマンド、あるいは初期演出表示の制御を行うための制御コマンド、各種のデモ表示を開始させるための制御コマンドである。また、この電源投入コマンドは遊技機のリセットボタンを押圧したときにも実行される、上記制御モード、バックアップデータ等を送信するための制御コマンドも含む。
【0079】
ステップS3において、主制御部10は、RAM10cに記憶されている未抽選入賞回数データを参照して、未抽選入賞回数が0回であるか否かを判断する。ここで、未抽選入賞回数とは、第1始動口検出部221又は第2始動口検出部225で検出された遊技球の数(入賞回数)から、当該遊技球の入球に対応する抽選が行われた回数(既抽選回数)を減じた数である。ステップS3の判断結果が「NO」の場合、すなわち、未抽選入賞回数が0回でない場合には、主制御部10は、後述するステップS10へ進む。一方、ステップS3の判断結果が「YES」の場合、すなわち、未抽選入賞回数が0回である場合には、主制御部10は、ステップS4へ進む。
【0080】
ステップS4において、主制御部10は、電源投入時のデモが開始されてから経過した時間を計測した後、ステップS5へ進む。
ステップS5において、主制御部10は、電源投入時のデモが開始されてから所定時間が経過したか否かを判断する。ステップS5の判断結果が「YES」の場合、すなわち、電源投入時のデモが開始されてから所定時間が経過した場合には、主制御部10は、ステップS6へ進む。なお、上記電源投入時のデモを開始するための制御コマンドは、客待ちデモコマンドとしてもよい。
【0081】
ステップS6において、主制御部10は、客待ちデモコマンドを演出制御部203へ送信した後、ステップS7へ進む。客待ちデモコマンドを受信すると、演出制御部203は、図柄表示部104やランプ制御部205のそれぞれに対して客待ちデモ演出用の制御コマンドを送信する。
【0082】
一方、ステップS5の判断結果が「NO」の場合、すなわち、電源投入時のデモ(又は客待ちデモ)が開始されてから所定時間が経過していない場合には、主制御部10は、ステップS7へ進む。
ステップS7において、主制御部10は、第1始動口検出部221で第1始動口105への遊技球の入球が検出されたか又は第2始動口検出部225で第2始動口120への遊技球の入球が検出されたか否かを判断する。ステップS7の判断結果が「YES」の場合、すなわち、第1始動口検出部221で第1始動口105への遊技球の入球が検出されたか又は第2始動口検出部225で第2始動口120への遊技球の入球が検出された場合には、主制御部10は、ステップS8へ進む。
【0083】
一方、ステップS7の判断結果が「NO」の場合、すなわち、第1始動口検出部221で第1始動口105への遊技球の入球が検出されず、かつ、第2始動口検出部225で第2始動口120への遊技球の入球が検出されない場合には、主制御部10は、ステップS4へ戻り、ステップS4以降の処理を繰り返す。
【0084】
ステップS8において、主制御部10は、客待ちデモ(又は電源投入時のデモ)が開始されてから計測していた時間をクリアした後、ステップS9へ進む。
ステップS9において、主制御部10は、未抽選入賞回数に1を加算する。なお、第1始動口検出部221又は第2始動口検出部225で複数の遊技球の入球が検出された場合、このステップS9では、主制御部10は、未抽選入賞回数に入球に相当する数を加算する。そして、主制御部10は、ステップS10へ進む。
【0085】
ステップS10において、主制御部10は、予め用意された乱数カウンタ(例えば、0〜255をカウント)から1つの大当たり判定用乱数を無作為に取得した後、ステップS11へ進む。
ステップS11において、主制御部10は、未抽選入賞回数から1を減算した後、ステップS12へ進む。
【0086】
ステップS12において、主制御部10は、例えば、予めデータ記憶部510に記憶されている大当り判定データテーブルを参照して、ステップS10の処理で取得した大当たり判定用乱数が、この大当り判定データテーブルに記憶されている大当たりの乱数値であるか否かを判断する。また、ステップS12では、主制御部10は、取得した大当たり判定用乱数がはずれの乱数の場合には、例えば、大当り判定データテーブルを参照して、さらに「リーチ有りのはずれ」又は「リーチ無しのはずれ」であるかについても判断する。ステップS12の判断結果が「YES」の場合、すなわち、ステップS10で取得した大当たり判定用乱数が予め定められた大当たり乱数である場合には、主制御部10は、ステップS13へ進む。
【0087】
ステップS13において、主制御部10は、例えば、大当たりの種別コード(通常当りか確率変動当りか等)、リーチ有り、図柄変動時間、等の「MODE]の情報を含む図柄変動コマンド(大当たりリーチコマンド)を送信部550にセットし、演出制御部203へ送信した後、ステップS14へ進む。
ステップS14において、主制御部10は、図柄変動時間が経過したか否かを判断する。ステップS14の判断結果が「NO」の場合、すなわち、図柄変動時間が経過していない場合には、主制御部10は、同判断を繰り返す。そして、図柄変動時間が経過すると、ステップS14の判断結果が「YES」となり、主制御部10は、ステップS15へ進む。
【0088】
ステップS15において、主制御部10は、図柄停止コマンドを演出制御部203へ送信した後、ステップS16へ進む。
ステップS16において、主制御部10は、大当たり開始コマンドを演出制御部203へ送信した後、ステップS17へ進む。
ステップS17において、主制御部10は、大当たり中の各ラウンドに対応するコマンド(大当たりコマンド)を演出制御部203に順次送信し、すべてのラウンドの大当たりコマンドの送信を終了した後、ステップS18へ進む。
ステップS18において、主制御部10は、大当たり終了コマンドを演出制御部203へ送信した後、ステップS22へ進む。
【0089】
一方、ステップS12の判断結果が「NO」の場合、すなわち、ステップS10の処理で取得した大当たり判定用乱数が予め定められた大当たり乱数でない場合には、主制御部10は、ステップS19へ進む。
ステップS19において、主制御部10は、「リーチ有りのはずれ」の場合には「リーチ有りのはずれ」に対応する図柄変動パターンコマンド(はずれリーチコマンド)を、「リーチ無しのはずれ」の場合には「リーチ無しのはずれ」に対応する図柄変動パターンコマンド(はずれコマンド)を演出制御部203へ送信した後、ステップS20へ進む。
【0090】
ステップS20において、主制御部10は、図柄変動時間が経過したか否かを判断する。ステップS20の判断結果が「NO」の場合、すなわち、図柄変動時間が経過していない場合には、主制御部10は、同判断を繰り返す。そして、図柄変動時間が経過すると、ステップS20の判断結果が「YES」となり、主制御部10は、ステップS21へ進む。
ステップS21において、主制御部10は、演出制御部203に図柄停止コマンドを演出制御部203へ送信した後、ステップS22へ進む。
【0091】
ステップS22において、主制御部10は、パチンコ遊技機1の電源がオフにされたか否かを判断する。ステップS22の判断結果が「NO」の場合、すなわち、パチンコ遊技機1の電源がオフにされていない場合には、主制御部10は、ステップS3へ戻り、ステップS3以降の処理を繰り返す。
【0092】
一方、ステップS22の判断結果が「YES」の場合、すなわち、パチンコ遊技機1の電源がオフにされた場合には、主制御部10は、ステップS23へ進む。
ステップS23において、主制御部10は、演出制御部203に終了処理コマンドを演出制御部203へ送信した後、本フローチャートによる処理を終了する。
【0093】
以下、図9に示す、ステップS6の客待ちデモコマンド、ステップS13およびS19の図柄変動パターンコマンド、ステップS15およびS21の図柄停止コマンド、ステップS16の大当り開始コマンド、ステップS17の大当りコマンド、ならびにステップS18の大当り終了コマンドの各制御コマンド送信処理の手順について説明する。
図10は、主制御部10による制御コマンド送信処理の手順の一例を示すフローチャートである。
【0094】
図9に示す、主制御部10のメイン処理において制御コマンドの送信タイミングになったら、ステップS51において、誤り検査値生成部510は、制御コマンド出力部500から出力された今回送信する制御コマンドと、前回送信された制御コマンド情報の誤り検査値とを用いて新たな誤り検査値を生成し、ステップS52へと進む。
【0095】
ステップS52において、誤り検査値生成部510は、生成した誤り検査値を保存し、ステップS53へと進む。本実施形態においては、誤り検査値生成部510は、前回送信した制御コマンド情報の誤り検査値と、今回送信した制御コマンド情報の誤り検査値との2つの誤り検査値を記憶しておけばよい。
【0096】
ステップS53において、付加部540は、誤り検査値生成部510に保存されている前回送信した制御コマンド情報の誤り検査値を受け取って、今回送信する制御コマンドに付加して制御コマンド情報を生成し、ステップS54へ進む。
ステップS54において、送信部550は、付加部540が生成した制御コマンド情報を受け取って演出制御部203に送信した後、本フローチャートによる処理を終了する。
【0097】
なお、本実施形態では、今回送信する制御コマンド情報の誤り検査値を生成するステップS51を行って、生成した誤り検査値を保存するステップS52を行った後に、制御コマンド情報を生成するステップS53を行って、制御コマンド情報を送信するステップS54を行っているが、これに限定されない。例えば、ステップS53とステップS54を行った後に、誤り検査値を生成保存するステップS51およびステップS52を行ってもよいし、ステップS53を行った後に誤り検査値を生成保存するステップS51およびステップS52を行ってもよい。この場合、誤り検査値生成部510は、少なくとも一つの誤り検査値を保存しておけばよく、誤り検査値を保存するステップS52において、既に保存されている誤り検査値に新しい誤り検査値を上書き保存するようにしてもよい。
【0098】
以下、演出制御部203が実行する制御処理について、図11〜図14に示すフローチャートを参照して説明する。
図11は、演出制御部203によるメイン処理の手順の一例を示すフローチャートである。
ステップS1000において、演出制御部203のCPU203aは、初期設定処理を行う。この処理において、CPU203aは、電源投入に応じて、演出制御部203のROM203bからメイン処理に関するプログラムコードを読み込む。これとともに、CPU203aは、演出制御部203のRAM203cに記憶されるフラグなどを初期化し、所定値に設定する処理を行う。この処理が終了した場合には、ステップS1100へ処理を移す。
【0099】
ステップS1100において、CPU203aは、演出用乱数更新処理を行う。この処理において、CPU203aは、RAM203cに記憶される演出用乱数値を更新する処理を行う。以降は、所定の割込処理が行われるまで、上記ステップS1100の処理を繰り返し行う。
【0100】
図12は、演出制御部203による割込処理の手順の一例を示すフローチャートである。CPU203aは、演出制御部203に設けられたクロックパルス発生回路(図示せず)から出力されるクロック信号に基づいて、所定の周期(例えば4ミリ秒)ごとに、演出制御部203のタイマ割込処理を実行する。
【0101】
ステップS1200において、演出制御部203は、CPU203aのレジスタに格納されている情報をスタック領域に退避させる。
ステップS1300において、演出制御部203は、演出制御部203で用いられる各種タイマカウンタの更新処理を行う。
【0102】
ステップS1400において、演出制御部203は、コマンド解析処理を行う。この処理において、演出制御部203は、受信データ用記憶領域に書き込まれた制御コマンドの種別を解析する処理を行う。なお、コマンド解析処理の詳細については後述する。
【0103】
ステップS1500において、演出制御部203は、演出ボタン検出部220の信号のチェックを行い、演出ボタン検出部220に関する演出入力制御処理を行う。
ステップS1600において、演出制御部203は、RAM203cの送信データ用記憶領域に書き込まれた制御コマンドや各種データを図柄表示部104やランプ制御部205へ送信するデータ送信処理を行う。
ステップS1700において、演出制御部203は、ステップS1200で退避した情報をCPU203aのレジスタに復帰させる。
【0104】
図13は、演出制御部203によるコマンド解析処理の手順の一例を示すフローチャートである。
ステップS1401において、演出制御部203は、受信部600の受信データ用記憶領域に制御コマンド情報が書き込まれているか否かを確認して、制御コマンド情報を受信したか否かを判断する。そして、演出制御部203は、受信データ用記憶領域に制御コマンド情報が書き込まれていない場合、本フローチャートによる処理を終了し、受信データ用記憶領域に制御コマンド情報が書き込まれている場合、ステップS1410へ進む。
【0105】
ステップS1410において、演出制御部203は、受信データ用記憶領域に書き込まれた制御コマンド情報から誤り検査値を取得し、前回受信した制御コマンド情報を用いて生成した誤り検査値と照合して、今回および前回受信した制御コマンドの正当性を認証する認証処理を行う。この認証処理の詳細については図14を用いて後に詳述する。認証処理が終了したらステップS1420へ進む。
【0106】
ステップS1420において、演出制御部203は、受信データ用記憶領域に書き込まれている制御コマンドが、客待ちデモコマンド(図9のステップS6参照)である場合、ステップS1421へ進み、客待ちデモコマンドでない場合、ステップS1430へ進む。
ステップS1421において、演出制御部203は、客待ちデモ用の演出パターンを決定するデモ演出処理を行う。具体的には、客待ちデモ用の演出パターンを決定し、決定したデモ演出パターンに基づく演出処理コマンドをRAM203cの送信データ用記憶領域に書き込んで送信データとし、図柄表示部140やランプ制御部205へ送信させる。
【0107】
ステップS1430において、演出制御部203は、受信データ用記憶領域に書き込まれている制御コマンドが、大当たり用又ははずれ用の図柄変動パターンコマンド(図9のステップS13又はステップS19参照)である場合、ステップS1431へ進み、図柄変動パターンコマンドでない場合、ステップS1440へ進む。
ステップS1431において、演出制御部203は、大当たり用又ははずれ用のそれぞれについて用意された各種変動演出パターンの中から、1つ変動演出パターンを決定する図柄変動演出処理を行う。具体的には、演出制御部203は、図11のステップS1100において更新されている演出用乱数値から1つの乱数値を取得し、取得した演出用乱数値とROM203bに予め保持する変動演出パターン決定テーブルとに基づいて、1つの変動演出パターンを決定する。そして、演出制御部203は、決定した変動演出パターンに基づく演出処理コマンドを送信データ用記憶領域に書き込んで送信データとし、図柄表示部140やランプ制御部205へ送信させる。
【0108】
ステップS1440において、演出制御部203は、受信データ用記憶領域に書き込まれている制御コマンドが、図柄停止コマンド(図9のステップS15又はステップS21参照)である場合、ステップS1441へ進み、図柄停止コマンドでない場合、ステップS1450へ進む。
ステップS1441において、演出制御部203は、変動態様を示す演出図柄を停止表示させるための図柄停止演出処理を行う。具体的には、演出制御部203は、図柄停止コマンドに基づく演出処理コマンドを送信データ用記憶領域に書き込んで送信データとし、図柄表示部140やランプ制御部205へ送信させる。
【0109】
ステップS1450において、演出制御部203は、受信データ用記憶領域に書き込まれている制御コマンドが、大当たり開始コマンド(図9のステップS16参照)である場合、ステップS1451へ進み、大当たり開始コマンドでない場合、ステップS1460へ進む。
ステップS1451おいて、演出制御部203は、大当たり開始演出パターンを決定する大当たり開始演出処理を行う。具体的には、演出制御部203は、大当たり開始コマンドに基づいて大当たり開始演出パターンを決定し、決定した大当たり開始演出パターンに基づく演出処理コマンドを送信データ用記憶領域に書き込んで送信データとし、図柄表示部140やランプ制御部205へ送信させる。
【0110】
ステップS1460において、演出制御部203は、受信データ用記憶領域に書き込まれている制御コマンドが、大当たりコマンド(図9のステップS17参照)である場合、ステップS1461へ進み、大当たりコマンドでない場合、ステップS1470へ進む。
ステップS1461おいて、演出制御部203は、ラウンド別の大当たりコマンドに対応する大当たり演出処理を行う。具体的には、演出制御部203は、各大当たりラウンドのそれぞれに対応した大当たりコマンドに基づく演出処理コマンドを送信データ用記憶領域に書き込んで送信データとし、図柄表示部140やランプ制御部205へ送信させる。
【0111】
ステップS1470において、演出制御部203は、受信データ用記憶領域に書き込まれている制御コマンドが、大当たり終了コマンド(図9のステップS18参照)である場合、ステップS1471へ進み、大当たり終了コマンドでない場合、本フローチャートによる処理を終了する。
ステップS1471において、演出制御部203は、大当たり終了演出パターンを決定する大当たり終了演出処理を行う。具体的には、演出制御部203は、大当たり終了コマンドに基づいて大当たり終了演出パターンを決定し、決定した大当たり終了演出パターンに基づく演出処理コマンドを送信データ用記憶領域に書き込んで送信データとし、図柄表示部140やランプ制御部205へ送信させる。
【0112】
以下、図13に示す、ステップS1410の演出制御部203による認証処理について、図14に示すフローチャートを参照して説明する。図14は、演出制御部203による認証処理の手順の一例を示すフローチャートである。
【0113】
図13に示す、演出制御部203のコマンド解析処理において認証処理の処理タイミングになったら、ステップS1411において、演出制御部203の受信部600は、今回受信した制御コマンド情報から誤り検査値を取得する。また、受信部600は、今回受信した制御コマンド情報を誤り検査値生成部610へ、取得した誤り検査値を誤り検査部640へと出力し、ステップS1412へと進む。
【0114】
ステップS1412において、演出制御部203の誤り検査値生成部610は、受信部600から今回受信した制御コマンド情報を取得して、この取得した制御コマンド情報を用いて誤り検査値を生成し、生成した誤り検査値を保存してステップS1413へ進む。
【0115】
ステップS1413において、演出制御部203の誤り検査部640は、ステップS1411で取得した誤り検査値と、誤り検査値生成部610が前回受信した制御コマンド情報を用いて生成した誤り検査値を照合し、誤り検査を行う。同一の場合は、誤り検査部640は、今回および前回受信した制御コマンドの正当性を認証し(ステップS1414の結果がYES)、本フローチャートによる処理を終了する。非同一の場合は、誤り検査部640は、制御コマンドに正当性がなく、誤りがあると判断し(ステップS1414の結果がNO)、ステップS1415へと進み、誤り検出の報知を行い、本フローチャートによる処理を終了する。
【0116】
ステップS1415において、演出制御部203は、不正行為や通信エラーが発生したおそれがあると判断して、その旨を報知する為に報知信号を出力する。演出制御部203は、生成した報知信号を、例えば、図柄表示部104やランプ制御部205、あるいはパチンコ遊技機1を管理するセンター制御装置などへ送信する。図柄表示部104やランプ制御部205等は、受信した報知信号に基づいて、パチンコ遊技機1で不正行為や通信エラーが発生したおそれがある旨を報知する演出を実行する。この演出は、例えば、図柄表示部104に通常出現しないキャラクターを出現させたり、通常出現するキャラクターを通常とは異なる方法で出現させるなどである。また、図柄表示部104の輝度を変えたり、色を変えたり、ランプ制御部205に対して所定のランプを表示制御するようにしてもよい。いずれにせよ、遊技店の従業員が当該パチンコ遊技機1の前を通過した際に、その状態に気付くようにしてあればよい。また、この演出は、顧客がその状態に気付かないような演出でもよく、また、顧客が容易に気付く演出であってもよい。顧客が容易に気付く演出にすれば、不正行為を効率的に抑止することができる。
【0117】
また、報知信号に「大当たり中」や「確率変動中」などのパチンコ遊技機1の遊技状態に関する情報を含めてもよい。これらの遊技状態に関する情報に基づいて、パチンコ遊技機1を管理するセンター制御装置などによって不正行為が行われているか否かの判断を行ってもよい。例えば、大当たり中や確率変動中は入賞が集中していても正常である場合がある。よって、大当たり中や確率変動中は、その他の状態とは異なる条件で不正行為のおそれがあるか否かについて判断するのがよい。また、遊技状態に関する情報は、報知信号に含めずに別信号として出力するようにしてもよい。この場合、従業員は、報知信号と遊技状態に関する情報の両方に基づいて、不正行為のおそれがあるか否かについて判断する。
【0118】
なお、主制御部10と賞球制御部204との間で認証処理を行う場合も、主制御部10と演出制御部203との間の認証処理とほぼ同様の手順で行われるため説明を省略する。
【0119】
以上のように、本実施形態では、主制御部10は、制御コマンド情報の誤り検査値を生成し保存している。そして主制御部10は、今回送信する制御コマンドに前回送信した制御コマンド情報の誤り検査値を付加して制御コマンド情報として演出制御部203に送信する。一方、演出制御部203は、受信した制御コマンド情報の誤り検査値を生成し保存している。そして演出制御部203は、今回受信した制御コマンド情報に含まれる誤り検査値と、前回受信した制御コマンド情報の誤り検査値とを照合して誤り検査を行う。
すなわち、本発明に係る遊技機は、過去に送信した制御コマンド情報の誤り検査値を今回送信する制御コマンドに付加して、主制御部10から演出制御部203に送信している。
【0120】
通常チェックサム等の誤り検査値は生成元の制御コマンドに付加されて通信エラーチェックに利用される。これに対して、本実施形態の遊技機1は、上述のように、前回送信した制御コマンドを含む制御コマンド情報の誤り検査値を、今回送信する制御コマンドに付加する。このような従来にない新規かつ簡易な手法を用いることにより、不正者が制御コマンドと誤り検査値を不正に取得しても制御コマンドと誤り検査値の関係を容易に知ることができないようにすることができる。したがって、本実施形態によれば、不正者による不正行為を防止することができ、セキュリティ強度を向上させることができる。
【0121】
また、主制御部10が前回送信した制御コマンド情報の誤り検査値を、今回送信する制御コマンドに付加して送信し、演出制御部203が認証処理を行うことにより、今回受信した制御コマンドの正当性を認証するとともに、前回受信した制御コマンド、すなわち、今回付加された誤り検査値の生成元となった制御コマンド情報に含まれる制御コマンドの正当性をも認証することができる。すなわち、制御コマンドの連続性を認証することができる。
【0122】
また、本実施形態では、前回送信した制御コマンドとそれに付加された誤り検査値を用いて、今回送信する制御コマンドに付加する誤り検査値を生成している。これにより、今回送信する誤り検査値が、それまでに送信された制御コマンド情報を含む、すなわち、それまでに付加された誤り検査値の情報をも含むことになる。したがって、今回送信する誤り検査値が、既に送信された制御コマンドの送信履歴の情報を含むことになるので、不正者が一部の制御コマンド情報を取得したとしても誤り検査値を解析することができないようにすることができ、セキュリティ強度を向上することができる。また、誤り検査値が制御コマンドの送信履歴の情報を含むことになるので、制御コマンドの連続性を検証することができる。
【0123】
また、上述のように、本実施形態では、前回送信した制御コマンドとそれに付加された誤り検査値を用いて今回送信する制御コマンドに付加する誤り検査値を生成しており、今回送信する誤り検査値が過去に送信した制御コマンド情報の履歴を含んでいる。これにより、今回送信する誤り検査値は、生成元となる前回送信した制御コマンド情報に含まれる制御コマンドの種類によって一義的に決まらない値となる。例えば、大当たりコマンドのように同一の種類の制御コマンドが連続して発生するような場合であっても、制御コマンド情報を用いて誤り検査値を生成するので、連続して送信される大当たりコマンドのそれぞれに異なる誤り検査値が付加されることとなる。したがって、不正者が連続して制御コマンド情報を不正に取得したとしても、制御コマンドと誤り検査値との関係の解析を困難とすることができ、セキュリティ強度を向上することができる。
【0124】
また、本実施形態では、最初に送信される制御コマンドには初期値を付加して制御コマンド情報を生成しているので、今回送信する制御コマンドに付加される誤り検査値に、初期値を含む過去に送信した制御コマンド情報に関する情報が含まれている。この初期値として遊技機1に固有の値である固有情報を用いることにより、誤り検査値を遊技機1に特有の値とすることができる。これにより、初期値の値を知らない不正者が一部の制御コマンド情報を取得したとしても誤り検査値の解析を不可能とすることができ、セキュリティ強度をより一層向上することができる。
【0125】
また、本実施形態では、各制御コマンドに誤り検査値を付加して主制御部10から演出制御部203に送信し、演出制御部203が各制御コマンド情報毎に認証処理を行うので、常時不正を検査することができる。
【0126】
また、本実施形態の遊技機1は、通常は通信エラーチェックに用いる誤り検査値を不正を検出するための検査値として利用している。このように通信エラーチェックに従来から用いている誤り検査値を用いることで、誤り検査値を行うための検査値を別に生成するための手段を設けることなく、簡単な構成で不正者による不正を防止することができ、セキュリティ強度を向上させることができる。すなわち、遊技機の主制御基板のリソースが限られているという状況下において、セキュリティ強度を向上させつつ、主制御基板の処理負荷の増大を抑制することができる。
【0127】
[主制御部のハードウェア構成]
ここで、本実施形態は、簡易な構成で実現できるため、ハードウェアでもソフトウェアでも容易に実現可能である。以下、ハードウェアで実現する場合の主制御部の認証に関する構成の一例について説明する。図15は、主制御部10の認証に関する構成である誤り検査値生成・送信部(生成送信回路10g)を示す構成図である。
【0128】
誤り検査値生成・送信部700は、CPU10aの指示に基づいて、制御コマンド情報を生成して演出制御部203に送信するための具体的な手段であり、制御回路710と、誤り検査値生成回路720と、誤り検査値入出力部730と、データ送信バッファ740と、データ送信回路750とを備える。
【0129】
制御回路710は、CPU10aと制御線で接続されており、誤り検査値生成・送信部700を構成する各部の動作を制御する。誤り検査値生成回路720は、制御回路710の生成回路制御指示に基づいて、CPU10aから出力された制御コマンドと誤り検査値入出力部730から出力された前回送信した制御コマンド情報から生成された誤り検査値とを用いて誤り検査値を生成し、生成した誤り検査値を誤り検査値入出力部730に出力する。誤り検査値入出力部730は、シフトレジスタ等によって構成され、制御回路710のデータ入出力指示に基づいて既に保存されている前回送信した制御コマンド情報の誤り検査値を誤り検査値生成回路720およびデータ送信バッファ740に出力する。また、誤り検査値入出力部730は、誤り検査値生成回路720から出力された今回送信する制御コマンド情報の誤り検査値を保存する。ここで、誤り検査値生成回路720は、図3に示す誤り検査値生成部510に対応している。また、誤り検査値入出力部730は、誤り検査値記憶部530に対応している。また、誤り検査値生成回路720と誤り検査値入出力部730は誤り検査値生成部760を構成し、これは誤り検査値生成部510に対応している。
【0130】
データ送信バッファ740は、CPU10aから出力された今回送信する制御コマンドと、誤り検査値入出力部730から出力された誤り検査値を併せて送信するために、これらを一時的に保存する記憶領域である。データ送信バッファ740は、制御回路710の送信制御指示に基づいて一時的に保存した制御コマンドと誤り検査値とを併せてデータ送信回路750に出力する。データ送信回路750は、データ送信バッファ740から出力された制御コマンドと誤り検査値とを用いて制御コマンド情報を生成し、演出制御部203に送信する。ここで、データ送信バッファ740とデータ送信回路750は、図2に示す付加部540と送信部550に対応している。
【0131】
なお、上述のハードウェア構成は一例であり、本実施形態の遊技機1の機能を実現するハードウェア構成であればよい。また、上述のハードウェア構成では、特に言及しなかったが、誤り検査値生成・送信部700をCPU10aと、ROM10bと、RAM10cと一体のワンチップマイコンとして構成してもよい。また、ワンチップマイコンとして構成する場合、制御回路710とデータ送信バッファ740と、データ送信回路750から構成される送信部と、誤り検査値生成部760とを別に設けてもよい。これにより、既存のワンチップマイコンの送信部を転用するとともに誤り検査値生成部760を追加することで、既存のワンチップマイコンを利用して容易に形成することができる。
【0132】
[第2の実施形態]
以下、本発明の遊技機の一実施形態に係る第2の実施形態について説明する。第1の実施形態の遊技機1は、前回送信した制御コマンド情報の誤り検査値を今回送信する制御コマンドに付加して制御コマンド情報を生成するために、生成した誤り検査値を保存しておき、保存しておいた前回送信した制御コマンド情報の誤り検査値を取得して制御コマンド情報を生成していた。これに対して、本実施形態の遊技機は、制御コマンド情報を保存しておき、既に保存してある前回送信した制御コマンド情報を取得してその誤り検査値を生成し、この誤り検査値を今回送信する制御コマンドに付加して制御コマンド情報を生成する。本実施形態の遊技機は、それ以外の点では基本的に第1の実施形態の遊技機1と同様なので、以下、同一の部材については同一の符号を付すとともにその説明は省略し、異なる点について重点的に説明する。
【0133】
[遊技機の認証に関する構成]
図16は、本実施形態に係るパチンコ遊技機を構成する主制御部10の認証処理に関する構成を示す機能ブロック図である。主制御部10は、制御コマンド出力部500と、誤り検査値生成部810と、付加部540と、送信部550とを備えている。さらに、誤り検査値生成部810は、制御コマンド情報記憶部820と、誤り検査値演算部830とから構成される。主制御部10を構成する各機能ブロックは、図2に示す、CPU10a、ROM10b、RAM10cおよび生成送信回路10gの各手段を適宜組み合わせて構成される。
【0134】
制御コマンド出力部500は、演出制御部203に今回送信する制御コマンドを生成し、誤り検査値生成部810および付加部540に出力する。付加部540は、制御コマンド出力部500から出力された今回送信する制御コマンドに、誤り検査値生成部810から送られた前回送信した制御コマンド情報を用いて生成された誤り検査値を付加して、演出制御部203へと送信する制御コマンド情報を生成する。送信部550は、制御コマンド情報を演出制御部203へと送信する。
【0135】
制御コマンド情報記憶部820は、制御コマンド出力部500から出力された制御コマンドと誤り検査値演算部830から出力された前回送信した制御コマンド情報の誤り検査値とを合わせて制御コマンド情報として記憶する。また、制御コマンド情報記憶部820は、前回送信した制御コマンド情報を誤り検査値演算部830に出力する。本実施形態では、制御コマンド情報記憶部820は、少なくとも1つの制御コマンド情報を記憶しておけばよい。制御コマンド情報記憶部820は、制御コマンド出力部500から今回送信する制御コマンドを受信すると、前回送信した制御コマンド情報を誤り検査値演算部830に出力するとともに、今回送信する制御コマンドを上書き保存する。なお、制御コマンド情報記憶部820は、今回送信する制御コマンド情報と前回送信した制御コマンド情報との少なくとも2つを記憶していてもよい。制御コマンド情報記憶部820の機能を実現する具体的な手段は、図2に示す生成送信回路10gから構成することができる。
【0136】
誤り検査値演算部830は、制御コマンド情報記憶部820から出力された前回送信した制御コマンド情報を用いて誤り検査値を生成する。さらに、誤り検査値演算部830は、前回送信した制御コマンド情報を用いて生成された誤り検査値を制御コマンド情報記憶部820および付加部540に送る。検査値演算部830の機能を実現する具体的な手段は、図2に示す生成送信回路10gから構成することができる。
【0137】
次に、認証処理時における主制御部10の各構成部の処理について説明する。図17は、主制御部の認証に関する処理を示すシーケンス図である。
パチンコ遊技機1の電源が投入され、主制御部10のCPU10aが初期設定処理を行った後、主制御部10を構成する制御コマンド出力部500は、制御コマンドの出力を開始する。
【0138】
ステップS61において、制御コマンド出力部500は、演出制御部203に今回送信する制御コマンドを生成し、誤り検査値生成部810および付加部540に出力する。
制御コマンド出力部500から出力された制御コマンドを受信した誤り検査値生成部810は、ステップS62において、制御コマンド情報記憶部820に既に保存されている前回送信した制御コマンド情報を用いて、誤り検査値演算部830によって誤り検査値を生成する。ステップS63において、ステップS62で生成した前回送信した制御コマンドの誤り検査値を付加部540に出力するとともに、制御コマンド情報記憶部820にも出力する。続いて、ステップS64において、誤り検査値生成部810は、制御コマンド出力部500から出力された制御コマンドと誤り検査値演算部830から出力された誤り検査値とを今回送信する制御コマンド情報として制御コマンド情報記憶部820に保存する。
【0139】
次に、ステップS65において、付加部540は、ステップS61で制御コマンド出力部500から出力された今回送信する制御コマンドに、ステップS64で誤り検査値生成部810から出力された前回送信した制御コマンド情報を用いて生成された誤り検査値を付加して制御コマンド情報を生成し、送信部550に送る。続いて、ステップS66において、送信部550は、今回送信する制御コマンド情報を演出制御部203へと送信する。なお、上述のように最初に送信される制御コマンドには誤り検査値に替えて所定の初期値が付加される。
【0140】
なお、本実施形態では、誤り検査値生成部810が、前回送信した制御コマンド情報の誤り検査値を付加部540に出力(ステップS63)した後に、今回送信する制御コマンド情報を保存(ステップS64)するとしたが、これに限定されない。例えば、誤り検査値生成部810が、前回送信した制御コマンド情報の誤り検査値を生成(ステップS62)し、今回送信する制御コマンド情報を保存(ステップS64)した後に、前回送信した制御コマンドの誤り検査値を付加部540に出力(ステップS63)するようにしてもよい。
また、誤り検査値生成部810は、制御コマンド出力部500から制御コマンドを受信したら、受信した制御コマンドを保存し、続いて、前回送信した制御コマンド情報の誤り検査値を生成(ステップS62)し、前回送信した制御コマンドの誤り検査値を付加部540に出力(ステップS63)し、今回送信する制御コマンド情報を保存(ステップS64)するようにしてもよい。この場合、誤り検査値生成部810は、2つの制御コマンド情報を保存可能に構成すればよく、制御コマンドを保存するステップにおいて、既に保存されている前々回に送信した制御コマンド情報に新しい制御コマンドを上書き保存すればよい。
【0141】
図18は、本発明の第2の実施形態に係るパチンコ遊技機を構成する演出制御部203の認証処理に関する構成を示す機能ブロック図である。演出制御部203は、受信部600と、誤り検査値生成部910と、誤り検査部640とを備えている。さらに、誤り検査値生成部910は、制御コマンド情報記憶部920と、誤り検査値演算部930とから構成される。演出制御部203を構成する各機能ブロックは、図2に示す、CPU203a、ROM203b、およびRAM203c等の各手段を適宜組み合わせて構成される。
【0142】
受信部600は、受信データ用記憶領域を有し、主制御部10から受信した制御コマンド情報を受信データ用記憶領域に書き込む。また、受信部600は、今回受信した制御コマンド情報を誤り検査値生成部910へ、今回受信した制御コマンドに付加された誤り検査値を誤り検査部640へと送信する。誤り検査部640は、受信部600から送られた誤り検査値と、誤り検査値生成部910から送られた前回受信した制御コマンド情報を用いて生成された誤り検査値とを用いて誤り検査を行う。
【0143】
誤り検査値生成部910は、受信部600から送られた今回受信した制御コマンド情報を保存する。さらに、誤り検査値生成部910は、受信部600から前回送られた制御コマンド、すなわち、演出制御部203が前回受信した制御コマンドを用いて生成された誤り検査値を誤り検査部640に送る。
【0144】
具体的には、誤り検査値生成部910を構成する制御コマンド情報記憶部920は、受信部600から出力された制御コマンド情報を記憶する。また、制御コマンド情報記憶部920は、前回受信した制御コマンド情報を誤り検査値演算部930に出力する。本実施形態では制御コマンド情報記憶部920は、今回受信した制御コマンド情報と前回受信した制御コマンド情報との少なくとも2つを記憶すればよい。なお、制御コマンド情報記憶部920は、少なくとも1つの制御コマンド情報を保存可能に構成してもよい。この場合、制御コマンド情報記憶部920は、受信部600から今回受信した制御コマンド情報を受信すると、前回受信した制御コマンド情報を誤り検査値演算部930に出力するとともに、今回受信した制御コマンドを上書き保存する。制御コマンド情報記憶部920の機能を実現する具体的な手段は、図2に示すCPU203aの一部、ROM203bの一部、およびRAM203cの一部等から構成することができる。
【0145】
誤り検査値演算部930は、制御コマンド情報記憶部920から出力された前回受信した制御コマンド情報を用いて誤り検査値を生成する。さらに、誤り検査値演算部930は、前回受信した制御コマンド情報を用いて生成した誤り検査値を誤り検査部640に送る。誤り検査値演算部930の機能を実現する具体的な手段は、図2に示すCPU203aの一部、ROM203bの一部、およびRAM203cの一部等から構成することができる。
【0146】
次に、認証処理時における演出制御部203の各構成部の処理について説明する。図19は、演出制御部203の認証に関する処理を示すシーケンス図である。
パチンコ遊技機1の電源が投入され、主制御部10のCPU10aが初期設定処理を行った後、主制御部10を構成する制御コマンド出力部500は、制御コマンドの出力を開始し、演出制御部203に誤り検査値付き制御コマンドである制御コマンド情報を送信する。なお、上述のように最初に送信される制御コマンドには誤り検査値に替えて所定の初期値が付加される。
【0147】
ステップS71において、受信部600は、誤り検査値付き制御コマンドである制御コマンド情報を受信して、受信データ用記憶領域に書き込む。続いて、ステップS72において、受信部600は、受信した制御コマンド情報を誤り検査値生成部910に、受信した制御コマンド情報に含まれる誤り検査値を誤り検査部640に出力する。
【0148】
受信部600から今回受信した制御コマンド情報を受信した誤り検査値生成部910は、ステップS73において、今回受信した制御コマンド情報を保存する。続いて、ステップS74において、誤り検査値生成部910は、既に保存されている前回受信した制御コマンド情報を取得して、この前回受信した制御コマンド情報を用いて誤り検査値を生成する。続いて、ステップS75において、生成した前回受信した制御コマンド情報の誤り検査値を誤り検査部640に出力する。
【0149】
次に、ステップS76において、誤り検査部640は、ステップS42で受信部600から出力された今回受信した制御コマンドに付加された誤り検査値と、ステップS75で誤り検査値生成部910から送られた前回受信した制御コマンド情報を用いて生成された誤り検査値とを用いて誤り検査を行う。具体的には、誤り検査部640は、上記2つの誤り検査値を照合し、同一の値であるかを検証する。同一の場合は、誤り検査部640は、今回および前回受信した制御コマンドの正当性を認証する。非同一の場合は、誤り検査部640は、制御コマンドに正当性がなく、誤りがあると判断する。なお、最初に受信した制御コマンドには誤り検査値に替えて所定の初期値が付加されるので、誤り検査部640は、同様に所定の初期値を用いて誤り検査を行う。
【0150】
なお、本実施形態では、誤り検査値生成部910が、今回受信した制御コマンド情報を保存(ステップS73)した後に、前回受信した制御コマンド情報の誤り検査値を生成(ステップS74)し、生成した誤り検査値を誤り検査部640に出力(ステップS75)するとしたが、これに限定されない。例えば、誤り検査値生成部910が、前回受信した制御コマンド情報の誤り検査値を生成(ステップS74)し、生成した誤り検査値を誤り検査部640に出力(ステップS75)した後に、今回受信した制御コマンド情報を保存(ステップS73)するようにしてもよい。
【0151】
[遊技機の動作処理]
次に、上記構成のパチンコ遊技機の動作処理について、図面を参照して説明する。
本実施形態において主制御部10による処理は、第1の実施形態と制御コマンド送信処理のみが異なる。よって、以下、主制御部10による演出制御部203への制御コマンドの送信する際の制御コマンド送信処理について説明する。図20は、主制御部10による制御コマンド送信処理の手順の一例を示すフローチャートである。
【0152】
図9に示す、主制御部10のメイン処理において制御コマンドの送信タイミングになったら、ステップS81において、誤り検査値生成部810は、制御コマンド出力部500から出力された今回送信する制御コマンドを保存し、ステップS82へと進む。
ステップS82において、誤り検査値生成部810は、既に保存されている前回送信した制御コマンド情報を取得して、この前回送信した制御コマンド情報を用いて誤り検査値を生成し、ステップS83へ進む。
【0153】
ステップS83において、付加部540は、前回送信した制御コマンド情報の誤り検査値を誤り検査値生成部810から受け取って、この誤り検査値を制御コマンド出力部500から出力された今回送信する制御コマンドに付加して今回送信する制御コマンド情報を生成する。また、誤り検査値生成部810は、ステップ83で生成した誤り検査値を、今回送信する制御コマンドとあわせて今回送信する制御コマンド情報として保存し、ステップS84へ進む。
ステップS84において、送信部550は、誤り検査値付き制御コマンドである制御コマンド情報を付加部540から受け取って、演出制御部203に送信し、本フローチャートによる処理を終了する。
【0154】
以下、演出制御部203の処理について説明する。本実施形態において演出制御部203による処理は、第1の実施形態と認証処理のみが異なる。よって、以下、演出制御部203による認証処理について説明する。図21は、演出制御部203による認証処理の手順の一例を示すフローチャートである。
【0155】
以下、図13に示す、ステップS1410の演出制御部203による認証処理について、図21に示すフローチャートを参照して説明する。図21は、演出制御部203による認証処理の手順の一例を示すフローチャートである。
【0156】
図13に示す、演出制御部203のコマンド解析処理において認証処理の処理タイミングになったら、ステップS91において、演出制御部203の受信部600は、今回受信した制御コマンド情報から誤り検査値を取得する。また、受信部600は、今回受信した制御コマンド情報を誤り検査値生成部910へ、取得した誤り検査値を誤り検査部640へと出力し、ステップS92へと進む。
【0157】
ステップS92において、誤り検査値生成部910は、受信部600から今回受信した制御コマンド情報を保存してステップS93へ進む。
ステップS93において、誤り検査値生成部910は、制御コマンド情報記憶部920に既に保存されている前回受信した制御コマンド情報を取得して、この前回受信した制御コマンド情報を用いて誤り検査値を生成し、生成した誤り検査値を誤り検査部640へ出力し、ステップS94へと進む。
【0158】
ステップS94において、誤り検査部640は、ステップS91で取得した誤り検査値と、誤り検査値生成部910が前回受信した制御コマンドを用いて生成した誤り検査値を照合し、誤り検査を行う。同一の場合は、誤り検査部640は、今回および前回受信した制御コマンドの正当性を認証し(ステップS95の結果がYES)、本フローチャートによる処理を終了する。非同一の場合は、誤り検査部640は、制御コマンドに正当性がなく、誤りがあると判断し(ステップS95の結果がNO)、ステップS96へと進み、誤り検出の報知を行い本フローチャートによる処理を終了する。誤り検出の報知方法は、第1の実施形態と同様である。
【0159】
なお、本実施形態においても、第1の実施形態同様に、主制御部10と賞球制御部204との間で認証処理を行う場合も、主制御部10と演出制御部203との間の認証処理とほぼ同様の手順で行われるため説明を省略する。
【0160】
以上のように、本実施形態では、主制御部10は、制御コマンド情報を保存している。そして主制御部10は、既に保存している前回送信した制御コマンド情報の誤り検査値を生成し、今回送信する制御コマンドに付加して制御コマンド情報として演出制御部203に送信する。一方、演出制御部203は、制御コマンド情報を保存している。そして演出制御部203は、今回受信した制御コマンド情報に含まれる誤り検査値と、既に保存している前回受信した制御コマンド情報から生成した誤り検査値とを照合して誤り検査を行う。すなわち、本実施形態に係る遊技機も第1の実施形態同様に、過去に送信した制御コマンド情報の誤り検査値を今回送信する制御コマンドに付加して、主制御部10から演出制御部203に送信している。上述のように構成される本実施形態の遊技機も第1の実施形態の遊技機1と同様の効果を得ることができる。
【0161】
[主制御部のハードウェア構成]
ここで、本実施形態の遊技機も、第1の実施形態の遊技機1と同様に、簡易な構成で実現できるため、ハードウェアでもソフトウェアでも容易に実現可能である。以下、ハードウェアで実現する場合の主制御部の認証に関する構成の一例について説明する。図22は、主制御部10の認証に関する構成である誤り検査値生成・送信部(生成送信回路10g)を示す構成図である。
【0162】
誤り検査値生成・送信部1000は、CPU10aの指示に基づいて、制御コマンド情報を生成して演出制御部203に送信するための具体的な手段であり、制御回路1010、制御コマンド情報入出力部1020、誤り検査値生成回路1030、データ送信バッファ1040、およびデータ送信回路1050を備える。
【0163】
制御回路1010は、CPUと制御線で接続されており、誤り検査値生成・送信部1000を構成する各部の動作を制御する。制御コマンド情報入出力部1020は、シフトレジスタ等によって構成され、制御回路1010のデータ入出力指示に基づいて既に保存されている前回送信した制御コマンド情報を誤り検査値生成回路1030に出力する。また、制御コマンド情報入出力部1020は、CPU10aから出力された今回送信する制御コマンドと、誤り検査値生成回路1030から出力された前回送信した制御コマンド情報の誤り検査値とを合わせて、今回送信する制御コマンド情報として保存する。誤り検査値生成回路1030は、制御回路1010の生成回路制御指示に基づいて、制御コマンド情報入出力部1020から出力された前回送信した制御コマンド情報を用いて誤り検査値を生成する。誤り検査値生成回路1030は、生成した誤り検査値をデータ送信バッファ1040に出力する。ここで、制御コマンド情報入出力部1020は、図16に示す、制御コマンド情報記憶部820に対応している。また、誤り検査値生成回路1030は、図16に示す誤り検査値演算部830に対応している。また、制御コマンド情報入出力部1020と誤り検査値生成回路1030は誤り検査値生成部1060を構成し、これは図16に示す誤り検査値生成部810に対応している。
【0164】
データ送信バッファ1040は、CPU10aから出力された今回送信する制御コマンドと、誤り検査生成回路1030から出力された誤り検査値を併せて送信するために、これらを一時的に保存する記憶領域である。データ送信バッファ1040は、制御回路1010の送信制御指示に基づいて一時的に保存した制御コマンドと誤り検査値とを併せてデータ送信回路1050に出力する。データ送信回路750は、データ送信バッファ1040から出力された制御コマンドと誤り検査値とを用いて制御コマンド情報を生成し、演出制御部203に送信する。ここで、データ送信バッファ1040とデータ送信回路1050は、図16に示す付加部540と送信部550に対応している。
【0165】
なお、上述のハードウェア構成は一例であり、本実施形態の遊技機の機能を実現するハードウェア構成であればよい。また、上述のハードウェア構成では、特に言及しなかったが、誤り検査値生成・送信部1000をCPU10aとROM10bとRAM10cと一体のワンチップマイコンとして構成してもよい。また、ワンチップマイコンとして構成する場合、制御回路1010とデータ送信バッファ1040と、データ送信回路1050から構成される送信部と、誤り検査値生成部1060とを別に設けてもよい。このように、既存のワンチップマイコンの送信部を転用するとともに誤り検査値生成部1060を追加することで、既存のワンチップマイコンを利用して容易に形成することができる。
【0166】
以上、本発明の遊技機の一例である各実施形態について詳細に説明したが、本発明の遊技機は上記実施形態に限定されず、各種の変更を行ってもよい。例えば、上記実施形態では、図4に示すように、今回送信する制御コマンドに、前回送信した制御コマンド情報、すなわち1個前に送信した制御コマンド情報の誤り検査値を付加して制御コマンド情報とした。しかしながら、本発明はこれに限定されず、今回送信する制御コマンドにn(nは2以上の整数)個前に送信した制御コマンド情報の誤り検査値を付加して制御コマンド情報を生成するようにしてもよい。この場合、1〜n個目に送信する制御コマンドは誤り検査値のダミーデータや遊技機固有のID等を初期値として付加して制御コマンド情報とすればよい。また、第1の実施形態の遊技機の場合、少なくともn個の誤り検査値を保存可能に構成すればよい。また、第2の実施形態の遊技機の場合、少なくともn個の制御コマンド情報を保存可能に構成すればよい。
【0167】
具体的に、n=2の場合、すなわち、今回送信する制御コマンドに、2個前に送信した制御コマンド情報の誤り検査値を付加する場合の制御コマンド情報の構成について、図23を用いて説明する。図23に示すように、制御コマンド情報は、基本的に、制御コマンドにその2つ前に送信された制御コマンド情報の誤り検査値を付加した形式になっている。ただし、最初に送信される制御コマンド1には所定の初期値1が付加されている。また、2つ目に送信される制御コマンド2には初期値2が付加されている。そして、3番目に送信される制御コマンド3には、最初に送信された制御コマンド1と初期値1からなる制御コマンド情報の誤り検査値1が付加され、制御コマンド情報が生成される。同様に、4番目に送信される制御コマンド4には、2番目に送信される制御コマンド2と初期値2からなる制御コマンド情報の誤り検査値2が付加され、制御コマンド情報が生成される。以下、同様にして制御コマンド情報が生成される。
【0168】
このように、n個前に送信した制御コマンド情報の誤り検査値を、今回送信する制御コマンドに付加することにより、制御コマンドとそれに付加された誤り検査値との関係をより解析困難とすることができる。これにより、不正者が制御コマンド情報を取得したとしても、不正を行うことをより困難とすることができる。
【0169】
また、上記実施形態では、誤り検査値を生成する際に、制御コマンドのMODEとDATAの両方のデータを用いるとしたが、本発明の遊技機は、これに限定されない。例えば、本発明の遊技機は、制御コマンドのMODEの情報、すなわち制御コマンドの分類を識別するための1バイトのデータのみを用いて誤り検査値を生成するようにしてもよい。
【0170】
また、本発明の遊技機は、過去に送信した複数の制御コマンド情報を用いて誤り検査値を生成するようにしてもよい。これにより、制御コマンドとそれに付加された誤り検査値との関係がより解析困難とすることができ、不正者が制御コマンド情報を取得したとしても、不正を行うことをより困難とすることができる。
【0171】
過去に送信した複数の制御コマンド情報を用いて誤り検査値を生成するための具体的な構成は、例えば、次のようなものが考えられる。誤り検査値生成部において、制御コマンド出力部から出力された制御コマンドと、誤り検査値演算部が生成したその誤り検査値を制御コマンド情報として複数記憶する制御コマンド情報記憶部を設け、この制御コマンド記憶部から出力された複数の制御コマンドを用いて誤り検査値演算部が誤り検査値を生成するように構成すればよい。
【0172】
上述のように、本発明の遊技機は、今回送信する制御コマンドに対して所定の過去に出力された制御コマンド情報を少なくとも用いて生成した誤り検査値を、今回出力する制御コマンドに付加する。これにより、制御コマンドとそれに付加された誤り検査値との関係をより解析困難とすることができ、不正者が制御コマンド情報を取得したとしても、不正を行うことを困難とすることができる。
【0173】
なお、本発明の遊技機は、過去に送信した制御コマンド情報に加えて、今回送信する制御コマンドも含めて誤り検査値を生成してもよい。これにより、今回受信した制御コマンドの通信エラーチェックを、今回受信した制御コマンドに付加された誤り検査値を用いて、リアルタイムに行うことができる。
【0174】
今回送信する制御コマンドも含めて誤り検査値を生成するための具体的な構成は、例えば、次のようなものが考えられる。誤り検査値を生成する対象となるデータである過去に送信した制御コマンド情報を記憶する記憶部を設け、記憶部から出力された制御コマンド情報と、制御コマンド出力部から出力された今回送信する制御コマンドとを用いて誤り検査値を生成するように構成すればよい。
【0175】
このように、本発明の遊技機は、過去に送信した制御コマンド情報に加えて、今回送信する制御コマンドも含めて誤り検査値を生成してもよいが、セキュリティ強度の向上という観点においては、今回送信する制御コマンドの誤り検査値を、今回送信する制御コマンド自身を用いずに生成するのがより好ましい。具体的には、過去に送信した制御コマンド情報を用いて、今回送信する制御コマンドに付加する誤り検査値を生成するのが好ましい。このように、今回送信する制御コマンドを用いずに誤り検査値を生成する場合、今回送信する制御コマンドとそれに付加された誤り検査値との間に関連性がない。このため、不正者が、制御コマンドとそれに付加された誤り検査値との二つの値を取得したとしても、これらの関係を解析することができない。したがって、不正者が制御コマンドとそれに付加された誤り検査値との関係を解析することをより一層困難とすることができる。すなわち、不正者が制御コマンド情報を取得したとしても、不正を行うことをより一層困難とすることができる。
【0176】
また、上記実施形態では、主制御部10は、制御コマンドに所定の初期値を付加して送信し、演出制御部203は、同様に所定の初期値を用いて認証を行うとしたが、本発明はこれに限定されず、初期値が付加された制御コマンドに関し認証処理を行わないようにしてもよい。例えば、n個前に送信した制御コマンド情報を用いて今回送信する制御コマンドに付加する誤り検査値を生成する場合、演出制御部203は、1〜n個目に受信した制御コマンド情報については初期値が付加されているとして、認証処理を行わず、n+1個目に受信した制御コマンド情報から認証処理を行うようにすればよい。
【0177】
また、主制御部10に計時手段を設け、または、主制御部10が予め備えている計時手段を用いて、制御コマンド送信タイミングにおいて計時手段から取得した計時情報を初期値として用いてもよい。これにより、誤り検査値を遊技機1の状態に特有の値とすることができ、初期値の値を知らない不正者が一部の制御コマンド情報を取得したとしても誤り検査値の解析を不可能とすることができ、セキュリティ強度をより一層向上することができる。なお、この場合、上述のように、初期値が付加された制御コマンドに関し認証処理を行わないようにすればよい。また、2個以上の制御コマンドに初期値として計時情報が付加される場合において、演出制御部203は、初期値として連続して送信された計時情報の間に時間の連続性が保持されているか、すなわち、連続して送信された計時情報の値が送信順番に従って増加しているか否かを参照することによって認証処理を行ってもよい。
【0178】
このように本発明において、初期値として用いる固有情報に計時情報を含めてもよい。すなわち、固有情報は、制御コマンドの送信タイミングにおいて初期値を取得する遊技機1に固有の情報といえる。なお、計時情報としては、遊技機1の電源がオンになってから主制御部10の計時手段が計測する遊技機1に固有の計時情報を用いてもよく、絶対時間の情報を用いてもよい。遊技機1に固有の計時情報を用いることにより、初期値の秘匿性を高めることができ、セキュリティ強度をより一層向上させることができる。
【0179】
また、複数の制御コマンドに初期値を付加する場合、初期値は固定値としてもよいし、変動値としてもよい。例えば、初期値として識別情報を用いる場合、制御コマンド毎に異なる識別情報を用いてもよいし、同じ識別情報を用いてもよい。また、初期値として計時情報を用いる場合、制御コマンドの送信タイミング毎に計時手段から取得した計時情報を用いてもよいし、最初に送信する制御コマンドの送信タイミングに取得した計時情報を複数の制御コマンドに対して初期値として用いてもよい。
【0180】
また、上記実施形態では、演出制御部203は、CPU203a、ROM203b、RAM203c、VRAM203dを備えており、これらを用いて、図柄表示部104の画像表示、およびスピーカ277の音声出力を制御していた。すなわち、演出制御部203は、認証機能およびランプ制御部205の制御機能を備えるとともに、画像制御部としての機能および音声制御部としての機能を備えていた。しかしながら、本発明の遊技機は、これに限定されず、演出制御部203は、CPU203a、ROM203b、およびRAM203cの他に、画像制御部としての機能および音声制御部としての機能を実現するためのCPU、ROM、およびRAM等のハードウェア構成を別途備える構成であってもよい。さらにまた、画像制御部としての機能を実現するハードウェア構成と、音声制御部としての機能を実現するハードウェア構成とを別々に備える構成であってもよい。この場合、主制御部10から送信された制御コマンドを受信したCPU203aは、所定の取り決めに基づいて、上記別途設けられたハードウェア構成を制御する制御信号であるサブコマンドを出力し、このサブコマンドに基づいて別途設けられたハードウェア構成が画像制御および音声制御を行う。
【0181】
また、上記実施形態では、主制御部10は、誤り検査値を生成するための生成送信回路10gを備えていたが、これに限定されず、同様の機能をCPU10a、ROM10b、およびRAM10cを用いて実現してもよい。すなわち、本実施形態はハードウェアにて、認証機能を実現していたが、これに限定されず、CPU10a、ROM10b、およびRAM10cを用いてソフトウェアによって実現してもよい。
【0182】
また、演出制御部203は、CPU10a、ROM10b、およびRAM10cを用いてソフトウェアによって認証機能を実現していたが、これに限定されず、誤り検査値を生成するための生成回路や誤り検査を行う検査回路等を設け、ハードウェアによって認証機能を実現してもよい。
【0183】
また、第1の実施形態の主制御部10の構成に第2の実施形態の演出制御部203の構成を組み合わせてもよい。すなわち、主制御部10は、誤り検査値を保存しておく構成を採用し、演出制御部203は、制御コマンドを保存しておく構成を採用してもよい。また、同様に、第2の実施形態の主制御部10の構成に第1の実施形態の演出制御部203の構成を組み合わせてもよい。
【0184】
また、上記実施形態では、本発明をパチンコ遊技機に適用する例を示したが、これに限定されず、本発明は、雀球遊技機、アレンジボール等のパチンコ遊技機以外の弾球遊技機、スロットマシン等の回胴式遊技機などの他の遊技機にも適用することができる。これらの遊技機においても、上記実施形態と同様に構成することにより、上記実施形態と同様の効果を得ることができる。また、上記実施形態は、その目的及び構成等に特に矛盾や問題がない限り、互いの技術を流用することができる。
【0185】
また、上述した本発明は、過去に送信した制御コマンド情報を少なくとも用いて出力した誤り検査値を今回送信する制御コマンドに付加して送信するという方法を用いる認証方法を実現する基本形であり、よりセキュリティ強度の高い認証方法や誤り検査値の生成方法を実現する形態へと発展させることができるものである。
【符号の説明】
【0186】
1 パチンコ遊技機
10 主制御部
10a,203a,204a CPU
10b,203b,204b ROM
10c,203c,204c RAM
10g 生成送信回路
203 演出制御部
203d VRAM
204 賞球制御部
500 制御コマンド出力部
510,610,810,910 誤り検査値生成部
520,620,830,930 誤り検査値演算部
530,630 誤り検査値記憶部
540 付加部
550 送信部
600 受信部
640 誤り検査部
820,920 制御コマンド情報記憶部

【特許請求の範囲】
【請求項1】
制御コマンドと前記制御コマンドに付加されて前記制御コマンドの正当性を検査する誤り検査値とを送信する主制御部と、前記主制御部から送信された前記制御コマンドに基づく処理を行う周辺部とを備える遊技機であって、
前記主制御部は、
前記制御コマンドを出力する出力手段と、
所定の過去に送信された制御コマンドおよび誤り検査値を用いて、前記出力手段によって出力された前記制御コマンドに付加される新たな誤り検査値を生成する第一生成手段と、
前記出力手段によって出力された前記制御コマンドに、前記第一生成手段によって生成された前記新たな誤り検査値を付加して前記周辺部に送信する送信手段とを有し、
前記周辺部は、
前記所定の過去に送信された制御コマンドおよび誤り検査値を用いて新たな誤り検査値を生成する第二生成手段と、
前記送信手段によって送信された新たな誤り検査値と、前記第二生成手段によって生成された新たな誤り検査値とを用いて、前記送信手段によって送信された前記制御コマンドの正当性の検査を行う検査手段と
を有することを特徴とする遊技機。
【請求項2】
前記第一生成手段は、前記出力手段によってN(Nは自然数)個前に出力された制御コマンドおよび当該制御コマンドに付加された誤り検査値を用いて生成した誤り検査値を前記送信手段に出力し、
前記第二生成手段は、N個前に送信された制御コマンドおよび当該制御コマンドに付加された誤り検査値を用いて生成された誤り検査値を前記検査手段に出力する請求項1に記載の遊技機。
【請求項3】
前記第一生成手段は、生成した誤り検査値を記憶する誤り検査値記憶手段をさらに有し、前記誤り検査値記憶手段に記憶された誤り検査値から今回送信する制御コマンドに付加する誤り検査値を前記送信手段に出力する請求項2に記載の遊技機。
【請求項4】
前記第一生成手段は、前記出力手段によってN個前に出力された制御コマンドおよび当該制御コマンドに付加された誤り検査値を記憶する制御コマンド記憶手段をさらに有し、当該制御コマンド記憶手段に記憶された制御コマンドおよび当該制御コマンドに付加された誤り検査値から、付加するべき誤り検査値を生成し、生成した前記誤り検査値を前記送信手段に出力する請求項2に記載の遊技機。
【請求項5】
前記主制御部は、1〜N個目に送信される制御コマンドに、当該遊技機に固有の情報である固有情報を付加して前記周辺部に送信する請求項2乃至4に記載の遊技機。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate