JP4237235B2 - 遊技機 - Google Patents

遊技機 Download PDF

Info

Publication number
JP4237235B2
JP4237235B2 JP2007104223A JP2007104223A JP4237235B2 JP 4237235 B2 JP4237235 B2 JP 4237235B2 JP 2007104223 A JP2007104223 A JP 2007104223A JP 2007104223 A JP2007104223 A JP 2007104223A JP 4237235 B2 JP4237235 B2 JP 4237235B2
Authority
JP
Japan
Prior art keywords
ball
game
payout
switch
storage means
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2007104223A
Other languages
English (en)
Other versions
JP2007181743A (ja
JP2007181743A5 (ja
Inventor
詔八 鵜川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sankyo Co Ltd
Original Assignee
Sankyo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sankyo Co Ltd filed Critical Sankyo Co Ltd
Priority to JP2007104223A priority Critical patent/JP4237235B2/ja
Publication of JP2007181743A publication Critical patent/JP2007181743A/ja
Publication of JP2007181743A5 publication Critical patent/JP2007181743A5/ja
Application granted granted Critical
Publication of JP4237235B2 publication Critical patent/JP4237235B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Pinball Game Machines (AREA)

Description

本発明は、本発明は、遊技者の操作に応じて遊技が行われるパチンコ遊技機、コイン遊技機、スロット機等の遊技機に関し、特に、遊技盤における遊技領域において遊技者の操作に応じて遊技が行われる遊技機に関する。
遊技機の一例として、遊技球などの遊技媒体を発射装置によって遊技領域に発射し、遊技領域に設けられている入賞口などの入賞領域に遊技媒体が入賞すると、所定個の賞球が遊技者に払い出されるものがある。さらに、表示状態が変化可能な可変表示部が設けられ、可変表示部の表示結果があらかじめ定められた特定の表示態様となった場合に所定の遊技価値を遊技者に与えるように構成されたものがある。
遊技価値とは、遊技機の遊技領域に設けられた可変入賞球装置の状態が打球が入賞しやすい遊技者にとって有利な状態になることや、遊技者にとって有利な状態となるための権利を発生させたりすることや、景品遊技媒体払出の条件が成立しやすくなる状態になることである。
特別図柄を表示する可変表示部を備えた第1種パチンコ遊技機では、特別図柄を表示する可変表示部の表示結果があらかじめ定められた特定の表示態様の組合せとなることを、通常、「大当り」という。大当りが発生すると、例えば、大入賞口が所定回数開放して打球が入賞しやすい大当り遊技状態に移行する。そして、各開放期間において、所定個(例えば10個)の大入賞口への入賞があると大入賞口は閉成する。そして、大入賞口の開放回数は、所定回数(例えば16ラウンド)に固定されている。なお、各開放について開放時間(例えば29.5秒)が決められ、入賞数が所定個に達しなくても開放時間が経過すると大入賞口は閉成する。また、大入賞口が閉成した時点で所定の条件(例えば、大入賞口内に設けられているVゾーンへの入賞)が成立していない場合には、大当り遊技状態は終了する。
また、「大当り」の組合せ以外の表示態様の組合せのうち、複数の可変表示部の表示結果のうちの一部が未だに導出表示されていない段階において、既に確定的な、または一時的な表示結果が導出表示されている可変表示部の表示態様が特定の表示態様の組合せとなる表示条件を満たしている状態を「リーチ」という。そして、可変表示部に可変表示される識別情報の表示結果が「大当り」となる条件を満たさない場合には「はずれ」となり、可変表示状態は終了する。遊技者は、大当りをいかにして発生させるかを楽しみつつ遊技を行う。
そして、遊技球が遊技盤に設けられている入賞口に遊技球が入賞すると、あらかじめ決められている個数の賞球払出が行われる。遊技の進行は主基板に搭載された遊技制御手段によって制御されるので、入賞にもとづく賞球個数は、遊技制御手段によって決定され、払出制御基板に送信される。なお、以下、遊技制御手段およびその他の制御手段は、遊技機に設けられている各種電気部品を制御するので、それらを電気部品制御手段と呼ぶことがある。
以上のように、遊技機には、遊技制御手段を初めとする種々の電気部品制御手段が搭載されている。一般に、各電気部品制御手段はマイクロコンピュータを含んだ構成とされる。そのような電気部品制御手段は、一般に、電源電圧が立ち上がると初期化処理を行い初期状態から制御を開始する。すると、停電等の不測の電源断が生じ、その後、電源復旧すると初期状態に戻ってしまうので、遊技者が得た遊技価値等が消滅してしまう等の問題が生ずることがある。そのような問題が生じないようにするには、電源電圧値の低下に伴なって発生される所定の信号に応じて遊技制御を中断し、そのときの制御状態を、遊技機に対する電力供給停止中でも電源バックアップされている記憶手段(バックアップ記憶手段)に保存し、電力供給が完全に停止するのを待つように制御すればよい。そのような遊技機は、記憶手段に遊技状態が保存されている状態で電力供給が再開されたら、保存されている制御状態にもとづいて遊技を再開するので、遊技者に不利益が与えられることが防止される。
しかし、バックアップ記憶手段に制御状態を保存する処理を行う直前に電気部品が動作中であった場合には、保存した制御状態に対して、実際の制御状態が変化してしまう可能性もある。例えば、遊技球の払い出しを行う球払出装置から払い出された遊技球を、球払出装置の下部に設けられているスイッチ手段によって検知して遊技球の払出確認を行うような場合には、そのような問題が生ずる可能性がある。つまり、球払出装置の動作を停止する直前に球払出装置が1個の遊技球の払出を実行し、直後に停電等が生じ、スイッチ手段が払出を検知する前に制御状態を保存したような場合には、保存された払出確認個数(または未払出個数)と、実際に払い出された個数との間に不一致が生じてしまう。そのような場合、電力供給再開時に、保存されている制御状態にもとづいて球払出処理を再開すると、余分に遊技球を払い出してしまうことになる。
また、遊技盤に設けられている入賞口とその入賞口への入賞を検知するスイッチの設置位置との間には距離があるので、入賞口に遊技球が入賞し遊技球がスイッチで検出される前に制御状態を保存する処理が行われたような場合には、入賞したことが検知されずキャンセルされてしまう。さらに、停電の発生に応じて大入賞口を閉成するように制御した場合でも、停電発生に応じて制御状態を保存する処理が行われると、大入賞口の閉成直前に入賞した遊技球が検知されないおそれもある。
そこで、本発明は、不測の電源断時等に、電気部品の動作状態を適正に監視して、適切な制御状態を保存できる遊技機を提供することを目的とする。
本発明による遊技機は、遊技媒体を用いて遊技者が所定の遊技を行うことが可能な遊技機であって、制御を行う際に発生する変動データを記憶する遊技制御用変動データ記憶手段を有し、遊技の進行を制御する遊技制御用マイクロコンピュータと、遊技機への電力供給が停止していても遊技制御用変動データ記憶手段の記憶内容を所定期間保持させることが可能な記憶内容保持手段と、遊技機で使用される所定の電源の状態を監視して電源断の発生を検出したときに検出信号を出力する電源監視手段と、遊技制御用マイクロコンピュータが信号を出力するための遊技制御用出力ポートと、を含み、遊技制御用マイクロコンピュータは、遊技媒体が入賞しやすい開状態と入賞しにくい閉状態とのいずれかに変化可能な可変入賞装置を制御し、遊技制御用マイクロコンピュータは、検出信号の入力に応じて、制御状態を遊技制御用変動データ記憶手段に保存させるための処理を含む遊技制御用電力供給停止時処理を実行し、遊技制御用電力供給停止時処理において、遊技制御用出力ポートに出力された信号をクリアする出力ポートクリア処理と、バックアップフラグを遊技制御用変動データ記憶手段に設定するバックアップフラグ設定処理と、遊技制御用変動データ記憶手段の記憶内容が正常か否かの判定に用いるチェックデータの作成処理とを実行し、バックアップフラグ設定処理および作成処理を実行する前に、出力ポートクリア処理を実行し、遊技制御用マイクロコンピュータは、出力ポートクリア処理によって、可変入賞装置が開状態であるときには閉状態とさせ、遊技制御用マイクロコンピュータは、電力供給が開始されたときに、バックアップフラグが遊技制御用変動データ記憶手段に設定されているか否かの判定を実行し、バックアップフラグが遊技制御用変動データ記憶手段に設定されていないと判定されたときには、チェックデータにもとづく遊技制御用変動データ記憶手段の記憶内容が正常か否かの判定を行うことなく、遊技制御用変動データ記憶手段の記憶内容を初期化し、バックアップフラグが遊技制御用変動データ記憶手段に設定されていると判定されたときに、チェックデータにもとづいて遊技制御用変動データ記憶手段の記憶内容が正常か否かの判定を実行し、遊技制御用変動データ記憶手段の記憶内容が正常でないと判定されたときには、遊技制御用変動データ記憶手段の記憶内容を初期化し、遊技制御用変動データ記憶手段の記憶内容が正常であると判定されたことを条件に、遊技制御用変動データ記憶手段に保存されていた記憶内容にもとづいて制御状態を遊技制御用電力供給停止時処理を開始したときの状態に復旧させる遊技制御用状態復旧制御を実行することを特徴とする。
また、本発明による遊技機は、遊技媒体を用いて遊技者が所定の遊技を行うことが可能な遊技機であって、制御を行う際に発生する変動データを記憶する払出制御用変動データ記憶手段を有し、遊技媒体の払出の制御を行う払出制御用マイクロコンピュータと、遊技機への電力供給が停止していても払出制御用変動データ記憶手段の記憶内容を所定期間保持させることが可能な記憶内容保持手段と、遊技機で使用される所定の電源の状態を監視して電源断の発生を検出したときに検出信号を出力する電源監視手段と、を含み、払出制御用マイクロコンピュータは、遊技媒体を払い出す払出手段を制御し、払出制御用マイクロコンピュータは、検出信号の入力に応じて、制御状態を払出制御用変動データ記憶手段に保存させるための処理を含む払出制御用電力供給停止時処理を実行し、払出制御用電力供給停止時処理において、払出手段による遊技媒体の払い出しを停止させる払出停止処理と、バックアップフラグを払出制御用変動データ記憶手段に設定するバックアップフラグ設定処理と、払出制御用変動データ記憶手段の記憶内容が正常か否かの判定に用いるチェックデータの作成処理とを実行し、バックアップフラグ設定処理および作成処理を実行する前に、払出停止処理を実行し、払出制御用マイクロコンピュータは、電力供給が開始されたときに、バックアップフラグが払出制御用変動データ記憶手段に設定されているか否かの判定を実行し、バックアップフラグが払出制御用変動データ記憶手段に設定されていないと判定されたときには、チェックデータにもとづく払出制御用変動データ記憶手段の記憶内容が正常か否かの判定を行うことなく、払出制御用変動データ記憶手段の記憶内容を初期化し、バックアップフラグが払出制御用変動データ記憶手段に設定されていると判定されたときに、チェックデータにもとづいて払出制御用変動データ記憶手段の記憶内容が正常か否かの判定を実行し、払出制御用変動データ記憶手段の記憶内容が正常でないと判定されたときには、払出制御用変動データ記憶手段の記憶内容を初期化し、払出制御用変動データ記憶手段の記憶内容が正常であると判定されたことを条件に、払出制御用変動データ記憶手段に保存されていた記憶内容にもとづいて制御状態を払出制御用電力供給停止時処理を開始したときの状態に復旧させる払出制御用状態復旧制御を実行することを特徴とする。
以上のように、本発明によれば、内容保持手段によって変動データ記憶手段に保存される制御状態と実際の制御状態とが一致することが保証されるので、適切な制御状態を保存できるという効果がある。
以下、本発明の一実施形態を図面を参照して説明する。
まず、遊技機の一例であるパチンコ遊技機の全体の構成について説明する。図1はパチンコ遊技機1を正面からみた正面図である。なお、ここでは、遊技機の一例としてパチンコ遊技機を示すが、本発明はパチンコ遊技機に限られず、例えばコイン遊技機やスロット機等であってもよい。
図1に示すように、パチンコ遊技機1は、額縁状に形成されたガラス扉枠2を有する。ガラス扉枠2の下部表面には打球供給皿3がある。打球供給皿3の下部には、打球供給皿3からあふれた遊技球を貯留する余剰玉受皿4と打球を発射する打球操作ハンドル(操作ノブ)5が設けられている。ガラス扉枠2の後方には、遊技盤6が着脱可能に取り付けられている。また、遊技盤6の前面には遊技領域7が設けられている。
遊技領域7の中央付近には、複数種類の図柄を可変表示するための可変表示部(特別図柄表示装置)9と7セグメントLEDによる普通図柄表示器(普通図柄表示装置)10とを含む可変表示装置8が設けられている。可変表示部9には、例えば「左」、「中」、「右」の3つの図柄表示エリアがある。可変表示装置8の側部には、打球を導く通過ゲート11が設けられている。通過ゲート11を通過した打球は、玉出口13を経て始動入賞口14の方に導かれる。通過ゲート11と玉出口13との間の通路には、通過ゲート11を通過した打球を検出するゲートスイッチ12がある。また、始動入賞口14に入った入賞球は、遊技盤6の背面に導かれ、始動口スイッチ17によって検出される。また、始動入賞口14の下部には開閉動作を行う可変入賞球装置15が設けられている。可変入賞球装置15は、ソレノイド16によって開状態とされる。
可変入賞球装置15の下部には、特定遊技状態(大当り状態)においてソレノイド21によって開状態とされる開閉板20が設けられている。この実施の形態では、開閉板20が大入賞口を開閉する手段となる。開閉板20から遊技盤6の背面に導かれた入賞球のうち一方(Vゾーン)に入った入賞球はVカウントスイッチ(V入賞スイッチ)22で検出される。また、開閉板20からの入賞球はカウントスイッチ23で検出される。可変表示装置8の下部には、始動入賞口14に入った入賞球数を表示する4個の表示部を有する始動入賞記憶表示器18が設けられている。この例では、4個を上限として、始動入賞がある毎に、始動入賞記憶表示器18は点灯している表示部を1つずつ増やす。そして、可変表示部9の可変表示が開始される毎に、点灯している表示部を1つ減らす。
遊技盤6には、複数の入賞口19,24が設けられ、遊技球のそれぞれの入賞口19,24への入賞は、対応して設けられている入賞口スイッチ19a,19b,24a,24bによって検出される。遊技領域7の左右周辺には、遊技中に点滅表示される装飾ランプ25が設けられ、下部には、入賞しなかった打球を吸収するアウト口26がある。また、遊技領域7の外側の左右上部には、効果音を発する2つのスピーカ27が設けられている。遊技領域7の外周には、遊技効果LED28aおよび遊技効果ランプ28b,28cが設けられている。
そして、この例では、一方のスピーカ27の近傍に、賞球残数があるときに点灯する賞球ランプ51が設けられ、他方のスピーカ27の近傍に、補給球が切れたときに点灯する球切れランプ52が設けられている。さらに、図1には、パチンコ遊技機1に隣接して設置され、プリペイドカードが挿入されることによって球貸しを可能にするカードユニット50も示されている。
カードユニット50には、使用可能状態であるか否かを示す使用可表示ランプ151、カード内に記録された残額情報に端数(100円未満の数)が存在する場合にその端数を打球供給皿3の近傍に設けられる度数表示LEDに表示させるための端数表示スイッチ152、カードユニット50がいずれの側のパチンコ遊技機1に対応しているのかを示す連結台方向表示器153、カードユニット50内にカードが投入されていることを示すカード投入表示ランプ154、記録媒体としてのカードが挿入されるカード挿入口155、およびカード挿入口155の裏面に設けられているカードリーダライタの機構を点検する場合にカードユニット50を解放するためのカードユニット錠156が設けられている。
打球発射装置から発射された打球は、打球レールを通って遊技領域7に入り、その後、遊技領域7を下りてくる。打球が通過ゲート11を通ってゲートスイッチ12で検出されると、普通図柄表示器10の表示数字が連続的に変化する状態になる。また、打球が始動入賞口14に入り始動口スイッチ17で検出されると、図柄の変動を開始できる状態であれば、可変表示部9内の図柄が回転を始める。図柄の変動を開始できる状態でなければ、始動入賞記憶を1増やす。
可変表示部9内の画像の回転は、一定時間が経過したときに停止する。停止時の画像の組み合わせが大当り図柄の組み合わせであると、大当り遊技状態に移行する。すなわち、開閉板20が、一定時間経過するまで、または、所定個数(例えば10個)の打球が入賞するまで開放する。そして、開閉板20の開放中に打球が特定入賞領域に入賞しV入賞スイッチ22で検出されると、継続権が発生し開閉板20の開放が再度行われる。継続権の発生は、所定回数(例えば15ラウンド)許容される。
停止時の可変表示部9内の画像の組み合わせが確率変動を伴う大当り図柄の組み合わせである場合には、次に大当りとなる確率が高くなる。すなわち、高確率状態という遊技者にとってさらに有利な状態となる。また、普通図柄表示器10における停止図柄が所定の図柄(当り図柄=小当り図柄)である場合に、可変入賞球装置15が所定時間だけ開状態になる。さらに、高確率状態では、普通図柄表示器10における停止図柄が当り図柄になる確率が高められるとともに、可変入賞球装置15の開放時間と開放回数が高められる。
次に、パチンコ遊技機1の裏面に配置されている各基板について説明する。
図2に示すように、パチンコ遊技機1の裏面では、枠体2A内の機構板の上部に玉貯留タンク38が設けられ、パチンコ遊技機1が遊技機設置島に設置された状態でその上方から遊技球が球貯留タンク38に供給される。球貯留タンク38内の遊技球は、誘導樋39を通って賞球ケース40Aで覆われる球払出装置に至る。
遊技機裏面側では、可変表示部9を制御する可変表示制御ユニット29、遊技制御用マイクロコンピュータ等が搭載された遊技制御基板(主基板)31が設置されている。また、球払出制御を行う払出制御用マイクロコンピュータ等が搭載された払出制御基板37、およびモータの回転力を利用して打球を遊技領域7に発射する打球発射装置が設置されている。さらに、装飾ランプ25、遊技効果LED28a、遊技効果ランプ28b,28c、賞球ランプ51および球切れランプ52に信号を送るためのランプ制御基板35、スピーカ27からの音声発生を制御するための音声制御基板70および打球発射装置を制御するための発射制御基板91も設けられている。
さらに、DC30V、DC21V、DC12VおよびDC5Vを作成する電源回路が搭載された電源基板910が設けられ、上方には、各種情報を遊技機外部に出力するための各端子を備えたターミナル基板160が設置されている。ターミナル基板160には、少なくとも、球切れ検出スイッチの出力を導入して外部出力するための球切れ用端子、賞球個数信号を外部出力するための賞球用端子および球貸し個数信号を外部出力するための球貸し用端子が設けられている。また、中央付近には、主基板31からの各種情報を遊技機外部に出力するための各端子を備えた情報端子盤34が設置されている。なお、図2には、ランプ制御基板35および音声制御基板70からの信号を、枠側に設けられている遊技効果LED28a、遊技効果ランプ28b,28c、賞球ランプ51および球切れランプ52に供給するための電飾中継基板A77が示されているが、信号中継の必要に応じて他の中継基板も設けられる。
図3はパチンコ遊技機1の機構板を背面からみた背面図である。球貯留タンク38に貯留された玉は誘導樋39を通り、図3に示されるように、球切れ検出器(球切れスイッチ)187a,187bを通過して球供給樋186a,186bを経て球払出装置97に至る。球切れスイッチ187a,187bは遊技球通路内の遊技球の有無を検出するスイッチであるが、球タンク38内の補給球の不足を検出する球切れ検出スイッチ167も設けられている。以下、球切れスイッチ187a,187bを、球切れスイッチ187と表現することがある。
球払出装置97から払い出された遊技球は、連絡口45を通ってパチンコ遊技機1の前面に設けられている打球供給皿3に供給される。連絡口45の側方には、パチンコ遊技機1の前面に設けられている余剰玉受皿4に連通する余剰玉通路46が形成されている。
入賞にもとづく景品球が多数払い出されて打球供給皿3が満杯になり、ついには遊技球が連絡口45に到達した後さらに遊技球が払い出されると遊技球は、余剰玉通路46を経て余剰玉受皿4に導かれる。さらに遊技球が払い出されると、感知レバー47が満タンスイッチ48を押圧して満タンスイッチ48がオンする。その状態では、球払出装置97内のステッピングモータの回転が停止して球払出装置97の動作が停止するとともに打球発射装置の駆動も停止する。
次に、機構板36に設置されている中間ベースユニットの構成について説明する。中間ベースユニットには、球供給樋186a,186bや球払出装置97が設置される。図4に示すように、中間ベースユニットの上下には連結凹突部182が形成されている。連結凹突部182は、中間ベースユニットと機構板36の上部ベースユニットおよび下部ベースユニットを連結固定するものである。
中間ベースユニットの上部には通路体184が固定されている。そして、通路体184の下部に球払出装置97が固定されている。通路体184は、カーブ樋174(図3参照)によって流下方向を左右方向に変換された2列の遊技球を流下させる払出球通路186a,186bを有する。払出球通路186a,186bの上流側には、球切れスイッチ187a,187bが設置されている。球切れスイッチ187a,187bは、払出球通路186a,186b内の遊技球の有無を検出するものであって、球切れスイッチ187a,187bが遊技球を検出しなくなると球払出装置97における払出モータ(図4において図示せず)の回転を停止して球払出が不動化される。
なお、球切れスイッチ187a,187bは、払出球通路186a,186bに27〜28個程度の遊技球が存在することを検出できるような位置に係止片188によって係止されている。すなわち、球切れスイッチ187a,187bは、賞球の一単位の最大払出量(この実施の形態では15個)および球貸しの一単位の最大払出量(この実施の形態では100円:25個)以上が確保されていることが確認できるような位置に設置されている。
通路体184の中央部は、内部を流下する遊技球の球圧を弱めるように、左右に湾曲する形状に形成されている。そして、払出球通路186a,186bの間に止め穴189が形成されている。止め穴189の裏面は中間ベースユニットに設けられている取付ボスがはめ込まれる。その状態で止めねじがねじ止めされて、通路体184は中間ベースユニットに固定される。なお、ねじ止めされる前に、中間ベースユニットに設けられている係止突片185によって通路体184の位置合わせを行えるようになっている。
通路体184の下方には、球払出装置97に遊技球を供給するとともに故障時等には球払出装置97への遊技球の供給を停止する球止め装置190が設けられている。球止め装置190の下方に設置される球払出装置97は、直方体状のケース198の内部に収納されている。ケース198の左右4箇所には突部が設けられている。各突部が中間ベースユニットに設けられている位置決め突片に係った状態で、中間ベースユニットの下部に設けられている弾性係合片にケース198の下端がはめ込まれる。
図5は球払出装置97の分解斜視図である。球払出装置97の構成および作用について図5を参照して説明する。この実施形態における球払出装置97は、ステッピングモータ(払出モータ)289がスクリュー288を回転させることによりパチンコ玉を1個ずつ払い出す。なお、球払出装置97は、入賞にもとづく景品球だけでなく、貸し出すべき遊技球も払い出す。
図5に示すように、球払出装置97は、2つのケース198a,198bを有する。それぞれのケース198a,198bの左右2箇所に、球払出装置97の設置位置上部に設けられた位置決め突片に当接される係合突部280が設けられている。また、それぞれのケース198a,198bには、球供給路281a,281bが形成されている。球供給路281a,281bは湾曲面282a,282bを有し、湾曲面282a,282bの終端の下方には、球送り水平路284a,284bが形成されている。さらに、球送り水平路284a,284bの終端に球排出路283a,283bが形成されている。
球供給路281a,281b、球送り水平路284a,284b、球排出路283a,283bは、ケース198a,198bをそれぞれ前後に区画する区画壁295a,295bの前方に形成されている。また、区画壁295a,295bの前方において、玉圧緩衝部材285がケース198a,198b間に挟み込まれる。玉圧緩衝部材285は、球払出装置97に供給される玉を左右側方に振り分けて球供給路281a,281bに誘導する。
また、玉圧緩衝部材285の下部には、発光素子(LED)286と受光素子(図示せず)とによる払出モータ位置センサが設けられている。発光素子286と受光素子とは、所定の間隔をあけて設けられている。そして、この間隔内に、スクリュー288の先端が挿入されるようになっている。なお、玉圧緩衝部材285は、ケース198a,198bが張り合わされたときに、完全にその内部に収納固定される。
球送り水平路284a,284bには、払出モータ289によって回転させられるスクリュー288が配置されている。払出モータ289はモータ固定板290に固定され、モータ固定板290は、区画壁295a,295bの後方に形成される固定溝291a,291bにはめ込まれる。その状態で払出モータ289のモータ軸が区画壁295a,295bの前方に突出するので、その突出の前方にスクリュー288が固定される。スクリュー288の外周には、払出モータ289の回転によって球送り水平路284a,284bに載置された遊技球を前方に移動させるための螺旋突起288aが設けられている。
そして、スクリュー288の先端には、発光素子286を収納するように凹部が形成され、その凹部の外周には、2つの切欠部292が互いに180度離れて形成されている。従って、スクリュー288が1回転する間に、発光素子286からの光は、切欠部292を介して受光素子で2回検出される。
つまり、発光素子286と受光素子とによる払出モータ位置センサは、スクリュー288を定位置で停止するためのものであり、かつ、払出動作が行われた旨を検出するものである。なお、発光素子286、受光素子および払出モータ289からの配線は、まとめられてケース198a,198bの後部下方に形成された引出穴から外部に引き出されコネクタに結線される。
遊技球が球送り水平路284a,284bに載置された状態において、払出モータ289が回転すると、スクリュー288の螺旋突起288aによって、遊技球は、球送り水平路284a,284b上を前方に向かって移動する。そして、遂には、球送り水平路284a,284bの終端から球排出路283a,283bに落下する。このとき、左右の球送り水平路284a,284bからの落下は交互に行われる。すなわち、スクリュー288が半回転する毎に一方から1個の遊技球が落下する。従って、1個の遊技球が落下する毎に、発光素子286からの光が受光素子によって検出される。
図4に示すように、球払出装置97の下方には、球振分部材(切替部材)311が設けられている。球振分部材311は、振分ソレノイド310によって駆動される。例えば、ソレノイド310のオン時には、球振分部材311は右側に倒れ、オフ時には左側に倒れる。振分ソレノイド310の下方には、近接スイッチによる賞球カウントスイッチ301Aおよび球貸しカウントスイッチ301Bが設けられている。入賞にもとづく賞球時には、球振分部材311は右側に倒れ、球排出路283a,283bからの玉はともに賞球カウントスイッチ301Aを通過する。また、球貸し時には、球振分部材311は左側に倒れ、球排出路283a,283bからの玉はともに球貸しカウントスイッチ301Bを通過する。従って、球払出装置97は、賞球時と球貸し時とで払出流下路を切り替えて、所定数の遊技媒体の払出を行うことができる。
このように、球振分部材311を設けることによって、2条の玉流路を落下してきた玉は、賞球カウントスイッチ301Aと球貸しカウントスイッチ301Bとのうちのいずれか一方しか通過しない。従って、賞球であるのか球貸しであるのかの判断をすることなく、賞球カウントスイッチ301Aと球貸しカウントスイッチ301Bの検出出力から、直ちに賞球数または球貸し数を把握することができる。
なお、この実施の形態では、電気的駆動源の駆動によって遊技球を払い出す球払出装置として、ステッピングモータの回転によって遊技球が払い出される球払出装置97を用いることにするが、その他の駆動源によって遊技球を送り出す構造の球払出装置を用いてもよいし、ソレノイド等の電気的駆動源の駆動によってストッパを外し遊技球の自重によって払い出しがなされる構造の球払出装置を用いてもよい。また、この実施の形態では、球払出装置97は賞球にもとづく景品球と貸出要求にもとづく貸し球の双方を払い出すが、それぞれについて払出装置が設けられていてもよい。
図6は、主基板31における回路構成の一例を示すブロック図である。なお、図6には、払出制御基板37、ランプ制御基板35、音声制御基板70、発射制御基板91および図柄制御基板80も示されている。主基板31には、プログラムに従ってパチンコ遊技機1を制御する基本回路53と、ゲートスイッチ12、始動口スイッチ17、V入賞スイッチ22、カウントスイッチ23、入賞口スイッチ19a,19b,24a,24b、満タンスイッチ48、球切れスイッチ187および賞球カウントスイッチ301Aからの信号を基本回路53に与えるスイッチ回路58と、可変入賞球装置15を開閉するソレノイド16、開閉板20を開閉するソレノイド21および大入賞口内の経路を切り換えるためのソレノイド21Aを基本回路53からの指令に従って駆動するソレノイド回路59とが搭載されている。
なお、図6には示されていないが、カウントスイッチ短絡信号もスイッチ回路58を介して基本回路53に伝達される。
また、基本回路53から与えられるデータに従って、大当りの発生を示す大当り情報、可変表示部9の画像表示開始に利用された始動入賞球の個数を示す有効始動情報、確率変動が生じたことを示す確変情報等の情報出力信号をホールコンピュータ等の外部機器に対して出力する情報出力回路64が搭載されている。
基本回路53は、ゲーム制御用のプログラム等を記憶するROM54、ワークメモリとして使用される記憶手段の一例であるRAM55、プログラムに従って制御動作を行うCPU56およびI/Oポート部57を含む。この実施の形態では、ROM54,RAM55はCPU56に内蔵されている。すなわち、CPU56は、1チップマイクロコンピュータである。なお、1チップマイクロコンピュータは、少なくともRAM55が内蔵されていればよく、ROM54およびI/Oポート部57は外付けであっても内蔵されていてもよい。
さらに、主基板31には、電源投入時に基本回路53をリセットするためのシステムリセット回路65が設けられている。
遊技球を打撃して発射する打球発射装置は発射制御基板91上の回路によって制御される駆動モータ94で駆動される。そして、駆動モータ94の駆動力は、操作ノブ5の操作量に従って調整される。すなわち、発射制御基板91上の回路によって、操作ノブ5の操作量に応じた速度で打球が発射されるように制御される。
なお、この実施の形態では、ランプ制御基板35に搭載されているランプ制御手段が、遊技盤に設けられている始動記憶表示器18、ゲート通過記憶表示器41および装飾ランプ25の表示制御を行うとともに、枠側に設けられている遊技効果ランプ・LED28a,28b,28c、賞球ランプ51および球切れランプ52の表示制御を行う。また、特別図柄を可変表示する可変表示部9および普通図柄を可変表示する普通図柄表示器10の表示制御は、図柄制御基板80に搭載されている表示制御手段によって行われる。
図7は、払出制御基板37および球払出装置97の構成要素などの払出に関連する構成要素を示すブロック図である。図7に示すように、満タンスイッチ48からの検出信号は、中継基板71を介して主基板31のI/Oポート57に入力される。満タンスイッチ48は、余剰球受皿4の満タンを検出するスイッチである。また、球切れスイッチ187(187a,187b)からの検出信号も、中継基板72および中継基板71を介して主基板31のI/Oポート57に入力される。
主基板31のCPU56は、球切れスイッチ187からの検出信号が球切れ状態を示しているか、または、満タンスイッチ48からの検出信号が満タン状態を示していると、払出禁止を指示する払出制御コマンドを送出する。払出禁止を指示する払出制御コマンドを受信すると、払出制御基板37の払出制御用CPU371は球払出処理を停止する。
さらに、賞球カウントスイッチ301Aからの検出信号は、中継基板72および中継基板71を介して主基板31のI/Oポート57に入力されるとともに、中継基板72を介して払出制御基板37の入力ポート372bに入力される。賞球カウントスイッチ301Aは、球払出装置97の払出機構部分に設けられ、実際に払い出された賞球払出球を検出する。
入賞があると、払出制御基板37には、主基板31の出力ポート(ポート0,1)570,571から賞球個数を示す払出制御コマンドが入力される。出力ポート(出力ポート1)571は8ビットのデータを出力し、出力ポート570は1ビットのストローブ信号(INT信号)を出力する。賞球個数を示す払出制御コマンドは、入力バッファ回路373Aを介してI/Oポート372aに入力される。INT信号は、入力バッファ回路373Bを介して払出制御用CPU371の割込端子に入力されている。払出制御用CPU371は、I/Oポート372aを介して払出制御コマンドを入力し、払出制御コマンドに応じて球払出装置97を駆動して賞球払出を行う。
なお、この実施の形態では、払出制御用CPU371は、1チップマイクロコンピュータであり、少なくともRAMが内蔵されている。
また、主基板31において、出力ポート570,571の外側にバッファ回路620,68Aが設けられている。バッファ回路620,68Aとして、例えば、汎用のCMOS−ICである74HC250,74HC14が用いられる。このような構成によれば、外部から主基板31の内部に入力される信号が阻止されるので、払出制御基板37から主基板31に信号が与えられる可能性がある信号ラインをさらに確実になくすことができる。なお、バッファ回路620,68Aの出力側にノイズフィルタを設けてもよい。
払出制御用CPU371は、出力ポート372cを介して、貸し球数を示す球貸し個数信号をターミナル基板160に出力する。さらに、出力ポート372dを介して、エラー表示用LED374にエラー信号を出力する。
さらに、払出制御基板37の入力ポート372bには、中継基板72を介して球貸しカウントスイッチ301Bからの検出信号が入力される。球貸しカウントスイッチ301Bは、球払出装置97の払出機構部分に設けられ、実際に払い出された貸し球を検出する。払出制御基板37からの払出モータ289への駆動信号はあ、出力ポート372cおよび中継基板72を介して球払出装置97の払出機構部分における払出モータ289に伝えられ、振分ソレノイド310への駆動信号は、出力ポート372eおよび中継基板72を介して球払出装置97の払出機構部分における振分ソレノイド310に伝えられる。
カードユニット50には、カードユニット制御用マイクロコンピュータが搭載されている。また、カードユニット50には、端数表示スイッチ152、連結台方向表示器153、カード投入表示ランプ154およびカード挿入口155が設けられている(図1参照)。残高表示基板74には、打球供給皿3の近傍に設けられている度数表示LED、球貸しスイッチおよび返却スイッチが接続される。
残高表示基板74からカードユニット50には、遊技者の操作に応じて、球貸しスイッチ信号および返却スイッチ信号が払出制御基板37を介して与えられる。また、カードユニット50から残高表示基板74には、プリペイドカードの残高を示すカード残高表示信号および球貸し可表示信号が払出制御基板37を介して与えられる。カードユニット50と払出制御基板37の間では、接続信号(VL信号)、ユニット操作信号(BRDY信号)、球貸し要求信号(BRQ信号)、球貸し完了信号(EXS信号)およびパチンコ機動作信号(PRDY信号)が入力ポート372bおよび出力ポート372eを介してやりとりされる。
パチンコ遊技機1の電源が投入されると、払出制御基板37の払出制御用CPU371は、カードユニット50にPRDY信号を出力する。また、カードユニット制御用マイクロコンピュータは、VL信号を出力する。払出制御用CPU371は、VL信号の入力状態により接続状態/未接続状態を判定する。カードユニット50においてカードが受け付けられ、球貸しスイッチが操作され球貸しスイッチ信号が入力されると、カードユニット制御用マイクロコンピュータは、払出制御基板37にBRDY信号を出力する。この時点から所定の遅延時間が経過すると、カードユニット制御用マイクロコンピュータは、払出制御基板37にBRQ信号を出力する。
そして、払出制御基板37の払出制御用CPU371は、カードユニット50に対するEXS信号を立ち上げ、カードユニット50からのBRQ信号の立ち下がりを検出すると、払出モータ289を駆動し、所定個の貸し球を遊技者に払い出す。このとき、振分ソレノイド310は駆動状態とされている。すなわち、球振分部材311を球貸し側に向ける。そして、払出が完了したら、払出制御用CPU371は、カードユニット50に対するEXS信号を立ち下げる。その後、カードユニット50からのBRDY信号がオン状態でなければ、賞球払出制御を実行する。
以上のように、カードユニット50からの信号は全て払出制御基板37に入力される構成になっている。従って、球貸し制御に関して、カードユニット50から主基板31に信号が入力されることはなく、主基板31の基本回路53にカードユニット50の側から不正に信号が入力される余地はない。また、カードユニット50で用いられる電源電圧AC24Vは払出制御基板37から供給される。
また、この実施の形態では、カードユニット50が遊技機とは別体として遊技機に隣接して設置されている場合を例にするが、カードユニット50は遊技機と一体化されていてもよい。また、コイン投入に応じてその金額に応じた遊技球を貸し出すように構成した場合でも本発明を適用できる。すなわち、遊技機は遊技球の払出として賞球払出のみを行う場合でも本発明を適用可能である。
図8は、電源基板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は、ソレノイド駆動電源となる。
トランス911は、交流電源からの交流電圧を24Vに変換する。AC24V電圧は、コネクタ915に出力される。また、整流回路912は、AC24Vから+30Vの直流電圧を生成し、DC−DCコンバータ913およびコネクタ915に出力する。DC−DCコンバータ913は、1つまたは複数のコンバータIC922(図8では1つのみを示す。)を有し、VSLにもとづいて+21V、+12Vおよび+5Vを生成してコネクタ915に出力する。コンバータIC922の入力側には、比較的大容量のコンデンサ923が接続されている。従って、外部からの遊技機に対する電力供給が停止したときに、+30V、+12V、+5V等の直流電圧は、比較的緩やかに低下する。この結果、コンデンサ923は、後述する補助駆動電源の役割を果たす。コネクタ915は例えば中継基板に接続され、中継基板から各電気部品制御基板および機構部品に必要な電圧の電力が供給される。
ただし、電源基板910に各電気部品制御基板に至る各コネクタを設け、電源基板910から、中継基板を介さずにそれぞれの基板に至る各電圧を供給するようにしてもよい。また、図8には1つのコネクタ915が代表して示されているが、コネクタは、各電気部品制御基板対応に設けられている。
DC−DCコンバータ913からの+5Vラインは分岐してバックアップ+5Vラインを形成する。バックアップ+5Vラインとグラウンドレベルとの間には大容量のコンデンサ916が接続されている。コンデンサ916は、遊技機に対する電力供給が遮断されたときの電気部品制御基板のバックアップRAM(電源バックアップされているRAMすなわち電力供給停止時にも記憶内容保持状態となりうるバックアップ記憶手段)に対して記憶状態を保持できるように電力を供給するバックアップ電源となる。また、+5Vラインとバックアップ+5Vラインとの間に、逆流防止用のダイオード917が挿入される。この実施の形態では、バックアップ用の+5Vは、主基板31および払出制御基板37に供給される。
なお、バックアップ電源として、+5V電源から充電可能な電池を用いてもよい。電池を用いる場合には、+5V電源から電力供給されない状態が所定時間継続すると容量がなくなるような充電池が用いられる。
また、電源基板910には、電源監視用IC902が搭載されている。電源監視用IC902は、VSL電圧を導入し、VSL電圧を監視することによって電源断の発生を検出する。具体的には、VSL電圧が所定値(この例では+22V)以下になったら、電源断が生ずるとして電源断信号を出力する。なお、監視対象の電源電圧は、各電気部品制御基板に搭載されている回路素子の電源電圧(この例では+5V)よりも高い電圧であることが好ましい。この例では、交流から直流に変換された直後の電圧であるVSLが用いられている。電源監視用IC902からの電源断信号は、主基板31や払出制御基板37等に供給される。
電源監視用IC902が電源断を検知するための所定値は、通常時の電圧より低いが、各電気部品制御基板上のCPUが暫くの間動作しうる程度の電圧である。また、電源監視用IC902が、CPU等の回路素子を駆動するための電圧(この例では+5V)よりも高く、また、交流から直流に変換された直後の電圧を監視するように構成されているので、CPUが必要とする電圧に対して監視範囲を広げることができる。従って、より精密な監視を行うことができる。さらに、監視電圧としてVSL(+30V)を用いる場合には、遊技機の各種スイッチに供給される電圧が+12Vであることから、電源瞬断時のスイッチオン誤検出の防止も期待できる。すなわち、+30V電源の電圧を監視すると、+30V作成の以降に作られる+12Vが落ち始める以前の段階でそれの低下を検出できる。
よって、+12V電源の電圧が低下するとスイッチ出力がオン状態を呈するようになるが、+12Vより早く低下する+30V電源電圧を監視して電源断を認識すれば、スイッチ出力がオン状態を呈する前に電源復旧待ちの状態に入ってスイッチ出力を検出しない状態となることができる。
また、電源監視用IC902は、電気部品制御基板とは別個の電源基板910に搭載されているので、電源監視回路から複数の電気部品制御基板に電源断信号を供給することができる。電源断信号を必要とする電気部品制御基板が幾つあっても電源監視手段は1つ設けられていればよいので、各電気部品制御基板における各電気部品制御手段が後述する復帰制御を行っても、遊技機のコストはさほど上昇しない。
なお、図8に示された構成では、電源監視用IC902の検出出力(電源断信号)は、バッファ回路918,919を介してそれぞれの電気部品制御基板(例えば主基板31と払出制御基板37)に伝達されるが、例えば、1つの検出出力を中継基板に伝達し、中継基板から各電気部品制御基板に同じ信号を分配する構成でもよい。また、電源断信号を必要とする基板数に応じたバッファ回路を設けてもよい。
図9は、主基板31におけるCPU56周りの一構成例を示すブロック図である。図9に示すように、電源基板910の電源監視回路(電源監視手段)からの電源断信号が、CPU56のマスク不能割込端子(XNMI端子)に接続されている。電源監視回路は、遊技機が使用する各種直流電源のうちのいずれかの電源の電圧を監視して電源電圧低下を検出する回路である。この実施の形態では、VSLの電源電圧を監視して電圧値が所定値以下になるとローレベルの電源断信号を発生する。VSLは、遊技機における直流電圧のうちで最大のものであり、この例では+30Vである。従って、CPU56は、割込処理によって電源断の発生を確認することができる。
図9には、システムリセット回路65も示されている。リセットIC651は、電源投入時に、外付けのコンデンサの容量で決まる所定時間だけ出力をローレベルとし、所定時間が経過すると出力をハイレベルにする。すなわち、リセット信号をハイレベルに立ち上げてCPU56を動作可能状態にする。また、リセットIC651は、電源監視回路が監視する電源電圧と等しい電源電圧であるVSLの電源電圧を監視して電圧値が所定値(電源監視回路が電源断信号を出力する電源電圧値よりも低い値)以下になると出力をローレベルにする。従って、CPU56は、電源監視回路からの電源断信号に応じて所定の電力供給停止時処理を行った後、システムリセットされる。
図9に示すように、リセット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の出力がCPU56のリセット端子に接続されている。このような構成によれば、電源投入時に、CPU56のリセット端子に2回のリセット信号(ローレベル信号)が与えられるので、CPU56は、確実に動作を開始する。
そして、例えば、電源監視回路の検出電圧(電源断信号を出力することになる電圧)を+22Vとし、リセット信号をローレベルにするための検出電圧を+9Vとする。そのように構成した場合には、電源監視回路とシステムリセット回路65とが、同一の電源VSLの電圧を監視するので、電圧監視回路が電源断信号を出力するタイミングとシステムリセット回路65がシステムリセット信号を出力するタイミングの差を所望の所定期間に確実に設定することができる。所望の所定期間とは、電源監視回路からの電源断信号に応じて電力供給停止時処理を開始してから電力供給停止時処理が確実に完了するまでの期間である。
CPU56等の駆動電源である+5V電源から電力が供給されていない間、RAMの少なくとも一部は、電源基板から供給されるバックアップ電源によってバックアップされ、遊技機に対する電源が断しても内容は保存される。そして、+5V電源が復旧すると、システムリセット回路65からリセット信号が発せられるので、CPU56は、通常の動作状態に復帰する。そのとき、必要なデータがバックアップRAMに保存されているので、停電等からの復旧時に停電発生時の遊技状態に復帰することができる。
なお、図9に示す構成では、電源投入時にCPU56のリセット端子に2回のリセット信号(ローレベル信号)が与えられるが、リセット信号の立ち上がりタイミングが1回しかなくても確実にリセット解除されるCPUを使用する場合には、符号941〜949で示された回路素子は不要である。その場合、リセットIC651の出力がそのままCPU56のリセット端子に接続される。
この実施の形態で用いられるCPU56は、I/Oポート(PIO)およびタイマ/カウンタ回路(CTC)も内蔵している。PIOは、PB0〜PB3の4ビットおよびPA0〜PA7の1バイトのポートを有する。PB0〜PB3およびPA0〜PA7のポートは、入力/出力いずれにも設定できる。
図10は、CPU56の内部構成をより詳細に示すブロック図である。CPUコア501はレジスタを内蔵しプログラムに従って演算処理等を行う。クロックジェネレータ502は、外部から供給されるクロック信号を分周して各内蔵デバイスに供給する。なお、クロックジェネレータ502は、1/2分周クロックをシステムクロックとしてCLKO端子から出力可能であり、出力制御回路511を介して、システムクロックを分周したクロック信号をIEO/SCLK0端子から出力可能である。
リセット割込コントローラ503は、XRST端子に入力されるシステムリセット信号やXNMI端子に入力されるマスク不能割込要求信号等をCPUコア501に伝える。外部バスインタフェース504は、アドレスバス、データバスおよび各種制御信号の方向制御や駆動制御を行うバスドライバである。内蔵RAM55は電源バックアップ可能であり、内蔵ROM54にはプログラムが格納される。アドレスデコーダ505は、出力制御回路511を介して4本のチップセレクト信号XCS0〜3を出力可能である。なお、チップセレクト信号XCS0〜3の端子は、入出力ポートPB0〜PB3と兼用されている。
メモリ制御回路510は、内蔵ROM54および内蔵RAM55を制御するための信号を生成する。また、メモリ制御回路510には、内蔵RAM55へのアクセスを許可することを設定するレジスタが内蔵されている。
PIO506は、8ビットの内蔵入力ポートPA0〜PA7である。なお、内蔵PIOを使用しない場合には、例えば、使用しないポートを入力モードとして、そのポートをグラウンドレベルに接続する。また、CTC508は、2本の外部クロック/タイマトリガ入力CLK/TRG2,3と2本のタイマ出力ZC/TO0,1を内蔵している。
図11および図12は、この実施の形態における出力ポートの割り当てを示す説明図である。図11に示すように、出力ポート0は各電気部品制御基板に送出される制御コマンドのストローブ信号(INT信号)の出力ポートである。また、払出制御基板37に送出される払出制御コマンドの8ビットのデータは出力ポート1から出力され、図柄制御基板80に送出される表示制御コマンドの8ビットのデータは出力ポート2から出力され、ランプ制御基板35に送出されるランプ制御コマンドの8ビットのデータは出力ポート3から出力される。そして、図12に示すように、音声制御基板70に送出される音声制御コマンドの8ビットのデータは出力ポート4から出力される。
また、出力ポート5から、情報出力回路64を介して情報端子板34やターミナル基板160に至る各種情報出力用信号すなわち制御に関わる情報の出力データが出力される。そして、出力ポート6から、可変入賞球装置15を開閉するためのソレノイド16、大入賞口の開閉板2おを開閉するためのソレノイド21、および大入賞口内の経路を切り換えるためのソレノイド21Aに対する駆動信号が出力される。
図13は、この実施の形態における入力ポートのビット割り当てを示す説明図である。図13に示すように、入力ポート0のビット0〜7には、それぞれ、入賞口スイッチ24a、入賞口スイッチ24b、入賞口スイッチ19a、入賞口スイッチ19b、始動口スイッチ17、カウントスイッチ23、V入賞スイッチ(特定領域スイッチ)22、ゲートスイッチ12の検出信号が入力される。また、入力ポート1のビット0〜3には、それぞれ、賞球カウントスイッチ301A、満タンスイッチ48、球切れスイッチ187の検出信号、カウントスイッチ短絡信号が入力される。
次に遊技機の動作について説明する。
図14は、主基板31におけるCPU56が実行するメイン処理を示すフローチャートである。遊技機に対する電源が投入されると、メイン処理において、CPU56は、まず、必要な初期設定を行う。
初期設定処理において、CPU56は、まず、割込禁止に設定する(ステップS1)。次に、割込モードを割込モード2に設定し(ステップS2)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS3)。そして、内蔵デバイスレジスタの初期化を行う(ステップS4)。また、内蔵デバイス(内蔵周辺回路)であるCTC(カウンタ/タイマ)およびPIO(パラレル入出力ポート)の初期化(ステップS5)を行った後、RAMをアクセス可能状態に設定する(ステップS6)。
この実施の形態で用いられているCPU56には、マスク可能な割込(INT)のモードとして以下の3種類のモードが用意されている。なお、マスク可能な割込が発生すると、CPU56は、自動的に割込禁止状態に設定するとともに、プログラムカウンタの内容をスタックにセーブする。
割込モード0:割込要求を行った内蔵デバイスがRST命令(1バイト)またはCALL命令(3バイト)をCPUの内部データバス上に送出する。よって、CPU56は、RST命令に対応したアドレスまたはCALL命令で指定されるアドレスの命令を実行する。リセット時に、CPU56は自動的に割込モード0になる。よって、割込モード1または割込モード2に設定したい場合には、初期設定処理において、割込モード1または割込モード2に設定するための処理を行う必要がある。
割込モード1:割込が受け付けられると、常に0038(h)番地に飛ぶモードである。
割込モード2:CPU56の特定レジスタ(Iレジスタ)の値(1バイト)と内蔵デバイスが出力する割込ベクタ(1バイト:最下位ビット0)から合成されるアドレスが、割込番地を示すモードである。すなわち、割込番地は、上位アドレスが特定レジスタの値とされ下位アドレスが割込ベクタとされた2バイトで示されるアドレスである。従って、任意の(飛び飛びではあるが)偶数番地に割込処理を設置することができる。各内蔵デバイスは割込要求を行うときに割込ベクタを送出する機能を有している。
よって、割込モード2に設定されると、各内蔵デバイスからの割込要求を容易に処理することが可能になり、また、プログラムにおける任意の位置に割込処理を設置することが可能になる。さらに、割込モード1とは異なり、割込発生要因毎のそれぞれの割込処理を用意しておくことも容易である。上述したように、この実施の形態では、初期設定処理のステップS2において、CPU56は割込モード2に設定される。
そして、電源断時にバックアップRAM領域のデータ保護処理(例えばパリティデータの付加等の停電発生NMI処理)が行われたか否か確認する(ステップS7)。この実施の形態では、不測の電源断が生じた場合には、バックアップRAM領域のデータを保護するための処理が行われている。そのような保護処理が行われていた場合をバックアップありとする。バックアップなしを確認したら、CPU56は初期化処理を実行する。
この実施の形態では、バックアップRAM領域にバックアップデータがあるか否かは、電源断時にバックアップRAM領域に設定されるバックアップフラグの状態によって確認される。この例では、図15に示すように、バックアップフラグ領域に「55H」が設定されていればバックアップあり(オン状態)を意味し、「55H」以外の値が設定されていればバックアップなし(オフ状態)を意味する。
バックアップありを確認したら、CPU56は、バックアップRAM領域のデータチェック(この例ではパリティチェック)を行う。不測の電源断が生じた後に復旧した場合には、バックアップRAM領域のデータは保存されていたはずであるから、チェック結果は正常になる。チェック結果が正常でない場合には、内部状態を電源断時の状態に戻すことができないので、停電復旧時でない電源投入時に実行される初期化処理を実行する。
チェック結果が正常であれば(ステップS8)、CPU56は、遊技制御手段の内部状態と表示制御手段等の電気部品制御手段の制御状態を電源断時の状態に戻すための遊技状態復旧処理を行う(ステップS9)。そして、バックアップRAM領域に保存されていたPC(プログラムカウンタ)の退避値がPCに設定され、そのアドレスに復帰する。
初期化処理では、CPU56は、まず、RAMクリア処理を行う(ステップS11)。また、所定の作業領域(例えば、普通図柄判定用乱数カウンタ、普通図柄判定用バッファ、特別図柄左中右図柄バッファ、払出コマンド格納ポインタなど)に初期値を設定する初期値設定処理も行われる。さらに、サブ基板(ランプ制御基板35、払出制御基板37、音声制御基板70、図柄制御基板80)を初期化するための処理を実行する(ステップS13)。サブ基板を初期化する処理とは、例えば初期設定コマンドを送出する処理である。
そして、2ms毎に定期的にタイマ割込がかかるようにCPU56に設けられているCTCのレジスタの設定が行われる(ステップS14)。すなわち、初期値として2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。そして、初期設定処理のステップS1において割込禁止とされているので、初期化処理を終える前に割込が許可される(ステップS15)。
この実施の形態では、CPU56の内蔵CTCが繰り返しタイマ割込を発生するように設定される。この実施の形態では、繰り返し周期は2msに設定される。そして、タイマ割込が発生すると、図16に示すように、CPU56は、例えばタイマ割込が発生したことを示すタイマ割込フラグをセットする(ステップS12)。
初期化処理の実行(ステップS11〜S15)が完了すると、メイン処理で、タイマ割込が発生したか否かの監視(ステップS17)の確認が行われるループ処理に移行する。なお、ループ内では、表示用乱数更新処理(ステップS16)も実行される。
CPU56は、ステップS17において、タイマ割込が発生したことを認識すると、ステップS21〜S31の遊技制御処理を実行する。遊技制御処理において、CPU56は、まず、スイッチ回路58を介して、ゲートセンサ12、始動口センサ17、カウントセンサ23および入賞口スイッチ19a,19b,24a,24b等のスイッチの状態を入力し、それらの状態判定を行う(スイッチ処理:ステップS21)。
次いで、パチンコ遊技機1の内部に備えられている自己診断機能によって種々の異常診断処理が行われ、その結果に応じて必要ならば警報が発せられる(エラー処理:ステップS22)。
次に、遊技制御に用いられる大当り判定用の乱数等の各判定用乱数を示す各カウンタを更新する処理を行う(ステップS23)。CPU56は、さらに、停止図柄の種類を決定する乱数等の表示用乱数を更新する処理を行う(ステップS24)。
さらに、CPU56は、特別図柄プロセス処理を行う(ステップS25)。特別図柄プロセス制御では、遊技状態に応じてパチンコ遊技機1を所定の順序で制御するための特別図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、特別図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。また、普通図柄プロセス処理を行う(ステップS26)。普通図柄プロセス処理では、7セグメントLEDによる可変表示器10を所定の順序で制御するための普通図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、普通図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。
次いで、CPU56は、特別図柄に関する表示制御コマンドをRAM55の所定の領域に設定して表示制御コマンドを送出する処理を行う(特別図柄コマンド制御処理:ステップS27)。また、普通図柄に関する表示制御コマンドをRAM55の所定の領域に設定して表示制御コマンドを送出する処理を行う(普通図柄コマンド制御処理:ステップS28)。
さらに、CPU56は、例えばホール管理用コンピュータに供給される大当り情報、始動情報、確率変動情報などのデータを出力する情報出力処理を行う(ステップS29)。
また、CPU56は、所定の条件が成立したときにソレノイド回路59に駆動指令を行う(ステップS30)。ソレノイド回路59は、駆動指令に応じてソレノイド16,21を駆動し、可変入賞球装置15または開閉板20を開状態または閉状態とする。
そして、CPU56は、各入賞口への入賞を検出するためのスイッチ17,23,19a,19b,24a,24bの検出出力にもとづく賞球数の設定などを行う賞球処理を実行する(ステップS31)。具体的には、入賞検出に応じて払出制御基板37に払出制御コマンドを出力する。払出制御基板37に搭載されている払出制御用CPU371は、払出制御コマンドに応じて球払出装置97を駆動する。
以上の制御によって、この実施の形態では、遊技制御処理は2ms毎に起動されることになる。なお、この実施の形態では、タイマ割込処理では例えば割込が発生したことを示すフラグのセットのみがなされ、遊技制御処理はメイン処理において実行されるが、タイマ割込処理で遊技制御処理を実行してもよい。
また、メイン処理には遊技制御処理に移行すべきか否かを判定する処理が含まれ、CPU56の内部タイマが定期的に発生するタイマ割込にもとづくタイマ割込処理で遊技制御処理に移行すべきか否かを判定するためのフラグがセット等がなされるので、遊技制御処理の全てが確実に実行される。つまり、遊技制御処理の全てが実行されるまでは、次回の遊技制御処理に移行すべきか否かの判定が行われないので、遊技制御処理中の全ての各処理が実行完了することは保証されている。
以上に説明したように、この実施の形態では、CTCやPIOを内蔵するCPU56に対して、初期設定処理で割込モード2が設定される。従って、内蔵CTCを用いた定期的なタイマ割込処理を容易に実現できる。また、タイマ割込処理をプログラム上の任意の位置に設置できる。また、内蔵PIOを用いたスイッチ検出処理等を容易に割込処理で実現できる。その結果、プログラム構成が簡略化され、プログラム開発工数が低減する等の効果を得ることができる。
なお、CTCおよびPIOの設定(ステップS5)が完了した後に、IEO/SCLK0端子から出力されるクロック信号の周波数を決めるための内部レジスタの設定を行ってもよい。その際、クロック信号の周波数は、遊技制御処理の起動周期である2msに応じた周波数とされる。そのような設定を行うと、IEO/SCLK0端子から、遊技制御処理の起動周期に応じた周波数のクロック信号がCPU56から外部出力される。すると、CPU56の外部において遊技制御処理の起動周期に対応した信号を観測することができる。よって、そのような信号を用いて、遊技機外部においてCPU56による遊技制御処理をシミュレーションしたり、CPU56の動作状況を試験したりすることが容易になる。
また、図11および図12に示された出力ポート0〜6のうち、出力ポート0,1,2,3,4は、遊技制御処理のうちの特別図柄コマンド制御処理(ステップS25)、普通図柄コマンド制御処理(ステップS27)、賞球処理(ステップS31)等でアクセスされる。また、出力ポート5は、情報出力処理(ステップS29)でアクセスされ、出力ポート6は、特別図柄プロセス処理(ステップS25)や普通図柄プロセス処理(ステップS26)でアクセスされる。
次に、メイン処理におけるスイッチ処理(ステップS21)の具体例を説明する。この実施の形態では、検出信号のオン状態が所定時間継続すると、確かにスイッチがオンしたと判定されスイッチオンに対応した処理が開始される。所定時間を計測するために、スイッチタイマが用いられる。スイッチタイマは、バックアップRAM領域に形成された1バイトのカウンタであり、検出信号がオン状態を示している場合に2ms毎に+1される。図17に示すように、スイッチタイマは検出信号の数Nだけ設けられている。この実施の形態ではN=12である。また、RAMにおいて、各スイッチタイマのアドレスは、入力ポートのビット配列順(図13に示された上から下への順)と同じ順序で並んでいる。
図18は、遊技制御処理におけるステップS21のスイッチ処理の処理例を示すフローチャートである。なお、スイッチ処理は、図14に示すように遊技制御処理において最初に実行される。スイッチ処理において、CPU56は、まず、入力ポート0に入力されているデータを入力する(ステップS71)。次いで、処理数として「8」を設定し(ステップS72)、入賞口スイッチ24aのためのスイッチタイマのアドレスをポインタにセットする(ステップS73)。そして、スイッチチェック処理サブルーチンをコールする(ステップS74)。
図19は、スイッチチェック処理サブルーチンを示すフローチャートである。スイッチチェック処理サブルーチンにおいて、CPU56は、ポート入力データ、この場合には入力ポート0からの入力データを「比較値」として設定する(ステップS81)。また、クリアデータ(00)をセットする(ステップS82)。そして、ポインタ(スイッチタイマのアドレスが設定されている)が指すスイッチタイマをロードするとともに(ステップS83)、比較値を右(上位ビットから下位ビットへの方向)にシフトする(ステップS84)。比較値には入力ポート0のデータ設定されている。そして、この場合には、入賞口スイッチ24aの検出信号がキャリーフラグに押し出される。
キャリーフラグの値が「1」であれば(ステップS85)、すなわち入賞口スイッチ24aの検出信号がオン状態であれば、スイッチタイマの値を1加算する(ステップS87)。加算後の値が0でなければ加算値をスイッチタイマに戻す(ステップS88,S89)。加算後の値が0になった場合には加算値をスイッチタイマに戻さない。すなわち、スイッチタイマの値が既に最大値(255)に達している場合には、それよりも値を増やさない。
キャリーフラグの値が「0」であれば、すなわち入賞口スイッチ24aの検出信号がオフ状態であれば、スイッチタイマにクリアデータをセットする(ステップS86)。すなわち、スイッチがオフ状態であれば、スイッチタイマの値が0に戻る。
その後、CPU56は、ポインタ(スイッチタイマのアドレス)を1加算するとともに(ステップS90)、処理数を1減算する(ステップS91)。処理数が0になっていなければステップS82に戻る。そして、ステップS82〜S92の処理が繰り返される。
ステップS82〜S92の処理は、処理数分すなわち8回繰り返され、その間に、入力ポート0の8ビットに入力されるスイッチの検出信号について、順次、オン状態かオフ状態か否かのチェック処理が行われ、オン状態であれば、対応するスイッチタイマの値が1増やされる。
CPU56は、スイッチ処理のステップS75において、入力ポート1に入力されているデータを入力する。次いで、処理数として「4」を設定し(ステップS76)、賞球カウントスイッチ301Aのためのスイッチタイマのアドレスをポインタにセットする(ステップS77)。そして、スイッチチェック処理サブルーチンをコールする(ステップS78)。
スイッチチェック処理サブルーチンでは、上述した処理が実行されるので、ステップS82〜S92の処理が、処理数分すなわち4回繰り返され、その間に、入力ポート1の4ビットに入力されるスイッチの検出信号について、順次、オン状態かオフ状態か否かのチェック処理が行われ、オン状態であれば、対応するスイッチタイマの値が1増やされる。
なお、この実施の形態では、遊技制御処理が2ms毎に起動されるので、スイッチ処理も2msに1回実行される。従って、スイッチタイマは、2ms毎に+1される。
図20〜図22は、遊技制御処理におけるステップS31の賞球処理の一例を示すフローチャートである。この実施の形態では、賞球処理では、入賞口スイッチ19a,19b,24a,24b、カウントスイッチ23および始動口スイッチ17が確実にオンしたか否か判定されるとともに、オンしたら所定の払出制御コマンドが払出制御基板37に送出されるように制御し、また、満タンスイッチ48および球切れスイッチ187が確実にオンしたか否か判定されるとともに、オンしたら所定の払出制御コマンドが払出制御基板37に送出されるように制御する等の処理が行われる。
賞球処理において、CPU56は、入力判定値テーブルのオフセットとして「0」を設定し(ステップS121)、スイッチタイマのアドレスのオフセットとして「0」を設定する(ステップS122)。入力判定値テーブルのオフセット「0」は、入力判定値テーブルの最初のデータを使用することを意味する。また、各スイッチタイマは、図13に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「0」は入賞口スイッチ24aに対応したスイッチタイマが指定されることを意味する。また、繰り返し数として「4」をセットする(ステップS123)。そして、スイッチオンチェックルーチンがコールされる(ステップS124)。
入力判定値テーブルとは、各スイッチについて、連続何回のオンが検出されたら確かにスイッチがオンしたと判定するための判定値が設定されているROM領域である。入力判定値テーブルの構成例は図25に示されている。図25に示すように、入力判定値テーブルには、上から順に、すなわちアドレス値が小さい領域から順に、「2」、「50」、「250」、「30」、「250」、「1」の判定値が設定されている。また、スイッチオンチェックルーチンでは、入力判定値テーブルの先頭アドレスとオフセット値とで決まるアドレスに設定されている判定値と、スイッチタイマの先頭アドレスとオフセット値とで決まるスイッチタイマの値とが比較され、一致した場合には、例えばスイッチオンフラグがセットされる。
スイッチオンチェックルーチンの一例が図23に示されている。スイッチオンチェックルーチンにおいて、CPU56は、入力判定値テーブル(図25参照)の先頭アドレスを設定する(ステップS101)。そして、そのアドレスにオフセットを加算し(ステップS102)、加算後のアドレスからスイッチオン判定値をロードする(ステップS103)。
次いで、CPU56は、スイッチタイマの先頭アドレスを設定し(ステップS104)、そのアドレスにオフセットを加算し(ステップS105)、加算後のアドレスからスイッチタイマの値をロードする(ステップS106)。各スイッチタイマは、図13に示された入力ポートのビット順と同順に並んでいるので、スイッチに対応したスイッチタイマの値がロードされる。
そして、CPU56は、ロードしたスイッチタイマの値とスイッチオン判定値とを比較する(ステップS107)。それらが一致すれば、スイッチオンフラグをセットする(ステップ108)。
この場合には、スイッチオンチェックルーチンにおいて、入賞口スイッチ24aに対応するスイッチタイマの値がスイッチオン判定値「2」に一致していればスイッチオンフラグがセットされる(ステップS125)。スイッチオンフラグがセットされたら、10個カウンタが1加算される(ステップS126)。スイッチチェックオンルーチンは、スイッチタイマのアドレスのオフセットが更新されつつ(ステップS129)、最初に設定された繰り返し数分だけ実行されるので(ステップS127,S128)、結局、入賞口スイッチ19a,19b,24a,24bについて、対応するスイッチタイマの値がスイッチオン判定値「2」と比較されることになる。なお、10個カウンタとは、景品としての10個の遊技球払出の回数を示すカウンタである。
次に、CPU56は、入力判定値テーブルのオフセットとして「0」を設定し(ステップS130)、スイッチタイマのアドレスのオフセットとして「4」を設定する(ステップS131)。入力判定値テーブルのオフセット「0」は、入力判定値テーブルの最初のデータを使用することを意味する。また、各スイッチタイマは、図13に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「4」は始動口スイッチ17に対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェックルーチンがコールされる(ステップS132)。
スイッチオンチェックルーチンにおいて、始動口スイッチ17に対応するスイッチタイマの値がスイッチオン判定値「2」に一致していればスイッチオンフラグがセットされるので(ステップS133)、6個カウンタが1加算される(ステップS134)。なお、6個カウンタとは、景品としての6個の遊技球払出の回数を示すカウンタである。
次いで、CPU56は、入力判定値テーブルのオフセットとして「0」を設定し(ステップS135)、スイッチタイマのアドレスのオフセットとして「5」を設定する(ステップS136)。入力判定値テーブルのオフセット「0」は、入力判定値テーブルの最初のデータを使用することを意味する。また、各スイッチタイマは、図13に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「5」はカウントスイッチ23に対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェックルーチンがコールされる(ステップS137)。
スイッチオンチェックルーチンにおいて、カウントスイッチ23に対応するスイッチタイマの値がスイッチオン判定値「2」に一致していればスイッチオンフラグがセットされるので(ステップS138)、15個カウンタが1加算される(ステップS134)。なお、15個カウンタとは、景品としての15個の遊技球払出の回数を示すカウンタである。
さらに、CPU56は、入力判定値テーブルのオフセットとして「1」を設定し(ステップS150)、スイッチタイマのアドレスのオフセットとして「9」を設定する(ステップS151)。入力判定値テーブルのオフセット「1」は、入力判定値テーブルの2番目のデータ「50」を使用することを意味する。また、各スイッチタイマは、図13に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「9」は満タンスイッチ48に対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェックルーチンがコールされる(ステップS152)。
スイッチオンチェックルーチンにおいて、満タンスイッチ48に対応するスイッチタイマの値が満タンスイッチオン判定値「50」に一致していればスイッチオンフラグがセットされるので(ステップS153)、満タンフラグがセットされる(ステップS154)。なお、図21には明示されていないが、満タンスイッチ48に対応したスイッチタイマの値が0になると、満タンフラグはリセットされる。
また、CPU56は、入力判定値テーブルのオフセットとして「2」を設定し(ステップS156)、スイッチタイマのアドレスのオフセットとして「0A(H)」を設定する(ステップS157)。入力判定値テーブルのオフセット「2」は、入力判定値テーブルの3番目のデータ「250」を使用することを意味する。また、各スイッチタイマは、図13に示された入力ポートのビット順と同順に並んでいるので、スイッチタイマのアドレスのオフセット「0A(H)」は球切れスイッチ187に対応したスイッチタイマが指定されることを意味する。そして、スイッチオンチェックルーチンがコールされる(ステップS158)。
スイッチオンチェックルーチンにおいて、球切れスイッチ187に対応するスイッチタイマの値が球切れスイッチオン判定値「250」に一致していればスイッチオンフラグがセットされるので(ステップS159)、球切れフラグがセットされる(ステップS160)。なお、図21には明示されていないが、球切れスイッチ187に対応したスイッチオフタイマが用意され、その値が50になると、球切れフラグはリセットされる。
そして、CPU56は、払出停止状態であるか否か確認する(ステップS201)。払出停止状態は、払出制御基板37に対して払出停止状態指定のコマンドを送出した後の状態である。払出停止状態でなければ、上述した球切れ状態フラグまたは満タンフラグがオンになったか否かを確認する(ステップS202)。
いずれかがオン状態に変化したときには、払出停止状態指定に関するコマンド送信制御処理を行う(ステップS203)。コマンド送信制御処理では、払出制御コマンド用のコマンド送信テーブルに所定のデータが設定された後、払出制御コマンドの送出処理が実行される。なお、ステップS202において、いずれか一方のフラグが既にオン状態であったときに他方のフラグがオン状態になったときには、コマンド送信制御処理(ステップS203)は行われない。
また、払出停止状態であれば、球切れ状態フラグおよび満タンフラグがともにオフ状態になったか否かを確認する(ステップS204)。ともにオフ状態となったときには、払出停止解除指定に関するコマンド送信制御処理を行う(ステップS205)。
次いで、CPU56は、入賞に応じた賞球個数に関する払出制御コマンドをコマンド送信テーブルに設定し、設定内容に応じた払出制御コマンドを送出する制御を行う。まず、15個カウンタの値をチェックする(ステップS221)。上述したように、15個カウンタは、遊技球が大入賞口に入賞してカウントスイッチ23がオンするとカウントアップされる。15個カウンタの値が0でない場合には、15個の賞球個数指示に関するコマンド送信制御処理を行う(ステップS222)。コマンド送信制御処理では、払出制御コマンド用のコマンド送信テーブルに所定のデータが設定された後、払出制御コマンドの送出処理が実行される。また、15個カウンタの値を−1する(ステップS223)。さらに、総賞球数格納バッファの格納値に15を加算する(ステップS224)。
総賞球数格納バッファは、払出制御手段に対して指示した賞球個数の累積値(ただし、払い出しがなされると減算される)が格納されるバッファであり、バックアップRAMに形成されている。
15個カウンタの値が0であれば、10個カウンタの値をチェックする(ステップS225)。上述したように、10個カウンタは、遊技球が入賞口に入賞して入賞口スイッチ19a,19b,24a,24bがオンするとカウントアップされる。10個カウンタの値が0でない場合には、10個の賞球個数指示に関するコマンド送信制御処理を行う(ステップS226)。また、10個カウンタの値を−1する(ステップS227)。さらに、総賞球数格納バッファの格納値に10を加算する(ステップS228)。
10個カウンタの値が0であれば、6個カウンタの値をチェックする(ステップS231)。上述したように、6個カウンタは、遊技球が始動入賞口に入賞して始動口スイッチ17がオンするとカウントアップされる。6個カウンタの値が0でない場合には、6個の賞球個数指示に関するコマンド送信制御処理を行う(ステップS232)。また、6個カウンタの値を−1する(ステップS233)。さらに、総賞球数格納バッファの格納値に6を加算する(ステップS234)。
以上にようにして、遊技制御手段から払出制御基板37に賞球個数を指示する払出制御コマンドを出力しようとするときに、コマンド送信テーブルの設定が行われた後、コマンド送信テーブルに設定された払出制御コマンドが払出制御基板37に送出される。そして、賞球個数を指示する払出制御コマンドの送出が行われたときには、賞球払出中フラグをオンする(ステップS235)。また、賞球払出中フラグをオンしているときには(ステップS236)、球払出装置97から実際に払い出された賞球数を監視して総賞球数格納バッファの格納値を減算する賞球個数減算処理が行われる(ステップS237)。なお、賞球払出中フラグがオンからオフに変化したときには、ランプ制御基板35に対して、賞球ランプ51の点灯を指示するランプ制御コマンドが送出される。
図24は、賞球個数減算処理の一例を示すフローチャートである。賞球個数減算処理において、CPU56は、まず、総賞球数格納バッファの格納値をロードする(ステップS241)。そして、格納値が0であるか否か確認する(ステップS242)。0であれば処理を終了する。
0でなければ、賞球カウントスイッチ用のスイッチタイマをロードし(ステップS243)、ロード値とオン判定値(この場合は「2」)とを比較する(ステップS244)。一致したら(ステップS245)、賞球カウントスイッチ301Aが確かにオンしたとして、すなわち、確かに1個の遊技球が球払出装置97から払い出されたとして、総賞球数格納バッファの格納値を1減算する(ステップS246)。
また、賞球情報カウンタの値を+1する(ステップS247)。そして、賞球情報カウンタの値が10以上であれば(ステップS248)、賞球情報出力カウンタの値を+1するとともに(ステップS249)、賞球情報カウンタの値を−10する(ステップS250)。なお、賞球情報出力カウンタの値は、図14に示されたメイン処理における情報出力処理(ステップS29)で参照され、その値が1以上であれば、賞球信号(出力ポート5のビット7:図12参照)として1パルスが出力される。よって、この実施の形態では、10個の遊技球が賞球として払い出される度に、1つの賞球信号が遊技機外部に出力される。
そして、総賞球数格納バッファの格納値が0になったら(ステップS251)、賞球払出中フラグをクリアし(ステップS252)、賞球残数がないことを報知するために、ランプ制御コマンド用のコマンド送信テーブルに賞球ランプ51の消灯を示すコマンドデータを設定した後(ステップS253)、ランプ制御コマンドの送出処理を実行する(ステップS254)。
次に、遊技制御手段から各電気部品制御手段に対する制御コマンドの送出方式について説明しておく。図26は、主基板31から他の電気部品制御基板に送出される制御コマンドのコマンド形態の一例を示す説明図である。この実施の形態では、制御コマンドは2バイト構成であり、1バイト目はMODE(コマンドの分類)を表し、2バイト目はEXT(コマンドの種類)を表す。MODEデータの先頭ビット(ビット7)は必ず「1」とされ、EXTデータの先頭ビット(ビット7)は必ず「0」とされる。なお、図26に示されたコマンド形態は一例であって他のコマンド形態を用いてもよい。
図27は、遊技制御基板から他の各電気部品制御基板に対する制御コマンドを構成する8ビットの制御信号とINT信号(ストローブ信号)との関係を示すタイミング図である。図27に示すように、MODEまたはEXTのデータが出力ポートに出力されてから、所定期間が経過すると、CPU56は、データ出力を示す信号であるINT信号をオン状態にする。また、そこから所定期間が経過するとINT信号をオフ状態にする。
遊技制御手段から払出制御基板等の各電気部品制御基板に制御コマンドを出力しようとするときに、コマンド送信テーブルの設定が行われる。図28(A)は、コマンド送信テーブルの一構成例を示す説明図である。1つのコマンド送信テーブルは3バイトで構成され、1バイト目にはINTデータが設定される。また、2バイト目のコマンドデータ1には、制御コマンドの1バイト目のMODEデータが設定される。そして、3バイト目のコマンドデータ2には、制御コマンドの2バイト目のEXTデータが設定される。
なお、EXTデータそのものがコマンドデータ2の領域に設定されてもよいが、コマンドデータ2には、EXTデータが格納されているテーブルのアドレスを指定するためのデータが設定されるようにしてもよい。この実施の形態では、コマンドデータ2のビット7(ワークエリア参照ビット)が0あれば、コマンドデータ2にEXTデータそのものが設定されていることを示す。そのようなEXTデータはビット7が0であるデータである。ワークエリア参照ビットが1あれば、他の7ビットが、EXTデータが格納されているテーブルのアドレスを指定するためのオフセットであることを示す。また、この実施の形態では各制御コマンド毎にコマンド送信テーブルが用意されている。
図28(B)INTデータの一構成例を示す説明図である。INTデータにおけるビット0は、払出制御基板37に払出制御コマンドを送出すべきか否かを示す。ビット0が「1」であるならば、払出制御コマンドを送出すべきことを示す。従って、CPU56は、例えば賞球処理において、払出制御コマンドを送出するときには、払出制御コマンド用のコマンド送信テーブルのINTデータに「01(H)」を設定する。
INTデータのビット1,2,3は、それぞれ、表示制御コマンド、ランプ制御コマンド、音声制御コマンドを送出すべきか否かを示すビットであり、CPU56は、それらのコマンドを送出すべき場合には、ポインタが指しているコマンド送信テーブルに、INTデータ、コマンドデータ1およびコマンドデータ2を設定する。それらのコマンドを送出するときには、INTデータの該当ビットが「1」に設定され、コマンドデータ1およびコマンドデータ2にMODEデータおよびEXTデータが設定される。
各電気部品制御基板への制御コマンドを、対応する出力ポート(出力ポート1〜4)に出力する際に、出力ポート0のビット0〜3のうちのいずれかのビットが所定期間オン状態になるのであるが、INTデータにおけるビット配列と出力ポート0におけるビット配列とは対応している。従って、各電気部品制御基板に御コマンドを送出する際に、コマンド送信テーブルに設定されているINTデータにもとづいて、容易にINT信号の出力を行うことができる。
図29〜図31は、電源基板910からの電源断信号に応じて実行されるマスク不能割込処理(電力供給停止時処理)の処理例を示すフローチャートである。
電力供給停止時処理において、CPU56は、AFレジスタ(アキュミュレータとフラグのレジスタ)を所定のバックアップRAM領域に退避する(ステップS451)。また、割込フラグをパリティフラグにコピーする(ステップS452)。パリティフラグはバックアップRAM領域に形成されている。また、BCレジスタ、DEレジスタ、HLレジスタ、IXレジスタおよびスタックポインタをバックアップRAM領域に退避する(ステップS454〜S458)。なお、電源復旧時には、退避された内容にもとづいてレジスタ内容が復元され、パリティフラグの内容に応じて、割込許可状態/禁止状態の内部設定がなされる。
次いで、この実施の形態では、所定期間、賞球カウントスイッチ301Aの検出信号をチェックする。そして、賞球カウントスイッチ301Aがオンしたら総賞球数バッファの内容を1減らす。
なお、この実施の形態では、所定期間を計測するために、所定期間計測用カウンタが用いられる。所定期間計測用カウンタの値は、初期値mから、以下に説明するスイッチ検出処理のループ(S461から始まってS461に戻るループ)が1回実行される毎に−1され、その値が0になると、所定期間が終了したとする。検出処理のループでは、例外はあるがほぼ一定の処理が行われるので、ループの1周に要する時間のm倍の時間が、ほぼ所定期間に相当する。
所定期間を計測するために、CPU56の内蔵タイマを用いてもよい。すなわち、スイッチ検出処理開始時に、内蔵タイマに所定値(所定期間に相当)を設定しておく。そして、スイッチ検出処理のループが1回実行される毎に、内蔵タイマのカウント値をチェックする。そして、カウント値が0になったら、所定期間が終了したとする。内蔵タイマの値が0になったことを検出するために内蔵タイマによる割込を用いることもできるが、この段階では制御内容(RAMに格納されている各値など)を変化させないように、割込を用いず、内蔵タイマのカウント値を読み出してチェックするようなプログラム構成の方が好ましい。
また、所定期間は、遊技球が、球払出装置97から落下した時点から、賞球カウントスイッチ301Aに到達するまでの時間以上に設定される。球払出装置97から賞球カウントスイッチ301Aまでの距離をLとすると、その間の落下時間tは、t=√(2L/g)(g:重力加速度)になるので、所定期間は、それ以上に設定される。
少なくとも、スイッチ検出処理が実行される所定期間では、賞球カウントスイッチ301Aが遊技球を検出できる状態でなければならない。そこで、この実施の形態では、図8に示されたように、電源基板910におけるコンバータIC922の入力側に比較的大容量の補助駆動電源としてのコンデンサ923が接続されている。よって、遊技機に対する電力供給停止時にも、ある程度の期間は+12V電源電圧がスイッチ駆動可能な範囲に維持され、賞球カウントスイッチ301Aが動作可能になる。その期間が、上記の所定期間以上になるように、コンデンサの容量が決定される。
なお、入力ポートおよびCPU56も、コンバータIC922で作成される+5V電源で駆動されるので、電力供給停止時にも、比較的長い期間動作可能になっている。
ステップS461において、2ms計測用カウンタに2msの時間に相当する初期値nが設定される。そして、2ms計測用カウンタの値が0になるまで(ステップS462)、2ms計測用カウンタの値が−1される(ステップS463)。
2ms計測用カウンタの値が0になると、賞球カウントスイッチ301Aの検出信号の入力チェックが行われる。すなわち、図18および図19に示されたスイッチ処理およびスイッチチェック処理に類似した処理が行われる。具体的には、入力ポート1に入力されているデータを入力する(ステップS464)。次いで、クリアデータ(00)をセットする(ステップS465)。また、ポート入力データ、この場合には入力ポート1からの入力データを「比較値」として設定する(ステップS466)。さらに、賞球カウントスイッチ301Aのためのスイッチタイマのアドレスをポインタにセットする(ステップS467)。
そして、ポインタ(スイッチタイマのアドレスが設定されている)が指すスイッチタイマをロードするとともに(ステップS468)、比較値を右(上位ビットから下位ビットへの方向)にシフトする(ステップS469)。比較値には入力ポート1のデータ設定されている。そして、この場合には、賞球カウントスイッチ301Aの検出信号がキャリーフラグに押し出される。
キャリーフラグの値が「1」であれば(ステップS470)、すなわち賞球カウントスイッチ301Aの検出信号がオン状態であれば、スイッチタイマの値を1加算する(ステップS471)。キャリーフラグの値が「0」であれば、すなわち賞球カウントスイッチ301Aの検出信号がオフ状態であれば、スイッチタイマにクリアデータをセットする(ステップS472)。すなわち、スイッチがオフ状態であれば、スイッチタイマの値が0に戻る。
そして、スイッチタイマの値が2になったときに(ステップS473)、総賞球数格納バッファの格納値を1減算するとともに(ステップS474)、賞球情報カウンタの値を+1する(ステップS475)。そして、賞球情報カウンタの値が10以上であれば(ステップS476)、賞球情報出力カウンタの値を+1するとともに(ステップS477)、賞球情報カウンタの値を−10する(ステップS478)。
次いで、所定期間計測用カウンタの値を−1し(ステップS479)、その値が0になっていなければステップS461に戻る。
以上の処理によって、所定期間内に賞球カウントスイッチ301Aがオンしたら、総賞球数格納バッファの値が−1される。バックアップRAMの内容を保存するための処理は、このようなスイッチ検出処理の後で行われるので、払出が完了した賞球について、必ず総賞球数格納バッファが−1される。従って、遊技球の払出に関して、保存される制御状態に矛盾が生じてしまうことが防止される。また、上記のスイッチ検出処理では、検出期間用カウンタを用いたタイマ処理が施されている。すなわち、2ms毎に賞球カウントスイッチ301Aの検出出力のチェックが行われ、2回連続してオン検出した場合に、賞球カウントスイッチ301Aが確実にオンしたと見なされる。従って、誤ってスイッチオン検出がなされてしまうことは防止される。また、スイッチ検出処理において、遊技機外部への賞球情報出力のための賞球情報出力回数カウンタの演算も行われるので、外部に出力される賞球情報と実際の払出賞球数とが食い違ってしまうようなこともない。
なお、この実施の形態では、賞球カウントスイッチ301Aのみのスイッチ検出処理が行われたが、始動入賞口のスイッチや大入賞口に関連するV入賞スイッチ22やカウントスイッチについても同様のスイッチ検出処理を行ってもよい。また、他の入賞についても同様のスイッチ検出処理を行ってもよい。そのようなオンチェックも行う場合には、入賞口に遊技球が入賞した直後に停電が発生したような場合でも、その入賞が確実に検出され、保存される遊技状態に反映される。
所定期間が経過すると(ステップS480)、すなわち、所定期間計測用カウンタの値が0になると、バックアップあり指定値(この例では「55H」)をバックアップフラグにストアする(ステップS481)。バックアップフラグはバックアップRAM領域に形成されている。次いで、パリティデータを作成する(ステップS482〜S491)。すなわち、まず、クリアデータ(00)をチェックサムデータエリアにセットし(ステップS482)、チェックサム算出開始アドレスをポインタにセットする(ステップS483)。また、チェックサム算出回数をセットする(ステップS484)。
そして、チェックサムデータエリアの内容とポインタが指すRAM領域の内容との排他的論理和を演算する(ステップS485)。演算結果をチェックサムデータエリアにストアするとともに(ステップS486)、ポインタの値を1増やし(ステップS487)、チェックサム算出回数の値を1減算する(ステップS488)。ステップS485〜S488の処理が、チェックサム算出回数の値が0になるまで繰り返される(ステップS489)。
チェックサム算出回数の値が0になったら、CPU56は、チェックサムデータエリアの内容の各ビットの値を反転する(ステップS490)。そして、反転後のデータをチェックサムデータエリアにストアする(ステップS491)。このデータが、電源投入時にチェックされるパリティデータとなる。次いで、RAMアクセスレジスタにアクセス禁止値を設定する(ステップS492)。以後、内蔵RAM55のアクセスができなくなる。
さらに、CPU56は、クリアデータ(00)を適当なレジスタにセットし(ステップS493)、処理数(この例では「7」)を別のレジスタにセットする(ステップS494)。また、出力ポート0のアドレスをIOポインタに設定する(ステップS495)。IOポインタとして、さらに別のレジスタが用いられる。
そして、IOポインタが指すアドレスにクリアデータをセットするとともに(ステップS496)、IOポインタの値を1増やし(ステップS497)、処理数の値を1減算する(ステップS498)。ステップS496〜S498の処理が、処理数の値が0になるまで繰り返される。その結果、全ての出力ポート0〜6(図11および図12参照)にクリアデータが設定される。図11および図12に示すように、この例では、「1」がオン状態であり、クリアデータである「00」が各出力ポートにセットされるので、全ての出力ポートがオフ状態になる。
従って、遊技状態を保存するための処理(この例では、チェックサムの生成およびRAMアクセス防止)が実行された後、各出力ポートは直ちにオフ状態になる。なお、この実施の形態では、遊技制御処理において用いられるデータが格納されるRAM領域は全て電源バックアップされている。従って、その内容が正しく保存されているか否かを示すチェックサムの生成処理、およびその内容を書き換えないようにするためのRAMアクセス防止処理が、遊技状態を保存するための処理に相当する。
遊技状態を保存するための処理が実行された後、直ちに各出力ポートがオフ状態になるので、保存される遊技状態と整合しない状況が発生することは確実に防止される。図29〜図31に示す処理が実行されるときには、遊技機に対する電源供給が停止するので、電気部品に印加される電圧が低下していく。そして、印加電圧が駆動可能電圧を下回った時点で電気部品の駆動は停止する。従って、遊技機に対する電力供給停止時には、短時間の遅れはあるものの電気部品の駆動は停止する。
ところが、この実施の形態のような出力ポートに対するクリア処理を行わないと、遊技状態が保存された後、電力供給が停止するのを遊技制御手段が待っている間に可変入賞球装置15にさらに入賞してしまうこともある。そのような場合、電力供給再開時には保存されている遊技状態が復帰されるので保存時の始動入賞記憶数が始動記憶表示器18に表示される。すると、遊技者から見ると、始動入賞の保留記憶値が少なくなってしまっているように見え、トラブルが発生しかねない。しかし、この実施の形態では、そのようなトラブルが生ずる可能がなくなる。
また、遊技状態が保存された後に、可変入賞球装置としての大入賞口への入賞が発生する場合もあり得る。そのような場合、遊技者が認識している入賞個数と、電力供給復帰時に、保存されていた遊技状態にもとづいて表示部に表示される入賞個数とが食い違ってトラブルが生ずる可能性もある。しかし、この実施の形態では、そのようなトラブルが生ずる可能がなくなる。
出力ポートに対するクリア処理が完了すると、CPU56は、待機状態(ループ状態)に入る。従って、システムリセットされるまで、何もしない状態になる。
なお、この実施の形態では、NMIに応じて電力供給停止時処理が実行されたが、電源断信号をCPU56のマスク可能端子に接続し、マスク可能割込処理によって電力供給停止時処理を実行してもよい。また、電源断信号を入力ポートに入力し、入力ポートのチェック結果に応じて電力供給停止時処理を実行してもよい。
また、この実施の形態では、電源断信号に応じて起動される処理の最初にレジスタの保存処理が行われたが、スイッチ検出処理においてレジスタを使用しない場合には、スイッチ検出処理の実行後に、すなわち、バックアップフラグの設定とチェックサムの算出の処理の前にレジスタ保存処理を行うことができる。その場合には、レジスタ保存処理、バックアップフラグ設定処理、チェックサム算出処理および出力ポートのオフ設定処理を電力供給停止時処理と見なすことができる。さらに、スイッチ検出処理において幾つかのレジスタを使用する場合であっても、使用しないレジスタについては、バックアップフラグの設定とチェックサムの算出の処理の前にレジスタ保存処理を行うことができる。
なお、出力ポートのクリア処理を、スイッチ検出処理の実行前(ステップS460の前)に行ってもよい。電力供給停止時処理の実行中では、CPU56やスイッチ類はコンデンサの充電電力等で駆動されることになる。出力ポートのクリア処理をスイッチ検出処理の実行前に行った場合には、大入賞口や可変入賞装置等がソレノイド等の電気部品で駆動されるように構成されていても、それらが駆動されることはなく、コンデンサの充電電力等を電力供給停止時処理のために効果的に使用することができる。
ただし、電源が断することが検出された後にV入賞スイッチ22を検出する場合には、ソレノイド21(大入賞口をV入賞スイッチに誘導するための部材を動作させるもの)の出力ポートについては、スイッチ検出処理の実行後にクリアする。そのようにすれば、継続権発生の条件であるV入賞をしていない状態で停電が発生した場合、停電発生直前に大入賞口に入った遊技球をV入賞スイッチ22の側に誘導することができる。従って、不当な継続権の消滅を防止することができる。この場合、所定期間は、大入賞口に入賞した遊技球がV入賞スイッチ22に到達するまでの時間以上の期間である。なお、ラッチ式のソレノイドを用いた場合には、出力ポートのクリア処理は不要である。
また、出力ポートのクリアによって大入賞口が閉じた場合でも、大入賞口内に遊技球があることも考えられるので、電源断信号に応じて実行されるスイッチ検出処理において、カウントスイッチ23の検出も行うことが望ましい。上記の出力ポートのクリア処理をスイッチ検出処理前に行ってもよいこと、および、上記の例外的な処理については、第1種パチンコ遊技機においてのみならず、第2種パチンコ遊技機や第3種パチンコ遊技機についても同様である。
図32は、本発明の他の実施の形態における遊技制御手段のマスク不能割込処理(電力供給停止時処理)の一部を示すフローチャートである。図32に示すフローチャートは、図29〜図31に示されたステップS451〜S492の処理に続いて実行される。すなわち、この実施の形態では、RAMアクセス禁止状態に設定された後(ステップS492)、クリアデータテーブルの先頭アドレスがポインタにセットされ(ステップS501)、次いで、データクリア処理が実行された後に(ステップS502)、システムリセットを待つ待機状態に入る。なお、ポインタとして所定のレジスタが用いられる。
図33は、クリアデータテーブルの一構成例を示す説明図である。図33に示す例では、クリアデータテーブルには、順に、処理数データ(この例では「7」)、出力ポート0のアドレス、出力ポート0に設定されるべきクリアデータ、・・・、出力ポート6のアドレス、出力ポート6に設定されるべきクリアデータが設定されている。出力ポートのアドレスとクリアデータとは、出力ポートのアドレスが小さいものから順に設定されている。
図34は、ステップS502のデータクリア処理を示すフローチャートである。データクリア処理において、CPU56は、ポインタの指すアドレスから処理数データを抽出する(ステップS511)。そして、ポインタの値を1増やす(ステップS512)。次いで、ポインタの指すアドレスからアドレスデータ(出力ポートのアドレス)を抽出する(ステップS513)。さらに、ポインタの値を1増やす(ステップS514)。
そして、ポインタの指すアドレスからクリアデータを抽出し(ステップS515)、そのデータを、ステップS83で抽出したアドレスに設定する(ステップS516)。次に、処理数の値を1減算し(ステップS517)、処理数が0になったらデータクリア処理を終了する(ステップS518)。処理数が0でない場合には、ステップS511に戻る。
クリアデータテーブルを用いるようにしても、クリア信号出力処理を迅速に行うことができ、遊技機への電力供給停止時に保存した制御状態と実際の制御状態との間の矛盾発生をより効果的に防止できる。そして、クリアデータテーブルを用いる場合には、テーブルにおいて、アドレスデータとクリアデータとをアドレス順に並べなくてもよく、テーブル構成の自由度が増す。例えば、試験信号などを用いる遊技機において試験信号をクリアしないようにしたい場合に、試験信号に関する出力ポートに関するデータをテーブルから除外することによって、容易に試験信号のクリア処理を除外することができる。また、出力ポートの増減や変更があったような場合に、テーブルの内容を変更するだけでよく、プログラム変更の必要はない。
図35は、払出検出手段からの検出信号の入力処理が実行される様子の一例を示すタイミング図である。この実施の形態では、電源断信号は、主基板31および払出制御基板37に入力され、主基板31のCPU56および払出制御用CPU371のNMI端子に入力される。主基板31のCPU56は、マスク不能割込処理によって、上述した電力供給停止時処理を実行する。
図35に示すように、電源断信号がオン(この例ではハイレベルからローレベルに変化)するあたりで賞球払出が実行された場合、払出検出手段からの検出信号の入力処理が実行される所定期間内で賞球カウントスイッチ301Aがオンする。従って、電源断信号がオンするあたりで実行された球払出についても、電力供給停止時処理が実行される際に、総賞球数バッファに反映することができる。
VSLの電圧値がさらに低下して所定値(この例では+9V)にまで低下すると、図9に示されたように主基板31搭載されているリセットIC651の出力がローレベルになり、CPU56がシステムリセット状態になる。なお、CPU56は、システムリセット状態とされる前に、電力供給停止時処理を完了している。
VSLの電圧値がさらに低下してVcc(各種回路を駆動するための+5V)を生成することが可能な電圧を下回ると、各基板において各回路が動作できない状態となる。しかし、主基板31では、電力供給停止時処理が実行され、CPU56がシステムリセット状態とされている。
なお、後述するように、払出制御基板37における払出制御用CPU371も、同様に電力供給停止時処理を行った後にシステムリセット状態になる。
上記の実施の形態のパチンコ遊技機1は、始動入賞にもとづいて可変表示部9に可変表示される特別図柄の停止図柄が所定の図柄の組み合わせになると所定の遊技価値が遊技者に付与可能になる第1種パチンコ遊技機であったが、始動入賞にもとづいて可変表示される図柄の停止図柄が所定の図柄の組み合わせになると開放する所定の電動役物への入賞があると所定の権利が発生または継続する第3種パチンコ遊技機であっても、本発明を適用できる。
図36は、第3種パチンコ遊技機の遊技領域7の一例を示す説明図である。この例では、始動入賞口30Aに入賞があると可変表示部9において、図柄の可変表示が開始される。そして、図柄の停止図柄が所定の図柄の組み合わせになると、権利発生用電動役物30Bが所定期間開放して入賞しやすい状態になる。その状態で、権利発生用電動役物30Bへの入賞により権利が発生すると、モータ等で駆動されるロータ30Cに入った遊技球が大入賞口30Dの始動口スイッチに導かれ、その始動口スイッチで検出されると大入賞口30Dが開放される。なお、始動入賞口30A、権利発生用電動役物30B、ロータ30Cおよび大入賞口30Dに入賞した遊技球を検出するそれぞれのスイッチが設けられている。
このような第3種パチンコ遊技機において、停電等の発生に応じて制御状態を保存するように構成した場合にも、例えば電源断信号に応じて起動される処理で、まず、出力ポートのクリア処理でロータ30Cを駆動するモータ等を停止する。そして、ロータ30Cによって始動口スイッチ(ロータ30Cに入った遊技球を検出するスイッチ)に導かれた遊技球は、電源が断することが検出された後でも所定期間スイッチ検出処理が実行されるので、始動口スイッチで検出可能である。従って、電源が復旧したときに、大入賞口30Dの作動条件が成立することが保証される。この場合、所定期間は、ロータ30Cの遊技球を保持する部位から始動口スイッチまで遊技球が移動するまでの時間以上の期間である。また、権利発生用電動役物30Bに設けられているスイッチについても、電源が断することが検出された後でも所定期間検出処理が実行されることによって、不当な権利消滅を防止することができる。
なお、電源断信号の発生に応じて起動される処理におけるスイッチ検出処理において全てのスイッチの検出を行う場合には、図18に示されたスイッチ処理を、所定期間中に呼び出すようにしてもよい。そして、そのように構成した場合には、スイッチタイマ値がオン判定値に達した場合の処理も行う。例えば、入賞球スイッチのスイッチタイマ値がオン判定値に達したら賞球個数を設定するための処理を行ったり(15個カウンタのインクリメント等)、V入賞スイッチ22のスイッチタイマ値がオン判定値に達したらV入賞があった旨のフラグを設定する等の処理を行う。
以下、遊技状態復旧処理について説明する。
図37は、図14のステップS9に示された遊技状態復旧処理の一例を示すフローチャートである。この例では、CPU56は、バックアップRAMに保存されていた値を各レジスタに復元する(ステップS91)。そして、バックアップRAMに保存されていたデータにもとづいて停電時の遊技状態を確認して復帰させる。すなわち、バックアップRAMに保存されていたデータにもとづいて、ソレノイド回路59を介してソレノイド16やソレノイド21を駆動し、始動入賞口14や開閉板20の開閉状態の復旧を行う(ステップS92,S93)。また、電源断中でも保存されていた特別図柄プロセスフラグおよび普通図柄プロセスフラグの値に応じて、電源断時の特別図柄プロセス処理の進行状況および普通図柄プロセス処理の進行状況に対応した制御コマンドを、図柄制御基板80、ランプ制御基板35および音声制御基板70に送出する(ステップS94)。
以上のように、遊技状態復旧処理では、復元された内部状態に応じて、各種電気部品の状態復元が行われるとともに、図柄制御基板80、ランプ制御基板35および音声制御基板70に対して、制御状態を電源断時の状態に戻すための制御コマンド(電源断時の制御状態を生じさせるための制御コマンド)が送出される。そのような制御コマンドは、一般に、電源断前に最後に送出された1つまたは複数の制御コマンドである。
遊技状態を電源断時の状態に復帰させると、この実施の形態では、CPU56は、前回の電源断時の割込許可/禁止状態を復帰させるため、バックアップRAMに保存されていたパリティフラグの値を確認する(ステップS95)。パリティフラグがオフ状態であれば、割込許可設定を行う(ステップS96)。しかし、パリティフラグがオン状態であれば、そのまま(ステップS1で設定された割込禁止状態のまま)遊技状態復旧処理を終了する。パリティフラグがオン状態であるということは、図29におけるステップS452に示されたように、前回の電源断時に割込禁止状態であったことを意味する。従って、パリティフラグがオン状態である場合には、割込許可はなされない。
次に、遊技制御手段以外の電気部品制御手段においてデータ保存処理および復旧処理が行われる場合の例として、払出制御手段においてデータ保存や復旧が行われる場合について説明する。
図38は、払出制御用CPU371周りの一構成例を示すブロック図である。図38に示すように、電源基板910の電源監視回路(電源監視手段)からの電源断信号が、バッファ回路960を介して払出制御用CPU371のマスク不能割込端子(XNMI端子)に接続されている。従って、払出制御用CPU371は、マスク不能割込処理によって電源断の発生を確認することができる。
払出制御用CPU371のCLK/TRG2端子には、主基板31からのINT信号が接続されている。CLK/TRG2端子にクロック信号が入力されると、払出制御用CPU371に内蔵されているタイマカウンタレジスタCLK/TRG2の値がダウンカウントされる。そして、レジスタ値が0になると割込が発生する。従って、タイマカウンタレジスタCLK/TRG2の初期値を「1」に設定しておけば、INT信号の入力に応じて割込が発生することになる。
払出制御基板37には、システムリセット回路975も搭載されているが、この実施の形態では、システムリセット回路975におけるリセットIC976は、電源投入時に、外付けのコンデンサに容量で決まる所定時間だけ出力をローレベルとし、所定時間が経過すると出力をハイレベルにする。また、リセットIC976は、VSLの電源電圧を監視して電圧値が所定値(例えば+9V)以下になると出力をローレベルにする。従って、電源断時には、リセットIC976からの信号がローレベルになることによって払出制御用CPU371がシステムリセットされる。
リセットIC976が電源断を検知するための所定値は、通常時の電圧より低いが、払出制御用CPU371が暫くの間動作しうる程度の電圧である。また、リセットIC976が、払出制御用CPU371が必要とする電圧(この例では+5V)よりも高い電圧を監視するように構成されているので、払出制御用CPU371が必要とする電圧に対して監視範囲を広げることができる。従って、より精密な監視を行うことができる。
+5V電源から電力が供給されていない間、払出制御用CPU371の内蔵RAMの少なくとも一部は、電源基板から供給されるバックアップ電源がバックアップ端子に接続されることによってバックアップされ、遊技機に対する電源が断しても内容は保存される。そして、+5V電源が復旧すると、システムリセット回路975からリセット信号が発せられるので、払出制御用CPU371は、通常の動作状態に復帰する。そのとき、必要なデータがバックアップされているので、停電等からの復旧時には停電発生時の払出制御状態に復帰することができる。
なお、図38に示された構成では、システムリセット回路975は、電源投入時に、コンデンサの容量で決まる期間のローレベルを出力し、その後ハイレベルを出力する。すなわち、リセット解除タイミングは1回だけである。しかし、図9に示された主基板31の場合と同様に、複数回のリセット解除タイミングが発生するような回路構成を用いてもよい。
図39は、この実施の形態における出力ポートの割り当てを示す説明図である。図39に示すように、出力ポートC(アドレス00H)は、払出モータ289に出力される駆動信号の出力ポートである。また、出力ポートD(アドレス01H)は、7セグメントLEDであるエラー表示LED374に出力される表示制御信号の出力ポートである。そして、出力ポートE(アドレス02H)は、振分ソレノイド310に出力される駆動信号、およびカードユニット50に対するEXS信号とPRDY信号とを出力するための出力ポートである。
図40は、この実施の形態における入力ポートのビット割り当てを示す説明図である。図40に示すように、入力ポートA(アドレス06H)は、主基板31から送出された払出制御コマンドの8ビットの払出制御信号を取り込むための入力ポートである。また、入力ポートB(アドレス07H)のビット0〜2には、それぞれ、賞球カウントスイッチ301A、球貸しカウントスイッチ301B、モータ位置センサの検出信号入力される。ビット3〜5には、カードユニット50からのBRDY信号、BRQ信号およびVL信号が入力される。
図41は、払出制御用CPU371のメイン処理を示すフローチャートである。メイン処理では、払出制御用CPU371は、まず、必要な初期設定を行う。すなわち、払出制御用CPU371は、まず、割込禁止に設定する(ステップS701)。次に、割込モードを割込モード2に設定し(ステップS702)、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS703)。また、払出制御用CPU371は、内蔵デバイスレジスタの初期化を行い(ステップS704)、CTCおよびPIOの初期化(ステップS705)を行った後に、RAMをアクセス可能状態に設定する(ステップS706)。
この実施の形態では、内蔵CTCのうちの一つのチャネルがタイマモードで使用される。従って、ステップS704の内蔵デバイスレジスタの設定処理およびステップS705の処理において、使用するチャネルをタイマモードに設定するためのレジスタ設定、割込発生を許可するためのレジスタ設定および割込ベクタを設定するためのレジスタ設定が行われる。そして、そのチャネルによる割込がタイマ割込として用いられる。タイマ割込を例えば2ms毎に発生させたい場合は、初期値として2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。
なお、タイマモードに設定されたチャネル(この実施の形態ではチャネル3)に設定される割込ベクタは、タイマ割込処理の先頭番地に相当するものである。具体的は、Iレジスタに設定された値と割込ベクタとでタイマ割込処理の先頭番地が特定される。タイマ割込処理ではタイマ割込フラグがセットされ、メイン処理でタイマ割込フラグがセットされていることが検知されると、払出制御処理が実行される。すなわち、タイマ割込処理では、電気部品制御処理の一例である払出制御処理を実行するための設定がなされる。
また、内蔵CTCのうちの他の一つのチャネル(この実施の形態ではチャネル2)が、遊技制御手段からの払出制御コマンド受信のための割込発生用のチャネルとして用いられ、そのチャネルがカウンタモードで使用される。従って、ステップS704の内蔵デバイスレジスタの設定処理およびステップS705の処理において、使用するチャネルをカウンタモードに設定するためのレジスタ設定、割込発生を許可するためのレジスタ設定および割込ベクタを設定するためのレジスタ設定が行われる。
カウンタモードに設定されたチャネル(チャネル2)に設定される割込ベクタは、後述するコマンド受信割込処理の先頭番地に相当するものである。具体的は、Iレジスタに設定された値と割込ベクタとでコマンド受信割込処理の先頭番地が特定される。
この実施の形態では、払出制御用CPU371でも割込モード2が設定される。従って、内蔵CTCのカウントアップにもとづく割込処理を使用することができる。また、CTCが送出した割込ベクタに応じた割込処理開始番地を設定することができる。
CTCのチャネル2(CH2)のカウントアップにもとづく割込は、上述したタイマカウンタレジスタCLK/TRG2の値が「0」になったときに発生する割込である。従って、例えばステップS705において、特定レジスタとしてのタイマカウンタレジスタCLK/TRG2に初期値「1」が設定される。また、CTCのチャネル3(CH3)のカウントアップにもとづく割込は、CPUの内部クロック(システムクロック)をカウントダウンしてレジスタ値が「0」になったら発生する割込であり、後述する2msタイマ割込として用いられる。具体的には、CH3のレジスタ値はシステムクロックの1/256周期で減算される。ステップS705において、CH3のレジスタには、初期値として2msに相当する値が設定される。
CTCのCH2のカウントアップにもとづく割込は、CH3のカウントアップにもとづく割込よりも優先順位が高い。従って、同時にカウントアップが生じた場合に、CH2のカウントアップにもとづく割込、すなわち、コマンド受信割込処理の実行契機となる割込の方が優先される。
そして、払出制御用CPU371は、払出制御用のバックアップRAM領域にバックアップデータが存在しているか否かの確認を行う(ステップS707)。すなわち、例えば、主基板31のCPU56の処理と同様に、電源断時にセットされるバックアップフラグがセット状態になっているか否かによって、バックアップデータが存在しているか否か確認する。バックアップフラグがセット状態になっている場合には、バックアップデータありと判断する。
バックアップありを確認したら、払出制御用CPU371は、バックアップRAM領域のデータチェック(この例ではパリティチェック)を行う。不測の電源断が生じた後に復旧した場合には、バックアップRAM領域のデータは保存されていたはずであるから、チェック結果は正常になる。チェック結果が正常でない場合には、内部状態を電源断時の状態に戻すことができないので、停電復旧時でない電源投入時に実行される初期化処理を実行する。
チェック結果が正常であれば(ステップS708)、払出制御用CPU371は、内部状態を電源断時の状態に戻すための払出状態復旧処理を行う(ステップS709)。そして、バックアップRAM領域に保存されていたPC(プログラムカウンタ)の指すアドレスに復帰する。
初期化処理では、払出制御用CPU371は、まず、RAMクリア処理を行う(ステップS711)。そして、2ms毎に定期的にタイマ割込がかかるように払出制御用CPU371に設けられているCTCのレジスタの設定が行われる(ステップS712)。すなわち、初期値として2msに相当する値が所定のレジスタ(時間定数レジスタ)に設定される。そして、初期設定処理のステップS701において割込禁止とされているので、初期化処理を終える前に割込が許可される(ステップS713)。
この実施の形態では、払出制御用CPU371の内蔵CTCが繰り返しタイマ割込を発生するように設定される。この実施の形態では、繰り返し周期は2msに設定される。そして、タイマ割込が発生すると、図42に示すように、払出制御用CPU371は、例えばタイマ割込が発生したことを示すタイマ割込フラグをセットする(ステップS721)。なお、図42には割込を許可することも明示されているが(ステップS720)、2msタイマ割込処理では、最初に割込許可状態に設定される。すなわち、2msタイマ割込処理中には割込許可状態になってので、INT信号の入力にもとづく払出制御コマンド受信処理を優先して実行することができる。
払出制御用CPU371は、ステップS724において、タイマ割込フラグがセットされたことを検出するとステップS751以降の払出制御処理を実行する。以上の制御によって、この実施の形態では、払出制御処理は2ms毎に起動されることになる。なお、この実施の形態では、タイマ割込処理ではフラグセットのみがなされ、払出制御処理はメイン処理において実行されるが、タイマ割込処理で払出制御処理を実行してもよい。
払出制御処理において、払出制御用CPU371は、まず、中継基板72を介して入力ポート372bに入力される賞球カウントスイッチ301A、球貸しカウントスイッチ301Bがオンしたか否かを判定する(スイッチ処理:ステップS751)。
次に、払出制御用CPU371は、センサ(例えば、払出モータ289の回転数を検出するモータ位置センサ)からの信号入力状態を確認してセンサの状態を判定する等の処理を行う(入力判定処理:ステップS752)。払出制御用CPU371は、さらに、受信した払出制御コマンドを解析し、解析結果に応じた処理を実行する(コマンド解析実行処理:ステップS753)。
次いで、払出制御用CPU371は、主基板31から払出停止指示コマンドを受信していたら払出停止状態に設定し、払出開始指示コマンドを受信していたら払出停止状態の解除を行う(ステップS754)。また、プリペイドカードユニット制御処理を行う(ステップS755)。
次いで、払出制御用CPU371は、球貸し要求に応じて貸し球を払い出す制御を行う(ステップS756)。このとき、払出制御用CPU371は、振分ソレノイド310によって球振分部材311を球貸し側に設定する。
さらに、払出制御用CPU371は、総合個数記憶に格納された個数の賞球を払い出す賞球制御処理を行う(ステップS757)。このとき、払出制御用CPU371は、振分ソレノイド310によって球振分部材311を賞球側に設定する。そして、出力ポート372cおよび中継基板72を介して球払出装置97の払出機構部分における払出モータ289に対して駆動信号を出力し、所定の回転数分払出モータ289を回転させる払出モータ制御処理を行う(ステップS758)。
なお、この実施の形態では、払出モータ289としてステッピングモータが用いられ、それらを制御するために1−2相励磁方式が用いられる。従って、具体的には、払出モータ制御処理において、8種類の励磁パターンデータが繰り返し払出モータ289に出力される。また、この実施の形態では、各励磁パターンデータが4msずつ出力される。
次いで、エラー検出処理が行われ、その結果に応じてエラー表示LED374に所定の表示を行う(エラー処理:ステップS759)。
なお、出力ポートCは、払出制御処理における払出モータ制御処理(ステップS758)でアクセスされる。また、出力ポートDは、払出制御処理におけるエラー処理(ステップS759)でアクセスされる。そして、出力ポートEは、払出制御処理における球貸し制御処理(ステップS756)および賞球制御処理(ステップS757)でアクセスされる。
図43は、払出制御用CPU371が内蔵するRAMの使用例を示す説明図である。この例では、バックアップRAM領域に、総合個数記憶(例えば2バイト)と貸し球個数記憶とがそれぞれ形成されている。総合個数記憶は、主基板31の側から指示された賞球払出個数の総数を記憶するものである。貸し球個数記憶は、未払出の球貸し個数を記憶するものである。
そして、払出制御用CPU371は、例えば、賞球制御処理(ステップS757)において、遊技制御手段から賞球個数を示す払出制御コマンドを受信すると、指示された個数分だけ総合個数記憶に内容を増加する。また、球貸し制御処理(ステップS756)において、カードユニット50から球貸し要求の信号を受信する毎に1単位(例えば25個)の個数分だけ貸し球個数記憶に内容を増加する。さらに、払出制御用CPU371は、賞球制御処理において賞球カウントスイッチ301Aが1個の賞球払出を検出すると総合個数記憶の値を1減らし、球貸し制御処理において球貸しカウントスイッチ301Bが1個の貸し球払出を検出すると貸し球個数記憶の値を1減らす。
従って、未払出の賞球個数と貸し球個数とが、所定期間はその内容を保持可能なバックアップRAM領域に記憶されることになる。よって、停電等の不測の電源断が生じても、所定期間内に電源復旧すれば、バックアップRAM領域に記憶される賞球処理および球貸し処理を続行できる。従って、遊技者に与えられる不利益を低減することができる。
図44〜図46は、電源基板910からの電源断信号に応じて実行されるマスク不能割込処理の処理例を示すフローチャートである。この例では、NMIに応じて電力供給停止時処理が実行されるが、電源断信号を払出制御用CPU371のマスク可能端子に接続し、マスク可能割込処理によって電力供給停止時処理を実行してもよい。また、電源断信号を入力ポートに入力し、入力ポートのチェック結果に応じて電力供給停止時処理を実行してもよい。
マスク不能割込処理において、払出制御用CPU371は、AFレジスタを所定のバックアップRAM領域に退避する(ステップS801)。また、割込フラグをパリティフラグにコピーする(ステップS802)。パリティフラグはバックアップRAM領域に形成されている。また、BCレジスタ、DEレジスタ、HLレジスタ、IXレジスタおよびスタックポインタをバックアップRAM領域に退避する(ステップS804〜808)。なお、電源復旧時には、退避された内容にもとづいてレジスタ内容が復元され、パリティフラグの内容に応じて、割込許可状態/禁止状態の内部設定がなされる。
次いで、払出モータ289に出力される駆動信号をオフ状態にする(ステップS761)。よって、球払出装置97の駆動は停止する。その後、この実施の形態では、所定期間、払出検出手段としての賞球カウントスイッチ301A(賞遊技媒体検出手段に相当)および球貸しカウントスイッチ301B(貸出遊技媒体検出手段に相当)の検出信号をチェックする。そして、賞球カウントスイッチ301Aがオンしたら総合個数記憶の内容を1減らす。また、球貸しカウントスイッチ301Bがオンしたら貸し球個数記憶の内容を1減らす。
なお、この実施の形態では、所定期間を計測するために、所定期間計測用カウンタが用いられる。所定期間計測用カウンタの値は、初期値mから、以下に説明するスイッチ検出処理のループ(S763から始まってS763に戻るループ)が1回実行される毎に−1され、その値が0になると、所定期間が終了したとする。検出処理のループでは、例外はあるがほぼ一定の処理が行われるので、ループの1周に要する時間のm倍の時間が、ほぼ所定期間に相当する。
所定期間を計測するために、払出制御用CPU371の内蔵タイマを用いてもよい。すなわち、スイッチ検出処理開始時に、内蔵タイマに所定値(所定期間に相当)を設定しておく。そして、スイッチ検出処理のループが1回実行される毎に、内蔵タイマのカウント値をチェックする。そして、カウント値が0になったら、所定期間が終了したとする。内蔵タイマの値が0になったことを検出するために内蔵タイマによる割込を用いることもできるが、この段階では制御内容(RAMに格納されている各値など)を変化させないように、割込を用いず、内蔵タイマのカウント値を読み出してチェックするようなプログラム構成の方が好ましい。また、所定期間は、遊技球が、球払出装置97から落下した時点から、賞球カウントスイッチ301Aまたは球貸しカウントスイッチ301Bに到達するまでの時間以上に設定される。
少なくとも、スイッチ検出処理が実行される所定期間では、賞球カウントスイッチ301Aおよび球貸しカウントスイッチ301Bが遊技球を検出できる状態でなければならない。そこで、この実施の形態では、図8に示されたように、電源基板910におけるコンバータIC922の入力側に比較的大容量の補助駆動電源としてのコンデンサ923が接続されている。よって、遊技機に対する電力供給停止時にも、ある程度の期間は+12V電源電圧がスイッチ駆動可能な範囲に維持され、賞球カウントスイッチ301Aおよび球貸しカウントスイッチ301Bが動作可能になる。その期間が、上記の所定期間以上になるように、コンデンサの容量が決定される。
なお、入力ポートおよび払出制御用CPU371も、コンバータIC922で作成される+5V電源で駆動されるので、電力供給停止時にも、比較的長い期間動作可能になっている。
さらに、この実施の形態では、賞球路と貸し球路とを切り換えるために振分ソレノイド310が用いられている。よって、図8に示されたコンデンサ923の容量は、少なくとも上記の所定期間の間、振分ソレノイド310も駆動できるような容量になっている。なお、コンデンサ923は、VSLの電源ラインと並列接続されているが、電源断信号に応じて遊技制御手段が他のソレノイド(大入賞口開閉用等)の駆動信号をオフ状態にしているので、電源断信号発生後では、コンデンサ923は、各ソレノイドのうちでは振分ソレノイド310のみを駆動できればよい。
なお、この実施の形態で用いられているコンデンサ923は補助駆動電源の一つの例であるが、補助駆動電源として他のものを用いてもよい。少なくとも、上記の所定期間の間は、賞球カウントスイッチ301A、球貸しカウントスイッチ301B、振分ソレノイド310および払出制御用CPU371等の払出制御手段を駆動できるものであれば、他の態様の補助駆動電源を用いることができる。
払出検出手段からの検出信号の入力処理(スイッチ検出処理)では、払出制御用CPU371は、まず、所定期間計測用カウンタに、所定期間に対応した値mを設定する(ステップS762)。そして、払出制御用CPU371は、所定期間計測用カウンタの値を−1し(ステップS763)、所定期間計測用カウンタの値を確認する(ステップS764)。その値が0であれば、スイッチ検出処理を終了し、制御状態を保存するための処理である電力供給停止時処理に移行する。
所定期間計測用カウンタの値が0になっていなければ、賞球カウントスイッチオン中であるか否か確認する(ステップS765)。オン中であれば、検出期間用カウンタの値を1減らした後(ステップS766)、検出期間用カウンタの値が0になったか否か確認する(ステップS767)。0になっていれば、入力ポートを介して賞球カウントスイッチ301Aの検出信号を確認し(ステップS768)、オン状態を示していれば、賞球カウントスイッチ301Aが確実にオンしたとして、総合個数記憶の値を1減らす(ステップS769)。
ステップS765で、賞球カウントスイッチオン中でないことを確認したら、入力ポートを介して賞球カウントスイッチ301Aの検出信号を確認し(ステップS770)、オン状態を示していれば、賞球カウントスイッチON中フラグをセットするとともに(ステップS771)、検出期間用カウンタに初期値nをセットする(ステップS772)。
以上の処理によって、所定期間内に賞球カウントスイッチ301Aがオンしたら、総合個数記憶の値が−1される。バックアップRAMの内容を保存するための処理は、このようなスイッチ検出処理の後で行われるので、払出が完了した賞球について、必ず総合個数記憶が−1される。従って、遊技球の払出に関して、保存される制御状態に矛盾が生じてしまうことが防止される。また、上記のスイッチ検出処理では、検出期間用カウンタを用いたタイマ処理が施されている。すなわち、一度賞球カウントスイッチ301Aのオンが検出された後、所定時間(S763からS767に至りS763に戻るループにおける処理時間のn倍)の経過後にもオンが検出されないとスイッチオンと見なされない。従って、誤ってスイッチオン検出がなされてしまうことは防止される。
なお、通常時のスイッチ処理(図41におけるステップS751)でも、誤検出防止用のタイマ処理が施されている。よって、そのような通常時のスイッチ処理をコールするようにしてもよい。また、ここでは、検出期間用カウンタを用いたタイマ処理が行われたが、所定期間の計測の場合にCPU内蔵タイマを用いてもよいのと同様、CPU内蔵タイマを用いてスイッチ検出処理におけるタイマ処理を実現してもよい。
賞球カウントスイッチオン中でなく、かつ、賞球カウントスイッチ301Aのオン状態が検出できない場合には、球貸しカウントスイッチ301Bについてスイッチ検出処理を行う。すなわち、払出制御用CPU371は、球貸しカウントスイッチオン中であるか否か確認する(ステップS775)。オン中であれば、検出期間用カウンタの値を1減らした後(ステップS776)、検出期間用カウンタの値が0になったか否か確認する(ステップS777)。0になっていれば、入力ポートを介して球貸しカウントスイッチ301Bの検出信号を確認し(ステップS778)、オン状態を示していれば、球貸しカウントスイッチ301Bが確実にオンしたとして、貸し球個数記憶の値を1減らす(ステップS779)。
ステップS775で、球貸しカウントスイッチオン中でないことを確認したら、入力ポートを介して球貸しカウントスイッチ301Bの検出信号を確認し(ステップS780)、オン状態を示していれば、球貸しカウントスイッチON中フラグをセットするとともに(ステップS781)、検出期間用カウンタに初期値nをセットする(ステップS782)。
以上の処理によって、所定期間内に球貸しカウントスイッチ301Bがオンしたら、貸し球個数記憶の値が−1される。バックアップRAMの内容を保存するための処理は、このようなスイッチ検出処理の後で行われるので、払出が完了した貸し球について、必ず貸し球個数記憶が−1される。従って、遊技球の払出に関して、保存される制御状態に矛盾が生じてしまうことが防止される。また、上記のスイッチ検出処理では、検出期間用カウンタを用いたタイマ処理が施されている。すなわち、球貸しカウントスイッチ301Bのオンが所定時間以上継続しないとスイッチオンと見なされない。従って、誤ってスイッチオン検出がなされてしまうことは防止される。
所定期間が経過すると(ステップS764)、払出制御用CPU371は、バックアップあり指定値(この例では「55H」)をバックアップフラグにストアする(ステップS809)。バックアップフラグはバックアップRAM領域に形成されている。次いで、主基板31のCPU56の処理と同様の処理を行ってパリティデータを作成しバックアップRAM領域に保存する(ステップS810〜S819)。そして、RAMアクセスレジスタにアクセス禁止値を設定する(ステップS820)。以後、内蔵RAMのアクセスができなくなる。
さらに、払出制御用CPU371は、クリアデータ(00)を適当なレジスタにセットし(ステップS821)、処理数(この例では「3」)を別のレジスタにセットする(ステップS822)。また、出力ポートCのアドレス(この例では「00H」)をIOポインタに設定する(ステップS823)。IOポインタとして、さらに別のレジスタが用いられる。
そして、IOポインタが指すアドレスにクリアデータをセットするとともに(ステップS824)、IOポインタの値を1増やし(ステップS825)、処理数の値を1減算する(ステップS827)。ステップS824〜S826の処理が、処理数の値が0になるまで繰り返される。その結果、全ての出力ポートC〜E(図39参照)にクリアデータが設定される。図39に示すように、この例では、「1」がオン状態であり、クリアデータである「00」が各出力ポートにセットされるので、全ての出力ポートがオフ状態になる。
従って、遊技状態を保存するための処理(この例では、チェックサムの生成およびRAMアクセス防止)が実行された後、各出力ポートは直ちにオフ状態になる。なお、この実施の形態では、払出制御処理において用いられるデータが格納されるRAM領域は全て電源バックアップされている。従って、その内容が正しく保存されているか否かを示すチェックサムの生成処理、およびその内容を書き換えないようにするためのRAMアクセス防止処理が、払出制御状態を保存するための処理に相当する。
以上のように、この実施の形態では、停電等の発生に応じて電源断信号が出力されたら、まず、球払出装置97の駆動を停止した後、所定期間、払出検出手段からの検出信号の入力処理が実行され、その後、払出制御状態を保存するための処理が行われる。従って、停電発生時に払出途中であった遊技球も、バックアップRAMの保存内容に反映される。
すなわち、この実施の形態では、遊技機への電力供給停止時に制御状態をバックアップ記憶手段に保存するように構成した場合に、制御の矛盾等を生じさせないようにすることができる。
なお、振分ソレノイド310の出力ポート以外の出力ポートのクリア処理を、スイッチ検出処理の実行前(ステップS761の前)に行ってもよい。電力供給停止時処理の実行中では、払出制御用CPU371やスイッチ類はコンデンサの充電電力等で駆動されることになる。出力ポートのクリア処理をスイッチ検出処理の実行前に行った場合には、コンデンサの充電電力等を電力供給停止時処理のために効率的に使用することができる。
出力ポートに対するクリア処理が完了すると、払出制御用CPU371は、待機状態(ループ状態)に入る。従って、システムリセットされるまで、何もしない状態になる。
なお、ここでは、賞球カウントスイッチ301Aまたは球貸しカウントスイッチ301Bの検出信号がオン状態を示したらタイマ(検出期間用カウンタ)をセットし、タイマがタイムアップしたときにも検出信号がオン状態を示していたら、スイッチが確実にオンしたと判定したが、主基板31のCPU56と同様に、2msのタイマ(2ms計測用カウンタ)がタイムアップする毎に検出信号の判定を行うように構成してもよい。
また、この実施の形態でも、電源断信号に応じて起動される処理の最初にレジスタの保存処理が行われたが、スイッチ検出処理においてレジスタを使用しない場合には、スイッチ検出処理の実行後に、すなわち、バックアップフラグの設定とチェックサムの算出の処理の前にレジスタ保存処理を行うことができる。その場合には、レジスタ保存処理、バックアップフラグ設定処理、チェックサム算出処理および出力ポートのオフ設定処理を電力供給停止時処理と見なすことができる。さらに、スイッチ検出処理において幾つかのレジスタを使用する場合であっても、使用しないレジスタについては、バックアップフラグの設定とチェックサムの算出の処理の前にレジスタ保存処理を行うことができる。
図47は、本発明の他の実施の形態における払出制御手段のクリアデータテーブルを用いたマスク不能割込処理の一部を示すフローチャートである。図47に示すフローチャートは、図44〜図46に示されたステップS801〜S820の処理に続いて実行される。すなわち、この実施の形態では、RAMアクセス禁止状態に設定された後(ステップS820)、クリアデータテーブルの先頭アドレスがポインタにセットされ(ステップS831)、次いで、データクリア処理が実行された後に(ステップS832)、システムリセットを待つ待機状態に入る。なお、ポインタとして所定のレジスタが用いられる。
図48は、クリアデータテーブルの一構成例を示す説明図である。図48に示す例では、クリアデータテーブルには、順に、処理数データ(この例では「3」)、出力ポートCのアドレス(アドレス00H)、出力ポートCに設定されるべきクリアデータ、・・・、出力ポートEのアドレス(アドレス02H)、出力ポートEに設定されるべきクリアデータが設定されている。出力ポートのアドレスとクリアデータとは、出力ポートのアドレスが小さいものから順に設定されている。
図49は、ステップS832のデータクリア処理を示すフローチャートである。データクリア処理において、払出制御用CPU371は、ポインタの指すアドレスから処理数データを抽出する(ステップS841)。そして、ポインタの値を1増やす(ステップS842)。次いで、ポインタの指すアドレスからアドレスデータ(出力ポートのアドレス)を抽出する(ステップS843)。さらに、ポインタの値を1増やす(ステップS844)。
そして、ポインタの指すアドレスからクリアデータを抽出し(ステップS845)、そのデータを、ステップS843で抽出したアドレスに設定する(ステップS846)。次に、処理数の値を1減算し(ステップS847)、処理数が0になったらデータクリア処理を終了する(ステップS848)。処理数が0でない場合には、ステップS841に戻る。
クリアデータテーブルを用いるようにしても、クリア信号出力処理を迅速に行うことができ、遊技機への電力供給停止時に保存した制御状態と実際の制御状態との間の矛盾発生をより効果的に防止できる。そして、クリアデータテーブルを用いる場合には、テーブルにおいて、アドレスデータとクリアデータとをアドレス順に並べなくてもよく、テーブル構成の自由度が増す。また、出力ポートの増減や変更があったような場合に、テーブルの内容を変更するだけでよく、プログラム変更の必要はない。
なお、クリアデータが全ての出力ポートについて00Hである場合には、クリアデータテーブルにクリアデータを含めなくてもよい。その場合には、図49に示されたデータクリア処理におけるS844,S845の処理は不要であり、ステップS846において、アドレスデータが指すアドレスにクリアデータ00Hが設定される。
この実施の形態では、未払出の賞球および貸し球の総数が保存されるが、払出回数(例えば1回について25個)を記憶するというような他の保存方式を用いている場合であっても、電源断信号に応じて、所定期間は払出検出手段からの検出信号の入力処理が実行されるように構成されている場合には、保存される制御状態に矛盾が生じてしまうことが防止される。
上記の実施の形態では、球払出装置97が賞球も貸し球も払い出し、振分ソレノイド310で駆動される振分部材311によって、賞球流下経路と貸し球流下経路とが切り換えられた。しかし、賞球払出球を行う払出装置と球貸しを行う払出装置とを別個に設けてもよい。
例えば、図50に示すように、賞球払出装置97Aと貸し球払出装置97Cとが別個に設けられる。賞球払出装置97Aは、上記の実施の場合と同様に払出モータ289によって駆動される。賞球払出装置97Aの側において、払出球通路186a,186bの上流側には、球切れスイッチ187a,187bが設置されている。球切れスイッチ187a,187bは、払出球通路186a,186bに27〜28個程度の遊技球が存在することを検出できるような位置に係止片188A,188Bによって係止されている。通路体184Aの中央部は、内部を流下する遊技球の球圧を弱めるように、左右に湾曲する形状に形成されている。通路体184Aは中間ベースユニットに固定されるが、中間ベースユニットに設けられている係止突片185Aによって通路体184Aの位置合わせを行えるようになっている。
通路体184Aの下方には、賞球払出装置97Aに遊技球を供給するとともに故障時等には賞球払出装置97Aへの遊技球の供給を停止する球止め装置190Aが設けられている。球止め装置190Aの下方に設置される賞球払出装置97Aは、直方体状のケース198Aの内部に収納されている。ケース198Aの左右4箇所には突部が設けられている。各突部が中間ベースユニットに設けられている位置決め突片に係った状態で、中間ベースユニットの下部に設けられている弾性係合片にケース198Aの下端がはめ込まれる。賞球払出装置97Aの下方には、近接スイッチによる賞球カウントスイッチ301Aが設けられている。
この実施の形態では、貸し球払出装置97Bはソレノイドで駆動される。貸し球払出装置97Bの側において、貸し球経路となる通路体184Cの下部に貸し球払出装置97Bが固定されている。通路体184Bは、1列の遊技球を流下させる払出球通路186cを有する。払出球通路186cの上流側には、球切れスイッチ187cが設置されている。球切れスイッチ187cは、払出球通路186c内の遊技球の有無を検出するものであり、球切れスイッチ187cが遊技球を検出しなくなると貸し球払出装置97Bにおける球貸しソレノイド(図示せず)の駆動を停止して貸し球の払出が不動化される。
通路体184Cの中央部は、内部を流下する遊技球の球圧を弱めるように、左右に湾曲する形状に形成されている。通路体184Cは中間ベースユニットに固定されるが、中間ベースユニットに設けられている係止突片185Cによって通路体184Cの位置合わせを行うことも可能である。なお、貸し球払出装置97Cは、賞球払出装置97Aの横に設置されていても、賞球払出装置97Aの下あるいは上に設置されていてもよいし、設置スペースが不足する場合には、賞球払出装置97Aに重ねられるように設置されていてもよい。
通路体184Cの下方には、貸し球払出装置97Cに遊技球を供給するとともに故障時等には貸し球払出装置97Cへの遊技球の供給を停止する球止め装置190Cが設けられている。球止め装置190Cの下方に設置される貸し球払出装置97Cは、直方体状のケース198Cの内部に収納されている。貸し球払出装置97Cの下方には、近接スイッチによる球貸しカウントスイッチ301Bが設けられている。
図50に例示するように賞球払出球を行う払出装置と球貸しを行う払出装置とが別個に設けられている場合でも、電源断信号に応じて、図44〜図46に示された処理を行って、保存される未払出遊技球数を実際の未払出数と常に一致させることができる。ただし、ステップS761の処理は、賞球払出球を行う払出装置の駆動を停止するとともに、球貸しを行う払出装置の駆動を停止する処理となる。また、スイッチ検出処理を行う所定期間は、賞球払出球を行う払出装置と賞球カウントスイッチ301Aとの間の距離と、球貸しを行う払出装置と球貸しカウントスイッチ301Bとの間の距離とが異なっている場合には、長い方の距離に対応した時間に設定される。
以上に説明したように、上記の各実施の形態では、停電等の発生に応じて電源断信号が出力されたら、まず、払出装置の駆動を停止した後、所定期間、払出検出手段からの検出信号の入力処理が実行され、その後、払出制御状態を保存するための処理が行われる。従って、停電発生時に払出途中であった遊技球も、バックアップRAMの保存内容に反映される。よって、遊技機への電力供給停止時に制御状態をバックアップ記憶手段に保存するように構成した場合に、保存される制御状態と実際の制御状態との間に矛盾等を生じさせないようにすることができる。
上述した実施の形態では、電源断信号に応じて発生する割込による割込処理(上述した例ではマスク不能割込処理)の開始時に球払出装置の動作を止めるとともに、所定期間、払出検出手段からの検出信号の入力処理を行った。しかし、遊技機への電力供給停止時に、まず、そのことを示す第1の信号を発生し、さらに電圧が低下すると第2の信号を発生するようにしてもよい。そして、第1の信号に応じて球払出装置の動作を止めるとともに払出検出手段からの検出信号の入力処理を行い、第2の信号に応じて、制御状態をバックアップRAMに保存するための処理を行ってもよい。
図51は、そのような制御を行うための電源基板910Aの一構成例を示すブロック図である。この例では、電源基板910Aには、電源監視用IC932も搭載されている。電源監視用IC932は、VSL電源電圧を導入し、VSL電源電圧を監視することによって電源断の発生を検出する。具体的には、VSL電源電圧が所定値(例えば+24V)以下になったら、電源電圧が低下したとして電圧低下信号(第1の信号)を出力する。そして、電源監視用IC902は、VSL電源電圧が所定値(この例では+22V)以下になったら、電源断が生ずるとして電源断信号(第2の信号)を出力する。
第1の信号が発生してから第2の信号が発生するまでの期間は、遊技球が、球払出装置97(または、賞球払出装置97A,貸し球払出装置97C)から落下した時点から、賞球カウントスイッチ301Aまたは球貸しカウントスイッチ301Bに到達するまでの時間以上に設定される。すなわち、その時間以上になるように、電源監視用IC902,932の監視電圧が設定される。電源監視用IC932の出力は、バッファ回路939,940を経て主基板31および払出制御基板37に至る。
主基板31において、第1の信号である電圧低下信号は、CPU56のマスク可能外部割り込み端子に接続される。また、第2の信号である電源断信号は、上述した実施の形態と同様に、マスク不能割込端子に接続される。すなわち、第2の信号にもとづく割込の優先度は、第1の信号にもとづく割込の優先度よりも高い。
図52は、第1の信号の発生に応じて生ずる割込にもとづいて起動される割込処理(電圧低下割込処理)の一例を示すフローチャートである。主基板31のCPU56は、AFレジスタ(アキュミュレータとフラグのレジスタ)を所定のバックアップRAM領域に退避する(ステップS451)。また、割込フラグをパリティフラグにコピーする(ステップS452)。パリティフラグはバックアップRAM領域に形成されている。また、BCレジスタ、DEレジスタ、HLレジスタ、IXレジスタおよびスタックポインタをバックアップRAM領域に退避する(ステップS454〜S458)。
次いで、CPU56は、2ms計測用カウンタに2msの時間に相当する初期値nを設定する(ステップS461)。そして、2ms計測用カウンタの値が0になるまで(ステップS462)、2ms計測用カウンタの値を−1する(ステップS465)。2ms計測用カウンタの値が0になると、入力ポート1に入力されているデータを入力する(ステップS464)。次いで、クリアデータ(00)をセットする(ステップS465)。また、入力ポート1からの入力データを「比較値」として設定する(ステップS466)。さらに、賞球カウントスイッチ301Aのためのスイッチタイマのアドレスをポインタにセットする(ステップS467)。
そして、ポインタ(スイッチタイマのアドレスが設定されている)が指すスイッチタイマをロードするとともに(ステップS468)、比較値を右(上位ビットから下位ビットへの方向)にシフトする(ステップS469)。比較値には入力ポート1のデータ設定されている。そして、この場合には、賞球カウントスイッチ301Aの検出信号がキャリーフラグに押し出される。
キャリーフラグの値が「1」であれば(ステップS470)、すなわち賞球カウントスイッチ301Aの検出信号がオン状態であれば、スイッチタイマの値を1加算する(ステップS471)。キャリーフラグの値が「0」であれば、すなわち賞球カウントスイッチ301Aの検出信号がオフ状態であれば、スイッチタイマにクリアデータをセットする(ステップS472)。すなわち、スイッチがオフ状態であれば、スイッチタイマの値が0に戻る。
そして、スイッチタイマの値が2になったときに(ステップS473)、総賞球数格納バッファの格納値を1減算するとともに(ステップS474)、賞球情報カウンタの値を+1する(ステップS475)。そして、賞球情報カウンタの値が10以上であれば(ステップS476)、賞球情報出力カウンタの値を+1するとともに(ステップS477)、賞球情報カウンタの値を−10する(ステップS478)。そして、ステップS461に戻る。
ステップS461〜S478のスイッチ検出処理を行っている間に、電源電圧が低下していくので、第2の信号が発生するはずである。従って、マスク不能割込が発生する。図54は、マスク不能割込の一例を示すフローチャートである。
マスク不能割込処理において、CPU56は、バックアップあり指定値(この例では「55H」)をバックアップフラグにストアする(ステップS481)。バックアップフラグはバックアップRAM領域に形成されている。次いで、パリティデータを作成する(ステップS482〜S491)。
そして、RAMアクセスを禁止した後に(ステップS492)、全ての出力ポートをオフ状態にする(ステップS493〜S499)。出力ポートに対するクリア処理が完了すると、CPU56は、待機状態(ループ状態)に入る。従って、システムリセットされるまで、何もしない状態になる。
以上の処理によって、所定期間(第1の信号発生から第2の信号発生までの期間)内に賞球カウントスイッチ301Aがオンしたら、総賞球数バッファの値が−1される。バックアップRAMの内容を保存するための処理は、このようなスイッチ検出処理の後で行われるので、払出が完了した賞球について、必ず総賞球数バッファが−1される。従って、遊技球の払出に関して、保存される制御状態に矛盾が生じてしまうことが防止される。なお、既に説明したように、所定期間において、払出検出手段以外の他の検出手段(スイッチ)の検出信号についても入力チェック処理を行ってもよい。
また、出力ポートのクリア処理を、図52示す電圧低下割込処理におけるスイッチ検出処理の前(ステップS458の後)に行ってもよい。
なお、この実施の形態では、電圧低下信号(第1の信号)に応じて起動される処理の最初にレジスタの保存処理が行われたが、スイッチ検出処理においてレジスタを使用しない場合には、スイッチ検出処理の実行後に、すなわち、第2の信号に応じて起動される処理において、レジスタ保存処理を行うことができる。その場合には、レジスタ保存処理、バックアップフラグ設定処理、チェックサム算出処理および出力ポートのオフ設定処理を電力供給停止時処理と見なすことができる。さらに、スイッチ検出処理において幾つかのレジスタを使用する場合であっても、使用しないレジスタについては、第2の信号に応じて起動される処理においてレジスタ保存処理を行うことができる。
図55は、払出検出手段からの検出信号の入力処理が実行される様子の一例を示すタイミング図である。図55に示すように、電圧低下信号がオン(この例ではハイレベルからローレベルに変化)するあたりで球払出が実行された場合、払出検出手段からの検出信号の入力処理が実行される所定期間(第2の信号が発生する前での期間)内で賞球カウントスイッチ301Aがオンする。従って、電圧低下信号がオンするあたりで実行された球払出についても、総賞球数バッファに反映することができる。
払出制御基板37においも、第1の信号である電圧低下信号は、払出制御用CPU371のマスク可能外部割り込み端子に接続される。また、第2の信号である電源断信号は、上述した実施の形態と同様に、マスク不能割込端子に接続される。すなわち、第2の信号にもとづく割込の優先度は、第1の信号にもとづく割込の優先度よりも高い。
図56は、第1の信号の発生に応じて生ずる割込にもとづいて起動される割込処理(電圧低下割込処理)の一例を示すフローチャートである。払出制御用CPU371は、まず、AFレジスタを所定のバックアップRAM領域に退避する(ステップS801)。また、割込フラグをパリティフラグにコピーする(ステップS802)。パリティフラグはバックアップRAM領域に形成されている。また、BCレジスタ、DEレジスタ、HLレジスタ、IXレジスタおよびスタックポインタをバックアップRAM領域に退避する(ステップS804〜808)。
次いで、払出モータ289に出力される駆動信号をオフ状態にする(ステップS761)。よって、球払出装置97の駆動は停止する。賞球払出装置97Aと貸し球払出装置97Cとが別個に設けられている場合には、双方の駆動を停止する。
そして、賞球カウントスイッチオン中であるか否か確認する(ステップS765)。オン中であれば、検出期間用カウンタの値を1減らした後(ステップS766)、検出期間用カウンタの値が0になったか否か確認する(ステップS767)。0になっていれば、入力ポートを介して賞球カウントスイッチ301Aの検出信号を確認し(ステップS768)、オン状態を示していれば、賞球カウントスイッチ301Aが確実にオンしたとして、総合個数記憶の値を1減らす(ステップS769)。
ステップS765で、賞球カウントスイッチオン中でないことを確認したら、入力ポートを介して賞球カウントスイッチ301Aの検出信号を確認し(ステップS770)、オン状態を示していれば、賞球カウントスイッチON中フラグをセットするとともに(ステップS771)、検出期間用カウンタに初期値nをセットする(ステップS772)。
以上の処理によって、所定期間内に賞球カウントスイッチ301Aがオンしたら、総合個数記憶の値が−1される。バックアップRAMの内容を保存するための処理は、このようなスイッチ検出処理の後で行われるので、払出が完了した賞球について、必ず総合個数記憶が−1される。従って、遊技球の払出に関して、保存される制御状態に矛盾が生じてしまうことが防止される。また、上記の処理では、検出期間用カウンタを用いたタイマ処理が施されている。すなわち、一度賞球カウントスイッチ301Aのオンが検出された後、所定時間(S763からS767に至りS763に戻るループにおける処理時間のn倍)の経過後にもオンが検出されないとスイッチオンと見なされない。従って、誤ってスイッチオン検出がなされてしまうことは防止される。
賞球カウントスイッチオン中でなく、かつ、賞球カウントスイッチ301Aのオン状態が検出できない場合には、球貸しカウントスイッチ301Bについてスイッチ検出処理を行う。なお、その処理は、既に説明した実施の形態の場合と同様である(図45参照)。賞球カウントスイッチ301Aおよび球貸しカウントスイッチ301Bについてスイッチ検出処理を行っている間に、電源電圧が低下していくので、第2の信号が発生するはずである。従って、マスク不能割込が発生する。
なお、この実施の形態でも、少なくとも第2の信号が発生するまでの間、賞球カウントスイッチ301A、球貸しカウントスイッチ301Bおよび振分ソレノイド310のスイッチ検出処理を行う部分と払出制御手段を駆動可能な補助駆動電源(この例ではコンデンサ923)が用いられている。
また、ここでは、賞球カウントスイッチ301Aまたは球貸しカウントスイッチ301Bの検出信号がオン状態を示したらタイマ(検出期間用カウンタ)をセットし、タイマがタイムアップしたときにも検出信号がオン状態を示していたら、スイッチが確実にオンしたと判定したが、主基板31のCPU56と同様に、2msのタイマ(2ms計測用カウンタ)がタイムアップする毎に検出信号の判定を行うように構成してもよい。
また、出力ポートのクリア処理を、図56示す電圧低下割込処理におけるスイッチ検出処理の前(ステップS808の後)に行ってもよい。
図57は、マスク不能割込の一例を示すフローチャートである。マスク不能割込処理において、払出制御用CPU371は、まず、バックアップあり指定値(この例では「55H」)をバックアップフラグにストアする(ステップS809)。バックアップフラグはバックアップRAM領域に形成されている。次いで、主基板31のCPU56の処理と同様の処理を行ってパリティデータを作成しバックアップRAM領域に保存する(ステップS810〜S819)。そして、RAMアクセスレジスタにアクセス禁止値を設定する(ステップS820)。以後、内蔵RAMのアクセスができなくなる。
さらに、払出制御用CPU371は、クリアデータ(00)を適当なレジスタにセットし(ステップS821)、処理数(この例では「3」)を別のレジスタにセットする(ステップS822)。また、出力ポートCのアドレス(この例では「00H」)をIOポインタに設定する(ステップS823)。IOポインタとして、さらに別のレジスタが用いられる。
そして、IOポインタが指すアドレスにクリアデータをセットするとともに(ステップS824)、IOポインタの値を1増やし(ステップS825)、処理数の値を1減算する(ステップS827)。ステップS824〜S826の処理が、処理数の値が0になるまで繰り返される。その結果、全ての出力ポートC〜E(図39参照)にクリアデータが設定される。
出力ポートに対するクリア処理が完了すると、払出制御用CPU371は、待機状態(ループ状態)に入る。従って、システムリセットされるまで、何もしない状態になる。
この実施の形態では、電源基板910Aに搭載された電源監視手段(この例では電源監視用IC902,932)が電源を監視し、第1の条件(この例では+30V電源電圧が+24V以下になること)が成立したら第1の信号を出力し、第2の条件(この例では+30V電源電圧が+22V以下になること)が成立したら第2の信号を出力する。第1の信号が発生してから第2の信号が発生するまでの期間は、払出手段から払い出された遊技球が払出検出手段に到達するまでの時間以上に設定されている。なお、この実施の形態で用いた+22Vおよび+24Vの条件は一例であって、遊技機の機種に応じて異なる値になることもある。
そして、第1の信号に応じた処理において、まず、払出装置の駆動を停止した後、払出検出手段からの検出信号の入力処理が繰り返し実行され、その後、第2の信号に応じて払出制御状態を保存するための処理が行われる。従って、停電発生時に払出途中であった遊技球も第1の信号に応じた処理で検出されるので、第2の信号に応じた処理においてバックアップRAMの保存内容に反映される。よって、遊技機への電力供給停止時に制御状態をバックアップ記憶手段に保存するように構成した場合に、保存される制御状態と実際の制御状態との間に矛盾等を生じさせないようにすることができる。
電圧低下信号がオン(この例ではハイレベルからローレベルに変化)するあたりで球払出が実行された場合、払出検出手段からの検出信号の入力処理が実行される所定期間(第2の信号が発生する前での期間)内で賞球カウントスイッチ301Aまたは球貸しカウントスイッチ301Bがオンする。この実施の形態では、第1の信号の発生に応じて起動される電圧低下割込処理(図56参照)でスイッチ入力処理が実行されるので、従って、電圧低下信号がオンするあたりで実行された球払出についても、総合個数記憶または貸し球個数記憶に反映することができる。
なお、この実施の形態では、電圧低下信号(第1の信号)に応じて起動される処理の最初にレジスタの保存処理が行われたが、スイッチ検出処理においてレジスタを使用しない場合には、スイッチ検出処理の実行後に、すなわち、第2の信号に応じて起動される処理において、レジスタ保存処理を行うことができる。その場合には、レジスタ保存処理、バックアップフラグ設定処理、チェックサム算出処理および出力ポートのオフ設定処理を電力供給停止時処理と見なすことができる。さらに、スイッチ検出処理において幾つかのレジスタを使用する場合であっても、使用しないレジスタについては、第2の信号に応じて起動される処理においてレジスタ保存処理を行うことができる。
また、上記の各実施の形態では、遊技制御手段および払出制御手段が電源断信号に応じてスイッチ検出処理を行う場合を例示したが、表示制御手段、音制御手段およびランプ制御手段についても、制御状態保存処理が行われる場合に、電源断信号に応じて、所定の電気部品の駆動を停止し、その電気部品に関連するスイッチ手段の検出信号を所定期間に渡って確認した後に、制御状態保存処理を行うように構成してもよい。
また、上記の実施の形態では、電源監視回路は電源基板910に設けられたが、電源監視回路は主基板31や払出制御基板37などの電気部品制御基板に設けられていてもよい。電源回路が搭載された電気部品制御基板が構成される場合には、電源基板には電源監視回路は搭載されない。
上記の各実施の形態のパチンコ遊技機1は、主として、始動入賞にもとづいて可変表示部9に可変表示される特別図柄の停止図柄が所定の図柄の組み合わせになると所定の遊技価値が遊技者に付与可能になる第1種パチンコ遊技機であったが、始動入賞にもとづいて開放する電動役物の所定領域への入賞があると所定の遊技価値が遊技者に付与可能になる第2種パチンコ遊技機や、始動入賞にもとづいて可変表示される図柄の停止図柄が所定の図柄の組み合わせになると開放する所定の電動役物への入賞があると所定の権利が発生または継続する第3種パチンコ遊技機であっても、本発明を適用できる。
さらに、遊技媒体が遊技球であるパチンコ遊技機に限られず、スロット機等においても、遊技媒体の払い出しを行う電気部品が備えられている場合には本発明を適用することができる。
パチンコ遊技機を正面からみた正面図である。 パチンコ遊技機の裏面に設けられている各基板を示す説明図である。 パチンコ遊技機の機構盤を背面からみた背面図である。 機構板に設置されている中間ベースユニット周りの構成を示す正面図である。 球払出装置を示す分解斜視図である。 遊技制御基板(主基板)の回路構成を示すブロック図である。 払出制御基板および球払出装置の構成要素などの賞球に関連する構成要素を示すブロック図である。 電源基板の一構成例を示すブロック図である。 主基板におけるCPU周りの一構成例を示すブロック図である。 CPUの内部構成をより詳細に示すブロック図である。 出力ポートのビット割り当ての一例を示す説明図である。 出力ポートのビット割り当ての一例を示す説明図である。 入力ポートのビット割り当ての一例を示す説明図である。 主基板におけるCPUが実行するメイン処理を示すフローチャートである。 バックアップフラグと遊技状態復旧処理を実行するか否かとの関係の一例を示す説明図である。 2msタイマ割込処理を示すフローチャートである。 RAMにおけるスイッチタイマの形成例を示す説明図である。 スイッチ処理の一例を示すフローチャートである。 スイッチチェック処理の一例を示すフローチャートである。 賞球処理の一例を示すフローチャートである。 賞球処理の一例を示すフローチャートである。 賞球処理の一例を示すフローチャートである。 スイッチオンチェック処理を示すフローチャートである。 賞球個数減算処理の一例を示すフローチャートである。 入力判定値テーブルの構成例を示す説明図である。 制御コマンドのコマンド形態の一例を示す説明図である。 制御コマンドを構成する8ビットの制御信号とINT信号との関係を示すタイミング図である。 コマンド送信テーブルの一構成例を示す説明図である。 遊技制御手段におけるマスク不能割込処理を示すフローチャートである。 遊技制御手段におけるマスク不能割込処理を示すフローチャートである。 遊技制御手段におけるマスク不能割込処理を示すフローチャートである。 遊技制御手段における電力供給停止時処理の他の例を示すフローチャートである。 クリアデータテーブルの一構成例を示す説明図である。 データクリア処理を示すフローチャートである。 検出信号の入力処理が実行される様子の一例を示すタイミング図である。 第3種パチンコ遊技機の遊技領域の一例を示す説明図である。 遊技状態復旧処理の一例を示すフローチャートである。 電源監視および電源バックアップのための払出制御用CPU周りの一構成例を示すブロック図である。 出力ポートのビット割り当ての一例を示す説明図である。 入力ポートのビット割り当ての一例を示す説明図である。 払出制御基板におけるCPUが実行するメイン処理を示すフローチャートである。 2msタイマ割込処理を示すフローチャートである。 払出制御手段におけるRAMの一構成例を示す説明図である。 払出制御手段におけるマスク不能割込処理を示すフローチャートである。 払出制御手段におけるマスク不能割込処理を示すフローチャートである。 払出制御手段におけるマスク不能割込処理を示すフローチャートである。 払出制御手段におけるマスク不能割込処理の他の例を示すフローチャートである。 クリアデータテーブルの一構成例を示す説明図である。 データクリア処理を示すフローチャートである。 球払出装置の他の例を示す分解斜視図である。 電源基板の他の構成例を示すブロック図である。 遊技制御手段の電圧低下割込処理を示すフローチャートである。 遊技制御手段の電圧低下割込処理を示すフローチャートである。 遊技制御手段のマスク不能割込処理の他の例を示すフローチャートである。 検出信号の入力処理が実行される様子の一例を示すタイミング図である。 払出制御手段の電圧低下割込処理を示すフローチャートである。 払出制御手段のマスク不能割込処理の他の例を示すフローチャートである。
符号の説明
31 遊技制御基板(主基板)
37 払出制御基板
56 CPU
97 球払出装置
301A 賞球カウントスイッチ
301B 球貸しカウントスイッチ
310 振分ソレノイド
311 振分部材
371 払出制御用CPU
910,910A 電源基板
902,932 電源監視用IC(電源監視手段)

Claims (2)

  1. 遊技媒体を用いて遊技者が所定の遊技を行うことが可能な遊技機であって、
    制御を行う際に発生する変動データを記憶する遊技制御用変動データ記憶手段を有し、遊技の進行を制御する遊技制御用マイクロコンピュータと、
    遊技機への電力供給が停止していても前記遊技制御用変動データ記憶手段の記憶内容を所定期間保持させることが可能な記憶内容保持手段と、
    遊技機で使用される所定の電源の状態を監視して電源断の発生を検出したときに検出信号を出力する電源監視手段と、
    前記遊技制御用マイクロコンピュータが信号を出力するための遊技制御用出力ポートと、を含み、
    前記遊技制御用マイクロコンピュータは、遊技媒体が入賞しやすい開状態と入賞しにくい閉状態とのいずれかに変化可能な可変入賞装置を制御し、
    前記遊技制御用マイクロコンピュータは、前記検出信号の入力に応じて、制御状態を前記遊技制御用変動データ記憶手段に保存させるための処理を含む遊技制御用電力供給停止時処理を実行し、前記遊技制御用電力供給停止時処理において、前記遊技制御用出力ポートに出力された信号をクリアする出力ポートクリア処理と、バックアップフラグを前記遊技制御用変動データ記憶手段に設定するバックアップフラグ設定処理と、前記遊技制御用変動データ記憶手段の記憶内容が正常か否かの判定に用いるチェックデータの作成処理とを実行し、前記バックアップフラグ設定処理および前記作成処理を実行する前に、前記出力ポートクリア処理を実行し、
    前記遊技制御用マイクロコンピュータは、前記出力ポートクリア処理によって、前記可変入賞装置が前記開状態であるときには前記閉状態とさせ、
    前記遊技制御用マイクロコンピュータは、
    電力供給が開始されたときに、前記バックアップフラグが前記遊技制御用変動データ記憶手段に設定されているか否かの判定を実行し、
    前記バックアップフラグが前記遊技制御用変動データ記憶手段に設定されていないと判定されたときには、前記チェックデータにもとづく前記遊技制御用変動データ記憶手段の記憶内容が正常か否かの判定を行うことなく、前記遊技制御用変動データ記憶手段の記憶内容を初期化し、
    前記バックアップフラグが前記遊技制御用変動データ記憶手段に設定されていると判定されたときに、前記チェックデータにもとづいて前記遊技制御用変動データ記憶手段の記憶内容が正常か否かの判定を実行し、
    前記遊技制御用変動データ記憶手段の記憶内容が正常でないと判定されたときには、前記遊技制御用変動データ記憶手段の記憶内容を初期化し、
    前記遊技制御用変動データ記憶手段の記憶内容が正常であると判定されたことを条件に、前記遊技制御用変動データ記憶手段に保存されていた記憶内容にもとづいて制御状態を前記遊技制御用電力供給停止時処理を開始したときの状態に復旧させる遊技制御用状態復旧制御を実行する
    ことを特徴とする遊技機。
  2. 遊技媒体を用いて遊技者が所定の遊技を行うことが可能な遊技機であって、
    制御を行う際に発生する変動データを記憶する払出制御用変動データ記憶手段を有し、遊技媒体の払出の制御を行う払出制御用マイクロコンピュータと、
    遊技機への電力供給が停止していても前記払出制御用変動データ記憶手段の記憶内容を所定期間保持させることが可能な記憶内容保持手段と、
    遊技機で使用される所定の電源の状態を監視して電源断の発生を検出したときに検出信号を出力する電源監視手段と、を含み、
    前記払出制御用マイクロコンピュータは、遊技媒体を払い出す払出手段を制御し、
    前記払出制御用マイクロコンピュータは、前記検出信号の入力に応じて、制御状態を前記払出制御用変動データ記憶手段に保存させるための処理を含む払出制御用電力供給停止時処理を実行し、前記払出制御用電力供給停止時処理において、前記払出手段による遊技媒体の払い出しを停止させる払出停止処理と、バックアップフラグを前記払出制御用変動データ記憶手段に設定するバックアップフラグ設定処理と、前記払出制御用変動データ記憶手段の記憶内容が正常か否かの判定に用いるチェックデータの作成処理とを実行し、前記バックアップフラグ設定処理および前記作成処理を実行する前に、前記払出停止処理を実行し、
    前記払出制御用マイクロコンピュータは、
    電力供給が開始されたときに、前記バックアップフラグが前記払出制御用変動データ記憶手段に設定されているか否かの判定を実行し、
    前記バックアップフラグが前記払出制御用変動データ記憶手段に設定されていないと判定されたときには、前記チェックデータにもとづく前記払出制御用変動データ記憶手段の記憶内容が正常か否かの判定を行うことなく、前記払出制御用変動データ記憶手段の記憶内容を初期化し、
    前記バックアップフラグが前記払出制御用変動データ記憶手段に設定されていると判定されたときに、前記チェックデータにもとづいて前記払出制御用変動データ記憶手段の記憶内容が正常か否かの判定を実行し、
    前記払出制御用変動データ記憶手段の記憶内容が正常でないと判定されたときには、前記払出制御用変動データ記憶手段の記憶内容を初期化し、
    前記払出制御用変動データ記憶手段の記憶内容が正常であると判定されたことを条件に、前記払出制御用変動データ記憶手段に保存されていた記憶内容にもとづいて制御状態を前記払出制御用電力供給停止時処理を開始したときの状態に復旧させる払出制御用状態復旧制御を実行する
    ことを特徴とする遊技機。
JP2007104223A 2007-04-11 2007-04-11 遊技機 Expired - Lifetime JP4237235B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007104223A JP4237235B2 (ja) 2007-04-11 2007-04-11 遊技機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007104223A JP4237235B2 (ja) 2007-04-11 2007-04-11 遊技機

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000200282A Division JP2002017972A (ja) 2000-06-30 2000-06-30 遊技機

Publications (3)

Publication Number Publication Date
JP2007181743A JP2007181743A (ja) 2007-07-19
JP2007181743A5 JP2007181743A5 (ja) 2008-12-18
JP4237235B2 true JP4237235B2 (ja) 2009-03-11

Family

ID=38338254

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007104223A Expired - Lifetime JP4237235B2 (ja) 2007-04-11 2007-04-11 遊技機

Country Status (1)

Country Link
JP (1) JP4237235B2 (ja)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62143153A (ja) * 1985-12-17 1987-06-26 Casio Comput Co Ltd 中央処理装置の制御装置
JPH0467733U (ja) * 1990-10-18 1992-06-16
JP2582489B2 (ja) * 1991-08-21 1997-02-19 株式会社テック 電子機器の停電回復装置
JPH06233867A (ja) * 1993-02-08 1994-08-23 Sophia Co Ltd 遊技機
JPH08141159A (ja) * 1994-11-18 1996-06-04 Sophia Co Ltd 遊技機
JP2694521B2 (ja) * 1995-11-10 1997-12-24 株式会社ソフィア 遊技機
JPH10118265A (ja) * 1996-10-16 1998-05-12 Sanyo Bussan Kk 弾球遊技機
JP3142790B2 (ja) * 1997-02-19 2001-03-07 株式会社ソフィア パチンコ遊技機
JP2000140336A (ja) * 1998-11-10 2000-05-23 Sankyo Kk 弾球遊技機

Also Published As

Publication number Publication date
JP2007181743A (ja) 2007-07-19

Similar Documents

Publication Publication Date Title
JP3907931B2 (ja) 遊技機
JP3859950B2 (ja) 遊技機
JP3907926B2 (ja) 遊技機
JP3647729B2 (ja) 遊技機
JP3915963B2 (ja) 遊技機
JP3842017B2 (ja) 遊技機
JP3727522B2 (ja) 遊技機
JP3907929B2 (ja) 遊技機
JP3609327B2 (ja) 遊技機
JP4237235B2 (ja) 遊技機
JP4237234B2 (ja) 遊技機
JP2003175165A (ja) 遊技機
JP3842018B2 (ja) 遊技機
JP3760402B2 (ja) 遊技機
JP3907927B2 (ja) 遊技機
JP3907928B2 (ja) 遊技機
JP2002017973A (ja) 遊技機
JP4302306B2 (ja) 遊技機
JP2002017972A (ja) 遊技機
JP2003103024A (ja) 遊技機
JP2002052154A (ja) 遊技機
JP4242412B2 (ja) 遊技機
JP2002052153A (ja) 遊技機
JP4242413B2 (ja) 遊技機
JP4242050B2 (ja) 遊技機

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070622

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081029

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081209

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081217

R150 Certificate of patent or registration of utility model

Ref document number: 4237235

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111226

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111226

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111226

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111226

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121226

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121226

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131226

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term