(57)【要約】【課題】遊技機のプログラムの改ざんを検出する。【解決手段】遊技に関する処理を行うＣＰＵと、前記ＣＰＵのプログラムが予め記憶されているＲＯＭと、前記ＣＰＵに対して割り込みをかけるための第１タイマと、不正行為を検出するための第２タイマ（ダウンカウンタ）と、前記不正行為を検出するための閾値を記憶している閾値記憶部とを備える。ＲＯＭの割り込み処理用プログラムの最初には、前記第２タイマのカウンタに初期値を書き込む処理を実行するための命令が書き込まれ、その最後には、前記第２タイマのカウンタの値を読み出すための命令が書き込まれ、前記ＣＰＵは、前記割り込み処理用プログラムの実行を終了した後に、前記第２タイマのカウンタから読み出した値を前記閾値と比較し、この比較結果に基づき不正行為を判断する。【選択図】        図７
2010029319.tif 000002
【特許請求の範囲】
【請求項１】
遊技に関する処理を行うＣＰＵと、前記ＣＰＵのプログラムが予め記憶されているＲＯＭと、前記ＣＰＵに対して予め定められた時間間隔で割り込みをかけるための第１タイマと、不正行為を検出するための第２タイマと、前記不正行為を検出するための閾値を予め記憶している閾値記憶部とを備え、
前記第２タイマは、予め定められたクロック信号にしたがってカウント動作を行うカウンタを含み、
前記プログラムは、前記第１タイマによる割り込みを受けたときに実行される割り込み処理用プログラムを含み、
前記割り込み処理用プログラムの最初には、前記第２タイマのカウンタに予め定められた初期値を書き込む処理を実行するための命令が書き込まれ、その最後には、前記第２タイマのカウンタの値を読み出すための命令が書き込まれ、
前記ＣＰＵは、前記割り込み処理用プログラムの実行を終了した後に、前記第２タイマのカウンタから読み出した値を前記閾値と比較し、この比較結果に基づき不正行為を判断する、ことを特徴とする遊技機。
【請求項２】
前記閾値は、前記割り込み処理用プログラムの実行の開始から終了までに要する時間として予め計算された時間に基づき定められ、
前記ＣＰＵは、前記第２タイマのカウンタから読み出した値が前記閾値より大きいとき、不正行為と判断することを特徴とする請求項１記載の遊技機。
【請求項３】
前記プログラムは、前記割り込み処理用プログラムを複数含み、
前記閾値記憶部は、前記閾値として第１閾値と、前記第１閾値よりも小さな値である第２閾値を記憶し、
前記第１閾値は、複数の前記割り込み処理用プログラムの実行の開始から終了までに要する時間としてそれぞれ計算された時間のうちで最も長いものに基づき定められ、
前記第２閾値は、複数の前記割り込み処理用プログラムの実行の開始から終了までに要する時間としてそれぞれ計算された時間のうちで最も短いものに基づき定められ、
前記ＣＰＵは、前記第２タイマのカウンタから読み出した値が前記第１閾値より大きいか、または、前記第２閾値より小さいとき、不正行為と判断することを特徴とする請求項１記載の遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、弾球遊技機（パチンコ機）や回胴式遊技機（スロットマシン）などの遊技機に関し、特に不正なプログラムを検出する技術に関する。
【背景技術】
【０００２】
遊技機設置営業店（ホール）などに設置されている弾球遊技機（いわゆるパチンコ機）は、遊技球（遊技媒体とも呼ぶ）を用いて遊技を行うものである。借り受けた遊技球を弾球遊技機の遊技盤に設けられている盤面へ打ち出し、当該遊技球が予め定められた入賞口に入るごとに所定数の遊技球を払出すようになっている。払い出される遊技球は賞球と呼ばれる。
【０００３】
弾球遊技機の盤面に設けられている入賞口には次のようなものがある。
（１）普通入賞装置
（２）スタートチャッカー（始動入賞装置）
（３）アタッカー（大入賞装置）
（４）スルーチャッカー（入賞チャッカー）
【０００４】
スタートチャッカー（始動入賞装置）は特定入賞装置とも呼ばれる。遊球球がスタートチャッカー（始動入賞装置）に受け入れられて入賞状態になったとき、賞球を払い出すとともに電子的な抽選を行い、当選の場合に通常状態から遊技者にとって有利な遊技状態となるよう、アタッカー（大入賞装置）を開放状態にするものである。
アタッカー（大入賞装置）は特別入賞装置とも呼ばれる。
【０００５】
スルーチャッカー（入賞チャッカー）は直接賞球を払い出すものではないが、本明細書において入賞口に含める。遊技球がスルーチャッカー（入賞チャッカー）を通過したことが検知されたとき、電子的な抽選を行い、当選したときは遊技者にとって有利な遊技状態となるよう、スタートチャッカー（始動入賞装置）を所定時間開放し、遊技球がスタートチャッカー（始動入賞装置）に入りやすくする。スルーチャッカー（入賞チャッカー）に受け入れられた遊技球はそのまま盤面を移動し、他の入賞口又は排出口（アウト口）に受け入れられる。
【０００６】
近年、パチンコ機においては、遊技盤の中央に設けられる可変表示装置（センター役物）の表示画面によって遊技者に特別な利益を発生させるものが知られている。例えば、可変表示装置（センター役物）に表示される図柄が変動し停止した時の図柄の組合せによって「当たり」と称される動作が開始し、遊技盤面の下方に設けられる大入賞装置が連続して開放され、その間に多数の入賞が得られることから遊技者に大量の賞品球が払出されるものがある。このようなパチンコ機は、当たり判定用の乱数発生手段を具備し、始動入賞装置に遊技球が落入したときに、乱数発生手段の乱数を抽出するとともに可変表示装置（センター役物）の図柄変動を開始させ、当該抽出した乱数の値が予め定めた条件に合致するときに可変表示装置（センター役物）の表示変動を当たり図柄で停止させ、当たり動作を開始する。乱数発生手段として、カウンタやレジスタ等のハードウエアで構成されるもの又はソフトウエアで実行されるカウンタで実現されるものがある。
【０００７】
遊技機は、賞球の払い出し、抽選及びその入賞判定などを含む遊技処理を行うために、マイコンを搭載した制御部と、前記制御部からの命令に基づき照明や音響や液晶表示装置に画像を表示するなどの演出を行うための副制御部とを備える。遊技機では、抽選、入賞、払い出し、演出の制御をプログラムで実現している。制御部や副制御部のプログラムは遊技に関する重要な制御を行っている。
【０００８】
【特許文献１】特開２００２−２９２０５２号公報  払い出し制御システムにおいて、払い出し制御コマンドをバッファに格納し、予め定義されているコマンドと比較し、該コマンドの正当性を判定する。
【特許文献２】特開２００３−１３５７８４号公報  電源投入時の状態復帰処理において、動作可能状態となったＣＰＵは、電源断の前の変動データ等のチェックデータ（パリティ）と、状態復帰待機時の変動データ等のパリティが一致する場合のみ状態復帰処理を行うようにした。
【特許文献３】特開２００５−１０３１６６号公報  電源投入時の主制御処理において、ＣＰＵはＣＴＣによる割り込み禁止を設定し、その後パリティチェック及びバックアップの有無に応じて、遊技状態の復旧処理か初期化処理を行うようにした。
【特許文献４】特開２００７−２０８０７号公報  不正なマイコンを検出するために、入出力ポートにかかるデータバスの信号伝播特性を正規なものと判別するようにした。主には、信号の立下り・立ち上がりの時間、つまり、対象バス内におけるインピーダンスの変化をみて比較している。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
自己に有利なようにプログラムを改ざんしたＲＯＭを不正に制御部又は副制御部に装着する者がいる。従来の遊技機では、基板のＲＯＭが交換されても、それを直接検出することができなかった。
【００１０】
ところで、スロットマシンやパチンコ機のような遊技機は法律による規制を受けていて、このため各基板のプログラムは関係機関による事前の検定及び承認を受ける必要があり、勝手に改変することは許されていない。各基板に搭載されるプログラム、具体的にはＲＯＭの内容は関係機関への申請時に決定され、同じ機種の遊技機のＲＯＭの内容は常に同一であることが求められている。ホールなどで勝手に改変されないように、ＲＯＭはカシメなどで基板より外すことのできない構造で守られている。
【００１１】
しかし、それでも不正な手段を用いてＲＯＭが交換され、プログラムの内容が変更されることがあった。このような不正行為による損害はかなりの額に上りホールの経営を圧迫するとともに、社会問題にもなりつつある。このような不正行為を防止するために当該基板を封印したり容易に取り外せないような構造にしたりと対策が取られているが、それでもなお不正行為は後を絶たない。そのため、不正なＲＯＭ交換を構造的あるいは物理的に防止するための方策とともに、不正なＲＯＭが装着されたときにこれを検出することが求められるようになった。
【００１２】
本発明の目的は斯かる課題を解決するためになされたものであり、プログラムが改ざんされたかどうか判断できる遊技機を提供することを目的とする。
【課題を解決するための手段】
【００１３】
この発明に係る遊技機は、遊技に関する処理を行うＣＰＵと、前記ＣＰＵのプログラムが予め記憶されているＲＯＭと、前記ＣＰＵに対して予め定められた時間間隔で割り込みをかけるための第１タイマと、不正行為を検出するための第２タイマと、前記不正行為を検出するための閾値を予め記憶している閾値記憶部とを備え、
前記第２タイマは、予め定められたクロック信号にしたがってカウント動作を行うカウンタを含み、
前記プログラムは、前記第１タイマによる割り込みを受けたときに実行される割り込み処理用プログラムを含み、
前記割り込み処理用プログラムの最初には、前記第２タイマのカウンタに予め定められた初期値を書き込む処理を実行するための命令が書き込まれ、その最後には、前記第２タイマのカウンタの値を読み出すための命令が書き込まれ、
前記ＣＰＵは、前記割り込み処理用プログラムの実行を終了した後に、前記第２タイマのカウンタから読み出した値を前記閾値と比較し、この比較結果に基づき不正行為を判断する、ものである。
【００１４】
前記閾値は、前記割り込み処理用プログラムの実行の開始から終了までに要する時間として予め計算された時間に基づき定められ、
前記ＣＰＵは、前記第２タイマのカウンタから読み出した値が前記閾値より大きいとき、不正行為と判断するようにしてもよい。
【００１５】
前記プログラムは、前記割り込み処理用プログラムを複数含み、
前記閾値記憶部は、前記閾値として第１閾値と、前記第１閾値よりも小さな値である第２閾値を記憶し、
前記第１閾値は、複数の前記割り込み処理用プログラムの実行の開始から終了までに要する時間としてそれぞれ計算された時間のうちで最も長いものに基づき定められ、
前記第２閾値は、複数の前記割り込み処理用プログラムの実行の開始から終了までに要する時間としてそれぞれ計算された時間のうちで最も短いものに基づき定められ、
前記ＣＰＵは、前記第２タイマのカウンタから読み出した値が前記第１閾値より大きいか、または、前記第２閾値より小さいとき、不正行為と判断するようにしてもよい。
【発明の効果】
【００１６】
本発明によれば、割り込み処理に要する時間を計測するタイマと、不正行為を検出するための閾値を予め記憶している閾値記憶部とを備え、前記タイマの測定結果を前記閾値を比較することでプログラムの改ざんを検知することができる。したがって、不正行為を抑止することができる。
【発明を実施するための最良の形態】
【００１７】
弾球遊技機の構造概略について図１及び図２を参照して説明を加える。
まず、図１を参照して本発明の実施の形態に係る遊技機の外部的構造につき説明する。
外枠５０は、遊技機設置営業店に設けられた設置場所（島設備など）へと固定させるための縦長方形状からなる木製の枠部材である。
本体部材５１は、外枠５０の内部に備えられ、ヒンジ部５１ａを介して外枠に回動自在に装着された縦長方形状の遊技機基軸体となる部材である。この本体部材５１は、枠状に形成されその内側に空間部を有している。
開口枠扉５２は、遊技機の前面側となる前記本体部材５１の前面に、ロック機能付きで且つ開閉自在となるように装着され、枠状に構成されることでその内側を開口部とした扉部材である。
なお、開口枠扉５２の開口部にガラス製又は樹脂製からなる透明板部材が設けられ、開口部近傍に電飾５２ａ、スピーカ５２ｂ、などが取り付けられている。
後述する遊技盤（図１では示していない）は、本体部材５１の空間部に臨むように、本体部材５１に所定の固定部材を用いて着脱自在に装着されている。遊技盤の本体部材５１への装着後は、その遊技領域を前記開口部より観察することができる。
【００１８】
球受皿付き扉５３は、遊技機前面において本体部材５１の下部に、ロック機能付きで且つ開閉自在となるように装着され、遊技球を貯留する球受皿を少なくとも備えた扉部材である。なお、本実施形態における球受皿付き扉には、以下の部材が取り付けられている。
（1）複数の遊技球が貯留可能で且つ発射駆動装置４８へと遊技球を案内させる通路が設けられた球受皿。
（2）該貯留され発射駆動装置４８へと案内された遊技球を前記遊技盤１０の盤面１１に設けられた遊技領域へと打出す操作を行う回動式操作ハンドル４８ｂ。
（3）ブリペイドカード読込み処理関係及び借り受ける遊技球の貸出し処理関係の指示をするボタンを備えた球貸し関係の操作部。
（4）球受皿に貯留させた遊技球を遊技球収集容器（俗称、ドル箱）へと排出解除するための球受皿用の貯留球排出操作ボタン。
【００１９】
次に、図２を参照して本発明の実施の形態に係る遊技機の内部的構成を説明する。
４０は、前述したように、本体部材５１若しくは遊技盤１１又はこれらに備え付けられる支持部材などを介して設けられ、電気的な遊技制御の処理を行い主要な処理情報を生成する制御部である。
４０ｂは、前記本体部材５１若しくは遊技盤１１又はこれらに備え付けられる支持部材などを介して設けられ、前記制御部４０にて生成した処理情報を得ることにより所定の出力態様処理をさせる制御を行う副制御部である。
４２は、賞球の払い出し制御を行う払出制御部である。
４３は、遊技球を払い出す遊技球払出装置である。
４４は、図示しないランプや電飾５２ａを制御する電飾制御部である。
４６は、スピーカ５２ｂを制御駆動して音響を発生させる音響制御部である。
４９は発射駆動装置４８を制御する制御装置であって、回動式操作ハンドル４８ｂを介して遊技球を盤面に設けられた遊技領域へと打出し制御を行うための発射制御装置である。
【００２０】
図３は遊技機の遊技盤の正面図である。
図３において、１１は遊技盤１０の盤面である。盤面１１は、誘導レール１２と、誘導レール１２で区画された略円形の遊技領域を落下した遊技球を外部へ導く排出口（アウト口）１３と、遊技領域を移動する遊技球の方向を変化せしめる釘１４や風車１４ａなどの障害物を複数個備える矩形の盤面である。
【００２１】
前述した盤面１１の遊技領域は、誘導レール１２（遊技球を滑走させる滑走部と遊技球を規制する規制部を含む）により略円形状となるように区画形成され、打出された遊技球の移動範囲を規制する領域である。前記滑走部に規制部が続くように設けられている。前記滑走部は全体として螺旋をなして盤面１１に配設されている。
【００２２】
前記排出口（アウト口）１３は、遊技領域に投入された遊技球が集束する位置に設けられた回収開口部である。
【００２３】
障害物１４としての遊技釘は、遊技球と接触させることにより移動方向を不規則にし、又は移動方向を規制するために、盤面１１の適宜な位置に打込まれる複数の棒状部材である。
【００２４】
３０ａは、遊技領域の中央やや上側に設けられ、演出用表示ランプやＬＣＤ（液晶表示装置）などの可変表示部をひとつ又は複数有する可変表示装置（センター役物）である。
３０ｂは、スルーチャッカー（入賞チャッカー）である。
３０ｃは、普通入賞口を有する普通入賞装置である。
３０ｄは、始動入賞口を有するスタートチャッカー（始動入賞装置）である。
３０ｅは、大入賞口を有するアタッカーである。
以下の説明で、３０ｂ乃至３０ｄをまとめて入賞口３０などと記すことがある。
なお、図示されていないが、上記３０ｂ、３０ｃ、３０ｄの内部には球通過検出器２０ｂ、２０ｃ、２０ｄが設けられている（同図の括弧内の符号はそのことを意味する）。
【００２５】
スタートチャッカー３０ｄの始動入賞装置は特定入賞装置と、アタッカー３０ｅの大入賞装置は特別入賞装置とも呼ばれる。
スタートチャッカー（始動入賞装置）３０ｄは、入賞口の開口範囲の拡縮を行わせる可動片をその両側に備え、遊技球を入賞させることにより可変表示を行わせると共に賞球を遊技者に獲得させる入賞装置である。
アタッカー（大入賞装置）３０ｅは、入賞口を露出させる開口状態と入賞口を閉鎖する閉口状態となる可動扉が駆動制御されるものであり、遊技球を入賞させることにより他の入賞装置と比較してより多くの賞球を獲得させる入賞装置である。
【００２６】
図４は本発明の実施の形態に係る遊技機の機能ブロック図である。
４０は、電気的な遊技制御の処理を行い主要な処理情報を生成する制御部（「メイン基板」とも呼ばれる）である。制御部４０は遊技領域を移動（流下）して入賞口３０ｂ〜３０ｄを通過した遊技球をそれぞれ検出する球通過検出器２０ｂ〜２０ｄの信号を入力とし、入賞口３０ｂ〜３０ｄの遊技球通過に応じた抽選・判定を行う入賞判定部４０ａを含む。
【００２７】
４１は可変表示装置（センター役物）３０ａの演出用表示ランプを点灯させたり、ＬＣＤ（液晶表示装置）に演出に係る画像を表示させる表示制御部である。表示制御部４１は、制御部４０に設けられた入賞判定部４０ａにおける所定条件の成立（例えば、始動入賞装置３０ｄヘの遊技球の入賞等）に基づく電子的な当否抽選の結果に応じて、その識別表示情報（可変表示装置（センター役物）３０ａのＬＣＤに演出表示される）を可変表示させた後に停止表示を行う表示制御装置でもある。さらに、表示制御部４１は、入賞判定部４０ａにおける所定条件の成立（例えば、予め定められた通過口ヘの遊技球の通過）に基づく電子的な当否抽選の結果に応じて、識別点灯情報（可変表示装置（センター役物）３０ａの演出用表示ランプに点灯表示される）を可変表示させた後に停止表示を行う表示制御装置である。
【００２８】
可変表示装置（センター役物）３０ａのＬＣＤは、大当り状態に係わる特定図柄を変動表示すると共に背景画像や各種のキャラクタなどをアニメーション的に表示する装置である。スタートチャッカー（始動入賞装置）３０ｄを遊技球が通過したことが検出されると、表示される図柄が所定時間だけ変動し、遊技球のスタートチャッカー（始動入賞装置）３０ｄの通過時点において抽選された抽選用乱数値により決定される停止図柄をＬＣＤに表示して停止するようになっている。アタッカー３０ｅは、前方に開放可能な開閉板を備える。ＬＣＤの変動停止後の図柄が「７７７」などの当り図柄のとき、「大当り」と称する特別遊技が開始され、アタッカー３０ｅの開閉板が予め定めた回数だけ開放されるようになっている。アタッカー３０ｅの開閉板が開放された後、所定時間が経過し、又は所定数の遊技球が入賞すると開閉板が閉じる。
【００２９】
４２は、入賞判定部４０ａの信号を受けて入賞口３０ｂ〜３０ｄの遊技球通過に応じた及び／又はこれによる抽選・判定の結果に応じた遊技球払出装置４３を制御する払出制御部である。
４３は、遊技利益として入賞口３０ｂ〜３０ｄの遊技球通過に応じた及び／又はこれによる抽選・判定の結果に応じた所定数の遊技球を払出す駆動源を備えた遊技球払出装置である。
【００３０】
４０ｂは、制御部４０にて生成した処理情報を得ることにより、光の点滅・音響の発生などの演出を含む所定の出力態様処理をさせる制御を行う副制御部（「サブ基板」とも呼ばれる）である。
【００３１】
４４は、遊技盤１０あるいは遊技機筐体に設けられたランプ・電飾５２ａなどを点灯制御するためのランプ制御部である。
４６は、遊技盤１０あるいは遊技機筐体に設けられたスピーカ５２ｂを通じて効果音・音声を発生させる音響制御部である。
【００３２】
ＰＳは、制御部４０、副制御部４０ｂその他のユニットに＋５Ｖなどの直流電圧を供給する電源部である。電源部ＰＳは、電源をオンオフする電源スイッチＰＷとともに、メモリクリアスイッチＭＣＬＲを備えている。電源スイッチＰＷをオンする際に、メモリクリアスイッチＭＣＬＲを操作することで、メモリをクリアして遊技機を初期状態から起動することができる。
【００３３】
遊技球が遊技領域に設けられた入賞装置３０ｂ〜３０ｄには、それぞれ内部に球通過検出器（例えばスイッチ）２０ｂ〜２０ｄが設けられ、遊技球の通過を検出できるようになっている。いずれかの入賞装置３０ｂ〜３０ｄの位置を通過すると、これを球通過検出器２０ｂ〜２０ｄが検出し、これを受けて入賞判定部４０ａが所定の抽選・判定処理を行う。例えば、球通過検出器２０ｂがスルーチャッカー（入賞チャッカー）３０ｂを通過した遊技球を検知したとき、所定の抽選を行い、当選したときはスタートチャッカー（始動入賞装置）３０ｄを所定時間開放する。すなわち、スタートチャッカー（始動入賞装置）３０ｄの左右両側に互いに対向して設けられた一対の可動片を、それぞれ外側へ開放させる。併せて当選の旨を可変表示装置（センター役物）３０ａに表示する。そして、遊技球がスタートチャッカー（始動入賞装置）３０ｄを通過したことを検知したとき、所定の抽選を行い、当選したときはアタッカー３０ｅの大入賞装置を開放する。
【００３４】
図５は、制御部４０のハードウエア構成の説明図である。図４の制御部４０は、実際には図５のハードウエア構成で実現される（なお、副制御部４０ｂも同様である）。すなわち、複数のビット（配線）からなるバスＢＵＳに、ＣＰＵ（処理装置）、ＲＯＭ（不揮発性記憶部）、メモリＭ（読み出し及び書き込み可能なメモリ、ＲＷＭ）及びＩ／Ｏ（入出力装置）が接続されている。なお、ＣＰＵ、ＣＴＣ，Ｉ／Ｏなどはひとつのチップに形成され、ひとつのユニット（ＩＣ）としてまとめられていることもある。
【００３５】
図４の制御部４０で実行される遊技に係る通常処理は、図５のＲＯＭに予め記憶されたプログラムに従ってＣＰＵが動作することで実行される。図４の入賞判定部４０ａの処理も同じである。ＣＰＵは、処理を行う際に各種データをメモリＭに記憶させ、必要に応じて読み出し、処理を行い、必要に応じて再度記憶する、といった処理を行う。メモリＭはバッテリバックアップを受けていることがあり、この場合は電源断の間でもその記憶内容は保持されている。本明細書において、特に断らない限り、メモリとは図５の書き換え可能なメモリＭ（ＲＷＭ）のことを意味する。
【００３６】
バスＢＵＳには、さらに、ＣＴＣ(Counter Timer Circuit)が接続されている。ＣＴＣは、汎用カウンタ/タイマ・インターフェースであり、Ｚｉｌｏｇ社製のＺ８０ＣＴＣに相当するものである。その回路構成（内部ブロック図）を図６（ａ）に示す。
【００３７】
図６（ａ）において、バスコントローラＢＵＳＣは、システムバス（図５のＢＵＳ、データバスとコントロールバスを含む）を内部のバスＢＵＳ’に接続するための回路であり、バッファとその制御ロジックを含むものである。内部制御ロジックＬＯＧＩＣ１は、バスコントローラＢＵＳＣ経由で受けたＣＰＵからの命令やデータをレジスタなどに書き込んだり、ＣＴＣ内部のレジスタからデータを読み出してシステムバスＢＵＳに出力するといった制御を行うものである。割り込み制御ロジックＬＯＧＩＣ２は、システムから割り込み信号を受けて行う所定の割り込み処理の制御を行うものである。タイマチャンネル０〜３（ＣＨ０〜ＣＨ３）は、カウンタ又はタイマとして動作するユニットである。遊技機で用いられる一般的なＣＴＣは４つのタイマチャンネルを備える。もっとも、常にこれら全てが使用されるわけではない。
【００３８】
また、タイマの各チャネル０〜３（ＣＨ０〜ＣＨ３）の回路構成（内部ブロック図）を図６（ｂ）に示す。
【００３９】
図６（ｂ）に示すように、ＣＴＣ(Counter Timer Circuit)の各チャンネルＣＨ０〜ＣＨ３は、その内部にそれぞれ、各チャンネルの動作モードなどを設定するためのチャンネルコントロールレジスタＣＨＣＲと、カウントダウン動作の初期値を記憶するタイムコンスタントレジスタＴＣＲと、システムクロックΦを分周するプリスケーラＰＳＣと、プリスケーラＰＳＣの出力信号に同期してカウントダウン（具体的には１クロックで−１を加える）動作を行うダウンカウンタＤＷＣとを備えている。ダウンカウンタＤＷＣは、例えば、８ビット長のカウンタであり、ＣＰＵは、ダウンカウンタＤＷＣのカウンタ値を読み出すことができるようになっている。
【００４０】
ダウンカウンタＤＷＣのＣＬＫ／ＴＲＧ端子には、通常は、外部クロック入力又はトリガ入力が供給可能であり、またカウント動作終了時にはそのＺＣ／ＴＯ端子から、カウントダウン完了の信号が出力される。これらの端子は使用しなくても構わない（発明の実施の形態ではこれらの端子は使用していない）。
【００４１】
ＣＴＣの動作内容について簡単に説明を加える。ＣＰＵは、モード設定のためのコントロールワードをＣＴＣのチャンネルコントロールレジスタＣＨＣＲに書き込むことによって、チャンネルＣＨ０〜ＣＨ３のダウンカウンタＤＷＣを、カウンタモードか又はタイマモードで動作させることができるようになっている。
【００４２】
ここで、カウンタモードとは、外部クロックを基準に動作するモードであり、具体的には、ＣＬＫ／ＴＲＧ端子に供給された入力信号のエッジに同期してダウンカウンタＤＷＣのカウント値がデクリメントされるモードである。そして、ダウンカウンタＤＷＣのカウント値がゼロになると、ＺＣ／ＴＯ端子が所定時間だけＨレベルになり、改めて、タイムコンスタントレジスタＴＣＲの値がロードされてカウントダウン動作が開始される。
【００４３】
一方、タイマモードとは、ＣＰＵに供給されるシステムクロックΦを基準クロックとして動作するモードである。システムクロックΦは、プリスケーラＰＳＣに供給されて所定の比率、例えば１／１６又は１／２５６に分周された後（当該比率はコントロールワードによって設定可能である）、ダウンカウンタＤＷＣに供給される。その結果、ダウンカウンタＤＷＣのカウント値は、順次デクリメントされ、その値がゼロになるとＺＣ／ＴＯ端子が所定時間だけＨレベルになる。そして、改めて、タイムコンスタントレジスタＴＣＲの値がロードされて再度カウントダウン動作が開始される。
【００４４】
発明の実施の形態に係る遊技機の動作フローチャートを図７及び図８に示す。図７は、第１ＣＴＣの処理フローチャート、図８（ａ）は第２ＣＴＣの処理フローチャート、同図（ｂ）は第１ＣＴＣの条件、同図（ｃ）は第２ＣＴＣの条件を示す。
【００４５】
第１ＣＴＣは、従来の遊技機でも用いられていたＣＴＣカウンタ（図６のタイマチャンネルＣＨ０〜ＣＨ３のいずれかひとつ）のことである。第２ＣＴＣは、発明の実施の形態の処理に用いるＣＴＣカウンタ（図６のタイマチャンネルＣＨ０〜ＣＨ３の他のひとつ）のことである。第１ＣＴＣと第２ＣＴＣは、それぞれ、図６のタイマチャンネルＣＨ０〜ＣＨ３のいずれかである。チャンネルＣＨ０〜ＣＨ３のどれを使用するかによって動作に違いは無いので、以下の説明では、２つのタイマチャンネルとして第１ＣＴＣと第２ＣＴＣという表現を用いることにする。
【００４６】
図８（ｂ）（ｃ）に示すように、クロック、動作モード、プリスケーラの条件の点では、第１ＣＴＣと第２ＣＴＣはいずれも同じである。タイムコンスタント（タイムコンスタントレジスタＴＣＲの値）の設定の点で異なる。
【００４７】
図９は、ＲＯＭの内容の一例を示す模式図である。ＲＯＭには、メインプログラム、割り込みプログラム１と２、そして後述の閾値が予め記憶されている。割り込みプログラム１と２それぞれの先頭には命令１が、最後には命令２が記憶されている。命令１は図７のＳ１の処理を行うものであり、命令２は図７のＳ３の処理を行うものである。
【００４８】
予め、プログラムにおけるクリティカルパスを計算し、これを閾値としてＲＯＭに記憶しておく（図９の符号ＴＨ）。プログラムにおけるクリティカルパスとは、ＣＰＵが割り込み処理を行って復帰するまでに要する時間のうちで最も長いものである。ＣＰＵは、さまざまな条件のもとで割り込み処理を行うが、それぞれの処理はＲＯＭに記憶されたプログラムに従うので、それらに要する時間は予め予想できる。プログラムが改変されず、ＣＰＵが正常に動作している限りは、割り込み処理の開始から復帰までの時間は決まっていると言える。それらの最大の値（上限値）をクリティカルパスとし、以下に述べる処理に用いる。仮にプログラムが改変されたとすると（具体的には、不正なプログラムが記憶されたＲＯＭに交換されると）、それに伴い割り込み処理に要する時間は変化する。多くの場合、不正なプログラムは不正行為者にとって都合の良い処理を行わせるもので、当該処理の命令は遊技機の出荷時にはＲＯＭに記憶されていないから、不正行為者は遊技機のＲＯＭの中身を書き換え、当該処理のための命令を追加することなる。そのため、割り込み処理に要する時間は増加することになる。本発明の実施の形態はこの点に着目したものであり、予め定められたクリティカルパス（閾値）を超えたときに不正行為と判断するものである。
【００４９】
クリティカルパス（閾値）は、例えば、（割り込み処理を行うプログラムのステップ数）×（各ステップの平均実行時間）で求めることができる。各ステップの実行時間はクロック周波数で概ね決まる。
【００５０】
図７を参照して、第１ＣＴＣの具体的な処理について説明を加える。
【００５１】
第１ＣＴＣで発生した割り込みの先頭で、第２ＣＴＣのタイムコンスタントレジスタＴＣＲに初期値ＦＦ（１６進数、１０進数で２５５）を設定する（Ｓ１）。これは、実質的にはダウンカウンタＤＷＣに初期値ＦＦ（１６進数）を設定することに相当する。第２ＣＴＣにおけるダウンカウントの初期値であり、ダウンカウントの範囲（時間)を長く取るために８ビットの全てを１とする。１６ビットのカウンタであればＦＦＦＦ（１６進数）を設定する。割り込みの先頭（最初）でＳ１の処理を行うのは、割り込みに要した時間を正確に測るためである。上記クリティカルパスの計算条件に近づけて、誤差を少なくするためである。クリティカルパス（閾値）に多少余裕を持たせた場合は、Ｓ１の処理が多少後回しになってもよい。後回しになると測定時間が見かけ上短くなるが、その減少分が下記のＳ４、Ｓ５の判定に影響を与えない程度であればよい。
【００５２】
通常の割り込み処理を実行する（Ｓ２）。
【００５３】
第１ＣＴＣで発生した割り込みの最後で、第２ＣＴＣのタイムコンスタントレジスタＴＣＲの内容を読み出す（Ｓ３）。これは、実質的にはダウンカウンタＤＷＣから、割り込み処理の最後のタイミングにおける値を読み出すことに相当する。読み出された値を判定値とする。ここで読み出された値は、Ｓ２の割り込み処理に要した時間を示す。すなわち、
（割り込み処理に要した時間）＝（ダウンカウンタの減少値）×（カウントに要する単位時間）
（ダウンカウンタの減少値）＝（Ｓ１で設定した値）−（Ｓ３で読み出した値）
（カウントに要する単位時間）＝（単位ダウンカウント（例えば−１）に要するクロック数）×（カウンタのクロックの周期）
【００５４】
Ｓ１とＳ３の処理により、割り込み処理に要した時間を求めることができるので、以下のＳ４とＳ５で、それを遊技機出荷時のプログラムについて予想されていた時間と相違ないかを検証している。カウント値から求めた時間で比較する、あるいは、カウント値そのもので比較する、いずれでもよい（Ｓ４とＳ５では後者を採用している）。
【００５５】
なお、割り込みの最後でＳ３の処理を行うのは、割り込みに要した時間を正確に測るためである。上記クリティカルパスの計算条件に近づけて、誤差を少なくするためである。クリティカルパス（閾値）に多少余裕を持たせた場合は、下記のＳ４、Ｓ５の判定に影響を与えない範囲において、Ｓ３の処理が多少先に実行されてもよい。
【００５６】
Ｓ３で読み出した判定値を、予め定められた閾値と比較する（Ｓ４）。ここで１３６としているのは一例である。１１９回のクロック入力時に３．８ｍｓを超えるからである。
【００５７】
閾値≧判定値の条件を満たさなかった場合、言い換えれば割り込み処理に予想された時間の上限を超えた時間（クリティカルパス）を要したとき（Ｓ５でＮＯ）、不正行為と判断する（Ｓ６）。具体的にはＲＯＭが交換されて遊技機出荷時のプログラムの命令以外の命令が実行されたと判断し、これを受けてエラーコマンドを副制御部４０ｂ送信し、エラーの報知を行う。
【００５８】
第２ＣＴＣは、図８に示すように一定時間間隔でダウンカウントを行う。この処理により割り込み処理に要する時間を測定している。
【００５９】
本発明の実施の形態によれば、割り込み処理に要する時間を第２ＣＴＣで計測し、その測定結果（判定値）が予め定めた閾値よりも長いときに不正プログラムと判定する。これにより不正プログラムを検知し、不正行為を抑止することができる。
【００６０】
なお、図１０に示すように、２つの閾値（第１閾値と第２閾値）を予め用意しておき、処理時間がこれらの間にあるとき正常、そうでないとき不正プログラムと判断するようにしてもよい。２つの閾値を用意することで、処理時間の増加を伴う不正プログラムだけでなく、処理時間が減少する不正プログラムも検出することができるようになる。
【００６１】
第１閾値は、クリティカルパスのうちで最長のもの、言い換えれば、複数の割り込み処理用プログラムの実行の開始から終了までに要する時間として予め計算された時間のうちで最も長いものに基づき定められる。
【００６２】
第２閾値は、クリティカルパスのうちで最短のもの、言い換えれば、複数の割り込み処理用プログラムの実行の開始から終了までに要する時間として予め計算された時間のうちで最も短いものに基づき定められる。
【００６３】
次に、図１１及び図１２を参照しつつ、制御部４０の動作について簡単に説明を加える。営業開始に際して、メモリクリアスイッチＭＣＬＲを操作しながら電源スイッチＰＷをオンにすると、直流電圧が制御部４０、副制御部４０ｂなどに供給される。その結果、制御部４０、副制御部４０ｂに搭載されたＣＰＵは電源リセットされて制御動作を開始する。
【００６４】
図１１に示すように、制御部４０のＣＰＵは、先ず、メモリクリアスイッチＭＣＬＲの状態が判定され（Ｓ１１）、メモリクリアスイッチＭＣＬＲがＯＮ状態であれば（Ｓ１１でＹＥＳ）、ＣＰＵのレジスタを初期化する初期設定処理が実行され（Ｓ１２）、メモリに記憶保持されている遊技情報の全てが消去処理される（Ｓ１３）。その後、ＣＰＵは、図柄表示手段に表示する初期図柄を設定したり、この遊技制御の実行中に周期的に割込み処理を実行させる割込み周期を設定する等の初期処理を行った後、ＥＩ命令を実行して自らを割込み許可状態にする（Ｓ１４）。
【００６５】
一方、電源投入時、メモリクリアスイッチＭＣＬＲがＯＦＦ状態のときには（Ｓ１１でＮＯ）、バックアップデータの復帰処理が行われる（Ｓ１７）。バックアップデータの復帰処理は、停電時などにＮＭＩ処理によってバックアップされたデータを復帰させる処理であり、停電復旧後にメモリクリアスイッチＭＣＬＲを押すことなく電源を投入すると、この処理が行われる。
【００６６】
ステップＳ１４又はＳ１７の処理が終わると、無限ループ状に繰り返される外れ図柄用の乱数処理（Ｓ１５，Ｓ１６）が行われる。
【００６７】
このような無限ループ状の処理の間に、第１ＣＴＣにより、所定時間（例えば２ｍｓ）ごとにタイマ割込みが生じ、図１２（ａ）に示す処理が実行される。割込み処理プログラムでは、最初に、抽選処理に用いる乱数発生器であるカウンタの更新処理が行われる（Ｓ２０）。
【００６８】
カウンタの更新処理（Ｓ２０）が終わると、次に、球通過検出器を含む各種のスイッチからのスイッチ信号を読み込むスイッチ信号入力処理が実行される（Ｓ２１）。このスイッチ信号入力処理によって、遊技球が入賞口を通過したか否か、遊技球がスルーチャッカーを通過したか否かなどを含む遊技盤における各種の情報が把握される。
【００６９】
続いて、タイマ減算処理が行われ、初期設定されたワークエリアのタイマ用の各数値が減算される（Ｓ２２）。次に、普通図柄表示に関する普通図柄処理が実行される（Ｓ２３）。例えば、今回のスイッチ信号入力処理（Ｓ２１）によって、遊技球がスルーチャッカーを通過したことが把握されれば、ステップＳ２０で更新された抽選用カウンタの値に応じて、図柄表示部に当り図柄を表示するか否かを判定する。
【００７０】
そして、この判定処理によって当選状態となると、普通図柄を変動表示させる時間や、その後の停止図柄や、始動口の電動チューリップや開閉板の開放時間などを決定する（Ｓ２３）。
【００７１】
同様に、特別図柄に関する処理が実行される（Ｓ２４）。
【００７２】
特別図柄処理（Ｓ２４）の後、可変表示装置３０ａ、遊技球払出装置４３などに出力するべき制御コマンドがある場合には、その出力すべき制御コマンドを表示制御部４１、払出制御部４２へ出力する。
【００７３】
最後に、図柄始動口及び大入賞口の開閉爪や開閉板を開閉駆動するソレノイドに駆動信号を出力する駆動信号出力処理が実行されて（Ｓ２６）割込み処理を終える。
【００７４】
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【図面の簡単な説明】
【００７５】
【図１】遊技機の表面構造を示す斜視図である。
【図２】遊技機の裏面構造を示す斜視図である。
【図３】遊技者から見た盤面の様子を示す図（正面図）である。
【図４】発明の実施の形態に係る遊技機の機能ブロック図である。
【図５】制御部のハードウエア構成の説明図である。
【図６】ＣＴＣの内部構造の説明図である。
【図７】発明の実施の形態に係る遊技機の処理フローチャートである（第１ＣＴＣに関するもの）。
【図８】図８（ａ）は発明の実施の形態に係る遊技機の処理フローチャート（第２ＣＴＣに関するもの）、図８（ｂ）は第１ＣＴＣの動作条件を示す表（一例）、図８（ｃ）は第２ＣＴＣの動作条件を示す表（一例）である。
【図９】発明の実施の形態に係るＲＯＭの記憶内容の説明図である（一例）。
【図１０】発明の実施の形態に係る遊技機の他の処理フローチャートである（第１ＣＴＣに関するもの）。
【図１１】遊技機の電源投入時の処理フローチャートである。
【図１２】遊技機の割り込み処理のフローチャートである。
【符号の説明】
【００７６】
４０    制御部
ＣＰＵ    マイコン（Central Processing Unit）
ＲＯＭ    読み出し専用メモリ（Read Only Memory）
ＲＷＭ    読み出し／書き込みメモリ（Read Write Memory）
ＣＴＣ    汎用カウンタ/タイマ・インターフェース(Counter Timer Circuit)
ＣＨ０〜ＣＨ３  タイマ（第１タイマ、第２タイマ）
ＤＷＣ    ダウンカウンタ
ＴＣＲ    タイムコンスタントレジスタ
Ｆ１，Ｆ２  命令１（初期値書き込み命令）
Ｌ１、Ｌ２  命令２（カウンタ値の読み出し命令）
ＴＨ    閾値記憶部
【図１】
2010029319.tif 000003
【図２】
2010029319.tif 000004
【図３】
2010029319.tif 000005
【図４】
2010029319.tif 000006
【図５】
2010029319.tif 000007
【図６】
2010029319.tif 000008
【図７】
2010029319.tif 000009
【図８】
2010029319.tif 000010
【図９】
2010029319.tif 000011
【図１０】
2010029319.tif 000012
【図１１】
2010029319.tif 000013
【図１２】
2010029319.tif 000014