(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-07
(45)【発行日】2022-02-16
(54)【発明の名称】遊技機
(51)【国際特許分類】
A63F 5/04 20060101AFI20220208BHJP
A63F 7/02 20060101ALI20220208BHJP
【FI】
A63F5/04 602C
A63F5/04 611A
A63F7/02 334
(21)【出願番号】P 2018027144
(22)【出願日】2018-02-19
【審査請求日】2019-11-27
(73)【特許権者】
【識別番号】000144153
【氏名又は名称】株式会社三共
(74)【代理人】
【識別番号】100103090
【氏名又は名称】岩壁 冬樹
(74)【代理人】
【識別番号】100124501
【氏名又は名称】塩川 誠人
(74)【代理人】
【識別番号】100174964
【氏名又は名称】井伊 正幸
(72)【発明者】
【氏名】小倉 敏男
【審査官】西岡 貴央
(56)【参考文献】
【文献】特開2017-225783(JP,A)
【文献】特開2017-225727(JP,A)
【文献】特開2018-079100(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 5/04
A63F 7/02
(57)【特許請求の範囲】
【請求項1】
遊技を行う遊技機において、
特定事象を検出する特定検出手段と、
遊技を進行させる制御を行うメイン処理を実行するメイン処理実行手段と、
タイマ割込を所定時間毎に発生させるための設定を行うタイマ割込設定手段と、
前記タイマ割込が発生したことにもとづいて、前記メイン処理の実行を中断してタイマ割込処理を実行するタイマ割込処理実行手段と、を備え、
前記タイマ割込処理実行手段は、前記特定検出手段の検出結果にもとづいて判定データを作成する作成処理を実行する作成処理実行手段を含み、
前記メイン処理実行手段は、
前記判定データを参照して前記特定事象が発生したかを判定する判定手段と、
前記判定手段により前記特定事象が発生したと判定されたときに遊技を進行させる遊技進行手段と、
遊技機に異常が発生したときに前記判定手段による判定が行われないエラー状態に移行させるエラー状態移行手段と、
エラー解除操作が行われたか否かを判定するエラー解除操作判定手段と、
前記エラー解除操作判定手段により前記エラー解除操作
が行われたことが判定されたことにもとづいて前記エラー状態を終了させるエラー状態終了手段と、を含み、
前記判定手段は、
前記エラー解除操作判定手段により前記エラー解除操作が行われた
ことが判定された後、前記作成処理実行手段により前記作成処理が少なくとも1回実行された後に、前記特定事象が発生したかを判定する
ことを特徴とする遊技機。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、遊技を行う遊技機に関する。
【背景技術】
【0002】
遊技機として、遊技球などの遊技媒体を発射装置によって遊技領域に発射し、遊技領域に設けられている入賞口などの始動入賞領域に遊技媒体が入賞したときに複数種類の識別情報の可変表示が行われるパチンコ遊技機や、所定の賭数を設定し、スタート操作が行われたときに、複数種類の識別情報(例えば、図柄)の可変表示が行われるスロットマシンなどがある。このように識別情報の可変表示を実行可能に構成された遊技機では、可変表示部において識別情報の可変表示の表示結果が所定の表示結果となった場合に、所定の遊技価値(例えば、大当たり状態への移行など)を遊技者に与えるように構成されたものがある。
【0003】
このような遊技機として、特定状態に相当するエラー状態が終了したときに、一定間隔毎の割込処理の実行を待つことなくエラー状態前の状態(すなわち、特別状態)に復帰する遊技機が知られている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、特定状態においてノイズの発生や不正な信号の一斉入力など要因に起因して複数のセンサが一斉に検出状態になることがある。そして、遊技機によっては特定状態において複数のセンサが一斉に検出状態になると特定状態の終了条件が成立するものがある。そして、複数のセンサが検出状態になったときに、特定状態終了後に移行する特別状態で発生する特別事象も発生も検出状態となってしまうことがある。この場合には、特定状態では発生しないはずの特別事象が特定状態で検出されてしまい、特別事象の検出に伴う特別処理が特定状態から特別状態に移行したときに実行されてしまうことがある。このように、従来の遊技機は、特定状態が終了する前に変化した特別事象の検出状態によって特別状態への復帰後に意図しない制御が行われてしまう不都合が生じるおそれがある。
【0006】
本発明は、このような問題点に着目してなされたものであり、意図しない制御が行われることを防止できる遊技機を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明の遊技機は、
遊技を行う遊技機(例えば、遊技機1)において、
特定事象を検出する特定検出手段と、
遊技を進行させる制御を行うメイン処理を実行するメイン処理実行手段と、
タイマ割込を所定時間毎に発生させるための設定を行うタイマ割込設定手段と、
前記タイマ割込が発生したことにもとづいて、前記メイン処理の実行を中断してタイマ割込処理を実行するタイマ割込処理実行手段と、を備え、
前記タイマ割込処理実行手段は、前記特定検出手段の検出結果にもとづいて判定データを作成する作成処理を実行する作成処理実行手段(例えば、
図3のSb6、Sb7の処理を行う部分)を含み、
前記メイン処理実行手段は、
前記判定データを参照して前記特定事象が発生したかを判定する判定手段と、
前記判定手段により前記特定事象が発生したと判定されたときに遊技を進行させる遊技進行手段と、
遊技機に異常が発生したときに前記判定手段による判定が行われないエラー状態に移行させるエラー状態移行手段と、
エラー解除操作が行われたか否かを判定するエラー解除操作判定手段と、
前記エラー解除操作判定手段により前記エラー解除操作
が行われたことが判定されたことにもとづいて前記エラー状態を終了させるエラー状態終了手段と、を含み、
前記判定手段は、
前記エラー解除操作判定手段により前記エラー解除操作が行われた
ことが判定された後、前記作成処理実行手段により前記作成処理が少なくとも1回実行された後に、前記特定事象が発生したかを判定する(例えば、
図10のSe22の処理を行う部分、
図12、
図14に示す部分)。
この構成によれば、意図しない制御が行われることを防止できる。
すなわち、ノイズの発生や不正な信号の一斉入力など要因に起因してエラー状態が終了した場合に、エラー状態が終了する前に検出された特定事象の発生がそのまま復帰後の処理に反映されることを防止できる。
【0008】
特定状態において作成処理の実行を待つための待機処理を実行する待機処理実行手段(例えば、
図9のSe22の処理を行う部分)を備えた。
この構成によれば、好適な処理により作成処理が実行されることを担保できる。
【0009】
終了条件が成立した後に該特定状態が終了することを報知するための報知処理を実行する報知処理実行手段(例えば、
図10のSe18の処理を行う部分)と、
該特定状態において前記報知処理が実行された後に作成処理の実行を待つための待機処理を実行する待機処理実行手段(例えば、
図10のSe22の処理を行う部分)とを備えた。
この構成によれば、特定状態が終了することを報知するための報知処理が実行されることを担保できる。
【0010】
少なくとも特定状態では発生し得ない所定事象の発生を検出する所定事象検出手段(例えば、
図10のSe11~Se13の処理を行う部分)を備え、
特定状態終了手段は、前記所定事象検出手段により前記所定事象の発生が検出されていないことを条件として前記特定状態を終了させる(例えば、
図10のSe14の処理を行う部分)。
この構成によれば、異常な状況で特定状態が終了することを防止できる。
特に、複数のセンサの一斉検出(ノイズの発生や不正な信号の一斉入力、センサの電源系統の短絡など)が発生して特定状態に移行した場合に、複数のセンサの検出状態が残った状態で特定状態が終了してしまうことを防止できる。
【0011】
特定状態を終了させる特定操作は、第1特定操作(例えば、リセットスイッチ23の操作)と第2特定操作(例えば、リセット/設定スイッチ38の操作)とを含み、
特定状態終了手段は、前記第1特定操作と前記第2特定操作のいずれか一方の操作が行われたときに特定状態を終了させるとともに、前記第1特定操作と前記第2特定操作の両方の操作が同時に行われているときでも前記特定状態を終了させる(
図10のSe16、Se17の処理を行う部分)。
この構成によれば、特定状態を好適に終了させることができる。また、特定操作の利便性を高めることができる。
【0012】
上記課題を解決するために、本発明の遊技機は、
遊技を行う遊技機(例えば、遊技機1)において、
特定状態(例えば、エラー状態)に移行させる特定状態移行手段(例えば、
図7のSd11の処理を行う部分)と、
前記特定状態において特定操作(例えば、リセットスイッチ23またはリセット/設定スイッチ38の操作)が行われたときに前記特定状態を終了させる特定状態終了手段(
図10のSe16、Se17の処理を行う部分)と、
前記特定操作が行われたか否かを判定するための判定データを参照することにより、前記特定操作が行われたか否かを判定する判定手段(例えば、
図10のSe15~Se17の処理を行う部分)と、
前記判定データを作成する作成処理を定期的に実行する作成処理実行手段(例えば、
図3のSb6、Sb7の処理を行う部分)とを備え、
前記判定手段は、前記特定状態に移行した後に少なくとも前記作成処理が1回実行された後に前記特定操作が行われたか否かを判定する(例えば、
図9のSe10の処理を行う部分、
図11、
図13に示す部分)。
この構成によれば、意図せずに特定状態が終了することを防止できる。
すなわち、ノイズの発生や不正な信号の一斉入力など要因に起因して特定状態に移行した場合に、特定状態に移行する前に変化した特定操作の操作状態によってそのまま即座に特定状態が終了してしまうような状況が生じることを防止できる。
【0013】
特定状態において作成処理の実行を待つための待機処理を実行する待機処理実行手段(例えば、
図9のSe10の処理を行う部分)を備えた。
この構成によれば、好適な処理により作成処理が実行されることを担保できる。
【0014】
特定状態に移行した後に該特定状態に移行したことを報知するための報知処理を実行する報知処理実行手段(例えば、
図9のSe4~Se8の処理の処理を行う部分)と、
該特定状態において前記報知処理が実行された後に作成処理の実行を待つための待機処理を実行する待機処理実行手段(例えば、
図9のSe10の処理を行う部分)とを備えた。
この構成によれば、特定状態に移行したことを報知するための報知処理が実行されることを担保できる。
【図面の簡単な説明】
【0015】
【
図2】遊技機が実行するタイマ割込処理のフローチャートである。
【
図3】遊技機が実行するポート入力処理のフローチャートである。
【
図4】ポート入力処理によりポート入力データが更新される流れについて説明するためのタイミングチャートである。
【
図5】ポート入力処理によりポート入力データが更新される流れについて説明するためのタイミングチャートである。
【
図6】遊技機が実行するメイン処理のフローチャートである。
【
図7】遊技機がメイン処理内で実行する遊技開始待ち処理のフローチャートである。
【
図8】遊技機がメイン処理内で実行する遊技開始待ち処理のフローチャートである。
【
図9】遊技機が遊技開始待ち処理内で実行するエラー処理のフローチャートである。
【
図10】遊技機が遊技開始待ち処理内で実行するエラー処理のフローチャートである。
【
図11】センサ電源が短絡されてエラー状態に移行したときにポート入力処理によりポート入力データが更新される流れについて説明するためのタイミングチャートである。
【
図12】電源が短絡されてエラー状態が終了したときにポート入力処理によりポート入力データが更新される流れについて説明するためのタイミングチャートである。
【
図13】リセットスイッチが操作されたか否かを判定するタイミングについて具体例である。
【
図14】遊技進行操作スイッチが操作されたか否かを判定するタイミングについて具体例である。
【発明を実施するための形態】
【0016】
[遊技機の構成]
図1は、本実施の形態に係る遊技機1を示す図である。
図1に示すように、本実施の形態に係る遊技機1は、画像を表示する液晶表示器51と、楽曲や演出音などの音声を出力するスピーカ53,54とを備える。
【0017】
また、遊技機1には、筐体の前面扉に対して所定のキー操作を行うことによりエラー状態を解除するリセットスイッチ23が設けられている。さらに、遊技機1の筐体の内部には、通常時においてはエラー状態や打止状態を解除するためのリセットスイッチとして機能し、設定変更状態においては後述する内部抽選の当選確率(出玉率)の設定値を変更するための設定スイッチとして機能するリセット/設定スイッチ38が設けられている。エラー状態に移行したときには、リセットスイッチ23とリセット/設定スイッチ38とのいずれかを操作(特定操作)することによりエラー状態を解除することができ、さらに、リセットスイッチ23とリセット/設定スイッチ38との両方を操作してもエラー状態を解除することができる。エラー状態が解除されると、遊技の進行に基づく処理が行われる通常状態に移行する。
【0018】
なお、前面扉は、店員等が所持する所定のキー操作により開放可能な構成であるため、リセット/設定スイッチ38は、キーを所持する店員等の者のみが操作可能とされ、遊技者による操作ができないようになっている。また、所定のキー操作によりエラー状態を解除するリセットスイッチ23も同様である。
【0019】
遊技機1において、遊技の進行に応じた処理が行われる通常状態からエラー状態に移行する要因として、静電気などによるノイズの影響や不正な信号の一斉入力、センサの電源短絡などがある。遊技機1では、センサやスイッチの電源は1つの電源から供給されている。このため、故意にいずれかのセンサやスイッチの電源を短絡させて当該センサやスイッチの検出状態を変化させることにより利益を得ようとする不正行為が行われると、全てのセンサやスイッチの電源が短絡して全てのセンサやスイッチの検出状態が変化してしまうことがある。この場合には、エラーの発生を検出するセンサの検出状態が変化するとエラー状態に移行してしまう。また、ノイズの影響や不正な信号の一斉入力によりセンサやスイッチの検出状態が変化した場合においても同様にエラー状態に移行してしまう。
【0020】
また、遊技機1は、遊技の進行に係る操作を行う遊技進行スイッチ100を備えている。遊技進行スイッチ100の操作が検出(すなわち、特別事象の発生の検出)されると特別処理が実行される。遊技進行スイッチ100は、例えば、賭数を設定するBETスイッチ、可変表示部の変動表示を開始させるスタートスイッチ、可変表示部の変動表示を停止させるストップスイッチ、遊技球を発射させる遊技用ハンドル、演出に用いる演出用スイッチである。BETスイッチの操作が検出されると特別処理として賭数を設定する処理が実行される。スタートスイッチの操作が検出されると特別処理としてリールが回転開始させる処理が実行される。ストップスイッチの操作が検出されると特別処理としてリールを停止させる処理が実行される。遊技用ハンドルの操作が検出されると特別処理として遊技球の発射処理が実行される。演出用スイッチの操作が検出されると特別処理として演出の態様を変化させる処理が実行される。
【0021】
遊技機1は、遊技の進行に関する主制御部を備えている。主制御部は、1チップマイクロコンピュータであり、プログラムに従って制御動作を行うCPU、遊技進行制御用のプログラムなどを記憶するROM、ワークメモリとして使用される記憶手段としてのRAMなどを備えている。また、主制御部はパラレル出力ポートを介して副制御部に各種のコマンドを送信する。主制御部から副制御部へ送信されるコマンドは一方向のみで送られ、副制御部から主制御部へ向けてコマンドが送られることはない。副制御部は、液晶表示器51、スピーカ53、54等の演出装置の出力制御を行う。主制御部はパラレル入力ポートなどを介して外部から各種信号の入力を受け付ける受信動作を行う。
【0022】
[タイマ割込処理]
次に、主制御部が所定のタイミングで行うタイマ割込処理について、
図2に基づいて説明する。主制御部は、一定時間間隔(本実施例では、約0.56ms)毎に定期的にタイマ割込処理を実行する。なお、タイマ割込処理の実行間隔は、メイン処理(
図6参照)において制御状態に応じて繰り返す処理が一巡する時間とタイマ割込処理の実行時間とを合わせた時間よりも長い時間に設定されており、今回と次回のタイマ割込処理との間で必ず制御状態に応じて繰り返す処理が最低でも一巡することとなる。
【0023】
図2に示すように、タイマ割込処理では、先ず、使用中のレジスタのデータをスタック領域に退避する(Sa1)。次いで、停電判定処理を行う(Sa2)。停電判定処理では、電断検出回路から電圧低下信号が入力されているか否かを判定して、電圧低下信号が入力されていれば、前回のタイマ割込処理における停電判定処理でも電圧低下信号が入力されていたか否かを判定し、前回の停電判定処理でも電圧低下信号が入力されていた場合には、遊技機1への電力供給が停止されて停電が発生していると判定して、その旨を示す電断フラグをRAM41cの所定領域に設定する。
【0024】
Sa2のステップにおける停電判定処理の後、RAMの所定領域に電断フラグが設定されているか否かを判定し(Se3)、電断フラグが設定されていなければ、メイン処理により制御される遊技の進行段階に応じて各種制御を行うための処理(例えば、カウンタの更新に関する処理、ポート入力バッファの更新に関する処理、スイッチ類の入力判定に関する処理、リールモータの位相信号の更新に関する処理、コマンドの送信に関する処理等)を順次実行する。
【0025】
タイマ割込処理では、当該タイマ割込処理において行う複数の処理の一つとして、ポート入力処理を1回実行する(Sa4)。ポート入力処理は、初期設定処理及び設定変更処理において呼び出される場合と同様に、CALLF命令を用いて呼び出される。ポート入力処理が呼び出されて実行されることで、該タイマ割込処理が行われた時点でパラレル入力ポートを介して得られる各種スイッチ類の検出信号等に基づいて、ポート入力バッファに格納されている各種スイッチ類の入力データ、確定データ、エッジデータが更新されることとなる。更新されたポート入力バッファのデータは、その後、タイマ割込処理で行われるスイッチ入力判定処理、メイン処理における各種スイッチ類の入力の判定に関する処理等で参照されて、スイッチ類の入力状況に応じて遊技の進行に関する処理が行われることとなる。
【0026】
そして、タイマ割込処理では、当該タイマ割込処理において行う複数の処理が全て終了した後には、Sa1のステップにおいてスタック領域に退避したデータをレジスタに復帰させて、当該処理を終了させ、タイマ割込処理が実行される前のメイン処理における処理に戻る。
【0027】
[ポート入力バッファの構成について]
次に、スイッチ類の検出状態に関するデータが格納されるポート入力バッファの構成について説明する。
【0028】
主制御部が備えるパラレル入力ポートには、スイッチ類から出力される検出信号が入力されるようになっている。また、主制御部のRAMの所定領域には、各スイッチ類について検出信号に基づいて特定される検出状態を特定可能な入力データと、該当するスイッチ類の今回の入力データの確定データと、該当するスイッチ類について今回と前回の確定データが異なる状態であることを示すエッジデータとを格納可能なポート入力バッファが設定されている。主制御部は、後述する所定のタイミングでパラレル入力ポートを参照して、検出信号に基づいて特定される各スイッチ類の検出状態を入力データとして取得し、当該取得した入力データに基づいてポート入力バッファに格納されている入力データ、確定データ、エッジデータを更新するようになっている。
【0029】
ポート入力バッファとして、RAMのメモリ領域のうち連続する9バイト分の領域が設定されており、当該9バイト分の領域を構成する1ビット毎の領域に、予め定められたスイッチ類に対応する入力データ、確定データ、エッジデータが格納されるようになっている。また、当該9バイト分の領域には、所定の初期値と当該初期値に1ずつ加算して得られる連続する値からなるアドレスが1バイト毎に割り振られており、ポート入力バッファを構成する1バイト毎の領域をアドレスに基づいて特定可能となっている。
【0030】
ポート入力バッファを構成する各1ビットの領域には、所定のスイッチ類の入力データ、確定データ、エッジデータが格納される領域として割り当てられている。
【0031】
[ポート入力処理ついて]
次に、主制御部がタイマ割込処理内で実行するポート入力処理について
図3を用いて説明する。
【0032】
図3に示すように、ポート入力処理では、先ず、ポート入力バッファに格納されているデータを所定のレジスタに読み出す(Sb1)。その後、パラレル入力ポートを参照してスイッチ類の検出信号等の入力データを新たに取得し(Sb2)、ポート入力バッファに格納されている入力データを新たに取得した入力データに更新する(Sb3)。
【0033】
その後、Sb4のステップで更新した新たな入力データ(今回データ)に基づき、今回の入力データにより特定される状態を確定データとして、各スイッチ類の確定データを作成する(Sb4)。そして、ポート入力バッファに格納されている確定データを、Sb5のステップで作成した確定データに更新する(Sb5)。
【0034】
その後、Sb1のステップでレジスタに読み出した確定データ(前回データ)と、Sb5のステップで更新した新たな確定データ(今回データ)とをビット単位で比較して、各スイッチ類について前回と今回の確定データがoff状態からon状態に変化しているか否かを判定し、該当するスイッチ類については、onエッジデータを作成する(Sb6)。また、各スイッチ類について前回と今回の確定データがon状態からoff状態に変化しているか否かを判定し、該当するスイッチ類については、offエッジデータを作成する(Sb6)。その後、ポート入力バッファに格納されているエッジデータを、Sb6のステップで作成したonエッジデータまたはSb6のステップで作成したoffエッジデータに更新する(Sb7)。なお、本実施形態においては、Sb6およびSb7の処理がエッジデータ(判定データ)の作成処理である。
【0035】
本実施例の主制御部は、スロットマシン1への電力供給が開始されて起動した後、遊技の進行に応じた処理を行うメイン処理(
図6参照)を繰り返しループさせて行い、所定の時間間隔毎に当処理に割り込んでタイマ割込処理(
図2参照)を行う。そして、タイマ割込処理では、ポート入力処理を行うことで、パラレル入力ポートを介して入力される各種スイッチ類の検出状態に関する入力データ、確定データ、エッジデータを更新して、ポート入力バッファに格納するようになっている。
【0036】
例えば、
図4に示すように、パラレル入力ポートに接続されている一のスイッチについて、遊技者等により操作が行われておらず検出状態がOFFの状態であった当該スイッチが操作されることで、当該スイッチの検出状態がOFFの状態からONの状態に変化し、所定の期間にわたりONの状態で維持されるような場合には、タイマ割込処理毎にポート入力処理が行われることにより、ポート入力バッファに格納されている当該スイッチの入力データは、タイマ割込が行われてポート入力処理が行われた時点での当該スイッチの検出状態を示すデータに更新されるので、当該スイッチが操作された後の最初のタイマ割込が行われるときまでは、検出状態がOFFの状態であることを示す「0」が入力データとして設定され、ポート入力バッファにおける当該スイッチに該当するビット領域に格納される。そして、当該スイッチが操作されて最初のタイマ割込が行われたとき以降では、検出状態がONの状態であることを示す「1」が入力データとして該当するビット領域に格納される。
【0037】
また、確定データについて、ポート入力処理では、ポート入力処理が行われた時点で更新された入力データ(今回のデータ)により特定される検出状態に設定するように更新するので、当該スイッチの確定データについては、当該スイッチが押下されたことで入力データが「1」に更新されたタイマ割込から、検出状態がONの状態であることを示す「1」が確定データとして該当するビット領域に格納される。
【0038】
また、エッジデータについて、ポート入力処理では、ポート入力処理が行われた時点で更新された確定データ(今回のデータ)と更新前の確定データ(前回のデータ)を比較して、両データが一致する場合には、検出状態が変化していないことを示すエッジデータを作成し、両データが一致しない場合であって、OFFの状態からONの状態に変化している場合には、onエッジデータを作成し、ONの状態からOFFの状態に変化している場合には、offエッジデータを作成して、作成したonエッジデータ、offエッジデータに更新するので、当該スイッチのエッジデータについては、当該スイッチが操作されたことで入力データが「1」に更新されたタイマ割込において、確定データが「0」から「1」に更新されたときに、検出状態が変化したことを示すエッジデータとして「1」が、ポート入力バッファにおける当該スイッチのonエッジデータに該当するビット領域に格納される。一方、当該onエッジデータが「1」に設定されたタイマ割込以外のタイマ割込では、検出状態が変化していないことを示すエッジデータとして「0」が、当該スイッチのonエッジデータのビット領域に格納される。なお、特に図示しないが、offエッジデータについては、各タイマ割込において検出状態が変化していないことを示すエッジデータとして「0」が、ポート入力バッファにおける当該スイッチのoffエッジデータのビット領域に格納される。
【0039】
また、例えば、
図5に示すように、一のスイッチについて、遊技者等により操作が行われており検出状態がONの状態であった当該スイッチが離されることで、当該スイッチの検出状態がONの状態からOFFの状態に変化し、所定の期間にわたりOFFの状態で維持されるような場合にも、前述のように当該スイッチの検出状態がOFFの状態からONの状態に変化する場合と同様に、タイマ割込処理毎にポート入力処理が行われることにより、ポート入力処理が行われた時点での当該スイッチの検出状態に応じたデータが入力データとして設定され、ポート入力バッファにおける当該スイッチに該当するビット領域に格納される。
【0040】
また、確定データについても、前述のように当該スイッチの検出状態がOFFの状態からONの状態に変化する場合と同様に、今回の入力データにより特定される検出状態を示す値に設定され、ポート入力バッファにおける当該スイッチに該当するビット領域に格納される。
【0041】
また、前述のように当該スイッチの検出状態がOFFの状態からONの状態に変化する場合と同様に、前回と今回の確定データが一致している場合には、検出状態が変化していないことを示すエッジデータを作成し、両データが一致しない場合であって、OFFの状態からONの状態に変化している場合には、onエッジデータを作成し、ONの状態からOFFの状態に変化している場合には、offエッジデータを作成して、作成したonエッジデータ、offエッジデータに更新する。これにより、当該スイッチのエッジデータについては、当該スイッチが離されたことで入力データが「0」に更新されたタイマ割込において、確定データが「1」から「0」に更新されたときに、検出状態が変化したことを示すエッジデータとして「1」が、ポート入力バッファにおける当該スイッチのoffエッジデータに該当するビット領域に格納される。一方、当該offエッジデータが「1」に設定されたタイマ割込以外のタイマ割込では、検出状態が変化していないことを示すエッジデータとして「0」が、当該スイッチのoffエッジデータのビット領域に格納される。なお、特に図示しないが、onエッジデータについては、各タイマ割込において検出状態が変化していないことを示すエッジデータとして「0」が、ポート入力バッファにおける当該スイッチのonエッジデータのビット領域に格納されることとなる。
【0042】
[メイン処理]
次に、主制御部が実行するメイン処理、メイン処理内で実行する遊技開始待ち処理(
図7および
図8参照)、遊技開始待ち処理内で実行するエラー処理(
図9および
図10参照)において本発明を実施した例について説明する。なお、これらの各処理は、遊技機1がスロットマシンである場合に実行される処理を例に挙げている。
【0043】
まず、メイン処理について
図6を用いて説明する。なお、メイン処理は一単位の遊技毎に繰り返し実行される。そして、メイン処理の一周期が遊技の一単位に相当している。
【0044】
図6に示すように、メイン処理では、主制御部は、まず、遊技開始待ち処理を実行する(Sc1)。遊技開始待ち処理では、賭数を設定可能な状態で待機し、遊技状態に応じた規定数の賭数が設定され、遊技進行スイッチ100であるスタートスイッチが操作された時点で遊技を開始させる処理を実行する。
【0045】
次いで、内部抽選処理を実行する(Sc2)。内部抽選処理では、Sc1のステップにおけるスタートスイッチの検出によるゲーム開始と同時にラッチされた内部抽選用の乱数値に基づいて上記した各役への入賞を許容するか(すなわち、表示結果の導出を許容するか否か)どうかを決定する処理を行う。この内部抽選処理では、それぞれの抽選結果に基づいて、RAMに当選フラグが設定される。なお、内部抽選により特別役(BBまたはRB)に当選した場合は特別役持ち越しフラグセットされる。そして、上記したように特別役持ち越しフラグの有無を判定することによって特別役の持ち越しの有無を判定し、持ち越しの有無に応じた当選役(特別役持ち越し中には特別役は内部抽選の対象から除外される)について判定処理が行われる。
【0046】
次いで、リール制御処理を実行する(Sc3)。リール制御処理では、スタートスイッチの操作に応答して各リールを回転させる処理、Sc2のステップにおける内部抽選の結果および遊技者によるストップスイッチの操作が検出されたことに応じて対応するリールの回転を停止させる処理を実行する。
【0047】
次いで、遊技終了時設定処理を実行する(Sc4)。遊技終了時設定処理では、Sc3の処理において全てのリールの回転が停止したと判定した時点で、各リールに導出された表示結果に応じて入賞が発生したか否かを判定する処理を実行する。そして、入賞が発生したと判定した場合に、その入賞に応じた払出枚数に基づきクレジットの加算並びにメダルの払出等の処理を行う。入賞が発生した場合にはメダルの払い出し等が終了した後に次のゲームに備えて遊技状態を設定する処理を実行する。また、入賞が発生しなかった場合にはリールが停止した後に、次のゲームに備えて遊技状態を設定する処理を実行する。
【0048】
また、メイン処理では、ゲームの進行制御に応じてコマンドを生成してコマンドバッファに設定し、副制御部に送信されるようになっている。
【0049】
[遊技開始待ち処理]
次に、主制御部が実行するメイン処理内で実行する遊技開始待ち処理について
図7および
図8を用いて説明する。
【0050】
図7および
図8に示すように、主制御部は、遊技開始待ち処理では、まず、クレジットされているメダルの枚数(クレジット枚数)をカウントしているクレジットカウンタのカウント値を取得する(Sd1)。次いで、取得したカウント値からクレジット枚数を識別し、クレジット枚数を特定可能なクレジット枚数コマンドを送信データレジスタにセットする(Sd2)。次いで、送信データレジスタにセットしたコマンドをシリアルデータに変換して送信用シフトレジスタに格納する通信データ格納処理を実行する(Sd3)。通信データ格納処理により送信用シフトレジスタに格納されたコマンドデータは直ぐに副制御部に送信される。副制御部はクレジット枚数を液晶表示器51により表示する。
【0051】
次いで、クレジット枚数を表示するための投入枚数表示処理を実行する(Sd4)。この後、ホッパーユニットのホッパータンクから溢れたメダルが貯留されるオーバーフロータンクが満タン状態となり、これにより発生する満タンエラーのエラーコードをRAMにセットする(Sd5)。満タンエラーはオーバーフロータンクの内部に設けられている満タンセンサにより検出される。
【0052】
そして、満タンエラーが発生したか否かを判定する(Sd6)。満タンエラーが発生していないときにはSd7に進む。満タンエラーが発生したときには
図9および
図10に示すエラー処理(Sd11)を実行してからSd7に進む。なお、満タンエラーは、オーバーフロータンクが満タン状態になったときに検出される他、ノイズの発生や不正な信号の一斉入力、センサ電源の短絡などに起因して満タンセンサの検出状態が変化したときにも検出される。よって、オーバーフロータンクが満タン状態になっていないにも関わらず、エラー処理が実行されてエラー状態に移行することがある。
【0053】
次に、再遊技(リプレイ)が入賞したときに設定されていた賭数をカウントする再遊技用メダルカウンタのカウント値を取得し(Sd7)、再遊技用メダルカウンタのカウント値をクリアする(Sd8)。
【0054】
そして、Sd7のステップで取得したカウント値に基づいてカウント値が0であったか否かを判定する(Sd9)。カウント値が0でなかったときは、取得したカウント値に基づいて自動的に賭数を設定する再遊技手入れ投入処理を実行してSd13に進む(Sd12)。カウント値が0であったときはそのままSd13に進む。Sd13では、遊技者による賭数の設定を許可するための手入れ許可設定処理を実行する(Sd13)。
【0055】
次いで、タイマ割込が1回行われるまで待機する割込1回待ち処理を行う(Sd14)。割込1回待ち処理が終了した後は、メダルセレクタが有する投入メダルセンサ、ホッパーユニットが有する払出センサにおいてエラーが発生していないか否かを判定する投入払出エラーチェック処理を実行する(Sd15)。なお、エラーが発生していると判定されたときにはエラー処理が実行される。
【0056】
そして、Sd15の処理においてエラー処理が実行されたか否かを判定する(Sd16)。Sd15の処理においてエラー処理が実行されたときはSd14の処理に戻る。Sd15の処理においてエラー処理が実行されていないときには、メダル投入部にメダルが投入されたときに投入メダルセンサから入力されるメダル投入信号の処理を行うメダル投入信号処理を実行する(Sd17)。次いで、BETスイッチが操作されたときに入力される信号を受け付ける入力受付処理を実行する(Sd18)。
【0057】
そして、スタートスイッチが操作されたか否かを判定するためのスタートフラグがオンになったか否かを判定する(Sd19)。なお、スタートスイッチが操作されるとスタートフラグがオフからオンになる。また、遊技進行スイッチ100がスタートスイッチである場合には、スタートスイッチのエッジデータ(
図3のSb6、Sb7参照)を参照することにより、スタートスイッチが操作されたか否かを判定する。次いで、スタートフラグがオンになっていないときは、賭数が1設定されている旨を点灯により報知する1BETLED、賭数が2設定されている旨を点灯により報知する2BETLED、賭数が3設定されている旨を点灯により報知する3BETLED、メダルの投入が可能な状態を点灯により報知する投入要求LED、BETスイッチの操作による賭数の設定操作が有効である旨を点灯により報知するBETスイッチ有効LEDなど、各種LEDを表示させるLED表示処理を実行し(Sd20)、Sd14に戻る。
【0058】
次いで、乱数値レジスタから乱数値を読み出し(Sd21)、読み出した乱数値を内部抽選用の乱数値としてRAMに格納する(Sd22)。そして、投入済みのメダルの枚数を取得し、RAMに格納する(Sd23)。次いで、リールの停止制御に用いるインデックスデータなどの各種データをRAMにセットし(Sd24)、連続データ処理を実行して処理を終了する(Sd25)。連続データ処理は、メイン処理において内部抽選処理を実行するにあたって必要なデータを作成、格納する処理である。
【0059】
[エラー処理]
次に、
図7のSd11で実行するエラー処理について
図9および
図10を用いて説明する。
【0060】
図9および
図10に示すように、エラー処理では、主制御部は、まず、エラーコードをRAMに格納する(Se1)。次いで、エラー開始コマンドを送信データレジスタにセットする(Se2)。次いで、送信データレジスタにセットしたコマンドをシリアルデータに変換して送信用シフトレジスタに格納する通信データ格納処理を実行する(Se3)。通信データ格納処理により送信用シフトレジスタに格納されたコマンドデータは直ぐに副制御部に送信される。副制御部は、エラー状態に移行した旨を液晶表示部51から表示する。
【0061】
そして、エラー要因を取得する(Se4)。次いで、払出し枚数表示が示す払出枚数を取得し、レジスタに退避させる(Se5)。そして、エラー表示に用いるエラー表示データを取得する(Se6)。エラー表示は、例えば、エラーであることを示す「E」とエラーの種類を示す番号との組合せである。また、メダルが投入可能であることを示す投入可能表示LEDおよび遊技が開始可能であることを示す遊技開始表示LEDをオフにする(Se7)。
【0062】
次いで、エラー表示データをRAMに格納する(Se8)。そして、RAMに格納されたエラー表示データに基づいてエラー表示が行われる。
【0063】
そして、エラーの種類がRAMのデータが正常でないRAM異常エラーであるか否かを判定する(Se9)。RAM異常エラーであるときは、主制御部のCPUが停止して待機状態に移行する。RAM異常エラーは、リセットスイッチ23およびリセット/設定スイッチ38の操作では解除することができず、設定変更状態に移行して新たな設定値が設定されるまで、解除されることがない。
【0064】
エラーの種類がRAM異常エラーでないときには、タイマ割込が1回行われるまで待機する割込1回待ち処理を行う(Se10)。
【0065】
割込1回待ち処理を行った後は、投入されたメダルを検出する投入メダルセンサの状態を入力バッファから抽出する(Se11)。また、オーバーフロータンクが満タン状態になったことを検出する満タンセンサの状態を入力バッファから抽出する(Se12)。さらに、払い出されたメダルを検出する払出センサの状態を入力バッファから抽出する(Se13)。次いで、抽出した状態に基づいて各センサが正常な状態か否かを判定する(Se14)。正常な状態でないときはSe10の処理に戻る。正常な状態であるときはリセットスイッチ23およびリセット/設定スイッチ38のエッジデータを取得する(Se15)。
【0066】
次いで、取得したエッジデータに基づいてリセット/設定スイッチ38の操作が検出されたか否かを判定する(Se16)。すなわち、リセット/設定スイッチ38の検出状態がON状態であるか否かを判定する。リセット/設定スイッチ38の操作が検出されたときはSe18に進む。リセット/設定スイッチ38の操作が検出されていないときは、取得したエッジデータに基づいてリセットスイッチ23の操作が検出されたか否かを判定する(Se17)。すなわち、リセットスイッチ23の検出状態がON状態であるか否かを判定する。リセットスイッチ23の操作が検出されていないときはSe10の処理に戻る。リセットスイッチ23の操作が検出されたときはSe18に進む。
【0067】
Se18では、払出し枚数表示データを復帰し、RAMに格納する(Se18)。そして、RAMに格納されている払出し枚数表示データに基づいて払出枚数が表示される。これにより、エラー状態に移行する前に表示されていた払出し枚数が表示される。
【0068】
また、副制御部に送信する送信データを送信データレジスタにセットする(Se19)。そして、エラーコードをクリアする(Se20)。次いで、送信データレジスタにセットしたコマンドをシリアルデータに変換して送信用シフトレジスタに格納する通信データ格納処理を実行する(Se21)。通信データ格納処理により送信用シフトレジスタに格納されたコマンドデータは直ぐに副制御部に送信される。そして、タイマ割込が1回行われるまで待機する割込1回待ち処理を行って処理を終了する(Se22)。
【0069】
ここで、前述したように、遊技機1では全センサの電源が1つの電源から供給されている。このため、センサ電源を短絡させると全てのセンサやスイッチの検出状態が変化する。よって、例えば、通常状態中にセンサ電源の短絡が行われて満タンセンサの検出状態が変化したときは、リセットスイッチ23およびリセット/設定スイッチ38の検出状態も同時に変化する。このため、リセットスイッチ23およびリセット/設定スイッチ38がOFF状態であるときにはON状態に変化し、onエッジデータの作成処理が行われる(
図3のSb6、Sb7参照)。そして、
図9および
図10のエラー処理は満タンセンサの検出状態が変化したことに起因してエラー状態に移行するため(
図7のSd6,Sd11参照)、リセットスイッチ23およびリセット/設定スイッチ38の検出状態がON状態に変化した後に通常状態からエラー状態に移行することになる。この場合に、Se10における割込1回待ち処理を実行しなかった場合は、そのままSe16およびSe17の処理でリセットスイッチ23およびリセット/設定スイッチ38がON状態であることが検出される。このため、実際にリセットスイッチ23およびリセット/設定スイッチ38が操作されていないにも関わらず、エラー状態に移行する前に変化したリセットスイッチ23およびリセット/設定スイッチ38の検出状態に基づいてエラー状態が終了してしまう。
【0070】
しかし、本発明では、Se10で割込1回待ち処理を実行することにより、リセットスイッチ23およびリセット/設定スイッチ38のエッジデータの作成処理が新たに行われる(
図3のSb6、Sb7参照)。そして、センサ電源の短絡によりエラー状態に移行したときには、実際にはリセットスイッチ23およびリセット/設定スイッチ38は操作されていないため、Se10で割込1回待ち処理が実行されてエッジデータが新たに作成されると、offエッジデータが新たに作成される(
図3のSb6、Sb7参照)。よって、Se16およびSe17の処理ではリセットスイッチ23およびリセット/設定スイッチ38がOFF状態であることが検出される。このため、エラー処理に移行する前におけるリセットスイッチ23およびリセット/設定スイッチ38の検出状態の変化によりエラー処理が終了してしまうことがなくなる。そして、エッジデータが新たに作成された後にエラー状態を解除するには、実際にセットスイッチ23およびリセット/設定スイッチ38を操作する必要がある。このように、エッジデータを1回作成した後に実際にリセットスイッチ23またはリセット/設定スイッチ38が操作されたか否かを判定することにより、意図せずエラー状態が終了してしまうことを防止できる。
【0071】
また、前述したように、センサ電源を短絡させると全てのセンサやスイッチの検出状態が変化するので、例えば、エラー状態中にセンサ電源の短絡が行われた場合には、リセットスイッチ23およびリセット/設定スイッチ38がOFF状態であるときにはON状態に変化する。そして、本例ではSe10~Se15の処理の間のタイミングにリセットスイッチ23およびリセット/設定スイッチ38の検出状態が変化したときは、Se16およびSe17の処理ではリセットスイッチ23およびリセット/設定スイッチ38がON状態であることが検出され、エラー状態の終了条件が成立してしまう。また、センサ電源を短絡させると全てのセンサやスイッチの検出状態が変化することから、リセットスイッチ23およびリセット/設定スイッチ38の検出状態が変化すると同時に、通常状態に移行したときに操作される遊技進行スイッチ100(例えば、スタートスイッチ)の検出状態も変化する。よって、遊技進行スイッチ100がOFF状態であるときにはON状態に変化する。このため、遊技進行スイッチ100のエッジデータについては、onエッジデータの作成処理が行われる(
図3のSb6、Sb7参照)。この場合に、Se22での割込1回待ち処理を実行しなかった場合は遊技進行スイッチ100のエッジデータが新たに作成されることない。よって、そのまま遊技開始待ち処理に復帰すると、例えば、遊技進行スイッチ100がスタートスイッチである場合にはSd19の処理でスタートスイッチが操作されたと判定されてしまい、これに伴う処理が実行されてしまう。このため、実際に遊技進行スイッチ100が操作されていないにも関わらず、センサ電源の短絡に起因して遊技進行スイッチ100の操作に基づく特別処理が実行されてしまう。
【0072】
しかし、本発明では、Se22で割込1回待ち処理を実行することにより、遊技進行スイッチ100のエッジデータの作成処理が新たに行われる(
図3のSb6、Sb7参照)。そして、センサ電源の短絡により遊技進行スイッチ100がOFF状態からON状態に変化したときは、実際には遊技進行スイッチ100は操作されていないため、Se22で割込1回待ち処理が実行されてエッジデータが新たに作成されると、offエッジデータが新たに作成される(
図3のSb6、Sb7参照)。よって、例えば、遊技進行スイッチ100がスタートスイッチである場合にはSd19の処理でスタートスイッチが操作されていないと判定される。このため、エラー状態中における遊技進行スイッチ100の検出状態の変化に基づいて制御が行われることがなくなる。そして、エッジデータが新たに作成された後に遊技進行スイッチ100に基づく制御を行わせるには、実際に遊技進行スイッチ100を操作する必要がある。このように、エッジデータを1回作成した後に実際に遊技進行スイッチ100が操作されたか否かを判定することにより、意図しない制御が行われてしまうことを防止できる。
【0073】
また、エッジデータの作成処理の実行を待つために割込1回待ち処理を実行するので、好適な処理によりエッジデータの作成処理が実行されることを担保できる。
【0074】
なお、Se4~Se8の処理はエラー状態に移行したことを報知するための報知処理である。このように、Se10の処理の前にSe4~Se8の報知処理を行うことにより、エラー状態に移行したことを報知するための報知処理が実行されることを担保できる。
【0075】
また、エラー状態中には、メダルの投入が行われる、あるいは、ホッパーユニットのオーバーフロータンクが満タンになる、あるいは、メダルの払い出しが行われるといった所定事象は発生し得ない。よって、Se12~Se14の処理を実行することにより、所定事象が発生していないことを条件としてエラー状態を終了させるようにしている。これにより、異常な状況で特定状態が終了することを防止できる。特に、センサ電源が一斉に短絡されて各センサやスイッチの検出状態が変化したときなどに異常な状況で特定状態が終了することを防止できる。
【0076】
また、リセットスイッチ23とリセット/設定スイッチ38のいずれか一方が操作されたとき、または、リセットスイッチ23およびリセット/設定スイッチ38の両方が操作されたときのいずれの場合においてもエラー状態を解除することができる。よって、エラー状態を好適に終了させることができる。また、エラー状態を終了させるための特定操作の利便性を高めることができる。
【0077】
なお、Se18の処理はエラー状態が終了することを報知するための報知処理である。このように、リセットスイッチ23またはリセット/設定スイッチ38が操作されてエラー状態の終了条件が成立した後にSe18の報知処理を行った後、Se22の処理を待つことにより、エラー状態が終了することを報知するための報知処理が実行されることを担保できる。
【0078】
[スイッチが操作されたか否かの判定タイミングについて]
次に、リセットスイッチ23またはリセット/設定スイッチ38が操作されたか否かの判定タイミングについて従来例と比較しながら説明する。
【0079】
例えば、
図11に示すように、通常状態中にセンサ電源を短絡にさせる不正な行為が行われたとする。これにより、全てのスイッチの検出状態がOFFの状態からONの状態に変化し、所定の期間にわたりONの状態で維持されたとする。この場合には、リセットスイッチ23およびリセット/設定スイッチ38の検出状態はOFFの状態からONの状態に変化する。この後に、センサの電源が短絡されたことにより、エラーの発生を検出するセンサの検出状態が変化したことに起因してエラー状態に移行する。すなわち、リセットスイッチ23およびリセット/設定スイッチ38の検出状態がON状態に変化した後にエラー状態に移行する。
【0080】
このとき、タイマ割込処理毎にポート入力処理が行われることにより、ポート入力バッファに格納されているリセットスイッチ23およびリセット/設定スイッチ38の入力データは、タイマ割込が行われてポート入力処理が行われた時点でのリセットスイッチ23およびリセット/設定スイッチ38の検出状態を示すデータに更新される。よって、センサの電源が短絡された後の最初のタイマ割込(2)が行われるときまでは、検出状態がOFFの状態であることを示す「0」が入力データとして設定され、ポート入力バッファにおける当該スイッチに該当するビット領域に格納される。そして、最初のタイマ割込(2)では、検出状態がONの状態であることを示す「1」が入力データおよび確定データとして該当するビット領域に格納される。また、検出状態がOFFの状態からONの状態に変化しているので、タイマ割込(2)において、検出状態が変化したことを示すエッジデータとして「1」が、ポート入力バッファにおける当該スイッチのonエッジデータに該当するビット領域に格納される。
【0081】
しかし、実際にはリセットスイッチ23およびリセット/設定スイッチ38が操作されていないので、その次のタイマ割込(3)では検出状態がOFFの状態であることを示す「0」が入力データおよび確定データとして該当するビット領域に格納される。また、検出状態がONの状態からOFFの状態に変化しているので、タイマ割込(3)において、検出状態が変化したことを示すエッジデータとして「1」が、ポート入力バッファにおける当該スイッチのoffエッジデータに該当するビット領域に格納される。
【0082】
このような場合に、従来は、リセットスイッチ23およびリセット/設定スイッチ38のエッジデータが新たに作成されることを待つことなく、タイマ割込(2)におけるエッジデータが参照されていた。すなわち、エラー状態に移行する前のスイッチの検出状態に基づいて作成されたエッジデータが参照されていた。この場合には、前述したように、エッジデータはonエッジデータに更新されているので、リセットスイッチ23およびリセット/設定スイッチ38がON状態であることが検出されてしまい、実際にはリセットスイッチ23およびリセット/設定スイッチ38が操作されていないにもかかわらず、意図せずエラー状態が解除されてしまった。
【0083】
しかし、本発明は、エラー処理に移行したときに、タイマ割込1回待ち処理を実行することにより、エッジデータが新たに1回作成された後(すなわち、タイマ割込(3)以降)にリセットスイッチ23またはリセット/設定スイッチ38が操作されたか否かを判定する。前述したようにタイマ割込(3)においてエッジデータはoffエッジデータに更新されるので、エラー状態を解除するにはリセットスイッチ23またはリセット/設定スイッチ38を操作する必要がある。これにより、意図せずエラー状態が終了してしまうことを防止できる。なお、
図11ではタイマ割込(6)においてリセットスイッチ23の操作が検出されてエッジデータが参照されてエラー状態が解除された例を示している。
【0084】
次に、遊技進行スイッチ100が操作されたか否かの判定タイミングについて従来例と比較しながら説明する。
【0085】
例えば、
図12に示すように、エラー状態中にセンサ電源を短絡にさせる不正な行為が行われたとする。これにより、全てのスイッチの検出状態がOFFの状態からONの状態に変化し、所定の期間にわたりONの状態で維持されたとする。この場合には、リセットスイッチ23およびリセット/設定スイッチ38の検出状態はOFFの状態からONの状態に変化する。同時に、遊技進行スイッチ100の検出状態もOFFの状態からONの状態に変化する。
【0086】
このとき、タイマ割込処理毎にポート入力処理が行われることにより、ポート入力バッファに格納されている遊技進行スイッチ100の入力データは、タイマ割込が行われてポート入力処理が行われた時点での遊技進行スイッチ100の検出状態を示すデータに更新される。よって、センサの電源が短絡された後の最初のタイマ割込(2)が行われるときまでは、検出状態がOFFの状態であることを示す「0」が入力データとして設定され、ポート入力バッファにおける当該スイッチに該当するビット領域に格納される。そして、最初のタイマ割込(2)では、検出状態がONの状態であることを示す「1」が入力データおよび確定データとして該当するビット領域に格納される。また、検出状態がOFFの状態からONの状態に変化しているので、タイマ割込(2)において、検出状態が変化したことを示すエッジデータとして「1」が、ポート入力バッファにおける当該スイッチのonエッジデータに該当するビット領域に格納される。
【0087】
しかし、実際には遊技進行スイッチ100が操作されていないので、その次のタイマ割込(3)では検出状態がOFFの状態であることを示す「0」が入力データおよび確定データとして該当するビット領域に格納される。また、遊技進行スイッチ100の検出状態がONの状態からOFFの状態に変化しているので、タイマ割込(3)において、検出状態が変化したことを示すエッジデータとして「1」が、ポート入力バッファにおける当該スイッチのoffエッジデータに該当するビット領域に格納される。
【0088】
なお、リセットスイッチ23およびリセット/設定スイッチ38についても、遊技進行スイッチ100と同様に入力データおよび確定データ、エッジデータが格納される。
【0089】
そして、センサ電源の短絡により変化した検出状態に基づいて作成されたリセットスイッチ23およびリセット/設定スイッチ38のエッジデータはタイマ割込(2)において参照される。このとき、リセットスイッチ23およびリセット/設定スイッチ38のエッジデータはonエッジデータに更新されているため、リセットスイッチ23およびリセット/設定スイッチ38がON状態であることが検出され、エラー状態の終了条件が成立する。
【0090】
このような場合において、遊技進行スイッチ100についても、センサ電源の短絡により変化した検出状態に基づいて作成された遊技進行スイッチ100のエッジデータがタイマ割込(2)において参照されていた。この場合には、前述したように、エッジデータはonエッジデータに更新されているので、遊技進行スイッチ100がON状態であることが検出されてしまった。よって、実際には遊技進行スイッチ100が操作されていないにもかかわらず、エラー状態の終了条件が成立した後に、意図せず遊技進行スイッチ100の操作に応じた制御が行われてしまった。
【0091】
しかし、本発明は、エラー処理の終了条件が成立した後に、タイマ割込1回待ち処理を実行することにより、エッジデータが1回作成された後(すなわち、タイマ割込(3)以降)に遊技進行スイッチ100が操作されたか否かを判定する。前述したようにタイマ割込(3)においてエッジデータはoffエッジデータに更新されるので、遊技進行スイッチ100の操作に応じた制御を行わせるには遊技進行スイッチ100を操作する必要がある。これにより、意図せず遊技進行スイッチ100の操作に応じた制御が行われてしまうことを防止できる。なお、
図12ではタイマ割込(6)において遊技進行スイッチ100の操作が検出されてエッジデータが参照されて遊技進行スイッチ100の操作に応じた制御が行われた例を示している。
【0092】
[リセットスイッチが操作されたか否かを判定するタイミングの具体例]
次に、リセットスイッチが操作されたか否かを判定するタイミングについての本発明と従来例の比較を示す具体例について
図13を用いて説明する。なお、
図13(a)が従来例、
図13(b)が本発明の実施例である。また、
図13ではリセットスイッチ23の操作によってエラー状態が終了する例を挙げて説明する。
【0093】
図13(a)に示すように、遊技機1では全センサの電源が1つの電源から供給されている。このため、センサ電源を短絡させると全てのセンサやスイッチの検出状態が変化する。よって、センサ電源を短絡させる不正な行為が行われた場合には、リセットスイッチ23の検出状態がOFF状態からON状態に変化する。このため、タイマ割込が発生したときにリセットスイッチ23のエッジデータの作成処理が行われ、onエッジデータ作成される。そして、センサ電源の短絡に起因して、エラーの発生を検出するセンサも検出状態が変化するので、センサ電源が短絡されて全センサやスイッチの検出状態が変化した後に通常状態からエラー状態に移行する。このような状況において、従来は、エラー処理中の処理により次のタイマ割込を待つことなくリセットスイッチ23のエッジデータが参照されていた。換言すると、次にエッジデータの作成処理が行われることを待つことなくリセットスイッチ23のエッジデータが参照されていた。よって、エラー状態に移行する前に変化したリセットスイッチ23の検出状態(ON状態)によってエラーが解除されてしまった。このため、リセットスイッチ23が操作されていないにも関わらず意図せずにエラー状態が解除されてしまうという問題があった。
【0094】
しかし、本発明は、
図13(b)に示すように、エラー状態に移行したときにエラー処理内の処理において割込1回待ち処理を実行することにより、リセットスイッチ23のエッジデータの作成処理が新たに行われる。そして、センサ電源の短絡によりエラー状態に移行したときには、実際にはセットスイッチ23は操作されていないため、割込1回待ち処理が実行されてエッジデータが新たに作成されると、offエッジデータが新たに作成される。よって、リセットスイッチ23がOFF状態であることが検出される。このため、エラー処理に移行する前におけるリセットスイッチ23の検出状態の変化によりエラー処理が終了してしまうことがなくなる。そして、エッジデータが新たに作成された後にエラー状態を解除するには、実際にセットスイッチ23を操作する必要がある。このように、エッジデータを1回作成した後に実際にリセットスイッチ23またはリセット/設定スイッチ38が操作されたか否かを判定することにより、意図せずエラー状態が終了してしまうことを防止できる。
【0095】
[遊技進行操作スイッチが操作されたか否かを判定するタイミングの具体例]
次に、遊技進行操作スイッチ100が操作されたか否かを判定するタイミングについての本発明と従来例の比較を示す具体例について
図14を用いて説明する。なお、
図14(a)が従来例、
図14(b)が本発明の実施例である。
【0096】
図14(a)に示すように、遊技機1では全センサやスイッチの電源が1つの電源から供給されている。このため、センサ電源を短絡させると全てのセンサやスイッチの検出状態が変化する。よって、エラー状態中にセンサ電源の短絡が行われた場合には、リセットスイッチ23がOFF状態であるときにはON状態に変化し、エラー状態の終了条件が成立し、エラー状態が解除される。また、センサ電源を短絡させると全てのセンサやスイッチの検出状態が変化することから、リセットスイッチ23の検出状態が変化すると同時に遊技進行スイッチ100がOFF状からON状態に変化する。このため、遊技進行スイッチ100のエッジデータの作成処理が行われ、onエッジデータが作成される。このような状況において、従来は、次のタイマ割込を待つことなく遊技進行スイッチ100のエッジデータが参照されていた。換言すると、次にエッジデータの作成処理が行われることを待つことなく遊技進行スイッチ100のエッジデータが参照されていた。よって、実際に遊技進行スイッチ100が操作されていないにも関わらず、エラー状態の終了条件が成立したときに変化した遊技進行スイッチ100の検出状態(ON状態)によって、意図せず遊技進行スイッチ100の操作に基づく特別処理が実行されてしまうという問題があった。
【0097】
しかし、
図14(b)に示すように、本発明では、エラー状態の終了条件が成立した後に割込1回待ち処理を実行することにより、遊技進行スイッチ100のエッジデータの作成処理が新たに行われる。そして、センサ電源の短絡により遊技進行スイッチ100がOFF状態からON状態に変化したときは、実際には遊技進行スイッチ100は操作されていないため、割込1回待ち処理が実行されてエッジデータが新たに作成されると、offエッジデータが新たに作成される。このため、エラー状態中における遊技進行スイッチ100の検出状態の変化に基づいて制御が行われることがなくなる。そして、エッジデータが新たに作成された後に遊技進行スイッチ100に基づく制御を行わせるには、実際に遊技進行スイッチ100を操作する必要がある。このように、エラー状態の終了条件が成立した後でエッジデータを1回作成した後に実際に遊技進行スイッチ100が操作されたか否かを判定することにより、意図しない制御が行われてしまうことを防止できる。
【0098】
なお、本実施形態では、1回のタイマ割込分の入力データに基づいて確定データを更新する構成としたが、複数回のタイマ割込分の期間にわたり同じ検出状態が継続されないと、確定データが今回の入力データの検出状態に更新されないように構成することも可能である。例えば、何らかの原因でスイッチ類の検出信号が、1回のタイマ割込のみで検出される程度の短時間で変化されるような場合(例えば、静電気などによるノイズが発生した場合や当該スイッチに誤って触れてしまった場合等)には、入力データは当該検出信号の変化に追従して検出状態に応じた値に変更されることとなるが、複数回のタイマ割込分の期間にわたり同じ検出状態が継続されないと、確定データが今回の入力データの検出状態に更新されないようにすることにより、スイッチ類の検出状態が一定期間(最低でも約2.24ms)以上継続して検知されたことを条件に、当該当該スイッチについて有効な操作等が検出されるようになる。これにより、何らかの原因、例えば、静電気などのノイズ等によって1回のタイマ割込のみで検出される程度の短時間の検出状態が誤って検出されてしまうことを防止できる。
【0099】
また、本実施形態では、各スイッチが操作されたときにOFF状態からON状態に変化させる構成としたが、各スイッチが操作されたときにON状態からOFF状態に変化させる構成とすることも可能である。OFF状態からON状態に変化させる構成とした場合には静電気などのノイズ等に反応してしまう反面、電源がOFFにされてもスイッチが検出状態とならないメリットがある。一方、各スイッチが操作されたときにON状態からOFF状態に変化させる構成とした場合には電源がOFFにされるとスイッチが検出状態となってしまう反面、静電気などのノイズ等に反応しないメリットがある。
【0100】
[本実施形態の効果]
本実施形態においては、エラー状態に移行した後にリセットスイッチ23またはリセット/設定スイッチ38のエッジデータの作成処理が1回実行された後にリセットスイッチ23またはリセット/設定スイッチ38の操作が行われたか否かを判定する(本例では、
図9のSe10、Se16、Se17の処理を行う部分、
図11、
図13に示す部分)。
よって、意図せずにエラー状態が終了することを防止できる。
【0101】
本実施形態においては、エラー状態においてリセットスイッチ23またはリセット/設定スイッチ38のエッジデータの作成処理の実行を待つための待機処理を実行する(本例では、
図9のSe10、Se16、Se17の処理を行う部分、
図11、
図13に示す部分)。
よって、好適な処理により作成処理が実行されることを担保できる。
【0102】
本実施形態においては、エラー状態において該エラー状態に移行したことを報知するための報知処理が実行された後にリセットスイッチ23またはリセット/設定スイッチ38のエッジデータの作成処理の実行を待つための待機処理を実行する(本例では、
図9のSe4~Se8の処理を行った後にSe10の処理を行う部分)。
よって、エラー状態に移行したことを報知するための報知処理が実行されることを担保できる。
【0103】
本実施形態においては、エラー状態では発生し得ない所定事象の発生が検出されていないことを条件としてエラー状態を終了させる(本例では、
図10のSe11~Se14の処理を行う部分)。
よって、異常な状況でエラー状態が終了することを防止できる。
【0104】
本実施形態においては、リセットスイッチ23とリセット/設定スイッチ38のいずれか一方の操作が行われたときにエラー状態を終了させるとともに、リセットスイッチ23とリセット/設定スイッチ38の両方の操作が同時に行われているときでもエラー状態を終了させる(本例では、
図9のSe16、Se17の処理を行う部分)。
よって、複数のアドレスを初期化するための処理を好適に実行することができる。
【0105】
本実施形態においては、エラー状態の終了条件が成立した後に遊技進行スイッチ100のエッジデータの作成処理が1回実行された後に遊技進行スイッチ100の操作が行われたか否かを判定する(本例では、
図9のSe22、
図8のSd17~Sd19の処理を行う部分、
図12、
図14に示す部分)。
この構成によれば、意図しない制御が行われることを防止できる。
【0106】
本実施形態においては、エラー状態において遊技進行スイッチ100のエッジデータの作成処理の実行を待つための待機処理を実行する(本例では、
図9のSe22の処理を行う部分、
図12、
図14に示す部分)。
よって、好適な処理により作成処理が実行されることを担保できる。
【0107】
本実施形態においては、エラー状態において該エラー状態が終了ことを報知するための報知処理が実行された後に遊技進行スイッチ100のエッジデータの作成処理の実行を待つための待機処理を実行する(本例では、
図10のSe18の処理を行った後にSe22の処理を行う部分)。
よって、エラー状態が終了することを報知するための報知処理が実行されることを担保できる。
【0108】
[変形例]
以上、本発明における主な実施の形態を説明してきたが、本発明は、上記の実施の形態に限られず、種々の変形、応用が可能である。以下、本発明に適用可能な上記の実施の形態の変形例について説明する。
【0109】
[遊技機について]
上述した遊技機1は、各々が識別可能な複数種類の識別情報を変動表示可能な可変表示部を複数備え、可変表示部を変動表示した後、可変表示部の変動表示を停止することで表示結果を導出し、複数の可変表示部の表示結果の組合せである表示結果組合せに応じて入賞が発生可能なスロットマシンであってもよい。上述した遊技機1は、各々が識別可能な複数種類の識別情報の変動表示の結果に応じて、遊技者にとって有利な大当り遊技状態に制御可能なパチンコ遊技機であってもよい。
【0110】
[特定状態について]
上記実施形態では、特定状態としてエラー状態を例に挙げたが、例えば、設定値を変更する設定変更状態、設定値を確認する設定確認状態、演出に関する演出メニューを表示する演出メニューの表示状態、当たりの発生確率が変動する確率変動状態、出玉率が上昇する高ベース状態など、上記実施形態と異なる態様の特定状態としてもよい。
【0111】
[特別事象について]
上記実施形態では、特別事象として遊技進行スイッチ100の操作を例に挙げたが、例えば、遊技球の入賞の検出など、上記実施形態と異なる態様の特別事象としてもよい。なお、遊技球の入賞検出を特別事象とした場合には、特別処理として遊技球の払出しが行われる。
【0112】
[判定データについて]
上記実施形態では、判定データとして、リセットスイッチ23およびリセット/設定スイッチ38のエッジデータ、遊技進行スイッチ100のエッジデータを例に挙げたが、例えば、設定変更状態や設定確認状態を終了させる設定キースイッチのエッジデータ、演出メニューの表示状態を終了させる演出用スイッチのエッジデータ、賭数を設定するBETスイッチのエッジデータ、リールを回転させるためのスタートスイッチのエッジデータ、可変表示部の変動表示を停止させるストップスイッチのエッジデータ、遊技球の入賞を検出する入賞検出スイッチのエッジデータなど、上記実施形態と異なる態様の判定データとしてもよい。
【符号の説明】
【0113】
1 遊技機、51 液晶表示器、53,54 スピーカ