以下、本発明の実施の形態について図面を用いて説明する。本発明のスロットマシンは、リール制御に特徴を有しており、停止時におけるリールの振動を抑えることができるように構成されている。
<全体構成>
図1は、本発明の一実施形態に係るスロットマシン100の外観斜視図である。スロットマシン100は、メダルの投入により遊技が開始され、遊技の結果によりメダルが払い出されるものである。
図1に示すように、スロットマシン100の中央内部には、外周面に複数種類の絵柄(「7」、「Bar」、「ベル」、「スイカ」等:図示省略) を配列した円筒状のリールが3個(左リール110、中リール111、右リール112)収納され、本体201の内部で回転できるように構成されている。本体201の両サイドには、取手部201cが設けられ、スロットマシン100の運搬の際に利用される。
前面扉101には、リール表示窓113が設けられており、リール110乃至112を正面から眺めると、これに施された絵柄がリール表示窓113から縦方向に3つ見えるようになっている。つまり、全リール110乃至112が停止した場合、遊技者は、3×3の合計9個の絵柄を見ることができる。これらのリール110乃至112が回転し、停止することにより、様々な絵柄の組み合せが表示されることになる。なお、本実施形態では、3個のリールを備えているが、リールの数やリールの設置位置はこれに限定されるものではない。
各リール110乃至112の裏側には、リール表示窓113上に表示される個々の絵柄を照らすためのバックライト(図示せず)が配置されている。バックライトは、例えば、7色(赤、緑、青紫の三原色と、白色等をはじめとするこれらの混合色)の光を発することが可能であり、各原色に対応したLED等を含んで構成される。
入賞ライン表示ランプ120は、遊技毎に有効となる入賞ライン114を示すランプである。有効となる入賞ライン114 は、スロットマシン100 に投入された遊技媒体(本実施形態ではメダルを想定する。)の枚数によって変化する。例えば、図1に示すように5本の入賞ライン114を有する場合、メダルを1枚投入したときは中段の水平入賞ライン、2枚投入したときは、上段の水平入賞ラインおよび下段の水平入賞ラインを加えた3つの入賞ライン、3枚投入したときは更に2本の斜めの入賞ラインを加えた5ラインが有効となり、有効な入賞ライン114上に揃った絵柄の組み合せにより入賞が判断されることとなる。勿論、入賞ラインの数は5本に限定されるものではない。
スタートランプ121は、リール110乃至112が回転することができる状態にあることを遊技者に知らせるランプである。再遊技ランプ122は、入賞役である再遊技に入賞したとき(例えば、Rep−Rep−Repの再遊技絵柄の組み合せが入賞ライン114上に揃ったとき)、遊技者へ次の遊技が再遊技であることを知らせるランプである。再遊技の場合、次遊技において遊技媒体であるメダルの投入が免除される。告知ランプ123は、特別な入賞役(例えば、ビッグボーナス(BB)やレギュラーボーナス(RB))に内部当選した状態にあることを遊技者に報知するランプである。メダル投入ランプ124は、遊技開始にあたって遊技者にメダルの投入が必要であることを報知するランプである。メダル投入枚数表示ランプ125は、遊技者が投入したメダル枚数を表示するランプである。本実施形態では、1回の遊技に最大3枚までメダル投入できるので、縦に配置した3つのランプを用いてメダル投入枚数を表示している。無論、ランプで表示する他に7セグメント表示器等で直接メダル投入枚数を表示してもよい。
払出枚数表示器126は、メダルの払い出しのある何らかの入賞役に入賞したとき、遊技者へ払い出されるメダルの枚数を表示する表示器である。遊技回数表示器127は、ビッグボーナスゲーム中の通常ゲームの回数等を表示する表示器である。貯留枚数表示器128は、電子的に貯留(クレジット)しているメダルの枚数を表示する表示器である。
メダル投入ボタン131、132は、貯留されたメダルをスロットマシン100へ電子的に投入するための投入ボタンであり、いわゆるベットボタンと呼ばれているものである。本実施形態では、最大メダル投入ボタン131(いわゆるマックスベットボタン)と、1回押下するごとに1枚のメダルを投入する1枚メダル投入ボタン132(いわゆるワンベットボタン)とを有し、これらのボタンのいずれかを押下することにより遊技に必要な1〜3枚のメダルがスロットマシン100へ電子的に投入される。2枚のメダルを投入する場合は、1枚メダル投入ボタン131を2回押下することとなる。投入されたメダル枚数分は、現在の貯留枚数から減算されて残枚数が貯留枚数表示器128に表示される。
メダル投入口ブロック133は、遊技を開始するに当たって遊技者が直接メダルを投入するための開口を有する。メダルを直接投入した際に、メダル投入口直下にあるメダルセレクターユニット(図示せず)内にメダルが詰まってしまった場合は、メダルキャンセルスイッチ134aを操作することによってメダルのつまりを解消させる。スタートレバー135は、遊技の開始操作として、リール110乃至112の回転を開始させるレバー型のスイッチである。
ストップボタンユニット136には、3つのストップボタンが設けられている。各ストップボタンは、押下することによって対応するリール110乃至112を停止させるボタン型のスイッチである。各ストップボタンの内部にはランプ(図示せず)が設けられており、スタートレバー135が操作された後、リール110乃至112の停止操作が可能な状態になると全ランプが点灯し、遊技者に停止操作が可能になったことを報知する。各ストップボタンのランプは各ストップボタンが押下される毎に消灯する。無論、停止操作可能な状態とその他の状態とでランプの発光色を変化させるように構成することもできる。
精算ボタン138は、遊技者が獲得したメダルを精算して排出する精算処理を行う場合に押下されるボタンである。なお、精算ボタン138は、遊技者がメダル投入口ブロック133から投入したメダルのうち所定枚数(例えば3枚)以上のメダルまたは入賞により獲得したメダルを最大50枚まで貯留するか否かを切り替える場合にも使用され、例えば、一回精算ボタン押下されて精算処理が行われると、非貯留モードが設定され、もう一度精算ボタン押下されると、貯留モードが設定される。ここに、メダルの貯留とは、メダルを直接払い出さずに、電子的にその枚数を後述する制御部に一時記憶しておくことを意味する。
キー孔139は、扉開閉用のキーを差し込む孔で、キーを差し込んで時計方向に回すとロックが解除され、スロットマシン100の前面扉101を開けることができる。タイトルパネル140は、そのスロットマシンの機種名や各種のデザインが描かれるパネルである。メダル排出口165は、メダルを排出するための開口であり、入賞時に払い出されるメダルはここから排出される。排出されたメダルは、受皿160に溜まるようになっている。
上部ランプ190、サイドランプ151及び152、中央ランプ153及び154、腰部ランプ155及び156、下部ランプ157及び158は、遊技を盛り上げるための演出用のランプであり、遊技状態に応じて点灯/消灯/点滅する。本実施形態では、受皿160を透光性材料で構成し、受皿取り付け面からランプ光を入射させることで上記演出用のランプと同様の効果を発揮させるように構成している(以下、受皿ランプ160ともいう)。また、受皿160には、着脱可能に構成した灰皿ユニット170が設けられている。
液晶表示装置(LCD)180は、遊技に関する各種の情報(ゲームを盛り上げるためキャラクター等を登場させるゲーム画面、スロットマシンの内部で異常が発生した場合にエラーの内容を表示するエラー画面など)を表示することができる。
上部ランプ190の近傍の左右にスピーカの音孔(図示せず)を設けている。また、ストップボタンユニット136の直下に背面スピーカからの効果音を出力するための音孔が設けられている。背面スピーカの音孔には、装飾が施されたスピーカカバー173が装着され、ここから遊技の効果音が出力される。
<リール回転装置>
次に、スロットマシン100のリール110乃至112を回転させるリール回転装置について詳細に説明する。図2は、スロットマシン100のリール回転装置の一例を示す外観斜視図で、リール回転装置10は、概略、リール駆動ユニット20乃至40と、これらを収納するケース部材12とで構成されている。リール駆動ユニット20乃至40は、リール帯230に印刷される絵柄の配列が異なるだけで、構造的には、いずれも同一の部品で構成されている。各リール駆動ユニット20乃至40は、それぞれ個別にケース部材12内に着脱可能に収納されている。
図3は、リール駆動ユニットの分解斜視図である。リール駆動ユニット20乃至40は、絵柄を移動表示させるための構成として、概略、取付ベース210、センサブラケット212、ステッピングモータ220、リール帯230、リール枠240、検知片(遮光片)250、補強リム270、インデックスセンサ325で構成される。その他、絵柄を背後から照明するためのバックライトケース292と照明基板294とを備えている。
取付ベース210は、平板上に、センサブラケット212、ステッピングモータ220、バックライトケース292を装着するための取付部や、ケース部材12に装着するためのブラケット類が形成されている。センサブラケット212は、取付ベース210上に取り付けられ、先端に後述する検知片250の通過を検出するためのインデックスセンサ325が装着される。
ステッピングモータ220は、バイポーラ型ステッピングモータで、1回転200ステップの分解能を持ったものを1−2相励磁方式で駆動する。従って、1回転を400パルスで制御することができ、回転角度を0.9度/パルスで制御することができる。このステッピングモータ220の回転制御に関しては詳しくは後述する。また、ステッピングモータ220の回転軸には、回転軸と直交するようにピン220aが装着されている。ピン220aは、リール枠240を所定の回転角度に固定する。ピン220aには、リール停止時の衝撃を和らげるための緩衝部材222が装着されている。リール停止時の慣性力は、緩衝部材222を介してステッピングモータ220へ伝えられることになる。緩衝部材222を設けることでリール停止時に緩衝部材222が変形し、その変形エネルギーが開放されることで振動が生じる。このため、緩衝部材222を間に介する分だけ直接リールをモータ軸に固定する場合と比較して振動の周期が長くなる傾向がある。このため、後述する振動抑制制御である「ジャンプ制御」の制御時間にも余裕ができる。
ステッピングモータ220の回転軸には、リール枠240が装着される。リール枠240は、ステッピングモータ220の回転軸に取り付けられるボス部242とリール帯230が貼り付けられるリム部244と、ボス部242とリム部244とを連結するための4本の連結部243とで構成されている。このような構成にすることで、リール枠240は、軽量化が測られ、ステッピングモータ220への負荷を低減している。また、リール駆動ユニット20乃至40では、リール枠240の連結部243の1本に検知片250がネジ260により取り付けられている。
リール枠240のリム部244の周囲には、リール帯230が接着される。同時にリール帯230の反対側端には、リール帯230の補強を目的として補強リム270が接着される。
バックライトケース292は、プラスチック製の枠体で3つに仕切られた区画を有している。各区画は絵柄停止位置に対応させるもので、3つの絵柄を個別に照明することができるようになっている。バックライトケース292の背面には照明基板294が取り付けられている。照明基板294は、複数のLED294aを実装した基板で、バックライトケース292に形成された区画単位でLED294aを点灯制御可能な回路に構成されている。バックライトケース292も、取付ベース210に装着される。
<制御部>
次に、図4乃至6を参照してスロットマシン100の制御部の構成について説明する。本実施形態における制御部は、全体を制御する主制御部300と、遊技を盛り上げるための演出に関する制御等を遂行する副制御部400と、LCD180を制御する液晶表示制御部500で構成されている。尚、制御部の構成は、これに限定されることはなく、例えば、主制御部300と副制御部400をひとつにしても何ら問題ない。
<主制御部>
まず、図4を用いて、スロットマシン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には、各ICを制御するためのプログラム、入賞役の内部抽選時に用いる抽選データ、リールの停止位置等を記憶しているROM312や、一時的なデータを保存するためのRAM313が接続されている。これらのROM312やRAM313については他の記憶手段を用いてもよく、この点は後述する各制御部においても同様である。
また、CPU310には、外部の信号を受信するための入力インタフェース360が接続され、割込み時間ごとに入力インタフェース360を介して、メダル受付センサ320、スタートレバーセンサ321、ストップボタンセンサ322、メダル投入ボタンセンサ323、精算/貯留スイッチ324の状態を検出し、各センサを監視している。
メダル受付センサ320は、メダル投入口133の内部の通路に2個設置されており、メダルの通過有無を検出する。スタートレバーセンサ321は、スタートレバー135に設置されており、遊技者によるスタート操作を検出する。ストップボタンセンサ322は、各々のストップボタン(左・中・右)に設置されており、遊技者によるストップボタンの操作を検出する。
メダル投入ボタンセンサ323は、メダル投入ボタン130、131のそれぞれに設置されており、RAM313に電子的に貯留されているメダルを遊技用のメダルとして投入する場合の投入操作を検出する。たとえば、CPU310は、メダル投入ボタン132に対応するメダル投入センサ323がHレベルになった場合に、電子的に貯留メダルを1枚投入し、メダル投入ボタン131に対応するメダル投入センサ323がHレベルになった場合に、電子的に貯留メダルを3枚投入する。
精算/貯留スイッチ324は、精算/貯留ボタン138に設けられている。精算ボタン138が一回押されると、貯留されているメダルを精算し、もう一回押されると、払い出されるメダルが電子的に貯留される貯留モードとなる。なお、以上の各センサは、非接触式のセンサであっても接点式のセンサであってもよい。
CPU310には、さらに、入力インタフェース361、出力インタフェース370、371がアドレスデコード回路350を介してアドレスバスに接続されている。CPU310は、これらのインタフェースを介して外部のデバイスと信号の送受信を行っている。
入力インタフェース361には、インデックスセンサ325(詳しくは、左リールインデックスセンサ325a、中リールインデックスセンサ325b、右リールインデックスセンサ325c)が接続されている。インデックスセンサ325は、具体的には、各リール110乃至112の取付台の所定位置に設置されており、リールに設けた遮光片250がこのインデックスセンサ325を通過するたびにHレベルになる。CPU310は、この信号を検出すると、リールが1回転したものと判断し、リールの回転位置情報をゼロにリセットする。
出力インタフェース370には、リールを駆動させるためのリールモータ駆動部330(詳しくは、左リールモータ駆動部330a、中リールモータ駆動部330b、右リールモータ駆動部330c)、ホッパー(バケットにたまっているメダルをメダル排出口165から払出すための装置。図示せず。)のモータを駆動するためのホッパーモータ駆動部331と、遊技ランプ340(具体的には、入賞ライン表示ランプ120、スタートランプ121、再遊技ランプ122、告知ランプ123、メダル投入ランプ124等)と、7セグメント表示器341(払出枚数表示器126、遊技回数表示器127、貯留枚数表示器128等)が接続されている。
また、CPU310には、乱数発生回路317がデータバスを介して接続されている。乱数発生回路317は、水晶発振器311及び水晶発振器316から発振されるクロックに基づいて、一定の範囲内で値をインクリメントし、そのカウント値をCPU310に出力することのできるインクリメントカウンタであり、後述する入賞役の内部抽選をはじめ各種抽選処理に使用される。本発実施形態における乱数発生回路317は、2つの乱数カウンタを備えている。例えば、水晶発振器311のクロック周波数を用いて0〜65535までの値をインクリメントするカウンタと、水晶発振器316のクロック周波数を用いて0〜16777215までの値をインクリメントするカウンタが備えている。
また、CPU310のデータバスには、副制御部400にコマンドを送信するための出力インタフェース371が接続されている。
尚、図4に示す一点鎖線内で囲まれた部分は、具体的には、ROM・RAM内蔵のワンチップCPUで構成されている。以下、この部分をROM・RAM内蔵ワンチップCPU301と称す。また、実線で囲まれた部分は、スロットマシン100のリールモータ制御に関連する部分であり、以下、この部分をリールモータ制御回路302と称す。リールモータ制御回路302に関しては、後述する回路図を用いて、詳しく説明する。
<副制御部>
次に、図5を用いて、スロットマシン100の副制御部400について説明する。副制御部400は、主制御部300より送信された主制御コマンド等に基づいて副制御部400の全体を制御する演算処理装置であるCPU410や、CPU410が各IC、各回路と信号の送受信を行うためのデータバス及びアドレスバスを備え、以下に述べる構成を有する。
クロック補正回路414は、水晶発振器411から発振されたクロックを補正し、補正後のクロックをシステムクロックとしてCPU410に供給する回路である。
また、CPU410にはタイマ回路415がバスを介して接続されている。CPU410は、所定のタイミングでデータバスを介してROM412の所定エリアに格納された分周用のデータをタイマ回路415に送信する。タイマ回路415は、受信した分周用のデータを基に割り込み時間を決定し、この割り込み時間ごとに、割り込み要求をCPU410に送信する。CPU410は、この割込み要求のタイミングをもとに、各ICや各回路を制御する。
また、CPU410には、副制御部400の全体を制御するための命令及びデータ、バックライトの点灯パターンや各種表示器を制御するためのデータが記憶された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から出力する。
CPU410には、主制御部300と同様に、外部ICを選択するためのアドレスデコード回路450が接続されており、アドレスデコード回路450には、主制御部300からのコマンドを受信するための入力インタフェース461、液晶表示制御部500からの信号を入力するための入力インタフェース471、時計IC423、7セグメント表示器440への信号を出力するための出力インタフェース472が接続されている。
時計IC423が接続されていることで、CPU410は、現在時刻を取得することが可能である。7セグメント表示器440は、スロットマシン100の内部に設けられており、たとえば副制御部400に設定された所定情報を店の係員等が確認できるようになっている。
更に、出力インタフェース470には、デマルチプレクサ419が接続されている。デマルチプレクサ419は、出力インタフェース470から送信された信号を各表示部等に分配する。即ち、デマルチプレクサ419は、CPU410から受信されたデータに応じて上部ランプ190、サイドランプ151及び152、中央ランプ153及び154、腰部ランプ155及び156、下部ランプ157及び158、リールパネルランプ171、タイトルパネルランプ172、受皿ランプ160、払出口ストロボ173を制御する。
タイトルパネルランプ172は、タイトルパネル140を照明するランプであり、払出口ストロボ173は、メダル排出口165の内側に設置されたストロボタイプのランプである。
なお、CPU410は、副制御部500への信号送信は、デマルチプレクサ419を介して実施する。逆に、CPU410は、入力インタフェース471を介して液晶表示制御部500からの信号を受信する。すなわち、CPU410は、デマルチプレクサ419と入力インタフェース471を介して液晶表示制御部500と双方向通信を行う。
<液晶表示制御部>
次に、図6を用いて、スロットマシン100の液晶表示制御部500について説明する。液晶表示制御部500は、演算処理装置であるCPU510や、各IC、各回路と信号の送受信を行うためのデータバス及びアドレスバスを備え、以下に述べる構成を有する。
クロック補正回路514は、水晶発振器511から発振されたクロックを補正して、補正後のクロックをシステムクロックとしてCPU510に供給する回路である。
また、CPU510にはタイマ回路515がバスを介して接続されている。CPU510は、所定のタイミングでデータバスを介してROM512の所定エリアに格納された分周用のデータをタイマ回路515に送信する。タイマ回路515は、受信した分周用のデータを基に割り込み時間を決定し、この割り込み時間ごとに、割り込み要求をCPU510に送信する。CPU510は、この割込み要求のタイミングをもとに、各ICや各回路を制御する。
CPU510は、副制御部400の出力インタフェース470、デマルチプレクサ419を介して出力されたCPU410からの信号を、入力インタフェース520およびバスを介して受信し、液晶表示制御部500全体を制御する。また、CPU510は、必要に応じて、出力インタフェース521を介して、副制御部400に信号を送信する。
ROM512には、液晶表示制御部500全体を制御するためのプログラムやデータが記憶されている。RAM513は、CPU510で処理されるプログラムのワークエリア等を有する。ROM512やRAM513は、バスを介してCPU510に接続されている。
CPU530には、バスを介して、ROM531、RAM532、VDP(ビデオ・ディスプレイ・プロセッサ)534が接続されている。
一方、ROM531には、CPU530で処理されるプログラムが格納されている。RAM532は、CPU530で処理されるプログラムのワークエリア等を有する。VDP534には、水晶発信器533が接続され、さらに、バスを介して、ROM535、RAM536が接続されている。ROM535には、液晶表示装置180の画像データが複数種類格納されている。そして、CPU530は、CPU510からの信号をもとにROM535の画像データを読み出し、RAM536のワークエリアを使用して画像信号を生成し、D/Aコンバータ537を介して、液晶表示装置180の表示画面に画像を表示する。
<リールモータ制御回路>
次に、上述したリールモータ制御回路302の構成を図7乃至図12を用いて、具体的に説明する。ここで、図7乃至図12は、リールモータ制御回路302の回路図の一例を示すものである。
図7に示すように、ROM・RAM内蔵ワンチップCPU301から出力されるアドレス信号(具体的には、A0〜A15)は、アドレスバス303を介して、図8に示すようにアドレスデコード回路350に出力される。また、ROM・RAM内蔵ワンチップCPU301から出力される信号SG50(具体的には、XWR、XRD、XIORQ)は、データの読み書きを制御する信号であり、アドレスデコード回路350に出力される。この結果、信号の一つとして、リールの制御に用いるチップセレクト信号SG10(具体的には、XOCS_05、XOCS_06、XOCS_07)が、アドレスデコード回路350から、図9に示すように、出力インタフェース370に入力される。
また、図7及び図9に示すように、ROM・RAM内蔵ワンチップCPU301から出力されるデータ信号(具体的には、D0〜D7)は、データ出力側のデータバス305を介して、出力インタフェース370に入力される。この結果、図9に示すように、リール110乃至112を制御するリール信号SG20(詳しくは、左リール110を制御する信号SG20L(具体的には、L-A Phase, L-B Phase, L-AI0,L-AI1,L-BI0, L-BI1)、中リール111を制御する信号SG20C(具体的には、C-A Phase,C-B Phase, C-AI0,C-AI1,C-BI0, C-BI1)、右リール111を制御する信号SG20R(具体的には、R-A Phase,R-B Phase, R-AI0,R-AI1,R-BI0, R-BI1))が、それぞれ、リールモータ駆動部330(詳しくは、左リールモータ駆動部330a、中リールモータ駆動部330b、右リールモータ駆動部330c)に入力される。
図10は、左リール110を駆動する左リール駆動部330aの回路構成、及び左リール駆動部330aにより駆動されるステッピングモータ220を示している。尚、中リール111及び右リール112に関しても同様の構成である。左リール駆動部330aは、具体的には、2つのモータドライバ306A及び306Bにより構成されている。即ち、1リールにつき2つのモータドライバを用いてステッピングモータ220を回転制御している。ここで、モータドライバ306(モータドライバ306a及び306bは、同一機能を有するモータドライバであるため、モータドライバの機能を説明するときはモータドライバ306として説明する。)は、ステッピングモータ220を駆動させるためのモータ電流を発生させる装置であり、CPU310から出力されたリール制御信号SG20Lに応じて、モータ電流を制御するようになっている。
ステッピングモータ220は、上述したように、バイポーラ型ステッピングモータであり、リール制御信号SG20Lに基づいて1−2相励磁で制御されている。
図11(a)は、モータドライバ306の具体的な回路図であり、図11(b)は、モータ電流の電流レベルを示す表である。図11(a)において、I0及びI1は、ロジック入力であり、図11(b)に示すようなI0及びI1の信号の組み合わせにより、モータ電流の大きさを制御するようになっている。尚、制御可能なレベルは、図11(b)に示すように、Hレベル100%、Mレベル60%、Lレベル20%及びゼロ電流0%である。また、Phaseは、モータ電流の方向を制御するようになっている。また、MA及びMBはモータ出力であり、PhaseがHレベルの信号のときは、MAからMBに電流が流れ、PhaseがLレベルの信号のときは、MBからMAに電流が流れるようになっている。
本実施形態で使用されるモータドライバ306は、通常、ステッピングモータのマイクロステップ制御に使用されるものである。マイクロステップ制御は、ステッピングモータの1ステップ内で更に複数の停止位置で停止を行わせる制御で、この制御は、各相に流す電流のバランスを変化させることで実現される。例えば、互いの励磁コイルに流す電流値が同一であれば、1ステップの中間に停止させることができる。一方の励磁コイルに流す電流値が多くなればそちらの励磁コイルの方向に停止位置が移動する。このようにして1ステップ内の任意の位置に停止位置を設定することができる。本実施形態では、マイクロステップ制御に使用される電流可変機能を利用し、駆動電流を制御するように構成している。
また、図7及び図12に示すように、各種センサからの入力信号の一部として、インデックスセンサ325に関する入力信号SG30(具体的には、左リールインデックス入力信号REEL_INDEX_L、中リールインデックス入力信号REEL_INDEX_C、右リールインデックス入力信号REEL_INDEX_R)は、入力インタフェース361を介して、検出信号SG40がROM・RAM内蔵ワンチップCPU301に入力される。
<ステッピングモータ>
次に、本実施形態のスロットマシン100のステッピングモータ220の動かし方について説明する。本実施形態のステッピングモータ220は、1回転200ステップの分解能を持ったものを1−2相励磁方式で駆動するものである。即ち、1回転を400パルスで制御することができ、回転角度を0.9度/パルスで制御することができる。
図13は、CPU310から出力されるリール制御信号SG20とそのとき各モータコイルに流れるモータ電流との関係を示す表である。図13に示すように、リールの状態は、大別して、停止状態と回転状態があり、回転状態は、さらに、弱励磁回転の回転状態Aと強励磁状態の回転状態Bとがある。ここで、回転状態A(弱励磁回転)とは、モータ電流の大きさが、図11(b)に示す20%であるときの回転状態をいい、また、回転状態B(強励磁回転)とは、モータ電流の大きさが、図11(b)に示す100%であるときの回転状態をいうものである。つまり、本実施形態においては、ステッピングモータ220に流れる2種類の電流(強電流、弱電流)を的確に制御することで、ステッピングモータ220に対する負荷を軽減するとともに、強力な加速及び減速、並びに正確な停止を実現するものである。尚、図13の表において、コイル電流値の+及び−は、電流の流れる方向を示しており、+の端子から−の端子に電流が流れることを意味している。
また、回転状態A及びBにおいては、駆動パルスごとに8つのパターン(リール制御信号SG20の各要素の組み合わせ)を順次繰り返して実行することにより、リールが回転するようになっている。例えば、回転状態Aにおいては、「A1→A2→A3→A4→A5→A6→A7→A8→A1→A2→……」と8つのパターンを順次繰り返すことにより、弱励磁回転が実行される。同様に、回転状態Bにおいては、「B1→B2→B3→B4→B5→B6→B7→B8→B1→B2→……」と8つのパターンを順次繰り返すことにより、強励磁回転が実行される。
さらに詳しくは、各パターン、即ち、リール制御信号SG20の各要素の組み合わせは、ROM312に回転制御パターンデータとして記憶されており、CPU310は、この回転制御パターンデータを順次モータドライバ306a及び306bにパルス信号として指示することにより、ステッピングモータ220のモータコイルにモータ電流が流れ、ステッピングモータ220は回転駆動するようになっている。
図14は、上述した回転制御パターンデータの遷移をリールの動作とともに示した一例である。図14によれば、スタートボタン135による開始操作がされると、CPU310は、リール制御状態を「停止制御中」から「加速制御中」に更新し、「停止制御中」において更新されず、維持されていた弱励磁回転の回転制御パターンデータ(以下、回転制御パターンデータAという)を強励磁回転の回転制御データ(以下、回転制御パターンデータBという)に切り替え、回転制御パターンデータBを順次更新していく。ここで、「加速制御中」においては、各割込時間(駆動パルス)ごとに順次回転制御パターンデータBが更新されていくのでなく、予め定められた割込時間で回転制御パターンデータBを更新していくものである。図14に示す例においては、回転制御パターンデータB−6を4割込時間、次に、回転制御パターンデータB−7を3割込時間、次に、回転制御パターンデータB−8を3割込時間、次に、回転制御パターンデータB−1を2割込時間、次に、回転制御パターンデータB−2を1割込時間というように、順次設定される各回転制御パターンデータBの設定時間を徐々に少なくしていくことにより、リールを加速させている。
次に、リールの回転速度が一定速度(80rpm)になると、CPU310は、リール制御状態を「加速制御中」から「定速制御中」に更新し、回転制御パターンデータBを回転制御パターンデータAに切り替え、回転制御パターンデータAを各割込時間ごとに順次更新していく。
次に、ストップボタンによる停止操作がされると、CPU310は、リール制御状態を「定速制御中」から「引込制御中」に更新し、回転制御パターンデータAを回転制御パターンデータBに切り替え、リールの回転が停止する引込位置(詳しくは、仮停止位置;最終停止位置より一定の回転量手前の位置)まで、回転制御パターンデータAを各割込時間ごとに順次更新していく。
次に、リールが仮停止位置に来ると、CPU310は、リール制御状態を「引込制御中」から「ジャンプ制御中」に更新して、一定の時間、同一の回転制御パターンデータBを保持し続ける。そして、一定の時間経過後には、一気に最終停止位置までリールを回転させるべく、この回転量に相当するパターン分を先送りした回転制御パターンデータBに更新し、リール制御状態を「ジャンプ制御中」から「ブレーキ制御中」に更新する。図14に示す例においては、回転制御パターンデータB1を2割込時間保持した後、回転制御パターンデータB1を一気に回転制御パターンデータB3に更新するように制御している(ジャンプ制御)。
ここで、上述したジャンプ制御について、図15及び図16を用いて、詳しく説明する。図15は、従来のスロットマシンにおける停止時のリールの振動の様子を示す図であり、図16は、本実施形態に係るスロットマシン100、即ち、ジャンプ制御が施されたスロットマシン100における停止時のリールの振動の様子を示す図である。
図15に示すように、ステッピングモータは、割込み周期ごとに一定の角度ずつ回転するものであり、より厳密には、ステッピングモータの間欠的な回転により、一定の回転であっても、微小な変動(振動)を伴いながら回転している。ここで、リールが急停止すると、リールの慣性により、リールフレームに撓りが生じ、この撓りを解消させるために振動が発生する。従来においては、この対策として、回転軸とリールフレームとの間に弾性部材を介在させて振動を吸収させていたが、完全に振動を打ち消すまでにはレベルには至っていなかった。図15は、このことを示している。
これに対して図16においては、図15に示されていた振動(停止位置から最大撓り時間Tで最大撓り量Xの振幅があった振動)は打ち消されている。これは、図16の矢印Jに示すようなジャンプ制御を施したためである。図16に示すように、ジャンプ制御においては、リールの停止位置より手前の位置、具体的には、最大撓り量Xに相当する回転量だけ手前の位置、に一旦、リールを仮停止させ、所定の時間、具体的には、最大撓り時間Tに相当する時間、待機させ、待機時間経過後、停止位置までの回転量を一気に送るようになっている。この結果、仮停止によるリールの撓りが、ジャンプ制御による回転により吸収されるので、振動は発生しない。
尚、上述した最大撓り量X及び最大撓り時間Tは、リールの材質などの物理的特性に応じて異なるので、実験等の検証結果から最適な値を求め、その値をパラメータとして用いるものである。
次に、図14に戻り、リール制御状態が「ブレーキ制御中」になると、CPU310は、所定の時間停止後、数割込時間(図14に示す例においては、3割込時間)は、同一の回転制御パターンデータBを維持する。その後、CPU310は、リール制御状態を「ブレーキ制御中」から「停止制御中」に更新し、回転制御パターンデータBを回転制御パターンAに切り替え、次の開始操作があるまで同一の回転制御パターンデータAを維持し続ける。
このように、本実施形態においては、リール制御状態を、停止制御中→加速制御中→定速制御中→引込制御中→ジャンプ制御中→ブレーキ制御中→停止制御中と変化させて、各リール制御状態に対応した回転制御パターンデータを選択することにより、スロットマシン100のリールの回転を制御している。
以上、本実施形態においては、リール制御状態が、加速制御中、引込制御中、ジャンプ制御中及びブレーキ制御中においては、大きなトルクを必要とするため、強電流がモータコイルに流れる回転制御パターンデータBを用いているのに対して、リール制御状態が、定速制御中及び停止制御中においては、大きなトルクを必要としないため、弱電流がモータコイルに流れる回転制御パターンデータAを用いるようにしている。このように、本実施形態においては、6つのリール制御状態に応じて最適な回転制御パターンデータを用いて、ステッピングモータ220を制御しているので、ステッピングモータ220の効率よい駆動を実現することができる。また、ステッピングモータ220の負荷を軽減してモータの発熱を抑えることができる。
また、ジャンプ制御中においては、リールを仮停止させて待機させ、待機時間後に停止位置まで一気にリールを回転させるように制御するので、リール停止時における撓り量を吸収でき、振動をさせることなくリールを停止することができる。
尚、図14においては、リール制御状態が引込制御中のときは、回転制御パターンデータBを用いたが、回転制御パターンデータAを用いて引込制御を行うようにしてもよい。また、リールの回転が停止したまま所定の時間が経過したときは、駆動電流を0、即ち、回転制御パターンデータAではなく、停止状態の回転制御パターンデータを用いるようにしてもよい。
<動作>
次に、上述したステッピングモータ220を備えるスロットマシン100の動作について説明する。
<遊技実行処理>
図17は、遊技実行処理を示すフローチャートである。遊技実行処理は、主制御部300のCPU310が中心になって行い、電源断等を検知しないかぎり、同図の遊技処理を繰り返し実行する。
ステップST1002では、メダル受付処理を行う。メダル受付処理は、メダル投入口133へのメダル投入の有無をメダル受付センサ320からの検知信号によりメダル投入の有無を判定する。メダルの投入を検知した場合、投入されたメダルの枚数に対応してリール表示窓113の左側にある入賞ライン表示ランプ120を点灯/点滅させる。また、メダルの投入は、スロットマシン100内にメダルが電子的に記憶され貯留されている場合、メダル投入ボタン131及び132のいずれかを押すことでも投入することができる。一回の遊技に投入できる枚数は最大3枚である。
このとき、主制御部300のタイマ割込処理においては、副制御部400にメダル投入コマンドを送信して、副制御部400にメダル投入を認識させる。副制御部400は、メダル投入コマンドに基づいてメダル投入音を発生させる演出等を行う。
ステップST1004では、遊技者によるスタートレバー135の操作有無をスタートレバーセンサ321の検知信号により判定する。尚、スタートレバー135の操作が検知されない場合、スタートレバー135が操作されるまで待機する。
尚、主制御部300のタイマ割込処理において、スタートレバー135の操作がスタートレバーセンサ321により検知されると、主制御部300は、スタートレバー受付コマンドを副制御部400に送信する。副制御部400は、スタートレバー受付コマンドに基づいて待機中である場合は、ウエイト音等を発生させる演出を行う。
スタートレバー135の操作があると、ステップST1006へ進み、CPU310が乱数発生回路317から乱数を取得し、取得した乱数に基づいて、乱数抽選を行う。ここでは、主として、各入賞役の内部抽選を行う。内部抽選の結果は、RAM313の所定の領域に保存され、当該遊技中に参照される。例えば、RAM313にハズレを含む各入賞役の内部抽選結果を記録する。
ステップST1008では、リール停止準備処理が行われる。ここで、リール停止準備処理とは、ステップST1006で内部抽選した結果に応じて設定されている停止位置データの中からリール停止制御に使われる停止位置データを選択することである。
ステップST1010では、演出用のランプ、演出表示装置180、リールのバックライト等を用いた演出を内部当選結果や遊技状態等に基づいて抽選で決定する。また、主制御部300のタイマ割込処理においては、決定された演出に基づいて、演出コマンドを副制御部400に送信する。副制御部400は、送信された演出コマンドに基づいて演出選択テーブルから演出内容を選択し、各制御部での演出を実行する準備を行う。
ステップST1012では、全リール110乃至112を一斉またはランダムに回転させる。また、主制御部300のタイマ割込処理においては、リール回転開始コマンドを副制御部400に送信して、副制御部400に全リールの回転開始を認識させる。副制御部400は、リール回転開始コマンドに基づいて各制御部での演出を開始する。その後、所定時間が経過して全リールが定速回転になると、ステップST1014へ進み、遊技者によるストップボタンの操作の受付を開始する。尚、ステップST1012のリール回転開始処理に関しては、詳しくは後述する。
ステップST1014では、遊技者が操作したストップボタンを受け付ける。これは、ストップボタンセンサ322により、どのストップボタンが操作されたことを検知するものである。また、主制御部300のタイマ割込処理においては、停止操作順序に従って第1停止操作コマンド、第2停止操作コマンド、第3停止操作コマンドを副制御部400に送信して、副制御部400にどのストップボタンが操作されたかを認識させる。
ステップST1016では、主制御部300は、ストップボタンの操作された絵柄位置と停止位置データとに基づいて停止操作のあったリールを停止制御する。但し、所定時間(例えば30秒)経過しても遊技者によるストップボタンの操作を検知しない場合は、全リール110乃至112を自動的に停止させる。また、主制御部300のタイマ割込処理においては、停止位置情報コマンドを副制御部400に送信し、副制御部400にリール停止位置を認識させる。
ステップST1018では、全リールが停止したことを判定する。全リールが停止したときは、ステップST1020に進み、リール表示窓113上の有効化された入賞ライン114上に、ステップST1006の乱数抽選において内部当選した入賞役に対応した入賞絵柄の組み合せが揃って停止しているか否か判定する。また、主制御部300のタイマ割込処理においては、入賞判定後に判定結果に対応した入賞判定結果コマンドを副制御部400に送信し、副制御部400に入賞状況を認識させる。入賞判定結果コマンドには、入賞した入賞絵柄組み合せに応じて、例えばBB、役物、小役、再遊技、はずれ等のコマンドが存在する。
入賞判定後、ステップST1022へ進み、入賞した入賞役に対応して予め定めた配当数をRAM313のワークエリアにセットし、このワークエリアのデータに基づいた所定数のメダルをメダル排出口165より受皿160に払い出す処理を行う。入賞判定結果が、入賞なしであった場合は、RAM313のワークエリアには払出枚数0が設定される。このためメダルの払い出しは行われないことになる。
ステップST1024では、主制御部300の入賞演出として払出枚数表示器126に払出枚数を表示や貯留枚数表示器128の加算表示等の入賞演出が行われる。
ステップST1026では、遊技状態更新処理が行われる。これは、ステップST1006の内部抽選結果と、ステップST1020の入賞判定結果とに基づいて遊技状態を変更する処理である。例えば、BBやRBのようなボーナス入賞の場合に次回から対応する特別遊技や役物遊技を開始できるように準備し、それらの最終遊技では、次回から通常遊技が開始できるように準備する。また、主制御部300のタイマ割込処理においては、遊技状態コマンドを副制御部400に送信し、副制御部400に遊技状態を認識させる。以上により1ゲームが終了し、以降これを繰り返すことにより遊技が進行することとなる。
<リール回転開始処理>
図18は、図17のステップST1012に示したリール回転開始処理を詳しく説明するフローチャートである。
ステップST1102では、遊技時間監視タイマ値を取得し、ステップST1104では、取得した遊技時間監視タイマ値が4.1秒以上を経過しているか否かを判定する。遊技時間監視タイマ値が4.1秒以上を経過しているときは、次遊技を開始してもよいので、ステップST1106に進む。一方、遊技時間監視タイマ値が4.1秒を経過していないときは、ステップST1104を繰り返す。
ステップST1106では、遊技時間監視タイマ値を再設定し、次いで、ステップST1108では、副制御部400に送信するリール回転開始コマンドを設定する。
ステップST1110乃至ステップST1114では、左リール110、中リール111及び右リール112のリールの状態を「回転状態」に設定する。
ステップST1116では、リール自動停止タイマを設定し、次いで、ステップST1118では、リール制御状態を「加速制御中」に設定する。また、加速開始要求フラグをONに設定する。
<タイマ割込処理>
図19は、スロットマシン100のタイマ割込処理のフローチャートである。スロットマシン100は、一定の割り込み周期で実行されるタイマ割込処理により各種センサ、スイッチの入力状態を監視し、スイッチの入力に応じて、設定表示変更処理、メダル投入受付処理、メダル払出処理、リール回転制御処理、表示ランプ・表示器類の表示制御処理、副制御部400へのコマンド出力処理等を実行するようになっている。
ST2002では、各種センサ・スイッチの信号状態が入力される入力ポートのデータを取得する。これは、入力インターフェース360及び361に接続された各センサ・スイッチの状態を取得するものである。
ステップST2004では、まず、設定変更処理中か否かを判定する。設定変更処理中であるときは、ステップST2006に進んで、設定表示変更処理を行い、その後、ステップST2020に進む。一方、設定値変更処理中でないときは、ステップST2008に進む。ここで、設定値変更処理中か否かは、具体的には、設定キースイッチセンサ(図示せず)の状態に基づくもので、設定キースイッチがONの状態で電源が立ち上げられたときは、設定値変更処理中と判断するものである。
ステップST2008では、メダル投入処理中であるか否かを判定する。ここで、メダル投入処理中か否かは、メダル受付センサ320、メダル投入ボタンセンサ323の状態に基づくもので、メダルの投入が行われていない場合は、メダル受付センサ320、メダル投入ボタンセンサ323が入力待ち状態となっている。メダル投入処理中であるときは、ステップST2010に進み、メダル投入受付処理を行い、その後、ステップST2020に進む。一方、メダル投入処理中でないときは、ステップST2012に進む。
ステップST2012では、メダル払出処理中であるか否かを判定する。ここで、メダル払出処理中か否かは、RAM313の所定のアドレスに書き込まれたメダル払出枚数カウンタの値に基づいて判定するもので、具体的には、払出枚数カウンタの値が0でないときは、メダル払出処理中、払出枚数カウンタの値が0のときは、メダル払出処理中でないと判定する。メダル払出枚数カウンタが0でないときは、ステップST2014に進み、メダル払出処理を実行する。メダル払出処理は、ホッパー駆動信号の出力を開始し、ホッパーから払い出されたメダルを検出する毎にメダル払出枚数カウンタの値を減算し、メダル払出枚数カウンタの値が0になったときにホッパー駆動信号の出力を停止するように制御する。
ステップST2016では、リール回転中であるか否かを判定する。これは、上述した各リールの状態が「回転状態」に設定されているときは、リール回転中と判定するもので、回転中であるときは、ST2018に進み、リール制御処理を行い、その後、ステップST2020に進む。一方、リール回転中でないときは、ステップST2020に進む。ここで、リール回転制御処理は、各リール110乃至112の回転を制御する処理であり、詳しくは、後述する。
ST2020では、表示ランプ・表示器類の表示状態を、上述した各々のステップの結果に応じた表示状態に更新する。
ST2022では、上述した各々のステップで設定された出力ポートのデータを出力インタフェース370を介して接続されたモータ駆動部330、ホッパー駆動部331、遊技ランプ340、7セグ表示器341に出力する。例えば、ステップST2014においてメダル払出処理が行われた場合には、ホッパー駆動部331にホッパー駆動信号を出力することにより、ホッパーが駆動する。
ST2024では、上述した各々の処理で設定されたコマンドを割り込み周期の都度、副制御部400へ送信する。
<リール回転制御処理>
図20は、図19のステップST2018に示したリール回転制御処理をより詳しく説明するフローチャートである。
ステップST2102では、ストップボタンの操作が有効か否かを判定する。これは、後述するステップST2108の「リール制御判定処理」の中の「定速処理」において設定されるストップボタン有効情報がONになっていれば、ストップボタンの操作が有効であると判定するものである。ストップボタンが有効であるときは、ステップST2104に進み、ストップボタン受付処理を行う。ストップボタン受付処理について、詳しくは後述する。一方、ストップボタンが有効でないときは、ステップST2106乃至ST2114の処理を、左リール110、中リール111及び右リール112それぞれに対して行う。
ステップST2106では、リール制御情報を取得する。ここで、リール制御情報は、リールを制御するための情報全体を意味しており、上述したリールの状態に関する情報、リール制御状態に関する情報も含まれる。
ステップST2108では、リール制御状態に関する情報をもとにリールの制御を判定するリール制御判定処理を行う。ここで、リール制御判定処理は、より詳しくは、図21に示すフローチャートで示されるので、図21を参照して説明する。
リール制御判定処理は、リールの回転制御を遊技の進行に応じて順次切り替え制御する処理である。具体的には、遊技者の遊技開始操作に伴い、リールの回転を開始してリールを加速させる加速処理及び一定回転速度までリールを加速させた後、その速度を維持する定速処理が行われる。その後の遊技者の停止操作に伴い、停止操作が行われた時のリールの絵柄位置から遊技結果としてリール表示窓に表示させる絵柄停止位置手前の仮停止位置までリールの回転を維持する引込制御処理、仮停止位置においてリールの回転を一旦停止させた後、一定時間経過後に絵柄停止位置にリールを停止させるジャンプ制御処理、及び絵柄停止位置で停止常態を一定時間維持するブレーキ制御処理が順次行われている。
ステップST2202では、リール制御状態に関する情報を取得する。
ステップST2204では、取得したリール制御状態が「停止制御中」であるときは、そのリールは停止しているので、リール制御判定処理を終了する。一方、取得したリール制御状態が「停止制御中」でないときは、ST2206に進む。
ステップST2206では、取得したリール制御状態が「加速制御中」であるか否かを判定する。リール制御状態が「加速制御中」であるときは、ステップST2208に進み、加速処理(リールの回転を加速するための処理;詳しくは後述する)を行う。一方、リール制御状態が「加速制御中」でないときは、ステップST2210に進む。
ステップST2210では、取得したリール制御状態が「定速制御中」であるか否かを判定する。リール制御状態が「定速制御中」であるときは、ステップST2212に進み、定速処理(リールの回転を定速に維持するための処理;詳しくは後述する)を行う。一方、リール制御状態が「定速制御中」でないときは、ステップST2214に進む。
ステップST2214では、取得したリール制御状態が「ブレーキ制御中」であるか否かを判定する。リール制御状態が「ブレーキ制御中」であるときは、ステップST2216に進み、ブレーキ制御処理(リールの回転を停止させるための処理;詳しくは後述する)を行う。一方、リール制御状態が「ブレーキ制御中」でないときは、ステップST2217に進む。
ステップST2217では、取得したリール制御状態が「ジャンプ制御中」であるか否かを判定する。リール制御状態が「ジャンプ制御中」であるときは、ステップST2220に進み、ジャンプ制御処理(リールの回転停止に伴う振動を吸収するための処理;詳しくは後述する)を行う。一方、リール制御状態が「ジャンプ制御中」でないときは、ステップST2218に進む。
ステップST2218では、リール制御状態が「引込制御中」であるので、引込制御処理(リールを停止位置に引込制御する処理;詳しくは後述する)を行う。
図20に戻って、ステップST2110では、リール制御状態に合った回転制御パターンデータを取得する。具体的には、図14に示したように、リール制御状態が「加速制御中」「引込制御中」「ブレーキ制御中」「ジャンプ制御中」であるときは、回転制御パターンデータBを選択するものであり、また、リール制御状態が「定速制御中」「停止制御中」であるときは、回転制御パターンデータAを選択するものである。そして、選択された回転制御パターンデータA又はBの8つの回転制御パターンデータの中から、いずれか1つの回転制御パターンデータを、前回に設定された回転制御パターンデータを基準に取得する。これは、例えば、前回に設定された回転制御パターンデータB1であり、かつ、今回、回転制御パターンデータBが選択されたならば、次のパターンである回転制御パターンデータB2を設定するものであり、また、今回、回転制御パターンデータAが選択されたならば、回転制御パターンデータA2を設定するものである。
但し、リール制御状態が「加速制御中」において、後述するリール駆動信号切替フラグがONのときは、次の回転制御パターンデータを設定するが(例えば、回転制御パターンデータB1に代わって、回転制御パターンデータB2が設定される)、リール駆動信号切替フラグがOFFのときは、回転制御パターンデータを維持する(例えば、回転制御パターンデータB1に代わって、回転制御パターンデータB2が設定されるのではなく、回転制御パターンデータB1のままである)。
また、リール制御状態が「ジャンプ制御中」において、後述する駆動要求ビットがOFFであるときは、回転制御パターンデータを更新せず、現在の回転制御パターンデータデータを維持する。さらに、リール制御状態が「ブレーキ制御中」において、駆動要求ビットがONであるときは、読み飛ばしパターン数をスキップした回転制御パターンが設定される。例えば、図14に示す例においては、読み飛ばしパターン数に2が設定されているので、回転制御パターンデータB1が一気に回転制御パターンデータB3に更新される。 尚、リール制御状態が「ブレーキ制御中」においては、一度設定された回転制御パターンデータは更新されず、維持されたままである(例えば、回転制御パターンデータB3が設定されたなら、「ブレーキ制御中」は、回転制御パターンデータB3のままである)。
ステップST2112では、ステップST2110で取得された回転制御パターンデータを設定する。
ステップST2114では、上述した処理に応じてリール制御情報の内容が変更されているので、リール制御情報を更新する。
<加速処理>
図22は、図21のステップST2208に示す加速処理をより詳しく説明するフローチャートである。
ステップST2302では、加速開始要求があるか否かを判定する。これは、加速開始要求フラグがONのときは、加速開始要求があると判断し、ステップST2304に進み、加速カウンタオフセットに初期値を設定し、加速開始要求フラグをOFFに設定する(即ち、1回目の加速処理においてだけ、ステップST2304が実行される)尚、この加速開始要求フラグは、図18のステップST1118でONに設定されている。次いで、ステップST2306に進み、設定した加速カウンタオフセット値に対応する初期値を取得し、加速カウンタに設定する。
ここで、加速カウンタオフセットに設定される初期値とは、リール制御状態が加速制御中において、設定される回転制御パターンデータのパターン数を意味している。これは、リール回転開始から一定回転速度に達するまでのパターン数でもあり、予め設定されているものである。図14に示す例においては、初期値として「7」が予め設定されている。ここで、実際に制御に使用される回転制御パターンデータは、前回の遊技でブレーキ制御により維持された回転制御パターンデータが、次回遊技開始時の加速制御に使用される最初の回転制御パターンデータとして設定される。例えば、図14に示す例においては、前回の遊技においてリールが停止した際に設定されていた回転制御パターンデータは、A6であった。このため今回遊技において加速制御に使用される回転制御パターンデータは、前回停止位置のA6の強励磁パターンであるB6から開始されることになる。そこから7つ分の回転制御パターンデータB6、B7、B8、B1、B2、B3、B4が使われる。前回の停止位置である回転制御パターンデータから次回遊技が開始されることにより遊技開始時のリールの回転開始もスムーズに行うことができる。
また、加速カウンタに設定される初期値とは、設定された回転制御パターンデータBを維持する割込時間(駆動パルス数)を意味している。これは、リールをいきなり定速で回転させることによるステッピングモータの脱調を防止するため、回転制御パターンの更新速度を段階的に速めるための時間を制御するカウンタである。加速カウンタは、加速カウンタオフセットに対応して予め設定されている。図14に示す例では、加速カウンタオフセットの値「7」「6」「5」「4」「3」「2」「1」に対して、加速カウンタの値をそれぞれ「4」「3」「3」「2」「1」「1」「1」と設定している。例えば、加速カウンタオフセットが7であるとき、即ち、設定された回転制御パターンデータが回転制御パターンデータB6であるときは、4割込時間、回転制御パターンデータB6が維持される。その後、加速カウンタの値は、3→3→2→1→1→1と段階的に減じられ、最終的には1割込時間、即ち定速制御時の回転制御パターンの更新サイクルとなる。
ステップST2302において、加速開始要求がないときは、ステップST2308に進み、加速カウンタを1減算して更新し、次いで、ステップST2310に進み、リール駆動信号切替要求フラグをOFFに設定する。ここで、リール駆動信号切替要求フラグは、上述した図20のステップST2110に示した回転制御パターンデータ取得で、次の回転制御パターンデータに切り替えるか、前回、設定された回転制御パターンデータを維持するかを決定するフラグであり、リール駆動信号切替要求フラグをOFFのときは、前回、設定された回転制御パターンデータを維持するものである。
ステップST2312では、加速カウンタ値が0であるか否かを判定する。加速カウンタ値が0であるときは、回転制御パターンデータの切替を行う必要があるため、リール駆動信号切替要求フラグをONに設定し、次いで、ステップST2316では、加速カウンタオフセット値を1減算して、更新する。一方、加速カウンタ値が0でないときは、加速処理を終了する。
ステップST2318では、加速カウンタオフセット値が0であるか否かを判定する。加速カウンタオフセット値が0であるときは、「加速制御中」が終了したので、ステップST2320に進み、リール制御状態を「加速制御中」から「定速制御中」に変更し、設定する。一方、加速カウンタオフセット値が0でないときは、ステップST2306に進み、更新された加速カウンタオフセット値に対応する初期値を加速カウンタに設定する。
<定速処理>
図23は、図21のステップST2212に示す定速処理をより詳しく説明するフローチャートである。定速処理は、主にリールの絵柄位置を追跡する処理を行っている。リールの絵柄位置を主制御部300が把握するために「リール絵柄カウンタ」及び「リール絵柄間隔カウンタ」という2つのカウンタを用いて絵柄位置を監視している。ここで、定速処理を説明する前に、まず、「リール絵柄カウンタ」及び「リール絵柄間隔カウンタ」について説明する。
図24は、リール絵柄カウンタとリール絵柄間隔カウンタの関係を示す図である。リール絵柄カウンタは、基準位置であるリール表示窓113の中段に位置する絵柄を記憶保持するためのカウンタであり、例えば、左リール110に関しては、左リール110の絵柄列の下端のスイカ絵柄が基準位置であるインデックスセンサ325aが遮光片250を通過した時を起点としてカウントを開始する。各絵柄とカウント値とは予め対応付けられており、主制御部300は、リール停止時のリール絵柄カウンタ値からリール表示窓113に停止表示されている絵柄を特定し、入賞判定を行うことができる。リール絵柄間隔カウンタは、1絵柄あたりの駆動パルス数(タイマ割込処理回数)であり、リール絵柄カウンタ0のスイカに対しては、リール絵柄間隔カウンタ値20、その他の絵柄に対しては、リール絵柄間隔カウンタ値19となっている(合計で400駆動パルス数)。主制御部300は、予め絵柄位置に応じた駆動パルス数をリール絵柄間隔カウンタに設定し、駆動パルスの出力ごとに減算し、リール絵柄間隔カウンタの値が0になったときにリール絵柄カウンタを1更新するようにしている。
ステップST2402では、リール絵柄間隔カウンタ値を1減算し、更新する、
ステップST2404では、リール絵柄間隔カウンタ値が0であるか否かを判定する。リール絵柄間隔カウンタ値が0であるときは、次の絵柄に代わるので、ステップST2406に進み、リール絵柄カウンタ値を1減算して、更新し、次いで、ステップST2408に進み、リール絵柄間隔カウンタに20に準備する。一方、リール絵柄間隔カウンタ値が0でないときは、ステップST2416に進む。
ステップST2410では、リール絵柄カウンタ値が0であるか否かを判定する。リール絵柄カウンタ値が0でないときは、割り当てられる駆動パルス数は19であるので、ステップST2412に進み、リール絵柄カウンタに19を準備し、リール絵柄カウンタ値が0であるときは、割り当てられる駆動パルス数は、20であるので、ステップST2414に進む。
ステップST2414では、準備した値をリール絵間隔カウンタに設定する。即ち、リール絵柄カウンタ値が0であるときは20、リール絵柄カウンタ値が0でないときは19が設定される。
ステップST2416では、インデックスセンサ325の検出結果を取得する。ここで、インデックスセンサ325の検出結果は、リール絵柄カウンタ値が0でリール絵柄間隔カウンタ値が0の位置に設けられた遮光片250の通過を検出したときに、検出ありとされる。
ステップST2418では、インデックスセンサ325の検出があったか否かを判定する。インデックスセンサ325の検出があったときは、リールの絵柄位置がサーチできているので、ステップST2420に進み、ストップボタン有効情報をONに設定し、次いで、ステップST2422に進み、リール絵柄カウンタに20、リール絵柄間隔カウンタに19を設定する。一方、インデックスセンサ325の検出がなかったときは、定速処理を終了する
<引込制御処理>
図25は、図21のステップST2218に示す引込制御処理をより詳しく説明するフローチャートである。ここで、引込制御処理とは、内部抽選の結果に応じた停止制御を実現するため、リールを停止させる際に、ストップボタンの操作された絵柄位置から、リールを所定のコマ数(本実施形態においては、0〜4コマ)滑らせて停止させる処理をいう。これにより、内部抽選で内部当選した入賞役か、又は、いわゆるフラグ持ち越し中の入賞役については、対応する絵柄組合せが揃って表示されることが許容される一方、そうでない場合には各入賞役に対応する絵柄組合せが揃って表示されないようになっている。
ステップST2502では、引込カウンタの値を1減算する。ここで、引込カウンタには、後述するリール停止処理において、仮停止位置までの引込制御に要するタイマ割込処理回数が初期値として設定されている。例えば、図14に示す例においては、引込カウンタに設定される初期値は、8(割込時間)である。尚、本実施形態においては、最終停止位置までではなく、仮停止位置までの駆動パルス数となっている。
ステップST2504では、引込カウンタの値が0であるか否かを判定する。引込カウンタの値が0であるときは、リールが仮停止位置に達し、引込制御が完了したので、ステップST2510に進み、リール制御状態を「引込制御中」から「ジャンプ制御中」に変更して、設定し、次いで、ステップST2512に進み、ジャンプウェイトカウンタに初期値を設定する。ここで、ジャンプウェイトカウンタには、ジャンプ制御における待機時間が初期値として設定される。例えば、図14に示す例においては、ジャンプウェイトカウンタに設定される初期値は、2(割込時間)である。一方、ステップST2504で、引込みカウンタの値が0でないときは、引込制御処理を終了する。
<ジャンプ制御処理>
図26は、図21のステップST2220に示すジャンプ制御処理をより詳しく説明するフローチャートである。
ステップST2902では、駆動要求ビットをOFFに設定し、次いで、ステップST2904では、ジャンプウェイトカウンタの値を1減算する。
ステップST2906では、ジャンプウェイトカウンタの値が0であるか否かを判定する。ジャンプウェイトカウンタの値が0であるときは、仮停止位置における待機時間が終了したので、ステップST2908に進み、駆動要求ビットをONに設定する。次いで、ステップST2910に進み、読み飛ばしパターン数を設定し、ステップST2912では、ブレーキングカウンタに初期値を設定し、ステップST2914では、リール制御状態を「ジャンプ制御中」から「ブレーキ制御中」に変更して、設定する。ここで、読み飛ばしパターン数には、仮停止位置から最終停止位置までの回転に相当する回転制御パターンデータのパターン数が設定されるものであり、例えば、図14に示す例においては、2が設定される(回転制御パターンデータB1をB3に更新する)。また、ブレーキングカウンタには、ブレーキ制御に要する割込時間が初期値として設定される。例えば、図14に示す例においては、ブレーキングカウンタに設定される値は、3(割込時間)である。一方、ステップST2906で、ジャンプウェイトカウンタの値が0でないときは、ジャンプ制御処理を終了する。
<ブレーキ制御処理>
図27は、図21のステップST2216に示すブレーキ制御処理をより詳しく説明するフローチャートである。
ステップST2602では、ブレーキングカウンタの値を1減算する。
ステップST2604では、ブレーキングカウンタの値が0であるか否かを判定する。ブレーキングカウンタの値が0であるときは、ブレーキングが完了したので、ステップST2606に進み、リール制御状態を「ブレーキ制御中」から「停止制御中」に変更して、設定する。一方、ブレーキングカウンタの値が0でないときは、ブレーキ制御処理を終了する。
<ストップボタン受付処理>
図28は、図20のステップST2104に示すストップボタン受付処理をより詳しく説明するフローチャートである。尚、ストップボタン受付処理は、ストップボタンが受付可能になった状態、即ち、図23に示す定速処理において、ストップボタン有効情報がONに設定された後の図20のリール回転制御処理で実行されるものである。ストップボタン受付処理は、ストップボタンの操作が適正に行われたか否かを判定するとともに適正に行われたことを条件にリールを停止させる位置を決定する処理である。
ステップST2702では、全リール110乃至112のストップボタンの操作が有効であるか否かを判定する。これは、上述したストップボタン有効情報により判断するものである。全リール110乃至112のストップボタンの操作が有効であるときは、ステップST2704に進み、停止受付情報を取得する。ここで、停止受付情報は、リール停止制御情報の一部であり、停止受付の判定に必要な情報すべてを意味している。尚、リール110乃至112のストップボタンのいずれかの操作が有効でないときは、ステップST2722に進む。
ステップST2706では、リールの自動停止が開始されたか否かを判定する。これは、図17のステップST1116で設定されたリール自動停止タイマにより判断されるもので、具体的には、リール回転開始から30秒経過したか否かを判定するものである。リールの自動停止が開始されないときは、ステップST2708に進み、取得した停止受付情報から、停止可能なリールを判断し、停止可能リール情報(例えば、左リール110が停止可能なリールであると判断されたときは、左リール)として設定する。一方、リールの自動停止が開始されたときは、すべてのリールを停止させるので、停止可能リール情報を設定する必要がなく、ステップST2714に進む。
ステップST2710では、ストップボタンの他、スタートレバー135等の他のボタンが操作受付中であるか否かを判定する。これらのボタンが操作受付中であるときは、停止操作を受け付けることができないので、設定した停止可能リール情報をクリアする。一方、これらのボタンが操作受付中でないときは、ステップST2714に進む。
ステップST2714では、設定された停止可能リール情報に対応するリールのストップボタンの受付があったか否かを判定する。ストップボタンの受付があったときは、ステップST2716に進み、停止対象のリールに関するデータ(停止対象リールデータ)を取得し、次いで、ステップST2718に進み、リール停止処理(詳しくは、後述する)を行う。ここで、停止対象リールデータは、具体的には、リールの停止位置に関するデータである。尚、ステップST2706で自動停止が開始されたときは、停止可能な全リールに対してストップボタンの受付があったものとして処理される。一方、ストップボタンの受付がなかったときは、ステップST2724に進む。
次いで、ステップST2720では、上述した一連のストップボタン受付処理において、リール制御情報のうち、リール停止に関する情報が変更されているので、リール制御情報を更新する。
ステップST2722では、停止可能リール情報をクリアする。これは、リール停止処理により、停止可能なリールが変更されるからである(例えば、停止可能な左リールに対して、リール停止処理を行われると、左リールは停止可能なリールではなくなる)。
ステップST2724では、ストップボタンLED情報を更新する。これは、各リールが停止可能か否かに応じて、ストップボタンのLED情報を更新するものであり、一例としては、停止可能なリールには、青色を設定し、ストップボタンが押下されると、赤色を設定するものである。
<リール停止処理>
図29は、図28のステップST2718のリール停止処理をより詳しく説明するフローチャートである。
ステップST2802では、リール図柄カウンタの値を取得して、停止操作された位置を検出する。
ステップST2804では、内部抽選の結果に基づいて、該当する停止位置データを取得する。
ステップST2806では、取得した停止位置データに基づいて、取得したリール図柄カウンタの値から4コマ分先までの停止データを取得する(具体的には、0コマ先、1コマ先、2コマ先、3コマ先及び4コマ先の停止データ)。
ステップST2808では、停止位置を抽選処理により決定する。これは、取得した4コマ分先までの停止データのうち、停止可能ないずれかの位置が複数存在する場合に抽選により設定されるものである。
ステップST2810では、設定された停止データから、引込コマ数を取得し、次いで、ステップST2812では、取得した引込コマ数を初期値として引込カウンタに設定する。尚、引込カウンタに設定される値は、引込コマ数をタイマ割込処理回数に換算した値である。より詳しくは、本実施形態においては、上述したようにジャンプ制御を行うことから、仮停止位置までの引込制御に要するタイマ割込処理回数となっており、引込カウンタに設定される値は、最終停止位置までのタイマ割込処理回数からジャンプ制御が行われるタイマ割込処理回数分を差し引いた値となっている。
ステップST2814では、リール制御状態を「定速制御中」から「引込制御中」に変更して、設定する。
従って、本実施形態のスロットマシン100によれば、ジャンプ制御を行うことにより、リールを最終停止位置より手前の仮停止位置に仮停止させて待機させ、待機時間後に最終停止位置まで一気にリールを回転させるように制御するので、リール停止時における撓り量をジャンプ制御による回転で吸収でき、振動させることなくリールを停止することができる。
尚、図30は、ジャンプ制御を施したスロットマシンと、ジャンプ制御を施していないスロットマシンの停止時の外周速度に関する実験結果を示すグラフである。図30に示すように、ジャンプ制御を施したスロットマシンは、ジャンプ制御を施していないスロットマシンと比べて、停止持のリールの振動が抑制されている。
<その他実施形態>
以上、本発明の実施の形態について説明してきたが、本発明の要旨を逸脱しない範囲において、本発明の実施の形態に対して種々の変形や変更を施すことができる。例えば、上記実施形態においては、バイポーラ型ステッピングモータを採用しているが、これは、停止時の衝撃が特に大きいバイポーラ型ステッピングモータにおいては、特に本発明の効果が大きいため、上記実施形態に採用したものであり、本発明は、バイポーラ型ステッピングモータに限定されるものではなく、その他のステッピングモータ、例えば、ユニポーラ型ステッピングモータにも採用できるものである。
また、上記実施形態においては、1回のジャンプ制御を施したスロットマシンについて説明したが、ジャンプ制御は1回に限定されるものではなく、複数回に分けてジャンプ制御を行ってもよい。これは、ジャンプ制御において1回に移動できる回転量には限度があるので、複数回に分けることにより、より多くの回転量を得られるものである。
さらには、上記実施形態においては、本発明をスロットマシンに適用したが、本発明は、スロットマシンだけに限定されるものではなく、リールを回転させることで絵柄を変動表示させる回胴式の可変表示装置を用いる遊技台であれば、特に限定されないものである。(例えば、パチンコなどであってもよい)。