トップ :: A 生活必需品 :: A63 スポ−ツ;ゲ−ム;娯楽




【発明の名称】 遊技機
【発明者】 【氏名】鵜川 詔八

【氏名】石川 貴之

【氏名】神林 康男

【要約】 【課題】遊技状態を復旧させるための処理を効率良く実行するとともに、遊技店での遊技機運用上の利便性を向上させることができる遊技機を提供する。

【解決手段】メイン処理において、クリアスイッチ信号を受信しなければ、CPUは遊技状態復旧処理を実行する。遊技状態復旧処理において、CPUは、スタックポインタの復帰処理を行い、払出禁止状態でなかった場合には払出可能状態指定コマンドに関するコマンド送信テーブルをセットしてコマンドセット処理をコールする。その後、各種レジスタの退避値を各種レジスタに設定するなどの処理を行った後、RET命令を実行する。なお、メイン処理においてクリアスイッチ信号を受信した場合には、CPUは初期化処理を実行する。
【特許請求の範囲】
【請求項1】 遊技者が所定の遊技を行うことが可能な遊技機であって、遊技機に設けられた電気部品を制御するための電気部品制御手段と、遊技の進行を制御する遊技制御手段と、遊技機への電力供給が停止しても所定期間は記憶内容を保持することが可能な変動データ記憶手段と、遊技機で用いられる所定の電源の状態を監視して、遊技機への電力の供給停止にかかわる検出条件が成立した場合に検出信号を出力する電源監視手段と、操作に応じて操作信号を出力することが可能な操作手段とを備え、前記遊技制御手段は、前記電気部品制御手段にコマンドを送信するためのコマンド送信プログラムを実行して遊技の進行に応じたコマンドを送信するコマンド送信手段を有し、前記電源監視手段からの検出信号に応じて制御状態を復旧させるために必要なデータを前記変動データ記憶手段に保存するための電力供給停止時処理を実行し、電力供給が復帰し所定の復旧条件が成立した場合に前記変動データ記憶手段に保存されていた記憶内容にもとづいて制御状態を電力供給が停止する前の状態に復旧させる復旧処理を実行し、所定の復旧条件が不成立であった場合には、前記変動データ記憶手段に保持されていた記憶内容を初期化する初期化処理を実行し、前記所定の復旧条件は、電力供給の復帰に関連した時期に、少なくとも前記操作手段から操作信号が出力されなかった場合を含み、前記コマンド送信手段は、前記復旧処理にてサブルーチンコールによって呼び出した前記コマンド送信プログラムを実行することで、前記電気部品制御手段に電力供給が停止する前の制御状態へ復旧するためのコマンドを送信する処理を実行し、前記変動データ記憶手段は、サブルーチンコールがあったことに応じて、実行されていた制御プログラムのアドレスに関連するプログラムアドレスデータを退避させるスタック領域を含み、前記遊技制御手段は、スタックポインタにより示されるアドレスにより前記スタック領域に退避されたデータのうち、次に読み出されるべきデータが格納されているアドレスを特定し、前記電力供給停止時処理において、前記スタックポインタにより示されるアドレスに関連するスタックアドレスデータを前記変動データ記憶手段に退避する処理を行い、前記復旧処理において、前記コマンド送信手段が最初にコマンドを送信する前に、前記電力供給停止時処理にて前記変動データ記憶手段に退避した前記スタックアドレスデータによって、前記スタックポインタを設定することを特徴とする遊技機。
【請求項2】 電気部品制御手段は、遊技媒体の払い出しを行う払出手段を制御する払出制御手段を含み、前記払出制御手段は、電力供給が開始された場合に、遊技媒体の払い出しを禁止する払出禁止状態に制御し、遊技制御手段からの所定のコマンドの受信に応じて払出禁止状態を解除する請求項1記載の遊技機。
【請求項3】 コマンド送信手段は、復旧処理にて、遊技媒体の払い出しを禁止するか許可するかを指定する払出状態指定コマンドを、払出制御手段に対して送信し、払出制御手段は、前記払出状態指定コマンドが、遊技媒体の払い出しを許可するものであった場合に払出禁止状態を解除する請求項2記載の遊技機。
【請求項4】 遊技機への電力供給の開始に関連して、遊技制御手段が遊技に関わる制御が可能な状態になる時期を、電気部品制御手段が電気部品の制御が可能な状態になる時期よりも遅い時期となるように規制する起動順序規制手段を備えた請求項1から請求項3のうちいずれかに記載の遊技機。
【請求項5】 電気部品制御手段は、識別情報の可変表示を行う可変表示装置を制御する表示制御手段と、前記可変表示装置における識別情報の可変表示の保留回数を示す始動入賞記憶数を表示する始動入賞記憶数表示手段を制御する始動入賞記憶数表示制御手段とを含み、コマンド送信手段は、復旧処理にて、始動入賞記憶数を指定する始動入賞記憶数指定コマンドを、前記始動入賞記憶数表示制御手段に対して送信する請求項1から請求項4のうちいずれかに記載の遊技機。
【請求項6】 電気部品制御手段は、識別情報の可変表示を行う可変表示装置を制御する表示制御手段を含み、遊技機は、前記可変表示装置に表示される識別情報の表示結果が特定の表示態様となったことを条件に遊技者にとって有利な特定遊技状態に制御可能であるとともに、前記識別情報が前記特定の表示態様となりやすい特別遊技状態に制御可能であって、コマンド送信手段は、復旧処理にて、前記特別遊技状態であるか否かを指定する特別遊技状態指定コマンドを、前記表示制御手段に対して送信する請求項1から請求項4のうちいずれかに記載の遊技機。
【請求項7】 電気部品制御手段は、識別情報の可変表示を行う可変表示装置を制御する表示制御手段を含み、コマンド送信手段は、復旧処理にて、電力供給の停止に関連した時期に前記可変表示装置に表示させる識別情報の表示結果を指定する識別情報指定コマンドを、前記表示制御手段に対して送信する請求項1から請求項4のうちいずれかに記載の遊技機。
【請求項8】 遊技制御手段は、所定期間毎に発生するタイマ割込に応じて所定の遊技制御を行い、復旧処理にて、コマンド送信手段によって電気部品制御手段に対してコマンドを送信したあと、前記タイマ割込を所定期間毎に発生させるための設定を行う請求項1から請求項7のうちいずれかに記載の遊技機。
【請求項9】 所定の復旧条件は複数あり、遊技制御手段および電気部品制御手段は、電力供給が復帰した場合には、前記複数の復旧条件がすべて成立した場合に、変動データ記憶手段に保存されていた記憶内容にもとづいて制御状態を復旧させる復旧処理を実行し、前記複数の復旧条件のうち少なくとも1つの条件が不成立であった場合に前記変動データ記憶手段の記憶内容を初期化する初期化処理を実行する請求項1から請求項8のうちいずれかに記載の遊技機。
【請求項10】 遊技制御手段および電気部品制御手段は、複数の復旧条件が成立しているか否かを確認する際に、操作手段から操作信号が出力されているか否かの確認を優先的に実行し、操作手段から操作信号が出力されていることを確認した場合には、他の復旧条件が成立しているか否かの確認を行うことなく初期化処理を実行する請求項9記載の遊技機。
【請求項11】 遊技制御手段が搭載された遊技制御基板と、電気部品制御手段が搭載された電気部品制御基板とを備え、操作手段は前記遊技制御基板および前記電気部品制御基板とは別の箇所に設けられている請求項1から請求項10のうちいずれかに記載の遊技機。
【請求項12】 遊技制御手段は、電力供給停止時処理にて、変動データ記憶手段へのアクセスを禁止する処理を実行する請求項1から請求項11のうちいずれかに記載の遊技機。
【請求項13】 遊技制御手段は、出力信号を出力するための出力ポートを備え、前記遊技制御手段は、電力供給停止時処理にて、前記出力ポートに対してクリア信号を出力することによって出力信号をクリアするための処理を行う請求項1ないし請求項12記載の遊技機。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明は、遊技者が所定の遊技を行うことが可能なパチンコ遊技機やスロット機等の遊技機に関する。
【0002】
【従来の技術】遊技機として、遊技球などの遊技媒体を発射装置によって遊技領域に発射し、遊技領域に設けられている入賞口などの入賞領域に遊技媒体が入賞すると、所定個の賞球が遊技者に払い出されるものがある。さらに、表示状態が変化可能な可変表示部が設けられ、可変表示部の表示結果があらかじめ定められた特定表示態様となった場合に所定の遊技価値を遊技者に与えるように構成されたものがある。
【0003】なお、遊技価値とは、遊技機の遊技領域に設けられた可変入賞球装置の状態が打球が入賞しやすい遊技者にとって有利な状態になることや、遊技者にとって有利な状態となるための権利を発生させたりすることや、賞球払出の条件が成立しやすくなる状態になることである。
【0004】パチンコ遊技機では、特別図柄を表示する可変表示部の表示結果があらかじめ定められた特定表示態様の組合せとなることを、通常、「大当り」という。大当りが発生すると、例えば、大入賞口が所定回数開放して打球が入賞しやすい大当り遊技状態に移行する。そして、各開放期間において、所定個(例えば10個)の大入賞口への入賞があると大入賞口は閉成する。そして、大入賞口の開放回数は、所定回数(例えば16ラウンド)に固定されている。なお、各開放について開放時間(例えば29.5秒)が決められ、入賞数が所定個に達しなくても開放時間が経過すると大入賞口は閉成する。また、大入賞口が閉成した時点で所定の条件(例えば、大入賞口内に設けられているVゾーンへの入賞)が成立していない場合には、大当り遊技状態は終了する。
【0005】また、可変表示装置において最終停止図柄(例えば左右中図柄のうち中図柄)となる図柄以外の図柄が、所定時間継続して、特定表示態様と一致している状態で停止、揺動、拡大縮小もしくは変形している状態、または、複数の図柄が同一図柄で同期して変動したり、表示図柄の位置が入れ替わっていたりして、最終結果が表示される前で大当り発生の可能性が継続している状態(以下、これらの状態をリーチ状態という。)において行われる演出をリーチ演出という。また、リーチ演出を含む可変表示をリーチ可変表示という。リーチ状態において、変動パターンを通常状態における変動パターンとは異なるパターンにすることによって、遊技の興趣が高められている。そして、可変表示装置に可変表示される図柄の表示結果がリーチ状態となる条件を満たさない場合には「はずれ」となり、可変表示状態は終了する。遊技者は、大当りをいかにして発生させるかを楽しみつつ遊技を行う。
【0006】遊技機における遊技進行はマイクロコンピュータ等による遊技制御手段によって制御される。可変表示部に表示される識別情報、キャラクタ画像および背景画像は、マイクロコンピュータの指示に応じて画像データを生成して可変表示部側に転送するビデオディスプレイプロセッサ(VDP)とによって制御されるが、マイクロコンピュータが必要とするプログラム容量は大きい。
【0007】従って、プログラムを格納させるメモリ容量に制限のある遊技制御手段のマイクロコンピュータで可変表示部に表示される識別情報等を制御することはできず、遊技制御手段のマイクロコンピュータとは別の表示制御用のマイクロコンピュータ等による表示制御手段を搭載した図柄制御基板が設置される。遊技の進行を制御する遊技制御手段は、表示制御手段に対して表示制御のためのコマンドを送信する必要がある。
【0008】賞球払出の制御を行う払出制御手段が、遊技制御手段が搭載されている主基板とは別の払出制御基板に搭載されている場合、遊技の進行は主基板に搭載された遊技制御手段によって制御されるので、入賞にもとづく賞球個数は、遊技制御手段によって決定され、払出制御基板に送信される。一方、遊技媒体の貸し出しは、遊技の進行とは無関係であるから、一般に、遊技制御手段を介さず払出制御手段によって制御される。
【0009】以上のように、遊技機には、遊技制御手段の他に種々の制御手段が搭載されている。そして、遊技の進行を制御する遊技制御手段は、遊技状況に応じて動作指示を示す各コマンドを、各制御基板に搭載された各制御手段に送信する。以下、遊技制御手段その他の制御手段を電気部品制御手段といい、電気部品制御手段が搭載された基板を電気部品制御基板ということがある。
【0010】
【発明が解決しようとする課題】以上のように、遊技機には、遊技制御手段を初めとする種々の電気部品制御手段が搭載されている。一般に、各電気部品制御手段はマイクロコンピュータを含んだ構成とされる。そのような電気部品制御手段は、一般に、電源電圧が立ち上がると初期化処理を行い初期状態から制御を開始する。すると、停電等の不測の電源断が生じ、その後、電源復旧すると初期状態に戻ってしまうので、遊技者が得た遊技価値等が消滅してしまう等の問題が生ずることがある。そのような問題が生じないようにするには、電源電圧値の低下に伴なって発生される所定の信号に応じて遊技制御を中断し、そのときの制御状態を、遊技機に対する電力供給停止中でも電源バックアップされている記憶手段(バックアップ記憶手段)に保存し、電力供給が完全に停止するのを待つように制御すればよい。そのような遊技機は、記憶手段に遊技状態が保存されている状態で電力供給が再開されたら、保存されている制御状態にもとづいて遊技を再開するので、遊技者に不利益が与えられることが防止される。
【0011】しかし、上記のように保存されている制御状態にもとづいて遊技を再開する構成とする場合には、遊技制御手段は、電力供給停止時の制御状態に復旧させるためのコマンドを他の電気部品制御手段に対して送信するなどの各種の処理を実行する必要がある。上述したように、遊技制御手段にはプログラムを格納させるメモリ容量に制限があるので、遊技状態を復旧させるための処理を実行するために用いられるプログラムの容量は極力小さくすることが好ましい。そのためには、遊技状態を復旧させるための処理をより効率良く実行し得るようにすることが望まれる。
【0012】また、停電等の不測の電源断が生じたときに、電気部品制御手段における所定の情報を電源バックアップするような制御を行うと、遊技機が設置されている遊技店の利便性が損なわれる場合がある。例えば、停電が生じて遊技が続行できなくなった場合に遊技の再開を待たずに遊技の続行をあきらめた遊技者があったときには、他の遊技者が遊技途中の状態から遊技を開始できることになるので、遊技状態を停電前の状態に復旧させることは好ましくない。
【0013】そこで、本発明は、遊技状態を復旧させるための処理を効率良く実行することができるとともに、遊技店での遊技機運用上の利便性を向上させることができる遊技機を提供することを目的とする。
【0014】
【課題を解決するための手段】本発明による遊技機は、遊技者が所定の遊技を行うことが可能な遊技機であって、遊技機に設けられた電気部品(例えば、球払出装置97、可変表示装置9、図65に示す電気部品802)を制御するための電気部品制御手段(例えば、払出制御用CPU371を含む払出制御手段、表示制御用CPU101を含む表示制御手段、ランプ制御用CPU351を含むランプ制御手段、図65に示す電気部品制御手段801)と、遊技の進行を制御する遊技制御手段(例えばCPU56を含む遊技制御手段、図65に示す遊技制御手段561)と、遊技機への電力供給が停止しても所定期間は記憶内容を保持することが可能な変動データ記憶手段(例えば主基板31が備える電源バックアップされたRAM55や払出制御基板37が備える電源バックアップされたRAM、図65に示す変動データ記憶手段551)と、遊技機で用いられる所定の電源の状態を監視して、遊技機への電力の供給停止にかかわる検出条件(例えば監視電圧であるVSL(+30V)の電圧値が+22Vまで低下したときに成立する条件)が成立した場合に検出信号(例えば電源断信号、図65に示す検出信号)を出力する電源監視手段(例えば電源監視用IC902、図65に示す電源監視手段910a)と、操作に応じて操作信号(例えば、クリアスイッチ信号、図65に示す操作信号)を出力することが可能な操作手段(例えば、クリアスイッチ921、図65に示す操作手段931)とを備え、遊技制御手段が、電気部品制御手段にコマンドを送信するためのコマンド送信プログラム(例えばコマンドセット処理を実行するためのプログラム)を実行して遊技の進行に応じたコマンドを送信するコマンド送信手段(例えばCPU56を含む遊技制御手段、図65に示すコマンド送信手段562)を有し、電源監視手段からの検出信号に応じて制御状態を復旧させるために必要なデータ(例えばCPU56に用いられるレジスタのデータ等)を変動データ記憶手段に保存するための電力供給停止時処理(例えば図23〜図25に示す処理、図65に示すステップS450の電力供給停止時処理)を実行し、電力供給が復帰し所定の復旧条件(例えばステップS7の条件)が成立した場合に変動データ記憶手段に保存されていた記憶内容にもとづいて制御状態を電力供給が停止する前の状態に復旧させる復旧処理(例えば図21に示す遊技状態復旧処理、図65に示すステップS100の復旧処理)を実行し、所定の復旧条件が不成立であった場合には、変動データ記憶手段に保持されていた記憶内容を初期化する初期化処理(例えばステップS11〜ステップS15の処理、図65に示すステップS200の初期化処理)を実行し、所定の復旧条件は、電力供給の復帰に関連した時期に、少なくとも操作手段から操作信号が出力されなかった場合(例えばステップS7のNと判定された場合、ステップS707のNと判定された場合)を含み、コマンド送信手段が、復旧処理にてサブルーチン(例えばコマンドセット処理を実行するサブルーチン)コールによって呼び出したコマンド送信プログラムを実行することで、電気部品制御手段に電力供給が停止する前の制御状態へ復旧するためのコマンドを送信する処理(例えばステップS82〜ステップS85、図65に示すステップS562aのコマンド送信処理)を実行し、変動データ記憶手段は、サブルーチンコールがあったこと(例えばステップS84)に応じて実行されていた制御プログラムのアドレスに関連するプログラムアドレスデータを退避させるスタック領域(例えば図65に示すスタック領域552)を含み、遊技制御手段が、スタックポインタ(例えば図65に示すスタックポインタ563)により示されるアドレスによりスタック領域に退避されたアドレスのうち、次に読み出されるべきデータが格納されているアドレスを特定し、電力供給停止時処理において、スタックポインタにより示されるアドレスに関連するスタックアドレスデータを変動データ記憶手段に退避する処理(例えばステップS458、図65に示すステップS450aの退避処理)を行い、復旧処理において、コマンド送信手段が最初にコマンドを送信する前(例えばステップS82〜ステップS85の前)に、電力供給停止時処理にて変動データ記憶手段に退避したスタックアドレスデータ(例えば図65に示すスタックアドレスデータ552a)によって、スタックポインタを設定する(例えばステップS81、図65に示すステップS100aのスタックポインタ設定処理)ことを特徴とする。
【0015】電気部品制御手段が、遊技媒体の払い出しを行う払出手段を制御する払出制御手段を含み、払出制御手段が、電力供給が開始された場合に、遊技媒体の払い出しを禁止する払出禁止状態に制御(例えばステップS732)し、遊技制御手段からの所定のコマンド(例えば払出可能状態指定コマンド)の受信に応じて払出禁止状態を解除する(例えばステップS753e)ように構成されていてもよい。
【0016】コマンド送信手段が、復旧処理にて、遊技媒体の払い出しを禁止するか許可するかを指定する払出状態指定コマンド(例えば払出可能状態指定コマンド)を、払出制御手段に対して送信し(例えばステップS83、ステップS84)、払出制御手段が、払出状態指定コマンドが、遊技媒体の払い出しを許可するものであった場合に払出禁止状態を解除するように構成されていてもよい。
【0017】遊技機への電力供給の開始に関連して、遊技制御手段が遊技に関わる制御が可能な状態になる時期を、電気部品制御手段が電気部品の制御が可能な状態になる時期よりも遅い時期となるように規制する起動順序規制手段(例えば遅延回路960)を備えた構成とされていてもよい。
【0018】電気部品制御手段が、識別情報の可変表示を行う可変表示装置(例えば可変表示装置9)を制御する表示制御手段(例えば表示制御用CPU101を含む表示制御手段)と、可変表示装置における識別情報の可変表示の保留回数を示す始動入賞記憶数を表示する始動入賞記憶数表示手段(例えば始動記憶表示器18)を制御する始動入賞記憶数表示制御手段(例えば表示制御用CPU101を含む表示制御手段、ランプ制御用CPU351を含むランプ制御手段)とを含み、コマンド送信手段が、復旧処理にて、始動入賞記憶数を指定する始動入賞記憶数指定コマンド(例えば始動入賞記憶数ランプ指定コマンド)を、始動入賞記憶数表示制御手段に対して送信するように構成されていてもよい。
【0019】電気部品制御手段が、識別情報の可変表示を行う可変表示装置(例えば可変表示装置9)を制御する表示制御手段(例えば表示制御用CPU101を含む表示制御手段)を含み、遊技機は、可変表示装置に表示される識別情報の表示結果が特定の表示態様(例えば大当り表示態様)となったことを条件に遊技者にとって有利な特定遊技状態(例えば大当り遊技状態)に制御可能であるとともに、識別情報が特定の表示態様になりやすい特別遊技状態(例えば確変状態)に制御可能であって、コマンド送信手段が、復旧処理にて、特別遊技状態であるか否かを指定する特別遊技状態指定コマンド(例えば確変状態指定コマンド)を、表示制御手段に対して送信するように構成されていてもよい。
【0020】電気部品制御手段が、識別情報の可変表示を行う可変表示装置を制御する表示制御手段を含み、コマンド送信手段が、復旧処理にて、電力供給の停止に関連した時期に可変表示装置に表示させる識別情報の表示結果を指定する識別情報指定コマンド(例えば左中右それぞれの図柄を指定する各図柄指定コマンド)を、表示制御手段に対して送信するように構成されていてもよい。
【0021】遊技制御手段が、所定期間毎に発生するタイマ割込に応じて所定の制御を行い、復旧処理にて、コマンド送信手段によって電気部品制御手段に対してコマンドを送信したあと、タイマ割込を所定期間毎(例えば2ms毎)に発生させるための設定を行う(例えばステップS87)ように構成されていてもよい。
【0022】所定の復旧条件は複数あり、遊技制御手段および電気部品制御手段が、電力供給が復帰した場合には、複数の復旧条件(例えば、遊技制御手段におけるステップS7〜ステップS9の条件、払出制御手段におけるステップS707〜ステップS709の条件)がすべて成立した場合に、変動データ記憶手段に保存されていた記憶内容にもとづいて制御状態を復旧させる復旧処理を実行し、複数の復旧条件のうち少なくとも1つの条件が不成立であった場合に変動データ記憶手段の記憶内容を初期化する初期化処理(例えばステップS11〜ステップS15の処理、ステップS711〜ステップS714の処理)を実行するように構成されていてもよい。
【0023】遊技制御手段および電気部品制御手段が、複数の復旧条件が成立しているか否かを確認する際に、操作手段から操作信号が出力されているか否かの確認を優先的に実行(例えば、遊技制御手段においてステップS8,ステップS9の条件よりもステップS7の条件についての確認を先に行う、払出制御手段においてステップS708,ステップS709の条件よりもステップS707の条件についての確認を先に行う)し、操作手段から操作信号が出力されていることを確認した場合には、他の復旧条件が成立しているか否かの確認を行うことなく初期化処理を実行するように構成されていてもよい。
【0024】遊技制御手段が搭載された遊技制御基板(例えば主基板31)と、電気部品制御手段が搭載された電気部品制御基板(例えば払出制御基板37)とを備え、操作手段は遊技制御基板および電気部品制御基板とは別の箇所(例えば電源基板910、スイッチ基板、ターミナル基板)に設けられているように構成されていてもよい。
【0025】遊技制御手段が、電力供給停止時処理にて、変動データ記憶手段へのアクセスを禁止する処理(例えばステップS498)を実行するように構成されていてもよい。
【0026】遊技制御手段が、出力信号を出力するための出力ポート(例えば、図16、図17に示す出力ポート)を備え、遊技制御手段が、電力供給停止時処理にて、出力ポートに対してクリア信号を出力することによって出力信号をクリアするための処理(例えば、ステップS459〜ステップS465)を行うように構成されていてもよい。
【0027】
【発明の実施の形態】以下、本発明の一実施形態を図面を参照して説明する。まず、遊技機の一例であるパチンコ遊技機の全体の構成について説明する。図1はパチンコ遊技機を正面からみた正面図、図2は遊技盤の前面を示す正面図である。なお、以下の実施の形態では、パチンコ遊技機を例に説明を行うが、本発明による遊技機はパチンコ遊技機に限られず、例えば画像式の遊技機やスロット機に適用することもできる。
【0028】パチンコ遊技機1は、縦長の方形状に形成された外枠(図示せず)と、外枠の内側に開閉可能に取り付けられた遊技枠とで構成される。また、パチンコ遊技機1は、遊技枠に開閉可能に設けられている額縁状に形成されたガラス扉枠2を有する。遊技枠は、外枠に対して開閉自在に設置される前面枠(図示せず)と、機構部品等が取り付けられる機構板と、それらに取り付けられる種々の部品(後述する遊技盤を除く。)とを含む構造体である。
【0029】図1に示すように、パチンコ遊技機1は、額縁状に形成されたガラス扉枠2を有する。ガラス扉枠2の下部表面には打球供給皿(上皿)3がある。打球供給皿3の下部には、打球供給皿3に収容しきれない遊技球を貯留する余剰球受皿4と打球を発射する打球操作ハンドル(操作ノブ)5が設けられている。ガラス扉枠2の背面には、遊技盤6が着脱可能に取り付けられている。なお、遊技盤6は、それを構成する板状体と、その板状体に取り付けられた種々の部品とを含む構造体である。また、遊技盤6の前面には遊技領域7が形成されている。
【0030】遊技領域7の中央付近には、それぞれが識別情報としての図柄を可変表示する複数の可変表示部を含む可変表示装置(特別図柄表示装置)9が設けられている。可変表示装置9には、例えば「左」、「中」、「右」の3つの可変表示部(図柄表示エリア)がある。可変表示装置9の下方には、始動入賞口14が設けられている。始動入賞口14に入った入賞球は、遊技盤6の背面に導かれ、始動口スイッチ14aによって検出される。また、始動入賞口14の下部には開閉動作を行う可変入賞球装置15が設けられている。可変入賞球装置15は、ソレノイド16によって開状態とされる。
【0031】可変入賞球装置15の下部には、特定遊技状態(大当り状態)においてソレノイド21によって開状態とされる開閉板20が設けられている。開閉板20は大入賞口を開閉する手段である。開閉板20から遊技盤6の背面に導かれた入賞球のうち一方(V入賞領域)に入った入賞球はV入賞スイッチ22で検出され、開閉板20からの入賞球はカウントスイッチ23で検出される。遊技盤6の背面には、大入賞口内の経路を切り換えるためのソレノイド21Aも設けられている。また、可変表示装置9の下部には、始動入賞口14に入った有効入賞球数すなわち始動記憶数を表示する4つのLEDによる特別図柄始動記憶表示器(以下、始動記憶表示器という。)18が設けられている。有効始動入賞がある毎に、始動記憶表示器18は点灯するLEDを1増やす。そして、可変表示装置9の可変表示が開始される毎に、点灯するLEDを1減らす。
【0032】ゲート32に遊技球が入賞しゲートスイッチ32aで検出されると、普通図柄表示器10の表示の可変表示が開始される。この実施の形態では、左右のランプ(点灯時に図柄が視認可能になる)が交互に点灯することによって可変表示が行われ、例えば、可変表示の終了時に右側のランプが点灯すれば当たりとなる。そして、普通図柄表示器10における停止図柄が所定の図柄(当り図柄)である場合に、可変入賞球装置15が所定回数、所定時間だけ開状態になる。普通図柄表示器10の近傍には、ゲート32に入った入賞球数を表示する4つのLEDによる表示部を有する普通図柄始動記憶表示器41が設けられている。ゲート32への入賞がある毎に、普通図柄始動記憶表示器41は点灯するLEDを1増やす。そして、普通図柄表示器10の可変表示が開始される毎に、点灯するLEDを1減らす。
【0033】遊技盤6には、複数の入賞口29,30,33,39が設けられ、遊技球の入賞口29,30,33への入賞は、それぞれ入賞口スイッチ29a,30a,33a,39aによって検出される。各入賞口29,30,33,39は、遊技媒体を受け入れて入賞を許容する領域として遊技盤6に設けられる入賞領域を構成している。なお、遊技媒体を受け入れて入賞を許容する始動入賞口14や、大入賞口も、入賞領域を構成する。遊技領域7の左右周辺には、遊技中に点滅表示される装飾ランプ25が設けられ、下部には、入賞しなかった打球を吸収するアウト口26がある。また、遊技領域7の外側の左右上部には、効果音を発する2つのスピーカ27が設けられている。遊技領域7の外周には、天枠ランプ28a、左枠ランプ28bおよび右枠ランプ28cが設けられている。さらに、遊技領域7における各構造物(大入賞口等)の周囲には装飾LEDが設置されている。天枠ランプ28a、左枠ランプ28bおよび右枠ランプ28cおよび装飾用LEDは、遊技機に設けられている装飾発光体の一例である。
【0034】そして、この例では、左枠ランプ28bの近傍に、賞球残数があるときに点灯する賞球ランプ51が設けられ、天枠ランプ28aの近傍に、補給球が切れたときに点灯する球切れランプ52が設けられている。上記のように、本例のパチンコ遊技機1には、発光体としてのランプやLEDが各所に設けられている。さらに、図1には、パチンコ遊技機1に隣接して設置され、プリペイドカードが挿入されることによって球貸しを可能にするカードユニット(プリペイドカードユニット)50も示されている。
【0035】カードユニット50には、使用可能状態であるか否かを示す使用可表示ランプ151、カードユニット50がいずれの側のパチンコ遊技機1に対応しているのかを示す連結台方向表示器153、カードユニット50内にカードが投入されていることを示すカード投入表示ランプ154、記録媒体としてのカードが挿入されるカード挿入口155、およびカード挿入口155の裏面に設けられているカードリーダライタの機構を点検する場合にカードユニット50を解放するためのカードユニット錠156が設けられている。
【0036】打球発射装置から発射された遊技球は、打球レールを通って遊技領域7に入り、その後、遊技領域7を下りてくる。打球が始動入賞口14に入り始動口スイッチ14aで検出されると、図柄の可変表示を開始できる状態であれば、可変表示装置9において特別図柄が可変表示(変動)を始める。図柄の可変表示を開始できる状態でなければ、始動記憶数を1増やす。
【0037】可変表示装置9における特別図柄の可変表示は、一定時間が経過したときに停止する。停止時の特別図柄の組み合わせが大当り図柄(特定表示結果)であると、大当り遊技状態に移行する。すなわち、開閉板20が、一定時間経過するまで、または、所定個数(例えば10個)の打球が入賞するまで開放する。そして、開閉板20の開放中に打球がV入賞領域に入賞しV入賞スイッチ22で検出されると、継続権が発生し開閉板20の開放が再度行われる。継続権の発生は、所定回数(例えば15ラウンド)許容される。
【0038】停止時の可変表示装置9における特別図柄の組み合わせが確率変動を伴う大当り図柄(確変図柄)の組み合わせである場合には、次に大当りとなる確率が高くなる。すなわち、確変状態という遊技者にとってさらに有利な状態となる。
【0039】打球がゲート32に入賞すると、普通図柄表示器10において普通図柄が可変表示される状態になる。また、普通図柄表示器10における停止図柄が所定の図柄(当り図柄)である場合に、可変入賞球装置15が所定時間だけ開状態になる。さらに、確変状態では、普通図柄表示器10における停止図柄が当り図柄になる確率が高められるとともに、可変入賞球装置15の開放時間と開放回数が高められる。すなわち、可変入賞球装置15の開放時間と開放回数は、普通図柄の停止図柄が当り図柄であったり、特別図柄の停止図柄が確変図柄である場合等に高められ、遊技者にとって不利な状態から有利な状態に変化する。なお、開放回数が高められることは、閉状態から開状態になることも含む概念である。
【0040】次に、パチンコ遊技機1の裏面の構造について図3および図4を参照して説明する。図3は、遊技機を裏面から見た背面図である。図4は、各種部材が取り付けられた機構板を遊技機背面側から見た背面図である。
【0041】図3に示すように、遊技機裏面側では、可変表示装置9を制御する図柄制御基板80を含む可変表示制御ユニット49、遊技制御用マイクロコンピュータ等が搭載された遊技制御基板(主基板)31が設置されている。また、球払出制御を行う払出制御用マイクロコンピュータ等が搭載された払出制御基板37が設置されている。さらに、遊技盤6に設けられている各種装飾LED、始動記憶表示器18および普通図柄始動記憶表示器41、装飾ランプ25、枠側に設けられている天枠ランプ28a、左枠ランプ28b、右枠ランプ28c、賞球ランプ51および球切れランプ52を点灯制御するランプ制御手段が搭載されたランプ制御基板35、スピーカ27からの音発生を制御する音制御手段が搭載された音制御基板70も設けられている。また、また、DC30V、DC21V、DC12VおよびDC5Vを作成する電源回路が搭載された電源基板910や発射制御基板91が設けられている。
【0042】遊技機裏面において、上方には、各種情報を遊技機外部に出力するための各端子を備えたターミナル基板160が設置されている。ターミナル基板160には、少なくとも、球切れ検出スイッチの出力を導入して外部出力するための球切れ用端子、賞球個数信号を外部出力するための賞球用端子および球貸し個数信号を外部出力するための球貸し用端子が設けられている。また、中央付近には、主基板31からの各種情報を遊技機外部に出力するための各端子を備えた情報端子基板(情報出力基板)34が設置されている。
【0043】貯留タンク38に貯留された遊技球は誘導レール39を通り、図4に示されるように、カーブ樋186を経て賞球ケース40Aで覆われた球払出装置に至る。球払出装置の上部には、遊技媒体切れ検出手段としての球切れスイッチ187が設けられている。球切れスイッチ187が球切れを検出すると、球払出装置の払出動作が停止する。球切れスイッチ187は遊技球通路内の遊技球の有無を検出するスイッチであるが、貯留タンク38内の補給球の不足を検出する球切れ検出スイッチ167も誘導レール39における上流部分(貯留タンク38に近接する部分)に設けられている。球切れ検出スイッチ167が遊技球の不足を検知すると、遊技機設置島に設けられている補給機構から遊技機に対して遊技球の補給が行われる。
【0044】入賞にもとづく景品としての遊技球や球貸し要求にもとづく遊技球が多数払い出されて打球供給皿3が満杯になり、ついには遊技球が連絡口45に到達した後さらに遊技球が払い出されると、遊技球は、余剰球通路46を経て余剰球受皿4に導かれる。さらに遊技球が払い出されると、感知レバー47が貯留状態検出手段としての満タンスイッチ48を押圧して、貯留状態検出手段としての満タンスイッチ48がオンする。その状態では、球払出装置内の払出モータの回転が停止して球払出装置の動作が停止するとともに発射装置の駆動も停止する。
【0045】図4に示すように、球払出装置の側方には、カーブ樋186から遊技機下部の排出口192に至る球抜き通路191が形成されている。球抜き通路191の上部には球抜きレバー193が設けられ、球抜きレバー193が遊技店員等によって操作されると、誘導レール39から球抜き通路191への遊技球通路が形成され、貯留タンク38内に貯留されている遊技球は、排出口192から遊技機外に排出される。
【0046】図5は、球払出装置97の構成例を示す分解斜視図である。この例では、賞球ケース40Aとしての3つのケース140,141,142の内部に球払出装置97が形成されている。ケース140,141の上部には、球切れスイッチ187の下部の球通路と連通する穴170,171が設けられ、遊技球は、穴170,171から球払出装置97に流入する。
【0047】球払出装置97は駆動源となる払出モータ(例えばステッピングモータ)289を含む。払出モータ289の回転力は、払出モータ289の回転軸に嵌合しているギア290に伝えられ、さらに、ギア290と噛み合うギア291に伝えられる。ギア291の中心軸には、凹部を有するスプロケット292が嵌合している。穴170,171から流入した遊技球は、スプロケット292の凹部によって、スプロケット292の下方の球通路293a,293bに1個ずつ落下させられる。
【0048】球通路(遊技媒体払出通路の一例)293a,293bには遊技球の流下路を切り替えるための振分部材311が設けられている。振分部材311はソレノイド310によって駆動され、賞球払出時には、球通路293a,293bにおける一方の流下路(球通路293a:景品遊技媒体通路の一例)を遊技球が流下するように倒れ、球貸し時には球通路293a,293bにおける他方の流下路(球通路293b:貸出遊技媒体通路の一例)を遊技球が流下するように倒れる。なお、払出モータ289およびソレノイド310は、払出制御基板37に搭載されている払出制御用CPUによって制御される。また、払出制御用CPUは、主基板31に搭載されている遊技制御用のCPUからの指令に応じて払出モータ289およびソレノイド310を制御する。
【0049】賞球払出時に選択される流下路の下方には球払出装置によって払い出された遊技球を検出する賞球センサ(賞球カウントスイッチ)301Aが設けられ、球貸し時に選択される流下路の下方には球払出装置によって払い出された遊技球を検出する球貸しセンサ(球貸しカウントスイッチ)301Bが設けられている。賞球カウントスイッチ301Aの検出信号と球貸しカウントスイッチ301Bの検出信号は払出制御基板37の払出制御用CPUに入力される。払出制御用CPUは、それらの検出信号にもとづいて、実際に払い出された遊技球の個数を計数する。なお、賞球カウントスイッチ301Aの検出信号は、主基板31のCPUにも入力される。球貸しカウントスイッチ301Bに対する電源基板910からの電力供給は、払出制御基板37を介してなされる。なお、賞球カウントスイッチ301Aに対する電源基板910からの電力供給は、主基板31を介してなされるが、払出制御基板37を介してなされるようにしてもよい。また、賞球センサと球貸しセンサは、それぞれ複数設けられていてもよい。また、賞球センサは、主基板31用のものと払出制御基板37用のものが別個に設けられていてもよい。
【0050】なお、ギア291の周辺部には、払出モータ位置センサを形成する突起部が形成されている。突起部は、ギア291の回転すなわち払出モータ289の回転に伴って発光体(図示せず)からの光を、払出モータ位置センサの受光部(図示せず)に対して透過させたり遮蔽したりする。払出制御用CPUは、受光部からの検出信号によって払出モータ289の位置を認識することができる。
【0051】また、球払出装置は、賞球払出と球貸しとを共に行うように構成されていてもよいが、賞球払出を行う球払出装置と球貸しを行う球払出装置が別個に設けられていてもよい。さらに、例えばスプロケットの回転方向を変えて賞球払出と球貸しとを分けるように構成されていてもよいし、本実施の形態において例示する球払出装置97以外のどのような構造の球払出装置を用いても、本発明を適用することができる。
【0052】図6は、遊技枠を構成する機構板に設置されている電源基板910の露出部分を示す正面図である。図6に示すように、電源基板910は、大部分が主基板31と重なっているが、主基板31に重なることなく外部から視認可能に露出した露出部分がある。この露出部分には、遊技機1への電力供給を実行あるいは遮断するための電源スイッチ914と、各基板(主基板31や払出制御基板37等)に含まれる記憶内容保持手段(例えば、電力供給停止時にもその内容を保持可能なバックアップRAM)に記憶されたバックアップデータをクリアするための操作手段としてのクリアスイッチ921とが設けられている。このように、電源スイッチ914とクリアスイッチ921とが近くに配置されているので、クリアスイッチ921の操作が容易となる。
【0053】図7は、主基板31における回路構成の一例を示すブロック図である。なお、図7には、払出制御基板37、ランプ制御基板35、音制御基板70、発射制御基板91および図柄制御基板80も示されている。主基板31には、プログラムに従ってパチンコ遊技機1を制御する基本回路53と、ゲートスイッチ32a、始動口スイッチ14a、V入賞スイッチ22、カウントスイッチ23、入賞口スイッチ29a,30a,33a,39a、満タンスイッチ48、球切れスイッチ187、賞球カウントスイッチ301Aおよびクリアスイッチ921からの信号を基本回路53に与えるスイッチ回路58と、可変入賞球装置15を開閉するソレノイド16、開閉板20を開閉するソレノイド21および大入賞口内の経路を切り換えるためのソレノイド21Aを基本回路53からの指令に従って駆動するソレノイド回路59とが搭載されている。
【0054】なお、図7には示されていないが、カウントスイッチ短絡信号もスイッチ回路58を介して基本回路53に伝達される。また、ゲートスイッチ32a、始動口スイッチ14a、V入賞スイッチ22、カウントスイッチ23、入賞口スイッチ29a,30a,33a,39a、満タンスイッチ48、球切れスイッチ187、賞球カウントスイッチ301A等のスイッチは、センサと称されているものでもよい。すなわち、遊技球を検出できる遊技媒体検出手段(この例では遊技球検出手段)であれば、その名称を問わない。特に、入賞検出を行う始動口スイッチ14a、カウントスイッチ23、および入賞口スイッチ29a,30a,33a,39aの各スイッチは、入賞検出手段でもある。なお、入賞検出手段は、複数の入賞口に別個に入賞したそれぞれの遊技球をまとめて検出するものであってもよい。また、ゲートスイッチ32aのような通過ゲートであっても、賞球の払い出しが行われるものであれば、通過ゲートへ遊技球が進入することが入賞となり、通過ゲートに設けられているスイッチ(例えばゲートスイッチ32a)が入賞検出手段となる。
【0055】また、基本回路53から与えられるデータに従って、大当りの発生を示す大当り情報、可変表示装置9における図柄の可変表示開始に利用された始動入賞球の個数を示す有効始動情報、確率変動が生じたことを示す確変情報等の情報出力信号をホールコンピュータ等の外部装置に対して出力する情報出力回路64が搭載されている。
【0056】基本回路53は、ゲーム制御用のプログラム等を記憶するROM54、ワークメモリとして使用される記憶手段(変動データを記憶する手段)としてのRAM55、プログラムに従って制御動作を行うCPU56およびI/Oポート部57を含む。この実施の形態では、ROM54,RAM55はCPU56に内蔵されている。すなわち、CPU56は、1チップマイクロコンピュータである。なお、1チップマイクロコンピュータは、少なくともRAM55が内蔵されていればよく、ROM54およびI/Oポート部57は外付けであっても内蔵されていてもよい。
【0057】また、RAM(CPU内蔵RAMであってもよい。)55の一部または全部が、電源基板910において作成されるバックアップ電源よってバックアップされているバックアップRAMである。すなわち、遊技機に対する電力供給が停止しても、所定期間は、RAM55の一部または全部の内容は保存される。
【0058】この実施の形態では、電源基板910から主基板31に対して、ローレベルがリセット状態を示すリセット信号、ローアクティブの復帰信号およびローアクティブの電源断信号も入力される。リセット信号と復帰信号とはAND回路161に入力され、AND回路161の出力がCPU56のリセット端子に入力される。また、電源断信号は、CPU56のマスク不能割込(NMI)端子に入力される。
【0059】遊技球を打撃して発射する打球発射装置は発射制御基板91上の回路によって制御される駆動モータ94で駆動される。そして、駆動モータ94の駆動力は、操作ノブ5の操作量に従って調整される。すなわち、発射制御基板91上の回路によって、操作ノブ5の操作量に応じた速度で打球が発射されるように制御される。
【0060】なお、この実施の形態では、ランプ制御基板35に搭載されているランプ制御手段が、遊技盤に設けられている始動記憶表示器18、普通図柄始動記憶表示器41および装飾ランプ25の表示制御を行うとともに、枠側に設けられている天枠ランプ28a、左枠ランプ28b、右枠ランプ28c、賞球ランプ51および球切れランプ52の表示制御を行う。また、特別図柄を可変表示する可変表示装置9および普通図柄を可変表示する普通図柄表示器10の表示制御は、図柄制御基板80に搭載されている表示制御手段によって行われる。
【0061】図8は、払出制御基板37および球払出装置97の構成要素などの払出に関連する構成要素を示すブロック図である。図8に示すように、満タンスイッチ48からの検出信号は、中継基板71を介して主基板31のI/Oポート部57に入力される。また、球切れスイッチ187からの検出信号も、中継基板72および中継基板71を介して主基板31のI/Oポート部57に入力される。
【0062】主基板31のCPU56は、球切れスイッチ187からの検出信号が球切れ状態を示しているか、または、満タンスイッチ48からの検出信号が満タン状態を示していると、払出を停止すべき状態であることを指示する払出制御コマンドを送出する。払出を停止すべき状態であることを指示する払出制御コマンドを受信すると、払出制御基板37の払出制御用CPU371は球払出処理を停止する。
【0063】さらに、賞球カウントスイッチ301Aからの検出信号は、中継基板72および中継基板71を介して主基板31のI/Oポート部57に入力されるとともに、中継基板72を介して払出制御基板37の入力ポート372bに入力される。賞球カウントスイッチ301Aは、球払出装置97の払出機構部分に設けられ、実際に払い出された賞球払出球を検出する。
【0064】入賞があると、払出制御基板37には、主基板31の出力ポート(ポート0,1)570,571から賞球個数を示す払出制御コマンドが入力される。出力ポート(出力ポート1)571は8ビットのデータを出力し、出力ポート(出力ポート0)570は1ビットのINT信号を出力する。賞球個数を示す払出制御コマンドは、入力バッファ回路373Aを介してI/Oポート372aに入力される。INT信号は、入力バッファ回路373Bを介して払出制御用CPU371の割込端子に入力されている。払出制御用CPU371は、I/Oポート372aを介して払出制御コマンドを入力し、払出制御コマンドに応じて球払出装置97を駆動して賞球払出を行う。なお、この実施の形態では、払出制御用CPU371は、1チップマイクロコンピュータであり、少なくともRAMが内蔵されている。
【0065】また、主基板31において、出力ポート570,571の外側にバッファ回路620,68Aが設けられている。バッファ回路620,68Aとして、例えば、汎用のCMOS−ICである74HC250,74HC14が用いられる。このような構成によれば、外部から主基板31の内部に入力される信号が阻止されるので、払出制御基板37から主基板31に信号が与えられる可能性がある信号ラインをさらに確実になくすことができる。なお、バッファ回路620,68Aの出力側にノイズフィルタを設けてもよい。
【0066】払出制御用CPU371は、出力ポート372cを介して、貸し球数を示す球貸し個数信号をターミナル基板160に出力する。さらに、出力ポート372dを介して、エラー表示用LED374にエラー信号を出力する。
【0067】さらに、払出制御基板37の入力ポート372bには、中継基板72を介して、球貸しカウントスイッチ301B、および払出モータ289の回転位置を検出するための払出モータ位置センサからの検出信号が入力される。球貸しカウントスイッチ301Bは、球払出装置97の払出機構部分に設けられ、実際に払い出された貸し球を検出する。払出制御基板37からの払出モータ289への駆動信号は、出力ポート372cおよび中継基板72を介して球払出装置97の払出機構部分における払出モータ289に伝えられ、振分ソレノイド310への駆動信号は、出力ポート372eおよび中継基板72を介して球払出装置97の払出機構部分における振分ソレノイド310に伝えられる。また、クリアスイッチ921の出力も、入力ポート372bに入力される。
【0068】カードユニット50には、カードユニット制御用マイクロコンピュータが搭載されている。また、カードユニット50には、使用可表示ランプ151、連結台方向表示器153、カード投入表示ランプ154およびカード挿入口155が設けられている(図1参照)。残高表示基板74には、打球供給皿3の近傍に設けられている度数表示LED、球貸しスイッチおよび返却スイッチが接続される。
【0069】残高表示基板74からカードユニット50には、遊技者の操作に応じて、球貸しスイッチ信号および返却スイッチ信号が払出制御基板37を介して与えられる。また、カードユニット50から残高表示基板74には、プリペイドカードの残高を示すカード残高表示信号および球貸し可表示信号が払出制御基板37を介して与えられる。このように、残高表示基板74とカードユニット50は、直接接続されることなく、払出制御基板37を介して接続されている。カードユニット50と払出制御基板37の間では、接続信号(VL信号)、ユニット操作信号(BRDY信号)、球貸し要求信号(BRQ信号)、球貸し完了信号(EXS信号)およびパチンコ機動作信号(PRDY信号)が入力ポート372bおよび出力ポート372eを介してやりとりされる。なお、カードユニット50と払出制御基板37の間には、図示しないインタフェース基板が介在しており、接続信号(VL信号)等の信号はインタフェース基板を介してやりとりされる。
【0070】パチンコ遊技機1の電源が投入されると、払出制御基板37の払出制御用CPU371は、カードユニット50にPRDY信号を出力する。また、カードユニット制御用マイクロコンピュータは、VL信号を出力する。払出制御用CPU371は、VL信号の入力状態により接続状態/未接続状態を判定する。カードユニット50においてカードが受け付けられ、球貸しスイッチが操作され球貸しスイッチ信号が入力されると、カードユニット制御用マイクロコンピュータは、払出制御基板37にBRDY信号を出力する。この時点から所定の遅延時間が経過すると、カードユニット制御用マイクロコンピュータは、払出制御基板37にBRQ信号を出力する。
【0071】そして、払出制御基板37の払出制御用CPU371は、カードユニット50に対するEXS信号を立ち上げ、カードユニット50からのBRQ信号の立ち下がりを検出すると、払出モータ289を駆動し、所定個の貸し球を遊技者に払い出す。このとき、振分ソレノイド310は駆動状態とされている。すなわち、球振分部材311を球貸し側に向ける。そして、払出が完了したら、払出制御用CPU371は、カードユニット50に対するEXS信号を立ち下げる。その後、カードユニット50からのBRDY信号がオン状態でなければ、賞球払出制御を実行する。
【0072】以上のように、カードユニット50からの信号は全て払出制御基板37に入力される構成になっている。従って、球貸し制御に関して、カードユニット50から主基板31に信号が入力されることはなく、主基板31の基本回路53にカードユニット50の側から不正に信号が入力される余地はない。また、カードユニット50で用いられる電源電圧AC24Vは払出制御基板37から供給される。
【0073】この実施の形態では、電源基板910から払出制御基板37に対して、リセット信号、復帰信号および電源断信号も入力される。リセット信号と復帰信号とはAND回路385に入力され、AND回路385の出力が払出制御用CPU371のリセット端子に入力される。また、電源断信号は、払出制御用CPU371のマスク不能割込(NMI)端子に入力される。さらに、払出制御基板37に存在するRAM(CPU内蔵RAMであってもよい。)の少なくとも一部は、電源基板910において作成されるバックアップ電源によって、バックアップされている。すなわち、遊技機に対する電力供給が停止しても、所定期間は、RAMの少なくとも一部の内容は保存される。
【0074】なお、この実施の形態では、カードユニット50が遊技機とは別体として遊技機に隣接して設置されている場合を例にするが、カードユニット50は遊技機と一体化されていてもよい。また、コイン投入に応じてその金額に応じた遊技球が貸し出されるような場合でも本発明を適用できる。
【0075】図9は、図柄制御基板80内の回路構成を、可変表示装置9の一実現例であるLCD(液晶表示装置)82、普通図柄表示器10、主基板31の出力ポート(ポート0,2)570,572および出力バッファ回路620,62Aとともに示すブロック図である。出力ポート(出力ポート2)572からは8ビットのデータが出力され、出力ポート570からは1ビットのストローブ信号(INT信号)が出力される。
【0076】表示制御用CPU101は、制御データROM102に格納されたプログラムに従って動作し、主基板31からノイズフィルタ107および入力バッファ回路105Bを介してINT信号が入力されると、入力バッファ回路105Aを介して表示制御コマンドを受信する。入力バッファ回路105A,105Bとして、例えば汎用ICである74HC540,74HC14を使用することができる。なお、表示制御用CPU101がI/Oポートを内蔵していない場合には、入力バッファ回路105A,105Bと表示制御用CPU101との間に、I/Oポートが設けられる。
【0077】そして、表示制御用CPU101は、受信した表示制御コマンドに従って、LCD82に表示される画面の表示制御を行う。具体的には、表示制御コマンドに応じた指令をVDP(ビデオディスプレイプロセッサ)103に与える。VDP103は、キャラクタROM86から必要なデータを読み出す。VDP103は、入力したデータに従ってLCD82に表示するための画像データを生成し、R,G,B信号および同期信号をLCD82に出力する。
【0078】なお、図9には、VDP103をリセットするためのリセット回路83、VDP103に動作クロックを与えるための発振回路85、および使用頻度の高い画像データを格納するキャラクタROM86も示されている。キャラクタROM86に格納される使用頻度の高い画像データとは、例えば、LCD82に表示される人物、動物、または、文字、図形もしくは記号等からなる画像などである。
【0079】入力バッファ回路105A,105Bは、主基板31から図柄制御基板80へ向かう方向にのみ信号を通過させることができる。従って、図柄制御基板80側から主基板31側に信号が伝わる余地はない。すなわち、入力バッファ回路105A,105Bは、入力ポートともに不可逆性情報入力手段を構成する。図柄制御基板80内の回路に不正改造が加えられても、不正改造によって出力される信号が主基板31側に伝わることはない。
【0080】高周波信号を遮断するノイズフィルタ107として、例えば3端子コンデンサやフェライトビーズが使用されるが、ノイズフィルタ107の存在によって、表示制御コマンドに基板間でノイズが乗ったとしても、その影響は除去される。また、主基板31のバッファ回路620,62Aの出力側にもノイズフィルタを設けてもよい。
【0081】図10は、主基板31およびランプ制御基板35における信号送受信部分を示すブロック図である。この実施の形態では、遊技領域7の外側に設けられている点枠ランプ28a、左枠ランプ28b、右枠ランプ28cと遊技盤に設けられている装飾ランプ25の点灯/消灯と、賞球ランプ51および球切れランプ52の点灯/消灯とを示すランプ制御コマンドが主基板31からランプ制御基板35に出力される。また、始動記憶表示器18および普通図柄始動記憶表示器41の点灯個数を示すランプ制御コマンドも主基板31からランプ制御基板35に出力される。
【0082】図10に示すように、ランプ制御に関するランプ制御コマンドは、基本回路53におけるI/Oポート部57の出力ポート(出力ポート0,3)570,573から出力される。出力ポート(出力ポート3)573は8ビットのデータを出力し、出力ポート570は1ビットのINT信号を出力する。ランプ制御基板35において、主基板31からの制御コマンドは、入力バッファ回路355A,355Bを介してランプ制御用CPU351に入力する。なお、ランプ制御用CPU351がI/Oポートを内蔵していない場合には、入力バッファ回路355A,355Bとランプ制御用CPU351との間に、I/Oポートが設けられる。
【0083】ランプ制御基板35において、ランプ制御用CPU351は、各制御コマンドに応じて定義されている天枠ランプ28a、左枠ランプ28b、右枠ランプ28c、装飾ランプ25の点灯/消灯パターンに従って、天枠ランプ28a、左枠ランプ28b、右枠ランプ28c、装飾ランプ25に対して点灯/消灯信号を出力する。点灯/消灯信号は、天枠ランプ28a、左枠ランプ28b、右枠ランプ28c、装飾ランプ25に出力される。なお、点灯/消灯パターンは、ランプ制御用CPU351の内蔵ROMまたは外付けROMに記憶されている。
【0084】主基板31において、CPU56は、RAM55の記憶内容に未払出の賞球残数があるときに賞球ランプ51の点灯を指示する制御コマンドを出力し、遊技盤裏面の払出球通路の上流に設置されている球切れスイッチ187(図3参照)が遊技球を検出しなくなると球切れランプ52の点灯を指示する制御コマンドを出力する。ランプ制御基板35において、各制御コマンドは、入力バッファ回路355A,355Bを介してランプ制御用CPU351に入力する。ランプ制御用CPU351は、それらの制御コマンドに応じて、賞球ランプ51および球切れランプ52を点灯/消灯する。なお、点灯/消灯パターンは、ランプ制御用CPU351の内蔵ROMまたは外付けROMに記憶されている。
【0085】さらに、ランプ制御用CPU351は、制御コマンドに応じて始動記憶表示器18および普通図柄始動記憶表示器41に対して点灯/消灯信号を出力する。
【0086】入力バッファ回路355A,355Bとして、例えば、汎用のCMOS−ICである74HC540,74HC14が用いられる。入力バッファ回路355A,355Bは、主基板31からランプ制御基板35へ向かう方向にのみ信号を通過させることができる。従って、ランプ制御基板35側から主基板31側に信号が伝わる余地はない。たとえ、ランプ制御基板35内の回路に不正改造が加えられても、不正改造によって出力される信号がメイン基板31側に伝わることはない。なお、入力バッファ回路355A,355Bの入力側にノイズフィルタを設けてもよい。
【0087】また、主基板31において、出力ポート570,573の外側にバッファ回路620,63Aが設けられている。バッファ回路620,63Aとして、例えば、汎用のCMOS−ICである74HC250,74HC14が用いられる。このような構成によれば、外部から主基板31の内部に入力される信号が阻止されるので、ランプ制御基板35から主基板31に信号が与えられる可能性がある信号ラインをさらに確実になくすことができる。なお、バッファ回路620,63Aの出力側にノイズフィルタを設けてもよい。
【0088】図11は、電源基板910の一構成例を示すブロック図である。電源基板910は、主基板31、図柄制御基板80、音制御基板70、ランプ制御基板35および払出制御基板37等の電気部品制御基板と独立して設置され、遊技機内の各電気部品制御基板および機構部品が使用する電圧を生成する。この例では、AC24V、VSL(DC+30V)、DC+21V、DC+12VおよびDC+5Vを生成する。また、バックアップ電源すなわち記憶保持手段となるコンデンサ916は、DC+5Vすなわち各基板上のIC等を駆動する電源のラインから充電される。なお、VSLは、整流回路912において、整流素子でAC24Vを整流昇圧することによって生成される。VSLは、ソレノイド駆動電源となる。
【0089】電源基板910には、遊技機内の各電気部品制御基板や機構部品への電力供給を実行または遮断するための電源スイッチ914が設けられている。トランス911は、交流電源からの交流電圧を24Vに変換する。AC24V電圧は、コネクタ915に出力される。また、整流回路912は、AC24Vから+30Vの直流電圧を生成し、DC−DCコンバータ913およびコネクタ915に出力する。DC−DCコンバータ913は、1つまたは複数のコンバータIC920(図11では1つのみを示す。)を有し、VSLにもとづいて+21V、+12Vおよび+5Vを生成してコネクタ915に出力する。コンバータIC920の入力側には、比較的大容量のコンデンサ923が接続されている。従って、外部からの遊技機に対する電力供給が停止したときに、+30V、+12V、+5V等の直流電圧は、比較的緩やかに低下する。また、コネクタ915の入力側にも、比較的大容量のコンデンサ924が接続されている。従って、コネクタ915に出力される+30Vの直流電圧は、他の直流電圧よりもさらに緩やかに低下する。この結果、コンデンサ923,924は、後述する補助駆動電源の役割を果たす。コネクタ915は例えば中継基板に接続され、中継基板から各電気部品制御基板および機構部品に必要な電圧の電力が供給される。
【0090】ただし、電源基板910に各電気部品制御基板に至る各コネクタを設け、電源基板910から、中継基板を介さずにそれぞれの基板に至る各電圧を供給するようにしてもよい。また、図11には1つのコネクタ915が代表して示されているが、コネクタは、各電気部品制御基板対応に設けられている。
【0091】DC−DCコンバータ913からの+5Vラインは分岐してバックアップ+5Vラインを形成する。バックアップ+5Vラインとグラウンドレベルとの間には大容量のコンデンサ916が接続されている。コンデンサ916は、遊技機に対する電力供給が停止したときの電気部品制御基板のバックアップRAM(電源バックアップされているRAMすなわち電力供給停止時にも記憶内容保持状態となりうるバックアップ記憶手段)に対して記憶状態を保持できるように電力を供給するバックアップ電源となる。また、+5Vラインとバックアップ+5Vラインとの間に、逆流防止用のダイオード917が挿入される。なお、この実施の形態では、バックアップ用の+5Vは、主基板31および払出制御基板37に供給される。
【0092】なお、バックアップ電源として、+5V電源から充電可能な電池を用いてもよい。電池を用いる場合には、+5V電源から電力供給されない状態が所定時間継続すると容量がなくなるような充電池が用いられる。また、上記のコンデンサ923,924の代わりに、+30V電源から充電可能な電池を用いてもよい。コンデンサ923の代わりに電池を用いる場合には、後述する払出確認期間以上の期間、賞球カウントスイッチ301Aや球貸しカウントスイッチ301Bに電力を供給可能な充電池が用いられる。また、コンデンサ924の代わりに電池を用いる場合には、後述する払出確認期間以上の期間、振分ソレノイド310に電力を供給可能な充電池が用いられる。なお、上記の電池は、充電機能を有するものでなくてもよく、例えばニッカド電池、アルカリ電池、マンガン電池などの電池が用いられる。
【0093】また、電源基板910には、電源監視回路としての電源監視用IC902が搭載されている。電源監視用IC902は、VSL電圧を導入し、VSL電圧を監視することによって遊技機への電力供給停止の発生を検出する。具体的には、VSL電圧が所定値(この例では+22V)以下になったら、電力供給の停止が生ずるとして電源断信号を出力する。従って、賞球カウントスイッチ301Aによる賞球の検出が有効に行われているときに電源供給停止時処理を開始することができる。従って、電源供給停止時処理を開始したあとしばらくは補助駆動電源にたよることなく賞球の検出が可能となり、補助駆動電源としてのコンデンサ923の容量が少なくて済む。なお、監視対象の電源電圧は、各電気部品制御基板に搭載されている回路素子の電源電圧(この例では+5V)よりも高い電圧であることが好ましい。この例では、交流から直流に変換された直後の電圧であるVSLが用いられている。電源監視用IC902からの電源断信号は、主基板31や払出制御基板37等に供給される。
【0094】電源監視用IC902が電力供給の停止を検知するための所定値は、通常時の電圧より低いが、各電気部品制御基板上のCPUが暫くの間動作しうる程度の電圧である。また、電源監視用IC902が、CPU等の回路素子を駆動するための電圧(この例では+5V)よりも高く、また、交流から直流に変換された直後の電圧を監視するように構成されているので、CPUが必要とする電圧に対して監視範囲を広げることができる。従って、より精密な監視を行うことができる。
【0095】さらに、監視電圧としてVSL(+30V)を用いる場合には、遊技機の各種スイッチに供給される電圧が+12Vであることから、電源瞬断時のスイッチオン誤検出の防止も期待できる。すなわち、+30V電源の電圧を監視すると、+30V作成の以降に作られる+12Vが落ち始める以前の段階でそれの低下を検出できる。+12V電源の電圧が低下するとスイッチ出力がオン状態を呈するようになるが、+12Vより早く低下する+30V電源電圧を監視して電力供給の停止を認識すれば、スイッチ出力がオン状態を呈する前に電源復旧待ちの状態に入ってスイッチ出力を検出しない状態となることができる。
【0096】また、監視電圧としてのVSL(+30V)の電源監視用IC902への入力ラインと異なり、ソレノイドやモータなどに供給される電圧としてのVSL(+30V)のコネクタ915への入力ラインには大容量のコンデンサ924が接続されている。従って、監視電圧としてのVSL(+30V)は、大容量のコンデンサ924が接続されているコネクタ915に出力されるVSL(+30V)より早く低下する。すなわち、監視電圧としてのVSL(+30V)が落ち始めたあとも、所定期間は、ソレノイドやモータなどに供給される電圧としてのVSL(+30V)の供給状態が維持される。その後、ソレノイドやモータなどに供給される電圧としてのVSL(+30V)は、緩やかに低下してく。よって、監視電圧としてのVSL(+30V)が落ち始める場合であっても、所定期間は、ソレノイドやモータなどを駆動可能な状態とすることができる。また、コネクタ915に出力されるVSL(+30V)が落ち始める前に、電力供給の停止を認識することができる。
【0097】また、電源監視用IC902は、電気部品制御基板とは別個の電源基板910に搭載されているので、電源監視回路から複数の電気部品制御基板に電源断信号を供給することができる。電源断信号を必要とする電気部品制御基板が幾つあっても電源監視手段は1つ設けられていればよいので、各電気部品制御基板における各電気部品制御手段が後述する復旧制御を行っても、遊技機のコストはさほど上昇しない。
【0098】なお、図11に示された構成では、電源監視用IC902の検出信号(電源断信号)は、バッファ回路918,919を介してそれぞれの電気部品制御基板(例えば主基板31と払出制御基板37)に伝達されるが、例えば、1つの検出信号を中継基板に伝達し、中継基板から各電気部品制御基板に同じ信号を分配する構成でもよい。また、電源断信号を必要とする基板数に応じたバッファ回路を設けてもよい。さらに、主基板31と払出制御基板37とに出力される電源断信号について、電源断信号を出力することになる電源監視回路の監視電圧を異ならせてもよい。
【0099】図11に示すように、電源基板910には、押しボタン構造のクリアスイッチ921が搭載されている。クリアスイッチ921が押下されるとローレベル(オン状態)のクリアスイッチ信号が出力され、コネクタ915を介して主基板31等に送信される。また、クリアスイッチ921が押下されていなければハイレベル(オフ状態)の信号が出力される。
【0100】なお、クリアスイッチ921が、押しボタン構造以外の他の構成とされていてもよい。図12は、クリアスイッチ921の他の構成例を示す構成図である。図12に示すクリアスイッチ921は、「OFF」、「ON」および「クリア」の選択切り換えを行うための切換操作部921aを有する。切換操作部921aによって、「OFF」が選択されているときは何らの信号も発生しない。「ON」が選択されているときはハイレベルの信号を出力する。なお、クリアスイッチ921が、遊技機1に対する電源供給のオン/オフ切換のためのスイッチも兼ねていてもよい。その場合、「OFF」が選択されると、遊技機1に対する電源供給が停止された状態(遊技機の電源がオフの状態)になる。「ON」または「クリア」が選択されると、遊技機1に対して電源供給が行われる状態(遊技機の電源がオンの状態)になる。また、「クリア」が選択されているときに、ローレベルのクリアスイッチ信号が出力される。
【0101】この実施の形態では、クリアスイッチ921が電源基板910に搭載されているので、遊技盤6の入れ替え等の場合に入れ替え後の遊技盤6に対して電源基板910をそのまま使用しても、入れ替え後の遊技盤6において、そのままで遊技状態復旧処理等を実行することができる。すなわち、電源基板910の使い回しを行うことができる。なお、電源基板910ではなく、別の箇所にクリアスイッチ921が搭載される構成としてもよい。別の箇所としては、例えば、クリアスイッチ921が搭載されるスイッチ基板や、クリアスイッチ921と電源スイッチ914とが搭載されるターミナル基板などが考えられる。
【0102】電源基板910には、各基板にリセット信号および復帰信号を供給するリセット管理回路940が搭載されている。リセット管理回路940は、起動順序制御手段の一実現例である。
【0103】図13は、リセット管理回路940の構成例を示すブロック図である。リセット管理回路940において、リセット回路65におけるリセットIC651は、電源投入時に、外付けのコンデンサの容量で決まる所定時間だけ出力をローレベルとし、所定時間が経過すると出力をハイレベルにする。すなわち、リセット信号をハイレベルに立ち上げてCPU56を動作可能状態にする。また、リセットIC651は、電源監視用IC902が監視する電源電圧と等しい電源電圧であるVSLの電源電圧を監視して電圧値が所定値(電源監視回路が電源断信号を出力する電源電圧値よりも低い値)以下になると出力をローレベルにする。従って、CPU56および払出制御用CPU371は、電源監視用IC902からの電源断信号に応じて所定の電力供給停止時処理を行った後、システムリセットされる(すなわち、システムの最初の状態に戻される)。
【0104】図13に示すように、リセットIC651に外付けされているコンデンサには、リセットIC651に監視電圧を導入する電源電圧ラインを分岐させたラインが導入されている。このコンデンサは、電力供給が開始されたときに、リセットIC651に導入される監視電圧がその所定値以上の値となることを遅延させるために設けられている。従って、電源供給が開始されると、リセットIC651に導入される電圧は、電源供給が開始してから所定期間が経過したあとに、リセット信号をハイレベルに立ち上げることとなる所定値に到達することとなる。この所定期間は、コンデンサの容量によって決まり、容量を大きくすると期間を長くすることができる。
【0105】リセットIC651の出力は、リセット信号回路950における各回路941〜949を介して、バッファ回路961〜964および遅延回路960に供給される。遅延回路960の出力はバッファ回路965に入力する。そして、バッファ回路961〜965が各電気部品制御基板にリセット信号として供給される。従って、リセットIC651の出力がハイレベルになると、各電気部品制御基板におけるCPUが動作可能状態になる。
【0106】図13に示すように、リセットIC651からのリセット信号は、NAND回路947に入力されるとともに、反転回路(NOT回路)944を介してカウンタIC941のクリア端子に入力される。カウンタIC941は、クリア端子への入力がローレベルになると、発振器943からのクロック信号をカウントする。そして、カウンタIC941のQ5出力がNOT回路945,946を介してNAND回路947に入力される。また、カウンタIC941のQ6出力は、フリップフロップ(FF)942のクロック端子に入力される。フリップフロップ942のD入力はハイレベルに固定され、Q出力は論理和回路(OR回路)949に入力される。OR回路949の他方の入力には、NAND回路947の出力がNOT回路948を介して導入される。そして、OR回路949の出力が、バッファ回路961〜965を介して各CPUに供給されている。このような構成によれば、電源投入時に、各CPUのリセット端子に2回のリセット信号(ローレベル信号)が与えられるので、各CPUは、確実に動作を開始する。
【0107】そして、例えば、電源監視回路の検出電圧(電源断信号を出力することになる電圧)を+22Vとし、リセット信号をローレベルにするための検出電圧を+9Vとする。そのように構成した場合には、電源監視回路とシステムリセット回路65とが、同一の電源VSLの電圧を監視するので、電圧監視回路が電源断信号を出力するタイミングとシステムリセット回路65がシステムリセット信号を出力するタイミングの差を所望の所定期間に確実に設定することができる。所望の所定期間とは、電源監視回路からの電源断信号に応じて電力供給停止時処理を開始してから電力供給停止時処理が確実に完了するまでの期間である。
【0108】なお、電源監視回路とシステムリセット回路65とが監視する電源の電圧は異なっていてもよい。また、システムリセット回路65は、第2の電源監視手段に相当する。
【0109】この例では、電源監視手段が検出信号を出力することになる検出条件は+30V電源電圧が+22Vにまで低下したことであり、リセットIC651がリセットレベルであるローレベルを出力することになる条件は+30V電源電圧が+9Vにまで低下したことになる。ただし、ここで用いられている電圧値は一例であって、他の値を用いてもよい。
【0110】ただし、監視範囲が狭まるが、電源監視手段およびリセットIC651の監視電圧として+5V電源電圧を用いることも可能である。その場合にも、電源監視回路の検出電圧は、リセットIC651の検出電圧よりも高く設定される。
【0111】主基板31のCPU56および払出制御基板37の払出制御用CPU371の駆動電源である+5V電源から電力が供給されていない間、RAMの少なくとも一部は、電源基板910から供給されるバックアップ電源によってバックアップされ、遊技機に対する電源が断しても内容は保存される。そして、電源が復旧すると、リセット管理回路940からのリセット信号がハイレベルになるので、CPU56および払出制御用CPU371は、通常の動作状態に復帰する。そのとき、必要なデータがバックアップRAMに保存されているので、停電等からの復旧時に停電発生時の遊技状態に復帰することができる。
【0112】なお、図13には、電源投入時に各電気部品制御基板のCPUのリセット端子に2回のリセット信号(ローレベル信号)が与えられる構成が示されたが、リセット信号の立ち上がりタイミングが1回しかなくても確実にリセット解除されるCPUを使用する場合には、符号941〜949で示された回路素子は不要である。そのような場合などには、符号941〜949で示された回路素子を設けない構成としてもよい。この場合、リセットIC651の出力がそのままバッファ回路961〜964および遅延回路960に接続される。
【0113】また、上記の例では、電源基板910にリセット回路65が設けられ、主基板31や払出制御基板37などの各基板にリセット信号や復帰信号を出力するようにしていたが、主基板31や払出制御基板37などの各基板それぞれにリセット回路を設ける構成としてもよい。
【0114】この実施の形態では、電源投入時に、リセット回路65におけるリセットIC651は、外付けのコンデンサの容量で決まる所定時間だけ各電気部品制御基板のCPUに供給しているリセット信号の立ち上げ遅延させる。すなわち、リセットIC651の外付けのコンデンサの容量を、所定の遅延時間を生成するような値に選定すれば、外付けのコンデンサの容量で決まる所定時間だけ出力がローレベルとなり、所定時間が経過すると出力がハイレベルとなる。
【0115】従って、電源投入時に、リセット信号がハイレベルに立ち上がるタイミングを遅らせて、電源監視回路からの電源断信号(NMI信号)がハイレベルに立ち上がった後にリセット信号をハイレベルに立ち上げるようにすることができ、リセット状態が解除されたときに電源断信号が出力状態となっていて、電源供給が再開して復旧しているときに電源断処理が実行されてしまうことを防止することができる。
【0116】また、この実施の形態では、電源基板910から各電気部品制御基板のCPUにリセット信号が供給されるときに、遅延回路960が、主基板31のCPU56に対するリセット信号の立ち上げを遅延させる。従って、電源投入時に、主基板31のCPU56が備えるリセット端子の入力信号は、他の電気部品制御基板のCPUに供給されるリセット信号が立ち上げられるときよりも遅く立ち上げられる。
【0117】例えば、主基板31のCPU56が他の電気部品制御基板に対して制御コマンドを出力する際に、他の電気部品制御基板におけるCPUは既に立ち上がっているので、制御コマンドは確実に受信側の電気部品制御基板のCPUで受信される。
【0118】さらに、電源基板910には、待機期間を計測して復帰信号を出力する復帰信号出力手段の一例であるカウンタ971が搭載されている。カウンタ971は、電源断信号がローレベルになってクリアが解けると、発振器943からのクロック信号をカウントする。そして、カウントアップすると、Q出力として、ハイレベルの1パルスを発生する。そのパルス信号は反転回路972で論理反転され、バッファ回路973および遅延回路974に入力する。遅延回路974は、入力信号を所定期間遅延させてバッファ回路975に入力させる。
【0119】バッファ回路973の出力は、払出制御基板37への復帰信号となる。また、バッファ回路975の出力は、主基板31への復帰信号となる。なお、バッファ回路973,975は、払出制御基板37、主基板31に設けられていてもよい。
【0120】図14は、主基板31におけるCPU56周りの一構成例を示すブロック図である。図14に示すように、電源基板910の電源監視回路(電源監視手段)からの電源断信号が、CPU56のマスク不能割込端子(XNMI端子)に接続されている。上述したように、電源監視回路は、遊技機が使用する各種直流電源のうちのいずれかの電源の電圧を監視して電源電圧低下を検出する回路である。この実施の形態では、VSLの電源電圧を監視して電圧値が所定値以下になるとローレベルの電源断信号を発生する。VSLは、遊技機における直流電圧のうちで最大のものであり、この例では+30Vである。従って、CPU56は、割込処理によって電源断の発生を確認することができる。
【0121】また、図14に示すように、電源基板910からのリセット信号と復帰信号とはAND回路161に入力され、AND回路161の出力がCPU56のリセット端子(リセット信号入力部)に入力される。
【0122】図15は、カウンタ971の作用を説明するためのタイミング図である。図15(A)に示すように、電源電圧が低下し、VSLの電圧値が電源断信号出力レベル(この例では+22V)まで低下すると電源断信号が発生する。具体的には、電源断信号がローレベルになる。すると、後述するように、主基板31のCPU31および払出制御用CPU371は、電力供給停止時処理の実行を開始し、その処理が終了すると、何の制御もしないループ状態(待機状態)に入る。
【0123】カウンタ971は、電源断信号がローレベルになるとカウントを開始するのであるが、カウントアップ値は、電源断信号がローレベルになってから、VSLの電圧値がVcc生成可能電圧にまで低下する時間以上に設定される。すなわち、少なくとも、電源電圧が、制御動作が不能になる電圧にまで低下する時間以上に設定される。カウンタ971はVccを電源として動作するので、カウントアップ値は、カウンタ971の動作可能期間に相当する値以上に設定される。従って、一般には、カウンタ971がカウントアップして復帰信号が出力される前に、カウンタ971およびその他の回路部品は動作しなくなる。
【0124】電源の瞬断等が生ずると、図15(B)に示すように、VSLの電圧レベルが短期間低下した後に復旧する。VSLの電圧レベルが電源断信号出力レベル以下になると、電源断信号がローレベルになって、電力供給停止時処理が開始される。そして、CPU56および払出制御用CPU371は電力供給停止時処理終了後にループ状態に入る。何らの制御も行わないと、ループ処理から抜けられないのであるが、この場合には、カウンタ971がカウントアップして復帰信号が発生する。
【0125】図7および図8に示されたように、主基板31および払出制御基板371において、復帰信号は、AND回路161,385を介して、CPU56および払出制御用CPU371のリセット端子に入力される。従って、CPU56および払出制御用CPU371にはシステムリセットがかかる。その結果、CPU56および払出制御用CPU371はループ状態から抜け出すことができる。
【0126】なお、図15(B)には、カウンタ971のカウントアップ後に、直ちに復帰信号が出力される場合が示されているが、図13に示されたように電源基板910には遅延回路974があるので、主基板31のCPU56に対する復帰信号の供給タイミングは、払出制御用CPU371に対する復帰信号の供給タイミングよりも遅れる。すなわち、通常の電力供給開始時にリセット信号が与えられる場合と同様に、遊技制御手段のリセット解除タイミングは、払出制御手段のリセット解除タイミングに対して遅れる。よって、復帰信号によって制御動作が復旧する場合も、遊技制御手段は、他の電気部品制御手段に対して、遅れて起動されることになる。
【0127】図16および図17は、この実施の形態における出力ポートの割り当てを示す説明図である。図16に示すように、出力ポート0は各電気部品制御基板に送出される制御コマンドのINT信号の出力ポートである。また、払出制御基板37に送出される払出制御コマンドの8ビットのデータは出力ポート1から出力され、図柄制御基板80に送出される表示制御コマンドの8ビットのデータは出力ポート2から出力され、ランプ制御基板35に送出されるランプ制御コマンドの8ビットのデータは出力ポート3から出力される。そして、図17に示すように、音制御基板70に送出される音制御コマンドの8ビットのデータは出力ポート4から出力される。
【0128】また、出力ポート5から、情報出力回路64を介して情報端子板34やターミナル基板160に至る各種情報出力用信号すなわち制御に関わる情報の出力データが出力される。そして、出力ポート6から、可変入賞球装置15を開閉するためのソレノイド16、大入賞口の開閉板2を開閉するためのソレノイド21、および大入賞口内の経路を切り換えるためのソレノイド21Aに対する駆動信号が出力される。
【0129】図17に示すように、払出制御基板37、図柄制御基板80、ランプ制御基板35および音制御基板70に対して出力される各INT信号(払出制御信号INT、表示制御信号INT、ランプ制御信号INTおよび音声制御信号INT)を出力する出力ポート(出力ポート0)と、払出制御信号CD0〜CD7、表示制御信号CD0〜CD7、ランプ制御信号CD0〜CD7および音声制御信号CD0〜CD7を出力する出力ポート(出力ポート1〜4)とは、別ポートである。
【0130】従って、INT信号を出力する際に、誤って払出制御信号CD0〜CD7、表示制御信号CD0〜CD7、ランプ制御信号CD0〜CD7および音声制御信号CD0〜CD7を変化させてしまう可能性が低減する。また、払出制御信号CD0〜CD7、表示制御信号CD0〜CD7、ランプ制御信号CD0〜CD7または音声制御信号CD0〜CD7を出力する際に、誤ってINT信号を変化させてしまう可能性が低減する。その結果、主基板31の遊技制御手段から各電気部品制御基板に対するコマンドは、より確実に送出されることになる。さらに、各INT信号は、全て出力ポート0から出力されるように構成されているので、遊技制御手段のINT信号出力処理の負担が軽減される。
【0131】図18は、この実施の形態における入力ポートのビット割り当てを示す説明図である。図18に示すように、入力ポート0のビット0〜7には、それぞれ、入賞口スイッチ33a,39a,29a,30a、ゲートスイッチ32a、始動口スイッチ14a、カウントスイッチ23、V入賞スイッチ22の検出信号が入力される。また、入力ポート1のビット0〜4には、それぞれ、賞球カウントスイッチ301A、満タンスイッチ48、球切れスイッチ187の検出信号、カウントスイッチ短絡信号およびクリアスイッチ921の検出信号が入力される。なお、各スイッチからの検出信号は、スイッチ回路58において論理反転されている。このように、クリアスイッチ921の検出信号すなわち操作手段の操作入力は、遊技球を検出するためのスイッチの検出信号が入力される入力ポート(8ビット構成の入力部)と同一の入力ポートにおけるビット(入力ポート回路)に入力されている。
【0132】次に遊技機の動作について説明する。図19は、主基板31における遊技制御手段(CPU56およびROM,RAM等の周辺回路)が実行するメイン処理を示すフローチャートである。遊技機に対して電源が投入され、リセット端子の入力レベルがハイレベルになると、CPU56は、ステップS1以降のメイン処理を開始する。メイン処理において、CPU56は、まず、必要な初期設定を行う。
【0133】初期設定処理において、CPU56は、まず、割込禁止に設定する(ステップS1)。次に、割込モードを割込モード2に設定し(ステップS2)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS3)。そして、内蔵デバイスレジスタの初期化を行う(ステップS4)。また、内蔵デバイス(内蔵周辺回路)であるCTC(カウンタ/タイマ)およびPIO(パラレル入出力ポート)の初期化(ステップS5)を行った後、RAMをアクセス可能状態に設定する(ステップS6)。
【0134】この実施の形態で用いられるCPU56は、I/Oポート(PIO)およびタイマ/カウンタ回路(CTC)も内蔵している。また、CTCは、2本の外部クロック/タイマトリガ入力CLK/TRG2,3と2本のタイマ出力ZC/TO0,1を備えている。
【0135】この実施の形態で用いられているCPU56には、マスク可能な割込のモードとして以下の3種類のモードが用意されている。なお、マスク可能な割込が発生すると、CPU56は、自動的に割込禁止状態に設定するとともに、プログラムカウンタの内容をスタックにセーブする。
【0136】割込モード0:割込要求を行った内蔵デバイスがRST命令(1バイト)またはCALL命令(3バイト)をCPUの内部データバス上に送出する。よって、CPU56は、RST命令に対応したアドレスまたはCALL命令で指定されるアドレスの命令を実行する。リセット時に、CPU56は自動的に割込モード0になる。よって、割込モード1または割込モード2に設定したい場合には、初期設定処理において、割込モード1または割込モード2に設定するための処理を行う必要がある。
【0137】割込モード1:割込が受け付けられると、常に0038(h)番地に飛ぶモードである。
【0138】割込モード2:CPU56の特定レジスタ(Iレジスタ)の値(1バイト)と内蔵デバイスが出力する割込ベクタ(1バイト:最下位ビット0)から合成されるアドレスが、割込番地を示すモードである。すなわち、割込番地は、上位アドレスが特定レジスタの値とされ下位アドレスが割込ベクタとされた2バイトで示されるアドレスである。従って、任意の(飛び飛びではあるが)偶数番地に割込処理を設置することができる。各内蔵デバイスは割込要求を行うときに割込ベクタを送出する機能を有している。
【0139】よって、割込モード2に設定されると、各内蔵デバイスからの割込要求を容易に処理することが可能になり、また、プログラムにおける任意の位置に割込処理を設置することが可能になる。さらに、割込モード1とは異なり、割込発生要因毎のそれぞれの割込処理を用意しておくことも容易である。上述したように、この実施の形態では、初期設定処理のステップS2において、CPU56は割込モード2に設定される。
【0140】次いで、CPU56は、入力ポート1を介して入力されるクリアスイッチ921の出力信号の状態を1回だけ確認する(ステップS7)。その確認においてオンを検出した場合には、CPU56は、通常の初期化処理を実行する(ステップS11〜ステップS15)。クリアスイッチ921がオンである場合(押下されている場合)には、ローレベルのクリアスイッチ信号が出力されている。なお、入力ポート1では、クリアスイッチ信号のオン状態はハイレベルである(図18参照)。また、例えば、遊技店員は、クリアスイッチ921をオン状態にしながら遊技機に対する電力供給を開始することによって、容易に初期化処理を実行させることができる。すなわち、RAMクリア等を行うことができる。
【0141】クリアスイッチ921がオンの状態でない場合には、遊技機への電力供給が停止したときにバックアップRAM領域のデータ保護処理(例えばパリティデータの付加等の電力供給停止時処理)が行われたか否か確認する(ステップS8)。この実施の形態では、電力供給の停止が生じた場合には、バックアップRAM領域のデータを保護するための処理が行われている。そのような保護処理が行われていた場合をバックアップありとする。そのような保護処理が行われていないことを確認したら、CPU56は初期化処理を実行する。
【0142】この実施の形態では、バックアップRAM領域にバックアップデータがあるか否かは、電力供給停止時処理においてバックアップRAM領域に設定されるバックアップフラグの状態によって確認される。この例では、図20に示すように、バックアップフラグ領域に「55H」が設定されていればバックアップあり(オン状態)を意味し、「55H」以外の値が設定されていればバックアップなし(オフ状態)を意味する。
【0143】バックアップありを確認したら、CPU56は、バックアップRAM領域のデータチェック(この例ではパリティチェック)を行う(ステップS9)。この実施の形態では、クリアデータ(00)をチェックサムデータエリアにセットし、チェックサム算出開始アドレスをポインタにセットする。また、チェックサムの対象となるデータ数に対応するチェックサム算出回数をセットする。そして、チェックサムデータエリアの内容とポインタが指すRAM領域の内容との排他的論理和を演算する。演算結果をチェックサムデータエリアにストアするとともに、ポインタの値を1増やし、チェックサム算出回数の値を1減算する。以上の処理が、チェックサム算出回数の値が0になるまで繰り返される。チェックサム算出回数の値が0になったら、CPU56は、チェックサムデータエリアの内容の各ビットの値を反転し、反転後のデータをチェックサムとする。
【0144】電力供給停止時処理において、上記の処理と同様の処理によってチェックサムが算出され、チェックサムはバックアップRAM領域に保存されている。ステップS9では、算出したチェックサムと保存されているチェックサムとを比較する。不測の停電等の電力供給停止が生じた後に復旧した場合には、バックアップRAM領域のデータは保存されているはずであるから、チェック結果(比較結果)は正常(一致)になる。チェック結果が正常でないということは、バックアップRAM領域のデータが、電力供給停止時のデータとは異なっていることを意味する。そのような場合には、内部状態を電力供給停止時の状態に戻すことができないので、電力供給の停止からの復旧時でない電源投入時に実行される初期化処理を実行する。
【0145】チェック結果が正常であれば、CPU56は、遊技制御手段の内部状態と表示制御手段等の電気部品制御手段の制御状態を電力供給停止時の状態に戻すための遊技状態復旧処理を行う(ステップS10)。そして、バックアップRAM領域に保存されていたPC(プログラムカウンタ)の退避値がPCに設定され、そのアドレスに復帰する。
【0146】このように、バックアップフラグとチェックサム等のチェックデータとを用いてバックアップRAM領域のデータが保存されているか否かを確認することによって、遊技状態を電力供給停止時の状態に正確に戻すことができる。すなわち、バックアップRAM領域のデータにもとづく状態復旧処理の確実性が向上する。なお、この実施の形態では、バックアップフラグとチェックデータとの双方を用いてバックアップRAM領域のデータが保存されているか否かを確認しているが、いずれか一方のみを用いてもよい。すなわち、バックアップフラグとチェックデータとのいずれかを、状態復旧処理を実行するための契機としてもよい。
【0147】また、バックアップフラグの状態によって「バックアップあり」が確認されなかった場合には、後述する遊技状態復旧処理を行うことなく後述する初期化処理を行うようにしているので、バックアップデータが存在しないのにもかかわらず遊技状態復旧処理が実行されてしまうことを防止することができ、初期化処理によって制御状態を初期状態に戻すことが可能となる。
【0148】さらに、チェックデータを用いたチェック結果が正常でなかった場合には、後述する遊技状態復旧処理を行うことなく後述する初期化処理を行うようにしているので、電力供給停止時とは異なる内容となってしまっているバックアップデータにもとづいて遊技状態復旧処理が実行されてしまうことを防止することができ、初期化処理によって制御状態を初期状態に戻すことが可能となる。
【0149】初期化処理では、CPU56は、まず、RAMクリア処理を行う(ステップS11)。また、所定の作業領域(例えば、普通図柄判定用乱数カウンタ、普通図柄判定用バッファ、特別図柄左中右図柄バッファ、特別図柄プロセスフラグ、払出コマンド格納ポインタ、賞球中フラグ、球切れフラグ、払出停止フラグなど制御状態に応じて選択的に処理を行うためのフラグ)に初期値を設定する作業領域設定処理を行う(ステップS12)。
【0150】さらに、CPU56は、所定の払出禁止条件が成立しているか否かを判定し(ステップS13a)、払出禁止条件が成立していなければ、球払出装置97からの払出が可能であることを指示する払出許可状態指定コマンド(以下、払出可能状態指定コマンドという。)を払出制御基板37に対して送信する処理を行う(ステップS13b)。なお、払出禁止条件が成立していれば、主基板31の制御状態を払出禁止状態に設定する。本例では、球切れフラグを球切れ状態を示す状態(オン状態)とするとともに、満タンフラグを下皿満タンを示す状態(オン状態)とすることで、主基板31の制御状態を払出禁止状態に設定する。払出禁止条件は、例えば球切れ状態となっている場合や下皿満タン状態となっている場合など、払い出すべき遊技球を払い出すことができないおそれがある場合や遊技球を払い出すことが適当でない場合に成立する。従って、ステップS13aでは、例えば、球切れスイッチ187による検出状態の確認や、満タンスイッチ48による検出状態の確認が行われる。なお、ステップS13aの判定処理が実行される段階では後述するタイマ割込の設定が行われていないため、ソフトウェアタイマによるウエイト処理などによって監視時間(例えば2ms)を作成し、後述するスイッチの状態を監視する処理(ステップS150〜ステップS159)と同様の処理を実行することで、その監視時間毎に球切れスイッチ187や満タンスイッチ48の状態を監視してスイッチがオンしたか否かを判定するようにすればよい。
【0151】また、CPU56は、他のサブ基板(ランプ制御基板35、音制御基板70、図柄制御基板80)を初期化するための初期化コマンドを各サブ基板に送信する処理を実行する(ステップS14)。初期化コマンドとして、可変表示装置9に表示される初期図柄を示すコマンド(図柄制御基板80に対して)や賞球ランプ51および球切れランプ52の消灯を指示するコマンド(ランプ制御基板35に対して)等がある。
【0152】初期化処理では、払出制御基板37に対して、払出禁止条件が成立していない場合に払出可能状態指定コマンドが送信され、払出禁止条件が成立している場合に払出禁止状態指定コマンド(以下、払出禁止状態指定コマンドという。)は送信されない。仮に、遊技機の状態が球払出装置97からの払出が可能でない状態(払出禁止条件が成立している状態)であった場合であっても、払出制御基板37における初期化処理にて払出禁止状態に設定されているはずなので問題はない。なお、払出可能状態指定コマンドおよび他のサブ基板に対する初期化コマンドの送信処理において、例えば、各コマンドが設定されているテーブル(ROM領域)のアドレスをポインタにセットし、後述するコマンドセット処理(図42参照)のような処理ルーチンをコールすればよい。
【0153】そして、2ms毎に定期的にタイマ割込がかかるようにCPU56に設けられているCTCのレジスタの設定が行われる(ステップS15)。すなわち、初期値として2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。
【0154】初期化処理の実行(ステップS11〜S15)が完了すると、メイン処理で、表示用乱数更新処理(ステップS17)および初期値用乱数更新処理(ステップS18)が繰り返し実行される。表示用乱数更新処理および初期値用乱数更新処理が実行されるときには割込禁止状態とされ(ステップS16)、表示用乱数更新処理および初期値用乱数更新処理の実行が終了すると割込許可状態とされる(ステップS19)。表示用乱数とは、可変表示装置9に表示される図柄を決定するための乱数であり、表示用乱数更新処理とは、表示用乱数を発生するためのカウンタのカウント値を更新する処理である。また、初期値用乱数更新処理とは、初期値用乱数を発生するためのカウンタのカウント値を更新する処理である。初期値用乱数とは、大当りとするか否かを決定するための乱数を発生するためのカウンタ(大当り決定用乱数発生カウンタ)等のカウント値の初期値を決定するための乱数である。後述する遊技制御処理において、大当り決定用乱数発生カウンタのカウント値が1周すると、そのカウンタに初期値が設定される。
【0155】なお、表示用乱数更新処理が実行されるときには割込禁止状態とされるのは、表示用乱数更新処理が後述するタイマ割込処理でも実行されることから、タイマ割込処理における処理と競合してしまうのを避けるためである。すなわち、ステップS17の処理中にタイマ割込が発生してタイマ割込処理中で表示用乱数を発生するためのカウンタのカウント値を更新してしまったのでは、カウント値の連続性が損なわれる場合がある。しかし、ステップS17の処理中では割込禁止状態にしておけば、そのような不都合が生ずることはない。
【0156】表示用乱数更新処理における更新値には、例えば、リフレッシュレジスタ(Rレジスタ)によって特定される値が用いられる。Rレジスタは、ダイナミックRAMを用いる場合にリフレッシュカウンタとして使用されるレジスタであり、CPU56は、そのようなRレジスタを内蔵している。また、Rレジスタは、CPU56が命令フェッチを行う毎にインクリメントされる。この場合、CPU56は、変動パターン決定用乱数等を更新する場合にRレジスタの値(1バイト)を参照し、所定の上位ビットをマスクし、残りの下位ビットデータを更新値(表示用乱数を発生するためのカウンタのカウント値に加算される値)として用いる。具体的には、左図柄更新用の乱数が0〜11の範囲で更新される場合であって、加算される更新値として0〜7の範囲の数値が用いられる場合には、左図柄更新用の乱数を更新するときに、Rレジスタの下位3ビットのデータを用いるようにする。Rレジスタの下位3ビットのデータによって、0〜7のランダム値を得ることができるので、簡単な構成でランダム値を更新値とすることができる。また、命令フェッチのタイミングと表示用乱数更新処理の実行タイミングとは同期しないので、Rレジスタの下位ビットを乱数の更新値として用いることにより、表示用乱数を発生するためのカウンタのカウント値をランダムな値にすることができ、出現する表示図柄や変動パターンのランダム性を向上させることができる。また、Rレジスタの機能を利用するので、プログラム構成が単純化され、機種変更などに柔軟に対応できるようになる。さらに、上位ビットをマスクして使用するので、マスクする範囲を変更することで、複数の更新範囲の乱数の更新に対応できる。
【0157】図21は、遊技状態復旧処理の一例を示すフローチャートである。遊技状態復旧処理において、CPU56は、まず、スタックポインタの復帰処理を行う(ステップS81)。スタックポインタの値は、後で詳述する電力供給停止時処理において、所定のRAMエリア(電源バックアップされている作業領域におけるスタックポインタ退避バッファ)に退避している。よって、ステップS81では、そのRAMエリアの値をスタックポインタに設定することによって復帰させる。具体的には、RAMエリアに退避しているスタック領域のアドレスを示すデータ(スタックアドレスデータ)がスタックポインタに設定される。なお、復帰されたスタックポインタが指す領域(すなわちスタック領域)には、電力供給が停止したときのレジスタ値やプログラムカウンタ(PC)の値が退避している。
【0158】次いで、CPU56は、払出禁止状態であったか否か確認する(ステップS82)。払出禁止状態であったか否かは、電源バックアップされているRAMエリアに保存されている所定の作業領域(例えば、普通図柄判定用乱数カウンタ、普通図柄判定用バッファ、特別図柄左中右図柄バッファ、特別図柄プロセスフラグ、払出コマンド格納ポインタ、確変フラグ、賞球中フラグ、球切れフラグ、満タンフラグ、払出停止フラグなど)における払出状態データとしての払出停止フラグによって確認される。払出停止フラグは、球切れフラグまたは満タンフラグのいずれか一方がオン状態となったときにオン状態となり、球切れフラグおよび満タンフラグの双方がオフしたときにオフ状態となる。払出禁止状態であった場合には、主基板31の制御状態を払出禁止状態に設定する。本例では、球切れフラグを球切れ状態を示す状態(オン状態)とするとともに、満タンフラグを下皿満タンを示す状態(オン状態)とすることで、主基板31の制御状態を払出禁止状態に設定する。
【0159】払出禁止状態でなかった場合には、払出制御手段に対して払出が可能であることを指示する払出制御コマンド(払出可能状態指定コマンド)に関するコマンド送信テーブルをセットし(ステップS83)、コマンドセット処理をコールする(ステップS84)。ステップS83では、払出可能状態指定コマンドの払出制御コマンドが格納されているコマンド送信テーブル(ROM)の先頭アドレスが、コマンド送信テーブルのアドレスとして設定される。払出可能状態指定コマンドに関するコマンド送信テーブルには、後述するINTデータ、払出制御コマンドの1バイト目のデータ、および払出制御コマンドの2バイト目のデータが設定されている。なお、ステップS84のコール命令によって、ステップS81にて復帰されているスタックポインタがインクリメントされ、そのスタックポインタが指すスタック領域に、実行されていたプログラムのアドレスデータ(プログラムアドレスデータ)が退避される。そして、コール命令にもとづくコマンドセット処理を終えると、スタックポインタが指しているスタック領域に退避されているアドレスデータ(プログラムアドレスデータ)にもとづいて、コマンドセット処理をコールしたときのアドレスにリターンする。
【0160】なお、ステップS82にて払出禁止状態であった場合には払出の停止を指示する払出制御コマンド(払出禁止状態指定コマンド)は送信されないが、払出制御基板37における復旧処理(図50参照)にて払出禁止状態に設定されているはずなので問題はない。
【0161】補給球の不足や余剰球受皿4の満タンについて払出制御手段は認識できないので、遊技制御手段から通知しないと、停電等からの復旧時に、補給球の不足や余剰球受皿4の満タンであるにもかかわらず遊技球の払出処理を開始してしまうおそれがある。しかし、この実施の形態では、補給球の不足や余剰球受皿4の満タンでない場合に、遊技状態復旧処理において払出が可能であること指示する払出制御コマンドが送信されるとともに、その払出制御コマンドを受信しない限り払出制御手段が払出処理を実行しない構成とされているので、補給球の不足や余剰球受皿4の満タンであるにもかかわらず払出制御手段が遊技球の払出処理を開始してしまうことはない。なお、払出制御手段が実行する処理については、あとで詳しく説明する。
【0162】次いで、CPU56は、電力供給が停止したときの可変表示装置9における特別図柄の表示状態に応じて、その表示状態を復旧させるための表示制御コマンドに関するコマンド送信テーブルをセットし(ステップS85)、コマンドセット処理をコールする(ステップS86)。ステップS85では、表示状態を復旧させるための表示制御コマンドが格納されているコマンド送信テーブル(ROM)の先頭アドレスが、コマンド送信テーブルのアドレスとして設定される。表示状態を復旧させるための表示制御コマンドに関するコマンド送信テーブルには、後述するINTデータ、払出制御コマンドの1バイト目のデータ、および払出制御コマンドの2バイト目のデータが設定されている。
【0163】ステップS85でセットされる表示制御コマンドには、復旧後に可変表示装置9に表示させる特別図柄を指定する左中右の図柄指定コマンドが含まれる。例えば電力供給が停止したときに特別図柄が変動中であった場合には、その変動後の最終停止図柄を指定する図柄指定コマンドに関するコマンド送信テーブルがセットされ、また、例えば電力供給が停止したときに特別図柄が停止中であった場合には、前回の図柄変動における最終停止図柄を指定する図柄指定コマンドに関するコマンド送信テーブルがセットされる。表示制御用CPU101は、電力供給が開始されたあとに左中右の図柄指定コマンドを受信すると、図柄変動中の表示状態に復旧した場合には、その図柄変動が終了したあと受信した図柄指定コマンドに応じて確定図柄(最終停止図柄)を表示する。また、図柄停止中の表示状態に復旧した場合には、所定の表示タイミングで受信した図柄指定コマンドに応じた確定図柄(前回の図柄変動における確定図柄)を表示する。上記のように、電力供給が開始された場合に、可変表示装置9の表示状態を電源断前の状態から再開させることができるようになる。
【0164】また、ステップS85でセットされる表示制御コマンドには、確変状態であることを図柄表示基板80に通知するための表示制御コマンド(例えば確変状態指定コマンド)が含まれる。例えば、バックアップされていた確変フラグがオン状態であった場合には、ステップS85にて確変状態であることを示す表示制御コマンドに関するコマンド送信テーブルがセットされる。なお、確変フラグは、高確率状態(大当りが発生しやすい状態)に制御されているときにオン状態とされ、通常状態(大当りが発生する確率が高確率でない状態)に制御されているときはオフ状態とされるフラグであり、バックアップRAM領域に記憶されている。表示制御用CPU101は、確変状態指定コマンドを受信すると、確変時の表示態様(例えば背景の色を確変時の色にする)で表示するように、可変表示装置9の表示制御を行う。上記のように、電力供給が開始された場合に、可変表示装置9の表示状態を電源断前の状態から再開させることができるようになる。
【0165】次に、CPU56は、2ms毎に定期的にタイマ割込がかかるようにCPU56に設けられているCTCのレジスタの設定を行う(ステップS87)。すなわち、初期値として2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。このように、サブ基板に対して制御状態を復旧させるためのコマンドを送信した直後にタイマ割込の設定を行うので、主基板31とサブ基板とで同期をとることが容易となる。
【0166】その後、CPU56は、バックアップフラグをクリアする(ステップS88)すなわち、前回の電力供給停止時に所定の記憶保護処理が実行されたことを示すフラグをリセットする。よって、制御状態の復旧後に不必要な情報が残存しないようにすることができる。また、スタック領域から各種レジスタの退避値を読み出して、各種レジスタ(IXレジスタ、HLレジスタ、DEレジスタ、BCレジスタ)に設定する(ステップS89)。すなわち、レジスタ復元処理を行う。なお、各レジスタが復元させる毎に、スタックポインタの値が減らされる。すなわち、スタックポインタの値が、スタック領域の1つ前のアドレスを指すように更新される。そして、パリティフラグがオンしていない場合には割込許可状態にする(ステップS90,S91)。最後に、AFレジスタ(アキュミュレータとフラグのレジスタ)をスタック領域から復元する(ステップS92)。
【0167】そして、RET命令が実行される。RET命令が実行されるときには、CPU56は、スタックポインタが指す領域に格納されているデータをプログラムカウンタに設定することによってプログラムのリターン動作を実現する。ただし、ここでのリターン先は、遊技状態復旧処理をコールした部分ではない。なぜなら、ステップS81においてスタックポインタの復帰処理がなされ、ステップS92でレジスタの復元処理が終了した後では、スタック領域を指すスタックポインタは、NMIによる電力供給停止時処理が開始されたときに実行されていたプログラムのアドレスが退避している領域を指している。すなわち、復帰されたスタックポインタが指すスタック領域に格納されているリターンアドレスは、プログラムにおける前回の電力供給停止時にNMIが発生したアドレスである。従って、ステップS92の次のRET命令によって、電力供給停止時にNMIが発生したアドレスにリターンする。すなわち、本例では、スタック領域に退避されていたアドレスデータ(プログラムアドレスデータ)にもとづいて復旧制御が実行されている。
【0168】上記のように、遊技状態を復旧させるための制御コマンドを送信する前に、スタックポインタを復帰する構成としているので、コマンドを送信するための処理(コマンドセット処理)をサブルーチンとすることができ、そのサブルーチンをコールすることで遊技状態を復旧させるための制御コマンドの送信処理を実行することができるようになる。
【0169】スタックポインタを復帰する前の状態においては、スタックポインタは電源投入時に設定される所定の値(例えば0000(H)やFFFF(H))となっている。従って、スタックポインタを復帰することなくサブルーチンのコール命令を行うと、スタックポインタの値が取り得る最高値(例えばFFFF(H))を指していた場合には、コール命令にもとづくスタックポインタの内容のインクリメントを行うことができないという不具合が発生し得る。また、スタックポインタがスタック領域のアドレスを指しているとは限らない(ROM54の領域を指している可能性もある)ので、プログラムカウンタの内容のスタックを行うことができないという不具合も発生し得る。さらに、コール命令にもとづいてプログラムカウンタの内容をスタックすることによって、RAM55にバックアップ記憶されているデータが消去(上書きによる消去)されてしまうという不具合も考えられる。
【0170】しかし、本例では、上述したようにコマンドを送信する処理を実行する前にスタックポインタを復帰するようにしているので、サブルーチン処理によって遊技状態を復旧させるための制御コマンドの送信処理を実行することができる。従って、遊技制御に用いられるプログラム容量を減らすことができ、ROM54の必要容量を低減させることができる。また、CPU56が、遊技状態復旧処理を効率よく行うことができるようになる。
【0171】タイマ割込が発生すると、CPU56は、レジスタの退避処理(ステップS20)を行った後、図22に示すステップS21〜S32の遊技制御処理を実行する。ステップS20でのレジスタの退避処理では、実行されていたプログラムのアドレスデータ(プログラムアドレスデータ)をスタックポインタが指すスタック領域に退避する処理も実行される。そして、遊技制御処理を実行したあとのレジスタ復帰処理(ステップS33)にて、スタック領域に退避しているアドレスデータにもとづいて、タイマ割込が発生したときのアドレスに復帰する。遊技制御処理において、CPU56は、まず、スイッチ回路58を介して、ゲートスイッチ32a、始動口スイッチ14a、カウントスイッチ23および入賞口スイッチ29a,30a,33a,39a等のスイッチの検出信号を入力し、それらの状態判定を行う(スイッチ処理:ステップS21)。
【0172】次いで、パチンコ遊技機1の内部に備えられている自己診断機能によって種々の異常診断処理が行われ、その結果に応じて必要ならば警報が発せられる(エラー処理:ステップS22)。
【0173】次に、遊技制御に用いられる大当り判定用の乱数等の各判定用乱数を生成するための各カウンタのカウント値を更新する処理を行う(ステップS23)。CPU56は、さらに、表示用乱数および初期値用乱数を生成するためのカウンタのカウント値を更新する処理を行う(ステップS24,S25)。
【0174】さらに、CPU56は、特別図柄プロセス処理を行う(ステップS26)。特別図柄プロセス制御では、遊技状態に応じてパチンコ遊技機1を所定の順序で制御するための特別図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、特別図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。また、普通図柄プロセス処理を行う(ステップS27)。普通図柄プロセス処理では、普通図柄表示器10の表示状態を所定の順序で制御するための普通図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、普通図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。
【0175】次いで、CPU56は、特別図柄に関する表示制御コマンドをRAM55の所定の領域に設定して表示制御コマンドを送出する処理を行う(特別図柄コマンド制御処理:ステップS28)。また、普通図柄に関する表示制御コマンドをRAM55の所定の領域に設定して表示制御コマンドを送出する処理を行う(普通図柄コマンド制御処理:ステップS29)。
【0176】さらに、CPU56は、例えばホール管理用コンピュータに供給される大当り情報、始動情報、確率変動情報などのデータを出力する情報出力処理を行う(ステップS30)。
【0177】また、CPU56は、所定の条件が成立したときにソレノイド回路59に駆動指令を行う(ステップS31)。可変入賞球装置15または開閉板20を開状態または閉状態としたり、大入賞口内の遊技球通路を切り替えたりするために、ソレノイド回路59は、駆動指令に応じてソレノイド16,21,21Aを駆動する。
【0178】そして、CPU56は、入賞口スイッチ29a,30a,33a,39aの検出信号にもとづく賞球個数の設定などを行う賞球処理を実行する(ステップS32)。具体的には、入賞口スイッチ29a,30a,33a,39aがオンしたことにもとづく入賞検出に応じて、払出制御基板37に賞球個数を示す払出制御コマンドを出力する。払出制御基板37に搭載されている払出制御用CPU371は、賞球個数を示す払出制御コマンドに応じて球払出装置97を駆動する。その後、CPU56は、レジスタの内容を復帰させ(ステップS33)、割込許可状態に設定する(ステップS34)。
【0179】以上の制御によって、この実施の形態では、遊技制御処理は2ms毎に起動されることになる。なお、この実施の形態では、タイマ割込処理で遊技制御処理が実行されているが、タイマ割込処理では例えば割込が発生したことを示すフラグのセットのみがなされ、遊技制御処理はメイン処理において実行されるようにしてもよい。
【0180】図23〜図25は、電源基板910からの電源断信号に応じて実行されるマスク不能割込処理(電力供給停止時処理)の処理例を示すフローチャートである。なお、マスク不能割込処理とは、割込禁止がかけられない処理を意味する。マスク不能割込が発生すると、CPU56に内蔵されている割込制御機構は、マスク不能割込発生時に実行されていたプログラムのアドレス(具体的には実行完了後の次のアドレス)を、スタックポインタが指すスタック領域に退避させるとともに、スタックポインタの値を増やす。すなわち、スタックポインタの値がスタック領域の次のアドレスを指すように更新する。
【0181】電力供給停止時処理において、CPU56は、AFレジスタ(アキュミュレータとフラグのレジスタ)を所定のバックアップRAM領域に退避する(ステップS451)。また、割込フラグをパリティフラグにコピーする(ステップS452)。パリティフラグはバックアップRAM領域に形成されている。また、BCレジスタ、DEレジスタ、HLレジスタ、IXレジスタおよびスタックポインタをバックアップRAM領域に退避する(ステップS454〜S458)。なお、電源復旧時には、退避された内容にもとづいてレジスタ内容が復元され、パリティフラグの内容に応じて、割込許可状態/禁止状態の内部設定がなされる。なお、S458ではスタックポインタが退避されるが、さらに詳しく言えば、スタックポインタに設定されているスタック領域のアドレスを示すデータ(スタックアドレスデータ)がバックアップRAM領域に退避される。
【0182】次いで、CPU56は、クリアデータ(00)を適当なレジスタにセットし(ステップS459)、処理数(この例では「7」)を別のレジスタにセットする(ステップS460)。また、出力ポート0のアドレスをIOポインタに設定する(ステップS461)。IOポインタとして、さらに別のレジスタが用いられる。
【0183】そして、IOポインタが指すアドレスにクリアデータをセットするとともに(ステップS462)、IOポインタの値を1増やし(ステップS463)、処理数の値を1減算する(ステップS464)。ステップS462〜S464の処理が、処理数の値が0になるまで繰り返される(ステップS465)。その結果、全ての出力ポート0〜6(図16および図17参照)にクリアデータが設定される。図16および図17に示すように、この例では、「1」がオン状態であり、クリアデータである「00」が各出力ポートにセットされるので、全ての出力ポートがオフ状態になる。
【0184】上記のように、各出力ポートがオフ状態になるので、保存される遊技状態と整合しない状況が発生することは確実に防止される。つまり、パチンコ遊技機のように可変入賞球装置を有している遊技機において、実装の関係上、可変入賞球装置における可変入賞口の位置と入賞を検出する入賞口スイッチの設置位置とを、ある程度離さざるを得ない。出力ポート、特に可変入賞球装置を開放状態にするための信号が出力される出力ポートを直ちにオフ状態にしないと、電力供給停止時に、可変入賞口に入賞したにもかかわらず、電力供給停止時処理の実行が開始されて入賞口スイッチの検出がなされない状況が起こりうる。その場合、可変入賞口に入賞があったことは保存されない。すなわち、実際に生じている遊技状態(入賞があったこと)と保存される遊技状態とが整合しない。しかし、この実施の形態では、出力ポートがクリアされて可変入賞球装置が閉じられるので、保存される遊技状態と整合しない状況が発生することは確実に防止される。
【0185】また、電気部品の駆動が不能になる状態になる前に実行される電力供給停止時処理の際に、出力ポートをクリアすることができるので、電気部品の駆動が不能になる状態となる前に遊技制御手段によって制御される各電気部品を、適切な動作停止状態にすることができる。例えば、開放中の大入賞口を閉成させ、また開放中の可変入賞球装置15を閉成させるなど、電気部品についての作動を停止させたあとに電気部品の駆動が不能になる状態とすることができる。従って、適切な停止状態で電力供給の復旧を待つことが可能となる。
【0186】さらに、電力供給停止時処理の際に、各電気部品を動作停止状態にするので、各電気部品を駆動するために電力が費やされることがなくなり、また、出力ポートからの信号出力に用いられる電流が遮断されるので、微量ではあるが電力消費を抑えることができる。
【0187】さらに、この実施の形態では、所定期間(以下、払出確認期間という)、賞球カウントスイッチ301Aの検出信号をチェックする。そして、賞球カウントスイッチ301Aがオンしたら総賞球数バッファの内容を1減らす。
【0188】なお、この実施の形態では、払出確認期間を計測するために、払出確認期間計測用カウンタが用いられる。払出確認期間計測用カウンタの値は、初期値mから、以下に説明するスイッチ検出処理のループ(S467から始まってS467に戻るループ)が1回実行される毎に−1され、その値が0になると、払出確認期間が終了したとする。検出処理のループでは、例外はあるがほぼ一定の処理が行われるので、ループの1周に要する時間のm倍の時間が、ほぼ払出確認期間に相当する。
【0189】払出確認期間を計測するために、CPU56の内蔵タイマを用いてもよい。すなわち、スイッチ検出処理開始時に、内蔵タイマに所定値(払出確認期間に相当)を設定しておく。そして、スイッチ検出処理のループが1回実行される毎に、内蔵タイマのカウント値をチェックする。そして、カウント値が0になったら、払出確認期間が終了したとする。内蔵タイマの値が0になったことを検出するために内蔵タイマによる割込を用いることもできるが、この段階では制御内容(RAMに格納されている各値など)を変化させないように、割込を用いず、内蔵タイマのカウント値を読み出してチェックするようなプログラム構成の方が好ましい。
【0190】また、払出確認期間は、遊技球が、球払出装置97から落下した時点(例えば図5に示すスプロケット292の下方の球通路293a,293bに送り出された時点)から、賞球カウントスイッチ301Aに到達するまでの時間以上に設定される。球払出装置97から賞球カウントスイッチ301Aまでの距離をLとすると、その間の落下時間tは、t=√(2L/g)(g:重力加速度)になるので、払出確認期間は、それ以上に設定される。払出確認期間の具体的な値は、距離Lの値や、落下時間tからどの程度余裕を持たせるかによって異なるが、例えば100[ms]〜150[ms]程度とされる。
【0191】遊技制御手段において貸し球の払出検出を行う場合にも、同様にして、払出確認期間が設定される。すなわち、遊技球が、球払出装置97から落下した時点(例えば図5に示すスプロケット292の下方の球通路293a,293bに送り出された時点)から、球貸しカウントスイッチ301Bに到達するまでの時間以上に設定される。従って、球払出装置97から球貸しカウントスイッチ301Bまでの距離をLとすると、その間の落下時間tは、やはりt=√(2L/g)(g:重力加速度)になるので、払出確認期間はそれ以上に設定される。この場合にも、払出確認期間の具体的な値は距離Lの値や、落下時間tからどの程度余裕を持たせるかによって異なるが、例えば100[ms]〜150[ms]程度とされる。
【0192】なお、球払出装置97から賞球カウントスイッチ301Aまでの距離と貸し球カウントスイッチ301Bまでの距離とが異なる場合には、球払出装置97からの距離が離れているスイッチの距離にもとづいて払出確認期間を定めるようにすればよい。
【0193】少なくとも、スイッチ検出処理が実行される払出確認期間では、賞球カウントスイッチ301Aが遊技球を検出できる状態でなければならない。そこで、この実施の形態では、図11に示されたように、電源基板910におけるコンバータIC920の入力側に比較的大容量の補助駆動電源としてのコンデンサ923が接続されている。よって、遊技機に対する電力供給停止時にも、ある程度の期間は+12V電源電圧がスイッチ駆動可能な範囲に維持され、賞球カウントスイッチ301Aが動作可能になる。その期間が、上記の払出確認期間以上になるように、コンデンサ923の容量が決定される。
【0194】なお、入力ポートおよびCPU56も、コンバータIC920で作成される+5V電源で駆動されるので、電力供給停止時にも、比較的長い期間動作可能になっている。
【0195】上記のように、この例では、払出確認期間計測用カウンタに初期値mが設定される(ステップS466)。また、ステップS467において、2ms計測用カウンタに2msの時間に相当する初期値nが設定される。そして、2ms計測用カウンタの値が0になるまで(ステップS468)、2ms計測用カウンタの値が−1される(ステップS469)。
【0196】2ms計測用カウンタの値が0になると、賞球カウントスイッチ301Aの検出信号の入力チェックが行われる。すなわち、後述するスイッチ処理およびスイッチチェック処理に類似した処理が行われる。具体的には、入力ポート1に入力されているデータを入力する(ステップS470)。次いで、クリアデータ(00)をセットする(ステップS471)。また、ポート入力データ、この場合には入力ポート1からの入力データを「比較値」として設定する(ステップS472)。さらに、賞球カウントスイッチ301Aのためのスイッチタイマのアドレスをポインタにセットする(ステップS473)。
【0197】そして、ポインタ(スイッチタイマのアドレスが設定されている)が指すスイッチタイマをロードするとともに(ステップS474)、比較値を右(上位ビットから下位ビットへの方向)にシフトする(ステップS475)。比較値には入力ポート1のデータ設定されている。そして、この場合には、賞球カウントスイッチ301Aの検出信号がキャリーフラグに押し出される。
【0198】キャリーフラグの値が「1」であれば(ステップS476)、すなわち賞球カウントスイッチ301Aの検出信号がオン状態であれば、スイッチタイマの値を1加算する(ステップS477)。キャリーフラグの値が「0」であれば、すなわち賞球カウントスイッチ301Aの検出信号がオフ状態であれば、スイッチタイマにクリアデータをセットする(ステップS478)。すなわち、スイッチがオフ状態であれば、スイッチタイマの値が0に戻る。
【0199】そして、スイッチタイマの値が2になったときに(ステップS479)、総賞球数格納バッファの格納値を1減算するとともに(ステップS480)、賞球情報カウンタの値を+1する(ステップS481)。そして、賞球情報カウンタの値が10以上であれば(ステップS482)、賞球情報出力カウンタの値を+1するとともに(ステップS483)、賞球情報カウンタの値を−10する(ステップS484)。
【0200】次いで、払出確認期間計測用カウンタの値を−1し(ステップS485)、その値が0になっていなければステップS467に戻る。
【0201】以上の処理によって、払出確認期間内に賞球カウントスイッチ301Aがオンしたら、総賞球数格納バッファの値が−1される。バックアップRAMの内容を保存するための処理は、このようなスイッチ検出処理の後で行われるので、払出が完了した賞球について、必ず総賞球数格納バッファが−1される。従って、遊技球の払出に関して、保存される制御状態に矛盾が生じてしまうことが防止される。また、スイッチ検出処理において、遊技機外部への賞球情報出力のための賞球情報出力回数カウンタの演算も行われるので、外部に出力される賞球情報と実際の払出賞球数とが食い違ってしまうようなこともない。
【0202】また、上記のスイッチ検出処理では、検出期間用カウンタを用いたタイマ処理が施されている。すなわち、2ms毎に賞球カウントスイッチ301Aの検出出力のチェックが行われ、2回連続してオン検出した場合に、賞球カウントスイッチ301Aが確実にオンしたと見なされる。すなわち、所定の遊技媒体検出判定期間(電力供給停止時処理において、遊技媒体(ここでは払い出された賞球)の検出の有無を判定するための期間。本例では、2ms以上の期間)の前後に2回連続してオン検出した場合に、1個の賞球の払出が完了したと見なされる。このように、本例では、遊技媒体検出判定期間を、通常遊技媒体検出判定期間(電力供給停止時処理での処理でない、通常の遊技状態において遊技媒体の有無を判定するための期間。本例では、後述するスイッチオン判定値(図35参照)によって決定される2ms以上の期間であって、後述する図33のステップS188の判断で用いられている。)と同じ期間としている。従って、通常の制御と同一の条件の下で、賞球カウントスイッチ301Aがオンしたか否かを判定することができる。また、通常の制御と同一の条件の下、同一の処理によって賞球カウントスイッチ301Aがオンしたか否かを判定するので、電力供給停止時処理でのスイッチ検出の処理モジュールと、通常の制御におけるスイッチ検出の処理モジュール(図29の処理や図30の処理を含む図22のステップS21の処理モジュール)を、共通の処理モジュールとすることができる。すなわち、通常の制御におけるスイッチ検出の処理モジュールを、電力供給停止時処理でのスイッチ検出の際に利用することができる。なお、遊技媒体検出判定期間は、通常遊技媒体検出判定期間と異なる期間としてもよい。上記のように、2回連続してオン検出した場合に、賞球カウントスイッチ301Aが確実にオンしたと見なされるようにしているため、誤ってスイッチオン検出がなされてしまうことが防止され、払い出された賞球を確実に検出することが可能となる。
【0203】なお、この実施の形態では、賞球カウントスイッチ301Aのみのスイッチ検出処理が行われたが、始動入賞口のスイッチや大入賞口に関連するV入賞スイッチ22やカウントスイッチについても同様のスイッチ検出処理を行ってもよい。また、他の入賞についても同様のスイッチ検出処理を行ってもよい。そのようなオンチェックも行う場合には、入賞口に遊技球が入賞した直後に停電が発生したような場合でも、その入賞が確実に検出され、保存される遊技状態に反映される。
【0204】払出確認期間が経過すると(ステップS486)、すなわち、払出確認期間計測用カウンタの値が0になると、バックアップあり指定値(この例では「55H」)をバックアップフラグにストアする(ステップS487)。バックアップフラグはバックアップRAM領域に形成されている。次いで、パリティデータを作成する(ステップS488〜S497)。すなわち、まず、クリアデータ(00)をチェックサムデータエリアにセットし(ステップS488)、チェックサム算出開始アドレスをポインタにセットする(ステップS489)。また、チェックサム算出回数をセットする(ステップS490)。
【0205】そして、チェックサムデータエリアの内容とポインタが指すRAM領域の内容との排他的論理和を演算する(ステップS491)。演算結果をチェックサムデータエリアにストアするとともに(ステップS492)、ポインタの値を1増やし(ステップS493)、チェックサム算出回数の値を1減算する(ステップS494)。ステップS491〜S494の処理が、チェックサム算出回数の値が0になるまで繰り返される(ステップS495)。
【0206】チェックサム算出回数の値が0になったら、CPU56は、チェックサムデータエリアの内容の各ビットの値を反転する(ステップS496)。そして、反転後のデータをチェックサムデータエリアにストアする(ステップS497)。このデータが、電源投入時にチェックされるパリティデータとなる。次いで、RAMアクセスレジスタにアクセス禁止値を設定する(ステップS498)。以後、内蔵RAM55のアクセスができなくなる。
【0207】そして、RAMアクセスレジスタにアクセス禁止値を設定すると、CPU56は、待機状態(ループ状態)に入る。従って、システムリセットされるまで、何もしない状態になる。
【0208】この実施の形態では、遊技制御処理において用いられるデータが格納されるRAM領域は全て電源バックアップされている。従って、その内容が正しく保存されているか否かを示すチェックサムの生成処理、およびその内容を書き換えないようにするためのRAMアクセス防止処理が、遊技状態を保存するための処理に相当する。
【0209】なお、この実施の形態では、NMIに応じて電力供給停止時処理が実行されたが、電源断信号をCPU56のマスク可能端子に接続し、マスク可能割込処理によって電力供給停止時処理を実行してもよい。また、電源断信号を入力ポートに入力し、入力ポートのチェック結果に応じて電力供給停止時処理を実行してもよい。
【0210】また、この実施の形態では、電源断信号に応じて起動される処理の最初にレジスタの保存処理が行われたが、スイッチ検出処理においてレジスタを使用しない場合には、スイッチ検出処理の実行後に、すなわち、バックアップフラグの設定とチェックサムの算出の処理の前にレジスタ保存処理を行うことができる。その場合には、レジスタ保存処理、バックアップフラグ設定処理、チェックサム算出処理および出力ポートのオフ設定処理を電力供給停止時処理と見なすことができる。さらに、スイッチ検出処理において幾つかのレジスタを使用する場合であっても、使用しないレジスタについては、バックアップフラグの設定とチェックサムの算出の処理の前にレジスタ保存処理を行うことができる。
【0211】なお、上記の例では、出力ポートのクリア処理を、スイッチ検出処理の実行前(ステップS466の前)に行っている。電力供給停止時処理の実行中では、CPU56やスイッチ類はコンデンサ923,924の充電電力等で駆動されることになる。出力ポートのクリア処理をスイッチ検出処理の実行前に行っているので、大入賞口や可変入賞装置等がソレノイド等の電気部品で駆動されるように構成されていても、それらが駆動されることはなく、コンデンサ(特にコンデンサ924)の充電電力等を電力供給停止時処理のために効果的に使用することができる。
【0212】なお、上記の例において、電源が断することが検出された後にV入賞スイッチ22を検出する場合には、ソレノイド21(大入賞口をV入賞スイッチに誘導するための部材を動作させるもの)の出力ポートについては、スイッチ検出処理の実行後にクリアする。そのようにすれば、継続権発生の条件であるV入賞をしていない状態で停電が発生した場合、停電発生直前に大入賞口に入った遊技球をV入賞スイッチ22の側に誘導することができる。従って、不当な継続権の消滅を防止することができる。この場合、上記の払出確認期間の相当する期間は、大入賞口に入賞した遊技球がV入賞スイッチ22に到達するまでの時間以上の所定期間である。なお、ラッチ式のソレノイドを用いた場合には、出力ポートのクリア処理は不要である。
【0213】また、出力ポートのクリアによって大入賞口が閉じた場合でも、大入賞口内に遊技球があることも考えられるので、電源断信号に応じて実行されるスイッチ検出処理において、カウントスイッチ23の検出も行うことが望ましい。上記の例外的な処理については、第1種パチンコ遊技機においてのみならず、第2種パチンコ遊技機や第3種パチンコ遊技機についても同様である。
【0214】図26は、遊技機への電力供給停止時の電源電圧低下やNMI信号(=電源断信号:電力供給停止時信号)の様子を示すタイミング図である。遊技機に対する電力供給が停止すると、最も高い直流電源電圧であるVSLのうちの監視電圧(電源監視用IC902に入力される電圧)の電圧値は徐々に低下する。そして、この例では、+22Vにまで低下すると、電源基板910に搭載されている電源監視用IC902から電源断信号が出力される(ローレベルになる)。
【0215】電源断信号は、電気部品制御基板(この実施の形態では主基板31および払出制御基板37)に導入され、CPU56および払出制御用CPU371のNMI端子に入力される。CPU56および払出制御用CPU371は、NMI処理によって、所定の電力供給停止時処理を実行する。
【0216】VSLの電圧値がさらに低下して所定値(この例では+9V)にまで低下すると、主基板31や払出制御基板37に搭載されているシステムリセット回路の出力がローレベルになり、CPU56および払出制御用CPU371がシステムリセット状態になる。なお、CPU56および払出制御用CPU371は、システムリセット状態とされる前に、電力供給停止時処理を完了している。
【0217】VSLの電圧値がさらに低下してVcc(各種回路を駆動するための+5V)を生成することが可能な電圧を下回ると、各基板において各回路が動作できない状態となる。しかし、少なくとも主基板31や払出制御基板37では、電力供給停止時処理が実行され、CPU56および払出制御用CPU371がシステムリセット状態とされている。
【0218】以上のように、この実施の形態では、電源監視回路は、遊技機で使用される直流電圧のうちで最も高い電源VSLの電圧を監視して、その電源の電圧が所定値を下回ったら電圧低下信号(電源断検出信号)を発生する。図26に示すように、電源断信号が出力されるタイミングでは、IC駆動電圧は、まだ各種回路素子を十分駆動できる電圧値になっている。従って、IC駆動電圧で動作する主基板31のCPU56が所定の電力供給停止時処理を行うための動作時間が確保されている。
【0219】なお、ここでは、電源監視回路は、遊技機で使用される直流電圧のうちで最も高い電源VSLから分岐された電圧を監視したが、電源断信号を発生するタイミングが、IC駆動電圧で動作する電気部品制御手段が所定の電力供給停止時処理を行うための動作時間が確保されるようなタイミングであれば、監視対象電圧は、最も高い電源VSLの電圧でなくてもよい。すなわち、少なくともICやソレノイドの駆動電圧よりも高い電圧を監視すれば、電気部品制御手段が所定の電力供給停止時処理を行うための動作時間が確保されるようなタイミングで電源断信号を発生することができる。この例では、ソレノイド等の駆動電圧として電源VSLから分岐された電圧が用いられるが、監視対象電圧が供給されるラインとは異なり、ソレノイド等に駆動電圧を供給するラインに大容量のコンデンサ924が接続されているので、ソレノイド等に対する駆動電圧の供給を継続することができる所定期間が確保されているタイミングで電源断信号を発生することができる。
【0220】最も高い電源VSL以外の電圧を監視対象電圧とする場合、上述したように、監視対象電圧は、電力供給停止時のスイッチオン誤検出の防止も期待できる電圧であることが好ましい。すなわち、遊技機の各種スイッチに供給される電圧(スイッチ電圧:例えば賞球カウントスイッチ301A、球貸しカウントスイッチ301B)が+12Vであることから、+12V電源電圧が落ち始める以前の段階で、電圧低下を検出できることが好ましい。よって、少なくともスイッチ電圧よりも高い電圧を監視することが好ましい。
【0221】図27は、払出検出手段からの検出信号の入力処理が実行される様子の一例を示すタイミング図である。この実施の形態では、電源断信号は、主基板31および払出制御基板37に入力され、主基板31のCPU56および払出制御用CPU371のNMI端子に入力される。主基板31のCPU56は、マスク不能割込処理によって、上述した電力供給停止時処理を実行する。
【0222】図27に示すように、電源断信号がオン(この例ではハイレベルからローレベルに変化)するあたりで賞球払出が実行された場合、払出検出手段からの検出信号の入力処理が実行される払出確認期間(検出維持期間)内で賞球カウントスイッチ301Aがオンする。従って、電源断信号がオンするあたりで実行された球払出についても、電力供給停止時処理が実行される際に、総賞球数バッファに反映することができる。
【0223】VSLの電圧値がさらに低下して所定値(この例では+9V)にまで低下すると、主基板31に入力されているリセットIC651からの信号がローレベルになり、CPU56がシステムリセット状態になる。なお、CPU56は、システムリセット状態とされる前に、電力供給停止時処理を完了している。
【0224】VSLの電圧値がさらに低下してVcc(各種回路を駆動するための+5V)を生成することが可能な電圧を下回ると、各基板において各回路が動作できない状態となる。しかし、主基板31では、電力供給停止時処理が実行され、CPU56がシステムリセット状態とされている。
【0225】なお、払出制御基板37における払出制御用CPU371も、同様に電力供給停止時処理を行った後にシステムリセット状態になる。
【0226】次に、メイン処理におけるスイッチ処理(ステップS21)の具体例を説明する。この実施の形態では、各スイッチの検出信号のオン状態が所定時間継続すると、確かにスイッチがオンしたと判定されスイッチオンに対応した処理が開始される。所定時間を計測するために、スイッチタイマが用いられる。スイッチタイマは、バックアップRAM領域に形成された1バイトのカウンタであり、検出信号がオン状態を示している場合に2ms毎に+1される。図28に示すように、スイッチタイマは検出信号の数N(クリアスイッチ921の検出信号を除く)だけ設けられている。この実施の形態ではN=13である。また、RAM55において、各スイッチタイマのアドレスは、入力ポートのビット配列順(図18に示された上から下への順)と同じ順序で並んでいる。
【0227】図29は、遊技制御処理におけるステップS21のスイッチ処理の処理例を示すフローチャートである。なお、スイッチ処理は、図22に示すように遊技制御処理において最初に実行される。スイッチ処理において、CPU56は、まず、入力ポート0に入力されているデータを入力する(ステップS101)。次いで、処理数として「8」を設定し(ステップS102)、入賞口スイッチ33aのためのスイッチタイマのアドレスをポインタにセットする(ステップS103)。そして、スイッチチェック処理サブルーチンをコールする(ステップS104)。
【0228】図30は、スイッチチェック処理サブルーチンを示すフローチャートである。スイッチチェック処理サブルーチンにおいて、CPU56は、ポート入力データ、この場合には入力ポート0からの入力データを「比較値」として設定する(ステップS121)。また、クリアデータ(00)をセットする(ステップS122)。そして、ポインタ(スイッチタイマのアドレスが設定されている)が指すスイッチタイマをロードするとともに(ステップS123)、比較値を右(上位ビットから下位ビットへの方向)にシフトする(ステップS124)。比較値には入力ポート0のデータ設定されている。そして、この場合には、入賞口スイッチ33aの検出信号がキャリーフラグに押し出される。
【0229】キャリーフラグの値が「1」であれば(ステップS125)、すなわち入賞口スイッチ33aの検出信号がオン状態であれば、スイッチタイマの値を1加算する(ステップS127)。加算後の値が0でなければ加算値をスイッチタイマに戻す(ステップS128,S129)。加算後の値が0になった場合には加算値をスイッチタイマに戻さない。すなわち、スイッチタイマの値が既に最大値(255)に達している場合には、それよりも値を増やさない。
【0230】キャリーフラグの値が「0」であれば、すなわち入賞口スイッチ33aの検出信号がオフ状態であれば、スイッチタイマにクリアデータをセットする(ステップS126)。すなわち、スイッチがオフ状態であれば、スイッチタイマの値が0に戻る。
【0231】その後、CPU56は、ポインタ(スイッチタイマのアドレス)を1加算するとともに(ステップS130)、処理数を1減算する(ステップS131)。処理数が0になっていなければステップS122に戻る。そして、ステップS122〜S132の処理が繰り返される。
【0232】ステップS122〜S132の処理は、処理数分すなわち8回繰り返され、その間に、入力ポート0の8ビットに入力されるスイ