以下、本発明の好適な実施の形態を添付図面を用いて詳細に説明する。なお、本実施形態では、遊技台の一具体例であるスロットマシンを例にとって説明するが、本発明は、例えば、パチンコ機のような他の遊技台にも適用可能である。
図1は、本発明の実施形態に係るスロットマシン100の正面図である。図1に示すように、スロットマシン100の本体101の中央内部には、外周面に複数種類の絵柄が配置されたリールが3個(左リール110、中リール111、右リール112)収納され、スロットマシン100の内部で回転できるように構成されている。本実施形態において、各絵柄は帯状部材に等間隔で適当数(例えば21絵柄)印刷され、これが各リール110〜112に貼り付けられて構成されている。
各リール110〜112上の絵柄は、遊技者から見ると、絵柄表示窓113から縦方向に概ね3つ表示され、合計9つの絵柄が見えるようになっている。そして、各リール110〜112を回転させることにより、遊技者から見える絵柄の組み合せが変動することとなる。なお、本実施形態では、3個のリールをスロットマシン100の中央内部に備えているが、リールの数やリールの設置位置はこれに限定されるものではない。
また、各々のリール110〜112の背面には、絵柄表示窓113に表示される個々の絵柄を照明するためのバックライト(図示省略)が配置されている。バックライトは、各々の絵柄ごとに遮蔽され個々の絵柄を均等に照射できるようにすることが望ましい。
なお、スロットマシン内部において各々のリール110〜112の近傍には、投光部と受光部から成る光学式センサが設けられており、この光学式センサの投光部と受光部のあいだを、リールに設けられた一定の長さの遮光片が通過するように構成されている。この光学式センサの検出結果に基づいてリール上の絵柄の回転方向の位置を判断し、目的とする絵柄が入賞ライン114上に表示されるようにリール110〜112を停止させる制御を行う。
入賞ライン表示ランプ120は、遊技ごとに有効となる入賞ラインを示すランプである。有効となる入賞ラインは、スロットマシン100に投入された遊技媒体(本実施形態ではメダルを想定する。)の数によって予め定まっている。例えば、メダルが1枚投入された場合、中段の水平入賞ラインが有効となり、メダルが2枚投入された場合、上段水平入賞ラインと下段水平入賞ラインが追加された3本が有効となり、メダルが3枚投入された場合、右下り入賞ラインと右上り入賞ラインが追加された5本が入賞ラインとして有効になる。なお、入賞ラインの数については5本に限定されるものではない。
スタートランプ121は、リール110〜112が回転することができる状態にあることを遊技者に知らせるランプである。再遊技ランプ122は、前回の遊技において入賞役の一つである再遊技に入賞した場合に、今回の遊技が再遊技可能であること(メダルの投入が不要)を遊技者に知らせるランプである。告知ランプ123は、後述する内部抽選において、特定の入賞役(具体的には、後で述べるビッグボーナスまたはレギュラーボーナス)に内部当選していることを遊技者に知らせるランプである。メダル投入ランプ124は、遊技者がメダル投入口134よりメダルの投入が可能であることを知らせるランプである。リールパネルランプ128は、スロットマシン100の内部情報を遊技者に知らせるための演出用のランプである。メダル投入ボタン130、131は、スロットマシン100の後述する制御部に電子的に貯留されているメダルを所定の枚数分投入するためのボタンである。
払出枚数表示器125は、何らかの入賞役に入賞した結果、遊技者に払出されるメダルの枚数を表示するための表示器である。遊技回数表示器126は、後述するBBゲーム中の遊技回数や所定の入賞役の入賞回数等を表示するための表示器である。貯留枚数表示器127は、スロットマシン100の後述する制御部に電子的に貯留されているメダルの枚数を表示するための表示器である。
本実施形態においては、メダル投入ボタン131が押下される毎に1枚ずつ最大3枚まで投入され、メダル投入ボタン130が押下されると3枚投入されるようになっている。メダル投入口134は、遊技を開始するに当たって遊技者がメダルを投入するための投入口である。すなわち、メダルの投入は、メダル投入ボタン130,131により電子的に投入することもできるし、メダル投入口134から実際のメダルを投入することもできる。
スタートレバー135は、リール110〜112の回転を開始させるためのレバーである。即ち、メダル投入口134に所望するメダル枚数を投入して、スタートレバー135を操作すると、リール101〜112が回転を開始することとなる。
ストップボタンユニット136には、ストップボタン137〜139が設けられている。ストップボタン137〜139は、スタートレバー135の操作によって回転を開始したリール110〜112を個別に停止させるためのボタンである。なお、各ストップボタン137〜139の内部に発光体を設けてもよく、ストップボタン137〜139の操作が可能である場合、該発光体を点灯させて遊技者に知らせることもできる。
貯留/精算ボタン132は、スロットマシン100の後述する制御部に電子的に貯留されたメダルを精算し、メダル払出口156よりメダル受皿157に排出するための精算機能と、メダル投入口134に投入された4枚以降のメダルや入賞により獲得したメダルを最大50枚まで電子的に貯留する貯留機能と、を切換えるためのボタンである。
ドアキー140は、スロットマシン100の前面扉102のロックを解除するためのキー孔である。メダル払出口156は、入賞によって払出されるメダルを払出すための払出口である。メダル受皿157は、メダル払出口156から払出されたメダルを溜めるための器である。タイトルパネル158は、当該スロットマシン100の機種名を表示するパネルである。
音孔160,161は、スロットマシン100内部に設けられているスピーカの音を外部に出力するための孔である。
上部ランプ150、サイドランプ151、中央ランプ152、腰部ランプ153、下部ランプ154は、遊技を盛り上げるための装飾用のランプである。
演出リール170やドットマトリクス型表示装置180は、スロットマシン100の内部情報等を表示するための表示器である。
ドットマトリクス型表示装置180は、複数の発光素子がマトリクス状に配置されており、これがダイナミック点灯方式で駆動される。本実施形態においては、発光素子として発光ダイオード(LED)を用いているが、他の発光素子でもよい。
演出リール170は、メインリール(リール110、111、112)とは異なる、演出専用のリールである。本実施形態では、演出リールをメインリールと同じ数だけ設けているが、これより多くても少なくても勿論構わない。演出リールには、各種の絵柄を描くことができる。本実施形態では、数字を表す絵柄(「7」、「6」、…)が描かれている。また、前述のメインリールと同様、各演出リールにも、投光部と受光部から成る光学式センサが設けられており、この光学式センサの投光部と受光部のあいだを、リールに設けられた一定の長さの遮光片が通過するように構成されている。このセンサの検出結果に基づいてリール上の絵柄の回転方向の位置を判断し、目的とする絵柄が前面に表示されるようにリールを停止させることができる。
次に、図2〜図4を用いて、スロットマシン100の制御部の回路構成について詳細に説明する。スロットマシン100は、遊技の中枢部分を制御する主制御部300と、主制御部300より送信されたコマンドに応じて各種の演出装置等を制御する副制御部A400と、副制御部A400のコマンドに応じてドットマトリクス型表示装置180や、演出リール170を制御する副制御部B500と、から構成されている。
(主制御部の構成)
まず、図2を用いて、スロットマシン100の主制御部300について説明する。主制御部300は、主制御部300の全体を制御するための演算処理装置であるCPU310や、CPU310が各々のICと信号の送受信を行うためのデータバス及びアドレスバスを備え、そのほか、以下に述べる構成を有する。
クロック回路314は、水晶発振器311から発振されたクロックを分周してCPU310に供給する回路である。例えば、水晶発振器311の周波数が12MHzの場合に、分周後のクロックは6MHzとなる。CPU310は、クロック回路314により分周されたクロックをシステムクロックとして受け入れて動作する。
また、CPU310には、後述するセンサやスイッチの状態を常時監視するための監視周期やモータの駆動パルスの送信周期を設定するためのタイマ回路315がバスを介して接続されている。CPU310は、電源が投入されると、データバスを介してROM312の所定エリアに格納された分周用のデータをタイマ回路315に送信する。タイマ回路315は、受信した分周用のデータを基に割り込み時間を決定し、この割り込み時間ごとに、割り込み要求をCPU310に送信する。CPU310は、この割込み要求を契機に、各センサ等の監視や駆動パルスの送信を実行する。例えば、CPU310のシステムクロックを6MHz、タイマ回路315の分周値を1/256、ROM312に記憶されている分周用のデータを44に設定した場合、この割り込みの基準時間は、256×44÷6MHz=1.877msとなる。
また、CPU310には、各制御機能部を制御するためのプログラム、入賞役の内部抽選時に用いる抽選データ、リールの停止位置等を記憶しているROM312や、一時的なデータを保存するためのRAM313が接続されている。
また、CPU310には、外部の信号を受信するための入力インタフェース360が接続され、割込み時間ごとに入力インタフェース360を介して、メダル受付センサ320、スタートレバーセンサ321、ストップボタンセンサ322、メダル投入ボタンセンサ323、精算/貯留スイッチ324の状態を検出し、各センサを監視している。
メダル受付センサ320は、メダル投入口134の内部の通路に2個設置されており、メダルの通過有無を検出する。スタートレバーセンサ321は、スタートレバー135に設置されており、遊技者によるスタート操作を検出する。ストップボタンセンサ322は、各々のストップボタン137〜139に設置されており、遊技者によるストップボタンの操作を検出する。
メダル投入ボタンセンサ323は、メダル投入ボタン130,131のそれぞれに設置されており、RAM313に電子的に貯留されているメダルを遊技用のメダルとして投入する場合の投入操作を検出する。たとえば、CPU310は、メダル投入ボタン131に対応するメダル投入センサ323がHレベルになった場合に、電子的に貯留メダルを1枚投入し、メダル投入ボタン130に対応するメダル投入センサ323がHレベルになった場合に、電子的に貯留メダルを3枚投入する。なお、メダル投入ボタン130が押された際に、貯留されているメダル枚数が3枚に満たない場合、すなわち、2枚の場合は2枚が、1枚の場合は1枚が投入される。
精算/貯留スイッチ324は、精算/貯留ボタン132に設けられている。精算/貯留スイッチ132が一回押されると、貯留されているメダルを精算し、もう一回押されると、払い出されるメダルが電子的に貯留される貯留モードとなる。
なお、上述したメダル受付センサ320、スタートレバーセンサ321、ストップボタンセンサ322、メダル投入ボタンセンサ323、精算/貯留スイッチ324の各センサは、非接触式のセンサであっても接点式のセンサであってもよい。
CPU310には、さらに、入力インタフェース361、出力インタフェース370、出力インターフェース371がアドレスデコード回路350を介してアドレスバスに接続されている。CPU310は、これらのインタフェースを介して外部のデバイスと信号の送受信を行っている。
入力インタフェース361には、インデックスセンサ325が接続されている。インデックスセンサ325は、具体的には、リールの取付枠の所定位置に設置されており、リール部材に設けた遮光片がこのインデックスセンサ325を通過するたびにHレベルになる。このインデックスセンサ325にリール部材の遮光片が検出される位置を基準位置とし、CPU310は、インデックスセンサ325からの検出信号(Hレベル)を検出すると、リールが1回転したものと判断し、リールの回転位置をゼロにリセットする。
出力インタフェース370には、リールを駆動させるためのリールモータ駆動部330と、ホッパー(バケットにたまっているメダルをメダル払出口156から払出すための装置)のモータを駆動するためのホッパーモータ駆動部331と、遊技ランプ340(具体的には、入賞ライン表示ランプ120、スタートランプ121、再遊技ランプ122、告知ランプ123、メダル投入ランプ127等)と、7セグメント表示器341(払出枚数表示器125、遊技回数表示器126、貯留枚数表示器127等)が接続されている。
また、CPU310には、乱数発生回路317がデータバスを介して接続されている。乱数発生回路317は、水晶発振器311及び水晶発振器316から発振されるクロックを、所定の値になるまでインクリメントし、そのカウント値をCPU310に出力することのできるインクリメントカウンタであり、後述する入賞役の内部抽選をはじめ各種抽選処理に使用される。なお、本発実施形態における乱数発生回路317は、2つの乱数カウンタとして、例えば、水晶発振器311のクロック周波数を用いて0〜65535までの値をインクリメントするカウンタと、水晶発振器317のクロック周波数を用いて0〜16777215までの値をインクリメントするカウンタを備えている。
また、CPU310のデータバスには、副制御部A400にコマンドを送信するための出力インタフェース371が接続されている。
(副制御部Aの構成)
次に、図3を用いて、スロットマシン100の副制御部A400について説明する。副制御部A400は、主制御部300より送信されたコマンドや、副制御部B500より送信されるコマンドに基づいて副制御部A400の全体を制御する演算処理装置であるCPU410や、CPU410が各々の制御機能部と信号の送受信を行うためのデータバス及びアドレスバスを備え、以下に述べる構成を有する。
クロック補正回路414は、水晶発振器411から発振されたクロックを補正し、補正後のクロックをシステムクロックとしてCPU410に供給する回路である。
また、CPU410には、後述するスイッチ類等を常時監視するための監視周期を設定するタイマ回路415がバスを介して接続されている。タイマ回路415の割り込み時間の設定等については、主制御部300と同様な処理であるから、その具体的な説明は省略する。
また、CPU410には、副制御部A400の全体を制御するための命令及びデータ、バックライトの点灯パターンや各種表示器を制御するためのデータが記憶されたROM412や、送受信するデータ等を一時的に保存するためのRAM413が各バスを介して接続されている。
また、CPU410には、外部の信号を送受信するための入出力インタフェース460が接続されており、入出力インタフェース460には、各リール110〜112の絵柄を背面より照明するためのバックライト420、前面扉101の開閉を検出するための扉センサ421、RAM413のデータをクリアにするためのリセットスイッチ422が接続されている。
CPU410には、データバスを介して主制御部300からコマンドを受信するための入力インタフェース461が接続されており、入力インタフェース461を介して受信したコマンドに基づいて、遊技全体を盛り上げる演出処理等が実行される。
また、CPU410のデータバスとアドレスバスには、音源IC480が接続されている。音源IC480は、CPU410からの命令に応じて音声の制御を行う。また、音源IC480には、音声データが記憶されたROM481が接続されており、音源IC480は、ROM481から取得した音声データをアンプ482で増幅させてスピーカ483から出力する。このスピーカ483は、第1制御部たる副制御部A400によって制御される第1制御対象物の一例である。また、第1制御対象物としては、バックライトや上部ランプ等であっても構わない。
CPU410には、主制御部300と同様に、外部ICを選択するためのアドレスデコード回路450が接続されており、アドレスデコード回路450には、主制御部300からのコマンドを受信するための入力インタフェース461、各表示器に信号を送信するための出力インタフェース470,472、副制御部B500からの信号を入力するための入力インタフェース471、時計IC490、7セグメント表示器440への信号を出力するための出力インタフェース472が接続されている。時計IC490が接続されていることで、CPU410は、現在時刻を取得することが可能である。7セグメント表示器440は、副制御部A400の基板上に設けられており、副制御部A400に設定された情報がホールの係員に表示できるようになっている。
更に、出力インタフェース470には、デマルチプレクサ419が接続されている。デマルチプレクサ419は、出力インタフェース470から送信された信号を解析して各表示部等に信号を送信する。即ち、デマルチプレクサ419は、CPU410から受信されたデータに応じて上部ランプ150、サイドランプ151、中央ランプ152、腰部ランプ153、下部ランプ154、リールパネルランプ128、タイトルパネルランプ491、受け皿ランプ492、払出口ストロボ493を制御する。上記タイトルパネルランプ491は、タイトルパネル158を照明するためのランプである。
なお、CPU410は、出力インターフェース470およびデマルチプレクサ419を介して副制御部B500へのコマンド送信を実施する。逆に、CPU410は、入力インタフェース471を介して副制御部B500からのコマンドを受信する。すなわち、CPU410は、出力インターフェース470とデマルチプレクサ419と入力インタフェース471を介して副制御部B500と双方向通信を行う。
(副制御部Bの構成)
次に、図4を用いて、スロットマシン100の副制御部B500について説明する。副制御部B500は、副制御部A400から送信されるコマンドに基づいて、ドットマトリクス型表示装置180や、演出リール170を制御するものである。すなわち、これらドットマトリクス型表示装置180や演出リール170は、第2制御手段たる副制御部B500によって制御される第2制御対象物の例である。また、第2制御対象物としては、液晶表示装置や動的表示装置(動く人形などの可動体を備える表示装置)であっても構わない。
副制御部B500には、演算処理装置であるCPU510と、各々の制御機能部との信号の送受信を行うためのデータバス及びアドレスバスのほか、次の構成を有する。
クロック補正回路514は、水晶発振器511から発振されたクロックを補正して、この補正後のクロックをシステムクロックとしてCPU510に供給する回路である。
CPU510には、ドットマトリクス型表示装置180(具体的には、マトリクス発光ダイオード183の行駆動部181及び列駆動部182)の信号線をスキャンニングする時間を設定するためのタイマ回路515が各バスに接続されている。マトリクス発光ダイオード183のスキャンニング時間は、主制御部300と同様、CPU510に電源が投入された際に、CPU510がデータバスを介して後述するROM512の所定エリアに格納されたデータをタイマ回路515に送信することで決定する。すなわち、タイマ回路515は、受信したデータから基準時間を設定し、この基準時間の経過をCPU510に通知する。そして、CPU510は、これを受けてドットマトリクス型表示装置180に信号を送信することになる。
また、CPU510には、副制御部A400から送信されたコマンドを受信するための入力インタフェース520と、副制御部A400へアンサー信号(以下、アンサーコマンド)を送信するための出力インタフェース521とが各バスを介して接続されている。
また、CPU510には、マトリクス発光ダイオード183によって所定の図形や文字を表示するためのデータや信号の送受信を制御するためのプログラムが記憶されたROM512、及び、行駆動部181、列駆動部182を制御するためのデータを一時保存するワークエリアとしてのRAM513、送受信するデータを一時的に保存するためのRAM516が各バスを介して接続されている。
また、CPU510には、マトリクス発光ダイオード183の列駆動部182に対してシリアル信号を送信するためのシリアルインタフェース530と、アドレスデコーダ184を介してドットマトリクス型表示装置180の行駆動部181に信号を送信するための出力インタフェース531が各バスを介して接続されている。そして、CPU510は、副制御部A400から受信したコマンドを解析し、ROM512からマトリクス発光ダイオード183に表示させるデータ(例えば、海を進むヨットのドットデータ)を取得して、タイマ回路515にて設定した基準時間ごとに行駆動部181、列駆動部182を制御し、マトリクス発光ダイオード183を構成する各発光ダイオードの点灯/消灯によって所定の図形や文字を表示させる。
また、CPU510は、演出リール170との送受信を行う入出力インターフェース532が各バスを介して接続されている。
つぎに、図5を用いて、第1制御部としての副制御部A400と第2制御部としての副制御部B500の通信に関連する部分の回路構成について詳述する。
図5において、副制御部A400のCPU410でプログラムを実行中、特定のアドレス空間へのデータの書き込みが指定されると、CS2信号によって、ラッチIC10a、10bが選択されると共に、ライト信号(WR信号)が出力される。これにより、データバス上のデータ(データバスの信号線0〜7のデータ)がラッチIC10aでラッチされ、アドレスバス上のアドレス(アドレスバスの信号線4〜6)がラッチIC10bでラッチされる。
そして、ラッチされたデータは、ラッチIC10aより、LPF(ローパスフィルタ)40aおよびバッファIC20bを介して出力され、ラッチされたアドレスは、ラッチIC10bより、LPF40bを介してデマルチプレクサ30に出力される。
その後、CPU410からローカルデータストローブ信号が出力され、バッファIC20a、LPF40cを経て、デマルチプレクサ30(図3においては419)に入力される。ローカルデータストローブ信号を受けてデマルチプレクサ30は、先程入力されたアドレスで指定されるラッチIC(ラッチIC10c、10d、10eなど)に向けて信号を出力し、この信号を受けたラッチICにてデータバスのデータがラッチされる。ラッチされたデータは、目的のICへ出力され、ランプの点滅や音声出力が実現する。
なお、デマルチプレクサ30の出力先として指定されたアドレスによりラッチIC10eが選択された場合、ラッチIC10eより出力されるデータは、副制御コマンドの8bit分のデータとして、LPF40dおよびバッファIC20cを介してCPU510に入力される。
その後、さらに、ローカルデータストローブ信号(本例においては、負論理の信号)が出力されると、このローカルデータストローブ信号は、先程と同様、バッファIC20a、LPF40c、デマルチプレクサ30を経た後、インバータ50を介して反転出力され、LPF40f、バッファIC20dを経て、CPU510に入力される。このローカルデータストローブ信号を受けて、CPU510は、バッファIC20a、LPF40e、バッファIC20dを介して、副制御コマンドの3bit分のデータを取得する。
一方、CPU510から出力されたアンサーコマンドは、バッファIC20e、LPF40g、バスバッファIC20fに出力される。
その後、CPU510からアンサーリクエスト信号が出力されると、バッファIC20e、LPF40h、バッファIC20gを介して、CPU410に入力され、このアンサーリクエスト信号を受けたCPU410は、データバスを介してアンサーコマンドを取得する。
(遊技の概要)
図6は、本実施形態のスロットマシン100における遊技の基本的制御(主制御部メイン処理)を示すフローチャートである。遊技の基本的制御は、CPU310が中心になって行い、電源断等を検知しないかぎり、一連の処理を繰り返し実行する。
ステップ101(S101)では、メダル投入に関する処理を行う。ここでは、メダルの投入の有無をチェックし、投入されたメダルの枚数に応じて入賞ライン表示ランプ120を点灯させる。なお、前回の遊技で再遊技に入賞した場合はメダルの投入が不要である。
S102では、遊技のスタート操作に関する処理を行う。ここでは、スタートレバー135が操作されたか否かのチェックを行い、スタート操作されたと判断した場合は、投入されたメダル枚数を確定する。
S103では、上記S103で確定した投入枚数に応じて、有効な入賞ライン114を確定する。
S104では、乱数発生器317で発生させた乱数を取得する。
S105では、S104で取得した乱数値と、ROM312に格納されている入賞役抽選テーブルを用いて、入賞役の抽選を行う。
なお、入賞役の種類は任意に採用することができるが、本実施形態では、レギュラーボーナス(RB)、ビッグボーナス(BB)、小役、再遊技などが存在する。各入賞役には、設定値毎、投入枚数毎に、抽選データが設定されている。この抽選データを所定値(具体的には、入賞役抽選で使用する乱数値の全範囲である16384)で除した数が当選確率となる。すなわち、入賞役抽選時に取得される乱数値の範囲はあらかじめいくつかの領域(各抽選データの大きさに相当する領域)に分割されており、各領域に各入賞役の当選やはずれが対応付けられている。これらの情報が、入賞役抽選テーブルとしてROM312に格納されており、入賞役抽選では、取得した乱数値がどの範囲に属するかで入賞役の当選が決定する。後で述べる各抽選データについても同様である。
また、遊技の種類について、本実施形態では、ボーナスゲームとして、RBゲーム、BBゲームなどがある。RBゲームは、予め定めた回数(本実施形態では12回)の役物遊技を行うか、あるいは、役物が予め定めた回数(本実施形態では8回)入賞するかのいずれかの条件が成立することを終了条件とするゲームである。BBゲームの内容は、複数種類考えられるが、本実施形態では、BBゲーム中にSRBに入賞することができ、これに入賞するとSRBゲームが開始される。本実施形態の場合、BB一般遊技を予め定めた回数(本実施形態では30回)行うか、あるいは、SRBゲームを予め定めたセット回数(本実施形態では3回)行うかのいずれかの条件が成立することでBBゲームが終了する。SRBゲームが終了するとBB一般遊技に戻るか、或いは、BBゲームが終了する(BB一般遊技の30回目にSRBに入賞してSRBが開始された場合)こととなる。
S106では、リール停止制御テーブルを選択する。リール停止制御テーブルは、入賞役ごとに複数種類用意されており、抽選によって選択する。これらのリール停止制御テーブルは、ROM312にあらかじめ格納されている。
S107では、あらかじめ用意された複数種類の演出コマンドの中からいずれか一つを選択し、選択した演出コマンドを副制御部400に送信する。
S108では、全リール110〜112の回転を開始させる。
S109では、ストップボタン137〜139の受け付けが可能になり、いずれかのストップボタンが押されると、押されたストップボタンに対応するリールを、S106で選択されたリール停止制御テーブルに基づいて停止させる。
S110では、入賞判定を行う。ここでは、有効化された入賞ライン114上に、入賞役に対応する絵柄組合せが表示された場合にその入賞役に入賞したと判定する。例えば、有効化された入賞ライン114上に、「ベル−ベル−ベル」が揃っていたならばベル入賞と判定する。また、「7−7−7」が揃っていたならばBB入賞と判定する。入賞結果は、入賞結果コードとして格納される。
S111では、払い出しのある何らかの入賞役に入賞していれば、その入賞役に対応する枚数のメダルを払い出す。
S112では、遊技状態制御処理を実行する。この遊技状態制御処理では、遊技の種類を移行させるための制御が行われ、例えば、BB入賞の場合には、次回からBBゲームを開始できるよう準備し、BBゲームの最終遊技では、次回から通常遊技が開始できるよう準備する。
以上により1ゲームが終了し、以降これを繰り返すことにより遊技が進行することとなる。
なお、主制御部300から副制御部400に送信されるコマンドには、前述した演出コマンド以外にも次のような各種のコマンドが存在する。括弧内のステップは、送信タイミングを示す。
すなわち、スタートレバー操作コマンド(スタートレバーの受け付けを示すコマンドS102)、第1停止操作コマンド(第1停止操作が行われたリールを示す情報が格納され、第1停止操作が行われた時点で送信されるコマンド:S109)、第1リール停止コマンド(第1停止操作が行われて停止したリールを示す情報が格納され、第1リールの停止時に送信されるコマンド:S109)、同様な、第2停止操作コマンド、第2リール停止コマンド、第3停止操作コマンド、第3リール停止コマンド、入賞判定情報コマンド(入賞結果を格納したコマンド:S110)が存在する。なお、特に図示しないが、演出コマンドについては、S107以外にも、所定条件成立時(例えばBB入賞時)に送信される。
つぎに、副制御部A400と副制御部B500の制御について詳述する。副制御部A400と副制御部B500は、それぞれ、必要に応じて各種の処理を実行するが、以下に述べるように、互いにコマンドを送受信しながら協調処理を遂行することができる。この協調処理の流れを大別すると、副制御部A400の第1の処理(主制御部300から送られたコマンドの受信〜副制御部B500へのコマンドの送信)、副制御部B500の処理(副制御部A400から送られたコマンドの受信〜副制御部A400へのコマンドの送信)、副制御部A400の第2の処理(副制御部B500から送られたコマンドの受信〜副制御部A400のデバイスの駆動)が存在する。
まず、副制御部A400の第1の処理(主制御部300から送られたコマンドの受信〜副制御部B500へのコマンドの送信)を説明する。
図7(a)は、本実施形態のスロットマシン100の副制御部A400における、主制御コマンド受信処理を示すフローチャートである。この主制御コマンド受信処理は、電源断等を検知しないかぎり、副制御部A400のCPU410で繰り返し実行される。
S201では、主制御部300からのコマンド(以下、主制御コマンドと称する)を受信したか否かを判断し、主制御コマンドが格納されている場合は、S202に進み、そうでなければ、S203に進む。
S202では、S201で受信した主制御コマンドをRAM413に一旦格納する。RAM413には、あらかじめ、主制御コマンド受信処理と、図7(b)に示すメイン処理の両方でアクセス可能な共用エリアが確保されており、共用エリアにデータの読み書きを行うことで相互に情報を授受することができるようになっている。受信した主制御コマンドはこの共用エリアに格納する。
S203では、本処理を終了するか否か(たとえば電源断を検知したか否か)を判断し、電源断等を検知したら本処理を終了し、そうでなければ、S201に戻り、以下、同様の処理を繰り返す。
図7(b)は、本実施形態のスロットマシン100における演出制御の中心的な処理を示すフローチャートである。演出に関する制御は、副制御部A400のCPU410が中心になって行い、電源断等を検知しないかぎり、同図の処理を繰り返し実行する。
S301では、主制御コマンドが格納されているか否かを判断し、主制御コマンドが格納されている場合は、S302に進み、そうでなければ、S303に進む。
S302では、主制御コマンドの内容を判定する。主制御コマンドには、前述した通り、演出コマンド、第1停止操作コマンド、第1リール停止コマンド等、複数種類存在するため、本ステップにてコマンドの種類を判定する。
S303では、演出処理を実行する。演出処理の詳細は後述する。
S304では、演出処理の結果に基づいて、デバイスドライバへ制御データを出力する必要があるか否かを判定する。デバイスドライバへ制御データを出力する必要がある場合には、S305に進み、そうでなければ、S306に進む。
S305では、S304において制御データの出力有りと判定された各デバイスドライバへ制御データを出力する。
デバイスドライバは、副制御部A400に搭載されている各デバイス毎に用意されている。たとえば、BGMの出力を制御するデバイスドライバ、効果音の出力を制御するデバイスドライバ、バックライトの照明を制御するデバイスドライバなどである。各デバイスドライバのプログラムは、あらかじめROM412に格納されており、CPU410で実行される。また、RAM413には、メイン処理と、各デバイスドライバとでアクセス可能な共用エリアが確保されており、共用エリアにデータの読み書きを行うことで相互に情報を授受することができるようになっている。
S306では、S303の演出処理の結果に基づいて、副制御部B500へ制御コマンドを送信する必要があるか否かを判断する。副制御部B500への制御コマンド(以下、副制御コマンド)の送信が必要な場合は、S307に進み、そうでなければ、S308に進む。
S307では、副制御コマンド送信処理を実行する。副制御コマンド送信処理の詳細は後述する。
S308では、本処理を終了するか否か(たとえば電源断を検知したか否か)を判断し、電源断等を検知したら本処理を終了し、そうでなければ、S301に戻り、以下、同様の処理を繰り返す。
図8(a)は、前述した副制御部A400の演出処理(図7(b):S303)を示すフローチャートである。
S401では、演出を行う必要があるか否かを判断する。ここで、演出を行う必要がある場合とは、直接指定演出または順序指定演出がセットされているか否かを判断する。順序指定演出とは、主制御部300から送られた演出コマンドによって定められた演出順序にしたがって実行する演出である。直接指定演出とは、副制御部B500から送られたアンサーコマンドによって指定されるか、または、所定条件成立時に主制御部300から送られる演出コマンド(例:BB入賞時に送られる演出コマンド)によって指定される演出である。演出を行う必要がない場合は、S405で、その他の処理を実行し、同図の処理を終了する。
S402では、直接指定演出がセットされているか否かを判断する。直接指定演出がセットされている場合は、S403に進み、そうでなければ、S404に進む。
S403では、演出順序に基づく演出データを取得する。演出順序は、例えば、スタートレバー操作時に演出Aを実行し、第1停止操作時に演出Bを実行し、第2停止操作時に演出Cを実行するといった演出の順序を表すものである。
S404では、指定された演出の演出データを取得し、S403では、演出順序に基づいて定められた演出データを取得する。
なお、演出データの取得後は、後で述べるように、取得した各演出データに基づく演出が遂行されるが、例えば、比較的長い演出(順序指定演出か直接指定演出かは問わず)が存在し、この演出を行っている際中に、次の演出データがセットされると、この演出データに基づく演出がただちに遂行され、その時点で実行中の演出はキャンセルされる。
図8(b)は、前述した副制御部A400の副制御コマンド送信処理(図7(b):S307)を示すフローチャートである。
S501では、副制御部B500に送信すべきコマンド(以下、副制御コマンドと称す)を送信キューに設定する。
S502では、副制御部B500からの肯定応答(Ack)が所定時間以内に返って来ていないか返って来たか(肯定応答待ちの所定時間を計時するAck待ちタイマがタイムアップしたか否か)を判断する。この肯定応答は、前回送信した副制御コマンドに対する副制御部B500からの応答である。肯定応答が所定時間以内に返って来ていない場合は、S504に進み、そうでなければ、S503に進む。
S503では、送信レベルをインクリメント(1増加)する。つまり、現在の送信レベルが「0」ならば、送信レベルは「1」となる。
S504では、送信レベルをリセット(送信レベルを1にセットする)。後で述べるように、送信レベルが0でない場合、副制御部B500への送信が不許可となる。
S505では、Ack待ちタイマを再設定し、S501で送信キューに設定した副制御コマンドに対して副制御部B500から返って来る肯定応答の待ち時間を計時する。
以上、副制御部A400の第1の処理(主制御部300から送られたコマンドの受信〜副制御部B500へのコマンドの送信)について説明したが、より具体的な処理の流れを図12を用いて詳細に説明する。
図12に示すように、第1テーブル(例えば、順序テーブル(演出順序テーブル)と制御データテーブルより構成)を備える副制御部A400では、スタートレバー操作時に主制御部300より主制御コマンドとして送られた演出コマンドを受信すると、該演出コマンドによって指定された演出順序を取得し、取得した演出順序で定められる一番目の演出データを取得する。副制御部A400のROM412には、あらかじめ演出順序テーブルが格納されており、各ブロックごとに、スタートレバー操作時、第1停止操作時、第1リール停止時、第2停止操作時、第2リール停止時、第3リール停止操作時、第3リール停止時、入賞判定時のそれぞれで実行する演出の内容が演出データとして格納されている。もちろん、これは例示であって、上記以外の項目を設けても構わない。
すなわち、副制御部A400では、スタートレバー操作時に送られた演出コマンドを受信すると、演出データの取得処理(図8(a):S403)にて、演出順序テーブルにアクセスし、受信した演出コマンドで指定されたブロックを参照して一番目の演出データ(図12では、スタートレバー操作時の演出)を取得する。その後、図7(b)のメイン処理が何回かループし、たとえば、第1停止操作コマンドを受信した場合には、再び、演出データの取得処理(図8(a):S403)にて、先程のブロックに含まれる第1停止操作コマンドの演出データを取得し、その後、図7(b)のメイン処理が何回かループし、第2停止操作コマンドを受信した場合には、再び、演出順序に基づく演出データの取得処理(図8(a):S403)にて、第2停止操作コマンドの演出データを取得する。
このように、演出コマンドによって演出順序が一旦特定されると、その後は、主制御部300からのコマンドの種類にしたがって演出データが取得されることとなる。
さて、演出データを取得したら、その後、その演出の詳細内容(制御データ)を取得する。図12では、その一例として、第3停止操作時の制御データを示してある。
副制御部A400のROM412には、あらかじめ制御データテーブルが格納されており、各ブロック毎に、BGM、効果音、システム音、バックライト、上部ランプ、サイドランプ等、リール照明ランプ、リールパネルランプ、タイトルパネルランプ、受け皿ランプ、払出口ストロボ、副制御コマンド1、副制御コマンド2、演出内容、予備1、予備2が格納されている。
ここで、BGMは、遊技の最中にかける音楽を規定したデータを示し、効果音は、メダルを投入したときの音、ストップボタンを押したときの音、演出の際に必要となるミサイルの爆発音や発射音などを規定したデータを示し、システム音は、扉が開いたときの音などを規定したデータを示す。バックライトは、バックライトの点滅パターンなどを規定したデータである。上部ランプ、サイドランプ等(具体的には、サイドランプ、中央ランプ、腰部ランプ、下部ランプ)、リール照明ランプ、リールパネルランプ、タイトルパネルランプ、受け皿ランプ、払出口ストロボは、各ランプの点滅パターンを規定したデータを示す。演出内容は、そのブロックの各データで示される遊技の内容を総括的に表すものである。
そして、制御データを取得したら、必要なデバイスドライバへ制御データを出力する(図7のS307)。制御データを受け取ったデバイスドライバは、自身の担当するデバイスを駆動する。たとえば、制御データを受け取ったバックライトのデバイスドライバは、この制御データに基づく点滅パターンでバックライトを点滅させる。
なお、図12に示すように、副制御コマンド1、2の各データについては、副制御部B500へ送信される。副制御部B500へ送信するコマンド(副制御コマンド)の形式は、図11(a)に示す通りである。同図に示すように、副制御コマンドはSTX(Start of Text),MTX(Middle of Text),ETX(End of Text)に分類される。
STXには、コマンド区別(bit10、bit9)、パリティ(bit8)、コマンド種別(bit7〜bit4)、データ長(bit3〜bit0)が格納される。
コマンド区別は、そのコマンドの送信順序に関する情報を表すもので、01b(bはバイナリの意):STX、10b:MTX、11b:ETXが存在する。
パリティは、bit0〜bit7に対するパリティであり、このパリティビットと、bit0〜bit7の各ビットを加算した結果(桁上り無視)がたとえば偶数になるよう、コマンド送信時にセットされる。
コマンド種別は、そのコマンドの種類を示すもので、0(ここでの表記はデシマル):システムコマンド、1:デバイス1、2:デバイス2、3〜15:未使用が存在する。システムコマンドは、システム的なコマンド(リセットコマンドなど)を示す。デバイス1は、具体的には、演出リール170を示し、デバイス2は、ドットマトリクス型表示装置180を示す。
データ長は、STXを含まないコマンド(つまり、MTX、ETXのコマンド)の長さを表すものである。なお、一つのコマンドにつき、STXとETXは一つずつ付加されるが、MTXの個数は、送信すべきコマンドの長さに応じて変化する。たとえば、特別遊技中(例:BB中)のメダルの獲得枚数をドットマトリクス型表示装置180に表示したいような場合、この獲得枚数に応じてMTXの個数が増加する場合もある。よって、コマンドを送信する場合、STX,MTX,ETXが連続的に送信(3連送)されるのが標準的であるが、MTXが増えることで、4連送、5連送…となる場合もある。
データは、コマンドの内容そのものである。
ここで、図12を用いて一例を示すと、副制御コマンド1のデータを送信する場合、STXのコマンド種別には1h(h:ヘキサ)が格納され、MTXのデータ部には00hが格納され、ETXのデータ部には1Ehが格納される。かくして、副制御コマンド1に対応する制御データテーブルに記録されている制御データ001Ehを副制御部B500へ送信できるのである。
つぎに、副制御部B500の処理(副制御部A400から送られたコマンドの受信〜副制御部A400へのコマンドの送信)について説明する。
図9(a)は、本実施形態のスロットマシン100における、副制御コマンド受信処理を示すフローチャートである。この副制御コマンド受信処理は、電源断等を検知しないかぎり、CPU510で繰り返し実行される。
S601では、副制御部A400からのコマンド(副制御コマンド)を受信したか否かを判断する。副制御コマンドを受信している場合は、S602に進み、そうでなければ、S615に進む。
S602では、S601で受信した副制御コマンドの内容を判定する。
S603では、受信した副制御コマンドが、デバイス1(演出リール)への指示を示すコマンドであるか否かを判断し、デバイス1への指示を示すコマンドであれば、S604に進み、そうでなければ、S608に進む。
S604では、デバイスドライバ1に制御データ(受信した副制御コマンドのデータ部)を出力する。
なお、副制御部B500についても、各デバイス(演出リール、ドットマトリクス型表示装置)に対応するデバイスドライバが搭載されている。各デバイスドライバのプログラムは、ROM512に予め格納されている。そして、副制御部B500のRAM516には、各デバイスドライバと、副制御コマンド受信処理の両方でアクセス可能な共用エリアが設けられており、共用エリアにデータの読み書きを行うことで相互に情報を授受することができるようになっている。
そして、制御データを受け取ったデバイスドライバは、自身の担当するデバイスを駆動する。例えば、演出リールのデバイスドライバに対し、左リールをN回転させて7で停止せよといった制御データが与えられた場合は、演出リールのデバイスドライバは、左リールのモータに対して駆動パルスが出力されるように各部を制御し、その後、前述した回転位置検出用のインデックスセンサ325の検出結果に基づいて左リールがN回転したことを検出したら、次に7絵柄が前面に出現するときに、駆動パルスを停止させる。
また、ドットマトリクス型表示装置180のデバイスドライバに対し、ヨットの絵を出現させるようなコマンドが与えられた場合には、ROM512からヨットの絵を読み出し、各発光ダイオードのON/OFFを制御することでヨットの絵柄を描出する。
なお、各デバイスドライバは、自身の処理終了後、アンサーコマンドを出力する。このアンサーコマンドは、後で述べるアンサーコマンド送信処理で受領される。また、各デバイスドライバは、自身のデバイスを駆動中(つまり演出実行中)、新たな制御データを受け取った場合には、この制御データに基づく演出をただちに遂行し、その時点で行っている演出はキャンセルする。
S605では、送信予定のデバイスドライバ1のアンサーコマンドが存在するか否かを判断し、送信予定のデバイスドライバ1のアンサーコマンドが存在すれば、S606にて、これを破棄し、送信予定のデバイスドライバ1のアンサーコマンドがなければ、S607に進む。後で述べるように、デバイスドライバから送られたアンサーコマンドは順次、副制御部A400に送信されるが、何らかの原因で処理が遅れ、アンサーコマンドが実際にアンサー用キューに設定する前で滞っている場合は、このアンサーコマンドを破棄する。
S607では、デバイスドライバ1のAckをアンサー用キューに設定する。このようにしてアンサー用キューに設定されたAckは、副制御部A400に送信される。
S615では、本処理を終了するか否か(たとえば電源断を検知したか否か)を判断し、電源断等を検知したら本処理を終了し、そうでなければ、S601に戻る。
S608では、デバイス1への指示を示すコマンドではないとS603で判定された副制御コマンドが、デバイス2(ドットマトリクス型表示装置)への指示を示すコマンドであるか否かを判断し、デバイス2への指示を示すコマンド2であれば、S609にて、この副制御コマンドの制御データをデバイスドライバ2に出力し、そうでなければ、S613に進む。
S610では、送信予定のデバイスドライバ2のアンサーコマンドが存在するか否かを判断し、送信予定のデバイスドライバ2のアンサーコマンドが存在すれば、S611にて、これを破棄し、送信予定のデバイスドライバ2のアンサーコマンドが無ければ、S612に進む。
S612では、デバイスドライバ2のAckをアンサー用キューに設定する。同様に、アンサー用キューに設定されたAckは、副制御部A400に送信される。
S613では、S603およびS608においてデバイス1への指示を示すコマンドでもデバイス2への指示を示すコマンドでもないと判断された副制御コマンドが、システムコマンドか否かを判断し、システムコマンドであれば、S614にて、システムコマンドの内容に応じた処理を実行し、そうでなければ、S615に進む。
図9(b)は、本実施形態のスロットマシン100におけるアンサーコマンド送信処理を示すフローチャートである。アンサーコマンド送信処理は、電源断等を検知しないかぎり、CPU510にて同図の処理を繰り返し実行する。
S701にて、デバイスドライバ1またはデバイスドライバ2からのアンサーコマンドの送信要求があるか否かを判断し、アンサーコマンドの送信要求があれば、S702にて、アンサーコマンドをアンサー用キューに設定し、そうでなければ、S703に進む。
S703では、本処理を終了するか否か(たとえば電源断を検知したか否か)を判断し、電源断等を検知したら本処理を終了し、そうでなければ、S701に戻る。
以上、副制御部A400からのコマンドの受信〜副制御部A400へのコマンドの送信するまでの処理について説明したが、より具体的な処理の流れについて図12を用いて説明する。
すなわち、図12に示すように、第2テーブル(順序・制御データテーブル)を備える副制御部B500では、副制御コマンドとしてたとえば副制御コマンド1を受信すると、副制御コマンド1のデータ部を制御データとして、演出リール用のデバイスドライバに出力する。演出リール用のデバイスドライバは、送られた制御データによって特定された演出の順序および演出の詳細内容を取得する。同図に示すように、副制御部B500のROM512には、あらかじめ、デバイスドライバごとに、演出の順序と演出の詳細内容が格納された順序・制御データテーブルとして、演出順序・制御データテーブル1および演出順序・制御データテーブル2が格納されており、各ブロックごとに、演出順序と制御内容が格納されている。演出順序における演出数は、各ブロックごとに異なってもよい。例えば、或るブロックでは、左リールを1回転させて7で停止させる演出のみが規定され、その他のブロックでは、左リールを1回転させて7で停止させる演出と、左リールのバックライトを点滅させる演出の2つが規定されていてもよい。
図12の例では、副制御コマンド1の制御データによって、演出1:右リールを1回転させて「6」で停止、演出2:右リールのバックライト点灯、演出3:アンサーコマンド(再始動音)の発行、演出4:右リールを3回転させて「7」で停止、演出5:アンサーコマンド送信(爆発音)の発行が規定されたブロックが参照されている。演出リール用ドライバは、この順序にしたがって演出を実行する。
なお、演出順序・制御データテーブルにアンサーコマンドが規定されていた場合、このアンサーコマンドは、副制御部A400に送信される。
副制御コマンドA400へ送信するコマンド(アンサーコマンド)の形式は、図11(b)に示す通りである。すなわち、アクノリッジ(Ack)は、正常応答を示すもので、0001b(b:バイナリ)は、デバイス1からのAckであり、1000bは、デバイス2からのAckである。また、アンサーコマンドは、0010b〜0111bがデバイス1からのアンサーコマンドであり、1001b〜0111bがデバイス2からのアンサーコマンドである。0000bおよび1111bは未使用である。
つぎに、副制御部A400の第2の処理(副制御部B500からのコマンドの受信〜副制御部A400のデバイスの駆動)について説明する。
図10は、本実施形態のスロットマシン100における、アンサーコマンド受信処理を示すフローチャートである。このアンサーコマンド受信処理は、電源断等を検知しないかぎり、CPU410で繰り返し実行される。
S801では、副制御部B500からアンサーコマンドを受信したか否かを判断する。アンサーコマンドを受信した場合は、S802にて、アンサーコマンドを判定し、そうでなければ、S810に進む。
S803では、肯定応答(Ack)を受信したか否かを判断する。肯定応答を受信した場合は、S808に進み、そうでなければ、S804に進む。
S804では、現在の送信レベルが「0」か否かを判断し、送信レベルが「0」の場合は、S805に進み、そうでなければ、S810に進む。
S805では、現在の遊技モード(具体的には、送信した副制御コマンドのデータ)を取得する。
S806では、アンサーコマンド変換テーブルを参照し、受信したアンサーコマンドと、現在の遊技モードに基づいて、実行すべき演出の内容(演出データ)を判定する。
S807で、S806でアンサーコマンドから変換された演出データをセットする。
つまり、副制御部B500へ送信した副制御コマンドのデータを例えば1E、受信したアンサーコマンドのデータが5である場合、アンサーコマンド変換テーブルを参照して、1E−5で特定される演出データをセットすることとなる。演出データをセットした場合、図8のS402で直接指定演出有りと判断されるため、S404にて、セットされた演出データが取得される。
また、S808では、Ack待ちのタイムアウトが発生しているか否かを判断し、Ack待ちのタイムアウトが発生している場合には、S810に進み、そうでなければ、S809に進む。本実施形態では、Ack待ちタイムアウトを計測するためのAck待ちタイマのセットを副制御コマンド送信処理(図8(b))のS505で行い、このAck待ちタイマによって副制御コマンドを送信してからのAck待ち時間を計測することができるようになっている。
S809では、送信レベルをデクリメント(1減算)する。何らかの通信エラーが生じないかぎり、副制御コマンドを送信した数だけ、Ackが返信されるため、送信した制御コマンドに対するすべてのAckが返信された場合は、送信レベルは0となる。
S810では、本処理を終了するか否か(たとえば電源断を検知したか否か)を判断し、電源断等を検知したら本処理を終了し、そうでなければ、S801に戻る。
以上、副制御部B500からのコマンドの受信〜副制御部A400のデバイスの駆動までの処理を説明したが、具体的な処理の流れについて図12を用いて説明する。
副制御部A400では、アンサーコマンド変換テーブルを参照し、副制御部B500から受信したアンサーコマンドに対応する演出データを取得する。このように、アンサーコマンド変換テーブルを用いれば、アンサーコマンドの信号線を減らすことができる。すなわち、本実施形態では、アンサーコマンドは、図11(b)で説明したように、4bitで構成され、最大でも、16種類(2×2×2×2=16)の情報しか送ることができないが、このような変換テーブルを用いれば、4bitの情報に対して、より多くの演出データを対応付けることができるため、アンサーコマンドの信号線の数に左右されることなく、大量の情報を送ることができるようになる。
そして、アンサーコマンド変換テーブルによって演出データが特定されると、その後、この演出データに対応付けられた各制御データが選択される。例えば、この制御データの効果音の項目に、爆発音を示すデータが規定してあると、このデータに基づいて効果音出力用デバイスドライバがスピーカを制御し、スピーカから爆発音が出力される。例えば、副制御部B500の制御により演出リール170が7―7―7で停止したと同時に、副制御部A400の制御により爆発音が発せられることとなる。
次に、上記のような処理により遊技者に対して提示される演出リール170の演出表示の一具体例を図13に示す。
まず、スタートレバーが操作されると、3つの演出リールが回転を開始する(図13(1)参照)。
その後、第1停止操作時に「左リールが1回転して「7」で停止」、第2停止操作時に「中リールが1回転して「7」で停止」する(図13(2),(3)参照)。
次いで、第3停止操作時に右リールが1回転して「6」で停止し(図13(4)参照)、その後、ただちに、3つの演出リールが回転し(図13(5)参照)、N回転の後、左リール、中リール、右リールで、「7」「7」「7」で停止する(図13(6)参照)。そして、「7」「7」「7」が揃った時点で爆発音が出力されることとなる。
以上説明したように、本実施形態によれば、副制御部B500の演出終了時に、副制御部A400に向けてアンサーコマンドが送信され、このアンサーコマンドの受信を契機に、副制御部A400での演出が開始されるようになるため、副制御部A400と副制御部B500の各演出の同期が完全にとれるようになる。
なお、アンサーコマンドの送信タイミングは、上記実施形態の如く、演出処理が終了した後に送る場合に限らず、演出終了に関連して定めた指示タイミングに基づいて、副制御部B500から副制御部A400へ送ることが出来れば良い。例えば、副制御部B500がアンサーコマンドを送ってから、アンサーコマンドにて指定される演出動作が副制御部A400で実行されるまでのタイムラグ(演出実行遅延時間)を見込んで、副制御部B500で行っている演出制御の終了予定時よりも上記演出実行遅延時間だけ早くアンサーコマンドを送るようにしても良い。
また、図12の制御データテーブルにおいて、受信したアンサーコマンドで特定されるブロックに、副制御コマンド1や副制御コマンド2が格納されていた場合には、これらの副制御コマンドが副制御部B500に向けて送信され、演出リール170やドットマトリクス型表示装置180による演出表示が実行される。
上述した実施形態では、演出リール170の制御による演出を中心に説明したが、言うまでもなく、ドットマトリクス型表示装置180による演出も可能である。以下、ドットマトリクス型表示装置180の制御による演出の一例を説明する。
図12に示すように、副制御部B500には、ドットマトリクス型表示装置用デバイスドライバ(以下、ドットマトリクス用デバイスドライバ)の演出順序・制御データテーブル2が用意されている。ドットマトリクス用デバイスドライバの演出順序・制御データテーブル2は、演出リールの演出順序・制御データテーブル1と同様、副制御部B500のROM512に格納されている。
演出順序・制御データテーブル2には、一部図示省略されているが、スタートレバー操作時にヨット登場、第1停止操作時にヨットを1コマ移動、第2停止操作時にヨットをさらに1コマ移動といった処理内容が格納されている。また、第3停止操作時については、ヨットをさらに1コマ移動、続いて、?マークの表示、続いて、ゴールの文字表示および爆発音を示すアンサーコマンドの送信といった処理内容が対応付けられている。
一方、副制御部A400のアンサーコマンド変換テーブルには、このアンサーコマンドに対して、爆発音の出力を含む演出データを対応付けておき、アンサーコマンド受信時に、この演出データが選択されるようにしておく。
以上のように構成することにより、遊技者に対して提示されるドットマトリクス型表示装置180演出表示の一具体例を図14に示す。
まず、スタートレバー操作時に、ドットマトリクス型表示装置180に「ヨット」が登場する(図14(1)参照)。
その後、第1停止操作時に、「ヨット」が1コマ左に移動し、第2停止操作時に、さらに、「ヨット」が1コマ左に登場する(図14(2),(3)参照)。
次いで、第3停止操作時に、「ヨット」が1コマ左に移動し(図14(4)参照)、その後、ただちに、?マークが表示され(図14(5)参照)、最後に、ゴールの文字表示と爆発音の出力が同時に遂行される(図14(6)参照)。
なお、演出表示を行う際には、演出リール170とドットマトリクス表示装置180のいずれか一方のみでなく、両方を同時に駆動しても良い。また、その他の第2制御対象物として装備した演出用表示装置と併せて、3つ以上の装置による演出表示を行うようにしても良い。
続いて、図15を用いて、副制御部A400と副制御部B500の通信について説明する。ここでは、副制御部B500の演出終了後、アンサーコマンドが副制御部A400に送られるものとして話を進める。
図15(a)では、通信が正常に行われた場合の様子が示されている。
例えば、副制御部A400において、演出A(各演出リールをN回転させ、最終的に「7−7−7」で停止させる演出が選択されたとする。
この演出内容は、前述したように、副制御コマンドに格納され、副制御部B500に向けて送信される。副制御コマンドを受けた副制御部B500では、この副制御コマンドに対応する制御データが所定のデバイスドライバへ通知され(図9(a):S604)、さらに、Ackが副制御部A400へ向けて送信される(図9(a):S607)。
その後、副制御部B500において演出Aが終了すると、アンサーコマンドが送信され(図9(b):S702)、副制御部A400では、アンサーコマンドによって指定された演出(例えば、爆発音)が出力される。
図15(b)では、何らかの障害により、通信が正常に行われなかった場合の様子が示されている。なお、ここでは副制御コマンドに対するAck待ちのタイムアウトは発生していないものとする。
演出A,Bを指示する副制御コマンドA,Bを送信した副制御部A400が、これら2つの副制御コマンド(副制御コマンドA,B)のAckを受け取る前に、副制御部B500からアンサーコマンド(ここでは、アンサーコマンドA)を受信した場合、副制御部A400では、送信レベルがいまだ「1」に設定されたままであるため、図10:S804にてYESの判断が下され、そのアンサーコマンドAによる演出処理がスキップされる。よって、このアンサーコマンドAが返信されても、アンサーコマンドAの演出(アンサー演出A)は実行されることがない。
このように、何らかの通信障害が発生した場合に、障害に関連する演出をスキップするようにすれば、遊技者を惑わすようなことがない。例えば、アンサー演出Aが左リールの停止音を出力する演出、アンサー演出Bが中リールの停止音を出力する演出とした場合に、中リールの停止音を出力したあとに、左リールの停止音を出力してしまうといったことが無くなるのである。
図15(c)も、何らかの障害により、通信が正常に行われなかった場合の様子が示されており、この場合は、副制御部Aから副制御部Bに送信した副制御コマンドAに対応するAckAが返信されていない。従って、演出Aの終了に伴って副制御部BからのアンサーコマンドAを受信しても、前述と同様、送信レベルが未だ「1」に設定されたままであるため、アンサー演出Aは実行されることがなく、遊技者を惑わすようなことがない。
なお、次の副制御コマンドBを送信する場合には、副制御コマンドAに対するAckA待ちのタイムアウトが発生しているため、図8(b):S504にて、送信レベルがリセット(送信レベル1がセット)される。つまり、後から送信した副制御コマンドBに対応するAckBを受信した際には、送信レベルが0になるため、アンサーコマンドBによるアンサー演出Bは問題なく遂行される。