(57)【特許請求の範囲】
【請求項１】
遊技プログラムに基づいて遊技の進行を制御することが可能な遊技制御手段と、
前記遊技制御手段による制御に基づき、複数の識別情報を変動表示する変動表示ゲームを実行可能な変動表示手段と、を備え、
前記変動表示ゲームの停止結果が特別結果となった場合に、遊技者に遊技価値を付与可能な遊技機において、
所定の最小値と最大値の範囲内で所定時間毎にカウント値が更新される周期的カウンタと、
前記所定の最小値と最大値の範囲内でカウント値が更新され、該カウント値を前記周期的カウンタの周回初期値として使用される初期値カウンタと、を備え、
前記周期的カウンタを複数設けるとともに、各々の周期的カウンタに対応して前記初期値カウンタを複数設け、
前記遊技プログラムに基づいて前記複数の初期値カウンタのカウント値の更新処理を実行する初期値カウンタ更新手段と、
前記周期的カウンタの周回初期値を対応する前記初期値カウンタのカウント値で更新する周回初期値更新を行う周回初期値更新手段と、
前記初期値カウンタ更新手段による前記更新処理に割り込ませて遊技の進行を制御する処理を実行可能な割込み制御手段と、
を備え、
前記初期値カウンタの初期値を設定したことに対応して、前記割込み制御手段による割り込みの発生を許可し、
前記割込み制御手段による割り込みの発生を許可した状態で、前記初期値カウンタ更新手段による前記更新処理において前記複数の初期値カウンタのカウント値を順次更新させ、
前記初期値カウンタ更新手段による前記更新処理の実行中に、前記割込み制御手段による割り込みが発生した場合に、前記周回初期値更新手段による前記周回初期値更新を、前記初期値カウンタ更新手段による前記更新処理に割り込ませて実行可能に制御することを特徴とする遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遊技プログラムに基づいて遊技の進行を制御することが可能な遊技制御手段と、遊技制御手段による制御に基づき、複数の識別情報を変動表示する変動表示ゲームを実行可能な変動表示手段と、を備え、変動表示ゲームの停止結果が特別結果となった場合に、遊技者に遊技価値を付与可能な遊技機に関する。
【背景技術】
【０００２】
遊技領域に発射した遊技球の入賞等に従って、液晶表示器等からなる演出表示装置に複数の識別情報（図柄）を変動表示する変動表示ゲームを行い、その結果態様が特定の態様となったことに関連して、特別遊技を発生する等の特定の遊技価値を付与するようにした遊技機（パチンコ遊技機）がある。
【０００３】
この種の遊技機では、例えば下限値（最小値）と上限値（最大値）の間で循環して更新される周期的カウンタを備え、遊技における所定の事象の発生（例えば特定の領域の通過や始動口への遊技球の入賞）に基づいて周期的カウンタの値を取得し、この取得した周期的カウンタの値に基づいて、変動表示ゲームにおける特定の遊技状態の発生（例えば大当り）の抽選をするようになっている。
【０００４】
そして、このような周期的カウンタは、例えば、大当り乱数を決定するためにも用いられており、大当り乱数カウンタを所定のタイミングで更新（インクリメントなど）を行う。そして、遊技球が始動口へ入賞した時点の大当り乱数カウンタの値が、予め設定した大当り値であれば、大当り遊技が開始されて遊技者に有利な状態を提供するものも知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−２３７４０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献に記載されたような遊技機では、遊技制御装置の起動時に、乱数値が初期化されてしまうため、外部から乱数値を捕捉されてしまう虞がある。
【０００８】
本発明は、上記問題点に鑑みてなされたもので、外部からの乱数の捕捉を困難にして不正行為を効果的に防止できるようにすることにある。
【課題を解決するための手段】
【０００９】
以上の課題を解決するため、請求項１に記載の発明は、
遊技プログラムに基づいて遊技の進行を制御することが可能な遊技制御手段と、
前記遊技制御手段による制御に基づき、複数の識別情報を変動表示する変動表示ゲームを実行可能な変動表示手段と、を備え、
前記変動表示ゲームの停止結果が特別結果となった場合に、遊技者に遊技価値を付与可能な遊技機において、
所定の最小値と最大値の範囲内で所定時間毎にカウント値が更新される周期的カウンタと、
前記所定の最小値と最大値の範囲内でカウント値が更新され、該カウント値を前記周期的カウンタの周回初期値として使用される初期値カウンタと、を備え、
前記周期的カウンタを複数設けるとともに、各々の周期的カウンタに対応して前記初期値カウンタを複数設け、
前記遊技プログラムに基づいて前記複数の初期値カウンタのカウント値の更新処理を実行する初期値カウンタ更新手段と、
前記周期的カウンタの周回初期値を対応する前記初期値カウンタのカウント値で更新する周回初期値更新を行う周回初期値更新手段と、
前記初期値カウンタ更新手段による前記更新処理に割り込ませて遊技の進行を制御する処理を実行可能な割込み制御手段と、
を備え、
前記初期値カウンタの初期値を設定したことに対応して、前記割込み制御手段による割り込みの発生を許可し、
前記割込み制御手段による割り込みの発生を許可した状態で、前記初期値カウンタ更新手段による前記更新処理において前記複数の初期値カウンタのカウント値を順次更新させ、
前記初期値カウンタ更新手段による前記更新処理の実行中に、前記割込み制御手段による割り込みが発生した場合に、前記周回初期値更新手段による前記周回初期値更新を、前記初期値カウンタ更新手段による前記更新処理に割り込ませて実行可能に制御することを特徴とする。
【００１０】
請求項１に記載の発明によれば、所定の最小値と最大値の範囲内で所定時間毎にカウント値が更新される周期的カウンタと、前記所定の最小値と最大値の範囲内でカウント値が更新され、該カウント値を前記周期的カウンタの周回初期値として使用される初期値カウンタと、を備え、前記周期的カウンタを複数設けるとともに、各々の周期的カウンタに対応して前記初期値カウンタを複数設け、前記遊技プログラムに基づいて前記複数の初期値カウンタのカウント値の更新処理を実行する初期値カウンタ更新手段と、  前記周期的カウンタの周回初期値を対応する前記初期値カウンタのカウント値で更新する周回初期値更新を行う周回初期値更新手段と、前記初期値カウンタ更新手段による前記更新処理に割り込ませて遊技の進行を制御する処理を実行可能な割込み制御手段と、を備え、前記初期値カウンタの初期値を設定したことに対応して、前記割込み制御手段による割り込みの発生を許可し、前記割込み制御手段による割り込みの発生を許可した状態で、前記初期値カウンタ更新手段による前記更新処理において前記複数の初期値カウンタのカウント値を順次更新させ、前記初期値カウンタ更新手段による前記更新処理の実行中に、前記割込み制御手段による割り込みが発生した場合に、前記周回初期値更新手段による前記周回初期値更新を、前記初期値カウンタ更新手段による前記更新処理に割り込ませて実行可能に制御するので、外部からの乱数の捕捉を困難にして不正行為を効果的に防止できるようになる。
【００１１】
ここで、遊技機には、パチンコ遊技機、アレンジボール遊技機、雀球遊技機などの弾球遊技機などが含まれる。
変動表示装置は、液晶表示装置、ＣＲＴ（陰極線管）表示装置などの単体の装置であっても、また、これら装置と多数の発光素子を配列した表示装置、回転ドラムを使用したメカ式の表示装置などとの組み合わせでもよく、画像表示可能な領域を含んでいればよい。
また、変動表示ゲームは、変動表示装置において、複数の識別情報（例えば、図柄としての文字、数字、記号、キャラクタ等）を変動表示させるものである。
【発明の効果】
【００２６】
本発明によれば、外部からの乱数の捕捉を困難にして不正行為を効果的に防止できるようになる。
【図面の簡単な説明】
【００２７】
【図１】本発明に係る遊技機の一実施形態を示す正面図である。
【図２】実施形態の遊技機における遊技盤の構成例を示す正面図である。
【図３】一括表示装置の詳細を示す拡大説明図である。
【図４】実施形態の遊技機の裏面に設けられる制御システム及び遊技制御装置の構成例を示すブロック図である。
【図５】図４の制御システムにおける演出制御装置の構成例を示すブロック図である。
【図６】遊技用マイコンの詳しい構成を示すブロック構成図である。
【図７】本発明の実施形態の遊技用演算処理装置における乱数生成回路の詳細を示すブロック図である。
【図８】本発明の実施形態における初期値（スタート値）の攪拌更新処理の概略を示す説明図である。
【図９】（ａ）通常遊技状態における普図当り乱数の判定用乱数値及びその振り分け方の一例を示す図、（ｂ）通常遊技状態における大当り乱数の判定用乱数値及びその振り分け方の一例を示す図、（ｃ）通常遊技状態（低確率状態）及び確率変動状態（高確率状態）における大当り図柄乱数の判定用乱数値及びその振り分け方の一例を示す図である。
【図１０】乱数更新コントローラによるメイン処理の前半部分を示すフローチャートである。
【図１１】乱数更新コントローラによるメイン処理のうち、カウンタモードが設定された場合に実行する処理とメイン処理の後半部分のフローチャートである。
【図１２】乱数更新コントローラによるメイン処理のうち、乱数モードが設定された場合に実行する処理のフローチャートである。
【図１３】図１０の乱数更新コントローラによるメイン処理で行なわれる乱数カウンタ初期値補正処理の具体的な手順の一例を示すフローチャートである。
【図１４】本発明の実施形態の遊技制御装置の遊技用マイコンによって実行される遊技制御のうちメイン処理の具体的な手順の前半部分を示すフローチャートである。
【図１５】本発明の実施形態の遊技制御装置の遊技用マイコンによって実行される遊技制御のうちメイン処理の具体的な手順の後半部分を示すフローチャートである。
【図１６】図１５のメイン処理中に実行される初期値乱数更新処理の具体的な手順の一例を示すフローチャートである。
【図１７】本発明の実施形態の遊技制御装置の遊技用マイコンによって実行される遊技制御のうちタイマ割込み処理の具体的な手順の一例を示すフローチャートである。
【図１８】図１７のタイマ割込み処理中に実行される乱数更新処理１の具体的な手順の一例を示すフローチャートである。
【図１９】（Ａ）割込みが発生した際の図１６の初期値乱数更新処理における初期値乱数の更新状況の概念図、（Ｂ）割込みの発生タイミングに応じてスタート値設定レジスタに設定される初期値乱数カウンタの値の概念図である。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の好適な実施の形態を図面に基づいて説明する。
図１は、本発明の一実施形態の遊技機の説明図である。
【００２９】
＜第１実施形態＞
本実施形態の遊技機１０は前面枠１２を備え、該前面枠１２は本体枠（外枠）１１にヒンジ１３を介して開閉回動可能に組み付けられている。遊技盤３０（図２参照）は前面枠１２の表側に形成された収納部（図示省略）に収納されている。また、前面枠（内枠）１２には、遊技盤３０の前面を覆うカバーガラス（透明部材）１４を備えたガラス枠１５が取り付けられている。
【００３０】
また、ガラス枠１５の上部には、内部にランプ及びモータを内蔵した照明装置（ムービングライト）１６や払出異常報知用のランプ（ＬＥＤ）１７が設けられている。また、ガラス枠１５の左右には内部にランプ等を内蔵し装飾や演出のための発光をする枠装飾装置１８や、音響（例えば、効果音）を発するスピーカ（上スピーカ）１９ａが設けられている。さらに、前面枠１２の下部にもスピーカ（下スピーカ）１９ｂが設けられている。
【００３１】
また、前面枠１２の下部には、図示しない打球発射装置に遊技球を供給する上皿２１、遊技機１０の裏面側に設けられている球払出装置から払い出された遊技球が流出する上皿球出口２２、上皿２１が一杯になった状態で払い出された遊技球を貯留する下皿２３及び打球発射装置の操作部２４等が設けられている。さらに、上皿２１の上縁部には、遊技者からの操作入力を受け付けるための操作スイッチを内蔵した演出ボタン２５が設けられている。さらに、前面枠１２下部右側には、前面枠１２を開放したり施錠したりするための鍵２６が設けられている。
【００３２】
この実施形態の遊技機１０においては、遊技者が上記操作部２４を回動操作することによって、打球発射装置が、上皿２１から供給される遊技球を遊技盤３０前面の遊技領域３２に向かって発射する。また、遊技者が演出ボタン２５を操作することによって、表示装置４１（図２参照）における変動表示ゲーム（飾り特図変動表示ゲーム）において、遊技者の操作を介入させた演出等を行わせることができる。さらに、上皿２１上方のガラス枠１５の前面には、遊技者が隣接する球貸機から球貸しを受ける場合に操作する球貸ボタン２７、球貸機のカードユニットからプリペイドカードを排出させるために操作する排出ボタン２８、プリペイドカードの残高を表示する残高表示部（図示省略）等が設けられている。
【００３３】
次に、図２を用いて遊技盤３０の一例について説明する。図２は、本実施形態の遊技盤３０の正面図である。
遊技盤３０の表面には、ガイドレール３１で囲われた略円形状の遊技領域３２が形成されている。遊技領域３２は、遊技盤３０の四隅に各々設けられた樹脂製のサイドケース３３及びガイドレール３１に囲繞されて構成される。遊技領域３２には、ほぼ中央に表示装置４１を備えたセンターケース４０が配置されている。表示装置４１は、センターケース４０に設けられた凹部に、センターケース４０の前面より奥まった位置に取り付けられている。即ち、センターケース４０は表示装置４１の表示領域の周囲を囲い、表示装置４１の表示面よりも前方へ突出するように形成されている。
【００３４】
表示装置４１は、例えば、ＬＣＤ（液晶表示器）、ＣＲＴ（ブラウン管）等の表示画面を有する装置で構成されている。表示画面の画像を表示可能な領域（表示領域）には、複数の識別情報（特別図柄）や特図変動表示ゲームを演出するキャラクタや演出効果を高める背景画像等が表示される。表示装置４１の表示画面においては、識別情報として割り当てられた複数の特別図柄が変動表示（可変表示）されて、特図変動表示ゲームに対応した飾り特図変動表示ゲームが行われる。また、表示画面には遊技の進行に基づく演出のための画像（例えば、大当たり表示画像、ファンファーレ表示画像、エンディング表示画像等）が表示される。
【００３５】
遊技領域３２のセンターケース４０の左側には、普通図柄始動ゲート（普図始動ゲート）３４が設けられている。センターケース４０の左下側には、三つの一般入賞口３５が配置され、センターケース４０の右下側には、一つの一般入賞口３５が配置されている。
これら一般入賞口３５、…には、各一般入賞口３５に入った遊技球を検出するための入賞口スイッチ３５ａ〜３５ｎ（図４参照）が配設されている。
【００３６】
また、センターケース４０の下方には、特図変動表示ゲームの開始条件を与える始動入賞口３６が設けられ、その直下には上部に逆「ハ」の字状に開いて遊技球が流入し易い状態に変換する一対の可動部材３７ｂ、３７ｂを備えるとともに内部に第２始動入賞口を有する普通変動入賞装置（普電）３７が配設されている。
【００３７】
普通変動入賞装置３７の一対の可動部材３７ｂ，３７ｂは、常時は遊技球の直径程度の間隔をおいた閉じた閉状態（遊技者にとって不利な状態）を保持している。ただし、普通変動入賞装置３７の上方には、始動入賞口３６が設けられているので、閉じた状態では遊技球が入賞できないようになっている。
そして、普図変動表示ゲームの結果が所定の停止表示態様となった場合には、駆動装置としての普電ソレノイド３７ｃ（図４参照）によって、逆「ハ」の字状に開いて普通変動入賞装置３７に遊技球が流入し易い開状態（遊技者にとって有利な状態）に変化させられるようになっている。
さらに、普通変動入賞装置３７の下方には、特図変動表示ゲームの結果によって遊技球を受け入れない状態と受け入れ易い状態とに変換可能な特別変動入賞装置（大入賞口）３８が配設されている。
【００３８】
特別変動入賞装置３８は、上端側が手前側に倒れる方向に回動して開放可能になっているアタッカ形式の開閉扉３８ｃを有しており、補助遊技としての特図変動表示ゲームの結果如何によって大入賞口を閉じた状態（遊技者にとって不利な閉塞状態）から開放状態（遊技者にとって有利な状態）に変換する。
即ち、特別変動入賞装置３８は、例えば、駆動装置としての大入賞口ソレノイド３８ｂ（図４参照）により駆動される開閉扉３８ｃによって開閉される大入賞口を備え、特別遊技状態中は、大入賞口を閉じた状態から開いた状態に変換することにより大入賞口内への遊技球の流入を容易にさせ、遊技者に所定の遊技価値（賞球）を付与するようになっている。
【００３９】
なお、大入賞口の内部（入賞領域）には、当該大入賞口に入った遊技球を検出する検出手段としてのカウントスイッチ３８ａ（図４参照）が配設されている。
特別変動入賞装置３８の下方には、入賞口などに入賞しなかった遊技球を回収するアウト口３９が設けられている。
また、遊技領域３２の外側（例えば、遊技盤３０の上部）には、特図変動表示ゲームをなす第１特図変動表示ゲームや第２特図変動表示ゲーム及び普図始動ゲート３４への入賞をトリガとする普図変動表示ゲームを一箇所で実行する一括表示装置５０が設けられている。
【００４０】
一括表示装置５０は、７セグメント型の表示器（ＬＥＤランプ）等で構成された第１特図変動表示ゲーム用の第１特図変動表示部（特図１表示器）５１及び第２特図変動表示ゲーム用の第２特図変動表示部（特図２表示器）５２と、普図変動表示ゲーム用の変動表示部（普図表示器）５３と、同じくＬＥＤランプで構成された各変動表示ゲームの始動記憶数報知用の記憶表示部（保留表示部）５４〜５６を備える。
また、一括表示装置５０には、大当りが発生すると点灯して大当り発生を報知する第１遊技状態表示部（第１遊技状態表示器）５７、時短状態が発生すると点灯して時短状態発生を報知する第２遊技状態表示部（第２遊技状態表示器）６０、遊技機１０の電源投入時に大当りの確率状態が高確率状態となっているエラーを表示するエラー表示部（第３遊技状態表示器）５８、大当り時のラウンド数（特別変動入賞装置３８の開閉回数）を表示するラウンド表示部（ラウンド数表示器）５９が設けられている。
【００４１】
特図１表示器５１と特図２表示器５２における特図変動表示ゲームは、例えば変動表示ゲームの実行中、即ち、表示装置４１において飾り特図変動表示ゲームを行っている間は、中央のセグメントを点滅駆動させて変動中であることを表示する。そして、ゲームの結果が「はずれ」のときは、はずれの結果態様として例えば中央のセグメントを点灯状態にし、ゲームの結果が「当り」のときは、当りの結果態様（特別結果態様）としてはずれの結果態様以外の結果態様（例えば「３」や「７」の数字等）を点灯状態にしてゲーム結果を表示する。
【００４２】
普図表示器５３は、変動中はランプを点滅させて変動中であることを表示する。そして、ゲームの結果が「はずれ」のときは、例えばランプを消灯状態にし、ゲームの結果が「当り」のときはランプを点灯状態にしてゲーム結果を表示する。
【００４３】
特図１保留表示器５４は、特図１表示器５１の変動開始条件となる始動入賞口３６への入賞球数のうち未消化の球数（始動記憶数＝保留数）を表示する。具体的には、保留数が「０」のときは４つのランプを全て消灯状態にし、保留数が「１」のときはランプ１のみを点灯状態にする。また、保留数が「２」のときはランプ１と２を点灯状態にし、保留数が「３」のときはランプ１と２と３を点灯状態にし、保留数が「４」のときは４つのランプ１〜４をすべて点灯状態にする。
【００４４】
特図２保留表示器５５は、特図２表示器５２の変動開始条件となる第２始動入賞口（普通変動入賞装置３７）の始動記憶数（＝保留数）を、特図１保留表示器５４と同様にして表示する。
【００４５】
普図保留表示器５６は、普図表示器５３の変動開始条件となる普図始動ゲート３４の始動記憶数（＝保留数）を表示する。例えば保留数が「０」のときはランプ１と２を消灯状態にし、保留数が「１」のときはランプ１のみを点灯状態にする。また、保留数が「２」のときはランプ１と２を点灯状態にし、保留数が「３」のときはランプ１を点滅、ランプ２を点灯状態にし、保留数が「４」のときはランプ１と２を点滅状態にする。
【００４６】
第１遊技状態表示器５７は、例えば通常の遊技状態の場合にはランプを消灯状態にし、大当りが発生している場合にはランプを点灯状態にする。
第２遊技状態表示器６０は、例えば通常の遊技状態の場合にはランプを消灯状態にし、時短状態が発生している場合にはランプを点灯状態にする。
【００４７】
第３遊技状態表示器５８は、例えば遊技機１０の電源投入時に大当りの確率状態が低確率状態の場合にはランプを消灯状態にし、遊技機１０の電源投入時に大当りの確率状態が高確率状態の場合にはランプを点灯状態にする。
【００４８】
ラウンド表示部（ラウンド数表示器）５９は、例えば、通常の遊技状態の場合にはランプを消灯状態にし、大当りが発生した場合にはその大当りのラウンド数に対応するランプ（２ラウンドｏｒ１６ラウンド）を点灯状態にする。なお、ラウンド表示部（ラウンド数表示器）５９は７セグメント型の表示器で構成してもよい。
【００４９】
本実施形態の遊技機１０では、図示しない発射装置から遊技領域３２に向けて遊技球（パチンコ球）が打ち出されることによって遊技が行われる。打ち出された遊技球は、遊技領域３２内の各所に配置された障害釘や風車等の方向転換部材によって転動方向を変えながら遊技領域３２を流下し、普図始動ゲート３４、一般入賞口３５、始動入賞口３６、普通変動入賞装置３７又は特別変動入賞装置３８に入賞するか、遊技領域３２の最下部に設けられたアウト口３９へ流入し遊技領域から排出される。そして、一般入賞口３５、始動入賞口３６、普通変動入賞装置３７又は特別変動入賞装置３８に遊技球が入賞すると、入賞した入賞口の種類に応じた数の賞球が、払出制御装置２００によって制御される払出ユニットから、前面枠１２の上皿２１又は下皿２３に排出される。
【００５０】
一方、普図始動ゲート３４内には、該普図始動ゲート３４を通過した遊技球を検出するための非接触型のスイッチなどからなるゲートスイッチ３４ａ（図４参照）が設けられており、遊技領域３２内に打ち込まれた遊技球が普図始動ゲート３４内を通過すると、ゲートスイッチ３４ａにより検出されて普図変動表示ゲームが行われる。
また、普図変動表示ゲームを開始できない状態、例えば、既に普図変動表示ゲームが行われ、その普図変動表示ゲームが終了していない状態や、普図変動表示ゲームが当って普通変動入賞装置３７が開状態に変換されている場合に、普図始動ゲート３４を遊技球が通過すると、普図始動記憶数の上限数未満でならば、普図始動記憶数が加算（＋１）されて普図始動記憶が１つ記憶されることとなる。この普図始動入賞の記憶数は、一括表示装置５０の始動入賞数報知用の記憶表示部（普図保留表示器）５６に表示される。
また、普図始動記憶には、普図変動表示ゲームの当りはずれを決定するための当り判定用乱数値（普図乱数値）が記憶されるようになっていて、この当り判定用乱数値が判定値と一致した場合に、当該普図変動表示ゲームが当りとなって特定の結果態様（特定結果）が導出されることとなる。
【００５１】
普図変動表示ゲームは、一括表示装置５０に設けられた変動表示部（普図表示器）５３で実行されるようになっている。普図表示器５３は、普通識別情報（普図、普通図柄）として点灯状態の場合に当たりを示し、消灯状態の場合にはずれを示すＬＥＤから構成され、このＬＥＤを点滅表示することで普通識別情報の変動表示を行い、所定の変動表示時間の経過後、ＬＥＤを点灯又は消灯することで結果を表示するようになっている。
なお、普通識別情報として例えば数字、記号、キャラクタ図柄などを用い、これを所定時間変動表示させた後、停止表示させることにより行うように構成しても良い。この普図変動表示ゲームの停止表示が特定結果となれば、普図の当りとなって、普通変動入賞装置３７の一対の可動部材３７ｂが所定時間（例えば、０．３秒間）開放される開状態となる。これにより、普通変動入賞装置３７の内部の第２始動入賞口へ遊技球が入賞し易くなり、第２特図変動表示ゲームが実行される回数が多くなる。
【００５２】
普図始動ゲート３４への通過検出時に抽出した普図乱数値が当たり値であるときには、普図表示器５３に表示される普通図柄が当たり状態で停止し、当たり状態となる。このとき、普通変動入賞装置３７は、内蔵されている普電ソレノイド３７ｃ（図４参照）が駆動されることにより、可動部材３７ｂが所定の時間（例えば、０．３秒間）だけ開放する状態に変換され、遊技球の入賞が許容される。
【００５３】
始動入賞口３６への入賞球及び普通変動入賞装置３７への入賞球は、それぞれは内部に設けられた始動口１スイッチ３６ａと始動口２スイッチ３７ａによって検出される。始動入賞口３６へ入賞した遊技球は第１特図変動表示ゲームの始動入賞球として検出され、所定の上限数（例えば、４個）を限度に記憶されるとともに、普通変動入賞装置３７へ入賞した遊技球は第２特図変動表示ゲームの始動入賞球として検出され、所定の上限数（例えば、４個）を限度に記憶される。
また、この始動入賞球の検出時にそれぞれ大当り乱数値や大当り図柄乱数値、並びに各変動パターン乱数値が抽出され、抽出された乱数値は、遊技制御装置１００（図４参照）内の特図記憶領域（ＲＡＭの一部）に特図始動記憶として各々所定回数（例えば、最大で４回分）を限度に記憶される。そして、この特図始動記憶の記憶数は、一括表示装置５０の始動入賞数報知用の記憶表示部５４、５５に表示されるとともに、センターケース４０の表示装置４１においても表示される。
【００５４】
遊技制御装置１００は、始動入賞領域としての始動入賞口（第１始動入賞口）３６若しくは普通変動入賞装置（第２始動入賞口）３７への入賞、又はそれらの始動記憶に基づいて、特図表示器５１又は５２で第１又は第２特図変動表示ゲームを行う。
第１特図変動表示ゲーム及び第２特図変動表示ゲームは、複数の特別図柄（特図、識別情報）を変動表示したのち、所定の結果態様を停止表示することで行われる。また、表示装置４１にて各特図変動表示ゲームに対応して複数種類の識別情報（例えば、数字、記号、キャラクタ図柄など）を変動表示させる飾り特図変動表示ゲームが実行されるようになっている。
そして、特図変動表示ゲームの結果として、特図１表示器５１若しくは特図２表示器５２の表示態様が特別結果態様となった場合には、大当りとなって特別遊技状態（いわゆる、大当り状態）となる。また、これに対応して表示装置４１の表示態様も特別結果態様となる。
【００５５】
表示装置４１における飾り特図変動表示ゲームは、例えば前述した数字等で構成される飾り特別図柄（識別情報）が左（第一特別図柄）、右（第二特別図柄）、中（第三特別図柄）の順に変動表示を開始して、所定時間後に変動している図柄を順次停止させて、特図変動表示ゲームの結果を表示することで行われる。また、表示装置４１では、特図始動記憶数に対応する飾り特別図柄による変動表示ゲームを行うとともに、興趣向上のためにキャラクタの出現など多様な演出表示が行われる。これにより、表示装置４１は、始動入賞領域への遊技球の入賞に基づき、複数の識別情報を変動表示する変動表示ゲームを実行可能な変動表示装置をなす。
【００５６】
なお、特図１表示器５１、特図２表示器５２は、別々の表示器でも良いし同一の表示器でも良いが、各々独立して、また、同時には実行しないように各特図変動表示ゲームが表示される。また、表示装置４１も、第１特図変動表示ゲームと第２特図変動表示ゲームで別々の表示装置や別々の表示領域を使用するとしても良いし、同一の表示装置や表示領域を使用するとしても良いが、各々独立して、また、同時には実行しないように飾り特図変動表示ゲームが表示される。また、遊技機１０に特図１表示器５１、特図２表示器５２を備えずに、表示装置４１のみで特図変動表示ゲームを実行するようにしても良い。
また、第２特図変動表示ゲームは、第１特図変動表示ゲームよりも優先して実行されるようになっている。即ち、第１特図変動表示ゲームと第２特図変動表示ゲームの始動記憶がある場合であって、特図変動表示ゲームの実行が可能となった場合は、第２特図変動表示ゲームが実行されるようになっている。
【００５７】
また、第１特図変動表示ゲーム（第２特図変動表示ゲーム）が開始可能な状態で、且つ、始動記憶数が０の状態で、始動入賞口３６（若しくは、普通変動入賞装置３７）に遊技球が入賞すると、始動権利の発生に伴って始動記憶が記憶されて、始動記憶数が１加算されるととともに、直ちに始動記憶に基づいて、第１特図変動表示ゲーム（第２特図変動表示ゲーム）が開始され、この際に始動記憶数が１減算される。
【００５８】
一方、第１特図変動表示ゲーム（第２特図変動表示ゲーム）が直ちに開始できない状態、例えば、既に第１若しくは第２特図変動表示ゲームが行われ、その特図変動表示ゲームが終了していない状態や、特別遊技状態となっている場合に、始動入賞口３６（若しくは、普通変動入賞装置３７）に遊技球が入賞すると、始動記憶数が上限数未満ならば、始動記憶数が１加算されて始動記憶が１つ記憶されることになる。そして、始動記憶数が１以上となった状態で、第１特図変動表示ゲーム（第２特図変動表示ゲーム）が開始可能な状態（前回の特図変動表示ゲームの終了若しくは特別遊技状態の終了）となると、始動記憶数が１減算されるとともに、記憶された始動記憶に基づいて第１特図変動表示ゲーム（第２特図変動表示ゲーム）が開始される。
なお、以下の説明において、第１特図変動表示ゲームと第２特図変動表示ゲームを区別しない場合は、単に特図変動表示ゲームと称する。
【００５９】
なお、特に限定されるわけではないが、上記始動入賞口３６内の始動口１スイッチ３６ａ、普通変動入賞装置３７内の始動口２スイッチ３７ａ、ゲートスイッチ３４ａ、一般入賞口スイッチ３５ａ〜３５ｎ、カウントスイッチ３８ａには、磁気検出用のコイルを備え該コイルに金属が近接すると磁界が変化する現象を利用して遊技球を検出する非接触型の磁気近接センサ（以下、近接スイッチと称する）が使用されている。遊技機１０のガラス枠１５等に設けられた前枠開放検出スイッチ６３や前面枠（遊技枠）１２等に設けられた遊技枠開放検出スイッチ６４には、機械的な接点を有するマイクロスイッチを用いることができる。
【００６０】
図４は、本実施形態のパチンコ遊技機１０の制御システムのブロック図である。
遊技機１０は遊技制御装置１００を備え、遊技制御装置１００は、遊技を統括的に制御する主制御装置（主基板）であって、遊技用マイクロコンピュータ（以下、遊技用マイコンと称する）１１１を有するＣＰＵ部１１０と、入力ポートを有する入力部１２０と、出力ポートやドライバなどを有する出力部１３０、ＣＰＵ部１１０と入力部１２０と出力部１３０との間を接続するデータバス１４０などからなる。
【００６１】
上記ＣＰＵ部１１０は、アミューズメントチップ（ＩＣ）と呼ばれる遊技用マイコン（ＣＰＵ）１１１と、入力部１２０内の近接スイッチ用のインタフェースチップ（近接Ｉ／Ｆ）１２１からの信号（始動入賞検出信号）を論理反転して遊技用マイコン１１１に入力させるインバータなどからなる反転回路１１２と、水晶振動子のような発振子を備え、ＣＰＵの動作クロックやタイマ割込み、乱数生成回路の基準となるクロックを生成する発振回路（水晶発振器）１１３などを有する。遊技制御装置１００及び該遊技制御装置１００によって駆動されるソレノイドやモータなどの電子部品には、電源装置４００で生成されたＤＣ３２Ｖ，ＤＣ１２Ｖ，ＤＣ５Ｖなど所定のレベルの直流電圧が供給されて動作可能にされる。
【００６２】
電源装置４００は、２４Ｖの交流電源から上記ＤＣ３２Ｖの直流電圧を生成するＡＣ−ＤＣコンバータやＤＣ３２Ｖの電圧からＤＣ１２Ｖ，ＤＣ５Ｖなどのより低いレベルの直流電圧を生成するＤＣ−ＤＣコンバータなどを有する通常電源部４１０と、遊技用マイコン１１１の内部のＲＡＭに対して停電時に電源電圧を供給するバックアップ電源部４２０と、停電監視回路や初期化スイッチを有し遊技制御装置１００に停電の発生、回復を知らせる停電監視信号や初期化スイッチ信号、リセット信号などの制御信号を生成して出力する制御信号生成部４３０などを備える。
【００６３】
この実施形態では、電源装置４００は、遊技制御装置１００と別個に構成されているが、バックアップ電源部４２０及び制御信号生成部４３０は、別個の基板上あるいは遊技制御装置１００と一体、即ち、主基板上に設けるように構成してもよい。遊技盤３０及び遊技制御装置１００は機種変更の際に交換の対象となるので、実施例のように、電源装置４００若しくは主基板とは別の基板にバックアップ電源部４２０及び制御信号生成部４３０を設けることにより、交換の対象から外しコストダウンを図ることができる。
【００６４】
上記バックアップ電源部４２０は、電解コンデンサのような大容量のコンデンサ１つで構成することができる。バックアップ電源は、遊技制御装置１００の遊技用マイコン１１１（特に内蔵ＲＡＭ）に供給され、停電中あるいは電源遮断後もＲＡＭに記憶されたデータが保持されるようになっている。制御信号生成部４３０は、例えば通常電源部４１０で生成された３２Ｖの電圧を監視してそれが例えば１７Ｖ以下に下がると停電発生を検出して停電監視信号を変化させるとともに、所定時間後にリセット信号を出力する。また、電源投入時や停電回復時にもその時点から所定時間経過後にリセット信号を出力する。
【００６５】
初期化スイッチ信号は初期化スイッチがオン状態にされたときに生成される信号で、遊技用マイコン１１１内のＲＡＭ１１１Ｃ及び払出制御装置２００内のＲＡＭに記憶されている情報を強制的に初期化する。特に限定されるわけではないが初期化スイッチ信号は電源投入時に読み込まれ、停電監視信号は遊技用マイコン１１１が実行するメインプログラムのメインループの中で繰り返し読み込まれる。リセット信号は強制割込み信号の一種であり、制御システム全体をリセットさせる。
【００６６】
遊技用マイコン１１１は、遊技を統括的に制御する制御手段を構成している。具体的には、遊技用マイコン１１１は、ＣＰＵ（中央処理ユニット：マイクロプロセッサ）１１１Ａ、読出し専用のＲＯＭ（リードオンリメモリ）１１１Ｂ及び随時読出し書込み可能なＲＡＭ（ランダムアクセスメモリ）１１１Ｃを備える。
【００６７】
ＲＯＭ１１１Ｂは、遊技制御のための不変の情報（プログラム、固定データ、各種乱数の判定値等）を不揮発的に記憶し、ＲＡＭ１１１Ｃは、遊技制御時にＣＰＵ１１１Ａの作業領域や各種信号や乱数値の記憶領域として利用される。ＲＯＭ１１１Ｂ又はＲＡＭ１１１Ｃとして、ＥＥＰＲＯＭのような電気的に書換え可能な不揮発性メモリを用いてもよい。
【００６８】
また、ＲＯＭ１１１Ｂは、例えば、特図変動表示ゲームの実行時間、演出内容、リーチ状態の発生の有無などを規定する変動パターンを決定するための変動パターンテーブルを記憶している。
変動パターンテーブルとは、始動記憶として記憶されている変動パターン乱数１〜３をＣＰＵ１１１Ａが参照して変動パターンを決定するためのテーブルである。また、変動パターンテーブルには、結果がはずれとなる場合に選択されるはずれ変動パターンテーブル、結果が１６Ｒ大当りや２Ｒ大当りとなる場合に選択される大当り変動パターンテーブル等が含まれる。さらに、これらのパターンテーブルには、後半変動パターンテーブル、前半変動パターンテーブルが含まれている。
【００６９】
また、リーチ（リーチ状態）とは、表示状態が変化可能な表示装置を有し、該表示装置が時期を異ならせて複数の表示結果を導出表示し、該複数の表示結果が予め定められた特別結果態様となった場合に、遊技状態が遊技者にとって有利な遊技状態（特別遊技状態）となる遊技機１０において、複数の表示結果の一部がまだ導出表示されていない段階で、既に導出表示されている表示結果が特別結果態様となる条件を満たしている表示状態をいう。また、別の表現をすれば、リーチ状態とは、表示装置の変動表示制御が進行して表示結果が導出表示される前段階にまで達した時点でも、特別結果態様となる表示条件からはずれていない表示態様をいう。そして、例えば、特別結果態様が揃った状態を維持しながら複数の変動表示領域による変動表示を行う状態（いわゆる全回転リーチ）もリーチ状態に含まれる。また、リーチ状態とは、表示装置の表示制御が進行して表示結果が導出表示される前段階にまで達した時点での表示状態であって、表示結果が導出表示される以前に決定されている複数の変動表示領域の表示結果の少なくとも一部が特別結果態様となる条件を満たしている場合の表示状態をいう。
【００７０】
よって、例えば、特図変動表示ゲームに対応して表示装置に表示される飾り特図変動表示ゲームが、表示装置における左、中、右の変動表示領域の各々で所定時間複数の識別情報を変動表示した後、左、右、中の順で変動表示を停止して結果態様を表示するものである場合、左、右の変動表示領域で、特別結果態様となる条件を満たした状態（例えば、同一の識別情報）で変動表示が停止した状態がリーチ状態となる。またこの他に、すべての変動表示領域の変動表示を一旦停止した時点で、左、中、右のうち何れか二つの変動表示領域で特別結果態様となる条件を満たした状態（例えば、同一の識別情報となった状態、ただし特別結果態様は除く）をリーチ状態とし、このリーチ状態から残りの一つの変動表示領域を変動表示するようにしても良い。そして、このリーチ状態には複数のリーチ演出が含まれ、特別結果態様が導出される可能性が異なる（期待度が異なる）リーチ演出として、ノーマルリーチ、スペシャル１リーチ、スペシャル２リーチ等が設定されている。
【００７１】
なお、期待度は、リーチなし＜ノーマルリーチ＜スペシャル１リーチ＜スペシャル２リーチの順に高くなるようになっている。また、このリーチ状態は、少なくとも特図変動表示ゲームで特別結果態様が導出される場合（大当りとなる場合）における変動表示態様に含まれるようになっている。即ち、特図変動表示ゲームで特別結果態様が導出されないと判定すると（はずれとなる場合）における変動表示態様に含まれることもある。よって、リーチ状態が発生した状態は、リーチ状態が発生しない場合に比べて大当りとなる可能性の高い状態である。
【００７２】
ＣＰＵ１１１Ａは、ＲＯＭ１１１Ｂ内の遊技制御用プログラムを実行して、払出制御装置２００や演出制御装置３００に対する制御信号（コマンド）を生成したりソレノイドや表示装置の駆動信号を生成して出力して遊技機１０全体の制御を行う。
また、後述するように、遊技用マイコン１１１は、特図変動表示ゲームの大当り判定用乱数や大当りの図柄を決定するための大当り図柄乱数、普図変動表示ゲームの当り判定用乱数等を生成するための乱数生成回路６０８と、発振回路１１３からの発振信号（原クロック信号）に基づいてＣＰＵ１１１Ａに対する所定周期（例えば、４ミリ秒）のタイマ割込み信号や乱数生成回路の更新タイミングを与えるクロックを生成するクロックジェネレータ６０９を備えている。
【００７３】
払出制御装置２００は、図示しないが、ＣＰＵ、ＲＯＭ、ＲＡＭ、入力インタフェース、出力インタフェース等を備え、遊技制御装置１００からの賞球払出し指令（コマンドやデータ）に従って、払出ユニットの払出モータを駆動させ、賞球を払い出させるための制御を行う。また、払出制御装置２００は、カードユニットからの貸球要求信号に基づいて払出ユニットの払出モータを駆動させ、貸球を払い出させるための制御を行う。
【００７４】
遊技用マイコン１１１の入力部１２０には、始動入賞口３６内の始動口１スイッチ３６ａ、普通変動入賞装置３７内の始動口２スイッチ３７ａ、普図始動ゲート３４内のゲートスイッチ３４ａ、一般入賞口スイッチ３５ａ〜３５ｎ、カウントスイッチ３８ａに接続され、これらのスイッチから供給されるハイレベルが１１Ｖでロウレベルが７Ｖのような負論理の信号が入力され、０Ｖ−５Ｖの正論理の信号に変換するインタフェースチップ（近接Ｉ／Ｆ）１２１が設けられている。近接Ｉ／Ｆ１２１は、入力の範囲が７Ｖ−１１Ｖとされることで、近接スイッチのリード線が不正にショートされたり、スイッチがコネクタから外されたり、リード線が切断されてフローティングになったような異常な状態を検出することができ、異常検知信号を出力するように構成されている。
【００７５】
近接Ｉ／Ｆ１２１の出力はすべて第２入力ポート１２２へ供給されデータバス１４０を介して遊技用マイコン１１１に読み込まれるとともに、主基板１００から中継基板７０を介して図示しない試射試験装置へ供給されるようになっている。また、近接Ｉ／Ｆ１２１の出力のうち始動口１スイッチ３６ａと始動口２スイッチ３７ａの検出信号は、第２入力ポート１２２の他、反転回路１１２を介して遊技用マイコン１１１へ入力されるように構成されている。反転回路１１２を設けているのは、遊技用マイコン１１１の信号入力端子が、マイクロスイッチなどからの信号が入力されることを想定し、かつ負論理、即ち、ロウレベル（０Ｖ）を有効レベルとして検知するように設計されているためである。
【００７６】
従って、始動口１スイッチ３６ａと始動口２スイッチ３７ａとしてマイクロスイッチを使用する場合には、反転回路１１２を設けずに直接遊技用マイコン１１１へ検出信号を入力させるように構成することができる。つまり、始動口１スイッチ３６ａと始動口２スイッチ３７ａからの負論理の信号を直接遊技用マイコン１１１へ入力させたい場合には、近接スイッチを使用することはできない。上記のように近接Ｉ／Ｆ１２１は、信号のレベル変換機能を有する。このようなレベル変換機能を可能にするため、近接Ｉ／Ｆ１２１には、電源装置４００から通常のＩＣの動作に必要な例えば５Ｖのような電圧の他に、１２Ｖの電圧が供給されるようになっている。
【００７７】
また、入力部１２０には、遊技機１０の前面枠１２等に設けられた不正検出用の磁気センサスイッチ６１及び振動センサスイッチ６２からの信号及び上記近接Ｉ／Ｆ１２１により変換された始動入賞口３６内の始動口１スイッチ３６ａ、普通変動入賞装置３７内の始動口２スイッチ３７ａ、ゲートスイッチ３４ａ、一般入賞口スイッチ３５ａ〜３５ｎ、カウントスイッチ３８ａからの信号を取り込んでデータバス１４０を介して遊技用マイコン１１１に供給する第２入力ポート１２２が設けられている。第２入力ポート１２２が保持しているデータは、遊技用マイコン１１１が第２入力ポート１２２に割り当てられているアドレスをデコードすることによってイネーブル信号ＣＥ１をアサート（有効レベルに変化）することよって、読み出すことができる。後述の他のポートも同様である。
【００７８】
さらに、入力部１２０には、遊技機１０のガラス枠１５等に設けられた前枠開放検出スイッチ６３及び前面枠（遊技枠）１２等に設けられた遊技枠開放検出スイッチ６４からの信号及び払出制御装置２００からの払出異常を示すステータス信号や払出し前の遊技球の不足を示すシュート球切れスイッチ信号、オーバーフローを示すオーバーフロースイッチ信号を取り込んでデータバス１４０を介して遊技用マイコン１１１に供給する第１入力ポート１２３が設けられている。オーバーフロースイッチ信号は、下皿２３に遊技球が所定量以上貯留されていること（満杯になったこと）を検出したときに出力される信号である。
【００７９】
また、入力部１２０には、電源装置４００からの停電監視信号や初期化スイッチ信号、リセット信号などの信号を遊技用マイコン１１１等に入力するためのシュミットトリガ回路１２４が設けられており、シュミットトリガ回路１２４はこれらの入力信号からノイズを除去する機能を有する。電源装置４００からの信号のうち停電監視信号と初期化スイッチ信号は、一旦第１入力ポート１２３に入力され、データバス１４０を介して遊技用マイコン１１１に取り込まれる。つまり、前述の各種スイッチからの信号と同等の信号として扱われる。遊技用マイコン１１１に設けられている外部からの信号を受ける端子の数には制約があるためである。
【００８０】
一方、シュミットトリガ回路１２４によりノイズ除去されたリセット信号ＲＳＴは、遊技用マイコン１１１に設けられているリセット端子に直接入力されるとともに、出力部１３０の各ポートに供給される。また、リセット信号ＲＳＴは出力部１３０を介さずに直接中継基板７０に出力することで、試射試験装置へ出力するために中継基板７０のポート（図示省略）に保持される試射試験信号をオフするように構成されている。また、リセット信号ＲＳＴを中継基板７０を介して試射試験装置へ出力可能に構成するようにしてもよい。なお、リセット信号ＲＳＴは入力部１２０の各ポート１２２，１２３には供給されない。リセット信号ＲＳＴが入る直前に遊技用マイコン１１１によって出力部１３０の各ポートに設定されたデータはシステムの誤動作を防止するためリセットする必要があるが、リセット信号ＲＳＴが入る直前に入力部１２０の各ポートから遊技用マイコン１１１が読み込んだデータは、遊技用マイコン１１１のリセットによって廃棄されるためである。
【００８１】
出力部１３０は、データバス１４０に接続され払出制御装置２００へ出力する４ビットのデータ信号とデータの有効／無効を示す制御信号（データストローブ信号）及び演出制御装置３００へ出力するデータストローブ信号ＳＳＴＢを生成する第１出力ポート１３１と、演出制御装置３００へ出力する８ビットのデータ信号を生成する第２出力ポート１３２とを備える。遊技制御装置１００から払出制御装置２００及び演出制御装置３００へは、パラレル通信でデータが送信される。また、出力部１３０には、演出制御装置３００の側から遊技制御装置１００へ信号を入力できないようにするため、即ち、片方向通信を担保するために第１出力ポート１３１からの上記データストローブ信号ＳＳＴＢ及び第２出力ポート１３２からの８ビットのデータ信号を出力する単方向のバッファ１３３が設けられている。なお、第１出力ポート１３１から払出制御装置２００へ出力する信号に対してもバッファを設けるようにしてもよい。
【００８２】
さらに、出力部１３０には、データバス１４０に接続され図示しない認定機関の試射試験装置へ変動表示ゲームの特図図柄情報を知らせるデータや大当りの確率状態を示す信号などを中継基板７０を介して出力するバッファ１３４が実装可能に構成されている。このバッファ１３４は遊技店に設置される実機（量産販売品）としてのパチンコ遊技機の遊技制御装置（主基板）には実装されない部品である。なお、前記近接Ｉ／Ｆ１２１から出力される始動口スイッチなど加工の必要のないスイッチの検出信号は、バッファ１３４を通さずに中継基板７０を介して試射試験装置へ供給される。
【００８３】
一方、磁気センサスイッチ６１や振動センサスイッチ６２のようにそのままでは試射試験装置へ供給できない検出信号は、一旦遊技用マイコン１１１に取り込まれて他の信号若しくは情報に加工されて、例えば遊技機が遊技制御できない状態であることを示すエラー信号としてデータバス１４０からバッファ１３４、中継基板７０を介して試射試験装置へ供給される。なお、中継基板７０には、上記バッファ１３４から出力された信号を取り込んで試射試験装置へ供給するポートや、バッファを介さないスイッチの検出信号の信号線を中継して伝達するコネクタなどが設けられている。中継基板７０上のポートには、遊技用マイコン１１１から出力されるチップイネーブル信号ＣＥも供給され、該信号ＣＥにより選択制御されたポートの信号が試射試験装置へ供給されるようになっている。
【００８４】
また、出力部１３０には、データバス１４０に接続され特別変動入賞装置３８を開成させるソレノイド（大入賞口ソレノイド）３８ｂや普通変動入賞装置３７の可動部材３７ｂを開成させるソレノイド（普電ソレノイド）３７ｃの開閉データと、一括表示装置５０のＬＥＤのカソード端子が接続されているデジット線のオン／オフデータを出力するための第３出力ポート１３５、一括表示装置５０に表示する内容に応じてＬＥＤのアノード端子が接続されているセグメント線のオン／オフデータを出力するための第４出力ポート１３６、大当り情報など遊技機１０に関する情報を外部情報端子７１へ出力するための第５出力ポート１３７が設けられている。外部情報端子７１から出力された遊技機１０に関する情報は、例えば遊技店に設置された情報収集端末や遊技場内部管理装置（図示省略）に供給される。
【００８５】
さらに、出力部１３０には、第３出力ポート１３５から出力される大入賞口ソレノイド３８ｂの開閉データ信号を受けてソレノイド駆動信号や普電ソレノイド３７ｃの開閉データ信号を受けてソレノイド駆動信号を生成し出力する第１ドライバ（駆動回路）１３８ａ、第３出力ポート１３５から出力される一括表示装置５０の電流引き込み側のデジット線のオン／オフ駆動信号を出力する第２ドライバ１３８ｂ、第４出力ポート１３６から出力される一括表示装置５０の電流供給側のセグメント線のオン／オフ駆動信号を出力する第３ドライバ１３８ｃ、第５出力ポート１３７から管理装置等の外部装置へ供給する外部情報信号を外部情報端子７１へ出力する第４ドライバ１３８ｄが設けられている。
【００８６】
上記第１ドライバ１３８ａには、３２Ｖで動作するソレノイドを駆動できるようにするため、電源電圧としてＤＣ３２Ｖが電源装置４００から供給される。また、一括表示装置５０のセグメント線を駆動する第３ドライバ１３８ｃには、ＤＣ１２Ｖが供給される。デジット線を駆動する第２ドライバ１３８ｂは、表示データに応じたデジット線を電流で引き抜くためのものであるため、電源電圧は１２Ｖ又は５Ｖのいずれであってもよい。１２Ｖを出力する第３ドライバ１３８ｃによりセグメント線を介してＬＥＤのアノード端子に電流を流し込み、接地電位を出力する第２ドライバ１３８ｂによりカソード端子よりセグメント線を介して電流を引き抜くことで、ダイナミック駆動方式で順次選択されたＬＥＤに電源電圧が流れて点灯される。外部情報信号を外部情報端子７１へ出力する第４ドライバ１３８ｄは、外部情報信号に１２Ｖのレベルを与えるため、ＤＣ１２Ｖが供給される。なお、バッファ１３４や第３出力ポート１３５、第１ドライバ１３８ａ等は、遊技制御装置１００の出力部１３０、即ち、主基板ではなく、中継基板７０側に設けるようにしてもよい。
【００８７】
さらに、出力部１３０には、外部の検査装置５００へ各遊技機の識別コードやプログラムなどの情報を送信するためのフォトカプラ１３９が設けられている。フォトカプラ１３９は、遊技用マイコン１１１が検査装置５００との間でシリアル通信によってデータの送受信を行えるように双方通信可能に構成されている。なお、かかるデータの送受信は、通常の汎用マイクロプロセッサと同様に遊技用マイコン１１１が有するシリアル通信端子を利用して行われるため、入力ポート１２２，１２３のようなポートは設けられていない。
【００８８】
次に、図５を用いて、演出制御装置３００の構成について説明する。
演出制御装置３００は、遊技用マイコン１１１と同様にアミューズメントチップ（ＩＣ）からなる主制御用マイコン（１ｓｔＣＰＵ）３１１と、該１ｓｔＣＰＵ３１１の制御下でもっぱら映像制御を行う映像制御用マイコン（２ｎｄＣＰＵ）３１２と、該２ｎｄＣＰＵ３１２からのコマンドやデータに従って表示装置４１への映像表示のための画像処理を行うグラフィックプロセッサとしてのＶＤＰ（Video Display Processor）３１３と、各種のメロディや効果音などをスピーカ１９ａ，１９ｂから再生させるため音の出力を制御する音源ＬＳＩ３１４を備えている。
【００８９】
上記主制御用マイコン（１ｓｔＣＰＵ）３１１と映像制御用マイコン（２ｎｄＣＰＵ）３１２には、各ＣＰＵが実行するプログラムを格納したＰＲＯＭ（プログラマブルリードオンリメモリ）からなるプログラムＲＯＭ３２１、３２２がそれぞれ接続され、ＶＤＰ３１３にはキャラクタ画像や映像データが記憶された画像ＲＯＭ３２３が接続され、音源ＬＳＩ３１４には音声データが記憶された音ＲＯＭ３２４が接続されている。主制御用マイコン（１ｓｔＣＰＵ）３１１は、遊技用マイコン１１１からのコマンドを解析し、演出内容を決定して映像制御用マイコン３１２へ出力映像の内容を指示したり、音源ＬＳＩ３１４への再生音の指示、装飾ランプの点灯、モータの駆動制御、演出時間の管理などの処理を実行する。主制御用マイコン（１ｓｔＣＰＵ）３１１と映像制御用マイコン（２ｎｄＣＰＵ）３１２の作業領域を提供するＲＡＭは、それぞれのチップ内部に設けられている。なお、作業領域を提供するＲＡＭはチップの外部に設けるようにしてもよい。
【００９０】
特に限定されるわけではないが、主制御用マイコン（１ｓｔＣＰＵ）３１１と映像制御用マイコン（２ｎｄＣＰＵ）３１２との間、主制御用マイコン（１ｓｔＣＰＵ）３１１と音源ＬＳＩ３１４との間は、それぞれシリアル方式でデータの送受信が行なわれ、映像制御用マイコン（２ｎｄＣＰＵ）３１２との間、主制御用マイコン（１ｓｔＣＰＵ）３１１とＶＤＰ３１３との間は、パラレル方式でデータの送受信が行なわれるように構成されている。パラレル方式でデータを送受信することで、シリアルの場合よりも短時間にコマンドやデータを送信することができる。ＶＤＰ３１３には、画像ＲＯＭ３２３から読み出されたキャラクタなどの画像データを展開したり加工したりするのに使用される超高速なＶＲＡＭ（ビデオＲＡＭ）３１３ａや、画像を拡大、縮小処理するためのスケーラ３１３ｂ、ＬＶＤＳ（小振幅信号伝送）方式で表示装置４１へ送信する映像信号を生成する信号変換回路３１３ｃなどが設けられている。
【００９１】
ＶＤＰ３１３から主制御用マイコン３１１へは表示装置４１の映像と前面枠１２や遊技盤３０に設けられている装飾ランプの点灯を同期させるために垂直同期信号ＶＳＹＮＣが入力される。さらに、ＶＤＰ３１３から映像制御用マイコン３１２へは、ＶＲＡＭへの描画の終了等処理状況を知らせるため割込み信号ＩＮＴ０〜ｎ及び映像制御用マイコン３１２からのコマンドやデータの受信待ちの状態にあることを知らせるためのウェイト信号ＷＡＩＴが入力される。また、映像制御用マイコン３１２から主制御用マイコン３１１へは、映像制御用マイコン３１２が正常に動作していることを知らせるとともにコマンドの送信タイミングを与える同期信号ＳＹＮＣが入力される。主制御用マイコン３１１と音源ＬＳＩ３１４との間は、ハンドシェイク方式でコマンドやデータの送受信を行うために、呼び掛け（コール）信号ＣＴＳと応答（レスポンス）信号ＲＴＳが交換される。
【００９２】
なお、映像制御用マイコン（２ｎｄＣＰＵ）３１２には、主制御用マイコン（１ｓｔＣＰＵ）３１１よりも高速なつまり高価なＣＰＵが使用されている。主制御用マイコン（１ｓｔＣＰＵ）３１１とは別に映像制御用マイコン（２ｎｄＣＰＵ）３１２を設けて処理を分担させることによって、主制御用マイコン（１ｓｔＣＰＵ）３１１のみでは実現困難な大画面で動きの速い映像を表示装置４１に表示させることが可能となるとともに、映像制御用マイコン（２ｎｄＣＰＵ）３１２と同等な処理能力を有するＣＰＵを２個使用する場合に比べてコストの上昇を抑制することができる。また、ＣＰＵを２つ設けることによって、２つのＣＰＵの制御プログラムを別々に並行して開発することが可能となり、これによって新機種の開発期間を短縮することができる。
【００９３】
また、演出制御装置３００には、遊技制御装置１００から送信されてくるコマンドを受信するインタフェースチップ（コマンドＩ／Ｆ）３３１が設けられている。このコマンドＩ／Ｆ３３１を介して、遊技制御装置１００から演出制御装置３００へ送信された変動開始コマンド、客待ちデモコマンド、ファンファーレコマンド、確率情報コマンド、エラー指定コマンド、始動口入賞演出コマンド、始動口入賞演出図柄コマンド等を、演出制御指令信号として受信する。遊技制御装置１００の遊技用マイコン１１１はＤＣ５Ｖで動作し、演出制御装置３００の主制御用マイコン（１ｓｔＣＰＵ）３１１はＤＣ３．３Ｖで動作するため、コマンドＩ／Ｆ３３１には信号のレベル変換の機能が設けられている。
【００９４】
また、演出制御装置３００には、遊技盤３０（センターケース４０を含む）に設けられているＬＥＤ（発光ダイオード）を有する盤装飾装置４２を駆動制御する盤装飾ＬＥＤ制御回路３３２、前面枠１２に設けられているＬＥＤ（発光ダイオード）を有する枠装飾装置（例えば枠装飾装置１８等）を駆動制御する枠装飾ＬＥＤ制御回路３３３、遊技盤３０（センターケース４０を含む）に設けられている盤演出装置（例えば表示装置４１における演出表示と協働して演出効果を高める電動役物等）４４を駆動制御する盤演出モータ／ＳＯＬ制御回路３３４、前面枠１２に設けられているモータ（例えば前記ムービングライト１６を動作させるモータ等）４５を駆動制御する枠演出モータ制御回路３３５が設けられている。なお、ランプやモータ及びソレノイドなどを駆動制御するこれらの制御回路３３２〜３３５は、アドレス／データバス３４０を介して主制御用マイコン（１ｓｔＣＰＵ）３１１と接続されている。
【００９５】
さらに、演出制御装置３００には、前面枠１２に設けられた演出ボタン２５に内蔵されているスイッチ２５ａや上記盤演出装置４４内のモータの初期位置を検出する演出モータスイッチのオン／オフ状態を検出して主制御用マイコン（１ｓｔＣＰＵ）３１１へ検出信号を入力するスイッチ入力回路３３６、前面枠１２に設けられた上スピーカ１９ａを駆動するオーディオパワーアンプなどからなるアンプ回路３３７ａ、前面枠１２に設けられた下スピーカ１９ｂを駆動するアンプ回路３３７ｂが設けられている。
【００９６】
電源装置４００の通常電源部４１０は、上記のような構成を有する演出制御装置３００やそれによって制御される電子部品に対して所望のレベルの直流電圧を供給するため、モータやソレノイドを駆動するためのＤＣ３２Ｖ、液晶パネルからなる表示装置４１を駆動するためのＤＣ１２Ｖ、コマンドＩ／Ｆ３３１の電源電圧となるＤＣ５Ｖの他に、ＬＥＤやスピーカを駆動するためのＤＣ１８Ｖやこれらの直流電圧の基準としたり電源モニタランプを点灯させるのに使用するＮＤＣ２４Ｖの電圧を生成するように構成されている。さらに、主制御用マイコン（１ｓｔＣＰＵ）３１１や映像制御用マイコン（２ｎｄＣＰＵ）３１２として、３．３Ｖあるいは１．２Ｖのような低電圧で動作するＬＳＩを使用する場合には、ＤＣ５Ｖに基づいてＤＣ３．３ＶやＤＣ１．２Ｖを生成するためのＤＣ−ＤＣコンバータが演出制御装置３００に設けられる。なお、ＤＣ−ＤＣコンバータは通常電源部４１０に設けるようにしてもよい。
【００９７】
電源装置４００の制御信号生成部４３０により生成されたリセット信号ＲＳＴは、主制御用マイコン３１１、映像制御用マイコン３１２、ＶＤＰ３１３、音源ＬＳＩ３１４、ランプやモータなどを駆動制御する制御回路３３２〜３３５、スピーカを駆動するアンプ回路３３７ａ、３３７ｂに供給され、これらをリセット状態にする。また、この実施例においては、映像制御用マイコン３１２の有する汎用のポートを利用して、ＶＤＰ３１３に対するリセット信号を生成して供給する機能を有するように構成されている。これにより、映像制御用マイコン３１２とＶＤＰ３１３の動作の連携性を向上させることができる。
【００９８】
次に、これらの制御回路において行われる遊技制御について説明する。
遊技制御装置１００の遊技用マイコン１１１のＣＰＵ１１１Ａでは、普図始動ゲート３４に備えられたゲートスイッチ３４ａからの遊技球の検出信号の入力に基づき、普図の当たり判定用乱数値を抽出してＲＯＭ１１１Ｂに記憶されている判定値と比較し、普図変動表示ゲームの当たり外れを判定する処理を行う。そして、普図表示器５３に、識別図柄を所定時間変動表示した後、停止表示する普図変動表示ゲームを表示する処理を行う。この普図変動表示ゲームの結果が当たりの場合は、普図表示器５３に特別の結果態様を表示するとともに、普電ソレノイド３７ｃを動作させ、普通変動入賞装置３７の可動部材３７ｂ、３７ｂを所定時間（例えば、０．３秒間）上述のように開放する制御を行う。
なお、普図変動表示ゲームの結果がはずれの場合は、普図表示器５３にはずれの結果態様を表示する制御を行う。
【００９９】
また、始動入賞口３６に備えられた始動口１スイッチ３６ａからの遊技球の検出信号の入力に基づき始動入賞（始動記憶）を記憶し、この始動記憶に基づき、第１特図変動表示ゲームの大当り判定用乱数値を抽出してＲＯＭ１１１Ｂに記憶されている判定値と比較し、第１特図変動表示ゲームの当たり外れを判定する処理を行う。
また、普通変動入賞装置３７に備えられた始動口２スイッチ３７ａからの遊技球の検出信号の入力に基づき始動記憶を記憶し、この始動記憶に基づき、第２特図変動表示ゲームの大当り判定用乱数値を抽出してＲＯＭ１１１Ｂに記憶されている判定値と比較し、第２特図変動表示ゲームの当り外れを判定する処理を行う。
【０１００】
そして、遊技制御装置１００のＣＰＵ１１１Ａは、上記の第１特図変動表示ゲームや第２特図変動表示ゲームの判定結果を含む制御信号（演出制御コマンド）を、演出制御装置３００に出力する。そして、特図１表示器５１や特図２表示器５２に、識別図柄を所定時間変動表示した後、停止表示する特図変動表示ゲームを表示する処理を行う。
また、演出制御装置３００では、遊技制御装置１００からの制御信号に基づき、表示装置４１で特図変動表示ゲームに対応した飾り特図変動表示ゲームを表示する処理を行う。
さらに、演出制御装置３００では、遊技制御装置１００からの制御信号に基づき、スピーカ１９ａ，１９ｂからの音の出力、各種ＬＥＤの発光を制御する処理等を行う。
【０１０１】
そして、遊技制御装置１００のＣＰＵ１１１Ａは、特図変動表示ゲームの結果が当たりの場合は、特図１表示器５１や特図２表示器５２に特別結果態様を表示するとともに、特別遊技状態を発生させる処理を行う。
特別遊技状態を発生させる処理においては、ＣＰＵ１１１Ａは、例えば、大入賞口ソレノイド３８ｂにより特別変動入賞装置３８の開閉扉３８ｃを開放させ、大入賞口内への遊技球の流入を可能とする制御を行う。
そして、大入賞口に所定個数（例えば、１０個）の遊技球が入賞するか、大入賞口の開放から所定時間（例えば、２５秒又は１秒）が経過するかの何れかの条件が達成されるまで大入賞口を開放することを１ラウンドとし、これを所定ラウンド回数（例えば、１５回又は２回）継続する（繰り返す）制御（サイクル遊技）を行う。
また、特図変動表示ゲームの結果がはずれの場合は、特図１表示器５１や特図２表示器５２にはずれの結果態様を表示する制御を行う。
【０１０２】
また、遊技制御装置１００は、特図変動表示ゲームの結果態様に基づき、特別遊技状態の終了後に、遊技状態として確変状態を発生可能となっている。
この確変状態は、特図変動表示ゲームにて当り結果となる確率が、通常確率状態に比べて高い状態（高確率状態）である。また、第１特図変動表示ゲーム及び第２特図変動表示ゲームのどちらの特図変動表示ゲームの結果態様に基づき確変状態となっても、第１特図変動表示ゲーム及び第２特図変動表示ゲームの両方が確変状態となる。
【０１０３】
また、遊技制御装置１００は、特図変動表示ゲームの結果態様に基づき、特別遊技状態の終了後に、遊技状態として時短状態を発生可能となっている。
この時短状態においては、普図変動表示ゲーム及び普通変動入賞装置３７を時短動作状態とする制御を行う。具体的には、時短状態においては、上述の普図変動表示ゲームの実行時間が第１の変動表示時間よりも短い第２の変動表示時間となるように制御され（例えば、１０秒が１秒）、これにより、単位時間当りの普通変動入賞装置３７の開放回数が実質的に多くなるように制御される。また、時短状態においては、普図変動表示ゲームが当り結果となって普通変動入賞装置３７が開放される場合に、開放時間が通常状態の第１開放時間よりも長い第２開放時間となるように制御される（例えば、０．３秒が１．７秒）。また、時短状態においては、普図変動表示ゲームの１回の当り結果に対して、普通変動入賞装置３７の開放回数が１回の第１開放回数ではなく、２回以上の複数回（例えば、３回）の第２開放回数に設定される。
【０１０４】
なお、普図変動表示ゲームの実行時間を第２の変動表示時間（例えば、１秒）とする制御と、普通変動入賞装置３７の開放態様を開放時間が第２開放時間（例えば、１．７秒）とし、且つ、普図変動表示ゲームの１回の当り結果に対する開放回数が第２開放回数（例えば、３回）とする制御は、何れか一方のみを行っても良いし、両方を行っても良い。また、時短動作状態においては、普図変動表示ゲームの当り結果となる確率が通常動作状態より高くなるように制御してもよい。
これにより、普通変動入賞装置３７に遊技球が入賞し易くなり、第２特図変動表示ゲームの始動が容易となる。
【０１０５】
なお、確変状態と普図変動表示ゲーム及び普通変動入賞装置３７の時短動作状態は、それぞれ独立して発生可能であり、両方を同時に発生することも可能であるし、一方のみを発生させることも可能である。
【０１０６】
次に、図６を用いて、図４の遊技機制御システムを構成する遊技用マイコン１１１の構成について説明する。図６には遊技用マイコン１１１のブロック構成図が示されている。遊技用マイコン１１１は、いわゆるアミューズチップ用のＩＣ（以下、遊技用演算処理装置６００と称する）として製造され、遊技制御を行う遊技領域部６００Ａと情報管理を行う情報領域部６００Ｂとに区分することができる。
【０１０７】
このうち遊技領域部６００Ａは、ＣＰＵコア６０１、ユーザプログラムＲＯＭ６０２及びＨＷパラメータＲＯＭ６０３（総称して、ＲＯＭ）、ユーザワークＲＡＭ６０４及びミラードＲＡＭ６０５（総称して、ＲＡＭ）、外部バスインタフェース（Ｉ／Ｆ）６０６、バス切り換え回路６０７、乱数生成回路６０８、クロックジェネレータ６０９、リセット／割込制御回路６１０、アドレスデコーダ６１１、出力制御回路６１２、ブートブロック６１３、復号化・ＲＯＭ書込回路６１４、並びにバス６１５などにより構成される。この実施例の遊技用演算処理装置６００においては、乱数生成回路６０８がオンチップの回路として形成されているが、乱数生成回路６０８はチップ外部に別個のＩＣとして形成されていてもよい。
【０１０８】
ＣＰＵコア６０１は、各種のレジスタ群、演算・論理部（ＡＬＵ）、命令レジスタ（ＩＲ）、デコーダ、プログラムカウンタ（ＰＣ）、スタックポインタ（ＳＰ）、これらを結ぶデータバス、アドレスバス及び各種制御部をコア内に含み、例えば、Ｚ８０アーキテクチャで構成される。ＣＰＵコア６０１は、ユーザプログラムＲＯＭ６０２に格納されている遊技制御プログラムや演出制御プログラムをロードして実行することによって、遊技機１０の制御に必要な各種機能をソフト的に実現する。ユーザプログラムＲＯＭ６０２に格納されている制御プログラムは、遊技用演算処理装置６００が遊技制御装置１００に備わる遊技用マイコンである場合には、遊技の制御を行う遊技制御プログラムであり、遊技用演算処理装置６００が払出制御装置２００の遊技用マイコンである場合には、遊技球の払出しを行う球払出装置を制御する払出制御プログラムである。
【０１０９】
ＨＷパラメータＲＯＭ６０３は、正当性確認情報を格納するメモリである。正当性確認情報とは、遊技用演算処理装置６００の正当なものであるかのチェックを行うための情報であり、例えば、パチンコ遊技機１０の一意な識別子を示す固有ＩＤ、メーカコード（パチンコ遊技機の製造メーカ毎に割り振られた固有の製造メーカの一意な識別子）、パチンコ遊技機のランク（１種、２種等）を示すランクコード、製造メーカがパチンコ遊技機の種類に設定する機種コード、検査番号を示す検査コード、電源投入時にＲＡＭをバックアップするか否かを示すＲＡＭバックアップコード、貸出料金設定スイッチによって設定された貸出料金等である。また、ＨＷパラメータＲＯＭ６０３には、最初に貸出情報要求を送信した検査装置の一意な識別子である固有ＩＤが一つのみ記憶される。第３者機関又はパチンコ遊技機の製造メーカがユーザプログラムＲＯＭ６０２にプログラムを書き込む際に、正当性確認情報がＨＷパラメータＲＯＭ６０３に書き込まれる。
【０１１０】
遊技用演算処理装置６００の正当性のチェックを行う場合、遊技用演算処理装置６００の電源立ち上がり時に、遊技用演算処理装置６００自身が演算した演算値と、正当性確認情報（すなわち、第３者機関等によって予め設定された結果値）とを比較判定することで、遊技用演算処理装置６００が正規のものであるか否かチェックする構成になっている。
ユーザワークＲＡＭ６０４は、遊技領域部６００Ａにおけるプログラムに基づく処理を実行する際にワークエリア（作業領域）として用いられるものである。ミラードＲＡＭ６０５は、クロックの立ち下がり時にユーザワークエリアに記憶された情報を複製した情報を記憶する（ＣＰＵコアがＺ８０の場合には、クロックの立ち上がり時に処理を実行するため、同期して動くことがないようにしている。）。
【０１１１】
外部バスインタフェース６０６は、メモリリクエスト信号ＭＲＥＱ、入出力リクエスト信号ＩＯＲＱ、メモリ書込み信号ＷＲ、メモリ読み出し信号ＲＤ及びモード信号ＭＯＤＥなどのインタフェースをとるものであり、また、バス切り換え回路６０７は、１６ビットのアドレス信号Ａ０〜Ａ１５や８ビットのデータ信号Ｄ０〜Ｄ７のインタフェースをとるものである。例えば、ＭＯＤＥ信号を[Ｈ]レベルにした状態で、アドレス信号Ａ０〜Ａ１５を順次にインクリメントしながら、データ信号Ｄ０〜Ｄ７を加えると、ユーザプログラムＲＯＭ６０２への書き込みモードとなってパチンコ遊技機１の製造メーカ又は第３者機関によるプログラムの書き込みが可能になる。
【０１１２】
なお、書き込みモードはプログラムの書き込みを可能にするものであり、ブートブロック６１３に記憶されるブートプログラムを書き込みできるようにするものではない。また、ユーザプログラムＲＯＭ６０２へのプログラムの書き込みが終了すると、ＨＷパラメータＲＯＭ６０３の所定領域に書込終了コードが記録（例えば、所定のコード若しくは所定ビットを物理的に切断することで記録）されるようになっており、ＨＷパラメータＲＯＭ６０３に書込終了コードが記録されている場合には、ユーザプログラムＲＯＭ６０２への新たなプログラムの書き込みができないようになっている。
【０１１３】
乱数生成回路６０８は、遊技の実行過程において遊技制御に係わる乱数（乱数は、当りの決定や停止時の図柄の決定等に使用）を生成するもので、数学的手法（例えば、合同法あるいはＭ系列法等）を利用して一様性乱数を生成するほか、カウンタ方式で乱数を生成する機能を有している。なお、遊技用演算処理装置６００が払出制御装置２１０に備わる遊技用マイコンである場合には、乱数生成回路６０８はなくてもよい。
【０１１４】
クロックジェネレータ６０９は、内部クロック信号を生成するとともに、生成されたクロック信号をさらに分周して遊技制御に必要なタイミングに係わる信号を発生させる（詳細は図７にて後述）。リセット／割込制御回路（割込信号発生手段）６１０は図示しない割込み信号発生回路からのリセット割込み信号ＲＳＴを検出してＣＰＵコア６０１や乱数更新コントローラ６０８ａに知らせる。アドレスデコーダ６１１は内蔵デバイス及び内蔵コントロール／ステータスレジスタ群のロケーションをメモリマップドＩ／Ｏ方式及びＩ／ＯマップドＩ／Ｏ方式によりデコードする。
出力制御回路６１２はアドレスデコーダ６１１からの信号制御を行って外部端子より８ビットのチップセレクト信号（ＣＳ０〜ＣＳ７）を外部に出力する。ブートブロック６１３は、ブートプログラムを記憶し、電源投入時にユーザワークＲＡＭ６０４に記憶された情報を初期化する。
【０１１５】
復号化・ＲＯＭ書込回路６１４は、ユーザプログラムＲＯＭ６０２及びＨＷパラメータＲＯＭ６０３への書込みモードの際に使用されるもので、モード信号ＭＯＤＥが[Ｈ]レベルになっている間、バス切り換え回路６０７を介してアドレス信号Ａ０〜Ａ１５やデータ信号Ｄ０〜Ｄ７を取り込み、そのデータ信号Ｄ０〜Ｄ７に含まれる情報（暗号化されたプログラム及び暗号化された変更後の固有ＩＤ）を復号化処理した後、バス６１５を介してユーザプログラムＲＯＭ６０２及びＨＷパラメータＲＯＭ６０３に出力する（書き込む）ものである。バス６１５はデータバス、アドレスバス及び制御バスを含むものであり、バス６１５には情報領域部６００Ｂも接続されている。
【０１１６】
遊技用演算処理装置６００における情報管理を行う情報領域部６００Ｂは、ＨＰＧプログラムＲＯＭ６１６、ＩＤプロパティメモリ６１７、バスモニタ回路６１８、ＨＰＧワークＲＡＭ６１９、制御回路６２０、外部通信制御回路６２１、バス６２２、及び遊技領域６００Ａから延びるバス６１５の一部を含んで構成される。
情報領域部６００Ｂ内のＨＰＧプログラムＲＯＭ６１６は、各種検査動作を行うＨＰＧプログラムが格納される。ＩＤプロパティメモリ６１７には、検査装置（図示省略）から外部通信制御回路６２１を介して受信した要求に基づいて、ＨＷパラメータＲＯＭ６０３に記憶されている情報を検査装置にすぐに出力できるように、遊技用演算処理装置６００の電源投入時（システムリセット時）にＨＷパラメータに記憶されている情報を複製して記憶する。なお、ＩＤプロパティメモリ６１７は、遊技領域６００Ａ側及び情報領域部６００Ｂ側の双方よりアクセスが可能な構成になっている。
【０１１７】
バスモニタ回路６１８は、情報領域部６００Ｂ側より遊技領域部６００Ａ側のバス６１５の状態監視及び制御を行う。ここでの制御とは、ＨＷパラメータＲＯＭ６０３の内容をＩＤプロパティメモリ６１７に複写する際のタイミング制御や、ユーザプログラムＲＯＭ６０２に格納されたプログラムを外部に出力する際（遊技領域部６００Ａ側のバス６１５を開放してユーザプログラムＲＯＭ６０２からプログラムを読み込んで情報領域部６００Ｂ側より外部に出力する際）のタイミング制御である。なお、プログラムは、外部通信制御回路６２１で暗号化されてから出力される。ＨＰＧワークＲＡＭ６１９は、情報領域部６００Ｂにおけるプログラムに基づく処理を実行する際にワークエリア（作業領域）として用いられる。
【０１１８】
制御回路６２０は情報領域部６００Ｂ側を制御するもので、バッファメモリを有している。制御回路６２０は、例えば、バスモニタ回路６１８を介してＣＰＵコア６０１の動作を監視し、非動作中に遊技領域部６００ＡのユーザワークＲＡＭ６０４に記憶された内容をミラードＲＡＭ６０５へコピーする。また、検査装置からの要求に応答して情報領域部６００ＢのＩＤプロパティメモリ６１７の内容を外部へ転送したり、プログラム要求に応答してバスモニタ回路６１８を介してユーザプログラムＲＯＭ６０２内のプログラムを外部へ転送したりする。制御回路６２０のメモリは、転送時のタイミング調節のために用いられる。
【０１１９】
外部通信制御回路６２１は検査装置との通信を行うもので、例えば、外部からの指令に基づいて遊技用演算処理装置６００内に格納されている情報（例えば、固有ＩＤ、プログラム、実払出数等）を暗号化した後、外部へ転送する等の処理を行う。遊技用演算処理装置６００では、遊技領域部６００Ａと情報領域部６００Ｂがバスモニタ回路６１８を介して独立して動作する。すなわち、情報領域部６００Ｂ側は遊技領域部６００ＡにおけるＣＰＵコア６０１の作動に関係なく（プログラム実行に関係なく）動作可能である。なお、遊技領域部６００Ａ及び情報領域部６００Ｂを夫々構成する各種デバイスは共通の半導体基板上に実装しワンチップ化してパッケージングされる。
【０１２０】
次に、遊技用演算処理装置６００内に設けられ、当り乱数等の生成に使用される乱数生成回路およびクロックジェネレータについて、詳細に説明する。
図７は、本発明の実施形態の遊技用演算処理装置６００における乱数生成回路６０８の詳細を示すブロック図である。遊技用演算処理装置６００には、乱数生成回路６０８の他、電源装置４００内のリセット信号生成回路からのリセット信号ＲＳＴを入力とし乱数生成回路６０８や遊技用演算処理装置６００に対する割込み信号を生成するリセット割込み制御回路６１０、外部の水晶発振回路１１３から供給される原クロック信号ＣＬＫに基づいて遊技用演算処理装置６００内で使用する複数のクロック信号を生成するクロックジェネレータ６０９が設けられている。
【０１２１】
クロックジェネレータ６０９は、ＣＴＣ回路６０９ａと分周回路６０９ｂとを備えており、分周回路６０９ｂは、遊技用演算処理装置６００の外部の水晶発振回路１１３から入力された原クロック信号ＣＬＫを分周し、原クロック信号の周期の２倍の周期のクロック信号φ１を生成して乱数生成回路６０８のコントローラ６０８ａへ供給するとともに、原クロック信号ＣＬＫよりも周期の長いクロック信号φ２を生成しＣＴＣ回路６０９ａに入力する。ＣＴＣ（Counter/Timer Circuit）回路６０９ａは、分周回路６０９ｂからのクロック信号φ２に基づいて、ＣＰＵ６０１に対して所定周期（例えば、４ミリ秒）のタイマ割込み信号（ＣＴＣ２）および乱数コントローラ６０８ａへ供給する乱数更新のトリガを与える信号ＣＴＣ２を発生する。なお、ＣＴＣ回路６０９ａは、発生する信号としてＣＴＣ２の他に、例えばＣＴＣ１を発生するようにし、このＣＴＣ１とＣＴＣ２の発生周期を同じ（例えば、４ミリ秒）にしたり、異なる（例えば、ＣＴＣ１；４ミリ秒、ＣＴＣ２；２ミリ秒）ようにしたり、自由に設定できるように構成されている。
乱数生成回路（乱数生成手段）６０８は、乱数更新コントローラ６０８ａ、第１乱数ブロック６０８ｂ、第２乱数ブロック６０８ｃ、第３乱数ブロック６０８ｄ、及び第４乱数ブロック６０８ｅにより構成される。
【０１２２】
乱数更新コントローラ（更新制御手段）６０８ａは、遊技制御の実行過程において遊技価値（例えば、大当り）を付与するか否か等の判定や制御状態を決定するのに用いる乱数の生成のための演算処理を行うもので、一様性乱数を生成する数学的手法（例えば、合同法あるいはＭ系列法等）を利用して乱数を生成する。また、乱数更新コントローラ６０８ａには、リセット割込み制御回路６１０からの割込み信号、クロックジェネレータ６０９を構成する信号発生手段としてのＣＴＣ回路６０９ａおよび分周回路６０９ｂからの信号（ＣＴＣ２，φ１）が入力可能となっている。
【０１２３】
なお、特に限定されるものではないが、本実施例の乱数生成回路６０８は、後述のように、クロックジェネレータ６０９内のＣＴＣ回路６０９ａからの信号ＣＴＣ２の入力とＣＰＵ６０１による乱数更新トリガレジスタ（６０８ｂ３）への設定のいずれによっても乱数の更新処理が行なえるように構成されている。また、乱数生成回路６０８は、後述のように、カウンタ方式すなわちカウンタ値を−１ずつ更新することで乱数を生成するモードと、Ｍ系列乱数を生成するモードのいずれかを選択できるように構成されている。
【０１２４】
第１乱数ブロック６０８ｂは、ＣＴＣ更新許可レジスタ６０８ｂ１、タップ設定レジスタ６０８ｂ２、乱数更新トリガレジスタ６０８ｂ３、最大値設定レジスタ（範囲情報記憶手段）６０８ｂ４、スタート値設定レジスタ６０８ｂ５、一周完了報知レジスタ６０８ｂ６、乱数カウンタ６０８ｂ７、ワークエリア６０８ｂ８、乱数更新中報知レジスタ６０８ｂ９、更新エラー報知レジスタ６０８ｂ１０、乱数回路リセットレジスタ６０８ｂ１１、乱数カウンタ６０８ｂ７の周回数を計数する周回カウンタ６０８ｂ１２、分周信号φ１の入力回数を計数する回数カウンタ６０８ｂ１３、電源投入（システムリセット時を含む）ごとに異なる値を発生する初期値用カウンタ６０８ｂ１４、乱数生成回路内のレジスタの更新状態等を示す設定情報記憶手段としてのソフト乱数ステータスレジスタ６０８ｂ１５などにより構成される。
【０１２５】
上記レジスタのうち、ワークエリア（更新手段）６０８ｂ８と初期値用カウンタ６０８ｂ１４およびソフト乱数ステータスレジスタ６０８ｂ１５は、ＣＰＵコア６０１すなわちユーザプログラムによってアクセスすることが不能なレジスタである。乱数カウンタ６０８ｂ７は、乱数更新コントローラ６０８ａとユーザプログラムの双方からアクセスすることが可能なレジスタで、タップ設定レジスタ６０８ｂ２の設定前であれば、ユーザプログラムは乱数更新コントローラ６０８ａによるアクセスの許可を条件にアクセスすることができるようになっている。
【０１２６】
なお、第２乱数ブロック６０８ｃ、第３乱数ブロック６０８ｄ、及び第４乱数ブロック６０８ｅに関しては、第１乱数ブロック６０８ｂと同様の構成を有するため説明は省略する。複数の乱数ブロックを備えることにより、遊技制御で使用する複数の乱数を並行して生成することができる。本実施形態においては、特図変動表示ゲームにおいて大当りを発生させるか否かを決定する大当り乱数（特図１、特図２に共通）、特図１および特図２の各変動表示ゲームにおける大当り停止図柄を決定する大当り図柄乱数１，２、普図変動表示ゲームにおいて当りを発生させるか否かを決定する当り乱数を並行して生成するようにしているが、変動パターン決定する変動パターン乱数などを生成するようにしてもよい。これにより、遊技プログラムを実行するために使用される乱数値を周期的カウンタのカウント値で構成することとなる。
【０１２７】
ＣＴＣ更新許可レジスタ６０８ｂ１は、乱数カウンタ６０８ｂ７の更新を許可／不可の何れかに設定するものであり、「許可」に設定されていれば、ＣＴＣ回路６０９ａからの信号ＣＴＣ２をトリガにして乱数カウンタ６０８ｂ７が更新されることとなる。タップ設定レジスタ６０８ｂ２は、「カウンタモード」の場合において、乱数カウンタ６０８ｂ７を作動させるものであり、電源投入時は「０」となっており、このとき、乱数カウンタ６０８ｂ７は作動しないようになっている。そして、タップ設定レジスタ６０８ｂ２に「０」以外の値が書き込まれることによって、乱数カウンタ６０８ｂ７が作動するようになっている。また、「乱数モード」の場合、タップ設定レジスタ６０８ｂ２に書き込まれた値によって、Ｍ系列の漸化式の種類が決定される。従って、タップ設定レジスタ６０８ｂ２が乱数値の更新を開始するか否かを示す起動情報を記憶する起動情報記憶手段として機能する。
【０１２８】
乱数更新トリガレジスタ６０８ｂ３は、ＣＰＵコア６０１から直接書込みが可能なレジスタであり、ＣＰＵコア６０１が例えば割込み処理で所定値を書き込むと、乱数更新コントローラ６０８ａがそれを認知して乱数カウンタ６０８ｂ７を更新するように構成されている。なお、このとき、ＣＴＣ更新許可レジスタ６０８ｂ１の設定が「許可」／「不可」の何れの場合でも乱数カウンタ６０８ｂ７が更新される。従って、乱数更新トリガレジスタ６０８ｂ３が乱数値の更新を指示する更新指示記憶手段として機能する。
【０１２９】
最大値設定レジスタ６０８ｂ４は、乱数カウンタ６０８ｂ７の最大値とモードを設定するものである。最大値は８以上４０９５以下の値に設定される。また、モードは「乱数モード」か「カウンタモード」の何れかに設定される。そして、設定された最大値をＮとした場合、「乱数モード」において乱数カウンタ６０８ｂ７は１〜Ｎの範囲で更新され、「カウンタモード」において乱数カウンタ６０８ｂ７は０〜Ｎの範囲で更新される。従って、最大値設定レジスタ６０８ｂ４が乱数生成回路６０８の更新範囲情報を記憶する範囲情報記憶手段として機能する。本実施形態では、大当り乱数の最大値は例えば３１０に設定され、普図当り乱数の最大値は例えば２５０に設定され、特図大当り図柄乱数１，２の最大値は例えば１９８に設定される。
【０１３０】
スタート値設定レジスタ６０８ｂ５は、ユーザプログラムによってＣＰＵコア６０１が乱数カウンタ６０８ｂ７の更新スタート値（開始値）を設定（格納）するためのものである。乱数カウンタ６０８ｂ７が所定の周期を１周したときに、乱数更新コントローラ６０８ａによってこのスタート値が乱数カウンタ６０８ｂ７に設定される。具体的には、例えば、最大値設定レジスタ６０８ｂ４において設定された最大値Ｎよりも大きな値をスタート値Ｓとして設定した場合には、乱数カウンタ６０８ｂ７が所定の周期を１周したときに最大値Ｎをスタート値Ｓで除した際の余り値が乱数カウンタ６０８ｂ７に設定される。従って、スタート値設定レジスタ６０８ｂ５が乱数値の開始値を記憶する開始値記憶手段として機能し、乱数更新コントローラ６０８ａが周期的カウンタの周回初期値を対応する初期値カウンタのカウント値で更新する周回初期値更新手段として機能する。
【０１３１】
一周完了報知レジスタ６０８ｂ６は、乱数カウンタ６０８ｂ７が所定の周期を１周したことを報知するものであり、ＣＰＵコア６０１がスタート値設定レジスタ６０８ｂ５にスタート値を設定するとオンに設定され、オンに設定された後、乱数カウンタ６０８ｂ７が所定の周期を１周してスタート値設定レジスタ６０８ｂ５のスタート値が乱数カウンタ６０８ｂ７に再設定されると、一周完了報知レジスタ６０８ｂ６はオフに設定される。そして、周回カウンタ６０８ｂ１２が、乱数カウンタ６０８ｂ７の周回数を計数する。
【０１３２】
乱数カウンタ６０８ｂ７は、１２次（１２ビット）の乱数列で構成され、タップ設定レジスタ６０８ｂ２に所定の値が書き込まれるまでは、データを設定して乱数の電源投入時におけるスタート値を変更することができる。故に、乱数カウンタ６０８ｂ７の範囲は、「乱数モード」であれば１〜４０９５の間の値を取りうることになり、「カウンタモード」であれば、０〜４０９５の間の値をとり得ることになる。また、「乱数モード」では、カウンタ値が一周するまで、同じ乱数値が生成されないようになっている。従って、乱数カウンタ６０８ｂ６が所定の最小値と最大値の範囲内で循環して所定時間毎にカウント値が更新される周期的カウンタとして機能する。
【０１３３】
ワークエリア６０８ｂ８は、バックアップ電源によりバックアップされたＲＡＭもしくは不揮発性のメモリで構成され、乱数カウンタ６０８ｂ７の更新用バッファおよびバックアップエリアとして機能するものであり、ワークエリア６０８ｂ８で乱数の更新がなされ更新された値が乱数カウンタ６０８ｂ７に格納される。従って、ワークエリア６０８ｂ８が乱数の更新手段として機能し、乱数カウンタ６０８ｂ７が乱数値記憶手段として機能する。ワークエリア６０８ｂ８はＣＰＵからの読込みが不能なレジスタとされ、これにより誤って更新中の不確定な値がＣＰＵに取り込まれるのを防止することができる。また、ワークエリア６０８ｂ８は複数のエリアに分割されており、そのうちひとつのエリアには停電発生時に停電直前の初期値用カウンタ６０８ｂ１４の値が保持される。以下、このエリアをバックアップエリアと称し、乱数値の入る乱数更新エリアと区別する。
【０１３４】
ワークエリア６０８ｂ８の乱数値は、ＣＴＣ回路６０９ａからの信号ＣＴＣ２または乱数更新トリガレジスタ６０８ｂ３の書込みにより乱数の更新が指令されると、最大値設定レジスタ６０８ｂ４で示される範囲の値となるまで更新され続ける。そして、このワークエリア６０８ｂ８の値が更新（ダウンカウント方式によりカウント値を更新（−１））されている間は、「乱数モード」であっても「カウンタモード」であっても、乱数カウンタ６０８ｂ７には「０」が設定される。従って「乱数モード」の場合には、更新範囲内の数値（１〜Ｎ）に属しない「０」が乱数カウンタ６０８ｂ７に設定されていると、乱数カウンタ６０８ｂ７が更新中であることが示される。また、「カウンタモード」ではワークエリア６０８ｂ８でダウンカウント方式によりカウント値を更新（−１）する。
【０１３５】
乱数更新中報知レジスタ６０８ｂ９は、乱数が更新中であることを報知するものであり、信号発生手段としてのＣＴＣ回路６０９ａや乱数更新トリガレジスタ６０８ｂ３により乱数カウンタ６０８ｂ７が更新されている間はオンに設定され、更新中でなければオフに設定される。従って、乱数更新中報知レジスタ６０８ｂ９が乱数値を更新中であるか否かを示す更新中情報が記憶される更新中情報記憶手段として機能する。
【０１３６】
更新エラー報知レジスタ６０８ｂ１０は、乱数カウンタ６０８ｂ７の値が更新されなかった場合に、乱数更新コントローラ６０８ａによってエラーを示す値が設定され、ＣＰＵ６０１がこのレジスタの値を読み込むことで乱数更新エラーが発生しているか否か知ることができるようになっている。従って、更新エラー報知レジスタ６０８ｂ１０が乱数生成回路６０８の異常情報記憶手段として機能する。更新エラーすなわちワークエリア６０８ｂ８の値が更新されたか否かは乱数更新コントローラ６０８ａによって判定することができる。
【０１３７】
乱数回路リセットレジスタ６０８ｂ１１は、乱数更新エラーが発生した場合に乱数生成回路６０８を外部からリセットするためのもので、ＣＰＵ６０１がこのレジスタに所定の値を書き込むと、乱数更新コントローラ６０８ａはリセット指令があったと判定して回路内部をリセット状態にする。回数カウンタ６０８ｂ１３は、分周信号φ１の入力回数を計数する。
【０１３８】
初期値用カウンタ６０８ｂ１４は、分周回路６０９ｂからの分周信号φ１が入力される毎に乱数更新コントローラ６０８ａの割込み処理によって更新（＋１）されるようになっており、電源遮断時に初期値用カウンタ６０８ｂ１４の値がワークエリア６０８ｂ８に格納され、電源投入時（システムリセット時を含む）にその値が復帰されることで電源投入ごとに異なる値を発生する初期値発生回路として機能する。ソフト乱数ステータスレジスタ６０８ｂ１５は、スタート値設定レジスタ６０８ｂ５に、次回に設定される値（開始値）が記憶されているか否かを示す情報（フラグ）が乱数更新コントローラ６０８ａによって記憶される設定情報記憶手段として機能する。なお、本実施形態においては、原クロック信号ＣＬＫを２分周して原クロック信号の周期の２倍の周期のクロック信号φ１を生成しているが、クロック信号φ１の周期はそれに限定されるものでない。
【０１３９】
ここで、本実施形態において、ソフトウェア（ユーザプログラム）によって、乱数生成回路６０８内の乱数カウンタ６０８ｂ７による乱数生成処理に関わる不正が行なわれにくくする初期値（スタート値）の攪拌更新処理の概略について、図８を用いて説明する。なお、本実施形態においてこの処理が適用されるのは、普図変動表示ゲームにおいて当りを発生させるか否かを決定する当り乱数と、特図１および特図２の各変動表示ゲームにおいて大当りを発生させるか否かを決定する大当り乱数と、特図１および特図２の各変動表示ゲームにおける大当り停止図柄を決定する大当り図柄乱数１，２の計４つの乱数の生成処理である。
【０１４０】
本実施形態において、当り乱数は、図９（ａ）に示すように「０」〜「２５０」の範囲内で更新され、遊技状態が通常遊技状態の場合には、当り判定値と一致する値（例えば、「７」）の振分数が１であり、当り判定値と一致しない値（はずれ値；例えば、「０」〜「６」、「８」〜「２５０」）の振分数が２５０となっている。すなわち、通常遊技状態における普図変動表示ゲームにおいて、当りが発生する確率は１／２５１となるように設定されている。
【０１４１】
また、大当り乱数は、図９（ｂ）に示すように「０」〜「３１０」の範囲内で更新され、遊技状態が通常遊技状態の場合には、当り判定値と一致する値（例えば、「７」）の振分数が１であり、当り判定値と一致しない値（はずれ値；例えば、「０」〜「６」、「８」〜「３１０」）の振分数が３１０となっている。すなわち、通常遊技状態における特図１および特図２の各変動表示ゲームにおいて、大当りが発生する確率は１／３１１となるように設定されている。
【０１４２】
また、大当り図柄乱数１は、図９（ｃ）に示すように「０」〜「１９８」の範囲内で更新され、遊技状態が通常遊技状態、確率変動状態のいずれの場合も共通の判定値が振り分けられている。具体的には、例えば、大当り図柄乱数１として「０」〜「２９」のうちの何れか１つを抽出した場合には、停止表示態様として「２Ｒ通常大当りを示す大当り図柄（大当りラウンド数が２ラウンドであり、その大当りの終了後に時短状態が発生することを示す図柄）」を選択する。
また、大当り図柄乱数１として「３０」〜「７９」のうちの何れか１つを抽出した場合には、停止表示態様として「２Ｒ確変大当りを示す大当り図柄（大当りラウンド数が２ラウンドであり、その大当りの終了後に確率変動状態が発生することを示す図柄）」を選択する。
また、大当り図柄乱数１として「８０」〜「１１８」のうちの何れか１つを抽出した場合には、停止表示態様として「１６Ｒ通常大当りを示す大当り図柄（大当りラウンド数が１６ラウンドであり、その大当りの終了後に時短状態が発生することを示す図柄）」を選択する。
また、大当り図柄乱数１として「１１９」〜「１９８」のうちの何れか１つを抽出した場合には、停止表示態様として「１６Ｒ確変大当りを示す大当り図柄（大当りラウンド数が１６ラウンドであり、その大当りの終了後に確率変動状態が発生することを示す図柄）」を選択する。
すなわち、大当りが発生した場合において確率変動状態が発生する確率（割合）は１３０／１９９となるように設定されている。なお、大当り図柄乱数２の振り分けは大当り図柄乱数１と同一であるため、説明を省略する。
【０１４３】
次に、普図の当り乱数の攪拌更新処理について説明する。
図８（Ａ）は普図の当り乱数を生成する乱数カウンタ６０８ｂ７の概念図、図８（Ｂ）は乱数カウンタ６０８ｂ７が一周するごとに乱数カウンタ６０８ｂに再設定される初期値（スタート値）を生成する初期値乱数カウンタの概念図である。図８（Ａ）の乱数カウンタは、ＣＴＣ回路６０９ａから出力される周期的な信号ＣＴＣ２が乱数更新コントローラ６０８ａに入力される毎に更新（−１）される。初期値乱数カウンタは、図６の遊技用演算処理装置６００内のユーザワークＲＡＭ６０４内に設けられるカウンタで、ユーザプログラム（メイン処理の図１５の初期値乱数更新処理）によって更新（＋１）される。なお、図８には、一例として初期値乱数カウンタが８ビットで構成され、乱数カウンタ６０８ｂ７の最大値として「２５０」が設定されている場合が示されている。前記最大値設定レジスタ６０８ｂ４に最大値として「Ｎ」が設定された場合には、図８（Ａ）の乱数カウンタは最大値ＭＡＸが「Ｎ」のカウンタとして動作することとなる。
【０１４４】
本実施形態においては、電源投入時およびシステムリセット時に、乱数生成回路６０８内のワークエリア６０８ｂ８から復帰され毎回ランダムな値となる初期値用カウンタ６０８ｂ１４の値（図８では「２」）が、図８（Ａ）の乱数カウンタ６０８ｂ７と、図８（Ｂ）の初期値乱数カウンタ（置換カウンタ）に、初期値としてそれぞれ設定される（符号＃１）。その後、図８（Ａ）の乱数カウンタ６０８ｂ７と図８（Ｂ）の初期値乱数カウンタは、別々のタイミングで更新（−１または＋１）される（符号＃２）。
【０１４５】
その後、（Ｂ）の初期値乱数カウンタの値は、ＣＰＵのタイマ割込み処理（図１７）内の乱数更新処理１（Ｓ４５、図１８）において、そのときの値Ｎｉ（図８では「１４９」）がスタート値レジスタ６０８ｂ５にセットされる（符号＃３）。そして、乱数カウンタ６０８ｂ７が一周したとき（符号＃４）に、スタート値レジスタ６０８ｂ５の値を、次の計数サイクルにおける初期値（スタート値）として乱数カウンタ６０８ｂ７に再設定、すなわちスタート値の差し替えをする（符号＃５）。すると、その後、乱数カウンタ６０８ｂ７は、設定された値Ｎｉ（＝１４９）を初期値（スタート値）として、信号ＣＴＣ２が入力される毎に更新（−１）される（符号＃６）。
【０１４６】
一方、図８（Ｂ）の初期値乱数カウンタは、スタート値レジスタ６０８ｂ５にカウント値Ｎｉ（＝１４９）が設定された後も引き続いて更新（＋１）される（符号＃３’）。なお、初期値（スタート値）の乱数カウンタ６０８ｂ７への再設定（差し替え）は、直接ではなくスタート値レジスタ６０８ｂ５の値をワークエリア６０８ｂ８へ格納することにより行なわれる。乱数カウンタ６０８ｂ７の値の更新は直接行なわれるのではなく、実際の更新はワークエリア６０８ｂ８で行い、乱数カウンタ６０８ｂ７には更新結果が格納されるためである。以上のような処理によって、乱数カウンタ６０８ｂ７のスタート値が攪拌され、乱数取得に関わる不正が行われにくくすることができる。
【０１４７】
すなわち、不正行為者が、例えば遊技機の遊技制御装置から各種被制御装置への制御信号の送信タイミングなどに基づいて乱数カウンタの更新タイミングを割り出したとしても、周回の初期値の変更の仕組みについて解析しない限り乱数カウンタの値まで割り出すことは難しく、特定の遊技状態（大当り状態）を発生させる不正行為を行うことが著しく困難になる。また、電源投入及びシステムリセット毎に乱数生成回路でランダムな値が生成され、乱数カウンタの１周目の周回初期値と、２周目以降の周回初期値（スタート値）を生成する置換カウンタの初期値として設定されるようにしたので、乱数カウンタの値を外部から割り出すことは難しくなり、不正行為を未然に防止できる。
【０１４８】
そして、本実施形態の遊技機１０は、初期値乱数カウンタの更新タイミングを攪拌するようにして、不正行為に対する防止策をより強固のものとするように構成している。これにより、不正行為者が乱数カウンタの更新タイミングを不正に取得し、さらに初期値乱数カウンタの更新タイミングも不正に取得するために、所定タイミングで初期値乱数カウンタのカウンタ値を取得したとしても、この不正取得したカウンタ値から初期値乱数カウンタの更新タイミングが割り出されることを防止するようにしている。なお、この初期値乱数カウンタの更新タイミングの攪拌に関する詳細については後述する。
【０１４９】
〔乱数更新コントローラのメイン処理〕
次に、乱数更新コントローラ６０８ａによる乱数生成回路６０８内の制御手順について説明する。図１０には、乱数更新コントローラによるメイン処理の前半部分のフローチャートが、また、図１１には、乱数更新コントローラによるメイン処理のうち、カウンタモードが設定された場合に実行する処理とメイン処理の後半部分のフローチャートが、また、図１２には、乱数更新コントローラによるメイン処理のうち、乱数モードが設定された場合に実行する処理のフローチャートが示されている。このメイン処理は、電源投入及びシステムリセット毎に開始され電源がオンされている間連続して実行されるループ処理であり、乱数更新コントローラ６０８ａによる処理には、このメイン処理のほか、クロックジェネレータ６０９からの信号φ１、ＣＴＣ２の入力による割込み処理や電源遮断検出時に実行される緊急割込み処理がある。前述した初期値用カウンタ６０８ｂ１４の値のワークエリア６０８ｂ８（バックアップエリア）への格納は、電源遮断検出時の緊急割込み処理によって行うようにすることができる。
【０１５０】
乱数更新コントローラ６０８ａは、リセット割込み制御回路６１０によるリセット割込信号もしくは電源投入時のパワーオンリセット信号に基づき、図６８の制御フローを開始し、先ず、ワークエリア６０８ｂ８に記憶されている値を除いて、他の記憶領域やレジスタに記憶されている値を初期化する（ステップＳ１０１）。このとき、周回カウンタ６０８ｂ１２の値を「０」に設定する。また、この初期化処理で、ワークエリア６０８ｂ８のバックアップエリアに記憶されている初期値用カウンタの値を、初期値用カウンタ６０８ｂ１４に復帰させるようにすることができる。
【０１５１】
次に、ワークエリア６０８ｂ８のバックアップエリアに記憶されている初期値用カウンタの値を乱数カウンタ６０８ｂ７に取り込む（ステップＳ１０２）。続いて、乱数カウンタ６０８ｂ７のユーザプログラムによる変更を許可し（ステップＳ１０３）、タップ設定レジスタ６０８ｂ２の設定を待つ（ステップＳ１０４）。乱数カウンタ６０８ｂ７の変更が許可され、タップ設定レジスタ６０８ｂ２に「０」の値が書き込まれることによって、ＣＴＣ２信号または乱数更新トリガレジスタ６０８ｂ３への所定値の書込みによる乱数カウンタ６０８ｂ７の更新が可能とされる。従って、初期値用カウンタ６０８ｂ１４とステップＳ１０２とが、電源投入及びシステムリセット毎にランダムな値を生成して前記乱数カウンタの１周目の周回初期値として設定する第１攪拌手段として機能することとなる。
【０１５２】
その後、乱数更新コントローラ６０８ａは、乱数カウンタ６０８ｂ７の変更を禁止し（ステップＳ１０５）、このときの乱数カウンタ６０８ｂ７の値をワークエリア６０８ｂ８に記憶（ステップＳ１０６）し、ユーザーによって設定された乱数カウンタの値を所定の範囲内の値に補正するための乱数カウンタ初期値補正処理（ステップＳ１６０，図１３）を実行してから、回数カウンタ６０８ｂ１３を「０」に設定する（ステップＳ１０７）。なお、乱数カウンタ６０８ｂ７の変更が禁止されるまでの間は、ＣＰＵコア６０１（図６）によって乱数カウンタ６０８ｂ７に任意の値を直接書き込むことが可能である。また、乱数カウンタ６０８ｂ７の変更が禁止されても乱数更新コントローラ６０８ａによる更新はいつでも可能である。
【０１５３】
次に、ＣＴＣ回路６０９ａによるＣＴＣ信号（ＣＴＣ２）が発生（検出）したか否かを判定する（ステップＳ１０８）。このＣＴＣ回路６０９ａによるＣＴＣ信号が発生したか否かの判定（ステップＳ１０８）において、ＣＴＣ回路６０９ａによるＣＴＣ信号が発生した場合（Ｙｅｓ）は、ＣＴＣ使用モードか否か、具体的には、ＣＴＣ更新許可レジスタ６０８ｂ１が「許可」に設定されているか否かの判定（ステップＳ１０９）を行う。
そして、このＣＴＣ使用モードか否かの判定（ステップＳ１０９）において、ＣＴＣ使用モードの場合（Ｙｅｓ）は、ステップＳ１１１へ進む。一方、このＣＴＣ使用モードか否かの判定（ステップＳ１０９）において、ＣＴＣ使用モードでない場合、すなわち、ＣＴＣ更新許可レジスタ６０８ｂ１が「不可」に設定されている場合（Ｎｏ）は、乱数更新トリガレジスタ６０８ｂ３に所定値が書き込まれているか否かの判定（ステップＳ１１０）を行う。
【０１５４】
また、ＣＴＣ回路６０９ａによるＣＴＣ信号が発生したか否かの判定（ステップＳ１０８）において、ＣＴＣ回路６０９ａによるＣＴＣ信号が発生していない場合（Ｎｏ）は、ステップＳ１０９をスキップして、乱数更新トリガレジスタ６０８ｂ３に所定値が書き込まれているか否かの判定（ステップＳ１１０）を行う。この判定（ステップＳ１１０）において、乱数更新トリガレジスタ６０８ｂ３に所定値が書き込まれている場合（Ｙｅｓ）は、ステップＳ１１１へ進む。一方、ステップＳ１１０の判定において、乱数更新トリガレジスタ６０８ｂ３に所定値が書き込まれていないと判定した場合（Ｎｏ）は、ステップＳ１０８へ戻る。
【０１５５】
次に、乱数更新中報知レジスタ６０８ｂ９をオンに設定（ステップＳ１１１）した後、乱数カウンタ６０８ｂ７の値を「０」に設定（ステップＳ１１２）し、分周回路６０９ｂからの分周信号φ１の入力を待つ（ステップＳ１１３）。それから、最大値設定レジスタ６０８ｂ４に設定されたモードが「乱数モード」であるか「カウンタモード」であるかの判定（ステップＳ１１４）を行う。この判定（ステップＳ１１４）において、最大値設定レジスタ６０８ｂ４に設定されたモードが「カウンタモード」の場合、ワークエリア６０８ｂ８の値が「０」より大きいか否かの判定（ステップＳ１１５）を行う。
【０１５６】
そして、ワークエリア６０８ｂ８の値が「０」より大きいか否かの判定（ステップＳ１１５）において、ワークエリア６０８ｂ８の値が「０」（＝Ｎｏ）と判定した場合は、ワークエリア６０８ｂ８の値を最大値に設定する（ステップＳ１１６）。一方、このワークエリア６０８ｂ８の値が「０」より大きいか否かの判定（ステップＳ１１５）において、ワークエリア６０８ｂ８の値が「０」より大きい（Ｙｅｓ）と判定した場合は、ワークエリア６０８ｂ８の値をデクリメント（−１）して（ステップＳ１１７）、ステップＳ１１８へ移行する。
【０１５７】
次に、ステップＳ１１８では、スタート値設定レジスタ６０８ｂ５に次回に設定されるスタート値（開始値）が格納されているか否かを示すソフト乱数ステータスレジスタ６０８ｂ１５の情報（フラグ）がオフになっているか判定する（ステップＳ１１８）。ここで、フラグがオフになっていないつまり新しいスタート値が格納されていない状態の場合（Ｎｏ）は、ステップＳ１２１へジャンプする。
【０１５８】
また、ステップＳ１１８で、フラグがオフになっている（Ｙｅｓ）と判定すると、次のステップＳ１１９で、ワークエリア６０８ｂ８に記憶されている初期値用カウンタの値とスタート値設定レジスタ６０８ｂ５に設定されているスタート値とを比較して前回の値と一致しているか否か判定する。そして、一致している場合（Ｙｅｓ）は、ステップＳ１２１へジャンプし、ステップＳ１１９で、一致していない（Ｎｏ）と判定すると、次のステップＳ１２０でソフト乱数ステータスレジスタ６０８ｂ１５のフラグをオンに設定してステップＳ１２１へ進む。
【０１５９】
ステップＳ１２１では、周回カウンタ６０８ｂ１２の値をインクリメント（＋１）し、周回カウンタの値が乱数カウンタの最大値に１加えた値以上か否かの判定を行う（ステップＳ１２２）。そして、周回カウンタの値が乱数カウンタ６０８ｂ７の最大値に１加えた値以上の場合（ステップＳ１２２；Ｙｅｓ）は、周回カウンタの値を「０」に設定する（ステップＳ１２３）。一方、この周回カウンタの値が乱数カウンタ６０８ｂ７の最大値に１加えた値以上か否かの判定（ステップＳ１２２）において、周回カウンタの値が乱数カウンタ６０８ｂ７の最大値に１加えた値以上でない場合（ステップＳ１２２；Ｎｏ）は、ステップＳ１４２へ進む。従って、ステップＳ１２２が周期的カウンタのカウント値が一循環を完了したか否かを判定する周期的カウンタ循環判定手段として機能する。
【０１６０】
次に、スタート値設定レジスタ６０８ｂ５において乱数更新のスタート値の取得及び最大値以下にする補正を行う（ステップＳ１２４）。図８に示すように、当り乱数カウンタ（Ａ）よりも初期値乱数カウンタ（Ｂ）の方が範囲が大きい場合に、当り乱数カウンタのとり得ない値を初期値乱数カウンタからスタート値として取得して設定した場合を考慮したものである。
具体的には、このとき、最大値よりも取得したスタート値の方が大きい場合には、最大値をスタート値で除した際の余り値をスタート値とする補正を行う。その後、ワークエリア６０８ｂ８にスタート値を取り込み（ステップＳ１２５）、次のステップＳ１２６でソフト乱数ステータスレジスタ６０８ｂ１５のフラグをオフに設定してスタート値設定レジスタ６０８ｂ５の値を設定したことを記憶してから、一周完了報知レジスタ６０８ｂ６をオンに設定する（ステップＳ１２７）。
【０１６１】
従って、ステップＳ１２２〜Ｓ１２４が周期的カウンタ循環判定手段により一循環完了したと判定された場合に、初期値カウンタのカウント値を周回初期値として取得する周回初期値取得手段として機能する。また、ステップＳ１２５が周回初期値取得手段によって取得された周回初期値を、周期的カウンタの周回初期値として設定する周回初期値設定手段として機能する。そして、スタート値設定レジスタ６０８ｂ５とステップＳ１２２〜Ｓ１２５とが、乱数カウンタに１周目の周回初期値が設定された後、乱数カウンタが更新されて当該周回の周回初期値に達する毎に、当該乱数カウンタの新たな周回初期値を設定する第２攪拌手段として機能することとなる。このように、乱数カウンタの周回の初期値は少なくとも一巡する毎に第２攪拌手段によって設定された周回初期値に置換されるので、乱数カウンタの値を外部から割り出すことは難しく、不正行為を未然に防止することができる。
【０１６２】
また、最大値設定レジスタ６０８ｂ４に設定されたモードが「乱数モード」であるか「カウンタモード」であるかの判定（ステップＳ１１４）において、最大値設定レジスタ６０８ｂ４に設定されたモードが「乱数モード」の場合、ステップＳ１２８へ進む。そして、ワークエリア６０８ｂ８にてＭ系列乱数を更新し（ステップＳ１２８）、ワークエリア６０８ｂ８のＭ系列乱数に基づく値が最大値よりも大きいか否かの判定を行う（ステップＳ１２９）。
【０１６３】
この判定（ステップＳ１２９）において、ワークエリア６０８ｂ８のＭ系列乱数に基づく値が最大値よりも大きい場合（Ｙｅｓ）は、分周信号を検出したか否かの判定（ステップＳ１３０）を行う。そして、この判定（ステップＳ１３０）において、分周信号を検出した場合（Ｙｅｓ）は、回数カウンタ６０８ｂ１３の値を１インクリメントし（ステップＳ１３１）、ステップＳ１２８へ戻る。一方、この分周信号を検出したか否かの判定（ステップＳ１３０）において、分周信号を検出していない場合（ステップＳ１３０；Ｎｏ）は、ステップＳ１３１を実行せずにステップＳ１２８へ戻る。
【０１６４】
また、ステップＳ１２９の判定において、ワークエリア６０８ｂ８のＭ系列乱数に基づく値が最大値よりも大きくない場合（ステップＳ１２９；Ｎｏ）は、ステップＳ１３２へ移行して、スタート値設定レジスタ６０８ｂ５に次回に設定されるスタート値（開始値）が格納されているか否かを示すソフト乱数ステータスレジスタ６０８ｂ１５の情報（フラグ）がオフになっているか判定する（ステップＳ１３２）。ここで、フラグがオフになっていないつまり新しいスタート値が格納されていない状態の場合（ステップＳ１３２；Ｎｏ）は、ステップＳ１３５へジャンプする。
【０１６５】
また、ステップＳ１３２で、フラグがオフになっている（ステップＳ１３２；Ｙｅｓ）と判定すると、次のステップＳ１３３で、ワークエリア６０８ｂ８に記憶されている初期値用カウンタの値とスタート値設定レジスタ６０８ｂ５に設定されているスタート値とを比較して前回の値と一致しているか否か判定する（ステップＳ１３３）。そして、一致している場合（ステップＳ１３３；Ｙｅｓ）は、ステップＳ１３５へジャンプし、ステップＳ１３３で、一致していない（ステップＳ１３３；Ｎｏ）と判定すると、次のステップＳ１３４でソフト乱数ステータスレジスタ６０８ｂ１５のフラグをオンに設定（ステップＳ１３４）してステップＳ１３５へ進む。
【０１６６】
ステップＳ１３５では、周回カウンタ６０８ｂ１２の値をインクリメント（＋１）し、周回カウンタの値が最大値以上か否かの判定を行う（ステップＳ１３６）。この判定（ステップＳ１３６）において、周回カウンタの値が最大値以上の場合（ステップＳ１３６；Ｙｅｓ）は、周回カウンタの値を「０」に設定する（ステップＳ１３７）。一方、周回カウンタの値が最大値以上か否かの判定（ステップＳ１３６）において、周回カウンタの値が最大値以上でない場合（ステップＳ１３６；Ｎｏ）は、ステップＳ１４２へ進む。従って、ステップＳ１３６が一周検出手段として機能する。
【０１６７】
次に、スタート値設定レジスタ６０８ｂ５においてスタート値の取得及び最大値以下にする補正を行う（ステップＳ１３８）。具体的には、このとき、最大値よりも取得したスタート値の方が大きい場合に、最大値をスタート値で除した際の余り値をスタート値とする補正を行う。そして、ワークエリア６０８ｂ８にスタート値を取り込み（ステップＳ１３９）、次のステップＳ１４０でソフト乱数ステータスレジスタ６０８ｂ１５のフラグをオフに設定してステップＳ１４１へ進む。ステップＳ１４１では、一周完了報知レジスタ６０８ｂ６をオンに設定し、ステップＳ１４２へ進む。
【０１６８】
次に、ステップＳ１２７又はステップＳ１４１から移行したステップＳ１４２で回数カウンタ６０８ｂ１３の値が規定値に達したか否かの判定を行う。ここで、規定値（規定更新時間）は、例えば、「カウンタモード」の場合は規定値が「２」、「乱数モード」の場合であって最大値が「１７」以上の場合は規定値が「２０」、「乱数モード」の場合であって最大値が「１６」以下の場合は規定値が「２００」に設定される。これらの規定値（規定更新時間）のデータは、遊技用マイコン１１１のＲＯＭ１１１Ｂに予め記憶されている。
【０１６９】
従って、乱数カウンタ６０８ｂ７の更新が開始されると、分周回路６０９ｂから乱数更新コントローラ６０８ａへ分周信号入力ごとに乱数を更新するのではなく、入力される分周信号が所定回数検出されるまでは、乱数カウンタ６０８ｂ７を更新しないことになり、さらに、その検出回数がある程度のまとまった数に固定されることになる。言い換えれば、「カウンタモード」の場合は、乱数カウンタ６０８ｂ７を更新するために、分周信号が２回発生する時間（規定更新時間）を要することになる。また、「乱数モード」の場合であって乱数カウンタの最大値が「１７」以上の場合は、乱数カウンタ６０８ｂ７を更新するために、分周信号が２０回発生する時間を要することになり、「乱数モード」の場合であって乱数カウンタの最大値が「１６」以下の場合は、乱数カウンタ６０８ｂ７を更新するために、分周信号が２００回発生する時間を要することになる。
【０１７０】
回数カウンタ６０８ｂ１３の値が規定値に達したか否かの判定（ステップＳ１４２）において、回数カウンタの値が規定値に達していない場合（ステップＳ１４２；Ｎｏ）は、分周信号を待ち（ステップＳ１４５）、回数カウンタの値をインクリメント（＋１）して（ステップＳ１４６）、ステップＳ１４２へ戻る。一方、回数カウンタの値が規定値に達したか否かの判定（ステップＳ１４２）において、回数カウンタの値が規定値に達した場合（ステップＳ１４２；Ｙｅｓ）は、ワークエリア６０８ｂ８の値を乱数カウンタ６０８ｂ７に設定し（ステップＳ１４３）、乱数更新中報知レジスタ６０８ｂ９をオフに設定し（ステップＳ１４４）、ステップＳ１０７に戻る。
【０１７１】
なお、図１０乃至図１２には示されていないが、乱数更新コントローラ６０８ａは、乱数更新処理後に乱数カウンタ６０８ｂ７の値をチェックして、更新がされていない場合には更新エラーと判定して、更新エラー報知レジスタ６０８ｂ１０にエラーが発生したことを示す値を設定するように構成されている。
【０１７２】
従って、この乱数更新コントローラ６０８ａによるメイン処理によって構成されるソフトウェアによって、所定の最小値と最大値の範囲内で循環してカウント値が更新され、該カウント値を周期的カウンタの周回初期値として使用される初期値カウンタが機能することとなる。
また、本実施形態では、複数の乱数ブロック６０８ｂ〜６０８ｅを設けることで、乱数更新コントローラ６０８ａによって実行されるメイン処理をそれぞれの乱数ブロック６０８ｂ〜６０８に対して実行することとなる。これにより、周期的カウンタを複数設けるとともに、各々の周期的カウンタに対応して初期値カウンタを複数設けることとなる。
【０１７３】
〔乱数カウンタ初期値補正処理〕
図１３には、図１０のステップＳ１６０で行なわれる乱数カウンタ初期値補正処理の具体的な手順の一例が示されている。
この乱数カウンタ初期値補正処理では、先ずワークエリア６０８ｂ８内の初期値用カウンタの値が最大値よりも大きいか否か判定する（ステップＳ１６１）。この最大値は、最大値設定レジスタ６０８ｂ４に設定されている値である。ステップＳ１６１で、ワークエリア６０８ｂ８内の初期値用カウンタの値が最大値よりも大きくない（ステップＳ１６０；Ｎｏ）と判定するとステップＳ１６３へ移行し、ステップＳ１６１でワークエリア６０８ｂ８の値が最大値よりも大きい（ステップＳ１６１；Ｙｅｓ）と判定すると、ステップＳ１６２でワークエリア６０８ｂ８内の乱数カウンタの値を最大値以下にする補正を行なってからステップＳ１６３へ移行する。具体的には、ワークエリア６０８ｂ８内の乱数カウンタの値を最大値で割った余りを算出して補正した値とする。従って、ステップＳ１６１〜Ｓ１６２が、生成されたランダムな値が更新範囲情報に規定されている更新範囲外の値が設定された場合には、更新範囲外の値を前記範囲情報記憶手段に記憶された上限値で除算し、算出された余り値を前記乱数カウンタの１周目の周回初期値として設定する第１攪拌手段として機能することとなる。
【０１７４】
ステップＳ１６３では、補正後（もしくは補正されていない）値が、ワークエリア６０８ｂ８のバックアップエリアに格納されている前回の初期値（電源遮断時に格納した初期値用カウンタ６０８ｂ１４の値）と一致しているか否か判定し、一致していない（ステップＳ１６３；Ｎｏ）と判定するとステップＳ１６５へ移行し、ワークエリア６０８ｂ８の値を乱数カウンタ６０８ｂ７に格納する。また、ステップＳ１６３で前回の初期値と一致している（ステップＳ１６３；Ｙｅｓ）と判定すると、ステップＳ１６４でワークエリア６０８ｂ８内の初期値用カウンタの値をＭ系列更新してからステップＳ１６５へ移行してワークエリア６０８ｂ８の値を乱数カウンタ６０８ｂ７に格納する。これにより、乱数カウンタの値が前回と同じ初期値から更新開始されるのを回避して、遊技者による不正な大当り乱数の取得を防止することができる。なお、ステップＳ１６４における更新は、Ｍ系列更新に限定されず他の方式による更新であってもよい。
【０１７５】
なお、ユーザプログラムによって周期的に更新される乱数カウンタの周回初期値として不適切な値（所定の範囲外の値）が記憶されるおそれがあるが、不適切な値（所定の範囲外の値）が記憶された場合には、上記乱数カウンタ初期値補正処理により補正を受けて、所定の範囲内の値に設定し直され、乱数カウンタの周回の初期値には常に所定の範囲内の適切な値が設定されるので、所定の正しい確率で遊技の決定処理を行うことができる。
【０１７６】
次に、上記遊技制御装置１００の遊技用マイクロコンピュータ（遊技用マイコン）１１１によって実行される制御について説明する。
遊技用マイコン１１１による制御処理は、ループ処理として繰り返されるメインルーチンであるメイン処理（主に図１４及び図１５参照）と、メイン処理に対する割り込みルーチンとして、所定時間周期（例えば４ｍｓ）で行われるタイマ割込み処理（図１６参照）とからなる。
【０１７７】
〔メイン処理〕
先ず、メイン処理について説明する。
メイン処理は、電源が投入されることで開始される。このメイン処理においては、図１４に示すように、まず、割込みを禁止する処理（ステップＳ１）を行なってから、割込みが発生したときに実行するジャンプ先のベクタアドレスを設定する割込みベクタ設定処理（ステップＳ２）、割込みが発生したときにレジスタ等の値を退避する領域の先頭アドレスであるスタックポインタを設定するスタックポインタ設定処理（ステップＳ３）、割込み処理のモードを設定する割込みモード設定処理（ステップＳ４）を行う。
【０１７８】
次に、払出制御装置（払出基板）２００のプログラムが正常に起動するのを待つため例えば４ｍｓの時間待ちを行う（ステップＳ５）。これにより、電源投入の際に仮に遊技制御装置１００が先に立ち上がって払出制御装置２００が立ち上がる前にコマンドを払出制御装置２００へ送ってしまい、払出制御装置２００がコマンドを取りこぼすのを回避することができる。その後、ＲＡＭやＥＥＰＲＯＭ等の読出し書込み可能なＲＷＭ（リードライトメモリ）のアクセス許可をし、全出力ポートに出力が無い状態にするオフデータを出力する（ステップＳ６，Ｓ７）。また、シリアルポート（遊技用マイコン１１１に予め搭載されているポートで、この実施例では、払出制御装置２００や演出制御装置３００とパラレル通信を行っているため使用しない）を使用しない状態に設定する処理を行う（ステップＳ８）。
【０１７９】
続いて、電源装置４００内の初期化スイッチがオンしているか否か判定する（ステップＳ９）。ここで、初期化スイッチがオフ（ステップＳ９；Ｎｏ）と判定すると、ステップＳ１０で、ＲＷＭ内の停電検査領域のデータをチェックした後、停電復旧か否かの判定を行う（ステップＳ１１）。このステップＳ１１で停電復旧である（ステップＳ１１；Ｙｅｓ）と判定すると、ステップＳ１２へ進みチェックサムと呼ばれるデータを算出する処理及び算出されたチェックサムが正常か異常かを判定する（ステップＳ１３）。
また、ステップＳ９で初期化スイッチがオン（ステップＳ９；Ｙｅｓ）と判定された場合、ステップＳ１１で停電復旧でない（ステップＳ１１；Ｎｏ）と判定された場合及びステップＳ１３でチェックサムが正常でない（ステップＳ１３；Ｎｏ）と判定された場合は、図１５のステップＳ２０へジャンプする。
【０１８０】
また、ステップＳ１３でチェックサムが正常（ステップＳ１３；Ｙｅｓ）と判定した場合は、図１５のステップＳ１４へ移行して、ＲＷＭ（リードライトメモリ：実施例ではＲＡＭ）内の初期化すべき領域に停電復旧時の初期値をセーブ（格納）してから、エラーや不正監視に係る領域をリセットする（ステップＳ１５）。次に、ＲＷＭ内の遊技状態を記憶する領域を調べて遊技状態が高確率状態であるか否かを判定する（ステップＳ１６）。ここで、高確率でないと（ステップＳ１６；Ｎｏ）と判定した場合は、ステップＳ１７，Ｓ１８をスキップしてステップＳ１９へ移行する。
【０１８１】
また、ステップＳ１６で高確率であると（ステップＳ１６；Ｙｅｓ）と判定した場合は、ステップＳ１７で高確率の報知フラグ領域にオン情報をセーブしてから、例えば一括表示装置５０に設けられる高確率報知ＬＥＤをオン（点灯）させるＯＮデータをセグメントに対応する領域（ポート１３６）に設定（ステップＳ１８）してステップＳ１９へ移行する。ステップＳ１９では、後述の特図ゲーム処理を合理的に実行するために用意されている処理番号に対応する停電復旧時のコマンドを演出制御装置３００へ送信する処理を行なってステップＳ２３へ進む。
【０１８２】
一方、ステップＳ９，Ｓ１１，Ｓ１３からステップＳ２０へジャンプした場合には、先ずＣＰＵが使用するＲＡＭ内の作業領域をリセットしてから、初期化すべき領域に電源投入時の初期値をセーブする（ステップＳ２１）。それから、ステップＳ２２で電源投入時のコマンドを演出制御装置３００へ送信する処理を行なってステップＳ２３へ進む。ステップＳ２３では、遊技用マイコン１１１（クロックジェネレータ６０９）内のタイマ割込み信号及び乱数更新トリガ信号（ＣＴＣ２）を発生するＣＴＣ（Counter/Timer Circuit）回路６０９ａを起動する処理を行う。
【０１８３】
上記ステップＳ２３のＣＴＣ起動処理の後は、乱数生成回路６０８を起動設定する処理を行う（ステップＳ２４）。具体的には、乱数生成回路６０８内の所定のレジスタ（ＣＴＣ更新許可レジスタ６０８ｂ１〜６０８ｅ１）へ乱数生成回路６０８を起動させるためのコード（指定値）の設定などがＣＰＵ１１１Ａによって行われる。それから、ステップＳ２５で、電源投入時の乱数生成回路６０８内の所定のレジスタ（ソフト乱数ステータスレジスタ６０８ｂ１５〜６０８ｅ１５）の値を、対応する各種初期値乱数（普図の当たりを決定する乱数（当り乱数）、特図変動表示ゲームにおいて大当りを発生させるか否かを決定する乱数（大当り乱数）、大当り図柄を決定する乱数（大当り図柄乱数１、大当り図柄乱数２））の初期値（スタート値）としてＲＷＭの所定領域にセーブしてから、割込みを許可する（ステップＳ２６）。本実施例で使用するＣＰＵ１１１Ａ内の乱数生成回路においては、電源投入毎にソフト乱数ステータスレジスタ６０８ｂ１５〜６０８ｅ１５の初期値が変わるように構成されているため、この値をＣＰＵ側で生成する各種初期値乱数の初期値（スタート値）とすることで、ソフトウェアで生成される乱数の規則性を崩すことができ、遊技者による不正な乱数の取得を困難にすることができる。
【０１８４】
続いて、各種初期値乱数の値を更新して乱数の規則性を崩すための初期値乱数更新処理（ステップＳ２７，図１６）を行う。なお、本実施形態においては、当り乱数、大当り乱数、及び大当り図柄乱数をソフトウェアで生成されるソフト乱数で構成したが、これに限定されず、特に、大当り乱数を乱数生成回路のハードウェアにおいて生成される乱数（ハード乱数）を使用して生成するように構成してもよい。
【０１８５】
また、本実施形態では、このステップＳ２７にて初期値乱数更新処理が行われる前に、ステップＳ２６において割込みを許可している。このため、初期値乱数更新処理の実行中に割込み（タイマ割込み）が発生することがあり、この割込みが発生するタイミングに応じてスタート値設定レジスタ６０８ｂ５〜６０８ｅ５に設定される各種初期値乱数の乱数値が、初期値乱数更新処理において更新される前の値と更新された後の値の何れかをとることとなる。このため、後述するタイマ割込み処理にて実行される乱数更新処理１においてスタート値設定レジスタ６０８ｂ５〜６０８ｅ５に設定される各種初期値乱数の乱数値の規則性を崩すことができるようになる。また、初期値乱数更新処理（ステップＳ２７）の前に割り込みを許可する（ステップＳ２６）ことによって、初期値乱数更新処理中にタイマ割込みが発生すると割込み処理が優先して実行されるようになり、タイマ割込みが初期値乱数更新処理によって待たされることで割込み処理が圧迫されるのを回避することができる。
【０１８６】
従って、このメイン処理におけるステップＳ２６及びステップＳ２７が、周回初期値更新手段による更新を制御する更新制御手段として機能し、これにより初期値カウンタ更新手段による一の更新処理の実行中に、周回初期値更新手段による周回初期値更新を割り込ませて実行可能に制御することができるようになる。
【０１８７】
上記ステップＳ２７の初期値乱数更新処理の後、電源装置４００から入力されている停電監視信号をポート及びデータバスを介して読み込んでチェックして停電が発生したか否かの判定（ステップＳ２８）を行い、停電が発生していない場合（ステップＳ２８；Ｎｏ）には、ステップＳ２７に戻り、上記初期値乱数更新処理と停電監視信号のチェック（ループ処理）を繰り返し行う。
【０１８８】
上記ステップＳ２８において、停電が発生していると判定した場合（ステップＳ２８；Ｙｅｓ）は、一旦割込みを禁止する処理（ステップＳ２９）、全出力ポートにオフデータを出力する処理（ステップＳ３０）、を行う。その後さらに、停電復旧検査領域に停電復旧検査領域チェックデータをセーブする処理（ステップＳ３１）、ＲＷＭの電源遮断時のチェックサムを算出する処理（ステップＳ３２）を行なった後、算出したチェックサムをセーブ（ステップＳ３３）して、ＲＷＭへのアクセスを禁止する処理（ステップＳ３４）を行なってから、遊技機の電源が遮断されるのを待つ。このように、停電復旧検査領域にチェックデータをセーブするとともに、電源遮断時のチェックサムを算出することで、電源の遮断の前にＲＷＭに記憶されていた情報が正しくバックアップされているか否かを電源再投入時に判断することができる。
【０１８９】
〔初期値乱数更新処理〕
次に、上述のメイン処理における初期値乱数更新処理（ステップＳ２７）の詳細について説明する。
図１６に示すように、初期値乱数更新処理では、当り初期値乱数をインクリメント（更新（＋１））する処理（ステップＳ２７１）、大当り初期値乱数をインクリメント（更新（＋１））する処理（ステップＳ２７２）、大当り図柄初期値乱数１をインクリメント（更新（＋１））する処理（ステップＳ２７３）、大当り図柄初期値乱数２をインクリメント（更新（＋１））する処理（ステップＳ２７４）を順次行う。なお、各乱数更新処理では、上限値がそれぞれ設けられ、上限値に達すると０となり、０から上限値の間で順次更新（＋１）する処理が行われる。このように、メイン処理の中で時間が許す限り乱数をインクリメントし続けることによって、乱数のランダム性を高めることができるようにするとともに、割込みが発生した時点における各種初期値乱数がとる値の規則を無くすことができるようになる。
【０１９０】
従って、このメイン処理における初期値乱数更新処理（ステップＳ２７）が、遊技プログラムに基づいて複数の初期値カウンタのカウント値の更新処理を実行する初期値カウンタ更新手段として機能する。これにより、初期値カウンタ更新手段は、一の更新処理において複数の初期値カウンタのカウント値を順次更新させることとなり、また、割込み制御手段による一の制御処理が終了し、該割込み制御手段による次の制御処理が実行されるまでの残余時間において、初期値カウンタのカウント値の更新処理を実行することとなる。
【０１９１】
〔タイマ割込み処理〕
次に、タイマ割込み処理について説明する。
図１７に示すように、タイマ割込み処理は、クロックジェネレータ６０９内のＣＴＣ回路６０９ａで生成される周期的なタイマ割込み信号（ＣＴＣ２）がＣＰＵ１１１Ａに入力されることで開始される。遊技用マイコン１１１Ａにおいてタイマ割込みが発生すると、図１７のタイマ割込み処理が開始される。
タイマ割込み処理が開始されると、まず所定のレジスタに保持されている値をＲＷＭに移すレジスタ退避の処理（ステップＳ４１）を行う。なお、本実施例において遊技用マイコンとして使用しているＺ８０系のマイコンでは、当該処理を表レジスタに保持されている値を裏レジスタに退避することで置き換えることができる。次に、各種センサ（始動口１スイッチ３６ａ、始動口２スイッチ３７ａ、普図のゲートスイッチ３４ａ、カウントスイッチ３８ａなど）からの入力の取込み、即ち、各入力ポートの状態を読み込む入力処理（ステップＳ４２）を行う。それから、各種処理でセットされた出力データに基づき、ソレノイド（大入賞口ＳＯＬ３８ｂ、普電ＳＯＬ３７ｃ）等のアクチュエータの駆動制御などを行うための出力処理（ステップＳ４３）を行う。
【０１９２】
次に、各種処理で送信バッファにセットされたコマンドを演出制御装置３００や払出制御装置２００等に出力するコマンド送信処理（ステップＳ４４）、乱数更新処理１（ステップＳ４５）、乱数更新処理２（ステップＳ４６）を行う。その後、始動口１スイッチ３６ａ、始動口２スイッチ３７ａ、普図のゲートスイッチ３４ａ、入賞口スイッチ３５ａ…３５ｎ、カウントスイッチ３８ａから正常な信号の入力があるか否かの監視や、エラーの監視（前面枠やガラス枠が開放されていないかなど）を行う入賞口スイッチ／エラー監視処理（ステップＳ４７）を行う。また、特図変動表示ゲームに関する処理を行う特図ゲーム処理（ステップＳ４８）、普図変動表示ゲームに関する処理を行う普図ゲーム処理（ステップＳ４９）を行う。
【０１９３】
次に、遊技機１０に設けられ、特図変動ゲームの表示や遊技に関する各種情報を表示するセグメントＬＥＤを所望の内容を表示するように駆動するセグメントＬＥＤ編集処理（ステップＳ５０）、磁気センサスイッチ６１や振動センサスイッチ６２からの検出信号をチェックして異常がないか判定する磁気エラー監視処理（ステップＳ５１）を行う。それから、外部の各種装置に出力する信号を出力バッファにセットする外部情報編集処理（ステップＳ５２）を行う。続いて、割込み要求をクリアして割込みの終了を宣言する処理（ステップＳ５３）を行い、ステップＳ４１で退避したレジスタのデータを復帰する処理（ステップＳ５４）を行った後、割込みを許可する処理（ステップＳ５５）を行なって、タイマ割込み処理を終了する。
【０１９４】
従って、この遊技制御装置１００の遊技用マイコン１１１によって実行されるタイマ割込み処理（図１７）が、更新制御手段による制御を含む遊技の進行を制御する処理を所定時間毎に、初期値カウンタ更新手段による一の更新処理に割り込ませて実行する割込み制御手段として機能する。
【０１９５】
〔乱数更新処理１〕
次に、上述のタイマ割込み処理における乱数更新処理１（ステップＳ４５）の詳細について説明する。
乱数更新処理１は、図１６の初期値乱数更新処理の対象となっている当り乱数、大当り乱数、大当り図柄乱数１、大当り図柄乱数２の初期値（スタート値）を更新するための処理である。
【０１９６】
図１８に示すように、乱数更新処理１においては、先ず乱数の更新状態を示すソフト乱数ステータスレジスタ６０８ｂ１５〜６０８ｅ１５の値を読み込む（ステップＳ４５１）。そして、乱数が一周して次回の初期値（スタート値）設定待ちの乱数があるかチェックする（ステップＳ４５２）。ここで、初期値設定待ちの乱数がなければ当該乱数更新処理１を終了する（ステップＳ４５３：Ｎｏ）。一方、初期値設定待ちの乱数があるときはステップＳ４５４へ進む（ステップＳ４５３：Ｙｅｓ）。
【０１９７】
ステップＳ４５４では、普図の当り乱数が次回の初期値（スタート値）設定待ちの乱数であるかチェックする。ここで、初期値設定待ちでなければステップＳ４５８へジャンプする（ステップＳ４５５：Ｎｏ）。一方、普図の当り乱数が初期値設定待ちであるときはステップＳ４５６へ進む（ステップＳ４５５：Ｙｅｓ）。ステップＳ４５６では、次回初期値として当り初期値乱数をロードし、次のステップＳ４５７で普図の当り乱数の次回の初期値を、対応する乱数カウンタ（乱数領域）のスタート値を保持するレジスタ（スタート値設定レジスタ６０８ｂ５）に設定して、ステップＳ４５８へ進む。
【０１９８】
ステップＳ４５８では、大当り乱数が次回の初期値（スタート値）設定待ちの乱数であるかチェックする。ここで、初期値設定待ちでなければステップＳ４６２へジャンプする（ステップＳ４５９：Ｎｏ）。一方、大当り乱数が初期値設定待ちであるときはステップＳ４６０へ進む（ステップＳ４５９：Ｙｅｓ）。ステップＳ４６０では、次回初期値として大当り初期値乱数をロードし、次のステップＳ４６１で大当り乱数の次回の初期値を、対応する乱数カウンタ（乱数領域）のスタート値を保持するレジスタ（スタート値設定レジスタ６０８ｃ５）に設定して、ステップＳ４６２へ進む。
【０１９９】
ステップＳ４６２では、大当り図柄乱数１が次回の初期値（スタート値）設定待ちの乱数であるかチェックする。ここで、初期値設定待ちでなければステップＳ４６６へジャンプする（ステップＳ４６３：Ｎｏ）。一方、大当り図柄乱数１が初期値設定待ちであるときはステップＳ４６４へ進む（ステップＳ４６３：Ｙｅｓ）。ステップＳ４６４では、次回初期値として大当り図柄初期値乱数１をロードし、次のステップＳ４６５で大当り図柄乱数１の次回の初期値を、対応する乱数カウンタ（乱数領域）のスタート値を保持するレジスタ（スタート値設定レジスタ６０８ｄ５）に設定して、ステップＳ４６６へ進む。
【０２００】
ステップＳ４６６では、大当り図柄乱数２が次回の初期値（スタート値）設定待ちの乱数であるかチェックする。ここで、初期値設定待ちでなければ当該乱数更新処理１を終了する（ステップＳ４６７：Ｎｏ）。一方、大当り図柄乱数２が初期値設定待ちであるときはステップＳ４６８へ進む（ステップＳ４６７：Ｙｅｓ）。ステップＳ４６８では、次回初期値として大当り図柄初期値乱数２をロードし、次のステップＳ４６９で大当り図柄乱数２の次回の初期値を、対応する乱数カウンタ（乱数領域）のスタート値を保持するレジスタ（スタート値設定レジスタ６０ｅ５）に設定して、当該乱数更新処理１を終了する。
【０２０１】
従って、このタイマ割込み処理における乱数更新処理１（ステップＳ４５）が、周回初期値更新手段による更新を制御する更新制御手段として機能する。
なお、乱数更新処理１（ステップＳ４５）を、周期的カウンタの周回初期値を対応する初期値カウンタのカウント値で更新する周回初期値更新手段として機能させることもできる。また、ステップＳ４５２を、周期的カウンタのカウント値が一循環を完了したか否かを判定する周期的カウンタ循環判定手段として機能させることもできる。また、ステップＳ４５６を、周期的カウンタ循環判定手段により一循環完了したと判定された場合に、初期値カウンタのカウント値を周回初期値として取得する周回初期値取得手段として機能させることもできる。また、ステップＳ４５７を、周回初期値取得手段によって取得された周回初期値を、周期的カウンタの周回初期値として設定する周回初期値設定手段として機能させることもできる。
【０２０２】
次に、普図の当り乱数を攪拌更新するために用いられる、初期値乱数の攪拌について説明する。
図１９（Ａ）は割込みが発生した際の図１６の初期値乱数更新処理における初期値乱数の更新状況の概念図、図１９（Ｂ）は、割込みの発生タイミングに応じてスタート値設定レジスタに設定される初期値乱数カウンタの値の概念図である。
図１７及び図１８に示すように、割込みが発生してタイマ割込み処理が実行され、このタイマ割込み処理のうち乱数更新処理１が実行されると、ステップＳ４５４で当り乱数を初期値乱数カウンタのカウンタ値で更新するか否かがチェックされ、更新すると判定された場合（ステップＳ２５５；Ｙｅｓ）は、初期値乱数カウンタのカウント値が当り乱数をカウントするための乱数カウンタのスタート値として設定される（ステップＳ４５６、Ｓ４５７）。
【０２０３】
一方、図１５のステップＳ２６で割込みを許可するようにしたため、ステップＳ２７で初期値乱数更新処理が実行されている場合であっても割込みが発生する。そのため、割込みが発生したタイミングにおける初期値乱数更新処理の進行状況（乱数の更新状況）に応じて、スタート値設定レジスタに設定される値に変化が生じる。具体的には、図１９（Ａ）に示すように、初期値乱数更新処理を実行している際に発生した割込みのタイミングが、当該更新処理によってカウンタ値が更新される前（割込み発生タイミング「１」）である場合と、カウンタ値が更新された後（割込み発生タイミング「３」）である場合とが生じ、何れのタイミングであるかに応じてスタート値設定レジスタに設定される値が決定される。
【０２０４】
図１９（Ａ）（Ｂ）に示すように、割込み発生タイミング「１」で割込みが発生し、かつ、この割込みにおいて初期値乱数カウンタのカウント値を当り乱数の乱数カウンタのスタート値として設定する場合は、スタート値設定レジスタに「１４６」が設定される。一方、割込み発生タイミング「３」で割込みが発生し、かつ、この割込みにおいて初期値乱数カウンタのカウント値を当り乱数の乱数カウンタのスタート値として設定する場合は、スタート値設定レジスタに「１４７」が設定される。すなわち、割込み発生タイミングに応じてスタート値設定レジスタに設定される値（初期値乱数カウンタの値）が決定されることとなり、この割込み発生タイミングによって当り乱数を生成する乱数カウンタのスタート値が攪拌されることとなり、乱数取得に関わる不正が行われにくくすることができる。
なお、図１９（Ａ）に示すように当り初期値乱数の更新タイミングと割込み発生タイミングが重なった場合（割込み発生タイミング「２」）は、更新後の値をスタート値設定レジスタに設定することとする。
【０２０５】
また、図１６の初期値乱数更新処理では、当り初期値乱数の他にも、大当り初期値乱数、大当り図柄初期値乱数１、及び大当り図柄初期値乱数２の更新を行っており、割込み発生タイミングに応じて各乱数をカウントするためのカウンタのスタート値が、更新前の値となる乱数と、更新後の値となる乱数とが混在することとなる。例えば、図１９（Ａ）に示すように、割込み発生タイミング「３」で割込みが発生した場合、当り初期値乱数は更新後の値がスタート値として設定されるが、大当り初期値乱数は更新前の値がスタート値として設定されるため、その割込み発生タイミングに応じて初期値乱数カウンタの値を各乱数カウンタのスタート値として設定する規則性が崩れることとなる。したがって、不正行為者が、何らかの不正な手法で１つの乱数に関して乱数カウンタの値及び初期値乱数カウンタの値を入手したとしても、そこから他の乱数に関する更新タイミングが推測されることを防止できる。
【０２０６】
以上のような処理にすることで、不正行為者が、何らかの手法で遊技機外部から乱数カウンタの値と初期値乱数カウンタの値を割り出したとしても、周回の初期値の更新タイミングが規則性を持たないため、特定のカウント値（特定の遊技状態（大当り状態）を発生させることとなる値）を常に狙い撃ちすることが困難となり、不正行為の実行を著しく困難にすることができる。
また、初期値乱数更新処理（ステップＳ２７）の前に割り込みを許可する（ステップＳ２６）ことによって、初期値乱数更新処理中にタイマ割込みが発生すると割込み処理が優先して実行されるようになり、タイマ割込みが初期値乱数更新処理によって待たされることで割込み処理が圧迫されるのを回避することができる。したがって、不正防止対策を施すとともに、遊技の実行制御が煩雑になることを防止することができるようになる。
【０２０７】
なお、普図の当り乱数を例にあげて説明を行ったが、大当り乱数及び大当り図柄乱数１、２に関しても同様の処理を行い、当り乱数を各々の乱数に置き換えればよいため、説明は省略する。
【０２０８】
上述の説明から、上記実施形態には、遊技プログラムに基づいて遊技の進行を制御することが可能な遊技制御手段と、前記遊技制御手段による制御に基づき、複数の識別情報を変動表示する変動表示ゲームを実行可能な変動表示手段と、を備え、前記変動表示ゲームの停止結果が特別結果となった場合に、遊技者に遊技価値を付与可能な遊技機において、所定の最小値と最大値の範囲内で循環して所定時間毎にカウント値が更新される周期的カウンタと、前記所定の最小値と最大値の範囲内で循環してカウント値が更新され、該カウント値を前記周期的カウンタの周回初期値として使用される初期値カウンタと、を備え、前記周期的カウンタを複数設けるとともに、各々の周期的カウンタに対応して前記初期値カウンタを複数設け、前記遊技プログラムに基づいて前記複数の初期値カウンタのカウント値の更新処理を実行する初期値カウンタ更新手段と、前記周期的カウンタの周回初期値を対応する前記初期値カウンタのカウント値で更新する周回初期値更新手段と、前記周回初期値更新手段による更新を制御する更新制御手段と、を備え、前記初期値カウンタ更新手段は、一の更新処理において前記複数の初期値カウンタのカウント値を順次更新させ、前記更新制御手段は、前記初期値カウンタ更新手段による一の更新処理の実行中に、前記周回初期値更新手段による周回初期値更新を割り込ませて実行可能に制御する発明が含まれることが分かる。
【０２０９】
そして、この発明によれば、所定の最小値と最大値の範囲内で循環して所定時間毎にカウント値が更新される周期的カウンタと、所定の最小値と最大値の範囲内で循環してカウント値が更新され、該カウント値を周期的カウンタの周回初期値として使用される初期値カウンタと、を備え、周期的カウンタを複数設けるとともに、各々の周期的カウンタに対応して初期値カウンタを複数設け、遊技プログラムに基づいて複数の初期値カウンタのカウント値の更新処理を実行する初期値カウンタ更新手段と、周期的カウンタの周回初期値を対応する初期値カウンタのカウント値で更新する周回初期値更新手段と、周回初期値更新手段による更新を制御する更新制御手段と、を備え、初期値カウンタ更新手段は、一の更新処理において複数の初期値カウンタのカウント値を順次更新させ、更新制御手段は、初期値カウンタ更新手段による一の更新処理の実行中に、周回初期値更新手段による周回初期値更新を割り込ませて実行可能に制御するので、外部からの乱数の捕捉を困難にして不正行為を効果的に防止できるようになる。
【０２１０】
また、上記実施形態には、前記周回初期値更新手段は、前記周期的カウンタのカウント値が一循環を完了したか否かを判定する周期的カウンタ循環判定手段と、前記周期的カウンタ循環判定手段により一循環完了したと判定された場合に、前記初期値カウンタのカウント値を前記周回初期値として取得する周回初期値取得手段と、前記周回初期値取得手段によって取得された周回初期値を、前記周期的カウンタの周回初期値として設定する周回初期値設定手段と、を備える発明が含まれることが分かる。
【０２１１】
そして、この発明によれば、周回初期値更新手段は、周期的カウンタのカウント値が一循環を完了したか否かを判定する周期的カウンタ循環判定手段と、周期的カウンタ循環判定手段により一循環完了したと判定された場合に、初期値カウンタのカウント値を周回初期値として取得する周回初期値取得手段と、周回初期値取得手段によって取得された周回初期値を、周期的カウンタの周回初期値として設定する周回初期値設定手段とを備えるので、周期的カウンタの周回初期値として設定する初期値カウンタのカウント値の規則性を崩すことができるようになり、外部からの乱数の捕捉を困難にして不正行為を効果的に防止できるようになる。
【０２１２】
また、上記実施形態には、前記更新制御手段による制御を含む遊技の進行を制御する処理を前記所定時間毎に、前記初期値カウンタ更新手段による一の更新処理に割り込ませて実行する割込み制御手段を備え、前記初期値カウンタ更新手段は、前記割込み制御手段による一の制御処理が終了し、該割込み制御手段による次の制御処理が実行されるまでの残余時間において、前記初期値カウンタのカウント値の更新処理を実行する発明が含まれることが分かる。
【０２１３】
そして、この発明によれば、更新制御手段による制御を含む遊技の進行を制御する処理を所定時間毎に、初期値カウンタ更新手段による一の更新処理に割り込ませて実行する割込み制御手段を備え、初期値カウンタ更新手段は、割込み制御手段による一の制御処理が終了し、該割込み制御手段による次の制御処理が実行されるまでの残余時間において、初期値カウンタのカウント値の更新処理を実行するので、周期的カウンタの周回初期値として設定する初期値カウンタのカウント値の規則性を崩すことができるようになり、外部からの乱数の捕捉を困難にして不正行為を効果的に防止できるようになる。
【０２１４】
また、上記実施形態には、前記複数の初期値カウンタには、前記割込み制御手段による一の制御処理の発生時において、前記初期値カウンタ更新手段による一の更新処理によって更新された後の初期値カウンタと更新される前の初期値カウンタとが発生するように構成され、前記割込み制御手段による一の制御処理の処理量に基づいて前記残余時間が可変し、該残余時間が可変することに基づいて、前記割込み制御手段によって次の制御処理が発生された際に、前記更新された後の初期値カウンタと前記更新される前の初期値カウンタの比率が変化する発明が含まれることが分かる。
【０２１５】
そして、この発明によれば、複数の初期値カウンタには、割込み制御手段による一の制御処理の発生時において、初期値カウンタ更新手段による一の更新処理によって更新された後の初期値カウンタと更新される前の初期値カウンタとが発生するように構成され、割込み制御手段による一の制御処理の処理量に基づいて残余時間が可変し、該残余時間が可変することに基づいて、割込み制御手段によって次の制御処理が発生された際に、更新された後の初期値カウンタと更新される前の初期値カウンタの比率が変化するので、万が一、不正行為者が、何らかの不正な手法で１つの初期値カウンタのカウント値を入手したとしても、周期的カウンタの周回初期値として設定する初期値カウンタのカウント値の規則性を崩すことで、その更新タイミングを推測されることを防止できる。さらに、そこから他の初期値カウンタの更新タイミングを推測されることも防止できるようになる。
【０２１６】
また、上記実施形態には、前記遊技プログラムを実行するために使用される乱数値を前記周期的カウンタのカウント値で構成する発明が含まれることが分かる。
【０２１７】
そして、この発明によれば、遊技プログラムを実行するために使用される乱数値を周期的カウンタのカウント値で構成するので、遊技制御で使用する複数の乱数を並行して生成することができるようになる。
【０２１８】
また、上記実施形態には、前記周期的カウンタのカウント値は、前記変動表示ゲームの停止結果を特別結果とするか否かを決定するための特別結果判定用乱数値である発明が含まれることが分かる。
【０２１９】
そして、この発明によれば、周期的カウンタのカウント値は、変動表示ゲームの停止結果を特別結果とするか否かを決定するための特別結果判定用乱数値であるので、外部からの特別結果判定用乱数の捕捉を困難にして不正行為を効果的に防止できるようになる。
【０２２０】
また、上記実施形態には、前記周期的カウンタのカウント値は、前記変動表示ゲームの停止結果が特別結果となる場合に、該特別結果を構成する識別情報の表示態様を決定するための特別結果態様決定用乱数値である発明が含まれることが分かる。
【０２２１】
そして、この発明によれば、周期的カウンタのカウント値は、変動表示ゲームの停止結果が特別結果となる場合に、該特別結果を構成する識別情報の表示態様を決定するための特別結果態様決定用乱数値であるので、外部からの特別結果態様決定用乱数の捕捉を困難にして不正行為を効果的に防止できるようになる。
【０２２２】
また、上記実施形態には、遊技球が入賞することに基づいて、前記変動表示ゲームの実行権利が付与される始動入賞口と、前記始動入賞口へ遊技球が入賞しない閉状態と遊技球が入賞し易い開状態とに変化する普通変動入賞装置と、前記普通変動入賞装置を開状態にするか否かを決定するための普図変動表示ゲームを実行する普図変動表示装置と、を備え、前記周期的カウンタのカウント値は、前記普図変動表示ゲームにおいて前記普通変動入賞装置を開状態にすることとなる当りを発生させるか否かを決定するための当り乱数値である発明が含まれることが分かる。
【０２２３】
そして、この発明によれば、周期的カウンタのカウント値は、普図変動表示ゲームにおいて普通変動入賞装置を開状態にすることとなる当りを発生させるか否かを決定するための当り乱数値であるので、外部からの当り乱数の捕捉を困難にして不正行為を効果的に防止できるようになる。
【０２２４】
また、上記実施形態には、遊技プログラムに従って遊技に係わる所要の制御を行う遊技制御手段と、該遊技制御手段による制御で用いられる乱数値を生成する乱数生成手段と、を備えた遊技機であって、
前記乱数生成手段は、所定の最小値と最大値の範囲内で循環して所定時間毎に更新される乱数カウンタと、電源投入及びシステムリセット毎にランダムな値を生成して前記乱数カウンタの１周目の周回初期値として設定する第１攪拌手段と、前記第１攪拌手段によって前記乱数カウンタに１周目の周回初期値が設定された後、前記乱数カウンタが更新されて当該周回の周回初期値に達する毎に、当該乱数カウンタの新たな周回初期値を設定する第２攪拌手段と、を備え、
前記遊技制御手段は、遊技における所定の事象の発生に基づいて前記乱数生成手段で生成された乱数値を取得する乱数値取得手段と、前記乱数値取得手段によって取得された乱数値を判定して遊技制御に係わる決定を行う遊技結果決定手段と、前記第２攪拌手段によって設定される周回初期値として用いられる値を生成する置換カウンタを更新する置換カウンタ更新手段と、を備え、電源投入及びシステムリセットが発生したこと基づいて、前記置換カウンタに第１攪拌手段が生成したランダムな値を初期値として設定する発明が含まれることが分かる。
【０２２５】
そして、この発明によれば、不正行為者が、例えば遊技機の遊技制御装置から各種被制御装置への制御信号の送信タイミングなどに基づいて乱数カウンタの更新タイミングを割り出したとしても、周回の初期値の変更の仕組みについて解析しない限り乱数カウンタの値まで割り出すことは難しく、特定の遊技状態（大当り状態）を発生させる不正行為を行うことが著しく困難になる。また、電源投入及びシステムリセット毎にランダムな値を生成して前記乱数カウンタの１周目の周回初期値と、２周目以降の周回初期値として用いられる値を生成する置換カウンタの初期値に設定するようにしたので、乱数カウンタの値を外部から割り出すことは難しくなり、不正行為を未然に防止できることとなる。
【０２２６】
また、上記実施形態には、前記乱数生成手段は、前記乱数カウンタの更新範囲を規定する更新範囲情報が記憶される範囲情報記憶手段と、を備え、前記範囲情報記憶手段に記憶される更新範囲情報には、少なくとも前記乱数カウンタ更新範囲の上限値が含まれ、前記第１攪拌手段は、生成されたランダムな値が前記更新範囲情報に規定されている更新範囲外の値が設定された場合には、前記更新範囲外の値を前記範囲情報記憶手段に記憶された上限値で除算し、算出された余り値を前記乱数カウンタの１周目の周回初期値として設定するようにした発明が含まれる。
そしてかかる発明によれば、周期的に更新される乱数カウンタの周回初期値として不適切な値（所定の範囲外の値）が記憶されるおそれがあるが、不適切な値（所定の範囲外の値）が記憶された場合には、補正を受けるので、所定の範囲内の値に設定し直され、乱数カウンタの周回の初期値には常に所定の範囲内の適切な値が設定されるので、所定の正しい確率で遊技の決定処理を行うことができる。
【０２２７】
さらに、上記実施形態には、前記乱数生成手段は、周回初期値より更新が開始され前記乱数カウンタの値が一巡して再び周回初期値へと戻ったことを検出する一周検出手段と、遊技制御手段によって記憶可能に構成され、前記第２攪拌手段によって前記乱数カウンタに記憶される周回初期値を記憶する周回初期値記憶手段と、を備え、前記一周検出手段によって前記乱数カウンタの値が一巡して周回初期値へと戻ったことが検出された場合に、前記第２攪拌手段によって前記周回初期値記憶手段に設定された周回初期値を前記乱数カウンタに設定するようにした発明が含まれる。
そしてかかる発明によれば、乱数カウンタの周回の初期値は少なくとも一巡する毎に第２攪拌手段によって設定された周回初期値に置換されるので、乱数カウンタの値を外部から割り出すことは難しく、不正行為を未然に防止することができる。
【０２２８】
さらに、上記実施形態には、前記乱数生成手段は、前記周回初期値記憶手段に記憶された周回初期値が、前記第２攪拌手段によって前記乱数カウンタに設定されたか否かを示す設定情報を記憶する設定情報記憶手段を備え、前記遊技制御手段は、前記設定情報を参照して前記周回初期値記憶手段に記憶された周回初期値が前記第２攪拌手段によって前記乱数カウンタに設定されたことが示された場合に、前記置換カウンタの値を取得して、次の周回初期値として前記周回初期値記憶手段に記憶するようにした発明が含まれる。
そしてかかる発明によれば、遊技制御手段は、周回初期値が乱数カウンタに設定されたか否かを示す設定情報に基づいて、次の周回初期値を設定するようにしたので、乱数カウンタが一巡する毎に確実に次の周回初期値を設定することができる。
【０２２９】
以上、本発明を実施形態に基づき具体的に説明したが、今回開示した実施形態は、全ての点で例示であって制限的なものではない。本発明の範囲は前述した発明の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び内容の範囲での全ての変更が含まれることが意図される。
例えば、本実施形態では、乱数生成回路６０８で乱数値が更新されなかった場合にエラーを示す値が設定され更新エラー報知レジスタ６０８ｂ１０とは別に、スタート値設定レジスタ６０８ｂ５に次回に設定される値（開始値）が記憶されているか否かを示す情報（フラグ）を記憶するソフト乱数ステータスレジスタ６０８ｂ１５を設けているが、これらのレジスタを１つのステータスレジスタとして構成するようにしてもよい。このようにすれば、レジスタの数を減らすことができる。
また、このステータスレジスタには、カウンタモードにおける更新エラーと乱数モードにおける更新エラーとを区別して設定できるようにしてもよい。
【符号の説明】
【０２３０】
１０    パチンコ遊技機（遊技機）
１００  遊技制御装置（遊技制御手段、初期値カウンタ更新手段、更新制御手段）
３００  演出制御装置（変動表示手段）
６０８  乱数生成回路（周期的カウンタ、初期値カウンタ、周回初期値更新手段）
【図１】
0005560428.tif 000002
【図２】
0005560428.tif 000003
【図３】
0005560428.tif 000004
【図４】
0005560428.tif 000005
【図５】
0005560428.tif 000006
【図６】
0005560428.tif 000007
【図７】
0005560428.tif 000008
【図８】
0005560428.tif 000009
【図９】
0005560428.tif 000010
【図１０】
0005560428.tif 000011
【図１１】
0005560428.tif 000012
【図１２】
0005560428.tif 000013
【図１３】
0005560428.tif 000014
【図１４】
0005560428.tif 000015
【図１５】
0005560428.tif 000016
【図１６】
0005560428.tif 000017
【図１７】
0005560428.tif 000018
【図１８】
0005560428.tif 000019
【図１９】
0005560428.tif 000020