(57)【要約】【課題】意図せずに特定状態が終了することを防止する。【解決手段】エラー状態に移行したときにエラー処理内の処理において割込１回待ち処理を実行することにより、リセットスイッチ２３のエッジデータの作成処理が新たに行われる。そして、センサ電源の短絡によりエラー状態に移行したときには、実際にはセットスイッチ２３は操作されていないため、割込１回待ち処理が実行されてエッジデータが新たに作成されると、ｏｆｆエッジデータが新たに作成される。よって、リセットスイッチ２３がＯＦＦ状態であることが検出される。このため、エラー処理に移行する前におけるリセットスイッチ２３の検出状態の変化によりエラー処理が終了してしまうことがなくなる。【選択図】図１３
2019141242.tif 000002
【特許請求の範囲】
【請求項１】
遊技を行う遊技機において、
特定状態に移行させる特定状態移行手段と、
前記特定状態において特定操作が行われたときに前記特定状態を終了させる特定状態終了手段と、
前記特定操作が行われたか否かを判定するための判定データを参照することにより、前記特定操作が行われたか否かを判定する判定手段と、
前記判定データを作成する作成処理を定期的に実行する作成処理実行手段とを備え、
前記判定手段は、前記特定状態に移行した後に少なくとも前記作成処理が１回実行された後に前記特定操作が行われたか否かを判定する
ことを特徴とする遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遊技を行う遊技機に関する。
【背景技術】
【０００２】
遊技機として、遊技球などの遊技媒体を発射装置によって遊技領域に発射し、遊技領域に設けられている入賞口などの始動入賞領域に遊技媒体が入賞したときに複数種類の識別情報の可変表示が行われるパチンコ遊技機や、所定の賭数を設定し、スタート操作が行われたときに、複数種類の識別情報（例えば、図柄）の可変表示が行われるスロットマシンなどがある。このように識別情報の可変表示を実行可能に構成された遊技機では、可変表示部において識別情報の可変表示の表示結果が所定の表示結果となった場合に、所定の遊技価値（例えば、大当たり状態への移行など）を遊技者に与えるように構成されたものがある。
【０００３】
このような遊技機として、特定状態に相当するエラー状態に移行したときに、一定間隔毎の割込処理の実行を待つことなくエラー状態の解除操作（すなわち、特定状態を終了させる特定操作）が行われたか否かを判定する遊技機が知られている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６-１３１６３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、ノイズの発生や不正な信号の一斉入力など要因に起因して複数のセンサが一斉に検出状態になることがある。そして、遊技機によっては複数のセンサが一斉に検出状態になると特定状態に移行するものがある。また、複数のセンサが検出状態になったときに特定操作も検出状態となってしまうことがある。この場合には、特定操作が検出状態になったことにより、特定操作が行われていないにも関わらず、特定状態に移行した後に即座に特定状態が終了してしまう。このように、従来の遊技機は、特定状態に移行する前に変化した特定操作の操作状態によって意図せず特定状態が終了してしまう不都合が生じるおそれがある。
【０００６】
本発明は、このような問題点に着目してなされたものであり、意図せずに特定状態が終了することを防止できる遊技機を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の遊技機は、
遊技を行う遊技機（例えば、遊技機１）において、
特定状態（例えば、エラー状態）に移行させる特定状態移行手段（例えば、図７のＳｄ１１の処理を行う部分）と、
前記特定状態において特定操作（例えば、リセットスイッチ２３またはリセット／設定スイッチ３８の操作）が行われたときに前記特定状態を終了させる特定状態終了手段（図１０のＳｅ１６、Ｓｅ１７の処理を行う部分）と、
前記特定操作が行われたか否かを判定するための判定データを参照することにより、前記特定操作が行われたか否かを判定する判定手段（例えば、図１０のＳｅ１５〜Ｓｅ１７の処理を行う部分）と、
前記判定データを作成する作成処理を定期的に実行する作成処理実行手段（例えば、図３のＳｂ６、Ｓｂ７の処理を行う部分）とを備え、
前記判定手段は、前記特定状態に移行した後に少なくとも前記作成処理が１回実行された後に前記特定操作が行われたか否かを判定する（例えば、図９のＳｅ１０の処理を行う部分、図１１、図１３に示す部分）。
この構成によれば、意図せずに特定状態が終了することを防止できる。
すなわち、ノイズの発生や不正な信号の一斉入力など要因に起因して特定状態に移行した場合に、特定状態に移行する前に変化した特定操作の操作状態によってそのまま即座に特定状態が終了してしまうような状況が生じることを防止できる。
【０００８】
特定状態において作成処理の実行を待つための待機処理を実行する待機処理実行手段（例えば、図９のＳｅ１０の処理を行う部分）を備えた。
この構成によれば、好適な処理により作成処理が実行されることを担保できる。
【０００９】
特定状態に移行した後に該特定状態に移行したことを報知するための報知処理を実行する報知処理実行手段（例えば、図９のＳｅ４〜Ｓｅ８の処理の処理を行う部分）と、
該特定状態において前記報知処理が実行された後に作成処理の実行を待つための待機処理を実行する待機処理実行手段（例えば、図９のＳｅ１０の処理を行う部分）とを備えた。
この構成によれば、特定状態に移行したことを報知するための報知処理が実行されることを担保できる。
【００１０】
少なくとも特定状態では発生し得ない所定事象の発生を検出する所定事象検出手段（例えば、図１０のＳｅ１１〜Ｓｅ１３の処理を行う部分）を備え、
特定状態終了手段は、前記所定事象検出手段により前記所定事象の発生が検出されていないことを条件として前記特定状態を終了させる（例えば、図１０のＳｅ１４の処理を行う部分）。
この構成によれば、異常な状況で特定状態が終了することを防止できる。
特に、複数のセンサの一斉検出（ノイズの発生や不正な信号の一斉入力、センサの電源系統の短絡など）が発生して特定状態に移行した場合に、複数のセンサの検出状態が残った状態で特定状態が終了してしまうことを防止できる。
【００１１】
特定状態を終了させる特定操作は、第１特定操作（例えば、リセットスイッチ２３の操作）と第２特定操作（例えば、リセット／設定スイッチ３８の操作）とを含み、
特定状態終了手段は、前記第１特定操作と前記第２特定操作のいずれか一方の操作が行われたときに特定状態を終了させるとともに、前記第１特定操作と前記第２特定操作の両方の操作が同時に行われているときでも前記特定状態を終了させる（図１０のＳｅ１６、Ｓｅ１７の処理を行う部分）。
この構成によれば、特定状態を好適に終了させることができる。また、特定操作の利便性を高めることができる。
【００１２】
上記課題を解決するために、本発明の遊技機は、
遊技を行う遊技機（例えば、遊技機１）において、
特定状態（例えば、エラー状態）に移行させる特定状態移行手段（例えば、図７のＳｄ１１の処理を行う部分）と、
前記特定状態において終了条件が成立したときに前記特定状態を終了させる特定状態終了手段（例えば、図１０のＳｅ１６、Ｓｅ１７の処理を行う部分）と、
前記特定状態が終了した後に、特別事象の発生（例えば、遊技進行スイッチ１００の操作）が検出されたときに特別処理を実行する特別状態（例えば、通常状態）に移行させる特別状態移行手段（例えば、図７のＳｄ１１の処理の後にＳｄ７以降の処理が実行される部分）と、
前記特別事象の発生が検出されたか否かを判定するための判定データを参照することにより、前記特別事象の発生が検出されたか否かを判定する判定手段（例えば、図８のＳｄ１９の処理を行う部分）と、
前記判定データを作成する作成処理を定期的に実行する作成処理実行手段（例えば、図３のＳｂ６、Ｓｂ７の処理を行う部分）とを備え、
前記判定手段は、前記特定状態の終了条件が成立した後に少なくとも前記作成処理が１回実行された後に前記特別事象の発生が検出されたか否かを判定する（例えば、図１０のＳｅ２２の処理を行う部分、図１２、図１４に示す部分）。
この構成によれば、意図しない制御が行われることを防止できる。
すなわち、ノイズの発生や不正な信号の一斉入力など要因に起因して特定状態から特別状態に移行した場合に、特定状態が終了する前に検出された特別事象の発生がそのまま復帰後の特別処理に反映されることを防止できる。
【００１３】
特定状態において作成処理の実行を待つための待機処理を実行する待機処理実行手段（例えば、図９のＳｅ２２の処理を行う部分）を備えた。
この構成によれば、好適な処理により作成処理が実行されることを担保できる。
【００１４】
終了条件が成立した後に該特定状態が終了することを報知するための報知処理を実行する報知処理実行手段（例えば、図１０のＳｅ１８の処理を行う部分）と、
該特定状態において前記報知処理が実行された後に作成処理の実行を待つための待機処理を実行する待機処理実行手段（例えば、図１０のＳｅ２２の処理を行う部分）とを備えた。
この構成によれば、特定状態が終了することを報知するための報知処理が実行されることを担保できる。
【図面の簡単な説明】
【００１５】
【図１】本実施の形態に係る遊技機を示す図である。
【図２】遊技機が実行するタイマ割込処理のフローチャートである。
【図３】遊技機が実行するポート入力処理のフローチャートである。
【図４】ポート入力処理によりポート入力データが更新される流れについて説明するためのタイミングチャートである。
【図５】ポート入力処理によりポート入力データが更新される流れについて説明するためのタイミングチャートである。
【図６】遊技機が実行するメイン処理のフローチャートである。
【図７】遊技機がメイン処理内で実行する遊技開始待ち処理のフローチャートである。
【図８】遊技機がメイン処理内で実行する遊技開始待ち処理のフローチャートである。
【図９】遊技機が遊技開始待ち処理内で実行するエラー処理のフローチャートである。
【図１０】遊技機が遊技開始待ち処理内で実行するエラー処理のフローチャートである。
【図１１】センサ電源が短絡されてエラー状態に移行したときにポート入力処理によりポート入力データが更新される流れについて説明するためのタイミングチャートである。
【図１２】電源が短絡されてエラー状態が終了したときにポート入力処理によりポート入力データが更新される流れについて説明するためのタイミングチャートである。
【図１３】リセットスイッチが操作されたか否かを判定するタイミングについて具体例である。
【図１４】遊技進行操作スイッチが操作されたか否かを判定するタイミングについて具体例である。
【発明を実施するための形態】
【００１６】
［遊技機の構成］
図１は、本実施の形態に係る遊技機１を示す図である。図１に示すように、本実施の形態に係る遊技機１は、画像を表示する液晶表示器５１と、楽曲や演出音などの音声を出力するスピーカ５３，５４とを備える。
【００１７】
また、遊技機１には、筐体の前面扉に対して所定のキー操作を行うことによりエラー状態を解除するリセットスイッチ２３が設けられている。さらに、遊技機１の筐体の内部には、通常時においてはエラー状態や打止状態を解除するためのリセットスイッチとして機能し、設定変更状態においては後述する内部抽選の当選確率（出玉率）の設定値を変更するための設定スイッチとして機能するリセット／設定スイッチ３８が設けられている。エラー状態に移行したときには、リセットスイッチ２３とリセット／設定スイッチ３８とのいずれかを操作（特定操作）することによりエラー状態を解除することができ、さらに、リセットスイッチ２３とリセット／設定スイッチ３８との両方を操作してもエラー状態を解除することができる。エラー状態が解除されると、遊技の進行に基づく処理が行われる通常状態に移行する。
【００１８】
なお、前面扉は、店員等が所持する所定のキー操作により開放可能な構成であるため、リセット／設定スイッチ３８は、キーを所持する店員等の者のみが操作可能とされ、遊技者による操作ができないようになっている。また、所定のキー操作によりエラー状態を解除するリセットスイッチ２３も同様である。
【００１９】
遊技機１において、遊技の進行に応じた処理が行われる通常状態からエラー状態に移行する要因として、静電気などによるノイズの影響や不正な信号の一斉入力、センサの電源短絡などがある。遊技機１では、センサやスイッチの電源は１つの電源から供給されている。このため、故意にいずれかのセンサやスイッチの電源を短絡させて当該センサやスイッチの検出状態を変化させることにより利益を得ようとする不正行為が行われると、全てのセンサやスイッチの電源が短絡して全てのセンサやスイッチの検出状態が変化してしまうことがある。この場合には、エラーの発生を検出するセンサの検出状態が変化するとエラー状態に移行してしまう。また、ノイズの影響や不正な信号の一斉入力によりセンサやスイッチの検出状態が変化した場合においても同様にエラー状態に移行してしまう。
【００２０】
また、遊技機１は、遊技の進行に係る操作を行う遊技進行スイッチ１００を備えている。遊技進行スイッチ１００の操作が検出（すなわち、特別事象の発生の検出）されると特別処理が実行される。遊技進行スイッチ１００は、例えば、賭数を設定するＢＥＴスイッチ、可変表示部の変動表示を開始させるスタートスイッチ、可変表示部の変動表示を停止させるストップスイッチ、遊技球を発射させる遊技用ハンドル、演出に用いる演出用スイッチである。ＢＥＴスイッチの操作が検出されると特別処理として賭数を設定する処理が実行される。スタートスイッチの操作が検出されると特別処理としてリールが回転開始させる処理が実行される。ストップスイッチの操作が検出されると特別処理としてリールを停止させる処理が実行される。遊技用ハンドルの操作が検出されると特別処理として遊技球の発射処理が実行される。演出用スイッチの操作が検出されると特別処理として演出の態様を変化させる処理が実行される。
【００２１】
遊技機１は、遊技の進行に関する主制御部を備えている。主制御部は、１チップマイクロコンピュータであり、プログラムに従って制御動作を行うＣＰＵ、遊技進行制御用のプログラムなどを記憶するＲＯＭ、ワークメモリとして使用される記憶手段としてのＲＡＭなどを備えている。また、主制御部はパラレル出力ポートを介して副制御部に各種のコマンドを送信する。主制御部から副制御部へ送信されるコマンドは一方向のみで送られ、副制御部から主制御部へ向けてコマンドが送られることはない。副制御部は、液晶表示器５１、スピーカ５３、５４等の演出装置の出力制御を行う。主制御部はパラレル入力ポートなどを介して外部から各種信号の入力を受け付ける受信動作を行う。
【００２２】
［タイマ割込処理］
次に、主制御部が所定のタイミングで行うタイマ割込処理について、図２に基づいて説明する。主制御部は、一定時間間隔（本実施例では、約０．５６ｍｓ）毎に定期的にタイマ割込処理を実行する。なお、タイマ割込処理の実行間隔は、メイン処理（図６参照）において制御状態に応じて繰り返す処理が一巡する時間とタイマ割込処理の実行時間とを合わせた時間よりも長い時間に設定されており、今回と次回のタイマ割込処理との間で必ず制御状態に応じて繰り返す処理が最低でも一巡することとなる。
【００２３】
図２に示すように、タイマ割込処理では、先ず、使用中のレジスタのデータをスタック領域に退避する（Ｓａ１）。次いで、停電判定処理を行う（Ｓａ２）。停電判定処理では、電断検出回路から電圧低下信号が入力されているか否かを判定して、電圧低下信号が入力されていれば、前回のタイマ割込処理における停電判定処理でも電圧低下信号が入力されていたか否かを判定し、前回の停電判定処理でも電圧低下信号が入力されていた場合には、遊技機１への電力供給が停止されて停電が発生していると判定して、その旨を示す電断フラグをＲＡＭ４１ｃの所定領域に設定する。
【００２４】
Ｓａ２のステップにおける停電判定処理の後、ＲＡＭの所定領域に電断フラグが設定されているか否かを判定し（Ｓｅ３）、電断フラグが設定されていなければ、メイン処理により制御される遊技の進行段階に応じて各種制御を行うための処理（例えば、カウンタの更新に関する処理、ポート入力バッファの更新に関する処理、スイッチ類の入力判定に関する処理、リールモータの位相信号の更新に関する処理、コマンドの送信に関する処理等）を順次実行する。
【００２５】
タイマ割込処理では、当該タイマ割込処理において行う複数の処理の一つとして、ポート入力処理を１回実行する（Ｓａ４）。ポート入力処理は、初期設定処理及び設定変更処理において呼び出される場合と同様に、ＣＡＬＬＦ命令を用いて呼び出される。ポート入力処理が呼び出されて実行されることで、該タイマ割込処理が行われた時点でパラレル入力ポートを介して得られる各種スイッチ類の検出信号等に基づいて、ポート入力バッファに格納されている各種スイッチ類の入力データ、確定データ、エッジデータが更新されることとなる。更新されたポート入力バッファのデータは、その後、タイマ割込処理で行われるスイッチ入力判定処理、メイン処理における各種スイッチ類の入力の判定に関する処理等で参照されて、スイッチ類の入力状況に応じて遊技の進行に関する処理が行われることとなる。
【００２６】
そして、タイマ割込処理では、当該タイマ割込処理において行う複数の処理が全て終了した後には、Ｓａ１のステップにおいてスタック領域に退避したデータをレジスタに復帰させて、当該処理を終了させ、タイマ割込処理が実行される前のメイン処理における処理に戻る。
【００２７】
［ポート入力バッファの構成について］
次に、スイッチ類の検出状態に関するデータが格納されるポート入力バッファの構成について説明する。
【００２８】
主制御部が備えるパラレル入力ポートには、スイッチ類から出力される検出信号が入力されるようになっている。また、主制御部のＲＡＭの所定領域には、各スイッチ類について検出信号に基づいて特定される検出状態を特定可能な入力データと、該当するスイッチ類の今回の入力データの確定データと、該当するスイッチ類について今回と前回の確定データが異なる状態であることを示すエッジデータとを格納可能なポート入力バッファが設定されている。主制御部は、後述する所定のタイミングでパラレル入力ポートを参照して、検出信号に基づいて特定される各スイッチ類の検出状態を入力データとして取得し、当該取得した入力データに基づいてポート入力バッファに格納されている入力データ、確定データ、エッジデータを更新するようになっている。
【００２９】
ポート入力バッファとして、ＲＡＭのメモリ領域のうち連続する９バイト分の領域が設定されており、当該９バイト分の領域を構成する１ビット毎の領域に、予め定められたスイッチ類に対応する入力データ、確定データ、エッジデータが格納されるようになっている。また、当該９バイト分の領域には、所定の初期値と当該初期値に１ずつ加算して得られる連続する値からなるアドレスが１バイト毎に割り振られており、ポート入力バッファを構成する１バイト毎の領域をアドレスに基づいて特定可能となっている。
【００３０】
ポート入力バッファを構成する各１ビットの領域には、所定のスイッチ類の入力データ、確定データ、エッジデータが格納される領域として割り当てられている。
【００３１】
［ポート入力処理ついて］
次に、主制御部がタイマ割込処理内で実行するポート入力処理について図３を用いて説明する。
【００３２】
図３に示すように、ポート入力処理では、先ず、ポート入力バッファに格納されているデータを所定のレジスタに読み出す（Ｓｂ１）。その後、パラレル入力ポートを参照してスイッチ類の検出信号等の入力データを新たに取得し（Ｓｂ２）、ポート入力バッファに格納されている入力データを新たに取得した入力データに更新する（Ｓｂ３）。
【００３３】
その後、Ｓｂ４のステップで更新した新たな入力データ（今回データ）に基づき、今回の入力データにより特定される状態を確定データとして、各スイッチ類の確定データを作成する（Ｓｂ４）。そして、ポート入力バッファに格納されている確定データを、Ｓｂ５のステップで作成した確定データに更新する（Ｓｂ５）。
【００３４】
その後、Ｓｂ１のステップでレジスタに読み出した確定データ（前回データ）と、Ｓｂ５のステップで更新した新たな確定データ（今回データ）とをビット単位で比較して、各スイッチ類について前回と今回の確定データがｏｆｆ状態からｏｎ状態に変化しているか否かを判定し、該当するスイッチ類については、ｏｎエッジデータを作成する（Ｓｂ６）。また、各スイッチ類について前回と今回の確定データがｏｎ状態からｏｆｆ状態に変化しているか否かを判定し、該当するスイッチ類については、ｏｆｆエッジデータを作成する（Ｓｂ６）。その後、ポート入力バッファに格納されているエッジデータを、Ｓｂ６のステップで作成したｏｎエッジデータまたはＳｂ６のステップで作成したｏｆｆエッジデータに更新する（Ｓｂ７）。なお、本実施形態においては、Ｓｂ６およびＳｂ７の処理がエッジデータ（判定データ）の作成処理である。
【００３５】
本実施例の主制御部は、スロットマシン１への電力供給が開始されて起動した後、遊技の進行に応じた処理を行うメイン処理（図６参照）を繰り返しループさせて行い、所定の時間間隔毎に当処理に割り込んでタイマ割込処理（図２参照）を行う。そして、タイマ割込処理では、ポート入力処理を行うことで、パラレル入力ポートを介して入力される各種スイッチ類の検出状態に関する入力データ、確定データ、エッジデータを更新して、ポート入力バッファに格納するようになっている。
【００３６】
例えば、図４に示すように、パラレル入力ポートに接続されている一のスイッチについて、遊技者等により操作が行われておらず検出状態がＯＦＦの状態であった当該スイッチが操作されることで、当該スイッチの検出状態がＯＦＦの状態からＯＮの状態に変化し、所定の期間にわたりＯＮの状態で維持されるような場合には、タイマ割込処理毎にポート入力処理が行われることにより、ポート入力バッファに格納されている当該スイッチの入力データは、タイマ割込が行われてポート入力処理が行われた時点での当該スイッチの検出状態を示すデータに更新されるので、当該スイッチが操作された後の最初のタイマ割込が行われるときまでは、検出状態がＯＦＦの状態であることを示す「０」が入力データとして設定され、ポート入力バッファにおける当該スイッチに該当するビット領域に格納される。そして、当該スイッチが操作されて最初のタイマ割込が行われたとき以降では、検出状態がＯＮの状態であることを示す「１」が入力データとして該当するビット領域に格納される。
【００３７】
また、確定データについて、ポート入力処理では、ポート入力処理が行われた時点で更新された入力データ（今回のデータ）により特定される検出状態に設定するように更新するので、当該スイッチの確定データについては、当該スイッチが押下されたことで入力データが「１」に更新されたタイマ割込から、検出状態がＯＮの状態であることを示す「１」が確定データとして該当するビット領域に格納される。
【００３８】
また、エッジデータについて、ポート入力処理では、ポート入力処理が行われた時点で更新された確定データ（今回のデータ）と更新前の確定データ（前回のデータ）を比較して、両データが一致する場合には、検出状態が変化していないことを示すエッジデータを作成し、両データが一致しない場合であって、ＯＦＦの状態からＯＮの状態に変化している場合には、ｏｎエッジデータを作成し、ＯＮの状態からＯＦＦの状態に変化している場合には、ｏｆｆエッジデータを作成して、作成したｏｎエッジデータ、ｏｆｆエッジデータに更新するので、当該スイッチのエッジデータについては、当該スイッチが操作されたことで入力データが「１」に更新されたタイマ割込において、確定データが「０」から「１」に更新されたときに、検出状態が変化したことを示すエッジデータとして「１」が、ポート入力バッファにおける当該スイッチのｏｎエッジデータに該当するビット領域に格納される。一方、当該ｏｎエッジデータが「１」に設定されたタイマ割込以外のタイマ割込では、検出状態が変化していないことを示すエッジデータとして「０」が、当該スイッチのｏｎエッジデータのビット領域に格納される。なお、特に図示しないが、ｏｆｆエッジデータについては、各タイマ割込において検出状態が変化していないことを示すエッジデータとして「０」が、ポート入力バッファにおける当該スイッチのｏｆｆエッジデータのビット領域に格納される。
【００３９】
また、例えば、図５に示すように、一のスイッチについて、遊技者等により操作が行われており検出状態がＯＮの状態であった当該スイッチが離されることで、当該スイッチの検出状態がＯＮの状態からＯＦＦの状態に変化し、所定の期間にわたりＯＦＦの状態で維持されるような場合にも、前述のように当該スイッチの検出状態がＯＦＦの状態からＯＮの状態に変化する場合と同様に、タイマ割込処理毎にポート入力処理が行われることにより、ポート入力処理が行われた時点での当該スイッチの検出状態に応じたデータが入力データとして設定され、ポート入力バッファにおける当該スイッチに該当するビット領域に格納される。
【００４０】
また、確定データについても、前述のように当該スイッチの検出状態がＯＦＦの状態からＯＮの状態に変化する場合と同様に、今回の入力データにより特定される検出状態を示す値に設定され、ポート入力バッファにおける当該スイッチに該当するビット領域に格納される。
【００４１】
また、前述のように当該スイッチの検出状態がＯＦＦの状態からＯＮの状態に変化する場合と同様に、前回と今回の確定データが一致している場合には、検出状態が変化していないことを示すエッジデータを作成し、両データが一致しない場合であって、ＯＦＦの状態からＯＮの状態に変化している場合には、ｏｎエッジデータを作成し、ＯＮの状態からＯＦＦの状態に変化している場合には、ｏｆｆエッジデータを作成して、作成したｏｎエッジデータ、ｏｆｆエッジデータに更新する。これにより、当該スイッチのエッジデータについては、当該スイッチが離されたことで入力データが「０」に更新されたタイマ割込において、確定データが「１」から「０」に更新されたときに、検出状態が変化したことを示すエッジデータとして「１」が、ポート入力バッファにおける当該スイッチのｏｆｆエッジデータに該当するビット領域に格納される。一方、当該ｏｆｆエッジデータが「１」に設定されたタイマ割込以外のタイマ割込では、検出状態が変化していないことを示すエッジデータとして「０」が、当該スイッチのｏｆｆエッジデータのビット領域に格納される。なお、特に図示しないが、ｏｎエッジデータについては、各タイマ割込において検出状態が変化していないことを示すエッジデータとして「０」が、ポート入力バッファにおける当該スイッチのｏｎエッジデータのビット領域に格納されることとなる。
【００４２】
［メイン処理］
次に、主制御部が実行するメイン処理、メイン処理内で実行する遊技開始待ち処理（図７および図８参照）、遊技開始待ち処理内で実行するエラー処理（図９および図１０参照）において本発明を実施した例について説明する。なお、これらの各処理は、遊技機１がスロットマシンである場合に実行される処理を例に挙げている。
【００４３】
まず、メイン処理について図６を用いて説明する。なお、メイン処理は一単位の遊技毎に繰り返し実行される。そして、メイン処理の一周期が遊技の一単位に相当している。
【００４４】
図６に示すように、メイン処理では、主制御部は、まず、遊技開始待ち処理を実行する（Ｓｃ１）。遊技開始待ち処理では、賭数を設定可能な状態で待機し、遊技状態に応じた規定数の賭数が設定され、遊技進行スイッチ１００であるスタートスイッチが操作された時点で遊技を開始させる処理を実行する。
【００４５】
次いで、内部抽選処理を実行する（Ｓｃ２）。内部抽選処理では、Ｓｃ１のステップにおけるスタートスイッチの検出によるゲーム開始と同時にラッチされた内部抽選用の乱数値に基づいて上記した各役への入賞を許容するか（すなわち、表示結果の導出を許容するか否か）どうかを決定する処理を行う。この内部抽選処理では、それぞれの抽選結果に基づいて、ＲＡＭに当選フラグが設定される。なお、内部抽選により特別役（ＢＢまたはＲＢ）に当選した場合は特別役持ち越しフラグセットされる。そして、上記したように特別役持ち越しフラグの有無を判定することによって特別役の持ち越しの有無を判定し、持ち越しの有無に応じた当選役（特別役持ち越し中には特別役は内部抽選の対象から除外される）について判定処理が行われる。
【００４６】
次いで、リール制御処理を実行する（Ｓｃ３）。リール制御処理では、スタートスイッチの操作に応答して各リールを回転させる処理、Ｓｃ２のステップにおける内部抽選の結果および遊技者によるストップスイッチの操作が検出されたことに応じて対応するリールの回転を停止させる処理を実行する。
【００４７】
次いで、遊技終了時設定処理を実行する（Ｓｃ４）。遊技終了時設定処理では、Ｓｃ３の処理において全てのリールの回転が停止したと判定した時点で、各リールに導出された表示結果に応じて入賞が発生したか否かを判定する処理を実行する。そして、入賞が発生したと判定した場合に、その入賞に応じた払出枚数に基づきクレジットの加算並びにメダルの払出等の処理を行う。入賞が発生した場合にはメダルの払い出し等が終了した後に次のゲームに備えて遊技状態を設定する処理を実行する。また、入賞が発生しなかった場合にはリールが停止した後に、次のゲームに備えて遊技状態を設定する処理を実行する。
【００４８】
また、メイン処理では、ゲームの進行制御に応じてコマンドを生成してコマンドバッファに設定し、副制御部に送信されるようになっている。
【００４９】
［遊技開始待ち処理］
次に、主制御部が実行するメイン処理内で実行する遊技開始待ち処理について図７および図８を用いて説明する。
【００５０】
図７および図８に示すように、主制御部は、遊技開始待ち処理では、まず、クレジットされているメダルの枚数（クレジット枚数）をカウントしているクレジットカウンタのカウント値を取得する（Ｓｄ１）。次いで、取得したカウント値からクレジット枚数を識別し、クレジット枚数を特定可能なクレジット枚数コマンドを送信データレジスタにセットする（Ｓｄ２）。次いで、送信データレジスタにセットしたコマンドをシリアルデータに変換して送信用シフトレジスタに格納する通信データ格納処理を実行する（Ｓｄ３）。通信データ格納処理により送信用シフトレジスタに格納されたコマンドデータは直ぐに副制御部に送信される。副制御部はクレジット枚数を液晶表示器５１により表示する。
【００５１】
次いで、クレジット枚数を表示するための投入枚数表示処理を実行する（Ｓｄ４）。この後、ホッパーユニットのホッパータンクから溢れたメダルが貯留されるオーバーフロータンクが満タン状態となり、これにより発生する満タンエラーのエラーコードをＲＡＭにセットする（Ｓｄ５）。満タンエラーはオーバーフロータンクの内部に設けられている満タンセンサにより検出される。
【００５２】
そして、満タンエラーが発生したか否かを判定する（Ｓｄ６）。満タンエラーが発生していないときにはＳｄ７に進む。満タンエラーが発生したときには図９および図１０に示すエラー処理（Ｓｄ１１）を実行してからＳｄ７に進む。なお、満タンエラーは、オーバーフロータンクが満タン状態になったときに検出される他、ノイズの発生や不正な信号の一斉入力、センサ電源の短絡などに起因して満タンセンサの検出状態が変化したときにも検出される。よって、オーバーフロータンクが満タン状態になっていないにも関わらず、エラー処理が実行されてエラー状態に移行することがある。
【００５３】
次に、再遊技（リプレイ）が入賞したときに設定されていた賭数をカウントする再遊技用メダルカウンタのカウント値を取得し（Ｓｄ７）、再遊技用メダルカウンタのカウント値をクリアする（Ｓｄ８）。
【００５４】
そして、Ｓｄ７のステップで取得したカウント値に基づいてカウント値が０であったか否かを判定する（Ｓｄ９）。カウント値が０でなかったときは、取得したカウント値に基づいて自動的に賭数を設定する再遊技手入れ投入処理を実行してＳｄ１３に進む（Ｓｄ１２）。カウント値が０であったときはそのままＳｄ１３に進む。Ｓｄ１３では、遊技者による賭数の設定を許可するための手入れ許可設定処理を実行する（Ｓｄ１３）。
【００５５】
次いで、タイマ割込が１回行われるまで待機する割込１回待ち処理を行う（Ｓｄ１４）。割込１回待ち処理が終了した後は、メダルセレクタが有する投入メダルセンサ、ホッパーユニットが有する払出センサにおいてエラーが発生していないか否かを判定する投入払出エラーチェック処理を実行する（Ｓｄ１５）。なお、エラーが発生していると判定されたときにはエラー処理が実行される。
【００５６】
そして、Ｓｄ１５の処理においてエラー処理が実行されたか否かを判定する（Ｓｄ１６）。Ｓｄ１５の処理においてエラー処理が実行されたときはＳｄ１４の処理に戻る。Ｓｄ１５の処理においてエラー処理が実行されていないときには、メダル投入部にメダルが投入されたときに投入メダルセンサから入力されるメダル投入信号の処理を行うメダル投入信号処理を実行する（Ｓｄ１７）。次いで、ＢＥＴスイッチが操作されたときに入力される信号を受け付ける入力受付処理を実行する（Ｓｄ１８）。
【００５７】
そして、スタートスイッチが操作されたか否かを判定するためのスタートフラグがオンになったか否かを判定する（Ｓｄ１９）。なお、スタートスイッチが操作されるとスタートフラグがオフからオンになる。また、遊技進行スイッチ１００がスタートスイッチである場合には、スタートスイッチのエッジデータ（図３のＳｂ６、Ｓｂ７参照）を参照することにより、スタートスイッチが操作されたか否かを判定する。次いで、スタートフラグがオンになっていないときは、賭数が１設定されている旨を点灯により報知する１ＢＥＴＬＥＤ、賭数が２設定されている旨を点灯により報知する２ＢＥＴＬＥＤ、賭数が３設定されている旨を点灯により報知する３ＢＥＴＬＥＤ、メダルの投入が可能な状態を点灯により報知する投入要求ＬＥＤ、ＢＥＴスイッチの操作による賭数の設定操作が有効である旨を点灯により報知するＢＥＴスイッチ有効ＬＥＤなど、各種ＬＥＤを表示させるＬＥＤ表示処理を実行し（Ｓｄ２０）、Ｓｄ１４に戻る。
【００５８】
次いで、乱数値レジスタから乱数値を読み出し（Ｓｄ２１）、読み出した乱数値を内部抽選用の乱数値としてＲＡＭに格納する（Ｓｄ２２）。そして、投入済みのメダルの枚数を取得し、ＲＡＭに格納する（Ｓｄ２３）。次いで、リールの停止制御に用いるインデックスデータなどの各種データをＲＡＭにセットし（Ｓｄ２４）、連続データ処理を実行して処理を終了する（Ｓｄ２５）。連続データ処理は、メイン処理において内部抽選処理を実行するにあたって必要なデータを作成、格納する処理である。
【００５９】
［エラー処理］
次に、図７のＳｄ１１で実行するエラー処理について図９および図１０を用いて説明する。
【００６０】
図９および図１０に示すように、エラー処理では、主制御部は、まず、エラーコードをＲＡＭに格納する（Ｓｅ１）。次いで、エラー開始コマンドを送信データレジスタにセットする（Ｓｅ２）。次いで、送信データレジスタにセットしたコマンドをシリアルデータに変換して送信用シフトレジスタに格納する通信データ格納処理を実行する（Ｓｅ３）。通信データ格納処理により送信用シフトレジスタに格納されたコマンドデータは直ぐに副制御部に送信される。副制御部は、エラー状態に移行した旨を液晶表示部５１から表示する。
【００６１】
そして、エラー要因を取得する（Ｓｅ４）。次いで、払出し枚数表示が示す払出枚数を取得し、レジスタに退避させる（Ｓｅ５）。そして、エラー表示に用いるエラー表示データを取得する（Ｓｅ６）。エラー表示は、例えば、エラーであることを示す「Ｅ」とエラーの種類を示す番号との組合せである。また、メダルが投入可能であることを示す投入可能表示ＬＥＤおよび遊技が開始可能であることを示す遊技開始表示ＬＥＤをオフにする（Ｓｅ７）。
【００６２】
次いで、エラー表示データをＲＡＭに格納する（Ｓｅ８）。そして、ＲＡＭに格納されたエラー表示データに基づいてエラー表示が行われる。
【００６３】
そして、エラーの種類がＲＡＭのデータが正常でないＲＡＭ異常エラーであるか否かを判定する（Ｓｅ９）。ＲＡＭ異常エラーであるときは、主制御部のＣＰＵが停止して待機状態に移行する。ＲＡＭ異常エラーは、リセットスイッチ２３およびリセット／設定スイッチ３８の操作では解除することができず、設定変更状態に移行して新たな設定値が設定されるまで、解除されることがない。
【００６４】
エラーの種類がＲＡＭ異常エラーでないときには、タイマ割込が１回行われるまで待機する割込１回待ち処理を行う（Ｓｅ１０）。
【００６５】
割込１回待ち処理を行った後は、投入されたメダルを検出する投入メダルセンサの状態を入力バッファから抽出する（Ｓｅ１１）。また、オーバーフロータンクが満タン状態になったことを検出する満タンセンサの状態を入力バッファから抽出する（Ｓｅ１２）。さらに、払い出されたメダルを検出する払出センサの状態を入力バッファから抽出する（Ｓｅ１３）。次いで、抽出した状態に基づいて各センサが正常な状態か否かを判定する（Ｓｅ１４）。正常な状態でないときはＳｅ１０の処理に戻る。正常な状態であるときはリセットスイッチ２３およびリセット／設定スイッチ３８のエッジデータを取得する（Ｓｅ１５）。
【００６６】
次いで、取得したエッジデータに基づいてリセット／設定スイッチ３８の操作が検出されたか否かを判定する（Ｓｅ１６）。すなわち、リセット／設定スイッチ３８の検出状態がＯＮ状態であるか否かを判定する。リセット／設定スイッチ３８の操作が検出されたときはＳｅ１８に進む。リセット／設定スイッチ３８の操作が検出されていないときは、取得したエッジデータに基づいてリセットスイッチ２３の操作が検出されたか否かを判定する（Ｓｅ１７）。すなわち、リセットスイッチ２３の検出状態がＯＮ状態であるか否かを判定する。リセットスイッチ２３の操作が検出されていないときはＳｅ１０の処理に戻る。リセットスイッチ２３の操作が検出されたときはＳｅ１８に進む。
【００６７】
Ｓｅ１８では、払出し枚数表示データを復帰し、ＲＡＭに格納する（Ｓｅ１８）。そして、ＲＡＭに格納されている払出し枚数表示データに基づいて払出枚数が表示される。これにより、エラー状態に移行する前に表示されていた払出し枚数が表示される。
【００６８】
また、副制御部に送信する送信データを送信データレジスタにセットする（Ｓｅ１９）。そして、エラーコードをクリアする（Ｓｅ２０）。次いで、送信データレジスタにセットしたコマンドをシリアルデータに変換して送信用シフトレジスタに格納する通信データ格納処理を実行する（Ｓｅ２１）。通信データ格納処理により送信用シフトレジスタに格納されたコマンドデータは直ぐに副制御部に送信される。そして、タイマ割込が１回行われるまで待機する割込１回待ち処理を行って処理を終了する（Ｓｅ２２）。
【００６９】
ここで、前述したように、遊技機１では全センサの電源が１つの電源から供給されている。このため、センサ電源を短絡させると全てのセンサやスイッチの検出状態が変化する。よって、例えば、通常状態中にセンサ電源の短絡が行われて満タンセンサの検出状態が変化したときは、リセットスイッチ２３およびリセット／設定スイッチ３８の検出状態も同時に変化する。このため、リセットスイッチ２３およびリセット／設定スイッチ３８がＯＦＦ状態であるときにはＯＮ状態に変化し、ｏｎエッジデータの作成処理が行われる（図３のＳｂ６、Ｓｂ７参照）。そして、図９および図１０のエラー処理は満タンセンサの検出状態が変化したことに起因してエラー状態に移行するため（図７のＳｄ６，Ｓｄ１１参照）、リセットスイッチ２３およびリセット／設定スイッチ３８の検出状態がＯＮ状態に変化した後に通常状態からエラー状態に移行することになる。この場合に、Ｓｅ１０における割込１回待ち処理を実行しなかった場合は、そのままＳｅ１６およびＳｅ１７の処理でリセットスイッチ２３およびリセット／設定スイッチ３８がＯＮ状態であることが検出される。このため、実際にリセットスイッチ２３およびリセット／設定スイッチ３８が操作されていないにも関わらず、エラー状態に移行する前に変化したリセットスイッチ２３およびリセット／設定スイッチ３８の検出状態に基づいてエラー状態が終了してしまう。
【００７０】
しかし、本発明では、Ｓｅ１０で割込１回待ち処理を実行することにより、リセットスイッチ２３およびリセット／設定スイッチ３８のエッジデータの作成処理が新たに行われる（図３のＳｂ６、Ｓｂ７参照）。そして、センサ電源の短絡によりエラー状態に移行したときには、実際にはリセットスイッチ２３およびリセット／設定スイッチ３８は操作されていないため、Ｓｅ１０で割込１回待ち処理が実行されてエッジデータが新たに作成されると、ｏｆｆエッジデータが新たに作成される（図３のＳｂ６、Ｓｂ７参照）。よって、Ｓｅ１６およびＳｅ１７の処理ではリセットスイッチ２３およびリセット／設定スイッチ３８がＯＦＦ状態であることが検出される。このため、エラー処理に移行する前におけるリセットスイッチ２３およびリセット／設定スイッチ３８の検出状態の変化によりエラー処理が終了してしまうことがなくなる。そして、エッジデータが新たに作成された後にエラー状態を解除するには、実際にセットスイッチ２３およびリセット／設定スイッチ３８を操作する必要がある。このように、エッジデータを１回作成した後に実際にリセットスイッチ２３またはリセット／設定スイッチ３８が操作されたか否かを判定することにより、意図せずエラー状態が終了してしまうことを防止できる。
【００７１】
また、前述したように、センサ電源を短絡させると全てのセンサやスイッチの検出状態が変化するので、例えば、エラー状態中にセンサ電源の短絡が行われた場合には、リセットスイッチ２３およびリセット／設定スイッチ３８がＯＦＦ状態であるときにはＯＮ状態に変化する。そして、本例ではＳｅ１０〜Ｓｅ１５の処理の間のタイミングにリセットスイッチ２３およびリセット／設定スイッチ３８の検出状態が変化したときは、Ｓｅ１６およびＳｅ１７の処理ではリセットスイッチ２３およびリセット／設定スイッチ３８がＯＮ状態であることが検出され、エラー状態の終了条件が成立してしまう。また、センサ電源を短絡させると全てのセンサやスイッチの検出状態が変化することから、リセットスイッチ２３およびリセット／設定スイッチ３８の検出状態が変化すると同時に、通常状態に移行したときに操作される遊技進行スイッチ１００（例えば、スタートスイッチ）の検出状態も変化する。よって、遊技進行スイッチ１００がＯＦＦ状態であるときにはＯＮ状態に変化する。このため、遊技進行スイッチ１００のエッジデータについては、ｏｎエッジデータの作成処理が行われる（図３のＳｂ６、Ｓｂ７参照）。この場合に、Ｓｅ２２での割込１回待ち処理を実行しなかった場合は遊技進行スイッチ１００のエッジデータが新たに作成されることない。よって、そのまま遊技開始待ち処理に復帰すると、例えば、遊技進行スイッチ１００がスタートスイッチである場合にはＳｄ１９の処理でスタートスイッチが操作されたと判定されてしまい、これに伴う処理が実行されてしまう。このため、実際に遊技進行スイッチ１００が操作されていないにも関わらず、センサ電源の短絡に起因して遊技進行スイッチ１００の操作に基づく特別処理が実行されてしまう。
【００７２】
しかし、本発明では、Ｓｅ２２で割込１回待ち処理を実行することにより、遊技進行スイッチ１００のエッジデータの作成処理が新たに行われる（図３のＳｂ６、Ｓｂ７参照）。そして、センサ電源の短絡により遊技進行スイッチ１００がＯＦＦ状態からＯＮ状態に変化したときは、実際には遊技進行スイッチ１００は操作されていないため、Ｓｅ２２で割込１回待ち処理が実行されてエッジデータが新たに作成されると、ｏｆｆエッジデータが新たに作成される（図３のＳｂ６、Ｓｂ７参照）。よって、例えば、遊技進行スイッチ１００がスタートスイッチである場合にはＳｄ１９の処理でスタートスイッチが操作されていないと判定される。このため、エラー状態中における遊技進行スイッチ１００の検出状態の変化に基づいて制御が行われることがなくなる。そして、エッジデータが新たに作成された後に遊技進行スイッチ１００に基づく制御を行わせるには、実際に遊技進行スイッチ１００を操作する必要がある。このように、エッジデータを１回作成した後に実際に遊技進行スイッチ１００が操作されたか否かを判定することにより、意図しない制御が行われてしまうことを防止できる。
【００７３】
また、エッジデータの作成処理の実行を待つために割込１回待ち処理を実行するので、好適な処理によりエッジデータの作成処理が実行されることを担保できる。
【００７４】
なお、Ｓｅ４〜Ｓｅ８の処理はエラー状態に移行したことを報知するための報知処理である。このように、Ｓｅ１０の処理の前にＳｅ４〜Ｓｅ８の報知処理を行うことにより、エラー状態に移行したことを報知するための報知処理が実行されることを担保できる。
【００７５】
また、エラー状態中には、メダルの投入が行われる、あるいは、ホッパーユニットのオーバーフロータンクが満タンになる、あるいは、メダルの払い出しが行われるといった所定事象は発生し得ない。よって、Ｓｅ１２〜Ｓｅ１４の処理を実行することにより、所定事象が発生していないことを条件としてエラー状態を終了させるようにしている。これにより、異常な状況で特定状態が終了することを防止できる。特に、センサ電源が一斉に短絡されて各センサやスイッチの検出状態が変化したときなどに異常な状況で特定状態が終了することを防止できる。
【００７６】
また、リセットスイッチ２３とリセット／設定スイッチ３８のいずれか一方が操作されたとき、または、リセットスイッチ２３およびリセット／設定スイッチ３８の両方が操作されたときのいずれの場合においてもエラー状態を解除することができる。よって、エラー状態を好適に終了させることができる。また、エラー状態を終了させるための特定操作の利便性を高めることができる。
【００７７】
なお、Ｓｅ１８の処理はエラー状態が終了することを報知するための報知処理である。このように、リセットスイッチ２３またはリセット／設定スイッチ３８が操作されてエラー状態の終了条件が成立した後にＳｅ１８の報知処理を行った後、Ｓｅ２２の処理を待つことにより、エラー状態が終了することを報知するための報知処理が実行されることを担保できる。
【００７８】
［スイッチが操作されたか否かの判定タイミングについて］
次に、リセットスイッチ２３またはリセット／設定スイッチ３８が操作されたか否かの判定タイミングについて従来例と比較しながら説明する。
【００７９】
例えば、図１１に示すように、通常状態中にセンサ電源を短絡にさせる不正な行為が行われたとする。これにより、全てのスイッチの検出状態がＯＦＦの状態からＯＮの状態に変化し、所定の期間にわたりＯＮの状態で維持されたとする。この場合には、リセットスイッチ２３およびリセット／設定スイッチ３８の検出状態はＯＦＦの状態からＯＮの状態に変化する。この後に、センサの電源が短絡されたことにより、エラーの発生を検出するセンサの検出状態が変化したことに起因してエラー状態に移行する。すなわち、リセットスイッチ２３およびリセット／設定スイッチ３８の検出状態がＯＮ状態に変化した後にエラー状態に移行する。
【００８０】
このとき、タイマ割込処理毎にポート入力処理が行われることにより、ポート入力バッファに格納されているリセットスイッチ２３およびリセット／設定スイッチ３８の入力データは、タイマ割込が行われてポート入力処理が行われた時点でのリセットスイッチ２３およびリセット／設定スイッチ３８の検出状態を示すデータに更新される。よって、センサの電源が短絡された後の最初のタイマ割込（２）が行われるときまでは、検出状態がＯＦＦの状態であることを示す「０」が入力データとして設定され、ポート入力バッファにおける当該スイッチに該当するビット領域に格納される。そして、最初のタイマ割込（２）では、検出状態がＯＮの状態であることを示す「１」が入力データおよび確定データとして該当するビット領域に格納される。また、検出状態がＯＦＦの状態からＯＮの状態に変化しているので、タイマ割込（２）において、検出状態が変化したことを示すエッジデータとして「１」が、ポート入力バッファにおける当該スイッチのｏｎエッジデータに該当するビット領域に格納される。
【００８１】
しかし、実際にはリセットスイッチ２３およびリセット／設定スイッチ３８が操作されていないので、その次のタイマ割込（３）では検出状態がＯＦＦの状態であることを示す「０」が入力データおよび確定データとして該当するビット領域に格納される。また、検出状態がＯＮの状態からＯＦＦの状態に変化しているので、タイマ割込（３）において、検出状態が変化したことを示すエッジデータとして「１」が、ポート入力バッファにおける当該スイッチのｏｆｆエッジデータに該当するビット領域に格納される。
【００８２】
このような場合に、従来は、リセットスイッチ２３およびリセット／設定スイッチ３８のエッジデータが新たに作成されることを待つことなく、タイマ割込（２）におけるエッジデータが参照されていた。すなわち、エラー状態に移行する前のスイッチの検出状態に基づいて作成されたエッジデータが参照されていた。この場合には、前述したように、エッジデータはｏｎエッジデータに更新されているので、リセットスイッチ２３およびリセット／設定スイッチ３８がＯＮ状態であることが検出されてしまい、実際にはリセットスイッチ２３およびリセット／設定スイッチ３８が操作されていないにもかかわらず、意図せずエラー状態が解除されてしまった。
【００８３】
しかし、本発明は、エラー処理に移行したときに、タイマ割込１回待ち処理を実行することにより、エッジデータが新たに１回作成された後（すなわち、タイマ割込（３）以降）にリセットスイッチ２３またはリセット／設定スイッチ３８が操作されたか否かを判定する。前述したようにタイマ割込（３）においてエッジデータはｏｆｆエッジデータに更新されるので、エラー状態を解除するにはリセットスイッチ２３またはリセット／設定スイッチ３８を操作する必要がある。これにより、意図せずエラー状態が終了してしまうことを防止できる。なお、図１１ではタイマ割込（６）においてリセットスイッチ２３の操作が検出されてエッジデータが参照されてエラー状態が解除された例を示している。
【００８４】
次に、遊技進行スイッチ１００が操作されたか否かの判定タイミングについて従来例と比較しながら説明する。
【００８５】
例えば、図１２に示すように、エラー状態中にセンサ電源を短絡にさせる不正な行為が行われたとする。これにより、全てのスイッチの検出状態がＯＦＦの状態からＯＮの状態に変化し、所定の期間にわたりＯＮの状態で維持されたとする。この場合には、リセットスイッチ２３およびリセット／設定スイッチ３８の検出状態はＯＦＦの状態からＯＮの状態に変化する。同時に、遊技進行スイッチ１００の検出状態もＯＦＦの状態からＯＮの状態に変化する。
【００８６】
このとき、タイマ割込処理毎にポート入力処理が行われることにより、ポート入力バッファに格納されている遊技進行スイッチ１００の入力データは、タイマ割込が行われてポート入力処理が行われた時点での遊技進行スイッチ１００の検出状態を示すデータに更新される。よって、センサの電源が短絡された後の最初のタイマ割込（２）が行われるときまでは、検出状態がＯＦＦの状態であることを示す「０」が入力データとして設定され、ポート入力バッファにおける当該スイッチに該当するビット領域に格納される。そして、最初のタイマ割込（２）では、検出状態がＯＮの状態であることを示す「１」が入力データおよび確定データとして該当するビット領域に格納される。また、検出状態がＯＦＦの状態からＯＮの状態に変化しているので、タイマ割込（２）において、検出状態が変化したことを示すエッジデータとして「１」が、ポート入力バッファにおける当該スイッチのｏｎエッジデータに該当するビット領域に格納される。
【００８７】
しかし、実際には遊技進行スイッチ１００が操作されていないので、その次のタイマ割込（３）では検出状態がＯＦＦの状態であることを示す「０」が入力データおよび確定データとして該当するビット領域に格納される。また、遊技進行スイッチ１００の検出状態がＯＮの状態からＯＦＦの状態に変化しているので、タイマ割込（３）において、検出状態が変化したことを示すエッジデータとして「１」が、ポート入力バッファにおける当該スイッチのｏｆｆエッジデータに該当するビット領域に格納される。
【００８８】
なお、リセットスイッチ２３およびリセット／設定スイッチ３８についても、遊技進行スイッチ１００と同様に入力データおよび確定データ、エッジデータが格納される。
【００８９】
そして、センサ電源の短絡により変化した検出状態に基づいて作成されたリセットスイッチ２３およびリセット／設定スイッチ３８のエッジデータはタイマ割込（２）において参照される。このとき、リセットスイッチ２３およびリセット／設定スイッチ３８のエッジデータはｏｎエッジデータに更新されているため、リセットスイッチ２３およびリセット／設定スイッチ３８がＯＮ状態であることが検出され、エラー状態の終了条件が成立する。
【００９０】
このような場合において、遊技進行スイッチ１００についても、センサ電源の短絡により変化した検出状態に基づいて作成された遊技進行スイッチ１００のエッジデータがタイマ割込（２）において参照されていた。この場合には、前述したように、エッジデータはｏｎエッジデータに更新されているので、遊技進行スイッチ１００がＯＮ状態であることが検出されてしまった。よって、実際には遊技進行スイッチ１００が操作されていないにもかかわらず、エラー状態の終了条件が成立した後に、意図せず遊技進行スイッチ１００の操作に応じた制御が行われてしまった。
【００９１】
しかし、本発明は、エラー処理の終了条件が成立した後に、タイマ割込１回待ち処理を実行することにより、エッジデータが１回作成された後（すなわち、タイマ割込（３）以降）に遊技進行スイッチ１００が操作されたか否かを判定する。前述したようにタイマ割込（３）においてエッジデータはｏｆｆエッジデータに更新されるので、遊技進行スイッチ１００の操作に応じた制御を行わせるには遊技進行スイッチ１００を操作する必要がある。これにより、意図せず遊技進行スイッチ１００の操作に応じた制御が行われてしまうことを防止できる。なお、図１２ではタイマ割込（６）において遊技進行スイッチ１００の操作が検出されてエッジデータが参照されて遊技進行スイッチ１００の操作に応じた制御が行われた例を示している。
【００９２】
［リセットスイッチが操作されたか否かを判定するタイミングの具体例］
次に、リセットスイッチが操作されたか否かを判定するタイミングについての本発明と従来例の比較を示す具体例について図１３を用いて説明する。なお、図１３（ａ）が従来例、図１３（ｂ）が本発明の実施例である。また、図１３ではリセットスイッチ２３の操作によってエラー状態が終了する例を挙げて説明する。
【００９３】
図１３（ａ）に示すように、遊技機１では全センサの電源が１つの電源から供給されている。このため、センサ電源を短絡させると全てのセンサやスイッチの検出状態が変化する。よって、センサ電源を短絡させる不正な行為が行われた場合には、リセットスイッチ２３の検出状態がＯＦＦ状態からＯＮ状態に変化する。このため、タイマ割込が発生したときにリセットスイッチ２３のエッジデータの作成処理が行われ、ｏｎエッジデータ作成される。そして、センサ電源の短絡に起因して、エラーの発生を検出するセンサも検出状態が変化するので、センサ電源が短絡されて全センサやスイッチの検出状態が変化した後に通常状態からエラー状態に移行する。このような状況において、従来は、エラー処理中の処理により次のタイマ割込を待つことなくリセットスイッチ２３のエッジデータが参照されていた。換言すると、次にエッジデータの作成処理が行われることを待つことなくリセットスイッチ２３のエッジデータが参照されていた。よって、エラー状態に移行する前に変化したリセットスイッチ２３の検出状態（ＯＮ状態）によってエラーが解除されてしまった。このため、リセットスイッチ２３が操作されていないにも関わらず意図せずにエラー状態が解除されてしまうという問題があった。
【００９４】
しかし、本発明は、図１３（ｂ）に示すように、エラー状態に移行したときにエラー処理内の処理において割込１回待ち処理を実行することにより、リセットスイッチ２３のエッジデータの作成処理が新たに行われる。そして、センサ電源の短絡によりエラー状態に移行したときには、実際にはセットスイッチ２３は操作されていないため、割込１回待ち処理が実行されてエッジデータが新たに作成されると、ｏｆｆエッジデータが新たに作成される。よって、リセットスイッチ２３がＯＦＦ状態であることが検出される。このため、エラー処理に移行する前におけるリセットスイッチ２３の検出状態の変化によりエラー処理が終了してしまうことがなくなる。そして、エッジデータが新たに作成された後にエラー状態を解除するには、実際にセットスイッチ２３を操作する必要がある。このように、エッジデータを１回作成した後に実際にリセットスイッチ２３またはリセット／設定スイッチ３８が操作されたか否かを判定することにより、意図せずエラー状態が終了してしまうことを防止できる。
【００９５】
［遊技進行操作スイッチが操作されたか否かを判定するタイミングの具体例］
次に、遊技進行操作スイッチ１００が操作されたか否かを判定するタイミングについての本発明と従来例の比較を示す具体例について図１４を用いて説明する。なお、図１４（ａ）が従来例、図１４（ｂ）が本発明の実施例である。
【００９６】
図１４（ａ）に示すように、遊技機１では全センサやスイッチの電源が１つの電源から供給されている。このため、センサ電源を短絡させると全てのセンサやスイッチの検出状態が変化する。よって、エラー状態中にセンサ電源の短絡が行われた場合には、リセットスイッチ２３がＯＦＦ状態であるときにはＯＮ状態に変化し、エラー状態の終了条件が成立し、エラー状態が解除される。また、センサ電源を短絡させると全てのセンサやスイッチの検出状態が変化することから、リセットスイッチ２３の検出状態が変化すると同時に遊技進行スイッチ１００がＯＦＦ状からＯＮ状態に変化する。このため、遊技進行スイッチ１００のエッジデータの作成処理が行われ、ｏｎエッジデータが作成される。このような状況において、従来は、次のタイマ割込を待つことなく遊技進行スイッチ１００のエッジデータが参照されていた。換言すると、次にエッジデータの作成処理が行われることを待つことなく遊技進行スイッチ１００のエッジデータが参照されていた。よって、実際に遊技進行スイッチ１００が操作されていないにも関わらず、エラー状態の終了条件が成立したときに変化した遊技進行スイッチ１００の検出状態（ＯＮ状態）によって、意図せず遊技進行スイッチ１００の操作に基づく特別処理が実行されてしまうという問題があった。
【００９７】
しかし、図１４（ｂ）に示すように、本発明では、エラー状態の終了条件が成立した後に割込１回待ち処理を実行することにより、遊技進行スイッチ１００のエッジデータの作成処理が新たに行われる。そして、センサ電源の短絡により遊技進行スイッチ１００がＯＦＦ状態からＯＮ状態に変化したときは、実際には遊技進行スイッチ１００は操作されていないため、割込１回待ち処理が実行されてエッジデータが新たに作成されると、ｏｆｆエッジデータが新たに作成される。このため、エラー状態中における遊技進行スイッチ１００の検出状態の変化に基づいて制御が行われることがなくなる。そして、エッジデータが新たに作成された後に遊技進行スイッチ１００に基づく制御を行わせるには、実際に遊技進行スイッチ１００を操作する必要がある。このように、エラー状態の終了条件が成立した後でエッジデータを１回作成した後に実際に遊技進行スイッチ１００が操作されたか否かを判定することにより、意図しない制御が行われてしまうことを防止できる。
【００９８】
なお、本実施形態では、１回のタイマ割込分の入力データに基づいて確定データを更新する構成としたが、複数回のタイマ割込分の期間にわたり同じ検出状態が継続されないと、確定データが今回の入力データの検出状態に更新されないように構成することも可能である。例えば、何らかの原因でスイッチ類の検出信号が、１回のタイマ割込のみで検出される程度の短時間で変化されるような場合（例えば、静電気などによるノイズが発生した場合や当該スイッチに誤って触れてしまった場合等）には、入力データは当該検出信号の変化に追従して検出状態に応じた値に変更されることとなるが、複数回のタイマ割込分の期間にわたり同じ検出状態が継続されないと、確定データが今回の入力データの検出状態に更新されないようにすることにより、スイッチ類の検出状態が一定期間（最低でも約２．２４ｍｓ）以上継続して検知されたことを条件に、当該当該スイッチについて有効な操作等が検出されるようになる。これにより、何らかの原因、例えば、静電気などのノイズ等によって１回のタイマ割込のみで検出される程度の短時間の検出状態が誤って検出されてしまうことを防止できる。
【００９９】
また、本実施形態では、各スイッチが操作されたときにＯＦＦ状態からＯＮ状態に変化させる構成としたが、各スイッチが操作されたときにＯＮ状態からＯＦＦ状態に変化させる構成とすることも可能である。ＯＦＦ状態からＯＮ状態に変化させる構成とした場合には静電気などのノイズ等に反応してしまう反面、電源がＯＦＦにされてもスイッチが検出状態とならないメリットがある。一方、各スイッチが操作されたときにＯＮ状態からＯＦＦ状態に変化させる構成とした場合には電源がＯＦＦにされるとスイッチが検出状態となってしまう反面、静電気などのノイズ等に反応しないメリットがある。
【０１００】
［本実施形態の効果］
本実施形態においては、エラー状態に移行した後にリセットスイッチ２３またはリセット／設定スイッチ３８のエッジデータの作成処理が１回実行された後にリセットスイッチ２３またはリセット／設定スイッチ３８の操作が行われたか否かを判定する（本例では、図９のＳｅ１０、Ｓｅ１６、Ｓｅ１７の処理を行う部分、図１１、図１３に示す部分）。
よって、意図せずにエラー状態が終了することを防止できる。
【０１０１】
本実施形態においては、エラー状態においてリセットスイッチ２３またはリセット／設定スイッチ３８のエッジデータの作成処理の実行を待つための待機処理を実行する（本例では、図９のＳｅ１０、Ｓｅ１６、Ｓｅ１７の処理を行う部分、図１１、図１３に示す部分）。
よって、好適な処理により作成処理が実行されることを担保できる。
【０１０２】
本実施形態においては、エラー状態において該エラー状態に移行したことを報知するための報知処理が実行された後にリセットスイッチ２３またはリセット／設定スイッチ３８のエッジデータの作成処理の実行を待つための待機処理を実行する（本例では、図９のＳｅ４〜Ｓｅ８の処理を行った後にＳｅ１０の処理を行う部分）。
よって、エラー状態に移行したことを報知するための報知処理が実行されることを担保できる。
【０１０３】
本実施形態においては、エラー状態では発生し得ない所定事象の発生が検出されていないことを条件としてエラー状態を終了させる（本例では、図１０のＳｅ１１〜Ｓｅ１４の処理を行う部分）。
よって、異常な状況でエラー状態が終了することを防止できる。
【０１０４】
本実施形態においては、リセットスイッチ２３とリセット／設定スイッチ３８のいずれか一方の操作が行われたときにエラー状態を終了させるとともに、リセットスイッチ２３とリセット／設定スイッチ３８の両方の操作が同時に行われているときでもエラー状態を終了させる（本例では、図９のＳｅ１６、Ｓｅ１７の処理を行う部分）。
よって、複数のアドレスを初期化するための処理を好適に実行することができる。
【０１０５】
本実施形態においては、エラー状態の終了条件が成立した後に遊技進行スイッチ１００のエッジデータの作成処理が１回実行された後に遊技進行スイッチ１００の操作が行われたか否かを判定する（本例では、図９のＳｅ２２、図８のＳｄ１７〜Ｓｄ１９の処理を行う部分、図１２、図１４に示す部分）。
この構成によれば、意図しない制御が行われることを防止できる。
【０１０６】
本実施形態においては、エラー状態において遊技進行スイッチ１００のエッジデータの作成処理の実行を待つための待機処理を実行する（本例では、図９のＳｅ２２の処理を行う部分、図１２、図１４に示す部分）。
よって、好適な処理により作成処理が実行されることを担保できる。
【０１０７】
本実施形態においては、エラー状態において該エラー状態が終了ことを報知するための報知処理が実行された後に遊技進行スイッチ１００のエッジデータの作成処理の実行を待つための待機処理を実行する（本例では、図１０のＳｅ１８の処理を行った後にＳｅ２２の処理を行う部分）。
よって、エラー状態が終了することを報知するための報知処理が実行されることを担保できる。
【０１０８】
［変形例］
以上、本発明における主な実施の形態を説明してきたが、本発明は、上記の実施の形態に限られず、種々の変形、応用が可能である。以下、本発明に適用可能な上記の実施の形態の変形例について説明する。
【０１０９】
［遊技機について］
上述した遊技機１は、各々が識別可能な複数種類の識別情報を変動表示可能な可変表示部を複数備え、可変表示部を変動表示した後、可変表示部の変動表示を停止することで表示結果を導出し、複数の可変表示部の表示結果の組合せである表示結果組合せに応じて入賞が発生可能なスロットマシンであってもよい。上述した遊技機１は、各々が識別可能な複数種類の識別情報の変動表示の結果に応じて、遊技者にとって有利な大当り遊技状態に制御可能なパチンコ遊技機であってもよい。
【０１１０】
［特定状態について］
上記実施形態では、特定状態としてエラー状態を例に挙げたが、例えば、設定値を変更する設定変更状態、設定値を確認する設定確認状態、演出に関する演出メニューを表示する演出メニューの表示状態、当たりの発生確率が変動する確率変動状態、出玉率が上昇する高ベース状態など、上記実施形態と異なる態様の特定状態としてもよい。
【０１１１】
［特別事象について］
上記実施形態では、特別事象として遊技進行スイッチ１００の操作を例に挙げたが、例えば、遊技球の入賞の検出など、上記実施形態と異なる態様の特別事象としてもよい。なお、遊技球の入賞検出を特別事象とした場合には、特別処理として遊技球の払出しが行われる。
【０１１２】
［判定データについて］
上記実施形態では、判定データとして、リセットスイッチ２３およびリセット／設定スイッチ３８のエッジデータ、遊技進行スイッチ１００のエッジデータを例に挙げたが、例えば、設定変更状態や設定確認状態を終了させる設定キースイッチのエッジデータ、演出メニューの表示状態を終了させる演出用スイッチのエッジデータ、賭数を設定するＢＥＴスイッチのエッジデータ、リールを回転させるためのスタートスイッチのエッジデータ、可変表示部の変動表示を停止させるストップスイッチのエッジデータ、遊技球の入賞を検出する入賞検出スイッチのエッジデータなど、上記実施形態と異なる態様の判定データとしてもよい。
【符号の説明】
【０１１３】
１  遊技機、５１  液晶表示器、５３，５４  スピーカ
【図１】
2019141242.tif 000003
【図２】
2019141242.tif 000004
【図３】
2019141242.tif 000005
【図４】
2019141242.tif 000006
【図５】
2019141242.tif 000007
【図６】
2019141242.tif 000008
【図７】
2019141242.tif 000009
【図８】
2019141242.tif 000010
【図９】
2019141242.tif 000011
【図１０】
2019141242.tif 000012
【図１１】
2019141242.tif 000013
【図１２】
2019141242.tif 000014
【図１３】
2019141242.tif 000015
【図１４】
2019141242.tif 000016