以下、本発明の好ましい実施例について、添付図面を参照して説明する。本実施例では、遊技機の一例として弾球遊技機の一種であるパチンコ機、特に、第1種パチンコ遊技機を用いて説明する。なお、本発明を第3種パチンコ遊技機や他の遊技機に用いることは、当然に可能である。
図1は、本発明の第1実施例のパチンコ機Pの遊技盤の正面図である。遊技盤1の周囲には、球が入賞することにより5個から15個の球が払い出される複数の入賞口2が設けられている。また、遊技盤1の中央には、複数種類の識別情報としての図柄などを表示する液晶ディスプレイ(以下単に「LCD」を称す)3が設けられている。このLCD3の表示画面はそれぞれ分割されており、分割された各表示領域において、後述する図柄作動口4へ球が入賞することに基づく特別図柄の変動表示と、LCD3の両側に配設されたゲート6へ球が通過することに基づく普通図柄の変動表示とが行われる。
LCD3の下方には、図柄作動口(第1種始動口、普通電動役物)4が設けられ、球がこの図柄作動口4へ入賞することにより、前記したLCD3の変動表示が開始される。この図柄作動口4は、LCD3において普通図柄の変動表示が所定の表示結果で終了した場合に、球が入賞し易いように開放される(普通図柄の当たり状態)。
図柄作動口4の下方には、特定入賞口(大入賞口)5が設けられている。この特定入賞口5は、LCD3の変動後の表示結果が予め定められた図柄の組み合わせの1つと一致する場合に、大当たりとなって、球が入賞しやすいように所定時間(例えば、30秒経過するまで、或いは、球が10個入賞するまで)開放される入賞口である。
この特定入賞口5内には、Vゾーン5aが設けられており、特定入賞口5の開放中に、球がVゾーン5a内を通過すると、継続権が成立して、特定入賞口5の閉鎖後、再度、その特定入賞口5が所定時間(又は、特定入賞口5に球が所定個数入賞するまで)開放される。この特定入賞口5の開閉動作は、最高で16回(16ラウンド)繰り返し可能にされており、開閉動作の行われ得る状態が、いわゆる所定の遊技価値が付与された状態(特別遊技状態)である。
なお、第3種パチンコ遊技機において所定の遊技価値が付与された状態(特別遊技状態)とは、LCD3の変動後の表示結果が予め定められた図柄の組み合わせの1つと一致する場合に、特定入賞口が所定時間開放されることをいう。この特定入賞口の開放中に、球がその特定入賞口へ入賞すると、特定入賞口とは別に設けられた大入賞口が所定時間、所定回数開放される。
図2は、パチンコ機Pの電気的構成を示したブロック図であり、特に、パチンコ機Pの遊技内容の制御を行う主制御基板Cと、賞球や貸球の払出制御を行う払出制御基板Hとの電気的構成を示したブロック図である。
パチンコ機Pの主制御基板Cは、演算装置であるMPU11と、そのMPU11により実行される各種の制御プログラムや固定値データ等を記憶したROM12と、ワークメモリ等として使用されるRAM13とを備えている。図3から図6のフローチャートに示すプログラムは、制御プログラムの一部としてROM12内に記憶されている。またRAM13には、バックアップエリア13aと、停電発生フラグ13bと、復電完了フラグ13cと、1ループフラグ13dとが設けられている。RAM13には、電源の切断後においても電源基板40からバックアップ電圧が供給されており、RAM13の各値をパチンコ機Pの電源が切断された場合にも保持(バックアップ)できるように構成されている。
バックアップエリア13aは、停電などの発生により電源が切断された場合、電源の再入時に、パチンコ機Pの状態を電源切断前の状態に復帰させるため、電源切断時(停電発生時を含む。以下、同様)のスタックポインタや、各レジスタ、I/O等の値を記憶しておりためのエリアである。このバックアップエリア13aへの書き込みは、NMI割込処理(図3参照)によって電源切断時に実行され、逆にバックアップエリア13aに書き込まれた各値の復帰は、電源入時(停電解消による電源入を含む。以下、同様)の復帰処理(復電処理)において実行される(初期化処理、図5のS21参照)。
停電発生フラグ13bは、払出制御基板Hに停電信号51が入力されたか否かを確認するためのフラグである。この停電発生フラグ13bは、払出制御基板Hから、停電処理を開始したことを示す停電処理開始コマンドを受信した場合にオンされる一方(図4参照)、後述する1ループフラグ13dをオンした場合にオフされる(図5参照)。この停電発生フラグ13bがオンされた場合は、主制御基板Cが通常の遊技処理をしているにもかかわらず、払出制御基板Hが停電処理を開始してしまった状態である。よって、主制御基板Cは、この停電フラグ13bによって、ノイズ等の影響により払出制御基板Hのみが停電処理を実行している等の異常を認識することができる。
復電完了フラグ13cは、払出制御基板Hで復電処理が終了したか否かを確認するためのフラグである。この復電完了フラグ13cは、払出制御基板Hから、復電処理が完了したことを示す復電完了コマンドを受信した場合にオンされる一方(図4参照)、復電完了コマンドの待機時間が終了して疑似リセット割込処理に復帰する場合にオフされるものである(図5参照)。
1ループフラグ13dは、主制御基板Cで行われる疑似リセット割込処理(図5参照)が1ループ行われる所定時間、主制御基板Cに停電信号51が入力されるか否か待機するためのフラグである。この1ループフラグ13dのオンは、払出制御基板Hから停電処理開始コマンドを受信して、停電発生フラグ13bがオンされた場合にオンされる。一方、主制御基板Cの疑似リセット割込処理が1ループする間に停電信号51が入力されなかった場合、又は、図3のNMI割込処理のその他の停電処理(S5参照)においてオフされる。
従来、電源基板40は、停電の発生等で電源が断された場合に、主制御基板C及び払出制御基板Hへ停電信号51を出力するが、主制御基板Cに停電信号51が入力されるタイミングと、払出制御基板Hに停電信号51が入力されるタイミングとでは、多少のタイムラグが生じる。よって、このタイムラグを解消するために、1ループフラグ13dがオンされている間は、停電信号51の誤入力と判断しないように構成される。
主制御基板Cは、停電発生フラグ13b及び1ループフラグ13dがオンされている場合、即ち、払出制御基板Hのみで停電処理が実行されてしまっている場合に、停電処理の終了によってループしている状態の払出制御基板Hを通常の処理に復帰させるため、払出制御基板Hへ復電実行コマンドを送信し、その送信後は復電完了フラグ13cがオンされるまで、処理を待機する。よって、主制御基板Cは、払出制御基板Hが正常な処理に戻るまで待機するので、主制御基板C及び払出制御基板Hが再び通常のメイン処理(疑似リセット割込処理、図5及び図8参照)に復帰した場合に、主制御基板Cと払出制御基板Hとの制御の相関関係を生じさせやすくすることができる。
MPU11は、アドレスバス及びデータバスで構成されるバスライン14を介して入出力ポート15と接続されている。入出力ポート15は、複数本の信号線16を介して払出制御基板Hと双方向通信可能に接続されるほか、複数の普通入賞スイッチ17〜20と、第1種始動口スイッチ21と、Vカウントスイッチ22と、10カウントスイッチ23と、電源基板40に設けられたクリアスイッチ43と、他の入出力装置24と、それぞれ接続されている。
普通入賞スイッチ17〜20は、遊技盤1内の複数の普通入賞口2へ入賞した球をそれぞれ検出するためのスイッチであり、各普通入賞口2の入口近傍に設けられている。第1種始動口スイッチ21は、図柄作動口(第1種始動口)4へ入賞した球を検出するためのスイッチであり、図柄作動口4の近傍に設けられている。普通入賞スイッチ17〜20のいずれか又は第1種始動口スイッチ21によって球が検出されると、払出制御基板Hによって5個の賞球が払い出される。
Vカウントスイッチ22は、特定入賞口5内のVゾーン5aへ入賞した球を検出するためのスイッチであり、また、10カウントスイッチ23は、特定入賞口5内のVゾーン5a以外へ入賞した球を検出するためのスイッチである。Vカウントスイッチ22又は10カウントスイッチ23により球が検出されると、払出制御基板Hによって15個の賞球が払い出される。
クリアスイッチ43は、電源基板40に設けられており、主制御基板C及び払出制御基板Hの各RAM13,33にバックアップされるデータをクリアするためのスイッチであり、押しボタンタイプのスイッチで構成されている。このクリアスイッチ43が押下された状態でパチンコ機Pの電源が投入されると(停電解消による電源入を含む)、RAMクリア信号52が主制御基板C及び払出制御基板Hへ出力され、RAM13,33のデータがそれぞれクリアされる。
払出制御基板Hは、賞球や貸球の払出制御を行うものであり、演算装置であるMPU31と、そのMPU31により実行される制御プログラムや固定値データ等を記憶したROM32と、ワークメモリ等として使用されるRAM33とを備えている。図4及び図6から図8に示すフローチャートのプログラムは、制御プログラムの一部としてROM32内に記憶されている。
払出制御基板HのRAM33には、バックアップエリア33aと、停電発生フラグ33bと、復電完了フラグ33cと、1ループフラグ33dとが設けられている。RAM33には、電源の切断後においても電源基板40からバックアップ電圧が供給されており、RAM33の各値をパチンコ機Pの電源が切断された場合にも保持(バックアップ)できるようにされている。
バックアップエリア33aは、前述した主制御基板Cのバックアップエリア13aと同様に、停電などの発生により電源が切断された場合、電源の再入時に、パチンコ機Pの状態を電源切断前の状態に復帰させるため、電源切断時(停電発生時を含む。以下、同様)のスタックポインタや、各レジスタ、I/O等の値を記憶しておくためのエリアである。このバックアップエリア33aへの書き込みは、NMI割込処理(図6参照)によって電源切断時に実行され、逆にバックアップエリア33aに書き込まれた各値の復帰は、電源入時(停電解消による電源入を含む。以下、同様)の復帰処理(復電処理)において実行される。
停電発生フラグ33bは、主制御基板Cに停電信号51が入力されたか否かを確認するためのフラグである。この停電発生フラグ33bは、主制御基板Cから、停電処理を開始したことを示す停電処理開始コマンドを受信した場合にオンされる一方(図4参照)、後述する1ループフラグ33dをオンした場合にオフされる(図8参照)。この停電発生フラグ33bがオンされた場合は、払出制御基板Hが通常の遊技処理をしているにもかかわらず、主制御基板Cが停電処理を開始してしまった状態である。よって、払出制御基板Hは、この停電フラグ33bによって、ノイズ等の影響により主制御基板Cのみが停電処理を実行している等の異常を認識することができる。
復電完了フラグ33cは、主制御基板Cで復電処理が終了したか否かを確認するためのフラグである。この復電完了フラグ13cは、主制御基板Cから、復電処理が完了したことを示す復電完了コマンドを受信した場合にオンされる一方(図4参照)、払出制御基板Hの疑似リセット割込処理(メイン処理)中に復電完了フラグ33cがオンされていると判断された場合にオフされるものである(図8参照)。
1ループフラグ33dは、払出制御基板Hで行われる疑似リセット割込処理(図8参照)が1ループ行われる所定時間、払出制御基板Hに停電信号51が入力されるか否か待機するためのフラグである。この1ループフラグ33dのオンは、主制御基板Cから停電処理開始コマンドを受信して、停電発生フラグ33bがオンされた場合にオンされる。一方、払出制御基板Hの疑似リセット割込処理が1ループする間に停電信号51が入力されなかった場合、又は、図7のNMI割込処理のその他の停電処理(S65参照)においてオフされる。
従来、電源基板40は、停電の発生等で電源が断された場合に、主制御基板C及び払出制御基板Hへ停電信号51を出力するが、主制御基板Cに停電信号51が入力されるタイミングと、払出制御基板Hに停電信号51が入力されるタイミングとでは、多少のタイムラグが生じる。よって、このタイムラグを解消するために、1ループフラグ33dがオンされている間は、停電信号51の誤入力と判断しないように構成される。
払出制御基板Hは、停電発生フラグ33b及び1ループフラグ33dがオンされている場合、即ち、主制御基板Cのみで停電処理が実行されてしまっている場合に、その主制御基板Cで停電処理の終了によってループしている状態を通常の処理に復帰させるため、主制御基板Cへ復電実行コマンドを送信し、その送信後は復電完了フラグ33cがオンされるまで、処理を待機する。よって、払出制御基板Hは、主制御基板Cが正常な処理に戻るまで待機するので、主制御基板C及び払出制御基板Hが再び通常のメイン処理(疑似リセット割込処理、図5及び図8参照)に復帰した場合に、主制御基板Cと払出制御基板Hとの制御の相関関係を生じさせやすくすることができる。
MPU31は、アドレスバス及びデータバスで構成されるバスライン34により入出力ポート35と接続されている。入出力ポート35は、複数本の信号線16を介して主制御基板Cと双方向通信可能に接続されるほか、電源基板40のクリアスイッチ43と、ドライバ回路36と、賞球カウントスイッチ38と、他の入出力装置39とにそれぞれ接続されている。
ドライバ回路36は、払出用モータ37を駆動し回転させるための回路である。このドライバ回路36により払出用モータ37が回転されると、その回転数に応じた賞球又は貸球の払い出しが行われる。
賞球カウントスイッチ38は、払出用モータ37によって実際に払い出された賞球を検出するためのスイッチであり、その出力は払出制御基板Hのみに入力されている。払出制御基板Hは、賞球カウントスイッチ38が賞球を検出した場合に、主制御基板Cへ賞球計数信号を出力するように構成されている。よって、賞球カウントスイッチ38を主制御基板Cと接続しなくても、主制御基板Cは賞球の払い出し動作を認識することができる。
電源基板40は、パチンコ機Pの各部へ駆動電圧を供給するための基板であると共に、パチンコ機Pの状態に基づいてバックアップ用電圧の供給、リセット信号、RAMクリア信号52及び停電信号51等を出力するものである。主制御基板Cおよび払出制御基板Hは、この電源基板40から供給される5ボルトの駆動電圧により駆動されている。この電源基板40には、停電等の発生による電源断時に、主制御基板Cおよび払出制御基板Hの各MPU11,31にNMI割込端子へ停電信号51を出力するための回路である停電監視回路42が設けられている。この停電監視回路42は、電源基板40から出力される最も大きい電圧である直流安定24ボルトの電圧を監視し、この電圧が22ボルト未満になった場合に停電(電源断)の発生と判断して、停電信号51を出力するように構成されている。この停電信号51の出力によって、主制御基板Cおよび払出制御基板Hは、停電の発生を認識し、停電処理(図3及び図7のNMI割込処理参照)を実行する。なお、電源基板40は、直流安定24ボルトの電圧が22ボルト未満になった後においても、停電処理の実行に充分な時間の間(停電時処理に好適な実行タイミングの待ち時間を含む)、制御系の駆動電圧である5ボルトの出力を正常値に維持するように構成されているので、主制御基板Cおよび払出制御基板Hは、停電時処理を正常に実行することができる。
次に、図3から図8に示すフローチャートを参照して、主制御基板C及び払出制御基板Hで行われる各処理について説明する。図3は、停電の発生等によるパチンコ機Pの電源断時に、主制御基板Cで実行されるNMI割込処理のフローチャートである。このNMI割込処理により、停電の発生等による電源断時の主制御基板Cの状態がバックアップエリア13aに記憶される。
停電の発生等によりパチンコ機Pの電源が断されると、停電信号51が主制御基板CのMPU11のNMI(Non Maskable
Interrupt)端子へ出力される。MPU11は、NMI端子に停電信号51が入力されると、実行中の制御を中断して、図3のNMI割込を開始する。停電信号51が出力された後所定時間は、主制御手段Cの処理が実行可能に電力供給されており、この所定時間内に、図3のNMI割込処理が実行される。
NMI割込処理では、まず、停電処理の開始を示す停電処理開始コマンドを払出制御基板Hへ送信する(S1)。この停電処理開始コマンドを払出制御基板Hへ送信することにより、主制御基板Cで停電処理が行われることを払出制御基板Hに認識させることができる。その後、各レジスタ、I/O等の値をスタックエリアへ書き込み(S2)、更に、スタックポインタの値をバックアップエリア13aへ書き込んで(S3)、停電の発生等による電源断時の状態を記憶する。そして、停電が発生したことを示す停電発生情報をバックアップエリア13aに書き込む(S4)。その後、主制御基板Cにおけるその他の停電処理を実行し(S5)、その後は、払出制御基板Hから復電実行コマンドを受信したか否かを確認しながら(S6)、電源が完全に断して処理が実行できなくなるまで、処理をループする(S6:No)。
一方、S6の処理において、電源が完全に断して処理が実行できなくなる前に、払出制御基板Hから復電実行コマンドを受信した場合は(S6:Yes)、ノイズ等の影響によって、払出制御基板Hに停電信号51が入力されずに主制御基板Cのみに停電信号51が入力されている状態なので、S2からS5でバックアップしたデータを復帰させて通常の処理に戻るために、処理をS7へ移行する。
S7からの処理では、まず、バックアップエリア13aからスタックポインタの値を読み出して、これをスタックエリアへ書き込み、電源断前(停電前)の状態、即ち、NMI割込発生前の状態に戻す(S7)。その後、スタックエリアへ退避した各レジスタやI/O等のデータをスタックエリアから読み出して、これら各データを元のレジスタやI/O等へ書き込む(S8)。更に、割込状態を電源断前(停電前)の状態、即ち、NMI割込発生前の状態に戻す(S9)。その後、復電処理が完了したことを示す復電完了コマンドを払出制御基板Hへ送信して(S10)、NMI割込リターンを実行して、処理を電源断前に実行していたところへ戻して、制御を電源断前の状態から続行する。
図4は、主制御基板C及び払出制御基板Hで実行されるコマンド受信処理を示したフローチャートである。なお、コマンド受信処理は、主制御基板CのROM12と払出制御基板HのROM32とに、それぞれ別々に搭載される処理であるが、フローチャートの表記上、同様に表すことができるので、図4にまとめて図示している。
コマンド受信処理では、まず、停電処理開始コマンドを受信したか否かを確認する(S11)。確認の結果、主制御基板C又は払出制御基板Hから停電処理開始コマンドを受信していれば(S11:Yes)、停電発生フラグ13bをオンして(S12)、処理をS13へ移行する。一方、S11の処理において、停電処理開始コマンドを受信していなければ(S11:No)、S12の処理をスキップして、処理をS13へ移行する。
S13の処理では、復電完了コマンドを受信したか否かを確認する(S13)。確認の結果、主制御基板C又は払出制御基板Hから復電完了コマンドを受信していれば(S13:Yes)、復電完了フラグ13cをオンして(S14)、このコマンド受信処理を終了する。一方、S13の処理において、復電完了コマンドを受信していなければ(S13:No)、S14の処理をスキップして、このコマンド受信処理を終了する。
図5は、主制御基板Cにおいて、タイマ割込により2ms毎に実行される疑似リセット割込処理(メイン処理)のフローチャートである。この疑似リセット割込処理によって、主制御基板Cでのメイン制御が行われると共に、払出制御基板Hのみに停電信号51が入力されて、主制御基板Cと払出制御基板Hとの制御の相関が崩れてしまう場合に、主制御基板Cは払出制御基板Hに復電処理を実行させて、制御の相関を保つことができるように構成されている。
疑似リセット割込処理では、まず、RAM13の初期化を含む初期化処理を実行する(S21)。その後、RAMチェックを行い(S22)、RAM13が正常であるか否かを確認する。RAMチェックの結果、RAM13に異常があれば(S23:Yes)、処理をS21へ移行して、再度、初期化処理を実行する。一方、RAMチェックの結果、RAM13に異常がなければ(S23:No)、パチンコ機Pの遊技の状態に応じた各処理を行う(S24)。
各処理(S24)の実行後は、1ループフラグ13dはオンされているか否かを確認する(S25)。1ループフラグ13dがオンされていなければ(S25:No)、次に、停電発生フラグ13bがオンされているかを確認する(S26)。ここで、停電発生フラグ13bがオンされていれば(S26:Yes)、1ループフラグ13dをオンして(S27)、停電発生フラグ13bをオフし(S28)、処理をS29へ移行する。なお、S26の処理において、停電発生フラグ13bがオンされていなければ(S26:No)、S27及びS28の処理をスキップして、処理をS29へ移行する。
S29の処理では、この疑似リセット割込処理の実行間隔を制御しているタイマの割込要求フラグがセット(オン)されるまで待機して(S29:No)、2msの間隔を確保する。タイマの割込要求フラグがセットされれば(S29:Yes)、この疑似リセット割込処理が開始されてから2msが経過しているので、タイマの割込要求フラグをリセットして(S30)、処理をS22へ移行し、次の疑似リセット割込処理を開始する。疑似リセット割込処理のタイマの割込要求フラグは、2msの間隔でセット(オン)されるように予め設定されている。このため、S29及びS30の各処理により、疑似リセット割込処理が2msの間隔で実行される。
従来、電源基板40は、停電の発生等で電源が断された場合に、主制御基板C及び払出制御基板Hへ停電信号51を出力するが、主制御基板Cに停電信号51が入力されるタイミングと、払出制御基板Hに停電信号51が入力されるタイミングとでは、多少のタイムラグが生じる。
そこで、本実施例では、前記したタイムラグを解消するため、S25からS28の処理において、払出制御基板Hから停電処理開始コマンドが送信された場合に停電発生フラグ13bして、停電信号51を受信する可能性がある所定時間待機する。よって、停電発生フラグ13bがオンされてすぐに復電処理(S31〜S34参照)へ移行せずに、主制御基板Cの疑似リセット割込処理を1ループ分経過するまで停電信号51の受信を待機する。仮に、その待機時間中に停電信号51を受信すれば、主制御基板CもNMI割込処理を行い、停電処理を開始する。しかし、その待機時間中に主制御基板Cが停電信号51を受信しなければ、ノイズ等の影響、或いは、断線等によって払出制御基板Hのみに停電信号51が入力されているという状態なので、疑似リセット割込処理が1ループして、S25の処理で1ループフラグ13dがオンされていると判断されれば(S25:Yes)、払出制御基板Hに復電処理を実行させるために、処理をS31へ移行する。
S31の処理では、まず、1ループフラグ13dをオフして(S31)、復電実行コマンドを払出制御基板Hへ送信する(S32)。払出制御基板Hへ復電実行コマンドを送信した後は、払出制御基板Hから復電完了コマンドが送信されて、復電完了フラグ13cがオンされるまで待機し(S33:No)、払出制御基板Hから復電完了コマンドが送信されて、復電完了フラグ13cがオンされれば(S33:Yes)、復電完了フラグ13cをオフして、処理をS22へ移行して、疑似リセット割込処理を開始する。
図6は、パチンコ機Pの電源入時に主制御基板C及び払出制御基板Hの疑似リセット割込処理(メイン処理)で実行される初期化処理(図5のS21、及び、図8のS61参照)のフローチャートである。この処理では、バックアップが有効であれば、バックアップエリア13a,33a 記憶された各データを元の状態に戻し、遊技の制御を電源が断される前の状態から続行する。一方、バックアップが有効でなかったり、バックアップが有効であっても電源入時にクリアスイッチ43が押下された場合には、RAMクリア及び初期化処理を実行する。なお、この初期化処理は、サブルーチンの形式で記載されているが、スタックポインタの設定前に実行される処理なので、実際には、サブルーチンコールされずに実行される。また、初期化処理は、主制御基板CのROM12と払出制御基板HのROM32とに、それぞれ別々に搭載される処理であるが、フローチャートの表記上、同様に表すことができるので、図6にまとめて図示している。
図7は、停電の発生等によるパチンコ機Pの電源断時に、払出制御基板Hで実行されるNMI割込処理のフローチャートである。このNMI割込処理により、停電の発生等による電源断時の払出制御基板Hの状態がバックアップエリア33aに記憶される。
停電の発生等によりパチンコ機Pの電源が断されると、停電信号51が払出制御基板HのMPU31のNMI(Non Maskable
Interrupt)端子へ出力される。MPU31は、NMI端子に停電信号51が入力されると、実行中の制御を中断して、図7のNMI割込を開始する。停電信号51が出力された後所定時間は、払出制御基板Hの処理が実行可能に電力供給されており、この所定時間内に、図7のNMI割込処理が実行される。
NMI割込処理では、まず、停電処理の開始を示す停電処理開始コマンドを主制御基板Cへ送信する(S51)。この停電処理開始コマンドを主制御基板Cへ送信することにより、払出制御基板Hで停電処理が行われることを主制御基板Cに認識させることができる。その後、各レジスタ、I/O等の値をスタックエリアへ書き込み(S52)、更に、スタックポインタの値をバックアップエリア33aへ書き込んで(S53)、停電の発生等による電源断時の状態を記憶する。そして、停電が発生したことを示す停電発生情報をバックアップエリア33aに書き込む(S54)。その後、払出制御基板Hにおけるその他の停電処理を実行し(S55)、その後は、主制御基板Cから復電実行コマンドを受信したか否かを確認しながら(S56)、電源が完全に断して処理が実行できなくなるまで、処理をループする(S56:No)。
一方、S56の処理において、電源が完全に断して処理が実行できなくなる前に、主制御基板Cから復電実行コマンドを受信した場合は(S56:Yes)、ノイズ等の影響によって、主制御基板Cに停電信号51が入力されずに払出制御基板Hのみに停電信号51が入力されている状態なので、S52からS55でバックアップしたデータを復帰させて通常の処理に戻るために、処理をS57へ移行する。
S57からの処理では、まず、バックアップエリア33aからスタックポインタの値を読み出して、これをスタックエリアへ書き込み、電源断前(停電前)の状態、即ち、NMI割込発生前の状態に戻す(S57)。その後、スタックエリアへ退避した各レジスタやI/O等のデータをスタックエリアから読み出して、これら各データを元のレジスタやI/O等へ書き込む(S58)。更に、割込状態を電源断前(停電前)の状態、即ち、NMI割込発生前の状態に戻す(S59)。その後、復電処理が完了したことを示す復電完了コマンドを主制御基板Cへ送信して(S60)、NMI割込リターンを実行して、処理を電源断前に実行していたところへ戻して、制御を電源断前の状態から続行する。
図8は、払出制御基板Hにおいて、タイマ割込により2ms毎に実行される疑似リセット割込処理(メイン処理)のフローチャートである。この疑似リセット割込処理によって、払出制御基板Hでのメイン制御が行われると共に、主制御基板Cのみに停電信号51が入力されて、主制御基板Cと払出制御基板Hとの制御の相関が崩れてしまう場合に、払出制御基板Hは主制御基板Cに復電処理を実行させて、制御の相関を保つことができるように構成されている。
疑似リセット割込処理では、まず、RAM33の初期化を含む初期化処理を実行する(S61)。その後、RAMチェックを行い(S62)、RAM33が正常であるか否かを確認する。RAMチェックの結果、RAM33に異常があれば(S63:Yes)、処理をS61へ移行して、再度、初期化処理を実行する。一方、RAMチェックの結果、RAM33に異常がなければ(S63:No)、パチンコ機Pの遊技の状態に応じた各処理を行う(S64)。
各処理(S64)の実行後は、1ループフラグ33dはオンされているか否かを確認する(S65)。1ループフラグ33dがオンされていなければ(S65:No)、次に、停電発生フラグ33bがオンされているかを確認する(S66)。ここで、停電発生フラグ33bがオンされていれば(S66:Yes)、1ループフラグ33dをオンして(S67)、停電発生フラグ33bをオフし(S68)、処理をS69へ移行する。なお、S66の処理において、停電発生フラグ33bがオンされていなければ(S66:No)、S67及びS68の処理をスキップして、処理をS69へ移行する。
S69の処理では、この疑似リセット割込処理の実行間隔を制御しているタイマの割込要求フラグがセット(オン)されるまで待機して(S69:No)、2msの間隔を確保する。タイマの割込要求フラグがセットされれば(S69:Yes)、この疑似リセット割込処理が開始されてから2msが経過しているので、タイマの割込要求フラグをリセットして(S70)、処理をS62へ移行し、次の疑似リセット割込処理を開始する。疑似リセット割込処理のタイマの割込要求フラグは、2msの間隔でセット(オン)されるように予め設定されている。このため、S69及びS70の各処理により、疑似リセット割込処理が2msの間隔で実行される。
従来、電源基板40は、停電の発生等で電源が断された場合に、主制御基板C及び払出制御基板Hへ停電信号51を出力するが、主制御基板Cに停電信号51が入力されるタイミングと、払出制御基板Hに停電信号51が入力されるタイミングとでは、多少のタイムラグが生じる。
そこで、本実施例では、前記したタイムラグを解消するため、S65からS68の処理において、主制御基板Cから停電処理開始コマンドが送信された場合に停電発生フラグ33bをオンして、停電信号51を受信する可能性がある所定時間待機する。よって、停電発生フラグ33bがオンされてすぐに復電処理(S71〜S74参照)へ移行せずに、払出制御基板Hの疑似リセット割込処理を1ループ分経過するまで停電信号51の受信を待機する。仮に、その待機時間中に停電信号51を受信すれば、払出制御基板HもNMI割込処理を行い、停電処理を開始する。しかし、その待機時間中に払出制御基板Hが停電信号51を受信しなければ、ノイズ等の影響、或いは、断線等によって主制御基板Cのみに停電信号51が入力されているという状態なので、疑似リセット割込処理が1ループして、S65の処理で1ループフラグ33dがオンされていると判断されれば(S65:Yes)、主制御基板Cに復電処理を実行させるために、処理をS71へ移行する。
S71の処理では、まず、1ループフラグ33dをオフして(S71)、復電実行コマンドを主制御基板Cへ送信する(S72)。主制御基板Cへ復電実行コマンドを送信した後は、主制御基板Cから復電完了コマンドが送信されて、復電完了フラグ33cがオンされるまで待機し(S73:No)、主制御基板Cから復電完了コマンドが送信されて、復電完了フラグ33cがオンされれば(S73:Yes)、復電完了フラグ33cをオフして、処理をS62へ移行して、疑似リセット割込処理を開始する。
以上説明したように、第1実施例のパチンコ機Pによれば、ノイズ等の影響、或いは、断線等の発生によって、主制御基板C又は払出制御基板Hのいずれか一方のみに停電信号51が入力される場合に、主制御基板C及び払出制御基板Hは、当該制御基板C,Hが停電処理を行うことを示す停電処理開始コマンドを他方の制御基板C,Hへ送信する。そして、その他方の制御基板C,Hは、その停電処理開始コマンドを受信した場合に、所定期間待機し、その所定期間中に停電信号51が入力されなければ、当該制御基板C,Hへ復電処理を開始させる復電実行コマンドを出力し、当該制御基板C,Hはその復電実行コマンドを受信することによって復電処理を開始して、制御を停電信号51が入力される前の状態に戻す。よって、停電信号51の誤入力によって、主制御基板C又は払出制御基板Hが通常の遊技処理が続行不可能になり、主制御基板C及び払出制御基板Hの制御の相関が崩れる場合でも、他方の制御基板C,Hでその相関の崩れを判定することができ、相関が崩れていた場合には、新たな相関を生じさせることができる。また、他方の制御基板C,Hの通常の遊技処理時に、主制御基板C及び払出制御基板Hの相関の崩れを判定することで、主制御基板C及び払出制御基板Hの相関関係が正常であるか否かの判定の信頼性を高めることができる。
次に、図9から図12を参照して、第2実施例について説明する。第1実施例では、主制御基板C又は払出制御基板Hのいずれか一方に停電信号51が入力されて停電処理(NMI割込処理、図3及び図7参照)を実行した場合に、停電信号51が入力されなかった制御基板C,Hが停電処理中の制御基板C,Hに復電処理を実行させて、停電信号51が入力される前の状態(NMI割込処理実行前)に戻していた。これに対し、第2実施例では、主制御基板C又は払出制御基板Hのいずれか一方に停電信号51が入力されて停電処理を実行した場合に、停電信号51が入力されなかった制御基板C,Hにも停電処理を実行させて、その停電処理を行った旨を報知するように構成されている。なお、前記した第1実施例と同一の部分には同一の符号を付して、その説明は省略する。
図9は、第2実施例の主制御基板Cで行われるNMI割込処理のフローチャートである。NMI割込処理では、まず、1ループフラグ13dはオンされているか否かを確認する(S81)。この確認は、バックアップエリア13aに重複してデータが書き込まれることを防止するためである。確認の結果、1ループフラグ13dがオンされていれば(S81:Yes)、1ループフラグ13dをオフして、電源が完全に断して処理が実行できなくなるまで、処理をループする。一方、1ループフラグ13dがオンされていなければ(S81:No)、次に、停電処理の開始を示す停電処理開始コマンドを払出制御基板Hへ送信する(S82)。この停電処理開始コマンドを払出制御基板Hへ送信することにより、主制御基板Cで停電処理が行われることを払出制御基板Hに認識させることができる。その後、各レジスタ、I/O等の値をスタックエリアへ書き込み(S83)、更に、スタックポインタの値をバックアップエリア13aへ書き込んで(S84)、停電の発生等による電源断時の状態を記憶する。そして、停電が発生したことを示す停電発生情報をバックアップエリア13aに書き込む(S85)。その後、主制御基板Cにおけるその他の停電処理を実行し(S86)、その後は、停電処理を行った旨をLCD3や図示しないスピーカ等によって報知し(S87)、電源が完全に断して処理が実行できなくなるまで、処理をループする。
図10は、第2実施例の主制御基板Cにおいて、タイマ割込により2ms毎に実行される疑似リセット割込処理(メイン処理)のフローチャートである。この疑似リセット割込処理において、S25の処理で1ループフラグ13dがオンされていると判断されれば(S25:Yes)、主制御基板Cに停電処理を実行させるために、処理をS91へ移行する。S91の処理では、まず、各レジスタ、I/O等の値をスタックエリアへ書き込み(S91)、更に、スタックポインタの値をバックアップエリア13aへ書き込んで(S92)、停電の発生等による電源断時の状態を記憶する。そして、停電が発生したことを示す停電発生情報をバックアップエリア13aに書き込む(S93)。その後、主制御基板Cにおけるその他の停電処理を実行し(S94)、その後は、停電処理を行った旨をLCD3や図示しないスピーカ等によって報知し(S95)、1ループフラグ13dをオフして(S96)、電源が完全に断して処理が実行できなくなるまで、処理をループする。
図11は、第2実施例の払出制御基板Hで行われるNMI割込処理のフローチャートである。NMI割込処理では、まず、1ループフラグ33dはオンされているか否かを確認する(S101)。この確認は、バックアップエリア33aに重複してデータが書き込まれることを防止するためである。確認の結果、1ループフラグ33dがオンされていれば(S101:Yes)、1ループフラグ33dをオフして、電源が完全に断して処理が実行できなくなるまで、処理をループする。一方、1ループフラグ33dがオンされていなければ(S101:No)、次に、停電処理の開始を示す停電処理開始コマンドを主制御基板Cへ送信する(S102)。この停電処理開始コマンドを主制御基板Cへ送信することにより、払出制御基板Hで停電処理が行われることを主制御基板Cに認識させることができる。その後、各レジスタ、I/O等の値をスタックエリアへ書き込み(S103)、更に、スタックポインタの値をバックアップエリア33aへ書き込んで(S104)、停電の発生等による電源断時の状態を記憶する。そして、停電が発生したことを示す停電発生情報をバックアップエリア33aに書き込む(S105)。その後、払出制御基板Hにおけるその他の停電処理を実行し(S106)、その後は、停電処理を行った旨をLCD3や図示しないスピーカ等によって報知し(S107)、電源が完全に断して処理が実行できなくなるまで、処理をループする。
図12は、第2実施例の払出制御基板Hにおいて、タイマ割込により2ms毎に実行される疑似リセット割込処理(メイン処理)のフローチャートである。この疑似リセット割込処理において、S65の処理で1ループフラグ33dがオンされていると判断されれば(S65:Yes)、払出制御基板Hに停電処理を実行させるために、処理をS111へ移行する。S111の処理では、まず、各レジスタ、I/O等の値をスタックエリアへ書き込み(S111)、更に、スタックポインタの値をバックアップエリア33aへ書き込んで(S112)、停電の発生等による電源断時の状態を記憶する。そして、停電が発生したことを示す停電発生情報をバックアップエリア33aに書き込む(S113)。その後、払出制御基板Hにおけるその他の停電処理を実行し(S114)、その後は、停電処理を行った旨をLCD3や図示しないスピーカ等によって報知し(S115)、1ループフラグ33dをオフして(S116)、電源が完全に断して処理が実行できなくなるまで、処理をループする。
以上説明したように、第2実施例のパチンコ機Pによれば、ノイズ等の影響、或いは、断線等の発生によって、主制御基板C又は払出制御基板Hのいずれか一方のみに停電信号51が入力される場合に、主制御基板C及び払出制御基板Hは、当該制御基板C,Hが停電処理を行うことを示す停電処理開始コマンドを他方の制御基板C,Hへ送信する。そして、その他方の制御基板C,Hは、その停電処理開始コマンドを受信した場合に、所定期間待機した後、停電処理を開始して、その停電処理の終了後に制御を停止させる。よって、停電信号51の誤入力によって、主制御基板C及び払出制御基板Hが通常の遊技処理を続行不可能になり、主制御基板C及び払出制御基板Hの制御の相関が崩れる場合でも、他方の制御基板C,Hは停電処理を行うことにより、主制御基板C及び払出制御基板Hの制御の相関が崩れていた場合でも、いずれか一方の制御状態に合わせることにより、主制御基板C及び払出制御基板Hの制御の相関を保つことができる。また、主制御基板C及び払出制御基板Hで停電処理が行われる場合は、停電等の発生、或いは、ノイズ等の影響によるものである。よって、それらの異常を報知することによって、外部で停電処理が実行されることを認識することができるので、異常等に対する対応が可能になる。
以上、実施例に基づき本発明を説明したが、本発明は上記実施例に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の変形改良が可能であることは容易に推察できるものである。
本発明を上記実施例とは異なるタイプのパチンコ機等に実施しても良い。例えば、一度大当たりすると、それを含めて複数回(例えば2回、3回)大当たり状態が発生するまで、大当たり期待値が高められるようなパチンコ機(通称、2回権利物、3回権利物と称される)として実施しても良い。また、大当たり図柄が表示された後に、所定の領域に球を入賞させることを必要条件として特別遊技状態となるパチンコ機として実施しても良い。更に、パチンコ機以外にも、アレパチ、雀球、いわゆるパチンコ機とスロットマシンとが融合した遊技機などの各種遊技機として実施するようにしても良い。
なお、スロットマシンは、例えばコインを投入して図柄有効ラインを決定させた状態で操作レバーを操作することにより図柄が変動され、ストップボタンを操作することにより図柄が停止されて確定される周知のものである。従って、スロットマシンの基本概念としては、「複数の図柄からなる図柄列を変動表示した後に図柄を確定表示する可変表示手段を備え、始動用操作手段(例えば操作レバー)の操作に起因して図柄の変動が開始され、停止用操作手段(例えばストップボタン)の操作に起因して、或いは、所定時間経過することにより、図柄の変動が停止され、その停止時の確定図柄が特定図柄であることを必要条件として、遊技者に有利な特別遊技状態を発生させる特別遊技状態発生手段とを備えたスロットマシン」となり、この場合、遊技媒体はコイン、メダル等が代表例として挙げられる。