以下、本発明の遊技機を手段として区分して示し、必要に応じて効果等を示しつつ説明する。なお以下においては、理解の容易のため、発明の実施の形態において対応する構成を括弧書き等で適宜示すが、この括弧書き等で示した具体的構成に限定されるものではない。
手段1.絵柄(図柄)を可変表示する可変表示手段(リールユニット31)と、
開始条件の成立を検出する開始条件検出手段(CPU102の開始指令が発生したと判断する機能S518)と、
前記開始条件が成立したことに基づいて抽選を行う抽選手段(CPU102の抽選処理機能S405)と、
前記開始条件が成立したことに基づいて前記絵柄の可変表示を開始させるとともに、前記抽選手段の抽選結果に基づいた停止結果となるよう前記可変表示手段を表示制御する表示制御手段(CPU102のリール制御処理機能)と、
前記抽選手段の抽選結果が当選であって特定停止結果(当選図柄の組合せが有効ライン上に停止する停止結果)となった場合、遊技者に特典(メダル払出)を付与する特典付与手段(CPU102のメダル払出処理機能S407)と
を備えた遊技機において、
所定値(第1カウンタ111aの値)を更新する更新処理(カウンタ更新処理におけるS1403)を含む特定処理(カウンタ更新処理)を行う特定処理実行手段(CPU102)と、
遊技者による操作に基づく第1特定条件(開始指令の発生)が成立したか否かを判定する判定手段(開始待ち処理におけるS518)と、
前記第1特定条件が成立した場合、前記特定処理を行うことを可能とする実行可能手段(ゲームフラグ設定処理機能S519)と、
第2特定条件(メダル払出の終了)が成立したか否かを判定する第2判定手段(メダル払出処理におけるS1201)と、
前記第2特定条件が成立した場合、前記特定処理を非実行とする非実行手段(ゲームフラグクリア処理機能S1208)と、
前記開始条件が成立したことに基づいて、前記抽選に用いる乱数又は前記乱数の元となる基礎乱数としての数値情報(乱数生成器150のカウント値)を取得する取得処理(乱数取得処理S601)を行う取得処理実行手段(CPU102)と、
前記開始条件が成立した場合、前記取得処理実行手段が前記数値情報を取得する取得タイミングを、前記所定値に基づいて前記開始条件の成立タイミングから遅延させる遅延処理(遅延処理S522及び遅延カウンタ処理S117)を行う遅延処理実行手段(CPU102)と
を備え、
前記第2特定条件を、当該第2特定条件の成立タイミングが遊技機外部から少なくとも前記第1特定条件の成立タイミングで察知されることが困難な条件とするとともに、前記特定処理実行手段を、前記実行可能手段が前記特定処理を行うことを可能としてから前記非実行手段が非実行とするまでの間に、前記特定処理を繰り返し行う構成としたことを特徴とする遊技機。
本手段によれば、第1特定条件が成立した場合に特定処理を行うことが可能となり、第2特定条件が成立した場合に特定処理が非実行とされる。所定値は、第1特定条件が成立してから第2特定条件が成立するまでの間に繰り返し更新される。そして、抽選に用いる乱数又は乱数の元となる基礎乱数としての数値情報は、開始条件が成立したことに基づいて取得されるとともに、所定値に基づいて開始条件の成立タイミングから遅延されたタイミングで取得される。かかる構成とすることにより、仮に乱数又は基礎乱数としての数値情報が一定周期で抽選に当選となる値となり、そのタイミングで開始条件を成立させる不正が行われた場合であっても、乱数又は基礎乱数としての数値情報の取得タイミングを遅延させることで抽選に当選となる値が取得されることを防止することが可能となる。
また、第1特定条件の成立を遊技者による操作に基づく構成とすることにより、特定処理を行うことができる期間の開始タイミングをランダムなものとすることが可能となり、第1特定条件が成立してから第2特定条件が成立するまで、すなわち特定処理を行うことができる時間をランダムなものとすることが可能となる。この結果、前記期間に行われる特定処理の処理回数をランダムなものとすることが可能となる。
さらに、第1特定条件の成立を遊技者の操作に基づく構成とする一方、第2特定条件を、その成立タイミングが遊技機外部から少なくとも第1特定条件の成立タイミングで察知されることが困難な条件とすることにより、第1特定条件が成立してから第2特定条件が成立するまでに要する時間が事前に把握されることを困難なものとすることが可能となる。故に、前記期間を一定にすることで前記期間に行われる特定処理の処理回数を一定とする不正を困難なものとすることが可能となる。
以上の結果、抽選に当選となる乱数を不正に取得することを困難なものとすることが可能となる。
手段2.上記手段1において、前記絵柄の可変表示を開始させるべく操作される開始操作手段(スタートレバー41)を備え、前記判定手段は、前記絵柄の可変表示を開始させることが可能な状況(規定数のメダルがベットされている状況)で前記開始操作手段が操作された場合に、前記第1特定条件が成立したと判定することを特徴とする遊技機。
本手段によれば、絵柄の可変表示を開始させることが可能な状況で開始操作手段が操作された場合に第1特定条件が成立する。かかる構成とすることにより、特定処理を行うことができる期間の開始タイミングを遊技者による操作に依存させることが可能となる。また、かかる構成においては、第1特定条件が成立した場合、遊技が開始されたことを意味する。遊技が開始された場合に所定値の更新を可能とする構成とすることにより、遊技が行われている最中に、少なくとも次遊技回で遅延処理を行う際に用いる所定値を準備することができ、抽選に当選となる乱数を不正に取得することを困難なものとしつつ、1の遊技回から次の遊技回への進行を円滑に行うことが可能となる。
手段3.上記手段1において、前記絵柄の可変表示を開始させるべく操作される開始操作手段(スタートレバー41)を備え、前記開始条件検出手段は、前記開始操作手段の操作に基づいて前記開始条件の成立を検出し、前記判定手段は、前記開始条件が成立した場合に、前記第1特定条件が成立したと判定することを特徴とする遊技機。
本手段によれば、開始条件が成立した場合に第1特定条件が成立する。かかる構成とすることにより、特定処理を行うことができる期間の開始タイミングを遊技者による操作に依存させることが可能となる。また、かかる構成においては、第1特定条件が成立した場合、遊技が開始されたことを意味する。遊技が開始された場合に所定値の更新を可能とする構成とすることにより、遊技が行われている最中に、少なくとも次遊技回で遅延処理を行う際に用いる所定値を準備することができ、抽選に当選となる乱数を不正に取得することを困難なものとしつつ、1の遊技回から次の遊技回への進行を円滑に行うことが可能となる。
手段4.上記手段1において、遊技媒体の受入を検出する受入検出処理(クレジット投入処理機能S510、投入判定処理機能S511)を行う受入検出手段(CPU102)を備え、前記判定手段は、前記受入検出手段が前記遊技媒体の受入を検出した場合に、前記第1特定条件が成立したと判定することを特徴とする遊技機。
本手段によれば、遊技媒体の受入を検出した場合に第1特定条件が成立する。かかる構成とすることにより、特定処理を行うことができる期間の開始タイミングを遊技者による操作に依存させることが可能となる。
手段5.上記手段1乃至手段4のいずれかにおいて、前記第2特定条件は、前記抽選手段の抽選結果に基づく条件であることを特徴とする遊技機。
本手段によれば、第2特定条件は抽選手段の抽選結果に基づくものであるため、第1特定条件の成立タイミングで第2特定条件の成立タイミングが察知されることを困難なものとすることが可能となる。
手段6.上記手段1乃至手段4のいずれかにおいて、前記第2判定手段は、前記絵柄の可変表示が終了した場合に、前記第2特定条件が成立したと判定することを特徴とする遊技機。
本手段によれば、絵柄の可変表示が終了した場合に第2特定条件が成立する。かかる構成とすることにより、第1特定条件の成立タイミングで第2特定条件の成立タイミングが察知されることを困難なものとすることが可能となる。
手段7.上記手段6において、前記絵柄の可変表示を停止させるべく操作される停止操作手段(ストップスイッチ42~44)と、前記抽選手段の抽選結果に基づいて前記停止操作手段を操作されてから前記絵柄の可変表示を停止させるまでの停止態様(滑り数)を決定する停止態様決定手段(スベリテーブル設定処理機能S610、スベリテーブル第1変更処理機能S1007、スベリテーブル第2変更処理機能S809、スベリ数算出機能S804)と、を備えることを特徴とする遊技機。
本手段によれば、停止操作手段が操作されてから絵柄の可変表示が停止するまでの停止態様が抽選手段の抽選結果によって変化し得る。かかる構成とすることにより、仮に停止操作手段が毎遊技一定のタイミングで操作されたとしても、停止操作手段が操作されてから絵柄の可変表示が終了するまでの時間を変化させることが可能となる。この結果、特定処理を行うことができる期間を一定にすることで前記期間に行われる特定処理の処理回数を一定とする不正を困難なものとすることが可能となる。
手段8.上記手段1乃至手段4のいずれかにおいて、前記第2判定手段は、前記特典付与手段が前記特典を付与しなかった場合、又は前記抽選手段の抽選結果が当選であって前記特典付与手段が前記特典の付与を終了した場合に、前記第2特定条件が成立したと判定することを特徴とする遊技機。
本手段によれば、特典を付与しなかった場合、又は抽選手段の抽選結果が当選であって特典の付与を終了した場合に、第2特定条件が成立する。かかる構成とすることにより、少なくとも特典が付与されるか否かによって第2特定条件の成立タイミングを変化させることが可能となる。この結果、特定処理を行うことができる時間をランダムなものとするとともに、第1特定条件の成立タイミングで第2特定条件の成立タイミングが察知されることを困難なものとすることが可能となる。
手段9.上記手段1乃至手段8のいずれかにおいて、前記特定処理は、第3特定条件(各リール32L,32M,32Rの回転開始、開始指令又は停止指令の発生、メダル払出の開始)が成立してから第4特定条件(リールインデックスセンサからの検出信号の入力、開始指令又は停止指令の操作終了、メダル払出の終了)が成立するまでの間に前記所定値を更新する第2更新処理(カウンタ更新処理におけるS1404,S1406,S1408)を含むことを特徴とする遊技機。
本手段によれば、第3特定条件や第4特定条件が成立したか否かにより、1回の特定処理で所定値が更新される更新回数が変化する。かかる構成とすることにより、特定処理を行うことができる期間になされた所定値の更新回数をよりランダムなものとすることが可能となる。
手段10.上記手段9において、前記絵柄の可変表示を開始させるべく操作される開始操作手段(スタートレバー41)を備え、前記第3特定条件は、前記絵柄の可変表示を開始させることが可能な状況(規定数のメダルがベットされている状況)で前記開始操作手段が操作された場合に成立し、前記第4特定条件は、前記開始操作手段の操作が終了した場合に成立すること特徴とする遊技機。
本手段によれば、絵柄の可変表示を開始させることが可能な状況で開始操作手段が操作されてから当該操作が終了するまでの間に、更新処理及び第2更新処理によって所定値を更新することができる。
手段11.上記手段9又は手段10において、前記絵柄の変動表示を停止させるべく操作される停止操作手段(ストップスイッチ42~44)を備え、前記第3特定条件は、前記絵柄の変動表示を停止させることが可能な状況で前記停止操作手段が操作された場合に成立し、前記第4特定条件は、前記停止操作手段の操作が終了した場合に成立することを特徴とする遊技機。
本手段によれば、絵柄の変動表示を停止させることが可能な状況で停止操作手段が操作されてから当該操作が終了するまでの間に、更新処理及び第2更新処理によって所定値を更新することができる。
手段12.上記手段8において、前記特定処理は、前記特典付与手段が前記特典の付与を開始してから終了するまでの間に前記所定値を更新する第2更新処理(カウンタ更新処理のS1408)を含むことを特徴とする遊技機。
本手段によれば、特典の付与が開始されてから終了するまでの間は、更新処理及び第2更新処理によって所定値が更新され、それ以外の期間には、更新処理によって所定値が更新される。つまり、特典の付与がなされている場合と、なされていない場合と、により、1回の特定処理で所定値が更新される更新回数が変化する。かかる構成とすることにより、特定処理を行うことができる期間になされた所定値の更新回数をよりランダムなものとすることが可能となる。
手段13.上記手段1において、前記絵柄の変動表示を停止させるべく操作される停止操作手段(ストップスイッチ42~44)を備え、前記判定手段は、前記絵柄の変動表示を停止させることが可能な状況で前記停止操作手段が操作された場合に、前記第1特定条件が成立したと判定することを特徴とする遊技機。
本手段によれば、絵柄の変動表示を停止させることが可能な状況で停止操作手段が操作された場合に第1特定条件が成立する。かかる構成とすることにより、特定処理を行うことができる期間の開始タイミングを遊技者による操作に依存させることが可能となる。
なお、本手段に上記手段5乃至手段9、手段11、手段12のいずれかの構成を適用してもよく、かかる場合であっても上述した作用効果を奏することが期待できる。
手段14.上記手段1乃至手段13のいずれかにおいて、前記抽選手段や前記表示制御手段等を有するとともに遊技の進行に関わる処理を行う演算実行手段(CPU102)を備え、当該演算実行手段に、前記所定値を記憶する記憶手段(第1カウンタ111a)と、前記特定処理実行手段と、を設けたことを特徴とする遊技機。
本手段によれば、遊技の進行に関わる処理を行う演算実行手段に、所定値を記憶する記憶手段と、所定値を更新する更新処理を含む特定処理を行う特定処理実行手段と、が設けられている。かかる構成とすることにより、記憶手段を、1の値のみを記憶する不正な記憶手段に変更されることを抑制することが可能となる。
手段15.上記手段1乃至手段14のいずれかにおいて、特定操作(電源投入時における設定キーのON操作等)がなされた場合に前記所定値を初期値に変更する初期化手段を非具備としたことを特徴とする遊技機。
本手段によれば、特定操作がなされた場合であっても所定値が初期値に変更されない。かかる構成とすることにより、所定値を初期値に変更した上で抽選に当選となる乱数を取得する不正を防止することが可能となる。
手段16.上記手段1乃至手段15のいずれかにおいて、前記遅延処理実行手段は、前記遅延処理として、前記開始条件が成立した際の所定値と無関係な特定値(0)となるまで前記所定値を更新する処理を行うことを特徴とする遊技機。
本手段によれば、開始条件が成立した場合、そのときの所定値と無関係な特定値となるまで所定値が更新される。かかる構成とすることにより、開始条件が成立してから乱数又は基礎乱数としての数値情報を取得するまでの期間を、特定値から開始条件が成立した際の所定値を減じた値と対応する期間とすることができ、開始条件が成立してから乱数又は基礎乱数としての数値情報が取得されるまでの期間をランダムなものとすることができる。
手段17.絵柄(図柄)を可変表示する可変表示手段(リールユニット31)と、
開始条件の成立を検出する開始条件検出手段(CPU102の開始指令が発生したと判断する機能S518)と、
前記開始条件が成立したことに基づいて抽選を行う抽選手段(CPU102の抽選処理機能S405)と、
前記開始条件が成立したことに基づいて前記絵柄の可変表示を開始させるとともに、前記抽選手段の抽選結果に基づいた停止結果となるよう前記可変表示手段を表示制御する表示制御手段(CPU102のリール制御処理機能)と、
前記抽選手段の抽選結果が当選であって特定停止結果(当選図柄の組合せが有効ライン上に停止する停止結果)となった場合、遊技者に特典(メダル払出)を付与する特典付与手段(CPU102のメダル払出処理機能S407)と
を備えた遊技機において、
所定値(第1カウンタ111aの値)を更新する更新処理(カウンタ更新処理におけるS1403)を含む特定処理(カウンタ更新処理)を行う特定処理実行手段(CPU102)と、
遊技者による操作に基づく第1特定条件(開始指令の発生)が成立したか否かを判定する判定手段(開始待ち処理におけるS518)と、
前記第1特定条件が成立した場合、前記特定処理を行うことを可能とする実行可能手段(ゲームフラグ設定処理機能S519)と、
第2特定条件(メダル払出の終了)が成立したか否かを判定する第2判定手段(メダル払出処理におけるS1201)と、
前記第2特定条件が成立した場合、前記特定処理を非実行とする非実行手段(ゲームフラグクリア処理機能S1208)と、
前記開始条件が成立したことに基づいて、前記抽選に用いる乱数又は前記乱数の元となる基礎乱数としての数値情報(乱数生成器150のカウント値)を取得する取得処理(乱数取得処理S601)を行う取得処理実行手段(CPU102)と、
前記開始条件が成立した場合、前記取得処理実行手段が前記数値情報を取得する取得タイミングを、前記所定値に基づいて前記開始条件の成立タイミングから遅延させる遅延処理(遅延処理S522及び遅延カウンタ処理S117)を行う遅延処理実行手段(CPU102)と
を備え、
前記第2特定条件を、当該第2特定条件の成立タイミングが前記第1特定条件の成立タイミングによって一義的に定まらない条件とするとともに、前記特定処理実行手段を、前記実行可能手段が前記特定処理を行うことを可能としてから前記非実行手段が非実行とするまでの間に、前記特定処理を繰り返し行う構成としたことを特徴とする遊技機。
本手段によれば、第1特定条件が成立した場合に特定処理を行うことが可能となり、第2特定条件が成立した場合に特定処理が非実行とされる。所定値は、第1特定条件が成立してから第2特定条件が成立するまでの間に繰り返し更新される。そして、抽選に用いる乱数又は乱数の元となる基礎乱数としての数値情報は、開始条件が成立したことに基づいて取得されるとともに、所定値に基づいて開始条件の成立タイミングから遅延されたタイミングで取得される。かかる構成とすることにより、仮に乱数又は基礎乱数としての数値情報が一定周期で抽選に当選となる値となり、そのタイミングで開始条件を成立させる不正が行われた場合であっても、乱数又は基礎乱数としての数値情報の取得タイミングを遅延させることで抽選に当選となる値が取得されることを防止することが可能となる。
また、第1特定条件の成立を遊技者による操作に基づく構成とすることにより、特定処理を行うことができる期間の開始タイミングをランダムなものとすることが可能となり、第1特定条件が成立してから第2特定条件が成立するまで、すなわち特定処理を行うことができる時間をランダムなものとすることが可能となる。この結果、前記期間に行われる特定処理の処理回数をランダムなものとすることが可能となる。
さらに、第1特定条件の成立を遊技者の操作に基づく構成とする一方、第2特定条件を、その成立タイミングが第1特定条件の成立タイミングによって一義的に定まらない条件とすることにより、第1特定条件が成立してから第2特定条件が成立するまでに要する時間が事前に把握されることを困難なものとすることが可能となる。故に、前記期間を一定にすることで前記期間に行われる特定処理の処理回数を一定とする不正を困難なものとすることが可能となる。
以上の結果、抽選に当選となる乱数を不正に取得することを困難なものとすることが可能となる。
なお、本手段に上記手段2乃至手段16のいずれかの構成を適用しても良く、かかる場合には相乗効果を奏することが期待できる。
手段18.開始条件の成立を検出する開始条件検出手段(CPU102の開始指令が発生したと判断する機能S518)と、
前記開始条件が成立したことに基づいて抽選を行う抽選手段(CPU102の抽選処理機能S405)と、
前記抽選手段の抽選結果が当選であることに基づいて特典(メダル払出)を付与する特典付与手段(CPU102のメダル払出処理機能S407)と
を備えた遊技機において、
所定値(第1カウンタ111aの値)を更新する更新処理(カウンタ更新処理におけるS1403)を含む特定処理(カウンタ更新処理)を行う特定処理実行手段(CPU102)と、
遊技者による操作に基づく第1特定条件(開始指令の発生)が成立したか否かを判定する判定手段(開始待ち処理におけるS518)と、
前記第1特定条件が成立した場合、前記特定処理を行うことを可能とする実行可能手段(ゲームフラグ設定処理機能S519)と、
第2特定条件(メダル払出の終了)が成立したか否かを判定する第2判定手段(メダル払出処理におけるS1201)と、
前記第2特定条件が成立した場合、前記特定処理を非実行とする非実行手段(ゲームフラグクリア処理機能S1208)と、
前記開始条件が成立したことに基づいて、前記抽選に用いる乱数又は前記乱数の元となる基礎乱数としての数値情報(乱数生成器150のカウント値)を取得する取得処理(乱数取得処理S601)を行う取得処理実行手段(CPU102)と、
前記開始条件が成立した場合、前記取得処理実行手段が前記数値情報を取得する取得タイミングを、前記所定値に基づいて前記開始条件の成立タイミングから遅延させる遅延処理(遅延処理S522及び遅延カウンタ処理S117)を行う遅延処理実行手段(CPU102)と
を備え、
前記第2特定条件を、当該第2特定条件の成立タイミングが遊技機外部から少なくとも前記第1特定条件の成立タイミングで察知されることが困難な条件とするとともに、前記特定処理実行手段を、前記実行可能手段が前記特定処理を行うことを可能としてから前記非実行手段が非実行とするまでの間に、前記特定処理を繰り返し行う構成としたことを特徴とする遊技機。
本手段によれば、第1特定条件が成立した場合に特定処理を行うことが可能となり、第2特定条件が成立した場合に特定処理が非実行とされる。所定値は、第1特定条件が成立してから第2特定条件が成立するまでの間に繰り返し更新される。そして、抽選に用いる乱数又は乱数の元となる基礎乱数としての数値情報は、開始条件が成立したことに基づいて取得されるとともに、所定値に基づいて開始条件の成立タイミングから遅延されたタイミングで取得される。かかる構成とすることにより、仮に乱数又は基礎乱数としての数値情報が一定周期で抽選に当選となる値となり、そのタイミングで開始条件を成立させる不正が行われた場合であっても、乱数又は基礎乱数としての数値情報の取得タイミングを遅延させることで抽選に当選となる値が取得されることを防止することが可能となる。
また、第1特定条件の成立を遊技者による操作に基づく構成とすることにより、特定処理を行うことができる期間の開始タイミングをランダムなものとすることが可能となり、第1特定条件が成立してから第2特定条件が成立するまで、すなわち特定処理を行うことができる時間をランダムなものとすることが可能となる。この結果、前記期間に行われる特定処理の処理回数をランダムなものとすることが可能となる。
さらに、第1特定条件の成立を遊技者の操作に基づく構成とする一方、第2特定条件を、その成立タイミングが遊技機外部から少なくとも第1特定条件の成立タイミングで察知されることが困難な条件とすることにより、第1特定条件が成立してから第2特定条件が成立するまでに要する時間が事前に把握されることを困難なものとすることが可能となる。故に、前記期間を一定にすることで前記期間に行われる特定処理の処理回数を一定とする不正を困難なものとすることが可能となる。
以上の結果、抽選に当選となる乱数を不正に取得することを困難なものとすることが可能となる。
手段19.開始条件の成立を検出する開始条件検出手段(CPU102の開始指令が発生したと判断する機能S518)と、
前記開始条件が成立したことに基づいて抽選を行う抽選手段(CPU102の抽選処理機能S405)と、
前記抽選手段の抽選結果が当選であることに基づいて特典(メダル払出)を付与する特典付与手段(CPU102のメダル払出処理機能S407)と
を備えた遊技機において、
所定値(第1カウンタ111aの値)を更新する更新処理(カウンタ更新処理におけるS1403)を含む特定処理(カウンタ更新処理)を行う特定処理実行手段(CPU102)と、
遊技者による操作に基づく第1特定条件(開始指令の発生)が成立したか否かを判定する判定手段(開始待ち処理におけるS518)と、
前記第1特定条件が成立した場合、前記特定処理を行うことを可能とする実行可能手段(ゲームフラグ設定処理機能S519)と、
第2特定条件(メダル払出の終了)が成立したか否かを判定する第2判定手段(メダル払出処理におけるS1201)と、
前記第2特定条件が成立した場合、前記特定処理を非実行とする非実行手段(ゲームフラグクリア処理機能S1208)と、
前記開始条件が成立したことに基づいて、前記抽選に用いる乱数又は前記乱数の元となる基礎乱数としての数値情報(乱数生成器150のカウント値)を取得する取得処理(乱数取得処理S601)を行う取得処理実行手段(CPU102)と、
前記開始条件が成立した場合、前記取得処理実行手段が前記数値情報を取得する取得タイミングを、前記所定値に基づいて前記開始条件の成立タイミングから遅延させる遅延処理(遅延処理S522及び遅延カウンタ処理S117)を行う遅延処理実行手段(CPU102)と
を備え、
前記第2特定条件を、当該第2特定条件の成立タイミングが前記第1特定条件の成立タイミングによって一義的に定まらない条件とするとともに、前記特定処理実行手段を、前記実行可能手段が前記特定処理を行うことを可能としてから前記非実行手段が非実行とするまでの間に、前記特定処理を繰り返し行う構成としたことを特徴とする遊技機。
本手段によれば、第1特定条件が成立した場合に特定処理を行うことが可能となり、第2特定条件が成立した場合に特定処理が非実行とされる。所定値は、第1特定条件が成立してから第2特定条件が成立するまでの間に繰り返し更新される。そして、抽選に用いる乱数又は乱数の元となる基礎乱数としての数値情報は、開始条件が成立したことに基づいて取得されるとともに、所定値に基づいて開始条件の成立タイミングから遅延されたタイミングで取得される。かかる構成とすることにより、仮に乱数又は基礎乱数としての数値情報が一定周期で抽選に当選となる値となり、そのタイミングで開始条件を成立させる不正が行われた場合であっても、乱数又は基礎乱数としての数値情報の取得タイミングを遅延させることで抽選に当選となる値が取得されることを防止することが可能となる。
また、第1特定条件の成立を遊技者による操作に基づく構成とすることにより、特定処理を行うことができる期間の開始タイミングをランダムなものとすることが可能となり、第1特定条件が成立してから第2特定条件が成立するまで、すなわち特定処理を行うことができる時間をランダムなものとすることが可能となる。この結果、前記期間に行われる特定処理の処理回数をランダムなものとすることが可能となる。
さらに、第1特定条件の成立を遊技者の操作に基づく構成とする一方、第2特定条件を、その成立タイミングが第1特定条件の成立タイミングによって一義的に定まらない条件とすることにより、第1特定条件が成立してから第2特定条件が成立するまでに要する時間が事前に把握されることを困難なものとすることが可能となる。故に、前記期間を一定にすることで前記期間に行われる特定処理の処理回数を一定とする不正を困難なものとすることが可能となる。
以上の結果、抽選に当選となる乱数を不正に取得することを困難なものとすることが可能となる。
手段20.開始条件の成立を検出する開始条件検出手段(CPU102の開始指令が発生したと判断する機能S518)と、
前記開始条件が成立したことに基づいて抽選を行う抽選手段(CPU102の抽選処理機能S405)と、
前記抽選手段の抽選結果が当選であることに基づいて特典(メダル払出)を付与する特典付与手段(CPU102のメダル払出処理機能S407)と
を備えた遊技機において、
所定値(第1カウンタ111aの値)を更新する更新処理(カウンタ更新処理におけるS1403)を含む特定処理(カウンタ更新処理)を行う特定処理実行手段(CPU102)と、
第1特定条件(開始指令の発生)が成立したか否かを判定する判定手段(開始待ち処理におけるS518)と、
前記第1特定条件が成立した場合、前記特定処理を行うことを可能とする実行可能手段(ゲームフラグ設定処理機能S519)と、
第2特定条件(メダル払出の終了)が成立したか否かを判定する第2判定手段(メダル払出処理におけるS1201)と、
前記第2特定条件が成立した場合、前記特定処理を非実行とする非実行手段(ゲームフラグクリア処理機能S1208)と、
前記開始条件が成立したことに基づいて、前記抽選に用いる乱数又は前記乱数の元となる基礎乱数としての数値情報(乱数生成器150のカウント値)を取得する取得処理(乱数取得処理S601)を行う取得処理実行手段(CPU102)と、
前記開始条件が成立した場合、前記取得処理実行手段が前記数値情報を取得する取得タイミングを、前記所定値に基づいて前記開始条件の成立タイミングから遅延させる遅延処理(遅延処理S522及び遅延カウンタ処理S117)を行う遅延処理実行手段(CPU102)と
を備え、
前記第2特定条件を、当該第2特定条件の成立タイミングが遊技機外部から少なくとも前記第1特定条件の成立タイミングで察知されることが困難な条件とするとともに、前記特定処理実行手段を、前記実行可能手段が前記特定処理を行うことを可能としてから前記非実行手段が非実行とするまでの間に、前記特定処理を繰り返し行う構成としたことを特徴とする遊技機。
本手段によれば、第1特定条件が成立した場合に特定処理を行うことが可能となり、第2特定条件が成立した場合に特定処理が非実行とされる。所定値は、第1特定条件が成立してから第2特定条件が成立するまでの間に繰り返し更新される。そして、抽選に用いる乱数又は乱数の元となる基礎乱数としての数値情報は、開始条件が成立したことに基づいて取得されるとともに、所定値に基づいて開始条件の成立タイミングから遅延されたタイミングで取得される。かかる構成とすることにより、仮に乱数又は基礎乱数としての数値情報が一定周期で抽選に当選となる値となり、そのタイミングで開始条件を成立させる不正が行われた場合であっても、乱数又は基礎乱数としての数値情報の取得タイミングを遅延させることで抽選に当選となる値が取得されることを防止することが可能となる。
また、第1特定条件が成立した場合に特定処理を行うことが可能となり、第2特定条件が成立した場合に特定処理が非実行とされる構成とすることにより、第1特定条件が成立してから第2特定条件が成立するまで、すなわち特定処理を行うことができる期間をランダムなものとすることが可能となる。この結果、前記期間に行われる特定処理の処理回数をランダムなものとすることが可能となる。
さらに、第2特定条件を、その成立タイミングが遊技機外部から少なくとも第1特定条件の成立タイミングで察知されることが困難な条件とすることにより、第1特定条件が成立してから第2特定条件が成立するまでに要する時間が事前に把握されることを困難なものとすることが可能となる。故に、前記期間を一定にすることで前記期間に行われる特定処理の処理回数を一定とする不正を困難なものとすることが可能となる。
以上の結果、抽選に当選となる乱数を不正に取得することを困難なものとすることが可能となる。
手段21.開始条件の成立を検出する開始条件検出手段(CPU102の開始指令が発生したと判断する機能S518)と、
前記開始条件が成立したことに基づいて抽選を行う抽選手段(CPU102の抽選処理機能S405)と、
前記抽選手段の抽選結果が当選であることに基づいて特典(メダル払出)を付与する特典付与手段(CPU102のメダル払出処理機能S407)と
を備えた遊技機において、
所定値(第1カウンタ111aの値)を更新する更新処理(カウンタ更新処理におけるS1403)を含む特定処理(カウンタ更新処理)を行う特定処理実行手段(CPU102)と、
第1特定条件(開始指令の発生)が成立したか否かを判定する判定手段(開始待ち処理におけるS518)と、
前記第1特定条件が成立した場合、前記特定処理を行うことを可能とする実行可能手段(ゲームフラグ設定処理機能S519)と、
第2特定条件(メダル払出の終了)が成立したか否かを判定する第2判定手段(メダル払出処理におけるS1201)と、
前記第2特定条件が成立した場合、前記特定処理を非実行とする非実行手段(ゲームフラグクリア処理機能S1208)と、
前記開始条件が成立したことに基づいて、前記抽選に用いる乱数又は前記乱数の元となる基礎乱数としての数値情報(乱数生成器150のカウント値)を取得する取得処理(乱数取得処理S601)を行う取得処理実行手段(CPU102)と、
前記開始条件が成立した場合、前記取得処理実行手段が前記数値情報を取得する取得タイミングを、前記所定値に基づいて前記開始条件の成立タイミングから遅延させる遅延処理(遅延処理S522及び遅延カウンタ処理S117)を行う遅延処理実行手段(CPU102)と
を備え、
前記第2特定条件を、当該第2特定条件の成立タイミングが前記第1特定条件の成立タイミングによって一義的に定まらない条件とするとともに、前記特定処理実行手段を、前記実行可能手段が前記特定処理を行うことを可能としてから前記非実行手段が非実行とするまでの間に、前記特定処理を繰り返し行う構成としたことを特徴とする遊技機。
本手段によれば、第1特定条件が成立した場合に特定処理を行うことが可能となり、第2特定条件が成立した場合に特定処理が非実行とされる。所定値は、第1特定条件が成立してから第2特定条件が成立するまでの間に繰り返し更新される。そして、抽選に用いる乱数又は乱数の元となる基礎乱数としての数値情報は、開始条件が成立したことに基づいて取得されるとともに、所定値に基づいて開始条件の成立タイミングから遅延されたタイミングで取得される。かかる構成とすることにより、仮に乱数又は基礎乱数としての数値情報が一定周期で抽選に当選となる値となり、そのタイミングで開始条件を成立させる不正が行われた場合であっても、乱数又は基礎乱数としての数値情報の取得タイミングを遅延させることで抽選に当選となる値が取得されることを防止することが可能となる。
また、第1特定条件が成立した場合に特定処理を行うことが可能となり、第2特定条件が成立した場合に特定処理が非実行とされる構成とすることにより、第1特定条件が成立してから第2特定条件が成立するまで、すなわち特定処理を行うことができる期間をランダムなものとすることが可能となる。この結果、前記期間に行われる特定処理の処理回数をランダムなものとすることが可能となる。
さらに、第2特定条件を、その成立タイミングが第1特定条件の成立タイミングによって一義的に定まらない条件とすることにより、第1特定条件が成立してから第2特定条件が成立するまでに要する時間が事前に把握されることを困難なものとすることが可能となる。故に、前記期間を一定にすることで前記期間に行われる特定処理の処理回数を一定とする不正を困難なものとすることが可能となる。
以上の結果、抽選に当選となる乱数を不正に取得することを困難なものとすることが可能となる。
手段22.絵柄(図柄)を可変表示する可変表示手段(リールユニット31)と、
開始条件の成立を検出する開始条件検出手段(CPU102の開始指令が発生したと判断する機能S518)と、
前記開始条件が成立したことに基づいて抽選を行う抽選手段(CPU102の抽選処理機能S405)と、
前記開始条件が成立したことに基づいて前記絵柄の可変表示を開始させるとともに、前記抽選手段の抽選結果に基づいた停止結果となるよう前記可変表示手段を表示制御する表示制御手段(CPU102のリール制御処理機能)と、
前記抽選手段の抽選結果が当選であって特定停止結果(当選図柄の組合せが有効ライン上に停止する停止結果)となった場合、遊技者に特典(メダル払出)を付与する特典付与手段(CPU102のメダル払出処理機能S407)と
を備え、前記開始条件が成立したことに基づいて遊技が開始され、前記絵柄の可変表示が終了したこと又は前記特典の付与が終了したことに基づいて前記遊技が終了する遊技機において、
所定値(第1カウンタ111aの値)を更新する更新処理(カウンタ更新処理におけるS1403)を含む特定処理(カウンタ更新処理)を行う特定処理実行手段(CPU102)と、
第1特定条件(開始指令の発生)が成立したか否かを判定する判定手段(開始待ち処理におけるS518)と、
前記第1特定条件が成立した場合、前記特定処理を行うことを可能とする実行可能手段(ゲームフラグ設定処理機能S519)と、
第2特定条件(メダル払出の終了)が成立したか否かを判定する第2判定手段(メダル払出処理におけるS1201)と、
前記第2特定条件が成立した場合、前記特定処理を非実行とする非実行手段(ゲームフラグクリア処理機能S1208)と、
前記開始条件が成立したことに基づいて、前記抽選に用いる乱数又は前記乱数の元となる基礎乱数としての数値情報(乱数生成器150のカウント値)を取得する取得処理(乱数取得処理S601)を行う取得処理実行手段(CPU102)と、
前記開始条件が成立した場合、前記取得処理実行手段が前記数値情報を取得する取得タイミングを、前記所定値に基づいて前記開始条件の成立タイミングから遅延させる遅延処理(遅延処理S522及び遅延カウンタ処理S117)を行う遅延処理実行手段(CPU102)と
を備え、
前記判定手段を、前記遊技が開始された場合に前記第1特定条件が成立したと判定する構成とするとともに、前記第2判定手段を、前記遊技が終了された場合に前記第2特定条件が成立したと判定する構成とし、前記特定処理実行手段を、前記実行可能手段が前記特定処理を行うことを可能としてから前記非実行手段が非実行とするまでの間に、前記特定処理を繰り返し行う構成としたことを特徴とする遊技機。
本手段によれば、第1特定条件が成立した場合に特定処理を行うことが可能となり、第2特定条件が成立した場合に特定処理が非実行とされる。所定値は、第1特定条件が成立してから第2特定条件が成立するまでの間に繰り返し更新される。そして、抽選に用いる乱数又は乱数の元となる基礎乱数としての数値情報は、開始条件が成立したことに基づいて取得されるとともに、所定値に基づいて開始条件の成立タイミングから遅延されたタイミングで取得される。かかる構成とすることにより、仮に乱数又は基礎乱数としての数値情報が一定周期で抽選に当選となる値となり、そのタイミングで開始条件を成立させる不正が行われた場合であっても、乱数又は基礎乱数としての数値情報の取得タイミングを遅延させることで抽選に当選となる値が取得されることを防止することが可能となる。
また、遊技が開始された場合に第1特定条件が成立し、遊技が終了された場合に第2特定条件が成立する構成とすることにより、特定処理を行うことができる時間をランダムなものとすることが可能となる。遊技の開始から終了までに要する時間は、抽選手段の抽選結果に基づいて変化するからである。この結果、前記期間に行われる特定処理の処理回数、すなわち所定値の更新回数をランダムなものとすることが可能となる。
以上の結果、抽選に当選となる乱数を不正に取得することを困難なものとすることが可能となる。
以下、遊技機の一種である回胴式遊技機、具体的にはスロットマシンに適用した場合の一実施の形態を、図面に基づいて詳細に説明する。図1はスロットマシン10の正面図、図2はスロットマシン10の前面扉12を閉じた状態の斜視図、図3はスロットマシン10の前面扉12を開いた状態の斜視図、図4は前面扉12の背面図、図5は筐体11の正面図である。
図1~図5に示すように、スロットマシン10は、その外殻を形成する筐体11を備えている。筐体11は、全体として前面を開放した箱状に形成されており、遊技ホールへの設置の際にいわゆる島設備に対し釘を打ち付ける等して取り付けられる。
筐体11の前面側には、前面扉12が開閉可能に取り付けられている。すなわち、筐体11には、その正面から見て左側部に上下一対の支軸13a,13bが設けられており、前面扉12には、各支軸13a,13bと対応する位置に軸受部14a,14bが設けられている。そして、各軸受部14a,14bに各支軸13a,13bが挿入された状態では、前面扉12が筐体11に対して両支軸13a,13bを結ぶ上下方向へ延びる開閉軸線を中心として回動可能に支持され、前面扉12の回動によって筐体11の前面開放側を開放したり閉鎖したりすることができるようになっている。また、前面扉12は、その裏面に設けられた施錠装置20によって開放不能な施錠状態とされる。前面扉12の右端側上部には、施錠装置20と一体化されたキーシリンダ21が設けられており、キーシリンダ21に対する所定のキー操作によって前記施錠状態が解除されるように構成されている。
前面扉12の中央部上寄りには、遊技者に遊技状態を報知する遊技パネル25が設けられている。遊技パネル25には、縦長の3つの表示窓26L,26M,26Rが横並びに形成されており、各表示窓26L,26M,26Rを通じてスロットマシン10の内部が視認可能な状態となっている。なお、各表示窓26L,26M,26Rを1つにまとめて共通の表示窓としてもよい。
図3に示すように、筐体11は仕切り板30によりその内部が上下2分割されており、仕切り板30の上部には、可変表示手段を構成するリールユニット31が取り付けられている。リールユニット31は、円筒状(円環状)にそれぞれ形成された左リール32L,中リール32M,右リール32Rを備えている。各リール32L,32M,32Rは、その中心軸線が当該リールの回転軸線となるように回転可能に支持されている。各リール32L,32M,32Rの回転軸線は略水平方向に延びる同一軸線上に配設され、それぞれのリール32L,32M,32Rが各表示窓26L,26M,26Rと1対1で対応している。したがって、各リール32L,32M,32Rの表面の一部はそれぞれ対応する表示窓26L,26M,26Rを通じて視認可能な状態となっている。また、リール32L,32M,32Rが正回転すると、各表示窓26L,26M,26Rを通じてリール32L,32M,32Rの表面は上から下へ向かって移動しているかのように映し出される。
ここで、リールユニット31の構成を簡単に説明する。
各リール32L,32M,32Rは、それぞれが1-2相励磁のステッピングモータに連結されており、各ステッピングモータの駆動により各リール32L,32M,32Rが個別に、すなわちそれぞれ独立して回転駆動し得る構成となっている。ステッピングモータは、例えば504パルスの駆動信号(以下、励磁パルス又は励磁データとも言う。)を与えることにより1回転されるように設定されており、この励磁パルスによってステッピングモータの回転位置、すなわちリールの回転位置が制御される。また、リールユニット31には、リールが1回転したことを検出するためのリールインデックスセンサが各リール32L,32M,32Rと対応させて設置されており、各リール32L,32M,32Rには、リールインデックスセンサの素子部を通過可能なセンサカットバンが取り付けられている。そして、リールが1回転する毎にセンサカットバンの通過をリールインデックスセンサが検出し、その検出の都度、後述する主制御装置101に検出信号が出力されるようになっている。このため主制御装置101は、リールインデックスセンサの検出信号と、当該検出信号が入力されるまでに出力した励磁パルス数とに基づいて、各リール32L,32M,32Rの角度位置を1回転毎に確認するとともに補正することができる。
各リール32L,32M,32Rの外周面には、その長辺方向(周回方向)に、識別情報としての図柄が複数個描かれている。より具体的には、21個の図柄が等間隔に描かれている。このため、所定の位置においてある図柄を次の図柄へ切り替えるには、24パルス(=504パルス÷21図柄)の励磁パルスの出力を要する。また、主制御装置101は、リールインデックスセンサの検出信号が入力されてから出力した励磁パルス数により、表示窓26L,26M,26Rから視認可能な状態となっている図柄を把握したり、表示窓26L,26M,26Rから視認可能な位置に所定の図柄を停止させたりする制御を行うことができる。
次に、各リール32L,32M,32Rに描かれている図柄について説明する。
図6には、左リール32L,中リール32M,右リール32Rの図柄配列が示されている。同図に示すように、各リール32L,32M,32Rには、それぞれ21個の図柄が一列に配置されている。また、各リール32L,32M,32Rに対応して番号が0~20まで付されているが、これら番号は主制御装置101が表示窓26L,26M,26Rから視認可能な状態となっている図柄を認識するための番号であり、リール32L,32M,32Rに実際に付されているわけではない。但し、以下の説明では当該番号を使用して説明する。
図柄としては、「星」図柄(例えば、左リール32Lの20番目)、「チェリー」図柄(例えば、左リール32Lの19番目)、「青年」図柄(例えば、左リール32Lの18番目)、「ベル」図柄(例えば、左リール32Lの17番目)、「リプレイ」図柄(例えば、左リール32Lの16番目)、「白7」図柄(例えば、左リール32Lの15番目)、「スイカ」図柄(例えば、左リール32Lの14番目)、「赤7」図柄(例えば、左リール32Lの3番目)の8種類がある。そして、図6に示すように、各リール32L,32M,32Rにおいて各種図柄の数や配置順序は全く異なっている。
各表示窓26L,26M,26Rは、対応するリールに付された21個の図柄のうち図柄全体を視認可能となる図柄が3個となるように形成されている。このため、各リール32L,32M,32Rがすべて停止している状態では、3×3=9個の図柄が表示窓26L,26M,26Rを介して視認可能な状態となる。
本スロットマシン10では、これら9個の図柄が視認可能となる各位置を結ぶようにして、横方向へ平行に3本、斜め方向へたすき掛けに2本、計5本の組合せラインが設定されている。より詳しくは、図7に示すように、横方向の組合せラインとして、各リール32L,32M,32Rの上段図柄を結んだ上ラインL1と、各リール32L,32M,32Rの中段図柄を結んだ中ラインL2と、各リール32L,32M,32Rの下段図柄を結んだ下ラインL3と、が設定されている。また、斜め方向の組合せラインとして、左リール32Lの上段図柄,中リール32Mの中段図柄,右リール32Rの下段図柄を結んだ右下がりラインL4と、左リール32Lの下段図柄,中リール32Mの中段図柄,右リール32Rの上段図柄を結んだ右上がりラインL5と、が設定されている。そして、有効化された組合せライン、すなわち有効ライン上に図柄が所定の組合せで停止した場合には、入賞成立として、遊技媒体たるメダルが所定数払い出される特典が付与されたり、遊技状態が移行される特典が付与されたりするようになっている。
図8には、入賞となる図柄の組合せと、入賞となった場合に付与される特典とが示されている。
メダル払出が行われる小役入賞としては、ベル入賞と、スイカ入賞と、1枚役入賞と、チェリー入賞とがある。各リール32L,32M,32Rの「ベル」図柄が有効ライン上に並んで停止した場合、ベル入賞として8枚のメダル払出が行われ、各リール32L,32M,32Rの「スイカ」図柄が有効ライン上に並んで停止した場合、スイカ入賞として6枚のメダル払出が行われ、有効ライン上に左から順に「赤7」図柄,「青年」図柄,「白7」図柄と並んで停止した場合、1枚役入賞として1枚のメダル払出が行われる。また、左リール32Lの「チェリー」図柄が有効ライン上に停止した場合、チェリー入賞として2枚のメダル払出が行われる。すなわち、チェリー入賞の場合には、中リール32Mと右リール32Rについて、有効ライン上に停止する図柄がどのような図柄であっても良い。換言すれば、左リール32Lの「チェリー」図柄と、中リール32M及び右リール32Rの任意の図柄との組合せが有効ライン上に停止した場合、チェリー入賞が成立するとも言える。したがって、左リール32Lの複数の有効ラインが重なる位置(具体的には上段と下段)に「チェリー」図柄が停止した場合には、各有効ライン上にてチェリー入賞が成立することとなり、結果として4(=2×2)枚のメダル払出が行われる。本実施の形態では、左リール32Lの「チェリー」図柄が上段又は下段に停止してチェリー入賞が成立するようになっているため、チェリー入賞が成立した場合には4枚のメダル払出が行われる。
遊技状態の移行のみが行われる状態移行入賞としては、BB入賞がある。各リール32L,32M,32Rの「赤7」図柄が有効ライン上に並んで停止した場合、BB入賞として遊技状態がビッグボーナス状態(以下、「BB状態」と言う。)に移行する。
メダル払出や遊技状態の移行以外の特典が付与される入賞としては、再遊技入賞がある。各リール42L,42M,42Rの「リプレイ」図柄が有効ライン上に並んで停止した場合、再遊技入賞として、メダル払出や遊技状態の移行は行われないものの、メダルを投入することなく次ゲームの遊技を行うことが可能な再遊技の特典が付与される。
なお以下では、各入賞と対応する図柄の組合せを入賞図柄の組合せとも言う。例えば、再遊技図柄の組合せとは、再遊技入賞となる図柄の組合せ、すなわち「リプレイ」図柄,「リプレイ」図柄,「リプレイ」図柄の組合せである。また、各入賞と対応する各リール32L,32M,32Rの図柄を入賞図柄とも言う。例えば、1枚役図柄とは、左リール32Lにおいては「赤7」図柄であり、中リール32Mにおいては「青年」図柄であり、右リール32Rにおいては「白7」図柄である。
遊技パネル25の下方左側には、各リール32L,32M,32Rの回転を開始させるために操作されるスタートレバー41が設けられている。スタートレバー41はリール32L,32M,32Rを回転開始、すなわち図柄の可変表示を開始させるべく操作される開始操作手段又は始動操作手段を構成する。スタートレバー41は、遊技者がゲームを開始するときに手で押し操作するレバーであり、手が離れたあと初期位置に自動復帰する。ちなみに、本スロットマシン10におけるスタートレバー41は、手が離れたあと初期位置に自動復帰するまでに数10msecを要するように構成されている。所定数のメダルが投入されている状態でスタートレバー41を操作された場合、各リール32L,32M,32Rが回転を開始するようになっている。
スタートレバー41の右側には、回転している各リール32L,32M,32Rを個別に停止させるために操作されるボタン状のストップスイッチ42~44が設けられている。各ストップスイッチ42~44は、停止対象となるリール32L,32M,32Rに対応する表示窓26L,26M,26Rの直下にそれぞれ配置されている。すなわち、左ストップスイッチ42が操作された場合には左リール32Lの回転が停止し、中ストップスイッチ43が操作された場合には中リール32Mの回転が停止し、右ストップスイッチ44が操作された場合には右リール32Rの回転が停止する。ストップスイッチ42~44はリール32L,32M,32Rの回転に基づく図柄の可変表示を停止させるべく操作される停止操作手段を構成する。ストップスイッチ42~44は、左リール32Lが回転を開始してから所定時間を経過した場合に、停止操作可能な状態となるようになっている。ストップスイッチ42~44の内部には図示しないランプが設けられており、停止操作可能な状態ではランプが点灯表示され、リールが停止している等の停止操作不可能な状態ではランプが消灯表示されるようになっている。
表示窓26L,26M,26Rの下方右側には、メダルを投入するためのメダル投入口45が設けられている。メダル投入口45は遊技媒体を入力する入力手段を構成する。また、メダル投入口45が遊技者によりメダルを直接投入するという動作を伴う点に着目すれば、遊技媒体を直接入力する直接入力手段を構成するものとも言える。
メダル投入口45から投入されたメダルは、前面扉12の背面に設けられた通路切替手段としてのセレクタ46によって貯留用通路47か排出用通路48のいずれかへ導かれる。より詳しくは、セレクタ46にはメダル通路切替ソレノイド46aが設けられており、そのメダル通路切替ソレノイド46aの非励磁時にはメダルが排出用通路48側に導かれ、前記メダル通路切替ソレノイド46aの励磁時にはメダルが貯留用通路47側に導かれるようになっている。貯留用通路47に導かれたメダルは、筐体11の内部に収納されたホッパ装置51へと導かれる。一方、排出用通路48に導かれたメダルは、前面扉12の前面下部に設けられたメダル排出口49からメダル受け皿50へと導かれ、遊技者に返還される。
ホッパ装置51は、メダルを貯留する貯留タンク52と、メダルを遊技者に払い出す払出装置53とより構成されている。払出装置53は、図示しないメダル払出用回転板を回転させることにより、排出用通路48に設けられた開口48aへメダルを排出し、排出用通路48を介してメダル受け皿50へメダルを払い出すようになっている。また、ホッパ装置51の右方には、貯留タンク52内に所定量以上のメダルが貯留されることを回避するための予備タンク54が設けられている。ホッパ装置51の貯留タンク52内部には、この貯留タンク52から予備タンク54へとメダルを排出する誘導プレート52aが設けられている。したがって、誘導プレート52aが設けられた高さ以上にメダルが貯留された場合、かかるメダルが予備タンク54に貯留されることとなる。
メダル投入口45の下方には、ボタン状の返却スイッチ55が設けられている。メダル投入口45に投入されたメダルがセレクタ46内に詰まった状況下で返却スイッチ55を操作された場合、セレクタ46が機械的に連動して動作され、当該セレクタ46内に詰まったメダルがメダル排出口49から返却されるようになっている。
表示窓26L,26M,26Rの下方左側には、遊技媒体としてのクレジットされた仮想メダルを一度に3枚投入するための第1クレジット投入スイッチ56が設けられている。また、第1クレジット投入スイッチ56の左方には、第2クレジット投入スイッチ57と、第3クレジット投入スイッチ58とが設けられている。第2クレジット投入スイッチ57は仮想メダルを一度に2枚投入するためのものであり、第3クレジット投入スイッチ58は仮想メダルを1枚投入するためのものである。各クレジット投入スイッチ56~58は前記メダル投入口45とともに遊技媒体を入力する入力手段を構成する。また、メダル投入口45が遊技者によりメダルを直接投入するという動作を伴うのに対し、各クレジット投入スイッチ56~58は貯留記憶に基づく仮想メダルの投入という動作を伴うに過ぎない点に着目すれば、遊技媒体を間接入力する間接入力手段を構成するものとも言える。各クレジット投入スイッチ56~58の内部には図示しないランプが設けられており、投入操作可能な状態ではランプが点灯表示され、投入操作不可能な状態ではランプが消灯表示されるようになっている。
スタートレバー41の左方には、精算スイッチ59が設けられている。すなわち、本スロットマシン10では、所定の最大値(メダル50枚分)となるまでの余剰の投入メダルや入賞時の払出メダルを仮想メダルとして貯留記憶するクレジット機能を有しており、仮想メダルが貯留記憶されている状況下で精算スイッチ59を操作された場合、仮想メダルが現実のメダルとしてメダル排出口49から払い出されるようになっている。この場合、クレジットされた仮想メダルを現実のメダルとして払い出すという機能に着目すれば、精算スイッチ59は貯留記憶された遊技媒体を実際に払い出すための精算操作手段を構成するものとも言える。
遊技パネル25の表示窓26L,26M,26R下方には、クレジットされている仮想メダル数を表示するクレジット表示部60と、BB状態が終了するまでに払い出される残りのメダル数を表示する残払出枚数表示部61と、入賞時に払い出したメダルの枚数を表示する払出枚数表示部62とがそれぞれ設けられている。これら表示部60~62は7セグメント表示器によって構成されているが、液晶表示器等によって代替することは当然可能である。
ここで、メダルのベット数と、有効化される組合せラインとの関係を、図7を用いて説明する。遊技の開始時にメダル投入口45からメダルが投入されるとベットとなる。
1枚目のメダルがメダル投入口45に投入された場合、ベット数は1となり、中ラインL2が有効化される。2枚目のメダルがメダル投入口45に投入された場合、ベット数は2となり、中ラインL2に加えて上ラインL1と下ラインL3を含む合計3本の組合せラインが有効化される。3枚目のメダルがメダル投入口45に投入された場合、ベット数は3となり、組合せラインL1~L5の全てが有効化される。
なお、4枚以上のメダルがメダル投入口45に投入された場合、そのときに貯留記憶されている仮想メダルが50枚未満であれば、3枚を超える余剰メダルはスロットマシン10内部に貯留され、クレジット表示部60の仮想メダル数が加算表示される。一方、仮想メダル数が50枚のとき又は50枚に達したときには、セレクタ46により貯留用通路47から排出用通路48への切替がなされ、メダル排出口49からメダル受け皿50へと余剰メダルが返却される。
また、仮想メダルが貯留記憶されており、遊技の開始時に第1~第3クレジット投入スイッチ56~58のいずれかが操作された場合にも、仮想メダルが投入されたこととなりベットとなる。なお、第1~第3クレジット投入スイッチ56~58のいずれかが操作された場合については、投入された仮想メダルの枚数分だけクレジット表示部60に表示されている仮想メダル数が減算されることを除き、メダル投入口45からメダルを投入した場合と同じため、説明を省略する。
ちなみに、第1~第3クレジット投入スイッチ56~58のいずれかが操作された場合に投入されるべき仮想メダルが貯留記憶されていない場合、例えばクレジット表示部60の表示が2のときに第1クレジット投入スイッチ56が操作された場合等には、クレジット表示部60の数値が全て減算されて0となり、投入可能な仮想メダル分だけベットされる。
前面扉12の上部には、遊技の進行に伴い点灯したり点滅したりする上部ランプ63と、遊技の進行に伴い種々の効果音を鳴らしたり、遊技者に遊技状態を報知したりする左右一対のスピーカ64と、遊技者に各種情報を与える補助表示部65とが設けられている。補助表示部65は、遊技の進行に伴って各種表示演出を実行するためのものであり、各リール32L,32M,32Rによる遊技を主表示部によるものと考えることができることから、本実施形態では補助表示部65と称している。補助表示部65の背面には、上部ランプ63やスピーカ64、補助表示部65を駆動させるための表示制御装置81が設けられている。
筐体11の内部においてホッパ装置51の左方には、電源ボックス70が設けられている。電源ボックス70は、その内部に電源装置91を収容するとともに、電源スイッチ71やリセットスイッチ72、設定キー挿入孔73などを備えている。電源スイッチ71は、主制御装置101を始めとする各部に電源を供給するための起動スイッチである。リセットスイッチ72は、スロットマシン10のエラー状態をリセットするためのスイッチである。また、設定キー挿入孔73は、ホール管理者などがメダルの出玉調整を行うためのものである。すなわち、ホール管理者等が設定キーを設定キー挿入孔73へ挿入してON操作することにより、スロットマシン10の当選確率を設定できるようになっている。なお、リセットスイッチ72は、エラー状態をリセットする場合の他に、スロットマシン10の当選確率を変更する場合にも操作される。
リールユニット31の上方には、遊技を統括管理する主制御装置101が筐体11に取り付けられている。
次に、本スロットマシン10の電気的構成について、図9のブロック図に基づいて説明する。
主制御装置101には、演算処理手段であるCPU102を中心とするマイクロコンピュータが搭載されている。CPU102には、電源装置91の他に、8.000MHzの所定周波数の矩形波(第1クロック信号)を出力する第1クロック回路103や、入出力ポート104(具体的には、コネクタ、ドライバIC、チップセレクトIC等により構成される入出力ポート)、乱数を生成する乱数生成器150などが内部バスを介して接続されている。かかる主制御装置101は、スロットマシン10に内蔵されるメイン基盤としての機能を果たすものである。
主制御装置101の入力側には、リールユニット31(より詳しくは各リール32L,32M,32Rが1回転したことを個別に検出するリールインデックスセンサ)、スタートレバー41の操作を検出するスタート検出センサ41a、各ストップスイッチ42~44の操作を個別に検出するストップ検出センサ42a~44a、メダル投入口45から投入されたメダルを検出する投入メダル検出センサ45a、ホッパ装置51から払い出されるメダルを検出する払出検出センサ51a、各クレジット投入スイッチ56~58の操作を個別に検出するクレジット投入検出センサ56a~58a、精算スイッチ59の操作を検出する精算検出センサ59a、リセットスイッチ72の操作を検出するリセット検出センサ72a、設定キー挿入孔73に設定キーが挿入されてON操作されたことを検出する設定キー検出センサ73a等の各種センサが接続されており、これら各種センサからの信号は入出力ポート104を介してCPU102へ出力されるようになっている。
なお、投入メダル検出センサ45aは、実際には複数個のセンサにより構成されている。すなわち、メダル投入口45からホッパ装置51に至る貯留用通路47は、メダルが1列で通過可能なように形成されている。そして、貯留用通路47には、第1センサが設けられるとともに、それよりメダルの幅以上離れた下流側に第2センサ及び第3センサが近接(少なくとも一時期において同一メダルを同時に検出する状態が生じる程度の近接)して設けられている。投入メダル検出センサ45aは、これら第1~第3センサによって構成されている。主制御装置101は、第1センサから第2センサに至る時間を監視し、その経過時間が所定時間を越えた場合にはメダル詰まり又は不正があったものとみなしてエラー状態とする。エラー状態となった場合には、エラー状態報知が行われるとともに、エラー状態が解除されるまでの間、遊技者による操作が無効化される。また、主制御装置101は、第2センサと第3センサとがオンオフされる順序をも監視している。具体的には、第2,第3センサが共にオフ、第2センサのみオン、第2,第3センサが共にオン、第3センサのみオン、第2,第3センサが共にオフという順序通りになった場合で、かつ各オンオフ切替に移行する時間が所定時間内である場合にのみメダルが正常に取り込まれたと判断し、それ以外の場合はエラー状態とする。このようにするのは、貯留用通路47でのメダル詰まりの他、メダルを投入メダル検出センサ45a付近で往復動させてメダル投入と誤認させる不正を防止するためである。
また、主制御装置101の入力側には、入出力ポート104を介して電源装置91が接続されている。電源装置91には、主制御装置101を始めとしてスロットマシン10の各電子機器に駆動電力を供給する電源部91aや、停電監視回路91bなどが搭載されている。
停電監視回路91bは電源の遮断状態を監視し、停電時はもとより、電源スイッチ71による電源遮断時に停電信号を生成するためのものである。そのため停電監視回路91bは、電源部91aから出力されるこの例では直流12ボルトの安定化駆動電圧を監視し、この駆動電圧が例えば10ボルト未満まで低下したとき電源が遮断されたものと判断して停電信号が出力されるように構成されている。停電信号はCPU102と入出力ポート104のそれぞれに供給され、CPU102ではこの停電信号を認識することにより後述する停電時処理が実行される。また、この停電信号は表示制御装置81にも供給されるように構成されている。
電源部91aは、出力電圧が10ボルト未満まで低下した場合でも、主制御装置101などの制御系において駆動電圧として使用される5ボルトの安定化電圧が出力されるように構成されている。この安定化電圧が出力される時間としては、主制御装置101による停電時処理を実行するに十分な時間が確保されている。
主制御装置101の出力側には、リールユニット31(より詳しくは各リール32L,32M,32Rを回転させるためのステッピングモータ)、セレクタ46に設けられたメダル通路切替ソレノイド46a、ホッパ装置51、クレジット表示部60、残払出枚数表示部61、払出枚数表示部62、表示制御装置81、図示しないホール管理装置などに情報を送信できる外部集中端子板121等が入出力ポート104を介して接続されている。また、図示は省略するが、主制御装置101の出力側には、ストップスイッチ42~44の内部に設けられたランプや、クレジット投入スイッチ56~58の内部に設けられたランプ等も、入出力ポート104を介して接続されている。
表示制御装置81は、上部ランプ63やスピーカ64、補助表示部65を駆動させるための制御装置であり、これらを駆動させるためのCPU、ROM、RAM等が一体化された基板を備えている。そして、主制御装置101からの信号を受け取った上で、表示制御装置81が独自に上部ランプ63、スピーカ64及び補助表示部65を駆動制御する。したがって、表示制御装置81は、遊技を統括管理するメイン基盤たる主制御装置101との関係では補助的な制御を実行するサブ基盤となっている。なお、各種表示部60~62も表示制御装置81が駆動制御する構成としてもよい。
上述したCPU102は、1チップCPUであって、このCPU102によって実行される各種の制御プログラムや固定値データを記憶したROM105と、このROM105に記憶されている制御プログラムを実行するにあたって各種のデータを一時的に記憶する作業エリアを確保するためのRAM106の他に、図示はしないが周知のように割込み回路を始めとしてタイマ回路、データ送受信回路などスロットマシン10において必要な各種の処理回路が内蔵されている。ROM105とRAM106によって記憶手段としてのメインメモリが構成され、図12以降のフローチャートに示される各種処理を実行するためのプログラムは、制御プログラムの一部として上述したROM105に記憶されている。
RAM106には、図10に示すように、役の抽選結果を記憶するための当選フラグ格納エリア106a、各リール32L,32M,32Rの停止制御を行う場合に用いるスベリテーブルを記憶するためのスベリテーブル格納エリア106b、BB状態等の遊技状態を記憶するための状態情報格納エリア106cの他に、乱数生成器150が生成した乱数を記憶するための乱数格納エリア110、各種カウンタとしての機能を有するカウンタエリア111、上述した各種センサからの信号入力状況を記憶するためのセンサ情報格納エリア112等の各種エリアが確保されている。カウンタエリア111は、乱数の取得タイミングを決定するための第1カウンタ111aや、後述する割込み待ち処理にて用いる更新カウンタ111c、クレジット枚数を記憶するためのクレジットカウンタ(図示略)等により構成されている。センサ情報格納エリア112は、リールインデックス検出用エリア、スタート検出用エリア、左ストップ検出用エリア、中ストップ検出用エリア、右ストップ検出用エリア、投入メダル検出用エリア、払出検出用エリア、第1クレジット投入検出用エリア、第2クレジット投入検出用エリア、第3クレジット投入検出用エリア、精算検出用エリア、リセット検出用エリア、設定キー検出用エリア等により構成されている。これら各検出用エリアは、対応する検出センサからの信号入力有無の履歴を記憶できるようになっており、第1エリア112aと、第2エリア112bと、第3エリア112cと、の3つの記憶エリアから構成されている。各検出用エリアは1バイト構成となっており、下位側の3ビットが上記各記憶エリアと対応付けられている。より詳しくは、下位ビットから順に第1エリア112a、第2エリア112b、第3エリア112cと対応付けられている。
また、RAM106は、スロットマシン10の電源が遮断された後においても電源装置91からバックアップ電圧が供給されてデータを保持(バックアップ)できる構成となっており、当該RAM106には、データを保持するためのバックアップエリアが設けられている。バックアップエリアは、停電等の発生により電源が遮断された場合において、電源遮断時(電源スイッチ71の操作による電源遮断をも含む。以下同様)のスタックポインタの値を記憶しておくためのエリアであり、停電解消時(電源スイッチ71の操作による電源投入をも含む。以下同様)には、バックアップエリアの情報に基づいてスロットマシン10の状態が電源遮断前の状態に復帰できるようになっている。バックアップエリアへの書き込みは停電時処理(図12参照)によって電源遮断時に実行され、バックアップエリアに書き込まれた各値の復帰は電源投入時のメイン処理(図14参照)において実行される。
図9の説明に戻り、CPU102のNMI端子(ノンマスカブル割込端子)には、停電等の発生による電源遮断時に、停電監視回路91bからの停電信号が入力されるように構成されている。そして、電源遮断時には、停電フラグ生成処理としてのNMI割込み処理が即座に実行されるようになっている。
ここで、乱数生成器150,スタート検出センサ41a及びCPU102の接続関係を、図11のブロック図に基づいてより詳細に説明する。
乱数生成器150の入力側には、7.915MHzの所定周波数の矩形波(第2クロック信号)を出力する第2クロック回路151と、CPU102が接続されている。乱数生成器150の出力側には、CPU102が接続されている。
乱数生成器150は、カウンタ150aとラッチ回路150bを有するハードウェアである。カウンタ150aは、16ビットのフリーランカウンタであり、0~65535の範囲内で順に1ずつ加算されると共に、最大値(つまり65535)に達した後0に戻る構成となっている。カウンタ150aには第2クロック回路151が接続されており、当該第2クロック回路151からの第2クロック信号が入力されると、カウンタ150aのカウント値が更新されるようになっている。ラッチ回路150bは、複数のDフリップフロップ回路を組み合わせて構成されており、カウンタ150aのカウント値をラッチ(保持)できるようになっている。ラッチ回路150bにはCPU102が接続されており、当該CPU102からのラッチ信号が入力されると、そのタイミングにおけるカウンタ150aのカウント値がラッチ回路150bにラッチされる。そして、ラッチされたカウント値が乱数としてCPU102内蔵の入力ポートに対して出力されるようになっている。
CPU102には、第2クロック回路151を監視するための監視回路152が接続されている。監視回路152は、Dフリップフロップ回路により構成されている。すなわち、監視回路152は、入力端子としてデータ端子(D端子)とクロック端子(CLK端子)を有し、出力端子として正論理出力端子(Q端子)と負論理出力端子(Qバー端子)を有している。D端子には、スタート検出センサ41aが波形整形回路153及び入出力ポート104を介して接続されており、CLK端子には、第2クロック回路151が反転器154を介して接続されている。また、Q端子は、非接続とされており、Qバー端子は、CPU102内蔵の入力ポートと接続されている。
スタート検出センサ41aは、スタートレバー41が操作されると操作信号を出力する。より詳しくは、スタート検出センサ41aは、スタートレバー41が初期位置から移動した場合に操作信号を出力し、スタートレバー41が初期位置に復帰した場合に操作信号の出力を停止する。波形整形回路153は、シュミットトリガ回路により構成されている。波形整形回路153には閾値が設定されており、波形整形回路153は、スタート検出センサ41aから出力された操作信号が電圧上昇側閾値よりも大きくなった場合に検出信号を監視回路152に対して出力し、操作信号が電圧降下側閾値よりも小さくなった場合に検出信号の出力を停止する。つまり、波形整形回路153とは、スタート検出センサ41aから出力される操作信号のなまり(立ち上がり遅れ及び立ち下がり遅れ)を整形するための回路である。なお、波形整形回路153は、入出力ポート104と監視回路152との間に接続されていても良く、波形整形回路153を主制御装置101上に設けることも可能である。
監視回路152は、反転された第2クロック信号(反転クロック信号)がCLK端子に入力されたタイミング(より詳しくは反転クロック信号の立ち上がりのタイミング)で操作信号(より詳しくは波形整形回路153からの検出信号)が入力されている場合、CPU102に対して開始信号を出力する。開始信号は、反転クロック信号がCLK端子に入力されたタイミングで操作信号が入力されていない状態となるまで継続出力される。換言すれば、監視回路152は、反転クロック信号がCLK端子に入力されるまで操作信号の入力状態を保持しているとも言える。
CPU102の入力側には、監視回路152のQバー端子の他に、乱数生成器150のラッチ回路150bと、第1クロック信号を出力する第1クロック回路103が接続されている。また、CPU102の出力側には、乱数生成器150のラッチ回路150bが接続されている。第1クロック回路103は、8.000MHzの所定周波数の矩形波を出力するものであり、第2クロック回路151と同期しないように構成されている。CPU102は、第1クロック信号が入力された場合に各種動作を行うようになっている。例えば、第1クロック信号の入力に基づいて開始信号の入力有無を判別し、開始信号が入力されていることに基づいて乱数生成器150にラッチ信号を出力するようになっている。そして、乱数生成器150から出力されたカウント値を乱数として取得するようになっている。開始信号の入力有無の判別についてより詳細に説明すると、CPU102は、監視回路152のQバー端子と接続されているため、Qバー端子からの入力信号がHレベルからLレベルに切り替っている場合に開始信号が入力されたと判別している。
続いて、主制御装置101のCPU102により実行される各制御処理について説明する。CPU102は、第1クロック回路103から第1クロック信号が入力されることに基づいて各種処理を行う。かかるCPU102の処理としては、大別して、電源投入に伴い起動されるメイン処理と、定期的に(本実施の形態では1.49msec周期で)起動されるタイマ割込み処理と、NMI端子への停電信号の入力に伴い起動されるNMI割込み処理とがある。以下では、説明の便宜上、はじめにタイマ割込み処理を説明し、その後にメイン処理を説明する。
図12は、主制御装置101で定期的に実行されるタイマ割込み処理のフローチャートであり、主制御装置101のCPU102により例えば1.49msecごとにタイマ割込みが発生する。
先ず、ステップS101に示すレジスタ退避処理では、後述する通常処理で使用しているCPU102内の全レジスタの値をRAM106のバックアップエリアに退避させる。ステップS102では停電フラグがセットされているか否かを確認し、停電フラグがセットされているときにはステップS103に進み、停電時処理を実行する。
ここで、停電時処理について概略を説明する。
停電の発生等によって電源が遮断されると、電源装置91の停電監視回路91bから停電信号が出力され、当該停電信号がNMI端子を介して主制御装置101に入力される。主制御装置101は、停電信号が入力された場合、即座にNMI割込み処理を実行し、停電フラグをRAM106に設けられた停電フラグ格納エリアにセットする。
停電時処理では、先ずコマンドの送信が終了しているか否かを判定し、送信が終了していない場合には本処理を終了してタイマ割込み処理に復帰し、コマンドの送信を終了させる。コマンドの送信が終了している場合には、CPU102のスタックポインタの値をRAM106のバックアップエリアに保存する。その後、入出力ポート104における出力ポートの出力状態をクリアし、図示しない全てのアクチュエータをオフ状態にする。そして、停電解消時にRAM106のデータが正常か否かを判定するためのRAM判定値を算出してバックアップエリアに保存する。RAM判定値とは、具体的にはRAM106の作業領域アドレスにおけるチェックサムの2の補数である。RAM判定値をバックアップエリアに保存することにより、RAM106のチェックサムは0となる。RAM106のチェックサムを0とすることにより、それ以後のRAMアクセスを禁止する。以上の処理を行った後は、電源が完全に遮断して処理が実行できなくなるのに備え、無限ループに入る。なお、例えばノイズ等に起因して停電フラグが誤ってセットされる場合を考慮し、無限ループに入るまでは停電信号が出力されているか否かを確認する。停電信号が出力されていなければ停電状態から復旧したこととなるため、RAM106への書き込みを許可すると共に停電フラグをリセットし、タイマ割込み処理に復帰する。停電信号の出力が継続してなされていれば、そのまま無限ループに入る。ちなみに、無限ループ下においても停電信号が出力されているか否かを確認しており、停電信号が出力されなくなった場合にはメイン処理に移行する。
タイマ割込み処理の説明に戻り、ステップS102にて停電フラグがセットされていない場合には、ステップS104以降の各種処理を行う。
すなわち、ステップS104では、誤動作の発生を監視するためのウオッチドッグタイマの値を初期化するウオッチドッグタイマのクリア処理を行う。ステップS105では、CPU102自身に対して次回のタイマ割込みを設定可能とする割込み終了宣言処理を行う。ステップS106では、各リール32L,32M,32Rを回転させるために、それぞれの回胴駆動モータであるステッピングモータを駆動させるステッピングモータ制御処理を行う。ステップS107では、入出力ポート104に接続されたストップ検出センサ42a~44a,投入メダル検出センサ45a,払出検出センサ51a等の各種センサ(図9参照)の状態を読み込むと共に、読み込み結果が正常か否かを監視するセンサ監視処理を行う。
ここで、センサ監視処理を図13のフローチャートに基づいて説明する。先ずステップS151では、センサ情報移行処理を行う。センサ情報移行処理では、今回確認する検出用エリアの第1~第3エリア112a~112cに格納されているデータを上位エリア側に順にシフトさせる。例えば、リセット検出センサ72aの状態を読み込む場合には、リセット検出用エリアにおいて、先ず第3エリア112cのデータをクリアし、その後、第2エリア→第3エリア、第1エリア→第2エリアといった具合に各エリア内のデータをシフトさせる。続くステップS152では、今回確認するセンサの接続されたポートを参照し、信号入力状態を読み込む。ステップS153では、ON信号が入力されているか否かを判定する。ON信号が入力されている場合には、ステップS154にて対応する検出用エリアの第1エリア112aに「1」をセットし、ON信号が入力されていない場合には、ステップS155にて対応する検出用エリアの第1エリア112aに「0」をセットする。その後、ステップS156では、全てのセンサの状態を確認したか否かを判定する。全てのセンサの状態を確認した場合には、そのまま本処理を終了し、確認していない場合には、未確認のセンサの状態を確認すべくステップS151に戻る。このように、センサ監視処理では、入出力ポート104に接続された各種センサについて、対応する検出用エリアの第1エリア112aに「0」又は「1」を格納する処理を実行する。なお、スタート検出センサ41aの状態を読み込む場合、ステップS153では、Lレベルの信号が入力されている場合にON信号が入力されていると判定し、Hレベルの信号が入力されている場合にON信号が入力されていないと判定している。
タイマ割込み処理の説明に戻り、ステップS108では、各カウンタやタイマの値を減算するタイマ演算処理を行う。ステップS109では、更新カウンタ111cの値を1更新する。ステップS110では、メダルのベット数や、払出枚数をカウントした結果を外部集中端子板121へ出力する処理を行う。ステップS111では、後述する抽選結果コマンド等の各種コマンドを表示制御装置81へ送信するコマンド出力処理を行う。ステップS112では、クレジット表示部60、残払出枚数表示部61及び払出枚数表示部62にそれぞれ表示されるセグメントデータを設定するセグメントデータ設定処理を行う。ステップS113では、セグメントデータ設定処理で設定されたセグメントデータを各表示部60~62に供給して該当する数字、記号などを表示するセグメントデータ表示処理を行う。ステップS114では、入出力ポート104からI/O装置に対応するデータを出力するポート出力処理を行う。ステップS115では、先のステップS101にてバックアップエリアに退避させた各レジスタの値をそれぞれCPU102内の対応するレジスタに復帰させる。ステップS116では、カウンタ更新処理を行う。詳細は後述するが、カウンタ更新処理では、遊技の進行状況等に基づいて第1カウンタ111aの値に1を加算する処理を行う。ステップS117では、第1カウンタ111aの値を減算する遅延カウンタ処理を行う。その後ステップS118にて次回のタイマ割込みを許可し、この一連のタイマ割込み処理を終了する。
図14は電源投入後に実行される主制御装置101でのメイン処理を示すフローチャートである。メイン処理は、停電からの復旧や電源スイッチ71のオン操作によって電源が投入された際に実行される。
先ずステップS201では、初期化処理として、スタックポインタの値をCPU101内に設定するとともに、割込み処理を許可する割込みモードを設定し、その後CPU101内のレジスタ群や、I/O装置等に対する各種の設定などを行う。これらの初期化処理が終了すると、ステップS202では設定キーが設定キー挿入孔73に挿入されてON操作されているか否かを判定する。具体的には、図15に示す操作判定処理を行う。
操作判定処理では、先ずステップS251において今回の判定対象がリセットスイッチ72であるか否かを判定するとともに、ステップS252において今回の判定対象が第1~第3クレジット投入スイッチ56~58のいずれかであるか否かを判定する。今回の判定対象がリセットスイッチ72、第1~第3クレジット投入スイッチ56~58のいずれかである場合には、ステップS253~ステップS256に示す全エリア参照処理を行う。一方、今回の判定対象が上記各スイッチ以外である場合、具体的には、スタートレバー41、ストップスイッチ42~44、清算スイッチ59、設定キーのいずれかである場合には、ステップS257~ステップS260に示す1エリア参照処理を行う。
全エリア参照処理では、ステップS253において、今回の判定対象と対応するセンサ情報格納エリア112の第1~第3エリア112a~112cを参照する。ステップS254では、参照結果が「011」であるか否か、すなわち、第1エリアに「1」、第2エリアに「1」、第3エリアに「0」が格納されているか否かを判定する。参照結果が「011」である場合には、ステップS255にて今回の判定対象が操作されたと判定し、本処理を終了する。一方、参照結果が「011」でない場合には、ステップS256にて今回の判定対象が操作されていないと判定し、本処理を終了する。つまり、全エリア参照処理では、対応する検出センサからの信号入力有無の履歴に基づいて、判定対象が操作されたか否かを判定する。
1エリア参照処理では、ステップS257において、今回の判定対象と対応するセンサ情報格納エリア112の第1エリア112aのみを参照する。ステップS258では、参照結果が「1」であるか否か、すなわち、第1エリアに「1」が格納されているか否かを判定する。参照結果が「1」である場合には、ステップS259にて今回の判定対象が操作されたと判定し、本処理を終了する。一方、参照結果が「0」である場合には、ステップS260にて今回の判定対象が操作されていないと判定し、本処理を終了する。つまり、1エリア参照処理では、対応する検出センサからの信号入力有無の最新情報に基づいて、判定対象が操作されたか否かを判定する。
メイン処理の説明に戻り、ステップS202では、判定対象が設定キーであるため、1エリア参照処理を行う。すなわち、設定キー検出用エリアの第1エリア112aを参照し、「1」が格納されている場合には設定キーのON操作がなされていると判定し、「0」が格納されている場合には設定キーのON操作がなされていないと判定する。設定キーのON操作がなされている場合には、ステップS203に進み、強制的RAMクリア処理を行う。強制的RAMクリア処理では、RAM106に記憶されたデータのうち、第1カウンタ111aの値を除く他のデータを全てクリアする。つまり、第1カウンタ111aの値は、RAMクリアを行う場合であってもクリア(初期化)されない。なお、第1カウンタ111aの値は、エラー状態から復旧させるべくリセットスイッチ72が操作された場合もクリア(初期化)されない。
ステップS204では、当選確率設定処理を行う。ここで、当選確率設定処理について図16を用いて説明する。スロットマシン10には、「設定1」から「設定6」まで6段階の当選確率が予め用意されており、当選確率設定処理とは、いずれの当選確率に基づいて内部処理を実行させるのかを設定するための処理である。
ステップS301では次回のタイマ割込みを許可する。その後、ステップS302にて現在の設定値を読み込むとともに、ステップS303では現在の設定値をクレジット表示部60に表示する。但し、設定キーが挿入されてON操作された直後の処理では、先の強制的RAMクリア処理によりRAM106のデータがクリアされているため、クレジット表示部60に表示される設定値は「1」である。
ステップS304では、割込み待ち処理を行う。
割込み待ち処理では、図17のフローチャートに示すように、ステップS351にてレジスタ退避処理を行う。ステップS352では、次回のタイマ割込みを許可するとともに、現在の更新カウンタ111cの値を取得する。ステップS353~ステップS357では、カウンタ更新処理を行う。カウンタ更新処理では、先ずステップS353にて次回のタイマ割込みを禁止し、その後、ステップS354にて後述するゲームフラグがセットされているか否かを判定する。ゲームフラグがセットされている場合には、ステップS355にて第1カウンタ111aの値を1更新する。ここで、第1カウンタ111aは、RAM106に形成された4ビットの記憶エリアであり、0~16のカウント値を生成できるようになっている。第1カウンタ111aの値を更新した後、又はステップS354にてゲームフラグがセットされていないと判定した場合には、ステップS356に進み、次回のタイマ割込みを許可する。ステップS357では、更新カウンタ111cの値が変化したか否かを判定する。具体的には、ステップS352にて取得した値と、更新カウンタ111cの値と、が一致するか否かを判定する。上述したとおり、更新カウンタ111cの値は、タイマ割込み処理のステップS109にて更新される。このため、更新カウンタ111cの値が変化していない場合、ステップS352の処理を行った以降にタイマ割込み処理が行われていないことを意味する。かかる場合には、ステップS353に戻り、カウンタ更新処理を行う。一方、更新カウンタ111cの値が変化した場合には、タイマ割込み処理が行われたことを意味するため、ステップS358にてレジスタ復帰処理を行い、本処理を終了する。
割込み待ち処理が終了した場合には、ステップS305にてスタートレバー41が操作されたか否かを判定する。かかる判定処理として具体的には、上述した操作判定処理の1エリア参照処理を行う。すなわち、スタート検出用エリアの第1エリア112aを参照し、「1」が格納されている場合にはスタートレバー41が操作されたと判定し、「0」が格納されている場合にはスタートレバー41が操作されていないと判定する。スタートレバー41が操作されていない場合には、ステップS306~ステップS308に示す設定更新処理を行う。ステップS306では、上述した割込み待ち処理を行い、ステップS307では、リセットスイッチ72が操作されたか否かを判定する。より詳しくは、操作判定処理の全エリア参照処理を行う。すなわち、リセット検出用エリアの全エリア112a~112cを参照し、「011」が格納されている場合にはリセットスイッチ72が操作されたと判定し、「011」が格納されていない場合にはリセットスイッチ72が操作されていないと判定する。リセットスイッチ72が操作されていない場合にはそのままステップS303に戻り、操作された場合にはステップS308にて設定値を1更新した後にステップS303に戻る。つまり、設定更新処理では、リセットスイッチ72が操作されたと判定する毎に設定値が1更新され、更新された設定値がクレジット表示部60に表示される。なお、設定値が「6」のときにリセットスイッチ72が操作された場合、設定値は「1」に更新される。
ステップS305にてスタートレバー41が操作された場合には、ステップS309にて割込み待ち処理を行った後、ステップS310にて設定キーのON操作が継続してなされているか否かを判定する。設定キーのON操作が継続してなされている場合には、ステップS309に戻り、ON操作が終了された場合にはステップS311にて次回のタイマ割込みを禁止する。その後、ステップS312では、設定値を保存し、ステップS313では、RAM106に記憶されたデータのうち、設定値、第1カウンタ111aの値以外のデータをクリアし、本処理を終了する。
メイン処理の説明に戻り、ステップS204にて当選確率設定処理を行った後には、ステップS205にて遊技に関わる主要な制御を行う通常処理を実行する。
一方、ステップS202にて設定キーのON操作がなされていない場合には、ステップS206以降に示す復電処理を行う。復電処理とは、スロットマシン10の状態を電源遮断前の状態に復帰させる処理である。従って、復電処理では先ずRAM106のデータが正常かどうかを確認する必要がある。
そこで、ステップS206では設定値が正常か否かを判定する。具体的には、設定値が1~6のいずれかである場合に正常であると判定し、0又は7以上である場合に異常であると判定する。設定値が正常である場合には、ステップS207にて停電フラグがセットされているか否かを確認する。停電フラグがセットされている場合には、さらにステップS208にてRAM判定値が正常であるか否かを確認する。具体的には、RAM106のチェックサムの値を調べ、その値が正常、つまりRAM判定値を加味したチェックサムの値が0か否かを確認する。RAM判定値を加味したチェックサムの値が0である場合、RAM106のデータは正常であると判定する。
ステップS208においてRAM判定値が正常であると判定した場合にはステップS209に進み、バックアップエリアに保存されたスタックポインタの値をCPU102のスタックポインタに書き込み、スタックの状態を電源が遮断される前の状態に復帰させる。次に、ステップS210において、復電処理の実行を伝える復電コマンドを表示制御装置81に送信する。その後、ステップS211にて遊技状態として打ち止め及び自動精算設定保存処理を行い、ステップS212にてスタート検出センサ41a等の各種センサの初期化を行う。以上の処理が終了した後、ステップS213にて停電フラグをリセットし、電源遮断前の番地に戻る。具体的には、先に説明したタイマ割込み処理に復帰し、ウォッチドッグタイマクリア処理(ステップS104)が実行されることとなる。
一方、ステップS206~ステップS208のいずれかがNO、すなわち、設定値が異常である、電源遮断時にセットされる筈の停電フラグがセットされていない、又はRAM判定値が異常である場合には、RAM106のデータが破壊された可能性が高い。このような場合には、ステップS214~ステップS216に示す動作禁止処理を行う。動作禁止処理として、先ずステップS214にて次回のタイマ割込み処理を禁止し、ステップS215では入出力ポート104内の全ての出力ポートをクリアすることにより、入出力ポート104に接続された全てのアクチュエータをオフ状態に制御する。その後、ステップS216にてホール管理者等に上部ランプ63等を用いてエラーの発生を報知するエラー報知処理を行う。かかる動作禁止状態は、上述した当選確率設定処理が行われるまで維持される。
次に、遊技に関わる主要な制御を行う通常処理について図18のフローチャートに基づき説明する。
先ずステップS401では、次回のタイマ割込みを許可する。ステップS402では、遊技を可能とするための開始前処理を行う。開始前処理では、表示制御装置81等が初期化を終了するまで待機する。表示制御装置81等の初期化が終了した場合には、ステップS403~ステップS408に示す遊技管理処理を行う。
遊技管理処理として、ステップS403では、RAM106に格納された各種遊技情報等のデータ(例えば前回の遊技で用いた乱数値等)をクリアする。その後、ステップS404では開始待ち処理を行う。
ここで、開始待ち処理について図19のフローチャートを用いて説明する。
ステップS501では、前回の遊技で再遊技入賞が成立したか否かを判定する。再遊技入賞が成立していた場合には、ステップS502にて自動投入処理を行う。自動投入処理とは、前回のベット数と同数の仮想メダルを自動投入する処理である。自動投入処理では、クレジット表示部60に表示された仮想メダル数を減じることなく仮想メダルの投入を行う。つまり、前回の遊技で再遊技入賞が成立した場合には、遊技者は所有するメダルを減らすことなく且つメダルを投入することなく今回の遊技を行うことができる。なお、前回の遊技で再遊技入賞が成立した場合には、先ずベット数と同数の値をクレジット表示部60に加算表示し、自動投入処理において前記加算表示数を減じた上で仮想メダルの投入を行う構成としても良い。ステップS501にて再遊技入賞が成立していないと判定した場合には、ステップS503にてメダルのベットを許可するメダル受付許可処理を行う。メダル受付許可処理では、メダル通路切替ソレノイド46aを励磁状態に切り替えることにより、メダルの投入が可能な状態とする。その後は、遊技を開始させるための開始指令が発生するまで、ステップS504~ステップS518に示す開始前準備処理を繰り返し行う。
開始前準備処理として、先ずステップS504では、タイマ割込み処理のセンサ監視処理ステップS107にてなされたセンサの読み込み結果に異常が発生していないかを確認する異常確認処理を行う。異常確認処理では、異常が発生していると判定した場合、スロットマシン10をエラー状態とすると共にエラーの発生を報知する異常発生時処理を行う。かかるエラー状態は、リセットスイッチ72が操作されるまで維持される。センサの読み込み結果が正常である場合には、ステップS505に進み、割込み待ち処理を行う。ステップS506では、清算スイッチ59,各クレジット投入スイッチ56~58のいずれかが操作されたか否かを判定する。
具体的には、清算スイッチ59に関しては操作判定処理の1エリア参照処理を行い、各クレジット投入スイッチ56~58に関しては操作判定処理の全エリア参照処理を行う。すなわち、清算検出用エリアの第1エリア112aを参照し、「1」が格納されている場合には清算スイッチ59が操作されたと判定し、「0」が格納されている場合には清算スイッチ59が操作されていないと判定する。清算スイッチ59が操作されていない場合には、第1クレジット投入検出用エリアの全エリア112a~112cを参照し、「011」が格納されている場合には第1クレジット投入スイッチ56が操作されたと判定し、「011」が格納されていない場合には第1クレジット投入スイッチ56が操作されていないと判定する。第1クレジット投入スイッチ56が操作されていない場合には、第2クレジット投入検出用エリアの全エリア112a~112cを参照し、「011」が格納されている場合には第2クレジット投入スイッチ57が操作されたと判定し、「011」が格納されていない場合には第2クレジット投入スイッチ57が操作されていないと判定する。第2クレジット投入スイッチ57が操作されていない場合には、第3クレジット投入検出用エリアの全エリア112a~112cを参照し、「011」が格納されている場合には第3クレジット投入スイッチ58が操作されたと判定し、「011」が格納されていない場合には第3クレジット投入スイッチ58が操作されていないと判定する。
上記スイッチ56~59のいずれかが操作された場合、又はステップS502にて自動投入処理を行った場合には、ステップS507に進み、払出枚数表示部62に表示しているメダル払出数をクリアする。その後、又は清算スイッチ59,各クレジット投入スイッチ56~58のいずれも操作されていなかった場合には、ステップS508にてメダル返却処理を行う。メダル返却処理では、ステップS506にて清算スイッチ59が操作されたと判定した場合に、クレジットされた仮想メダルと同数のメダルを払い出す処理を行う。
ステップS509では、メダルをベット可能な状態か否かを、メダル通路切替ソレノイド46aの状態すなわち励磁状態か非励磁状態かに基づいて判定する。そして、ベット可能な状態である場合には、ステップS510にてクレジット投入処理を行った後にステップS511に進む。クレジット投入処理では、ステップS506にてクレジット投入スイッチ56~58のいずれかが操作されたと判定した場合、クレジット表示部60に表示されている仮想メダル数を減算表示したり、有効ラインの設定を行ったりする等の仮想メダルの投入に関わる処理を行う。また、ベット不可能な状態である場合には、クレジット投入処理を行うことなくそのままステップS511に進む。ちなみに、ベット不可能な状態としては、前回の遊技で再遊技入賞が成立し、ステップS502にて自動投入処理を行った場合が代表例として挙げられる。ステップS511では、投入判定処理を行う。投入判定処理では、投入メダル検出センサ45aからの検出信号に基づいてメダルが投入されたか否かを判定し、メダルが投入された場合には、有効ラインの設定等の処理を行う。
ステップS512では、ベットされているか否かを判定し、ベットされていない場合には、ステップS513にて設定表示処理を行う。設定表示処理では、設定キーが設定キー挿入孔73に挿入されてON操作されているか否かを判定し、設定キーのON操作がなされている場合には、現在の設定値をクレジット表示部60に表示する処理を行う。ステップS514では、デモ演出を開始済みであるか否かを判定する。本スロットマシン10では、ステップS403にてRAM106の遊技情報をクリアしてから所定時間(例えば1分)が経過した場合、補助表示部65等にてデモ演出を行う構成となっている。そこで、ステップS514では、前記所定時間を経過したか否かを判定し、所定時間を経過した場合には、さらにデモ演出を開始させるためのデモ開始コマンドを表示制御装置81に対して送信済みであるか否かを判定する。所定時間を経過していない場合、又はデモ開始コマンドを送信していない場合には、ステップS515にて演出待ち処理を行った後にステップS504に戻る。演出待ち処理では、RAM106の遊技情報をクリアしてからの経過時間を測定するカウンタを更新するとともに、所定時間を経過している場合には、デモ開始コマンドをセットする処理を行う。但し、演出待ち処理では、上記デモ開始コマンドをリングバッファにセットするのみであって、表示制御装置81に対してコマンドを送信しない。表示制御装置81へのコマンド送信は、先述したタイマ割込み処理のコマンド出力処理S111にて行う。ステップS514にてデモ開始コマンドを送信済みであると判定した場合には、演出待ち処理を行うことなくそのままステップS504に戻る。
ステップS512にてベットされていると判定した場合には、ステップS516にてベット数が規定数(本実施の形態では3)に達しているか否かを判定し、ベット数が規定数に達していない場合には、ステップS504に戻る。ベット数が規定数に達している場合には、ステップS517にて割込み待ち処理を行うとともに、ステップS518にてスタートレバー41が操作されたか否か、すなわちスタート検出エリアの第1エリア112aに「1」がセットされているか否かを判定する。スタートレバー41が操作されていない場合には、ステップS504に戻る。
一方、スタートレバー41が操作された場合には、規定数のメダルがベットされている状況下でスタートレバー41が操作されると遊技を開始できる構成となっているため、遊技を開始させるべく開始指令が発生したことを意味する。かかる場合には、ステップS519にてゲームが開始されたことを示すゲームフラグをセットするとともに、ステップS520にて指令フラグをセットする。ここで、指令フラグとは、開始指令又は後述する停止指令が発生した場合にセットされるフラグであって、上述したタイマ割込み処理のセンサ監視処理S107においてクリアされるフラグである。より具体的に説明すると、センサ監視処理では、開始信号が入力されている状況で指令フラグがセットされている場合、指令解除待ちフラグをセットする。そして、開始信号の入力が終了した場合には、指令解除待ちフラグがセットされているか否かを判定する。指令解除待ちフラグがセットされていない場合には、後述する停止指令の発生に基づく指令フラグであるため、指令フラグをクリアせず、指令解除待ちフラグがセットされている場合には、指令解除待ちフラグと指令フラグをクリアする。ステップS520にて指令フラグをセットした場合には、ステップS521にてメダル受付禁止処理を行う。メダル受付禁止処理では、メダル通路切替ソレノイド46aを非励磁状態に切り替えることにより、メダルの投入(ベット)が不可能な状態とする。その後、ステップS522にて遅延処理を行い、本処理を終了する。
遅延処理では、図20のフローチャートに示すように、ステップS531にて遅延フラグをセットする。ここで、遅延フラグとは、第1カウンタ111aの値を減算させるためのフラグである。具体的に説明すると、タイマ割込み処理の遅延カウンタ処理S117では、図21のフローチャートに示すように、ステップS551にて遅延フラグがセットされているか否かを判定する。そして、遅延フラグがセットされていない場合には、そのまま本処理を終了し、遅延フラグがセットされている場合には、ステップS552にて第1カウンタ111aの値を1減算し、本処理を終了する。上述したとおり、通常処理の割込み待ち処理では、第1カウンタ111aの値に1を加算する更新処理が行われる。また、後述するタイマ割込み処理のカウンタ更新処理においても、遊技の進行状況等に基づいて第1カウンタ111aの値に1を加算する更新処理が行われる。したがって、遅延フラグとは、第1カウンタ111aの更新態様を変化させるためのフラグである、とも言える。
遅延処理の説明に戻り、遅延フラグをセットした後、ステップS532では、第1カウンタ111aの値が0となったか否かを判定し、0でない場合には、そのまま待機する。ここで、第1カウンタ111aの値はタイマ割込み処理において1減算され、タイマ割込み処理は1.49msec毎に行われるため、ステップS532は、第1カウンタ111aの値と対応する時間(すなわち第1カウンタ111aの値に1.49msecを乗算した時間)が経過するまで待機する処理である、とも言える。第1カウンタ111aの値が0となった場合には、ステップS533に進み、乱数生成器150に対してラッチ信号を出力する。より詳しくは、ステップS533ではラッチ信号を出力するためのフラグをセットするのみであって、ラッチ信号の実際の出力はタイマ割込み処理において行う。そして、ラッチ信号は、タイマ割込み処理の1割込み分(すなわち1.49msec)にわたって継続出力されるようになっている。その後、ステップS534にて遅延フラグをクリアし、本処理を終了する。
上述したとおり、乱数生成器150は、CPU102からのラッチ信号が入力された場合、そのタイミングにおけるカウンタ150aのカウント値をラッチ回路150bにラッチするようになっている。そこで、開始指令が発生した場合におけるCPU102、乱数生成器150及び監視回路152の動作を、図22のタイミングチャートに基づいて説明する。
t1のタイミングで第2クロック回路151から出力される信号がLレベルからHレベルに立ち上がる、すなわち第2クロック信号が出力有り状態(第2クロック回路から出力される信号がHレベルの状態)に切り替ると、乱数生成器150では、カウンタ150aのカウント値が更新されてnとなる。nは0~65535のいずれかの値である。また、監視回路152のCLK端子には第2クロック回路151が反転器154を介して接続されているため、監視回路152では、CLK端子に入力される信号がタイミングt1においてHレベルからLレベルに立ち下がり、反転クロック信号が入力無し状態に切り替る。
t2のタイミングで第2クロック回路151から出力される信号がHレベルからLレベルに立ち下がる、すなわち第2クロック信号が出力無し状態(第2クロック回路から出力される信号がLレベルの状態)に切り替ると、監視回路152では、CLK端子に入力される信号がLレベルからHレベルに立ち上がり、反転クロック信号が入力有り状態に切り替る。このとき、乱数生成器150では、カウンタ150aのカウント値が更新されることはなく、カウント値はnのままである。
監視回路152は、反転クロック信号が入力有り状態に切り替った場合、そのときにD端子に入力されている操作信号の入力状態に応じた信号を、Qバー端子から出力する。タイミングt2では操作信号(Hレベルの検出信号)が入力されていないため、Qバー端子から開始信号を出力しない。なお、開始信号はQバー端子(負論理出力端子)から出力されるため、開始信号に限りHレベルではなくLレベルの信号が開始信号となる。
その後、t3のタイミングで第2クロック信号が出力有り状態に切り替ると、乱数生成器150では、カウンタ150aのカウント値が更新されてn+1となる。このように、乱数生成器150では、第2クロック信号が出力無し状態から出力有り状態に切り替るタイミングでカウント値の更新が順次行われる。
t4のタイミングでスタートレバー41が操作された場合、監視回路152のD端子に入力されている信号がLレベルからHレベルに立ち上がり、操作信号が入力有り状態に切り替る。但し、かかるタイミングt4では反転クロック信号が入力無し状態のため、開始信号は出力無し状態のままである。
t5のタイミングで反転クロック信号が入力無し状態から入力有り状態に切り替った場合、監視回路152では、D端子に操作信号が入力されているため、Qバー端子からの出力信号をHレベルからLレベルに立ち下げる。この結果、かかるタイミングt5で開始信号が出力無し状態から出力有り状態に切り替る。このとき、CPU102から出力されるラッチ信号は、出力無し状態のままである。つまり、開始信号が出力されるタイミングt5では、ラッチ信号が出力されない。
t6のタイミングでは、反転クロック信号が入力有り状態から入力無し状態に切り替るが、開始信号の出力状態が変更されることはなく、そのまま出力有り状態が保持される。つまり、反転クロック信号が入力有り状態から入力無し状態に切り替ったとしても、開始信号は出力有り状態のまま保持される。
その後、t7のタイミングで反転クロック信号が入力無し状態から入力有り状態に切り替ると、かかるタイミングにおける操作信号の入力状態に応じた開始信号が出力される。t7のタイミングでは操作信号が入力有り状態のため、出力有り状態のまま開始信号が継続して出力される。
さて、タイミングt5において開始信号が出力有り状態に切り替わった場合、CPU102は、タイマ割込み処理のセンサ監視処理S107において開始信号の入力を検知し、スタート検出エリアの第1エリア112aに「1」をセットする。そして、開始待ち処理のステップS518にて開始指令が発生したと判定し、遅延処理を行う。遅延処理では、第1カウンタ111aの値が0となったタイミングtdでラッチ信号を出力する。つまり、CPU102は、開始指令が発生したと判定してから遅延時間(具体的には、第1カウンタ111aの値にタイマ割込みの周期1.49msecを乗算した時間)が経過した後のタイミングtdでラッチ信号を入力無し状態から入力有り状態に切り替える。この結果、スタートレバー41の操作タイミングと、ラッチ信号が出力されるタイミングと、には、遅延時間分だけずれが生じることとなる。
第2クロック信号が出力有り状態に切り替るタイミングt8において、乱数生成器150は、カウンタ150aのカウント値を更新してm+1とする。mは0~65535のいずれかの値である。このとき、乱数生成器150にはラッチ信号が入力されているが、かかるタイミングではカウント値をラッチ回路150bにラッチしない。そして、乱数生成器150は、第2クロック信号が出力無し状態に切り替るタイミングt9において、カウンタ150aのカウント値m+1をラッチ回路150bにラッチする。つまり、t4のタイミングでスタートレバー41が操作された場合、タイミングt4ではなくタイミングt9においてカウント値m+1が乱数として取得される。
ここで、乱数生成器150において、カウンタ150aのカウント値の更新は第2クロック信号が入力無し状態から入力有り状態に切り替るタイミング(t1,t3,t6等)で行われ、ラッチ回路150bにおけるカウント値のラッチは第2クロック信号が入力有り状態から入力無し状態に切り替るタイミング(t9)で行われる。かかる構成とすることにより、カウント値の更新タイミングとカウント値のラッチタイミングが同じタイミングとなることを回避でき、カウント値が更新されている最中にラッチタイミングがやってきてカウント値を正常にラッチできない不具合が生じることを回避できる。
タイミングt10でスタートレバー41が初期位置に復帰すると、監視回路152に入力されている操作信号が入力有り状態から入力無し状態に切り替る。タイミングt10は反転クロック信号が入力有り状態から入力無し状態に切り替るタイミングのため、かかるタイミングでは開始信号の出力状態は変化しない。そして、反転クロック信号が入力無し状態から入力有り状態に切り替るタイミングt11で操作信号が入力されていないことが検知され、開始信号が出力有り状態から出力無し状態に切り替る。なお、反転クロック信号が入力無し状態下(例えばタイミングt10<タイミングt<タイミングt11)で操作信号が入力有り状態から入力無し状態に切り替った場合、或いは反転クロック信号が入力有り状態下(例えばタイミングt9<タイミングt<タイミングt10)で操作信号が入力有り状態から入力無し状態に切り替った場合であっても、タイミングt11で開始信号が出力有り状態から出力無し状態に切り替る。
ちなみに、操作信号が入力されるタイミングを常時把握するのではなく反転クロック信号が入力されるタイミングで把握する構成の場合、1の反転クロック信号が入力された後に操作信号が入力有り状態に切り替り、次の反転クロック信号が入力されるまでの間に操作信号が入力無し状態に切り替ると、スタートレバー41の操作を正確に把握できないという可能性が考えられる。ところが、本スロットマシン10におけるスタートレバー41は、手が離れたあと初期位置に復帰するまでに数10msecを有するように構成されており、スタートレバー41が操作されると少なくとも数10msecは操作信号が監視回路152に入力されるようになっている。また、第2クロック回路151から出力される第2クロック信号のクロック周波数は7.915MHzであり、その周期は約126nsecである。つまり、監視回路152において反転クロック信号が入力される周期は、操作信号が入力有り状態に切り替ってから入力無し状態に切り替るまでに要する時間間隔と比して十分に短い。したがって、スタートレバー検出センサ41aから操作信号が出力されたにも関わらず監視回路152において前記操作信号が読み飛ばされるという不具合が生じることを回避できる。
また、監視回路152からではなくCPU102からラッチ信号を出力する構成とした場合、CPU102と乱数生成器150が異なるクロック信号に基づいて動作するため、CPU102からラッチ信号が出力されたにも関わらず乱数生成器150において前記ラッチ信号が読み飛ばされる可能性も考えられる。ところが、ラッチ信号は、タイマ割込み処理の1割込み分すなわち1.49msecにわたって出力されるように構成されており、第2クロック信号の周期は、上述したとおり約126nsecである。したがって、CPU102からラッチ信号が出力されたにも関わらず乱数生成器150において前記ラッチ信号が読み飛ばされるという不具合が生じることを回避できる。
通常処理の説明に戻り、開始待ち処理にて開始指令が発生したと判定した場合には、ステップS405の抽選処理、ステップS406のリール制御処理、ステップS407のメダル払出処理、ステップS408のBB状態処理を順に実行し、ステップS403に戻る。
次に、ステップS405の抽選処理について、図23のフローチャートに基づき説明する。
ステップS601では、役の当否判定を行う際に用いる乱数を取得する。すなわち、乱数生成器150が生成した乱数を、2バイト(16ビット)で構成された乱数格納エリア110に格納する。より具体的には、乱数生成器150は、監視回路152からのラッチ信号が入力されたタイミングでカウント値をラッチするとともに、ラッチしたカウント値をCPU102に対して出力する。CPU102は、その入力されたカウント値を乱数として乱数格納エリア110に格納する。
ここで、タイマ割込み処理におけるステップS108~ステップS118の一連の処理は、これら一連の処理を行うために必要な時間が、乱数生成器150がカウント値をラッチしてから当該ラッチ結果がCPU102に入力されるまでに要する時間より長くなるように構成されている。かかる構成とすることにより、乱数生成器150の生成した乱数の取得タイミング(ステップS601の処理を行うタイミング)を、今回のゲームでラッチされたカウント値がCPU102に入力されるタイミングより遅くすることができ、今回のゲームでラッチされたカウント値を確実に乱数として乱数格納エリア110に格納することが可能となる。
乱数を取得した後、ステップS602では、役の当否判定を行うための抽選テーブルを選択する。具体的には、スロットマシン10の現在の遊技状態を判別し、遊技状態と対応した抽選テーブルを選択する。本スロットマシン10では、大別して通常状態とBB状態の2種類の遊技状態を有しており、各遊技状態と対応した抽選テーブルを選択する。また、設定状態が「設定1」のときにメダル払出の期待値が最も低い抽選テーブルを選択し、「設定6」のときにメダル払出の期待値が最も高い抽選テーブルを選択する。
抽選テーブルについて、簡単に説明する。図24は、「設定3」の通常状態で選択される通常状態用抽選テーブルである。抽選テーブルには、判定すべき役の数と同数のインデックス値IVが設定されており、各インデックス値IVには、当選となる役がそれぞれ一義的に対応付けられると共に、ポイント値PVが設定されている。すなわち、本スロットマシン10における通常状態では、再遊技、ベル、スイカ、チェリー、1枚役、BBの6種類の役について判定が行われるようになっている。
抽選テーブルを選択した後、ステップS603ではインデックス値IVを1とし、続くステップS604では役の当否を判定する際に用いる判定値DVを設定する。かかる判定値設定処理では、現在の判定値DVに、現在のインデックス値IVと対応するポイント値PVを加算して新たな判定値DVを設定する。なお、初回の判定値設定処理では、ステップS601にて作成した乱数値を現在の判定値DVとし、この乱数値に現在のインデックス値IVである1と対応するポイント値PVを加算して新たな判定値DVとする。
その後、ステップS605ではインデックス値IVと対応する役の当否判定を行う。役の当否判定では判定値DVが65535を超えたか否かを判定する。65535を超えた場合には、ステップS606に進み、そのときのインデックス値IVと対応する役の当選フラグを、RAM106の当選フラグ格納エリア106aにセットする。例えば、IV=3のときに判定値DVが65535を超えた場合、ステップS606ではスイカ当選フラグを当選フラグ格納エリア106aにセットする。
ちなみに、セットされた当選フラグが再遊技当選フラグ,ベル当選フラグ,スイカ当選フラグ,チェリー当選フラグ,1枚役当選フラグのいずれかである場合、この当選フラグは該当選フラグがセットされたゲームの終了後にリセットされる(通常処理のS403参照)。一方、当選フラグがBB当選フラグである場合、BB当選フラグはBB入賞が成立したことを条件の1つとしてリセットされる。すなわち、BB当選フラグは、複数回のゲームにわたって有効とされる場合がある。なお、BB当選フラグを持ち越した状態におけるステップS606では、現在のインデックス値IVが1~5であればインデックス値IVと対応する当選フラグをセットし、現在のインデックス値IVが6であればBB当選フラグをセットしない。つまり、BB当選フラグが持ち越されているゲームでは、再遊技,ベル,スイカ,チェリー,1枚役のいずれかに当選した場合には対応する当選フラグをセットする一方、BBに当選した場合にはBB当選フラグをセットしない。
ステップS605にて判定値DVが65535を超えなかった場合には、インデックス値IVと対応する役に外れたことを意味する。かかる場合にはステップS607にてインデックス値IVを1加算し、続くステップS608ではインデックス値IVと対応する役があるか否か、すなわち当否判定すべき判定対象があるか否かを判定する。具体的には、1加算されたインデックス値IVが抽選テーブルに設定されたインデックス値IVの最大値を超えたか否かを判定する。当否判定すべき判定対象がある場合にはステップS604に戻り、役の当否判定を継続する。このとき、ステップS604では、先の役の当否判定に用いた判定値DV(すなわち現在の判定値DV)に現在のインデックス値IVと対応するポイント値PVを加算して新たな判定値DVとし、ステップS605では、当該判定値DVに基づいて役の当否判定を行う。ちなみに、図24に示した抽選テーブルを用いて役の当否判定を行う場合、BBの当選確率は約200分の1、再遊技の当選確率は約7.30分の1、ベルの当選確率は約10.9分の1、スイカの当選確率は128分の1、チェリーの当選確率は約73.0分の1、1枚役の当選確率は128分の1である。また、いずれの役にも当選しない外れの確率は約1.36分の1である。
ステップS606にて当選フラグをセットした後、又はステップS608にて当否判定すべき判定対象がないと判定した場合には、役の当否判定が終了したことを意味する。かかる場合には、ステップS609にて抽選結果コマンドをセットする。ここで、抽選結果コマンドとは、役の当否判定の結果を把握させるべく表示制御装置81に対して送信されるコマンドである。表示制御装置81は、当該抽選結果コマンドを受信することにより、例えば当選役を示唆すべく上部ランプ63や補助表示部65の駆動制御を実行する。但し、通常処理では、上記抽選結果コマンド等の各種コマンドをリングバッファにセットするのみであって、表示制御装置81に対してコマンドを送信しない。表示制御装置81へのコマンド送信は、先述したタイマ割込み処理のコマンド出力処理S110にて行われる。
そして、ステップS610では、リール停止制御用のスベリテーブル(停止テーブル)を設定するスベリテーブル設定処理を行い、抽選処理を終了する。ここで、スベリテーブルとは、ストップスイッチ42~44が操作されたタイミングからリール32L,32M,32Rをどれだけ滑らせた(回転させた)上で停止させるかが定められたテーブルである。すなわち、スベリテーブルとは、ストップスイッチ42~44が押された際に基点位置(本実施の形態では下段)に到達している到達図柄(到達図柄番号)と、前記基点位置に実際に停止させる停止図柄(停止図柄番号)との関係を導出することが可能な停止データ群である。
本スロットマシン10では、各リール32L,32M,32Rを停止させる停止態様として、ストップスイッチ42~44が操作された場合に、基点位置に到達している到達図柄をそのまま停止させる停止態様と、対応するリールを1図柄分滑らせた後に停止させる停止態様と、2図柄分滑らせた後に停止させる停止態様と、3図柄分滑らせた後に停止させる停止態様と、4図柄分滑らせた後に停止させる停止態様との5パターンの停止態様が用意されている。そして、各リール32L,32M,32Rの図柄番号毎に前記5パターンの停止態様のいずれかを設定されたスベリテーブルが、各役について複数用意されている。
このように、ストップスイッチ42~44が操作されたタイミングから規定時間(190msec)が経過するまでの間に各リール32L,32M,32Rが停止するようスベリテーブルを設定することにより、表示窓26L,26M,26Rから視認可能な範囲に停止する図柄配列(以下、停止出目と言う。)があたかも遊技者の操作によって決定されたかのような印象を遊技者に抱かせることが可能となる。また、4図柄分までは滑らせることが可能な構成とすることにより、かかる規定時間内で可能な限り抽選に当選した役と対応する図柄の組合せを有効ライン上に停止させることが可能となるとともに、抽選に当選していない役と対応する図柄の組合せが有効ライン上に停止することを回避させることができる。
図25は、左リール32Lの「リプレイ」図柄を有効ライン上に停止させる場合にセットされるスベリテーブルの一例である。滑り数が0である番号の図柄は、下段に実際に停止する図柄である。例えば、左リール32Lの14番の「スイカ」図柄が下段に到達している際に左ストップスイッチ42を操作された場合、左リール32Lは滑ることなくそのまま停止し、16番の「リプレイ」図柄が上段に停止する。また、滑り数が0でない番号の図柄は、記載された図柄数分だけリールが滑ることを意味する。例えば、左リール32Lの8番の「ベル」図柄が下段に到達している際に左ストップスイッチ42を操作された場合、左リール32Lは4図柄分だけ滑り、12番の「リプレイ」図柄が下段に停止する。このように、スベリテーブルでは、各リール32L,32M,32Rに付された図柄が下段に到達したタイミングでストップスイッチ42~44を操作された場合の滑り数が図柄番号毎に設定されている。
さて、スベリテーブル設定処理では、RAM106の当選フラグ格納エリア106aにセットされている当選フラグを確認し、セットされている当選フラグと一義的に対応するスベリテーブルを、RAM106のスベリテーブル格納エリア106bにセットする。このとき、本スロットマシン10では、左リール32Lの当選役と対応する図柄(以下、「当選図柄」と言う。)が上段又は下段のいずれかに停止するように、中リール32Mと右リール32Rの当選図柄が中段に停止するように設定されたスベリテーブルをセットする。ここで、左リール32Lの当選図柄が上段又は下段のいずれかに停止するように設定されたスベリテーブルをセットするのは、一般的に左リール32L→中リール32M→右リール32Rの順に回転を停止させるべくストップスイッチ42~44が操作されることを考慮し、停止出目を多様化させるためである。
ここで、各リール32L,32M,32Rの図柄配列について簡単に説明する。
「リプレイ」図柄は、下段に先に到達する図柄と次に到達する図柄との間隔が4図柄以下となるように、各リール32L,32M,32Rに配置されている。例えば、左リール32Lの4番の「リプレイ」図柄と7番の「リプレイ」図柄はその間隔が2図柄となるようにして配置されており、中リール32Mの1番の「リプレイ」図柄と6番の「リプレイ」図柄はその間隔が4図柄となるようにして配置されている。このように、「リプレイ」図柄は、同種図柄同士の間隔が4図柄以下となるようにして各リール32L,32M,32Rに配置されている。上述した通り、リール32L,32M,32Rはストップスイッチ42~44の操作されたタイミングから最大4図柄分滑らせた後に停止させることができる。したがって、かかる図柄配列とすることにより、ストップスイッチ42~44が如何なるタイミングで操作された場合であっても、再遊技入賞を成立させる際に「リプレイ」図柄を任意の位置に停止させることができる。例えば中リール32Mの1番の「リプレイ」図柄が下段に到達した際に中ストップスイッチ43が操作された場合、中リール32Mをそのまま停止させればこの「リプレイ」図柄を下段に停止させることができ、中リール32Mを3図柄分滑らせた後に停止させれば6番の「リプレイ」図柄を上段に停止させることができ、中リール32Mを4図柄分滑らせた後に停止させれば6番の「リプレイ」図柄を中段に停止させることができる。
本スロットマシン10では、かかる「リプレイ」図柄の他、「ベル」図柄についても、同種図柄同士の間隔が4図柄以下となるようにして各リール32L,32M,32Rに配置されている。このため、ストップスイッチ42~44が如何なるタイミングで操作された場合であっても、ベル入賞を成立させる際に「ベル」図柄を任意の位置に停止させることができる。
一方、「スイカ」図柄は、同種図柄同士の間隔が4図柄以下となるようにして各リール32L,32M,32Rに配置されていない。このため、例えば左リール32Lの3番の「赤7」図柄が下段に到達している際に左ストップスイッチ42が操作された場合、仮に左リール32Lを4図柄分滑らせても「スイカ」図柄を有効ライン上に停止させることはできない。したがって、スイカに当選し、「スイカ」図柄が有効ライン上に停止するように設定されたスベリテーブルがセットされた場合であっても、ストップスイッチ42~44の操作されたタイミングによっては「スイカ」図柄が有効ライン上に停止せず、スイカ入賞が成立しない所謂取りこぼしが発生する場合がある。本スロットマシン10では、かかる「スイカ」図柄の他、「赤7」図柄についても5図柄以上離れた区間が形成されるようにして各リール32L,32M,32Rに配置されている。また、左リール32Lにおいては、「チェリー」図柄が5図柄以上離れた区間を形成するようにして配置されており、中リール32Mにおいては、「青年」図柄が5図柄以上離れた区間を形成するようにして配置されており、右リール32Rにおいては、「白7」図柄が5図柄以上離れた区間を形成するようにして配置されている。このため、BB、スイカ、チェリー、1枚役のいずれかに当選した場合には、当選図柄が有効ライン上に停止するよう狙ってストップスイッチ42~44を操作する必要がある。
スベリテーブル設定処理の説明に戻り、BB当選フラグと他の当選フラグがセットされている場合には、以下に示すスベリテーブルをセットする。
BB当選フラグと再遊技当選フラグがセットされている場合、再遊技入賞を優先して成立させるための再遊技入賞用スベリテーブルをセットする。再遊技入賞用スベリテーブルでは、左リール32Lの「リプレイ」図柄が上段又は下段に優先して停止するように、中リール32Mと右リール32Rの「リプレイ」図柄が中段に優先して停止するように設定されている。
BB当選フラグと小役当選フラグ(すなわち、ベル当選フラグ,スイカ当選フラグ,チェリー当選フラグ,1枚役当選フラグのいずれか)がセットされている場合、BB入賞を優先して成立させるためのBB優先入賞用スベリテーブルをセットする。但し、BB図柄たる「赤7」図柄は上述したとおり5図柄以上離れた区間が形成されるようにして各リール32L,32M,32Rに配置されているため、ストップスイッチ42~44の操作タイミングによっては「赤7」図柄を有効ライン上に停止させることができない場合がある。そこで、BB優先入賞用スベリテーブルでは、各リール32L,32M,32Rについて以下のように設定されている。左リール32Lについては、「赤7」図柄と当選小役図柄とを共に有効ライン上に停止させることが可能であれば両図柄を有効ライン上に優先して停止させるように、「赤7」図柄を上段又は下段のいずれかに停止させることが可能であれば優先して停止させるように、「赤7」図柄を上段又は下段に停止させることが不可能であって当選小役図柄を上記各位置に停止させることが可能であれば当該当選小役図柄を上記各位置に停止させるように設定されている。また、中リール32M及び右リール32Rについては、「赤7」図柄を中段に停止させることが可能であれば優先して停止させるように設定されると共に、「赤7」図柄を上記各位置に停止させることが不可能であって当選小役図柄を上記各位置に停止させることが可能であれば当該当選小役図柄を上記各位置に停止させるように設定されている。
次に、ステップS406のリール制御処理について、図26のフローチャートに基づき説明する。
リール制御処理では、先ずステップS801において各リール32L,32M,32Rの回転を開始させる回転開始処理を行う。ここで、回転開始処理を、図27のフローチャートを用いて説明する。
回転開始処理では、ステップS901において、前回の遊技を開始する際に定めたウエイト時間(例えば4.1秒)が経過したか否かを確認し、経過していない場合にはウエイト時間が経過するまで待機する。ウエイト時間が経過した場合には、ステップS902に進み、次回の遊技のためのウエイト時間を再設定する。その後、ステップS903では、RAM106に設けられた加速カウンタに25をセットする。詳細は後述するが、かかる処理を行うことにより、タイマ割込み処理のステッピングモータ制御処理S106にてステッピングモータの加速処理が開始され、各リール32L,32M,32Rが回転を開始する。このため、遊技者が規定数のメダルをベットしてスタートレバー41を操作したとしても、直ちに各リール32L,32M,32Rが回転を開始しない場合がある。その後、ステップS904では、各リール32L,32M,32Rが回転を開始したか否かを判定し、回転を開始するまで待機する。すなわち、ステップS904では、加速カウンタに25をセットした後にタイマ割込み処理が行われるまで待機する。各リール32L,32M,32Rが回転を開始した場合には、ステップS905にて始動フラグをセットし、ステップS906にて各リール32L,32M,32Rが所定の回転速度で定速回転するまで待機する。そして、各リール32L,32M,32Rが定速回転となった場合には、回転開始処理を終了する。また、CPU102は、各リール32L,32M,32Rの回転速度が定速となると、各ストップスイッチ42~44の図示しないランプを点灯表示することにより、停止指令を発生させることが可能となったことを遊技者等に報知する。
回転開始処理に続き、ステップS802では停止前処理を行う。
停止前処理では、図28のフローチャートに示すように、先ずステップS1001にて割込み待ち処理を行う。続くステップS1002では、開始指令が発生しているか否か、より具体的にはスタート検出エリアの第1エリア112aに「1」がセットされているか否かを判定する。そして、スタート検出エリアの第1エリア112aに「1」がセットされている場合には、ステップS1001の割込み待ち処理に戻る。つまり、スタート検出エリアの第1エリア112aに「1」がセットされている場合には、当該スタート検出エリアの第1エリア112aが「0」に変更されるまでステップS1003以降の処理に進まない。
ちなみに、ステップS1002にて開始指令が発生していると判定する状況としては、ステップS518の処理タイミングからステップS1002の処理タイミングまでスタートレバー41が押し操作されたままである場合、ステップS518の処理を行った後にスタートレバー41が再度操作された場合、監視回路152等に何らかの異常が発生して開始信号が出力されたままとなっている場合等が考えられる。
開始指令が発生していない場合にはステップS1003に進み、ストップスイッチ42~44のいずれかが操作されたか否かを判定する。より具体的には、上述した操作判定処理の1エリア参照処理を、各ストップスイッチ42~44について行う。例えば、左ストップスイッチ42の操作有無については、左ストップ検出用エリアの第1エリア112aを参照し、「1」が格納されている場合には左ストップスイッチ42が操作されたと判定し、「0」が格納されている場合には左ストップスイッチ42が操作されていないと判定する。いずれのストップスイッチ42~44も操作されていない場合には、ステップS1001の割込み待ち処理に戻る。ストップスイッチ42~44のいずれかが操作されたと判定した場合には、ステップS1004に進み、回転中のリールと対応するストップスイッチが操作されたか否か、すなわち停止指令が発生したか否かを判定する。停止指令が発生していない場合には、ステップS1001の割込み待ち処理に戻り、停止指令が発生した場合には、ステップS1005にて指令フラグをセットする。なお、かかる指令フラグは、上述したタイマ割込み処理のセンサ監視処理S107においてクリアされる。より具体的に説明すると、センサ監視処理では、指令フラグがセットされている場合、そのときにON信号が入力されているストップ検出センサと対応する検出フラグをセットする。そして、検出フラグと対応するストップ検出センサからのON信号の入力が終了した場合には、検出フラグと指令フラグをクリアする。指令フラグをセットした場合には、ステップS1006に進み、今回の停止指令が第3停止指令か否か、すなわち1つのリールのみが回転しているときにストップスイッチが操作されたか否かを判定する。今回の停止指令が第3停止指令の場合には、ステップS1006にて肯定判定を行い、そのまま停止前処理を終了する。一方、全リール32L,32M,32Rが回転しているときに発生する第1停止指令、又は2つのリールが回転しているときに発生する第2停止指令の場合には、ステップS1006にて否定判定を行うとともにステップS1007にてスベリテーブル第1変更処理を行い、停止前処理を終了する。
ここで、スベリテーブル第1変更処理とは、RAM106のスベリテーブル格納エリア106bに格納されたスベリテーブルを、停止指令と対応するリールを停止させる前に変更する処理である。スベリテーブル第1変更処理では、例えば左ストップスイッチ42以外のストップスイッチ43,44が操作されて第1停止指令が発生した場合等といった、スベリテーブル格納エリア106bにスベリテーブルをセットする際に想定したストップスイッチ42~44の操作順序と異なる操作順序でストップスイッチ42~44が操作された場合に、スベリテーブルを変更する。かかる処理を行うことにより、停止出目の多様化を図ったり、セットされた当選フラグと対応する入賞が成立することなく前記当選フラグが無効とされる所謂取りこぼしの発生頻度を低減させたりすることができる。
リール制御処理の説明に戻り、ステップS802にて停止前処理が終了した場合、遊技を進行させるべく回転中のリールと対応するストップスイッチが操作され、停止指令が発生したことを意味する。かかる場合には、回転中のリールを停止させるべくステップS803~ステップS809に示す停止制御処理を行う。
すなわち、ステップS803では、ストップスイッチの操作されたタイミングで下段に到達している到達図柄の図柄番号を確認する。具体的には、リールインデックスセンサの検出信号が入力された時点から出力した励磁パルス数により、下段に到達している到達図柄の図柄番号を確認する。続くステップS804では、スベリテーブル格納エリア106bにセットされたスベリテーブルのうち到達図柄と対応する図柄番号のデータから今回停止させるべきリールのスベリ数を算出する。その後、ステップS805では、算出したスベリ数を到達図柄の図柄番号に加算し、下段に実際に停止させる停止図柄の図柄番号を決定する。ステップS806では今回停止させるべきリールの到達図柄の図柄番号と停止図柄の図柄番号が等しくなったか否かを判定し、等しくなった場合にはステップS807にてリールの回転を停止させるリール停止処理を行う。なお、リールの回転を実際に停止させる処理は、タイマ割込み処理のステッピングモータ制御処理S106で行っており、通常処理におけるリール停止処理では、今回停止させるべきリールが停止するまで待機する処理を行っている。その後、ステップS808では、全リール32L,32M,32Rが停止したか否かを判定する。全リール32L,32M,32Rが停止していない場合には、ステップS809にてスベリテーブル第2変更処理を行い、ステップS802の停止前処理に戻る。
ここで、スベリテーブル第2変更処理とは、RAM106のスベリテーブル格納エリア106bに格納されたスベリテーブルを、リールの停止後に変更する処理である。スベリテーブル第2変更処理では、セットされている当選フラグと、停止しているリールの停止出目と、に基づいてスベリテーブルを変更する。例えば、ベル当選フラグがセットされ、左リール32Lの「ベル」図柄が上段に停止した場合、中リール32Mの「ベル」図柄が上段又は中段に停止するように設定されたスベリテーブルに変更する。かかる処理を行うことにより、リールの停止結果に応じてその後に停止させるリールの停止出目の多様化を図ることができるとともに、取りこぼしの発生頻度を低減させることができる。
一方、ステップS808にて全リール32L,32M,32Rが停止していると判定した場合には、ステップS810にて払出判定処理を行い、本処理を終了する。払出判定処理とは、入賞図柄の組合せが有効ライン上に並んでいることを条件の1つとしてメダルの払出枚数を設定する処理である。
払出判定処理では、各リール32L,32M,32Rの下段に停止した停止図柄の図柄番号から各有効ライン上に形成された図柄の組合せを導出し、有効ライン上で入賞が成立しているか否かを判定する。入賞が成立している場合には、さらに入賞成立役が当選フラグ格納エリア106aにセットされている当選フラグと一致しているか否かを判定する。入賞成立役と当選フラグが一致している場合には、入賞成立役と、当該入賞成立役と対応する払出数を示す払出予定数と、をRAM106に設けられた払出情報格納エリアにセットする。一方、入賞成立役と当選フラグが一致していない場合には、スロットマシン10をエラー状態とするとともにエラーの発生を報知する異常発生時処理を行う。かかるエラー状態は、リセットスイッチ72が操作されるまで維持される。全ての有効ラインについて払出判定が終了した場合には、払出判定処理を終了する。
ここで、各リール32L,32M,32Rを実際に回転及び停止させるための具体的な処理、すなわちタイマ割込み処理にて行われるステッピングモータ制御処理を説明する。
ステッピングモータ制御処理では、ステッピングモータに対する回転制御のための駆動信号(具体的には後述する励磁データであるので、以下は励磁データという)を生成するモータ制御処理を行い、生成した励磁データを一時的にRAM106に保存する。かかるモータ制御処理は、左リール32L→中リール32M→右リール32Rの順で、それぞれのリール32L,32M,32Rに対して実行される。そして、全てのリール32L,32M,32Rに対する励磁データの生成が終了した場合には、RAM106に保存されている励磁データを入出力ポート104に出力する。入出力ポート104への出力は、入出力ポート104の対応する出力ポートへのデータ書き込み処理であるから、ステッピングモータには、励磁データの入出力ポート104への書き込みと同時に励磁データが供給されたことになる。この結果、ステッピングモータでは即座に励磁データによって指定された励磁相への通電処理が行われ、リールが回転又は停止することとなる。
図29は、上述したモータ制御処理の具体的な処理例である。このモータ制御処理では、少なくともウエイトタイマ、加速カウンタおよび励磁順ポインタ(何れもRAM106を利用したソフトウエア処理)を使用する。
ウエイトタイマとは、ステッピングモータを同一励磁モードで保持する保持時間(より具体的にはタイマ割込み数)を計測するためのタイマである。加速カウンタとは、前記保持時間を指定するためのカウンタであり、加速カウンタの値と保持時間との関係は、加速カウンタテーブルとしてROM105に予め記憶されている。本実施の形態におけるステッピングモータは、停止状態から定速状態となるまでに25ステップの励磁パターンを要する構成となっており、加速カウンタテーブルには、「0」~「24」の加速カウンタの値と、ウエイトタイマにセットされるタイマ割込み数と、の対応関係が定められている。励磁順ポインタは、ステッピングモータに対する励磁相を決めるときに使用されるポインタである。1-2相励磁のステッピングモータを使用した場合、1相励磁と2相励磁とを交互に行うこととなるが、そのときの相励磁パターンは8パターンとなる。ROM105には、「0」~「7」の励磁順ポインタと、出力すべき励磁データと、の対応関係を定めた励磁データテーブルが予め記憶されている。そして、前記励磁順ポインタの値により、どの相励磁のときにどの励磁データを出力励磁データとして取得し、これをRAM106に一時的に保存するか、が指定される。
図29のモータ制御処理を、遊技の進行状況に関連させて説明する。以下の説明はあくまでも1つのリールを制御するためのステッピングモータに対する処理例である。
先ず、開始指令が発生していない状態すなわちゲームが開始されていない状態における処理を説明する。
スタートレバー41が操作される前のウエイトタイマの値は0であり、加速カウンタの値も0である。このため、ステップS1101におけるウエイトタイマが0か否かの判定処理では肯定判定し、ステップS1103に進む。ステップS1103では、加速カウンタの値が0でないか否かを判定するが、この判定は否定判定してステップS1104に進む。ステップS1104では、出力励磁データを「0」と設定し、本処理を終了する。この結果、開始指令が発生するまでの間は、ステッピングモータが停止状態を維持することとなり、各リール32L,32M,32Rが停止したままとなる。
次に、開始指令が発生した場合の処理、より詳しくはリールを停止状態から定速状態に移行させるまでの処理を説明する。
通常処理の開始待ち処理において開始指令が発生したと判定した場合(ステップS518にて肯定判定をした場合)には、回転開始処理において加速カウンタに「25」がセットされる。かかる時点ではウエイトタイマの値は0のままであるため、ステップS1101にて肯定判定をし、ステップS1103に進む。ステップS1103では、加速カウンタの値を判定する。加速カウンタには「25」がセットされているため、ステップS1103にて肯定判定をし、ステップS1105にて加速カウンタの値を1減算する。ステップS1106では、再度加速カウンタの値が0でないか否かを判定する。このときの加速カウンタの値は「24」であるため、肯定判定をしてステップS1108に進む。ステップS1108では、加速カウンタテーブルから加速カウンタの値「24」における励磁時間を参照し、かかる励磁時間(本実施の形態では「130」)をウエイトタイマに設定する。ウエイトタイマの設定が終了した場合には、ステップS1109にて励磁順ポインタを1加算する更新処理を実行する。そして、ステップS1110では、更新された励磁順ポインタの値と対応した励磁データを、励磁データテーブルより取得し、その励磁データを出力励磁データとしてRAM106に保存する。保存された励磁データは、全リールのステッピングモータに対する励磁データが取得された後、入出力ポート104へ同時に出力される。その後、ステップS1111にて図柄オフセットの値を更新するとともに、ステップS1112以下に示すリールインデックスセンサによるリールの1回転検出処理などを行う。このうち、ステップS1118及びS1119は、リール異常処理であって、励磁データを印加したにも拘わらずリールが正常に回転しないような場合の処理であり、ステップS1120~S1123は、ステッピングモータに対する回転停止処理(ブレーキ処理)である。これらの処理は後述することとし、モータ加速処理が正常である場合には、ステップS1118~ステップS1123までがスキップされ、図12に示すタイマ割込み処理に復帰する。
以上のように、開始指令が発生した場合には、加速カウンタにカウンタ値「25」がセットされ、3つのリール32L,32M,32Rのそれぞれに対応するステッピングモータに対してモータ始動用の励磁データが供給されることでリールの回転が開始される。次回のタイマ割込み処理では、再びモータ制御処理がコールされる。このときの処理を次に説明する。
次回のモータ制御処理では、ウエイトタイマの値が「130」であるため、ステップS1101にて肯定判定をしてステップS1102に進み、ウエイトタイマの値を1減算してタイマ割込み処理に復帰する。この結果、加速カウンタや励磁順ポインタの値は前回のタイマ割込み時と同じ値が保持され、ステッピングモータは同じ励磁相で励磁されたままとなる(リールが回転しない)。この同じ励磁相を使用した処理は、トータル130割込み分連続して行われ、130割込みが行われたときにウエイトタイマの値がゼロとなる。
一方、加速カウンタの値は上記期間において変化しない。130割込みが終了してウエイトタイマの値が0となることにより、ステップS1103を介してステップS1105に進み、加速カウンタを減算する。その後ステップS1106及びステップS1108において、1減算された加速カウンタの値「23」と対応した励磁時間(本実施の形態では「8」)を加速カウンタテーブルより取得し、取得したこの励磁時間の値(=8)をウエイトタイマに設定する。ステップS1109~S1112では、励磁順ポインタの値を1更新し、この励磁順ポインタの値と対応した励磁データを出力励磁データとしてRAM106に保存する。保存された励磁データは、全リールのステッピングモータに対する励磁データが取得された後、入出力ポート104へ同時に出力される。励磁順ポインタが更新されることにより、出力励磁データすなわち励磁相が変更され、リールが1ステップ角だけ回転する。次回以降のモータ制御処理では、再びウエイトタイマが0となるまでステップS1102にてウエイトタイマの減算処理を行い、0となった場合には、加速カウンタの減算処理や励磁順ポインタの更新処理等を行う。
このように、リールを停止状態から回転させる場合には、加速カウンタの値と対応する励磁時間が経過するまで同じ励磁相を保持し、励磁時間が経過した場合に、励磁順ポインタを変更することで励磁相を変更する。これは、脱調や回転の不安定性を解消するための工夫である。
加速カウンタの値を順次減算していった場合、やがて加速カウンタの値は「0」となる。ステップS1105の減算処理を行った結果として加速カウンタの値が「0」となった場合には、ステップS1106において否定判定をし、ステップS1107に進む。ステップS1107では加速カウンタに「1」をセットする。その後、ステップS1108に進み、ステップS1105で減算したときの加速カウンタの値「0」と対応した励磁時間に相当する値(本実施の形態では「1」)をウエイトタイマに設定する。その後ステップS1109,S1110では、励磁順ポインタを更新するとともに対応する励磁データを読み出し、これを出力励磁データとしてセットする。
ここで、ステップS1105において加速カウンタの値が「0」となった場合には、ステップS1107において加速カウンタの値が「1」に変更される。このため、これ以降のモータ制御処理では、ウエイトタイマの値が0となった場合、ステップS1103を経由してステップS1105に進み、加速カウンタの値を1減算する。この結果、加速カウンタの値が再び「0」となり、ステップS1108では、加速カウンタの値「0」と対応した励磁時間に相当する値(本実施の形態では「1」)が再びウエイトタイマに設定される。また、励磁順ポインタはステップS1109において更新されるため、励磁相が切り替わる。
このように、加速カウンタの値が「25」から順次減算されて「0」となった場合、それ以降のモータ制御処理では、ステップS1105及びステップS1107において加速カウンタの「0」、「1」の加減算処理を交互に繰り返すこととなる一方、ステップS1108では常に加速カウンタ「0」の励磁時間をウエイトタイマに設定する。また、ステップS1109,S1110において励磁データは毎回更新されるため、ステッピングモータは1相励磁と2相励磁とを定期的に交互に繰り返す回転モードとなる。これは定速処理に他ならず、換言すれば、加速カウンタの値が「0」になるまでモータ制御処理が行われた場合、それ以降は各リール32L,32M,32Rが定速状態に移行することになる。
次に、停止指令が発生した場合の処理について説明する。
リールが定速回転している際に遊技者が回転中のリールと対応するストップスイッチを操作して停止指令が発生した場合、ステップS1120~ステップS1123に示す回転停止処理によって対応するリールの回転が停止する。
回転停止処理の説明に先立ち、図柄オフセットと図柄番号の説明を行う。ステップS1110において励磁データを取得した場合、ステップS1111にて図柄オフセットの値を更新するとともに、ステップS1112にてリールインデックスセンサによるリールの回転検出処理を行う。すなわち、ステップS1112では、リールインデックスセンサがセンサカットバンの通過を検出したか否か、具体的には通過を検出したことを示す検出信号が入力されているか否かを確認する。前記検出信号が入力されている場合には、リールが1回転したことを意味する。かかる場合には、ステップS1113にて始動フラグをクリアするとともに、ステップS1114にて図柄オフセットカウンタ及び図柄番号カウンタの値を0にリセットする。
図柄番号は、図柄の番号を連番で示すものであり、21個の図柄が付されている本スロットマシン10では「0」~「20」の値をとる。図6にて説明の便宜上付与した番号が図柄番号である。図柄オフセットは、1つの図柄をリールの回転方向に24等分した値であり、「0」~「23」の値をとる。図柄オフセットの値が「24」になった場合には、ステップS1115にて否定判定を行い、ステップS1116にて図柄番号を更新するとともに図柄オフセットの値を0にリセットする。
さて、ステッピングモータは、リールの回転を停止させるべくブレーキがかけられたとしても、ステッピングモータのロータに滑りが発生するため、3~4ステップ分滑った後に停止する。そこで、ステップS1116において図柄番号の更新や図柄オフセットをリセットした場合には、ステップS1120においてリールを停止させることが可能な時期か否かを判定する。具体的には、現在出力中の励磁相が2相励磁であるかと、図柄オフセット値が所定オフセット値を超えない範囲となっているかと、を判定する。現在の励磁相が2相励磁であるか否かは、励磁順ポインタの値を参照して判定し、所定オフセット値を超えたか否かは、図柄オフセット値を参照して判定する。なお、図柄オフセット値を考慮するのは、図柄オフセット値が大きくなればなるほど停止時における隣接するリールとの図柄位置の相対的ずれが大きくなるからである。人間の識別力では4オフセット以上になると図柄のずれがはっきり認識できるようになるため、図柄オフセット値が4以下の場合に回転停止処理を実行する。
上記各条件を満足しない場合には、リールを停止させることが可能な時期でないと判定し、そのまま本処理を終了してタイマ割込み処理に復帰する。上記各条件を満足している場合には、ステップS1121に進む。上述したとおり、停止指令が発生した場合には、通常処理のリール制御処理において停止図柄番号が決定される。そこで、ステップS1121では、現在の図柄番号と決定された停止図柄番号との比較を行う。両者の図柄番号が一致していない場合には、そのまま本処理を終了してタイマ割込み処理に復帰し、両者の図柄番号が一致した場合には、ステップS1122にてブレーキ設定処理を行う。ブレーキ設定処理では、ブレーキ用励磁データの設定を行う。また、ウエイトタイマにブレーキ時間を設定する。本実施の形態では159割込み(=236.91msec)がブレーキ時間として設定されており、ウエイトタイマには「159」がセットされる。これに加えて、加速カウンタをリセット(=0)する。ウエイトタイマを上述した値(=159)にセットした場合には、ステップS1101,S1102の処理が159割込み分行われる。この間にブレーキ用励磁データが連続して出力されることにより、ステッピングモータのロータが完全に停止し、リールが停止する。
ブレーキ設定処理が終了した場合には、ステップS1123にて励磁順ポインタ調整処理を行い、タイマ割込み処理に復帰する。励磁順ポインタ調整処理とは、次回の回転開始時に参照する励磁順ポインタを設定する処理である。上述したように、ステッピングモータのロータは、ブレーキがかけられた場合に3~4ステップ分程度滑ってから停止する。このため、励磁順ポインタ調整処理では、現在の励磁順ポインタに4を加算する処理を行う。
モータ制御処理の最後に、リールの回転に異常が発生した際の処理を説明する。
すでに説明したように、リールが定速回転となる前の加速期間では、加速カウンタの加減算に応じて図柄オフセットの値を更新し、定速回転となった以降は、タイマ割込み(モータ制御処理)を行うたびに図柄オフセットの値を更新する。そして、図柄オフセットの値が「24」になると、図柄番号を更新するとともに図柄オフセットの値をリセットする。また、リールが1回転したことを検出すると、図柄番号及び図柄オフセットの値をそれぞれリセットする。これらの処理を行うことにより、図柄番号の値を基準としてどの図柄が表示窓を介して視認可能となっているかが判り、図柄オフセットの値によって表示窓から図柄のどの範囲が視認可能となっているかが判る。例えば図柄番号「0」,図柄オフセット「0」の場合には、表示窓から図柄番号「0」~「2」の図柄が視認可能となっている。
開始指令の発生によりステッピングモータが正常に加速して定速回転に至る正常回転の場合には、上述したような状況が再現される。しかし、正常に加速しなかった場合や、故意にリールを押さえて回転が止められたりした場合には、以下のような異常回転処理となる。
まず、上述したようにリールは504パルスの励磁信号によって1回転する。したがって、正常回転を行っている場合には、リールインデックスセンサからの検出信号が入力されてから504パルスの励磁信号を出力した場合に、前記検出信号が再度入力されることとなる。しかしながら、加速が正常に行われずにリールが回転を開始しなかった場合や、故意にリールを押さえて回転が止められていた場合には、504パルスの励磁信号を出力しても前記検出信号が入力されない。この結果、ステップS1114における図柄番号のリセット処理が行われないため、ステップS1116において図柄番号は最大値「20」を超えて「21」に更新される。図柄番号の値が「21」となっても、次回の処理ではカウンタ加減算処理が行われるため、図柄オフセットの値は今まで通り更新処理される。
かかる場合には、ステップS1115を経て、ステップS1117において図柄番号の値を判定する。図柄番号は「0」から「20」までであるため、図柄番号が「21」となった場合には異常回転状態とみなすことができる。しかしながら、異常回転状態の原因がステッピングモータの動作上のばらつきによる可能性もあり得るため、さらにステップS1118にて4オフセット以上図柄オフセットの値を更新したかを判定し、更新している場合に初めて異常回転状態と判断してステップS1119の異常処理を行う。異常処理では、加速カウンタにその初期値である「25」をセットし、次のタイマ割込み期間から再び加速処理を行う。ちなみに、ステッピングモータには動作上のばらつきがあり、理想的には1回転=504パルスとなるが、場合によっては503パルスあるいは505パルスで1回転することも考えられる。そこでステップS1117では余裕をもって4オフセット分を異常検出値として設定している。
次に、ステップS407のメダル払出処理について、図30のフローチャートを用いて説明する。
ステップS1201では、払出情報格納エリアにセットされた払出予定数と、実際の払出数とが一致するか否かを判定する。一致しない場合には、メダルの払い出される入賞が成立し、対応する枚数のメダルを払い出していないことを意味する。かかる場合には、ステップS1202に進み、払出開始フラグをセットする。続くステップS1203では、クレジットカウンタのカウント値が上限(貯留されているメダル数が50枚)に達しているか否かを判定する。上限に達していない場合には、ステップS1204にてクレジットカウンタのカウント値に1を加算するとともに、ステップS1206にて払出数をカウントするための払出数カウンタのカウント値を1加算し、ステップS1201に戻る。かかる処理を行うことにより、クレジット表示部60及び払出枚数表示部62の値がそれぞれ1加算される。一方、クレジットカウンタのカウント値が上限に達している場合、又は払出数の加算途中でクレジットカウンタのカウント値が上限に達した場合には、ステップS1205に進み、メダル払出用回転板を駆動し、メダルをホッパ装置51からメダル排出口49を介してメダル受け皿50へ払い出す。その後、ステップS1206にて払出数カウンタのカウント値を1加算し、ステップS1201に戻る。かかる処理を行うことにより、現実のメダルが1枚払い出されるとともに、払出枚数表示部62の値が1加算される。なお、ホッパ装置51を駆動してメダルを現実に払い出す場合には、ホッパ装置51に取り付けられた払出検出センサ51aのメダル検出信号に応じて払出数を1インクリメントする。なお、現在の遊技状態がBB状態である場合には、メダル払出処理において、後述する残払出数カウンタの値から払出数を減算するとともに、残払出枚数表示部61に表示される残払出数を減算する処理も行っている。
ステップS1201において払出数と払出予定数が一致した場合には、成立した入賞と対応する枚数のメダルを払い出してゲームが終了した、又はメダルが払い出されることなくゲームが終了した、ことを意味する。そこで、ステップS1207にて払出開始フラグをクリアするとともに、ステップS1208にてゲームフラグをクリアし、本処理を終了する。
次に、ステップS408のBB状態処理を、図31のフローチャートに基づいて説明する。
BB状態処理の説明に先立ち、BB状態について説明する。BB状態は、複数回のRB状態で構成されている。RB状態は、12回のJACゲームで構成されている。JACゲームとは、メダル払出の特典が付与される入賞(例えばベル入賞等)の成立する確率が通常状態と比して非常に高いゲームである。そして、JACゲーム中に入賞が8回成立すると、JACゲームが12回行われる前であってもRB状態が終了する。また、BB状態は、メダル払出数が所定数(具体的には400枚)に達したことを以って終了する。加えて、RB状態の途中でメダル払出数が所定数に達した場合、BB状態のみならずRB状態も終了する。これは、BB状態中のメダル払出数に上限をもたせることにより遊技者の射幸心を抑え、遊技の健全性を担保するための工夫である。さらに、本実施の形態では、RB状態に移行する図柄の組合せを設定しておらず、BB状態に移行した直後及びRB状態が終了した直後にRB状態に移行する構成としている。故に、BB状態とは、所定数のメダル払出が行われるまでRB状態に連続して移行するゲームであるとも言える。
さて、BB状態処理では、先ずステップS1301にて現在の遊技状態がBB状態か否かを判定する。BB状態でない場合には、ステップS1302~ステップS1305に示すBB判定処理を行う。
BB判定処理では、ステップS1302にてBB当選フラグがセットされているか否かを判定する。BB当選フラグがセットされている場合には、ステップS1303に進み、先の払出判定処理にてセットした入賞成立役に基づいて、BB入賞が成立したか否かを判定する。そして、BB入賞が成立した場合には、ステップS1304にて遊技状態をBB状態に移行させるべくBB開始処理を実行する。具体的には、BB当選フラグをクリアするとともにBB設定フラグをRAM106の状態情報格納エリア106cにセットし、遊技状態をBB状態とする。また、前記状態情報格納エリア106cに設けられたBB状態中に払出可能な残りのメダル数をカウントするための残払出数カウンタに400をセットし、残払出枚数表示部61に400を表示させる処理を行う。その後、ステップS1305にてRB開始処理を行い、BB状態処理を終了する。RB開始処理では、RB設定フラグをRAM106の状態情報格納エリア106cにセットし、遊技状態をRB状態とする。また、RB状態下で成立した入賞回数をカウントするための残払出入賞カウンタに8をセットするとともに、JACゲームの残りゲーム数をカウントするための残JACゲームカウンタに12をセットする。なお、残払出入賞カウンタと残JAC入賞カウンタは、状態情報格納エリア106cに設けられている。また、ステップS1301等における現在の遊技状態の判定は、状態情報格納エリア106cに対応する設定フラグがセットされているか否かに基づいて実行しており、いずれの設定フラグもセットされていない場合には、現在の遊技状態が通常状態であると判定している。
一方、BB当選フラグがセットされていない場合(ステップS1302がNOの場合)、又はBB入賞が成立していない場合(ステップS1303がNOの場合)には、BB開始処理等を実行することなく本処理を終了する。
ステップS1301にて現在の遊技状態がBB状態であると判定した場合には、ステップS1306に進み、先の払出判定処理にてセットした入賞成立役に基づいて入賞が成立したか否かを判定する。入賞が成立した場合には、ステップS1307にて残払出入賞カウンタの値を1減算する。その後、或いはステップS1306にて入賞が成立しなかったと判定した場合には、JACゲームを1つ消化したことになるため、ステップS1308にて残JACゲームカウンタの値を1減算する。続いて、ステップS1309では残払出入賞カウンタ又は残JACゲームカウンタのいずれかが0になったか否かを判定する。いずれかが0になっていたとき、つまり入賞が8回成立したかJACゲームが12回消化されたときには、RB状態の終了条件が成立したことを意味するため、ステップS1310にて残払出入賞カウンタ及び残JACゲームカウンタの値をクリアするRB終了処理を行う。続くステップS1311では、残払出数カウンタのカウント値が0か否かを確認する。0でない場合には、BB状態中に払い出されたメダル数が所定数に達しておらず、BB状態の終了条件が成立していないことを意味するため、ステップS1312に進み、先述したRB開始処理を行った後、本処理を終了する。
また、ステップS1309において残払出入賞カウンタ及び残JACゲームカウンタのいずれの値も0になっていないとき、つまり入賞がまだ8回成立しておらずJACゲームも12回消化されていないときには、ステップS1313に進み、残払出数カウンタのカウント値が0か否かを確認する。0でない場合には、BB状態中に払い出されたメダル数が所定数に達しておらず、BB状態の終了条件が成立していないことを意味するため、そのまま本処理を終了する。一方、残払出数カウンタのカウント値が0である場合には、BB状態の終了条件が成立したことを意味するため、ステップS1314~ステップS1315に示す特別遊技状態終了処理を行う。特別遊技状態終了処理では、先ずステップS1314において、先述したRB終了処理を行う。その後、ステップS1315にてBB設定フラグや各種カウンタなどを適宜クリアしたりエンディング処理を行ったりするBB終了処理を行う。また、ステップS1311にて残払出数カウンタのカウント値が0である場合にも、BB状態の終了条件が成立したことを意味するため、ステップS1315にてBB終了処理を行う。BB終了処理を行った後、ステップS1316にて状態移行処理を実行し、BB状態処理を終了する。ここで、状態移行処理とは、遊技状態を通常状態に復帰させるための処理であり、例えばBB状態が終了したことを表示制御装置81に把握させるべく送信される終了コマンドをセットしたり、所定時間(例えばエンディング表示が終了するまでの時間)が経過するまで待機したりする処理を行う。
最後に、タイマ割込み処理のステップS116にて行われるカウンタ更新処理を、図32のフローチャートに基づいて説明する。
ステップS1401では、遅延フラグがセットされているか否かを判定する。遅延フラグがセットされている場合には、タイマ割込み処理の遅延カウンタ処理S117にて第1カウンタ111aの値を減算する処理を行うため、第1カウンタ111aの値に1を加算する処理を行うことなくそのまま本処理を終了する。遅延フラグがセットされていない場合には、さらにステップS1402にてゲームフラグがセットされているか否かを判定し、ゲームフラグがセットされていない場合には、そのまま本処理を終了する。一方、ゲームフラグがセットされている場合には、ステップS1403~ステップS1409に示す加算処理を行う。上述したとおり、ゲームフラグとは、開始指令が発生した場合すなわちゲームが開始された場合にセットされるフラグであって、メダル払出が終了した場合すなわちゲームが終了された場合にクリアされるフラグである。つまり、カウンタ更新処理では、ゲームが行われている場合に加算処理を行う一方、ゲームが行われていない場合に加算処理を行わない。
ゲームフラグがセットされている場合には、ステップS1403に進み、第1カウンタ111aの値に1を加算する。ステップS1404では、指令フラグがセットされているか否かを判定する。指令フラグがセットされている場合には、開始指令の発生後にスタートレバー41が継続して操作されている、又は停止指令の発生後に当該停止指令を発生させたストップスイッチが継続して操作されている、ことを意味する。かかる場合には、ステップS1405に進み、第1カウンタ111aの値に1を加算する。第1カウンタ111aの更新後、又は指令フラグがセットされていない場合には、ステップS1406に進み、始動フラグがセットされているか否かを判定する。始動フラグがセットされている場合には、各リール32L,32M,32Rの回転開始後にリールインデックスセンサからの検出信号が未入力であることを意味する。かかる場合には、ステップS1407に進み、第1カウンタ111aの値に1を加算する。第1カウンタ111aの更新後、又は始動フラグがセットされていない場合には、ステップS1408に進み、払出開始フラグがセットされているか否かを判定する。払出開始フラグがセットされている場合には、メダルの払い出しが完了していないことを意味する。かかる場合には、ステップS1409にて第1カウンタ111aの値に1を加算した後に本処理を終了し、払出開始フラグがセットされていない場合には、そのまま本処理を終了する。
このように、タイマ割込み処理におけるカウンタ更新処理では、遊技の進行状況に基づいて第1カウンタ111aを更新する。より具体的には、ゲームが行われていない状況では第1カウンタ111aが更新されず、ゲームが行われている状況であって遅延処理が行われていない状況では第1カウンタ111aが更新される。また、かかるカウンタ更新処理は1.49msec毎に定期的に行われるタイマ割込み処理に含まれる処理であるため、ゲームが行われている状況では、ステップS1403にて定期的に第1カウンタ111aが1更新される。加えて、各リール32L,32M,32Rが回転を開始してからリールインデックスセンサからの検出信号が入力されるまでの間と、開始指令又は停止指令が発生してから対応するスイッチ(スタートレバー41又はストップスイッチ42~44)の操作が終了するまでの間と、メダル払出が開始されてから終了するまでの間と、には、上述したステップS1403の定期的な第1カウンタ111aの更新に加えて、さらに第1カウンタ111aが更新される。つまり、タイマ割込み処理のカウンタ更新処理では、ゲームの進行状況によって、第1カウンタ111aが1だけ更新される場合と、2以上更新される場合と、がある。
以上詳述した本実施の形態によれば、以下の優れた効果を奏する。
スロットマシンにおいては、センサからの信号入力状況を確認する処理と他の処理との関係において、未だ工夫の余地が存在する。
なお、以上の問題は、上記例示したようなスロットマシンに限らず、所定条件の検出に基づいて遊技を進行させる他の遊技機にも該当する問題である。
本発明は上記例示した事情等に鑑みてなされたものであり、所定条件の検出を好適に遊技に使用可能な遊技機を提供することを目的とするものである。
スタートレバー41が操作されて開始指令が発生した場合には、当該スタートレバー41の操作タイミングではなく、前記操作タイミングから遅延時間が経過した後のタイミングで、乱数生成器150のカウント値をラッチする構成とした。遅延時間は第1カウンタ111aの値によって変化するため、かかる構成とすることにより、仮にスタートレバー41の操作を一定周期で行われた場合であっても、乱数生成器150のカウント値のラッチタイミングを変化させることができる。この結果、体感器等を用いて当選となる乱数が生成される際の乱数生成器150のカウント値を狙ってスタートレバー41を操作する不正や、前記カウント値が生成されるタイミングで主制御装置101に開始指令が発生したと誤認識させる不正信号を出力可能な不正基板を取り付ける不正を困難なものとすることができ、当選となる乱数が不正に取得されることを困難なものとすることが可能となる。
ゲームが開始されてから終了するまでの間に第1カウンタ111aの値を更新し、次回のゲームが開始された場合には、更新された第1カウンタ111aの値を用いて乱数の取得タイミングを遅延させる構成とした。かかる構成の場合、ゲームの開始タイミングは、遊技者が開始指令を発生させるべくスタートレバー41を操作する操作タイミングに依存するため、ランダムなものとなる。また、ゲームの終了タイミングは、メダル払出の終了タイミングやメダルが払い出されない場合においては全リール32L,32M,32Rの停止タイミングに依存するため、ランダムなものとなる。この結果、第1カウンタ111aの値が更新される期間をランダムなものとすることができ、当該期間に更新される第1カウンタ111aの更新回数をランダムなものとすることができる。
確かに、第1カウンタ111aをタイマ割込み処理において常に更新する構成、すなわち第1カウンタ111aを常に定期的に更新する構成とすることも可能である。しかしながら、かかる構成とした場合、例えば第1カウンタ111aの値が特定の値となってから次に前記特定の値となるまでの周期の自然数倍の周期で信号を発信する体感機等が不正使用されたり、前記周期の自然数倍の周期で主制御装置101に開始指令が発生したと誤認識させる不正信号を出力可能な不正基板が取り付けられたりする可能性が懸念される。そして、これら不正がなされた場合には、遅延時間が毎ゲーム一定となってしまうため、当選となる乱数が不正に取得されてしまう可能性が懸念される。
一方、ゲームが開始されてから終了されるまでというように第1カウンタ111aの更新が行われる期間を限定した構成においては、当選となる乱数が不正に取得されることを困難なものとすることが可能となる。第1カウンタ111aの値が所定の値となってから前記所定の値となるまでの周期と、体感機等や不正基板から信号が出力される周期と、を、第1カウンタ111aの更新が行われない期間分だけずらすことができるからである。
さらにいうと、このように第1カウンタ111aの更新が行われる期間を限定した場合、当該期間に行われる第1カウンタ111aの更新回数が16回の自然数倍となるように前記期間を一定のものとする不正がなされる可能性が考えられる。しかしながら、ゲームが開始されてから終了されるまでの期間は、種々の要因によって変化するため、一定のものとすることが困難である。具体的には、抽選処理の結果が当選であるか否かによって変化する。外れであればメダル払出が行われることなくゲームが終了となるし、当選であればメダル払出が行われた後にゲームが終了となるため、メダル払出の有無によってゲームの終了タイミングが変化するからである。
かかる一方、スロットマシンの場合には、ストップスイッチが操作されることによってゲームが進行するため、前記期間が一定となるように各ストップスイッチを毎ゲーム同じタイミングで操作される可能性が考えられる。しかしながら、ストップスイッチ42~44を毎ゲーム同じタイミングで操作することにより前記期間を一定のものとすることも困難である。当選有無によってリールが停止するまでの時間が変化するからである。一例を挙げて説明すると、左リール32Lの7番の「リプレイ」図柄が下段に到達しているタイミングで左ストップスイッチ42を操作された場合、再遊技に当選していれば左リール32Lは滑ることなくそのまま停止し、チェリーに当選していれば左リール32Lは1図柄分滑った後に停止する。このため、少なくとも各リール32L,32M,32Rを停止させる前段階で当選有無及び当選役の種別を把握できていない限りは、全リール32L,32M,32Rが停止するまでに要する時間を特定できないからである。
さらにまた、仮に各リール32L,32M,32Rを停止させる前段階で当選役の種別等を把握できた場合であっても、前記期間を一定のものとすることは困難である。上述したとおり、1つの図柄は24オフセットで構成されており、図柄オフセット値が4以下の場合に回転停止処理が行われる。このため、リールが1図柄分滑った後に停止するという事象を考えた場合であっても、実際には20オフセット滑った後に停止する場合があれば、24オフセット滑った後に停止する場合もある。人間の識別力では4オフセット未満の違いを認識することは困難であるため、同じ図柄番号の図柄が所定位置に到達しているタイミングでストップスイッチを毎ゲーム操作することは可能であっても、同じ図柄番号且つ同じ図柄オフセットのタイミングでストップスイッチを毎ゲーム操作することは非常に困難だからである。
以上の結果、第1カウンタ111aの値のランダム性を確保することができ、抽選に当選となる乱数を不正に取得することを困難なものとすることが可能となる。
第1カウンタ111aの値を更新することができる期間を、ゲームが開始されてから終了するまでとした。かかる構成とすることにより、ゲームが行われている最中に次ゲームで用いる第1カウンタ111aの値(すなわち遅延時間の元となる情報)を準備することができるため、抽選に当選となる乱数を不正に取得することを困難なものとしつつ、1のゲームから次のゲームへの進行を円滑に行うことが可能となる。確かに、第1カウンタ111aの値を更新することができる期間を例えばゲームの終了から次ゲームの開始までとすることも可能である。しかしながら、かかる構成とした場合、第1カウンタ111aの値を一巡させるための時間を確保できない可能性があり、前記時間を確保するために次ゲームを開始できるタイミングを遅らせる等の措置を講じる必要が生じ得るからである。
タイマ割込み処理において行うカウンタ更新処理では、各リール32L,32M,32Rが回転を開始してからリールインデックスセンサからの検出信号が入力されるまでの間と、開始指令又は停止指令が発生してから対応するスイッチ(スタートレバー41又はストップスイッチ42~44)の操作が終了するまでの間と、メダル払出が開始されてから終了するまでの間と、には、ステップS1403の定期的な第1カウンタ111aの更新に加えて、さらに第1カウンタ111aが更新される構成とした。つまり、タイマ割込み処理のカウンタ更新処理では、ゲームの進行状況によって、第1カウンタ111aが1だけ更新される場合と、2以上更新される場合と、がある構成とした。かかる構成とすることにより、1回のカウンタ更新処理において第1カウンタ111aが更新される回数をランダムなものとすることが可能となる。この結果、ゲームの開始から終了までになされる第1カウンタ111aの更新回数をよりランダムなものとすることができる。
タイマ割込み処理においてカウンタ更新処理を行う構成とした。かかる構成とすることにより、プログラム構成の簡略化を図りつつ、カウンタ更新処理を定期的に起動させることが可能となる。
電源投入に伴って起動されるとともに繰り返し行われる通常処理で割込み待ち処理を行う構成とし、割込み待ち処理を、更新カウンタ111cの値が変化した場合、すなわちタイマ割込み処理が行われた場合に終了する構成とした。そして、当該割込み待ち処理では、ゲームフラグがセットされている場合、更新カウンタ111cの値が変化するまでの間、第1カウンタ111aの値を繰り返し更新する構成とした。かかる構成とすることにより、割込み待ち処理の開始から終了までの時間をランダムなものとすることができる。タイマ割込み処理は1.49msec毎に定期的に行われる一方、割込み待ち処理を開始するタイミング、より詳しくはステップS352にて更新カウンタ111cの値を取得するタイミングは、電源投入から割込み待ち処理に至るまでに行った他の処理によって変化する。このため、タイマ割込み処理の終了直後に割込み待ち処理を開始した場合であれば、第1カウンタ111aの更新時間として1.49msecからタイマ割込み処理に要した時間を減じた時間を確保でき、第1カウンタ111aを複数回更新できる一方、ステップS352の直後にタイマ割込み処理を行った場合であれば、第1カウンタ111aを1回更新する時間しか確保できない。この結果、割込み待ち処理にて行われる第1カウンタ111aの更新回数をランダムなものとすることができ、開始指令が発生してからCPU102がラッチ信号を出力するまでの遅延時間をランダムなものとすることができる。
確かに、例えば通常処理においてタイマ割込み処理の開始タイミングと終了タイミングを監視し、タイマ割込み処理の終了タイミングから次回のタイマ割込み処理の開始タイミングまで第1カウンタ111aの更新を行う構成、すなわち、割込み待ち処理の開始タイミングをタイマ割込み処理の終了タイミングに依存させる構成とすることも可能である。かかる構成とした場合であっても、上記実施の形態と同様、割込み待ち処理の開始から終了までの時間をランダムなものとすることができる。しかしながら、かかる構成とした場合には、タイマ割込み処理が1.49msec毎に開始されるため、割込み待ち処理の開始タイミングがタイマ割込み処理の開始タイミングから1.49msec以内という時間的な制約が生じることとなる。また、初回の割込み待ち処理の開始タイミングと次回の割込み待ち処理の開始タイミングとの間隔、すなわち割込み待ち処理の起動間隔が、タイマ割込み処理の2周期未満すなわち2.98msec未満となるという制約も生じることとなる。このため、これら制約を基にして、開始指令を発生させてからの遅延時間が毎ゲーム一定となるよう、第1カウンタ111aのカウント値が不正に狙われる可能性が生じ得る。一方、上記実施の形態においては、割込み待ち処理の開始タイミングがタイマ割込み処理の開始タイミング及び終了タイミングに依存しないため、上述した各制約が生じることはなく、第1カウンタ111aの値が不正に狙われる可能性を低減させることが可能となる。
通常処理では、割込み待ち処理が終了した場合、タイマ割込み処理のセンサ監視処理の結果を用いてスタートレバー41(例えばステップS518)等が操作されたか否かを判定する処理を行う構成とした。割込み待ち処理の終了後に上記判定処理を行う構成とすることにより、タイマ割込み処理が終了してから上記判定処理が行われるまでの間隔を短縮させることが可能となる。割込み待ち処理を行わない構成においては、上記間隔が最大で1.49msecからタイマ割込み処理に要した時間を減じた時間となる一方、割込み待ち処理を行う構成においては、最大でも、1.49msecからタイマ割込み処理に要した時間を減じ、さらにステップS353~ステップS356の処理を1回行う際に要する時間とステップS357にて否定判定してステップS358の処理を行う際に要する時間とを減じた時間となるからである。この結果、スタートレバー41が操作されたか否か等の遊技の進行や遊技状況等に関わる判定を、より近いタイミングでなされたセンサ監視処理の結果を用いて行うことが可能となる。故に、遊技者等が行ったスタートレバー41等の操作と、それに伴うゲーム等の進行と、の間に生じるタイムラグを低減させることが可能となる。この結果、開始指令が発生してから遅延時間が経過した後に乱数生成器150のカウント値をラッチする構成とした場合であっても、遊技者が上記タイムラグに対して違和感を抱くことを抑制することが可能となる。
割込み待ち処理を、スタートレバー41(例えばステップS518)等が操作されたか否かを判定する操作判定処理の前で行うことに加えて、当選確率設定処理のステップS303~S308や開始待ち処理の開始前準備処理(ステップS504~S518)等のループする処理内において行う構成とした。かかる構成とすることにより、スロットマシン10が誤動作することを回避することが可能となる。
ここで、上記ループ処理内で割込み待ち処理を行わない構成について考える。
例えば、当選確率設定処理のステップS303~S308のループ処理においては、ステップS307においてリセットスイッチ72が操作されたか否かを判定し、操作されたと判定した場合に設定値を更新する処理を行う。CPU102は第1クロック信号が入力された場合に動作を行うようになっているため、CPU102の動作する周期は第1クロック信号の周期と等しく約125nsecである。また、タイマ割込み処理は1.49msec毎に行われるため、CPU102は、タイマ割込み処理を行ってから次回のタイマ割込み処理を行うまでの間に1000回以上の動作(処理動作)を行うことができる。このため、当選確率設定処理のループ処理において割込み待ち処理を行わない構成においては、例えばステップS303の処理を行う直前にタイマ割込み処理を行った場合、次回のタイマ割込み処理を行うまでにステップS303~S308のループ処理を複数回繰り返し行うことができる。
ステップS307のリセットスイッチ72が操作されたか否かを判定する処理では、全エリア参照処理を行う。すなわち、リセット検出用エリアの全エリア112a~112cを参照し、「011」が格納されている場合にはリセットスイッチ72が操作されたと判定し、「011」が格納されていない場合にはリセットスイッチ72が操作されていないと判定する。かかる場合、割込み待ち処理を行わない構成においては、「011」が格納されている状況下でステップS307の判定処理を複数回行う可能性が生じ、これは、リセットスイッチ72が1回しか操作されていないにもかかわらず設定値が複数回更新されるという誤動作に繋がることとなる。
一方、リセットスイッチ72が操作されたか否かを判定する前段階で割込み待ち処理を行う構成においては、リセット検出用エリアに「011」が格納されている状況下でステップS307の処理を行った場合、次回のステップS307の処理を行う際にはリセット検出用エリアに「110」又は「111」が格納されていることとなり、ステップS307においてリセットスイッチ72が操作されたと繰り返し肯定判定することを回避することができる。この結果、リセットスイッチ72の1回の操作に対して設定値を複数回更新する誤動作を回避することができ、遊技場の管理者等に自身の望む設定値を設定させることが可能となる。
同様に、開始前準備処理S504~S518のループ処理においては、ステップS506においてクレジット投入スイッチ56~58が操作されたか否かを判定し、操作されたと判定した場合にステップS510においてクレジット投入処理を行う。かかるループ処理においても、割込み待ち処理を行わない構成においては、例えばステップS504の処理を行う直前にタイマ割込み処理を行った場合、次回のタイマ割込み処理を行うまでにステップS504~S518のループ処理を複数回繰り返し行うことが可能となる。
ステップS506のクレジット投入スイッチ56~58が操作されたか否かを判定する処理では、全エリア参照処理を行う。すなわち、各クレジット投入検出用エリアの全エリア112a~112cを参照し、「011」が格納されている場合には対応するクレジット投入スイッチが操作されたと判定し、「011」が格納されていない場合には対応するクレジット投入スイッチが操作されていないと判定する。かかる場合、割込み待ち処理を行わない構成においては、「011」が格納されている状況下でステップS506の判定処理を複数回行う可能性が生じ、クレジット投入スイッチ56~58が1回しか操作されていないにもかかわらず複数回操作されたと判定する可能性が生じる。これは、例えば仮想メダルを1枚だけ投入すべく第3クレジット投入スイッチ58を操作したにもかかわらず、仮想メダルが複数枚投入されてしまうという誤動作に繋がることとなる。
一方、クレジット投入スイッチ56~58が操作されたか否かを判定する前段階で割込み待ち処理を行う構成においては、クレジット投入検出用エリアに「011」が格納されている状況下でステップS506の処理を行った場合、次回のステップS506の処理を行う際にはクレジット投入検出用エリアに「110」又は「111」が格納されていることとなり、ステップS506においてクレジット投入スイッチ56~58が操作されたと繰り返し肯定判定することを回避することができる。この結果、クレジット投入スイッチ56~58の1回の操作に対して対応する仮想メダルの投入が複数回行われる誤動作を回避することができ、遊技者の意図する仮想メダルの投入を行わせることが可能となる。
RAM106のセンサ情報格納エリア112を、第1~第3エリア112a~112cの3つの記憶エリアから構成した。かかる構成とすることにより、各検出センサからの信号入力有無の履歴を記憶することができ、信号入力有無の履歴を用いて操作がなされたか否かの判定を行うことができる。また、リセットスイッチ72とクレジット投入スイッチ56~58については全エリア参照処理を行う構成とすることにより、スロットマシン10が誤動作することを好適に回避することが可能となる。仮に上記スイッチ56~58,72に関して1エリア参照処理を行う構成とした場合には、当選確率設定処理のステップS303~S308のループ処理におけるステップS307や開始前準備処理S504~S518のループ処理におけるステップS506において、対応する検出用エリアの第1エリア112aのみを参照することとなる。上述したとおり、CPU102の動作周期は、上記スイッチ56~58,72の操作が開始されてから終了までに要する時間と比して十分に早い。このため、上記スイッチ56~58,72に対して1エリア参照処理を行った場合には、仮に割込み待ち処理を行ったとしても一定期間に亘って第1エリア112aに「1」が繰り返し格納されることとなり、1回の操作に対して複数回操作がなされたと判定してしまう可能性が生じるからである。
割込み待ち処理を、通常処理の停止前処理におけるステップS1001~ステップS1004、すなわち回転中のリールを停止させることが可能となってから停止指令が発生するまでの間に行う構成とした。ステップS1001~ステップS1004の処理は、停止指令が発生するまで繰り返し行われる処理であり、回転中のリールを停止させることが可能となってから停止指令が発生するまでの時間は、遊技者がストップスイッチ42~44を操作するタイミングによって変化する。このため、停止指令が発生するまでに行われるステップS1001~ステップS1004の処理回数がランダムなものとなり、これに伴って割込み待ち処理が行われる回数もランダムなものとなる。この結果、停止指令が発生するまでに行われる第1カウンタ111aの更新回数をランダムなものとすることができる。
第1カウンタ111aの値は、RAMクリアを行う場合であってもクリアされない構成とした。かかる構成とすることにより、RAMクリアを示す不正信号をCPU102に入力して第1カウンタ111aの値を初期値に変更した上で、当選となる乱数が作成される際の乱数生成器150のカウント値を狙ってスタートレバー41を操作する不正を防止することが可能となる。
CPU102が内蔵するRAM106に第1カウンタ111aを設け、第1カウンタ111aの更新をCPU102が行う構成とした。すなわち、ソフトフリーカウンタの値を用いて遅延期間を決定する構成とした。かかる構成とすることにより、遅延期間が一定に固定されることを困難なものとすることが可能となる。例えば、CPU102と別体のハードウェアカウンタが生成したカウント値を用いて遅延期間を決定することも可能である。しかしながら、かかる構成とした場合には、当該ハードウェアカウンタを例えば常に同じカウント値を出力する不正なハードウェアカウンタに変更される可能性が懸念され、かかる変更がなされた場合、当選となる乱数が生成される周期を狙われる可能性が生じるからである。
上記実施の形態のようにハードウェア乱数生成器がラッチしたカウント値をそのまま乱数として用いる構成とした場合には、次のような問題が懸念される。すなわち、ハードウェア乱数生成器では、発振器が定周期でクロック信号をカウンタに対して出力し、当該クロック信号の入力に基づいてカウンタが更新される。このため、例えば発信器が故障等を原因としてクロック信号を出力しなくなると、カウンタの更新が行われなくなる。したがって、クロック信号が出力されなくなった後のゲームでは常に同じカウンタ値を用いて役の当否判定が行われることとなり、遊技者又はスロットマシンを設置する遊技場が不利益を被る可能性が懸念される。
そこで、Dフリップフロップ回路により構成された監視回路152を主制御装置101に設け、当該監視回路152には、そのD端子にスタート検出センサ41aを接続するとともにCLK端子に第2クロック回路151を接続し、Qバー端子にCPU102を接続した。かかる構成においては、故障等を原因として第2クロック回路151から第2クロック信号が出力されなくなった場合、或いは第2クロック信号が出力されたままの状態となった場合、監視回路152において第2クロック信号(より詳しくは反転クロック信号)の入力状態が変化しないため、CPU102に対して開始信号が出力されない。したがって、これら状況下においてスタート検出センサ41aから操作信号が出力されたとしても各リール32L,32M,32Rが回転を開始することはなく、遊技者又はスロットマシン10を設置する遊技場が不利益を被ることを回避できる。第2クロック信号が乱数生成器150に入力されなくなる、或いは入力されたままとなった場合、その後にゲームを行うことが可能な構成においては、常に同じ乱数が用いられることとなるからである。
また、かかる構成においては、遊技者又はスロットマシン10を設置する遊技場の管理者等に、スタートレバー41を操作しても各リール32L,32M,32Rが回転を開始しないことを通じてスロットマシン10に異常が発生したことを報知することが可能となる。故に、第2クロック回路151に異常が発生したことを速やかに発見させることが可能となり、第2クロック回路151の異常に伴って遊技者又はスロットマシン10を設置する遊技場が不利益を被ることを好適に回避させることができる。
確かに、第2クロック回路151が周期的に第2クロック信号を出力しているか否かを監視する監視手段を設け、第2クロック信号が周期的に出力されていない場合にはCPU102が異常発生を報知する等の異常発生時処理を行う構成としても、第2クロック回路151に何らかの異常が発生したことを遊技者又は遊技場の管理者等に報知することが可能となる。しかしながら、かかる構成とした場合、異常発生時処理を行うためのプログラムを主制御装置101又はCPU102自体に記憶させる必要が生じ、記憶容量の増大化が懸念されることとなる。また、第2クロック回路151ではなく監視手段に何らかの異常が発生した場合、第2クロック回路151に異常が発生しているにも関わらず当該異常を発見することができずに継続してゲームが行われる可能性も懸念される。
一方、スタート検出センサ41aとCPU102が監視回路152を介して接続される上記実施の形態の場合、スタートレバー41を操作したにも関わらず各リール32L,32M,32Rが回転を開始しないことを通じて遊技者に異常発生を直接報知することが可能となり、CPU102側で異常発生時処理等を行う必要がない。また、監視回路152自体に何らかの異常が発生した場合、開始信号とラッチ信号の出力状態が変化しなくなるため、かかる場合であってもその後のゲームを行うことができないことを通じて遊技者に異常発生を直接報知することが可能となる。したがって、上記各懸念を解消しつつ、スロットマシン10内部で異常が発生した場合に遊技者又はスロットマシン10を設置する遊技場が不利益を被る機会を比較的簡易な構成で低減することができる。
乱数生成器150において、カウンタ150aのカウント値の更新は第2クロック信号が入力無し状態から入力有り状態に切り替るタイミングで行われ、ラッチ回路150bにおけるカウント値のラッチは第2クロック信号が入力有り状態から入力無し状態に切り替るタイミングで行われる構成とした。かかる構成とすることにより、カウント値の更新タイミングとカウント値のラッチタイミングが同じタイミングとなることを回避でき、カウント値が更新されている最中にラッチタイミングがやってきてカウント値を正常にラッチできない不具合が生じることを回避できる。
主制御装置101において、CPU102と別個に監視回路152を設けたため、第2クロック回路151が正常か否かの監視をCPU102が行うことなくスロットマシン10の異常を報知することが可能となる。故に、CPU102の処理負荷を低減させることが可能となると共に、第2クロック回路151の監視制御に関するプログラムが不要となり、CPU102の記憶容量が増大化することを抑制することも可能となる。
さらに、第2クロック回路151ではなく監視回路152自体に何らかの異常が発生した場合であっても、当該異常を容易に発見させることが可能となる。すなわち、監視回路152に何かしらの異常が発生した場合、操作信号や第2クロック信号の入力状態に関わらず開始信号の出力状態が一定となる。これは、遊技者がスタートレバー41を操作したにも関わらず各リール32L,32M,32Rが回転を開始しなかったり、遊技者がスタートレバー41を操作していないにも関わらず開始信号が出力されたままの状態となったりするという異常な事象が発生することに繋がる。故に、遊技者又は遊技場の管理者等がスロットマシン10に何かしらの異常が発生していることを容易に発見することが可能となる。これにより、監視回路152に異常が発生しているために第2クロック回路151の異常を発見することができない等の不具合が生じることを回避しつつ、スロットマシン10内部で異常が発生した場合に遊技者又はスロットマシン10を設置する遊技場が不利益を被る機会を低減することができる。
CPU102にクロック信号を入力する第1クロック回路103と、乱数生成器150にクロック信号を入力する第2クロック回路151とを別個に設けると共に、これらクロック回路103,151から出力されるクロック信号が同期しない構成とした。かかる構成とすることにより、乱数生成器150においてラッチ回路150bがカウント値をラッチするタイミングと、CPU102がラッチ回路150bから乱数を取得する取得タイミングとが同期し、CPU102が乱数を正常に取得できないという不具合が生じることを回避できる。
リール制御処理において、開始指令が発生したままでないことを条件として停止指令の発生有無を判定する構成とした。すなわち、リールが回転している最中に開始指令が発生している場合、停止指令を無効とする構成とした。かかる構成とすることにより、第2クロック信号が出力されたままの状態で第2クロック回路151に異常が発生した場合に、当該異常を速やかに発見することが可能となる。ゲームの途中で前記異常が発生した場合には、ストップスイッチを操作しても対応するリールを停止させることができないことを通じて、遊技者又は遊技場の管理者等にスロットマシン10に何らかの異常が発生したことを報知することが可能となるからである。また、スタートレバー41が操作されていない状況下で前記異常が発生して各リール32L,32M,32Rが回転を開始した場合、遊技者は違和感を抱きつつも当該ゲームを終了させるべくストップスイッチ42~44を操作する可能性が考えられる。しかしながら、ストップスイッチを操作しても対応するリールを停止させることができないことを通じて、遊技者又は遊技場の管理者等にスロットマシン10に何らかの異常が発生したことを報知することが可能となる。
なお、上述した実施の形態の記載内容に限定されず、例えば次のように実施してもよい。
(1)上記実施の形態では、開始指令が発生した場合にゲームフラグをセットし、カウンタ更新処理にて第1カウンタ111aの更新を行うことを許可する構成としたが、かかる構成を変更する。例えば、各リール32L,32M,32Rが回転を開始した場合にゲームフラグをセットする構成とする。かかる構成とした場合であっても、上記実施の形態と同様の作用効果を奏することは明らかである。或いは、メダルが1枚ベットされた場合やメダルが3枚ベットされた場合等のように、所定数のメダルの投入(仮想メダルの投入も含む)がなされた場合にゲームフラグをセットする構成とする。メダルがベットされたということは遊技者がゲームを開始するための準備を始めたことを意味するため、かかる構成とした場合であっても上記実施の形態と同様の作用効果を奏することが期待できる。
(2)上記実施の形態では、メダル払出が終了した場合にゲームフラグをクリアし、カウンタ更新処理にて第1カウンタ111aの更新を行うことを禁止する構成としたが、かかる構成を変更する。例えば、全リール32L,32M,32Rが停止した場合にゲームフラグをクリアする構成とする。かかる構成とした場合であっても、上記実施の形態と同様の作用効果を奏することは明らかである。
(3)上記実施の形態におけるタイマ割込み処理のカウンタ更新処理では、ゲームが開始されてから終了されるまでの間に第1カウンタ111aの値を更新する構成としたが、かかる構成に限定されるものではなく、第1カウンタ111aの更新処理が許可される期間と、禁止される期間と、を備える構成であれば良い。
ここで、更新処理を許可するタイミングは、遊技者の操作に依存させることが望ましい。開始時期をランダムなものとすることが可能となるからである。遊技者の操作に依存する許可タイミングとしては、上記実施の形態における開始指令の発生タイミング、すなわち開始指令を発生させることが可能な状況でのスタートレバー41の操作タイミングの他に、例えばメダルをベットされるタイミングや、停止指令を発生させることが可能な状況でのストップスイッチ42~44の操作タイミング等が考えられる。
かかる一方、更新処理を禁止するタイミングは、その禁止タイミングが少なくとも許可タイミングで察知できないタイミングとすることが望ましい。したがって、更新処理を禁止するタイミングは、遊技者の操作に依存しないタイミング、又は遊技者の操作に基づくものの遊技者側で規定できないタイミングとすることが望ましい。例えばスタートレバー41の操作が開始された場合に更新処理を許可し、前記操作が終了された場合に更新処理を禁止する構成とした場合には、遊技者の意思で更新処理の行われる期間を自由に設定することができることとなる。このため、第1カウンタ111aの値が固定されてしまう可能性が生じるからである。遊技者の操作に依存しないタイミングとしては、スベリテーブル設定処理にてスベリテーブルを設定するタイミングが考えられる。かかるタイミングは、ステップS605にて役の当否判定を行った回数によって変化するため、そのタイミングを遊技者が事前に察知することはできず、禁止タイミングを一定のものとすることができない。また、遊技者の操作に基づくものの遊技者側で規定できないタイミングとしては、左リール32L等の所定のリールの停止タイミングが考えられる。かかるタイミングは、対応するストップスイッチの操作タイミングに基づくものの、スベリテーブルに基づいて滑り数が決定されるため、当選役を事前に把握できていない限りそのタイミングを遊技者が事前に察知することはできず、禁止タイミングを一定のものとすることができない。
したがって、上述した許可タイミングと禁止タイミングとを適宜組み合わせて、第1カウンタ111aの更新処理が許可される期間と、禁止される期間と、を設定すれば良い。例えば、開始指令が発生したタイミングを許可タイミングとし、スベリテーブル設定処理にてスベリテーブルを設定したタイミングを禁止タイミングとする。または、メダルのベットされたタイミングを許可タイミングとし、中リールの停止したタイミングを禁止タイミングとする。或いは、右リールの停止指令が発生したタイミングを許可タイミングとし、全リールが停止したタイミングを禁止タイミングとする。
なお、許可タイミング及び禁止タイミングは、上述した各種条件の成立した成立タイミングに限らず、上記各種条件の成立に基づいたタイミングであれば良いことは言うまでもない。例えば、許可タイミングを開始指令が発生してから予め定めた所定時間を経過したタイミングとしても良いし、禁止タイミングをスベリテーブル設定処理にてスベリテーブルを設定してから前記所定時間を経過したタイミングとしても良い。
(4)上記実施の形態におけるタイマ割込み処理のカウンタ更新処理では、各リール32L,32M,32Rが回転を開始してからリールインデックスセンサからの検出信号が入力されるまでの間と、開始指令又は停止指令が発生してから対応するスイッチ(スタートレバー41又はストップスイッチ42~44)の操作が終了するまでの間と、メダル払出が開始されてから終了するまでの間と、には、ステップS1402の定期的な第1カウンタ111aの更新に加えて、さらに第1カウンタ111aが更新される構成としたが、これら構成を設けなくても良い。かかる構成とした場合、第1カウンタはステップS1402において定期的に更新されることとなる。
また、これら構成に代えて又は加えて、特定条件が成立した場合に第1カウンタ111aがさらに更新される構成としても良い。例えば、ウエイト時間が経過するまで待機している間は第1カウンタ111aがさらに更新される構成としたり、停止指令が発生するまで待機している間は第1カウンタ111aがさらに更新される構成としたりしても良い。
(5)上記実施の形態におけるタイマ割込み処理のカウンタ更新処理では、ゲームが開始されてから終了されるまでの間は常に第1カウンタ111aの更新が許可されている構成としたが、ゲームが開始されてから終了されるまでの間に許可と禁止が繰り返し行われる構成としても良い。例えば、ゲームが開始されてからリールが1つ停止するまでの間は第1カウンタ111aの更新を許可し、1つのリールが停止してからリールが2つ停止するまでの間は第1カウンタ111aの更新を禁止し、2つのリールが停止してから全リールが停止するまでの間は第1カウンタ111aの更新を許可する構成とする。
(6)上記実施の形態では、タイマ割込み処理のカウンタ更新処理に加えて、通常処理の割込み待ち処理においても第1カウンタ111aの値が更新される構成としたが、割込み待ち処理において第1カウンタ111aの値を更新しない構成としても良い。また、ゲームフラグがセットされている場合に限って割込み待ち処理において第1カウンタ111aの値を更新する構成としても良い。かかる構成とした場合、通常処理では停止前処理における割込み待ち処理においてのみ第1カウンタ111aの値が更新されることとなる。
(7)上記実施の形態では、ゲームが終了してから次回のゲームが開始されるまでの間は常に第1カウンタ111aの更新が禁止されている構成としたが、一時的に許可する構成としても良い。例えば、電源が投入され、メイン処理の初期化処理(ステップS201、図13参照)を行った後に通常処理内にて第1カウンタ111aの値を1更新し、それ以降の処理を行う。又は、当選確率設定処理のステップS303~S308のループ処理において第1カウンタ111aの値を1更新する。或いは、RAMの遊技情報をクリアした後(ステップS403、図18参照)に通常処理内にて第1カウンタ111aの値を1更新し、それ以降の処理を行う。
(8)上記実施の形態では、開始指令が発生した場合、第1カウンタ111aの値が0となるまで減算する処理を行う構成としたが、第1カウンタ111aの値が0となるまで加算する処理を行う構成としても良い。かかる構成とした場合であっても、上記実施の形態と同様の作用効果を奏することは明らかである。
(9)上記実施の形態では、第1カウンタ111aの値が0となるまで減算する処理をタイマ割込み処理にて行う構成としたが、通常処理にて行う構成としても良い。具体的には、通常処理の遅延処理において、遅延フラグをセットした後に第1カウンタ111aの値を1減算する処理を行い、その後に第1カウンタ111aの値が0か否かの判定を行う構成とする。そして、第1カウンタ111aの値が0でない場合には、第1カウンタ111aの値が0となるまで前記減算処理を繰り返し行う構成とする。かかる構成とした場合には、遅延時間の短縮化を図ることが可能となる。タイマ割込み処理にて第1カウンタ111aの減算処理を行った場合には、前記減算処理を1.49msec毎にしか行うことができないが、通常処理にて第1カウンタ111aの減算処理を行った場合には、前記減算処理を約125nsec毎に行うことができるからである。
(10)上記実施の形態では、開始指令が発生した場合、第1カウンタ111aの値が0となった後にラッチ信号を出力する構成としたが、かかる構成に限定されるものではなく、第1カウンタ111aの値が1となった後にラッチ信号を出力する構成としても良いし、第1カウンタ111aの値が10となった後にラッチ信号を出力する構成としても良い。つまり、そのときの第1カウンタ111aの値と無関係な特定値となった後にラッチ信号を出力する構成であれば良い。
(11)上記実施の形態では、CPU102のRAM106に第1カウンタ111aを設け、当該第1カウンタ111aの値を通常処理とタイマ割込み処理において更新する構成としたが、通常処理において更新されるカウンタと、タイマ割込み処理において更新されるカウンタと、を別個に設けても良い。
(12)上記実施の形態におけるタイマ割込み処理のカウンタ更新処理では、遅延フラグがセットされている場合、第1カウンタ111aの値を更新しない構成としたが、更新する構成としても良い。なお、かかる構成とする場合には、遅延カウンタ処理にて第1カウンタ111aの値を2以上減算する構成とすることが望ましい。
(13)上記実施の形態では、乱数を生成するカウンタとして、ハードウェアカウンタである乱数生成器150のみを有する構成について説明したが、かかる構成に限定されるものではない。
例えば、乱数生成器150に加えて、CPU102のRAM106内にソフトフリーカウンタを設ける。そして、当該ソフトフリーカウンタのカウント値と、乱数生成器150のカウント値とを用いて所定の演算(例えば加算)を行うことで乱数を作成する構成とする。すなわち、ソフトフリーカウンタの生成する基礎乱数と、ハードウェアカウンタの生成する基礎乱数と、を用いて乱数を作成する構成とする。かかる構成とした場合には、乱数生成器150を例えば常にBB当選となるカウント値を出力する不正なハードウェア乱数生成器に変更されたとしても、ハードウェア乱数生成器のカウント値とソフトフリーカウンタのカウント値とを用いて乱数を作成することにより、BB当選とならない乱数に変更することが可能となる。故に、当選となる乱数が不正に取得されることを困難なものとすることが可能となる。
または、ハードウェアカウンタを設けず、CPU102のRAM106内に設けられたソフトフリーカウンタのカウント値を乱数として用いる構成とする。このとき、ソフトフリーカウンタを1つ設け、当該ソフトフリーカウンタのカウント値を乱数として用いる構成としても良いし、ソフトフリーカウンタを複数設け、これらソフトフリーカウンタが生成した基礎乱数を用いて乱数を作成する構成としても良い。
(14)上記実施の形態におけるタイマ割込み処理のカウンタ更新処理を通常処理にて行う構成としても良い。
(15)上記実施の形態では、第1カウンタ111aの値がRAMクリアを行う場合であってもクリア(初期化)されない構成としたが、クリアされる構成としても良い。
(16)上記実施の形態では、乱数生成器150をCPU102の外部に設ける構成としたが、CPU102が内蔵する構成としても良い。
(17)上記実施の形態では、第1カウンタ111aの値を1加算又は1減算する更新処理を行う構成としたが、2以上の値を加算又は減算する更新処理を行う構成としても良いことは言うまでもない。
(18)乱数生成器150のラッチ回路150bとCPU102とを、16ビット反転接続する構成としても良い。
(19)上記実施の形態では、乱数生成器150のカウンタ150aを16ビットで構成し、第1カウンタ111aを4ビットで構成したが、構成するビット数は任意である。但し、第1カウンタ111aのビット数を大きくした場合には、遅延時間がその分だけ長くなることとなる。このため、かかる場合には、タイマ割込み処理において第1カウンタ111aの減算処理を行う箇所を増加させる等の工夫を行うことが望ましい。
(20)上記実施の形態における乱数生成器150は、CPU102からのラッチ信号が入力されたタイミングでカウント値をラッチするとともに、ラッチしたカウント値をCPU102に対して出力したが、かかる構成を変更する。例えば、乱数生成器150を、カウンタ150aのカウント値をラッチ回路150bを介して常時出力する構成とする。すなわち、CPU102には、カウンタ150aのカウント値が常時入力される構成とする。そして、CPU102は、遅延時間を経過した場合、そのときにCPU102に入力されているカウンタ150aのカウント値をラッチし、乱数として取得する。かかる構成とした場合であっても、上記実施の形態と同様の作用効果を奏することは明らかである。
(21)上記実施の形態では、Dフリップフロップ回路により構成される監視回路152を設ける構成としたが、RSフリップフロップ回路やJKフリップフロップ回路等の順序回路や各種論理回路により構成される監視回路を設けても良い。
(22)上記実施の形態では、監視回路152のQバー端子をCPU102と接続し、Qバー端子から出力されるLレベルの出力信号をCPU102が開始信号として認識する構成としたが、Q端子とCPU102が反転器を介して接続される構成としても、上記実施の形態と同様の作用効果を奏することは明らかである。また、CPU102がHレベルの出力信号を開始信号として認識するのであれば、Q端子とCPU102を接続する構成としても良いし、Qバー端子とCPU102が反転器を介して接続される構成としても良い。
(23)上記実施の形態では、波形整形回路153と監視回路152を主制御装置102の入出力ポート104を介して接続する構成としたが、これらを直接接続する構成とし、監視回路152のQバー端子とCPU102を、入出力ポートを介して接続する構成としても良い。
(24)上記実施の形態では、Dフリップフロップ回路により構成される監視回路152を設けて第2クロック回路151に何らかの異常が発生した場合に遊技者又は遊技場が不利益を被ることを回避させる構成としたが、かかる構成を変更する。
第2クロック回路151が周期的に第2クロック信号を出力しているか否かを常時監視するウォッチドッグタイマを第2クロック回路と接続する。ウォッチドッグタイマには、所定時間毎に減算されるタイマカウンタが設けられており、そのタイマカウンタのタイマ値は、クロック信号の入力状態が変化する毎にセットされるようになっている。そして、ウォッチドッグタイマは、タイマカウンタが非ゼロの場合にはHレベルの正常信号を出力し、同タイマカウンタがゼロの場合にはLレベルの異常発生信号を出力するようになっている。ウォッチドッグタイマの出力側には、スタート検出センサ41aからの操作信号とウォッチドッグタイマからの入力信号との論理積を演算する論理積回路を設ける。そして、その論理積回路からの出力信号を反転器によって反転した反転信号がCPU102に入力される構成とする。
この場合、第2クロック回路151が第2クロック信号を周期的に出力していれば、ウォッチドッグタイマにおいてタイマ値が繰り返しセットされ、タイマカウンタがゼロになることはない。このため、ウォッチドッグタイマからの出力信号は常にHレベルであり、論理積回路からの出力信号はスタート検出センサ41aからの操作信号そのものとなる。そして、操作信号が出力されている場合には前記出力信号が反転器によって反転され、CPU102に開始信号として入力される。
一方、第2クロック回路151に異常が生じるなどして第2クロック信号の出力状態が変化していない場合には、ウォッチドッグタイマにおいてタイマカウンタがゼロとなり、その出力信号がLレベルとなる。このため、論理積回路の出力信号は操作信号の入力有無に関わらず常にLレベルとなる。したがって、スタートレバー41が操作されて操作信号が出力されたとしても論理積回路からCPU102に対して開始信号が出力されない。この結果、スタートレバー41を操作したにも関わらず各リール32L,32M,32Rが回転を開始しないという事態が起こり、スロットマシン10内部に何かしらの異常が発生していることを遊技者又は遊技場の関係者等に報知することができる。
なお、第2クロック回路151から周期的に第2クロック信号が出力されているか否かを判断するためにウォッチドッグタイマを用いたが、これに代えて第2クロック信号のデューティ比を検出し、かかるデューティ比が所定の正常範囲内(例えば25~75%の範囲)でない場合にLレベルの信号を出力するデューティ比判定回路を設けても良い。
一般に、正常な第2クロック信号はデューティ比50%のパルス信号である。これに対して、第2クロック回路151に何らかの異常が発生するなどして第2クロック信号の出力状態が変化しなくなった場合には、デューティ比は0%(Lレベルで一定又はハイインピーダンスの場合)又は100%(Hレベルで一定の場合)に近づく。このため、実際のデューティ比が正常範囲内であるかを判定することにより、第2クロック信号が周期的に出力されているか否かを判断することが可能である。そして、本構成においては、第2クロック信号の出力状態が変化していない場合、デューティ比判定回路からLレベルの信号が出力されるため、論理積回路の出力信号は操作信号の入力有無に関わらず常にLレベルとなる。したがって、スタートレバー41が操作されて操作信号が出力されたとしても論理積回路からCPU102に対して開始信号が出力されない。
なお、第2クロック信号のデューティ比の正常範囲は、上記の一例に限らず、10~90%や40~80%などであっても良く、要するに正常動作時に許容される範囲とすれば良い。また、正常動作時の50%を中心にして対照的に設定する必要は無く、10~60%や40~90%などとしても良い。
(25)上記実施の形態では、乱数生成器150を、第2クロック信号の入力に基づいてカウンタ150aのカウント値を更新し、ラッチ信号の入力されたタイミングにおけるカウンタ150aのカウント値をラッチ回路150bにラッチする構成としたが、次のような構成としても良い。
ラッチ回路150bを、カウンタ150aのカウント値のビット配列を適宜入れ替えた上でラッチする構成とする。
かかる構成の一例としては、カウンタ150aのカウント値の最下位から最上位までのビット配列を逆向きにしたものをラッチ回路150bにラッチさせる構成が代表例として挙げられる。かかる構成においては、ラッチ回路150bによりラッチされる値が第2クロック信号の入力に対して不規則に変化することとなり、所定の乱数を遊技者に故意に取得される不具合が生じることを回避できる。
また、ラッチ回路150bのラッチした値のビット配列を適宜入れ替えた上で、CPU102に対して出力する構成としても良い。かかる構成とした場合であっても、CPU102に入力される乱数が第2クロック信号に対して不規則に変化することとなり、所定の乱数を遊技者に故意に取得される不具合が生じることを回避できる。
異なる周波数のクロック信号を出力するクロック回路を複数設け、これらクロック信号に基づいてカウンタ150aのカウント値を更新させる。
この場合、いずれのクロック回路から出力されたクロック信号を用いるかを適宜選択する選択回路を設けるとともに、当該選択回路により選択されたクロック信号が監視回路152のCLK端子に入力される構成とする。かかる構成では、選択回路によるクロック信号の選択によってカウンタ150aのカウント値が一巡する周期が変化するため、所定の乱数を遊技者に故意に取得される不具合が生じることを回避できる。
カウンタ150aに代えて第2クロック信号の入力状態が変化する毎に乱数が変化する演算器を設ける。
かかる演算器の一例としては、前回までの乱数を用いて今回の乱数を決定するもの、平均採中法により乱数を生成するもの、素数の加算によって乱数を生成するものなどが代表例として挙げられる。これら構成においても、ラッチ回路150bによりラッチされる値が第2クロック信号の入力状態の変化に基づいて複雑に変化するため、所定の乱数を遊技者に故意に取得される不具合が生じることを回避できる。
(26)上記実施の形態では、ハードウェア乱数生成器150のクロック源として、CPU102用の第1クロック回路103とは別に乱数用の第2クロック回路151を設けたが、第1クロック回路103をクロック源として用いても良い。このとき、第1クロック回路103のクロック信号を周波数変調(分周、逓倍など)させたものを用いても良い。この場合、周波数変調を行う回路部に異常が生じるなどしてハードウェア乱数生成器150に入力されるクロック信号が変動しなくなると、乱数が常に一定になるという問題が発生するが、上記実施の形態と同様の効果を得ることによって、その異常を発見することができる。
(27)上記実施の形態では、第2クロック回路151から出力される第2クロック信号の周波数を変調させることなく、前記第2クロック信号を乱数生成器150と監視回路152に入力させる構成としたが、周波数変調(分周、逓倍など)させたものを入力させる構成としても良い。具体的には、周波数変調を行う変換器を第2クロック回路151に接続し、前記変換器を乱数生成器150と監視回路152に接続すれば良い。
(28)上記実施の形態では、投入メダル検出センサ45aを第1~第3センサの3つのセンサによって構成したが、かかる構成に限定されるものではなく、1つのセンサのみによって構成しても良いし、2つのセンサや4つ以上のセンサによって構成しても良い。また、上記実施の形態では、第1センサから第2センサに至る時間と、第2センサ及び第3センサがオンオフされる順序と、を監視する構成としたが、一方のみを監視する構成としても良い。すなわち、投入メダル検出センサを第1センサと第2センサの2つのセンサによって構成し、第1センサから第2センサに至る時間のみを監視する構成としても良い、第1センサ及び第2センサがオンオフされる順序のみを監視する構成としても良い。
(29)上記実施の形態では、メダルが3枚ベットされた後に開始指令が発生したか否かを判定する構成としたが、1枚ベットされた後や2枚ベットされた後にも開始指令が発生したか否かを判定する構成としてもよいことは言うまでもない。かかる構成とした場合には、割込み待ち処理を、上記実施の形態のようにクレジット投入スイッチが操作されたか否かを判定する処理(ステップS506、図19参照)の直前で行うことにより、スロットマシンが誤動作することをより好適に回避することが可能となる。遊技者の望むベット数でゲームを開始できない機会が発生し得るからである。
(30)上記実施の形態では、付与される特典として、遊技状態が移行する特典と、再遊技の特典の他に、メダルを払い出す特典を備える構成としたが、かかる構成に限定されるものではなく、遊技者に何らかの特典が付与される構成であればよい。例えば、メダルを払い出す特典に代えてメダル以外の賞品を払い出す構成であってもよい。また、現実のメダル投入やメダル払出機能を有さず、遊技者の所有するメダルをクレジット管理するスロットマシンにおいては、クレジットされたメダルの増加が特典の付与に相当する。
(31)上記実施の形態では、リールを3つ並列して備え、有効ラインとして5ラインを有するスロットマシンについて説明したが、かかる構成に限定されるものではなく、例えばリールを5つ並列して備えたスロットマシンや、有効ラインを7ライン有するスロットマシンであってもよい。
(32)上記実施の形態では、いわゆるAタイプのスロットマシンについて説明したが、Bタイプ、Cタイプ、AタイプとCタイプの複合タイプ、BタイプとCタイプの複合タイプ、さらにはCTゲームを備えたタイプなど、どのようなスロットマシンにこの発明を適用してもよく、何れの場合であっても上述した実施の形態と同様の作用効果を奏することは明らかである。なお、これらの各タイプにおけるボーナス当選としては、BB当選、RB当選、SB当選、CT当選などが挙げられる。
(33)上記実施の形態では、スロットマシン10について具体化した例を示したが、パチンコ機に適用しても良い。また、スロットマシンとパチンコ機とを融合した形式の遊技機に適用してもよい。即ち、スロットマシンのうち、メダル投入及びメダル払出機能に代えて、パチンコ機のような球投入及び球払出機能をもたせた遊技機としてもよい。
パチンコ機の場合、外枠に遊技機本体が装着されるとともに、遊技機本体の前面側に扉部材が設けられる。遊技機本体には、遊技球飛翔領域としての遊技領域が形成されるとともに作動口や液晶表示装置などが設置された遊技盤が搭載され、扉部材に設けられた視認窓により、遊技領域や液晶表示装置が視認可能となっている。そして、遊技球発射装置により発射された遊技球が作動口に入賞することに伴い、乱数が取得されて内部抽選が行われるとともに、その抽選の結果に基づいて液晶表示装置上にて絵柄の変動表示が行われる。
パチンコ機においても、絵柄の変動表示が開始されてから終了されるまでの時間は、内部抽選の結果によって変化する。リーチ変動の有無や最終停止表示させる絵柄の組合せ等によって変化するからである。このため、パチンコ機においても、例えば遊技球が作動口に入賞した場合に第1カウンタ111aの更新処理を許可し、絵柄の変動表示が終了した場合に第1カウンタ111aの値を禁止する構成とすれば、上記実施の形態と同様の作用効果を奏することが期待できる。