以下、本発明の好ましい実施例について、添付図面を参照して説明する。本実施例では、遊技機の一例として弾球遊技機の一種であるパチンコ機、特に、第1種パチンコ遊技機を用いて説明する。なお、本発明を第3種パチンコ遊技機や、コイン遊技機、スロットマシン等の他の遊技機に用いることは、当然に可能である。
図1は、本実施例のパチンコ機Pの遊技盤の正面図である。遊技盤1の周囲には、球が入賞することにより5個から15個の球が払い出される複数の入賞口2が設けられている。また、遊技盤1の中央には、複数種類の識別情報としての図柄などを表示する液晶(LCD)ディスプレイ3が設けられている。このLCDディスプレイ3の表示画面は横方向に3分割されており、3分割された各表示領域において、それぞれ右から左へ横方向にスクロールしながら図柄の変動表示が行われる。
LCDディスプレイ3の下方には、図柄作動口(第1種始動口)4が設けられ、球がこの図柄作動口4を通過することにより、前記したLCDディスプレイ3の変動表示が開始される。図柄作動口4の下方には、特定入賞口(大入賞口)5が設けられている。この特定入賞口5は、LCDディスプレイ3の変動後の表示結果が予め定められた図柄の組み合わせの1つと一致する場合に、大当たりとなって、球が入賞しやすいように所定時間(例えば、30秒経過するまで、あるいは、球が10個入賞するまで)開放される。
この特定入賞口5内には、Vゾーン5aが設けられており、特定入賞口5の開放中に、球がVゾーン5a内を通過すると、継続権が成立して、特定入賞口5の閉鎖後、再度、その特定入賞口5が所定時間(又は、特定入賞口5に球が所定個数入賞するまで)開放される。この特定入賞口5の開閉動作は、最高で16回(16ラウンド)繰り返し可能にされており、開閉動作の行われ得る状態が、いわゆる所定の遊技価値の付与された状態(特別遊技状態)である。
図2は、パチンコ機Pの電気的構成を示したブロック図であり、特に、パチンコ機Pの遊技内容の制御を行う主制御基板Cと、賞球や貸し球の払出制御を行う払出制御基板Hとの電気的構成を示したブロック図である。
パチンコ機Pの主制御基板Cは、演算装置であるMPU11と、そのMPU11により実行される各種の制御プログラムや固定値データ等を記憶したROM12と、ワークメモリ等として使用されるRAM13とを備えている。図3から図5のフローチャートに示すプログラムは、制御プログラムの一部としてROM12内に記憶されている。またRAM13には、賞球バッファ13aと、賞球ポインタ13bと、残賞球数カウンタ13cと、バックアップエリア13dとが設けられると共に、バックアップ用のコンデンサ(電池)13xが接続されてバックアップ可能に構成されている。よって、RAM13の各値は、パチンコ機Pの電源が切断された場合にも保持(バックアップ)される。
賞球バッファ13aは、遊技領域1へ打ち込まれた球が普通入賞口2等へ入賞した場合に、払い出される賞球数を記憶するバッファである。払い出される賞球数は入賞した球毎に賞球バッファ13aへ記憶されるので、賞球バッファ13aは複数バイトで構成されている。賞球バッファ13aに記憶された賞球数のデータは、賞球コマンドとして払出制御基板Hへ送信されると、賞球バッファ13aから消去される。具体的には、0番目の賞球バッファ13aに記憶される賞球数を払出制御基板Hへ送信した後、1番目以降の賞球バッファ13aの値を小さいアドレス側へ順に1バイトずつシフトすることにより、0番目の賞球バッファ13aの値が消去される。
ここで、賞球コマンドとは、払い出される賞球数を払出制御基板Hへ指示するためのコマンドであり、2バイトで構成されている。賞球コマンドの1バイト目のデータは、そのコマンドが賞球コマンドであることを示すためのデータ(例えば「A0H」)とされており、また、2バイト目のデータは払い出される賞球数を示すデータとされている。1回の入賞に対する最大の賞球数は15球であるので、その最大賞球数に対応した「01H」〜「0FH」の15種類のデータが賞球コマンドの2バイト目のデータとされている。
なお、賞球コマンドを1バイトで構成するようにしても良い。前記した通り、1回の入賞に対する最大の賞球数は15球であるので、賞球コマンドを1バイトで構成する場合には、その最大賞球数に対応した「01H」〜「0FH」の15種類のデータを賞球コマンドとする。即ち、1バイトで構成されるコマンドの上位4ビットが「0」の場合に賞球コマンドとするのである。
賞球ポインタ13bは、賞球数を記憶させる賞球バッファ13aの位置を示すポインタであり、払い出される賞球数は、賞球ポインタ13bの値番目の賞球バッファ13aへ記憶される。この賞球ポインタ13bの値は、賞球バッファ13aへ賞球数を書き込むことにより「1」加算され、逆に、0番目の賞球バッファ13aの値が払出制御基板Hへ送信されることにより「1」減算される。
残賞球数カウンタ13cは、未払いの賞球数を記憶するカウンタであり、払出制御基板Hによって払い出される賞球数を主制御基板Cで管理するためのカウンタである。残賞球数カウンタ13cの値は、主制御基板Cが払出制御基板Hへ賞球の払い出しを指示する毎に、その指示した数が加算され、逆に、払出制御基板Hによって賞球の払い出しが行われて、その払い出された賞球を賞球カウントスイッチ22が検出する毎に「1」ずつ減算される。この残賞球数カウンタ13cの値は、賞球払出許可コマンドの2バイト目のデータとしても使用される。
ここで、賞球払出許可コマンドとは、バックアップが有効である場合の主制御基板Cの立ち上げ処理の最後に、主制御基板Cから払出制御基板Hへ送信されるコマンドである。この賞球払出許可コマンドにより、立ち上げ処理終了後の払出制御基板Hに対して、賞球の払い出しの許可が指示される。賞球払出許可コマンドは、2バイトで構成されている。1バイト目のデータは、そのコマンドが賞球払出許可コマンドであることを示すためのデータ(例えば「A1H」)とされており、また、2バイト目のデータは未払いの賞球数を示すデータとされている。具体的には、この2バイト目のデータとして、残賞球数カウンタ13cの値がセットされる。
払出制御基板Hは、賞球払出許可コマンドを受信すると、2バイト目のデータを読み出して、これを残賞球数カウンタ33aに書き込み、賞球の払い出しを行う前に、未払いの賞球数を記憶する残賞球数カウンタ33aの値を主制御基板Cの残賞球数カウンタ13cと一致させている。よって、主制御基板Cで記憶する残賞球数カウンタ13cの値を超えて賞球の払い出しが行われた場合に発生する賞球オーバーエラーや、逆に賞球の払い出しが主制御基板Cで記憶する残賞球数カウンタ13cの値に満たない場合に発生する賞球アンダーエラーの発生を抑制することができ、停電解消後における遊技状態の復帰をスムースに行うことができる。
なお、この賞球払出許可コマンドを、賞球コマンドの場合と同様に、1バイトで構成するようにしても良い。この場合には、主制御基板Cの残賞球数カウンタ13cの値は、賞球払出許可コマンドの値としてセットされないので、バックアップ後の立ち上げ処理において、主制御基板Cと払出制御基板Hとの残賞球数カウンタ13c,33aの値を一致させることはできない。
バックアップエリア13dは、停電などの発生により電源が切断された場合、電源の再入時に、パチンコ機Pの状態を電源切断前の状態に復帰させるため、電源切断時(停電発生時を含む。以下、同様)のスタックポインタや、各レジスタ、I/O等の値を記憶しておくためのエリアである。このバックアップエリア13dへの書き込みは、NMI割込処理(図3参照)によって電源切断時に実行され、逆にバックアップエリア13dに書き込まれた各値の復帰は、電源入時(停電解消による電源入を含む。以下、同様)の復帰処理(復電処理)において実行される(図4のS21,S22参照)。
これらMPU11、ROM12、RAM13は、アドレスバス及びデータバスで構成されるバスライン14を介して相互に接続されている。バスライン14は、また、入出力ポート15にも接続されている。入出力ポート15は、入力および出力が固定的なバッファ(インバータゲート)16,37を介して払出制御基板Hと接続されるほか、複数の普通入賞スイッチ17と、第1種始動口スイッチ18と、Vカウントスイッチ19と、10カウントスイッチ20と、賞球カウントスイッチ22と、クリアスイッチ23と、他の入出力装置25と、それぞれ接続されている。
普通入賞スイッチ17は、遊技領域1内の複数の普通入賞口2へ入賞した球をそれぞれ検出するためのスイッチであり、各普通入賞口2の入口近傍に設けられている。第1種始動口スイッチ18は、図柄作動口(第1種始動口)4を通過した球を検出するためのスイッチであり、図柄作動口4の近傍に設けられている。普通入賞スイッチ17のいずれか又は第1種始動口スイッチ18によって球が検出されると、払出制御基板Hによって6個の賞球が払い出される。
Vカウントスイッチ19は、特定入賞口5内のVゾーン5aへ入賞した球を検出するためのスイッチであり、また、10カウントスイッチ20は、特定入賞口5内のVゾーン5a以外へ入賞した球を検出するためのスイッチである。Vカウントスイッチ19又は10カウントスイッチ20により球が検出されると、払出制御基板Hによって15個の賞球が払い出される。
賞球カウントスイッチ22は、賞球払出用モータ21によって払い出された賞球を検出するためのスイッチであり、賞球払出用モータ21と共に賞球払出ユニットSに搭載されている。賞球払出用モータ21は賞球を払い出すためのモータであり、賞球払出用モータ21の駆動は、払出制御基板Hによって制御される。
クリアスイッチ23は、主制御基板Cおよび払出制御基板Hの各RAM13,33にバックアップされるデータをクリアするためのスイッチであり、押しボタンタイプのスイッチで構成されている。このクリアスイッチ23が押下された状態でパチンコ機Pの電源が投入されると(停電解消による電源入を含む)、主制御基板Cおよび払出制御基板Hによって、RAM13,33のデータがそれぞれクリアされる(図4のS13:Yes,S16、図7のS73:Yes,S76参照)。
前記した通り主制御基板Cは、入力および出力が固定的なバッファ(インバータゲート)16,37を介して、払出制御基板Hと接続されている。このため主制御基板Cと払出制御基板Hとの間における賞球コマンド等の送受信は、主制御基板Cから払出制御基板Hへの一方向にのみ行われ、払出制御基板Hから主制御基板Cへ行うことはできない。なお、主制御基板Cと払出制御基板Hとは、8本のデータ線と1本のストローブ線とにより接続されており、ストローブ線のデータがアクティブになった時に、8本のデータ線上に出力されているデータが主制御基板Cから払出制御基板Hへコマンドとして送信される。このストローブ線は、払出制御基板Hの割込入力端子と入力ポートとにそれぞれ接続されている。よって、払出制御基板Hは、ストローブ信号のアクティブを、割込の発生とポート入力(ポートのデータを読み込むこと)との2つの手法によって認識することができる。
払出制御基板Hは賞球や貸し球の払出制御を行うものであり、演算装置であるMPU31と、そのMPU31により実行される制御プログラムや固定値データ等を記憶したROM32と、ワークメモリ等として使用されるRAM33とを備えている。図3及び図6から図8に示すフローチャートのプログラムは、制御プログラムの一部としてROM32内に記憶されている。
払出制御基板HのRAM33には、残賞球数カウンタ33aと、初期化フラグ33bと、賞球払出許可フラグ33cと、バックアップエリア33dとが設けられると共に、バックアップ用のコンデンサ(電池)33xが接続されてバックアップ可能に構成されている。よって、RAM33の各値は、パチンコ機Pの電源が切断された場合にも保持(バックアップ)される。
残賞球数カウンタ33aは、前述した主制御基板Cの残賞球数カウンタ13cと同様に、未払いの賞球数を記憶するカウンタである。残賞球数カウンタ33aの値は、賞球コマンドによって主制御基板Cから払出制御基板Hへ賞球の払い出しが指示される毎に、その指示された賞球数が加算される。逆に、賞球カウントスイッチ22が払い出された賞球を検出する毎に「1」ずつ減算される。払出制御基板Hは、この残賞球数カウンタ33aの値が「0」になるまで、賞球払出用モータ21を動作させて賞球の払い出しを行うが、前記した通り、この残賞球数カウンタ33aの値はコンデンサ33xによってバックアップされるので、賞球の払い出し途中でパチンコ機Pの電源が切断された場合にも、そのパチンコ機Pの電源を再投入することにより、払出制御基板Hは、残りの賞球(未払い分の賞球)を正確に払い出すことができる。
初期化フラグ33bは、払出制御基板Hが、主制御基板Cから送信される初期化コマンドを受信した場合にオンされるフラグである。初期化コマンドは、主制御基板Cの立ち上げ処理においてバックアップデータがクリアされた場合に送信されるコマンドであり(図4のS18参照)、払出制御基板Hに対して初期化の指示と賞球の払出許可とを与えるコマンドである。払出制御基板Hは、この初期化コマンドを受信すると、初期化フラグ33bをオンし、払出制御基板Hにおいても既に初期化処理(S75)が終了していれば、初期化フラグ33bをオフした後に(S80)、処理を各処理へ移行して、賞球の払い出しの可能な状態とする。一方、払出制御基板Hにおいてデータのバックアップが有効に行われている状態で初期化コマンドを受信した場合には、主制御基板Cに合わせて初期化処理(S87)を実行した後、各処理へ移行して、賞球の払い出しの可能な状態とする。なお、この場合、一旦オンされた初期化フラグ33bは、S87の初期化処理によってオフされる。
賞球払出許可フラグ33cは、払出制御基板Hが、主制御基板Cから送信される賞球払出許可コマンドを受信した場合にオンされるフラグであり、賞球の払い出しの許可を指示するためのフラグである。前述した通り、払出制御基板Hは、賞球払出許可コマンドを受信すると、賞球の払出許可を記憶するべく賞球払出許可フラグ33cをオンすると共に(S65)、賞球払出許可コマンドの2バイト目のデータを残賞球数カウンタ33aへ書き込んで(S64)、その残賞球数カウンタ33aの値を、主制御基板Cの残賞球数カウンタ13cの値と一致させる。賞球払出許可フラグ33cがオンされると、払出制御基板Hは立ち上げ処理を終了して、その賞球払出許可フラグ33cをオフした後に(S80,S88)、処理を各処理へ移行して、賞球の払い出しの可能な状態とする。
バックアップエリア33dは、前述した主制御基板Cのバックアップエリア13dと同様に、停電などの発生により電源が切断された場合、電源の再入時に、パチンコ機Pの状態を電源切断前の状態に復帰させるため、電源切断時(停電発生時を含む。以下、同様)のスタックポインタや、各レジスタ、I/O等の値を記憶しておくためのエリアである。このバックアップエリア33dへの書き込みは、NMI割込処理(図3参照)によって電源切断時に実行され、逆にバックアップエリア33dに書き込まれた各値の復帰は、電源入時(停電解消による電源入を含む。以下、同様)の復帰処理(復電処理)において実行される(図7のS82,S83参照)。
これらMPU31、ROM32及びRAM33は、アドレスバス及びデータバスで構成されるバスライン35により互いに接続されている。バスライン35は、また、入出力ポート36にも接続されている。入出力ポート36は、前述した入力および出力が固定的なバッファ(インバータゲート)16,37を介して主制御基板Cと接続されるほか、賞球払出ユニットSの賞球払出用モータ21および賞球カウントスイッチ22と、クリアスイッチ23と、他の入出力装置40とにそれぞれ接続されている。
次に、図3から図8に示すフローチャートを参照して、主制御基板C及び払出制御基板Hで行われる各処理について説明する。図3は、停電の発生等によるパチンコ機Pの電源断時に、主制御基板C及び払出制御基板Hで、それぞれ別々に実行されるNMI割込処理のフローチャートである。このNMI割込処理により、停電の発生等による電源断時の主制御基板C及び払出制御基板Hの状態がそれぞれのバックアップエリア13d,33dに記憶される。なお、NMI割込処理は、主制御基板CのROM12と払出制御基板HのROM32とに、それぞれ別々に搭載される処理であるが、フローチャートの表記上、同様に表すことができるので、図3にまとめて図示している。
停電の発生等によりパチンコ機Pの電源が断されると、図示しない停電信号が主制御基板C及び払出制御基板HのMPU11,31のNMI(Non Maskable Interrupt)端子へそれぞれ出力される。各MPU11,31は、NMI端子に停電信号が入力されると、それぞれ実行中の制御を中断して、図3のNMI割込処理を開始する。停電信号が出力された後所定時間は、主制御基板C及び払出制御基板Hの処理が実行可能に電力供給されており、この所定時間内に、図3のNMI割込処理が実行される。
NMI割込処理では、まず、スタックポインタの値をバックアップエリア13d,33dへ書き込み(S1)、更に、各レジスタおよびI/O等の値をバックアップエリア13d,33dへ書き込んで(S2)、停電の発生等による電源断時の状態を記憶する。その後、主制御基板C及び払出制御基板Hに応じてそれぞれ異なるその他停電処理を実行し(S3)、その後は、電源が完全に断して処理が実行できなくなるまで、処理をループする。
図4は、パチンコ機Pの電源入時に主制御基板Cで実行される立ち上げ処理(復電処理)のフローチャートである。この処理では、バックアップが有効であれば、バックアップエリア13dに記憶された各データを元の状態に戻し、遊技の制御を電源が断される前の状態から続行する。一方、バックアップが有効でなかったり、或いは、バックアップが有効であっても電源入時にクリアスイッチ23が押下された場合には、初期化処理を実行する。
まず、割込を禁止し(S11)、次に、本来のスタック領域にスタックされているデータを壊さないために、仮のスタックポインタを設定する(S12)。クリアスイッチ23がオンされているか否かを確認し(S13)、オンされていれば(S13:Yes)、処理をS15へ移行して初期化処理を実行する。クリアスイッチ23がオンされていなければ(S13:No)、バックアップが有効であるか否かを確認する(S14)。この確認は、RAM13の所定のエリアに書き込まれたキーワードが正しく記憶されているか否かにより判断する。キーワードが正しく記憶されていればバックアップは有効であり、逆に、キーワードが正しくなければバックアップデータは破壊されているので、そのバックアップは有効ではない。バックアップが有効であれば(S14:Yes)、処理をS21へ移行して、主制御基板Cの各状態を電源の断前の状態に復帰させる。一方、バックアップが有効でなければ(S14:No)、処理をS15へ移行して初期化処理を実行する。
S15の処理からの初期化処理では、まず、正規のスタックポインタを設定し、スタックの内容を整えた後(S15)、RAMクリア及び初期化処理を実行して(S16)、RAM13及びI/O等の各値を初期化する。その後、割込を許可し(S17)、その割込を使って初期化コマンドを払出制御基板Hへ送信して(S18)、主制御基板Cで初期化処理が実行されたことを払出制御基板Hへ報せる。払出制御基板Hは、主制御基板Cに比べて処理が軽いので、主制御基板Cより先に立ち上げ処理(復電処理)が終了する。よって、払出制御基板Hは、主制御基板Cから送信される初期化コマンドを確実に受信することができる。主制御基板Cは、初期化コマンドの送信後、その初期化コマンドを受信した払出制御基板Hが初期化処理を完了するために充分な時間をウエイトするためにウエイト処理を実行して(S19)、次の処理への移行を所定時間待機する。ウエイト処理の実行後は、払出制御基板Hも確実に立ち上がっているので、処理をS20の各処理へ移行して、遊技の制御を開始する。
S21からの復帰処理(復電処理)では、まず、バックアップエリア13dへ退避した各レジスタやI/O等のデータをそのバックアップエリア13dから読み出して、これら各データを元のレジスタやI/O等へ書き込む(S21)。更に、バックアップエリア13dからスタックポインタの値を読み出して、これをスタックポインタへ書き込み、電源断前(停電前)の状態、即ちNMI割込発生前の状態に戻す(S22)。その後、割込を許可し(S23)、残賞球数カウンタ13cの値を賞球払出許可コマンドの2バイト目のデータとしてセットし、許可した割込を使って、その賞球払出許可コマンドを払出制御基板Hへ送信する(S24)。払出制御基板Hは、この賞球払出許可コマンドを受信することにより、賞球の払い出しが可能になる。その後、NMI割込をリターンし、処理を電源断前に実行していたところへ戻して、制御を電源断前の状態から続行する。
図5は、主制御基板Cの各処理(S20)の中で実行される賞球処理のフローチャートである。賞球処理は、普通入賞口2や第1種始動口4或いは大入賞口5へ入賞した打球を検出する入賞検出処理と(S30)、賞球コマンドを払出制御基板Hへ送信する賞球コマンド送信処理と(S40)、払出制御基板Hによって払い出された賞球を検出する賞球検出処理(S50)との3つの処理によって構成されている。
入賞検出処理(S30)では、まず、いずれかの普通入賞スイッチ17又は第1種始動口スイッチ18により、球が検出された否かを確認する(S31)。いずれかのスイッチ17,18によって球が検出された場合には(S31:Yes)、6個の賞球を払い出すために、賞球ポインタ13bの値番目の賞球バッファ13aへ「6」を書き込み(S32)、賞球ポインタ13bの値を「1」加算する(S33)。一方、いずれのスイッチ17,18によっても球が検出されない場合には(S31:No)、S32およびS33の処理をスキップして、S34の処理へ移行する。
S34の処理では、Vカウントスイッチ19又は10カウントスイッチ20により球が検出された否かを確認する(S34)。いずれかのスイッチ19,20によって球が検出された場合には(S34:Yes)、15個の賞球を払い出すために、賞球ポインタ13bの値番目の賞球バッファ13aへ「15」を書き込み(S35)、賞球ポインタ13bの値を「1」加算する(S36)。一方、いずれのスイッチ19,20によっても球が検出されない場合には(S34:No)、S35およびS36の処理をスキップして、入賞検出処理(S30)を終了し、S40の賞球コマンド送信処理へ移行する。
賞球コマンド送信処理(S40)では、まず、賞球ポインタ13bの値が「0」であるか否かを調べる(S41)。賞球ポインタ13bの値が「0」でなければ(S41:No)、払い出すべき賞球数のデータが賞球バッファ13aに記憶されているということなので、0番目の賞球バッファ13aの値を賞球コマンドの2バイト目のデータとしてセットし、その賞球コマンドを払出制御基板Hへ送信する(S42)。賞球コマンドの送信後は、その賞球コマンドによって送信した賞球数データである、0番目の賞球バッファ13aの値を残賞球数カウンタ13cへ加算する(S43)。そして、1番目以降の賞球バッファ13aの値を小さいアドレス側へ順に1バイトずつシフトして(S44)、賞球バッファ13aの値を更新すると共に、送信した0番目の賞球バッファ13aの値を消去し、更に、賞球ポインタ13bの値を「1」減算する(S45)。一方、S41の処理において、賞球ポインタ13bの値が「0」であれば(S41:Yes)、払い出すべき賞球数のデータは賞球バッファ13aに記憶されていないので、S42〜S45の各処理をスキップして、賞球コマンド送信処理(S40)を終了し、S50の賞球検出処理へ移行する。
賞球検出処理(S50)では、まず、賞球カウントスイッチ22がオンされたか否かを判断する(S51)。賞球カウントスイッチ22のオンが検出された場合には(S51:Yes)、賞球が1個払い出されたということなので、残賞球数カウンタ13cの値を確認し(S52)、その値が「0」でなければ(S52:No)、払い出された賞球に対応して残賞球数カウンタ13cの値を「1」減算する(S53)。一方、賞球カウントスイッチ22のオンが検出されない場合には(S51:No)、賞球は払い出されていないので、また、賞球カウントスイッチ22のオンが検出されても残賞球数カウンタ13cの値が「0」であれば(S51:Yes,S52:Yes)、残賞球数カウンタ13cの値を減算することはできないので、S53の処理をスキップして、賞球検出処理(S50)を終了する。これにより、図5の賞球処理が終了する。
次に、図6から図8を参照して、払出制御基板Hで行われる各処理について説明する。図6は、払出制御基板Hの割込処理で実行されるコマンド受信処理のフローチャートである。主制御基板Cから送信されたコマンドを払出制御基板Hが受信すると、その度に割り込みが発生し、このコマンド受信処理が実行される。
コマンド受信処理では、まず、受信したコマンドが初期化コマンドであるか否かを判断する(S61)。そのコマンドが初期化コマンドであれば(S61:Yes)、その初期化コマンドの受信を記憶するべく、初期化フラグ33bをオンして(S62)、このコマンド受信処理を終了する。一方、受信したコマンドが初期化コマンドでなければ(S61:No)、そのコマンドが賞球払出許可コマンドであるか否かを判断する(S63)。受信したコマンドが賞球払出許可コマンドであれば(S63:Yes)、その賞球払出許可コマンドの2バイト目のデータとして指示される値を残賞球数カウンタ33aへ書き込み(S64)、残賞球数カウンタ33aの値を主制御基板Cの残賞球数カウンタ13cの値と一致させる。更に、この賞球払出許可コマンドの受信を記憶するべく、賞球払出許可フラグ33cをオンして(S65)、このコマンド受信処理を終了する。
受信したコマンドが、初期化コマンドでも賞球払出許可コマンドでもなければ(S61:No,S63:No)、そのコマンドが賞球コマンドであるか否かを判断する(S66)。受信したコマンドが賞球コマンドであれば(S66:Yes)、その賞球コマンドの2バイト目のデータとして指示される賞球数を残賞球数カウンタ33aへ加算し(S67)、このコマンド受信処理を終了する。一方、受信したコマンドが賞球コマンドでもない場合には(S66:No)、受信したコマンドに応じた処理を実行して(S68)、このコマンド受信処理を終了する。
図7は、パチンコ機Pの電源入時に払出制御基板Hで実行される立ち上げ処理(復電処理)のフローチャートである。この処理では、バックアップが有効であれば、バックアップエリア33dに記憶された各データを元の状態に戻し、賞球の払出制御を電源が断される前の状態から続行する。一方、バックアップが有効でなかったり、或いは、バックアップが有効であっても電源入時にクリアスイッチ23が押下された場合には、初期化処理を実行する。
まず、割込を禁止し(S71)、次に、本来のスタック領域にスタックされているデータを壊さないために、仮のスタックポインタを設定する(S72)。クリアスイッチ23がオンされているか否かを確認し(S73)、オンされていれば(S73:Yes)、処理をS75へ移行して初期化処理を実行する。クリアスイッチ23がオンされていなければ(S73:No)、バックアップが有効であるか否かを確認する(S74)。この確認は、RAM33の所定のエリアに書き込まれたキーワードが正しく記憶されているか否かにより判断する。キーワードが正しく記憶されていればバックアップは有効であり、逆に、キーワードが正しくなければバックアップデータは破壊されているので、そのバックアップは有効ではない。バックアップが有効であれば(S74:Yes)、処理をS82へ移行して、払出制御基板Hの各状態を電源の断前の状態に復帰させる。一方、バックアップが有効でなければ(S74:No)、処理をS75へ移行して初期化処理を実行する。
S75の処理からの初期化処理では、まず、正規のスタックポインタを設定し、スタックの内容を整えた後(S75)、RAMクリア及び初期化処理を実行して(S76)、RAM33及びI/O等の各値を初期化する。その後、割込を許可して(S77)、前述した図6のコマンド受信処理を実行可能とする。割込の許可後は、主制御基板Cからの賞球の払出許可をウエイトするべく、初期化フラグ33b又は賞球払出許可フラグ33cのいずれかがオンされるまで処理をループする(S78:No,S79:No)。初期化フラグ33b又は賞球払出許可フラグ33cのいずれかがオンされれば(S78:Yes又はS79:Yes)、主制御基板Cから賞球の払出許可が出されたということである。よって、かかる場合には、次の電源断に備えて、初期化フラグ33b及び賞球払出許可フラグ33cを共にオフした後(S80)、払出制御基板Hのメイン処理となる各処理を実行する(S81)。図8の賞球払出処理は、この各処理(S81)の中で実行されるので、払出制御基板Hによる賞球の払い出しは、初期化フラグ33bまたは賞球払出許可フラグ33cのいずれかがオンされるまで待機されることになる。
なお、主制御基板Cから送信される初期化コマンドを受信して初期化フラグ33bがオンされた場合であっても(S78:Yes)、処理をS80へ移行するので、RAMクリア及び初期化処理(S76)を重複して実行することがない。
S82からの復帰処理では、まず、バックアップエリア33dへ退避した各レジスタやI/O等のデータをそのバックアップエリア33dから読み出して、これら各データを元のレジスタやI/O等へ書き込む(S82)。更に、バックアップエリア33dからスタックポインタの値を読み出して、これをスタックポインタへ書き込み、電源断前(停電前)の状態、即ちNMI割込発生前の状態に戻す(S83)。その後、割込を許可して(S84)、図6のコマンド受信処理を実行可能とする。割込の許可後は、主制御基板Cからの賞球の払出許可をウエイトするべく、初期化フラグ33b又は賞球払出許可フラグ33cのいずれかがオンされるまで処理をループする(S85:No,S86:No)。
賞球払出許可フラグ33cがオンされれば(S85:Yes)、主制御基板Cから賞球の払出許可が出されたということである。よって、かかる場合には、次の電源断に備えて、賞球払出許可フラグ33cをオフした後(S88)、NMI割込をリターンし、処理を電源断前に実行していたところへ戻して、制御を電源断前の状態から続行する。これにより賞球の払い出しが可能となる。
一方、初期化フラグ33bがオンされれば(S85:No,S86:Yes)、主制御基板Cから初期化コマンドが送信されたということである。よって、かかる場合には、RAMクリア及び初期化処理を実行して(S87)、払出制御基板Hを初期化した後、払出制御基板Hのメイン処理となる各処理を実行する(S81)。図8の賞球払出処理は、この各処理(S81)の中で実行されるので、払出制御基板Hによる賞球の払い出しは、初期化フラグ33bがオンされるまで待機されることになる。
なお、図4で説明した通り、主制御基板Cは初期化コマンドの送信後、ウエイト処理(S19)を実行しその後の処理の実行を所定時間待機するので、払出制御基板HによるRAMクリア及び初期化処理(S87)の実行中に、主制御基板Cから新たなコマンドが送信されることはない。よって、払出制御基板Hは、かかる場合にも遊技の払出制御を正常に行うことができるのである。
図8は、払出制御基板Hの各処理(S81)の中で実行される賞球払出処理のフローチャートである。この賞球払出処理により、賞球の払い出しと、払い出された賞球の検出とが行われる。賞球払出処理では、まず、残賞球数カウンタ33aの値を調べ(S91)、その値が「0」でなければ(S91:No)、未払いの賞球が残っているので、賞球払出用モータ21を駆動して賞球を1個払い出す(S92)。一方、残賞球数カウンタ33aの値が「0」であれば(S91:Yes)、未払いの賞球は残っていないので、S92の賞球の払い出し処理をスキップする。
S93の処理において、賞球カウントスイッチ22のオンが検出されれば(S93:Yes)、賞球の払い出しが行われたということである。よって、かかる場合には、残賞球数カウンタ33aの値を確認し(S94)、その値が「0」でなければ(S94:No)、払い出された賞球に対応して残賞球数カウンタ33aの値を「1」減算し(S95)、この賞球払出処理を終了する。一方、賞球カウントスイッチ22のオンが検出されない場合や(S93:No)、賞球カウントスイッチ22のオンが検出されても(S93:Yes)、残賞球数カウンタ33aの値が「0」であれば(S94:Yes)、S95の処理をスキップして、この賞球払出処理を終了する。
以上説明したように、本実施例のパチンコ機Pによれば、賞球の払出残数を記憶する主制御基板Cおよび払出制御基板Hの残賞球数カウンタ13c,33aの値は、バックアップ用のコンデンサ13x,33xによって、それぞれパチンコ機Pの電源が切断された後も保持される。よって、停電などの発生によってパチンコ機Pの電源が突然切断された場合にも、未払いの賞球数を記憶して、パチンコ機Pの電源が再投入された後に、それらを確実に払い出すことができる。
しかも、かかる未払い分の賞球の払い出しは、主制御基板Cから払出制御基板Hへ初期化コマンド又は賞球払出許可コマンドのいずれかが送信された後に行われる。よって、主制御基板Cと払出制御基板Hとの立ち上げ処理(復電処理)に要する時間が異なっても、払出制御基板Hによって行われる賞球の払い出しを、主制御基板C及び払出制御基板Hの双方で確実に検出することができる。
また、主制御基板Cは、賞球払出許可コマンドの2バイト目のデータとして残賞球数カウンタ13cの値をセットして送信し、払出制御基板は、その2バイト目のデータを自身の残賞球数カウンタ33aの値として書き換えるので、電源の再入時に、両制御基板C,Hの残賞球数カウンタ13c,33aの値を一致させることができる。よって、両制御基板C,Hの残賞球数カウンタ13c,33aの値が不一致である場合に生じる賞球オーバーエラーや賞球アンダーエラーの発生を抑制して、電源再入後の遊技を円滑に開始させることができる。更に、主制御基板Cは、自己のバックアップが有効でない場合には、RAMクリア及び初期化処理(S16)を実行し、その後、払出制御基板Hへ初期化コマンドを送信する。払出制御基板Hでは、この初期化コマンドを受信すると、同様に、RAMクリア及び初期化処理(S87)を実行する。よって、バックアップが有効でない場合の電源の再入時においても、両制御基板C,Hの残賞球数カウンタ13c,33aの値を「0」に一致させて、遊技を円滑に開始させることができるのである。
次に、図9から図12を参照して、第2実施例について説明する。第2実施例は、前記した第1実施例と同様に、払出制御基板Hの復電処理(停電解消後の立ち上げ処理)において、未払いの賞球の払い出しを待機するものである。賞球の払い出しの待機は、第1実施例では、払出制御基板Hが賞球払出許可コマンドまたは初期化コマンドの受信を待機することによりなされたが、第2実施例では、初期化コマンドの他に、パチンコ機Pの状態を示すコマンドである「タンク球無し状態コマンド」或いは「タンク球無し状態解除コマンド」や、「下皿満タン状態コマンド」或いは「下皿満タン状態解除コマンド」の受信を、払出制御基板Hが待機することによりなされる。また、前記した第1実施例では、賞球払出許可コマンドまたは初期化コマンドはいずれも主制御基板Cから割込処理によって送信され、払出制御基板Hの割込処理で受信された。これに対し、第2実施例では、各コマンドは主制御基板Cの復電処理のメイン処理で送信され、払出制御基板Hの復電処理のメイン処理で受信される。
なお、「タンク球無し状態コマンド」は、払い出される賞球や貸し球を貯留する貯留タンク(図示せず)に球が貯留されていない(不足する)状態を示すコマンドであり、逆に、「タンク球無し状態解除コマンド」は、該貯留タンクに球が充分に貯留されていることを示すコマンドである。また、「下皿満タン状態コマンド」は、払い出された賞球を貯留する下皿(図示せず)が満タン状態であることを示すコマンドであり、逆に、「下皿満タン状態解除コマンド」は、該下皿が満タンでないことを示すためのコマンドである。これらのコマンドは、いずれも1バイトで構成されている。以下、前記した第1実施例と同一の部分には同一の符号を付してその説明を省略する。
図9は、第2実施例のパチンコ機Pの電気的構成を示したブロック図であり、特に、パチンコ機Pの遊技内容の制御を行う主制御基板Cと、賞球や貸し球の払出制御を行う払出制御基板Hとの電気的構成を示したブロック図である。この第2実施例のブロック図には、前記した第1実施例のブロック図(図2)に対して、主制御基板Cへ信号を出力するスイッチとしてタンク球切スイッチ26と下皿満タンスイッチ27とが追加され、払出制御基板HのRAM33に、タンク球無しフラグ33eと下皿満タンフラグ33fとが追加され、賞球払出許可フラグ33cが削除されている。なお、当然のことながら、タンク球切スイッチ26及び下皿満タンスイッチ27は、第1実施例のパチンコ機Pも有するスイッチであり、図2では、他の入出力装置25に含めて記載されている。第2実施例では、説明を容易にするために、これらのスイッチ26,27を表記している。
タンク球切スイッチ26は、払出制御基板Hによって払い出される賞球や貸し球を貯留する貯留タンク(図示せず)に、球が貯留されているか否かを検出するためのスイッチである。下皿満タンスイッチ27は、パチンコ機Pの下皿(図示せず)が球で一杯になっているか否かを検出するためのスイッチである。両スイッチ26,27の検出信号は、入出力ポート15を介して、主制御基板CのMPU11によって読み込まれる。MPU11は、貯留タンクに球が無ければ「タンク球無し状態コマンド」を、逆に、貯留タンクに球があれば「タンク球無し状態解除コマンド」を、それぞれ払出制御基板Hへ送信する。また、MPU11は、下皿が満タンであれば「下皿満タン状態コマンド」を、逆に、下皿が満タンで無ければ「下皿満タン状態解除コマンド」を、それぞれ払出制御基板Hへ送信する。払出制御基板Hは、「タンク球無し状態コマンド」或いは「下皿満タン状態コマンド」のいずれかを受信した場合には、そのコマンドの解除コマンドを受信するまでの間、賞球および貸し球の払い出し動作を中止する。
払出制御基板HのRAM33のタンク球無しフラグ33eは、貯留タンクに球があるか否かの状態を記憶するためのフラグである。主制御基板Cから送信される「タンク球無し状態コマンド」を受信した場合にオンされ、逆に、「タンク球無し状態解除コマンド」を受信した場合にオフされる。下皿満タンフラグ33fは、下皿が満タンであるか否かの状態を記憶するためのフラグである。主制御基板Cから送信される「下皿満タン状態コマンド」を受信した場合にオンされ、逆に、「下皿満タン状態解除コマンド」を受信した場合にオフされる。タンク球無しフラグ33eまたは下皿満タンフラグ33fのいずれかがオンされている場合には、賞球および貸し球の払い出しが中止される。
次に、図10から図12を参照して、第2実施例のパチンコ機Pの動作を説明する。図10は、パチンコ機Pの電源入時に主制御基板Cで実行される立ち上げ処理(復電処理)のフローチャートである。この処理では、バックアップが有効であれば、バックアップエリア13dに記憶された各データを元の状態に戻し、遊技の制御を電源が断される前の状態から続行する。一方、バックアップが有効でなかったり、或いは、バックアップが有効であっても電源入時にクリアスイッチ23が押下された場合には、初期化処理を実行する。
S11からS14までの処理は、第1実施例と同様であるので、その説明は省略する。S15の処理からの初期化処理では、まず、正規のスタックポインタを設定し、スタックの内容を整えた後(S15)、RAMクリア及び初期化処理を実行して(S16)、RAM13及びI/O等の各値を初期化する。その後、割込禁止状態のまま、図10のメイン処理により初期化コマンドを払出制御基板Hへ送信し(S107)、主制御基板Cで初期化処理が実行されたことを払出制御基板Hへ報せる。払出制御基板Hは、主制御基板Cに比べて処理が軽いので、主制御基板Cより先に立ち上げ処理(復電処理)が終了する。よって、払出制御基板Hは、主制御基板Cから送信される初期化コマンドを確実に受信することができる。主制御基板Cは、初期化コマンドの送信後、その初期化コマンドを受信した払出制御基板Hが初期化処理を完了するために充分な時間をウエイトするためにウエイト処理を実行して(S108)、次の処理への移行を所定時間待機する。ウエイト処理の実行後は、払出制御基板Hも確実に立ち上がっているので、割込を許可し(S109)、処理をS110の各処理へ移行して、遊技の制御を開始する。
バックアップが有効であれば(S14:Yes)、処理をS111へ移行して、主制御基板Cの各状態を電源の断前の状態に復帰させる。S111からの復帰処理(復電処理)では、まず、タンク球切スイッチ26の信号を読んで、貯留タンクに球があるか否かを検出する。貯留タンクに球が無ければ(S111:Yes)、タンク球無し状態コマンドを払出制御基板Hへ送信し(S112)、逆に、貯留タンクに球があれば(S111:No)、タンク球無し状態解除コマンドを払出制御基板Hへ送信する(S113)。次に、下皿満タンスイッチ27の信号を読んで、下皿が満タンであるか否かを検出する。下皿が満タンであれば(S114:Yes)、下皿満タン状態コマンドを払出制御基板Hへ送信し(S115)、逆に、下皿が満タンでなければ(S114:No)、下皿満タン状態解除コマンドを払出制御基板Hへ送信する(S116)。
S111からS116の各処理によりコマンドを送信した後、バックアップエリア13dへ退避した各レジスタやI/O等のデータをそのバックアップエリア13dから読み出して、これら各データを元のレジスタやI/O等へ書き込む(S117)。更に、バックアップエリア13dからスタックポインタの値を読み出して、これをスタックポインタへ書き込み、電源断前(停電前)の状態、即ちNMI割込発生前の状態に戻す(S118)。同様に、割込状態についても、停電発生時に実行される図3の処理で記憶しておいた電源断前(停電前)の状態、即ちNMI割込発生前の状態に戻す(S119)。その後、NMI割込をリターンして、処理を電源断前に実行していたところへ戻して、制御を電源断前の状態から続行する。
図11は、パチンコ機Pの電源入時に払出制御基板Hで実行される立ち上げ処理(復電処理)のフローチャートである。この処理では、バックアップが有効であれば、バックアップエリア33dに記憶された各データを元の状態に戻し、賞球の払出制御を電源が断される前の状態から続行する。一方、バックアップが有効でなかったり、或いは、バックアップが有効であっても電源入時にクリアスイッチ23が押下された場合には、初期化処理を実行する。
S71からS74までの処理は、第1実施例と同様であるので、その説明は省略する。S75の処理からの初期化処理では、まず、正規のスタックポインタを設定し、スタックの内容を整えた後(S75)、RAMクリア及び初期化処理を実行して(S76)、RAM33及びI/O等の各値を初期化する。その後、割込禁止状態のままで、図12に示す復電時コマンド受信処理(S131)を実行する。後述するように、復電時コマンド受信処理(S131)で初期化コマンドが受信されると初期化フラグ33bがオンされるので(S152)、次の電源断に備えて、この初期化フラグ33bをオフした後(S132)、割込を許可して(S133)、各処理へ移行する(S134)。図8に示す賞球払出処理は、この各処理(S134)の中で実行されるので、払出制御基板Hによる賞球の払い出しは、復電時コマンド受信処理(S131)が終了するまで待機される。
なお、復電時コマンド受信処理(S131)の中で、主制御基板Cから送信される初期化コマンドを受信した場合にも、その後は、割込を許可して(S133)、各処理(S134)へ移行するので、RAMクリア及び初期化処理(S76)を重複して実行することがない。
バックアップが有効であれば(S74:Yes)、処理をS141へ移行して、払出制御基板Hの各状態を電源の断前の状態に復帰させる。S141からの復帰処理では、まず、割込禁止状態のまま、図12に示す復電時コマンド受信処理を実行する(S141)。後述するように、復電時コマンド受信処理で初期化コマンドが受信されると、初期化フラグ33bがオンされる(S152)。よって、復電時コマンド受信処理の実行後に、初期化フラグ33bがオンされていれば(S142:Yes)、初期化コマンドを受信したということであるので、RAMクリア及び初期化処理を実行して(S143)、RAM33及びI/O等の各値を初期化する。なお、S152の処理でオンされた初期化フラグ33bは、RAMクリア及び初期化処理(S143)によりオフされる。その後は、割込を許可して(S133)、処理を各処理へ移行する(S134)。前述したように、図8に示す賞球払出処理は、この各処理(S134)の中で実行されるので、払出制御基板Hによる賞球の払い出しは、復電時コマンド受信処理(S131)が終了するまで待機される。
なお、図10で説明した通り、主制御基板Cは初期化コマンドの送信後、ウエイト処理(S108)を実行しその後の処理の実行を所定時間待機するので、払出制御基板HによるRAMクリア及び初期化処理(S143)の実行中に、主制御基板Cから新たなコマンドが送信されることはない。よって、払出制御基板Hは、かかる場合にも遊技の払出制御を正常に行うことができる。
一方、S141の復電時コマンド受信処理の実行後、初期化フラグ33bがオンされていなければ(S142:No)、初期化コマンドは受信されず、タンク球無し状態コマンド又はタンク球無し状態解除コマンドおよび下皿満タン状態コマンド又は下皿満タン状態解除コマンドが受信されたということである。これらのコマンドは、後述するように、賞球の払出許可コマンドとしての機能を有するコマンドである。よって、かかる場合には、バックアップエリア33dへ退避した各レジスタやI/O等のデータをそのバックアップエリア33dから読み出して、これら各データを元のレジスタやI/O等へ書き込み(S145)、更に、バックアップエリア33dからスタックポインタの値を読み出して、これをスタックポインタへ書き込んで(S146)、電源断前(停電前)の状態、即ちNMI割込発生前の状態に戻す。同様に、割込状態についても、停電発生時に実行される図3の処理で記憶しておいた電源断前(停電前)の状態、即ちNMI割込発生前の状態に戻す(S147)。その後、NMI割込をリターンし、処理を電源断前に実行していたところへ戻して、制御を電源断前の状態から続行する。この場合、制御は各処理(S134)の中のいずれかの処理へリターンするので、これにより賞球の払い出しが可能となる。
図12は、払出制御基板Hの立ち上げ処理(復電処理)の中で実行される復電時コマンド受信処理のフローチャートである。復電時コマンド受信処理(S131,S141)は、割込禁止状態で復電処理の中で実行される。前述したように、主制御基板Cと払出制御基板Hとは、8本のデータ線と1本のストローブ線とにより接続されており、ストローブ線のデータがアクティブになった時に、8本のデータ線上に出力されているデータが主制御基板Cから払出制御基板Hへコマンドとして送信されるが、ストローブ線は、払出制御基板Hの割込入力端子と入力ポートとにそれぞれ接続されているので、割込が禁止された状態であっても、ストローブ線の状態をポート入力(データ読込)することによりストローブ信号のアクティブを検出して、主制御基板Cから送信されるコマンドを受信することができる。この復電時コマンド受信処理では、かかるストローブ信号をポート入力(データ読込)することにより、割込禁止状態で各コマンド受信している。
図11に示すように、主制御基板Cの立ち上げ処理において払出制御基板Hへ送信されるのは、初期化コマンド、タンク球無し状態コマンド又はタンク球無し状態解除コマンド、および下皿満タン状態コマンド又は下皿満タン状態解除コマンドである。このうち最初に送信されるのは、初期化コマンド、タンク球無し状態コマンド又はタンク球無し状態解除コマンドの3コマンドのうちのいずれかである。よって、図12に示す復電時コマンド受信処理では、まず、この3コマンドのいずれの受信を待機する(S151:No,S153:No,S154:No)。
初期化コマンドを受信した場合には(S151:Yes)、初期化フラグ33bをオンして(S152)、この処理を終了する。すると、図11を参照して説明したように、RAMクリア及び初期化処理が実行されていなければ、これが実行され(S143)、RAM33及びI/O等の各値が初期化される。その後、割込が許可されて(S133)、各処理へ移行し(S134)、賞球や貸し球の払い出しが可能な状態となる。このようにかかる場合には、初期化コマンドが賞球の払い出しを許可するコマンドとなり、払出制御基板Hは、初期化コマンドを受信するまで、賞球や貸し球の払い出しを待機するのである。
一方、3コマンドのうちタンク球無し状態コマンドを受信した場合には(S153:Yes)、タンク球無しフラグ33eをオンし(S156)、逆に、タンク球無し状態解除コマンドを受信した場合には(S154:Yes)、タンク球無しフラグ33eをオフする(S155)。次に、下皿満タン状態コマンド又は下皿満タン状態解除コマンドの受信を待機し(S157:No,S158:No)、下皿満タン状態コマンドを受信した場合には(S157:Yes)、下皿満タンフラグ33fをオンし(S160)、逆に、下皿満タン状態解除コマンドを受信した場合には(S158:Yes)、下皿満タンフラグ33fをオフして(S159)、この復電時コマンド受信処理を終了する。
図11を参照して説明したように、復電時コマンド受信処理の実行後は、各レジスタ、メモリ、I/O、スタックポインタ、割込状態などの値や状態を停電発生前の状態に戻して、停電発生時のアドレスへNMIリターンする(S145〜S147)。よって、かかる場合には、タンク球無し状態コマンド又はタンク球無し状態解除コマンド、および下皿満タン状態コマンド又は下皿満タン状態解除コマンドが、即ち、パチンコ機Pの状態を示すコマンドが賞球の払い出しを許可するコマンドとなり、払出制御基板Hは、これらのコマンドを受信するまで、賞球や貸し球の払い出しを待機するのである。
以上説明したように、第2実施例のパチンコ機Pによれば、賞球の払出残数を記憶する主制御基板Cおよび払出制御基板Hの残賞球数カウンタ13c,33aの値は、バックアップ用のコンデンサ13x,33xによって、それぞれパチンコ機Pの電源が切断された後も保持されると共に、未払い分の賞球の払い出しは、主制御基板Cから払出制御基板Hへ初期化コマンド、又は、タンク球無し状態コマンド若しくはタンク球無し状態解除コマンドおよび下皿満タン状態コマンド若しくは下皿満タン状態解除コマンドが送信された後に行われる。よって、主制御基板Cと払出制御基板Hとの立ち上げ処理(復電処理)に要する時間が異なっても、払出制御基板Hによって行われる賞球の払い出しを、主制御基板C及び払出制御基板Hの双方で確実に検出することができる。
しかも、かかる賞球や貸し球の払い出しの待機は、払出制御基板Hの復電処理の中で行われるので、払い出しの待機を復電処理の終了後NMI割込をリターンした後の各処理の中で行う場合に比べて、確実に待機させることができる。即ち、NMI割込をリターンすると(図7,図11参照)、停電発生時のアドレスへ制御が戻されるが、戻された先の制御が、図8のS92の処理のように、まさに賞球を払い出す直前の処理である場合には、例え賞球の払い出しを待機させる処理を各処理(S81,S134)の中に設けていても、1個の賞球が払い出されてしまう。このとき主制御基板Cが立ち上がっていなければ、その払い出された賞球を検出することはできない。これに対し、第1および第2実施例では、賞球や貸し球の払い出しの待機を、払出制御基板Hの復電処理の中で行っているので、賞球の払い出し処理を実行する直前に停電が発生した場合であっても、即ち、NMI割込のリターン先のアドレスが、まさに賞球を払い出す直前の処理である場合にも、かかる処理を主制御基板Cの立ち上げ後に実行させることができる。よって、停電解消後に払出制御基板Hによって行われる賞球の払い出しを、主制御基板C及び払出制御基板Hの双方が確実に立ち上がるまで待機させて、かかる払い出しを両制御基板C,Hに確実に検出させることができる。
また、第2実施例では、賞球の払い出しを許可するコマンドとして、初期化コマンドの他に、パチンコ機Pの状態を示す、タンク球無し状態コマンド又はタンク球無し状態解除コマンド、および、下皿満タン状態コマンド又は下皿満タン状態解除コマンドを用いた。パチンコ機Pの状態は、停電発生前と停電解消後とで変化し得るので、停電解消後に、停電発生前のパチンコ機Pの状態のままで制御を再開すると、パチンコ機Pの動作に異常を来す場合がある。例えば、停電発生前は貯留タンクに球があっても、停電解消後に貯留タンクが空になっている場合に、払出制御基板Hが貯留タンクの球無しを認識せずに払い出しを行うと、賞球払出用モータ21をいくら駆動しても賞球が払い出されないので、該モータ21が回りっぱなしになってしまう。同様に、停電発生前は下皿が満タンになっていなくても、停電解消後に下皿が満タンになっている場合に、払出制御基板Hが下皿満タンを認識せずに払い出しを行うと、払い出された賞球が賞球の払出路に詰まってしまい、詰まった賞球が賞球払出用モータ21の位置にまで達すると、該モータ21の破損を招いてしまう。
これに対し、第2実施例では、賞球の払い出しを許可するコマンドとして、パチンコ機Pの状態を示す、タンク球無し状態コマンド又はタンク球無し状態解除コマンド、および、下皿満タン状態コマンド又は下皿満タン状態解除コマンドを用い、かかるコマンドによって示されたパチンコ機Pの状態をタンク球無しフラグ33eおよび下皿満タンフラグ33fに記憶している。タンク球無しフラグ33eおよび下皿満タンフラグ33fの各フラグ状態は、図11のS145及びS146の各処理が実行されても壊されず保持されるように構成されている。即ち、これらのフラグ33e,33fはバックアップの対象から除外されている。よって、パチンコ機Pの状態が、停電発生時と停電解消後とで異なっていても、復電処理において認識した正しい状態で、パチンコ機Pを始動させることができる。即ち、第2実施例では、パチンコ機Pの状態を示すコマンドを、賞球の払い出しを許可するコマンドとして兼用することにより、かかる効果を達成しているのである。
なお、当然のことながら、第2実施例においても、タンク球無し状態コマンド又はタンク球無し状態解除コマンド、および、下皿満タン状態コマンド又は下皿満タン状態解除コマンドに代えて、賞球払出許可コマンドを用いるようにしても良い。また、電源投入時における初期化時に、初期化コマンドに代えて、パチンコ機Pの状態を示す、タンク球無し状態コマンド又はタンク球無し状態解除コマンド、および、下皿満タン状態コマンド又は下皿満タン状態解除コマンドを用いるようにしても良い。
更に、第2実施例では、主制御基板Cは割込を禁止した状態で賞球の払い出しを許可するための各コマンドを送信しており(S107,S111〜S116)、払出制御基板Hもまた割込を禁止した状態で賞球の払い出しを許可するための各コマンドを受信している(S131,S141)。このように両制御基板C,Hは割込を禁止した状態で復電処理を完了するように構成されているので、スタック内容の復帰のソフト制御をより容易に行うことができる。
以上、実施例に基づき本発明を説明したが、本発明は上記実施例に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
例えば、上記実施例では、主制御基板Cのバックアップが有効でない場合には、主制御基板Cは、自己の初期化処理の実行後、初期化コマンドを払出制御基板Hへ送信したが、この初期化コマンドに代えて、2バイト目のデータに「0」をセットした賞球払出許可コマンドを送信するようにしても良い。払出制御基板Hは、2バイト目に「0」がセットされた賞球払出許可コマンドを受信すると、自身の残賞球数カウンタ33aの値を「0」とするので、電源再入時における賞球の払い出しをクリアすることができるからである。
また、2バイトで構成された賞球払出許可コマンドを、1バイトで構成し、即ち、残賞球数カウンタ13cの値がセットされた2バイト目のデータを除いて賞球払出許可コマンドを1バイトで構成し、その賞球払出許可コマンドでは、単に賞球の払い出しのみを指示するようにしても良い。更に、主制御基板Cの立ち上げ処理の終了を示すコマンドを設けて、そのコマンドにより、払出制御基板Hに対して、賞球の払い出しを許可するようにしても良い。かかるコマンドは、必ずしも1のコマンドである必要はなく、2以上のコマンドで賞球の払い出しを許可するようにしても良い。
また、主制御基板Cでは、自身の立ち上げ処理の終了後にパチンコ機Pの状態を示すコマンドを払出制御基板Hへ送信するように構成し、払出制御基板Hでは、主制御基板Cから送信される何らかのコマンドを受信するまで賞球の払い出しを待機するように構成しても良い。電源断前と電源入後とではパチンコ機Pの状態は必ずしも同じではない。電源断前には賞球の払い出しが可能で合ったにも拘わらず、電源の再入後には、例えば、払い出される賞球を貯留するタンクの球が不足して空切れ状態となっている場合もあり、その場合には賞球の払い出しを行うことはできない。そこで、主制御基板Cの立ち上げ後、パチンコ機Pの状態を示すコマンドを払出制御基板Hへ送信し、払出制御基板Hでは、そのコマンドを受信した後でなければ賞球の払い出しを行うことができないように構成するのである。なお、パチンコ機Pの状態を示すコマンドの中には、賞球の払い出しを止めておくコマンドもあるので、電源再入後のパチンコ機Pの状態が賞球の払い出しを行うことができない場合には、かかる賞球の払い出しを止めておくコマンドが送信されて、払出制御基板Hによる賞球の払い出しが更に待機される。
本発明を上記実施例とは異なるタイプのパチンコ機等に実施しても良い。例えば、一度大当たりすると、それを含めて複数回(例えば2回、3回)大当たり状態が発生するまで、大当たり期待値が高められるようなパチンコ機(通称、2回権利物、3回権利物と称される)として実施しても良い。また、大当たり図柄が表示された後に、所定の領域に球を入賞させることを必要条件として特別遊技状態となるパチンコ機として実施しても良い。更に、パチンコ機以外にも、アレパチ、雀球、スロットマシン、いわゆるパチンコ機とスロットマシンとが融合した遊技機などの各種遊技機として実施するようにしても良い。
なお、スロットマシンは、例えばコインを投入して図柄有効ラインを決定させた状態で操作レバーを操作することにより図柄が変動され、ストップボタンを操作することにより図柄が停止されて確定される周知のものである。従って、スロットマシンの基本概念としては、「複数の識別情報からなる識別情報列を変動表示した後に識別情報を確定表示する可変表示手段を備え、始動用操作手段(例えば操作レバー)の操作に起因して識別情報の変動が開始され、停止用操作手段(例えばストップボタン)の操作に起因して、或いは、所定時間経過することにより、識別情報の変動が停止され、その停止時の確定識別情報が特定識別情報であることを必要条件として、遊技者に有利な特別遊技状態を発生させる特別遊技状態発生手段とを備えたスロットマシン」となり、この場合、遊技媒体はコイン、メダル等が代表例として挙げられる。
また、パチンコ機とスロットマシンとが融合した遊技機の具体例としては、複数の図柄からなる図柄列を変動表示した後に図柄を確定表示する可変表示手段を備えており、球打出用のハンドルを備えていないものが挙げられる。この場合、所定の操作(ボタン操作)に基づく所定量の球の投入の後、例えば操作レバーの操作に起因して図柄の変動が開始され、例えばストップボタンの操作に起因して、或いは、所定時間経過することにより、図柄の変動が停止され、その停止時の確定図柄がいわゆる大当たり図柄であることを必要条件として遊技者に有利な大当たり状態が発生させられ、遊技者には、下部の受皿に多量の球が払い出されるものである。
以下に本発明の変形例を示す。請求項1記載の遊技機において、前記主制御手段は、電源入時に実行される復電処理において、前記所定の指示として前記払出制御手段へその払出制御手段による有価物体の払い出しの待機を解除するコマンドを送信するものであることを特徴とする遊技機1。なお、復電処理とは、停電発生後であってその停電が解消した場合に実行される停電復帰処理をいう。
遊技機1において、前記主制御手段は、前記有価物体の払い出しの待機を解除するコマンドを、割込を禁止した状態で前記復電処理の中で送信するものであることを特徴とする遊技機2。有価物体の払い出しの待機を解除するコマンドを、割込を禁止した状態で復電処理の中で送信するので、停電時処理でスタック等に退避したデータのソフト制御による復帰を容易に行うことができる。
遊技機1において、前記主制御手段は、前記有価物体の払い出しの待機を解除するコマンドを、前記復電処理の中で、停電発生時にバックアップしたデータの復帰処理の前に送信するものであることを特徴とする遊技機3。かかる構成により、バックアップデータの復帰後、直ちに停電発生時のアドレスへ処理を戻すことができ、復電処理を円滑に行うことができる。
請求項1記載の遊技機または遊技機1から3のいずれかにおいて、前記主制御手段は、電源入時における遊技機の状態を示すコマンドを、前記払出制御手段による有価物体の払い出しの待機を解除する前記所定の指示として送信するものであることを特徴とする遊技機4。かかる遊技機の状態を示すコマンドとしては、例えば、払い出される賞球を貯留する貯留タンクに球が貯留されているか否かを示す「タンク球無し状態コマンド」或いは「タンク球無し状態解除コマンド」や、下皿の状態を示す「下皿満タン状態コマンド」或いは「下皿満タン状態解除コマンド」が例示される。このように遊技機の状態を示すコマンドを、有価物体の払い出しの待機を解除する所定の指示として用いることにより、停電解消後の遊技機を正常に動作させることができる。例えば、停電の発生前は貯留タンクに球があっても、停電解消時には貯留タンクが空になっている場合がある。同様に、停電の発生前は下皿が満タンでなくても、停電解消時には下皿が満タンになっている場合がある。停電解消後、遊技機が停電発生前の状態に戻ると、貯留タンクが空であったり下皿が満タンであるにも拘わらず、それを認識できずに賞球や貸し球の払い出しを行ってしまい、不都合が生じる。しかし、遊技機4によれば、遊技機の状態を示すコマンドを有価物体の払い出しの待機を解除する所定の指示として用いているので、停電解消後の遊技機の状態を払出制御手段に正常に認識させて、遊技機を正常に動作させることができるのである。なお、遊技機の状態を示すコマンドの中の特に、賞球の払い出し状態に拘わるコマンドや、賞球の払い出しの可不可に影響を与えるコマンド等を、払出制御手段による有価物体の払い出しの待機を解除する所定の指示として送信するようにしても良い。
遊技機4において、前記有価物体の払い出しの待機を解除する前記所定の指示として前記主制御手段から送信された遊技機の状態を示すコマンドにより指示される遊技機の状態を、前記払出制御手段は復電処理の後も継続して記憶するものであることを特徴とする遊技機5。払出制御手段において、かかるコマンドにより指示される遊技機の状態は、バックアップされているか否かに拘わらず、復電後の遊技機の状態として用いられる。
遊技機1から5のいずれかにおいて、前記払出制御手段は、前記主制御手段から送信される有価物体の払い出しの待機を解除するコマンドを、割込を禁止した状態で前記復電処理の中で受信するものであることを特徴とする遊技機6。有価物体の払い出しの待機を解除するコマンドを、割込を禁止した状態で復電処理の中で受信するので、停電時処理でスタック等に退避したデータのソフト制御による復帰を容易に行うことができる。
遊技機1から5のいずれかにおいて、前記払出制御手段は、前記有価物体の払い出しの待機を解除するコマンドを、前記復電処理の中で、停電発生時にバックアップしたデータの復帰処理の前に受信するものであることを特徴とする遊技機7。かかる構成により、バックアップデータの復帰後、直ちに停電発生時のアドレスへ処理を戻すことができ、復電処理を円滑に行うことができる。
請求項1記載の遊技機または遊技機1から7のいずれかにおいて、前記主制御手段は、有価物体の払出残数を記憶する主残数記憶手段と、その主残数記憶手段の内容を電源の切断後においても保持する主バックアップ手段と、その主バックアップ手段による前記主残数記憶手段のバックアップが正常に行われなかった場合の電源入時に前記主制御手段の初期化処理を実行する主初期化手段と、その主初期化手段による初期化処理の実行後に前記所定の指示として前記払出制御手段による有価物体の払い出しの待機を解除する初期化コマンドを送信する初期化コマンド送信手段とを備えていることを特徴とする遊技機8。
遊技機8において、前記払出制御手段は、前記主制御手段の初期化コマンド送信手段により送信される初期化コマンドを受信した場合には、その払出制御手段の初期化処理を実行して前記残数記憶手段の内容をクリアするものであることを特徴とする遊技機9。
遊技機8又は9において、前記主制御手段は、前記初期化コマンド送信手段により初期化コマンドを送信した場合には、前記払出制御手段への指示を前記初期化コマンドの送信後所定時間待機するものであることを特徴とする遊技機10。初期化コマンドの送信後、主制御手段から払出制御手段への指示が所定時間待機されるので、払出制御手段の初期化処理の実行中に主制御手段から指示を受けることはない。よって、払出制御手段は主制御手段からの指示を確実に受信することができる。
遊技機8から10のいずれかにおいて、前記主残数記憶手段および残数記憶手段の内容をクリアするクリア手段を備えていることを特徴とする遊技機11。クリア手段としては、例えば主制御手段にクリア信号を出力するクリアスイッチが例示される。なお、このクリアスイッチから出力されるクリア信号を主制御手段のみならず払出制御手段へ出力するようにしても良い。また、クリアスイッチが所定条件下で押下された場合にのみ、主制御手段および払出制御手段を初期化して、主残数記憶手段および残数記憶手段の内容をクリアするように構成しても良い。
請求項1記載の遊技機または遊技機1から11のいずれかにおいて、前記主制御手段と払出制御手段との送受信を、その主制御手段から払出制御手段への一方向にのみ可能とする一方向手段を備えていることを特徴とする遊技機12。
請求項1記載の遊技機または遊技機1から12のいずれかにおいて、前記遊技機はパチンコ機であることを特徴とする遊技機13。中でも、パチンコ機の基本構成としては操作ハンドルを備え、その操作ハンドルの操作に応じて球を所定の遊技領域へ発射し、球が遊技領域内の所定の位置に配設された作動口に入賞(又は作動口を通過)することを必要条件として、表示装置において変動表示されている識別情報が所定時間後に確定停止されるものが挙げられる。また、特別遊技状態の発生時には、遊技領域内の所定の位置に配設された可変入賞装置(特定入賞口)が所定の態様で開放されて球を入賞可能とし、その入賞個数に応じた有価価値(景品球のみならず、磁気カードへ書き込まれるデータ等も含む)が付与されるものが挙げられる。
請求項1記載の遊技機または遊技機1から12のいずれかにおいて、前記遊技機はスロットマシンであることを特徴とする遊技機14。中でも、スロットマシンの基本構成としては、「複数の識別情報からなる識別情報列を変動表示した後に識別情報を確定表示する可変表示手段を備え、始動用操作手段(例えば操作レバー)の操作に起因して、或いは、所定時間経過することにより、識別情報の変動が停止され、その停止時の確定識別情報が特定識別情報であることを必要条件として、遊技者に有利な特別遊技状態を発生させる特別遊技状態発生手段とを備えた遊技機」となる。この場合、遊技媒体はコイン、メダル等が代表例として挙げられる。
請求項1記載の遊技機または遊技機1から12のいずれかにおいて、前記遊技機はパチンコ機とスロットマシンとを融合させたものであることを特徴とする遊技機15。中でも、融合させた遊技機の基本構成としては、「複数の識別情報からなる識別情報列を変動表示した後に識別情報を確定表示する可変表示手段を備え、始動用操作手段(例えば操作レバー)の操作に起因して識別情報の変動が開始され、停止用操作手段(例えばストップボタン)の操作に起因して、或いは、所定時間経過することにより、識別情報の変動が停止され、その停止時の確定識別情報が特定識別情報であることを必要条件として、遊技者に有利な特別遊技状態を発生させる特別遊技状態発生手段とを備え、遊技媒体として球を使用すると共に、前記識別情報の変動開始に際しては所定数の球を必要とし、特別遊技状態の発生に際しては多くの球が払い出されるように構成されている遊技機」となる。