以下、本発明の一実施形態を図面を参照して説明する。
まず、遊技機の一例であるパチンコ遊技機の全体の構成について説明する。図1はパチンコ遊技機1を正面からみた正面図である。なお、ここでは、遊技機の一例としてパチンコ遊技機を示すが、本発明はパチンコ遊技機に限られず、例えばコイン遊技機やスロット機等であってもよい。
図1に示すように、パチンコ遊技機1は、額縁状に形成されたガラス扉枠2を有する。ガラス扉枠2の下部表面には打球供給皿3がある。打球供給皿3の下部には、打球供給皿3からあふれた払出球を貯留する余剰玉受皿4と打球を発射する打球操作ハンドル(操作ノブ)5が設けられている。ガラス扉枠2の後方には、遊技盤6が着脱可能に取り付けられている。また、遊技盤6の前面には遊技領域7が設けられている。
遊技領域7の中央付近には、複数種類の図柄を可変表示するための可変表示部9と7セグメントLEDによる可変表示器10とを含む可変表示装置8が設けられている。また、可変表示器10の下部には、4個のLEDからなる通過記憶表示器(普通図柄用記憶表示器)41が設けられている。この実施の形態では、可変表示部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カウントスイッチ22で検出される。また、開閉板20からの入賞球はカウントスイッチ23で検出される。可変表示装置8の下部には、始動入賞口14に入った入賞球数を表示する4個の表示部を有する始動入賞記憶表示器18が設けられている。この例では、4個を上限として、始動入賞がある毎に、始動入賞記憶表示器18は点灯している表示部を1つずつ増やす。そして、可変表示部9の可変表示が開始される毎に、点灯している表示部を1つ減らす。
遊技盤6には、複数の入賞口19,24が設けられ、遊技球の入賞口19,24への入賞は入賞口スイッチ19a,24aによって検出される。遊技領域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が設置されている。また、中央付近には、主基板31からの各種情報を遊技機外部に出力するための各端子を備えた情報端子盤(外部情報出力装置)34が設置されている。なお、図2には、ランプ制御基板35および音声制御基板70からの信号を、枠側に設けられているスピーカ27、遊技効果LED28a、遊技効果ランプ28b,28c、賞球ランプ51および球切れランプ52に供給するための電飾中継基板A77が示されているが、信号中継の必要に応じて他の中継基板も設けられる。
また、図3はパチンコ遊技機1の機構板を背面からみた背面図である。球貯留タンク38に貯留された遊技球は誘導樋39を通り、図3に示されるように、球切れ検出器(球切れスイッチ)187a,187bを通過して球供給樋186a,186bを経て球払出装置97に至る。球払出装置97から払い出された遊技球は、連絡口45を通ってパチンコ遊技機1の前面に設けられている打球供給皿3に供給される。連絡口45の側方には、パチンコ遊技機1の前面に設けられている余剰玉受皿4に連通する余剰玉通路46が形成されている。入賞にもとづく景品球が多数払い出されて打球供給皿3が満杯になり、ついには遊技球が連絡口45に到達した後さらに遊技球が払い出されると遊技球は、余剰玉通路46を経て余剰玉受皿4に導かれる。さらに遊技球が払い出されると、感知レバー47が満タンスイッチ48を押圧して満タンスイッチ48がオンする。その状態では、球払出装置97内のステッピングモータの回転が停止して球払出装置97の動作が停止するとともに打球発射装置34の駆動も停止する。
賞球払出制御を行うために、入賞口スイッチ(図示せず)、始動口スイッチ17およびVカウントスイッチ22からの信号が、主基板31に送られる。主基板31のCPU56は、始動口スイッチ17がオンすると6個の賞球払出に対応した入賞が発生したことを知る。また、カウントスイッチ23がオンすると15個の賞球払出に対応した入賞が発生したことを知る。そして、入賞口スイッチがオンすると10個の賞球払出に対応した入賞が発生したことを知る。なお、この実施の形態では、例えば、入賞口24に入賞した遊技球は、入賞口24からの入賞球流路に設けられている入賞口スイッチ24aで検出され、入賞口19に入賞した遊技球は、入賞口19からの入賞球流路に設けられている入賞口スイッチ19aで検出される。
次に、機構板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において図示せず)の回転を停止して球払出が不動化されるとともに、球切れランプ52が球切れ報知状態となる。
なお、球切れスイッチ187a,187bは、払出球通路186a,186bに27〜28個程度の遊技球が存在することを検出できるような位置に係止片188によって係止されている。
通路体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の検出出力から、直ちに賞球数または球貸し数を把握することができる。
図6は、主基板31における回路構成の一例を示すブロック図である。なお、図6には、払出制御基板37、ランプ制御基板35、音声制御基板70、発射制御基板91および図柄制御基板80も示されている。主基板31には、プログラムに従ってパチンコ遊技機1を制御する基本回路53と、ゲートスイッチ12、始動口スイッチ17、Vカウントスイッチ22、カウントスイッチ23入賞口スイッチ19a,24a、満タンスイッチ48および賞球カウントスイッチ301Aからの信号を基本回路53に与えるスイッチ回路58と、可変入賞球装置15を開閉するソレノイド16および開閉板20を開閉するソレノイド21を基本回路53からの指令に従って駆動するソレノイド回路59とが搭載されている。
また、基本回路53から与えられるデータに従って、大当りの発生を示す大当り情報、可変表示部9の画像表示開始に利用された始動入賞球の個数を示す始動情報、確率変動が生じたことを示す確変情報等をホール管理コンピュータ等のホストコンピュータに対して出力する情報出力回路64を含む。
基本回路53は、ゲーム制御用のプログラム等を記憶するROM54、ワークメモリとして使用される記憶手段の一例であるRAM55、制御用のプログラムに従って制御動作を行うCPU56およびI/Oポート部57を含む。この実施の形態では、ROM54,RAM55はCPU56に内蔵されている。すなわち、CPU56は、1チップマイクロコンピュータである。なお、1チップマイクロコンピュータは、少なくともRAM55が内蔵されていればよく、ROM54およびI/Oポート部57は外付けであっても内蔵されていてもよい。また、I/Oポート部57は、マイクロコンピュータにおける情報入出力可能な端子である。
さらに、主基板31には、電源投入時に基本回路53をリセットするための初期リセット回路65と、基本回路53から与えられるアドレス信号をデコードしてI/Oポート部57のうちのいずれかのI/Oポートを選択するための信号を出力するアドレスデコード回路67とが設けられている。
なお、球払出装置97から主基板31に入力されるスイッチ情報もあるが、図6ではそれらは省略されている。
遊技球を打撃して発射する打球発射装置は発射制御基板91上の回路によって制御される駆動モータ94で駆動される。そして、駆動モータ94の駆動力は、操作ノブ5の操作量に従って調整される。すなわち、発射制御基板91上の回路によって、操作ノブ5の操作量に応じた速度で打球が発射されるように制御される。
なお、この実施の形態では、ランプ制御基板35に搭載されているランプ制御手段が、遊技盤に設けられている始動記憶表示器18、ゲート通過記憶表示器41および装飾ランプ25の表示制御を行うとともに、枠側に設けられている遊技効果ランプ・LED28a,28b,28c、賞球ランプ51および球切れランプ52の表示制御を行う。ここで、ランプ制御手段は発光体制御手段の一例である。また、特別図柄を可変表示する可変表示部9および普通図柄を可変表示する可変表示器10の表示制御は、図柄制御基板80に搭載されている図柄制御手段(表示制御手段)によって行われる。
装飾ランプ25および遊技効果ランプ・LED28a,28b,28cは、遊技の進行に伴って装飾的に様々に表示制御される。また、始動記憶表示器18およびゲート通過記憶表示器41は、保留個数を遊技者に報知するための発光体である。さらに、賞球ランプ51および球切れランプ52も、未賞球ありおよび球切れを遊技者や遊技店員に報知するための発光体である。この実施の形態では、遊技制御手段とは別に設けられているランプ制御手段が、装飾ランプ25および遊技効果ランプ・LED28a,28b,28cの表示制御を行い、さらに、情報報知のための設けられている始動記憶表示器18、ゲート通過記憶表示器41、賞球ランプ51および球切れランプ52の表示制御も行う。従って、遊技制御手段は、遊技機に設けられている発光体の具体的な点灯/消灯制御を行わなくてよく、遊技制御手段の発光体制御に関する制御負担が大きく低減されている。
図7は、図柄制御基板80内の回路構成を、可変表示部9の一実現例であるLCD(液晶表示装置)82、可変表示器10、主基板31の出力ポート(ポートA,B)571,572および出力バッファ回路63A,63Bとともに示すブロック図である。出力ポート571からは8ビットのデータが出力され、出力ポート572からは1ビットのストローブ信号(INT信号)が出力される。
図柄制御用CPU101は、制御データROM102に格納されたプログラムに従って動作し、主基板31からノイズフィルタ107および入力バッファ回路105Bを介してINT信号が入力されると、入力バッファ回路105Aを介して図柄制御コマンドを受信する。入力バッファ回路105A,105Bとして、例えば汎用ICである74HC540,74HC14を使用することができる。なお、図柄制御用CPU101がI/Oポートを内蔵していない場合には、入力バッファ回路105A,105Bと図柄制御用CPU101との間に、I/Oポートが設けられる。
そして、図柄制御用CPU101は、受信した図柄制御コマンドに従って、LCD82に表示される画面の表示制御を行う。具体的には、図柄制御コマンドに応じた指令をVDP103に与える。VDP103は、キャラクタROM86から必要なデータを読み出す。VDP103は、入力したデータに従ってLCD82に表示するための画像データを生成し、R,G,B信号および同期信号をLCD82に出力する。
なお、図7には、VDP103をリセットするためのリセット回路83、VDP103に動作クロックを与えるための発振回路85、および使用頻度の高い画像データを格納するキャラクタROM86も示されている。キャラクタROM86に格納される使用頻度の高い画像データとは、例えば、LCD82に表示される人物、動物、または、文字、図形もしくは記号等からなる画像などである。
入力バッファ回路105A,105Bは、主基板31から図柄制御基板80へ向かう方向にのみ信号を通過させることができる。従って、図柄制御基板80側から主基板31側に信号が伝わる余地はない。すなわち、入力バッファ回路105A,105Bは、入力ポートともに不可逆性情報入力手段を構成する。図柄制御基板80内の回路に不正改造が加えられても、不正改造によって出力される信号が主基板31側に伝わることはない。
なお、出力ポート571,572の出力をそのまま図柄制御基板80に出力してもよいが、単方向にのみ信号伝達可能な出力バッファ回路63A,63Bを設けることによって、主基板31から図柄制御基板80への一方向性の信号伝達をより確実にすることができる。すなわち、出力バッファ回路63A,63Bは、出力ポートともに不可逆性情報出力手段を構成する。
また、高周波信号を遮断するノイズフィルタ107として、例えば3端子コンデンサやフェライトビーズが使用されるが、ノイズフィルタ107の存在によって、図柄制御コマンドに基板間でノイズが乗ったとしても、その影響は除去される。なお、主基板31のバッファ回路63A,63Bの出力側にもノイズフィルタを設けてもよい。
図8は、主基板31における音声制御コマンドの信号送信部分および音声制御基板70の構成例を示すブロック図である。この実施の形態では、遊技進行に応じて、遊技領域7の外側に設けられているスピーカ27の音声出力を指示するための音声制御コマンドが、主基板31から音声制御基板70に出力される。
図8に示すように、音声制御コマンドは、基本回路53におけるI/Oポート部57の出力ポート(出力ポートC,D)573,574から出力される。出力ポート573からは8ビットのデータが出力され、出力ポート574からは1ビットのINT信号が出力される。音声制御基板70において、主基板31からの各信号は、入力バッファ回路705,705Bを介して音声制御用CPU701に入力する。なお、音声制御用CPU701がI/Oポートを内蔵していない場合には、入力バッファ回路705A,705Bと音声制御用CPU701との間に、I/Oポートが設けられる。
そして、例えばディジタルシグナルプロセッサによる音声合成回路702は、音声制御用CPU701の指示に応じた音声や効果音を発生し音量切替回路703に出力する。音量切替回路703は、音声制御用CPU701の出力レベルを、設定されている音量に応じたレベルにして音量増幅回路704に出力する。音量増幅回路704は、増幅した音声信号をスピーカ27に出力する。
入力バッファ回路705A,705Bとして、例えば、汎用のCMOS−ICである74HC540,74HC14が用いられる。入力バッファ回路705A,705Bは、主基板31から音声制御基板70へ向かう方向にのみ信号を通過させることができる。よって、音声制御基板70側から主基板31側に信号が伝わる余地はない。従って、音声制御基板70内の回路に不正改造が加えられても、不正改造によって出力される信号が主基板31側に伝わることはない。なお、入力バッファ回路705A,705Bの入力側にノイズフィルタを設けてもよい。
また、主基板31において、出力ポート573,574の外側にバッファ回路67A,67Bが設けられている。バッファ回路67A,67Bとして、例えば、汎用のCMOS−ICである74HC250,74HC14が用いられる。このような構成によれば、外部から主基板31の内部に入力される信号が阻止されるので、音声制御基板70から主基板31に信号が与えられる可能性がある信号ラインをさらに確実になくすことができる。なお、バッファ回路67A,67Bの出力側にノイズフィルタを設けてもよい。
図9は、主基板31およびランプ制御基板35における信号送受信部分を示すブロック図である。この実施の形態では、遊技領域7の外側に設けられている遊技効果LED28a、遊技効果ランプ28b,28cと遊技盤に設けられている装飾ランプ25の点灯/消灯と、賞球ランプ51および球切れランプ52の点灯/消灯とを示すランプ制御コマンドが主基板31からランプ制御基板35に出力される。また、始動記憶表示器18およびゲート通過記憶表示器41の点灯個数を示すランプ制御コマンドも主基板31からランプ制御基板35に出力される。
図9に示すように、ランプ制御に関するランプ制御コマンドは、基本回路53におけるI/Oポート部57の出力ポート(出力ポートE,F)575,576から出力される。出力ポート575は8ビットのデータを出力し、出力ポート576は1ビットのINT信号を出力する。ランプ制御基板35において、主基板31からの制御コマンドは、入力バッファ回路355A,355Bを介してランプ制御用CPU351に入力する。なお、ランプ制御用CPU351がI/Oポートを内蔵していない場合には、入力バッファ回路355A,355Bとランプ制御用CPU351との間に、I/Oポートが設けられる。
ランプ制御基板35において、ランプ制御用CPU351は、各制御コマンドに応じて定義されている遊技効果LED28a、遊技効果ランプ28b,28c、装飾ランプ25の点灯/消灯パターンに従って、遊技効果LED28a、遊技効果ランプ28b,28c、装飾ランプ25に対して点灯/消灯信号を出力する。点灯/消灯信号は、遊技効果LED28a、遊技効果ランプ28b,28c、装飾ランプ25に出力される。なお、点灯/消灯パターンは、ランプ制御用CPU351の内蔵ROMまたは外付けROMに記憶されている。
主基板31において、CPU56は、RAM55の記憶内容に未払出の賞球残数があるときに賞球ランプ51の点灯を指示する制御コマンドを出力し、前述した遊技盤裏面の払出球通路186a,186bの上流に設置されている球切れスイッチ187a,187b(図4参照)が遊技球を検出しなくなると球切れランプ52の点灯を指示する制御コマンドを出力する。ランプ制御基板35において、各制御コマンドは、入力バッファ回路355A,355Bを介してランプ制御用CPU351に入力する。ランプ制御用CPU351は、それらの制御コマンドに応じて、賞球ランプ51および球切れランプ52を点灯/消灯する。なお、点灯/消灯パターンは、ランプ制御用CPU351の内蔵ROMまたは外付けROMに記憶されている。
さらに、ランプ制御用CPU351は、制御コマンドに応じて始動記憶表示器18およびゲート通過記憶表示器41に対して点灯/消灯信号を出力する。
入力バッファ回路355A,355Bとして、例えば、汎用のCMOS−ICである74HC540,74HC14が用いられる。入力バッファ回路355A,355Bは、主基板31からランプ制御基板35へ向かう方向にのみ信号を通過させることができる。従って、ランプ制御基板35側から主基板31側に信号が伝わる余地はない。たとえ、ランプ制御基板35内の回路に不正改造が加えられても、不正改造によって出力される信号がメイン基板31側に伝わることはない。なお、入力バッファ回路355A,355Bの入力側にノイズフィルタを設けてもよい。
また、主基板31において、出力ポート575,576の外側にバッファ回路62A,62Bが設けられている。バッファ回路62A,62Bとして、例えば、汎用のCMOS−ICである74HC250,74HC14が用いられる。このような構成によれば、外部から主基板31の内部に入力される信号が阻止されるので、ランプ制御基板70から主基板31に信号が与えられる可能性がある信号ラインをさらに確実になくすことができる。なお、バッファ回路62A,62Bの出力側にノイズフィルタを設けてもよい。
図10は、払出制御基板37および球払出装置97の構成要素などの賞球に関連する構成要素を示すブロック図である。図10に示すように、満タンスイッチ48からの検出信号は、中継基板71を介して主基板31のI/Oポート57に入力される。満タンスイッチ48は、余剰玉受皿4の満タンを検出するスイッチである。
球切れスイッチ187(187a,187b)からの検出信号は、中継基板72および中継基板71を介して主基板31のI/Oポート57に入力される。球切れスイッチ187は、払出球通路内の遊技球の有無を検出するスイッチである。
入賞があると、払出制御基板37には、主基板31から賞球個数を示す払出制御コマンドが入力される。賞球個数を示す払出制御コマンドは、入力バッファ回路373Aを介してI/Oポート372aに入力される。また、INT信号が入力バッファ回路373Bを介してCPUの割込端子に入力される。入力バッファ回路373A,373Bにおける各バッファは、主基板31から払出制御基板37へ向かう方向にのみ信号を通過させることができる。従って、払出制御基板37側から主基板31側に信号が伝わる余地はない。払出制御基板37内の回路に不正改造が加えられても、不正改造によって出力される信号が主基板31側に伝わることはない。また、主基板31において、払出制御コマンドを出力する出力ポート577A,577Bの外側にバッファ回路68A,68Bが設けられている。このような構成によれば、外部から主基板31の内部に入力される信号が阻止されるので、払出制御基板37から主基板31に信号が与えられる可能性がある信号ラインをより確実になくすことができる。
主基板31のCPU56は、球切れスイッチ187からの検出信号が球切れ状態を示しているか、または、満タンスイッチ48からの検出信号が満タン状態を示していると、球払出禁止を指示する払出制御コマンドを送出する。球払出禁止を指示する払出制御コマンドを受信すると、払出制御基板37の払出制御用CPU371は、球払出処理を停止する。
さらに、賞球カウントスイッチ301Aからの検出信号も、中継基板72および中継基板71を介して主基板31のI/Oポート57に入力される。また、賞球カウントスイッチ301Aおよび球貸しカウントスイッチ301Bは、球払出装置97の払出機構部分に設けられ、実際に払い出された遊技球を検出する。
入賞があると、払出制御基板37には、主基板31の出力ポート(ポートG,H)577A,577Bから賞球個数を示す払出制御コマンドが入力される。出力ポート577は8ビットのデータを出力し、出力ポート578は1ビットのストローブ信号(INT信号)を出力する。賞球個数を示す払出制御コマンドは、入力バッファ回路373を介してI/Oポート372aに入力される。払出制御用CPU371は、I/Oポート372aを介して払出制御コマンドを入力し、払出制御コマンドに応じて球払出装置97を駆動して賞球払出を行う。なお、この実施の形態では、払出制御用CPU371は、1チップマイクロコンピュータであり、少なくともRAMが内蔵されている。
払出制御用CPU371は、出力ポート372gを介して、貸し玉数を示す球貸し個数信号をターミナル基板160に出力し、ブザー駆動信号をブザー基板75に出力する。ブザー基板75にはブザーが搭載されている。さらに、出力ポート372eを介して、エラー表示用LED374にエラー信号を出力する。
さらに、払出制御基板37の入力ポート372bには、中継基板72を介して、賞球カウントスイッチ301Aの検出信号の検出信号が入力される。払出制御基板37からの払出モータ289への駆動信号は、出力ポート372cおよび中継基板72を介して球払出装置97の賞球機構部分における払出モータ289に伝えられる。また、払出制御基板37から振分用ソレノイド310への駆動信号は、出力ポート372dおよび中継基板72を介して球払出装置97の振分用ソレノイド310に伝えられる。
カードユニット50には、カードユニット制御用マイクロコンピュータが搭載されている。また、カードユニット50には、端数表示スイッチ152、連結台方向表示器153、カード投入表示ランプ154およびカード挿入口155が設けられている(図1参照)。残高表示基板74には、打球供給皿3の近傍に設けられている度数表示LED、球貸しスイッチおよび返却スイッチが接続される。
残高表示基板74からカードユニット50には、遊技者の操作に応じて、球貸しスイッチ信号および返却スイッチ信号が払出制御基板37を介して与えられる。また、カードユニット50から残高表示基板74には、プリペイドカードの残高を示すカード残高表示信号および球貸し可表示信号が払出制御基板37を介して与えられる。カードユニット50と払出制御基板37の間では、ユニット操作信号(BRDY信号)、球貸し要求信号(BRQ信号)、球貸し完了信号(EXS信号)およびパチンコ機動作信号(PRDY信号)がI/Oポート372fを介してやりとりされる。
パチンコ遊技機1の電源が投入されると、払出制御基板37の払出制御用CPU371は、カードユニット50にPRDY信号を出力する。カードユニット50においてカードが受け付けられ、球貸しスイッチが操作され球貸しスイッチ信号が入力されると、カードユニット制御用マイクロコンピュータは、払出制御基板37にBRDY信号を出力する。この時点から所定の遅延時間が経過すると、カードユニット制御用マイクロコンピュータは、払出制御基板37にBRQ信号を出力する。そして、払出制御基板37の払出制御用CPU371は、BRQ信号に応じてEXS信号をオンするとともに、払出モータ289を駆動し、所定個の貸し玉を遊技者に払い出す。そして、払出が完了したら、払出制御用CPU371は、カードユニット50にEXS信号をオフ状態にする。
以上のように、カードユニット50からの信号は全て払出制御基板37に入力される構成になっている。従って、球貸し制御に関して、カードユニット50から主基板31に信号が入力されることはなく、主基板31の基本回路53にカードユニット50の側から不正に信号が入力される余地はない。なお、主基板31および払出制御基板37には、ソレノイドおよびモータやランプを駆動するためのドライバ回路が搭載されているが、図10では、それらの回路は省略されている。
この実施の形態では、主基板31および払出制御基板37におけるRAMは、バックアップ電源でバックアップされている。すなわち、遊技機に対する電力供給が停止しても、所定期間はRAMの内容が保存される。そして、各CPUは、電源電圧の低下を検出すると、所定の処理を行った後に電源復旧待ちの状態になる。また、電源投入時に、各CPUは、RAMにデータが保存されている場合には、保存データにもとづいて電源断前の状態を復元する。また、図10に示された各入力ポートは、払出制御用CPU371に内蔵されていてもよい。
図11は、電源監視および電源バックアップのための主基板31のCPU56周りの一構成例を示すブロック図である。図11に示すように、第1の電源監視回路(第1の電源監視手段)からの電圧低下信号が、CPU56のマスク不能割込端子(NMI端子)に接続されている。第1の電源監視回路は、遊技機が使用する各種直流電源のうちのいずれかの電源の電圧を監視して電源電圧低下を検出する回路である。この実施の形態では、VSLの電源電圧を監視して電圧値が所定値以下になるとローレベルの電圧低下信号を発生する。VSLは、遊技機で使用される直流電圧のうちで最大のものであり、この例では+30Vである。従って、CPU56は、割込処理によって電源断の発生を確認することができる。なお、この実施の形態では、第1の電源監視回路は、後述する電源基板に搭載されている。
図11には、初期リセット回路65も示されているが、この実施の形態では、初期リセット回路65は、第2の電源監視回路(第2の電源監視手段)も兼ねている。すなわち、リセットIC651は、電源投入時に、外付けのコンデンサの容量で決まる所定時間だけ出力をローレベルとし、所定時間が経過すると出力をハイレベルにする。すなわち、リセット信号をハイレベルに立ち上げてCPU56を動作可能状態にする。また、リセットIC651は、第1の電源監視回路が監視する電源電圧と等しい電源電圧であるVSLの電源電圧を監視して電圧値が所定値(第1の電源監視回路が電圧低下信号を出力する電源電圧値よりも低い値)以下になるとローレベルの電圧低下信号を発生する。従って、CPU56は、第1の電源監視回路からの電圧低下信号に応じて所定の電力供給停止時処理を行った後、システムリセットされる。なお、この実施の形態では、リセット信号と第2の電源監視回路からの電圧低下信号とは同一の信号である。
図11に示すように、リセット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は、確実に動作を開始する。
そして、例えば、第1の電源監視回路の検出電圧(電圧低下信号を出力することになる電圧)を+22Vとし、第2の電源監視回路の検出電圧を+9Vとする。そのように構成した場合には、第1の電源監視回路と第2の電源監視回路とは、同一の電源VSLの電圧を監視するので、第1の電圧監視回路が電圧低下信号を出力するタイミングと第2の電圧監視回路が電圧低下信号を出力するタイミングの差を所望の所定期間に確実に設定することができる。所望の所定期間とは、第1の電源監視回路からの電圧低下信号に応じて電力供給停止時処理を開始してから電力供給停止時処理が確実に完了するまでの期間である。
この例では、第1の電源監視手段が検出信号を出力することになる第1検出条件は+30V電源電圧が+22Vにまで低下したことであり、第2の電源監視手段が検出信号を出力することになる第2検出条件は+30V電源電圧が+9Vにまで低下したことになる。ただし、ここで用いられている電圧値は一例であって、他の値を用いてもよい。
ただし、監視範囲が狭まるが、第1の電圧監視回路および第2の電圧監視回路の監視電圧として+5V電源電圧を用いることも可能である。その場合にも、第1の電圧監視回路の検出電圧は、第2の電圧監視回路の検出電圧よりも高く設定される。
CPU56等の駆動電源である+5V電源から電力が供給されていない間、RAMの少なくとも一部は、電源基板から供給されるバックアップ電源によってバックアップされ、遊技機に対する電源が断しても内容は保存される。そして、+5V電源が復旧すると、初期リセット回路65からリセット信号が発せられるので、CPU56は、通常の動作状態に復帰する。そのとき、必要なデータがバックアップされているので、停電等からの復旧時には停電発生時の遊技状態に復帰することができる。
なお、図11では、電源投入時にCPU56のリセット端子に2回のリセット信号(ローレベル信号)が与えられる構成が示されたが、リセット信号の立ち上がりタイミングが1回しかなくても確実にリセット解除されるCPUを使用する場合には、符号941〜949で示された回路素子は不要である。その場合、リセットIC651の出力がそのままCPU56のリセット端子に接続される。
図12は、遊技機の電源基板910の一構成例を示すブロック図である。電源基板910は、主基板31、図柄制御基板80、音声制御基板70、ランプ制御基板35および払出制御基板37等の電気部品制御基板と独立して設置され、遊技機内の各電気部品制御基板および機構部品が使用する電圧を生成する。この例では、AC24V、VSL(DC+30V)、DC+21V、DC+12VおよびDC+5Vを生成する。また、バックアップ電源となるコンデンサ916は、DC+5Vすなわち各基板上のIC等を駆動する電源のラインから充電される。
トランス911は、交流電源からの交流電圧を24Vに変換する。AC24V電圧は、コネクタ915に出力される。また、整流回路912は、AC24Vから+30Vの直流電圧を生成し、DC−DCコンバータ913およびコネクタ915に出力する。DC−DCコンバータ913は、+22V、+12Vおよび+5Vを生成してコネクタ915に出力する。コネクタ915は例えば中継基板に接続され、中継基板から各電気部品制御基板および機構部品に必要な電圧の電力が供給される。
DC−DCコンバータ913からの+5Vラインは分岐してバックアップ+5Vラインを形成する。バックアップ+5Vラインとグラウンドレベルとの間には大容量のコンデンサ916が接続されている。コンデンサ916は、遊技機に対する電力供給が遮断されたときの電気部品制御基板のバックアップRAM(電源バックアップされているRAMすなわち記憶内容保持状態となりうる記憶手段)に対して記憶状態を保持できるように電力を供給するバックアップ電源となる。また、+5Vラインとバックアップ+5Vラインとの間に、逆流防止用のダイオード917が挿入される。
なお、バックアップ電源として、+5V電源から充電可能な電池を用いてもよい。電池を用いる場合には、+5V電源から電力供給されない状態が所定時間継続すると容量がなくなるような充電池が用いられる。
また、電源基板910には、上述した第1の電源監視回路を構成する電源監視用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の電源監視回路から複数の電気部品制御基板に電圧低下信号を供給することができる。電圧低下信号を必要とする電気部品制御基板が幾つあっても第1の電源監視手段は1つ設けられていればよいので、各電気部品制御基板における各電気部品制御手段が後述する復帰制御を行っても、遊技機のコストはさほど上昇しない。
なお、図12に示された構成では、電源監視用IC902の検出出力(電圧低下信号)は、バッファ回路918,919を介してそれぞれの電気部品制御基板(例えば主基板31と払出制御基板37)に伝達されるが、例えば、1つの検出出力を中継基板に伝達し、中継基板から各電気部品制御基板に同じ信号を分配する構成でもよい。また、電圧低下信号を必要とする基板数に応じたバッファ回路を設けてもよい。
次に遊技機の動作について説明する。
図13は、主基板31におけるCPU56が実行するメイン処理を示すフローチャートである。遊技機に対する電源が投入されると、メイン処理において、CPU56は、まず、停電からの復旧時であったか否か確認する(ステップS1)。停電からの復旧時であったか否かは、例えば、電源断時にバックアップRAM領域に設定される電源断フラグによって確認される。
停電からの復旧時であった場合には、バックアップRAM領域のデータチェック(この例ではパリティチェック)を行う(ステップS3)。不測の電源断が生じた後に復旧した場合には、バックアップRAM領域のデータは保存されていたはずであるから、チェック結果は正常になる。チェック結果が正常でない場合には、内部状態を電源断時の状態に戻すことができないので、停電復旧時でない電源投入時に実行される初期化処理を実行する(ステップS4,S2)。
チェック結果が正常であれば、CPU56は、内部状態を電源断時の状態に戻すための遊技状態復旧処理を行うとともに(ステップS5)、電源断フラグをクリアする(ステップS6)。そして、バックアップRAM領域に保存されていたプログラムカウンタ(電源断時の実行アドレスが設定されている)の指すアドレスに復帰する。
停電からの復旧時でない場合には、CPU56は、通常の初期化処理を実行する(ステップS1,S2)。その後、メイン処理では、タイマ割込フラグの監視(ステップS6)の確認が行われるループ処理に移行する。なお、ループ内では、表示用乱数更新処理(ステップS7)も実行される。
なお、ここでは、ステップS1で停電からの復旧か否かを確認し、停電からの復旧時であればパリティチェックを行ったが、最初に、パリティチェックを実行し、チェック結果が正常でなければ停電からの復旧ではないと判断してステップS2の初期化処理を実行し、チェック結果が正常であれば遊技状態復帰処理を行ってもよい。すなわち、パリティチェックの結果をもって停電からの復旧であるか否かを判断してもよい。
また、停電復旧処理を実行するか否か判断する場合に、すなわち、遊技状態を復旧するか否か判断する際に、保存されていたRAMデータにおける特別プロセスフラグ等や始動入賞記憶数データによって、遊技機が遊技待機状態(図柄変動中でなく、大当り遊技中でなく、確変中でなく、また、始動入賞記憶がない状態)であることが確認されたら、遊技状態復旧処理を行わずに初期化処理を実行するようにしてもよい。
通常の初期化処理では、図14に示すように、レジスタおよびRAMのクリア処理(ステップS2a)と、必要な初期値設定処理(ステップS2b)が行われた後に、2ms毎に定期的にタイマ割込がかかるようにCPU56に設けられているタイマレジスタの初期設定(タイムアウトが2msであることと繰り返しタイマが動作する設定)が行われる(ステップS2c)。すなわち、ステップS2cで、タイマ割込を能動化する処理と、タイマ割込インタバルを設定する処理とが実行される。
従って、この実施の形態では、CPU56の内部タイマが繰り返しタイマ割込を発生するように設定される。この実施の形態では、繰り返し周期は2msに設定される。そして、図15に示すように、タイマ割込が発生すると、CPU56は、タイマ割込フラグをセットする(ステップS11)。
CPU56は、ステップS8において、タイマ割込フラグがセットされたことを検出すると、タイマ割込フラグをリセットするとともに(ステップS9)、遊技制御処理を実行する(ステップS10)。以上の制御によって、この実施の形態では、遊技制御処理は2ms毎に起動されることになる。なお、この実施の形態では、タイマ割込処理ではフラグセットのみがなされ、遊技制御処理はメイン処理において実行されるが、タイマ割込処理で遊技制御処理を実行してもよい。
図16は、ステップS10の遊技制御処理を示すフローチャートである。遊技制御処理において、CPU56は、まず、格納領域に設定されたデータを出力ポートに出力する処理を行う(データ出力処理:ステップS21)。次いで、各出力ポートに出力される各種出力データを格納領域に設定する処理を行うとともに、ホール管理用コンピュータに出力される大当り情報、始動情報、確率変動情報などの出力データを格納領域に設定する出力データ設定処理を行う(ステップS22)。さらに、パチンコ遊技機1の内部に備えられている自己診断機能によって種々の異常診断処理が行われ、その結果に応じて必要ならば警報が発せられる(エラー処理:ステップS23)。
次に、遊技制御に用いられる大当り判定用の乱数等の各判定用乱数を示す各カウンタを更新する処理を行う(ステップS24)。
さらに、CPU56は、特別図柄プロセス処理を行う(ステップS25)。特別図柄プロセス制御では、遊技状態に応じてパチンコ遊技機1を所定の順序で制御するための特別図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、特別図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。また、普通図柄プロセス処理を行う(ステップS26)。普通図柄プロセス処理では、7セグメントLEDによる可変表示器10を所定の順序で制御するための普通図柄プロセスフラグに従って該当する処理が選び出されて実行される。そして、普通図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。
さらに、CPU56は、スイッチ回路58を介して、ゲートセンサ12、始動口センサ17、カウントセンサ23および入賞口スイッチ19a,24aの状態を入力し、各入賞口や入賞装置に対する入賞があったか否か判定する(スイッチ処理:ステップS27)。CPU56は、さらに、停止図柄の種類を決定する乱数等の表示用乱数を更新する処理を行う(ステップS28)。
また、CPU56は、払出制御基板37との間の信号処理を行う(ステップS29)。すなわち、所定の条件が成立すると払出制御基板37に払出制御コマンドを出力するための処理を行う。払出制御基板37に搭載されている払出制御用CPUは、払出制御コマンドに応じて球払出装置97を駆動する。
以上のように、メイン処理には遊技制御処理に移行すべきか否かを判定する処理が含まれ、CPU56の内部タイマが定期的に発生するタイマ割込にもとづくタイマ割込処理で遊技制御処理に移行すべきか否かを判定するためのフラグがセットされるので、遊技制御処理の全てが確実に実行される。つまり、遊技制御処理の全てが実行されるまでは、次回の遊技制御処理に移行すべきか否かの判定が行われないので、遊技制御処理中の全ての各処理が実行完了することは保証されている。
従来の一般的な遊技制御処理は、定期的に発生する外部割込によって、強制的に最初の状態に戻されていた。図16に示された例に則して説明すると、例えば、ステップS31の処理中であっても、強制的にステップS21の処理に戻されていた。つまり、遊技制御処理中の全ての各処理が実行完了する前に、次回の遊技制御処理が開始されてしまう可能性があった。
なお、ここでは、主基板31のCPU56が実行する遊技制御処理は、CPU56の内部タイマが定期的に発生するタイマ割込にもとづくタイマ割込処理でセットされるフラグに応じて実行されたが、定期的に(例えば2ms毎)信号を発生するハードウェア回路を設け、その回路からの信号をCPU56の外部割込端子に導入し、割込信号によって遊技制御処理に移行すべきか否かを判定するためのフラグをセットするようにしてもよい。
そのように構成した場合にも、遊技制御処理の全てが実行されるまでは、フラグの判定が行われないので、遊技制御処理中の全ての各処理が実行完了することが保証される。
図17は、可変表示器10において可変表示される普通図柄の変動の様子と当り動作(この例では可変入賞球装置15の開閉)の関係を示すタイミング図である。図17に示すように、普通図柄の変動開始時に、主基板31から図柄制御基板80に変動パターンおよび停止図柄を示すコマンドが送信される。また、変動停止時に、普通図柄停止を示すコマンドが送信される。
図18は、遊技の進行状況と可変表示部9において可変表示される特別図柄の変動等の関係を示すタイミング図である。図18に示すように、遊技の進行状況は、(1)電源投入時、(2)客待ちデモンストレーション中、(3)特別図柄の変動から確定まで、(4)特別図柄の確定から初回の大入賞口開放まで、(5)初回の大入賞口開放から最終回の大入賞口閉鎖まで、(6)最終回の大入賞口閉鎖から次の特別図柄の変動までに大別される。
図19は、特別図柄の変動と図柄制御コマンドとの関係を示すタイミング図である。図19に示すように、変動開始時に、変動パターン指定、左図柄指定、中図柄指定および右図柄指定のコマンドが主基板31から図柄制御基板80に送信される。また、変動終了時に、全図柄停止を示すコマンドが送信される。このように、この実施の形態では、1回の変動について5個のコマンドが送信される。
図20は、図柄制御コマンドのコマンド形態の一例を示す説明図である。この実施の形態では、図柄制御コマンドは2バイト構成であり、1バイト目はMODE(コマンドの分類)を表し、2バイト目はEXT(コマンドの種類)を表す。
図21は、図柄制御コマンドの内容の一例を示す説明図である。図21に示された例において、コマンド8000(H)〜8022(H)、8100(H)〜8122(H)は、特別図柄を可変表示する可変表示部9における特別図柄の変動パターンを指定する図柄制御コマンドである。なお、変動パターンを指定するコマンドは変動開始指示も兼ねている。コマンド88XX(X=4ビットの任意の値)は、可変表示器10で可変表示される普通図柄の変動パターンに関する図柄制御コマンドである。コマンド89XXは、普通図柄の停止図柄を指定する図柄制御コマンドである。コマンド8AXX(X=4ビットの任意の値)は、普通図柄の可変表示の停止を指示する図柄制御コマンドである。
コマンド91XX、92XXおよび93XXは、特別図柄の左中右の停止図柄を指定する図柄制御コマンドである。また、コマンドA0XXは、特別図柄の可変表示の停止を指示する図柄制御コマンドである。コマンドBXXXは、大当り遊技開始から大当り遊技終了までの間に送出される図柄制御コマンドである。そして、コマンドC000およびEXXXは、特別図柄の変動および大当り遊技に関わらない可変表示部9の表示状態に関する図柄制御コマンドである。なお、図21に示された(1)〜(6)は、図18に示された期間に対応している。図柄制御基板80の図柄制御手段は、主基板31の遊技制御手段から上述した図柄制御コマンドを受信すると図21に示された内容に応じて可変表示部9および可変表示器10の表示状態を変更する。
図22は、図柄制御コマンドの送出形態の一例を示すタイミング図である。この実施の形態では、8ビットの図柄制御信号CD〜CD7によって図柄制御コマンドが出力される。そして、図柄制御コマンドの1バイト目および2バイト目が出力されているときに、INT信号がオン(この例ではローレベル)になる。INT信号のオン期間は例えば1μs以上であり、1バイト目と2バイト目との間には4μs以上の期間があけられる。図柄制御手段は、INT信号に応じた割込処理によって図柄制御信号CD〜CD7を入力する。
なお、図柄制御コマンドは、図柄制御手段が認識可能に(受信可能に)1回だけ送出される。認識可能(受信可能)とは、この例では、INT信号がオン状態になることであり、認識可能(受信可能)に1回だけ送出されるとは、この例では、INT信号が1回だけオン状態になることである。遊技制御手段は、コマンドを1回だけ送出するように構成されるので、この点からも、コマンド送出に要する負荷が軽減される。ただし、認識可能に1回だけ送出されればよいのであるから、他の送出方法を用いてもよい。
図23は、音声制御コマンドのコマンド形態の一例を示す説明図である。この実施の形態では、音声制御コマンドは2バイト構成であり、1バイト目はMODE(コマンドの分類)を表し、2バイト目はEXT(コマンドの種類)を表す。
図24は、音声制御コマンドの内容の一例を示す説明図である。図24に示された例において、コマンド8XXX(X=4ビットの任意の値)は、特別図柄の変動期間における音発生パターンを指定する音声制御コマンドである。コマンドBXXX(X=4ビットの任意の値)は、大当り遊技開始から大当り遊技終了までの間における音発生パターンを指定する音声制御コマンドである。その他のコマンドは、特別図柄の変動および大当り遊技に関わらない音声制御コマンドである。なお、図24に示された(1)〜(6)は、図18に示された期間に対応している。音声制御基板70の音声制御手段は、主基板31の遊技制御手段から上述した音声制御コマンドを受信すると図24に示された内容に応じて音声出力状態を変更する。
図25は、音声制御コマンドの送出形態の一例を示すタイミング図である。この実施の形態では、8ビットの音声制御信号CD〜CD7によって音声制御コマンドが出力される。そして、音声制御コマンドの1バイト目および2バイト目が出力されているときに、INT信号がオン(この例ではローレベル)になる。INT信号のオン期間は例えば2μs以上であり、1バイト目と2バイト目との間には30μs以上の期間があけられる。音声制御手段は、INT信号に応じた割込処理によって音声制御信号CD〜CD7を入力する。
なお、音声制御コマンドは、音声制御手段が認識可能に1回だけ送出される。認識可能とは、この例では、INT信号がオン状態になることであり、認識可能に1回だけ送出されるとは、この例では、INT信号が1回だけオン状態になることである。
図26は、ランプ制御コマンドのコマンド形態の一例を示す説明図である。この実施の形態では、ランプ制御コマンドは2バイト構成であり、1バイト目はMODE(コマンドの分類)を表し、2バイト目はEXT(コマンドの種類)を表す。
図27は、ランプ制御コマンドの内容の一例を示す説明図である。図27に示された例において、コマンド8000(H)〜8022(H)、8100(H)〜8122(H)は、可変表示部9における特別図柄の変動パターンに対応したランプ・LED表示制御パターンを指定するランプ制御コマンドである。また、コマンドA0XX(X=4ビットの任意の値)は、特別図柄の可変表示の停止時のランプ・LED表示制御パターンを指示するランプ制御コマンドである。コマンドBXXXは、大当り遊技開始から大当り遊技終了までの間のランプ・LED表示制御パターンを指示するランプ制御コマンドである。そして、コマンドC000は、客待ちデモンストレーション時のランプ・LED表示制御パターンを指示するランプ制御コマンドである。
なお、コマンド8XXX、AXXX、BXXXおよびCXXXは、遊技進行状況に応じて遊技制御手段から送出されるランプ制御コマンドである。また、図27に示された(1)〜(6)は、図18に示された期間に対応している。ランプ制御手段は、主基板31の遊技制御手段から上述したランプ制御コマンドを受信すると図27に示された内容に応じてランプ・LEDの表示状態を変更する。
コマンドE0XXは、始動記憶表示器18の点灯個数を示すランプ制御コマンドである。例えば、ランプ制御手段は、始動記憶表示器18における「XX」で指定される個数の表示器を点灯状態とする。また、コマンドE1XXは、ゲート通過記憶表示器41の点灯個数を示すランプ制御コマンドである。例えば、ランプ制御手段は、ゲート通過記憶表示器41における「XX」で指定される個数の表示器を点灯状態とする。すなわち、それらのコマンドは、保留個数という情報を報知するために設けられている発光体の制御を指示するコマンドである。なお、始動記憶表示器18およびゲート通過記憶表示器41の点灯個数に関するコマンドが点灯個数の増減を示すように構成されていてもよい。
コマンドE200およびE201は、賞球ランプ51の表示状態に関するランプ制御コマンドであり、コマンドE300およびE301は、球切れランプ52の表示状態に関するランプ制御コマンドである。ランプ制御手段は、主基板31の遊技制御手段から「E201」のランプ制御コマンドを受信すると賞球ランプ51の表示状態を賞球残がある場合としてあらかじめ定められた表示状態とし、「E200」のランプ制御コマンドを受信すると賞球ランプ51の表示状態を賞球残がない場合としてあらかじめ定められた表示状態とする。また、主基板31の遊技制御手段から「E300」のランプ制御コマンドを受信すると球切れランプ52の表示状態を球あり中の表示状態とし、「E301」のランプ制御コマンドを受信すると球切れランプ52の表示状態を球切れ中の表示状態とする。すなわち、コマンドE200およびE201は、未賞球の遊技球があることを遊技者等に報知するために設けられている発光体を制御することを示すコマンドであり、コマンドE300およびE301は、補給球が切れていることを遊技者や遊技店員に報知するために設けられている発光体を制御することを示すコマンドである。
コマンドE400は、遊技機の電源投入時、または特定遊技状態(高確率状態や時短状態、この例では高確率状態)から通常状態(低確率状態や非時短状態、この例では低確率状態)に移行したときのランプ・LED表示制御パターンを指示するランプ制御コマンドである。コマンドE401は、通常状態(低確率状態や非時短状態、この例では低確率状態)から特定遊技状態(高確率状態や時短状態、この例では高確率状態)に移行したときのランプ・LED表示制御パターンを指示するランプ制御コマンドである。コマンドE402は、大当り遊技中に発生したエラーが解除されたときのランプ・LED表示制御パターンを指示するランプ制御コマンドである。そして、コマンドE403は、カウントスイッチ23のエラーが発生したときのランプ・LED表示制御パターンを指示するランプ制御コマンドである。すなわち、それらのコマンドは、発光体によって遊技状態を報知することを指示するコマンドである。この実施の形態では、ランプ制御手段は、遊技状態を報知することを指示するコマンドを受信すると、装飾ランプ25、遊技効果LED28aおよび遊技効果ランプ28b,28cのうちの一部または全部を用いて、遊技状態を報知するための点灯/消灯制御を行う。なお、装飾ランプ25、遊技効果LED28aおよび遊技効果ランプ28b,28cは、それぞれ、複数の発光体の集まりで構成されていてもよく、その場合、装飾ランプ25、遊技効果LED28aおよび遊技効果ランプ28b,28cのうちの一部を用いて遊技状態を報知するということは、例えば、装飾ランプ25を構成する複数の発光体のうちの一部を用いてもよいということも意味する。
以上のように、この実施の形態では、
(1)遊技の進行状況に応じて変わるランプ・LED表示制御パターンに関するランプ制御コマンド(系統1)。
(2)始動記憶表示器18の表示個数を報知することに関するランプ制御コマンド(系統2)。
(3)ゲート通過記憶表示器41の表示個数を報知することに関するランプ制御コマンド(系統3)。
(4)賞球ランプ51による報知に関するランプ制御コマンド(系統4)。
(5)球切れランプ52による報知に関するランプ制御コマンド(系統5)。
(6)遊技状態を報知することを指示するランプ制御コマンド(系統6)。
にランプ制御コマンドが系統化されている。
さらに、この実施の形態では、テストコマンド(F000(H))も用意されている。ランプ制御手段は、テストコマンドを受信すると、ランプ制御手段が制御するすべての発光体を、所定期間、あらかじめ記憶されているテストパターンに従って、点灯、消灯、点滅等の状態にする。
そして、系統毎に、1バイト目(MODEバイト)のデータが分類されている。従って、遊技制御手段からランプ制御コマンドを受信したランプ制御手段は、MODEバイトによって直ちにどの系統のコマンドを受信したのかを判断することができる。よって、ランプ制御用CPU351が実行するランプ制御プログラムを系統立てて構築することができる。その結果、プログラム容量を節減できるとともに、プログラム作成が容易である。さらに、プログラム解析が容易である。プログラム作成が容易であるということは、遊技機の設計が容易になることを意味する。プログラム解析が容易であるということは、プログラム変更が容易であり、また、一部改変して他機種に流用することも容易であることを意味する。
図28は、ランプ制御コマンドの送出形態の一例を示すタイミング図である。この実施の形態では、8ビットのランプ制御信号CD〜CD7によってランプ制御コマンドが出力される。そして、ランプ制御コマンドの1バイト目および2バイト目が出力されているときに、INT信号がオン(この例ではローレベル)になる。INT信号のオン期間は例えば2μs以上であり、1バイト目と2バイト目との間には30μs以上の期間があけられる。INT信号のオン期間は例えば1μs以上である。ランプ制御手段は、INT信号に応じた割込処理によってランプ制御信号CD〜CD7を入力する。
なお、ランプ制御コマンドは、ランプ制御手段が認識可能に1回だけ送出される。認識可能とは、この例では、INT信号がオン状態になることであり、認識可能に1回だけ送出されるとは、この例では、INT信号が1回だけオン状態になることである。
図29は、払出制御コマンドのコマンド形態の一例を示す説明図である。この実施の形態では、払出制御コマンドは1バイト構成であり、上位4ビットはMODE(コマンドの分類)を表し、下位4ビットはEXT(コマンドの種類)を表す。
図30は、払出制御コマンドの内容の一例を示す説明図である。図30に示された例において、コマンド80(H)は、払出可能状態を指定する払出制御コマンドである。コマンド81(H)は、払出可能状態を指定する払出制御コマンドである。また、コマンド9X(H)は、賞球個数を指定する払出制御コマンドである。下位4ビットの「X」が払出個数を示す。
払出制御手段は、主基板31の遊技制御手段から81(H)の払出制御コマンドを受信すると賞球払出および球貸しを停止する状態となり、80(H)の払出制御コマンドを受信すると賞球払出および球貸しができる状態になる。また、賞球個数を指定する払出制御コマンドを受信すると、受信したコマンドで指定された個数に応じた賞球払出制御を行う。
図31は、払出制御コマンドの送出形態の一例を示すタイミング図である。この実施の形態では、8ビットの払出制御信号CD〜CD7によって払出制御コマンドが出力される。そして、払出制御コマンドが出力されているときに、INT信号がオン(この例ではローレベル)になる。INT信号のオン期間は例えば1μs以上である。払出制御手段は、INT信号に応じた割込処理によって払出制御信号CD〜CD7を入力する。
なお、払出制御コマンドは、払出制御手段が認識可能に1回だけ送出される。認識可能とは、この例では、INT信号がオン状態になることであり、認識可能に1回だけ送出されるとは、この例では、INT信号が1回だけオン状態になることである。
払出制御コマンドは、他の制御コマンドに比べると、頻繁に送出されることが予想される。そこで、他の制御コマンドが2バイト構成になっているのに対して、払出制御コマンドは1バイト構成になっている。このように、頻繁に送出される可能性がある制御コマンドの長さを、他の制御コマンドの長さよりも短くしておけば、全体として効率のよい制御コマンドの転送を実現することができる。
しかし、図20、図23、図26および図29に示されたように、図柄制御コマンド、音声制御コマンド、ランプ制御コマンドおよび払出制御コマンドは、全てMODE部分とEXT部分とからなっている。すなわち、音声制御コマンドとランプ制御コマンドの形態は共通している。また、音声制御コマンドと払出制御コマンドの形態は共通している。ランプ制御コマンドと払出制御コマンドの形態も共通している。そして、図柄制御コマンドと音声制御コマンドの形態は共通している。また、図柄制御コマンドとランプ制御コマンドの形態は共通している。図柄制御コマンドと払出制御コマンドの形態も共通している。
遊技制御手段から送出される各コマンドの形態が共通しているので、遊技制御手段のCPU56が実行するプログラムにおいて、各コマンドの作成部分と出力部分を容易に共通化することができる。その結果、遊技制御プログラムのコマンドの送出に関するモジュールが簡略化され、プログラム保守が容易になるとともに、他機種へのプログラム流用も容易になる。
なお、この実施の形態では、払出制御コマンドは1バイト構成であったが、2バイト構成とすれば、コマンド長についても共通化される。払出制御コマンドが2バイト構成である場合には、例えば、図32に示されるように、払出制御コマンドの1バイト目および2バイト目が出力されているときに、それぞれINT信号がオン(この例ではローレベル)になる。INT信号のオン期間は例えば1μs以上であり、1バイト目と2バイト目との間には例えば10μs以上の期間があけられる。
なお、図20、図23、図26および図29に示されたコマンド形態は一例であって、コマンド形態の共通化が容易になれば、他のコマンド形態を用いてもよい。
図33はCPU56が実行する特別図柄プロセス処理のプログラムの一例を示すフローチャートである。図33に示す特別図柄プロセス処理は、図16のフローチャートにおけるステップS25の具体的な処理である。主基板31のCPU56は、特別図柄プロセス処理を行う際に、その内部状態(特別図柄プロセスフラグの状態)に応じて、図33に示すステップS300〜S309のうちのいずれかの処理を行う。各処理において、以下のような処理が実行される。
特別図柄変動待ち処理(ステップS300):特別図柄の可変表示が開始できる状態になるのを待つ。
特別図柄判定処理(ステップS301):特別図柄の可変表示が開始できる状態になると、始動入賞記憶数を確認する。始動入賞記憶数が0でなければ、所定の大当り決定用乱数の値に応じて大当りとするかはずれとするか決定する。
停止図柄設定処理(ステップS302):左右中図柄の特別図柄停止図柄を決定する。
リーチ動作設定処理(ステップS303):リーチ判定用乱数の値に応じてリーチ動作するか否か決定するとともに、リーチ動作用乱数の値に応じてリーチ動作の変動態様を決定する。
全図柄変動開始処理(ステップS304):可変表示部9において全図柄が変動開始されるように制御する。このとき、図柄制御基板80に対して、変動パターンを指令する図柄制御コマンドと左右中停止図柄を指令する図柄制御コマンドとが送信される。
全図柄停止待ち処理(ステップS305):所定時間が経過すると、可変表示部9において表示される全図柄が停止されるように制御する。
大当り表示処理(ステップS306):停止図柄が大当り図柄の組み合わせである場合には、大当り発生の図柄制御コマンドが図柄制御基板80に送出されるように制御するとともに内部状態(特別図柄プロセスフラグ)をステップS307に移行するように更新する。そうでない場合には、内部状態をステップS309に移行するように更新する。なお、大当り図柄の組み合わせは、例えば左右中図柄が揃った組み合わせである。
大入賞口開放開始処理(ステップS307):大入賞口を開放する制御を開始する。具体的には、カウンタやフラグを初期化するとともに、ソレノイド21を駆動して大入賞口を開放する。また、ラウンド開始の制御コマンドを、図柄制御基板80に送出する制御を行う。
大入賞口開放中処理(ステップS308):ラウンド終了条件(例えば大入賞口への入賞球数が所定個に達した)が成立したら、ラウンド終了の制御コマンドを、図柄制御基板80に送出する制御を行う。そして、大当り遊技の終了条件が成立していなければ、特別図柄プロセスフラグをステップS307に対応した値にする。大当り遊技の終了条件が成立していれば、特別図柄プロセスフラグをステップS309に対応した値にする。
大当り終了処理(ステップS309):大当り終了の制御コマンドを、図柄制御基板80に送出する制御を行う。そして、確変フラグがセットされている場合には、高確率状態を示す図柄制御コマンドを、図柄制御基板80に送出する制御を行う。また、高確率状態であって、その状態の終了条件(例えば、規定回変動が行われた)が成立していたら、低確率状態を示す制御コマンドを、図柄制御基板80に送出する制御を行う。その後、特別図柄プロセスフラグをステップS300に対応した値にする。
上記の各ステップの処理に応じて、遊技制御プログラム中の図柄制御コマンドを送出する処理を行うモジュールは、対応する図柄制御コマンドを出力ポートに出力するとともに、INT信号を出力ポートに出力する。なお、上述したような遊技の進行に伴って、音声制御コマンドやランプ制御コマンドも送出される。
図34は、特別図柄プロセス処理において用いられるプロセスデータのデータ構成を示す説明図である。プロセスデータは、基本回路53のROM54に格納されている。そして、特別図柄プロセス処理における各プロセス(ステップS300〜S309)では、プロセスデータに設定されている各データに応じて、図柄変動制御、ランプ・LED制御および音声制御を行う。すなわち、各プロセス(ステップS300〜S309)に応じたプロセスデータがROM54に格納されている。
この実施の形態では、プロセスデータは、8バイトで構成されるデータグループが1つ以上集まったものとする。8バイトで構成されるデータグループの1バイト目および2バイト目には、プロセスタイマ値が設定される。3バイト目および4バイト目には、ランプ制御コマンドデータが設定される。5バイト目および6バイト目には、音声制御コマンドデータが設定される。そして、7バイト目および8バイト目には、図柄制御コマンドデータが設定される。また、プロセスデータの最後には、プロセスの終了を示す終了コードが付加されている。
図35は、各特別図柄プロセス処理(ステップS300〜S309)で実行されるプロセスデータ/タイマ設定処理サブルーチンを示すフローチャートである。プロセスデータ/タイマ設定処理において、CPU56は、特別図柄プロセスタイマ設定処理を実行する(ステップS401)。次いで、プロセスタイマの値を1減算する(ステップS403)。プロセスタイマの値が0でなければ、このプロセスは継続中であるとして(ステップS408)、処理を終了する。
プロセスタイマの値が0になったら、データポインタがプロセスデータ中の次のデータグループ(8バイト)を指すように設定する(ステップS405)。そして、データポインタが指すデータグループにおける1,2バイト目の値をプロセスタイマに設定し、このプロセスは継続中であるとして(ステップS408)、処理を終了する(ステップS406)。なお、データポインタが指すデータが終了コードであれば(ステップS407)、このプロセスは終了したとする(ステップS409)。
図36は、特別図柄プロセスタイマ設定処理(ステップS401)を示すフローチャートである。特別図柄プロセスタイマ設定処理において、CPU56は、アドレスの変更があったか否か確認する(ステップS421)。ここで、アドレスとはプロセスデータの先頭アドレスのことである。つまり、プロセスの変更があった場合にステップS422〜S424の処理が実行される。アドレスの変更がない場合、すなわちプロセスが継続中である場合には、プロセスデータアドレスを設定して(ステップS425)、処理を終了する。ただし、ステップS421から直接ステップS425に分岐する場合には、プロセスデータアドレスの内容は変更されない。
アドレスの変更があった場合、すなわちプロセスの切替が行われた場合には、変更後のプロセスに対応したプロセスデータの先頭アドレスをデータアドレスに設定する(ステップS422)。そして、そのプロセスデータ中の1,2バイト目の値を新たにプロセスタイマに設定し(ステップS423)、プロセスタイマの値を保存する(ステップS424)。さらに、データアドレスの値をプロセスデータアドレスを設定する(ステップS425)。
以上のように、各特別図柄プロセス処理(ステップS300〜S309)のそれぞれに対応して図34に示されたようなプロセスデータがあらかじめROM54に設定される。そして、各プロセス中で、ランプ制御コマンド、音声制御コマンドおよび図柄制御コマンドのうちの少なくとも1つを送出するタイミングでプロセスタイマがタイムアップするように各プロセスタイマデータが設定されている。
図37は、図16に示された遊技制御処理における出力データ設定処理(遊技制御処理におけるステップS22)を示すフローチャートである。出力データ設定処理において、CPU56は、音声データに変更がないかどうか判定する(ステップS701)。図34に示すプロセスタイマがタイムアップして、プロセスデータ中で使用されるデータグループ(8バイト)が切り替わったときに(次に移ったときに)音声データの変更が生じうる。ただし、データグループの切替があったときでも、切替前後の音声データが同一である場合もある。その場合には、CPU56は、音声データに変更があったとは見なさない。
音声データに変更があった場合には、CPU56は、プロセスデータ中の現在使用中のデータグループにおける音声データすなわち音声制御コマンドデータを読み出す(ステップS702)。そして、読み出した音声データを音声制御コマンドを格納するために設けられているバッファ領域#2に設定する(ステップS703)。また、音声制御コマンド送出要求をセットする(ステップS704)。
次に、CPU56は、ランプデータに変更がないかどうか判定する(ステップS711)。図34に示されたように、ランプデータの変更も、プロセスタイマがタイムアップして、プロセスデータ中で使用されるデータグループ(8バイト)が切り替わったときに生じうる。ただし、データグループの切替があったときでも、切替前後のランプデータが同一である場合もある。その場合には、CPU56は、ランプデータに変更があったとは見なさない。
ランプデータに変更があった場合には、CPU56は、プロセスデータ中の現在使用中のデータグループにおけるランプデータすなわちランプ制御コマンドデータを読み出す(ステップS712)。そして、読み出したランプデータをランプ制御コマンドを格納するために設けられているバッファ領域#1に設定する(ステップS713)。また、ランプ制御コマンド送出要求をセットする(ステップS714)。
次いで、CPU56は、図柄制御データに変更がないかどうか判定する(ステップS715)。図34に示されたように、図柄制御データの変更も、プロセスタイマがタイムアップして、プロセスデータ中で使用されるデータグループ(8バイト)が切り替わったときに生じうる。ただし、データグループの切替があったときでも、切替前後の図柄制御データが同一である場合もある。その場合には、CPU56は、図柄制御データに変更があったとは見なさない。
図柄制御データに変更があった場合には、CPU56は、プロセスデータ中の現在使用中のデータグループにおける図柄制御データすなわち図柄制御コマンドデータを読み出す(ステップS716)。そして、読み出した図柄制御データを図柄制御コマンドを格納するために設けられているバッファ領域#3に設定する(ステップS717)。また、図柄制御制御コマンド送出要求をセットする(ステップS718)。
以上のようにして、コマンドを送出すべきタイミングになると、対応するバッファ領域に、送出されるべきコマンドが設定される。なお、図柄制御コマンドについては、ほぼ同時に複数のコマンドが送出される場合があるが(変動パターンと停止図柄)、そのような場合には、プロセスデータ中の連続する複数のデータグループ(8バイト)中の各図柄制御データに、各図柄制御コマンドを設定しておけばよい。そして、各プロセスタイマ値を0に設定しておけば、各図柄制御コマンドが順次バッファ領域に設定されることになる。
なお、ランプ制御コマンドについては、特別図柄プロセス処理以外でバッファ領域#1へのコマンド設定が行われることがある。例えば、初期化ランプ指定についてはメイン処理の初期化処理でコマンド設定が行われ、ゲート通過記憶数ランプ指定については、遊技制御処理における普通図柄プロセス処理(ステップS26)でコマンド設定が行われる。
図38は、図16に示された遊技制御処理におけるスイッチ処理(ステップS27)の賞球制御に関連する部分を示すフローチャートである。スイッチ処理において、CPU56は、球切れスイッチ187によって球切れを検出すると球切れフラグをセットする(ステップS121,S122)。また、球切れスイッチ187によって球切れでないことを検出すると球切れフラグをリセットする(ステップS121,S123)。
次いで、満タンスイッチ48によって下皿満タンを検出すると満タンフラグをセットする(ステップS124,S125)。また、満タンスイッチ48によって下皿満タンでないことを検出すると満タンフラグをリセットする(ステップS124,S126)。
さらに、カウントスイッチ23がオンしたことを検出すると、15個カウンタを+1し(ステップS131,S132)、入賞口スイッチ19a,24aのいずれかがオンしたことを検出すると、10個カウンタを+1し(ステップS133,S134)、始動口スイッチ17がオンしたことを検出すると6個カウンタを+1する(ステップS135,S136)。
この実施の形態では、大入賞口を経た入賞については15個の賞球を払い出し、始動入賞口14を経た入賞については6個の賞球を払い出し、その他の入賞口19,24および入賞球装置を経た入賞については10個の賞球を払い出すとする。15個カウンタ、10個カウンタおよび6個カウンタは、それぞれ、入賞個数を計数するためのカウンタである。
図39および図40は、図16に示された遊技制御処理における入賞球信号処理(ステップS29)の一例を示すフローチャートである。この例では、入賞球信号処理において、まず、払出停止状態であるか否か確認する(ステップS731)。払出停止状態は、払出制御基板37に対して払出停止指示のコマンドを送出した後の状態である。払出停止状態でなければ、上述した球切れ状態フラグまたは満タンフラグがオンになったか否かを確認する(ステップS732)。
いずれかがオン状態に変化したときには、払出制御コマンドを格納するために設けられているバッファ領域#4に払出停止指示コマンドを設定し(ステップS733)、払出制御コマンド送出要求をセットする(ステップS734)。なお、ステップS732において、いずれか一方のフラグが既にオン状態であったときに他方のフラグがオン状態になったときには、払出停止指示を示す払出制御コマンドの送出制御(ステップS733,S734)は行われない。
なお、球切れ状態フラグがオンしたときにはランプ制御基板35に対するランプ制御コマンド送出のための制御も行われる。すなわち、ランプ制御コマンドを格納するために設けられているバッファ領域#1に球切れ中ランプ指定のコマンドが設定され、ランプ制御コマンド送出要求がセットされる。
また、払出停止状態であれば、球切れ状態フラグおよび満タンフラグがともにオン状態になったか否かを確認する(ステップS741)。ともにオフ状態となったときには、バッファ領域#4に払出停止解除指示コマンドを設定し(ステップS742)、払出制御コマンド送出要求をセットする(ステップS743)。
なお、球切れ状態フラグがオンからオフに変化したときにはランプ制御基板35に対するランプ制御コマンド送出のための制御も行われる。すなわち、ランプ制御コマンドを格納するために設けられているバッファ領域#1に球あり中ランプ指定のコマンドが設定され、ランプ制御コマンド送出要求がセットされる。
次いで、CPU56は、入賞に応じた賞球個数を払出制御基板37に送出するための制御を行う。CPU56は、まず、15個カウンタの値をチェックする(ステップS751)。上述したように、15個カウンタは、遊技球が大入賞口に入賞してカウントスイッチ23がオンするとカウントアップされる。15個カウンタの値が0でない場合には、15個の払出個数指示を示す払出個数指示コマンドをバッファ領域#4に設定し(ステップS752)、払出制御コマンド送出要求をセットする(ステップS753)。そして、総合個数記憶に15を加算する(ステップS754)とともに、15個カウンタの値を−1する(ステップS755)。
15個カウンタの値が0であれば、10個カウンタの値をチェックする(ステップS756)。上述したように、10個カウンタは、遊技球が入賞口に入賞して入賞口スイッチ19a,24aがオンするとカウントアップされる。10個カウンタの値が0でない場合には、10個の払出個数指示を示す払出個数指示コマンドをバッファ領域#4に設定し(ステップS757)、払出制御コマンド送出要求をセットする(ステップS758)。そして、総合個数記憶に10を加算する(ステップS759)とともに、10個カウンタの値を−1する(ステップS760)。
10個カウンタの値が0であれば、6個カウンタの値をチェックする(ステップS761)。上述したように、6個カウンタは、遊技球が始動入賞口に入賞して始動口スイッチ17がオンするとカウントアップされる。6個カウンタの値が0でない場合には、6個の払出個数指示を示す払出個数指示コマンドをバッファ領域#4に設定し(ステップS762)、払出制御コマンド送出要求をセットする(ステップS763)。そして、総合個数記憶に6を加算する(ステップS764)とともに、6個カウンタの値を−1する(ステップS765)。
以上のような処理によって、この実施の形態では、入賞順に関わりなく、入賞に対して賞球個数の多いものから順に払出制御基板37に対して賞球個数が通知されることになるが、入賞順に賞球個数を通知するようにしてもよい。
次に、CPU56は、総合個数記憶の内容が0から正の値に変化したか否か確認する(ステップS351)。0から正の値に変化したということは、払出制御基板37に賞球個数が通知されて賞球払出が開始されることを示す。そこで、CPU56は、賞球ランプ51を賞球残がある場合の表示状態にするために、ランプ制御コマンドを格納するために設けられているバッファ#1に賞球残ありランプ指定を示すコマンドを設定し(ステップS352)、ランプ制御コマンド送出要求をセットする(ステップS353)。
総合個数記憶の内容が0から正の値に変化した状況でない場合には、CPU56は、総合個数記憶が0であるか否か確認する(ステップS361)。0でない場合、すなわち賞球中である場合には、賞球カウントスイッチ301Aを監視する(ステップS362)。賞球カウントスイッチ301Aによって1個の賞球払出を検出したら、総合個数記憶の値を1減らす(ステップS363)。そして、総合個数記憶の値が0になったときには(ステップS364)、賞球払出が完了したとして賞球ランプ51を賞球残がない場合の表示状態にするための制御を行う。
すなわち、ランプ制御コマンドを格納するために設けられているバッファ#1に賞球残なしランプ指定を示すコマンドを設定し(ステップS365)、ランプ制御コマンド送出要求をセットする(ステップS366)。
以上のように、入賞球信号処理において、払出制御コマンドを格納するために設けられているバッファ領域#4に払出制御コマンドが設定される。また、賞球ランプ51および球切れランプ42に関するランプ制御コマンドがランプ制御コマンドを格納するために設けられているバッファ領域#1に設定される。なお、ランプ制御コマンドを設定するための制御は、図37に示された出力データ設定処理と入賞球信号処理との双方で行われているので、競合しないような制御がなされる。例えば、バッファ#1にコマンドを設定しようとするときに、既にコマンドが設定されていてそのコマンドが未送信であるならば、新たなコマンド設定を行わないようにする。
図37に示された出力データ設定処理および図39,図40に示された入賞球信号処理において、送出されるべきコマンドをバッファ領域に設定する処理は共通である。すなわち、バッファ領域にコマンドを書き込むとともにコマンド送出要求をセットする。すると、図柄制御コマンド、音声制御コマンド、ランプ制御コマンドおよび払出制御コマンドについて、バッファ領域にコマンドを書き込むプログラム部分を共通化することができる。例えば、ランプ制御コマンドをバッファ領域に書き込むときには、あるレジスタに「1」を書き込み、送出されるべきコマンドを別のレジスタにセットして、バッファ設定サブルーチンをコールするといったプログラム構成をとることもできる。その場合、バッファ設定サブルーチンでは、「1」がレジスタに書き込まれていることを認識したときには、別のレジスタに設定されているコマンドをランプ制御コマンド用に設けられているバッファ領域#1に設定する。
また、図柄制御コマンド、音声制御コマンド、ランプ制御コマンドおよび払出制御コマンドのそれぞれについて、全てのコマンドが設定されているテーブルを用意し、バッファ設定サブルーチンをコールするときに、送出すべきコマンドに応じたテーブルにおけるアドレスまたはアドレスに対応した番号をレジスタに設定するようにしてもよい。その場合、バッファ設定サブルーチンでは、アドレス情報をもとにテーブルを検索して該当コマンドを読み出し、読み出したコマンドをバッファ領域に設定することができる。
以上のように、図柄制御コマンド、音声制御コマンド、ランプ制御コマンドおよび払出制御コマンドについて、送出されるべきコマンド作成処理を共通化することができる。その結果、遊技制御手段におけるコマンド送出に要する負荷が軽減される。なお、全ての制御コマンドについて共通化されていなくても、いずれか2つ以上の制御コマンド(例えば、ランプ制御コマンドと音声制御コマンド)を作成する処理が共通化されていれば、そうでない場合に比べて、遊技制御手段におけるコマンド送出に要する負荷を軽減することができる。
図41は、バッファ領域に設定されたコマンドを出力するデータ出力処理(図16に示された遊技制御処理のステップS21)の一例を示すフローチャートである。データ出力処理において、CPU56は、図柄制御コマンド送出要求がセットされているか否か確認する(ステップS771)。セットされていれば、特定レジスタ#1に1μsに相当する値を設定し、特定レジスタ#2に4μsに相当する値を設定し、特定レジスタ#3に「03」を設定する(ステップS772)。特定レジスタ#1には、INT信号のオン期間が設定される。また、特定レジスタ#2には、コマンドの1バイト目と2バイト目の間隔が設定される。そして、特定レジスタ#3には、どの制御コマンドを送出すべきかを示す値が設定される。
次いで、図柄制御コマンド送出要求をリセットし(ステップS773)、コマンド送出サブルーチンをコールする(ステップS774)。
次に、CPU56は、音声制御コマンド送出要求がセットされているか否か確認する(ステップS776)。セットされていれば、特定レジスタ#1に2μsに相当する値を設定し、特定レジスタ#2に30μsに相当する値を設定し、特定レジスタ#3に「02」を設定する(ステップS777)。また、音声制御コマンド送出要求をリセットし(ステップS778)、コマンド送出サブルーチンをコールする(ステップS779)。
続いて、CPU56は、ランプ制御コマンド送出要求がセットされているか否か確認する(ステップS781)。セットされていれば、特定レジスタ#1に2μsに相当する値を設定し、特定レジスタ#2に30μsに相当する値を設定し、特定レジスタ#3に「01」を設定する(ステップS782)。また、ランプ制御コマンド送出要求をリセットし(ステップS783)、コマンド送出サブルーチンをコールする(ステップS784)。
そして、CPU56は、払出制御コマンド送出要求がセットされているか否か確認する(ステップS786)。セットされていれば、特定レジスタ#1に1μsに相当する値を設定し、特定レジスタ#2に0μsに相当する値を設定し、特定レジスタ#3に「04」を設定する(ステップS787)。また、払出制御コマンド送出要求をリセットし(ステップS788)、コマンド送出サブルーチンをコールする(ステップS789)。
図42は、コマンド送出サブルーチンを示すフローチャートである。コマンド送出サブルーチンでは、CPU56は、特定レジスタ#3に設定されている値に応じたバッファ領域(例えば「03」が設定されていれば、バッファ領域#3=図柄制御コマンド格納用バッファ領域)に設定されているデータの1バイト目を、対応する出力ポートに出力する(ステップS790)。対応する出力ポートとは、図柄制御コマンドを送出するのであれば、出力ポート575である(図9参照)。
そして、対応するINT信号をオン状態にする(ステップS791)。また、特定レジスタ#1に設定されている値に応じた時間だけディレイ時間をおいた後(ステップS792)、INT信号をオフ状態にする(ステップS793)。
次いで、特定レジスタ#2に設定されている値を確認し(ステップS794)、0が設定されていることを確認したら処理を終了する。0でない値が設定されていたら、特定レジスタ#3に設定されている値に応じたバッファ領域に設定されているデータの2バイト目を、対応する出力ポートに出力し(ステップS795)、特定レジスタ#2に設定されている値に応じた時間だけディレイ時間をおいた後(ステップS796)、対応するINT信号をオン状態にする(ステップS797)。さらに、特定レジスタ#1に設定されている値に応じた時間だけディレイ時間をおいた後(ステップS798)、INT信号をオフ状態にする(ステップS799)。
以上のような処理によって、制御コマンドは、図22、図25、図28および図31に示されたようなタイミングで、主基板31から送出される。
この実施の形態では、図柄制御コマンド、音声制御コマンド、ランプ制御コマンドおよび払出制御コマンドについて、共通のサブルーチンをコールするので、送出されるべきコマンド出力処理も共通化することができる。その結果、遊技制御手段におけるコマンド送出に要する負荷がさらに軽減される。なお、全ての制御コマンドについて共通化されていなくても、いずれか2つ以上の制御コマンド(例えば、ランプ制御コマンドと音声制御コマンド)を出力する処理が共通化されていれば、そうでない場合に比べて、遊技制御手段におけるコマンド送出に要する負荷を軽減することができる。
なお、この実施の形態では、払出制御コマンドは1バイト構成であり、他の制御コマンドは2バイト構成であるが、払出制御コマンドも2バイト構成とすれば、図42におけるステップS794の処理は不要になり、共通化の効果をさらに向上させることができる。
この実施の形態では、データ出力処理は2msに1回起動されるので、各制御コマンドは2msの間に1コマンドだけ送出可能である。しかし、2ms間のうちで複数のコマンドを送出可能であるように構成することもできる。例えば、図16に示された遊技制御処理において、データ出力処理等を間欠的に複数回実行するようにプログラム構成しておけば、2ms間のうちで複数のコマンドを送出できるようになる。
以下、サブ基板(この例では、図柄制御基板80、音声制御基板70、ランプ制御基板37および払出制御基板37)に搭載されている各電気部品制御手段の動作を説明する。
まず、音声制御手段の動作について説明する。図43は、音声制御用CPU701が実行するメイン処理を示すフローチャートである。メイン処理では、まず、RAM領域をクリアする等の初期値設定処理が行われる(ステップS201)。その後、この実施の形態では、音声制御用CPU701は、タイマ割込フラグの監視(ステップS202)の確認を行うループ処理に移行する。そして、図44に示すように、タイマ割込が発生すると、音声制御用CPU701は、タイマ割込フラグをセットする(ステップS207)。メイン処理において、タイマ割込フラグがセットされていたら、音声制御用CPU701は、そのフラグをクリアするとともに(ステップS203)、音声制御処理を行う(ステップS205)。
この実施の形態では、タイマ割込は2ms毎にかかるとする。すなわち、音声制御処理は、2ms毎に起動される。
図45は、割込処理による音声制御コマンド受信処理を示すフローチャートである。主基板31からの音声制御用のINT信号は音声制御用CPU701の割込端子に入力されている。よって、主基板31からのINT信号がオン状態になると、音声制御用CPU701に割込がかかり、図45に示す音声制御コマンドの受信処理が開始される。
音声制御コマンドの受信処理において、音声制御用CPU701は、まず、音声制御コマンドデータの入力に割り当てられている入力ポートからデータを読み込む(ステップS221)。そして、2バイト構成の音声制御コマンドのうちの1バイト目を既に受信したか否か確認する(ステップS222)。既に受信したか否かは、受信バッファの1バイト目に有効なデータが設定されているか否かで確認できる。
まだ1バイト目を受信していない場合には、受信した1バイトのうちのビット7が「1」であるか否か確認する(ステップS223)。ビット7が「1」であるのは、2バイト構成の音声制御コマンドのうちのMODEバイト(1バイト目)のはずである(図20参照)。ビット7が「1」であれば、有効な1バイト目を受信したとして、受信したコマンドを受信バッファの1バイト目に格納する(ステップS224)。
1バイト目を既に受信している場合には、受信した1バイトのうちのビット7が「0」であるか否か確認する(ステップS225)。ビット7が「0」であるのは、2バイト構成の音声制御コマンドのうちのEXTバイト(2バイト目)のはずである(図20参照)。その場合には、ビット7が「0」であれば、有効な2バイト目を受信したとして、受信したコマンドを受信バッファの2バイト目に格納する(ステップS226)。また、通信終了フラグをセットする(ステップS227)。通信終了フラグは、正常に音声制御コマンドを受信したことを示すフラグである。
ステップS225において、受信したデータのビット7が「0」でない場合には、受信したデータをあらためて受信バッファの1バイト目に格納する(ステップS228)。
上述したように、この実施の形態では、音声制御コマンドは、主基板31から受信側が認識可能に1回だけ送出される。すると、ノイズ等によって、データ化けが発生する可能性も否定できない。そこで、この実施の形態では、2バイト構成の音声制御コマンドのうちの1バイト目(MODE)のビット7を「1」とし、2バイト目(EXT)のビット7を「0」として、受信側で1バイト目を受信したのか2バイト目を受信したのかを識別可能にする。1バイト目にデータ化け等が生じてビット7が「1」でなくなった場合には、ステップS223の判断によって、そのようなデータは廃棄される。また、2バイト目にデータ化け等が生じてビット7が「0」でなくなった場合には、すなわち、「1」になった場合には、ステップS225およびステップS228の処理によって、受信データは1バイト目であると判断される。
その後、主基板31の側からは、次の音声制御コマンドの1バイト目が送出されるが、その1バイト目を正しく受信できた場合には、やはり、ステップS225およびステップS228の処理によって、受信データが1バイト目であると判断される。すなわち、その時点から、主基板31から送出された1バイト目は受信側でも1バイト目であると判断される。従って、基板間でデータ化け等が生じても、1個のコマンドは受信側において正しく受信されないが、その後、受信側において、主基板31から送出されたコマンドの2バイト目を1バイト目(MODE)と判断しコマンドの1バイト目を2バイト目(EXT)と判断してしまうようなことはない。
図46は、音声制御基板70に搭載されているROMに設定されている音声パターンテーブルの一構成例を示す説明図である。図46に示すように、音声パターンテーブルには、受信しうる音声制御コマンドとそれに対応したパターンデータが設定されている。
なお、音声パターンテーブルが設定されたROMは、音声制御用CPU701に内蔵されていてもよいし外付けであってもよい。また、図47には、音声制御手段が受信することのないコマンドも示されているが、受信することのないコマンドに対応する欄を設けておけば、例えば、主基板31から各電気部品制御手段に対して共通コマンドが送出されるように構成した場合に容易に対応できる。すなわち、音声パターンテーブルにおいて、必要のないコマンドについては「変化なし」を示すデータを設定しておき、そのようなコマンドを受信した場合には、音声制御内容を変化させなければよい。
図47は、音声制御処理(ステップS205)を示すフローチャートである。音声制御処理において、音声制御用CPU701は、通信終了フラグがセットされているか否か確認する(ステップS231)。通信終了フラグがセットされているということは、音声制御コマンドを受信したことを意味する。
そこで、通信終了フラグがセットされていれば、それをクリアし(ステップS232)、受信コマンドを受信バッファからから読み出した後、音声パターンテーブルにおける受信コマンドに対応したパターンデータを読み込む(ステップS233)。そして、読み込んだパターンデータに対応した制御データをROMから読み出し(ステップS234)、読み出した制御データにもとづいて以下の音声制御を行う。制御データとは、音の種類や音継続時間等のデータであり、各パターンデータに対応してROMに設定されている。
この実施の形態では、音声合成回路702は、転送リクエスト信号(SIRQ)、シリアルクロック信号(SICK)、シリアルデータ信号(SI)および転送終了信号(SRDY)によって制御される。音声合成回路702は、SIRQがローレベルになると、SICKに同期してSIを1ビットずつ取り込み、SRDYがローレベルになるとそれまでに受信した各SIからなるデータを1つの音声再生用データと解釈する。従って、音声制御用CPU701は、SIRQをオン(ローレベル)にして(ステップS235)、ROMから読み出した制御データをSICKに同期してSIとして出力し(ステップS236)、出力が完了したらSRDYをローレベルにする(ステップS237)。音声合成回路702は、SIによって制御データを受信すると、受信した制御データに応じた音声を発生する。
次に、ランプ制御手段の動作について説明する。図48は、ランプ制御用CPU351が実行するメイン処理を示すフローチャートである。メイン処理では、まず、RAM領域をクリアする等の初期値設定処理が行われる(ステップS241)。その後、この実施の形態では、ランプ制御用CPU351は、タイマ割込フラグの監視(ステップS242)の確認を行うループ処理に移行する。そして、図49に示すように、タイマ割込が発生すると、ランプ制御用CPU351は、タイマ割込フラグをセットする(ステップS247)。メイン処理において、タイマ割込フラグがセットされていたら、ランプ制御用CPU351は、そのフラグをクリアするとともに(ステップS243)、ランプ制御処理を行う(ステップS245)。
この実施の形態では、タイマ割込は2ms毎にかかるとする。すなわち、ランプ制御処理は、2ms毎に起動される。
図50は、割込処理によるランプ制御コマンド受信処理を示すフローチャートである。主基板31からのランプ制御用のINT信号はランプ制御用CPU351の割込端子に入力されている。よって、主基板31からのINT信号がオン状態になると、ランプ制御用CPU351に割込がかかり、図50に示すランプ制御コマンドの受信処理が開始される。
ランプ制御コマンドの受信処理において、ランプ制御用CPU351は、まず、ランプ制御コマンドデータの入力に割り当てられている入力ポートからデータを読み込む(ステップS251)。そして、2バイト構成のランプ制御コマンドのうちの1バイト目を既に受信したか否か確認する(ステップS252)。既に受信したか否かは、受信バッファの1バイト目に有効なデータが設定されているか否かで確認できる。
まだ1バイト目を受信していない場合には、受信した1バイトのうちのビット7が「1」であるか否か確認する(ステップS253)。ビット7が「1」であるのは、2バイト構成のランプ制御コマンドのうちのMODEバイト(1バイト目)のはずである(図26参照)。ビット7が「1」であれば、有効な1バイト目を受信したとして、受信したコマンドを受信バッファの1バイト目に格納する(ステップS254)。
1バイト目を既に受信している場合には、受信した1バイトのうちのビット7が「0」であるか否か確認する(ステップS255)。ビット7が「0」であるのは、2バイト構成のランプ制御コマンドのうちのEXTバイト(2バイト目)のはずである(図26参照)。その場合には、ビット7が「0」であれば、有効な2バイト目を受信したとして、受信したコマンドを受信バッファの2バイト目に格納する(ステップS256)。また、通信終了フラグをセットする(ステップS257)。通信終了フラグは、正常にランプ制御コマンドを受信したことを示すフラグである。
ステップS255において、受信したデータのビット7が「0」でない場合には、受信したデータをあらためて受信バッファの1バイト目に格納する(ステップS258)。
上述したように、この実施の形態では、ランプ制御コマンドは、主基板31から受信側が認識可能に1回だけ送出される。すると、ノイズ等によって、データ化けが発生する可能性も否定できない。そこで、この実施の形態では、2バイト構成のランプ制御コマンドのうちの1バイト目(MODE)のビット7を「1」とし、2バイト目(EXT)のビット7を「0」として、受信側で1バイト目を受信したのか2バイト目を受信したのかを識別可能にする。1バイト目にデータ化け等が生じてビット7が「1」でなくなった場合には、ステップS253の判断によって、そのようなデータは廃棄される。また、2バイト目にデータ化け等が生じてビット7が「0」でなくなった場合には、すなわち、「1」になった場合には、ステップS255およびステップS258の処理によって、受信データは1バイト目であると判断される。
その後、主基板31の側からは、次のランプ制御コマンドの1バイト目が送出されるが、その1バイト目を正しく受信できた場合には、やはり、ステップS255およびステップS258の処理によって、受信データが1バイト目であると判断される。すなわち、その時点から送出された1バイト目は受信側でも1バイト目であると判断される。従って、基板間でデータ化け等が生じても、1個のコマンドは受信側において正しく受信されないが、その後、受信側において、主基板31から送出されたコマンドの2バイト目を1バイト目(MODE)と判断しコマンドの1バイト目を2バイト目(EXT)と判断してしまうようなことはない。
図51は、ランプ制御基板35に搭載されているROMに設定されているランプパターンテーブルの一構成例を示す説明図である。図51に示すように、ランプパターンテーブルには、受信しうるランプ制御コマンドとそれに対応した飾りランプ(遊技盤の装飾ランプ25、枠側の遊技効果ランプ・LED25a,25b,25c)、始動記憶表示器18、ゲート通過表示器41、賞球ランプ51および球切れランプ52の点灯/滅灯に関するパターンデータが設定されている。
また、ランプパターンテーブルが設定されたROMは、ランプ制御用CPU351に内蔵されていてもよいし外付けであってもよい。また、図51には、ランプ制御手段が受信することのないコマンドも示されているが、受信することのないコマンドに対応する欄を設けておけば、例えば、主基板31から各電気部品制御手段に対して共通コマンドが送出されるように構成した場合に容易に対応できる。すなわち、ランプパターンテーブルにおいて、必要のないコマンドについては「変化なし」を示すデータを設定しておき、そのようなコマンドを受信した場合には、ランプ制御内容を変化させなければよい。
図52は、ランプ制御処理(ステップS245)を示すフローチャートである。ランプ制御処理において、ランプ制御用CPU351は、通信終了フラグがセットされているか否か確認する(ステップS261)。通信終了フラグがセットされているということは、ランプ制御コマンドを受信したことを意味する。
そこで、通信終了フラグがセットされていれば、それをクリアし(ステップS262)、受信バッファから受信コマンドを読み出した後、ランプパターンテーブルにおける受信コマンドに対応したパターンデータを読み込む(ステップS263)。パターンデータが存在する場合、すなわち、パターンデータが記載されていた場合には(ステップS264)、該当する制御パターンを変更する(ステップS265)。例えば、「8000」のランプ制御コマンドを受信した場合には、飾りランプに関する制御パターンを変更し、それ以外の始動記憶表示器18、ゲート通過表示器41、賞球ランプ51および球切れランプ52の制御パターンを変更しない。そして、ランプ・LED制御処理(ステップS266)を実行する。
また、ランプテストを示すテストコマンド(F000)を受信した場合にも、テストパターンに対応したランプ・LED制御パターンに従って、各発光体の点灯や点滅を行う。ランプ・LED制御パターンは、あらかじめROMに格納されている。テストパターンに対応したランプ・LED制御パターンとして、例えば、飾りランプ(遊技盤の装飾ランプ25、枠側の遊技効果ランプ・LED25a,25b,25c)、始動記憶表示器18、ゲート通過表示器41、賞球ランプ51および球切れランプ52を順次所定時間(例えば1秒)ずつ点灯させ、そのような制御を所定期間繰り返すといったパターンがある。
このようなテストコマンドにもとづくランプテストを用意しておけば、遊技機の検査時などに容易に各発光体の良/不良を確認することができる。
なお、遊技制御手段がテストコマンドを送出する契機として、例えば、電源基板910にスイッチを設置しておいてそのスイッチが押下された場合や、そのスイッチが押下された状態で電源が投入された場合とすることができる。テストコマンドを送出する契機として、もちろんランプテストを起動しやすいような他の手段によるものを使用してもよい。さらに、ランプ制御手段が、遊技制御手段からのコマンドに応じてではなく、独自にランプテストを開始できるように構成してもよい。例えば、ランプ制御基板35にスイッチを用意しておき、そのスイッチが押下された場合にランプテストを開始したり、上述した電源基板910のスイッチ出力をランプ制御基板35に導入することによって、そのスイッチが押下下された場合にランプテストを開始したりしてもよい。
図53は、パターンデータに対応したランプ・LED制御パターンの一例を示す説明図である。ランプ・LED制御パターンも、やはりROMに設定されている。図53に示された例は、点灯と消灯とを繰り返すように制御する場合のランプ・LED制御パターンであり、点灯時間と消灯時間とが設定されている。
図54は、ランプ・LED制御処理(ステップS266)の一例を示すフローチャートである。ランプ・LED制御処理において、ランプ制御用CPU351は、まず、点灯中であるか否かをチェックする(ステップS271)。点灯中であるならば、実際の点灯時間がランプ・LED制御パターンに設定されていた点灯時間を経過したか否か確認する(ステップS272)。経過していれば、制御対象のランプ・LEDを消灯する(ステップS273)。
また、点灯中でなければ、実際の消灯時間がランプ・LED制御パターンに設定されていた消灯時間を経過したか否か確認する(ステップS274)。経過していれば、制御対象のランプ・LEDを点灯する(ステップS275)。
この例は、点灯と消灯とを繰り返す簡単な例であるが、より複雑な点灯/消灯パターンを実現する場合であっても、図51に例示されたようなランプパターンテーブルにランプ制御コマンドに対応したパターンデータを設定するとともに、各パターンデータに対応したランプ・LED制御パターン(具体的な点灯時間等が設定されているテーブル)を用意しておけば、任意の点灯/消灯パターンを実現することができる。
なお、図51に例示されたランプパターンテーブルにおいて、賞球ランプ51および球切れランプ52については、「点灯」または「消灯」が設定されている。その場合、図53に例示されたようなランプ・LED制御パターンには点灯時間または消灯時間として例えば無限大が設定される。そのように設定しておけば、例えば点灯中では、消灯を指示するランプ制御コマンドを受信するまでは点灯を継続することになる。また、賞球ランプ51および球切れランプ52の表示パターンは点灯または消灯のみに限られず、他の表示パターン例えば点滅のパターンを用いてもよい。さらに、賞球残数があるときとないときとで賞球ランプ51の表示色を変えたり(例えば、赤と緑)、補給球が所定量を下回っているときとそうでないときとで球切れランプ52の表示色を変えたり(例えば、赤と緑)してもよい。
また、上記の実施の形態では、賞球ランプ51と球切れランプ52とが分かれて設置されていたが、1つのランプ等の発光体で兼用してもよい。その場合、例えば、発光体の表示色を変えることによって、補給球が所定量を下回っているか否かと、未払出の賞球残数があるか否かとを報知する。
以上のように、この実施の形態では、ランプ制御手段が、枠側に設けられているランプやLED等の発光体を制御するとともに、遊技盤に設けられているランプやLED等の発光体を制御する。従って、主基板31とは別にランプ制御基板35が設けられた構成において、発光体制御が簡潔に実現できる。また、遊技制御手段は遊技盤のランプやLED等の発光体を制御する必要がなくなるので、遊技制御手段の発光体制御に要する負荷が軽減され、遊技進行制御にかけられる時間が増大したり、遊技進行制御に割り当てることができるプログラム容量が増大する。
また、ランプ制御手段は、枠側に設けられている発光体も遊技盤に設けられている発光体もパターンデータにもとづいて制御する。よって、遊技制御手段からのコマンドに応じて発光体表示制御を行うように構成されていても、ランプ制御手段の構成を簡潔に実現できる。
さらに、ランプ制御手段は、賞球ランプ51および球切れランプ52の表示制御もパターンデータにもとづいて行っている。よって、遊技制御手段からのコマンドに応じて賞球ランプ51および球切れランプ52の表示制御を行うように構成されていても、ランプ制御手段の構成を簡潔に実現できる。また、パターンデータにもとづいて制御を行うことから、表示パターンを容易に変更できる。表示パターンを変更する場合には、パターンデータの内容を変更するだけでよく、プログラムを変更しなくてよい。この結果、ランプ制御手段のプログラムを容易に他機種に流用できる。
また、遊技制御手段とは別に設けられているランプ制御手段が、遊技進行に応じて様々に装飾的に表示制御される装飾ランプ25および遊技効果ランプ・LED28a,28b,28cの表示制御を行うだけでなく、現在進行中の遊技とは非同期にランダムに表示内容が変わる可能性がある始動記憶表示器18、ゲート通過記憶表示器41、賞球ランプ51および球切れランプ52の表示制御も行う。よって、遊技制御手段は、現在進行中の遊技とは非同期に表示内容が変わる発光体についても具体的な点灯/消灯制御を行わなくてよく、遊技制御手段の発光体制御に関する制御負担が大きく低減されている。
そして、遊技制御手段からランプ制御手段に送出されるランプ制御コマンドは、系統立てて構築されている。その結果、ランプ制御コマンドを受信したランプ制御手段は直ちにどの系統のコマンドを受信したのかを判断することができ、プログラム作成が容易になる。さらに、プログラム解析が容易になるので、プログラム変更が容易になり、また、一部改変して他機種に流用することも容易になる。
図55は、図柄制御用CPU101が実行するメイン処理を示すフローチャートである。メイン処理では、まず、RAM領域をクリアする等の初期値設定処理が行われる(ステップS281)。その後、この実施の形態では、図柄制御用CPU101は、タイマ割込フラグの監視(ステップS282)の確認を行うループ処理に移行する。そして、図56に示すように、タイマ割込が発生すると、図柄制御用CPU101は、タイマ割込フラグをセットする(ステップS287)。メイン処理において、タイマ割込フラグがセットされていたら、図柄制御用CPU101は、そのフラグをクリアするとともに(ステップS283)、図柄制御プロセス処理を行う(ステップS285)。図柄制御プロセス処理では、制御状態に応じた各プロセスのうち、現在の制御状態に対応したプロセスを選択して実行する。
この実施の形態では、タイマ割込は2ms毎にかかるとする。すなわち、図柄制御処理は、2ms毎に起動される。
また、図柄制御用CPU101は、音声制御用CPU701やランプ制御用CPU351の場合と同様に、INT信号にもとづく割込処理によって主基板31からの図柄制御コマンドを受信する(図45および図50参照)。
すなわち、図柄制御用CPU101は、INT信号にもとづく割込がかかるとまず、図柄制御コマンドデータの入力に割り当てられている入力ポートからデータを読み込み、2バイト構成の図柄制御コマンドのうちの1バイト目を既に受信したか否か確認する。まだ1バイト目を受信していない場合には、受信した1バイトのうちのビット7が「1」であるか否か確認する。ビット7が「1」であれば、有効な1バイト目を受信したとして、受信したコマンドを受信バッファの1バイト目に格納する。
1バイト目を既に受信している場合には、受信した1バイトのうちのビット7が「0」であるか否か確認する。ビット7が「0」であれば、有効な2バイト目を受信したとして、受信したコマンドを受信バッファの2バイト目に格納し、通信終了フラグをセットする。
以上のような制御によって、音声制御手段やランプ制御手段の場合と同様、図柄制御手段も、基板間でデータ化け等が生ずると1個のコマンドが受信側において正しく受信されない場合があるが、その後、受信側において、主基板31から送出されたコマンドの2バイト目を1バイト目(MODE)と判断しコマンドの1バイト目を2バイト目(EXT)と判断してしまうようなことはない。
図57は、この実施の形態で用いられる制御コマンドと、制御内容との関係を示す説明図である。図柄制御用CPU101は、主基板31から図57に示されたような図柄制御コマンドを受信すると、図柄制御プロセス処理(ステップS85)で、受信した図柄制御コマンドに応じた表示制御を行う。
図57には、図柄制御手段が受信することのないコマンドも示されているが、、例えば、主基板31から各電気部品制御手段に対して共通コマンドが送出されるように構成した場合に容易に対応できる。すなわち、図柄制御手段がそのようなコマンドを受信した場合には、図柄制御内容を変化させなければよい。すなわち、受信した制御コマンドを無視すればよい。
遊技制御手段が、音声制御手段、ランプ制御手段および図柄制御手段に対して共通コマンドを送出し、音声制御手段、ランプ制御手段および図柄制御手段が、不要な受信コマンドを無視するように構成した場合には、遊技制御手段は共通コマンドを扱い各電気部品制御手段毎の制御コマンドを扱わなくてもよいので、遊技制御手段の制御コマンド送出に要する負荷がさらに低減される。
すなわち、遊技制御手段は、遊技制御の制御切替時点等の制御コマンド送出タイミングにおいて、制御コマンドをどの電気部品制御手段に送出しなければならないのかを判断する必要はない。その制御コマンドを各電気部品制御手段に一律に送出してしまえばよい。なお、音声制御手段、ランプ制御手段および図柄制御手段の全てについて共通コマンドを適用するのではなく、いずれか2つ、例えば、音声制御手段とランプ制御手段に対して共通コマンドを送出するようにしてもよい。
次に、払出制御用CPU371による払出制御について説明する。図58は、電源監視および電源バックアップのための払出制御用CPU371周りの一構成例を示すブロック図である。図58に示すように、第1の電源監視回路(第1の電源監視手段)からの電圧低下信号が、バッファ回路960を介して払出制御用CPU371のマスク不能割込端子(NMI端子)に接続されている。第1の電源監視回路は、遊技機が使用する各種直流電源のうちのいずれかの電源の電圧を監視して電源電圧低下を検出する回路である。この実施の形態では、VSLの電源電圧を監視して電圧値が所定値以下になるとローレベルの電圧低下信号を発生する。VSLは、遊技機で使用される直流電圧のうちで最大のものであり、この例では+30Vである。従って、払出制御用CPU371は、割込処理によって電源断の発生を確認することができる
払出制御基板37には、初期リセット回路975も搭載されているが、この実施の形態では、初期リセット回路975は、第2の電源監視回路(第2の電源監視手段)も兼ねている。すなわち、リセットIC976は、電源投入時に、外付けのコンデンサに容量で決まる所定時間だけ出力をローレベルとし、所定時間が経過すると出力をハイレベルにする。また、リセットIC976は、電源基板910に搭載されている第1の電源監視回路が監視する電源電圧と等しい電源電圧であるVSLの電源電圧を監視して電圧値が所定値(例えば+9V)以下になるとローレベルの電圧低下信号を発生する。従って、電源断時には、リセットIC976からの電圧低下信号がローレベルになることによって払出制御用CPU371がシステムリセットされる。なお、図58に示すように、電圧低下信号はリセット信号と同じ出力信号である。
リセットIC976が電源断を検知するための所定値は、通常時の電圧より低いが、払出制御用CPU371が暫くの間動作しうる程度の電圧である。また、リセットIC976が、払出制御用CPU371が必要とする電圧(この例では+5V)よりも高い電圧を監視するように構成されているので、払出制御用CPU371が必要とする電圧に対して監視範囲を広げることができる。従って、より精密な監視を行うことができる。
+5V電源から電力が供給されていない間、払出制御用CPU371の内蔵RAMの少なくとも一部は、電源基板から供給されるバックアップ電源がバックアップ端子に接続されることによってバックアップされ、遊技機に対する電源が断しても内容は保存される。そして、+5V電源が復旧すると、初期リセット回路975からリセット信号が発せられるので、払出制御用CPU371は、通常の動作状態に復帰する。そのとき、必要なデータがバックアップされているので、停電等からの復旧時には停電発生時の遊技状態に復帰することができる。
以上のように、この実施の形態では、電源基板910に搭載されている第1の電源監視回路が、遊技機で使用される直流電圧のうちで最も高い電源VSLの電圧を監視して、その電源の電圧が所定値を下回ったら電圧低下信号(電源断検出信号)を発生する。電源断検出信号が出力されるタイミングでは、IC駆動電圧は、まだ各種回路素子を十分駆動できる電圧値になっている。従って、IC駆動電圧で動作する払出制御基板37の払出制御用CPU371が所定の電力供給停止時処理を行うための動作時間が確保されている。
なお、ここでも、第1の電源監視回路は、遊技機で使用される直流電圧のうちで最も高い電源VSLの電圧を監視することになるが、電源断検出信号を発生するタイミングが、IC駆動電圧で動作する電気部品制御手段が所定の電力供給停止時処理を行うための動作時間が確保されるようなタイミングであれば、監視対象電圧は、最も高い電源VSLの電圧でなくてもよい。すなわち、少なくともIC駆動電圧よりも高い電圧を監視すれば、電気部品制御手段が所定の電力供給停止時処理を行うための動作時間が確保されるようなタイミングで電源断検出信号を発生することができる。
その場合、上述したように、監視対象電圧は、賞球カウントスイッチ301A等の遊技機の各種スイッチに供給される電圧が+12Vであることから、電源断時のスイッチオン誤検出の防止も期待できる電圧であることが好ましい。すなわち、スイッチに供給される電圧(スイッチ電圧)である+12V電源電圧が落ち始める以前の段階で、電圧低下を検出できることが好ましい。よって、少なくともスイッチ電圧よりも高い電圧を監視することが好ましい。
なお、図58に示された構成では、初期リセット回路975は、電源投入時に、コンデンサの容量で決まる期間のローレベルを出力し、その後ハイレベルを出力する。すなわち、リセット解除タイミングは1回だけである。しかし、図11に示された主基板31の場合と同様に、複数回のリセット解除タイミングが発生するような回路構成を用いてもよい。
図59は、払出制御用CPU371のメイン処理を示すフローチャートである。メイン処理では、払出制御用CPU371は、まず、RAM領域をクリアする等の初期値設定処理を行う(ステップS291)。なお、内蔵RAMの電源バックアップされたRAM領域(バックアップRAM領域)にデータが設定されている場合には、それらの領域のクリア処理はなされない。その後、この実施の形態では、払出制御用CPU371は、タイマ割込フラグの監視(ステップS292)の確認を行うループ処理に移行する。
ステップS291の初期化処理では、後述する総合個数記憶および貸し玉個数記憶の値が0でない場合には、非バックアップRAM領域をクリアする。そして、賞球再開のための設定を行う。例えば、賞球中処理中フラグのセット等を行う。なお、バックアップRAM領域であっても、賞球個数に関わらない領域であるならば、それらのアドレスを指定してクリアするようにしてもよい。さらに、それら処理の他に、2ms毎に定期的にタイマ割込がかかるように払出制御用CPU371に設けられているタイマレジスタの初期設定(タイムアウトが2msであることと繰り返しタイマが動作する設定)が行われる。すなわち、タイマ割込を能動化する処理と、タイマ割込インタバルを設定する処理とが実行される。
従って、この実施の形態では、払出制御用CPU371の内部タイマが繰り返しタイマ割込を発生するように設定される。この実施の形態では、繰り返し周期は2msに設定される。そして、図60に示すように、タイマ割込が発生すると、払出制御用CPU371は、タイマ割込フラグをセットする(ステップS297)。
払出制御用CPU371は、ステップS702において、タイマ割込フラグがセットされたことを検出すると、タイマ割込フラグをリセットするとともに(ステップS293)、払出制御処理を実行する(ステップS295)。以上の制御によって、この実施の形態では、払出制御処理は2ms毎に起動されることになる。なお、この実施の形態では、タイマ割込処理ではフラグセットのみがなされ、払出制御処理はメイン処理において実行されるが、タイマ割込処理で払出制御処理を実行してもよい。
図61は、払出制御用CPU371が内蔵するRAMの使用例を示す説明図である。この例では、バックアップRAM領域に総合個数記憶(例えば2バイト)および貸し玉個数記憶が形成されている。総合個数記憶は、主基板31の側から指示された払出個数の総数を記憶するものである。貸し玉個数記憶は、未払出の球貸し個数を記憶するものである。なお、バックアップRAM領域には、各種フラグ類を設定するための領域もある。また、図61では、非バックアップ領域も示されているが、払出制御用CPU371が内蔵するRAMは全て電源バックアップされていてもよい。
図62は、割込処理による払出制御コマンド受信処理を示すフローチャートである。主基板31からのINT信号は払出制御用CPU371の割込端子に入力されている。よって、主基板31からのINT信号がオン状態になると、払出制御用CPU371に割込がかかり、図62に示す払出制御コマンドの受信処理が開始される。
払出制御コマンドの受信処理において、払出制御用CPU371は、まず、払出制御コマンドデータの入力に割り当てられている入力ポートから1バイトのデータを読み込む(ステップS852)。読み込んだデータが払出個数指示コマンドであれば(ステップS853)、払出個数指示コマンドで指示された個数を総合個数記憶に加算する(ステップS855)。そうでなければ、通信終了フラグをセットする(ステップS854)。なお、通信終了フラグは、この例では、払出個数指示コマンド以外のコマンドを受信したことを示すフラグである。
以上のように、払出制御基板37に搭載された払出制御用CPU371は、主基板31のCPU56から送られた払出個数指示コマンドに含まれる賞球数をバックアップRAM領域(総合個数記憶)に記憶する。
図63〜図66は、払出制御処理(ステップS295)の一例を示すフローチャートである。この例では、払出制御用CPU371は、まず、払出停止中であるか否か確認する(ステップS471)。払出停止中でなければ、主基板31から払出停止指示を示す払出制御コマンドを受信したか否か確認する(ステップS472)。受信していれば、払出モータ289を停止するとともに(ステップS473)、内部状態を払出停止状態に設定する(ステップS474)。すなわち、払出制御手段は、賞球払出も球貸しも停止する状態になる。
なお、この実施の形態では、払出停止指示のコマンドを受信したら直ちに払出モータ289を停止するが、そのように制御するのではなく、切りのよいところで払出モータ289を停止するようにしてもよい。例えば、遊技球の払出を25個単位で実行し、一単位の払出が完了した時点で払出モータ289を停止するとともに、内部状態を払出停止状態に設定するようにしてもよい。上述したように、球切れスイッチ187a,187bは、払出球通路186a,186bに27〜28個程度の遊技球が存在することを検出できるような位置に設置されているので、主基板31の遊技制御手段が球切れを検出しても、その時点から少なくとも25個の払出は可能である。従って、一単位の払出が完了した時点で払出停止状態にしても問題は生じない。また、一単位の区切りで払出停止状態とすれば、払出再開時の制御が容易になる。
払出停止状態であれば、払出制御用CPU371は、主基板31から払出停止解除指示を示す払出制御コマンドを受信したか否か確認する(ステップS475)。受信していなければ、ステップS471に戻る。払出停止解除指示を示す払出制御コマンドを受信していれば、内部状態の払出停止状態を解除する(ステップS476)。すなわち、払出制御手段は、賞球払出および球貸しができる状態に戻る。
払出停止状態でなければ、払出制御用CPU371は、ステップS481以降の処理を行う。ステップS481において、払出制御用CPU371は、現在球貸し中であるか否か確認する。球貸し中であれば、ステップS532の球貸し中の処理に移行する。球貸し中でない場合には、賞球処理中であるか否か確認する(ステップS482)。賞球処理中であれば、ステップS513の賞球処理中の処理に移行する。
賞球処理中でもなければ、遊技機の外部機器としてのカードユニット50からの球貸し要求信号であるBRQ信号がオンになっているかどうか確認する(ステップS483)。BRQ信号がオンになっていれば、ステップS491以降の処理を行う。BRQ信号がオンになっていなければ、すなわち球貸し要求が発生していなければ、総合個数記憶が0であるか否か確認する(ステップS491)。総合個数記憶が0であれば、すなわち、賞球払出を開始する必要がない場合には、処理を終了する。
なお、この実施の形態では、ステップS481〜S491の判断によって球貸しが賞球処理よりも優先されることになるが、賞球処理が球貸しに優先するようにしてもよい。
ステップS492において、払出制御用CPU371は、球貸し処理中フラグをオンし、球貸し個数カウンタに単位数を設定して(ステップS493)、EXS信号をオンする(ステップS494)。単位数は、例えば所定単位である100円で貸し出される遊技球の数(例えば25個)である。そして。球払出装置97の下方の球振分部材311を球貸し側に設定するために振分用ソレノイド310を駆動する(ステップS495)。また、払出モータ289をオンして(ステップS496)、図66に示す球貸し中の処理に移行する。
なお、払出モータ289をオンするのは、厳密には、カードユニット50が受付を認識したことを示すためにBRQ信号をOFFとしてからである。また、球貸し個数カウンタはバックアップRAM領域の貸し玉個数記憶に形成されている。また、球貸し処理中フラグもバックアップRAM領域に設定される。
ステップS491において総合個数記憶が0でなければ、賞球払出を開始する処理を行う。すなわち、賞球処理中フラグをオンし(ステップS505)、球払出装置97の下方の球振分部材311を賞球側に設定し(ステップS506)、払出モータ289をオンする(ステップS507)。そして、賞球払出中処理に移行する。なお、賞球処理中フラグは、バックアップRAM領域に設定される。
ステップS513以降の処理は賞球払出中の処理である。賞球払出中の処理において、払出制御用CPU371は、賞球カウントスイッチ301Aの検出出力によって遊技球の払出がなされたか否かの確認を行う。そして、1個の払出が行われたことを確認したら(ステップS513)、総合個数記憶の値を−1する(ステップS514)。また、総合個数記憶の値が0になったら(ステップS515)、払出モータ289をオフするとともに(ステップS516)、賞球処理中フラグをオフする(ステップS517)。
総合個数記憶の内容は、遊技機の電源が断しても、所定期間電源基板910のバックアップ電源によって保存される。従って、所定期間中に電源が回復すると、払出制御用CPU371は、総合個数記憶の内容にもとづいて賞球払出処理を継続することができる。
払出制御用CPU371は、電源投入時に、バックアップRAM領域のデータを確認するだけで、通常の初期設定処理を行うのか賞球中の状態を復元するのか決定できる。すなわち、簡単な判断によって、未払出賞球について賞球処理再開を行うことができる。
なお、払出制御用CPU371は、主基板31から指示された賞球個数を総合個数記憶で総数として管理したが、賞球数毎(例えば15個、10個、6個)に管理してもよい。例えば、賞球数毎に対応した個数カウンタを設け、払出個数指定コマンドを受信すると、そのコマンドで指定された個数に対応する個数カウンタを+1する。そして、賞球数毎の賞球払出が終了すると、対応する個数カウンタを−1する。その場合にも、各個数カウンタはバックアップRAM領域に形成される。よって、遊技機の電源が断しても、所定期間中に電源が回復すれば、払出制御用CPU371は、各個数カウンタの内容にもとづいて賞球払出処理を継続することができる。
図66は、払出制御用CPU371による払出制御処理における球貸し中の処理を示すフローチャートである。球貸し処理において、払出制御用CPU371は、球貸しカウントスイッチ301Bの検出出力によって遊技球の払出がなされたか否かの確認を行う。そして、1個の払出が行われたことを確認したら(ステップS532)、球貸し個数カウンタの値を−1する(ステップS533)。また、球貸し個数カウンタの値が0になったら(ステップS534)、カードユニット50に対して、次の球貸し要求の受付が可能になったことを示すためにEXS信号をオフにする(ステップS535)。また、払出モータ289をオフするとともに(ステップS535)、球貸し処理中フラグをオフする(ステップS537)。
なお、球貸し要求の受付を示すEXS信号をオフにした後、所定期間内に再び球貸し要求信号であるBRQ信号がオンしたら、払出モータをオフせずに球貸し処理を続行するようにしてもよい。すなわち、所定単位(この例では100円単位)毎に球貸し処理を行うのではなく、球貸し処理を連続して実行するように構成することもできる。
貸し玉個数記憶の内容は、遊技機の電源が断しても、所定期間電源基板910のバックアップ電源によって保存される。従って、所定期間中に電源が回復すると、払出制御用CPU371は、貸し玉個数記憶の内容にもとづいて球貸し処理を継続することができる。
上記の払出制御では、バックアップRAM領域の貸し玉個数記憶に記憶されている球貸しに関する情報は、球貸し個数カウンタの値である。すなわち、1回の所定単位(この例では100円に対応する単位数:25個)における未払出遊技球数である。しかし、複数回の所定単位の全てについての未払出貸し玉数を貸し玉個数記憶に記憶してもよい。その場合、例えば、500円分の球貸しの要求、すなわち、所定単位の5回分の球貸し要求を、払出制御用CPU371は、あらかじめ全て受け付け、所定単位5回分の球貸しを行うべき旨の情報をバックアップRAM領域の貸し玉個数記憶に記憶する。
図67は、そのような制御を実現するために、払出制御用CPU371が実行する払出制御処理の一部を示すフローチャートである。なお、図67に示された処理以前の処理は、図63に示された処理と同じである。この場合には、カードユニット50からのBRQ信号がオンすると(ステップS491)、玉貸し個数カウンタの値が0ならば玉貸し個数カウンタに単位数(この例では25)を設定し、玉貸し個数カウンタの値が0でなければ玉貸し回数カウンタを+1する(ステップS497)。この実施の形態では、玉貸し回数カウンタは玉貸し回数(所定単位の何回分かを示す)を計数するものであり、玉貸し個数カウンタは、各回の払出数を計数するものとして用いられる。
さらに、払出制御用CPU371は、EXS信号をオン状態にしてカードユニット50に要求受付を通知すると、次の回のBRQ信号のオンを許可するために直ちにEXS信号をオフにする(ステップS498)。なお、カードユニット50がEXS信号のオンオフを確実に認識できるように、ステップS498の実行前にディレイ時間をおくことが好ましい。
そして、図68に示す玉貸し中の処理において、1個の払出が終了していない間、カードユニット50からの玉貸し要求信号であるBRQ信号がオンになっているかどうか確認する(ステップS545)。BRQ信号がオンになっていれば、玉貸し回数カウンタを+1して(ステップS546)、玉貸し要求の受付を示すEXS信号をオン状態にした後に(ステップS547)、EXS信号をオフにする(ステップS548)。
また、払出制御用CPU371は、玉貸し個数カウンタの値が0になったときには、玉貸し回数カウンタの値が0であるか否か確認し(ステップS541)、0でなければ玉貸し個数カウンタにあらためて単位数を設定するとともに(ステップS542)、玉貸し回数カウンタの値を1減らす(ステップS543)。玉貸し回数カウンタの値が0であれば、所定単位の複数分の玉貸しが全て完了したことになるので、払出モータをオフするとともに(ステップS536)、玉貸し処理中フラグをオフする(ステップS537)。
以上ような制御によって、カードユニット50から所定回連続して球貸し要求が出力される場合に、全ての要求が順次受け付けられる。そして、受け付けたが、その受付に対してまだ払い出しが開始されていないものについては球貸し回数カウンタの値に保存される。
球貸し回数カウンタおよび球貸し個数カウンタの値はバックアップRAM領域における貸し玉個数記憶に記憶されるので、遊技機に対する電源が断しても所定期間は保存される。そして、その所定期間内に電源が回復すれば、払出制御用CPU371は、保存されている球貸し回数カウンタおよび球貸し個数カウンタの値にもとづいて球貸し処理を続行することができる。すなわち、払出制御手段が、複数回の球貸し要求を全て受け付けて、その後に順次球貸し処理を実行するように構成されている場合でも、遊技者に対して球貸しに関する不利益を与えることのない制御が実現される。
また、複数回の球貸し要求の受付が開始されると同時に実際の球貸し処理も開始されるように構成してもよいが、事前に複数回の球貸し要求を全て受け付け、受付完了後に実際の球貸し処理を開始するように構成してもよい。
図69は、払出制御用CPU371が第1の電源監視手段からの割込に応じて実行される停電発生割込処理を示すフローチャートである。電源基板910の電源監視用IC902が電源電圧の低下を検出すると電圧低下信号が電圧低下を示す状態となり、停電発生割込処理が開始される。停電発生割込処理において、払出制御用CPU371は、割込禁止に設定し(ステップS801)、RAMアクセス禁止状態に設定し(ステップS802)、出力ポートをオフ状態にして(ステップS803)、ループ処理に入る。すなわち、何らの処理もしない状態になる。
従って、図58に示されたリセットIC976からのリセット信号によって外部から動作禁止状態(システムリセット)にされる前に、内部的に動作停止状態になる。よって、電源断時に確実に払出制御用CPU371は動作停止する。その結果、電源電圧が低下していくことに伴って生ずる可能性がある異常動作に起因するRAMの内容破壊等を確実に防止することができる。
なお、この実施の形態では、停電発生割込処理では最終部でプログラムをループ状態にしたが、ホールト(HALT)命令を発行するように構成してもよい。また、割込処理中には他の割込がかからないような仕様のCPUを用いた場合にはステップS801の処理は不要である。また、この実施の形態では、停電発生割込処理(電力供給停止時処理)はNMIに応じて実行されるが、電源基板からの第1の電圧低下信号(第1の電源監視手段からの電圧低下信号)をマスク可能割込割込端子(IRQ端子)に導入して、割込処理(IRQ処理)で電力供給停止時処理を実行してもよい。
図70は、払出制御用CPU371が電源投入時に実行する初期化処理(ステップS701)の一部を示すフローチャートである。電源が投入され、または、電源が復旧したときには、払出制御用CPU371は、まず、バックアップRAM領域に形成されている総合個数記憶または貸し玉個数記憶の値が0でないかどうか確認する(ステップS901)。0である場合には、前回の電源オフ時に未払出賞球はなかったことになるので、通常の初期設定処理を行う。すなわち、レジスタおよび全RAM領域をクリアして(ステップS903)、スタックポインタの初期設定を行う(ステップS904)。
総合個数記憶または貸し玉個数記憶の値が0でない場合には、アドレスを指定してレジスタと非バックアップRAM領域をクリアする(ステップS905)。そして、賞球または球貸し再開のための設定を行う。例えば、球貸し処理中フラグのセット等を行う(ステップS906)。なお、バックアップRAM領域であっても、賞球個数に関わらない領域であるならば、それらのアドレスを指定してクリアするようにしてもよい。
このように、払出制御用CPU371は、電源投入時に、バックアップRAM領域のデータを確認するだけで、通常の初期設定処理を行うのか賞球払出中または球貸し中の状態を復元するのか決定できる。つまり、未払出の遊技球数および賞球処理中フラグと球貸し処理中フラグとはバックアップRAMに保存されているので、払出制御用CPU371は、賞球処理中フラグまたは球貸し処理中フラグがセットされていれば、総合個数記憶または貸し玉個数記憶の内容に応じた処理を続行することができる。すなわち、簡単な判断によって、未払出賞球または未払出貸し玉について処理再開を行うことができる。
また、上記の実施の形態では、停電等の電源断が生じたときの電力供給停止時処理として単にRAMアクセス禁止を行っただけであるが、RAM内のデータを対象としてパリティデータを作成し、作成したパリティデータも保存するようにしてもよい。そして、電源投入時の処理において、パリティデータにもとづく確認を行い、RAM内のデータが正しく保存されていたことを確認したら、保存されているデータにもとづく賞球払出処理または球貸し処理を続行するようにしてもよい。
図71は、主基板31および電気部品制御基板の他の構成例を示すブロック図である。この例では、遊技機に設けられている発光体、音発生手段および図柄表示手段を制御する演出制御手段が搭載されている演出制御基板400が設けられている。演出制御手段は、遊技制御手段から演出制御コマンドを受信し、受信したコマンドにもとづいて、装飾ランプ25、遊技効果ランプ・LED28a,28b,28c、賞球ランプ51、球切れランプ52、始動記憶表示器18およびゲート通過記憶表示器41の表示制御を行うとともに、スピーカ27からの音発生制御を行う。さらに、識別情報としての特別図柄を可変表示する可変表示部9および識別情報としての普通図柄を可変表示する可変表示部10の表示制御を行う。なお、図71では、発射制御に関する部分は省略されている。
この例では、演出制御コマンドの形態は、上述した図柄制御コマンド、ランプ制御コマンドおよび音声制御コマンドの形態と同じであるとする。すなわち、演出制御コマンドは2バイト構成であり、1バイト目はMODE(コマンドの分類)を表し、2バイト目はEXT(コマンドの種類)を表す。
なお、既に説明したように、払出制御コマンドは、1バイト構成であるが、やはり、MODE部分とEXT部分とからなっている。すなわち、演出制御コマンドとランプ制御コマンドの形態は共通している。また、遊技制御手段から演出制御手段に送出されるコマンドの形態と遊技制御手段から払出制御手段に送出されるコマンドの形態とは、少なくとも、一回に出力されるコマンドのデータ量が同一(この例では1バイト)であることによって共通化されている。なお、払出制御コマンドを2バイト構成にすれば、1コマンドのコマンド長についても共通化される。
遊技制御手段における演出制御コマンドの作成方法として、例えば、図37に示されたような処理を流用することができる。つまり、図37に示された出力データ設定処理において、音声制御コマンド送出要求、ランプ制御コマンド送出要求および図柄制御コマンド送出要求に代えて、演出制御コマンド送出要求を設定し、バッファ領域への音声データ、ランプデータおよび図柄制御データの設定に代えて、演出制御データを設定する。その場合、同一タイミングで2つの演出制御コマンド送出要求が設定される場合(例えば、ランプデータと図柄制御データに同時に変更があったような場合)には、いずれか一方を用いればよい。
また、遊技制御手段における演出制御コマンドの出力方法として、例えば、図41に示されたような処理を流用することができる。つまり、図41に示されたデータ出力処理において、例えば、図柄制御コマンド送出要求のチェックに代えて、演出制御コマンド送出要求をチェックすればよい。そして、特定レジスタ#3に、演出制御データが設定されているバッファ領域の番号を設定する。そのようにすれば、演出データすなわち演出制御コマンドが、演出制御基板400に送出される。
すると、送出されるべき演出制御コマンドをバッファ領域に設定する処理と、び図39,図40に示された入賞球信号処理において送出されるべきコマンドをバッファ領域に設定する処理とは共通である。すなわち、バッファ領域にコマンドが書き込まれるとともにコマンド送出要求がセットされる。すると、演出制御コマンドおよび払出制御コマンドについて、バッファ領域にコマンドを書き込むプログラム部分を共通化することができる。例えば、演出制御コマンドをバッファ領域に書き込むときには、あるレジスタに「1」を書き込み、送出されるべきコマンドを別のレジスタにセットして、バッファ設定サブルーチンをコールするといったプログラム構成をとることもできる。その場合、バッファ設定サブルーチンでは、「1」がレジスタに書き込まれていることを認識したときには、別のレジスタに設定されているコマンドを演出制御コマンド用に設けられているバッファ領域に設定する。
また、演出制御コマンドおよび払出制御コマンドのそれぞれについて、全てのコマンドが設定されているテーブルを用意し、バッファ設定サブルーチンをコールするときに、送出すべきコマンドに応じたテーブルにおけるアドレスまたはアドレスに対応した番号をレジスタに設定するようにしてもよい。その場合、バッファ設定サブルーチンでは、アドレス情報をもとにテーブルを検索して該当コマンドを読み出し、読み出したコマンドをバッファ領域に設定することができる。
また、演出制御コマンドおよび払出制御コマンドについて、共通のサブルーチンをコールすることになるので、送出されるべきコマンド出力処理も共通化することができる。その結果、遊技制御手段におけるコマンド送出に要する負荷がさらに軽減される。
図72は、演出制御基板400の回路構成例を主基板31のコマンド送出部分とともに示すブロック図である。図72に示すように、主基板31の出力ポート出力ポート571からは8ビットのデータCD0〜CD7(演出制御コマンドを構成する演出制御信号)が出力され、出力ポート572からは1ビットのストローブ信号(INT信号)が出力される。なお、演出制御コマンドの送出方法は、例えば、図22に示された図柄制御コマンドの場合と同じでよい。すなわち、演出制御コマンドも、演出制御手段が受信可能に一回だけ出力される。
演出制御用CPU401は、制御データROM102に格納されたプログラムに従って動作し、主基板31からノイズフィルタ107および入力バッファ回路105Bを介してINT信号が入力されると、入力バッファ回路105Aを介して演出制御コマンドを受信する。入力バッファ回路105A,105Bとして、例えば汎用ICである74HC540,74HC14を使用することができる。なお、演出制御用CPU401がI/Oポートを内蔵していない場合には、入力バッファ回路105A,105Bと演出制御用CPU401との間に、I/Oポートが設けられる。
そして、演出制御用CPU401は、受信した演出制御コマンドに従って、可変表示部9および可変表示器10の表示制御を行う。可変表示部9の表示制御を行うために、具体的には、演出制御コマンドに応じた指令をVDP103に与える。VDP103は、キャラクタROM86から必要なデータを読み出す。VDP103は、入力したデータに従って可変表示部9に表示するための画像データを生成し、R,G,B信号および同期信号を可変表示部9に出力する。
入力バッファ回路105A,105Bは、主基板31から演出制御基板400へ向かう方向にのみ信号を通過させることができる。従って、演出制御基板400側から主基板31側に信号が伝わる余地はない。すなわち、入力バッファ回路105A,105Bは、入力ポートともに不可逆性情報入力手段を構成する。演出制御基板400内の回路に不正改造が加えられても、不正改造によって出力される信号が主基板31側に伝わることはない。
なお、出力ポート571,572の出力をそのまま演出制御基板400に出力してもよいが、単方向にのみ信号伝達可能な出力バッファ回路63A,63Bを設けることによって、主基板31から演出制御基板400への一方向性の信号伝達をより確実にすることができる。すなわち、出力バッファ回路63A,63Bは、出力ポートともに不可逆性情報出力手段を構成する。
また、高周波信号を遮断するノイズフィルタ107として、例えば3端子コンデンサやフェライトビーズが使用されるが、ノイズフィルタ107の存在によって、演出制御コマンドに基板間でノイズが乗ったとしても、その影響は除去される。なお、主基板31のバッファ回路63A,63Bの出力側にもノイズフィルタを設けてもよい。
さらに、例えばディジタルシグナルプロセッサによる音声合成回路702は、演出制御用CPU401の指示に応じた音声や効果音を発生し音量切替回路703に出力する。音量切替回路703は、音声制御用CPU701の出力レベルを、設定されている音量に応じたレベルにして音量増幅回路704に出力する。音量増幅回路704は、増幅した音声信号をスピーカ27に出力する。
また、演出制御用CPU401は、各制御コマンドに応じて定義されている遊技効果LED28a、遊技効果ランプ28b,28c、装飾ランプ25の点灯/消灯パターンに従って、遊技効果LED28a、遊技効果ランプ28b,28c、装飾ランプ25に対して点灯/消灯信号を出力する。点灯/消灯信号は、遊技効果LED28a、遊技効果ランプ28b,28c、装飾ランプ25に出力される。また、受信した制御コマンドに応じて、賞球ランプ51および球切れランプ52を点灯/消灯し、始動記憶表示器18およびゲート通過記憶表示器41に対して点灯/消灯信号を出力する。なお、各発光体についての点灯/消灯パターンは、演出制御用CPU401の内蔵ROMまたは外付けROMに記憶されている。
図73は、演出制御基板400に搭載されているROMに設定されているパターンテーブルの一構成例を示す説明図である。なお、この実施の形態では、演出制御コマンドとして図73の左欄(MODEとEXIT)に示すものが用いられるとする。図73に示すように、パターンテーブルには、受信しうる演出制御コマンドとそれに対応したランプ(遊技盤の装飾ランプ25、枠側の遊技効果ランプ・LED25a,25b,25c、賞球ランプ51、球切れランプ52、始動記憶表示器18およびゲート通過記憶表示器41)の点灯/滅灯に関するパターンデータ、音声制御に関するパターンデータおよび図柄制御に関するパターンデータが設定されている。パターンテーブルが設定されたROMは、演出制御用CPU401に内蔵されていてもよいし外付けであってもよい。
図73におけるランプ制御の各データの詳細は、図51に示したものと同じである。従って、演出制御用CPU401は、演出制御コマンドを受信すると、既に説明したように、受信したコマンドに応じたランプパターンデータを読み出し、読み出したデータに従ってランプの点灯/消灯制御を行うことができる。また、図73における音声制御の各データの内容は、図46に示したものと同じである。従って、演出制御用CPU401は、演出制御コマンドを受信すると、既に説明したように、受信したコマンドに応じた音声パターンデータを読み出し、読み出したデータに従って音発生制御を行うことができる。
例えば、演出制御用CPU401は、遊技制御手段からコマンド「8000(H)」を受信すると、ROMの図柄制御に関するパターンデータのうちから「変動#1変動パターン」を示すデータを読み出す。そのデータには、変動パターン#1として決められている変動時間や変動速度等を示す情報が含まれている。そこで、演出制御用CPU401は、それらの情報に応じて可変表示部9の図柄の可変表示を制御することができる。同時に、演出制御用CPU401は、ROMの点灯パターンデータのうちから「変動パターン指定#1」を示すデータを読み出す。そのデータには、変動パターン#1に応じた各発光体の点滅状態(例えば点灯継続時間や消灯継続時間等)に関する情報が含まれている。演出制御用CPU401は、それらの情報に応じて、各発光体の点灯/消灯制御を行う。さらに、演出制御用CPU401は、ROMの音声パターンデータのうちから「変動#1音声パターン」を示すデータを読み出す。そのデータには、変動パターン#1に応じた音発生パターン(例えば音の種類とその継続時間等)に関する情報が含まれている。演出制御用CPU401は、それらの情報に応じて、音声合成回路702に対して制御信号を出力する。
このように、演出制御コマンドのうちには、発光部品、音発生部品および識別情報表示部品のうちの複数(上の例では、発光部品、音発生部品および識別情報表示部品のすべて)を制御することを示すコマンドが含まれるので、演出制御用CPU401は、そのような1つのコマンドを受信すれば、発光部品、音発生部品および識別情報表示部品をそれぞれ制御することができる。
さらに、パターンテーブルには、可変表示部9および可変表示器10の表示パターンを示すデータも記載されている。演出制御用CPU401は、演出制御コマンドを受信すると、受信したコマンドに応じた変動パターンデータを読み出し、読み出したデータに従って可変表示部9および可変表示器10の可変表示制御を行うことができる。例えば、「変動#1変動パターン」として、変動#1の図柄変動速度や変動時間が設定されている。あるいは、図柄変動速度や変動時間が設定されているROMのアドレスが設定されている。演出制御用CPU401は、設定されている図柄変動速度に従って、設定されている変動時間だけ図柄の可変表示を行う。また、背景やキャラクタに関するデータも設定されている。従って、演出制御用CPU401は、設定されているデータに応じた背景を表示したりキャラクタを表示したりする制御も行うことができる。
以上のように、この例では、演出制御手段が、発光体表示制御、音発生制御および図柄表示制御を行う。従って、主基板31に搭載されている遊技制御手段は、遊技演出等に関して1つの制御コマンドを送出すればよい。その結果、制御コマンド送出に関する負担が大きく削減されている。
図74は、主基板31および電気部品制御基板の他の構成例を示すブロック図である。この例では、ランプ制御基板35に搭載されているランプ制御手段は、図柄制御手段からランプ制御コマンドを受信する。従って、主基板31に搭載されている遊技制御手段は、ランプ制御コマンドを送出する必要がない。また、音声制御基板70に搭載されている音声制御手段は、図柄制御手段から音声制御コマンドを受信する。従って、主基板31に搭載されている遊技制御手段は、音声制御コマンドを送出する必要がない。
なお、図柄制御コマンドは、図柄制御手段が認識可能に(受信可能に)遊技制御手段から1回だけ送出される。認識可能(受信可能)とは、この例では、INT信号がオン状態になることであり、認識可能(受信可能)に1回だけ送出されるとは、この例では、INT信号が1回だけオン状態になることである。遊技制御手段は、コマンドを1回だけ送出するように構成されるので、コマンド送出に要する負荷が軽減される。
図75は、図柄制御基板80およびランプ制御基板35における信号送受信部分を示すブロック図である。図75に示すように、ランプ制御に関するランプ制御コマンドは、図柄制御基板80の出力ポート(出力ポートE,F)455,456から出力される。出力ポート455は8ビットのデータを出力し、出力ポート456は1ビットのINT信号を出力する。なお、ランプ制御コマンドの送出方法やコマンド内容は、図26〜図28に示されたものと同じでよい。
また、音声制御基板70に対する音声制御コマンドも、図柄制御基板80の出力ポートから出力される。データ送出用の出力ポートは8ビットのデータを出力し、INT信号出力用の出力ポートは1ビットのINT信号を出力する。なお、音声制御コマンドの送出方法やコマンド内容は、図23〜図25に示されたものと同じでよい。
ランプ制御基板35において、図柄制御基板80からの制御コマンドは、入力バッファ回路355A,355Bを介してランプ制御用CPU351に入力する。なお、ランプ制御用CPU351がI/Oポートを内蔵していない場合には、入力バッファ回路355A,355Bとランプ制御用CPU351との間に、I/Oポートが設けられる。
また、音声制御基板35において、図柄制御基板80からの制御コマンドは、図8に示された場合と同様に、入力バッファ回路705A,705Bを介して音声制御用CPU701に入力する。
この例では、遊技制御手段は、例えば、図73の左欄(MODEとEXIT)に示された制御コマンドを図柄制御コマンドとして図柄制御基板80に送出する。すなわち、図柄表示制御と直接には関わらないコマンドも図柄制御コマンドとして送出する。そして、図柄制御基板80のROMには、例えば、図73の右欄に示されたパターンデータが記憶されている。従って、図柄制御手段すなわち図柄制御用CPU101は、対応するパターンデータが存在するものについてはそのデータに従って図柄表示制御を行う。対応するパターンデータが存在しないものについては、受信した制御コマンドを無視する。
また、図柄制御手段は、受信した図柄制御コマンドを、そのままランプ制御コマンドおよび音声制御コマンドとして、ランプ制御基板35および音声制御基板70に送出する。従って、図柄制御コマンドとランプ制御コマンドおよび音声制御コマンドとは形態が共通化されることになる。すなわち、遊技制御手段から図柄制御手段に送出されるコマンドの形態と図柄制御手段から発光体制御手段および音声制御手段に送出されるコマンドの形態とは、少なくとも、一回に出力されるコマンドのデータ量(この例では2バイト)が同一であることによって共通化され、この例では、さらに、図柄制御手段に対する図柄制御コマンドと発光体制御手段に対する発光体制御コマンドおよび音声制御手段に対する音声制御コマンドとは同一コマンドである。同一コマンドとしてよいのは、同一のコマンドに対応する可変表示部による演出の開始時期と発光体および音による演出の開始時期とが相互に関連しているからである(図73参照)。
なお、図柄制御手段は、受信した図柄制御コマンドのうちランプ制御手段が使用するコマンドについてのみランプ制御基板35に送出するようにしてもよい。また、受信した図柄制御コマンドのうち音声制御手段が使用するコマンドについてのみ音声制御基板70に送出するようにしてもよい。さらに、図柄制御基板80において、図柄制御用CPU101がランプ制御コマンドおよび音声制御コマンドを送出するのではなく、主基板31からの図柄制御コマンドをハードウェア的に分岐して、図柄制御コマンドがそのままランプ制御基板35および音声制御基板70に送出されるように構成してもよい。
以上のように、遊技制御手段は、主基板とは別に設けられているランプ制御手段および音声制御手段に対してランプ制御コマンドおよび音声制御コマンドを送出する必要がない。よって、遊技制御手段の制御コマンドの送出に要する負荷が軽減される。
上述した実施例の場合と同様に、ランプ制御基板35および音声制御基板70に搭載されているROMには、図46や図51に示されたようなパターンテーブルが格納されている。従って、ランプ制御手段および音声制御手段は、あらかじめ保持しているパターンデータにもとづいて発光体または音発生部品の制御を実行することができる。また、図73に示されたようなコマンドを受信した図柄制御手段が、同一コマンドをランプ制御手段および音声制御手段に送信するので、図柄制御手段からランプ制御手段に送信されるランプ制御コマンドおよび図柄制御手段から音声制御手段に送信される音声制御コマンドは、ランプ制御手段および音声制御手段がそれぞれ保持しているパターンデータ中の各データと1対1に対応している(図46および図51参照)。すなわち、コマンドは、ランプ制御手段および音声制御手段がそれぞれ保持しているパターンデータ中のデータを特定可能な情報になっている。従って、ランプ制御手段および音声制御手段は、受信したコマンドから、直ちにパターンデータ中の該当データを検索できるので、どのような制御を行うべきかを直ちに判断できる。
なお、音声制御基板70に対する音声制御コマンドを図柄制御基板80から送出するとともにランプ制御基板35に対するランプ制御コマンドを主基板31の遊技制御手段から送出するように構成してもよく、ランプ制御基板35に対するランプ制御コマンドを図柄制御基板80から送出するとともに音声制御基板70に対する音声制御コマンドを主基板31の遊技制御手段から送出するように構成してもよい。いずれの場合も、遊技制御手段から送出すべき制御コマンドの数が減るので、遊技制御手段の制御コマンドの送出に要する負荷が軽減される。
上記の各例では、演出制御手段が発光体、音声および図柄表示の制御を行う場合と、図柄制御手段がランプ制御手段や音声制御手段に対してランプ制御コマンドを供給する場合を示したが、他の構成によって遊技制御手段の制御コマンド送出負荷を軽減することもできる。
例えば、発光体と音声の制御を行う演出制御手段が搭載された演出制御基板を設けたり、発光体と図柄の制御を行う演出制御手段が搭載された演出制御基板を設けたり、音声と図柄の制御を行う演出制御手段が搭載された演出制御基板を設けたりすることもできる。図76は、発光体と音声の制御を行う演出制御手段が搭載された演出制御基板500が設けられている例を示す。この場合にも、遊技制御手段は、発光体とランプ制御に関して1種類の演出制御コマンドを送出するだけでよく、遊技制御手段の制御コマンドの送出に要する負荷が軽減される。
図76に示す構成では、演出制御基板500に搭載されている演出制御用CPUすなわち演出制御手段は、遊技制御手段から演出制御コマンドを受信し、受信したコマンドにもとづいて、装飾ランプ25、遊技効果ランプ・LED28a,28b,28c、賞球ランプ51、球切れランプ52、始動記憶表示器18およびゲート通過記憶表示器41の表示制御を行うとともに、スピーカ27からの音発生制御を行う。
図76に示すように構成されている場合にも、遊技制御手段における演出制御コマンドの作成方法として、例えば、図37に示されたような処理を流用することができる。つまり、図37に示された出力データ設定処理において、音声制御コマンド送出要求およびランプ制御コマンド送出要求に代えて、演出制御コマンド送出要求を設定し、バッファ領域への音声データおよびランプデータの設定に代えて、演出制御データを設定する。その場合、同一タイミングで2つの演出制御コマンド送出要求が設定される場合(例えば、ランプデータと音声データに同時に変更があったような場合)には、いずれか一方を用いればよい。
また、遊技制御手段における演出制御コマンドの出力方法として、例えば、図41に示されたような処理を流用することができる。つまり、図41に示されたデータ出力処理において、例えば、音声制御コマンド送出要求のチェックに代えて、演出制御コマンド送出要求をチェックすればよい。そして、特定レジスタ#3に、演出制御データが設定されているバッファ領域の番号を設定する。そのようにすれば、演出データすなわち演出制御コマンドが、演出制御基板500に送出される。
すると、送出されるべき演出制御コマンドをバッファ領域に設定する処理と、び図39,図40に示された入賞球信号処理において送出されるべきコマンドをバッファ領域に設定する処理とはやはり共通である。すなわち、バッファ領域にコマンドを書き込むとともにコマンド送出要求をセットする。従って、演出制御コマンドおよび払出制御コマンドについて、バッファ領域にコマンドを書き込むプログラム部分を共通化することができる。
また、送出されるべきコマンド出力処理も共通化することができる。その結果、遊技制御手段におけるコマンド送出に要する負荷がさらに軽減される。
主基板31の他に演出制御基板を設け、演出制御基板上の演出制御手段が、図柄制御手段、音声制御手段およびランプ制御手段にコマンドを与えるようにしてもよい。図77は、そのような制御を行う演出制御手段が搭載された演出制御基板600を含む構成を示すブロック図である。
演出制御基板600上の演出制御手段は、主基板31から演出制御コマンドを受信すると、受信した演出制御コマンドに応じた図柄制御コマンド、音声制御コマンドおよびランプ制御コマンドを作成し、図柄制御基板70、音声制御基板80およびランプ制御基板35に送出する。主基板31から送出される演出制御コマンドは、例えば図73の「名称」欄に示されるような各コマンドである。そして、演出制御基板600上の演出制御手段は、演出制御コマンドを受信すると、例えば図73の「ランプ制御」、「音声制御」、「図柄制御」の各欄に示された制御内容を指定するランプ制御コマンド、音声制御コマンド、図柄制御コマンドを作成し、図柄制御基板70、音声制御基板80およびランプ制御基板35に送出する。
図78は、主基板31における演出制御コマンド送出部分と演出制御基板600における演出制御コマンド受信部分および制御コマンド送出部分の一例を示すブロック図である。図78示す例では、主基板31のCPU56は、出力ポート571および出力バッファ回路63を介して遊技演出を指示するための演出制御コマンドデータを演出制御基板600に送出する。
演出制御基板600において、主基板31からの演出制御コマンドは、入力バッファ88および入力ポート98を介して演出制御用CPU89(演出制御手段)に入力される。入力バッファ88は、信号を主基板31の側から演出制御基板600の側にしか伝えない不可逆性信号伝達手段である。従って、演出制御基板600側から主基板31側に信号が伝わる余地はなく、演出制御基板600内の回路に不正改造が加えられても、不正改造によって出力される信号が主基板31側に伝わることはない。また、主基板31と演出制御基板600との間の配線に不正基板等が接続されても、片方向にしか信号を伝えない出力バッファ回路63によって不正基板等からの不正信号が主基板31側に伝わることはない。
演出制御コマンドは、主基板31のCPU56が実行する遊技進行に応じて送出される。演出制御用CPU89は、受信した演出制御コマンドにもとづいて、表示制御手段に対する表示制御コマンド、音声制御手段に対する音声制御コマンドおよびランプ制御手段に対するランプ制御コマンドを作成する。
図柄制御コマンドは、演出制御用CPU89から出力ポート92A(出力ポートA)および出力バッファ回路95Aを介して送出される。また、音声制御コマンドは、演出制御用CPU89から出力ポート92E(出力ポートE)および出力バッファ回路95Eを介して送出される。そして、ランプ制御コマンドは、演出制御用CPU89から出力ポート92C(出力ポートC)および出力バッファ回路95Cを介して送出される。
なお、各基板80,70,35に送出される制御コマンドは全く同じものであってもよい。
なお、このように構成されている場合にも、遊技制御手段における演出制御コマンドの作成方法として、例えば、図37に示されたような処理を流用することができる。つまり、図37に示された出力データ設定処理において、音声制御コマンド送出要求およびランプ制御コマンド送出要求に代えて、演出制御コマンド送出要求を設定し、バッファ領域への音声データおよびランプデータの設定に代えて、演出制御データを設定する。また、遊技制御手段における演出制御コマンドの出力方法として、例えば、図41に示されたような処理を流用することができる。つまり、図41に示されたデータ出力処理において、例えば、音声制御コマンド送出要求のチェックに代えて、演出制御コマンド送出要求をチェックすればよい。
すると、送出されるべき演出制御コマンドをバッファ領域に設定する処理と、び図39,図40に示された入賞球信号処理において送出されるべきコマンドをバッファ領域に設定する処理とはやはり共通である。すなわち、バッファ領域にコマンドを書き込むとともにコマンド送出要求をセットする。従って、演出制御コマンドおよび払出制御コマンドについて、バッファ領域にコマンドを書き込むプログラム部分を共通化することができる。
また、送出されるべきコマンド出力処理も共通化することができる。その結果、遊技制御手段におけるコマンド送出に要する負荷がさらに軽減される。
さらに、遊技の進行を制御する遊技制御手段は、遊技制御の切替時に演出制御基板600に対して演出制御コマンドを送出するようにしてもよい。その場合、演出制御基板600に搭載されている演出制御手段は、受信した演出制御コマンドにもとづいて、複数の演出内容のうちから1つの演出内容を独自に決定する。そして、決定した演出内容に対応した図柄制御コマンド、ランプ制御コマンドおよび音声制御コマンドを作成して、図柄制御基板80、ランプ制御基板35および音声制御基板70に送出する。従って、遊技制御手段は複数の演出内容のうちから1つの演出内容を決定し決定した内容に応じた制御コマンドを作成する必要はないので、遊技制御手段の負荷は一層軽減されている。
なお、遊技制御手段が遊技制御の切替時に演出制御基板600に対して演出制御コマンドを送出するように構成されている場合に、特別遊技装置の作動態様および作動結果(この例では可変表示部9における図柄の変動時間および確定図柄)は遊技制御手段によって決定されるのがよい。そのようにすれば、遊技機における遊技者に有利な状態をもたらす装置に関する制御において根幹に関わる部分は、遊技の全体的な進行を制御する遊技制御手段によって行われることになり、遊技進行において適正な制御が実現される。
また、1つの演出内容しかないものについて、演出制御手段は、受信した演出制御コマンドに応じた図柄制御コマンド、ランプ制御コマンドおよび音声制御コマンドを作成する。すなわち、そのような内容については、遊技制御手段によって決定される。例えば、図柄の変動時間、確定図柄、大当り遊技中(特定遊技状態中)の状態変化に関する情報(例えば、ラウンド数、大入賞口入賞数、V入賞)は、遊技制御手段によって決定され、決定された情報に応じた演出制御コマンドが演出制御基板600に送出される。そして、演出制御手段は、受信した演出制御コマンドに応じた図柄制御コマンド、ランプ制御コマンドおよび音声制御コマンドを作成する。
以上に説明したように、演出制御基板400,500,600を設けたり、図柄制御基板80から他の電気部品制御基板に制御コマンドを供給するように構成すれば、遊技制御手段の制御コマンド送出の負担が軽減し、その結果、遊技演出を豊富なものとすることができる。
また、遊技制御手段から演出制御手段に送出される演出制御コマンドの形態は、遊技制御手段から払出制御手段に送出される払出制御コマンドの形態と共通である。遊技制御手段から送出される各コマンドの形態が共通しているので、遊技制御手段のCPU56が実行するプログラムにおいて、各コマンド(演出制御コマンドと払出制御コマンド)の作成部分と出力部分を容易に共通化することができる。すなわち、遊技制御手段は、演出制御手段にコマンドを送出する場合と払出制御手段にコマンドを送出する場合とで、コマンド作成モジュールを共用するように構成することができる。
以上のように、演出コマンドおよび払出制御コマンドについて、送出されるべきコマンド作成処理を共通化することができる。すなわち、遊技制御手段は、演出制御手段にコマンドを作成する場合と払出制御手段にコマンドを作成する場合とで、コマンド出力モジュールを共用することができる。また、遊技制御手段は、演出制御手段にコマンドを送出する場合と払出制御手段にコマンドを送出する場合とで、コマンド出力モジュールを共用することができる。その結果、遊技制御手段におけるコマンド送出に要する負荷が軽減される。さらに、遊技制御プログラムのコマンドの送出に関するモジュールが簡略化され、プログラム保守が容易になるとともに、他機種へのプログラム流用も容易になる。
なお、上記の各実施の形態では、パチンコ遊技機を例にとったが、複数の電気部品制御手段が備えられている遊技機であって遊技制御手段から他の電気部品制御手段に制御コマンドを送出するように構成されている遊技機であれば、他のタイプの遊技機にも本発明を適用できる。
また、上記の各実施の形態では、払出制御コマンドは1バイト構成であったが、2バイト構成とすれば、コマンド長についても共通化される。払出制御コマンドが2バイト構成である場合には、例えば、図32に示されるように、払出制御コマンドの1バイト目および2バイト目が出力されているときに、それぞれINT信号がオン(この例ではローレベル)になる。INT信号のオン期間は例えば1μs以上であり、1バイト目と2バイト目との間には例えば10μs以上の期間があけられる。
また、上記の各実施の形態で例示されたコマンド形態は一例であって、コマンド形態の共通化が容易になれば、他のコマンド形態を用いてもよい。
なお、念のため付言すれば、以上の説明において、音声とは、いわゆる人間が発する意味のある音声のみならず、効果音等の単純な音をも含む概念である。
また、上記の実施の形態では、入賞に応じて所定の遊技価値としての遊技球が払い出される遊技機を例にとったが、入賞に応じて所定の遊技価値としてのメダル等を払い出す遊技機にも本発明は適用可能である。さらに、実際に遊技媒体を払い出す遊技機のみならず、遊技媒体の払出に代えて所定の遊技価値としての得点の加算を行う遊技機や、ICカードなどにデータ等を書き込むような遊技機にも本発明を適用できる。従って、上記の各実施の形態では価値付与制御手段として球払出装置97を制御する払出制御手段を例示したが、価値付与制御手段には、得点を加算する遊技機における得点の表示等に関わる制御を行う制御手段や、ICカードなどにデータを書き込む装置を制御する制御手段等も含まれる。
また、上記の実施の形態では、以下のような発明も開示されている。
演出制御手段は、例えば、遊技機に設けられている遊技演出用部品としての音発生部品と遊技機に設けられている遊技演出用部品としての発光体部品とを制御するための処理を行うように構成されている。
遊技機は表示状態が変化可能な遊技演出用部品としての可変表示部を含み、演出制御手段は、例えば、可変表示部の表示状態と遊技機に設けられている遊技演出用部品としての音発生部品とを制御するための処理を行うように構成されている。
遊技機は表示状態が変化可能な遊技演出用部品としての可変表示部を含み、演出制御手段は、例えば、可変表示部の表示状態と遊技機に設けられている遊技演出用部品としての発光体部品とを制御するための処理を行うように構成されている。
遊技機は表示状態が変化可能な遊技演出用部品としての可変表示部を含み、演出制御手段は、例えば、可変表示部の表示状態と、遊技機に設けられている遊技演出用部品としての音発生部品と、遊技機に設けられている遊技演出用部品としての発光体部品とを制御するための処理を行うように構成されている。
遊技制御手段は、演出制御手段にコマンドを送出する場合と価値付与制御手段にコマンドを送出する場合とで、少なくともコマンド作成モジュールを共用するように構成されている。
遊技制御手段は、演出制御手段にコマンドを送出する場合と価値付与制御手段にコマンドを送出する場合とで、少なくともコマンド出力モジュールを共用するように構成されている。
遊技制御手段から演出制御手段に送出されるコマンドの形態と遊技制御手段から価値付与制御手段に送出されるコマンドの形態とは、例えば、一回に出力されるコマンドのデータ量が同一であることによって共通化されている。
遊技制御手段は、少なくとも、演出制御手段にコマンドを送出する際、および価値付与制御手段にコマンドを送出する際に、コマンド送出先となる制御手段が受信可能に情報を一回だけ出力するように構成されている。
遊技制御手段側で、演出制御手段に送出されるコマンドの出力回路と価値付与制御手段に送出されるコマンドの出力回路とがそれぞれ設けられているように構成されている。
遊技制御手段からのコマンドは、情報出力のみが可能な不可逆性情報出力手段を介して送出されるように構成されている。
演出制御手段に対するコマンドおよび価値付与制御手段に対するコマンドが入力される入力回路は、情報の入力のみが可能な不可逆性情報入力手段であるように構成されている。
遊技機は少なくとも遊技価値としての遊技媒体を払い出すことが可能な払出手段を備え、遊技制御手段が価値付与制御手段に対して出力するコマンドは、遊技媒体の払出数を指定するためのコマンドであるように構成されている。
払出手段は、貸出要求信号にもとづいて遊技媒体を払い出すことが可能であって、遊技媒体を流下させる少なくとも2つの流下路を備え、価値付与制御手段が、所定条件の成立に応じた遊技媒体の流下路と貸出要求信号にもとづく遊技媒体の流下路とを切り替えることにより所定条件の成立にもとづく払出制御と貸出要求信号にもとづく払出制御とをともに行うことが可能であるように構成されている。
遊技制御手段が、所定条件の成立を検出した場合には直ちに遊技価値の付与数量を示すコマンドを価値付与制御手段に対して出力することが可能であるように構成されている。
演出制御手段が、遊技機に設けられている音発生部品と遊技機に設けられている発光体部品とを制御するための処理を行うように構成されている場合には、遊技制御手段は音発生部品を制御する制御手段と発光体部品を制御する制御手段のそれぞれに対してコマンドを送出するといった処理を行わなくてよく、遊技制御手段の制御コマンド送出に要する負担を軽くすることができる。
演出制御手段が、可変表示部の表示状態と遊技機に設けられている音発生部品とを制御するための処理を行うように構成されている場合には、遊技制御手段は可変表示部を制御する制御手段と音発生部品を制御する制御手段のそれぞれに対してコマンドを送出するといった処理を行わなくてよく、遊技制御手段の制御コマンド送出に要する負担を軽くすることができる。
演出制御手段が、可変表示部の表示状態と遊技機に設けられている発光体部品とを制御するための処理を行うように構成されている場合には、遊技制御手段は可変表示部を制御する制御手段と発光体部品を制御する制御手段のそれぞれに対してコマンドを送出するといった処理を行わなくてよく、遊技制御手段の制御コマンド送出に要する負担を軽くすることができる。
演出制御手段が、可変表示部の表示状態と、遊技機に設けられている音発生部品と、遊技機に設けられている発光体部品とを制御するための処理を行うように構成されている場合には、遊技制御手段は、可変表示部を制御する制御手段、音発生部品を制御する制御手段および発光体部品を制御する制御手段のそれぞれに対してコマンドを送出するといった処理を行わなくてよく、遊技制御手段の制御コマンド送出に要する負担を軽くすることができる。
遊技制御手段が、演出制御手段にコマンドを送出する場合と価値付与制御手段にコマンドを送出する場合とで、コマンド作成モジュールを共用するように構成されている場合には、遊技制御手段が実行する遊技制御プログラムにおける制御コマンド作成部分が簡素化される。
遊技制御手段が、演出制御手段にコマンドを送出する場合と価値付与制御手段にコマンドを送出する場合とで、少なくともコマンド出力モジュールを共用するように構成されている場合には、遊技制御手段が実行する遊技制御プログラムにおける制御コマンド出力部分が簡素化される。
遊技制御手段から演出制御手段に送出されるコマンドの形態と遊技制御手段から価値付与制御手段に送出されるコマンドの形態とが、一回に出力されるコマンドのデータ量が同一であることによって共通化されている場合には、同一データ量のコマンドを扱えばよいので、コマンド作成モジュールやコマンド出力モジュールを容易に共用できるようになる等の効果がある。
遊技制御手段が、演出制御手段にコマンドを送出する際、および価値付与制御手段にコマンドを送出する際に、コマンド送出先となる制御手段が受信可能に情報を一回だけ出力するように構成されている場合には、遊技制御手段における制御コマンド送出のための制御がさらに簡略化され、遊技制御手段の制御コマンド送出に要する負荷がさらに軽減される効果がある。
遊技制御手段側で、演出制御手段に送出されるコマンドの出力回路と価値付与制御手段に送出されるコマンドの出力回路とがそれぞれ設けられているように構成されている場合には、仮に一方の制御コマンドにビット化け等が生じても、他方の制御コマンドに影響を与えないようにすることができる。
遊技制御手段からのコマンドが、情報出力のみが可能な不可逆性情報出力手段を介して送出されるように構成されている場合には、主基板への不正信号の入力が防止され、不正行為を受けにくくすることができる効果がある。
演出制御手段に対するコマンドおよび価値付与制御手段に対するコマンドが入力される入力回路が、情報の入力のみが可能な不可逆性情報入力手段であるように構成されている場合には、主基板に対して電気部品制御手段を介して不正信号が供給されてしまうことが防止され、不正行為を受けにくくすることができる効果がある。
少なくとも遊技価値としての遊技媒体を払い出すことが可能な払出手段を備え、遊技制御手段が価値付与制御手段に対して出力するコマンドが、遊技媒体の払出数を指定するためのコマンドであるように構成されている場合には、遊技価値としての遊技媒体を払い出すタイプの遊技機において、遊技制御手段の制御コマンド送出に要する負担を軽くすることができる効果がある。
払出手段が、貸出要求信号にもとづいて遊技媒体を払い出すことが可能であって、遊技媒体を流下させる少なくとも2つの流下路を備え、価値付与制御手段が、所定条件の成立に応じた遊技媒体の流下路と貸出要求信号にもとづく遊技媒体の流下路とを切り替えることにより所定条件の成立にもとづく払出制御と貸出要求信号にもとづく払出制御とをともに行うことが可能であるように構成されている場合には、一つの払出手段で価値付与および遊技媒体貸し出しの双方を行うことが可能になって制御構成を簡易化することができるとともに、そのような構成であっても容易に価値付与数と貸出数とを独立して検出できる。
遊技制御手段が、所定条件の成立を検出した場合には直ちに遊技価値の付与数量を示すコマンドを価値付与制御手段に対して出力することが可能であるように構成されている場合には、価値付与条件発生時期と価値付与時期とをほぼ同時にすることができ、遊技を円滑に進行させることができる効果がある。
なお、遊技制御手段が、景品遊技媒体の数量を通知するためのコマンドを、以前の所定条件の成立に応じた遊技媒体の払出が終了していなくても価値付与制御手段に対して送出可能であるように構成されている場合には、遊技制御手段は入賞等の所定条件の成立を記憶するために大きな記憶領域を持たなくてよく、遊技制御手段の賞球制御に関する負担を軽減することができる。