JP2012040139A - 遊技機 - Google Patents
遊技機 Download PDFInfo
- Publication number
- JP2012040139A JP2012040139A JP2010183242A JP2010183242A JP2012040139A JP 2012040139 A JP2012040139 A JP 2012040139A JP 2010183242 A JP2010183242 A JP 2010183242A JP 2010183242 A JP2010183242 A JP 2010183242A JP 2012040139 A JP2012040139 A JP 2012040139A
- Authority
- JP
- Japan
- Prior art keywords
- random number
- game
- lottery
- acquired
- abnormality detection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Slot Machines And Peripheral Devices (AREA)
Abstract
【課題】乱数発生装置の異常を正確に判別することができるとともに、遊技の途中で乱数装置に異常が生じた場合でも、その遊技の抽選に使用される乱数が正常であったときは、遊技を継続して行うことができる遊技機を提供すること。
【解決手段】異常検出用乱数取得手段422は、乱数発生装置112が発生する乱数の更新周期よりも長く、かつ、連続する2つの乱数周期内に乱数を少なくとも3回取得できるタイミングで乱数発生装置112から逐次乱数を取得し、3回連続して取得した乱数値が一致したときに、乱数に異常が生じたと判定する。このとき、抽選用乱数判定手段4324が、抽選用乱数取得手段4322が取得した乱数が正常であると判定しているときは、そのときの遊技状態などに応じて遊技に関する制御を続行する。
【選択図】図5
【解決手段】異常検出用乱数取得手段422は、乱数発生装置112が発生する乱数の更新周期よりも長く、かつ、連続する2つの乱数周期内に乱数を少なくとも3回取得できるタイミングで乱数発生装置112から逐次乱数を取得し、3回連続して取得した乱数値が一致したときに、乱数に異常が生じたと判定する。このとき、抽選用乱数判定手段4324が、抽選用乱数取得手段4322が取得した乱数が正常であると判定しているときは、そのときの遊技状態などに応じて遊技に関する制御を続行する。
【選択図】図5
Description
本発明は乱数監視装置を用いた遊技機に関し、より詳細には、遊技に際し図柄抽選用の乱数や演出パターン抽選用の乱数を、乱数クロック発生回路を含むハードウェアにより乱数値を生成する乱数発生装置を備えた遊技機に関する。
このような乱数発生装置を備えた遊技機では、例えば特許文献1および2に記載されているように、発振子で構成される乱数クロック発生回路により所定の周期で発生した乱数クロックに基づいて、クロックカウント回路により所定の桁数の乱数値をカウントさせ、遊技の制御を行うCPUがカウントされた乱数値を抽出して読み込んで、図柄抽選用の乱数や演出パターン抽選用の乱数として使用している。このようにハードウェアにより乱数値をカウントすることで、CPUにより制御されるソフトウェアがプログラムを実行させて乱数値をカウントする場合に比べてソフトウェアの負担を軽減させ、乱数クロック発生回路による乱数クロックの発生周期に応じて高速に乱数を発生・更新させることのできる乱数発生装置が用いられている。
また、上記のようにハードウェアにより乱数を発生させる場合に、乱数発生装置に何らかの動作異常が生じた場合、CPUが同一の乱数値を続けて読み込む事態が生じる。そこで、引用文献1、2では乱数発生装置が正常に動作しているか否かを監視することのできる乱数監視装置を用いることで、乱数発生装置の動作異常を検出できる遊技機が考案されている。
さらに、特許文献3に記載されている遊技機は、乱数に異常が生じたと判断すると、抽選用に取得された乱数の値をRAMから読み取り、その値がハズレに該当する場合はエラー表示装置にエラー表示を行うとともに、遊技機の作動を停止させるが、当たりに該当する場合はエラー表示のみを行って、遊技機を継続して作動させる。このように構成することによって、乱数発生装置に異常が生じて、乱数の値がハズレに該当する値のまま更新されなくなってしまった場合に、遊技者に不利な遊技を続行させないようにしている。
しかしながら、このような乱数監視機能は、乱数発生装置がカウンタのような単純な構造であれば、比較的容易な監視手段が構築できるのであるが、複雑な構造の乱数発生装置の場合には、ソフトウェア等を利用して同一の乱数値を連続的に取得したか否かに応じて異常を判定する方法が採られる。しかしながら、この種の方法では、取得する乱数値の数を増やすことによって判定結果の精度を上げることはできるものの、偶然に同一の乱数値を取得した場合を排除することはできない。すなわち、連続的に同一の乱数値を取得した場合、乱数発生装置の異常により同一の乱数値を取得したのか、それとも偶然同一の乱数値を取得したのかを正確に判別することができなかった。
また、特許文献3に記載されている遊技機のように、抽選用に取得されていた乱数の値が当たりかハズレかのみで、遊技機の作動を停止するか否かを決定してしまうと、例えば遊技が開始され、正常な状態で抽選が行われた後、その遊技が終了する前に異常が生じた場合、抽選結果がハズレだった場合は、その遊技の途中で遊技機の作動が停止することになる。すなわち、抽選結果がハズレたとはいえ、正常な乱数に基づいて抽選が行われたにも関わらず、遊技者は、その遊技結果を見ることなく遊技機の作動が停止してしまうことになる。
さらに、乱数発生装置において、当たりとなる値の乱数が出力されたまま、その値が更新されないという異常が生じた場合は、エラー表示が行われるものの遊技が継続することとなり、以後は、抽選結果が必ず当たりとなる遊技が行われることになるため好ましいとはいいがたい。
本発明は、上記のような課題に鑑みてなされたものであり、乱数監視中に同一の乱数値を取得した場合において、それが乱数発生装置の異常によるものか否かを正確に判別することができるとともに、遊技の途中で乱数装置に異常が生じた場合でも、その遊技の抽選に使用される乱数が正常であったときは、遊技を継続して行うことができる遊技機を提供することを目的とする。
上述した課題を解決するために、本発明は、予め定められた数値範囲内で生成される1つの乱数を用いて行われる抽選に基づいて遊技の結果を定める遊技機であって、
予め定められた乱数周期ごとに、前記数値範囲内の各数値が重複せずに一通り生成されるように前記生成する乱数の値を順次更新する乱数更新手段と、
前記抽選に用いる抽選用乱数として、外部からの操作に応じて前記乱数更新手段によって更新された乱数を取得する抽選用乱数取得手段と、
前記乱数更新手段による前記乱数の値の更新間隔よりも長く、かつ、2つの連続する前記乱数周期内に少なくとも3回取得できる時間間隔で、前記乱数更新手段によって更新される乱数を、異常検出用乱数として定期的に取得する異常検出用乱数取得手段と、
前記異常検出用乱数が取得されるごとに、該異常検出用乱数の値に基づいて前記乱数更新手段によって乱数の値が正常に更新されているか否かを判定する第一の乱数判定手段と、
前記抽選用乱数が取得されるごとに、該抽選用乱数の値に基づいて前記乱数更新手段によって乱数の値が正常に更新されているか否かを判定する第二の乱数判定手段と、
前記第一の乱数判定手段によって、前記乱数の値が正常に更新されていないと判定された時点において、前記第二の乱数判定手段が、前記乱数の値が正常に更新されていると判定していたときは遊技を継続させ、正常に更新されていないと判定していたときは遊技を停止させる遊技進行制御手段と、
を備えることを特徴とする。
予め定められた乱数周期ごとに、前記数値範囲内の各数値が重複せずに一通り生成されるように前記生成する乱数の値を順次更新する乱数更新手段と、
前記抽選に用いる抽選用乱数として、外部からの操作に応じて前記乱数更新手段によって更新された乱数を取得する抽選用乱数取得手段と、
前記乱数更新手段による前記乱数の値の更新間隔よりも長く、かつ、2つの連続する前記乱数周期内に少なくとも3回取得できる時間間隔で、前記乱数更新手段によって更新される乱数を、異常検出用乱数として定期的に取得する異常検出用乱数取得手段と、
前記異常検出用乱数が取得されるごとに、該異常検出用乱数の値に基づいて前記乱数更新手段によって乱数の値が正常に更新されているか否かを判定する第一の乱数判定手段と、
前記抽選用乱数が取得されるごとに、該抽選用乱数の値に基づいて前記乱数更新手段によって乱数の値が正常に更新されているか否かを判定する第二の乱数判定手段と、
前記第一の乱数判定手段によって、前記乱数の値が正常に更新されていないと判定された時点において、前記第二の乱数判定手段が、前記乱数の値が正常に更新されていると判定していたときは遊技を継続させ、正常に更新されていないと判定していたときは遊技を停止させる遊技進行制御手段と、
を備えることを特徴とする。
ここで、「乱数周期」とは、所定数値範囲内の各々の値が、重複することなく一通り生成される期間をいう。
また、抽選用乱数取得手段が乱数を取得する契機となる「外部からの操作」は、例えば、遊技機が周知のスロットマシンの場合であれば、遊技者によるスタートスイッチの操作が相当し、周知のパチンコ遊技機の場合であれば、遊技盤に設けられた始動口に遊技球が入球したこと(より具体的には、遊技球センサ等によって始動入賞口に遊技球が入球したことが検出されたこと)が相当する。
また、抽選用乱数取得手段が乱数を取得する契機となる「外部からの操作」は、例えば、遊技機が周知のスロットマシンの場合であれば、遊技者によるスタートスイッチの操作が相当し、周知のパチンコ遊技機の場合であれば、遊技盤に設けられた始動口に遊技球が入球したこと(より具体的には、遊技球センサ等によって始動入賞口に遊技球が入球したことが検出されたこと)が相当する。
上述した遊技機においては、乱数更新手段によって乱数の値が順次更新されていく一方で、異常検出用乱数取得手段によって、2つの連続する乱数周期内に少なくとも3回取得できる時間間隔で定期的に上記乱数が取得される。この取得された乱数を異常検出用乱数とし、その値に基づいて第一の乱数判定手段により、乱数の値が正常に更新されているか否かが判定される。また、これとは別に、外部からの操作に応じて異常検出用乱数取得手段によって上記乱数が取得されると、抽選用乱数として遊技で行われる抽選に用いられるとともに、その値に基づいて第二の乱数判定手段により、乱数の値が正常に更新されているか否かが判定される。そして、遊技進行制御手段は、第一の乱数判定手段によって乱数の値が正常に更新されていないと判定されたときに、第二の乱数判定手段によって乱数の値が正常に更新されていると判定されていたときは、その遊技を継続させるが、第二の乱数判定手段によって正常に更新されていないと判定されていたときは、その遊技を停止させる。
このように、第一の乱数判定手段によって乱数の値が正常に更新されていないと判定されたときでも、抽選用乱数が正常に更新されたものであった場合は、遊技を継続して行うことができるため、正常に更新された抽選用乱数に基づく遊技を最後まで遊技者に提供することができる。また、第一の乱数判定手段によって乱数の値が正常に更新されていないと判定されたときに、抽選用乱数も正常に更新されていなかった場合は、遊技を停止させるので、不適当な抽選用乱数を用いた抽選結果に基づく遊技が行われてしまうのを防ぐことができる。
また、本発明は、上述した遊技機において、前記第二の乱数判定手段は、
前記抽選用乱数取得手段によって前記抽選用乱数が取得されると、該抽選用乱数と、該抽選用乱数とは各々異なるタイミングで前記乱数更新手段によって更新された少なくとも2つの乱数と、からなる少なくとも3つの乱数のうち、いずれか2つの乱数の値が一致しなかったときに、前記乱数更新手段によって乱数の値が正常に更新されていると判定し、
前記少なくとも3つの乱数は、最初の乱数が取得されてから最後の乱数が取得されるまでの期間が、前記2つの連続する乱数周期よりも短く、かつ、各々の乱数は、前記乱数更新手段による前記乱数の値の更新間隔よりも長い時間間隔で取得されたものである
ことを特徴とする。
前記抽選用乱数取得手段によって前記抽選用乱数が取得されると、該抽選用乱数と、該抽選用乱数とは各々異なるタイミングで前記乱数更新手段によって更新された少なくとも2つの乱数と、からなる少なくとも3つの乱数のうち、いずれか2つの乱数の値が一致しなかったときに、前記乱数更新手段によって乱数の値が正常に更新されていると判定し、
前記少なくとも3つの乱数は、最初の乱数が取得されてから最後の乱数が取得されるまでの期間が、前記2つの連続する乱数周期よりも短く、かつ、各々の乱数は、前記乱数更新手段による前記乱数の値の更新間隔よりも長い時間間隔で取得されたものである
ことを特徴とする。
上述した遊技機においては、第二の乱数判定手段が、抽選用乱数を含む少なくとも3つの乱数であって、これらの乱数のうち、最初の乱数が取得されてから最後の乱数が取得されるまでの期間が、2つの連続する乱数周期よりも短く、かつ、各々の乱数が、乱数更新手段による乱数の値の更新間隔よりも長い時間間隔で取得された少なくとも3つの乱数に基づいて、乱数の値が正常に更新されているか否かが判定される。
これにより、第二の乱数判定手段において、乱数発生装置の異常により同一の乱数値を取得したのか、それとも偶然同一の乱数値を取得したのかを判別することが可能となり、抽選用乱数が、正常に更新されたものであるか否かを正確に判定することができる。
これにより、第二の乱数判定手段において、乱数発生装置の異常により同一の乱数値を取得したのか、それとも偶然同一の乱数値を取得したのかを判別することが可能となり、抽選用乱数が、正常に更新されたものであるか否かを正確に判定することができる。
また、本発明は、上述した遊技機において、前記第一の乱数判定手段は、
前記抽選用乱数取得手段によって取得された前記抽選用乱数の値と、該抽選用乱数が取得された直後に前記異常検出用乱数取得手段によって取得された、時系列で連続する2つの前記異常検出用乱数の値とが、すべて一致したときに、前記乱数更新手段によって乱数の値が正常に更新されていないと判定することを特徴とする。
前記抽選用乱数取得手段によって取得された前記抽選用乱数の値と、該抽選用乱数が取得された直後に前記異常検出用乱数取得手段によって取得された、時系列で連続する2つの前記異常検出用乱数の値とが、すべて一致したときに、前記乱数更新手段によって乱数の値が正常に更新されていないと判定することを特徴とする。
上述した遊技機においては、第一の乱数判定手段は、抽選用乱数を含む時間的に連続する少なくとも3つの乱数の値に基づいて、乱数更新手段によって乱数の値が正常に更新されたか否かの判定を行う。このため、乱数の値が正常に更新されたと第一の乱数判定手段によって判定された場合は、抽選用乱数が正常に更新されたものであることがより確実に保証され、正常に更新されていないと判定された場合でも、抽選用乱数が取得された後に発生した乱数発生装置の異常をいち早く検知することができる。
また、本発明は、上述した遊技機において、前記第一の乱数判定手段は、
前記抽選用乱数取得手段によって前記抽選用乱数が取得された直後に、前記異常検出用乱数取得手段によって取得された、時系列で連続する3つの前記異常検出用乱数の値がすべて一致したときに、前記乱数更新手段によって乱数の値が正常に更新されていないと判定することを特徴とする。
前記抽選用乱数取得手段によって前記抽選用乱数が取得された直後に、前記異常検出用乱数取得手段によって取得された、時系列で連続する3つの前記異常検出用乱数の値がすべて一致したときに、前記乱数更新手段によって乱数の値が正常に更新されていないと判定することを特徴とする。
上述した遊技機においては、第一の乱数判定手段は、抽選用乱数の取得後、異常検出用乱数取得手段によって最初に取得された異常検出用乱数を含め、連続して取得された少なくとも3つの異常検出用乱数の値に基づいて、乱数の値が乱数更新手段によって正常に更新されたか否かの判定を行う。このため、乱数の値が正常に更新されたと第一の乱数判定手段によって判定された場合は、抽選用乱数が正常に更新されたものであることがより確実に保証され、正常に更新されていないと判定された場合でも、抽選用乱数が取得された後に発生した乱数発生装置の異常をいち早く検知することができる。
また、本発明は、上述したいずれかの遊技機において、前記外部からの操作を契機として複数の図柄が変動を開始してから、該図柄の変動がすべて停止するまでを1回の単位とする単位遊技を実行する単位遊技実行手段と、
前記複数の図柄の変動が停止したときに特定の図柄組合せが停止表示されると、遊技者に対して特典が付与される確率が高くなる特別遊技を実行し、該特別遊技が終了すると前記単位遊技を再開させる特別遊技実行手段と、を備え、
前記単位遊技実行手段は、
前記外部からの操作に応じて取得された前記抽選用乱数に基づいて、特別役に当選したか否かを決定する役抽選を行う役抽選手段と、
前記役抽選において前記特別役が当選したときに、前記特定の図柄組合せが停止表示されるように、前記複数の図柄の変動を停止させる停止制御手段と、を含み、
前記遊技進行制御手段は、
前記第一の乱数判定手段および前記第二の乱数判定手段の判定に基づいて遊技を継続させると判断した場合、前記特別遊技中だったときは、該特別遊技を継続して実行し、該特別遊技が終了すると、前記単位遊技の再開を禁止し、
前記特別遊技中ではなく、かつ、前記単位遊技中だったときは、該単位遊技が終了すると、次の単位遊技の開始を禁止することを特徴とする。
前記複数の図柄の変動が停止したときに特定の図柄組合せが停止表示されると、遊技者に対して特典が付与される確率が高くなる特別遊技を実行し、該特別遊技が終了すると前記単位遊技を再開させる特別遊技実行手段と、を備え、
前記単位遊技実行手段は、
前記外部からの操作に応じて取得された前記抽選用乱数に基づいて、特別役に当選したか否かを決定する役抽選を行う役抽選手段と、
前記役抽選において前記特別役が当選したときに、前記特定の図柄組合せが停止表示されるように、前記複数の図柄の変動を停止させる停止制御手段と、を含み、
前記遊技進行制御手段は、
前記第一の乱数判定手段および前記第二の乱数判定手段の判定に基づいて遊技を継続させると判断した場合、前記特別遊技中だったときは、該特別遊技を継続して実行し、該特別遊技が終了すると、前記単位遊技の再開を禁止し、
前記特別遊技中ではなく、かつ、前記単位遊技中だったときは、該単位遊技が終了すると、次の単位遊技の開始を禁止することを特徴とする。
ここで、「単位遊技」とは、例えば遊技機が周知のスロットマシンの場合は、スタートスイッチが操作されたことによってリールが回転を開始してから、全てのストップスイッチが操作されたことによって全てのリールが停止し、何らかの役が成立したか否かが確定するまでの遊技をいう。また、例えば遊技機が周知のパチンコ遊技機の場合は、遊技盤に設けられた始動口に遊技球が入球したことにより、表示装置に表示された図柄(いわゆる特別図柄または飾り図柄)が変動し、その後、図柄の変動表示が停止して、当たりの表示態様になったか否かが確定するまでの遊技をいう。
また、「特別遊技」は、例えば遊技機が周知のスロットマシンの場合は、役抽選における所定の役の当選確率が上昇(または必ず当選)することによって、当該所定の役が成立し易くなる(すなわち、特典が付与されやすくなる)状態が、払い出されたメダルの合計枚数が予め定められた枚数を超えるまで継続する遊技をいう。また、例えば遊技機が周知のパチンコ遊技機の場合は、いわゆる大入賞口に入球しやすい(すなわち、特典が付与されやすい)状態が、予め定められた個数の遊技球が入球するか、予め定められた時間が経過するまで継続し、この入球しやすい状態が予め定められた回数だけ繰り返される遊技をいう。
上述した遊技機においては、遊技進行制御手段は、第一の乱数判定手段によって乱数の値が正常に更新されていないと判定されたときに、第二の乱数判定手段によって乱数の値が正常に更新されていると判定されていた場合は、さらに、現在の遊技状態を判断する。
そして、現在の遊技状態が特別遊技中だった場合は、その特別遊技を継続させて、特別遊技が終了すると、その後の単位遊技を行えないようにする。また、特別遊技中ではないが、単位遊技中だった場合は、その単位遊技が終了すると、次の単位遊技を行えないようにする。
そして、現在の遊技状態が特別遊技中だった場合は、その特別遊技を継続させて、特別遊技が終了すると、その後の単位遊技を行えないようにする。また、特別遊技中ではないが、単位遊技中だった場合は、その単位遊技が終了すると、次の単位遊技を行えないようにする。
これにより、特別遊技中に、第一の乱数判定手段によって乱数の値が正常に更新されていないと判定されても、抽選用乱数が正常に更新されたものであった場合は、遊技者は、その特別遊技を最後まで行うことができるため、特別遊技によって遊技者に付与する特典を減らしてしまうことがない。また、その特別遊技が終了した後は、継続して単位遊技を行うことができないため、正常でない乱数を用いた役抽選に基づく遊技が行われてしまうことがない。
さらに、特別遊技中ではないが、単位遊技中だった場合において、第一の乱数判定手段によって乱数の値が正常に更新されていないと判定されても、抽選用乱数が正常に更新されたものであった場合は、遊技者は、正常な乱数を用いた抽選に基づく単位遊技の結果を見届けることができる。また、例えば、1回の単位遊技中に画像や音による演出を行う遊技機の場合は、その演出を途中で終了させることがないため、遊技者に不満を与えにくくすることができる。
また、本発明は、上述した特別遊技を行う遊技機において、
前記役抽選の結果を記憶する役抽選結果記憶手段を備え、
前記遊技進行制御手段は、
前記第一の乱数判定手段および前記第二の乱数判定手段の判定に基づいて遊技を継続させると判断した場合、前記役抽選結果記憶手段に前記特別役に当選したことが記憶されていたときは、該特別役に基づく前記特別遊技が開始されて終了するまで、前記単位遊技および前記特別遊技を継続して実行し、
前記役抽選結果記憶手段に前記特別役に当選したことが記憶されておらず、かつ、前記単位遊技中だったときは、該単位遊技が終了すると、次の単位遊技の開始を禁止することを特徴とする。
前記役抽選の結果を記憶する役抽選結果記憶手段を備え、
前記遊技進行制御手段は、
前記第一の乱数判定手段および前記第二の乱数判定手段の判定に基づいて遊技を継続させると判断した場合、前記役抽選結果記憶手段に前記特別役に当選したことが記憶されていたときは、該特別役に基づく前記特別遊技が開始されて終了するまで、前記単位遊技および前記特別遊技を継続して実行し、
前記役抽選結果記憶手段に前記特別役に当選したことが記憶されておらず、かつ、前記単位遊技中だったときは、該単位遊技が終了すると、次の単位遊技の開始を禁止することを特徴とする。
ここで、役抽選結果記憶手段は、例えば遊技機が周知のスロットマシンであった場合、役抽選の対象となる各役に対応する当選フラグのオン/オフ状態を記憶するRAMなどに対応する。また、遊技機が周知のパチンコ遊技機であった場合は、図柄の変動表示中に、始動口に遊技球が入球したことによって取得された乱数または実行された抽選の結果を記憶(保留)するRAMなどに対応する。
上述した遊技機においては、遊技進行制御手段は、第一の乱数判定手段によって乱数の値が正常に更新されていないと判定されたときに、第二の乱数判定手段によって乱数の値が正常に更新されていると判定されていた場合は、さらに、役抽選結果記憶手段に記憶されている役抽選の結果をチェックする。
これにより、特別役に当選したことが記憶されていた場合は、当該特別役の当選に基づく特別遊技が開始されるまで単位遊技を継続させ、さらに、当該特別遊技が開始されてから終了するまでの遊技も実行可能とする。そして、当該特別遊技が終了すると、その後の単位遊技を行えないようにする。
これにより、特別役に当選したことが記憶されていた場合は、当該特別役の当選に基づく特別遊技が開始されるまで単位遊技を継続させ、さらに、当該特別遊技が開始されてから終了するまでの遊技も実行可能とする。そして、当該特別遊技が終了すると、その後の単位遊技を行えないようにする。
また、単位遊技中において、第一の乱数判定手段によって乱数の値が正常に更新されていないと判定され、かつ、第二の乱数判定手段によって乱数の値が正常に更新されていると判定されていたときに、特別役に当選したことが役抽選結果記憶手段に記憶されていなかった場合は、その単位遊技が終了すると、次の単位遊技を行えないようにする。
これにより、第一の乱数判定手段によって乱数の値が正常に更新されていないと判定されても、正常な抽選用乱数に基づく役抽選によって特別役が当選していた場合は、遊技者は、その特別役に基づく特別遊技を行うことができる。このため、遊技者が享受すべき特別遊技の機会を消滅させることなく、遊技者へ付与することができる。
また、本発明は、上述した特別遊技を行ういずれかの遊技機において、
前記単位遊技実行手段は、所定数の遊技媒体が投入されたことによって、前記単位遊技の実行が可能となるとともに、前記特別遊技中においても前記単位遊技を実行し、
前記役抽選手段は、前記特別役と、対応する図柄組合せが停止表示されると予め定められた数の前記遊技媒体が払い出されることとなる複数の小役と、を含む複数種類の役のうち、少なくとも1つの役を当選役とするか否かを決定する役抽選を行い、
前記停止制御手段は、前記役抽選により少なくとも1つの当選役が定められると、1つの当選役のみに対応する図柄組合せが停止表示されるように、前記複数の図柄の変動を停止させ、
前記単位遊技実行手段は、
前記特別遊技中に行われる前記単位遊技において、前記外部からの操作がなされたときに、前記役抽選に依らずに強制的に前記複数の小役をすべて当選役と定める強制当選手段を有することを特徴とする。
前記単位遊技実行手段は、所定数の遊技媒体が投入されたことによって、前記単位遊技の実行が可能となるとともに、前記特別遊技中においても前記単位遊技を実行し、
前記役抽選手段は、前記特別役と、対応する図柄組合せが停止表示されると予め定められた数の前記遊技媒体が払い出されることとなる複数の小役と、を含む複数種類の役のうち、少なくとも1つの役を当選役とするか否かを決定する役抽選を行い、
前記停止制御手段は、前記役抽選により少なくとも1つの当選役が定められると、1つの当選役のみに対応する図柄組合せが停止表示されるように、前記複数の図柄の変動を停止させ、
前記単位遊技実行手段は、
前記特別遊技中に行われる前記単位遊技において、前記外部からの操作がなされたときに、前記役抽選に依らずに強制的に前記複数の小役をすべて当選役と定める強制当選手段を有することを特徴とする。
上述した遊技機においては、特別遊技中に行われる単位遊技では、役抽選によらずに強制的に小役が当選役として定められ、そのうち1つの小役に対応する図柄組合せが停止表示されるように、変動中の複数の図柄に対して停止制御が行われる。すなわち、上記特別遊技中においては、乱数が正常に更新されていなくても、正常に更新されているときと変わらない単位遊技を行うことができる。これにより、乱数が正常に更新されなくとも、正当な遊技結果が得られる状態であるにも関わらず、遊技者に特典が付与される確率の高い特別遊技を停止させてしまうことがない。
以上のように、本発明の遊技機によれば、乱数監視中に同一の乱数値を取得した場合において、それが乱数発生装置の異常によるものか否かを正確に判別することができるとともに、遊技の途中で乱数装置に異常が生じた場合でも、その遊技の抽選に使用される乱数が正常であったときは、遊技を継続して行うことができる。
以下、図面を参照しながら、本発明の実施形態を詳細に説明する。
[第1実施形態]
まず、本発明に係る遊技機を、スロットマシンとした場合の実施形態について説明する。本実施形態に係るスロットマシン10の外観を図1に示す。図1は、スロットマシン10の正面図であり、同図において、スロットマシン10の筐体の前面部には、フロントパネル20が設けられている。このフロントパネル20の略中央には、表示窓22が形成されており、スロットマシン10の内部に回転自在に設けられている3個のリール40L,40C及び40Rの外周面に印刷された図柄が表示される。リール40L,40C及び40Rは、各回転軸が、水平方向の同一直線上に並ぶように設けられ、各々リング状の形状を有し、その外周面には21個の図柄が等間隔で印刷された帯状のリールテープが貼り付けられている。そして、表示窓22からは、リール40L,40C及び40Rが停止しているときに、各リールに印刷された21個の図柄のうち、各リールの回転方向に沿って連続する3つの図柄が視認可能となっている。すなわち、表示窓22には、3[図柄]×3[リール]=合計9つの図柄が停止表示される。ここで、リール40L,40C及び40Rが停止しているときに表示される連続する3つの図柄のうち、最も上側の停止表示位置を上段U、中央の停止表示位置を中段M、最も下側の停止表示位置を下段Lとする。
[第1実施形態]
まず、本発明に係る遊技機を、スロットマシンとした場合の実施形態について説明する。本実施形態に係るスロットマシン10の外観を図1に示す。図1は、スロットマシン10の正面図であり、同図において、スロットマシン10の筐体の前面部には、フロントパネル20が設けられている。このフロントパネル20の略中央には、表示窓22が形成されており、スロットマシン10の内部に回転自在に設けられている3個のリール40L,40C及び40Rの外周面に印刷された図柄が表示される。リール40L,40C及び40Rは、各回転軸が、水平方向の同一直線上に並ぶように設けられ、各々リング状の形状を有し、その外周面には21個の図柄が等間隔で印刷された帯状のリールテープが貼り付けられている。そして、表示窓22からは、リール40L,40C及び40Rが停止しているときに、各リールに印刷された21個の図柄のうち、各リールの回転方向に沿って連続する3つの図柄が視認可能となっている。すなわち、表示窓22には、3[図柄]×3[リール]=合計9つの図柄が停止表示される。ここで、リール40L,40C及び40Rが停止しているときに表示される連続する3つの図柄のうち、最も上側の停止表示位置を上段U、中央の停止表示位置を中段M、最も下側の停止表示位置を下段Lとする。
また、表示窓22には、リール40L,40C及び40Rを横切る5本の入賞ラインが定められている。この5本の入賞ラインは、表示窓22内において、左リール40Lの下段L、中リール40Cの中段M、および、右リール40Rの上段Uを通過する右上がり斜め入賞ラインL1と、各リールの上段Uを通過する上段水平入賞ラインL2と、各リールの中段Mを通過する中段水平入賞ラインL3と、各リールの下段Lを通過する下段水平入賞ラインL4と、左リール40Lの上段U、中リール40Cの中段M、右リール40Rの下段Lを通過する斜め右下がり斜め入賞ラインL5と、によって構成されている。このように各入賞ラインは、リール40L,40C,40Rについて、各々3つの停止表示位置(上段U、中段M、下段L)のうち、いずれか1つを通過している。
入賞ラインL1〜L5は、各々、予め定められた複数種類の役(後述する)に対応する図柄組合せを判定する際の基準となるラインであり、リール40L,40C及び40Rが停止したときに、5本の入賞ラインのうち、有効とみなされた入賞ライン(以下、有効ラインという)が通過する停止表示位置に各々停止表示された3つの図柄の組合せが、いずれかの役に対応していたときに、その役が成立したことになる。
フロントパネル20には、表示窓22の他に、遊技に関する各種情報を遊技者へ知らせるための各種ランプおよび表示器が設けられている。表示窓22の下側には、図1中、左から順に、ベット数(賭け枚数)表示ランプ26a,26b,26c、クレジット数表示器27、および、獲得枚数表示器28が設けられている。ベット数表示ランプ26a,26b,26cは、1回の遊技に投入されるメダルの枚数を表示するものである。すなわち、1枚のメダルが投入されるとベット数表示ランプ26aのみが点灯し、2枚のメダルが投入されるとベット数表示ランプ26aおよび26bが点灯し、3枚のメダルが投入されるとベット数表示ランプ26a,26b,26cが点灯する。ここで、スロットマシン10は、遊技状態(後述する)に応じて2枚または3枚のメダルを投入することで1回の遊技が可能となり、いずれの場合も入賞ラインL1〜L5が全て有効ラインとなる。
クレジット数表示器27は、2桁の7セグメント表示器からなり、スロットマシン10にクレジット(貯留)されている(より具体的には、後述するRAM110に記憶されている)メダルの枚数を表示する。獲得枚数表示器28は、2桁の7セグメント表示器からなり、スロットマシン10において遊技の結果に応じて遊技者へ払い出されるメダルの枚数を表示する。また、獲得枚数表示器28は、スロットマシン10において異常が発生した場合に、その異常の内容を示すエラーコードを表示する表示器としても使用される。
上述したフロントパネル20の下側には、概略水平の操作パネル部30が設けられている。操作パネル部30の上面右側には、スロットマシン10へメダルを投入するためのメダル投入口32が設けられている。メダル投入口32に投入されたメダルは、スロットマシン10の内部に形成されたメダル流路を流下して、スロットマシン10の内部に設けられたホッパー(図示略)に貯留される。また、メダル流路の途中には、従来と同様のメダルセレクタ(図示略)が設けられており、所定の規格に合致しない寸法のメダルが投入された場合は、当該メダルの流下を阻止し、または、後述するメダル払出口60へ至る返却流路へ導いている。メダルセレクタには、メダルセンサ(図示略)が設けられており、メダル投入口32から投入されたメダルを検出すると、メダル検出信号を出力する。そして、このメダル検出信号の出力回数を計数することで、投入されたメダルの枚数を認識することができる。
さらに、上述したメダルセレクタには、ソレノイドによって駆動するブロッカが設けられており、このソレノイドをオン/オフ制御することで、メダル投入口32に投入されたメダルの流下経路を、上述したメダル流路と、返却流路とに、切り替えている。ここでは、ソレノイドがオン(以下、ブロッカがオンという)のとき、投入されたメダルがメダル流路を流下し、ソレノイドがオフ(以下、ブロッカがオフという)のとき、返却流路を流下するように、メダルの流路を切り替えている。
操作パネル部30の上面左側には、クレジットされているメダルをスロットマシン10へ投入することができる1−ベットスイッチ34および最大ベットスイッチ35が設けられている。1−ベットスイッチ34は、1回操作されるごとにクレジットされているメダルのうち1枚だけを遊技の賭けの対象としてスロットマシン10へ投入するためのスイッチである。最大ベットスイッチ35は、クレジットされているメダルのうち、そのときの遊技状態に応じて2枚または3枚を遊技の賭けの対象としてスロットマシン10へ投入するためのスイッチである。
メダル投入口32にメダルを投入し、または、各種ベットスイッチ34,35を操作することにより、スロットマシン10に3枚のメダルを投入すると、メダルが投入されるごとにベット数表示ランプ26a,26b,26cが順次点灯していき、入賞ラインL1〜L5が有効ラインとなる。また、各種ベットスイッチ34,35を操作してメダルを投入した場合は、後述するRAM110に記憶されているクレジット数から、投入されたメダルの枚数が減算され、これに伴ってクレジット数表示器27に表示されている値も減算される。規定枚数(2枚または3枚)のメダルが既に投入されている状態で、さらにメダル投入口32へメダルが投入されると、当該投入されたメダルの枚数が、RAM110に記憶されているクレジット数に加算されるとともに、クレジット数表示器27に表示されている値に加算される。
操作パネル部30の正面左側には、スタートスイッチ36が傾動可能に設けられている。遊技者がスロットマシン10に規定枚数のメダルを投入した後、スタートスイッチ36を傾動操作すると、前述した3つのリール40L,40C及び40Rが一斉に回転を開始する。これにより、リール40L,40C及び40Rの各外周面に印刷された図柄は、表示窓22において上から下へと移動(スクロール)表示される。
操作パネル部30の正面中央部には、3つのストップスイッチ37L,37C及び37Rが設けられている。ここで、左ストップスイッチ37Lは左リール40Lに対応し、中ストップスイッチ37Cは中リール40Cに対応し、右ストップスイッチ37Rは右リール40Rに対応している。ストップスイッチ37L,37C及び37Rは、3つのリール40L,40C及び40Rの回転速度が所定の定常回転速度(例えば、約80回転/分)に達したときに、遊技者による操作が有効となる。
操作パネル部30の正面中央部には、3つのストップスイッチ37L,37C及び37Rが設けられている。ここで、左ストップスイッチ37Lは左リール40Lに対応し、中ストップスイッチ37Cは中リール40Cに対応し、右ストップスイッチ37Rは右リール40Rに対応している。ストップスイッチ37L,37C及び37Rは、3つのリール40L,40C及び40Rの回転速度が所定の定常回転速度(例えば、約80回転/分)に達したときに、遊技者による操作が有効となる。
そして、左ストップスイッチ37Lを遊技者が押動操作したときには、左リール40Lが停止し、中ストップスイッチ37Cを押動操作したときには、中リール40Cが停止し、右ストップスイッチ37Rを押動操作したときには、右リール40Rが停止する。このとき、3つのリール40L、40C及び40Rの各々は、各リールの外周面に描かれている図柄のうち、連続するいずれか3つの図柄の各中心位置が、表示窓22内の上段U、中段M、および、下段Lの各中央に位置付けられるように停止制御される。ここで、図柄の中心と、停止表示位置の中央とが一致する位置を定位置という。スロットマシン10においては、遊技者がストップスイッチを操作したことによって対応するリールを停止させる際に、図柄が必ず定位置で停止するように、リール停止制御が行われる。
操作パネル部30の下側には、スロットマシン10の機種名やモチーフとして採用されたキャラクタなどが描かれた下部パネル50が配設されている。下部パネル50の下方略中央には、遊技者に対してメダルを払い出すためのメダル払出口60が設けられている。すなわち、リール40L、40C及び40Rが停止したときに、有効ラインに沿って停止表示された3つの図柄の組合せが、小役に対応していた場合、スロットマシン10の内部に設置されたホッパー(図示略)が作動してその小役に対応した枚数のメダルが払い出される。そして、払い出されたメダルは、メダル払出口60から排出されて受け皿61に貯留される。また、メダル投入口32から投入され、前述したブロッカによって返却流路に導かれたメダルも、メダル払出口60から排出される。メダル払出口60の右側および左側には、各々、スロットマシン10内部に収納されたスピーカ64R,64L(後述する)から発せられた音を外部へ通すための透音孔62R,62Lが設けられている。
フロントパネル20の上方には、液晶ディスプレイパネルから構成される表示装置70が設けられている。なお、表示装置70は、上述した液晶ディスプレイパネルに限られず、画像情報や文字情報を遊技者が遊技中に視認し得る装置であれば、その他あらゆる画像表示装置を用いることが可能である。この表示装置70は、遊技履歴や、特別遊技中に表示される演出画像、役抽選の結果を報知するための演出画像、遊技の進行(メダル投入→スタートスイッチ36の操作→リールの回転→ストップスイッチ37L,37C,37Rの操作→全リール回転停止)に応じた演出画像等を表示することができる。表示装置70の上方には、リール40L,40C,40Rが停止し、何らかの役が成立した場合、成立した役に応じたパターンで点滅する上部演出ランプ72が設けられている。
次に、図2を参照して、リール40L、40C及び40Rの各外周面に貼り付けられるリールテープに印刷された図柄の配列について説明する。前述したように、リール40L、40C及び40Rの各外周面には21個の図柄が印刷されているが、各図柄は、リールテープの長手方向において、21等分に区画されてなる各図柄表示領域に1つの図柄が印刷されている。また、各図柄表示領域に表示される図柄の種類は、9種類あり、各種類に応じて種別コード(図示略)が予め定められている。本実施形態における図柄の種類には、数字の7を赤色および青色で各々表した「赤7」図柄、「青7」図柄と、棒状の塊をモチーフとした「BAR」図柄と、サクランボをモチーフとした「チェリー」図柄と、スイカをモチーフとした「スイカ」図柄と、ベルをモチーフとした「ベル」図柄と、プラムをモチーフとした「プラム」図柄と、所定のキャラクタを表した「キャラクタ」図柄と、各役に対応する図柄組合せのいずれにも含まれていない「ブランク」図柄とがある。
また、リール40L、40C及び40Rの各々に貼り付けられるリールテープの各図柄表示領域には、「1」〜「21」の図柄番号が予め定められており、図2に示すように、各図柄番号には、当該図柄番号に対応する図柄表示領域に印刷された図柄の種別コードが対応付けられ、後述するROM108に記憶されている。これらの情報は、スロットマシン10が、表示窓22の各停止表示位置(上段U、中段M、下段L)に表示された図柄を識別する際に参照される。以下では、図柄番号および種別コードをまとめて図柄識別情報という。図2に示した内容のリールテープを、各々対応するリール40L、40C及び40Rの外周面に貼り付けると、図2の図柄配列において、図柄番号「1」と「21」の図柄が連続することになる。
また、リール40L、40C及び40Rが回転すると、表示窓22内に表示される各リールの3つの図柄は、連続する3つの図柄番号の値が増加する方向にスクロール表示されることになる。たとえば、表示窓22の下段Lから上段Uに向かって、図柄番号「1」,「2」,「3」の図柄が表示されていた場合、それ以降、表示される図柄は、図柄番号「2」,「3」,「4」→図柄番号「3」,「4」,「5」→図柄番号「4」,「5」,「6」→……と変化する。そして、図柄番号「19」,「20」,「21」が表示されると、引き続き、図柄番号図柄番号「20」,「21」,「1」→図柄番号「21」,「1」,「2」→図柄番号「1」,「2」,「3」→……と変化していき、以下、リールが停止するまで図柄番号「1」から「21」の図柄が循環的にスクロールしていき、その様子を表示窓22から視認することができる。
[制御回路の説明]
スロットマシン10を制御する制御回路は、主制御回路100と副制御回路200とで構成されている。ここで、主制御回路100のブロック図を図3に示し、これに電気的に接続されている副制御回路200のブロック図を図4に示す。なお、図3および図4において、図1に示すスロットマシン10の正面図に図示された構成と同じものについては同一の符号を付し、その詳しい説明を省略する。
スロットマシン10を制御する制御回路は、主制御回路100と副制御回路200とで構成されている。ここで、主制御回路100のブロック図を図3に示し、これに電気的に接続されている副制御回路200のブロック図を図4に示す。なお、図3および図4において、図1に示すスロットマシン10の正面図に図示された構成と同じものについては同一の符号を付し、その詳しい説明を省略する。
≪主制御回路の説明≫
図3に示す中央処理装置(以下、CPUと称する)106は、外部から供給される基準クロック信号に基づいて作動し、ROM108に記憶されている制御プログラムを実行して、入出力バス104を介して入力される各種情報に基づく制御を行うことで、スロットマシン10における遊技を可能とする。ここで、入出力バス104は、8ビットのアドレスバスADDと、同じく8ビットのデータバスDATとで構成されている。ROM108は、スロットマシンの全体の流れを制御する制御プログラムや、制御プログラムを実行するための各種データを予め記憶している。ROM108に記憶されているデータとしては、前述した図柄識別情報の他、例えば、役抽選で使用する乱数を生成するための各種テーブル(図6参照)、遊技における各種の役と図柄組合せとを対応を定めた配当情報(図7参照)、および、役抽選によって役の当否を決定するための役抽選テーブル(図8参照)などがある。なお、役抽選テーブルは、後述する各遊技状態に応じた種類が記憶されているものとする。また、ROM108に記憶される制御プログラムとしては、図9に示すメインルーチンの処理、図10に示す入賞判定処理、図11に示す乱数取得処理、および図13に示す乱数チェック処理を実行するためのプログラムなどがある。
図3に示す中央処理装置(以下、CPUと称する)106は、外部から供給される基準クロック信号に基づいて作動し、ROM108に記憶されている制御プログラムを実行して、入出力バス104を介して入力される各種情報に基づく制御を行うことで、スロットマシン10における遊技を可能とする。ここで、入出力バス104は、8ビットのアドレスバスADDと、同じく8ビットのデータバスDATとで構成されている。ROM108は、スロットマシンの全体の流れを制御する制御プログラムや、制御プログラムを実行するための各種データを予め記憶している。ROM108に記憶されているデータとしては、前述した図柄識別情報の他、例えば、役抽選で使用する乱数を生成するための各種テーブル(図6参照)、遊技における各種の役と図柄組合せとを対応を定めた配当情報(図7参照)、および、役抽選によって役の当否を決定するための役抽選テーブル(図8参照)などがある。なお、役抽選テーブルは、後述する各遊技状態に応じた種類が記憶されているものとする。また、ROM108に記憶される制御プログラムとしては、図9に示すメインルーチンの処理、図10に示す入賞判定処理、図11に示す乱数取得処理、および図13に示す乱数チェック処理を実行するためのプログラムなどがある。
入出力バス104には、フラッシュメモリなどの不揮発性メモリであるRAM110も接続されている。RAM110には、CPU106のレジスタの内容をスタックするスタックエリア、スタックポインタ退避エリアおよびワークエリアなどに使用される記憶領域がそれぞれ所定のアドレスに割り当てられている。そして、ワークエリアには、CPU106が、上述した制御プログラムの処理を行う過程で参照する役抽選の結果や、各種変数の値が一時的に記憶される。この変数の種類としては、例えば、表示窓22に表示されている図柄番号、メダル投入枚数、クレジット枚数、およびメダル払出枚数などの各値を示すものがある。また、RAM110には、スロットマシン10の遊技状態を示す遊技状態情報も記憶される。スロットマシン10の遊技状態は、「通常遊技」、「MB遊技」、および「BB遊技」の3つの状態があり、いずれの遊技状態であるのかを示す遊技状態情報によって、現在の遊技状態を判断することができる。スロットマシン10では、これらの遊技状態に応じて、役抽選テーブルの選択や、各遊技状態間の移行に関する処理を行っている。なお、上述した各遊技状態については後に詳しく説明する。
CPU106に入力される各種情報には、図1に示した1−ベットスイッチ34、最大ベットスイッチ35、スタートスイッチ36およびストップスイッチ37L,37C,37Rから出力される信号があり、これらの信号は、入出力バス104に接続されたインターフェイス回路102を介してCPU106に入力される。さらに、CPU106に入力される情報には、乱数発生器112によって0〜65535(2の16乗)の数値範囲内で発生される乱数(整数)があり、この乱数は、入出力バス104を介してCPU106へ入力される。この乱数発生器112は、CPU106に供給されている基準クロック信号とは非同期かつ周期が異なる乱数発生用クロック信号に基づいて作動しており、乱数値の更新は、乱数発生用クロック信号に同期して行われる。乱数発生器112の構成については、後に詳しく説明する。
CPU106は、上述した制御プログラムを実行することで、入出力バス104に接続された各種装置の制御を行う。まず、CPU106は、モータ駆動回路114に対して駆動パルスを出力し、ステッピングモータ80L、80C及び80Rの回転制御を行う。ステッピングモータ80L、80C及び80Rの各々は、3つのリール40L、40C及び40Rの内周側に設けられ、ステッピングモータ80L、80C及び80Rの回転シャフトにリール40L、40C及び40Rの回転中心が取り付けられている。モータ駆動回路114は、ステッピングモータ80L、80C及び80Rと接続されており、CPU106から駆動パルスが出力されるごとに、各ステッピングモータを1ステップずつ回転駆動する。また、CPU106は、RAM110に記憶されているクレジット数の値をLED駆動回路116へ送信し、これにより、LED駆動回路116は、受信した数値に対応する数字を表示するように、クレジット数表示器27の各セグメントを点灯させる。また、CPU106は、1回の遊技が行われた結果、遊技者にメダルを払い出すこととなったときに、そのメダルの枚数の数値をLED駆動回路116へ送信し、これにより、LED駆動回路116は、受信した数値に対応する数字を表示するように、獲得枚数表示器28の各セグメントを点灯させる。
さらに、入出力バス104には外部集中端子基板118が接続されており、CPU106は、外部集中端子基板118を介してスロットマシン10で行われた遊技に関する情報およびを外部へ出力している。ここで、CPU106は、外部へ出力する遊技に関する情報として、1回の遊技でスロットマシン10に投入されたメダルの枚数(IN信号)、1回の遊技が行われた結果、遊技者へ払い出されたメダルの枚数(OUT信号)、遊技状態が「BB遊技」になっているか否か(BB発生信号)、遊技状態が「MB遊技」になっているか否か(MB発生信号)、1回の遊技が行われた結果、再遊技役が成立したか否か(RP発生信号)を示す情報、および、スロットマシン10に異常が発生したことを示す異常発生信号を出力する。これら遊技に関する情報は、例えば、遊技場に設置された各遊技機の出玉を管理する管理コンピュータや、各遊技機に対応して設置されている外部の遊技履歴表示器に対して出力される。
さらに、CPU106は、遊技に関する制御や不正行為に関する異常が発生した場合は、発生した異常の内容を示すエラーコードをインターフェイス回路102および接続線120を介して副制御回路200へ送信する。CPU106が検知し得る異常の内容としては、例えば、前述したホッパーに貯留されているメダルがなくなったという異常、メダル払出口60においてメダル詰まりが発生した旨の異常、前述したメダルセレクタをメダルが正常に通過しなかったという異常、RAM108におけるデータの読み書きが正常に行うことができなかったという異常、役抽選で当選しなかった役が成立してしまったという異常など、従来のスロットマシンにおいても検出されている異常の内容が含まれる。さらに、スロットマシン10では、乱数発生装置112によって生成される乱数の異常も検知し得る。そして、上述した各種の異常が検知された場合は、前述した異常発生信号を、外部集中端子基板118を介して管理コンピュータなどへ送信される。
≪副制御回路の説明≫
次に、図4を参照して副制御回路200の構成について説明する。上述した接続線120は、副制御回路200の入出力バス204に接続されているインターフェイス回路202に接続される。主制御回路100から副制御回路200に送信された各種情報は、インターフェイス回路202において所定の信号に変換された後、入出力バス204に供給され、RAM210に一旦格納される。なお、主制御回路100と副制御回路200との間でやり取りされる情報の流れは、常に、主制御回路100から副制御回路200への一方向であり、副制御回路200から主制御回路100へ何らかの情報が送信されることはない。入出力バス204は、CPU206にデータ信号又はアドレス信号が入出力されるようになされている。この入出力バス204には、ROM208、RAM210、ランプ駆動回路218、表示駆動回路220、および、スピーカ駆動回路222も接続されている。
次に、図4を参照して副制御回路200の構成について説明する。上述した接続線120は、副制御回路200の入出力バス204に接続されているインターフェイス回路202に接続される。主制御回路100から副制御回路200に送信された各種情報は、インターフェイス回路202において所定の信号に変換された後、入出力バス204に供給され、RAM210に一旦格納される。なお、主制御回路100と副制御回路200との間でやり取りされる情報の流れは、常に、主制御回路100から副制御回路200への一方向であり、副制御回路200から主制御回路100へ何らかの情報が送信されることはない。入出力バス204は、CPU206にデータ信号又はアドレス信号が入出力されるようになされている。この入出力バス204には、ROM208、RAM210、ランプ駆動回路218、表示駆動回路220、および、スピーカ駆動回路222も接続されている。
ROM208は、ランプ駆動回路218、表示駆動回路220、および、スピーカ駆動回路222を制御する制御プログラムや、制御プログラムを実行するための初期データを記憶している。また、ROM208は、表示装置70に表示するための種々の画像データ、スピーカ64L,64Rから発生するための演奏音データ、上部演出ランプ72を点滅させるパターンデータなども記憶している。また、ROM208は、主制御回路100からエラーコードが送信された場合、そのエラーコードに対応するメッセージを表示装置70に表示するための画像データや、スピーカ64L,64Rから出力するエラー音の音声データも記憶している。さらにROM208は、各種報知や演出を制御するための制御プログラムも記憶している。
RAM210には、演出に関する各種制御プログラムを実行する過程で発生/変動する各種データや、各種フラグのオン/オフ状態の他に、主制御回路100から送信されてきた役抽選の結果、遊技の結果、および現在の遊技状態などの各種情報も記憶される。
ランプ駆動回路218は、主制御回路100から送信された各種情報に基づいてCPU206から出力される駆動指令に応じて、上部演出ランプ72を点灯/点滅駆動する。表示駆動回路220は、主制御回路100から送信された各種情報に基づいて決定された演出内容に従って、CPU206がROM208から読み出した画像データや文字データ等を、表示装置70に表示させる。これにより、表示装置70には、画像データに基づく各種演出画像(静止画もしくは動画またはそれらの組合せ)として表示され、もしくは、文字データが文字メッセージとして表示される。また、主制御回路100からエラーコードが送信されてきた場合、表示駆動回路220は、検知された異常の内容に対応する画像またはメッセージを表示装置70に表示させる。スピーカ駆動回路222は、主制御回路100から供給される情報に基づいてCPU206がROM208から読み出した音声データに応じてスピーカ64R,64Lを駆動し、図1に示した透音孔62R,62Lから音声を出力させる。
[機能ブロック図の説明]
次に、スロットマシン10の制御回路の機能ブロック図を図5に示す。なお、以下の説明において、図1および図3に示した各部と同じ構成については、同一の符号を付し、その詳しい説明を省略する。まず、制御回路として主制御回路100と副制御回路200とがあり、両者は電気的に接続されている。主制御回路100には、操作手段300と、モータ駆動回路114とが電気的に接続されている。副制御回路200には、スピーカ64L,64R、表示装置70、および上部演出ランプ72を備える演出手段600が電気的に接続されている。
次に、スロットマシン10の制御回路の機能ブロック図を図5に示す。なお、以下の説明において、図1および図3に示した各部と同じ構成については、同一の符号を付し、その詳しい説明を省略する。まず、制御回路として主制御回路100と副制御回路200とがあり、両者は電気的に接続されている。主制御回路100には、操作手段300と、モータ駆動回路114とが電気的に接続されている。副制御回路200には、スピーカ64L,64R、表示装置70、および上部演出ランプ72を備える演出手段600が電気的に接続されている。
操作手段300は、スタートスイッチ36からなる回転指示手段310と、3つのストップスイッチ37L、37C及び37Rからなる停止指示手段320とを有している。この操作手段300は、スイッチに限らず、遊技者の四肢を用いた操作に基づいて操作信号を発生させるものであれば、あらゆる手段が適用できる。また、演出手段600は、音や光など遊技者の聴覚的、視覚的に報知を行うものに限らず、たとえば、スロットマシン10の内部にバイブレータなどの振動発生装置を設けて特定の部位を振動させ、遊技者の触覚によって認知される報知を行うようにしても良い。
≪主制御回路の説明≫
主制御回路100は、乱数発生装置112と、乱数異常検出手段420と、役抽選手段430と、リール制御手段440と、入賞判定手段450と、入賞処理手段460と、を含む。
主制御回路100は、乱数発生装置112と、乱数異常検出手段420と、役抽選手段430と、リール制御手段440と、入賞判定手段450と、入賞処理手段460と、を含む。
<乱数発生装置の説明>
乱数発生装置112は、乱数クロック発生手段410と、乱数テーブル記憶手段412と、乱数テーブル指定手段414と、乱数更新手段416と、乱数記憶手段418とを含んでいる。乱数クロック発生手段410は、デューティ比50%のパルス信号(乱数発生用クロックパルス)を予め定められた周期で繰り返し発生させ、クロック信号として出力する。ここで、スロットマシン10においては、クロック信号の周期を139.68ナノ秒(クロック周波数:7.15909MHz)とする。乱数テーブル記憶手段412は、予め定められた数値範囲内における各数値を、重複することなく順序づけた乱数発生用テーブルを複数記憶している。各乱数発生用テーブルは、上述した数値範囲内における各数値の順序づけが異なっており、各々の乱数発生用テーブルには、各乱数発生用テーブルを個別に指定し得るテーブル指定情報が付与されている。
乱数発生装置112は、乱数クロック発生手段410と、乱数テーブル記憶手段412と、乱数テーブル指定手段414と、乱数更新手段416と、乱数記憶手段418とを含んでいる。乱数クロック発生手段410は、デューティ比50%のパルス信号(乱数発生用クロックパルス)を予め定められた周期で繰り返し発生させ、クロック信号として出力する。ここで、スロットマシン10においては、クロック信号の周期を139.68ナノ秒(クロック周波数:7.15909MHz)とする。乱数テーブル記憶手段412は、予め定められた数値範囲内における各数値を、重複することなく順序づけた乱数発生用テーブルを複数記憶している。各乱数発生用テーブルは、上述した数値範囲内における各数値の順序づけが異なっており、各々の乱数発生用テーブルには、各乱数発生用テーブルを個別に指定し得るテーブル指定情報が付与されている。
ここで、図6(a)を参照して、乱数テーブル記憶手段412に記憶されている複数の乱数発生用テーブルの内容ついて説明する。図6(a)には24個の乱数発生用テーブルの内容が示されており、各乱数発生用テーブルには、An(nは1〜4の自然数)およびBm(mは1〜6の自然数)からなる固有のテーブル指定情報が付与されており、このテーブル指定情報によって各乱数発生用テーブルを個別に指定することが可能になっている。以下では、1つの乱数発生用テーブルを指定するためのテーブル指定情報を(An,Bm)と表記する。図6(a)に示す各乱数発生用テーブルは、いずれも2ビットの乱数を生成するためのものである。よって、上述した「予め定められた数値範囲」は10進数で「0」〜「3」となり、「数値範囲内の各数値」は、10進数で「0」、「1」、「2」、「3」の4つとなる。
また、図6(a)に示す乱数発生用テーブルでは、乱数として生成する「0」〜「3」の各数値に対する順序づけを、当該各数値の記載順序によって示している。具体的には、各乱数発生用テーブルにおいて最も左側に図示した数値が1番目となり、以下、右側に図示された数値ほど後の順序が対応付けられ、最も右側に図示した数値が1つの乱数発生用テーブルにおける最後の数値(4番目)であることを示している。例えば、この図において、(A3,B5)というテーブル指定情報によって指定される乱数発生用テーブルの場合、1番目の数値が「2」、2番目の数値が「3」、3番目の数値が「0」、4番目の数値が「1」という順序づけがなされている。この順序は、乱数発生装置112によって乱数として生成される数値の更新順序を示しており、例えば、上述した(A3,B5)という乱数発生用テーブルに基づいて乱数を生成する場合は、「2」→「3」→「0」→「1」という順序で乱数の値(以下、乱数値という)が更新されていくことになる。この更新は、後述する乱数更新手段416によって行われる。また、乱数値が、1つの乱数発生用テーブルに定められている1番目の数値から4番目の数値まで一通り更新される期間が、1つの乱数周期Fに対応している。
なお、図6(a)に示す乱数発生用テーブルは、2ビットの乱数を発生させる場合の例を示しているが、同様の方法によって、4ビット、8ビット、16ビットなど他の桁数の乱数発生用テーブルを作成し、よりビット数の多い乱数を発生させるようにすることも可能である。また、図6(a)に示した複数の乱数発生用テーブルは、「0」〜「3」の4つの数値が重複することなく取り得る全ての順序(4!=24通り)を網羅するために、24個の乱数発生用テーブルからなっているが、必ずしも全ての順序を示す乱数発生用テーブルを用意する必要は無く、一部の順序を示す複数の乱数発生用テーブルを用いるようにしてもよい。
乱数テーブル指定手段414は、乱数テーブル記憶手段412に記憶されている複数の乱数発生用テーブルのうち、乱数を生成するのに参照する乱数発生用テーブルを指定する。そして、後述する乱数更新手段416によって、1つの乱数発生用テーブルに基づいて乱数値が一通り更新されると、次に参照すべき乱数発生用テーブルを指定する。このように、1つの乱数発生用テーブルに基づいて乱数値が更新されるごとに、次に参照すべき乱数発生用テーブルを指定することで、所定ビットの乱数値を順次更新していく。乱数テーブル指定手段414によって指定される乱数発生用テーブルの順序は、図6(b)に示す指定順序テーブルに定められている。
図6(b)に示す指定順序テーブルは、N個(Nは整数)の指定順序情報からなり、各指定順序情報には、「1」〜「N」の個別の識別番号(以下、指定順序番号という)が付与されている。また、各指定順序情報は、図6(a)に示した各乱数発生用テーブルを指定する24個のテーブル指定情報を、予め定めた順序で並べたものからなっている。ここで24個のテーブル指定情報の内容は、1つの指定順序情報の中で、同じ乱数発生用テーブルを複数回指定することがないように定められている。
例えば指定順序番号1の指定順序情報に従って参照すべき乱数発生用テーブルを指定していく場合、まず、1番目のテーブル指定情報(A1,B1)の乱数発生用テーブルに基づいて、「0」→「1」→「2」→「3」という順序で乱数値が更新されると、引き続き2番目のテーブル指定情報(A2,B1)の乱数発生用テーブルに基づいて、「1」→「0」→「2」→「3」という順序で乱数値が更新されることになる。このようにして、1つの指定順序情報における24番目のテーブル指定情報によって指定される乱数発生用テーブルに基づいて乱数値が更新されると、別の指定順序情報に基づいて、参照すべき乱数発生用テーブルが順次指定されていく。ここで、次の指定順序情報をどのように定めるかについては、例えば、予め決められていた順序(例えば、指定順序番号1→2→3→…など)に従って定めてもよいし、逐次、抽選を行って定めるようにしてもよい。
なお、上述した例では、次に参照すべき乱数発生用テーブルの指定を、図6(b)に示す指定順序テーブルに基づいて行っていたが、これによらず、1つの乱数発生用テーブルに基づいて、一通りの乱数値の更新を行うごとに抽選を行って、次に参照すべき乱数発生用テーブルを決定してもよい。例えば、図6(a)に示した(A2,B3)の乱数発生用テーブルに基づいて、「1」→「2」→「0」→「3」という順序で乱数値を更新したときに、次のクロック信号の立ち上がりタイミングになる前に、次に参照すべき乱数発生用テーブルのテーブル指定情報AnおよびBmを、乱数に基づく抽選によって各々決定する。この抽選の結果、例えば「A4」および「B1」というテーブル指定情報が決定された場合は、(A4,B1)の乱数発生用テーブルに基づいて、「3」→「0」→「1」→「2」という順序で乱数値を更新する。また、図6(a),(b)に示した各テーブルは、説明の便宜上、2ビットの乱数を発生させる場合のものを示しているが、実際の乱数テーブル記憶手段412および乱数テーブル指定手段414は、乱数発生装置112が16ビットの乱数を生成することができるように、図6(a),(b)に示した各テーブルを適宜拡張したものを備えているものとする。
乱数更新手段416は、乱数テーブル記憶手段412に記憶されている複数の乱数発生用テーブルのうち、乱数テーブル指定手段414によって指定された乱数発生用テーブルに基づいて、後述する乱数記憶手段418に記憶されている所定ビットの乱数値を順次更新する。この更新は、乱数クロック発生手段410によって発生されるクロック信号の立ち上がりのタイミングで行われる。これにより、図6(a)に示した各乱数発生用テーブルに基づいて乱数値の更新を行う場合は、1つの乱数周期Fがクロック信号の4周期分の時間(558.7ナノ秒)となるが、この乱数発生用テーブルを16ビットの乱数生成用に拡張した場合は、1つの乱数周期Fが216=65536周期分の時間(9.154ミリ秒)となる。また、乱数更新手段416は、1つの乱数発生用テーブルにおける最後の乱数値の更新を行うと、次のクロック信号の立ち上がりタイミングで、乱数テーブル指定手段414によって指定された次に参照すべき乱数発生用テーブルにおける最初の乱数値に更新する。
乱数記憶手段418は、乱数発生装置112によって生成される所定ビット数の乱数の値を記憶する。また、上述したように、乱数記憶手段418されている乱数値は、乱数クロック発生手段410が発生するクロック信号の立ち上がりのタイミングで、乱数更新手段416によって更新される。
<乱数異常検出手段の説明>
乱数異常検出手段420は、異常検出用乱数取得手段422と、異常検出用乱数記憶手段424と、乱数異常判定手段426とを含んでいる。
異常検出用乱数取得手段422は、所定の周期で乱数発生装置112が生成した乱数を異常検出用乱数として取得する。すなわち、所定の周期で到来する取得タイミングで乱数記憶手段418に記憶されている乱数値を読み取る。乱数記憶手段418から乱数値を読み取る周期は、乱数クロック発生手段410が発生するクロック信号の周期よりも長く設定されており、かつ、連続する2つの乱数周期Fの期間内に少なくとも3回、乱数記憶手段418から乱数値を読み取ることができる周期に設定されている。
乱数異常検出手段420は、異常検出用乱数取得手段422と、異常検出用乱数記憶手段424と、乱数異常判定手段426とを含んでいる。
異常検出用乱数取得手段422は、所定の周期で乱数発生装置112が生成した乱数を異常検出用乱数として取得する。すなわち、所定の周期で到来する取得タイミングで乱数記憶手段418に記憶されている乱数値を読み取る。乱数記憶手段418から乱数値を読み取る周期は、乱数クロック発生手段410が発生するクロック信号の周期よりも長く設定されており、かつ、連続する2つの乱数周期Fの期間内に少なくとも3回、乱数記憶手段418から乱数値を読み取ることができる周期に設定されている。
また、異常検出用乱数取得手段422による異常検出用乱数の取得は、前述した乱数更新手段416によって乱数値の更新が行われていない間に行われることが望ましい。例えば、乱数更新手段416による更新が、クロック信号の立ち上がりタイミングで行われている場合は、異常検出用乱数取得手段422による乱数値の取得タイミングを、クロック信号の立ち下がりタイミング、または、クロック信号のHigh/Lowを反転させたクロック信号(以下、反転クロック信号という)の立ち上がりタイミングで行うようにするとよい。
異常検出用乱数記憶手段424は、異常検出用乱数取得手段422によって過去に取得された異常検出用乱数を記憶する。具体的には、前回の取得タイミングで異常検出用乱数取得手段422が乱数記憶手段418から読み取った異常検出用乱数の乱数値を記憶する。なお、異常検出用乱数記憶手段424に記憶される前回取得された異常検出用乱数値は、後述する乱数異常判定手段426において乱数の異常判定が行われると、乱数異常検出手段420は、異常検出用乱数取得手段422によって今回取得された異常検出用乱数の値を、前回取得された異常検出用乱数の値として、異常検出用乱数記憶手段424に記憶させる。
乱数異常判定手段426は、異常検出用乱数取得手段422によって、3回連続して取得された異常検出用乱数値がいずれも同じ値になっていたときに、乱数に異常が生じたと判定する。具体的には、異常検出用乱数取得手段422によって今回取得された異常検出用乱数R(0)の値と、異常検出用乱数記憶手段424に記憶されている前回の取得タイミングで取得された異常検出用乱数R(−1)の値が一致した場合、異常検出用乱数記憶手段424に記憶される今回取得された異常検出用乱数R(0)の値と、次に取得される異常検出用乱数R(+1)の値とをさらに比較して、両者が一致したときに、乱数発生装置112が生成する乱数に異常が生じたと判定する。
また、乱数異常判定手段426は、乱数に異常が生じたと判定すると、外部集中端子基板118を介して、外部の管理用コンピュータに、乱数に異常が生じたことを示す異常発生信号(以下、乱数異常信号という)を出力する。また、乱数異常判定手段426は、乱数に異常が生じたことを示すエラーコードを後述する副制御回路200へ送信するとともに、図1に示した獲得枚数表示器28に表示する。なお、この乱数異常判定手段426は、「第一の乱数判定手段」に相当する。
<単位遊技実行手段の説明>
単位遊技実行手段430は、スロットマシン10で行われる単位遊技を実行するための手段である。ここで、単位遊技とは、遊技者がスタートスイッチ36を操作したことによってリール40L,40C,40Rが回転を開始してから、ストップスイッチ37L,37C,37Rが順次操作されて全てのリールが停止し、何らかの役が成立したか否かが確定するまでの遊技をいう。単位遊技実行手段430は、役抽選手段432、リール制御手段434、入賞判定手段436および入賞処理手段438を備えている。以下に各手段について説明する。
単位遊技実行手段430は、スロットマシン10で行われる単位遊技を実行するための手段である。ここで、単位遊技とは、遊技者がスタートスイッチ36を操作したことによってリール40L,40C,40Rが回転を開始してから、ストップスイッチ37L,37C,37Rが順次操作されて全てのリールが停止し、何らかの役が成立したか否かが確定するまでの遊技をいう。単位遊技実行手段430は、役抽選手段432、リール制御手段434、入賞判定手段436および入賞処理手段438を備えている。以下に各手段について説明する。
<役抽選手段の説明>
役抽選手段430は、役抽選を行うことによって、予め定められた役のうち、いずれか1つまたは複数の役に当選したか否かを定めるものである。上述した予め定められた役には、大別すると、小役、再遊技(リプレイともいう)役、ボーナス役(特別役)の3種類がある。小役は、成立すると予め定められた枚数のメダルが遊技者に払い出されることとなる役であり、対応する図柄組合せに応じて複数種類の小役が定められている。再遊技役は、成立すると次の単位遊技に限ってメダルを投入することなく遊技することができる役である。この再び行うことができる単位遊技を再遊技(リプレイ)といい、この再遊技は、再遊技役が成立した単位遊技と同じ枚数のメダルを投入した状態で行われる。
役抽選手段430は、役抽選を行うことによって、予め定められた役のうち、いずれか1つまたは複数の役に当選したか否かを定めるものである。上述した予め定められた役には、大別すると、小役、再遊技(リプレイともいう)役、ボーナス役(特別役)の3種類がある。小役は、成立すると予め定められた枚数のメダルが遊技者に払い出されることとなる役であり、対応する図柄組合せに応じて複数種類の小役が定められている。再遊技役は、成立すると次の単位遊技に限ってメダルを投入することなく遊技することができる役である。この再び行うことができる単位遊技を再遊技(リプレイ)といい、この再遊技は、再遊技役が成立した単位遊技と同じ枚数のメダルを投入した状態で行われる。
ボーナス役は、成立すると、次の単位遊技から所定の終了条件が満たされるまで、各遊技においてメダルを獲得できる可能性が高くなる特別遊技が開始されることとなる役である。スロットマシン10における特別役には、ビッグボーナス役(以下、BB役という)と、ミドルボーナス役(以下、MB役という)とがある。BB役が成立すると、次の単位遊技から特別遊技としてビッグボーナスゲーム(以下、BB遊技という)が開始される。BB遊技は、メダルの払い出し枚数が予め定められた枚数(ここでは344枚とする)を超えると終了条件が成立し、BB遊技へ移行する前の遊技状態(通常遊技)へ戻る。また、BB遊技中は、通常遊技中よりも小役の当選確率が著しく上昇し、遊技者にメダルが払い出される(特典が付与される)可能性が非常に高くなるため、遊技者にとって有利な遊技状態であるといえる。
また、MB役が成立すると、次の単位遊技から特別遊技としてミドルボーナスゲーム(以下、MB遊技という)が開始される。MB遊技は、メダルの払い出し枚数が予め定められた枚数(ここでは105枚とする)を超えると終了条件が成立し、MB遊技へ移行する前の遊技状態(通常遊技)へ戻る。また、MB遊技中は、各単位遊技において、役抽選によらずに小役が当選した状態にされるため、小役が成立する可能性が高くなり、BB遊技と同様に、遊技者にとって有利な遊技状態であるといえる。
なお、上述した各種の役には、各々、左リール40L,中リール40C,右リール40Rに描かれた図柄で構成される図柄組合せが対応付けられている。ここで、図7を参照してスロットマシン10において成立し得る役の種類と、その図柄組合せについて説明する。図7は、各役の名称とその図柄組合せおよび役が成立したときに遊技者へ払い出されるメダルの枚数を対応付けた配当情報の内容を示している。この配当情報は、図3に示した主制御回路100のROM108に記憶されている。
図7に示すように、スロットマシン10で成立し得る各役には、それぞれ左リール40L,中リール40C,右リール40Rに描かれた図柄からなる図柄組合せが対応付けられている。この図柄組合せは、有効ラインL1〜L5のいずれかに沿って停止表示された図柄組合せを意味しており、後述する入賞判定手段436が入賞判定を行う際に参照される。また、これらの図柄組合せが有効ラインに沿って停止表示されると、対応する役が成立したことになり、各々の役に対応した特典が遊技者に付与される。
なお、図7には、3種類のBB役(BB役a〜BB役c)が示されているが、これらの役は、対応する図柄組合せが異なっているだけであり、遊技者に付与される特典の内容に違いはない(小役、再遊技役およびMB役についても同様)。また、小役が成立した場合は、特典として図7に示す枚数のメダルが遊技者へ払い出されるが、小役1および2については、成立したときに払い出されるメダルの枚数が、単位遊技を行う際に投入したメダルの枚数によって変化する。すなわち、3枚のメダルを投入したときよりも、2枚のメダルを投入したときの方がメダルの払出枚数が多くなっている。ここで、スロットマシン10においては、2枚の投入メダルで単位遊技を行うことができるのは特別遊技中に限られており、通常遊技中は、3枚のメダルを投入しなければ単位遊技を行えないようになっている(逆に、特別遊技中は3枚の投入メダルで単位遊技を行えないようになっている)。また、以下では、メダルの払い出しを伴う役(すなわち小役)が成立することを、特に「入賞」という。
なお、図7において、小役2aの図柄組合せは「チェリー−ANY−ANY」と表記されているが、この中リール40C,右リール40Rに対する「ANY」は、任意の図柄であることを示している。よって、小役2aは、左リール40Lにおいて、「チェリー」図柄が表示窓22内の上段L,中段M,下段Lのいずれかに停止するだけで入賞することになる。また、スロットマシン10における遊技状態は、上述したBB遊技が行われている間は「BB遊技」となり、MB遊技が行われている間は「MB遊技」となり、BB遊技またはMB遊技のいずれも行われていないときは「通常遊技」となる。
役抽選手段430は、乱数発生器112が生成した乱数を抽選用乱数として取得する抽選用乱数取得手段4322と、取得された抽選用乱数の値が、正常に更新されたものであるか否かを判定する抽選用乱数判定手段4324(第二の乱数判定手段に相当)と、役抽選の結果を記憶する役抽選結果記憶手段4326と、MB遊技中において、全ての小役を強制的に当選状態とする強制当選手段4328とを備えている。
(抽選用乱数取得手段の説明)
抽選用乱数取得手段4322は、回転指示手段310からスタートスイッチ36が操作されたことを示す信号(以下、遊技開始信号という)が出力されると、乱数発生装置112が生成した乱数を、抽選用乱数として取得する。すなわち、回転指示手段310から遊技開始信号が出力されたときに、乱数記憶手段418に記憶されている乱数値を読み取る。ここで、抽選用乱数取得手段4322による抽選用乱数の取得は、前述した乱数更新手段416によって乱数値の更新が行われていない間に行われることが望ましい。例えば、乱数更新手段416による更新が、クロック信号の立ち上がりタイミングで行われている場合は、クロック信号の立ち下がりタイミング、または、反転クロック信号の立ち上がりタイミングで同期を取った遊技開始信号に基づいて乱数発生装置112が生成した乱数を取得するとよい。
抽選用乱数取得手段4322は、回転指示手段310からスタートスイッチ36が操作されたことを示す信号(以下、遊技開始信号という)が出力されると、乱数発生装置112が生成した乱数を、抽選用乱数として取得する。すなわち、回転指示手段310から遊技開始信号が出力されたときに、乱数記憶手段418に記憶されている乱数値を読み取る。ここで、抽選用乱数取得手段4322による抽選用乱数の取得は、前述した乱数更新手段416によって乱数値の更新が行われていない間に行われることが望ましい。例えば、乱数更新手段416による更新が、クロック信号の立ち上がりタイミングで行われている場合は、クロック信号の立ち下がりタイミング、または、反転クロック信号の立ち上がりタイミングで同期を取った遊技開始信号に基づいて乱数発生装置112が生成した乱数を取得するとよい。
役抽選手段432は、抽選用乱数取得手段4322によって取得された抽選用乱数と、ROM108に記憶されている役抽選テーブルと、に基づいて役の当否および当選した役(当選役)の種類を決定する。ここで、図8を参照して役抽選テーブルの内容について説明する。この図において、(a)は通常遊技中に使用される役抽選テーブル、(b)はBB遊技中に使用される役抽選テーブルの内容を各々示している。これらの役抽選テーブルは、図3に示したROM108に記憶され、現在の遊技状態に応じた役抽選テーブルに基づいて役抽選が行われる。なお、MB遊技中は、上述した強制当選手段4326によって、各単位遊技において全ての小役が当選役にされるため、MB遊技中に使用される役抽選テーブルは存在しない。
役抽選テーブルは、乱数発生器112が発生し得る乱数値(0〜65535)と、抽選結果とを対応付けたものであり、役抽選手段432は、抽選用乱数取得手段4322によって抽出された乱数値が、役抽選テーブルのどの数値範囲に属するかによって、1つの抽選結果(抽選結果番号)が導出される。そして、導出された抽選結果番号に対応する役が、役抽選で当選した役(当選役)となる。ただし、導出された抽選結果番号がハズレに対応付けられていた場合は、いずれの役にも当選しなかったことになる。なお、各抽選結果番号に対応する数値範囲(置数)を65536で割った値が、各抽選結果番号が導出される確率(各役の当選確率と同義)となる。
例えば、図8(a)に示す役抽選テーブルの場合、抽出された乱数値が「0」〜「45114」の範囲内に含まれる値だった場合は、抽選結果番号「14」が導出され、役抽選の結果はハズレとなる。また、抽出された乱数値が「54726」〜「55569」の範囲内に含まれる値だった場合は、抽選結果番号「8」が導出され、役抽選の結果は小役2aの当選となる。また、図8(b)に示す役抽選テーブルにおいて、抽出された乱数値が「1768」〜「7707」の範囲内に含まれる値だった場合は、抽選結果番号「3」が導出され、小役2aおよび小役4の双方が当選したことになる。
図8(a)に示すように、通常遊技中に使用される役抽選テーブルには、抽選対象に小役4が含まれていない。よって、通常遊技中は小役4が当選役となることがなく、小役4が入賞することがない。図8(b)に示すように、BB遊技中に使用される役抽選テーブルでは、抽出された乱数値が「0」のときのみハズレとなり(すなわち、ハズレとなる確率は1/65536)、ほとんどの単位遊技で何らかの小役が当選役となることから、後述するリール停止制御によって小役が入賞する可能性が非常に高くなる。
(抽選用乱数判定手段の説明)
抽選用乱数判定手段4324は、抽選用乱数取得手段4322によって抽選用乱数が取得されるごとに、その値に基づいて、乱数の値が乱数更新手段416によって正常に更新されているか否かを判定する。また、抽選用乱数に基づく乱数値の異常判定は、当該抽選用乱数を含む少なくとも3つの乱数の値に基づいて行われる。これら少なくとも3つの乱数は、乱数周期Fの二周期分の期間内に取得されたものであり、各乱数の取得間隔は、乱数更新手段416の乱数更新間隔よりも長い間隔で取得されたものであることが望ましい。抽選用乱数判定手段4324による乱数の異常判定結果は、前述した乱数異常判定手段426によって乱数が正常に更新されていないと判定されたときに、実行中の単位遊技をそのまま継続するか、直ちに停止させるかを決定する際に参照される。
抽選用乱数判定手段4324は、抽選用乱数取得手段4322によって抽選用乱数が取得されるごとに、その値に基づいて、乱数の値が乱数更新手段416によって正常に更新されているか否かを判定する。また、抽選用乱数に基づく乱数値の異常判定は、当該抽選用乱数を含む少なくとも3つの乱数の値に基づいて行われる。これら少なくとも3つの乱数は、乱数周期Fの二周期分の期間内に取得されたものであり、各乱数の取得間隔は、乱数更新手段416の乱数更新間隔よりも長い間隔で取得されたものであることが望ましい。抽選用乱数判定手段4324による乱数の異常判定結果は、前述した乱数異常判定手段426によって乱数が正常に更新されていないと判定されたときに、実行中の単位遊技をそのまま継続するか、直ちに停止させるかを決定する際に参照される。
(役抽選結果記憶手段の説明)
役抽選結果記憶手段4326は、図3に示したRAM110によって実現されるものであり、役抽選手段432によって行われた役抽選の結果を記憶する。具体的には、図7に示した各役に対応する当選フラグのオン/オフ状態を記憶する。ここで、当選フラグがオンのときは、その当選フラグに対応する役が当選したことを示し、オフのときは、当選していないことを示している。各役に対応する当選フラグのオン/オフ状態は、基本的には1回の単位遊技が終了すると、後述する入賞判定手段436によってオフにされる。但し、特別役(BB役a〜BB役c,MB役a,MB役b)の当選フラグについては、当選したときの単位遊技が終了してもオフ状態にはされず、当選した特別役が成立するまで当選フラグのオン状態が維持される。このように、特別役に対応する当選フラグのオン状態が維持されている状態を、「ボーナスフラグの持ち越し中」という。
役抽選結果記憶手段4326は、図3に示したRAM110によって実現されるものであり、役抽選手段432によって行われた役抽選の結果を記憶する。具体的には、図7に示した各役に対応する当選フラグのオン/オフ状態を記憶する。ここで、当選フラグがオンのときは、その当選フラグに対応する役が当選したことを示し、オフのときは、当選していないことを示している。各役に対応する当選フラグのオン/オフ状態は、基本的には1回の単位遊技が終了すると、後述する入賞判定手段436によってオフにされる。但し、特別役(BB役a〜BB役c,MB役a,MB役b)の当選フラグについては、当選したときの単位遊技が終了してもオフ状態にはされず、当選した特別役が成立するまで当選フラグのオン状態が維持される。このように、特別役に対応する当選フラグのオン状態が維持されている状態を、「ボーナスフラグの持ち越し中」という。
ボーナスフラグの持ち越し中の単位遊技において、役抽選でいずれかの小役または再遊技役が当選した場合は、オン状態が維持されている特別役とともに、当選役となった小役または再遊技役の当選フラグもオンとなり、それらの役のいずれかが成立し得る状態となる。また、ボーナスフラグの持ち越し中に、いずれかの特別役が当選したときは、その特別役に対応する当選フラグがオンにされることはない。よって、複数の特別役に対応する当選フラグが並行してオン状態になることはない。
(強制当選手段の説明)
強制当選手段4328は、現在の遊技状態がMB遊技中であるときに、遊技者がスタートスイッチ36を操作したことを契機として、役抽選結果記憶手段4326に記憶された各役に対応する当選フラグのオン/オフ状態のうち、全ての小役に対応する当選フラグをオン状態にする。これにより、MB遊技中における単位遊技では、必ず全小役の当選フラグがオン(再遊技役および特別役の当選フラグは必ずオフ)となり、遊技者は、これらの小役のうちいずれか1つを入賞させることができる。
強制当選手段4328は、現在の遊技状態がMB遊技中であるときに、遊技者がスタートスイッチ36を操作したことを契機として、役抽選結果記憶手段4326に記憶された各役に対応する当選フラグのオン/オフ状態のうち、全ての小役に対応する当選フラグをオン状態にする。これにより、MB遊技中における単位遊技では、必ず全小役の当選フラグがオン(再遊技役および特別役の当選フラグは必ずオフ)となり、遊技者は、これらの小役のうちいずれか1つを入賞させることができる。
<リール制御手段の説明>
リール制御手段434は、リール停止制御手段4342を有し、リール40L,40C,40Rの回転駆動に関する制御を行う。すなわち、前述した遊技開始信号を受信すると、モータ駆動回路114を介してステッピングモータ80L,80C,80Rを駆動する。これによりリール40L,40C,40Rを回転させた後、遊技者によるストップスイッチ37L,37C,37Rの操作に応じて停止指示手段320から停止指示信号が出力されると、リール停止制御手段4342によって、操作されたストップスイッチに対応するリールの停止制御を行う。
リール制御手段434は、リール停止制御手段4342を有し、リール40L,40C,40Rの回転駆動に関する制御を行う。すなわち、前述した遊技開始信号を受信すると、モータ駆動回路114を介してステッピングモータ80L,80C,80Rを駆動する。これによりリール40L,40C,40Rを回転させた後、遊技者によるストップスイッチ37L,37C,37Rの操作に応じて停止指示手段320から停止指示信号が出力されると、リール停止制御手段4342によって、操作されたストップスイッチに対応するリールの停止制御を行う。
リール停止制御手段4342は、停止指示手段320から停止指示信号が出力されると、操作されたストップスイッチに対応するリールの回転を190ミリ秒以内に停止させる。すなわち、定常回転速度が約80回転/分であり、1リール当たりの図柄数を21とすると、リール停止制御手段4342は、ストップスイッチが操作されたときのリールの回転位置から、最大で5図柄分、回動するまでの間にそのリールを停止させる。この間、そのリールに描かれた図柄のうち、当選役に対応した図柄組合せを構成する図柄(以下、当選図柄という)が、いずれか1本の有効ラインが通過する停止表示位置(以下、有効ラインの位置という)に到達し得るときは、その当選図柄が有効ラインの位置に達したときにリールを停止させる。なお、最初にリールを停止させるときには、当選図柄をいずれの有効ラインの位置に停止させてもよいが、2番目または3番目に停止させるリールについては、既に当選図柄が停止している有効ラインの位置に、当選図柄を停止させるように制御することはいうまでもない。
これに対して、対応するリールを5図柄分、回動させても、当選図柄を有効ラインの位置に停止させることができないときは、5図柄分、回動させる間の適宜定められた図柄が停止表示されるように(ただし、当選役以外の役が成立してしまわないように)リールを停止させる。この場合、役抽選で何らかの役が当選していたとしても、その役に対応する図柄組合せが有効ラインに沿って停止表示されることがなく、その役は成立しない。以下では、このような遊技結果を「取りこぼし」という。
上述したリール停止制御を前提として図2に示した各リールの図柄配列を見ると、全リールにおける「ベル」図柄および「プラム」図柄は、その配置間隔から、ストップスイッチをどのようなタイミングで操作しても、上段U、中段M、下段Lのいずれにも停止させることができる。さらに、右リール40Rについては、「チェリー」図柄も同様である。すなわち、これらの図柄によって構成される図柄組合せが対応付けられている役(小役1aおよび再遊技役a〜c)が当選役になった場合、リール停止制御によって任意の有効ライン上に対応する図柄組合せを停止させることができ、取りこぼしが生じない。これに対して、上述した図柄以外の図柄を含む図柄組合せが対応付けられた役が当選役になった場合は、遊技者によるストップスイッチの操作タイミングによっては、有効ラインの位置に当選図柄を停止させることができず、取りこぼしが生じる可能性がある。
一方、役抽選の結果がハズレとなったときは、リール停止制御手段4342は、いかなるタイミングでストップスイッチ37L,37C,37Rが操作されたとしても、何らかの役に対応する図柄組合せが有効ラインに沿って停止表示されることがないように、リール40L,40C,40Rを停止させる。このように、リール停止制御手段4342は、役抽選で何らかの役に当選した場合は、決められた範囲内で当選役が成立するように、または、それが不可能な場合は当選役以外の役が成立しないようなリール停止制御を行っている。また、役抽選の結果がハズレだった場合は、いかなる役も成立しないようなリール停止制御を行っている。
なお、リール停止制御手段4342は、MB遊技中に限って、左リール40Lの停止制御を行うときは、停止指示手段320から停止指示信号が出力されてから75ミリ秒以内に停止させる。すなわち、定常回転速度が約80回転/分であり、1リール当たりの図柄数を21とすると、リール停止制御手段4342は、ストップスイッチが操作されたときのリールの回転位置から、最大で2図柄分、回動するまでの間にそのリールを停止させる。
前述したボーナスフラグの持ち越し中、および、MB遊技中またはBB遊技中に、複数の役に対応する当選フラグがオン状態となった場合は、それらのうち、いずれの役でも成立させることができる状態となる。例えば、ボーナスフラグの持ち越し中は、1回の単位遊技において、持越し中の特別役と小役、または、持越し中の特別役と再遊技役の、当選フラグがオン状態となり得る。この場合、リール停止制御手段4342は、持越し中の特別役と小役の当選フラグが共にオンになっているときは、持越し中の特別役を優先的に成立させるリール停止制御を行い、持越し中の特別役と再遊技役の当選フラグが共にオンになっているときは、再遊技役を優先的に成立させるリール停止制御を行う。
また、BB遊技中の役抽選で、小役2aと小役4が同時に当選(抽選結果番号「3」が導出)した場合には、小役2aを優先的に成立させるリール停止制御を行う。
さらに、MB遊技中は、最初に停止したリールにおいて、上段U,中段M,下段Lのいずれかに、小役に対応する図柄組合せを構成する図柄が停止表示された場合は、その小役が入賞するように、残りのリールについて停止制御を行う。ここで、前述したように小役1a以外の小役は、取りこぼしが生じる可能性が有るため、リール停止制御手段4342は、小役1aが入賞するようなリール停止制御を行う。例えば、遊技者が左リール40Lを最初に停止させた場合において、表示窓22内に「ベル」図柄と、「スイカ」図柄または「BAR」図柄が停止表示された場合は、小役1aと、小役3または小役4のいずれか一つの役が入賞する可能性がある。この場合、小役3または小役4は取りこぼしが生じる可能性が有るため、リール停止制御手段4342は、小役1aが入賞するようなリール停止制御を行う。また、遊技者が左リール40Lを最初に停止させた場合において、表示窓22内に「チェリー」図柄が停止表示されたときは、リール停止制御手段4342は、小役2aと小役1aとを重複入賞させないために、小役2aのみが入賞するように中リール40Lおよび右リール40Rの停止制御を行う。
さらに、MB遊技中は、最初に停止したリールにおいて、上段U,中段M,下段Lのいずれかに、小役に対応する図柄組合せを構成する図柄が停止表示された場合は、その小役が入賞するように、残りのリールについて停止制御を行う。ここで、前述したように小役1a以外の小役は、取りこぼしが生じる可能性が有るため、リール停止制御手段4342は、小役1aが入賞するようなリール停止制御を行う。例えば、遊技者が左リール40Lを最初に停止させた場合において、表示窓22内に「ベル」図柄と、「スイカ」図柄または「BAR」図柄が停止表示された場合は、小役1aと、小役3または小役4のいずれか一つの役が入賞する可能性がある。この場合、小役3または小役4は取りこぼしが生じる可能性が有るため、リール停止制御手段4342は、小役1aが入賞するようなリール停止制御を行う。また、遊技者が左リール40Lを最初に停止させた場合において、表示窓22内に「チェリー」図柄が停止表示されたときは、リール停止制御手段4342は、小役2aと小役1aとを重複入賞させないために、小役2aのみが入賞するように中リール40Lおよび右リール40Rの停止制御を行う。
<入賞判定手段の説明>
入賞判定手段436は、リール40L,40C,40Rがすべて停止すると、表示窓22に表示された9つの図柄の種類を判別し、有効ラインL1〜L5の各々に沿って停止表示された各図柄組合せが、何らかの役に対応しているか否かに応じて、何らかの役が成立したか否かの判定(入賞判定)を行う。
入賞判定手段436は、リール40L,40C,40Rがすべて停止すると、表示窓22に表示された9つの図柄の種類を判別し、有効ラインL1〜L5の各々に沿って停止表示された各図柄組合せが、何らかの役に対応しているか否かに応じて、何らかの役が成立したか否かの判定(入賞判定)を行う。
<入賞処理手段の説明>
入賞処理手段438は、入賞判定手段436によりいずれかの小役が入賞したと判定された場合、スロットマシン10の内部に設けられているホッパー(図示略)を駆動して、図7に示した配当情報に従い、入賞した小役に対応する枚数のメダルを払い出すための制御を行う。また、入賞判定を行った後は、オン状態になっている小役または再遊技役に対応する当選フラグをオフ状態にし、特別役が成立したときは、当該特別役に対応する当選フラグをオフ状態にする。
入賞処理手段438は、入賞判定手段436によりいずれかの小役が入賞したと判定された場合、スロットマシン10の内部に設けられているホッパー(図示略)を駆動して、図7に示した配当情報に従い、入賞した小役に対応する枚数のメダルを払い出すための制御を行う。また、入賞判定を行った後は、オン状態になっている小役または再遊技役に対応する当選フラグをオフ状態にし、特別役が成立したときは、当該特別役に対応する当選フラグをオフ状態にする。
<特別遊技実行手段の説明>
特別遊技実行手段440は、通常遊技中に特別役が成立した場合、次の単位遊技から、単位遊技実行手段430によって、成立した特別役に対応した特別遊技における単位遊技を実行させる。具体的には、BB役が成立したときは、遊技状態を「BB遊技」に更新し、次の単位遊技から役抽選手段432が図8(b)に示す役抽選テーブルに基づいて役抽選を行うように制御する。
また、MB役が成立した場合は、遊技状態を「MB遊技」に更新し、次の単位遊技から、役抽選によらずに強制当選手段4328によって全ての小役に対応する当選フラグをオン状態にさせる。また、リール停止制御手段4342において、左リール40Lの停止制御については、停止指示信号が出力されてから75ミリ秒以内にリールの回転を停止させるように切り替えさせる。
特別遊技実行手段440は、通常遊技中に特別役が成立した場合、次の単位遊技から、単位遊技実行手段430によって、成立した特別役に対応した特別遊技における単位遊技を実行させる。具体的には、BB役が成立したときは、遊技状態を「BB遊技」に更新し、次の単位遊技から役抽選手段432が図8(b)に示す役抽選テーブルに基づいて役抽選を行うように制御する。
また、MB役が成立した場合は、遊技状態を「MB遊技」に更新し、次の単位遊技から、役抽選によらずに強制当選手段4328によって全ての小役に対応する当選フラグをオン状態にさせる。また、リール停止制御手段4342において、左リール40Lの停止制御については、停止指示信号が出力されてから75ミリ秒以内にリールの回転を停止させるように切り替えさせる。
さらに、BB遊技中およびMB遊技中は、払い出したメダルの合計枚数をカウントしており、各々の終了条件となっている払出枚数(BB遊技は344枚、MB遊技は105枚)を超えると、遊技状態を「通常遊技」に更新する。
<遊技進行制御手段の説明>
遊技進行制御手段450は、乱数異常判定手段426が、乱数の値が正常に更新されていないと判定した場合に、抽選用乱数判定手段4324による乱数の異常判定結果に応じて、単位遊技の進行を制御する。基本的には、単位遊技が行われているときに、乱数異常判定手段426が乱数に異常が生じたと判定した場合において、抽選用乱数判定手段4324においても乱数に異常が生じたと判定されていたときは、直ちに単位遊技を停止させる。一方、抽選用乱数判定手段4324が乱数に異常が生じたと判定していなかったときは、その単位遊技が終了するまでは遊技を継続させる。
遊技進行制御手段450は、乱数異常判定手段426が、乱数の値が正常に更新されていないと判定した場合に、抽選用乱数判定手段4324による乱数の異常判定結果に応じて、単位遊技の進行を制御する。基本的には、単位遊技が行われているときに、乱数異常判定手段426が乱数に異常が生じたと判定した場合において、抽選用乱数判定手段4324においても乱数に異常が生じたと判定されていたときは、直ちに単位遊技を停止させる。一方、抽選用乱数判定手段4324が乱数に異常が生じたと判定していなかったときは、その単位遊技が終了するまでは遊技を継続させる。
さらにこの場合、MB遊技中だった場合は、そのMB遊技が終了するまで引き続き単位遊技を続行させる。また、通常遊技中ではあるが、MB役の当選フラグが持越し中だった場合は、MB遊技が開始されて終了するまで、単位遊技を続行させる。これに対して、通常遊技中であり、かつ、MB役の当選フラグが持越し中でなかった場合は、その単位遊技の終了後、次の単位遊技が開始されないように制御する。
≪副制御回路の説明≫
副制御回路200は、演出手段600において実行される演出の内容を抽選によって決定すると共に、決定した演出内容が実行されるように、演出手段600を制御しており、演出内容決定手段510および演出制御手段520を有している。
副制御回路200は、演出手段600において実行される演出の内容を抽選によって決定すると共に、決定した演出内容が実行されるように、演出手段600を制御しており、演出内容決定手段510および演出制御手段520を有している。
<演出内容決定手段の説明>
演出内容決定手段510は、乱数発生手段512と、抽選テーブル記憶手段514とを有し、乱数発生手段512によって生成された乱数と、抽選テーブル記憶手段514に記憶されている演出抽選テーブルとに基づいて、演出手段600で実行する演出の内容を決定する。乱数発生手段512は、回転指示手段310から遊技開始信号が出力されたことを契機として、0〜65535の数値範囲内の乱数値(整数)を発生させる。この乱数発生手段512は、ハードウェア乱数発生器によって実現してもよいし、所定の数式に基づいて擬似乱数を生成する演算処理によって実現してもよい。
演出内容決定手段510は、乱数発生手段512と、抽選テーブル記憶手段514とを有し、乱数発生手段512によって生成された乱数と、抽選テーブル記憶手段514に記憶されている演出抽選テーブルとに基づいて、演出手段600で実行する演出の内容を決定する。乱数発生手段512は、回転指示手段310から遊技開始信号が出力されたことを契機として、0〜65535の数値範囲内の乱数値(整数)を発生させる。この乱数発生手段512は、ハードウェア乱数発生器によって実現してもよいし、所定の数式に基づいて擬似乱数を生成する演算処理によって実現してもよい。
また、抽選テーブル記憶手段514は、演出手段600において実行され得る各演出内容に、乱数発生手段512が発生し得る乱数値を適宜対応付けてなる、演出抽選テーブルを記憶している。これにより、演出内容決定手段510は、演出抽選テーブルにおいて、乱数発生手段512によって発生された乱数値が対応付けられている演出内容を、実行すべき演出内容と定める。
<演出制御手段の説明>
演出制御手段520は、演出データ記憶手段522を有し、演出内容決定手段510で決定された演出内容が実行されるように、演出手段600を駆動制御する。演出データ記憶手段522は、演出内容決定手段510で決定され得る各演出内容を実行するための画像(動画または静止画)データ、効果音または楽音データ、および上部演出ランプ72の点滅パターンデータを記憶している。これにより、演出制御手段520は、演出内容決定手段510において決定された演出内容に対応する各種データを、演出データ記憶手段522から読み出し、それら各種データに基づいて表示装置70、スピーカ64L,64Rおよび上部演出ランプ72を駆動制御する。
演出制御手段520は、演出データ記憶手段522を有し、演出内容決定手段510で決定された演出内容が実行されるように、演出手段600を駆動制御する。演出データ記憶手段522は、演出内容決定手段510で決定され得る各演出内容を実行するための画像(動画または静止画)データ、効果音または楽音データ、および上部演出ランプ72の点滅パターンデータを記憶している。これにより、演出制御手段520は、演出内容決定手段510において決定された演出内容に対応する各種データを、演出データ記憶手段522から読み出し、それら各種データに基づいて表示装置70、スピーカ64L,64Rおよび上部演出ランプ72を駆動制御する。
[主制御回路における制御処理の説明]
次に、上述した主制御回路100において、乱数発生装置112が生成する乱数の異常を検出するための処理について、フローチャートを参照して詳細に説明する。
その前に、まず、スロットマシン10で実行される遊技について、主制御回路100が行っている処理の内容を、図9に示すメインルーチンのフローチャートを参照して説明する。このメインルーチンでは、主に遊技者が遊技媒体を投入して、リール40L,40C,40Rを回転させて停止させるまでを1回の遊技とする制御処理を示す。
次に、上述した主制御回路100において、乱数発生装置112が生成する乱数の異常を検出するための処理について、フローチャートを参照して詳細に説明する。
その前に、まず、スロットマシン10で実行される遊技について、主制御回路100が行っている処理の内容を、図9に示すメインルーチンのフローチャートを参照して説明する。このメインルーチンでは、主に遊技者が遊技媒体を投入して、リール40L,40C,40Rを回転させて停止させるまでを1回の遊技とする制御処理を示す。
≪メインルーチンの説明≫
スロットマシン10の電源を投入すると、CPU106は、所定の初期化処理を行い、RAM110に記憶される各種フラグや制御データの初期値を設定する(ステップS1)。次に、CPU106は、RAM110に記憶されている再遊技成立フラグがオンになっているか否かを判断する(ステップS2)。この再遊技成立フラグは、前回の遊技で再遊技役が成立したときにオンにされるフラグである。再遊技成立フラグがオフになっている(NO)と判断した場合、CPU106は単位遊技を開始するためのメダル投入処理を、遊技者の操作に応じて行う(ステップS3)。
スロットマシン10の電源を投入すると、CPU106は、所定の初期化処理を行い、RAM110に記憶される各種フラグや制御データの初期値を設定する(ステップS1)。次に、CPU106は、RAM110に記憶されている再遊技成立フラグがオンになっているか否かを判断する(ステップS2)。この再遊技成立フラグは、前回の遊技で再遊技役が成立したときにオンにされるフラグである。再遊技成立フラグがオフになっている(NO)と判断した場合、CPU106は単位遊技を開始するためのメダル投入処理を、遊技者の操作に応じて行う(ステップS3)。
すなわち、遊技者によってベットスイッチ34または35が操作されると、CPU106は、RAM110に記憶されているクレジット数の値が、操作されたベットスイッチに対応するメダル枚数(以下、投入枚数という)の値以上であった場合に、RAM110に記憶されているクレジット数の値から、投入枚数の値を減算する。そして、CPU106は、投入枚数の値を、RAM110に記憶されているベット数の値に加算し、加算後のベット数の値に応じて、図1に示したベット数表示ランプ26a,26b,26cの点灯状態を更新する。また、併せて、ベット数の値を表す遊技媒体投入情報を、図4に示した接続線120を介して副制御回路200へ送信する。
また、ベットスイッチ34または35が操作されなかった場合は、CPU106は、メダル投入口32からメダルが投入されたか否かを判断し、メダル投入口32の内部に設置されたメダルセレクタのセンサによって、メダル投入口32から投入されたメダルが検出された場合は、RAM110に記憶されているベット数の値に「1」を加算するとともに、ベット数の値を表す遊技媒体投入情報を副制御回路200へ送信する。
以上のメダル投入処理を行うと、次にCPU106は、RAM110に記憶されているベット数の値が規定数(通常遊技中は3枚、特別遊技中は2枚)になったか否かを判断し(ステップS4)、規定数に達していない(NO)と判断した場合は、ステップS2へ戻り、達した(YES)と判断した場合は、遊技者によってスタートスイッチ36が操作されたか否かを判断する(ステップS5)。なお、メダルの投入枚数が規定数に達している状態で(ステップS4,YES)、メダル投入口32からメダルが投入された場合、CPU106は、ステップS3のメダル投入処理において、RAM110に記憶されているクレジット数の値に投入されたメダルの枚数を加算する。
一方、前述したステップS2において、CPU106が、再遊技成立フラグがオンになっている(YES)と判断した場合は、直ちにステップS5へ進み、遊技者によってスタートスイッチ36が操作されたか否かを判断する。これにより、再遊技役が成立した次の遊技では、メダルを新たに投入し、またはクレジットされているメダルを消費することなく、再び遊技を行うことができる。なお、再遊技におけるベット数は、RAM110に記憶されている前回の遊技で投入されたベット数となる。
ステップS5において、CPU106は、スタートスイッチ36が遊技者によって操作されたことによって出力される遊技開始信号を受信したか否かを判断する。遊技開始信号を受信しておらず、遊技者によってスタートスイッチ36が操作されていない(NO)と判断した場合は、再度ステップS2の処理へ戻る。このように、遊技者によってスタートスイッチが操作されるまで、ステップS2→S3→S4→S5(再遊技の場合はステップS2→S5)の処理を繰り返し行う。
ステップS5において、CPU106が遊技開始信号を受信したことにより、遊技者によってスタートスイッチ36が操作された(YES)と判断すると、ステップS6で再遊技成立フラグをオフにした後、図3および図5に示した乱数発生装置112から、役抽選を行うための抽選用乱数を取得するための乱数取得処理を行う(ステップS7)。この乱数取得処理においては、上述した抽選用乱数を取得するための処理の他に、乱数発生装置112によって生成された乱数に異常が生じたか否かを判定するための処理も行っており、この判定の結果、乱数に異常が発生した可能性が認められた場合は、乱数準異常検出情報を図4に示した接続線120を介して副制御回路200へ送信する。この乱数取得処理の内容については、後に詳しく説明する。
ステップS7の乱数取得処理を終えると、次にCPU106は、役抽選処理を実行する(ステップS8)。すなわち、ROM108に記憶されている図8に示した役抽選テーブルの中から、現在の遊技状態(通常遊技またはBB遊技)に応じた役抽選テーブルを選択し、選択した役抽選テーブルと、ステップS7の乱数取得処理によって取得された抽選用乱数と、に基づいて役抽選を行う。そして、役抽選の結果、何らかの役が当選した場合は、RAM110に記憶されている各役に対応する当選フラグのうち、当選役となった役の当選フラグをオンにする。また、CPU106は、役抽選の結果(ハズレまたは当選役の種類)を示す役抽選結果情報を、図4に示した接続線120を介して副制御回路200へ送信する。これにより副制御回路200では、受信した役抽選結果情報に基づいて、実行する演出内容を決定するための抽選を行う等の処理が行われる。
なお、現在の遊技状態がMB遊技中だった場合は、ステップS8の役抽選処理において、CPU106は、小役1a,1b,2a,2b,3,4の当選フラグを役抽選によらずにオンにする。
次にCPU106は、リール40L,40C,40Rを回転させ、遊技者によるストップスイッチ37L,37C,37Rの操作と、ステップS8の処理で行われた役抽選の結果とに基づいて、各リールの停止制御を行うためのリール変動・停止処理を行う(ステップS9)。このリール変動・停止処理において、CPU106は、まず、モータ駆動回路114(図5参照)への駆動パルスの出力を開始し、ステッピングモータ80L、80C、および80Rを駆動し、リール40L,40C,40Rを一斉に回転させる。ただし、この時点で、前回の遊技でリールが回転を開始してから所定の待機時間(4.1秒間とする)が経過していなかった場合は、当該待機時間が経過してからリール40L,40C,40Rを一斉に回転させる。そして、リール回転速度が所定の定常回転速度(例えば、約80回転/分)に達すると、ストップスイッチ37L,37C,37Rの操作を行うことが可能となる。
ここで、モータ駆動回路114へ駆動パルスを出力する処理(以下、回転駆動処理という)は、1.49ミリ秒ごとに実行される割込処理(後述する)によって行われている。この回転駆動処理では、各リールが停止している状態(回転速度が0)から所定の加速期間を経て、定常回転速度へ至るように、モータ駆動回路114に駆動パルスが出力されている。すなわち、上述した加速期間においては、モータ駆動回路114へ出力する駆動パルスの時間間隔を徐々に狭めていき、最終的に1回の割込処理で1つの駆動パルスを出力している。例えば、最初の駆動パルスを出力してから90回の割込処理(1.49ミリ秒×90=134.10ミリ秒)を行った後に2つ目の駆動パルスを出力し、さらに、15回の割込処理(1.49ミリ秒×15=22.35ミリ秒)を行った後に3つ目の駆動パルスを出力する、というように徐々に駆動パルスの出力間隔を狭めていく。そして、最終的には各割込処理ごとに1つの駆動パルスを出力する。このとき、ステッピングモータ80R,80C,80Rの一回転当たりのステップ数が504であれば、回転速度は、1/(504×1.49×10−3)×60≒79.9回転/分となる。なお、本実施形態では、上述した加速期間を247.34ミリ秒(割込処理166回分)としている。
遊技者によってストップスイッチ37L,37C,37Rのいずれかが操作されると、操作されたストップスイッチに対応するリールについて、各当選フラグのオン/オフ状態と、ストップスイッチが操作されたタイミングとに応じたリール停止制御を行う。なお、このリール停止制御の内容は、図5に示したリール停止制御手段4342が行うリール停止制御と同様である。
また、CPU106は、遊技者によってストップスイッチが操作されるごとに、どのストップスイッチが操作されたのかを表す停止操作情報を、副制御回路200へ送信し、すべてのリールが停止したときには、その旨を示す全リール停止情報を副制御回路200へ送信する。これにより副制御回路200では、停止操作情報の受信を契機として、実行中の演出内容を切り替えていくなど、演出や各種報知に関する制御が行われる。
ステップS9で、リール変動・停止処理が行われたことによって、リール40L,40C,40Rがすべて停止すると、次にCPU106は、何らかの役が成立したか否かを判定し、その判定結果に応じて遊技状態の移行処理などを行う入賞判定処理を行う(ステップS10)。すなわち、CPU106は、リール表示窓22に停止表示された9つの図柄を識別し、有効ラインL1〜L5に停止表示された各図柄組合せを認識する。そして、図7に示した配当情報に基づいて、何らかの役が成立したか否かを判断する。ここで、通常遊技中にMB役またはBB役が成立したときは、遊技状態を「通常遊技」から成立した役に応じて「MB遊技」または「BB遊技」へ移行させる。また、「通常遊技」において再遊技役が成立した場合は、RAM110に記憶されている再遊技成立フラグのオン/オフ状態をオンにする。さらに、遊技状態が「MB遊技」または「BB遊技」だった場合は、実行中の特別遊技の終了条件が成立したか否かを判断し、終了条件が成立した場合は、遊技状態を「通常遊技」に更新する。また、小役が入賞したと判定された場合は、入賞した小役に対応する払出枚数(図7参照)を、RAM110の所定の記憶領域に記憶する。
以上のように、入賞判定および遊技状態の移行制御を行うと、CPU106は、副制御回路200に対して、成立した役の種類またはハズレを示す遊技結果情報と、遊技の結果に応じた現在の遊技状態を示す遊技状態情報を送信する。また、CPU106は、RAM110に記憶されている各小役および再遊技役に対応する当選フラグをオフ状態にする。また、BB役およびMB役に対応する当選フラグがオンになっている場合は、その当選フラグに対応する特別役が成立するまでオン状態を維持し、その特別役が成立したときにオフにする。これによってボーナスフラグの持越しが実現される。
次にCPU106は、ステップS10の入賞判定処理において、RAM110の所定の記憶領域に、メダルの払出枚数が記憶されているか否かを判断する(ステップS11)。RAM110にメダルの払出枚数が記憶されていたとき(YES)は、CPU106は、その枚数のメダルを遊技者へ払い出すための払い出し処理(ステップS12)を行う。この払い出し処理は、スロットマシン10の内部に収容されたホッパーを駆動して、メダルをメダル払出口60から払い出すことも可能であるし、払い出すメダルの枚数をRAM110に記憶されているクレジット数に加算して、クレジットすることも可能である。なお、ステップS12の払い出し処理を行うCPU106は、図5に示した入賞処理手段438に相当する。
ステップS12の払い出し処理を終えると、次にCPU106は、RAM110の所定の記憶領域に記憶されている終了フラグの状態がオンになっているか否かを判断する(ステップS13)。ここで、前述したステップS11で、CPU106が、RAM110の所定の記憶領域に、メダルの払出枚数が記憶されていない(NO)と判断したときは、直ちにステップS13の処理を行う。この終了フラグは、後述する乱数チェック処理において、乱数発生装置112が発生する乱数に異常が生じたと判断されたときにオンとなるフラグであり、そのオン/オフ状態は、RAM110の所定の記憶領域に記憶されている。
ステップS13において、終了フラグがオフになっている(NO)とCPU106が判断したときは、ステップS2の処理へ戻り、次の単位遊技を行うためのメダル投入処理などを行う。これに対して、終了フラグがオンになっている(YES)と判断したときは、次にCPU106は、継続フラグがオンになっているか否かを判断する(ステップS14)。この継続フラグは、後述する乱数チェック処理において、乱数発生装置112が発生する乱数に異常が生じたと判断されたときに、ステップS7の乱数取得処理によって取得された抽選用乱数が正常に発生されたものであった場合にオンとなるフラグである。この継続フラグのオン/オフ状態も、RAM110の所定の記憶領域に記憶されている。
ステップS14において、継続フラグがオンになっている(YES)とCPU106が判断したときは、ステップS2の処理へ戻り、次の単位遊技を行うためのメダル投入処理などを行う。これに対して、継続フラグがオフになっている(NO)と判断したときは、ステップS2へ戻らず、次の単位遊技を開始できない状態にする。この状態から再び遊技に関する制御を開始させるには、スロットマシン10の電源を一旦オフにして、後述する図26の電源断処理を行い、その後、電源をオンにして後述する図27の電源投入処理を行う必要がある。
このように、CPU106は、終了フラグがオフになっているときはステップS2〜S13の処理を繰り返し実行することで、遊技者は単位遊技を継続して行うことができる。また、終了フラグがオンになった場合であっても、継続フラグがオンになっていた場合は、引き続き単位遊技を行うことができる。
≪乱数取得処理の説明≫
次に、図9に示したメインルーチンのステップS7で実行される乱数取得処理の詳細な内容について、図10に示すフローチャートを参照して説明する。
CPU106が図9に示したメインルーチンのステップS7の処理に移行すると、図10に示す乱数取得処理を開始する。まず、CPU106は、RAM110に記憶されている異常検出用乱数取得無効フラグのオン/オフ状態を、オンにする(ステップS100)。この異常検出用乱数取得無効フラグは、後述する割込処理内で実行される乱数チェック処理を実行するか否かを指定するフラグであり、オフになっているときは乱数チェック処理が実行されるが、オンになっているときは実行されない。後述するように、乱数チェック処理では、基本的に割込信号の周期ごとに乱数の取得を行っているが、ステップS100のような判断処理を行うことにより、図10の乱数取得処理で乱数を取得する際に、乱数チェック処理に影響されることなく、確実に乱数を取得することができる。
次に、図9に示したメインルーチンのステップS7で実行される乱数取得処理の詳細な内容について、図10に示すフローチャートを参照して説明する。
CPU106が図9に示したメインルーチンのステップS7の処理に移行すると、図10に示す乱数取得処理を開始する。まず、CPU106は、RAM110に記憶されている異常検出用乱数取得無効フラグのオン/オフ状態を、オンにする(ステップS100)。この異常検出用乱数取得無効フラグは、後述する割込処理内で実行される乱数チェック処理を実行するか否かを指定するフラグであり、オフになっているときは乱数チェック処理が実行されるが、オンになっているときは実行されない。後述するように、乱数チェック処理では、基本的に割込信号の周期ごとに乱数の取得を行っているが、ステップS100のような判断処理を行うことにより、図10の乱数取得処理で乱数を取得する際に、乱数チェック処理に影響されることなく、確実に乱数を取得することができる。
次にCPU106は、スロットマシン10の内部に設置されたメダルセレクタにおけるブロッカをオフにする(ステップS102)。これにより、メダル投入口32(図1参照)にメダルが投入されても、直ちにメダル払出口60から排出され、メダルの投入を受け付けない状態になる。次にCPU106は、図9に示したメインルーチンの処理とは別に、定期的に実行している割込処理を禁止する(ステップS104)。CPU106は、この割込処理を、例えば1.49ミリ秒ごとに外部から供給される割込信号に応じて実行しており、1回の割込処理において、前述した遊技開始信号や停止指示信号のように外部から入力される信号のチェック、ステッピングモータ80L,80C,80Rの駆動制御、後述する乱数チェック処理および異常発生処理などの各種処理を行っている。ただし、上述したステップS104で割込処理が禁止されているときに、外部から割込信号が供給された場合、CPU106は、その割込信号に応じて割込処理を行わない。
次にCPU106は、入出力バス104のデータバスDAT(8ビット幅)を介して、乱数発生装置112が生成した16ビットの乱数のうち、下位8ビットの値を取得し(ステップS106)、次いで上位8ビットの値を取得する(ステップS108)。ステップS106およびS108によって取得された下位8ビット、上位8ビットの乱数は、各々、CPU106のレジスタまたはRAM110の所定の記憶領域に記憶され、抽選用乱数として図9のステップS32における役抽選処理に利用される。このように、乱数発生装置112によって生成される乱数は16ビットであるが、データバスDATのバス幅が8ビットであるため、CPU106は、16ビットの乱数を、下位8ビットと上位8ビットとの2回に分けて取得している。また、乱数生成装置112においては、CPU106が、乱数の下位8ビットを取得してから、上位8ビットを取得するまでの間に、CPU106が取得する乱数値を更新してしまわないように、例えば、16ビットのデータラッチ回路などによって、遊技者がスタートスイッチ36を操作したタイミングに基づいて、生成した16ビットの乱数値を保持しておく必要がある。次にCPU106は、ステップS104で禁止した割込処理を許可する(ステップS110)。これにより、ステップS110の処理以降、外部から割込信号が供給された場合、CPU106は、その割込信号に応じて上述した割込処理を実行する。
次にCPU106は、RAM110に記憶されている乱数異常判定回数nの値を「2」にセットする(ステップS112)。この乱数異常判定回数nは、乱数発生装置112で生成された乱数に異常が発生している可能性が有るか否かの判定を行う残りの回数を示すものである。すなわち、図10に示す乱数取得処理では、上述した乱数異常判定を基本的には2回行うことになる。次にCPU106は、RAM110に記憶されている乱数準異常検出情報の内容を「正常」に設定する(ステップS114)。乱数準異常検出情報は、乱数発生装置112で生成された乱数に異常が発生している可能性が有るか否かを示す情報であり、その内容が「正常」のときは、生成された乱数が正常であることを意味し、「異常」のときは、生成された乱数が異常である可能性があることを意味する。
次にCPU106は、乱数異常判定回数nの値が「2」であるか否かを判断する(ステップS116)。そして、乱数異常判定回数nの値が「2」である(YES)と判断したときは、前回取得した抽選用乱数を比較乱数と定める(ステップS118)。ここで、前回取得した抽選用乱数とは、前回の遊技で、遊技者がスタートスイッチ36を操作したことによって、図10に示す乱数取得処理が行われた際に取得された抽選用乱数をいう。この抽選用乱数は、前回の遊技で実行された図10の乱数取得処理におけるステップS132の処理(後述する)によって、RAM110に記憶されたものである。また、比較乱数とは、ステップS106およびS108の処理によって取得された抽選用乱数(以下、今回取得された抽選用乱数という)と、比較される乱数をいう。
ステップS118の処理によって、前回取得された抽選用乱数が比較乱数と定められると、CPU106は、まず、比較乱数の下位8ビットの値と、今回取得された抽選用乱数の下位8ビットの値とが、一致したか否かを判断する(ステップS120)。CPU106が、両者の値が一致した(YES)と判断したときは、次に、比較乱数の上位8ビットの値と、今回取得された抽選用乱数の上位8ビットの値とが、一致したか否かを判断する(ステップS122)。そして、CPU106が、両者の値が一致した(YES)と判断したときは、前回取得した抽選用乱数の値と、今回取得した抽選用乱数の値が同じであることを意味する。この場合、CPU106は、乱数異常判定回数nの値を「1」減算し(ステップS124)、乱数異常判定回数nの値が「0」になったか否かを判断する(ステップS126)。
これに対して、CPU106がステップS120またはS122の処理で、両者の値が一致しなかった(NO)と判断したときは、後述するステップS132の処理に直ちに移行する。ここで、ステップS120またはS122の処理で、両者の値が一致しなかったと判断された場合は、乱数発生装置112において、乱数値の更新が行われていることになるため、乱数が正常に生成されているものとみなす。
ステップS126の処理において、CPU106が乱数異常判定回数nの値が「0」ではない(NO)と判断したときは、再度、ステップS120およびS122の処理による比較を行うべく、ステップS116の処理へ戻る。この場合、乱数異常判定回数nの値は「1」になっているので、ステップS116の判断結果はNOとなり、CPU106は、直前に取得した異常検出用乱数を比較乱数と定める(ステップS128)。ここで、異常検出用乱数は、前述した割込処理内で実行される乱数チェック処理(後述する)で取得される乱数である。また、「直前に取得した異常検出用乱数」とは、図10の乱数取得処理が行われる以前の乱数チェック処理のうち、直近に実行された乱数チェック処理で取得された異常検出用乱数をいう。
ステップS128の処理によって、ステップS120およびS122では、直前に取得した異常検出用乱数の値と、今回取得された抽選用乱数の値との比較を行うことになる。そして、この比較を行った結果、CPU106がステップS120またはS122の処理で、両者の値が一致しなかった(NO)と判断したときは、後述するステップS132の処理に直ちに移行する。これに対して、ステップS120およびS122の処理で、いずれも両者の値が一致した(NO)と判断したときは、ステップS124の処理で乱数異常判定回数nの値(このときは「1」になっている)が「1」減算される。これにより、ステップS126の判断結果がYESとなり、CPU106は、ステップS114で「正常」にセットした乱数準異常情報の内容を「異常」に更新する(ステップS130)。
そして、CPU106は、ステップS106およびS108で取得した抽選用乱数を、次に乱数取得処理を行う際の「前回取得した抽選用乱数」とすべく、RAM110に記憶する(ステップS132)。ここで、CPU106が、ステップS120またはS122の判断処理でNOと判断したときは、直ちにステップS132の処理へ移行するため、ステップS130の処理によって乱数準異常情報の内容が「異常」に更新されない。よって、乱数準異常情報の内容は、ステップS114の処理によってセットされた「正常」が維持される。次いでCPU106は、ステップS100でオン状態にした異常検出用乱数取得無効フラグをオフ状態にして(ステップS134)、図10に示す乱数取得処理を終了し、図9のステップS8の役抽選処理に移行する。
ここで、上述した乱数取得処理のステップS116〜S130の処理による乱数の異常判定の流れについて、図11に示すタイミングチャートを参照して説明する。図11において、Fは1つの乱数周期を示し、RST0は今回取得された抽選用乱数、RST(−1)は前回取得された抽選用乱数、RINT0は直前に取得された異常検出用乱数を示している。また、図11において、各抽選用乱数および異常検出用乱数に対応して図示された矢印は、その乱数が取得されたタイミングを示している。
まず、図10のステップS106およびS108の処理によって抽選用乱数RST0が取得されると、図11(a)に示すように、最初の乱数の異常判定では、ステップS120およびS122において、前回取得された抽選用乱数RST(−1)の値との比較が行われる。このとき、両者の値が一致しなければ、ステップS120またはS122の判断結果がNOとなって、乱数準異常検出情報の内容は「正常」のまま、ステップS132の処理へ移行することになる。
これに対して、図11(b−1)に示すように、最初の乱数の異常判定において、ステップS120およびS122の処理により、今回取得された抽選用乱数RST0の値と、前回取得された抽選用乱数RST(−1)の値とが一致したと判断されたときは(ステップS122,YES)、ステップS124の処理によって乱数異常判定回数nの値が「1」となり、ステップS126における判断の結果、ステップ116へ戻り、2回の異常判定が行われることになる。この場合、ステップS116の判断結果がNOとなるため、ステップS128の処理により、今回取得された抽選用乱数RST0との比較対象は、直前に取得された異常検出用乱数RINT0となる。
ここで、直前に取得された異常検出用乱数RINT0が、図11(b−2)の実線で示すように、今回取得された抽選用乱数RST0と同じ乱数周期内で取得されていたとすると、ステップS120またはS122の判断処理によって、両者の値が一致したと判断された場合は、乱数発生装置112によって生成された乱数に異常が生じたと断定することができる。しかしながら、直前に取得された異常検出用乱数RINT0が、図11(b−2)の破線で示すように、今回取得された抽選用乱数RST0と異なる乱数周期で取得されていた場合は、両者の値が一致したとしても、乱数発生装置112によって生成された乱数が正常な場合があり得る。
すなわち、乱数発生器112は、図6(a)および(b)に示した各テーブル(厳密には、これらのテーブルの内容に則して、16ビットの乱数発生用に拡張させたテーブル)に基づいて乱数値を更新しているため、クロック信号に応じて更新される乱数値の順序は、各乱数周期Fごとに異なっている。このため、今回取得された抽選用乱数RST0と、直前に取得された異常検出用乱数RINT0とが、異なる乱数周期で取得されていた場合は、極めて低い確率ではあるが、乱数発生装置112が正常に作動していても、偶然同じ値が取得される場合がある。
このため、2回目の異常判定において、ステップS120およびS122の処理で、今回取得された抽選用乱数RST0の値と、直前に取得された異常検出用乱数RINT0の値とが一致し(ステップS122,YES)、ステップS130において、乱数準異常検出情報の内容が「異常」に更新されたとしても、正常である可能性を完全には排除できない。故に、図10の乱数取得処理による異常検出情報は、「乱数“準”異常検出情報」となっており、仮に乱数準異常検出情報の内容が「異常」であっても、扱いとしては「準異常」となる。そこで、より正確な異常判定を行うために、スロットマシン10では、次に説明する乱数チェック処理を行っている。
≪乱数チェック処理の説明≫
次に、CPU106が、1.49ミリ秒ごとに外部から供給される割込信号に応じて実行する割込処理の中で行われる、乱数チェック処理の詳細な内容について、図12に示すフローチャートを参照して説明する。なお、上述した割込処理では、以下に説明する乱数チェック処理の他にも、前述したモータ駆動回路114(図5参照)へ駆動パルスを出力する処理、スタートスイッチ36およびストップスイッチ37L,37C,37Rを含む操作手段300からの信号を読み取る処理、および後述する異常発生処理などの各種処理も行われている。
次に、CPU106が、1.49ミリ秒ごとに外部から供給される割込信号に応じて実行する割込処理の中で行われる、乱数チェック処理の詳細な内容について、図12に示すフローチャートを参照して説明する。なお、上述した割込処理では、以下に説明する乱数チェック処理の他にも、前述したモータ駆動回路114(図5参照)へ駆動パルスを出力する処理、スタートスイッチ36およびストップスイッチ37L,37C,37Rを含む操作手段300からの信号を読み取る処理、および後述する異常発生処理などの各種処理も行われている。
まず、CPU106は、RAM110に記憶されている異常検出用乱数取得無効フラグの状態が、オンになっているか否かを判断する(ステップS200)。異常検出用乱数取得無効フラグの状態がオンになっていた場合(YES)は、図10に示した乱数取得処理が行われているものとみなして、直ちに乱数チェック処理を終了する。これに対して、異常検出用乱数取得無効フラグの状態がオンになっていた場合(YES)、CPU106は、入出力バス104のデータバスDATを介して、乱数発生装置112が生成した16ビットの乱数のうち、下位8ビットの値を取得し(ステップS201)、次いで上位8ビットの値を取得する(ステップS202)。これにより、下位8ビット、上位8ビットに分けて取得された16ビットの乱数は、異常検出用乱数として、後述するステップS204およびS205における比較処理に用いられる。なお、ステップS201およびS202の処理によって取得された異常検出用乱数を、以下では、今回取得された異常検出用乱数という。
次にCPU106は、RAM110に記憶されている乱数異常検出情報の内容を「正常」に設定する(ステップS203)。乱数異常検出情報は、乱数発生装置112で生成された乱数に異常が発生したか否かを示す情報であり、その内容が「正常」のときは、生成された乱数が正常であることを意味し、「異常」のときは、生成された乱数が異常であることを意味する。
次にCPU106は、RAM110に記憶されている前回取得された異常判定用乱数の下位8ビットの値と、ステップS201の処理によって取得された異常判定用乱数の下位8ビットの値とが、一致したか否かを判断する(ステップS204)。ここで、前回取得された異常判定用乱数とは、CPU106が、前回の割込処理で図12の乱数チェック処理を行ったときに、ステップS201およびS202の処理によって取得された異常判定用乱数をいう。この異常判定用乱数は、後述するステップS214の処理によってRAM110に記憶される。ステップS204の処理において、CPU106が、両者の値が一致した(YES)と判断したときは、次に、前回取得された異常判定用乱数の上位8ビットの値と、ステップS202の処理によって取得された異常判定用乱数の上位8ビットの値とが、一致したか否かを判断する(ステップS205)。
ここで、CPU106が、両者の値が一致した(YES)と判断したときは、前回取得された異常検出用乱数の値と、今回取得された抽選用乱数の値が同じであることを意味する。この場合、CPU106は、乱数異常回数errの値に「1」を加算し(ステップS206)、乱数異常回数errの値が「2」になったか否かを判断する(ステップS207)。ここで、乱数異常回数errの値は、割込信号が供給されるごとに割込処理が実行されることによって、図12の乱数チェック処理が刻々と行われていく過程で(但し、乱数チェック処理を行う際に異常検出用乱数取得無効フラグがオンになっていた場合を除く)、ステップS204およびS205における双方の判断結果が、連続してYESとなった回数を計数するための値である。すなわち、errの値が「2」になるということは、例えば、今回行った図12の乱数チェック処理において、前回取得された異常検出用乱数の値と、今回取得された抽選用乱数の値とが同じであると判断され、次に図12の乱数チェック処理を行ったときにも、前回取得された異常検出用乱数の値と、今回取得された抽選用乱数の値とが同じであると判断されたことを意味する。
ステップS207の判断処理において、CPU106が、乱数異常回数errの値が「2」になった(YES)と判断したときは、乱数異常回数errの値を「0」にし(ステップS208)、RAM110に記憶されている終了フラグの状態をオンにする(ステップS209)。この終了フラグは、乱数発生装置112において乱数値の更新が正常に行われていないと判断されたときにオンになるフラグであり、オン/オフ状態は、RAM110の所定の記憶領域に記憶されている。スロットマシン10は、終了フラグがオンになっている場合、基本的には単位遊技が行われないように制御するが、詳しくは後述するように、終了フラグがオンになっている場合でも、継続フラグのオン/オフ状態に応じて引き続き単位遊技を実行可能とする。
次に、CPU106は、RAM110に記憶されている乱数準異常検出情報の内容が、「正常」になっているか否かを判断する(ステップS210)。この乱数準異常検出情報は、図10に示した乱数取得処理のステップS114で「正常」にセットされ、乱数の値が正常に更新されていない可能性が有る場合は、図10のステップS130で「異常」に更新されるものである。そして、乱数準異常検出情報の内容が「正常」出会った場合は、次にCPU106は、現在、単位遊技が行われているか否かを判断する(ステップS211)。どのような状態を単位遊技中とみなすかは適宜定めればよいが、例えば、遊技者によってスタートスイッチ36が操作されてから、全てのリール40が停止して、単位遊技の結果に応じた処理(例えば、メダルの払い出し処理など)が終了するまでの間を単位遊技中としても良い。
そして、CPU106が単位遊技の実行中である(YES)と判断したときは、RAM110の所定の記憶領域に記憶されている継続フラグの状態(初期状態はオフ)を、オン状態にして(ステップS212)、ステップS203でセットした乱数異常検出情報の内容を「異常」に更新する(ステップS213)。これに対して、CPU106が、ステップS210の判断処理で、乱数準異常検出情報が「異常」である(NO)、または、S211の判断処理で、現在、単位遊技中ではない(NO)、と判断したときは、継続フラグの状態をオンにすることなく、直ちにステップS213の処理へ移行する。この継続フラグがオンになっているときは、上述した終了フラグがオンになっているときでも、引き続き単位遊技を実行することができる。そしてCPU106は、ステップS201およびS202の処理によって取得された異常検出用乱数を、次に乱数チェック処理を行うときの「前回取得された異常検出用乱数」とすべく、RAM110に記憶して(ステップS214)、図12に示す乱数チェック処理を終了する。
これに対して、ステップS207の処理で、CPU106がerrの値が「2」ではない(NO)と判断したときは、ステップS208〜S213の処理を行わずに、ステップS214の処理へ移行する。ここで、ステップS207の判断処理は、ステップS206の処理によってerrの値に「1」が加算された後に行われるため、errの値が「2」ではないと判断された場合、errの値は「1」になっていることを意味する。この場合、ステップS213の処理が行われないため、この段階では、乱数異常検出情報の内容が「異常」に更新されることはない。また、ステップS208の処理も行われないため、次に図12の乱数チェック処理が行われる際に、errの値が「1」になっている。
また、ステップS204またはS205のいずれかの処理で、CPU106が、両者の値が一致しない(NO)と判断した場合は、乱数発生装置112において、乱数値の更新が行われており、乱数が正常に生成されているものとみなし、errの値を「0」にする(ステップS215)。そして、ステップS214の処理へ移行して、ステップS201およびS202の処理によって取得された異常検出用乱数を、RAM110に記憶する。
ここで、基本的に割込処理が行われるごとに実行される、図12の乱数チェック処理におけるステップS201およびS202の処理によって取得される、異常検出用乱数の時間的な間隔、および、図12の乱数チェック処理におけるステップS204〜S215の処理による乱数の異常判定の流れについて、図13に示すタイミングチャートを参照して説明する。
まず、図13(a)を参照して、クロック信号の周期と、異常検出用乱数の取得タイミングとの関係について説明する。この図において、fCKはクロック信号の周期を示し、RINT0〜2は、各々、乱数チェック処理が実行されたときに取得された異常検出用乱数を示している。そして、異常検出用乱数RINT0〜2の各々に対応して図示されている矢印は、各異常検出用乱数が取得されたタイミングを示している。また、Δtは各異常検出用乱数が取得される時間的な間隔を示している。なお、図13(a)においては、クロック信号の周期と、各異常検出用乱数の取得タイミングとの関係を理解しやすくするために、Δtは実際の間隔よりも短く図示している。
図13(a)に示すように、各異常検出用乱数の取得は、クロック信号の立下りタイミングに同期して行われている。これは、乱数発生装置112における乱数値の更新が、クロック信号の立上りタイミングで行われているため、乱数値の更新中に異常検出用乱数を取得してしまうのを避けるためである。また、乱数発生装置112において、乱数値の更新が行われる前に、複数の異常検出用乱数を取得しないように、Δtの時間は、最短でもクロック信号の周期fCKよりも長く設定される必要がある。ここでは、前述したように乱数発生装置112における乱数値の更新周期(クロック信号の周期)が139.68ナノ秒であるのに対し、割込信号の周期が1.49ミリ秒になっているため、Δtの時間が乱数発生装置112における乱数値の更新周期よりも短くなることはない。なお、図12の乱数チェック処理は、割込処理の中で行われる複数の処理の1つであるため、乱数チェック処理よりも前に行われる処理が完了するまでの時間に応じて、1回の割込処理の中で乱数チェック処理が開始されるタイミングが常に一定になるとは限らない。
また、Δtの時間は、最長でも、2つの連続する乱数周期F内に、少なくとも3つの異常検出用乱数を取得することができる長さに設定する必要がある。このようにΔtの時間を設定することで、3つの異常検出用乱数のうち、連続するいずれか2つの異常検出用乱数、すなわち、1番目と2番目に取得された異常検出用乱数、または、2番目と3番目に取得された異常検出用乱数は、必ず同じ乱数周期内で取得することができる。これにより、同じ乱数周期内で取得された2つの異常検出用乱数が異なる値であれば、乱数発生装置112における乱数値の更新が正常に行われていることになり、同じ値であれば乱数値が更新されていないことがわかる。
以上を踏まえて、図12に示した乱数チェック処理による乱数の異常判定の流れについて、図13(b)および(c)を参照して説明する。これらの図において、Fは1つの乱数周期を示し、errは図12の乱数チェック処理における乱数異常回数errを示している。また、その他の記号については、図13(a)と同様である。
まず、図12のステップS201およびS202の処理によって異常検出用乱数RINT1が取得されたとすると、ステップS204およびS205の処理によって、異常検出用乱数RINT1の値と、前回の乱数チェック処理において取得された異常検出用乱数RINT0の値とが、比較される。そして、図13(b)に示すように、CPU106が、両者の値が異なっている(ステップS204またはS205の判断結果がNO)と判断したときは、ステップS215の処理でerrの値が「0」され、ステップS214の処理で異常検出用乱数RINT1が、次の乱数チェック処理における「前回取得した異常検出用乱数」として、RAM110に記憶される。また、このときステップS213の処理は行われないので、乱数異常検出情報の内容は、ステップS203でセットされた「正常」が維持される。
なお、図13(b)に示す場合において、異常検出用乱数RINT1の値と、異常検出用乱数RINT0の値とが一致したと判断された場合でも、直ちに乱数に異常が生じたとは判断せず、異常検出用乱数RINT1と、次の乱数チェック処理で取得された異常検出用乱数との比較結果に応じて、異常が生じたか否かが判断される。例えば、図13(c)に示すように、今回取得された異常検出用乱数RINT1の値と、前回取得された異常検出用乱数RINT0の値とが一致した(ステップS205の判断結果がYES)場合は、ステップS206の処理によってerrの値が「1」となり、ステップS207の判断結果がNOとなって、ステップS214の処理で、異常検出用乱数RINT1が次の乱数チェック処理における「前回取得した異常検出用乱数」として、RAM110に記憶される。
そして、次の乱数チェック処理で異常検出用乱数RINT2が取得されると、ステップS204およびS205の処理によって、異常検出用乱数RINT2の値と、異常検出用乱数RINT1の値とが比較される。その結果、両者の値が一致しなかった(ステップS204またはS205の判断結果がNO)と判断されたときは、ステップS215の処理でerrの値が「0」され、ステップS214の処理へ移行する。これにより、ステップS213の処理が行われないため、乱数異常検出情報の内容は、ステップS203でセットされた「正常」が維持される。すなわち、この場合は、異常検出用乱数RINT0と、異常検出用乱数RINT1とは、互いに異なる乱数周期で取得されたものであり、偶然同じ値が取得されたものとみなす。
これに対して、異常検出用乱数RINT2の値と、異常検出用乱数RINT1の値とが、一致した(ステップS205の判断結果がYES)と判断された場合は、ステップS206の処理によってerrの値が「2」にされる。これにより、ステップS207の判断結果がYESとなって、ステップS213の処理により、乱数異常検出情報の内容が「異常」に更新される。すなわち、異常検出用乱数RINT0と、異常検出用乱数RINT1とが、互いに異なる乱数周期で取得され、偶然同じ値が取得されたと仮定すると、異常検出用乱数RINT1と異常検出用乱数RINT2とは、同じ乱数周期で取得されたことになり、しかも両者の値が一致していることから、乱数発生装置112において乱数の更新が正常に行われていないことになる。
このように、クロック信号の周期fCKの時間と、2つの連続する乱数周期Fの時間とを考慮して、Δtの時間を前述した内容に従って設定し、連続して取得した3つの異常検出用乱数の値が一致したときに、生成された乱数に異常が生じたと判定することで、各乱数周期において更新される乱数値の順序が異なる場合であっても、正確な異常判定を行うことができる。
≪入賞判定処理の説明≫
次に、図9に示したメインルーチンのステップS10で実行される入賞判定処理の詳細な内容について、図14に示すフローチャートを参照して説明する。
まず、CPU106は、表示窓22に停止表示された9つの図柄の種類を認識する(ステップS40)。そして、CPU106は、RAM110に記憶されている現在の遊技状態を示す情報を参照し、現在の遊技状態が「通常遊技」であるか否かを判断する(ステップS41)。通常遊技中である(YES)と判断した場合、CPU106は、小役1a,1b、小役2a,2bおよび小役3のいずれかが入賞したか否かを判断する(ステップS42)。
次に、図9に示したメインルーチンのステップS10で実行される入賞判定処理の詳細な内容について、図14に示すフローチャートを参照して説明する。
まず、CPU106は、表示窓22に停止表示された9つの図柄の種類を認識する(ステップS40)。そして、CPU106は、RAM110に記憶されている現在の遊技状態を示す情報を参照し、現在の遊技状態が「通常遊技」であるか否かを判断する(ステップS41)。通常遊技中である(YES)と判断した場合、CPU106は、小役1a,1b、小役2a,2bおよび小役3のいずれかが入賞したか否かを判断する(ステップS42)。
すなわち、有効ラインL1〜L5のいずれかに沿って、小役1a,1b、小役2a,2bまたは小役3に対応する図柄の組合せが停止表示された場合は、その小役が入賞したものとして、規定数(通常遊技であるため3枚)に応じた払出枚数(図7参照)をRAM110の所定の記憶領域に記憶する(ステップS43)。この処理によってRAM110に記憶された払出枚数のメダルが、図9のステップS12に示した払い出し処理によって遊技者に払い出される。
ステップS42の判断処理で、小役が入賞していない(NO)とCPU106が判断した場合は、次に、再遊技役a〜cのいずれかが成立したか否かを判断する(ステップS44)。そして、有効ラインL1〜L5のいずれかに沿って、再遊技役a〜cのいずれかに対応する図柄の組合せが停止表示された場合は(YES)、その再遊技役が成立したものとして、RAM110に記憶されている再遊技成立フラグのオン/オフ状態をオンに更新する(ステップS45)。これにより、次の単位遊技では、図9のステップS2における判断結果がYESとなり、メダルを投入することなく単位遊技を行うことができる。
ステップS44の判断処理で、再遊技役が成立していない(NO)とCPU106が判断した場合は、次に、BB役a、BB役bまたはBB役cが成立したか否かを判断する(ステップS46)。そして、有効ラインL1〜L5のいずれかに沿って、BB役a、BB役bまたはBB役cに対応する図柄の組合せが停止表示された場合は(YES)、そのBB役が成立したものとして、RAM110に記憶されている現在の遊技状態を示す情報を「BB遊技」に更新する(ステップS47)。次いで、CPU106は、RAM110に記憶されている各役に対応する当選フラグのうち、成立したBB役に対応する当選フラグをオフにする(ステップS48)。
ステップS46の判断処理で、BB役が成立していない(NO)とCPU106が判断した場合は、次に、MB役aまたはMB役bが成立したか否かを判断する(ステップS49)。そして、有効ラインL1〜L5のいずれかに沿って、MB役aまたはMB役bに対応する図柄の組合せが停止表示された場合は(YES)、そのMB役が成立したものとして、RAM110に記憶されている現在の遊技状態を示す情報を「MB遊技」に更新する(ステップS50)。次いで、CPU106は、RAM110に記憶されている各役に対応する当選フラグのうち、成立したMB役に対応する当選フラグをオフにする(ステップS51)。
次に、CPU106は、RAM110に記憶されている各役に対応する当選フラグのうち、BB役a、BB役b、BB役c、MB役aおよびMB役b(特別役)に対応する当選フラグ以外の当選フラグをオフにする(ステップS52)。そして、CPU106は、今回の単位遊技の結果および、現在の遊技状態情報を、副制御回路200へ送信する(ステップS53)。ここで、遊技結果情報には、成立した役の有無や成立した役の種類を示す情報が含まれている。また、遊技状態情報には、現在の遊技状態(通常遊技、MB遊技またはBB遊技)を示す情報が含まれている。そして、副制御回路200へ遊技結果情報および遊技状態情報を送信すると、CPU106は、図14に示す入賞判定処理を終了して、図9に示したステップS11の処理へ進む。
このように、通常遊技中(ステップS41,YES)は、小役、再遊技役、BB役およびMB役について、各々成立したか否かを判断し、成立したと判断した場合は、成立した役の種類に応じて各種の処理を行う。このうち、小役、再遊技役またはBB役が成立したときの処理(ステップS43、S45またはS48)を行うと、または、単位遊技の結果がハズレだった場合(ステップS49,NO)は、図12のステップS212の処理によってオンにされた継続フラグを、種々の条件に応じてオフにする処理を行う。
まず、CPU106は、RAM110に記憶されているMB役aまたはMB役bに対応する当選フラグ(以下、MB当選フラグという)の状態がオンであるか否かを判断する(ステップS54)。MB当選フラグがオフ(NO)だった場合は、MB役の当選状態が持ち越されていない状態であることから、継続フラグをオフにする処理を行う。すなわち、CPU106は、RAM110に記憶されている継続フラグの状態がオンになっているか否かを判断し(ステップS55)、オンになっていた場合(YES)は、オフ状態に更新し(ステップS56)、上述したステップS52の処理へ移行する。
この処理によって、通常遊技中であり、かつ、MB当選フラグがオフになっているときに、継続フラグがオンになっていた場合は、入賞判定処理において継続フラグがオフにされるため、継続フラグがオンにされた単位遊技(図12のステップS211,YES→S212)が終了すると、図9のステップS14の判断処理がNOとなって、次の単位遊技が開始されない状態となる。
なお、ステップS55の判断処理で、継続フラグの状態がオフになっていた場合(NO)は、直ちにステップS52の処理へ移行する。
なお、ステップS55の判断処理で、継続フラグの状態がオフになっていた場合(NO)は、直ちにステップS52の処理へ移行する。
これに対して、ステップS54の判断処理で、MB役に対応する当選フラグがオン(YES)になっていた場合、すなわち、MB役の当選状態が持ち越されている場合、つぎにCPU106は、今回の単位遊技で再遊技役が成立したか否かを判断するため、RAM110に記憶されている再遊技成立フラグの状態がオンになっているか否かを判断する(ステップS57)。ここで、再遊技成立フラグの状態がオフになっていた(NO)場合は、直ちにステップS52の処理へ移行する。これにより、通常遊技中にMB当選フラグのオン状態が持ち越されており、かつ、再遊技役が成立していない場合は、継続フラグがオフにされることがないため、引き続き単位遊技を行うことができる。
また、ステップS57の判断処理で、再遊技成立フラグがオンになっている(YES)とCPU106が判断した場合は、ステップS55へ進み、継続フラグがオンになっている場合は、ステップS56へ進んで継続フラグをオフにする。すなわち、通常遊技中にMB当選フラグのオン状態が持ち越されている場合であっても、再遊技役が成立している場合は、継続フラグがオフにされて、次の単位遊技を行うことができなくなる。これは、乱数発生装置112が発生する乱数の値が、再遊技役の当選数値範囲(「45115」〜「54092」;図8(a)参照)のいずれかの値で更新されなくなってしまった場合に対応するためである。すなわち、このような状態で引き続き単位遊技を行ったとすると、役抽選において必ず再遊技役が当選し、再遊技役とMB役とが成立し得る状態となるが、リール停止制御によって、MB役よりも再遊技役が優先して成立することになる。よって、MB役を成立させることができない状態となるため、単位遊技を中止するのである。
次に、ステップS41の判断処理において、現在の遊技状態が特別遊技中、すなわち、MB遊技中またはBB遊技中だった場合(NO)、CPU106は、単位遊技の結果、いずれかの小役が入賞したか否かを判断する(ステップS58)。すなわち、有効ラインL1〜L5のいずれかに沿って、小役1a,1b、小役2a,2b、小役3または小役4に対応する図柄の組合せが停止表示された場合は、その小役が入賞したものとして、規定数(特別遊技であるため2枚)に応じた払出枚数(図7参照)をRAM110の所定の記憶領域に記憶する(ステップS59)。この処理によってRAM110に記憶された払出枚数のメダルが、図9のステップS12に示した払い出し処理によって遊技者に払い出される。
そして、現在の遊技中に払い出したメダルの合計枚数に、ステップS59で記憶した払出枚数を加算して(ステップS60)、その合計枚数が、現在行っている特別遊技の終了条件を満たしたか否かを判断する(ステップS61)。なお、ステップS58の判断処理で、CPU106が、今回の単位遊技の結果、小役に入賞しなかった(NO)と判断した場合は、直ちにステップS61の判断処理を行う。CPU106が、終了条件を満たしていない(NO)と判断した時は、現在行っている特別遊技がMB遊技であるか否かを判断する(ステップS62)。ここで、BB遊技中だった場合(NO)は、ステップS55の処理へ進み、継続フラグがオンになっていた場合(YES)は、ステップS56の処理へ進み、継続フラグをオフにした後、ステップS52の処理へ移行する。
一方、ステップS62の判断処理において、MB遊技中だった場合(YES)は、直接、ステップS52の処理へ移行する。これにより、MB遊技中は、継続フラグがオフにされることがないため、引き続き単位遊技を行うことができる。
また、ステップS61の判断処理で、CPU106が、現在行っている特別遊技の終了条件が成立した(YES)と判断したときは、現在の遊技状態を「通常遊技」にして(ステップS63)、ステップS55の処理へ移行する。そして、ステップS55の処理で、継続フラグがオンになっていた場合(YES)は、ステップS56の処理へ進み、継続フラグをオフにした後、ステップS52の処理へ移行する。
また、ステップS61の判断処理で、CPU106が、現在行っている特別遊技の終了条件が成立した(YES)と判断したときは、現在の遊技状態を「通常遊技」にして(ステップS63)、ステップS55の処理へ移行する。そして、ステップS55の処理で、継続フラグがオンになっていた場合(YES)は、ステップS56の処理へ進み、継続フラグをオフにした後、ステップS52の処理へ移行する。
このように、スロットマシン10においては、単位遊技中に乱数が正常に更新されないという不具合が生じた場合であっても、役抽選に使用された乱数が正常なものであった場合は、その単位遊技が終了するまで遊技に関する制御を行うため、遊技者は、単位遊技を最後まで実行することができる。また、正常な乱数に基づく役抽選によってMB役が当選した場合は、その後、乱数に異常が生じたとしても、遊技者は、当選したMB役に基づくMB遊技を最後まで行うことができる。このため、遊技者が享受すべきMB遊技の機会を消滅させることなく、遊技者へ付与することができ、MB遊技による遊技者の利益が保証される。また、MB遊技中は役抽選の結果に依存しない単位遊技が行われるため、乱数に異常が生じたまま遊技を継続させたとしても、遊技店に著しい不利益を与えることがない。
なお、図14に示した入賞判定処理では、ステップS57の処理により、MB役の当選を持ち越しているときに、再遊技役の当選数値範囲のいずれかの値(以下、当選値という)で乱数の値が更新されなくなった場合は、継続フラグをオフにするように制御している。しかしながら、例えば、周知の乱数発生装置によって生成されたハードウェア乱数に、他の値を加算したものを、役抽選に用いている場合は、乱数発生装置に異常が生じてハードウェア乱数の値が更新されなくなったとしても、他の値が変化していれば、役抽選に用いる乱数の値も変化するため、図14のステップS57の処理を省いてもよい。ここで、ハードウェア乱数に加算する他の値としては、例えば、予め設定しておいた一定の値、CPUにおいて逐次更新される値(例えば、Z80系CPUにおけるRレジスタの値)および周知のソフトウェア乱数の値などであってもよい。さらに、小役の当選値で乱数の値が更新されなくなった場合にも、継続フラグをオフにするように制御してもよい。また、この場合において、小役の当選フラグがオンになっていたときに、継続フラグをオフにするように制御しても良いが、その他にも、小役が入賞したことによる払出枚数が、予め定めていた枚数を超えた場合に継続フラグをオフにするように制御しても良い。
≪乱数取得処理および乱数チェック処理の変形例≫
上述したように、本実施形態のスロットマシンでは、遊技者がスタートスイッチ36を操作したことに起因して、図10に示した乱数取得処理を行うとともに、外部から割込信号が定期的に供給されるごとに、図12に示した乱数チェック処理を行い、各々の処理において乱数の異常判定を行っている。以下では、図10の乱数取得処理および図12の乱数チェック処理について、これらの方法とは異なる方法によって乱数の異常判定を行う場合の例について説明する。
上述したように、本実施形態のスロットマシンでは、遊技者がスタートスイッチ36を操作したことに起因して、図10に示した乱数取得処理を行うとともに、外部から割込信号が定期的に供給されるごとに、図12に示した乱数チェック処理を行い、各々の処理において乱数の異常判定を行っている。以下では、図10の乱数取得処理および図12の乱数チェック処理について、これらの方法とは異なる方法によって乱数の異常判定を行う場合の例について説明する。
<乱数取得処理の変形例(1)>
図15に、図10に示した乱数取得処理とは異なる方法によって乱数の異常を判定する乱数取得処理のフローチャートを示す。なお、図15に示す乱数取得処理は、図10に示した乱数取得処理の代わりに実行されるものであり、外部から定期的に供給される割込信号に応じて図12の乱数チェック処理を行う点については変わりない。また、図15に示すフローチャートにおいて、図10のフローチャートと同様の処理を行うステップについては、同じステップ番号を付与し、それらの詳しい説明は省略する。図15に示すフローチャートでは、図10のフローチャートのステップS112〜S130の処理を行う代わりに、ステップS140〜S148の処理を行っている。
図15に、図10に示した乱数取得処理とは異なる方法によって乱数の異常を判定する乱数取得処理のフローチャートを示す。なお、図15に示す乱数取得処理は、図10に示した乱数取得処理の代わりに実行されるものであり、外部から定期的に供給される割込信号に応じて図12の乱数チェック処理を行う点については変わりない。また、図15に示すフローチャートにおいて、図10のフローチャートと同様の処理を行うステップについては、同じステップ番号を付与し、それらの詳しい説明は省略する。図15に示すフローチャートでは、図10のフローチャートのステップS112〜S130の処理を行う代わりに、ステップS140〜S148の処理を行っている。
図15に示すフローチャートのステップS110において、CPU106がステップS104で禁止した割込処理を許可すると、次にCPU106は、乱数異常検出情報の内容を「正常」に設定する(ステップS140)。ここで、図10に示した乱数取得処理では、異常判定の結果を乱数準異常検出情報によって示していたが、図15に示す乱数取得処理では、異常判定の結果、「異常」と判定したときには、乱数値が正常に更新されている可能性が完全に否定される確実な異常判定を行っているため、異常判定の結果を乱数異常検出情報によって示している。
次にCPU106は、図12に示した乱数チェック処理によって、図15に示す乱数取得処理を開始する直前に取得された異常検出用乱数(以下、単に「直前に取得された異常検出用乱数」という)の下位8ビットの値と、ステップS106で取得された抽選用乱数の下位8ビットの値とが、一致するか否かを判断する(ステップS142)。CPU106が、両者の値が一致した(YES)と判断したときは、次に、直前に取得された異常検出用乱数の上位8ビットの値と、ステップS108で取得された抽選用乱数の上位8ビットの値とが、一致するか否かを判断する(ステップS144)。
CPU106が、両者の値が一致した(YES)と判断した場合は、さらに図12の乱数チェック処理において更新される乱数異常回数errの値(図12のステップS206参照)が「1」になっているか否かを判断する(ステップS146)。この判断処理において、CPU106が、乱数異常回数errの値が「1」になっている(YES)と判断したときは、ステップS140で「正常」にセットされた乱数異常検出情報の内容を「異常」に更新する(ステップS148)。そして、CPU106は、ステップS132の処理へ進み、ステップS106およびS108で取得した抽選用乱数を、「前回取得した抽選用乱数」としてRAM110に記憶する。次いでCPU106は、ステップS134へ進み、ステップS100でオン状態にした異常検出用乱数取得無効フラグをオフ状態にして、図15に示す乱数取得処理を終了する。
また、CPU106が、上述したステップS142の判断処理で、直前に取得された異常検出用乱数およびステップS106で取得された抽選用乱数の下位8ビットの値が一致しない(NO)と判断した場合、上述したステップS144の判断処理で、直前に取得された異常検出用乱数およびステップS108で取得された抽選用乱数の上位8ビットの値が一致しない(NO)と判断した場合、または、上述したステップS146の判断処理で、乱数異常回数errの値が「1」になっていない(NO)と判断した場合は、CPU106は、直ちにステップS132の処理を行い、ステップS134の処理を行った後、図15に示す乱数取得処理を終了する。
(異常判定の流れについての説明)
次に、上述した乱数取得処理のステップS142〜S148の処理による乱数の異常判定の流れについて、図16に示すタイミングチャートを参照して説明する。なお、図16に記載された各種記号および矢印については、図11および図13のタイミングチャートに記した各種記号および矢印と同様の意味を有する。
次に、上述した乱数取得処理のステップS142〜S148の処理による乱数の異常判定の流れについて、図16に示すタイミングチャートを参照して説明する。なお、図16に記載された各種記号および矢印については、図11および図13のタイミングチャートに記した各種記号および矢印と同様の意味を有する。
まず、遊技者によってスタートスイッチ36が操作されたことにより、図15のステップS106およびS108の処理によって抽選用乱数RST0が取得される。そして、ステップS142およびS144において、図16(a)に示すように直前に取得された異常検出用乱数RINT0の値と比較される。このとき、両者の値が一致しなければ、ステップS142またはS144の判断結果がNOとなって、乱数異常検出情報の内容は「正常」のまま、ステップS132の処理へ移行することになる。
これに対して、図16(b)に示すように、抽選用乱数RST0の値と異常検出用乱数RINT0の値とが一致した場合は、ステップS142およびS144の判断結果がともにYESとなって、ステップS146において、乱数異常回数errの値が「1」になっているか否かが判断される。ここで、乱数異常回数errの値が「1」になっている場合とは、直前に取得された異常検出用乱数RINT0の値と、さらにその1回前に取得された異常検出用乱数RINT(−1)の値と、が一致した場合である(図12のステップS204〜S206参照)。すなわち、抽選用乱数RST0、異常検出用乱数RINT0および異常検出用乱数RINT(−1)の値が全て一致した場合である。
よって、図15の乱数取得処理で異常検出用乱数取得無効フラグがオンになっている期間を考慮に含めた上で、図16(c)に示すように、異常検出用乱数RINT0およびRINT(−1)、ならびに抽選用乱数RST0が取得される時間tが、2つの連続する乱数周期F(=2F)よりも短くなるように、割込周期を設定することで、確実に乱数の異常を判定することができる。なお、図16(c)において、斜線のハッチングで示す範囲は、異常検出用乱数取得無効フラグがオンになっている期間(すなわち、図12の乱数チェック処理が禁止される期間)を示している。また同図では、異常検出用乱数RINT1が取得されるタイミングよりも、異常検出用乱数取得無効フラグがオンになったタイミングが僅かに早かったために、異常検出用乱数RINT1の取得が無効にされた場合を示している。
このように、図15に示した乱数取得処理では、遊技者によるスタートスイッチ36の操作に応じて取得された抽選用乱数RST0、当該抽選用乱数が取得される直前の乱数チェック処理で取得された異常検出用乱数RINT0、さらにその1回前の乱数チェック処理で取得された異常検出用乱数RINT(−1)の値が全て一致したときに、生成された乱数が異常であると判定している。
<乱数取得処理の変形例(2)>
次に図17に示すフローチャートを参照して、図10および図15に示した乱数取得処理とは異なる方法によって乱数の異常を判定する乱数取得処理のフローチャートを示す。なお、図10に示した乱数取得処理の代わりに図17に示す乱数取得処理を行った場合にも、外部から定期的に供給される割込信号に応じて図12の乱数チェック処理を行う点については変わりない。また、図17に示すフローチャートにおいて、図10のフローチャートと同様の処理を行うステップについては、同じステップ番号を付与し、それらの詳しい説明は省略する。図17に示すフローチャートでは、図10のフローチャートのステップS104〜S132の処理を行う代わりに、ステップS150〜S178の処理を行っている。
次に図17に示すフローチャートを参照して、図10および図15に示した乱数取得処理とは異なる方法によって乱数の異常を判定する乱数取得処理のフローチャートを示す。なお、図10に示した乱数取得処理の代わりに図17に示す乱数取得処理を行った場合にも、外部から定期的に供給される割込信号に応じて図12の乱数チェック処理を行う点については変わりない。また、図17に示すフローチャートにおいて、図10のフローチャートと同様の処理を行うステップについては、同じステップ番号を付与し、それらの詳しい説明は省略する。図17に示すフローチャートでは、図10のフローチャートのステップS104〜S132の処理を行う代わりに、ステップS150〜S178の処理を行っている。
CPU106は、ステップS102の処理により、スロットマシン10の内部に設置されたメダルセレクタにおけるブロッカをオフにすると、RAM110に記憶されている乱数異常判定回数nの値を「3」に、セットする(ステップS150)。この乱数異常判定回数nは、乱数発生装置112で生成された乱数に異常が発生しているか否かの判定を行う残りの回数を示すものである。次にCPU106は、図10のステップS104の処理と同様に割込処理を禁止し(ステップS152)、乱数発生装置112が生成した16ビットの乱数のうち下位8ビットの値を、入出力バス104のデータバスDAT(8ビット幅)を介して取得する(ステップS154)。次にCPU106は、乱数発生装置112が生成した16ビットの乱数のうち上位8ビットの値を、入出力バス104のデータバスDATを介して取得する(ステップS156)。ステップS154およびS156によって取得された下位8ビット、上位8ビットの乱数は、各々、CPU106のレジスタまたはRAM110の所定の記憶領域に記憶される。
このように、乱数発生装置112によって生成される乱数は16ビットであるが、データバスDATのバス幅が8ビットであるため、CPU106は、16ビットの乱数を、下位8ビットと上位8ビットとの2回に分けて取得している。また、乱数生成装置112においては、CPU106が、乱数の下位8ビットを取得してから、上位8ビットを取得するまでの間に、CPU106が取得する乱数値を更新してしまわないように、例えば、16ビットのデータラッチ回路などによって、遊技者がスタートスイッチ36を操作したタイミングに基づいて、生成した16ビットの乱数値を保持しておく必要がある。
次にCPU106は、ステップS152で禁止した割込処理を許可した後(ステップS158)、ステップS150でセットした乱数異常判定回数nの値(「3」)から「1」を減算し(ステップS160)、その結果、乱数異常判定回数nの値が「2」になったか否かを判断する(ステップS162)。ここで、図17の乱数取得処理を開始してから最初にステップS162の判断処理を行う際には、乱数異常判定回数nの値が「2」になっているため、判断結果はYESとなる。このためCPU106は、まず、ステップS154およびS156の処理によって取得された16ビットの乱数を、抽選用乱数としてRAM110の所定の記憶領域に記憶し(ステップS164)、さらに、同じ値の乱数を、比較用乱数として、RAM110の他の記憶領域に記憶する(ステップS166)。
そして、CPU106は、RAM110に記憶されている乱数異常検出情報の内容を「正常」に設定する(ステップS168)。ここで、図17に示す乱数取得処理においても、異常判定の結果、「異常」と判定したときには、乱数値が正常に更新されている可能性が完全に否定される確実な異常判定を行っているため、異常判定の結果を乱数異常検出情報によって示している。そして、ステップS168の処理を終えると、ステップS152の処理へ戻って、再び割込処理を禁止し、上述したようにステップS160までの処理を行い、2度目の乱数の取得および乱数異常判定回数nの更新処理(n=「1」)を行う。
次にCPU106は、ステップS162の処理で、再び乱数異常判定回数nの値が「2」になっているか否かの判断を行う。ここでは、2回目のステップS160の処理が行われていることから、乱数異常判定回数nの値は「1」になっており、判断結果はNOとなる。これにより、CPU106は、ステップS166の処理によってRAM110に記憶されている比較用乱数の下位8ビットの値と、2回目のステップS154およびS156の処理によって取得された乱数の下位8ビットの値とを比較して、一致するか否かを判断する(ステップS170)。両者の値が一致した(YES)場合は、次に、RAM110に記憶されている比較用乱数の上位8ビットの値と、2回目に取得した乱数の上位8ビットの値とを比較して、一致するか否かを判断する(ステップS172)。そして、ステップS172の判断処理で、CPU106が、両者の値が一致した(YES)と判断したときは、乱数異常判定回数nの値が「0」になっているか否かを判断する(ステップS174)。
ここでは、乱数異常判定回数nの値が「0」になっているため、ステップS174の判断結果はNOとなり、CPU106は、RAM110に記憶されている比較用乱数の値を、2度目に取得した乱数の値に更新する(ステップS176)。そして、CPU106は、再度、ステップS152の処理へ戻る。
なお、上述したステップS170またはS172の判断処理において、両者の値が一致しなかった(NO)と判断したときは、CPU106は、直ちにステップS134の処理へ進み、ステップS100でオン状態にした異常検出用乱数取得無効フラグをオフ状態にして、図17に示す乱数取得処理を終了する。この場合、後述するステップS178の処理が行われないことから、乱数異常検出情報の内容は「正常」のまま、図17に示す乱数取得処理が終了することになる。
さて、ステップS152の処理へ戻り、ステップS152からS160の処理を行って、3度目の乱数の取得および乱数異常判定回数nの更新処理(n=「0」)を行うと、ステップS162の判断処理において、CPU106は、乱数異常判定回数nの値は「2」ではない(NO)との判断を行う。これにより、CPU106は、ステップS170の処理へ進み、ステップS176の処理によって更新されたRAM110に記憶されている比較用乱数(2回目のステップS154およびS156の処理によって取得された乱数)の下位8ビットの値と、3回目のステップS154およびS156の処理によって取得された乱数の下位8ビットの値とを比較する。
ステップS170の判断処理において、CPU106が、両者の値が一致した(YES)場合は、次に、ステップS172の判断処理へ進み、RAM110に記憶されている比較用乱数(2回目のステップS154およびS156の処理によって取得された乱数)の上位8ビットの値と、3回目に取得された乱数の上位8ビットの値とを比較する。そして、両者の値が一致した(YES)ときは、ステップS174へ進み、乱数異常判定回数nの値が「0」になっているか否かを判断する。ここでは、乱数異常判定回数nの値が「0」になっている(YES)ことから、ステップS168でセットした乱数異常検出情報の内容を「異常」に更新する(ステップS178)。そして、ステップS134の処理へ進み、ステップS100でオン状態にした異常検出用乱数取得無効フラグをオフ状態にして、図17に示す乱数取得処理を終了する。
なお、ステップS170またはS172の判断処理において、2回目に取得した乱数の値と、3回目に取得した乱数の値とが一致しなかった(NO)と、CPU106が判断した場合は、直ちにステップS134の処理へ進み、ステップS100でオン状態にした異常検出用乱数取得無効フラグをオフ状態にして、図17に示す乱数取得処理を終了する。この場合は、上述したステップS178の処理が行われないことから、乱数異常検出情報の内容は「正常」のまま、図17に示す乱数取得処理が終了することになる。
(異常判定の流れについての説明)
次に、上述した乱数取得処理のステップS152〜S178の処理による乱数の異常判定の流れについて、図18に示すタイミングチャートを参照して説明する。図18において、RCMP0〜2は、各々、ステップS154およびS156の処理によって、最初、2番目、最後に取得された乱数を示している。その他の各種記号および矢印については、図11および図13のタイミングチャートに記した各種記号および矢印と同様の意味を有する。
次に、上述した乱数取得処理のステップS152〜S178の処理による乱数の異常判定の流れについて、図18に示すタイミングチャートを参照して説明する。図18において、RCMP0〜2は、各々、ステップS154およびS156の処理によって、最初、2番目、最後に取得された乱数を示している。その他の各種記号および矢印については、図11および図13のタイミングチャートに記した各種記号および矢印と同様の意味を有する。
まず、遊技者によってスタートスイッチ36が操作されたことにより、図17のステップS154およびS156の処理によって、最初の乱数が取得される。取得された乱数は、ステップS164およびS166において、抽選用乱数および比較用乱数RCMP0として、RAM110に記憶される。そして、再びステップS152へ戻り、ステップS154およびS156の処理によって、2番目の比較用乱数RCMP1が取得され、ステップS170およびS172において、最初に取得された比較用乱数RCMP0と比較される。このとき、図18(a)に示すように、比較用乱数RCMP0およびRCMP1の値が一致しなければ、ステップS170またはS172の判断結果がNOとなって、乱数異常検出情報の内容は「正常」のまま、ステップS134の処理へ移行することになる。
これに対して、図18(b)に示すように、比較用乱数RCMP0およびRCMP1の値が一致した場合は、ステップS170およびS172の判断結果がともにYESとなって、三たび、ステップS152へ戻る。そして、ステップS154およびS156の処理によって、3番目の比較用乱数RCMP2が取得され、ステップS170およびS172において、2番目に取得された比較用乱数RCMP1と比較される。ここで、比較用乱数RCMP1およびRCMP2の値が一致しなければ、ステップS170またはS172の判断結果がNOとなって、乱数異常検出情報の内容は「正常」のまま、ステップS134の処理へ移行することになる。
一方、比較用乱数RCMP1およびRCMP2の値が一致すると、ステップS178へ移行して、乱数異常検出情報の内容が「異常」に更新されて、ステップS134の処理へ移行する。このとき、図18(c)に示すように、比較用乱数RCMP0が取得されてから、3つ目の比較用乱数RCOM2が取得されるまでの期間tが、2つの連続する乱数周期F(=2F)よりも短く、かつ、比較用乱数RCMP0が取得されてから比較用乱数RCMP1が取得されるまでの期間Δt1、および比較用乱数RCMP1が取得されてから比較用乱数RCMP2が取得されるまでの期間Δt2が、各々、乱数発生装置112において乱数値が次に更新されるまでの期間(クロック信号の周期)fCKよりも長く設定されていれば、確実に乱数の異常を判定することができる。
なお、上述した期間Δt1およびΔt2を、クロック信号の周期fCKよりも確実に長くするために、図17のステップS162およびS174の判断結果が、各々YESとなってからステップS152へ戻るまでの間に、予め定めておいた時間が経過するまで次の処理への移行を一時的に停止させる、待機処理を行うようにしてもよい。
このように、図17に示した乱数取得処理では、遊技者によるスタートスイッチ36の操作に応じて取得された比較用乱数RCMP0、および、その後適宜時間をおいて取得された比較用乱数RCMP1、RCMP2の値が全て一致したときに、生成された乱数が異常であると判定している。
<乱数チェック処理の変形例(1)>
次に図19に示すフローチャートを参照して、図12に示した乱数チェック処理とは異なる方法によって乱数の異常を判定する乱数チェック処理について説明する。なお、図19に示す乱数チェック処理は、図10、図15および図17に各々示した乱数取得処理のいずれかと併せて実行されるものとする。以下では、図10、図15および図17に示した乱数取得処理を、まとめていう場合は、単に「乱数取得処理」という。また、図19に示すフローチャートにおいて、図12のフローチャートと同様の処理を行うステップについては、同じステップ番号を付与し、それらの詳しい説明は省略する。図19に示すフローチャートでは、図12のフローチャートの各ステップにおける処理に、ステップS230〜S244の処理を適宜追加して行うものである。
次に図19に示すフローチャートを参照して、図12に示した乱数チェック処理とは異なる方法によって乱数の異常を判定する乱数チェック処理について説明する。なお、図19に示す乱数チェック処理は、図10、図15および図17に各々示した乱数取得処理のいずれかと併せて実行されるものとする。以下では、図10、図15および図17に示した乱数取得処理を、まとめていう場合は、単に「乱数取得処理」という。また、図19に示すフローチャートにおいて、図12のフローチャートと同様の処理を行うステップについては、同じステップ番号を付与し、それらの詳しい説明は省略する。図19に示すフローチャートでは、図12のフローチャートの各ステップにおける処理に、ステップS230〜S244の処理を適宜追加して行うものである。
まず、CPU106は、外部から割込信号が供給されると、乱数取得処理が実行中でなければ、すなわち異常検出用乱数取得無効フラグがオフになっていれば(ステップS200,NO)、ステップS201およびS202の処理により、異常検出用乱数を取得する。そして、CPU106は、ステップS203の処理により、乱数異常検出情報を「正常」にセットした後、抽選用乱数取得完了フラグがオンになっているか否かを判断する(ステップS230)。
この抽選用乱数取得完了フラグは、乱数取得処理が行われた直後であるか否かを判断するために参照されるフラグである。この抽選用乱数取得完了フラグのオン/オフ状態はRAM110に記憶され、図19に示す乱数チェック処理を行う場合において、乱数取得処理のステップS134で、異常検出用乱数取得無効フラグがオフにされる際に、併せてオンにされる。
ステップS230の判断処理で、異常検出用乱数取得無効フラグがオンになっている(YES)と判断すると、次にCPU106は、RAM110に記憶されている、乱数取得処理によって直前に取得された抽選用乱数の値の下位8ビットと、ステップS201で取得した異常検出用乱数の値の下位8ビットとが、一致するか否かを判断する(ステップS232)。両者の値が一致した(YES)と、CPU106が判断したときは、次にRAM110に記憶されている、乱数取得処理によって直前に取得された抽選用乱数の値の上位8ビットと、ステップS202で取得した異常検出用乱数の値の上位8ビットとが、一致するか否かを判断する(ステップS234)。そして、両者の値が一致した(YES)と、CPU106が判断したときは、RAM110に記憶されている取得後準異常フラグをオン状態にする(ステップS236)。
ここで、取得後準異常フラグは、乱数取得処理の終了後、最初の乱数チェック処理で、乱数発生装置112により生成された乱数に異常が生じている可能性が有ることを示すフラグである。取得後準異常フラグのオン/オフ状態は、RAM110に記憶されており、オンのときは、生成された乱数に異常が生じている可能性が有ることを示し、オフのときは、生成された乱数が正常であることを示している。また、取得後準異常フラグの初期状態はオフになっている。
次にCPU106は、RAM110に記憶されている抽選用乱数取得完了フラグのオン/オフ状態をオフにする(ステップS238)。また、上述したステップS232またはS234の判断処理で、CPU106が、抽選用乱数の値と、異常検出用乱数の値とが、一致しない(NO)と判断したときは、直ちにステップS238の処理へ進み、抽選用乱数取得完了フラグがオフにされる。これにより、抽選用乱数取得完了フラグがオンになっている期間は、乱数取得処理のステップS134で異常検出用乱数取得無効フラグがオフにされてから、最初の乱数チェック処理で、ステップS232の判断処理が(この判断結果に応じてステップS234の判断処理も)行われるまでの間となる。そして、ステップS238の処理を終えると、次にCPU106はステップS214へ進み、ステップS201およびS202で取得した異常検出用乱数を、次に乱数チェック処理を行うときの「前回取得された異常検出用乱数」とすべく、RAM110に記憶し、図19に示す乱数チェック処理を終了する。
一方、上述したステップS230の判断処理で、抽選用乱数取得完了フラグがオフになっている(NO)とCPU106が判断したときは、ステップS204へ進み、RAM110に記憶されている、前回取得された異常検出用乱数の下位8ビットの値と、ステップS201で取得した異常検出用乱数の下位8ビットの値とが、一致するか否かを判断する。そして、CPU106が、両者の値が一致した(YES)と判断したときは、ステップS205へ進み、前回取得された異常判定用乱数の上位8ビットの値と、ステップS202で取得した異常判定用乱数の上位8ビットの値とが、一致したか否かを判断する。
CPU106が、両者の値が一致した(YES)と判断した場合は、ステップS206へ進んで、乱数異常回数errの値に「1」を加算し、RAM110に記憶されている取得後準異常フラグがオンになっているか否かを判断する(ステップS240)。取得後準異常フラグがオンになっている(YES)とCPU106が判断したときは、取得後準異常フラグをオフにして(ステップS242)、ステップS213へ進み、RAM110に記憶されている乱数異常検出情報の内容を「正常」から「異常」に更新する。そして、CPU106はステップS214へ進み、ステップS201およびS202で取得した異常検出用乱数をRAM110に記憶して、図19に示す乱数チェック処理を終了する。
これに対して、ステップS240の判断処理で、取得後準異常フラグがオフになっている(NO)とCPU106が判断したときは、ステップS207へ進み、乱数異常回数errの値が「2」になったか否かを判断する。CPU106が、乱数異常回数errの値が「2」になった(YES)と判断したときは、ステップS208へ進み、乱数異常回数errの値を「0」にし、ステップS209〜S212の処理をその時の状態に応じて行い、ステップS213の処理で、乱数異常検出情報の内容を「異常」に更新する。そしてCPU106は、ステップS214へ進み、ステップS201およびS202の処理によって取得された異常検出用乱数を、次に乱数チェック処理を行うときの「前回取得された異常検出用乱数」とすべく、RAM110に記憶して、図19に示す乱数チェック処理を終了する。これに対して、ステップS207の処理で、CPU106がerrの値が「2」ではない(NO)と判断したときは、直ちにステップS214の処理を行い、図19に示す乱数チェック処理を終了する。
また、ステップS204またはS205のいずれかの処理で、CPU106が、両者の値が一致しない(NO)と判断した場合は、乱数発生装置112において、乱数が正常に生成されているものとみなし、ステップS215へ進み、errの値を「0」にする。次いでCPU106は、RAM110に記憶されている取得後準異常フラグをオフにして(ステップS244)、ステップS214の処理へ移行して、ステップS201およびS202の処理によって取得された異常検出用乱数を、RAM110に記憶した後、図19に示す乱数チェック処理を終了する。
(異常判定の流れについての説明)
次に、上述した図19の乱数チェック処理による乱数の異常判定の流れについて、図20に示すタイミングチャートを参照して説明する。図20において、RST0は、遊技者がスタートスイッチ36を操作したことによって実行された乱数取得処理で取得した抽選用乱数を示す。RINT1は、抽選用乱数RST0を取得した乱数取得処理の終了後、最初に行われた図19の乱数チェック処理で取得された異常検出用乱数を示す。RINT2は、異常検出用乱数RINT1を取得した乱数チェック処理の次に実行された乱数チェック処理で取得された異常検出用乱数を示す。また、その他の各種記号および矢印については、図11および図13のタイミングチャートに記した各種記号および矢印と同様の意味を有する。
次に、上述した図19の乱数チェック処理による乱数の異常判定の流れについて、図20に示すタイミングチャートを参照して説明する。図20において、RST0は、遊技者がスタートスイッチ36を操作したことによって実行された乱数取得処理で取得した抽選用乱数を示す。RINT1は、抽選用乱数RST0を取得した乱数取得処理の終了後、最初に行われた図19の乱数チェック処理で取得された異常検出用乱数を示す。RINT2は、異常検出用乱数RINT1を取得した乱数チェック処理の次に実行された乱数チェック処理で取得された異常検出用乱数を示す。また、その他の各種記号および矢印については、図11および図13のタイミングチャートに記した各種記号および矢印と同様の意味を有する。
外部から割込信号が供給されたことに基づいて、図19のステップS201およびS202の処理によって異常検出用乱数が取得され、ステップS230で抽選用乱数取得完了フラグがオンになっている(YES)と判断されたときは、上述した異常検出用乱数は、乱数取得処理の終了後に、最初に取得された異常検出用乱数RINT1ということになる。これにより、異常検出用乱数RINT1の値は、ステップS232およびS234の処理により、直前に行われた乱数取得処理で取得された抽選用乱数RST0の値と比較され、一致しなかった場合は(ステップS232またはS234でNO)、図20(a)に示すように、乱数は正常に生成されているという判定結果になる。すなわち、直ちにステップS238で抽選用乱数取得完了フラグがオフにされ、ステップS213で乱数異常検出情報を「異常」に更新することなく、図19の乱数チェック処理を終了する。そして、次回以降の乱数チェック処理では、抽選用乱数取得完了フラグがオフになっているため、ステップS232〜S238の処理が行われなくなり、図12に示した乱数チェック処理とほぼ同じ内容の乱数の異常判定を行うことになる。
一方、図20(b)に示すように、異常検出用乱数RINT1の値と、抽選用乱数RST0の値とが一致した場合は(ステップS232およびS234でYES)、ステップS236で取得後準異常フラグがオンにされる。そして、次回の乱数チェック処理では、ステップS200〜S203→S230,NOとなり、ステップS204およびS205により、異常検出用乱数RINT1の値と、異常検出用乱数RINT2の値と、が比較されることになる。そして、両者の値が一致した(ステップS205,YES)場合は、ステップS206で乱数異常回数errの値が更新された後、ステップS240の判断結果がYESになって、ステップS242で取得後準異常フラグがオフにされる。そして、ステップS213で乱数異常検出情報が「異常」に更新される。
なお、上述した異常判定が行われた後、引き続き次の乱数チェック処理が行われる場合は、異常検出用乱数RINT2と同じ値の異常検出用乱数RINT3が取得された後、ステップS205,YES→S206→S240,NO→S207と移行する。ここで、乱数取得処理が行われる直前に乱数異常回数errの値が「0」だったとすると、前回行った乱数チェック処理で、乱数異常回数errの値が「1」となり、今回の乱数チェック処理で乱数異常回数errの値が「2」になる。よって、ステップS207,YES→S208と移行して、ステップS209〜S212の処理をその時の状態に応じて行い、その後、ステップS213の処理で、乱数異常検出情報の内容が「異常」に更新されることになる。
これに対して、異常検出用乱数RINT1の値と、異常検出用乱数RINT2の値と、が一致しなかった(ステップS204またはS205,NO)場合は、ステップS215を経て、ステップS244で取得後準異常フラグがオフにされる。そして、ステップS213の処理が行われないため、異常検出情報の内容は「正常」を維持したまま、図19の乱数チェック処理が終了することになる。
このように、図19および図20に示す乱数チェック処理を行う場合は、図20(c)に示すように、乱数取得処理において、異常検出用乱数取得無効フラグがオンになっている期間を考慮に含めた上で、抽選用乱数RST0、異常検出用乱数RINT1およびRINT2が取得される時間tが、2つの連続する乱数周期2Fよりも短くなるように、割込周期を設定することで、確実に乱数の異常を判定することができる。なお、図20(c)において、斜線のハッチングで示す範囲は、図16(c)と同様に、異常検出用乱数取得無効フラグがオンになっている期間(すなわち、乱数チェック処理が禁止される期間)を示している。同図では、異常検出用乱数RINT0が取得されるタイミングよりも、異常検出用乱数取得無効フラグがオフになったタイミングが僅かに遅れたため、異常検出用乱数RINT0の取得が無効にされた場合を示している。この場合は、異常検出用乱数取得無効フラグがオフになってから、ほぼ1つの割込周期分の時間が経過した後に取得された異常検出用乱数RINT1が、乱数取得処理の終了後に最初に取得された異常検出用乱数となる。
このように、図19に示した乱数チェック処理では、遊技者によるスタートスイッチ36の操作に応じて取得された抽選用乱数RST0、その直後の乱数チェック処理で取得された異常検出用乱数RINT1、さらにその1回後の乱数チェック処理で取得された異常検出用乱数RINT2の値が全て一致したときに、生成された乱数が異常であると判定している。
<乱数チェック処理の変形例(2)>
次に図21に示すフローチャートを参照して、図12および図19に示した乱数チェック処理とは異なる方法によって乱数の異常を判定する乱数チェック処理について説明する。なお、図21に示す乱数チェック処理も、図19に示した乱数チェック処理と同様に、図10、図15および図17に各々示した乱数取得処理のいずれかと併せて実行されるものとする。また、以下では、図10、図15および図17に示した乱数取得処理を、まとめていう場合は、単に「乱数取得処理」という。さらに、図21に示すフローチャートにおいて、図12および図19のフローチャートと同様の処理を行うステップについては、同じステップ番号を付与し、それらの詳しい説明は省略する。図21に示すフローチャートでは、図12および図19のフローチャートの各ステップにおける処理に、ステップS250〜S254の処理を適宜追加して行うものである。
次に図21に示すフローチャートを参照して、図12および図19に示した乱数チェック処理とは異なる方法によって乱数の異常を判定する乱数チェック処理について説明する。なお、図21に示す乱数チェック処理も、図19に示した乱数チェック処理と同様に、図10、図15および図17に各々示した乱数取得処理のいずれかと併せて実行されるものとする。また、以下では、図10、図15および図17に示した乱数取得処理を、まとめていう場合は、単に「乱数取得処理」という。さらに、図21に示すフローチャートにおいて、図12および図19のフローチャートと同様の処理を行うステップについては、同じステップ番号を付与し、それらの詳しい説明は省略する。図21に示すフローチャートでは、図12および図19のフローチャートの各ステップにおける処理に、ステップS250〜S254の処理を適宜追加して行うものである。
まず、CPU106は、外部から割込信号が供給されると、乱数取得処理が実行中でなければ、すなわち異常検出用乱数取得無効フラグがオフになっていれば(ステップS200,NO)、ステップS201およびS202の処理により、異常検出用乱数を取得する。そして、CPU106は、ステップS203の処理により、乱数異常検出情報の内容を「正常」にセットした後、ステップS230の処理において、抽選用乱数取得完了フラグがオンになっているか否かを判断する。
ステップS230の判断処理で、抽選用乱数取得完了フラグがオンになっている(YES)と判断すると、次にCPU106は、直前に行われた乱数取得処理における判定の結果、乱数準異常検出情報の内容が「正常」になっているか否かを判断する(ステップS250)。乱数準異常検出情報の内容が「正常」になっているときは、図19の乱数チェック処理におけるステップS232〜S238およびステップS214と同じ処理を行った後、図21の乱数チェック処理を終了する。ここで、ステップS232〜S238の各処理の内容については、説明が重複するため省略する。
これに対して、CPU106が、ステップS250の判断処理で乱数準異常検出処理が「異常」になっている(NO)と判断した場合は、RAM110に記憶されている抽選用乱数取得完了フラグをオフにして(ステップS252)、ステップS204の処理へ進む。また、上述したステップS230の判断処理で、CPU106が、抽選用乱数取得完了フラグがオフになっている(NO)と判断したときは、ステップS250の処理を行わず、直接、ステップS204の処理へ進む。そして、ステップS204で、CPU106は、RAM110に記憶されている、前回取得された異常検出用乱数の下位8ビットの値と、ステップS201で取得した異常検出用乱数の下位8ビットの値とが、一致するか否かを判断する。ここで、ステップS250の判断結果がNOとなった結果、ステップS204の処理へ移行した場合は、前回取得された異常検出用乱数は、直前に行われた乱数取得処理が開始される以前において、最後に取得していた異常検出用乱数となる。
CPU106が、前回取得された異常検出用乱数の下位8ビットの値と、ステップS201で取得した異常検出用乱数の下位8ビットの値とが、一致する(YES)と判断したときは、ステップS205へ進み、前回取得された異常判定用乱数の上位8ビットの値と、ステップS202で取得した異常判定用乱数の上位8ビットの値とが、一致したか否かを判断する。そして、CPU106が、両者の値が一致した(YES)と判断した場合は、ステップS206へ進んで乱数異常回数errの値に「1」を加算した後、ステップS240へ進み、RAM110に記憶されている取得後準異常フラグがオンになっているか否かを判断する。
取得後準異常フラグがオンになっている(YES)とCPU106が判断したときは、ステップS242へ進み、取得後準異常フラグをオフにした後、継続フラグをオンにする(ステップS254)。ここで、継続フラグは、図12に示した乱数チェック処理のステップS212の処理によってオンにされる継続フラグと同じものである。ステップS254の処理が終了すると、CPU106はステップS209へ進んで終了フラグをオンにした後、ステップS213へ進み、RAM110に記憶されている乱数異常検出情報の内容を「正常」から「異常」に更新する。そして、CPU106はステップS214へ進み、ステップS201およびS202で取得した異常検出用乱数をRAM110に記憶して、図21に示す乱数チェック処理を終了する。
上述したステップS240の判断処理で、取得後準異常フラグがオフになっている(NO)とCPU106が判断したときは、ステップS207へ進み、乱数異常回数errの値が「2」になったか否かを判断する。CPU106が、乱数異常回数errの値が「2」になった(YES)と判断したときは、ステップS208へ進み、乱数異常回数errの値を「0」にし、ステップS213の処理で、乱数異常検出情報の内容を「異常」に更新する。そしてCPU106は、ステップS214へ進み、ステップS201およびS202で取得した異常検出用乱数をRAM110に記憶して、図21に示す乱数チェック処理を終了する。これに対して、ステップS207の処理で、CPU106がerrの値が「2」ではない(NO)と判断したときは、直ちにステップS214の処理を行い、その後、図21に示す乱数チェック処理を終了する。
また、ステップS204またはS205のいずれかの処理で、CPU106が、両者の値が一致しない(NO)と判断した場合は、乱数発生装置112において、乱数が正常に生成されているものとみなし、ステップS215へ進み、errの値を「0」にする。次いでCPU106は、ステップS244へ進み、RAM110に記憶されている取得後準異常フラグをオフにして、ステップS214の処理へ移行する。そして、ステップS201およびS202の処理によって取得された異常検出用乱数を、RAM110に記憶した後、図21に示す乱数チェック処理を終了する。
(異常判定の流れについての説明)
次に、上述した図21の乱数チェック処理による乱数の異常判定の流れについて、図22に示すタイミングチャートを参照して説明する。図22において、RST0は、遊技者がスタートスイッチ36を操作したことによって実行された乱数取得処理で取得した抽選用乱数を示す。RINT1は、抽選用乱数RST0を取得した乱数取得処理の終了後、最初に行われた図19の乱数チェック処理で取得された異常検出用乱数を示す。RINT2は、異常検出用乱数RINT1を取得した乱数チェック処理の次に実行された乱数チェック処理で取得された異常検出用乱数を示す。
次に、上述した図21の乱数チェック処理による乱数の異常判定の流れについて、図22に示すタイミングチャートを参照して説明する。図22において、RST0は、遊技者がスタートスイッチ36を操作したことによって実行された乱数取得処理で取得した抽選用乱数を示す。RINT1は、抽選用乱数RST0を取得した乱数取得処理の終了後、最初に行われた図19の乱数チェック処理で取得された異常検出用乱数を示す。RINT2は、異常検出用乱数RINT1を取得した乱数チェック処理の次に実行された乱数チェック処理で取得された異常検出用乱数を示す。
また、前述したように、図21の乱数チェック処理は、図10、図15および図17に各々示した乱数取得処理のいずれかと併せて実行されるものであり、図22に示す抽選用乱数RST(−1)および異常検出用乱数RINT0は、図10に示した乱数取得処理を行った場合において、図11(b−2)に示したRST(−1)および異常検出用乱数RINT0に対応するものである。その他の各種記号および矢印については、図11および図13のタイミングチャートに記した各種記号および矢印と同様の意味を有する。
なお、以下の説明では、図10に示した乱数取得処理を行っており、異常検出用乱数RINT1が取得された時点で異常判定回数errの値が「0」になっているものとした上で、(1)乱数取得処理において乱数準異常検出情報が「異常」だった場合と、(2)乱数準異常検出情報が「異常」だった場合とに分けて説明する。
(1)乱数準異常検出情報が「異常」だった場合
外部から割込信号が供給されたことに基づいて、図21のステップS201およびS202の処理によって異常検出用乱数が取得され、ステップS230で抽選用乱数取得完了フラグがオンになっている(YES)と判断されたときは、ステップS201およびS202によって取得された異常検出用乱数は、乱数取得処理の終了後に、最初に取得された異常検出用乱数RINT1ということになる。次にステップS250で、乱数準異常検出情報の内容が「正常」になっているか否かが判断される。ここで、図22(a)に示すように、乱数準異常検出情報の内容が「異常」になっているときは(図10の乱数取得処理を行っている場合は、準異常状態を意味する)、ステップS252で、抽選用乱数取得完了フラグがオフにされた後、ステップS204およびS205の処理によって、前回の乱数チェック処理で取得された異常検出用乱数RINT0の値と、上述した異常検出用乱数RINT1の値とが、比較される。
外部から割込信号が供給されたことに基づいて、図21のステップS201およびS202の処理によって異常検出用乱数が取得され、ステップS230で抽選用乱数取得完了フラグがオンになっている(YES)と判断されたときは、ステップS201およびS202によって取得された異常検出用乱数は、乱数取得処理の終了後に、最初に取得された異常検出用乱数RINT1ということになる。次にステップS250で、乱数準異常検出情報の内容が「正常」になっているか否かが判断される。ここで、図22(a)に示すように、乱数準異常検出情報の内容が「異常」になっているときは(図10の乱数取得処理を行っている場合は、準異常状態を意味する)、ステップS252で、抽選用乱数取得完了フラグがオフにされた後、ステップS204およびS205の処理によって、前回の乱数チェック処理で取得された異常検出用乱数RINT0の値と、上述した異常検出用乱数RINT1の値とが、比較される。
両者の値が一致した場合は(ステップS204,S205が共にYES)、ステップS206で異常判定回数errの値(「0」)に「1」が加算されて「1」となり、ステップS240で、取得後準異常フラグがオンになっているか否か判断される。取得後準異常フラグの初期状態はオフであるから(ステップS240,NO)、直ちにステップS214へ進み、異常検出用乱数RINT1の値をRAM110に記憶して、図21の乱数チェック処理を終了する。
そして、次の割込信号が供給されたことにより、図21の乱数チェック処理が行われると、ステップS201およびS202によって異常検出用乱数RINT2が取得される。次いで、前回の乱数チェック処理のステップS252で抽選用乱数取得完了フラグがオフにされているため、ステップS230の判断結果がNOとなり、ステップS204およびS205により、異常検出用乱数RINT1の値と、異常検出用乱数RINT2の値が比較される。ここで、両者の値が一致した場合は、ステップS206で異常判定回数errの値が「2」にされて、ステップS240,NO→S207,YES→S208→S209→S213と移行し、乱数異常検出情報が「異常」に更新される。すなわち、異常検出用乱数RINT0、RINT1、RINT2の値が全て一致したことによって、乱数異常検出情報が「異常」に更新される。なお、この場合は、ステップS254の処理が行われないため、遊技完遂フラグはオンにならない。よって、乱数取得処理によって取得された抽選用乱数RST0は、異常な乱数であると見なし、たとえ遊技中であっても直ちに単位遊技の進行が停止することになる(後述する)。
(2)乱数準異常検出情報が「正常」だった場合
外部から割込信号が供給されたことに基づいて、図21のステップS201〜S203の処理が行われ、ステップS230で抽選用乱数取得完了フラグがオンになっている(YES)と判断されたときは、ステップS201およびS202によって取得された異常検出用乱数は、乱数取得処理の終了後に、最初に取得された異常検出用乱数RINT1ということになる。次にステップS250で、乱数準異常検出情報の内容が「正常」になっているか否かが判断される。ここで、乱数準異常検出情報の内容が「正常」になっているとき(ステップS250,YES)は、ステップS232およびS234で、異常検出用乱数RINT1の値と、直前に行われた乱数取得処理によって取得された抽選用乱数RST0との値が比較される。
外部から割込信号が供給されたことに基づいて、図21のステップS201〜S203の処理が行われ、ステップS230で抽選用乱数取得完了フラグがオンになっている(YES)と判断されたときは、ステップS201およびS202によって取得された異常検出用乱数は、乱数取得処理の終了後に、最初に取得された異常検出用乱数RINT1ということになる。次にステップS250で、乱数準異常検出情報の内容が「正常」になっているか否かが判断される。ここで、乱数準異常検出情報の内容が「正常」になっているとき(ステップS250,YES)は、ステップS232およびS234で、異常検出用乱数RINT1の値と、直前に行われた乱数取得処理によって取得された抽選用乱数RST0との値が比較される。
このとき、図22(b)に示すように、両者の値が一致しなければ(ステップS232またはS234,NO)、ステップS238で抽選用乱数取得完了フラグがオフされ、ステップS214へ進み、異常検出用乱数RINT1の値をRAM110に記憶した後、図21の乱数チェック処理を終了する。この場合、ステップS213の処理が行われないため、乱数異常検出情報の内容は「正常」のまま維持される。これに対して、両者の値が一致した場合は(ステップS232およびS234が共にYES)、ステップS236で取得後準異常フラグがオンにされ、ステップS238で抽選用乱数取得完了フラグがオフされ、ステップS214へ進み、異常検出用乱数RINT1の値をRAM110に記憶した後、図21の乱数チェック処理を終了する。
そして、次の割込信号が供給されたことにより、図21の乱数チェック処理が行われると、ステップS201およびS202によって異常検出用乱数RINT2が取得され、ステップS230の判断結果がNOとなり、ステップS204およびS205により、異常検出用乱数RINT1の値と、異常検出用乱数RINT2の値が比較される。ここで、図22(c)に示すように、両者の値が一致した場合は、ステップS206で異常判定回数errの値が「2」にされて、ステップS240で取得後準異常フラグがオンになっているか否かが判定される。
ここでは、ステップS236の処理によって取得後準異常フラグがオンにされていることから、ステップS240の判断結果がYESとなり、ステップS242で取得後準異常フラグがオフにされた後、ステップS254で継続フラグがオンにされ、ステップS213で乱数異常検出情報が「異常」に更新される。すなわち、抽選用乱数RST0と、RINT1およびRINT2の値とが、全て一致したことによって乱数異常検出情報が「異常」に更新される。この場合、乱数取得処理で抽選用乱数が取得された時点では、乱数発生装置112において乱数が正常に生成されていたが、その後、何らかの原因によって生成された乱数に異常が生じたものとみなす。よって、直前に行われた乱数取得処理で取得された抽選用乱数RST0を有効なものとして扱い、少なくともそのとき進行中だった単位遊技に限って最後まで遊技に関する制御を行うべく、継続フラグがオンにされる。
なお、図22(a)および(c)において、異常検出用乱数RINT0が取得されてから、異常検出用乱数RINT2が取得されるまでの時間が、2つの連続する乱数周期2Fよりも短くなるように、かつ、異常検出用乱数RINT0、RINT1、RINT2および抽選用乱数RST0の各取得間隔が、乱数発生装置112における乱数更新周期よりも長くなるように、乱数取得処理における異常検出用乱数取得無効フラグのオン期間および割込周期が設定されているものとする。
このように、図21に示した乱数チェック処理では、乱数取得処理において、取得された抽選用乱数が正常か異常か(または異常の可能性があるか)の判定結果に応じて、その後、異常が確定的に検出された場合における遊技制御の停止時期を異ならせている。
<乱数チェック処理の変形例(3)>
次に図23に示すフローチャートを参照して、図12、図19および図21に示した乱数チェック処理とは異なる方法によって乱数の異常を判定する乱数チェック処理について説明する。なお、図23に示す乱数チェック処理も、図19および図21に示した乱数チェック処理と同様に、図10、図15および図17に各々示した乱数取得処理のいずれかと併せて実行されるものであるが、以下の説明では、図10に示した乱数取得処理と併せて実行されているものとする。さらに、図23に示すフローチャートにおいて、図12、図19および図21のフローチャートと同様の処理を行うステップについては、同じステップ番号を付与し、それらの詳しい説明は省略する。
次に図23に示すフローチャートを参照して、図12、図19および図21に示した乱数チェック処理とは異なる方法によって乱数の異常を判定する乱数チェック処理について説明する。なお、図23に示す乱数チェック処理も、図19および図21に示した乱数チェック処理と同様に、図10、図15および図17に各々示した乱数取得処理のいずれかと併せて実行されるものであるが、以下の説明では、図10に示した乱数取得処理と併せて実行されているものとする。さらに、図23に示すフローチャートにおいて、図12、図19および図21のフローチャートと同様の処理を行うステップについては、同じステップ番号を付与し、それらの詳しい説明は省略する。
まず、CPU106は、外部から割込信号が供給されると、乱数取得処理が実行中でなければ、すなわち異常検出用乱数取得無効フラグがオフになっていれば(ステップS200,NO)、ステップS201およびS202の処理により、異常検出用乱数を取得する。そして、CPU106は、ステップS203の処理により、乱数異常検出情報の内容を「正常」にセットした後、ステップS230で抽選用乱数取得完了フラグがオンになっているか否かを判断する。その結果、CPU106が、抽選用乱数取得完了フラグがオンになっている(YES)と判断したときは、上述したステップS201およびS202で取得した乱数が、乱数取得処理の終了後、最初に取得した異常検出用乱数であることを意味する。この場合、CPU106はステップS250へ進み、直前に行われた乱数取得処理における判定の結果、乱数準異常検出情報の内容が「正常」になっているか否かを判断する。ステップS250の判断処理で、CPU106が、乱数準異常検出情報の内容が「正常」になっている(YES)と判断したときは、RAM110に記憶されている取得直後異常判定フラグをオンにする(ステップS260)。
この取得直後異常判定フラグは、図23に示す乱数チェック処理により、乱数発生装置112が生成した乱数に異常が生じたと判定した際に、その判定が、乱数取得処理の終了直後に3回連続して実行された乱数チェック処理によって、取得された3つの異常検出用乱数に基づいてなされたものであるか否かを判断するためのフラグである。ここで、図23に示す乱数チェック処理において、乱数異常検出情報の内容を「異常」に更新する(すなわち、異常という判定を下した)際に、取得直後異常判定フラグがオンになっていた場合、その判定は、乱数取得処理の終了直後に連続して取得された3つの異常検出用乱数に基づいてなされたものであることを意味する。また、乱数異常検出情報の内容を「異常」に更新する際に、取得直後異常判定フラグがオフになっていた場合は、その判定は、乱数取得処理の終了直後に連続して取得された3つの異常検出用乱数に基づいてなされたものではないことを意味する。なお、取得直後異常判定フラグの初期状態はオフである。
CPU106は、ステップS260で取得直後異常判定フラグをオンにすると、次いでRAM110に記憶されている抽選用乱数取得完了フラグをオフにしてから(ステップS262)、ステップS215へ進んで異常判定回数errの値を「0」にクリアする。そして、ステップS214へ進んで、上述したステップS201およびS202で取得した異常検出用乱数をRAM110に記憶した後、図23に示す乱数チェック処理を終了する。よって、乱数取得処理の終了後、最初に実行する乱数チェック処理において、乱数準異常検出情報が「正常」だった場合は、異常検出用乱数の取得は行われるが、当該取得した異常検出用乱数と、過去に取得した異常検出用乱数との比較処理は行われない。
これに対して、CPU106が、ステップS250の判断処理で乱数準異常検出処理が「異常」になっている(NO)と判断した場合は、ステップS252へ進み、RAM110に記憶されている抽選用乱数取得完了フラグをオフにして、ステップS204の処理へ進む。また、上述したステップS230の判断処理で、CPU106が、抽選用乱数取得完了フラグがオフになっている(NO)と判断したときは、ステップS250の処理を行わず、直接、ステップS204の処理へ進む。そして、ステップS204で、CPU106は、RAM110に記憶されている、前回取得された異常検出用乱数の下位8ビットの値と、ステップS201で取得した異常検出用乱数の下位8ビットの値とが、一致するか否かを判断する。ここで、ステップS250の判断結果がNOとなった結果、ステップS204の処理へ移行した場合は、前回取得された異常検出用乱数は、直前に行われた乱数取得処理が開始される以前において、最後に取得していた異常検出用乱数となる。
CPU106が、前回取得された異常検出用乱数の下位8ビットの値と、ステップS201で取得した異常検出用乱数の下位8ビットの値とが、一致する(YES)と判断したときは、ステップS205へ進み、前回取得された異常判定用乱数の上位8ビットの値と、ステップS202で取得した異常判定用乱数の上位8ビットの値とが、一致したか否かを判断する。そして、CPU106が、両者の値が一致した(YES)と判断した場合は、ステップS206へ進んで乱数異常回数errの値に「1」を加算した後、ステップS207へ進み、乱数異常回数errの値が「2」になったか否かを判断する。CPU106が、乱数異常回数errの値が「2」になった(YES)と判断したときは、取得直後異常判定フラグがオンになっているか否かを判断する(ステップS264)。取得直後異常判定フラグがオンになっていた場合は、乱数取得処理の終了直後から、3回連続して取得された異常検出用乱数に基づいて、乱数発生装置112が生成した乱数に異常が生じていると判断し、かつ、当該乱数取得処理で抽選用乱数が取得された時点では、乱数発生装置112によって生成された乱数は正常であったとみなされる。
これにより、CPU106は、RAM110に記憶されている継続フラグのオン/オフ状態をオンにする(ステップS266)。この継続フラグは、図12および図21に示した乱数チェック処理における継続フラグと同様のフラグである。そして、CPU106は、RAM110に記憶されている取得直後異常判定フラグをオフにした後(ステップS268)、ステップS208へ進み異常判定回数errの値を「0」にクリアする。なお、ステップS264の判断処理で、取得直後異常判定フラグがオフになっている(NO)とCPU106が判断したときは、ステップS266およびS268の処理を行わずに、直接ステップS208の処理へ移行する。ステップS208の処理を行うと、CPU106は、ステップS209へ進んで終了フラグをオンにし、次いでステップS213へ進んで乱数異常検出情報の内容を「異常」に更新し、さらにステップS214へ進んで、上述したステップS201およびS202で取得した異常検出用乱数をRAM110に記憶した後、図24に示す乱数チェック処理を終了する。
なお、上述したステップS207の判断処理で、CPU106が、乱数異常回数errの値が「2」になっていない(NO)と判断したときは、直ちにステップS214に進んで、上述したステップS201およびS202で取得した異常検出用乱数をRAM110に記憶した後、図23に示す乱数チェック処理を終了する。
また、ステップS204またはS205のいずれかの処理で、CPU106が、両者の値が一致しない(NO)と判断した場合は、乱数発生装置112において、乱数が正常に生成されているものとみなし、RAM110に記憶されている取得直後異常判定フラグをオフにする(ステップS270)。そしてCPU106は、ステップS215へ進み、errの値を「0」にクリアし、さらにステップS214の処理へ進み、上述したステップS201およびS202の処理によって取得された異常検出用乱数を、RAM110に記憶した後、図23に示す乱数チェック処理を終了する。
(異常判定の流れについての説明)
次に、上述した図23の乱数チェック処理による乱数の異常判定の流れについて、図24に示すタイミングチャートを参照して説明する。以下では、図23の乱数チェック処理は、図10に示した乱数取得処理と併せて実行される場合について説明する。また、図24に示す各種記号および矢印は、図22に示した各種記号および矢印と同様の意味を有する。なお、RINT3は、異常検出用乱数RINT2を取得した乱数チェック処理の次に実行された乱数チェック処理で取得された異常検出用乱数を示す。
次に、上述した図23の乱数チェック処理による乱数の異常判定の流れについて、図24に示すタイミングチャートを参照して説明する。以下では、図23の乱数チェック処理は、図10に示した乱数取得処理と併せて実行される場合について説明する。また、図24に示す各種記号および矢印は、図22に示した各種記号および矢印と同様の意味を有する。なお、RINT3は、異常検出用乱数RINT2を取得した乱数チェック処理の次に実行された乱数チェック処理で取得された異常検出用乱数を示す。
さらに、以下の説明では、図23の乱数チェック処理において、異常検出用乱数RINT1が取得された時点では、異常判定回数errの値が「0」になっているものとした上で、(1)乱数取得処理において乱数準異常検出情報が「異常」だった場合と、(2)乱数準異常検出情報が「異常」だった場合とに分けて説明する。
(1)乱数準異常検出情報が「異常」だった場合
外部から割込信号が供給されたことに基づいて、図23のステップS201およびS202の処理によって異常検出用乱数が取得され、ステップS230で抽選用乱数取得完了フラグがオンになっている(YES)と判断されたときは、ステップS201およびS202によって取得された異常検出用乱数は、乱数取得処理の終了後に、最初に取得された異常検出用乱数RINT1ということになる。次にステップS250で、乱数準異常検出情報の内容が「正常」になっているか否かが判断される。ここで、図24(a)に示すように、乱数準異常検出情報の内容が「異常」になっているときは(図10の乱数取得処理を行っている場合は、準異常状態を意味する)、ステップS252で、抽選用乱数取得完了フラグがオフにされた後、ステップS204およびS205の処理によって、前回の乱数チェック処理で取得された異常検出用乱数RINT0の値と、上述した異常検出用乱数RINT1の値とが、比較される。
外部から割込信号が供給されたことに基づいて、図23のステップS201およびS202の処理によって異常検出用乱数が取得され、ステップS230で抽選用乱数取得完了フラグがオンになっている(YES)と判断されたときは、ステップS201およびS202によって取得された異常検出用乱数は、乱数取得処理の終了後に、最初に取得された異常検出用乱数RINT1ということになる。次にステップS250で、乱数準異常検出情報の内容が「正常」になっているか否かが判断される。ここで、図24(a)に示すように、乱数準異常検出情報の内容が「異常」になっているときは(図10の乱数取得処理を行っている場合は、準異常状態を意味する)、ステップS252で、抽選用乱数取得完了フラグがオフにされた後、ステップS204およびS205の処理によって、前回の乱数チェック処理で取得された異常検出用乱数RINT0の値と、上述した異常検出用乱数RINT1の値とが、比較される。
両者の値が一致した場合は(ステップS204,S205が共にYES)、ステップS206で異常判定回数errの値(「0」)に「1」が加算されて「1」となり、ステップS207の判断結果がNOとなるので、直ちにステップS214へ進み、異常検出用乱数RINT1の値をRAM110に記憶して、図23の乱数チェック処理を終了する。そして、次の割込信号が供給されたことにより、図23の乱数チェック処理が行われると、ステップS201およびS202によって異常検出用乱数RINT2が取得される。次いで、前回の乱数チェック処理のステップS252で抽選用乱数取得完了フラグがオフにされているため、ステップS230の判断結果がNOとなり、ステップS204およびS205により、異常検出用乱数RINT1の値と、異常検出用乱数RINT2の値が比較される。
ここで、両者の値が一致した場合は、ステップS206で異常判定回数errの値が「2」にされて、ステップS207の判定結果がYESとなるが、取得直後異常判定フラグがオフになっているため、次のステップS264における判断結果はNOとなり、ステップS264,NO→S208→S209→S213と移行して、乱数異常検出情報が「異常」に更新される。すなわち、異常検出用乱数RINT0、RINT1、RINT2の値が全て一致したことによって、乱数異常検出情報が「異常」に更新される。なお、この場合は、ステップS266の処理が行われないため、継続フラグはオンにならない。よって、乱数取得処理によって取得された抽選用乱数RST0は、異常な乱数であると見なし、たとえ遊技中であっても直ちに遊技の進行が停止することになる(後述する)。
(2)乱数準異常検出情報が「正常」だった場合
外部から割込信号が供給されたことに基づいて、図23のステップS201〜S203の処理が行われ、ステップS230で抽選用乱数取得完了フラグがオンになっている(YES)と判断されたときは、ステップS201およびS202によって取得された異常検出用乱数は、乱数取得処理の終了後に、最初に取得された異常検出用乱数RINT1ということになる。次にステップS250で、乱数準異常検出情報の内容が「正常」になっているか否かが判断される。ここで、図24(b)に示すように、乱数準異常検出情報の内容が「正常」になっているとき(ステップS250,YES)は、ステップS260およびS262で、各々、取得直後異常判定フラグがオン、抽選用乱数取得完了フラグがオフにされる。そしてステップS215で異常判定回数errの値がクリアされた後、ステップS214の処理により、異常検出用乱数RINT1がRAM110に記憶されて、図23の乱数チェック処理が終了する。
外部から割込信号が供給されたことに基づいて、図23のステップS201〜S203の処理が行われ、ステップS230で抽選用乱数取得完了フラグがオンになっている(YES)と判断されたときは、ステップS201およびS202によって取得された異常検出用乱数は、乱数取得処理の終了後に、最初に取得された異常検出用乱数RINT1ということになる。次にステップS250で、乱数準異常検出情報の内容が「正常」になっているか否かが判断される。ここで、図24(b)に示すように、乱数準異常検出情報の内容が「正常」になっているとき(ステップS250,YES)は、ステップS260およびS262で、各々、取得直後異常判定フラグがオン、抽選用乱数取得完了フラグがオフにされる。そしてステップS215で異常判定回数errの値がクリアされた後、ステップS214の処理により、異常検出用乱数RINT1がRAM110に記憶されて、図23の乱数チェック処理が終了する。
そして、次の割込信号が供給されたことにより、図23の乱数チェック処理が行われると、ステップS201およびS202によって異常検出用乱数RINT2が取得され、前回の乱数チェック処理で抽選用乱数取得完了フラグがオフにされていることから、ステップS230の判断結果がNOとなり、ステップS204およびS205により、異常検出用乱数RINT1の値と、異常検出用乱数RINT2の値が比較される。ここで、図24(b)に示すように、両者の値が一致しなければ(ステップS204またはS205,NO)、ステップS270で取得直後異常判定フラグがオフにされ、ステップS215で異常判定回数errの値がクリアされた後、ステップS214の処理により、異常検出用乱数RINT2がRAM110に記憶されて、図23の乱数チェック処理が終了する。この場合、ステップS213の処理が行われないため、乱数異常検出情報の内容は「正常」のまま維持される。
これに対して、ステップS204およびS205により、異常検出用乱数RINT1の値と、異常検出用乱数RINT2の値が一致すると判断された場合は、ステップS206の処理によって異常判定回数errの値が「1」となり、その後、ステップS207,NO→S214と移行して、異常検出用乱数RINT2がRAM110に記憶された後、図23の乱数チェック処理が終了する。ここで、前回行われた乱数チェック処理のステップS260によって、オンにされた取得直後異常判定フラグの状態は維持されている。
さらに、次の割込信号が供給されたことにより、図23の乱数チェック処理が行われると、図24(c)に示すように、ステップS201およびS202によって異常検出用乱数RINT3が取得され、ステップS230の判断結果がNOとなり、ステップS204およびS205により、異常検出用乱数RINT2の値と、異常検出用乱数RINT3の値が比較される。このとき、両者の値が一致すれば、ステップS206の処理によって異常判定回数errの値が「2」となり、ステップS264で、取得直後異常判定フラグがオンになっているか否かが判断される。
前回の乱数チェック処理が終了した時点で、取得直後異常判定フラグのオン状態が維持されていることから、ステップS264の判断結果はYESとなり、ステップS266で継続フラグがオンにされた後、ステップS268で取得直後異常判定フラグがオフにされる。そして、ステップS208で異常判定回数errの値がクリアされ、次いでステップS213で乱数異常検出情報の内容が「異常」に更新された後、ステップS214で異常検出用乱数RINT3がRAM110に記憶されて、図23の乱数チェック処理が終了する。
この場合、抽選用乱数RINT1、RINT2およびRINT3の値が全て一致したことによって乱数異常検出情報が「異常」に更新されるが、乱数取得処理によって抽選用乱数が取得された時点では、乱数発生装置112は乱数を正常に生成していたものとみなす。よって、直前に行われた乱数取得処理で取得された抽選用乱数RST0を有効なものとして扱い、少なくともそのとき進行中だった単位遊技については、最後まで遊技に関する制御を行うべく、継続フラグがオンにされる。
なおここで、図24(a)および(c)において、異常検出用乱数RINT1が取得されてから、異常検出用乱数RINT3が取得されるまでの時間が、2つの連続する乱数周期2Fよりも短くなるように、かつ、異常検出用乱数RINT1、RINT2およびRINT3の各取得間隔が、乱数発生装置112における乱数更新周期よりも長くなるように、割込周期が設定されているものとする。
このように、図23に示した乱数チェック処理においても、図21に示した乱数チェック処理と同様、乱数取得処理において、取得された抽選用乱数が正常か異常か(または異常の可能性があるか)の判定結果に応じて、その後、異常が確定的に検出された場合における遊技制御の停止時期を異ならせている。
以上説明した各種変形例において、図17に示した乱数取得処理では、抽選用乱数RST0(比較用乱数RCMP0と同じ)の異常判定を、その後取得した比較用乱数RCMP1およびRCMP2と比較することで行っている(図18参照)。また、図19に示した乱数チェック処理では、乱数取得処理で取得した抽選用乱数RST0が異常であるか否かの判定を、その乱数取得処理後の割込処理で取得された異常検出用乱数RINT1およびRINT2と比較することで行っている(図20参照)。また、図21および図23に示した乱数チェック処理では、乱数取得処理後の割込処理で取得された異常検出用乱数RINT1およびRINT2、RINT1または〜3に基づいて、継続フラグのオン/オフ制御を行っている(図22および図24参照)。これらの異常判定および継続フラグのオン/オフ制御は、遊技者がスタートスイッチ36を操作してからストップスイッチ37L,37C,37Rの操作が可能となるまでの間に完了させることができる。
例えば、図23に示した乱数チェック処理では、乱数取得処理の終了後に取得された3つの異常検出用乱数RINT1〜3に基づいて、継続フラグのオン/オフ制御が行われているが、この制御は、乱数取得処理に続いて行われる役抽選処理(図9、ステップS8参照)およびリール変動・停止処理(図9、ステップS9参照)によって開始される各リールの加速期間(247.34ミリ秒)以内に十分完了させることができる。
また、図21および図23に示した乱数チェック処理のステップS250では、図10に示した乱数取得処理において判断された乱数準異常検出情報に基づく判断を行っていたが、図10において最初に行われる比較(直前に取得された異常検出用乱数と、今回取得された抽選用乱数との比較)の結果に基づいて、図21および図23におけるステップS250の判断処理を行ってもよい。この場合、図10において、直前に取得された異常検出用乱数の値と、今回取得された抽選用乱数の値とが一致しなければ、ステップS250の判断結果がYESとなって、図21の乱数チェック処理ではステップS232の処理へ移行し、図23の乱数チェック処理ではステップS260の処理へ移行する。また、図10において、直前に取得された異常検出用乱数の値と、今回取得された抽選用乱数の値とが一致すれば、ステップS250の判断結果がNOとなって、図21および図23の乱数チェック処理においてステップS252の処理へ移行する。
≪異常発生処理の説明≫
次に、CPU106が、1.49ミリ秒ごとに外部から供給される割込信号に応じて実行する割込処理の中で行われる、異常発生処理の詳細な内容について、図25に示すフローチャートを参照して説明する。
次に、CPU106が、1.49ミリ秒ごとに外部から供給される割込信号に応じて実行する割込処理の中で行われる、異常発生処理の詳細な内容について、図25に示すフローチャートを参照して説明する。
スロットマシン10では、異常を検出すべき項目(以下、異常検出項目という)が予め定められており、各異常検出項目について随時、異常が発生したか否かをチェックしている。異常検出項目としては、従来のスロットマシンと同様に、例えば、遊技者による不正行為に関するもの(メダルの不正な投入など)、スロットマシン10の各部の故障に関するもの(RAMの読み書きができないなど)、遊技上好ましくない状態に関するもの(ホッパーに貯留されているメダルが無いなど)など多岐に渡っている。各異常検出項目に関するチェック結果は、各々、異常検出情報としてRAM110に適宜記憶される。図10の乱数取得処理における乱数準異常検出情報、および図12の乱数チェック処理の乱数異常検出情報も、そのような異常検出情報の1つである。
図25に示す異常発生処理は、各異常検出情報の内容をチェックし、異常が発生したと認められた場合に、その旨を報知すると共に、スロットマシン10における遊技の進行を停止させるものである。
まず、CPU106は、予め定められた順序に従って、RAM110に記憶されている各異常検出情報のうち1つの異常検出情報の内容を参照する(ステップS300)。そして、参照した異常検出情報の内容が「異常」を示すものであるか否かを判断する(ステップS302)。参照した異常検出情報の内容が「正常」を示すものである(NO)場合は、未だ参照していない異常検出情報があるか否かを判断し(ステップS304)、未だ参照していない異常検出情報がある(YES)場合は、ステップS300の処理に戻り、予め定められた順序に従って次の異常検出情報の内容を参照する。
これに対して、ステップS302の処理で、参照した異常検出情報の内容が「異常」を示すものである(YES)場合は、「異常」を示す異常検出情報が、図12の乱数チェック処理によるチェック結果を示す乱数異常検出情報であるか否かを判断する(ステップS306)。CPU106が、乱数異常検出情報でない(NO)と判断したときは、ステップS300で参照した異常検出情報に対応するエラーコードを、ROM108から読み出し、RAM110の所定の記憶領域に記憶する(ステップS308)。そして、ステップS304の処理へ移行して、未だ参照していない異常検出情報があるか否かを判断する。このようにして、ステップS300〜S308の処理を繰り返して行い、予め定められている全ての異常検出情報の内容をチェックしていく。この過程において、(1)全ての異常検出情報が「正常」である場合、(2)「異常」を示す異常検出情報の中に乱数異常検出情報が含まれていない場合、(3)「異常」を示す異常検出情報の中に乱数異常検出情報が含まれている場合とで処理の内容が異なっているため、以下の説明では、各々の場合に分けて説明する。
(1)全ての異常検出情報が「正常」である場合
この場合、全ての異常検出情報の内容をチェックする処理の流れは、ステップS300→S302(NO)→S304(YES)→S300の処理を繰り返し行うことになる。そして、全ての異常検出情報の内容をチェックし終えると、ステップS304の判断結果がNOになって、CPU106は、RAM110の所定の記憶領域にエラーコードが記憶されているか否かを判断する(ステップS310)。この場合、ステップS308の処理が行われることは無いため、RAM110にエラーコードが記憶されておらず、ステップS322の判断結果がNOとなって、図25の異常発生処理が終了する。そして、次の割込処理が行われる際に、再び図25の異常発生処理が行われる。
この場合、全ての異常検出情報の内容をチェックする処理の流れは、ステップS300→S302(NO)→S304(YES)→S300の処理を繰り返し行うことになる。そして、全ての異常検出情報の内容をチェックし終えると、ステップS304の判断結果がNOになって、CPU106は、RAM110の所定の記憶領域にエラーコードが記憶されているか否かを判断する(ステップS310)。この場合、ステップS308の処理が行われることは無いため、RAM110にエラーコードが記憶されておらず、ステップS322の判断結果がNOとなって、図25の異常発生処理が終了する。そして、次の割込処理が行われる際に、再び図25の異常発生処理が行われる。
(2)「異常」を示す異常検出情報の中に乱数異常検出情報が含まれていない場合
この場合、全ての異常検出情報の内容をチェックする処理の流れは、ステップS300→S302(NO)→S304(YES)→S300またはステップS300→S302(YES)→S306(NO)→S308→S304(YES)→S300の処理を繰り返し行うことになる。そして、全ての異常検出情報の内容をチェックし終えると、ステップS304の判断結果がNOになって、CPU106は、ステップS310の判断処理へ移行し、RAM110の所定の記憶領域にエラーコードが記憶されているか否かを判断する。この場合、すでにステップS308の処理が行われており、RAM110には何らかのエラーコードが記憶されていることになるため、ステップS310の判断結果はYESとなる。
この場合、全ての異常検出情報の内容をチェックする処理の流れは、ステップS300→S302(NO)→S304(YES)→S300またはステップS300→S302(YES)→S306(NO)→S308→S304(YES)→S300の処理を繰り返し行うことになる。そして、全ての異常検出情報の内容をチェックし終えると、ステップS304の判断結果がNOになって、CPU106は、ステップS310の判断処理へ移行し、RAM110の所定の記憶領域にエラーコードが記憶されているか否かを判断する。この場合、すでにステップS308の処理が行われており、RAM110には何らかのエラーコードが記憶されていることになるため、ステップS310の判断結果はYESとなる。
これによりCPU106は、まず、外部集中端子基板118(図3および図5参照)を介して、何らかの異常が発生したことを示す異常発生信号を、外部の管理コンピュータなどへ出力する(ステップS312)。そしてCPU106は、接続線120(図3および図4参照)を介してRAM110に記憶されている全てのエラーコードを副制御回路200へ送信する(ステップS314)。次に、CPU106は、LED駆動回路116(図3参照)により、RAM110に記憶されている全てのエラーコードを、順次切り替えつつ獲得枚数表示器28(図1参照)に表示させる(ステップS316)。
そして、CPU106は、RAM110に記憶されている継続フラグの状態が、オンになっているかを判断する(ステップS318)。ここで、継続フラグは、図12、図19、図21または図23に示した乱数チェック処理によってオンにされるものであり、「異常」を示す異常検出情報の中に、乱数異常検出情報が含まれていないことから、継続フラグの状態はオフになっている。このため、ステップS318の判断結果はNOとなり、CPU106は、単位遊技中断処理を行う(ステップS320)。この処理の内容としては、スロットマシン10の内部にメダルセレクタのブロッカをオフにしてメダルの投入ができないようにし、スロットマシン10に設けられた各種ランプ類を消灯するとともに、リール40L,40C,40Rが回転していた場合は直ちに停止させるなどの処理を行う。そして、単位遊技中断処理を行った後は待機状態となる。
そして、待機状態になっているときに、遊技者によって図1に示した1−ベットスイッチ34、最大ベットスイッチ35、スタートスイッチ36、またはストップスイッチ37L,37C,37Rが操作され、主制御回路100に対して、メダル投入信号、遊技開始信号または停止指示信号が出力されたとしても、これらの信号は無視され、各スイッチの操作に応じた遊技制御が行われなくなる。なお、この待機状態から復帰するためのリセットスイッチをスロットマシン10の内部に設け、リセットスイッチが操作されると、図9に示したメインルーチンのステップS1から改めて処理を開始するように構成してもよい。
(3)「異常」を示す異常検出情報の中に乱数異常検出情報が含まれている場合
ステップS302の判断処理により、「異常」を示す異常検出情報である(YES)と判断され、ステップS306の判断処理において、参照した異常検出情報が乱数異常検出情報である(YES)と判断されると、CPU106は、全ての異常検出情報に関する内容のチェックを完了させることなく、直ちに外部集中端子基板118を介して外部の管理コンピュータなどに対し、乱数発生装置112が生成した乱数に異常が生じたことを示す乱数異常信号を出力する(ステップS322)。そして、CPU106は、接続線120を介して、乱数発生装置112が生成した乱数に異常が生じたことを示すエラーコードを副制御回路200へ送信する(ステップS324)。
ステップS302の判断処理により、「異常」を示す異常検出情報である(YES)と判断され、ステップS306の判断処理において、参照した異常検出情報が乱数異常検出情報である(YES)と判断されると、CPU106は、全ての異常検出情報に関する内容のチェックを完了させることなく、直ちに外部集中端子基板118を介して外部の管理コンピュータなどに対し、乱数発生装置112が生成した乱数に異常が生じたことを示す乱数異常信号を出力する(ステップS322)。そして、CPU106は、接続線120を介して、乱数発生装置112が生成した乱数に異常が生じたことを示すエラーコードを副制御回路200へ送信する(ステップS324)。
次に、CPU106は、LED駆動回路116により、乱数発生装置112が生成した乱数に異常が生じたことを示すエラーコードを獲得枚数表示器28(図1参照)に表示させる(ステップS326)。そして、CPU106は、ステップS318の処理へ移行して、RAM110に記憶されている継続フラグの状態がオンになっているか否かを判断する。ここで、継続フラグがオンになっている(YES)と判断したときは、そのまま図25の異常発生処理を終了する。これにより、乱数異常検出情報が「異常」を示していたとしても、継続フラグがオンになっていた場合は、そのまま単位遊技が継続する。これに対して、CPU106は、継続フラグがオフになっている(NO)と判断したときは、ステップS320へ進み、単位遊技中断処理を行った後、待機状態となる。
このように、乱数異常検出情報が「異常」を示していることが判明すると、CPU106は、そのことを最優先で、外部の管理コンピュータおよび副制御回路200へ通知し、獲得枚数表示器28にその旨のエラーコードを表示することで、遊技者などに報知する。そして、これらの処理を終えると、継続フラグの状態に応じて、スロットマシン10における遊技の進行を制御する。
上述した異常発生処理では、各異常検出項目に対応する異常検出情報の内容を順次チェックし、乱数異常検出情報の内容が「異常」になっていた場合は、最優先で乱数異常信号を外部へ出力し、エラーコードを副制御回路200へ送信していた。このような異常発生処理の変形例として、例えば、図25のステップS302の判断処理で、CPU106が異常検出情報の内容が「異常」になっていると判断するごとに(すなわちステップS302,YES)、その異常検出情報に対応する異常信号およびエラーコードを、外部および副制御回路200へ送信するようにしてもよい。
ここで、主制御回路100から外部および副制御回路200に対して送信される異常信号またはエラーコードの信号線が、送信する異常の種類に応じて1本または1対ずつ、複数設けられている場合は、異常を検出するごとに、対応する信号線に異常信号およびエラーコードを送信すればよい。これに対して、異常信号またはエラーコードを送信するための信号線が1本(または1対)しか設けられていなかった場合は、図25のステップS302の判断処理で、CPU106が異常検出情報の内容が「異常」と判断したときに、その異常検出情報が乱数異常検出情報でなければ、予め定められた時間だけ、異常信号を外部の管理コンピュータおよび副制御回路200へ出力し、乱数異常検出情報であった場合は、上述したリセットスイッチが操作されるまで、異常信号を外部の管理コンピュータおよび副制御回路200へ出力し続けるように構成するとよい。
また、この様な場合の他の方法としては、異常検出情報の種類ごとに、予め固有の異常信号の出力時間(オン時間)を定めておくとよい。そして、図25のステップS302の判断処理で、CPU106が異常検出情報の内容が「異常」と判断したときは、その異常検出情報に対応する時間だけ異常信号を出力するように構成する。これにより、外部の管理コンピュータまたは副制御回路200は、異常信号がオンになっている時間を計測することで、いずれの異常が発生したのかを判別することができる。
なお、この場合、複数の異常検出情報が「異常」を示したときに、外部の管理コンピュータまたは副制御回路200が異常の種類を判別できるように、1つの異常検出情報に対応する異常信号を出力した後は、一定時間のインターバルをおいてから、次の異常信号を出力するように構成するとよい。また、この場合において、「異常」を示す異常検出情報が複数存在し、それら異常検出情報の中に乱数異常検出情報が含まれているときは、乱数異常検出情報が「異常」であることを示す異常信号を最初に送信するようにしてもよい。また、既に他の異常検出情報に対応する異常信号を出力している状況で、乱数異常検出情報が「異常」となった際には、現在出力されている異常信号の出力を中止または変更することにより、乱数に異常が生じたことを示す異常信号を優先して出力してもよい。
≪電源断処理および電源投入処理の説明≫
上述した乱数取得処理および乱数チェック処理によって、乱数値の更新に異常が生じたことが検出された場合は、スロットマシン10の電源を一旦オフにした後、再度オンにして、正常な乱数の復旧を試みることが考えられる。そこで、以下ではスロットマシン10の電源をオフにしたときに行われる電源断処理と、電源をオンにした直後に行われる電源投入処理と、について説明する。
上述した乱数取得処理および乱数チェック処理によって、乱数値の更新に異常が生じたことが検出された場合は、スロットマシン10の電源を一旦オフにした後、再度オンにして、正常な乱数の復旧を試みることが考えられる。そこで、以下ではスロットマシン10の電源をオフにしたときに行われる電源断処理と、電源をオンにした直後に行われる電源投入処理と、について説明する。
<電源断処理の説明>
まず、上述した電源断処理の内容について、図26に示すフローチャートを参照して説明する。
まず、スロットマシン10の電源がオフにされると、CPU106は、外部から入力される割込信号によって実行される割込処理を禁止する(ステップS350)。そして、CPU106内の各種レジスタ内に格納されているデータを、RAM110に予め定めておいたスタックエリアに保存する(ステップS352)。また、スタックエリアに保存するデータには、例えば、図10、図15または図17の乱数取得処理におけるステップS132の処理によってRAM110に記憶された抽選用乱数の値、図12、図19または図21の乱数チェック処理におけるステップS214の処理によってRAM110に記憶された異常検出用乱数の値、現在の遊技状態を示す情報、および役抽選の結果を示す情報や、前述した継続フラグおよび終了フラグを含む各種フラグのオン/オフ状態など、スロットマシン10の電源をオフにしたときの状態から、再度遊技を開始するために必要な情報が含まれている。次にCPU106は、スタックポインタが示している値(アドレス)をRAM110のスタックポインタ退避エリアに保存する(ステップS354)。次いで、CPU106は、RAM110の全記憶領域についてチェックサムを算出し、RAM110の所定の記憶領域に保存する(ステップS356)。そして、以後のRAM110への書き込みを禁止して(ステップS358)、図26に示す電源断処理を終了する。
まず、上述した電源断処理の内容について、図26に示すフローチャートを参照して説明する。
まず、スロットマシン10の電源がオフにされると、CPU106は、外部から入力される割込信号によって実行される割込処理を禁止する(ステップS350)。そして、CPU106内の各種レジスタ内に格納されているデータを、RAM110に予め定めておいたスタックエリアに保存する(ステップS352)。また、スタックエリアに保存するデータには、例えば、図10、図15または図17の乱数取得処理におけるステップS132の処理によってRAM110に記憶された抽選用乱数の値、図12、図19または図21の乱数チェック処理におけるステップS214の処理によってRAM110に記憶された異常検出用乱数の値、現在の遊技状態を示す情報、および役抽選の結果を示す情報や、前述した継続フラグおよび終了フラグを含む各種フラグのオン/オフ状態など、スロットマシン10の電源をオフにしたときの状態から、再度遊技を開始するために必要な情報が含まれている。次にCPU106は、スタックポインタが示している値(アドレス)をRAM110のスタックポインタ退避エリアに保存する(ステップS354)。次いで、CPU106は、RAM110の全記憶領域についてチェックサムを算出し、RAM110の所定の記憶領域に保存する(ステップS356)。そして、以後のRAM110への書き込みを禁止して(ステップS358)、図26に示す電源断処理を終了する。
<電源投入処理の説明>
次に、上述した電源投入処理の内容について、図27に示すフローチャートを参照して説明する。
まず、スロットマシン10の電源がオンにされると、CPU106は、RAM110において、上述したスタックエリア、スタックポインタ退避エリアおよびワークエリア以外の記憶領域のうち、使用されていないアドレスに、仮のスタックポインタを設定する(ステップS370)。このように、仮のスタックポインタを設定することで、以降の処理を行うことができるようにする。次にCPU106は、ROM108の全記憶領域についてのチェックサムを算出し(ステップS372)、その算出結果が、予め記憶していた値と一致するか否かを判断する(ステップS374)。
次に、上述した電源投入処理の内容について、図27に示すフローチャートを参照して説明する。
まず、スロットマシン10の電源がオンにされると、CPU106は、RAM110において、上述したスタックエリア、スタックポインタ退避エリアおよびワークエリア以外の記憶領域のうち、使用されていないアドレスに、仮のスタックポインタを設定する(ステップS370)。このように、仮のスタックポインタを設定することで、以降の処理を行うことができるようにする。次にCPU106は、ROM108の全記憶領域についてのチェックサムを算出し(ステップS372)、その算出結果が、予め記憶していた値と一致するか否かを判断する(ステップS374)。
ステップS372で算出したチェックサムの値が、予め記憶していた値と一致しなければ、ROM108に異常が生じている(NO)とみなし、以下の処理を中止する。これに対して、ステップS372で算出したチェックサムの値と、予め記憶していた値とが、一致した(YES)ときは、ROM108は正常であるとみなし、次にCPU106は、スロットマシン10の筐体内部に設けられたリセットスイッチ(図示略)が、オンになっているか否かを判断する(ステップS376)。リセットスイッチがオンになっていない(NO)とCPU106が判断したときは、RAM110の全記憶領域について、チェックサムを算出する(ステップS378)。
そして、CPU106は、ステップS378で算出したチェックサムの値と、図26に示した電源断処理のステップS358の処理によって算出されたチェックサムの値と、の値を比較し、一致するか否かを判断する(ステップS380)。双方の値が一致しなかった(NO)場合は、RAM110に異常が生じているとみなし、その旨を示すエラーコードを図1に示した獲得枚数表示器28に表示して(ステップS382)、以下の処理を中止する。これに対して、双方の値が一致した(YES)場合、CPU106は、RAM110のスタックポインタ退避エリアに保存されていた値をスタックポインタとして使用する(ステップS384)。次にCPU106は、外部から供給される割込信号に従った割込処理を許可し(ステップS386)、当該割込処理に含まれる乱数チェック処理(図12等参照)などを開始する(ステップS388)。そして、図27に示した電源投入処理を終了し、以下、単位遊技を行うための処理へ移行する。
ここで、ステップS382の処理によって、RAM110の異常を示すエラーコードが表示された場合、ユーザは、RAMクリアを行うことによってスロットマシン10が正常に作動するか否かを試みることも可能である。この場合、ユーザは、上述したリセットスイッチをオンにしながら電源をオンにする。この場合、CPU106は、上述したステップS370〜S374の処理を行い、ステップS374における判断結果がYESとなった場合、ステップS376において、リセットスイッチがオンになっている(YES)と判断する。これにより、CPU106は、所定のスタックポインタをセットして(ステップS390)、RAM110の記憶領域にデータ「0」を書き込んで、RAM110の初期化を行う(ステップS392)。そして、ステップS386の処理へ移行して、外部から供給される割込信号に基づく割込処理を許可し、図12等に示した乱数チェック処理を開始する。
[乱数発生装置の他の形態]
次に図28および図29を参照して、図5に示した乱数発生器112とは異なる形態の乱数発生装置の形態について説明する。ここで、図28は、本形態における乱数発生装置112の機能ブロック図であり、この図において、図3に示した主制御回路100の各部と共通する構成については、同一の符号を付し、その詳しい説明は省略する。また、図29は、図28に示す乱数生成回路132をデジタルICによって構成した場合の回路図を示している。
次に図28および図29を参照して、図5に示した乱数発生器112とは異なる形態の乱数発生装置の形態について説明する。ここで、図28は、本形態における乱数発生装置112の機能ブロック図であり、この図において、図3に示した主制御回路100の各部と共通する構成については、同一の符号を付し、その詳しい説明は省略する。また、図29は、図28に示す乱数生成回路132をデジタルICによって構成した場合の回路図を示している。
図28に示すように、本形態における乱数発生装置112は、乱数クロック発生回路130と、乱数生成回路132と、クロック反転回路134と、第1ラッチ信号出力回路136と、第2ラッチ信号出力回路138とで構成されている。乱数クロック発生回路130は、図5に示した乱数クロック発生手段410に対応するものであり、例えば、7.15909MHzの乱数発生用クロック信号CK(デューティ比50%の矩形波)を生成し、乱数生成回路132およびクロック反転回路134へ各々供給する。乱数発生回路132は、クロックカウント回路140と、カウント値ラッチ回路142とからなっており、クロックカウント回路140は、乱数クロック発生回路130から供給される乱数発生用クロック信号CKの立ち上がりタイミングに応じて、16ビットの数値(10進数で0〜65535)を1ずつカウントする。また、カウント値が65535になると、再び0からカウントを行い、0〜65535の値を繰り返しカウントしている。
カウント値ラッチ回路142は、第1ラッチ信号出力回路136および第2ラッチ信号出力回路138から各々出力されるラッチ信号LT1およびLT2に従って、クロックカウント回路140がカウントしている16ビットの数値をサンプリングする。また、外部のアドレスデコーダ152から読取信号RD1およびRD2が供給されると、サンプリングした16ビットの数値を上位8ビットと、下位8ビットとに分けて、入出力バス104のデータバスDATへ出力する。ここで、カウント値ラッチ回路142は、読取信号RD1が供給されたときに、下位8ビットのデータを出力し、読取信号RD2が供給されたときに、上位8ビットのデータを出力している。
クロック反転回路134は、NOTゲートによって構成され、乱数クロック発生回路130から供給される乱数発生用クロック信号CKの論理を反転させて、第1ラッチ信号出力回路136および第2ラッチ信号出力回路138へ各々供給する。以下では、乱数発生用クロック信号CKの論理を反転させた信号を反転クロック信号¬CKと表記する。第1ラッチ信号出力回路136は、インターフェイス回路102から、スタートスイッチ36が操作されたときに出力される遊技開始信号が出力されると、当該遊技開始信号を、クロック反転回路134から供給された反転クロック信号¬CKの立ち上がりタイミングに同期させ、ラッチ信号LT1としてカウント値ラッチ回路142へ出力する。
なお、インターフェイス回路102から出力された遊技開始信号は、バッファ回路154にも出力されており、バッファ回路154は、アドレスデコータ152から読取信号RD3が供給されると、入出力バス104のデータバスDATへ、遊技開始信号を出力する。なお、バッファ回路154の出力は8ビットになっているが、これらのビットのうち予め定められている1つのビットが、遊技開始信号用に割り当てられている。この遊技開始信号は、データバスDATを介してCPU106に取り込まれ、スタートレバー36が操作されたか否かの判断(図9のステップS5参照)に用いられる。
アドレスデコータ152は、CPU106から入出力バス104のアドレスバスADDに対して、特定のアドレスデータが出力されると、そのアドレスデータをデコードして、読取信号RD1、RD2またはRD3を出力する。すなわち、カウント値ラッチ回路142から、下位8ビットのデータを読み取るためのアドレス値、上位8ビットのデータを読み取るためのアドレス値、および、バッファ回路154から遊技開始信号を読み取るためのアドレス値が、予め定められており、これらのアドレス値を示すアドレスデータが、アドレスバスADDに出力されると、アドレスデコータ152は、そのアドレスデータをデコードして、各アドレス値に応じて読取信号RD1、RD2またはRD3を出力する。
第2ラッチ信号出力回路138は、CPU106から出力されるラッチ信号を、クロック反転回路134から供給された反転クロック信号¬CKの立ち上がりタイミングに同期させ、ラッチ信号LT2としてカウント値ラッチ回路142へ出力する。ここで、CPU106からラッチ信号が出力されるタイミングは、図12に示した乱数チェック処理において、ステップS201およびS202に相当する処理が行われる直前(換言すると、ステップS200の判断結果がNOとなった直後)とする。そして、CPU106は、ステップS201の処理で、入出力バス104のアドレスバスADDに対して、下位8ビットのデータを読み取るためのアドレス値を示すアドレスデータを出力し、これに応じてカウント値ラッチ回路142からデータバスDATへ出力されたデータ(16ビットの乱数の下位8ビット)をCPU106が取り込む。また、ステップS202の処理で、入出力バス104のアドレスバスADDに対して、上位8ビットのデータを読み取るためのアドレス値を示すアドレスデータを出力し、これに応じてカウント値ラッチ回路142からデータバスDATへ出力されたデータ(16ビットの乱数の上位8ビット)をCPU106が取り込む。
上述したCPU106から出力されるラッチ信号は、基準クロック発生回路150から供給される基準クロック信号のタイミングに基づいて出力される。ここで、基準クロック発生回路150が発生する基準クロック信号と、乱数クロック発生回路130が発生する乱数発生用クロック信号CKとは、互いに周期が異なっており、かつ非同期の関係になっている。このように、互いのクロック信号の周期を異ならせ、かつ、非同期とすることで、役抽選に用いられる抽選用乱数を生成する乱数生成回路132で用いられている乱数発生用クロック信号CKの周期を、外部から察知されにくくすることができるという利点が得られる。また、基準クロック信号と、乱数発生用クロック信号CKとを、同じ周期または互いに同期するクロックとし、または、単一のクロックを用いた場合でも、CPU106に供給するクロック信号、または乱数生成回路132に供給するクロック信号のいずれか一方を分周すれば、同様の利点を得ることができる。
次に図29を参照して、図28に示した乱数生成回路132をデジタルICによって構成する場合の一例について説明する。この図において、図28に示した構成および信号名称に対応するものには、同一の符号または名称を付与し、その詳しい説明を省略する。また、図28に示したアドレスデコーダ152から出力される読取信号RD1〜RD3は、いずれも負論理の信号になっているものとする。よって以下では、負論理の信号であることを示すために各信号名称の前に「¬」という記号を付して表記する。これに対して、図28に示した第1ラッチ信号出力回路136および第2ラッチ信号出力回路138から出力されるラッチ信号LT1,LT2はいずれも正論理の信号になっているものとする。
図29において、クロックカウント回路140は、4個の4ビットインクリメントカウンタ(以下、単にカウンタという)IC1〜IC4をカスケード接続してなり、カウンタIC1〜IC4の各クロック端子CKに供給される乱数発生用クロック信号CKの立ち上がりエッジによって、16ビットのカウント値(D0〜D15)を「1」ずつインクリメントしていく。ここで、16ビットの数値の内、最下位の4ビット(D0〜D3)をカウンタIC1がカウントし、以下、その上位4ビット(D4〜D7)をカウンタIC2が、さらにその上位4ビット(D8〜D11)をカウンタIC3が、そして、最上位の4ビット(D12〜D15)をカウンタIC4が、各々カウントしている。
そして、カウンタIC1が2進数で「1111」をカウントするごとに、カウンタIC1のCO端子からカウンタIC2のENT端子へ、桁上がり信号が出力される。この桁上がり信号は、カウンタIC1におけるカウント値が「1111」になってから、次の乱数発生用クロック信号CKでカウント値が「0000」となるまでの間、出力される。また、カウンタIC2は、ENT端子に桁上がり信号が入力されている間に供給された乱数発生用クロック信号CKの立ち上がりエッジによって、カウント値を「1」インクリメントする。ここで、カウンタIC1から出力される桁上がり信号は、カウンタIC1が「1111」をカウントしたときの、乱数発生用クロック信号CKの立ち上がりエッジよりも僅かに遅れて立ち上がり、次にカウンタIC1が「0000」をカウントしたときの、乱数発生用クロック信号CKの立ち上がりエッジよりも僅かに遅れて立ち下がる。よって、カウンタIC2は、カウンタIC1が「0000」をカウントしたときの、乱数発生用クロック信号CKの立ち上がりエッジより、自らのカウント値を「1」インクリメントする。このように、16ビットの数値の内、より下位の4ビットをカウントするカウンタのCO端子と、その上位4ビットをカウントするカウンタのENT端子とを接続することで、4つのカウンタIC1〜IC4によって16ビットの値のカウントが可能となる。
次に、カウント値ラッチ回路142は、8ビットのD−ラッチ回路IC5,IC6と、8ビットの3ステートノンインバータIC7,IC8と、によって構成されている。D−ラッチ回路IC5,IC6は、8つの入力端子D1〜D8と、8つの出力端子Q1〜Q8と、クロック端子CLOCKを有し、クロック端子CLOCKに供給されるラッチ信号が立ち上がったときに、入力端子D1〜D8に供給されていた8ビットのデータをラッチして、出力端子Q1〜Q8に出力する。そして、次にクロック端子CLOCKに供給されるラッチ信号が立ち上がるまで、入力端子D1〜D8に供給されている8ビットのデータが変化しても、出力端子Q1〜Q8に出力された8ビットのデータは維持される。
3ステートノンインバータIC7,IC8は、8つの入力端子A1〜A8と、8つの出力端子B1〜B8と、ゲート端子G1を有し、ゲート端子G1に供給される信号がハイレベルになっているときは、出力端子B1〜B8がハイ−インピーダンス状態となり、ゲート端子G1に供給される信号がローレベルになっているときは、入力端子A1〜A8に供給されている8ビットのデータをそのまま出力端子B1〜B8からデータバスDATへ出力する。
そして、D−ラッチ回路IC5の入力端子D1〜D4は、カウンタIC1の出力端子QA〜QDと接続され、D−ラッチ回路IC5の入力端子D5〜D8は、カウンタIC2の出力端子QA〜QDと接続されている。同様に、D−ラッチ回路IC6の入力端子D1〜D4は、カウンタIC3の出力端子QA〜QDと接続され、D−ラッチ回路IC6の入力端子D5〜D8は、カウンタIC4の出力端子QA〜QDと接続されている。また、D−ラッチ回路IC5の出力端子Q1〜Q8は、3ステートノンインバータIC7の入力端子A1〜A8と接続され、D−ラッチ回路IC6の出力端子Q1〜Q8は、3ステートノンインバータIC8の入力端子A1〜A8と接続されている。さらに、3ステートノンインバータIC7およびIC8の出力端子B1〜B8は、共にデータバスDATに接続されている。
また、D−ラッチ回路IC5およびIC6の各クロック端子CLOCKは、ORゲートIC9の出力端子と接続されている。このORゲートIC9の出力端子には、ラッチ信号LT1およびLT2の論理和が出力される。さらに、3ステートノンインバータIC7のゲート端子G1には、読取信号¬RD1が供給され、3ステートノンインバータIC8のゲート端子G1には、読取信号¬RD2が供給されている。
なお、カウンタIC1〜IC4の各クリア端子CLR、および、D−ラッチ回路IC5およびIC6の各クリア端子CLEARには、各々、リセットパルス発生回路(図示略)から出力されるリセット信号¬CLRが供給されている。このリセットパルス発生回路は、スロットマシン10の電源が投入されると、ローレベルのリセット信号¬CLRを所定時間出力するものである。これにより、カウンタIC1〜IC4およびD−ラッチ回路IC5,IC6にリセット信号が供給されると、各々の出力端子から出力されるデータは0(ゼロ)となる。
図29に示す乱数生成回路132では、カウンタIC1〜IC4の各クロック端子CKに供給される乱数発生用クロック信号CKによって、0から65535までの数値範囲内で、カウント値が順次更新されていき、カウント値が65535になると、再びカウント値が0から順次更新されていく。このカウント値の更新は、繰り返しかつ常時行われている。そして、ラッチ信号LT1またはLT2が入力されると、D−ラッチ回路IC5およびIC6によって、カウンタIC1〜IC4のカウント値(16ビットの数値)がラッチされる。そして、読取信号¬RD1が3ステートノンインバータIC7のゲート端子G1に供給されると、3ステートノンインバータIC7の出力端子B1〜B8から、D−ラッチ回路IC5によってラッチされた下位8ビットのデータがデータバスDATへ出力される。また、読取信号¬RD2が3ステートノンインバータIC8のゲート端子G1に供給されると、3ステートノンインバータIC8の出力端子B1〜B8から、D−ラッチ回路IC6によってラッチされた上位8ビットのデータがデータバスDATへ出力される。
[第2実施形態]
次に、本発明に係る遊技機を、パチンコ機とした場合の実施形態について説明する。
本実施形態に係るパチンコ機700の外観を図30に示す。図30は、パチンコ機700の正面図であり、同図において、パチンコ機700は、外枠712と、前枠714と、遊技盤720と、を含む。外枠712は、パチンコ機700の外郭を構成し、方形状の形状を有する。この外枠712には、開閉自在に軸支される前枠714が設けられている。前枠714には、ガラス扉716、打球ハンドル718や、遊技盤720を収容する収容部等の各種の部材が設けられている。
次に、本発明に係る遊技機を、パチンコ機とした場合の実施形態について説明する。
本実施形態に係るパチンコ機700の外観を図30に示す。図30は、パチンコ機700の正面図であり、同図において、パチンコ機700は、外枠712と、前枠714と、遊技盤720と、を含む。外枠712は、パチンコ機700の外郭を構成し、方形状の形状を有する。この外枠712には、開閉自在に軸支される前枠714が設けられている。前枠714には、ガラス扉716、打球ハンドル718や、遊技盤720を収容する収容部等の各種の部材が設けられている。
遊技盤720には、レール722により区画された遊技領域724が設けられている。遊技領域724の略中央部には、図柄の画像等の種々の画像を表示する画像表示装置730が設けられている。さらに、遊技領域724には、図柄の変動開始の条件を定める始動入賞口732や、遊技が大当たりとなったときに開閉する特別入賞口734や、普通図柄変動表示口736a及び736bや、遊技球の落下に影響を及ぼす風車728a及び728bや、多数の遊技釘(図示せず)や、アウト口738も設けられている。
上述した打球ハンドル718を遊技者が回動操作したときには、その操作量に応じた強度で、遊技球が、打球発射装置(図示せず)によって遊技領域724に打球として発射される。遊技領域724に発射された打球は、上述した風車や遊技釘との接触を繰り返して移動方向を変えながら落下し、上述した各種の入賞口732〜736bやアウト口738に流入する。この遊技盤720の表面を流下する遊技球によって「弾球遊技」が行われ、遊技球の流下の態様に基づいて遊技の進行が定まり、遊技球が、各種の入賞口732〜736bやアウト口738に流入することによって、弾球遊技の結果が定まる。
上述した入賞口732〜736bの各々には、これらの入賞口の背面に形成されて遊技球が通過する流路に、遊技球の通過を検出するための入賞検出センサ(図示せず)が設けられている。なお、入賞口732〜736bの各々に設けられている入賞検出センサは、後述する図32においては、入賞検出センサ群902として示す。入賞口732〜736bのいずれかに遊技球が入賞したときには、入賞検出センサは、遊技球が通過したことを検出して、検出信号を出力する。入賞検出センサは、後述する主制御回路810(図31に示す)と信号ケーブルによって電気的に接続されている。入賞検出センサから発せられた検出信号は、主制御回路810に供給される。主制御回路810は、検出信号を検出することにより、入賞口732〜736bのうちのいずれの入賞口に遊技球が入賞したかを得ることができる。打球が、いずれかの入賞口732〜736bに入賞したときには、所定数の遊技球が賞球として払い出される。なお、本実施の形態においては、入賞口732に入賞したときには、4個の賞球が払い出され、入賞口734に入賞したときには、15個の賞球が払い出される。
パチンコ機700には、遊技球を賞球として払い出すための払出口(図示せず)が形成されている。後述するように、上述したいずれかの入賞口732〜736bに打球が入賞したと、主制御回路810が判別したときには、主制御回路810は、払出制御回路(図示せず)に制御命令を発する。払出制御回路には、払出モータ(図示せず)が電気的に接続されており、制御命令を受信した払出制御回路は、その制御命令に含まれている賞球の個数を示す情報に基づいて、払出モータに駆動信号を発する。払出モータが駆動されると、払い出される賞球の数を計数しながら、賞球が送出される。
上述したように、遊技領域724の略中央部には、画像表示装置730が設けられている。後述するように、画像表示装置730には、図柄の画像やキャラクタの画像等の種々の画像が演出画像として表示される。画像表示装置730においては、図柄の画像による遊技、いわゆるスロットマシンにおいて行われるスロットゲームを模した図柄画像遊技が実行される。
図柄は、この画像遊技の結果を示すための識別情報、例えば、「0」、「1」〜「9」等の数字や文字による識別情報からなり、図柄の画像は、この識別情報を遊技者に視認可能に示す画像である。図柄の画像は、変動表示されたり停止表示されたりする。図柄の画像の変動表示は、図柄画像を構成する識別情報が順次変更されるような態様で表示したり、図柄画像の表示位置を変更するような態様で表示したりする表示方法である。この図柄画像の変動表示が開始されたときが、図柄画像遊技の開始のときである。変動表示された図柄画像は、所定の時間経過後に停止表示される。図柄の画像の停止表示は、画像表示装置730の一定の位置において一定の識別情報を表示する。特に、図柄画像遊技のうち、図柄画像が変動表示されてから停止表示されるまでを単位遊技と称する。また、図柄の画像のみならず、図柄画像遊技の演出効果を高めるためのキャラクタ画像や背景画像も併せて画像表示装置730に表示される。
また、始動入賞口732に打球が入賞したときには、画像表示装置730に表示された図柄の画像は変動表示を開始し、所定の動画像や図柄の変動態様が所定時間だけ表示された後、図柄の画像の変動表示を停止する。即ち、始動入賞口732に打球が入賞する度に、図柄画像遊技の単位遊技が開始される。なお、後述するように、画像表示装置730において単位遊技が行われているときに始動入賞口732に打球が入賞した場合には、入賞したことを所定数、例えば4個まで保留する。始動入賞口732への入賞が保留されている場合に、一の単位遊技が終了したときには、保留されていることに基づいて次の単位遊技が開始される。
図柄の画像が停止表示されたときに、画像表示装置730に表示された図柄の画像の態様が特定のものとなった場合、例えば、図柄の画像を3つ表示して、3つの図柄の全てがいわゆるぞろ目となった場合には、図柄画像遊技はいわゆる大当たりとなる。図柄画像遊技が大当たりとなったときには、パチンコ遊技では特別遊技が実行される。この特別遊技は、画像表示装置730において所定のデモ画像を表示するとともに、上述した特別入賞口734を開放して遊技球を入賞容易状態にし、遊技球を特別入賞口734に流入しやすくする遊技である。この特別遊技によって、弾球遊技が遊技者にとって有利な特別遊技に移行する。
なお、始動入賞口732の左右の近傍には動作可能に設けられた2つの可動片733a及び733bが設けられている。上述した普通図柄変動表示口736a及び736bを遊技球が通過すると、遊技盤720の左側に設けられている普通図柄表示部731において普通図柄遊技が開始される。この普通図柄遊技の遊技結果が当りとなったときには2つの可動片733a及び733bが開き、始動入賞口732に遊技球を入賞させやすくなる。図30に示した普通図柄表示部731は、2つのランプからなり、普通図柄変動表示口736a及び736bを遊技球が通過したときには、2つのランプの点滅が始まる。その後、所定の時間経過後にいずれか一方のみが点灯し、その点灯した方のランプによって当り又は外れが定まる。
上述したように、画像表示装置730におけるキャラクタ画像遊技が大当たりとなったときには、パチンコ遊技では特別入賞口734を開放して入賞容易状態にして、特別遊技が実行される。この特別入賞口734の入賞容易状態は、特別入賞口734に打球が所定数入賞するまで、例えば10個入賞するまで、又は特別入賞口734が開放されてから所定時間経過するまで、例えば30秒経過するまで継続する。その後、特別入賞口734を閉鎖して入賞困難状態にする。なお、特別入賞口734には、特定領域(図示せず)が設けられている。特別入賞口734が開放されている間に、この特定領域を打球が通過していたときには、特別入賞口734を一旦閉鎖した後に再び開放する。この特別入賞口734の開放と閉鎖との動作は、複数回、例えば15回に至るまで繰り返され、その後、特別入賞口734は閉鎖される。特別入賞口734が開放されてから次いで閉鎖されるまでの遊技を単一特別遊技と称し、単一特別遊技が行われた回数をラウンド数と称する。
打球ハンドル718の左側には、透音孔が形成されており、透音孔の背面にはスピーカ740が設けられている。スピーカ740から発せられた音声がパチンコ遊技10の前方に伝わるようになされている。
図31は、パチンコ機700の背面を示す背面図である。この図に示すように、背面の下部には主制御回路810が設けられている。主制御回路810は、パチンコ機700の全体の制御を行う。例えば、主制御回路810は、始動入賞口732や特別入賞口734等の入賞口に遊技球が入賞したときに、その入賞口に応じた数の遊技球を賞球として払い出す制御をする。主制御回路810は、演算等を行うCPU(図示せず)、パチンコ機700の全体を制御するためのプログラムが記憶されたROM(図示せず)、及び各データを一時的に記憶するRAM(図示せず)等を含む。これらのCPU、ROM及びRAMは、入出力バスによって電気的に接続されており、入出力バスにデータ信号やアドレス信号が送出できるようになされている。
本実施の形態においては、パチンコ機700の全体を制御するためのプログラムのうち、遊技球の入賞の処理のプログラムについては、後述する図33に示す。上述したように、これらのプログラムはROMに記憶されている。また、RAMには、これらプログラムで用いられる変数の値が記憶される。さらに、後述するように、RAMには、乱数の値を記憶する通常記憶領域や保留領域が割り当てられている。
また、主制御回路810の上部には画像表示装置730が設けられており、画像表示装置730の背面には、画像制御回路752が設けられている。この画像制御回路752は、主制御回路810と信号ケーブル(図示せず)によって電気的に接続されており、主制御回路810から発せられた制御信号に基づいて画像表示装置730を制御する。画像制御回路752は、演算等を行うCPU(図示せず)、画像表示装置730を制御するためのプログラムが記憶されたROM(図示せず)、及び各データを一時的に記憶するRAM(図示せず)等を含む。なお、ROMには、図柄画像やキャラクタの画像の表示を制御するためのプログラムが記憶されている。さらに、ROMには、これらの図柄画像やキャラクタの画像の画像データも記憶されている。上述したCPU、ROM及びRAMは、入出力バスによって電気的に接続されており、入出力バスにデータ信号やアドレス信号が送出できるようになされている。この画像制御回路752によって、ROMに記憶されている画像データが読み出されて、図柄画像やキャラクタの画像が画像表示装置730に表示される。
画像制御回路752の下側には、上述したスピーカ740を制御するスピーカ制御回路756が設けられている。このスピーカ制御回路756は、画像制御回路752と信号ケーブル(図示せず)によって電気的に接続されており、画像制御回路752から発せられた制御信号に基づいてスピーカ740から発する音声を制御する。スピーカ制御回路756は、演算等を行うCPU(図示せず)、スピーカ740を制御するためのプログラムが記憶されたROM(図示せず)、及び各データを一時的に記憶するRAM(図示せず)等を含む。なお、ROMには、スピーカ740から発するための音声データも記憶されている。上述したCPU、ROM及びRAMは、入出力バスによって電気的に接続されており、入出力バスにデータ信号やアドレス信号が送出できるようになされている。
また、図31の背面図における右上隅の箇所には、各入賞口に遊技球が入賞したとき、上述した単位遊技が開始されとき、および特別遊技が開始されたとき等に、その旨を示す信号を、外部に設置されている管理コンピュータ等へ送信するための外部端子板758が設けられている。さらに、外部端子板758を介して外部に送信される情報は、上述したような遊技に関する情報だけでなく、予め定められた複数のチェック項目について、何らかの異常が発生したと判断され場合に、出力される異常検出情報も含まれている。
図32は、パチンコ機700における主要な制御機能の概略を示す機能ブロック図である。
図32に示すように、パチンコ機700は、制御手段800と、入賞検出手段900と、演出手段910と、を含む。制御手段800は、入賞検出手段900と演出手段910とに電気的に接続され、入賞検出手段900から発せられた入賞検出信号は、制御手段800に供給される。さらに、制御手段800から発せられた制御信号は、演出手段910に供給される。なお、この図に示す乱数発生装置112および乱数異常検出手段420は、図5に示したものと同じものを用いている。
図32に示すように、パチンコ機700は、制御手段800と、入賞検出手段900と、演出手段910と、を含む。制御手段800は、入賞検出手段900と演出手段910とに電気的に接続され、入賞検出手段900から発せられた入賞検出信号は、制御手段800に供給される。さらに、制御手段800から発せられた制御信号は、演出手段910に供給される。なお、この図に示す乱数発生装置112および乱数異常検出手段420は、図5に示したものと同じものを用いている。
入賞検出手段900は、遊技盤上を移動していた遊技球が所定の入賞口に入賞したか否かを検出する。例えば、入賞口732〜736bのいずれかに遊技球が入賞したか否かを検出する。入賞検出手段900は、入賞口に入賞した遊技球の通過を検出したときには、検出信号を発する入賞検出センサ群902からなる。この入賞検出センサ群902は、上述した入賞口732〜736bの各々の背後に形成された遊技球の流路に設けられて遊技球の通過を検出する入賞検出センサが好ましい。
制御手段800は、主制御手段810と副制御手段860とを含む。この主制御手段810と副制御手段860とは互いに電気的に接続されており、主制御手段810から発せられた制御命令は、副制御手段860に供給される。主制御手段810は、図5に示した乱数発生装置112および乱数異常検出手段420と、後述する抽選手段820と、保留記憶手段830と、弾球遊技制御手段840と、入賞判断処理手段850と、を含む。なお、乱数発生装置112および乱数異常検出手段420については、既に詳しく説明しているためその説明を省略する。
抽選手段820は、当り又は外れの抽選(以下、当たり抽選という)を行うものである。ここで、当り又は外れは、後述する特別遊技に移行させるか否かを定める。抽選手段820は、当たり抽選に用いる抽選用乱数を乱数発生装置112から取得する抽選用乱数取得手段822と、抽選用乱数取得手段822が取得した乱数値に基づいて、当りの当選の有無を判定する乱数判定手段824とを含む。抽選用乱数取得手段822は、乱数発生装置112が発生した乱数を、所定のタイミングで取得する。乱数判定手段824は、抽選用乱数取得手段822によって取得された乱数値を、抽選テーブル(図示せず)と照合することにより、その乱数値が属する領域に応じて当りか外れかを決定する。
保留記憶手段830は、所定の数、例えば4つの記憶領域(以下、保留領域という)を有し、画像表示装置730において単位遊技が実行されており、かつ、上述した4つの保留領域のうち少なくとも1つの保留領域が空いている場合に、抽選用乱数取得手段822によって取得された抽選用乱数の値を記憶する。この抽選用乱数の値を記憶する処理は、後述する図33のステップS408において実行される。
弾球遊技制御手段840は、特別遊技実行手段842を含む。特別遊技実行手段842は、上述した特別入賞口734を開閉動作して、遊技球の入賞容易状態にしたり、入賞困難状態にしたりして、特別遊技の進行を制御する。特に、特別遊技実行手段842は、抽選手段の抽選結果が、当りとなったときには、弾球遊技を遊技者にとって有利な特別遊技に移行させる。入賞判断処理手段850は、上述した入賞検出手段900から発せられた検出信号を検出して、入賞口732〜736bのいずれかに遊技球が入賞したか否かを判断する。この判断処理は、後述する図33のステップS400又はS416の処理で実行される。
次に、副制御手段860は、演出選択手段870と、画像表示制御手段880と、スピーカ制御手段890とを含む。演出選択手段870は、前述した抽選手段820によって行われた当たり抽選の結果と、乱数に基づく演出抽選の結果に基づいて予め定められている複数の演出内容のうちの1つを選択して、選択した演出を演出手段910に実行させる。画像表示制御手段880は、単位遊技実行手段882と、画像データ記憶手段884とを含む単位遊技制御手段882は、画像データ記憶手段884から図柄の画像の画像データを読み出し、読み出した画像データを図柄の画像として画像表示装置730において変動表示させたり停止表示させたりする。図柄の画像を変動表示させたときが単位遊技の開始で、その後所定のタイミングで図柄の画像を停止表示させたときが単位遊技の終了である。単位遊技実行手段882は、主制御手段810から単位遊技開始信号が発せられる毎に、画像表示装置730において単位遊技を実行する。さらに、単位遊技実行手段882は、図柄の画像の表示のみならず、画像データ記憶手段884からキャラクタの画像の画像データや、背景の画像の画像データを読み出し、読み出した画像データをキャラクタの画像や背景の画像として画像表示装置730に表示させる。
画像データ記憶手段884には、演出画像が画像データとして記憶されている。ここで、演出画像は、図柄の画像と図柄の画像以外の複数の表示画像とからなる。この図柄の画像以外の複数の表示画像は、例えば、キャラクタの画像や背景の画像や、上述した所定の画像を含む。スピーカ制御手段890は、演出選択手段860によって選択された演出に対応する音声を発生させるための音声データをスピーカ740へ出力する。
演出手段910は、画像表示装置730と、スピーカ740とからなる。画像表示装置730には、上述した副制御手段860の画像表示制御手段880から発せられた制御信号に基づいて、図柄の画像やキャラクタの画像や文字情報が表示される。スピーカ740は、上述したスピーカ制御手段890から出力された音声データに基づいて、音声を発生する。
次に、主制御手段810で実行される入賞処理ルーチンの内容について、図33に示すフローチャートを参照して説明する。この図に示した入賞処理は、主制御手段810で予め実行されているメインプログラム(図示せず)から所定のタイミング毎に呼び出されて繰り返し実行される。また、図33に示す入賞処理ルーチンの他にも、所定のタイミングごとに、図12に示した乱数チェック処理および図25に示した異常発生処理が実行されるものとする。
最初に、遊技盤720の表面を流下している遊技球が始動入賞口732に入賞したか否かを判断する(ステップS400)。なお、始動入賞口732には、遊技球の通過を検出すると、主制御手段810へ検出信号を出力する遊技球センサ(図示せず)が設けられており、ステップS400の判断処理は、この検出信号が主制御手段810に供給されたか否かによって行われる。ステップS400で遊技球が始動入賞口732に入賞した(YES)と判断したときには、画像表示装置730で図柄の画像が変動表示されている最中であるか否かを判断する(ステップS402)。そして、画像表示装置730において図柄の画像が変動表示されている最中である(YES)と判別したときには、主制御手段810の保留記憶手段830の4つの保留領域に空きがあるか否かを判断する(ステップS404)。
保留領域に空きがある(YES)と判別したときには、図10に示した乱数取得処理を実行し(ステップS406)し、乱数取得処理によって取得された抽選用乱数を保留領域の空き領域に記憶する(ステップS408)。この空き領域に記憶された抽選用乱数は、画像表示装置730において図柄の画像が停止表示されるごとに、順次読み出されて当たり抽選が行われる。そして、始動入賞口732に入賞したときに払い出すべき個数(4個)の遊技球を払い出す払い出し処理を行い(ステップS410)、図33に示す入賞処理ルーチンを終了する。一方、上述したステップS404の判断処理で、保留領域に空きがない(NO)と判別したときは、直ちにステップS410の払い出し処理へ移行して、始動入賞口732に入賞したときに払い出すべき個数(4個)の遊技球を払い出して、図33に示す入賞処理ルーチンを終了する。
次に、上述したステップS402の判断処理で、画像表示装置730において図柄の画像が変動表示されている最中でない(NO)と判断したときには、直ちに図10に示した乱数取得処理を実行し(ステップS412)、乱数取得処理によって取得された抽選用乱数をRAMなどの記憶手段に記憶する(ステップS414)。この記憶された抽選用乱数は、別途行われる当たり抽選処理(図示略)において読み出されて、当該抽選用乱数に基づく当たり抽選が行われる。そして、ステップS410の払い出し処理へ移行して、始動入賞口732に入賞したことにより、4個の遊技球を払い出して、図33に示す入賞処理ルーチンを終了する。
また、ステップS400の判断処理において、遊技球が始動入賞口732に入賞していない(NO)と判断したときには、次に、他の入賞口736aや736bなどに遊技球が入賞したか否かを判断する(ステップS416)。そして、いずれの入賞口にも遊技球が入賞していない(NO)と判別したときには、入賞処理ルーチンを直ちに終了する。一方、いずれかの入賞口に遊技球が入賞した(YES)と判別したときには、ステップS410の払い出し処理へ移行して、入賞した入賞口の種類に応じた数だけ遊技球を払い出した後、入賞処理ルーチンを終了する。
以上のように、図33に示した入賞処理ルーチンでは、始動入賞口732に遊技球が入賞すると(ステップS400,YES)、保留領域に空きがない(ステップS404,NO)場合を除いて、図10に示した乱数取得処理が実行される(ステップS406,S412)。これにより、図11を参照して説明した内容の乱数に関する異常判定が実行される。また、パチンコ機700は、所定のタイミングごとに、図12に示した乱数チェック処理および図15に示した異常発生処理が実行される。そして、図10の乱数取得処理または図12の乱数チェック処理において、乱数発生装置112が生成した乱数に異常が認められると判定された場合は、図25の異常発生処理によって、外部端子板758を介して異常が発生した旨を示す異常信号を外部の管理コンピュータ950等へ出力すると共に、副制御手段860に対して乱数に異常が発生したことを示すエラーコードが送信される。これにより、副制御手段860は、受信したエラーコードに対応するメッセージを画像表示装置730へ表示すると共に、異常発生時に発生するエラー音をスピーカ740から出力させる。
このように、図10に示した乱数取得処理および図12に示した乱数チェック処理は、スロットマシンのみならず、パチンコ機においても適用させることができる。また、図10に示した乱数取得処理および図12に示した乱数チェック処理の代わりに、図15または図17に示した乱数取得処理、および図19、図21または図23に示した乱数チェック処理を行ってもよいことはいうまでもない。
10 スロットマシン
112 乱数発生装置
410 乱数クロック発生手段
412 乱数テーブル記憶手段
414 乱数テーブル指定手段
416 乱数更新手段
418 乱数記憶手段
420 乱数異常検出手段
422 異常検出用乱数取得手段
424 異常検出用乱数記憶手段
426 乱数異常判定手段
432 役抽選手段
4322,822 抽選用乱数取得手段
4324,824 抽選用乱数判定手段
700 パチンコ機
112 乱数発生装置
410 乱数クロック発生手段
412 乱数テーブル記憶手段
414 乱数テーブル指定手段
416 乱数更新手段
418 乱数記憶手段
420 乱数異常検出手段
422 異常検出用乱数取得手段
424 異常検出用乱数記憶手段
426 乱数異常判定手段
432 役抽選手段
4322,822 抽選用乱数取得手段
4324,824 抽選用乱数判定手段
700 パチンコ機
Claims (7)
- 予め定められた数値範囲内で生成される1つの乱数を用いて行われる抽選に基づいて遊技の結果を定める遊技機であって、
予め定められた乱数周期ごとに、前記数値範囲内の各数値が重複せずに一通り生成されるように前記生成する乱数の値を順次更新する乱数更新手段と、
前記抽選に用いる抽選用乱数として、外部からの操作に応じて前記乱数更新手段によって更新された乱数を取得する抽選用乱数取得手段と、
前記乱数更新手段による前記乱数の値の更新間隔よりも長く、かつ、2つの連続する前記乱数周期内に少なくとも3回取得できる時間間隔で、前記乱数更新手段によって更新される乱数を、異常検出用乱数として定期的に取得する異常検出用乱数取得手段と、
前記異常検出用乱数が取得されるごとに、該異常検出用乱数の値に基づいて前記乱数更新手段によって乱数の値が正常に更新されているか否かを判定する第一の乱数判定手段と、
前記抽選用乱数が取得されるごとに、該抽選用乱数の値に基づいて前記乱数更新手段によって乱数の値が正常に更新されているか否かを判定する第二の乱数判定手段と、
前記第一の乱数判定手段によって、前記乱数の値が正常に更新されていないと判定された時点において、前記第二の乱数判定手段が、前記乱数の値が正常に更新されていると判定していたときは遊技を継続させ、正常に更新されていないと判定していたときは遊技を停止させる遊技進行制御手段と、
を備えることを特徴とする遊技機。 - 前記第二の乱数判定手段は、
前記抽選用乱数取得手段によって前記抽選用乱数が取得されると、該抽選用乱数と、該抽選用乱数とは各々異なるタイミングで前記乱数更新手段によって更新された少なくとも2つの乱数と、からなる少なくとも3つの乱数のうち、いずれか2つの乱数の値が一致しなかったときに、前記乱数更新手段によって乱数の値が正常に更新されていると判定し、
前記少なくとも3つの乱数は、最初の乱数が取得されてから最後の乱数が取得されるまでの期間が、前記2つの連続する乱数周期よりも短く、かつ、各々の乱数は、前記乱数更新手段による前記乱数の値の更新間隔よりも長い時間間隔で取得されたものである
ことを特徴とする請求項1に記載の遊技機。 - 前記第一の乱数判定手段は、
前記抽選用乱数取得手段によって取得された前記抽選用乱数の値と、該抽選用乱数が取得された直後に前記異常検出用乱数取得手段によって取得された、時系列で連続する2つの前記異常検出用乱数の値とが、すべて一致したときに、前記乱数更新手段によって乱数の値が正常に更新されていないと判定する
ことを特徴とする請求項1または2に記載の遊技機。 - 前記第一の乱数判定手段は、
前記抽選用乱数取得手段によって前記抽選用乱数が取得された直後に、前記異常検出用乱数取得手段によって取得された、時系列で連続する3つの前記異常検出用乱数の値がすべて一致したときに、前記乱数更新手段によって乱数の値が正常に更新されていないと判定する
ことを特徴とする請求項1または2に記載の遊技機。 - 前記外部からの操作を契機として複数の図柄が変動を開始してから、該図柄の変動がすべて停止するまでを1回の単位とする単位遊技を実行する単位遊技実行手段と、
前記複数の図柄の変動が停止したときに特定の図柄組合せが停止表示されると、遊技者に対して特典が付与される確率が高くなる特別遊技を実行し、該特別遊技が終了すると前記単位遊技を再開させる特別遊技実行手段と、を備え、
前記単位遊技実行手段は、
前記外部からの操作に応じて取得された前記抽選用乱数に基づいて、特別役に当選したか否かを決定する役抽選を行う役抽選手段と、
前記役抽選において前記特別役が当選したときに、前記特定の図柄組合せが停止表示されるように、前記複数の図柄の変動を停止させる停止制御手段と、を含み、
前記遊技進行制御手段は、
前記第一の乱数判定手段および前記第二の乱数判定手段の判定に基づいて遊技を継続させると判断した場合、前記特別遊技中だったときは、該特別遊技を継続して実行し、該特別遊技が終了すると、前記単位遊技の再開を禁止し、
前記特別遊技中ではなく、かつ、前記単位遊技中だったときは、該単位遊技が終了すると、次の単位遊技の開始を禁止する
ことを特徴とする請求項1から4のうちいずれか1項に記載の遊技機。 - 前記役抽選の結果を記憶する役抽選結果記憶手段を備え、
前記遊技進行制御手段は、
前記第一の乱数判定手段および前記第二の乱数判定手段の判定に基づいて遊技を継続させると判断した場合、前記役抽選結果記憶手段に前記特別役に当選したことが記憶されていたときは、該特別役に基づく前記特別遊技が開始されて終了するまで、前記単位遊技および前記特別遊技を継続して実行し、
前記役抽選結果記憶手段に前記特別役に当選したことが記憶されておらず、かつ、前記単位遊技中だったときは、該単位遊技が終了すると、次の単位遊技の開始を禁止する
ことを特徴とする請求項5に記載の遊技機。 - 前記単位遊技実行手段は、所定数の遊技媒体が投入されたことによって、前記単位遊技の実行が可能となるとともに、前記特別遊技中においても前記単位遊技を実行し、
前記役抽選手段は、前記特別役と、対応する図柄組合せが停止表示されると予め定められた数の前記遊技媒体が払い出されることとなる複数の小役と、を含む複数種類の役のうち、少なくとも1つの役を当選役とするか否かを決定する役抽選を行い、
前記停止制御手段は、前記役抽選により少なくとも1つの当選役が定められると、1つの当選役のみに対応する図柄組合せが停止表示されるように、前記複数の図柄の変動を停止させ、
前記単位遊技実行手段は、
前記特別遊技中に行われる前記単位遊技において、前記外部からの操作がなされたときに、前記役抽選に依らずに強制的に前記複数の小役をすべて当選役と定める強制当選手段を有する
ことを特徴とする請求項5または6に記載の遊技機。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010183242A JP2012040139A (ja) | 2010-08-18 | 2010-08-18 | 遊技機 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010183242A JP2012040139A (ja) | 2010-08-18 | 2010-08-18 | 遊技機 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012040139A true JP2012040139A (ja) | 2012-03-01 |
Family
ID=45897127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010183242A Pending JP2012040139A (ja) | 2010-08-18 | 2010-08-18 | 遊技機 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012040139A (ja) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012070860A (ja) * | 2010-09-28 | 2012-04-12 | Kyoraku Sangyo Kk | 遊技機 |
JP2014144359A (ja) * | 2014-03-19 | 2014-08-14 | Daito Giken:Kk | 遊技台 |
JP2014144107A (ja) * | 2013-01-29 | 2014-08-14 | Daito Giken:Kk | 遊技台 |
JP2015006368A (ja) * | 2014-07-10 | 2015-01-15 | 株式会社大都技研 | 遊技台 |
JP5659283B1 (ja) * | 2013-11-02 | 2015-01-28 | 株式会社オリンピア | 遊技機 |
JP2015085177A (ja) * | 2014-05-20 | 2015-05-07 | 株式会社オリンピア | 遊技機 |
JP2017196228A (ja) * | 2016-04-28 | 2017-11-02 | 株式会社三洋物産 | 遊技機 |
JP2018051401A (ja) * | 2018-01-15 | 2018-04-05 | 株式会社オリンピア | 遊技機 |
JP2021023373A (ja) * | 2019-07-31 | 2021-02-22 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2021023378A (ja) * | 2019-07-31 | 2021-02-22 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2021023376A (ja) * | 2019-07-31 | 2021-02-22 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2021023377A (ja) * | 2019-07-31 | 2021-02-22 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2022097245A (ja) * | 2020-12-18 | 2022-06-30 | 株式会社オリンピア | 遊技機 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07313687A (ja) * | 1994-05-25 | 1995-12-05 | Sophia Co Ltd | 遊技機制御装置 |
JP2005000551A (ja) * | 2003-06-13 | 2005-01-06 | Sankyo Kk | 遊技機 |
JP2009268627A (ja) * | 2008-05-02 | 2009-11-19 | Daiichi Shokai Co Ltd | 遊技機 |
JP2010063500A (ja) * | 2008-09-08 | 2010-03-25 | Sammy Corp | ハード乱数監視装置及びそれが組み込まれた遊技機 |
JP2012070859A (ja) * | 2010-09-28 | 2012-04-12 | Kyoraku Sangyo Kk | 遊技機 |
-
2010
- 2010-08-18 JP JP2010183242A patent/JP2012040139A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07313687A (ja) * | 1994-05-25 | 1995-12-05 | Sophia Co Ltd | 遊技機制御装置 |
JP2005000551A (ja) * | 2003-06-13 | 2005-01-06 | Sankyo Kk | 遊技機 |
JP2009268627A (ja) * | 2008-05-02 | 2009-11-19 | Daiichi Shokai Co Ltd | 遊技機 |
JP2010063500A (ja) * | 2008-09-08 | 2010-03-25 | Sammy Corp | ハード乱数監視装置及びそれが組み込まれた遊技機 |
JP2012070859A (ja) * | 2010-09-28 | 2012-04-12 | Kyoraku Sangyo Kk | 遊技機 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012070860A (ja) * | 2010-09-28 | 2012-04-12 | Kyoraku Sangyo Kk | 遊技機 |
JP2014144107A (ja) * | 2013-01-29 | 2014-08-14 | Daito Giken:Kk | 遊技台 |
JP5659283B1 (ja) * | 2013-11-02 | 2015-01-28 | 株式会社オリンピア | 遊技機 |
JP2014144359A (ja) * | 2014-03-19 | 2014-08-14 | Daito Giken:Kk | 遊技台 |
JP2015085177A (ja) * | 2014-05-20 | 2015-05-07 | 株式会社オリンピア | 遊技機 |
JP2015006368A (ja) * | 2014-07-10 | 2015-01-15 | 株式会社大都技研 | 遊技台 |
JP2017196228A (ja) * | 2016-04-28 | 2017-11-02 | 株式会社三洋物産 | 遊技機 |
JP2018051401A (ja) * | 2018-01-15 | 2018-04-05 | 株式会社オリンピア | 遊技機 |
JP2021023373A (ja) * | 2019-07-31 | 2021-02-22 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2021023378A (ja) * | 2019-07-31 | 2021-02-22 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2021023376A (ja) * | 2019-07-31 | 2021-02-22 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2021023377A (ja) * | 2019-07-31 | 2021-02-22 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2022097245A (ja) * | 2020-12-18 | 2022-06-30 | 株式会社オリンピア | 遊技機 |
JP7252650B2 (ja) | 2020-12-18 | 2023-04-05 | 株式会社オリンピア | 遊技機 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2012040139A (ja) | 遊技機 | |
JP5024843B1 (ja) | 遊技台 | |
JP5564675B2 (ja) | 遊技台 | |
JP4991955B1 (ja) | 遊技台 | |
JP2018000249A5 (ja) | ||
JP2019072002A (ja) | 遊技機 | |
JP2013027436A (ja) | 遊技台 | |
JP2020068812A (ja) | 遊技機 | |
JP2011224209A (ja) | 遊技機 | |
JP6675438B2 (ja) | 遊技機 | |
JP2013107005A (ja) | 遊技台 | |
JP5332029B2 (ja) | 遊技台 | |
JP5082118B2 (ja) | 遊技台 | |
JP2020078524A (ja) | 遊技機 | |
JP2019201934A (ja) | 遊技機 | |
JP5366065B2 (ja) | 遊技台 | |
JP6867694B2 (ja) | 遊技機 | |
JP5724086B2 (ja) | 遊技台 | |
JP2020078398A (ja) | 遊技機 | |
JP2019180526A (ja) | 遊技機 | |
JP2019080648A (ja) | 遊技機 | |
JP6864372B2 (ja) | 遊技機 | |
JP2019072004A (ja) | 遊技機 | |
JP6864371B2 (ja) | 遊技機 | |
JP6850012B2 (ja) | 遊技機 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120920 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130925 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131001 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140225 |