(57)【特許請求の範囲】
【請求項１】
所定の下限値と上限値との間で循環して更新される周期的カウンタと、
遊技における所定の事象の発生を検出する検出手段と、
この検出手段による検出に基づいて前記周期的カウンタの値を取得する取得手段と、
この取得された周期的カウンタの値に基づいて特定の遊技状態発生の抽選を行う抽選手段とを備え、
所定の割り込み周期を単位として遊技制御される遊技機において、
複数バイトから構成される周回初期値生成カウンタと、
前記周回初期値生成カウンタを更新する周回初期値生成カウンタ更新手段と、
前記周期的カウンタが少なくとも一巡して周回の初期値に戻ってきたところで前記周期的カウンタの周回の初期値を前記周回初期値生成カウンタの値に置き換える初期値置換手段と、
前記周回初期値生成カウンタが所定の範囲外の値である場合に所定の範囲内の値に設定し直す周回初期値生成カウンタ補正手段とを備え、
前記周回初期値生成カウンタ更新手段は、更新処理を次回の遊技制御開始までの時間にわたって実行するとともに、前記初期値置換手段による処理の直前にも実行するようにし、
前記周回初期値生成カウンタ補正手段は、補正処理を前記初期値置換手段による処理の直前に実行するようにし、
前記周回初期値生成カウンタは、該周回初期値生成カウンタの最大値を前記上限値未満の値とするとともに、該周回初期値生成カウンタの最小値を前記下限値より大きい値とし、
前記周回初期値生成カウンタ補正手段は、前記周回初期値生成カウンタの値が前記最大値よりも大きいか否か判定して、前記最大値よりも大きい場合は、前記周回初期値生成カウンタの値を前記最小値に設定し、且つ、前記周回初期値生成カウンタの値が前記最小値よりも小さいか否か判定し、前記最小値よりも小さい場合は、周回初期値生成カウンタの値を前記最小値に設定するようにしたことを特徴とする遊技機。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、遊技機（例えば弾球遊技機）において、特定の遊技状態（例えば大当たり状態）発生のための周期的カウンタのカウント値を、遊技制御装置から各種被制御装置（例えば可変表示装置）への制御信号の送信等に基づいて割り出すことを困難にした改良に関する。
【０００２】
【従来の技術】
遊技機（例えば弾球遊技機）においては、下限値（最小値）と上限値（最大値）の間で循環して更新される周期的カウンタを備え、遊技における所定の事象の発生（例えば特定の入賞装置への遊技球の入賞）に基づいて取得されたこの周期的カウンタの値に基づいて、特定の遊技状態の発生（例えば大当たり）の抽選をするものが知られている。
【０００３】
このような遊技機には、遊技を統括的に制御する遊技制御装置を備え、周期的カウンタである乱数カウンタの値を、この遊技制御装置における制御（遊技制御）の単位周期毎に更新するものがある。また、このようなタイプの遊技機では、この遊技制御において、遊技制御装置から各種被制御装置（表示制御装置等）に、各種被制御装置の動作を制御するための制御信号を送信するようになっている。
【０００４】
【発明が解決しようとする課題】
しかしながら、このようなタイプの遊技機においては、遊技機に不正行為用の基板を取り付けることにより乱数カウンタの値を割り出し、特定の遊技状態の発生を人為的に引き起こす不正行為が行われることがあった。
【０００５】
弾球遊技機の場合を例に詳しく説明すると、図８に示すように、不正行為を行おうとする者は、弾球遊技機の始動スイッチ３１から遊技制御装置２０の入力インターフェース２４に向かう配線（リード線）上、および同じく遊技制御装置２０の出力インターフェース２５からいずれかの被制御装置（可変表示装置１１、変動入賞装置１２、装飾装置３０）に向かう配線上に、不正基板１００を介装する。図８の例では、表示制御装置である可変表示装置１１に向かう配線上に不正基板１００を介装した例を示している。なお、始動スイッチ３１は、始動口への遊技球入賞タイミングを検出するセンサであり、弾球遊技機においては、この始動口への入賞タイミングに関連した乱数カウンタ値が特定の値である場合に大当たりが発生するようになっている。
【０００６】
このように不正基板１００をセットすることにより、不正行為者は、遊技制御装置２０から被制御装置へと送られる制御信号（図８の例では可変表示装置１１へと送られる表示制御信号）に基づいて、遊技制御装置２０における特定の遊技状態（例えば大当たり状態）発生のための処理タイミング（具体的には乱数カウンタの値）を検出する。そして、この遊技制御装置２０のＣＰＵ２１の動作タイミングに基づいて、始動スイッチ３１から遊技制御装置２０への入賞検出信号の送信タイミングを操作し、遊技の大当たりの発生を人為的に調節する。
【０００７】
具体的に説明すると、遊技制御装置２０のＣＰＵ２１は、割り込み信号発生回路２６からの所定周期の割り込み信号毎に１単位の遊技制御を実行し、この割り込み信号周期が上記遊技制御の単位周期となる。そして、乱数カウンタの値は、所定の下限値から上限値までの範囲（例えば０〜２９９の範囲）で、割り込み信号があるごとに＋１づつ更新されて行く。また、前述したように、この乱数カウンタの値は遊技制御装置２０における特定の遊技状態発生のための処理タイミングを示すものであり、遊技の大当たりは乱数カウンタが所定の値（例えば７）を持つタイミングで入賞検出信号の送信がなされることにより発生する。
【０００８】
一方、遊技制御装置２０から可変表示装置１１への表示制御信号の送信は、図９に示すように、８回の割り込み信号がある毎に（すなわち遊技制御の８単位毎に）１回づつ実行され、割り込み信号に対して一定のタイミングをもっている。このため、表示制御信号の送信タイミングは、この乱数カウンタの値に対して一定の関係を持つことになる。したがって、不正行為者は、遊技制御装置２０のＣＰＵ２１を解析して乱数カウンタの大当たり値（例えば７）を割り出しさえすれば、表示制御信号の送信タイミングから大当たりのタイミングを割り出すことができる。
【０００９】
このようにして、不正行為者は、表示制御信号の送信タイミングに対して所定の関係を持つように入賞検出信号の送信タイミングを操作することにより、人為的に大当たりを発生させることができる。なお、この場合、入賞検出信号は、「球有り」または「球無し」を示す単純な２レベルからなる電圧信号からなるのが一般的であるので、偽の検出信号を作り出したり、検出信号の送信タイミングをずらしたりすることは容易である。
【００１０】
さらに、不正行為者は、自身が遊技を行っているときには、人為的に大当たりを発生させる一方で、同じ弾球遊技機で不正行為者以外の人が遊技を行っているときには、人為的に大当たりを外すようにもできる。これにより、全体としてその弾球遊技機での大当たりの確率が増えないようにできるので、たとえ大当たりの発生頻度を監視したとしても不正行為を発見することは難しい。
【００１１】
また、遊技制御装置２０に入力される検出信号は、前述したように単純な２レベルの電圧信号であるので、この検出信号から不正装置１００の接続を発見することもできない。
【００１２】
このため、不正行為の発見は、弾球遊技機の構成部品を分解するなどして実際に不正装置１００を発見する以外に方法はないが、近年では不正装置１００は小型化される傾向にあり、発見も容易でなくなってきている。
【００１３】
また、このような不正行為を防止するために大当たりの抽選方法を根本的に変えてしまう（例えば周期的に＋１づつ更新される乱数ではない、全く新しいタイプの乱数を採用する）のでは、その新しいタイプの乱数が正しい大当たり確率を与えるか否かの検証などが必要となり、実用化までに多大の時間を要してしまう恐れがある。
【００１４】
本発明は、このような問題点に着目してなされたもので、特定の遊技状態（例えば大当たり）発生のために用いられる周期的カウンタの値を遊技機外部から認識することを困難にした遊技機を提供することを目的とする。
【００１５】
【課題を解決するための手段】
本発明は、所定の下限値と上限値との間で循環して更新される周期的カウンタと、遊技における所定の事象の発生を検出する検出手段と、この検出手段による検出に基づいて前記周期的カウンタの値を取得する取得手段と、この取得された周期的カウンタの値に基づいて特定の遊技状態発生の抽選を行う抽選手段とを備え、所定の割り込み周期を単位として遊技制御される遊技機において、複数バイトから構成される周回初期値生成カウンタと、前記周回初期値生成カウンタを更新する周回初期値生成カウンタ更新手段と、前記周期的カウンタが少なくとも一巡して周回の初期値に戻ってきたところで前記周期的カウンタの周回の初期値を前記周回初期値生成カウンタの値に置き換える初期値置換手段と、前記周回初期値生成カウンタが所定の範囲外の値である場合に所定の範囲内の値に設定し直す周回初期値生成カウンタ補正手段とを備え、前記周回初期値生成カウンタ更新手段は、更新処理を次回の遊技制御開始までの時間にわたって実行するとともに、前記初期値置換手段による処理の直前にも実行するようにし、前記周回初期値生成カウンタ補正手段は、補正処理を前記初期値置換手段による処理の直前に実行するようにし、前記周回初期値生成カウンタは、該周回初期値生成カウンタの最大値を前記上限値未満の値とするとともに、該周回初期値生成カウンタの最小値を前記下限値より大きい値とし、前記周回初期値生成カウンタ補正手段は、前記周回初期値生成カウンタの値が前記最大値よりも大きいか否か判定して、前記最大値よりも大きい場合は、前記周回初期値生成カウンタの値を前記最小値に設定し、且つ、前記周回初期値生成カウンタの値が前記最小値よりも小さいか否か判定し、前記最小値よりも小さい場合は、周回初期値生成カウンタの値を前記最小値に設定するようにした。
【００１８】
【発明の作用および効果】
本発明では、周期的カウンタの周回の初期値は少なくとも一巡する毎に置換手段によって周回初期値生成カウンタの値に置換されるので、周期的カウンタの値を外部から割り出すことは難しく、不正行為を未然に防止できる。この場合、周回初期値生成カウンタは複数バイト（複数の領域）から構成されているので、周回初期値生成カウンタの更新書き込みの最中に遊技制御の一単位が終了してしまった場合には、周回初期値生成カウンタには周期的カウンタの初期値として不適切な値（所定の範囲外の値）が残ってしまう恐れがあるが、この周回初期値生成カウンタの値は初期値置換手段による置換処理の直前に周回初期値生成カウンタ補正手段による補正を受けるので、所定の範囲内の値に設定し直され、周期的カウンタの周回の初期値には常に所定の範囲内の適切な値が設定される。したがって、特定の遊技状態は所定の正しい確率で発生する。
【００２１】
【発明の実施の形態】
以下、添付図面に基づいて、本発明の実施の形態について説明する。
【００２２】
図１には、弾球遊技機の正面図を示す。
【００２３】
図示されるように、弾球遊技機の機枠（外枠）１の正面には、上部蝶番２Ａと下部蝶番２Ｂにより内枠３が取り付けられ、この内枠３に遊技盤４が取り付けられる。また、内枠３の正面には、透明ガラスが装着されたガラス枠５が取り付けられ、遊技盤４正面をガラスで覆うとともに、遊技盤４がガラスを通して透けて見えるようになっている。
【００２４】
なお、遊技盤４は内枠３から取り外し可能で、弾球遊技機本体（弾球遊技機の遊技盤４以外の構成）から分離することができる。これにより、遊技盤４の種類で決まって来る遊技態様を、遊技盤４の交換とともに変更することが可能となっている。
【００２５】
遊技盤５の下部には、遊技球の供給皿（上皿）６と、受け皿（下皿）７と、打球発射装置の操作部８が配設される。この供給皿６には、賞球としての遊技球が賞球口６Ａから導入される。また、受け皿７は、供給皿６が遊技球で満杯になったときに余剰の遊技球を受け入れるものであり、この受け皿７内の遊技球は操作レバー７Ａの操作により下方に排出できるようになっている。
【００２６】
操作部８のみが図示される打球発射装置は遊技球の発射手段であり、遊技球は供給皿６からこの打球発射装置へと供給され、操作部８の回転操作にしたがって発射される。発射された遊技球は、遊技盤４に設けられたガイドレ−ル９に沿って案内され、遊技盤４の正面のガイドレ−ル９で囲われた領域（遊技領域）１０内に入る。
【００２７】
操作部８にはストップスイッチ８Ａが備えられ、操作者はこのストップスイッチ８Ａを操作することにより、操作部８の回転操作中でも打球発射をストップすることができる。また、この操作部８には図示されないタッチスイッチが設けられ、操作者が操作部８を操作していること（操作者の手が操作部８に触れていること）をこのタッチスイッチが感知しないときには、打球発射装置からの打球発射がストップされるようになっている。
【００２８】
遊技領域１０のほぼ中央には、表示手段に相当する可変表示装置（画像表示装置）１１が配設されている。この可変表示装置１１は、遊技の進行状態に対応した表示を行うもので、例えば、遊技状態を表す３つの特別図柄（左図柄、中図柄、右図柄）を液晶画面に表示する。この可変表示装置１１の特別図柄は、後述する始動口１４に遊技球が入賞すると変動を開始するようになっている。
【００２９】
可変表示装置１１の下方には、開閉自在の大入賞口を備えた変動入賞装置１２が配設される。また、これら可変表示装置１１および変動入賞装置１２の周辺には複数の一般入賞口１３が、また可変表示装置１１と変動入賞装置１２の中間の領域には始動口１４が、それぞれ配設される。さらに、遊技領域１０の最下端には、排出口１５が設けられる。
【００３０】
これにより、遊技領域１０内に打ち込まれた遊技球は、遊技領域１０内の各所に配置された風車等の転動誘導部材１６により転動方向を変えられながら遊技領域１０表面を流下し、変動入賞装置１２、一般入賞口１３、始動口１４、排出口１５のいずれかに入るようになっている。
【００３１】
この場合、始動口１４には始動スイッチ３１（図２参照）が設けられ、入賞が検知される。
【００３２】
また、変動入賞装置１２の大入賞口には、カウントスイッチ３２（図２参照）が設けられ、大入賞口への入賞が検知される。
【００３３】
また、この大入賞口の内部にはＶ入賞口が設けられ、大入賞口に入賞した遊技球がこのＶ入賞口にも入賞すると、Ｖ入賞検出スイッチ３３（図２参照）により検知されるようになっている。大入賞口の開閉制御パターンは、このＶ入賞口への入賞状況により変更され、例えば、大入賞口の開放中にＶ入賞口への入賞がある限り、大入賞口の開放が所定の上限回数（例えば１６回）まで繰り返されるようになっている。
【００３４】
始動口１４への遊技球の入賞が大当たりのタイミングでなされると遊技は大当たりとなり、可変表示装置１１の表示が、始動口１４への入賞にともなって変動した後に大当たりを示すものとなり（例えば、３つの図柄が同一の図柄となり）、さらに、常態では閉じられていた変動入賞装置１２の大入賞口が開放され、遊技球が変動入賞装置１２に入賞し得る状態になる。
【００３５】
遊技領域１０の左右両端には装飾用のサイドランプ１７が、また、内枠３上部には可変表示装置１１が大当たり状態となったときに点滅する大当たりランプ１８が、それぞれ設けられる。なお、以下の説明では、これらのランプ１７、１８や図示されない装飾ＬＥＤ等の装飾用の各種装置を、装飾装置３０として総称する。
【００３６】
遊技盤４下方の内枠３前面には、音放出口１９が設けられ、この音放出口１９からは、図示されないスピーカからの効果音が放出される。
【００３７】
図２には、遊技制御装置２０の構成を示す。
【００３８】
遊技制御装置２０は、例えば遊技盤４の裏面に設置される役物制御基板上に配設された各種部品、すなわちＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、入力インターフェース２４、出力インターフェース２５、割り込み信号発生回路２６、バス２７等から構成される。
【００３９】
ＣＰＵ２１は遊技制御装置２０による制御（遊技制御）を司るＩＣであり、入力インターフェース２４を介して、各種検出装置（始動スイッチ３１、カウントスイッチ３２、Ｖ検出スイッチ３３）からの検出信号が入力される。ＣＰＵ２１は、これらの検出信号に基づいて各種制御信号を演算し、これらの制御信号を、出力インターフェース２５を介して遊技盤４上の各種装置（可変表示装置１１、変動入賞装置１２、装飾装置３０等）に出力することにより、遊技制御を行う。
【００４０】
ＲＯＭ２２は、遊技制御のための各種固定情報を記憶しているもので、遊技制御のための遊技プログラムや、遊技制御における大当たりの確率などの定数が記憶されている。
【００４１】
ＲＡＭ２３は、このＣＰＵ２１による遊技制御時のワークエリアとして利用されるもので、データ記憶領域として、乱数カウンタ（大当たり判定用のカウンタ）、乱数記憶領域、イベントカウンタ、周回検出値生成用カウンタ（特許請求の範囲における「周回初期値生成カウンタ」に相当する）、周回検出値格納領域、スイッチ入力バッファ、メカ装置出力バッファ、装飾装置出力バッファ、表示制御信号出力バッファを、それぞれ備えている。
【００４２】
ここで、乱数カウンタは、所定の下限値から上限値までの間で循環して＋１づつ更新されるカウンタ（図４のフローチャート参照）であり、後述するスイッチ読み込み情報対応処理（図３のフローチャートのステップＳ５の処理）において取得された乱数カウンタの値に基づいて、遊技の大当たりの判定がなされる。
【００４３】
また、乱数記憶領域は、後述するスイッチ読み込み情報対応処理において取り込まれた乱数カウンタの値を記憶する領域で、それぞれに乱数カウンタの値を記憶できる複数の領域（例えば４領域）が設けられ、始動口１４に連続して複数の遊技球が入賞した場合にも対応できるようになっている。
【００４４】
また、イべントカウンタは、例えば０〜７の範囲で循環して更新される８進カウンタからなるもので、図６のフローチャートとともに後述するように、このイベントカウンタの値により遊技制御における時分割処理（図３のフローチャートのステップＳ９〜ステップＳ１８の処理）の内容が決定される。
【００４５】
また、周回検出値生成用カウンタは、乱数カウンタの周回の初期値を決定するためのカウンタであり、乱数カウンタと同一の下限値と上限値の間で周回する。後述するように、乱数カウンタの周回の初期値は、周回が一巡する毎に、所定の取得タイミングにおける周回検出値生成用カウンタの値に、新たに更新される。これにより、乱数カウンタの値を外部から割り出すことを難しくできる。
【００４６】
また、本発明では、この周回検出値生成用カウンタは、上位バイト領域、下位バイト領域の２つの領域から構成され、上位バイト領域にはカウンタ値の上位バイトが、また下位バイト領域にはカウンタ値の下位バイトが、それぞれ格納されるようになっている。これにより、周回検出値生成用カウンタにおいて表現できる値は、００００Ｈ〜ＦＦＦＦＨ（１０進法表現では０から６５５３５）となる。
【００４７】
また、周回検出値格納領域は、乱数カウンタの周回の初期値である周回検出値が格納される領域であり、所定の取得タイミングにおいて周回検出値生成用カウンタから取得されたカウント値が記憶されるものである（図４参照）。
【００４８】
入力インターフェース２４は、各種検出装置からの入力信号を、ＣＰＵ２１で読み込めるレベルに変換するもので、ローパスフィルタ、レベル変換装置、バッファＩＣ、入力ポートなどから構成されている。
【００４９】
出力インターフェース２５は、ＣＰＵ２１からの各種制御信号を出力して各種装置を駆動するもので、出力ポート、ラッチＩＣ、ドライブ回路等から構成されている。なお、ＣＰＵ２１で編集された各種被制御装置を制御するための指令情報（出力データ）は、出力インターフェース２５の出力ポートにおいて通信フォーマットに変換されて、各種被制御装置に制御信号として出力される。
【００５０】
割り込み信号発生回路２６は、ＣＰＵ２１に所定のタイミングで割り込み信号を発信する回路である。詳しく説明すれば、この割り込み信号発生回路２６はクロック回路を備えており、このクロック回路で生成された基本パルス信号を分周して所定パルス幅（例えば１０マイクロ秒程度）のパルス信号を生成し、このパルス信号を割り込み信号として、一定時間毎（例えば２ミリ秒毎）に発信するようになっている。ＣＰＵ２１は、この割り込み信号をリセット入力端子を介して受信し、この受信毎にそれまでの処理をリセットして、所定の番地から新たな制御処理を開始する。これにより、ＣＰＵ２１による遊技制御は、この割り込み信号の発信のタイミング（例えば２ミリ秒）を単位として実行されるようになっている。なお、このように遊技制御を割り込み信号毎の短い周期に分割するのは、金属製の多数の遊技球が循環することにより生じるノイズに起因したＣＰＵ２１の暴走を防止するためである。
【００５１】
図３は、遊技制御装置２０により実行される遊技制御の処理手順を示すフローチャートである。前述したように、この遊技制御は一定周期（例えば２ミリ秒周期）のリセット割り込み信号毎に繰り返される。
【００５２】
ステップＳ１では電源投入判定処理が実行され、割り込み信号発生回路２６からのリセット割り込み信号が電源投入後の最初のものであるか否かが、ＲＡＭ２３の所定の検査用データ領域に所定値が格納されているか否かに基づいて判定される。
【００５３】
このステップＳ１でリセット割り込み信号が電源投入後の最初のものであると判定された場合には、ステップＳ２に進み、ＲＡＭ２３の初期化（前述の検査用データ領域にはこの初期化において所定のデータが格納される）、ＣＰＵ２１のレジスタの初期化等が実行され、そのままルーチン終了する。
【００５４】
一方、ステップＳ１でリセット割り込み信号が電源投入後の最初のものでないと判定された場合には、ステップＳ３に進む。ステップＳ３では、スイッチ読み込み処理が実行され、各種検出装置（始動スイッチ３１、カウントスイッチ３２、Ｖ検出スイッチ３３等）から入力インターフェース２４のポートに入力された検出データがチャタリング除去等の処理がなされてＣＰＵ２１内へ読み込まれる。
【００５５】
続くステップＳ４では、ポート出力処理が実行され、ＣＰＵ２１のバッファ内の各種制御用出力データが、出力インターフェース２５の出力ポートに出力される。
【００５６】
続くステップＳ５では、スイッチ読み込み情報対応処理が実行される。このスイッチ読み込み情報対応処理では、始動スイッチ３１の入賞処理、カウントスイッチ３２による検出に基づく大入賞口への入賞個数を計数、Ｖ検出スイッチ３３による検出に基づくラウンド継続を行うかどうかの判断等が実行される。ここで始動スイッチ３１の入賞処理は、大当たりの抽選のための乱数カウンタ値を取り込む処理であり、この処理では、まずスイッチ入力バッファの始動スイッチ領域のステータスが確認される。そして、このステータスが「球有り」である場合、すなわち始動口１４に入賞した遊技球（始動スイッチ３１を通過した遊技球）がある場合には、この時点での乱数カウンタの値を、ＲＡＭ２３の乱数記憶領域に格納する。
【００５７】
ステップＳ６では、賞球指令情報編集処理が実行され、賞球排出手段への命令となる賞球指令情報が編集される。
【００５８】
ステップＳ７では第１の各種乱数更新処理が実行され、乱数カウンタの更新等の処理がなされる。なお、この第１の各種乱数更新処理の詳しい処理手順は、図４のフローチャートとともに後述する。
【００５９】
ステップＳ８ではイベントカウンタ更新処理が実行され、ＣＰＵ２１内に備えられたイベントカウンタのカウンタ値を＋１更新する。
【００６０】
ステップＳ９〜ステップＳ１８の処理は、イベントカウンタの値に応じて選択的に実行される処理（時分割処理）である。すなわち、この時分割処理においては、イベントカウンタの値に応じて、ステップＳ９の特別図柄ゲーム進行制御処理、ステップＳ１０の特別図柄変動制御処理、ステップＳ１１のメカ装置出力情報編集処理、ステップＳ１２発光装置出力情報編集処理、ステップＳ１３〜ステップＳ１４のカウントスイッチ関連異常監視処理および営業用情報編集処理、ステップＳ１５の音指令情報ポート出力処理、ステップＳ１６〜ステップＳ１７の表示指令情報編集処理および各種出力情報合成編集処理、ステップＳ１８の表示指令情報ポート出力処理が、選択的に実行される。なお、この時分割処理はイベントカウンタの値が０〜７の間で一巡すると一通り実行されることになるので、割り込み信号が２ミリ秒周期であるときには、２ミリ秒×８＝１６ミリ秒周期で１単位（一通り）の処理が実行されるようになっている。
【００６１】
ステップＳ９の特別図柄ゲーム進行制御処理は、遊技制御の中核となる処理であり、特別図柄ゲーム処理番号に基づいて、特別図柄に関するゲーム（大当たりに関するゲーム）の進行を制御する各種処理が実行される。
【００６２】
ここで、特別図柄ゲーム処理番号とは、特別図柄に関するゲームの進行状態に応じて切り換えられる番号であり、例えば、特別図柄が変動しているゲーム状態には処理番号１が、特別図柄の変動が停止してから大当たりの判定（大当たりフラグが立っているか否かの判定）までのゲーム状態には処理番号２が、大当たり状態（変動入賞装置１２開放の各ラウンドおよびそのインターバル期間）には処理番号３が、その他のゲーム状態には処理番号０が、それぞれ割り当てられている。
【００６３】
特別図柄ゲーム処理番号が１の場合に実行される大当たりの判定は、以下のような手順で実行される。
【００６４】
まず、乱数記憶領域に始動口１４への入賞タイミングを示す乱数カウンタの値が記憶されているか否かが判定され、乱数カウンタの値が記憶されているときには、その乱数カウンタの値が、大当たりに相当する所定値（例えば「７」）と一致するか否かを判定する。なお、割り込み信号の発信タイミングが２ミリ秒毎であり、ＲＡＭ２３内の乱数カウンタの下限値（最小値）が０であり上限値（最大値）が２９９である場合には、３００×２ミリ秒＝６００ミリ秒で乱数カウンタが一巡するが、この６００ミリ秒の内、大当たりに対応する２ミリ秒において始動口１４への遊技球の入賞があった場合に、遊技は大当たり状態となる。
【００６５】
この比較判定後にその乱数カウンタの値を消去し、この消去後の乱数記憶領域には、ステップ５において新たな乱数カウンタの値を取り込めるようにしておく。続いて、乱数カウンタの値が所定の大当たり値に一致するか否かにしたがって、可変表示装置１１における停止図柄パターン（停止図柄パターンに対応するパラメータ）を決定する。例えば、乱数カウンタの値が所定の大当たり値に一致する場合（すなわち大当たりの場合）には、可変表示装置１１の３つの数字図柄をゾロ目（例えば「７７７」）で停止させるようにパラメータを決定し、一致しない場合（大当たりでない場合）には、ゾロ目以外のパターンで停止させるように、パラメータを設定する。さらに、大当たりの場合には、変動入賞装置１２を開放させるようにパラメータの設定を行っておく。
【００６６】
ステップＳ１０の特別図柄変動制御処理では、特別図柄の更新処理（具体的には、可変表示装置１１に表示されている各図柄に対応するポインタである特別図柄現在表示図柄ポインタの更新処理）が実行される。なお、この特別図柄の更新処理の態様は、特別図柄ゲーム処理番号に応じて変更される。
【００６７】
ステップＳ１１のメカ装置出力情報編集処理では、変動入賞装置１２を制御するためのメカ装置出力データ（具体的には変動入賞装置１２を駆動するソレノイドへのＯＮ／ＯＦＦ信号）の編集がなされる。
【００６８】
ステップＳ１２の発光装置出力情報編集処理では、装飾装置３０の動作を制御するための出力データの更新処理等が実行される。
【００６９】
ステップＳ１３のカウントスイッチ関連異常監視処理では、カウントスイッチ３２に関連する不正行為等の異常発生の監視処理がなされる。続くステップＳ１４の営業用情報編集処理では、ホールコンピュータ（遊技店内の遊技機を統括して管理するコンピュータ）に送信される営業用情報出力データの編集がなされる。
【００７０】
ステップＳ１５の音指令情報ポート出力処理では、スピーカの音出力を制御するための音指令情報が選択され、出力インターフェース２５のポートに出力される。
【００７１】
ステップＳ１６の表示指令情報編集処理では、可変表示装置１１の表示を制御するための表示指令情報を編集する。続くステップＳ１７の各種出力情報合成編集処理では、ＣＰＵ２１内の各種格納バッファに記憶されている各種出力データを合成編集して、ポート別出力データ格納バッファに記憶する。ポート別出力データ格納バッファに記憶された出力データは、ステップＳ４の出力処理において出力インターフェース２５のポートに出力される。
【００７２】
ステップＳ１８の表示指令情報ポート出力処理では、ステップＳ１８の表示指令情報編集処理で編集されてＣＰＵ２１の表示指令情報格納バッファに記憶されている表示指令情報を、出力インターフェース２５のポートに出力する。この表示指令情報は、出力インターフェース２５のポートにおいて通信フォーマットに変換され、表示指令信号として可変表示装置１１に送信される。
【００７３】
ステップＳ１９の第２の各種乱数更新処理はステップＳ９〜Ｓ１８の時分割処理に引き続いて実行される処理であり、次回のリセット割り込み信号までの残余時間にわたって、この第２の各種乱数更新処理が実行される。なお、この第２の乱数更新処理の詳しい処理手順は、図５のフローチャートとともに後述する。
【００７４】
図４は、第１の乱数更新処理（図３のステップＳ７の処理）の処理手順を示すフローチャートである。
【００７５】
ステップＳ２１では、周回検出値生成用カウンタ更新処理が実行される。この周回検出値生成用カウンタ更新処理は、周回検出値生成用カウンタを更新するとともに、このカウンタ値が正規の範囲を超えた場合には正規な範囲内に補正する処理であるが、この詳しい処理内容については、図６のフローチャートとともに後述する。
【００７６】
ステップＳ２２では、乱数カウンタ（大当たり決定用の乱数カウンタ）の値が＋１更新される。これにより、乱数カウンタは、１単位の遊技制御ごと（１回の割り込み信号毎）に、＋１づつ更新されて行くことになる。
【００７７】
ステップＳ２３では、ステップＳ２２で更新された乱数カウンタの値が上限値（例えば２９９）を超えたか否かが判定され、上限値を超えた場合（例えば乱数カウンタ値が３００となった場合）には、ステップＳ２４において乱数カウンタに下限値（例えば０）を設定してステップＳ２５に進む。一方、上限値を超えていない場合には、そのままステップＳ２５に進む。
【００７８】
ステップＳ２５では、乱数カウンタの値が、周回検出値格納領域に記憶されている周回検出値であるか否かの判定がなされる。このステップＳ２５で乱数カウンタの値が周回検出値であると判定された場合にはステップＳ２６に進む。一方、乱数カウンタの値が周回検出値でないと判定された場合には、ステップＳ２６〜ステップＳ２８の処理を飛ばしてステップＳ２９に進む。
【００７９】
ステップＳ２６では、新たな周回検出値の取得処理がなされ、続くステップＳ２７では、この新たな周回検出値を周回検出値格納領域に記憶し、さらにステップＳ２８では、この新たな周回検出値を乱数カウンタに設定する。これにより、乱数カウンタは、次回の周回をこの新たな周回検出値から開始する。
【００８０】
ステップＳ２９では停止図柄決定用乱数の更新処理が、またステップＳ３０では演出用乱数の更新処理がそれぞれ実行され、ルーチン終了する。
【００８１】
一方、図５のフローチャートに示すように、第２の乱数更新処理（図３のフローチャートのステップＳ１９の処理）においては、周回検出値生成用カウンタ更新処理（図６参照）が繰り返される。この周回検出値生成用カウンタ更新処理は、図４の第１の乱数更新処理におけるステップＳ２１と同様の処理である。
【００８２】
図６は、周回検出値生成用カウンタ更新処理の処理手順を示すフローチャートである。
【００８３】
この周回検出値生成用カウンタ更新処理においては、まずステップＳ４１において、その時点での周回検出値生成用カウンタの上位バイト領域の値を、ＣＰＵ２１に備えられた第１のレジスタへ読み込む。そして、続くステップＳ４２において、その時点での周回検出値生成用カウンタの下位バイト領域の値を、ＣＰＵ２１に備えられた第２のレジスタに読み込む。ステップＳ４３では、上記第１のレジスタを上位バイトとし第２のレジスタを下位バイトとする合成レジスタの値を、＋１更新する。
【００８４】
ステップＳ４４では、この合成レジスタの値が、予め定められている周回検出値生成用カウンタの最大値（例えば２９９）よりも大きくなったか否かの判定がなされ、最大値よりも大きくなっていない場合には、そのままステップＳ４６に進む。一方、最大値よりも大きくなった場合には、ステップＳ４５において合成レジスタの値を、予め定められている周回検出値生成用カウンタの最小値（例えば０）に設定してステップＳ４６に進む。
【００８５】
ステップＳ４６では、上記合成レジスタの値が、上記最小値よりも小さくなったか否かの判定がなされ、上記最小値よりも小さくなっていない場合には、そのままステップＳ４８に進む。一方、上記最小値よりも小さくなった場合には、ステップＳ４７において合成レジスタの値を上記最小値に設定してステップＳ４８に進む。
【００８６】
なお、本実施の形態では、周回検出値生成用カウンタの最大値は乱数カウンタの上限値と同一の値（例えば２９９）に設定され、また周回検出値生成用カウンタの最小値は乱数カウンタの最小値と同一の値（例えば０）に設定されている。これにより、周回検出値として採用され得る値は最大限に広くなり、周回検出値の偏りを最小限とすることができるので、不正行為者が周回検出値を割り出すことを、より難しくできる。ただし、本発明はこのような形態に限られるものではなく、周回検出値生成用カウンタの最大値が乱数カウンタの上限値以下の値であり、また周回検出値生成用カウンタの最小値が乱数カウンタの下限値以上の値であれば、周回検出値生成用カウンタの最大値、最小値を乱数カウンタの上限値、下限値と異なる値としてもよい。例えば、乱数カウンタの上限値、下限値がそれぞれ２９９、１００であるのに対して、周回検出値生成用カウンタの最大値、最小値がそれぞれ１９９、１５０とするような形態を採ってもよい。
【００８７】
ステップＳ４８では第１レジスタのデータを周回検出値生成用カウンタの上位バイトに書き込み、またステップＳ４９では第２レジスタのデータを周回検出値生成用カウンタの下位バイトに書き込んで、ルーチン終了する。
【００８８】
このように周回検出値生成用カウンタ更新処理においては、周回検出値生成用カウンタを更新する処理（ステップＳ４１〜４３、ステップＳ４８〜４９）と周回検出値生成用カウンタを補正する処理（ステップＳ４４〜４７）は一連の処理として実行される（特許請求の範囲における、周回初期値生成カウンタ更新手段による処理と周回初期値生成カウンタ補正手段による処理を一連の処理として実行することに相当する）。
【００８９】
以上のように本実施の形態によれば、乱数カウンタは、所定の下限値（例えば０）と上限値（例えば２９９）にわたる範囲で循環して＋１づつ更新されるものである一方、一巡毎に周回の初期値である周回検出値が置き換えられるようになっている。したがって、不正行為者が遊技制御装置２０からの制御信号に基づいて乱数カウンタの更新タイミングを解析したとしても、周回検出値の変更に基づく乱数カウンタの値の変動まで解析しない限り、乱数カウンタの値を知ることはできず、この不正行為のための解析は無効となる。例えば、遊技制御装置２０への不正信号の入力タイミング（乱数カウンタが所定の大当たり値をとるタイミング）を各種被制御装置への制御信号（例えば可変表示装置１１への表示制御信号）から割り出そうとしても、各種被制御装置への制御信号の送信タイミングにおける乱数カウンタの値自体が変わって来てしまうので、割り出すことはできない。よって、人為的に大当たりの発生（特定の遊技状態の発生）を操作するような不正行為は著しく困難になり、不正行為を有効に防止できる。
【００９０】
また、この周回検出値としては、第１の乱数更新処理において周回検出値生成用カウンタの値が取得されるが、この周回検出値生成用カウンタ更新処理は、遊技制御の残余時間（次回のリセット割り込み信号までの残り時間）にわたる第２の乱数更新処理において、繰り返し実行される。この場合、第２の乱数更新処理が継続する時間、すなわち遊技制御の残余時間は、各リセット割り込み毎に一定のものではない。このため、周回検出値の取得タイミングにおける周回検出値生成用カウンタの値は、予測困難なものであり、不正行為者が周回検出値を割り出して不正行為を行う心配はほとんどない。
【００９１】
また、乱数カウンタにおいては一巡毎に周回の初期値が変更されるが、この場合でも、再び周回検出値に戻って来るまで１周期分のカウントを行うことには変わりはないので、大当たりの確率（大当たり判定のために乱数記憶領域に取り込まれた乱数カウンタ値が所定の大当たり値をとる確率）は、周回検出値の変更がない場合と変わらない。すなわち、大当たりは所定の正しい確率で発生する。
【００９２】
そして本発明では、特に特徴となる構成として、周回検出値生成用カウンタ更新処理は、第２の乱数更新処理に加えて第１の乱数更新処理の始めにも実行され、この周回検出値生成用カウンタ更新処理においては、合成レジスタに読み込まれたカウント値が、所定の最小値と最大値を超えることがないようにチェックされ、この所定範囲を超えた場合には最小値に設定されるようになっている。このため、第２の乱数更新処理において実行される周回検出値生成用カウンタ更新処理において、周回検出値生成用カウンタの上位バイト領域にカウンタ値を書き込む処理と下位バイト領域にカウンタ値を書き込む処理の間のタイミング（ステップＳ４８の処理の実行後、ステップＳ４９の処理が実行され切るまでのタイミング）でリセット割り込み信号があり、周回検出値に不適切な値が書き込まれた場合でも、第１の乱数更新処理において実行される周回検出値生成用カウンタ更新処理において、この不適切な値は適切な値（周回検出値の最小値）に設定され直す。したがって、乱数カウンタの周回の初期値に不適切な値が設定されてしまうことはなく、乱数カウンタは所定の正しい範囲内で更新されるので、大当たり抽選の確率は正しい値に維持される。
【００９３】
また、周回検出値生成用カウンタ更新処理は、遊技制御において異なるタイミングに配置された第１と第２の乱数更新処理において実行されるので、ＣＰＵ２１にはこの周回検出値生成用カウンタ更新処理を実行するためのプログラムを一つだけ備えて、第１と第２の乱数更新処理で共通利用すればよい。したがって、ＣＰＵ２１のプログラム容量を削減することができるとともに、ＣＰＵ２１の開発や検証も容易になる。
【００９４】
また、周回検出値生成用カウンタの最大値、最小値は、乱数カウンタの最大値、最小値と同一の値に設定されているので、周回検出値として採用され得る値は最大限に広くなり、周回検出値の偏りを最小限とすることができるので、不正行為者が周回検出値を割り出すことを、より難しくできる。
【００９５】
図７には、本発明の第２の実施の形態における周回検出値生成用カウンタ更新処理の処理手順を、フローチャートで示す。なお、この実施の形態では、周回検出値生成用カウンタの最小値が０Ｈに限定される点、周回検出値生成用カウンタ更新処理が図７の様に変更された点、および第１の乱数更新処理のステップＳ２１において周回検出値生成用カウンタ更新処理を実行しなくてもよい点が上記第１の実施の形態と異なり、他の構成については共通する。
【００９６】
図７のフローチャートに示すように、この実施の形態の周回検出値生成用カウンタ更新処理では、ステップＳ５１〜ステップＳ５３で、周回検出値生成用カウンタの上位バイト領域から第１レジスタへのデータ読み込み処理、下位バイト領域から第２レジスタへのデータ読み込み処理、合成レジスタの値の更新処理が順次実行され、ステップＳ５４で合成レジスタが最大値よりも大きくなったか否かが判定される。
【００９７】
このステップＳ５４で、合成レジスタの値が最大値よりも大きいと判定された場合には、ステップＳ５５で合成レジスタに０Ｈを設定して、ステップＳ５６に進む。一方、最大値よりも小さな場合には、そのままステップＳ５６に進む。なお、本実施の形態では、周回検出値生成用カウンタの最小値を０Ｈとしているので、合成レジスタが最小値を下回ったか否かの判定は行う必要がない。
【００９８】
ステップＳ５６では、第２レジスタのデータを周回検出値生成カウンタの下位バイト領域に書き込む。そして、続くステップＳ５７で、第１レジスタのデータを周回検出値生成用カウンタの上位バイト領域に書き込む。
【００９９】
このように本実施の形態では、周回検出値生成用カウンタの最小値は０Ｈであるとともに、周回検出値検出用カウンタの更新（書き込み）は下位バイト領域側から順に実行される。したがって、周回検出値生成カウンタの下位バイト領域の書き込み処理と上位バイト領域の書き込み処理の間のタイミング（ステップＳ５６の終了後、ステップＳ５７の処理が実行され切るまでのタイミング）でリセット割り込み信号があったとしても、周回検出値には最大値を超える不適切な値（最大値よりも大きな値、あるいは最小値よりも小さな値）が残ることはない。すなわち、リセット割り込み信号によって上位バイト領域の書き込みがなされなかった場合でも、この上位バイト領域（最上位バイト領域）には本来の値よりも小さな値が残るので、周回検出値生成用カウンタの値は最大値を超えてしまうことはない。また、周回検出値生成用カウンタの最小値は０Ｈであるので、周回検出値生成用カウンタの値がこの最小値より小さくなってしまうことはない。
【０１００】
また、遊技制御装置２０には周回検出値生成カウンタを適切な値に補正するための処理プログラムを設ける必要がないので、ＣＰＵ２１のプログラム容量を削減できるとともに、遊技制御における処理時間を短くでき、さらに遊技制御装置２０の開発の効率も高まる。
【０１０１】
なお、上記第１、第２の各実施の形態では、周回検出値の変更を乱数カウンタが一巡するごとに実行したが、本発明はこのような形態に限られるものではなく、例えば乱数カウンタが所定の複数回数（例えばｎ回）の周回をしたところで周回検出値の変更を行うようにしてもよいし、周回検出値の変更がなされるまでの周回回数がその都度変更されるような形態をとっても構わない。
【０１０２】
また、上記第１、第２の実施の形態では、周回検出値生成用カウンタは２つの領域（２バイト）から構成されたが、本発明はこのような形態に限られるものではなく、周回検出値生成用カウンタは３つ以上の複数の領域（３バイト以上）から構成されるものでもよい。
【０１０３】
また、このように周回検出値生成用カウンタを３バイト以上で構成した場合に、最上位バイト以外のバイトの更新書き換えの順序は特に限定されない。すなわち、最上位バイトが最後に更新書き換えされるのであれば、他のバイトの書き換え順序は自由に設定できる。
【０１０４】
さらに、周回検出値生成用カウンタとして使用し得るバイトの内、一部のバイトのみが実際に使用されている場合には、実際に使用されているバイトの中での最上位のバイト（実質的な最上位バイト）が、特許請求の範囲および上記実施の形態における「最上位バイト」となる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態における弾球遊技機を示す正面図である。
【図２】同じく遊技制御装置を示すブロック構成図である。
【図３】同じく遊技制御の処理手順を示すフローチャートである。
【図４】同じく第１の乱数更新処理の処理手順を示すフローチャートである。
【図５】同じく第２の乱数更新処理の処理手順を示すフローチャートである。
【図６】同じく周回検出値生成用カウンタ更新処理の処理手順を示すフローチャートである。
【図７】本発明の第２の実施の形態における周回検出値生成用カウンタ更新処理の処理手順を示すフローチャートである。
【図８】遊技制御装置に不正基板が装着された状態を示すブロック構成図である。
【図９】従来の割り込み信号のタイミングと、乱数カウンタ値と、表示制御信号送信タイミングとの関係を示すタイミングチャートである。
【符号の説明】
１１  可変表示装置
１２  変動入賞装置
１４  始動口
２０  遊技制御装置
２１  ＣＰＵ
２２  ＲＯＭ
２３  ＲＡＭ
２６  割り込み信号発生回路
３０  装飾装置
３１  始動スイッチ
【図１】
0004002360.tif 000002
【図２】
0004002360.tif 000003
【図３】
0004002360.tif 000004
【図４】
0004002360.tif 000005
【図５】
0004002360.tif 000006
【図６】
0004002360.tif 000007
【図７】
0004002360.tif 000008
【図８】
0004002360.tif 000009
【図９】
0004002360.tif 000010