JP2015205054A - 遊技機 - Google Patents
遊技機 Download PDFInfo
- Publication number
- JP2015205054A JP2015205054A JP2014087584A JP2014087584A JP2015205054A JP 2015205054 A JP2015205054 A JP 2015205054A JP 2014087584 A JP2014087584 A JP 2014087584A JP 2014087584 A JP2014087584 A JP 2014087584A JP 2015205054 A JP2015205054 A JP 2015205054A
- Authority
- JP
- Japan
- Prior art keywords
- stop
- rotation
- reel
- excitation
- symbol
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Slot Machines And Peripheral Devices (AREA)
Abstract
【課題】回胴を正確な位置で停止させる。
【解決手段】回転方向に沿って複数の図柄が形成された回胴と、少なくとも4相の励磁相を有するステッピングモータにより回胴を所定のステップ角を最小回転単位として回転駆動する回転駆動手段と、回転駆動手段におけるステッピングモータを全相励磁状態とすることで、回胴を停止目標の図柄における所定の停止ステップ位置で停止させる停止制御手段とを備え、停止制御手段は、回胴の回転速度に応じて、回胴の停止制御を開始するステップ位置を異ならせる。これにより、停止制御の開始位置が、回転速度による惰性回転量の差を考慮した適切な位置となるように図られる。
【選択図】図25
【解決手段】回転方向に沿って複数の図柄が形成された回胴と、少なくとも4相の励磁相を有するステッピングモータにより回胴を所定のステップ角を最小回転単位として回転駆動する回転駆動手段と、回転駆動手段におけるステッピングモータを全相励磁状態とすることで、回胴を停止目標の図柄における所定の停止ステップ位置で停止させる停止制御手段とを備え、停止制御手段は、回胴の回転速度に応じて、回胴の停止制御を開始するステップ位置を異ならせる。これにより、停止制御の開始位置が、回転速度による惰性回転量の差を考慮した適切な位置となるように図られる。
【選択図】図25
Description
本発明は、回転方向に沿って複数の図柄が形成された回胴を備えた遊技機に係り、特には前記回胴の停止制御に関する。
スロットマシンなどの回胴遊技機では、遊技者がメダル投入口にメダルを投入してスタートレバーを操作すると、これに応じて回胴の回転が開始される。そして、遊技者が停止ボタンを押下すると、そのタイミングに応じた所定の図柄で回胴が停止される。
また、回胴は、いわゆる演出回転として所定の態様で回転される場合もある。例えば、上記のスタートレバー操作に応じた回転時とは逆回転で回胴を回転させたり、複数の回胴を所定の図柄に揃えて停止させる演出もある。
また、回胴は、いわゆる演出回転として所定の態様で回転される場合もある。例えば、上記のスタートレバー操作に応じた回転時とは逆回転で回胴を回転させたり、複数の回胴を所定の図柄に揃えて停止させる演出もある。
ここで、回胴の停止処理は、所定の停止図柄で停止させるのみでは足らず、停止図柄内の所定位置で正確に停止させることが要求される場合がある。
そこで、本発明では、回胴を正確な位置で停止させることを目的とする。
本発明に係る遊技機は、回転方向に沿って複数の図柄が形成された回胴と、少なくとも4相の励磁相を有するステッピングモータにより前記回胴を所定のステップ角を最小回転単位として回転駆動する回転駆動手段と、前記回転駆動手段における前記ステッピングモータを全相励磁状態とすることで、前記回胴を停止目標の前記図柄における所定の停止ステップ位置で停止させる停止制御手段とを備え、前記停止制御手段は、前記回胴の回転速度に応じて、前記回胴の停止制御を開始するステップ位置を異ならせるものである。
上記のように回胴の停止が全相励磁により行われることで、ブレーキ力は2相励磁による停止時よりも弱く滑らかとなり、回胴は停止制御後も惰性により僅かに回転され、停止制御開始位置よりも進んだ位置で停止する。このため、停止目標の図柄の停止ステップ位置で停止制御を開始したのでは、回胴を停止ステップ位置で正しく停止させることができない。このとき、惰性による回転量は回胴の回転速度により異なるため、本発明では、上記のように回胴の回転速度に応じて停止制御を開始するステップ位置を異ならせている。これにより、停止制御の開始位置が、回転速度による惰性回転量の差を考慮した適切な位置となるように図られる。
本発明によれば、回胴を正確な位置で停止させることができる。
以下、本発明に係る遊技機の実施の形態について、次の順序で説明する。なお、実施の形態ではスロットマシンを例に挙げる。
<1.回胴遊技機の機構構成>
<2.回胴遊技機の制御構成>
<3.回胴モータ及び回転リール>
<4.メイン処理>
<5.タイマ割込み処理>
<6.回胴の回転及び停止に係る処理>
[6-1.回胴制御フラグ]
[6-2.回胴の回転開始〜定常回転中に係る処理]
[6-3.実施の形態の起動処理の意義について]
[6-4.回胴の停止に係る処理]
[6-5.停止操作時の図柄と停止図柄との関係]
<7.RAM初期化処理について>
<8.演出回転について>
[8-1.前提説明]
[8-2.制御手法]
[8-3.具体的処理]
[8-4.実施の形態の演出回転についてのまとめ]
<9.まとめ及び変形例>
<1.回胴遊技機の機構構成>
<2.回胴遊技機の制御構成>
<3.回胴モータ及び回転リール>
<4.メイン処理>
<5.タイマ割込み処理>
<6.回胴の回転及び停止に係る処理>
[6-1.回胴制御フラグ]
[6-2.回胴の回転開始〜定常回転中に係る処理]
[6-3.実施の形態の起動処理の意義について]
[6-4.回胴の停止に係る処理]
[6-5.停止操作時の図柄と停止図柄との関係]
<7.RAM初期化処理について>
<8.演出回転について>
[8-1.前提説明]
[8-2.制御手法]
[8-3.具体的処理]
[8-4.実施の形態の演出回転についてのまとめ]
<9.まとめ及び変形例>
<1.回胴遊技機の機構構成>
先ず、図1〜図4により実施の形態のスロットマシンの外観構成を説明する。
図1はスロットマシンの正面図、図2Aは平面図、図2Bは右側面図、図3は前面パネル2の背面図、図4は本体ケース1の正面図である。
先ず、図1〜図4により実施の形態のスロットマシンの外観構成を説明する。
図1はスロットマシンの正面図、図2Aは平面図、図2Bは右側面図、図3は前面パネル2の背面図、図4は本体ケース1の正面図である。
本実施の形態のスロットマシンは、図2からわかるように、矩形箱状の本体ケース1と、各種の遊技部材を装着した前面パネル2とが、図示しないヒンジ機構を介して連結され、前面パネル2が本体ケース1に対して開閉可能に構成されている。
図4に示すように、本体ケース1の略中央には、3つの回転リール(回胴)4a,4b,4cを備える図柄回転ユニット3が配置されている。また、その下側に、メダル払出装置5が配置されている。
各回転リール4a,4b,4cには、後述する各種図柄、例えばBB(ビッグボーナス)やRB(レギュラーボーナス)用の図柄や、各種のフルーツ図柄、リプレイ図柄などが描かれている。
メダル払出装置5は、メダルを貯留するメダルタンク5aを有する。また払出ケース5b内に、図5で後述する払出モータ75、払出接続基板73、ホッパー基板74、メダル払出センサ76等が収納されている。
メダルタンク5aに貯留されたメダルは、払出モータ75の回転に基づいて、払出口5cから図面手前方向に向けて導出される。なお、限界量を越えて貯留されたメダルは、超過メダル導出部5dを通して、補助タンク6に落下するよう構成されている。
各回転リール4a,4b,4cには、後述する各種図柄、例えばBB(ビッグボーナス)やRB(レギュラーボーナス)用の図柄や、各種のフルーツ図柄、リプレイ図柄などが描かれている。
メダル払出装置5は、メダルを貯留するメダルタンク5aを有する。また払出ケース5b内に、図5で後述する払出モータ75、払出接続基板73、ホッパー基板74、メダル払出センサ76等が収納されている。
メダルタンク5aに貯留されたメダルは、払出モータ75の回転に基づいて、払出口5cから図面手前方向に向けて導出される。なお、限界量を越えて貯留されたメダルは、超過メダル導出部5dを通して、補助タンク6に落下するよう構成されている。
メダル払出装置5に隣接して電源基板41が配置される。また、図柄回転ユニット3の上方に主制御基板40が配置され、主制御基板40に隣接して回胴設定基板71が配置されている。
また図柄回転ユニット3の内部には、図5に示す回胴LED(Light Emitting Diode)中継基板56と回胴中継基板53とが設けられ、図柄回転ユニット3に隣接して外部集中端子板70が配置されている。
また図柄回転ユニット3の内部には、図5に示す回胴LED(Light Emitting Diode)中継基板56と回胴中継基板53とが設けられ、図柄回転ユニット3に隣接して外部集中端子板70が配置されている。
さらに、本体ケース1においては、図柄回転ユニット3の側方に前面パネル2の開放(ドアの開放)を検知するためのドア開放センサ35が設けられている。
図1に示すように、前面パネル2の上部にはLCD(Liquid Crystal Display)ユニット7が配置されている。このLCDユニット7には、遊技動作を盛り上げるためなどに各種のキャラクタが表示される。
またLCDユニット7の下部には、回転リール4a,4b,4cを表出させる表示窓8が形成されている。この表示窓8を通しては、各回転リール4a,4b,4cの回転方向に、各々3個程度の図柄が見えるようにされている。そして、例えば、合計9個の図柄の水平方向の二本(又は三本)と、対角線方向の二本が仮想的な停止ラインとなる。
またLCDユニット7の下部には、回転リール4a,4b,4cを表出させる表示窓8が形成されている。この表示窓8を通しては、各回転リール4a,4b,4cの回転方向に、各々3個程度の図柄が見えるようにされている。そして、例えば、合計9個の図柄の水平方向の二本(又は三本)と、対角線方向の二本が仮想的な停止ラインとなる。
なお、図柄回胴ユニット3の内部には、回転リール4a,4b,4cが停止した状態において視認される9個の図柄それぞれを内側から照射可能な位置に回胴用LEDが配置されている(不図示)。それぞれの回胴用LEDはそれぞれの回転リールの回転状態や停止状態、或いは各種演出に応じて点灯・消灯される。
表示窓8の下方には、遊技状態を示すLED群9や、遊技成果として払出されるメダル数を表示する払出表示部10や、貯留数表示部11が設けられている。
LED群9は、例えば、当ゲームに投入されたメダルの枚数を示すLEDや再遊戯状態を示すLED、回胴を回転させる準備が整ったことを示すLED(当ゲームの遊戯に要する所定枚数のメダルの投入が完了したことを示すLED)、メダルの投入の受付状態を示すLEDなどで構成されている。
払出表示部10は、7セグメントLEDを2個連設して構成されており、払出メダル数を特定すると共に、何らかの異常事態の発生時には、異常内容を表示するエラー表示器としても機能する。
貯留数表示部11は、クレジット状態で貯留されているメダル数が表示されている。
LED群9は、例えば、当ゲームに投入されたメダルの枚数を示すLEDや再遊戯状態を示すLED、回胴を回転させる準備が整ったことを示すLED(当ゲームの遊戯に要する所定枚数のメダルの投入が完了したことを示すLED)、メダルの投入の受付状態を示すLEDなどで構成されている。
払出表示部10は、7セグメントLEDを2個連設して構成されており、払出メダル数を特定すると共に、何らかの異常事態の発生時には、異常内容を表示するエラー表示器としても機能する。
貯留数表示部11は、クレジット状態で貯留されているメダル数が表示されている。
表示窓8の上方、左、右には、LED演出部15a,15b,15cが設けられている。LED演出部15a,15b,15cは、所定の絵柄、意匠が施され、内側に配置されたLEDによって光による演出が実行されるように構成されている。LED演出部15a,15b,15cで実行される演出は、例えば、BBやRBに当選したことを示す演出や、AT(アシストタイム)やART(アシストリプレイタイム)等の状態を示す演出、AT中やART中のアシスト演出等である。
なお、個々の説明は省略するが、前面パネル2には、演出や動作状態を提示するためのLEDとして他のLEDが各種配置されている。
なお、個々の説明は省略するが、前面パネル2には、演出や動作状態を提示するためのLEDとして他のLEDが各種配置されている。
前面パネル2の中央右側には、メダルを投入するメダル投入口12が設けられ、これに近接して、メダル投入口12に詰まったメダルを返却させるための返却ボタン13が設けられている。返却ボタン13の右側には、専用のキーを差し込むための鍵穴が設けられている。前面パネル2が本体ケース1に対して閉じた状態において、鍵穴に差し込まれたキーを右へ回すことにより前面パネル2が解錠され(以下「解錠動作」と表記)、前面パネル2の本体ケース1に対する開閉が可能となる。また、鍵穴に差し込まれたキーを左へ回すことにより、打ち止めやエラーによる遊戯の中止状態が解除される(以下「中止解除動作」と表記)。
また、前面パネル2の中央左側には、クレジット状態のメダルを払出すクレジット精算ボタン14と、クレジット状態のメダルを擬似的に三枚投入するマックス投入ボタン16とが設けられている。
また、前面パネル2の中央左側には、クレジット状態のメダルを払出すクレジット精算ボタン14と、クレジット状態のメダルを擬似的に三枚投入するマックス投入ボタン16とが設けられている。
また、前面パネル2には、回転リール4a,4b,4cの回転を開始させるためのスタートレバー17と、回転中の回転リール4a,4b,4cを停止させるための停止ボタン18a,18b,18cが設けられている。
遊技者がスタートレバー17を操作すると、通常は、3つの回転リール4a,4b,4cが正方向に回転を開始する。但し、内部当選状態を予告するリール演出のために、回転リール4a,4b,4cの全部又は一部が、変則的に回転(いわゆる「演出回転」)した上で正方向の回転を開始する場合もある。
リール演出としては具体的内容が各種考えられ、例えば、
・極めてゆっくり正方向に回転(正回転)して静止するスロー演出
・正回転と逆回転を繰り返した後に、所定時間だけ逆回転して静止する逆回転演出
・第1の所定時間だけ正回転と逆回転を繰り返した後に静止する第1の揺動演出
・第2の所定時間だけ正回転と逆回転を繰り返した後に静止する第2の揺動演出
・第2の所定時間だけ正回転と逆回転を繰り返した後に静止し、さらに、極めてゆっくり正回転した後に静止するスロー揺動演出
・第2の時間だけ正回転と逆回転を繰り返した後に静止し、さらに、所定時間だけ逆回転した後に静止する揺動逆回転演出
・所定速度で正回転又は逆回転した後に所定の図柄に揃えて静止する演出
などが用意されている。そして、このようなリール演出時には、LCDユニット7におけるキャラクタ演出や、LEDランプを点滅させるランプ演出や、スピーカを駆動する音声演出の全部又は一部が適宜に選択されて実行される。
遊技者がスタートレバー17を操作すると、通常は、3つの回転リール4a,4b,4cが正方向に回転を開始する。但し、内部当選状態を予告するリール演出のために、回転リール4a,4b,4cの全部又は一部が、変則的に回転(いわゆる「演出回転」)した上で正方向の回転を開始する場合もある。
リール演出としては具体的内容が各種考えられ、例えば、
・極めてゆっくり正方向に回転(正回転)して静止するスロー演出
・正回転と逆回転を繰り返した後に、所定時間だけ逆回転して静止する逆回転演出
・第1の所定時間だけ正回転と逆回転を繰り返した後に静止する第1の揺動演出
・第2の所定時間だけ正回転と逆回転を繰り返した後に静止する第2の揺動演出
・第2の所定時間だけ正回転と逆回転を繰り返した後に静止し、さらに、極めてゆっくり正回転した後に静止するスロー揺動演出
・第2の時間だけ正回転と逆回転を繰り返した後に静止し、さらに、所定時間だけ逆回転した後に静止する揺動逆回転演出
・所定速度で正回転又は逆回転した後に所定の図柄に揃えて静止する演出
などが用意されている。そして、このようなリール演出時には、LCDユニット7におけるキャラクタ演出や、LEDランプを点滅させるランプ演出や、スピーカを駆動する音声演出の全部又は一部が適宜に選択されて実行される。
前面パネル2の下方には、メダルを蓄える横長の受け皿19と、払出装置5の払出口5cに連通するメダル導出口20とが設けられている。
また前面パネル2の上方左右、及び下方左右にはスピーカ30a,30b,30c,30dが配置されている。
また前面パネル2の上方左右、及び下方左右にはスピーカ30a,30b,30c,30dが配置されている。
図3に示すように、前面パネル2の裏側は、図1で示したメダル投入口12に投入されたメダルの選別を行うメダル選別装置21と、メダル選別装置21により不適正と判別されたメダルをメダル導出口20に案内する返却通路22とが設けられている。
また、前面パネル2の裏側上部には、基板ケース23が配置されている。この基板ケース23には、図5で述べる演出制御基板42、演出インターフェース基板43、液晶制御基板44、液晶インターフェース基板45などが収容されている。
またメダル選別装置21の側方には、図1に示す各種の遊技部材と主制御基板40との間の信号を中継する遊技中継基板60(図5で後述する)が設けられている。
また、前面パネル2の裏側上部には、基板ケース23が配置されている。この基板ケース23には、図5で述べる演出制御基板42、演出インターフェース基板43、液晶制御基板44、液晶インターフェース基板45などが収容されている。
またメダル選別装置21の側方には、図1に示す各種の遊技部材と主制御基板40との間の信号を中継する遊技中継基板60(図5で後述する)が設けられている。
<2.回胴遊技機の制御構成>
次に本実施の形態のスロットマシンの制御系の構成について説明する。
図5は、スロットマシン1の内部の制御構成の概略的なブロック図である。本実施の形態のスロットマシンは、その制御構成が主制御基板40を中心に構成されている。
主制御基板40は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を備えたマイクロコンピュータやインターフェースのための回路等が搭載され、スロットマシンの遊技動作全般に係る統括的な制御を行う。例えば主性制御基板40が回転リール4a,4b,4cを含む各種の遊技部材の動作を制御するとともに、動作状況を把握する。また遊技動作に応じて演出を実行させる。
主制御基板40は、電源基板41、演出インターフェース基板43、回胴中継基板53、遊戯中継基板60、外部集中端子板70、回胴設定基板71、払出接続基板73との間で各種信号(コマンドや検出信号等)のやりとりを行う。
なお主制御基板40に搭載されたマイクロコンピュータ等を含めて主制御基板40の構成体が、請求項に言う「制御手段」に相当する。
次に本実施の形態のスロットマシンの制御系の構成について説明する。
図5は、スロットマシン1の内部の制御構成の概略的なブロック図である。本実施の形態のスロットマシンは、その制御構成が主制御基板40を中心に構成されている。
主制御基板40は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を備えたマイクロコンピュータやインターフェースのための回路等が搭載され、スロットマシンの遊技動作全般に係る統括的な制御を行う。例えば主性制御基板40が回転リール4a,4b,4cを含む各種の遊技部材の動作を制御するとともに、動作状況を把握する。また遊技動作に応じて演出を実行させる。
主制御基板40は、電源基板41、演出インターフェース基板43、回胴中継基板53、遊戯中継基板60、外部集中端子板70、回胴設定基板71、払出接続基板73との間で各種信号(コマンドや検出信号等)のやりとりを行う。
なお主制御基板40に搭載されたマイクロコンピュータ等を含めて主制御基板40の構成体が、請求項に言う「制御手段」に相当する。
電源基板41は、AC24Vを受けて、これを整流・平滑して直流電圧を得る。そして電源基板41はコンバータ回路を備えて各部に必要な電源電圧を生成する。図では主制御基板40を介して各部に与えられる主制御電源電圧V1、及び演出インターフェース基板43を介して各部に与えられる演出制御電源電圧V2を示している。
また電源基板41には電源遮断状態を検出する電源監視回路や、主制御基板40にバックアップ電源電圧を供給するバックアップ電源回路なども設けられている。
また電源基板41には電源遮断状態を検出する電源監視回路や、主制御基板40にバックアップ電源電圧を供給するバックアップ電源回路なども設けられている。
演出制御基板42は、CPU、ROM、RAM等を備えたマイクロコンピュータやインターフェースのための回路等が搭載され、スロットマシンの演出動作に関する制御を行う。
演出制御基板42は、演出インターフェース基板43を介して主制御基板40からのコマンドを受け取る。例えば主制御基板40は、演出制御基板42に対して、スピーカ30(30a〜30d)による音演出、LEDランプや冷陰極線管放電管によるランプ演出、LCDユニット7による図柄演出を実現するための制御コマンドを出力し、演出制御基板42はその制御コマンドに応じた演出制御処理を行う。
また演出制御基板42では、主制御基板40から内部抽選結果を特定する制御コマンド(遊技開始コマンド)受けると、内部抽選結果に対応してアシストタイム当選状態とするか否かのAT抽選を実行する。
なお、演出制御基板42においてAT抽選に当選した後の所定回数のゲーム(AT中)では、小役当選状態において、その図柄を停止ラインに整列できるよう、3つの回転リール4の停止順序を遊技者に報知している。
また演出制御基板42は、主制御基板40からのリール演出実行を示す制御コマンドを受けると、主制御基板40で実行するリール演出に対応する演出動作を開始する。
これらのような演出制御動作のため、演出制御基板42は、演出インターフェース基板43を通して各部と必要な通信を行う。
演出制御基板42は、演出インターフェース基板43を介して主制御基板40からのコマンドを受け取る。例えば主制御基板40は、演出制御基板42に対して、スピーカ30(30a〜30d)による音演出、LEDランプや冷陰極線管放電管によるランプ演出、LCDユニット7による図柄演出を実現するための制御コマンドを出力し、演出制御基板42はその制御コマンドに応じた演出制御処理を行う。
また演出制御基板42では、主制御基板40から内部抽選結果を特定する制御コマンド(遊技開始コマンド)受けると、内部抽選結果に対応してアシストタイム当選状態とするか否かのAT抽選を実行する。
なお、演出制御基板42においてAT抽選に当選した後の所定回数のゲーム(AT中)では、小役当選状態において、その図柄を停止ラインに整列できるよう、3つの回転リール4の停止順序を遊技者に報知している。
また演出制御基板42は、主制御基板40からのリール演出実行を示す制御コマンドを受けると、主制御基板40で実行するリール演出に対応する演出動作を開始する。
これらのような演出制御動作のため、演出制御基板42は、演出インターフェース基板43を通して各部と必要な通信を行う。
演出制御基板42は、演出インターフェース基板43、及び液晶インターフェース基板45を介して液晶制御基板44に接続されている。
液晶制御基板44は、LCDユニット7における画像表示による演出の制御を行う。この液晶制御基板44には、VDP(Video Display Processor)、画像ROM、VRAM(Video RAM)、液晶制御CPU、液晶制御ROM、液晶制御RAM等が搭載される。
VDPは、画像展開処理や画像の描画などの映像出力処理全般の制御を行う。
画像ROMには、VDPが画像展開処理を行う画像データ(演出画像データ)が格納されている。
VRAMは、VDPが展開した画像データを一時的に記憶する画像メモリ領域とされる。
液晶制御CPUは、VDPが表示制御を行うために必要な制御データを出力する。
液晶制御ROMには、液晶制御CPUの表示制御動作手順を記述したプログラムやその表示制御に必要な種々のデータが格納される。
液晶制御RAMは、ワークエリアやバッファメモリとして機能する。
このような液晶制御基板44は、演出制御基板42からの表示演出に関するコマンドを受け付け、それに応じて表示駆動信号を生成する。そして液晶インターフェース基板45を介してLCDユニット7に表示駆動信号を供給し、画像表示を実行させる。
液晶制御基板44は、LCDユニット7における画像表示による演出の制御を行う。この液晶制御基板44には、VDP(Video Display Processor)、画像ROM、VRAM(Video RAM)、液晶制御CPU、液晶制御ROM、液晶制御RAM等が搭載される。
VDPは、画像展開処理や画像の描画などの映像出力処理全般の制御を行う。
画像ROMには、VDPが画像展開処理を行う画像データ(演出画像データ)が格納されている。
VRAMは、VDPが展開した画像データを一時的に記憶する画像メモリ領域とされる。
液晶制御CPUは、VDPが表示制御を行うために必要な制御データを出力する。
液晶制御ROMには、液晶制御CPUの表示制御動作手順を記述したプログラムやその表示制御に必要な種々のデータが格納される。
液晶制御RAMは、ワークエリアやバッファメモリとして機能する。
このような液晶制御基板44は、演出制御基板42からの表示演出に関するコマンドを受け付け、それに応じて表示駆動信号を生成する。そして液晶インターフェース基板45を介してLCDユニット7に表示駆動信号を供給し、画像表示を実行させる。
また、演出制御基板42は、演出インターフェース基板43を介してスピーカ中継基板47を制御し、スピーカ30a〜30dを用いた音演出を実行させる。
また演出制御基板42は、演出インターフェース基板43を介して、LED基板48や回胴LED中継基板56を経由して各種のLEDによるランプ演出を実現している。
LED基板48には、例えば図1に示したLED演出部15a,15b,15cとしてのLEDが配置されている。
回胴LED中継基板56は、第1回胴LED基板50a、第2回胴LED基板50b、第3回胴LED基板50cについて演出制御基板42からのLED駆動信号を中継する。
第1回胴LED基板50aには、回転リール4aの図柄を内側から照射する回胴用LEDが配置されている。第2回胴LED基板50bには、回転リール4bの図柄を内側から照射する回胴用LEDが配置されている。また、第3回胴LED基板50cには、回転リール4cの図柄を内側から照射する回胴用LEDが配置されている。
また演出制御基板42は、演出インターフェース基板43を介して、LED基板48や回胴LED中継基板56を経由して各種のLEDによるランプ演出を実現している。
LED基板48には、例えば図1に示したLED演出部15a,15b,15cとしてのLEDが配置されている。
回胴LED中継基板56は、第1回胴LED基板50a、第2回胴LED基板50b、第3回胴LED基板50cについて演出制御基板42からのLED駆動信号を中継する。
第1回胴LED基板50aには、回転リール4aの図柄を内側から照射する回胴用LEDが配置されている。第2回胴LED基板50bには、回転リール4bの図柄を内側から照射する回胴用LEDが配置されている。また、第3回胴LED基板50cには、回転リール4cの図柄を内側から照射する回胴用LEDが配置されている。
主制御基板40は、遊技中継基板60を介して、図5のようにスロットマシンの各種遊技部材に接続されている。
遊戯表示基板61は、遊技状態を示すLED群9や、7セグメントLEDを有した払出表示部10や、同じく7セグメントLEDを有した貯留数表示部11を搭載している。主制御基板40は、遊戯表示基板61に対して、遊戯中継基板60を介して制御コマンドを送信し、遊戯状態に応じた表示を実行させるように制御している。
遊戯表示基板61は、遊技状態を示すLED群9や、7セグメントLEDを有した払出表示部10や、同じく7セグメントLEDを有した貯留数表示部11を搭載している。主制御基板40は、遊戯表示基板61に対して、遊戯中継基板60を介して制御コマンドを送信し、遊戯状態に応じた表示を実行させるように制御している。
始動スイッチ基板62には、スタートレバー17による始動スイッチが搭載されている。
停止スイッチ基板63には停止ボタン18a、18b、18cによる停止スイッチが搭載されている。
貯留メダル投入スイッチ基板64には、マックス投入ボタン16の投入スイッチが搭載されている。
精算スイッチ基板65には清算ボタン14の清算スイッチが搭載されている。
主制御基板40は、これらの基板(61,62,63,64,65)のスイッチによる遊技者操作の検出信号を、遊技中継基板60を介して受信する。
停止スイッチ基板63には停止ボタン18a、18b、18cによる停止スイッチが搭載されている。
貯留メダル投入スイッチ基板64には、マックス投入ボタン16の投入スイッチが搭載されている。
精算スイッチ基板65には清算ボタン14の清算スイッチが搭載されている。
主制御基板40は、これらの基板(61,62,63,64,65)のスイッチによる遊技者操作の検出信号を、遊技中継基板60を介して受信する。
ドアセンサ66は、前面パネル2の前述した鍵穴に対して設けられたセンサである。ドアセンサ66によって、前述した遊戯の中止解除動作を認識可能とされている。
メダル通過センサ67及びレバー検出センサ68は、メダル選別装置21に設けられている。メダル通過センサ67は、例えばフォトインタラプタで構成され、選別された正規のメダルの通過を検出するセンサである。レバー検知センサ68は、例えばフォトマイクロセンサで構成され、メダル投入口12から投入されたメダルの通過を検出するセンサである。つまり、メダル投入口12から投入されたメダルは、レバー検知センサ68を通過した後に正規のメダルだけが選別された後、メダル通過センサ67によりその通過が検出される。
主制御基板40は、これらのセンサ(66,67,68)の検出信号を、遊技中継基板60を介して受信する。さらに、主制御基板40は、受信したセンサの検出信号により投入されたメダルの投入時間や通過方向を検出し、所定の規定に合致した場合にのみ投入メダルとして受け付け、それ以外の場合には投入メダルエラーとして処理する。
ブロッカーソレノイド69は、不正メダルの通過を阻止するブロッカーをON/OFFに駆動する。主制御基板40は、遊技中継基板60を介してブロッカーソレノイドを制御する。
メダル通過センサ67及びレバー検出センサ68は、メダル選別装置21に設けられている。メダル通過センサ67は、例えばフォトインタラプタで構成され、選別された正規のメダルの通過を検出するセンサである。レバー検知センサ68は、例えばフォトマイクロセンサで構成され、メダル投入口12から投入されたメダルの通過を検出するセンサである。つまり、メダル投入口12から投入されたメダルは、レバー検知センサ68を通過した後に正規のメダルだけが選別された後、メダル通過センサ67によりその通過が検出される。
主制御基板40は、これらのセンサ(66,67,68)の検出信号を、遊技中継基板60を介して受信する。さらに、主制御基板40は、受信したセンサの検出信号により投入されたメダルの投入時間や通過方向を検出し、所定の規定に合致した場合にのみ投入メダルとして受け付け、それ以外の場合には投入メダルエラーとして処理する。
ブロッカーソレノイド69は、不正メダルの通過を阻止するブロッカーをON/OFFに駆動する。主制御基板40は、遊技中継基板60を介してブロッカーソレノイドを制御する。
また、主制御基板40は、回胴中継基板53を経由して、回転リール4a,4b,4cを回転させる3つのステッピングモータ54(第1回胴ステッピングモータ54a、第2回胴ステッピングモータ54b、第3回胴ステッピングモータ54c)と接続されている。
さらに主制御基板40は、回胴中継基板53を経由して、回転リール4a,4b,4cの原点位置(後述する原点位置101)を検出するための3つのインデックスセンサ55(第1回胴インデックスセンサ55a、第2回胴インデックスセンサ55b、第3回胴インデックスセンサ55c)に接続されている。
主制御基板40は、ステッピングモータ54a,54b,54cを駆動又は停止させることによって、回転リール4a,4b,4cの回転動作と、目的位置での停止動作を実現している。また主制御基板40は、インデックスセンサ55a,55b,55cの検出信号に基づき、回転リール4a,4b,4cの原点位置を検知できる。
さらに主制御基板40は、回胴中継基板53を経由して、回転リール4a,4b,4cの原点位置(後述する原点位置101)を検出するための3つのインデックスセンサ55(第1回胴インデックスセンサ55a、第2回胴インデックスセンサ55b、第3回胴インデックスセンサ55c)に接続されている。
主制御基板40は、ステッピングモータ54a,54b,54cを駆動又は停止させることによって、回転リール4a,4b,4cの回転動作と、目的位置での停止動作を実現している。また主制御基板40は、インデックスセンサ55a,55b,55cの検出信号に基づき、回転リール4a,4b,4cの原点位置を検知できる。
また、主制御基板40は、払出接続基板73を介してメダル払出のための装置部にも接続されている。メダル払出のための装置部として、メダル払出制御を行うホッパー基板74と、払出モータ75と、メダル払出センサ76が設けられている。
ホッパー基板74は、主制御基板40からの制御コマンドに基づいて払出モータ75を回転させて、所定量のメダルを払出しする。
メダル払出センサ76は、払出メダルの通過を検出する。メダル払出センサ76による検出信号は、払出メダル枚数が不足したり払出動作が行われないなどの払出異常状態の検出に用いられる。
ホッパー基板74は、主制御基板40からの制御コマンドに基づいて払出モータ75を回転させて、所定量のメダルを払出しする。
メダル払出センサ76は、払出メダルの通過を検出する。メダル払出センサ76による検出信号は、払出メダル枚数が不足したり払出動作が行われないなどの払出異常状態の検出に用いられる。
また主制御基板40は、外部集中端子板70に接続されている。外部集中端子板70は、例えばホールコンピュータに接続されており、主制御基板40は、外部集中端子板70を通して、メダルの投入枚数やメダルの払出枚数などをホールコンピュータに出力している。
また主制御基板40は、回胴設定基板71にも接続されている。回胴設定基板71は、係員が設定キースイッチ72を用いて設定した設定値を示す信号などを出力している。設定値とは、当該スロットマシンで実行される抽選処理の当選確率などを、設定1から設定6まで6段階で規定するもので、遊技ホールの営業戦略に基づいて適宜に設定される。
続いて、図6で主制御基板40の回路構成を説明する。
図示の通り、主制御基板40は、ワンチップマイコンによるコントローラ80と、8ビットパラレルデータを入出力するI/Oポート回路83と、カウンタ回路81と、各部とのインターフェース部を有して構成されている。
図示の通り、主制御基板40は、ワンチップマイコンによるコントローラ80と、8ビットパラレルデータを入出力するI/Oポート回路83と、カウンタ回路81と、各部とのインターフェース部を有して構成されている。
コントローラ80は、CPU80a、ROM80b、RAM80cの他、割込コントローラ80dやCTC(Counter/Timer Circuit) 80e等を内蔵している。
CTC80eは、8ビットのカウンタやタイマを集積した回路であり、CPU80aの処理における周期的割り込みや一定周期のパルス出力作成機能(ビットレートジェネレータ)、時間計測の機能を付与するものである。本例では、CTC80eを利用して、CPU80aに1.49msの時間間隔でタイマ割込み(後述の図10)をかけている。
CTC80eは、8ビットのカウンタやタイマを集積した回路であり、CPU80aの処理における周期的割り込みや一定周期のパルス出力作成機能(ビットレートジェネレータ)、時間計測の機能を付与するものである。本例では、CTC80eを利用して、CPU80aに1.49msの時間間隔でタイマ割込み(後述の図10)をかけている。
カウンタ回路81はハードウェア的に乱数値を生成する回路である。コントローラ80(CPU80a)はカウンタ回路81で生成された乱数値を利用して抽選処理を行う。
主制御基板40には、コントローラ80と図5に示した各基板等とのインターフェースが設けられる。
電源インターフェース82は電源基板41の電源回路との間のインターフェースである。
遊技インターフェース84は遊技中継基板60との間のインターフェースである。コントローラ80は、遊技インターフェース84を介して各種スイッチ、センサの検出信号の入力や、LED制御、ブロッカーソレノイド制御のためのコマンド送信を行う。
回胴モータ駆動部85は回胴中継基板53との間のインターフェースである。コントローラ80は、回胴モータ駆動部85によりステッピングモータ54a,54b,54cに対するモータ駆動信号(後述する励磁データφ1〜φ4)の出力を行うと共に、回胴モータ駆動部85を経由して入力されるインデックスセンサ55a,55b,55cからの検出信号を取得する。
演出制御インターフェース86は、コントローラ80が演出インターフェース基板43を介して演出制御基板42へのコマンド送信を行うためのインターフェースである。具体的には例えば8ビットパラレルポートである。
払出接続インターフェース87は払出接続基板73とのインターフェースである。
電源インターフェース82は電源基板41の電源回路との間のインターフェースである。
遊技インターフェース84は遊技中継基板60との間のインターフェースである。コントローラ80は、遊技インターフェース84を介して各種スイッチ、センサの検出信号の入力や、LED制御、ブロッカーソレノイド制御のためのコマンド送信を行う。
回胴モータ駆動部85は回胴中継基板53との間のインターフェースである。コントローラ80は、回胴モータ駆動部85によりステッピングモータ54a,54b,54cに対するモータ駆動信号(後述する励磁データφ1〜φ4)の出力を行うと共に、回胴モータ駆動部85を経由して入力されるインデックスセンサ55a,55b,55cからの検出信号を取得する。
演出制御インターフェース86は、コントローラ80が演出インターフェース基板43を介して演出制御基板42へのコマンド送信を行うためのインターフェースである。具体的には例えば8ビットパラレルポートである。
払出接続インターフェース87は払出接続基板73とのインターフェースである。
外部インターフェース88は、外部集中端子板70を介したホールコンピュータとのインターフェースである。
回胴設定インターフェース89は、回胴設定基板71との間のインターフェースである。
回胴設定インターフェース89は、回胴設定基板71との間のインターフェースである。
<3.回胴モータ及び回転リール>
続いて、回転リール4a,4b,4cを回転させる各ステッピングモータ54a,54b,54cの駆動方式と回転リール4a,4b,4cに形成された図柄との関係について図7及び図8を参照して説明する。
本実施の形態において、ステッピングモータ54a,54b,54cはユニポーラ駆動のステッピングモータとされ、それぞれセンタータップされた2つの駆動巻線を有している。本実施の形態の場合、ステッピングモータ54a,54b,54cの駆動は1相励磁と2相励磁とを交互に繰り返す1−2相励磁によって行われる。
続いて、回転リール4a,4b,4cを回転させる各ステッピングモータ54a,54b,54cの駆動方式と回転リール4a,4b,4cに形成された図柄との関係について図7及び図8を参照して説明する。
本実施の形態において、ステッピングモータ54a,54b,54cはユニポーラ駆動のステッピングモータとされ、それぞれセンタータップされた2つの駆動巻線を有している。本実施の形態の場合、ステッピングモータ54a,54b,54cの駆動は1相励磁と2相励磁とを交互に繰り返す1−2相励磁によって行われる。
図7Aは、ステッピングモータ54a,54b,54cがそれぞれ有する2つの固定子と、各固定子に巻回された駆動巻線と、回転子の回転位置(矢印)との関係を表した図である。図のようにユニポーラ駆動のステッピングモータにおいては駆動巻線がセンタータップされ、一方の駆動巻線においてセンタータップを境に分割形成されたそれぞれの巻線部を巻線部A、巻線部Aバーと表記する。また、他方の駆動巻線においてセンタータップを境に分割形成されたそれぞれの巻線部を巻線部B、巻線部Bバーと表記する。
図7Bは、1−2相励磁において巻線部A、Aバー、B、Bバーに与えられる駆動信号φ(駆動電流)を表している。図のように巻線部Bバーの駆動信号をφ1、巻線部Aバーの駆動信号をφ2、巻線部Bの駆動信号をφ3、巻線部Aの駆動信号をφ4とそれぞれ表記する。
図7Bに示すように、1−2相励磁においては、駆動信号φ1〜φ4による駆動態様について図中の0〜7の8つのステップが繰り返される。具体的には、
・0ステップ目:φ1=on、φ2=off、φ3=off、φ4=on
・1ステップ目:φ1=off、φ2=off、φ3=off、φ4=on
・2ステップ目:φ1=off、φ2=off、φ3=on、φ4=on
・3ステップ目:φ1=off、φ2=off、φ3=on、φ4=off
・4ステップ目:φ1=off、φ2=on、φ3=on、φ4=off
・5ステップ目:φ1=off、φ2=on、φ3=off、φ4=off
・6ステップ目:φ1=on、φ2=on、φ3=off、φ4=off
・7ステップ目:φ1=on、φ2=off、φ3=off、φ4=off
が繰り返される。このように1−2相励磁においては、2つの駆動巻線が同時駆動される(つまり2つの固定子が同時励磁される)ステップ(0,2,4,6)と、一方の駆動巻線のみが駆動される(一方の固定子のみが励磁される)ステップ(1,3,5,7)とが交互に繰り返される。
図7Bに示すように、1−2相励磁においては、駆動信号φ1〜φ4による駆動態様について図中の0〜7の8つのステップが繰り返される。具体的には、
・0ステップ目:φ1=on、φ2=off、φ3=off、φ4=on
・1ステップ目:φ1=off、φ2=off、φ3=off、φ4=on
・2ステップ目:φ1=off、φ2=off、φ3=on、φ4=on
・3ステップ目:φ1=off、φ2=off、φ3=on、φ4=off
・4ステップ目:φ1=off、φ2=on、φ3=on、φ4=off
・5ステップ目:φ1=off、φ2=on、φ3=off、φ4=off
・6ステップ目:φ1=on、φ2=on、φ3=off、φ4=off
・7ステップ目:φ1=on、φ2=off、φ3=off、φ4=off
が繰り返される。このように1−2相励磁においては、2つの駆動巻線が同時駆動される(つまり2つの固定子が同時励磁される)ステップ(0,2,4,6)と、一方の駆動巻線のみが駆動される(一方の固定子のみが励磁される)ステップ(1,3,5,7)とが交互に繰り返される。
上記のような1−2相励磁により、回転子は、図7Aに示すように0→1→2→3→4→5→6→7→0の位置に間欠的に移動することになり、2相励磁、すなわち0→2→4→6→0の位置に間欠移動する場合と比較してステップ角を半分できる。具体的に、ステッピングモータ54a,54b,54cのステップ角は360°÷8=45°である。
なお、上記説明からも理解されるように、ここで言う「ステップ」とは、ステッピングモータ54a,54b,54cの最小回転駆動量と換言できるものである。
図7Cは、上記のような1−2相励磁を実現するために参照される励磁データテーブルについての説明図である。
励磁データテーブルにおいては、励磁ポインタPTの0〜7が上記の0〜7のステップにそれぞれ対応しており、励磁ポインタPTの0〜7のそれぞれに対しては駆動信号φ1〜φ4のon/offを表す4ビットの励磁データが対応付けられている。なお、図7Cでは、それぞれの励磁データの16進数表記と励磁ポインタPTの0〜7のそれぞれに対応する2相励磁/1相励磁の別も併せて示している。
ここで以下、駆動信号φ1〜φ4の各々に関して、各駆動信号φのon/offを表す各1ビットのデータのことを「励磁データ」と表記する。また、駆動信号φ1についての励磁データについては「励磁データφ1」、駆動信号φ2についての励磁データについては「励磁データφ2」と表記する。同様に、駆動信号φ3についての励磁データは「励磁データφ3」、駆動信号φ4についての励磁データは「励磁データφ4」と表記する。
励磁データテーブルにおいては、励磁ポインタPTの0〜7が上記の0〜7のステップにそれぞれ対応しており、励磁ポインタPTの0〜7のそれぞれに対しては駆動信号φ1〜φ4のon/offを表す4ビットの励磁データが対応付けられている。なお、図7Cでは、それぞれの励磁データの16進数表記と励磁ポインタPTの0〜7のそれぞれに対応する2相励磁/1相励磁の別も併せて示している。
ここで以下、駆動信号φ1〜φ4の各々に関して、各駆動信号φのon/offを表す各1ビットのデータのことを「励磁データ」と表記する。また、駆動信号φ1についての励磁データについては「励磁データφ1」、駆動信号φ2についての励磁データについては「励磁データφ2」と表記する。同様に、駆動信号φ3についての励磁データは「励磁データφ3」、駆動信号φ4についての励磁データは「励磁データφ4」と表記する。
後述もするが、主制御基板40のCPU80aは、このような励磁データテーブルを参照した結果に基づきステッピングモータ54a,54b,54cの駆動制御を行う。具体的には、励磁ポインタPTを0→1→2→・・・→7→0→・・・と循環させつつ、現在の励磁ポインタPTの値に対応する励磁データφ1〜φ4に基づいてステッピングモータ54a,54b,54cが駆動されるように制御を行う。
励磁ポインタPTの最短更新周期は、1.49msごとに起動されるタイマ割込み処理(図10)ごとの周期とされる。
なお、励磁データテーブルは、ROM80b等のCPU80aが読み出し可能な記憶手段に対して記憶されている。
励磁ポインタPTの最短更新周期は、1.49msごとに起動されるタイマ割込み処理(図10)ごとの周期とされる。
なお、励磁データテーブルは、ROM80b等のCPU80aが読み出し可能な記憶手段に対して記憶されている。
図8は、回転リール4a,4b,4cに形成された図柄についての説明図である。
本例において、回転リール4a,4b,4cの表面には、回転方向に沿って21コマ分の図柄が配置されている。回転リール4a,4b,4cのそれぞれにおいて、図柄の種類は10種類(赤7、白7、バー、キャラ、チェリー、すいか、ベル、リプレイ、はずれ1、はずれ2)とされ、それらが所定の順序で配列されている。図中では、回転リール4aに形成された21コマの図柄をそれぞれ図柄4a1,4a2,・・・,4a21と表している。同様に、回転リール4bに形成された21コマの図柄を図柄4b1,4b2,・・・,4b21、回転リール4cに形成された21コマの図柄を図柄4c1,4c2,・・・,4c21と表している。各図柄の符号の末尾に付した番号は、その図柄の番号を表している。
本例において、回転リール4a,4b,4cの表面には、回転方向に沿って21コマ分の図柄が配置されている。回転リール4a,4b,4cのそれぞれにおいて、図柄の種類は10種類(赤7、白7、バー、キャラ、チェリー、すいか、ベル、リプレイ、はずれ1、はずれ2)とされ、それらが所定の順序で配列されている。図中では、回転リール4aに形成された21コマの図柄をそれぞれ図柄4a1,4a2,・・・,4a21と表している。同様に、回転リール4bに形成された21コマの図柄を図柄4b1,4b2,・・・,4b21、回転リール4cに形成された21コマの図柄を図柄4c1,4c2,・・・,4c21と表している。各図柄の符号の末尾に付した番号は、その図柄の番号を表している。
回転リール4a,4b,4cにおいて、各図柄は等間隔で配置され、図中では図柄の切れ目位置を破線で表している。回転リール4a,4b,4cにおいては、所定の図柄切れ目位置が原点位置101とされている。本例における原点位置101は、それぞれ1番目の図柄である図柄4a1,4b1,4c1と、21番目の図柄である図柄4a21,4b21,4c21との間の図柄切れ目位置にそれぞれ設定されている。
図中の矢印Rは、定常回転中(正方向回転中)における回転リール4a,4b,4cの回転方向を表している。このことから理解されるように、各図柄に付した番号は、原点位置101を起点として、定常回転中において図柄が遷移する順番を表している。
ここで、本例においては、ステッピングモータ54a,54b,54cが1回転すると回転リール4a,4b,4cがそれぞれ1/63回転するようにステッピングモータ54a,54b,54cと回転リール4a,4b,4cとの間の回転比が設定されている。換言すれば、回転リール4a,4b,4cを1回転させるにはステッピングモータ54a,54b,54cを63回転させることを要する。
このため、本例においては、回転リール4a,4b,4cを1回転させるために必要なステッピングモータ54a,54b,54cの駆動ステップ数は8×63=504とされている。
このため、本例においては、回転リール4a,4b,4cを1回転させるために必要なステッピングモータ54a,54b,54cの駆動ステップ数は8×63=504とされている。
本例における回転リール4a,4b,4cには21コマの図柄が等間隔で形成されているため、図柄1コマ当たりのステップ数は504÷21=24ステップである。
これに応じ、各図柄については、ステップ位置として計24の位置を検出可能とされている。ここで、図柄中のステップ位置は、後の図15で説明するステップS429によってタイマ割込みごとに図柄ステップ数がデクリメント(−1)されていくことで検出可能とされる。すなわち、各図柄中で検出可能なステップ位置は、24番(先頭ステップ位置)〜1番(最終ステップ位置)の24個である。このとき、図15の処理では、図柄ステップ数=0、すなわちその図柄の最終ステップ位置に到達すると、その後のステップS434の処理で即座に図柄カウンタ=24とされる。このため、0番のステップ位置は、次の図柄における24番のステップ位置と同義となる。
これに応じ、各図柄については、ステップ位置として計24の位置を検出可能とされている。ここで、図柄中のステップ位置は、後の図15で説明するステップS429によってタイマ割込みごとに図柄ステップ数がデクリメント(−1)されていくことで検出可能とされる。すなわち、各図柄中で検出可能なステップ位置は、24番(先頭ステップ位置)〜1番(最終ステップ位置)の24個である。このとき、図15の処理では、図柄ステップ数=0、すなわちその図柄の最終ステップ位置に到達すると、その後のステップS434の処理で即座に図柄カウンタ=24とされる。このため、0番のステップ位置は、次の図柄における24番のステップ位置と同義となる。
また、各図柄については、24(0)番〜1番のステップ位置のうち所定のステップ位置がその図柄の停止を許可すべき位置(停止許可ステップ位置)として定められている。具体的には、8番のステップ位置が図柄の停止許可ステップ位置として定められている。回転リール4の停止時には停止図柄が決定され、該停止図柄で回転リール4を停止させるが、この際、回転リール4を停止させる位置は停止図柄中のどのステップ位置でも良いわけではなく、8番のステップ位置に達したことに応じて停止を許可するように定められている。なお、この点については後の「回胴の停止に係る処理」として改めて説明する。
<4.メイン処理>
続いて、主制御基板40のCPU80aが実行する各種の処理について説明する。CPU80aは、主として電源投入時に開始される無限ループ状のメイン処理と、CTC80eからの定期割込みで一定時間毎に起動されるマスク可能な(Maskable Interrupt)タイマ割込み処理とを実行する。
続いて、主制御基板40のCPU80aが実行する各種の処理について説明する。CPU80aは、主として電源投入時に開始される無限ループ状のメイン処理と、CTC80eからの定期割込みで一定時間毎に起動されるマスク可能な(Maskable Interrupt)タイマ割込み処理とを実行する。
先ずは図9のフローチャートにより、CPU80aが実行するメイン処理について説明する。
CPU80aは、スロットマシンの電源が投入されるとステップS101の初期設定処理を実行する。ここで、電源投入後の状態としては、電断前に実行されていた処理を再開してホットスタートするか、或いは、ステップS102の処理に移行してコールドスタートするかの何れかとなる。
例えば、営業開始前に係員が前述した設定キースイッチ72を操作して抽選処理の当選確率などを設定した場合には、コールドスタート処理となるが、そのような係員の操作が無く、且つ異常が検出されない場合には、遊技動作をホットスタートする。
CPU80aは、スロットマシンの電源が投入されるとステップS101の初期設定処理を実行する。ここで、電源投入後の状態としては、電断前に実行されていた処理を再開してホットスタートするか、或いは、ステップS102の処理に移行してコールドスタートするかの何れかとなる。
例えば、営業開始前に係員が前述した設定キースイッチ72を操作して抽選処理の当選確率などを設定した場合には、コールドスタート処理となるが、そのような係員の操作が無く、且つ異常が検出されない場合には、遊技動作をホットスタートする。
ここで、ホットスタートである場合、CPU80aはステップS101の初期設定処理において、所定の電断復帰処理を実行する。該電断復帰処理としては、電断が
a)リール演出中であった場合
b)起動中であった場合
c)起動が終了し定常回転中であった場合
d)停止ボタン18a,18b,18cが操作された後であった場合
のそれぞれに対応した処理を実行する。具体的に、a)のケースでは、リール演出を最初からやり直すための各種設定処理、b)又はc)のケースでは回転リール4a,4b,4cの起動をやり直すための各種設定処理、d)のケースでは電断前の停止操作に応じて実行されていた停止制御を再開させるための各種設定処理をそれぞれ実行する。なお、このようなホットスタート時に対応して実行される電断復帰処理の具体的な内容については、例えば特開2013−212264号などにも記載されているため、詳しくはそちらを参照されたい。
a)リール演出中であった場合
b)起動中であった場合
c)起動が終了し定常回転中であった場合
d)停止ボタン18a,18b,18cが操作された後であった場合
のそれぞれに対応した処理を実行する。具体的に、a)のケースでは、リール演出を最初からやり直すための各種設定処理、b)又はc)のケースでは回転リール4a,4b,4cの起動をやり直すための各種設定処理、d)のケースでは電断前の停止操作に応じて実行されていた停止制御を再開させるための各種設定処理をそれぞれ実行する。なお、このようなホットスタート時に対応して実行される電断復帰処理の具体的な内容については、例えば特開2013−212264号などにも記載されているため、詳しくはそちらを参照されたい。
なお、CPU80aは、電断時に対応しては、電源基板41より供給される電源遮断を通知する信号を受けて、マスク不能のNMI(Non Maskable Interrupt)割込み処理を実行する。このNMI割込み処理では、RAM80cの所定領域についてのチェックサム演算及び算出したチェックサム値の保持やバックアップフラグのセット、及びレジスタの値の退避処理等が実行されるが、詳細な内容については上記の特開2013−212264号などを参照されたい。
一方、コールドスタートである場合、CPU80aはステップS102〜S117で表す一連のメインループ処理を繰返す。ステップS102〜S117のメインループ処理は、1ゲームごとに繰り返し実行されるものである。なお、1ゲームの期間は、回転リール4を回転させて抽選結果に応じた停止態様で停止させるまでの期間を指す。
先ず、ステップS102でCPU80aは、RAM初期化処理を実行する。すなわち、RAM80cのワークエリアにおける所定領域を0クリアする。
なお、本実施の形態のRAM初期化処理に関する説明は後に改めて行う。
なお、本実施の形態のRAM初期化処理に関する説明は後に改めて行う。
続くステップS103でCPU80aは、現在のゲームにおける遊技状態フラグを生成する。遊技状態フラグとは、現在のゲームが「ボーナスゲーム中」か「ボーナス内部当選中」か「通常ゲーム中」かなどの遊技状態を特定するフラグである。
さらに、CPU80aは次のステップS104で遊技メダル投入処理を実行する。すなわち、メダル投入口12から実際に投入されたメダル、及び、マックス投入ボタン16の押下によって擬似的に投入されたメダルについての投入メダル管理処理が実行される。この投入メダル管理処理では、投入又は擬似投入されたメダルの枚数を判定し、その後、スタートレバー17がオン操作されるとサブルーチン処理を終了する。
なおこの際、メダルの投入に応じて、その旨を表す制御コマンド(投入コマンド)が演出制御インターフェース86における送信バッファにセットされ、後述するタイマ割込み処理(図10)のコマンド出力処理(S205)において、演出制御基板42に送信される。なお、このタイミングでは、遊技者による清算動作を示す清算コマンドなどが送信されることもある。
なおこの際、メダルの投入に応じて、その旨を表す制御コマンド(投入コマンド)が演出制御インターフェース86における送信バッファにセットされ、後述するタイマ割込み処理(図10)のコマンド出力処理(S205)において、演出制御基板42に送信される。なお、このタイミングでは、遊技者による清算動作を示す清算コマンドなどが送信されることもある。
上記のステップS104によりスタートレバー17がオン操作されて上記の投入メダル管理処理が終了すると、CPU80aはステップS105で内部抽選用乱数抽出処理を実行する。具体的には、カウンタ回路81に保持されているカウンタ値を取得する。取得したカウンタ値は、乱数値としてRAM80cの所定の番地に保持される。
そして、続くステップS106でCPU80aは、記憶された乱数値に基づいて内部抽選処理(図柄抽選処理)を実行する。図柄抽選処理では、ボーナス図柄への当選か否か、小役図柄への当選か否か、再遊技を示すリプレイ図柄への当選か否かが決定され、決定された抽選結果を示す制御コマンド(遊技開始コマンド)が演出制御インターフェース86における送信バッファにセットされ、タイマ割込み処理のコマンド出力処理(S205)によって演出制御基板42に送信される。なお、小役図柄としては、例えば、「チェリー図柄」(4a10,4b3,4c9)、「ベル図柄」(4a4,4b5,4c3等)、「すいか図柄」(4a9,4b12,4c1等)などを例示することができる。
ステップS106の内部抽選処理を実行したことに応じて、CPU80aは次のステップS107でリール演出を実行するか否かを決定するリール演出抽選処理を実行する。なお、リール演出抽選処理において選出可能な演出は、内部抽選処理の結果に対応して定められている。例えば、「すいか図柄」等の所定の図柄に内部当選状態であれば、所定の当選確率に基づいて「極めてゆっくり正方向に回転して静止するスロー演出」等の所定のリール演出が選出可能となる。
ステップS107のリール演出抽選処理を実行したことに応じて、CPU80aは次のステップS108で停止図柄決定初期化処理として後述する図柄停止制御処理(図18のステップS510)で用いる各種データの初期化を実行した上で、次のステップS109で回転リール4a〜4cの回転を開始させるべく回胴回転開始設定処理を実行する。
ステップS109の回胴回転開始設定処理は、リール演出抽選に当選しているか否かによって処理内容が異なっている。
ここで、リール演出は、スタートレバー17の操作に応じて実行される。つまり、リール演出抽選に当選している場合には、スタートレバー17の操作に応じてリール演出が実行された上で回転リール4a,4b,4cが一旦停止し、その後に改めて回転リール4a,4b,4cが起動(加速回転)されて一定速度による定常回転状態に遷移する。
リール演出抽選に当選している場合、ステップS109の回胴回転開始設定処理においては、回転リール4a,4b,4cを演出回転させた後に改めて定常回転状態に向けて起動させるための各種の設定処理が実行される。
一方、リール演出抽選に当選していない場合、ステップS109の回胴回転開始設定処理では回転リール4a,4b,4cを定常回転状態に向けて起動させるための各種の設定処理が実行される。
なお、当該ステップS109で実行される具体的な処理の内容については後の図12で改めて説明する。
ステップS109の回胴回転開始設定処理は、リール演出抽選に当選しているか否かによって処理内容が異なっている。
ここで、リール演出は、スタートレバー17の操作に応じて実行される。つまり、リール演出抽選に当選している場合には、スタートレバー17の操作に応じてリール演出が実行された上で回転リール4a,4b,4cが一旦停止し、その後に改めて回転リール4a,4b,4cが起動(加速回転)されて一定速度による定常回転状態に遷移する。
リール演出抽選に当選している場合、ステップS109の回胴回転開始設定処理においては、回転リール4a,4b,4cを演出回転させた後に改めて定常回転状態に向けて起動させるための各種の設定処理が実行される。
一方、リール演出抽選に当選していない場合、ステップS109の回胴回転開始設定処理では回転リール4a,4b,4cを定常回転状態に向けて起動させるための各種の設定処理が実行される。
なお、当該ステップS109で実行される具体的な処理の内容については後の図12で改めて説明する。
ところで、遊技者は、スタートレバー17の操作に応じて或るリール演出が実行された場合には、そのリール演出の種類に応じた所定の図柄に内部当選していることを推理できる。遊技者は、このような推理から目標とした図柄が停止ライン上に揃うように停止操作を行う。推理が当った場合であって、且つ、停止タイミングが適切な場合に限り、内部当選状態が実効化されて所定のメダルが払出される。
CPU80aは、ステップS109の回胴回転開始設定処理を実行したことに応じ、次のステップS110で回胴停止処理を実行する。
回胴停止処理では、停止ボタン18a,18b,18cの操作に応じて、回転リール4a,4b,4cの停止図柄を決定するための処理や、回転リール4a,4b,4cを停止図柄で停止させるための各種データの設定処理が行われる。また、回胴停止処理では、停止ライン上に停止された図柄の照合処理も行われる。
なお、ステップS110の回胴停止処理として実行される具体的な処理の内容については後の図18により改めて説明する。
回胴停止処理では、停止ボタン18a,18b,18cの操作に応じて、回転リール4a,4b,4cの停止図柄を決定するための処理や、回転リール4a,4b,4cを停止図柄で停止させるための各種データの設定処理が行われる。また、回胴停止処理では、停止ライン上に停止された図柄の照合処理も行われる。
なお、ステップS110の回胴停止処理として実行される具体的な処理の内容については後の図18により改めて説明する。
なお、上記の回胴停止処理においては、内部抽選処理(S106)の当否結果に沿うように、回転リール4a,4b,4cのうち対応する回転リール4を停止制御する。すなわち、内部抽選処理の結果、何らかの内部当選状態であれば、遊技者の適切な停止操作を条件として、当選結果に合うよう回転リール4a,4b,4cの図柄を整列させる。但し、遊技者が停止ボタン18を押すタイミングや、停止操作の順番が不適切である場合には、ハズレ状態の図柄で停止される。この結果、折角の小役当選も無駄になるが、ボーナス当選については、次回のゲーム以降も持ち越される。但し、リール演出が実行された場合には、その示唆に沿って正しい停止操作を実行すれば、メダルの取りこぼしが回避可能となる。
CPU80aは、ステップS110の回胴停止処理を実行したことに応じ、次のステップS111で入賞判定処理を実行する。すなわち、ステップS110の回胴停止処理における上記の照合処理の結果に基づき、停止ライン上に当選図柄(当選役)が揃ったか否かを判定すると共に、当該判定結果に応じたメダルの払出枚数を算出する。
なお、入賞判定処理では、停止ライン上に当選図柄が揃ったか否かの判定結果を示す制御コマンド(入賞情報コマンド)を演出制御基板42に送信するべく、入賞情報コマンドを演出制御インターフェース86における送信バッファにセットする処理も行われる。
また、入賞判定処理では、算出した払出枚数分のメダル払出をメダル払出装置5に実行させるべく、当該払出枚数によるメダル払出を指示する制御コマンドを払出接続インターフェース87における送信バッファにセットする処理も行われる。
なお、入賞判定処理では、停止ライン上に当選図柄が揃ったか否かの判定結果を示す制御コマンド(入賞情報コマンド)を演出制御基板42に送信するべく、入賞情報コマンドを演出制御インターフェース86における送信バッファにセットする処理も行われる。
また、入賞判定処理では、算出した払出枚数分のメダル払出をメダル払出装置5に実行させるべく、当該払出枚数によるメダル払出を指示する制御コマンドを払出接続インターフェース87における送信バッファにセットする処理も行われる。
続くステップS112でCPU80aは、メダル払出枚数監視処理として、メダル払出センサ76の検出信号に基づき払出メダル枚数をカウントすると共に、メダル払出に応じてクレジットの値を更新する処理を行う。
なお、メダル払出枚数監視処理では、メダル払出を示す制御コマンド(払出コマンド)を演出制御基板42に送信するべく、払出コマンドを演出制御インターフェース86における送信バッファにセットする処理も行われる。
なお、メダル払出枚数監視処理では、メダル払出を示す制御コマンド(払出コマンド)を演出制御基板42に送信するべく、払出コマンドを演出制御インターフェース86における送信バッファにセットする処理も行われる。
さらに、次のステップS113でCPU80aは、再遊技設定処理を実行する。再遊技設定処理では、リプレイ当選状態か否かを判定し、リプレイ当選状態であれば、再遊技動作の開始処理を実行し、ステップS114に進む。リプレイ当選状態でない場合には、再遊技動作の開始処理は実行せずにステップS114に進む。
ステップS114でCPU80aは、現在がボーナスゲーム中か否かを判定する。ボーナスゲーム中であれば、CPU80aはステップS116のボーナス作動中処理としてボーナス作動中である場合に対応した所定処理を実行した上で、先のステップS102に戻る。
一方、現在がボーナスゲーム中でなかった場合、CPU80aはステップS115でボーナス図柄が揃っているか否かを判定し、ボーナス図柄が揃っている場合には、ステップS117のボーナス作動開始処理としてボーナス開始時に対応した各種の設定処理を実行した上で、ステップS102に戻る。
ボーナス図柄が揃っていなかった場合、CPU80aはステップS117のボーナス作動開始処理をパスしてステップS102に戻る。
ボーナス図柄が揃っていなかった場合、CPU80aはステップS117のボーナス作動開始処理をパスしてステップS102に戻る。
<5.タイマ割込み処理>
続いて、図10を参照して1.49msごとに起動されるタイマ割込み処理について説明する。
先ず、CPU80aはステップS201でレジスタの値を退避させた上で(レジスタ退避処理)、ステップS202で各種スイッチ信号やセンサ信号を受ける入力ポートのデータを取得し、例えばRAM80cの所定領域に記憶させる(ポート入力処理)。なお、センサ信号には、メダル通過センサ67やメダル払出センサ76、第1回胴インデックスセンサ55a、第2回胴インデックスセンサ55b及び第3回胴インデックスセンサ55cの各インデックスセンサ55、及びドアセンサ66等からの検出信号が含まれる。また、ポート入力処理では、カウンタ回路81からの乱数値の取り込みも行われる。
続いて、図10を参照して1.49msごとに起動されるタイマ割込み処理について説明する。
先ず、CPU80aはステップS201でレジスタの値を退避させた上で(レジスタ退避処理)、ステップS202で各種スイッチ信号やセンサ信号を受ける入力ポートのデータを取得し、例えばRAM80cの所定領域に記憶させる(ポート入力処理)。なお、センサ信号には、メダル通過センサ67やメダル払出センサ76、第1回胴インデックスセンサ55a、第2回胴インデックスセンサ55b及び第3回胴インデックスセンサ55cの各インデックスセンサ55、及びドアセンサ66等からの検出信号が含まれる。また、ポート入力処理では、カウンタ回路81からの乱数値の取り込みも行われる。
次に、CPU80aはステップS203で回胴回転制御処理を実行する。回胴回転制御処理は、図9のメイン処理における回胴回転開始設定処理(S109)や回胴停止処理(S110)での設定データに基づいて、実際にステッピングモータ54a,54b,54cを回転/停止させるための励磁データφ1〜φ4をRAM80cに用意された出力バッファにセットする処理となる。
なお、ステップS203の回胴回転制御処理については後の図14及び図15により改めて説明する。
なお、ステップS203の回胴回転制御処理については後の図14及び図15により改めて説明する。
続くステップS204でCPU80aは、定期更新処理として各種の対象タイマについての更新処理を実行した上で、ステップS205でコマンド出力処理を実行する。すなわち、演出制御インターフェース86における送信バッファにセットされている制御コマンドを1バイト毎に演出制御基板42に出力する。
次のステップS206でCPU80aは、表示・モータ出力処理として各種ランプの表示動作を更新すると共にステップS203でセットした励磁データφ1〜φ4を回胴モータ駆動部85を介してステッピングモータ54a,54b,54cに出力させる。なお、このステップS206で表示更新されるランプには、LED群9として設けられたランプ(例えば回胴を回転させる準備が整ったことを示すLEDやメダルの投入受付状態を示すLED、投入されたメダルの枚数を示すLED等)が含まれている。
さらに、CPU80aは、次のステップS207で異常監視処理を実行し、ステップS208で外部情報信号出力処理を実行する。ステップS207の異常監視処理では、前述したレバー検知センサ68やメダル払出センサ76、ドア開放センサ35の検出信号に基づく異常の有無の判定と判定結果に応じた処理を実行する。また、ステップS208の外部情報信号出力処理は、前述した外部集中端子板70を介した情報出力に係る処理であり、具体的には、払出したメダルなどの情報をホールコンピュータに出力する処理を実行する。
続くステップS209でCPU80aは、マックス投入ボタン有効フラグを確認し、マックス投入ボタン有効フラグが「1」(オン)であればステップS210でマックス投入ボタン16が操作されているか否かを判別する。なお、マックス投入ボタン有効フラグは、1ゲームに必要な枚数のコインが投入されたことに応じてオン、それ以外の場合はオフ(「0」)とされるフラグである。
ステップS210において、マックス投入ボタン16が操作されていた場合、CPU80aはステップS211でマックス投入操作コマンドをセットし、ステップS212に進む。
ステップS210において、マックス投入ボタン16が操作されていた場合、CPU80aはステップS211でマックス投入操作コマンドをセットし、ステップS212に進む。
一方、ステップS209でマックス投入ボタン有効フラグが「0」であった場合、又はステップS210でマックス投入ボタン16が操作されていなかった場合には、CPU80aはそのままステップS212に処理を進める。
ステップS212でCPU80aは、先のステップS201の処理で退避したレジスタの値を復帰させる。ステップS212のレジスタ復帰処理を実行したことに応じ、CPU80aはタイマ割込み処理を終える。
<6.回胴の回転及び停止に係る処理>
[6-1.回胴制御フラグ]
続いて、回転リール4a〜4cの回転と停止に係る処理について説明する。
先ずは、回転リール4a〜4cの回転と停止に係る処理で用いられる回胴制御フラグFGa〜FGcについて説明しておく。
本実施の形態においては、3つの回転リール4a〜4cに対応してそれぞれ各1バイト長(8ビット長)の回胴制御フラグFGa〜FGcが用意され、該回胴制御フラグFGa〜FGcの各バイトの値に基づいて演出回転、及び起動回転(加速回転)から完全停止までの回転動作の制御が行われる。
[6-1.回胴制御フラグ]
続いて、回転リール4a〜4cの回転と停止に係る処理について説明する。
先ずは、回転リール4a〜4cの回転と停止に係る処理で用いられる回胴制御フラグFGa〜FGcについて説明しておく。
本実施の形態においては、3つの回転リール4a〜4cに対応してそれぞれ各1バイト長(8ビット長)の回胴制御フラグFGa〜FGcが用意され、該回胴制御フラグFGa〜FGcの各バイトの値に基づいて演出回転、及び起動回転(加速回転)から完全停止までの回転動作の制御が行われる。
図11Aは、回胴制御フラグFGa〜FGcのデータ構造を例示している。
回胴制御フラグFGa〜FGcの各々は、それぞれ1ビットで成る制御中フラグF0、リール演出中フラグF1、回胴センサONフラグF2、停止命令フラグF3、停止信号検出フラグF4、回胴起動済みフラグF5、回胴起動フラグF6、回胴停止中フラグF7の8ビットで構成されている。各フラグFのビット位置は、そのフラグFに付した番号が表すビット位置と一致している。
回胴制御フラグFGa〜FGcの各々は、それぞれ1ビットで成る制御中フラグF0、リール演出中フラグF1、回胴センサONフラグF2、停止命令フラグF3、停止信号検出フラグF4、回胴起動済みフラグF5、回胴起動フラグF6、回胴停止中フラグF7の8ビットで構成されている。各フラグFのビット位置は、そのフラグFに付した番号が表すビット位置と一致している。
図11Bは、各フラグF7〜F0の意義についての説明図である。
制御中フラグF0は、回転リール4が回転制御中であるか否かを表し、スタートレバー17のON操作による回転開始から、停止ボタン18のON操作に応じた完全停止状態までの間はF0=1となる。リール演出中フラグF1は、回転リール4を変則回転させるリール演出中であることをF1=1により表す。回胴起動中フラグF6は、回転リール4を定常回転としての一定速度による回転状態まで加速させる起動動作中であることをF6=1で表す。回胴起動済みフラグF5は、起動を終えた回転リール4が定常回転していることをF5=1で表す。
制御中フラグF0は、回転リール4が回転制御中であるか否かを表し、スタートレバー17のON操作による回転開始から、停止ボタン18のON操作に応じた完全停止状態までの間はF0=1となる。リール演出中フラグF1は、回転リール4を変則回転させるリール演出中であることをF1=1により表す。回胴起動中フラグF6は、回転リール4を定常回転としての一定速度による回転状態まで加速させる起動動作中であることをF6=1で表す。回胴起動済みフラグF5は、起動を終えた回転リール4が定常回転していることをF5=1で表す。
また、停止信号検出フラグF4は、遊技者が停止ボタン18をON操作したことが検出されるとF4=1となり、停止命令フラグF3は、その後の滑り(スベリ)制御を経てメイン処理の回胴停止処理(S110)で停止図柄への到達が検出されたことに応じてF3=1となる。
回胴停止中フラグF7は、停止図柄における所定の停止実行ステップ位置(後述する)への到達に応じてF7=1となる。このF7=1となるタイミングは、後述する停止のための全相励磁が開始するタイミングに相当する。なお、回胴停止中フラグF7は、後の図12により説明するステップS307で回転リール4の起動前に回胴制御フラグFG=01hにセットされることでF7=0となる。
回胴停止中フラグF7は、停止図柄における所定の停止実行ステップ位置(後述する)への到達に応じてF7=1となる。このF7=1となるタイミングは、後述する停止のための全相励磁が開始するタイミングに相当する。なお、回胴停止中フラグF7は、後の図12により説明するステップS307で回転リール4の起動前に回胴制御フラグFG=01hにセットされることでF7=0となる。
また、回胴センサONフラグF2は、各回転リール4が回転を開始した後、原点位置101に達する毎にインデックスセンサ55がONすること応じてF2=1にセットされる。回胴センサONフラグF2は、遊技者による停止操作を受け付けるか否かを規定しており、F2=1となった後の停止操作が有効な停止操作として受け付けられる。
[6-2.回胴の回転開始〜定常回転中に係る処理]
回転リール4a〜4cの回転動作や停止動作は、図9に示したメイン処理における回胴回転開始設定処理(S109)及び回胴停止処理(S110)と、図10に示したタイマ割込み処理における回胴回転制御処理(S203)とが協働(cooperation) することで実現される。
以下、これら回胴回転開始設定処理、回胴停止処理、及び回胴回転制御処理について、回胴の回転開始〜定常回転中と、回転停止との観点で分けて説明する。
回転リール4a〜4cの回転動作や停止動作は、図9に示したメイン処理における回胴回転開始設定処理(S109)及び回胴停止処理(S110)と、図10に示したタイマ割込み処理における回胴回転制御処理(S203)とが協働(cooperation) することで実現される。
以下、これら回胴回転開始設定処理、回胴停止処理、及び回胴回転制御処理について、回胴の回転開始〜定常回転中と、回転停止との観点で分けて説明する。
先ずは図12のフローチャートにより、回胴回転開始設定処理について説明する。
図12において、CPU80aは、ステップS301でリール演出フラグを取得し、ステップS302でリール演出抽選に当選しているか否かを判別する。リール演出フラグは、図9のメイン処理におけるリール演出抽選処理(S107)の抽選結果を表すフラグであり、リール演出抽選の当否及び当選したリール演出の種類を表す。なお、リール演出フラグについては後述する。
図12において、CPU80aは、ステップS301でリール演出フラグを取得し、ステップS302でリール演出抽選に当選しているか否かを判別する。リール演出フラグは、図9のメイン処理におけるリール演出抽選処理(S107)の抽選結果を表すフラグであり、リール演出抽選の当否及び当選したリール演出の種類を表す。なお、リール演出フラグについては後述する。
リール演出抽選に当選していた場合、CPU80aはステップS303でリール演出開始設定・待機処理を実行する。すなわち、予め用意された演出テーブルのうちから当選したリール演出の種類に応じた演出テーブルをステッピングモータ54a,54b,54cごとにセットする等、演出回転を開始するための必要な設定処理を実行すると共に、演出回転が終了するまで待機する。
なお、選択した演出テーブルに基づく回転制御のための処理は、図10に示したタイマ割込み処理における回胴回転制御処理(S203)で実行される。具体的には、後の図14に示すリール演出中処理(S404)を経てタイマ割込みごとに対応する励磁データφ1〜φ4を出力することで実行される。
図14を参照して分かるように、ステップS404のリール演出中処理が実行されるためには、前述した回胴制御フラグFGにおける制御中フラグF0及びリール演出中フラグF2が共に「1」とされている必要がある(S402及びS403を参照)。このため、ステップS303のリール演出開始設定・待機処理においては、回胴制御フラグFGa〜FGcのうちリール演出を要する回胴制御フラグFGの値が03hにセットされる。FG=03hは、その回胴制御フラグFGについて、制御中フラグF0と、リール演出中フラグF1とが「1」にセットされたことを意味する。
リール演出が実行されない回転リールについては、その回胴制御フラグFGは00hに設定される。FG=00hは、制御中フラグF0=0であることを意味するので、その回転リールは停止状態を維持する。
なお、ステップS303のリール演出開始設定・待機処理として実行される具体的な処理の内容については後に改めて説明する。
図14を参照して分かるように、ステップS404のリール演出中処理が実行されるためには、前述した回胴制御フラグFGにおける制御中フラグF0及びリール演出中フラグF2が共に「1」とされている必要がある(S402及びS403を参照)。このため、ステップS303のリール演出開始設定・待機処理においては、回胴制御フラグFGa〜FGcのうちリール演出を要する回胴制御フラグFGの値が03hにセットされる。FG=03hは、その回胴制御フラグFGについて、制御中フラグF0と、リール演出中フラグF1とが「1」にセットされたことを意味する。
リール演出が実行されない回転リールについては、その回胴制御フラグFGは00hに設定される。FG=00hは、制御中フラグF0=0であることを意味するので、その回転リールは停止状態を維持する。
なお、ステップS303のリール演出開始設定・待機処理として実行される具体的な処理の内容については後に改めて説明する。
ステップS303によるリール演出開始設定・待機処理が完了した場合(つまりリール演出が完了した場合)、又は先のステップS302でリール演出抽選に当選していないとの否定結果が得られた場合、CPU80aは、ステップS304のウェイトタイマ取得処理及び続くステップS305の指定数割込み待ち処理を実行した上で、次のステップS306でウェイトタイマを4.1sにセットする。このウェイトタイマのセットにより、4.1sのタイムカウントがスタートされる。
ここで、4.1sは、ゲーム間の時間間隔として最低限空けるべき時間長である。このようにゲーム間の時間間隔として最低限の間隔が定められていることで、遊技者がメダルを過大消費してしまうことの防止が図られている。
ステップS304のウェイトタイマ取得処理では、1ゲーム前に実行されたステップS306のタイマセット処理によりカウントスタートされたウェイトタイマの値が取得される。ステップS305の待ち処理では、このように取得したウェイトタイマの値に応じたタイマ割込回数(取得ウェイトタイマ値÷1.49ms)分の待機を行う。
これにより、ゲーム間の間隔が最低でも4.1s以上空けられる。
なお、4.1sは一例であって、適宜変更が可能である。
ここで、4.1sは、ゲーム間の時間間隔として最低限空けるべき時間長である。このようにゲーム間の時間間隔として最低限の間隔が定められていることで、遊技者がメダルを過大消費してしまうことの防止が図られている。
ステップS304のウェイトタイマ取得処理では、1ゲーム前に実行されたステップS306のタイマセット処理によりカウントスタートされたウェイトタイマの値が取得される。ステップS305の待ち処理では、このように取得したウェイトタイマの値に応じたタイマ割込回数(取得ウェイトタイマ値÷1.49ms)分の待機を行う。
これにより、ゲーム間の間隔が最低でも4.1s以上空けられる。
なお、4.1sは一例であって、適宜変更が可能である。
CPU80aは、ステップS306のタイマセット処理を実行したことに応じ、ステップS307で回胴制御フラグFGa〜FGcを01hにセットする。ここで、回胴制御フラグFG=01hとは、制御中フラグF0=1で、他のフラグF1〜F7が全て0を意味する。このように制御中フラグF0のみが「1」に設定されたことで、その後のタイマ割込み処理の回胴回転制御処理(S203)によって、3つの回転リール4a〜4cを定常回転に向けて起動させるための制御が開始される(図14及び図15を参照)。
次のステップS308でCPU80aは、起動用のモータ動作テーブルをセットする。すなわち、ステッピングモータ54a〜54cを定常回転に向けて加速回転させるためのモータ動作を実現するためのモータ動作テーブルをセットする。
本実施の形態の場合、起動用のモータ動作テーブルとしては、図13に示す励磁出力タイムデータテーブルをセットするが、これについては後に改めて説明する。
タイマ割込み処理の回胴回転制御処理(S203)では、このようにメイン処理側でセットされた励磁出力タイムデータテーブルに従って3つの回転リール4a〜4cを定常回転に向けて起動させるための処理が実行される(図14及び図15参照)。
本実施の形態の場合、起動用のモータ動作テーブルとしては、図13に示す励磁出力タイムデータテーブルをセットするが、これについては後に改めて説明する。
タイマ割込み処理の回胴回転制御処理(S203)では、このようにメイン処理側でセットされた励磁出力タイムデータテーブルに従って3つの回転リール4a〜4cを定常回転に向けて起動させるための処理が実行される(図14及び図15参照)。
CPU80aは、ステップS308で起動用のモータ動作テーブルをセットしたことに応じ、ステップS309で再遊技作動状態ビットのクリアと再遊技LEDのオフ制御とを行う。なお、再遊技作動状態ビットは、1つ前のゲームに対応して実行されたステップS113の再遊技設定処理において、リプレイ当選状態であった場合に所定値(例えば1)がセットされている。
続くステップS310でCPU80aは、回転状態フラグを「1」に設定して全ての回転リール4が回転中である旨を表し、次のステップS316で回転開始コマンドを演出制御インターフェース86における送信バッファにセットした上で、この図に示す回胴回転開始設定処理を終える。
ここで、上記のステップS308で起動用のモータ動作テーブルとしてセットされる励磁出力タイムデータテーブルについて図13を参照して説明しておく。
図13に示すように、励磁出力タイムデータテーブルは、0から昇順の値が付されたインデックス(以下「タイムテーブルインデックス」とも表記)ごとに、それぞれタイマ値が対応づけられたテーブルとされている。本実施の形態の場合、タイムテーブルインデックスとしては0〜25の計26個が用意されている。
図13に示すように、励磁出力タイムデータテーブルは、0から昇順の値が付されたインデックス(以下「タイムテーブルインデックス」とも表記)ごとに、それぞれタイマ値が対応づけられたテーブルとされている。本実施の形態の場合、タイムテーブルインデックスとしては0〜25の計26個が用意されている。
ここで、タイマ値は、タイマ割込み処理におけるステップS203の回胴回転制御処理で用いられるモータ出力タイマTomに設定される値である。
モータ出力タイマTomは、定常回転中以外の回転制御において用いられるタイマであり、先の図7Cで説明した0〜7の8種の励磁データφ1〜φ4の組に関して、同一種類の励磁データφ1〜φ4による励磁状態を維持する時間長を管理するためのタイマとされている。モータ出力タイマTomの値は、RAM80cに保持される。すなわち、モータ出力タイマTomの値の更新はRAM80c上で行われる。
定常回転中においては、励磁ポインタPTの値が1回のタイマ割込み処理ごとにインクリメントされるため、同一種類の励磁データφ1〜φ4の組による励磁状態を維持する割込み回数を管理する必要がない。一方、定常回転中以外の回転制御、すなわちリール演出での演出回転制御、定常回転に向けての起動回転制御、及び回転停止制御においては、同一種類の励磁データφ1〜φ4の組による励磁状態を複数回のタイマ割込み処理にわたって維持することがある。このため、モータ出力タイマTomを設けて、同一種類の励磁データφ1〜φ4の組による励磁状態を維持するタイマ割込み回数を管理可能としている。
モータ出力タイマTomは、定常回転中以外の回転制御において用いられるタイマであり、先の図7Cで説明した0〜7の8種の励磁データφ1〜φ4の組に関して、同一種類の励磁データφ1〜φ4による励磁状態を維持する時間長を管理するためのタイマとされている。モータ出力タイマTomの値は、RAM80cに保持される。すなわち、モータ出力タイマTomの値の更新はRAM80c上で行われる。
定常回転中においては、励磁ポインタPTの値が1回のタイマ割込み処理ごとにインクリメントされるため、同一種類の励磁データφ1〜φ4の組による励磁状態を維持する割込み回数を管理する必要がない。一方、定常回転中以外の回転制御、すなわちリール演出での演出回転制御、定常回転に向けての起動回転制御、及び回転停止制御においては、同一種類の励磁データφ1〜φ4の組による励磁状態を複数回のタイマ割込み処理にわたって維持することがある。このため、モータ出力タイマTomを設けて、同一種類の励磁データφ1〜φ4の組による励磁状態を維持するタイマ割込み回数を管理可能としている。
モータ出力タイマTomに値がセットされると、1回のタイマ割込み処理ごとにモータ出力タイマTomの値がデクリメントされ、モータ出力タイマTomの値が「0」となったことに応じて励磁ポインタPTの値がインクリメントされる。これにより、モータ出力タイマTomにセットする値によって、同一種類の励磁データφ1〜φ4の組による励磁状態を維持するタイマ割込み回数を指定可能とされている。
起動回転時には、図13に示す励磁出力タイムデータテーブルに格納されたタイマ値がモータ出力タイマTomに逐次セットされる。具体的に、起動回転時には、インデックス=0に対応づけられたタイマ値がモータ出力タイマTomにセットされた後、モータ出力タイマTomの値が0となるごとに、次のインデックスに対応づけられたタイマ値がモータ出力タイマTomにセットされる。
前述のようにモータ出力タイマTomの値が「0」となると励磁ポインタPTの値がインクリメントされるため、出力される励磁データφ1〜φ4の組が切り替えられる。同時に、モータ出力タイマTomの値が「0」となると、上記のように励磁データテーブルにおけるインデックスの値も切り替えられる。
前述のようにモータ出力タイマTomの値が「0」となると励磁ポインタPTの値がインクリメントされるため、出力される励磁データφ1〜φ4の組が切り替えられる。同時に、モータ出力タイマTomの値が「0」となると、上記のように励磁データテーブルにおけるインデックスの値も切り替えられる。
このことから理解されるように、励磁出力タイムデータテーブルは、インデックスごとに格納するタイマ値によって、励磁ポインタPT(0〜7)の各値が示す励磁データφ1〜φ4の組による励磁状態を維持する時間長を規定可能とされていると共に、インデックスの設定数によって起動時間を規定することも可能とされる。
なお、励磁出力タイムデータテーブルについて、インデックスごとに格納されるタイマ値の具体的数値については後に改めて説明する。
上記の前提を踏まえ、タイマ割込み処理において実行されるステップS203の回胴回転制御処理を図14及び図15のフローチャートを参照して説明する。
なお、回胴回転制御処理は、回転リール4の停止に係る処理も含むが、ここでは先ず、回転リール4の起動と定常回転中に対応した処理について説明する。
なお、回胴回転制御処理は、回転リール4の停止に係る処理も含むが、ここでは先ず、回転リール4の起動と定常回転中に対応した処理について説明する。
図14において、CPU80aは、先ずステップS401で回胴制御フラグFGをチェックする。すなわち、回胴制御フラグFGa〜FGcのうち、現在の処理対象である回転リール4に対応する回胴制御フラグFGをチェックする。
続くステップS402でCPU80aは、制御中フラグF0の値を判別し、F0=0であればステップS444で全ての回転リール4について処理が終了したか(全ての回転リール4についてステップS401以降の処理を実行したか)否かを判別する。全ての回転リール4について処理が終了していなければ、CPU80aはステップS401に戻って次の回転リール4に対応する回胴制御フラグFGをチェックし、全ての回転リール4について処理が終了していれば回胴回転制御処理を終える。
なお、リール演出を行うべき回転リール4についての回胴制御フラグFGは、前述したステップS303のリール演出開始設定・待機処理において回胴制御フラグFGが03hにセットされることで制御中フラグF0=1、リール演出中フラグF2=1とされている。リール演出を実行しない回転リール4についての回胴制御フラグFGはステップS303の処理で00hに設定されるため制御中フラグF0=0である。
なお、リール演出を行うべき回転リール4についての回胴制御フラグFGは、前述したステップS303のリール演出開始設定・待機処理において回胴制御フラグFGが03hにセットされることで制御中フラグF0=1、リール演出中フラグF2=1とされている。リール演出を実行しない回転リール4についての回胴制御フラグFGはステップS303の処理で00hに設定されるため制御中フラグF0=0である。
一方、ステップS402においてF0=1であった場合、CPU80aはステップS403でリール演出中フラグF2の値を判別し、F2=1であった場合はステップS404のリール演出中処理を実行する。
リール演出中処理は、前述したステップS303のリール演出開始設定・待機処理で選択した演出テーブルに従って、今回のタイマ割込み処理に対応した励磁データφ1〜φ4を設定する処理となる。
CPU80aは、ステップS402のリール演出中処理により励磁データφ1〜φ4を設定したことに応じて、当該設定した励磁データφ1〜φ4をステップS443で当該回転リール4(現在の処理対象である回転リール4)に対応する出力バッファ(前述のようにRAM80c内に用意されている)にセットする。このようにセットされた励磁データφ1〜φ4が、回胴モータ駆動部85を介して該当するステッピングモータ54に対して出力される(先のステップS206「表示・モータ出力処理」参照)。
ステップS443で励磁データφ1〜φ4をセットしたことに応じ、CPU80aは前述したステップS444に処理を進める。
リール演出中処理は、前述したステップS303のリール演出開始設定・待機処理で選択した演出テーブルに従って、今回のタイマ割込み処理に対応した励磁データφ1〜φ4を設定する処理となる。
CPU80aは、ステップS402のリール演出中処理により励磁データφ1〜φ4を設定したことに応じて、当該設定した励磁データφ1〜φ4をステップS443で当該回転リール4(現在の処理対象である回転リール4)に対応する出力バッファ(前述のようにRAM80c内に用意されている)にセットする。このようにセットされた励磁データφ1〜φ4が、回胴モータ駆動部85を介して該当するステッピングモータ54に対して出力される(先のステップS206「表示・モータ出力処理」参照)。
ステップS443で励磁データφ1〜φ4をセットしたことに応じ、CPU80aは前述したステップS444に処理を進める。
このようにリール演出中には、1回のタイマ割込み処理において、ステップS401→S402→S403→S404→S443→S444→S401の処理が繰り返し実行され、リール演出を実行すべき全ての回転リール4について1タイマ割込み処理分の励磁データφ1〜φ4がそれぞれ対応する出力バッファにセットされる。このような1タイマ割込み処理ごとの励磁データφ1〜φ4をセットする処理が演出テーブルに規定された態様で実行されることで、リール演出を実行すべき全ての回転リール4についての演出回転が実現される。
なお、ステップS402のリール演出中処理で実行される具体的な処理の内容については後に改めて説明する。
ここで、回転リール4の演出回転が終了したことに応じては、回転リール4a〜4cの起動回転を開始させるべく、前述したステップS307の処理により回胴制御フラグFGa〜FGcが01hにセットされる。すなわち、制御中フラグF0=1、それ以外のフラグF1〜F7が全て0にセットされる。これに応じて、回転リール4a〜4cごとに以下で説明する起動のための処理が実行される。
先ず、制御中フラグF0のみが「1」で他のフラグF1〜F7が全て「0」であることから、CPU80aはステップS401→S402→S403と処理を進める。リール演出中フラグF1=0であるため、CPU80aはステップS403からステップS405に処理を進めて回胴停止中フラグF7=1であるか否かを判別するが、F7=1ではないためステップS406に進んで回胴起動中フラグF6の値を判別する。F6=1ではないため、CPU80aは図15に示すステップS407に進んで回胴起動済みフラグF5=1であるか否かを判別する。F5=0であるため、CPU80aはステップS412に処理を進める。
ステップS412〜S415の処理は、処理対象の回転リール4について起動を開始させるために各種の変数を初期設定する処理となる。
先ず、ステップS412でCPU80aは、励磁ポインタPTのビット0(LSB:Least Significant Bit)の値をクリアする。図7Cに示したように、励磁ポインタPTは値「0〜7」の別を表すもので、本例では例えば3ビットで構成されている。励磁ポインタPTのLSBの値をクリアするということは、励磁ポインタPTの値を0,2,4,6の何れか(つまり偶数)にセットすることを意味する。例えば、励磁ポインタPTの値が「6」を表す「110」であった場合にはそのまま「6」を表す「110」がセットされる。一方、励磁ポインタPTの値が「7」を表す「111」であった場合には、「6」を表す「110」にセットされることになる。
先ず、ステップS412でCPU80aは、励磁ポインタPTのビット0(LSB:Least Significant Bit)の値をクリアする。図7Cに示したように、励磁ポインタPTは値「0〜7」の別を表すもので、本例では例えば3ビットで構成されている。励磁ポインタPTのLSBの値をクリアするということは、励磁ポインタPTの値を0,2,4,6の何れか(つまり偶数)にセットすることを意味する。例えば、励磁ポインタPTの値が「6」を表す「110」であった場合にはそのまま「6」を表す「110」がセットされる。一方、励磁ポインタPTの値が「7」を表す「111」であった場合には、「6」を表す「110」にセットされることになる。
続くステップS413でCPU80aは、回胴起動中フラグF6=1、回胴センサONフラグF2=0にセットする。回胴センサONフラグF2は、後述するステップS423において処理対象の回転リール4についての原点位置101が検出されたことに応じてステップS425で「1」がセットされるフラグであり、回胴センサONフラグF2=1でない、つまりは原点位置101が検出されていなければ、停止操作が受け付けられないようになっている(この点は後述する)。
次のステップS414でCPU80aは、図柄ステップ数を初期値である「24」にセットし、さらに次のステップS415でリール起動中の初期化処理としてリールエラータイマ=0、図柄カウンタ=0、タイムテーブルインデックス=0、モータ出力タイマTom=1にセットする。
ここで、「図柄カウンタ」及び「図柄ステップ数」は、共に回転リール4の定常回転が開始(つまり起動が終了)された後にその回転リール4の原点位置101が検出されてからカウントが開始される値とされている(S426,S429,S432を参照)。図柄カウンタは、回転リール4における現在の図柄(つまり1番目〜21番目)の番号を表す。図柄ステップ数は、図柄カウンタの値が表す図柄におけるステップ位置(つまり24(0)番〜1番の何れか)を表す。
「リールエラータイマ」は、回転リール4が定常回転中である状態で、当該回転リール4が正常に回転しているか否かを判定するためのタイマである。
また、「タイムテーブルインデクス」は、図13で説明した励磁出力タイムデータテーブルのインデックスの値である。
「リールエラータイマ」は、回転リール4が定常回転中である状態で、当該回転リール4が正常に回転しているか否かを判定するためのタイマである。
また、「タイムテーブルインデクス」は、図13で説明した励磁出力タイムデータテーブルのインデックスの値である。
CPU80aは、ステップS415のリール起動中の初期化処理を実行したことに応じ、図14に示すステップS416に進んでモータ出力タイマTomの値(前述のようにRAM80c内に保持されている)をデクリメント(−1)した上で、ステップS417でモータ出力タイマTomの値が「0」であるか否かを判別する。
モータ出力タイマTomの値が「0」でなければ、CPU80aは前述したステップS444に進んで全ての回転リール4について処理が終了したか否かを判別する。このようにモータ出力タイマTom≠0のときは、ステップS443による励磁データφ1〜φ4のセット処理は実行されない。従って、既に以前のタイマ割込み処理時に励磁データφ1〜φ4がセットされていれば、その励磁データφ1〜φ4の出力状態が維持される。
なお、起動開始時には、モータ出力タイマTomの値は先のステップS415で「1」とされた後、ステップS416で−1されるため「0」である。
モータ出力タイマTomの値が「0」でなければ、CPU80aは前述したステップS444に進んで全ての回転リール4について処理が終了したか否かを判別する。このようにモータ出力タイマTom≠0のときは、ステップS443による励磁データφ1〜φ4のセット処理は実行されない。従って、既に以前のタイマ割込み処理時に励磁データφ1〜φ4がセットされていれば、その励磁データφ1〜φ4の出力状態が維持される。
なお、起動開始時には、モータ出力タイマTomの値は先のステップS415で「1」とされた後、ステップS416で−1されるため「0」である。
一方、モータ出力タイマTomの値が0であった場合、CPU80aはステップS418で励磁出力タイムデータテーブルを参照しタイムテーブルインデックスに応じたタイマ値を取得する。前述のように起動開始時におけるタイムテーブルインデックスはステップS415で「0」に設定されているため、先ずは図13におけるインデックス=0に対応するタイマ値(「1」)が取得される。
続くステップS419でCPU80aは、取得したタイマ値をモータ出力タイマTomにセットする。そして、次のステップS420でタイムテーブルインデックスをインクリメント(+1)し、ステップS421で加速終了(起動終了)か否かを判別する。具体的には、タイムテーブルインデックスの値が励磁出力タイムデータテーブルにおける最後のインデックスの値である「25」に達している否かを判別する。
ステップS421において、タイムテーブルインデックスの値が「25」に達しており加速終了であるとの判別結果が得られた場合、CPU80aはステップS422で回胴起動中フラグF6を「0」、回胴起動済みフラグF5を「1」にそれぞれ設定した上で、ステップS435に処理を進める。
一方、タイムテーブルインデックスの値が「25」に達しておらず加速終了ではないとの判別結果が得られた場合、CPU80aはステップS422をパスしてステップS435に進む。
一方、タイムテーブルインデックスの値が「25」に達しておらず加速終了ではないとの判別結果が得られた場合、CPU80aはステップS422をパスしてステップS435に進む。
ステップS435でCPU80aは、励磁ポインタPTの値をインクリメント(+1)した上で、ステップS436で励磁データテーブルから励磁ポインタPTに応じた励磁データφ1〜φ4を取得し、さらにステップS443に進んで当該回転リール4に対応する出力バッファに励磁データφ1〜φ4をセットする。起動開始時に対応してステップS412から処理が開始されたときは、当該ステップS443の処理によって起動のための最初の励磁データφ1〜φ4がセットされることになる。
ステップS443で励磁データφ1〜φ4をセットした後は、ステップS444で全ての回転リール4についての処理が終了したか否かが判別される。
全ての回転リール4についての処理が終了していない場合、CPU80aはステップS401に戻って次の回転リール4についての回胴制御フラグFGがチェックするが、起動時においては前述のように全ての回転リール4についての回胴制御フラグFGが01hにセットされているため、次の回転リール4についても上記と同様の処理が実行され、当該回転リール4について起動のための励磁データφ1〜φ4が同様にセットされる。
全ての回転リール4についての処理が終了していない場合、CPU80aはステップS401に戻って次の回転リール4についての回胴制御フラグFGがチェックするが、起動時においては前述のように全ての回転リール4についての回胴制御フラグFGが01hにセットされているため、次の回転リール4についても上記と同様の処理が実行され、当該回転リール4について起動のための励磁データφ1〜φ4が同様にセットされる。
なお、本例において、起動開始時に初回にセットされる励磁データφ1〜φ4は、必ず1相励磁に対応した励磁データとなる。上述のように起動開始時には、励磁ポインタPTの値はステップS412でビット0がクリアされた後ステップS435で+1されるため、起動開始時には必ず奇数(1,3,5,7の何れか)が設定される。図7Cを参照して分かるように、奇数の値による励磁ポインタPTに対応づけられた励磁データφ1〜φ4の組は1相励磁の組となる。従って、起動開始時のモータ励磁は必ず1相励磁により行われる。
起動開始時には、全ての回転リール4についてステップS443による励磁データφ1〜φ4のセット処理が実行されると、ステップS444で全ての回転リール4について処理が終了したと判別され、今回のタイマ割込みにおける回胴回転制御処理は終了する。
次回のタイマ割込み処理におけるステップS203の回胴回転制御処理では、回転リール4ごとにステップS401から処理が実行されるが、上述のように直前のタイマ割込み処理(起動開始時)ではステップS413において回胴起動中フラグF6=1にセットされているため、ステップS406のフラグ判別処理を経て、処理はステップS416に進められる。
この際、回胴起動中フラグF6=1の状態は、先のステップS421で加速終了と判別されて後述するステップS422で0がセットされるまで維持されるため、起動が開始されてから終了するまでの間は、各タイマ割込みごとにステップS416以降の処理が実行される。
次回のタイマ割込み処理におけるステップS203の回胴回転制御処理では、回転リール4ごとにステップS401から処理が実行されるが、上述のように直前のタイマ割込み処理(起動開始時)ではステップS413において回胴起動中フラグF6=1にセットされているため、ステップS406のフラグ判別処理を経て、処理はステップS416に進められる。
この際、回胴起動中フラグF6=1の状態は、先のステップS421で加速終了と判別されて後述するステップS422で0がセットされるまで維持されるため、起動が開始されてから終了するまでの間は、各タイマ割込みごとにステップS416以降の処理が実行される。
ここで、ステップS416以降の処理においては、ステップS417の判別処理が設けられたことで、ステップS416でデクリメントされた後のモータ出力タイマTomの値が「0」となると、モータ出力タイマTomの値が以前のタイマ割込み処理時に+1されたタイムテーブルインデックスの値に応じたタイマ値にセットされる(S418及びS419)。さらに、タイムテーブルインデックスの値が+1され(S420)、励磁ポインタPTの値が+1され(S435)た上で、励磁ポインタPTが示す励磁データφ1〜φ4の組が出力バッファにセットされる(S443)。
一方、ステップS416のデクリメント処理を経た後のモータ出力タイマTomの値が「0」でない場合には、上記の各処理は行われず、従ってタイムテーブルインデックスの値及び励磁ポインタPTの値は同値で維持される。
一方、ステップS416のデクリメント処理を経た後のモータ出力タイマTomの値が「0」でない場合には、上記の各処理は行われず、従ってタイムテーブルインデックスの値及び励磁ポインタPTの値は同値で維持される。
このように、モータ出力タイマTom=0となるまでは励磁ポインタPTの値が同値で維持されるため、モータの励磁状態としては以前のタイマ割込み処理時(現在から見て最後にモータ出力タイマTom=0となったタイマ割込み処理時)にセットされた励磁データφ1〜φ4による励磁状態が維持される。すなわち、モータ出力タイマTomにセットしたタイマ値に応じたタイマ割込み回数分、同じ励磁データφ1〜φ4による励磁状態が維持される。
このように同じ励磁データφ1〜φ4による励磁状態が維持される回数(タイマ割込み回数)は、モータ出力タイマTomにセットする値、つまりは励磁出力タイムデータテーブルに格納されたタイマ値によって定まる。従って、前述もしたように、励磁出力タイムデータテーブルに格納されたタイマ値は同じ励磁データφ1〜φ4による励磁状態を維持させるタイマ割込み回数を規定する値として機能する。
ここで、上記の前提を踏まえた上で、本実施の形態における励磁出力タイムデータテーブルの内容について説明する。
図13において、本実施の形態の励磁出力タイムデータテーブルは、0〜25の計26個のタイムテーブルインデックスに対し、次のようにタイマ値が対応づけられている。すなわち、最後のインデックス25を除く0〜24のインデックスについては、偶数のインデックスに対して全てタイマ値=1が対応づけられ、奇数のインデックスに対しては全て1より大きいタイマ値が対応づけられている。これら奇数のインデックスについては、インデックスの値の昇順にタイマ値が段階的に小さくなるように対応づけが行われている。具体的に、インデックス1にはタイマ値=33、インデックス3にはタイマ値=8、インデックス5にはタイマ値=4、インデックス7,9,11,13,15にはタイマ値=3、インデックス17,19,21,23にはタイマ値=2が対応づけられている。
最後のインデクス25には、回転リール4の停止励磁時に用いる極めて大きなタイマ値が対応づけられており、本例ではタイマ値=151が対応づけられている。
図13において、本実施の形態の励磁出力タイムデータテーブルは、0〜25の計26個のタイムテーブルインデックスに対し、次のようにタイマ値が対応づけられている。すなわち、最後のインデックス25を除く0〜24のインデックスについては、偶数のインデックスに対して全てタイマ値=1が対応づけられ、奇数のインデックスに対しては全て1より大きいタイマ値が対応づけられている。これら奇数のインデックスについては、インデックスの値の昇順にタイマ値が段階的に小さくなるように対応づけが行われている。具体的に、インデックス1にはタイマ値=33、インデックス3にはタイマ値=8、インデックス5にはタイマ値=4、インデックス7,9,11,13,15にはタイマ値=3、インデックス17,19,21,23にはタイマ値=2が対応づけられている。
最後のインデクス25には、回転リール4の停止励磁時に用いる極めて大きなタイマ値が対応づけられており、本例ではタイマ値=151が対応づけられている。
前述のように、起動開始時の処理(メイン処理側のステップS307で回胴制御フラグFG=01hに設定された直後に実行されたタイマ割込み処理)では、タイムテーブルインデックスの値はステップS415で「0」とされる。そして、その後のステップS418・S419の処理では、このように「0」とされたタイムテーブルインデックスの値に応じたタイマ値がタイマTomにセットされる。
励磁出力タイムデータテーブルにおいて、インデックス=0に応じたタイマ値は「1」であるため、起動開始時のタイマ割込み処理の次のタイマ割込み処理では、ステップS416のデクリメント処理でモータ出力タイマTom=0とされ、ステップS417の判別処理を経てステップS418以降の処理が実行される。ステップS418以降の処理が実行されることで、励磁ポインタPTが更新されて次の励磁データφ1〜φ4がセットされる。
このように、インデックス0にタイマ値=1が対応づけられていることにより、起動開始時には、最初にセットされた励磁データφ1〜φ4による励磁状態が1回のタイマ割込み(1.49ms)に相当する時間分維持される。
励磁出力タイムデータテーブルにおいて、インデックス=0に応じたタイマ値は「1」であるため、起動開始時のタイマ割込み処理の次のタイマ割込み処理では、ステップS416のデクリメント処理でモータ出力タイマTom=0とされ、ステップS417の判別処理を経てステップS418以降の処理が実行される。ステップS418以降の処理が実行されることで、励磁ポインタPTが更新されて次の励磁データφ1〜φ4がセットされる。
このように、インデックス0にタイマ値=1が対応づけられていることにより、起動開始時には、最初にセットされた励磁データφ1〜φ4による励磁状態が1回のタイマ割込み(1.49ms)に相当する時間分維持される。
また、上記のように起動開始時の次のタイマ割込み処理でステップS418以降の処理が実行されることによっては、ステップS418・S419の処理によりモータ出力タイマTomの値として起動開始時のタイマ割込み処理時に+1したインデックスの値に応じたタイマ値がセットされる。
起動開始時のタイマ割込み処理時におけるステップS420のインクリメント処理が行われた時点のインデックスの値は「1」であるため、今回のタイマ割込み処理時でのステップS418・S419で用いられるインデックスの値は「1」である。このため、今回のタイマ割込み処理時のステップS418・S419で設定されるタイマ値は「33」である。
よって以降は、ステップS416のモータ出力タイマTomのデクリメント処理が33回行われるまで、つまりは33回のタイマ割込み処理が実行されるまで、今回のタイマ割込み処理のステップS436で取得された励磁データφ1〜φ4の組による励磁状態が維持される。
起動開始時のタイマ割込み処理時におけるステップS420のインクリメント処理が行われた時点のインデックスの値は「1」であるため、今回のタイマ割込み処理時でのステップS418・S419で用いられるインデックスの値は「1」である。このため、今回のタイマ割込み処理時のステップS418・S419で設定されるタイマ値は「33」である。
よって以降は、ステップS416のモータ出力タイマTomのデクリメント処理が33回行われるまで、つまりは33回のタイマ割込み処理が実行されるまで、今回のタイマ割込み処理のステップS436で取得された励磁データφ1〜φ4の組による励磁状態が維持される。
その後、33回のタイマ割込み処理が実行されてモータ出力タイマTom=0となったら、同様にステップS418以降の処理が行われて、モータ出力タイマTomの値のセット(S418・S419)、及びタイムテーブルインデックスの値のインクリメント(S420)が行われた上で、励磁データテーブルにおける次の励磁ポインタPTが示す励磁データφ1〜φ4による励磁状態が開始される(S435・S436・S443)。
以降も、ステップS416でモータ出力タイマTomの値が0となったタイマ割込み処理時にステップS418以降の処理が実行され、Tom=0とならないタイマ割込み処理時にはそれらの処理が実行されないことで、励磁出力タイムデータテーブルに従った励磁態様によりステッピングモータ54の励磁が行われる。
以降も、ステップS416でモータ出力タイマTomの値が0となったタイマ割込み処理時にステップS418以降の処理が実行され、Tom=0とならないタイマ割込み処理時にはそれらの処理が実行されないことで、励磁出力タイムデータテーブルに従った励磁態様によりステッピングモータ54の励磁が行われる。
ここで、前述のように、起動開始時に最初にセットされる励磁データφ1〜φ4の組は必ず1相励磁の組となるようにされている。よって、起動時は、モータ出力タイマTom=0となるごとに、1相→2相→1相…が切り替えられる。このことによると、図13に示す励磁出力タイムデータテーブルにおける偶数のインデックスは1相励磁に対応し、奇数のインデックスは2相励磁に対応していることが分かる。
よって、本例の励磁出力タイムデータテーブルは、起動回転として、1回のタイマ割込み処理分の1相励磁と複数回のタイマ割込み処理分の2相励磁とを交互に繰り返すことを規定したものとなる。
なおこのことから理解されるように、起動回転としても、前述した1−2相励磁により行われるものである。
よって、本例の励磁出力タイムデータテーブルは、起動回転として、1回のタイマ割込み処理分の1相励磁と複数回のタイマ割込み処理分の2相励磁とを交互に繰り返すことを規定したものとなる。
なおこのことから理解されるように、起動回転としても、前述した1−2相励磁により行われるものである。
図16は、図13に示す励磁出力タイムデータテーブルにより実現される起動時の励磁動作について説明するための図であり、起動開始から起動終了までの励磁ポインタPT、励磁データφ1〜φ4、タイマ値(モータ出力タイマTomの値)の遷移を示している。
なお、図16では起動開始時のステップS435の処理により励磁ポインタPTの値が7とされた場合を例示している。
なお、図16では起動開始時のステップS435の処理により励磁ポインタPTの値が7とされた場合を例示している。
本実施の形態の励磁出力タイムデータテーブルによっては、励磁ポインタPTの値がモータ出力タイマTom=0となるごとに更新される下で、「1相励磁×1タイマ割込み分」→「2相励磁×33タイマ割込み分」→「1相励磁×1タイマ割込み分」→「2相励磁×8タイマ割込み分」→「1相励磁×1タイマ割込み分」→「2相励磁×4タイマ割込み分」→「1相励磁×1タイマ割込み分」→「2相励磁×3タイマ割込み分と1相励磁×1タイマ割込み分を交互に5回繰り返し」→「2相励磁×2タイマ割込み分と1相励磁×1タイマ割込み分を交互に4回繰り返し」→「2相励磁×1タイマ割込み分」のモータ励磁が行われる。すなわち、本実施の形態における回転リール4の起動は、このような励磁態様により行われる。
なお、最後の「2相励磁×1タイマ割込み分」は、励磁出力タイムデータテーブルに格納されたタイマ値に直接基づくものではなく、ステップS421で加速終了(つまりインデックス=25)と判別された後に実行されるステップS435・S436・S443の処理に伴い実現されるものである。
なお、最後の「2相励磁×1タイマ割込み分」は、励磁出力タイムデータテーブルに格納されたタイマ値に直接基づくものではなく、ステップS421で加速終了(つまりインデックス=25)と判別された後に実行されるステップS435・S436・S443の処理に伴い実現されるものである。
上記のように、本実施の形態の励磁出力タイムデータテーブルに基づくモータ励磁では、回転トルクに劣る1相励磁を1タイマ割込み分で終えて、回転トルクに勝る2相励磁に移行される。このことで、円滑な加速回転が実現されている。
また、本実施の形態では、2相励磁に関して、励磁状態をホールドするタイマ割込み処理回数(回転待機数)を段階的に減少させているが、このことで、極めて遅い低速回転から漸次、回転速度を効率的に高めることができる。
また、本実施の形態では、2相励磁に関して、励磁状態をホールドするタイマ割込み処理回数(回転待機数)を段階的に減少させているが、このことで、極めて遅い低速回転から漸次、回転速度を効率的に高めることができる。
ここで、図16を参照して分かるように、本実施の形態における回転リール4の起動処理は、異なる組の励磁データφ1〜φ4を合計で26回セットして終了する。これまでの説明からも理解されるように、新たな励磁データφ1〜φ4がセットされると、ステッピングモータ54(回転リール4)が1ステップ分回転する。このことより、本実施の形態における回転リール4の起動処理は、回転リール4を26ステップ分回転させて終了するものであることが分かる。
なお、本実施の形態において、このように回転リール4の起動処理を26ステップという比較的少ないステップ数で終了する意義については後述する。
なお、本実施の形態において、このように回転リール4の起動処理を26ステップという比較的少ないステップ数で終了する意義については後述する。
続いて、図14及び図15に戻り、定常回転中における処理について説明する。
先の説明から理解されるように、回転リール4の起動終了時には、図14のステップS422において回胴起動中フラグF6=0、回胴起動済みフラグF5=1とされる。このため、起動終了時のタイマ割込み処理の次のタイマ割込み処理時における回胴回転制御処理では、処理がステップS401→S402→S403→S405→S406→S407→S408の順で進められる。
ステップS408でCPU80aは、停止信号検出フラグF4の値を判別する。ここで、停止信号検出フラグF4の値は、起動開始の直前に回胴制御フラグFG=01hが設定されて「0」とされた以降、起動終了時までの間に更新はされていない。従って、起動終了時のタイマ割込み処理の次のタイマ割込み処理時に実行されるステップS408の処理では、停止信号検出フラグF4=0と判別される。
先の説明から理解されるように、回転リール4の起動終了時には、図14のステップS422において回胴起動中フラグF6=0、回胴起動済みフラグF5=1とされる。このため、起動終了時のタイマ割込み処理の次のタイマ割込み処理時における回胴回転制御処理では、処理がステップS401→S402→S403→S405→S406→S407→S408の順で進められる。
ステップS408でCPU80aは、停止信号検出フラグF4の値を判別する。ここで、停止信号検出フラグF4の値は、起動開始の直前に回胴制御フラグFG=01hが設定されて「0」とされた以降、起動終了時までの間に更新はされていない。従って、起動終了時のタイマ割込み処理の次のタイマ割込み処理時に実行されるステップS408の処理では、停止信号検出フラグF4=0と判別される。
停止信号検出フラグF4=0と判別された場合、CPU80aは、ステップS409以降に示す定常回転中の処理を実行する。このステップS409以降の処理としては、大別して、ステップS409〜S411による回転異常検知のための処理、ステップS423〜S426及びステップS429〜S434による図柄ステップ数・図柄カウンタの更新のための処理、及び図14に示すステップS435・S436・S443による励磁データの更新のための処理に区分することができる。
ここで、ステップS409以降の定常回転中の処理においては、図中のステップS411でエラーと判別されない限り、ステップS435・S436・S443による励磁データの更新のための処理が必ず実行されることが分かる。すなわち、定常回転中においては、回転異常が検知されない限り、励磁データφ1〜φ4の組がタイマ割込み処理ごとに更新されるものであり、タイマ割込み処理ごとにステッピングモータ54が1ステップずつ回転する。
図15において、CPU80aは、先ずステップS409で励磁ポインタPTの値が1相励磁に対応したものか2相励磁に対応したものかを判別する。励磁ポインタPTの値が2相励磁に対応したもの(つまり0,2,4,6の何れか)である場合、CPU80aはステップS410でリールエラータイマの値をインクリメント(+1)し、次のステップS411でリールエラータイマの値が252より大きいか否かを判別する。
一方、励磁ポインタPTの値が1相励磁に対応したもの(つまり1,3,5,7の何れか)である場合、CPU80aはステップS410及びS411をパスしてステップS423に進む。
一方、励磁ポインタPTの値が1相励磁に対応したもの(つまり1,3,5,7の何れか)である場合、CPU80aはステップS410及びS411をパスしてステップS423に進む。
ここで、前述のように回転リール4の1回転=504ステップであり、上記の「252」とは「504」の半分である。定常回転中においては、上述のように励磁データφ1〜φ4の組がタイマ割込み処理ごとに更新されることから、1回転中においてステップS409で2相励磁状態と判別される、すなわちリールエラータイマの値がインクリメントされる回数は最大でも504÷2=252回である。
このことから、上記のようにリールエラータイマの値が252よりも大きいか否かを判別することで、回転異常の検知を行うことができる。
なお、リールエラータイマの値は、起動開始時における先のステップS415で0リセットされると共に、後述するステップS423で原点位置101が検出されたことに応じてステップS424で0クリアされる。
このことから、上記のようにリールエラータイマの値が252よりも大きいか否かを判別することで、回転異常の検知を行うことができる。
なお、リールエラータイマの値は、起動開始時における先のステップS415で0リセットされると共に、後述するステップS423で原点位置101が検出されたことに応じてステップS424で0クリアされる。
ステップS411において、リールエラータイマの値が252よりも大きければ、CPU80aはステップS412以降の処理を実行する。すなわち、回転リール4の回転異常が検知された場合は、当該回転リール4については起動処理からやり直しとなる。
一方、リールエラータイマの値が252以下であった場合、CPU80aはステップS423で原点位置101が検出されたか否かを判別する。つまり、現在の処理対象である回転リール4に対応して設けられたインデックスセンサ55の検出信号に基づき、当該回転リール4の原点位置101が検出されたか否かを判別する。
原点位置101が検出された場合、CPU80aはステップS424でリールエラータイマの値を0クリアし、続くステップS425で回胴センサONフラグF2=1にセットする。さらにCPU80aは、次のステップS426で図柄ステップ数を「24」、図柄カウンタを「1」にそれぞれリセットする。
なお、先の図8で説明したように、本例においては図柄1コマ分のステップ数=24であり、回転リール4には1コマ目〜21コマ目までの21個の図柄が形成されている。
原点位置101が検出された場合、CPU80aはステップS424でリールエラータイマの値を0クリアし、続くステップS425で回胴センサONフラグF2=1にセットする。さらにCPU80aは、次のステップS426で図柄ステップ数を「24」、図柄カウンタを「1」にそれぞれリセットする。
なお、先の図8で説明したように、本例においては図柄1コマ分のステップ数=24であり、回転リール4には1コマ目〜21コマ目までの21個の図柄が形成されている。
一方、ステップS423で原点位置101が検出されなかった場合、CPU80aはステップS429に進んで図柄ステップ数をデクリメント(−1)した上で、ステップS430で図柄ステップ数が「0」であるか否かを判別する。すなわち、図柄同士の境界に達したか否かを判別する。
図柄ステップ数=0であれば、CPU80aはステップS431で図柄ステップ数を「24」にリセットした上で、続くステップS432で図柄カウンタの値をインクリメント(+1)し、ステップS433で図柄カウンタの値が「21」であるか否かを判別する。図柄カウンタの値が「21」であれば、CPU80aはステップS434で図柄カウンタの値を「1」にリセットする。
図柄ステップ数=0であれば、CPU80aはステップS431で図柄ステップ数を「24」にリセットした上で、続くステップS432で図柄カウンタの値をインクリメント(+1)し、ステップS433で図柄カウンタの値が「21」であるか否かを判別する。図柄カウンタの値が「21」であれば、CPU80aはステップS434で図柄カウンタの値を「1」にリセットする。
上記のようなステップS423〜S426及びステップS429〜S434の処理により、定常回転中においては、原点位置101で図柄ステップ数=24、図柄カウンタ=1がセットされた後、タイマ割込み処理ごとに図柄ステップ数がデクリメントされていき、図柄ステップ数=0となったら図柄カウンタの値がインクリメントされ、且つ図柄ステップ数が24にリセットされる。
これにより、現在の図柄位置及びその図柄におけるステップ位置を検出可能とされている。
これにより、現在の図柄位置及びその図柄におけるステップ位置を検出可能とされている。
ステップS426による図柄ステップ数及び図柄カウンタのリセット処理、又はステップS434による図柄ステップ数のリセット処理を実行したことに応じ、CPU80aは図14に示すステップS435に処理を進める。
ステップS435以降では、前述したように励磁データの更新のための処理(ステップS435・S436・S443)が実行されて出力バッファに新たな励磁データφ1〜φ4の組がセットされ、ステップS444で全ての回転リール4について処理が終了したか否かが判別される。
ステップS444で全ての回転リール4について処理が終了していなければ、ステップS401において次の回転リール4についての回胴制御フラグFGをチェックする処理が実行される。このことから理解されるように、上記で説明したステップS409以降の処理は、1回のタイマ割込み処理において全ての回転リール4について実行されるものである。
ステップS435以降では、前述したように励磁データの更新のための処理(ステップS435・S436・S443)が実行されて出力バッファに新たな励磁データφ1〜φ4の組がセットされ、ステップS444で全ての回転リール4について処理が終了したか否かが判別される。
ステップS444で全ての回転リール4について処理が終了していなければ、ステップS401において次の回転リール4についての回胴制御フラグFGをチェックする処理が実行される。このことから理解されるように、上記で説明したステップS409以降の処理は、1回のタイマ割込み処理において全ての回転リール4について実行されるものである。
[6-3.実施の形態の起動処理の意義について]
前述のように、本実施の形態では、回転リール4の起動処理を26ステップという比較的少ないステップ数で終了することとしている。これは、回転リール4が起動してから回転停止操作が受け付け可能となるまでの時間の短縮化を図るためである。
後述もするが、スロットマシンにおいては、回転リール4の停止操作の受け付けを許可するにあたり、
1)当該回転リール4が定常回転に移行(回胴起動済みフラグF5=1)した後、
2)当該回転リール4の原点位置101が検出される(回胴センサONフラグF2=1)
ことを条件としている。
前述のように、本実施の形態では、回転リール4の起動処理を26ステップという比較的少ないステップ数で終了することとしている。これは、回転リール4が起動してから回転停止操作が受け付け可能となるまでの時間の短縮化を図るためである。
後述もするが、スロットマシンにおいては、回転リール4の停止操作の受け付けを許可するにあたり、
1)当該回転リール4が定常回転に移行(回胴起動済みフラグF5=1)した後、
2)当該回転リール4の原点位置101が検出される(回胴センサONフラグF2=1)
ことを条件としている。
該条件の下で生じ得る問題を図17Aにより説明する。
図17Aでは、回転リール4に形成された図柄のうち原点位置101付近に位置する20コマ目〜2コマ目の計4つの図柄を抽出して示している。なお図中において、回転リール4の左側に付した番号は図柄の番号を表し、右側に付した番号はステップ数を表している。
図17Aでは、回転リール4に形成された図柄のうち原点位置101付近に位置する20コマ目〜2コマ目の計4つの図柄を抽出して示している。なお図中において、回転リール4の左側に付した番号は図柄の番号を表し、右側に付した番号はステップ数を表している。
ここで、仮に回転リール4についての前ゲームにおける停止図柄が20コマ目の図柄であったとすると、起動直前における回転リール4は、前述した「停止許可ステップ位置」(=8番のステップ位置)に基づき定まるステップ位置で停止していることになる。
後にステップS428(図15)の処理として説明するように、本実施の形態においては、図柄の停止タイミングは、現在の図柄ステップ数が9未満(つまり「停止許可ステップ位置」の図柄ステップ数である「8」以下)で且つ現在のモータ励磁状態が2相励磁状態であるタイミングとして定められている。すなわち、本実施の形態の図柄の停止制御処理は、8番又は7番のステップ位置を「停止実行ステップ位置」として回転リール4を停止させる処理とされている。後述するように、「停止実行ステップ位置」では、回転リール4を停止させるためのブレーキ制御(全相励磁)が行われる。
後にステップS428(図15)の処理として説明するように、本実施の形態においては、図柄の停止タイミングは、現在の図柄ステップ数が9未満(つまり「停止許可ステップ位置」の図柄ステップ数である「8」以下)で且つ現在のモータ励磁状態が2相励磁状態であるタイミングとして定められている。すなわち、本実施の形態の図柄の停止制御処理は、8番又は7番のステップ位置を「停止実行ステップ位置」として回転リール4を停止させる処理とされている。後述するように、「停止実行ステップ位置」では、回転リール4を停止させるためのブレーキ制御(全相励磁)が行われる。
但し、実際においては、「停止実行ステップ位置」でブレーキをかけたとしても、「停止実行ステップ位置」で回転リール4の回転が即座に停止するとは限らず、それまでの回転の惰性により停止位置が先にずれ込む場合もある。このような惰性による停止位置のずれは、それまでの回転リール4の回転速度に依存し、定常回転からの停止時には例えば3ステップとされている。
本例においては、このような惰性に起因した停止位置ずれに伴い、回転リール4は、「停止実行ステップ位置」よりも3ステップ先のステップ位置、つまりは5番又は4番のステップ位置で停止することを前提とする。
以下、このような5番又は4番のステップ位置としての、「停止実行ステップ位置」での停止制御(ブレーキ制御)に応じて回転リール4が実際に回転を停止するステップ位置のことを「停止ステップ位置」と表記する。
本例においては、このような惰性に起因した停止位置ずれに伴い、回転リール4は、「停止実行ステップ位置」よりも3ステップ先のステップ位置、つまりは5番又は4番のステップ位置で停止することを前提とする。
以下、このような5番又は4番のステップ位置としての、「停止実行ステップ位置」での停止制御(ブレーキ制御)に応じて回転リール4が実際に回転を停止するステップ位置のことを「停止ステップ位置」と表記する。
図中の矢印Stは、このような「停止ステップ位置」の例を示している。すなわち、ここでは、回転リール4が5番のステップ位置で停止していた場合を前提とする。
上記のような停止状態から、定常回転に向けて起動処理が開始されたとする。
このとき、当該起動処理が原点位置101を通過するまでに終了しなければ、上記の1)2)の停止操作受け付け条件が満たされないため、停止操作が受け付け可能となるには回転リール4が1周して原点位置101を再度通過することを要する。つまり、停止操作の受け付けが可能となるまでに、回転リール4を1周余分に回転させなければならない。
このとき、当該起動処理が原点位置101を通過するまでに終了しなければ、上記の1)2)の停止操作受け付け条件が満たされないため、停止操作が受け付け可能となるには回転リール4が1周して原点位置101を再度通過することを要する。つまり、停止操作の受け付けが可能となるまでに、回転リール4を1周余分に回転させなければならない。
そこで、本実施の形態では、起動処理の開始から終了までに費やすステップ数を次のように設定する。
図17Bは、本実施の形態で費やす起動処理のステップ数についての説明図であり、図17Aと同様に回転リール4の原点位置101近傍に位置する20コマ目〜2コマ目の計4つの図柄を示している。
本実施の形態では、起動処理を「図柄1コマ分のステップ数(N)+停止ステップ位置から次の図柄までのステップ数(M)」で計算されるステップ数分回転リール4を回転させるまでに終了する。具体的に、本実施の形態においては、「停止ステップ位置」が5番のステップ位置(「停止実行ステップ位置が8番のステップ位置)であれば回転リール4を「24(N)+5(M)」=29ステップ数分回転させるまでに起動処理を終了し、「停止ステップ位置」が4番のステップ位置(「停止実行ステップ位置が7番のステップ位置)であれば回転リール4を「24(N)+4(M)」=28ステップ数分回転させるまでに起動処理を終了する。
すなわち、本例のように「停止ステップ位置」が5番又は4番のステップ位置とされている場合には、起動処理は少なくとも回転リール4を「24+4」=28ステップ数分回転させるまでに終了すればよい。
図17Bは、本実施の形態で費やす起動処理のステップ数についての説明図であり、図17Aと同様に回転リール4の原点位置101近傍に位置する20コマ目〜2コマ目の計4つの図柄を示している。
本実施の形態では、起動処理を「図柄1コマ分のステップ数(N)+停止ステップ位置から次の図柄までのステップ数(M)」で計算されるステップ数分回転リール4を回転させるまでに終了する。具体的に、本実施の形態においては、「停止ステップ位置」が5番のステップ位置(「停止実行ステップ位置が8番のステップ位置)であれば回転リール4を「24(N)+5(M)」=29ステップ数分回転させるまでに起動処理を終了し、「停止ステップ位置」が4番のステップ位置(「停止実行ステップ位置が7番のステップ位置)であれば回転リール4を「24(N)+4(M)」=28ステップ数分回転させるまでに起動処理を終了する。
すなわち、本例のように「停止ステップ位置」が5番又は4番のステップ位置とされている場合には、起動処理は少なくとも回転リール4を「24+4」=28ステップ数分回転させるまでに終了すればよい。
ここで、起動処理前の停止図柄が何れの図柄であっても上記のような1周分の余分な回転を生じさせないためには、起動処理は、回転リール4を停止ステップ位置から次の図柄までのステップ数分回転させるまでに終了できればよい。これにより、起動処理前の停止図柄が原点位置101の直前の図柄(21コマ目の図柄)であったとしても、原点位置101までに起動処理を終了できるため、起動後の初回の原点位置101の通過に応じて即座に回転停止操作の受け付けが可能となる。
しかしながら、通常、回転リール4を定常回転としての一定速度まで加速させるには、或る程度の回転量を要する。具体的には、少なくとも図柄1コマ分程度の回転量を要する。
この点に鑑み本実施の形態では、起動処理を上記のように「図柄1コマ分のステップ数+停止ステップ位置から次の図柄までのステップ数」で計算されるステップ数分回転リール4を回転させるまでに終了する。
これにより、起動処理前の停止図柄が原点位置101の直前の図柄であった場合を除き、停止操作を受け付け可能となるまでに1周分の余分な回転が生じることがない。
従って、回転リール4が起動を開始してから回転停止操作が受け付け可能となるまでの時間の短縮化を図ることができる。
しかしながら、通常、回転リール4を定常回転としての一定速度まで加速させるには、或る程度の回転量を要する。具体的には、少なくとも図柄1コマ分程度の回転量を要する。
この点に鑑み本実施の形態では、起動処理を上記のように「図柄1コマ分のステップ数+停止ステップ位置から次の図柄までのステップ数」で計算されるステップ数分回転リール4を回転させるまでに終了する。
これにより、起動処理前の停止図柄が原点位置101の直前の図柄であった場合を除き、停止操作を受け付け可能となるまでに1周分の余分な回転が生じることがない。
従って、回転リール4が起動を開始してから回転停止操作が受け付け可能となるまでの時間の短縮化を図ることができる。
ここで、先の説明では、起動処理を26ステップで終了する、すなわち起動処理を「図柄1コマ分のステップ数+2ステップ」で計算されるステップ数分回転リール4を回転させた時点で終了する場合を例示した。このことで、停止ステップ位置が5番、4番の何れのステップ位置であった場合にも、起動処理前の停止図柄が原点位置101の直前の図柄であった場合を除き、停止操作を受け付け可能となるまでに1周分の余分な回転を生じさせないようにできる。つまり、停止ステップ位置が5番、4番の何れのステップ位置であった場合にも、回転リール4が起動を開始してから回転停止操作が受け付け可能となるまでの時間を短縮化できる。
また、起動処理を図柄1コマ分以上の時間をかけて行っているため、回転リール4を定常回転時の一定速度まで充分に加速させることができる。
また、起動処理を図柄1コマ分以上の時間をかけて行っているため、回転リール4を定常回転時の一定速度まで充分に加速させることができる。
[6-4.回胴の停止に係る処理]
続いて、回転リール4の停止に係る処理について説明する。
回転リール4の停止操作の受け付けは図9に示したメイン処理における回胴停止処理(S110)により行われるため、以下では先ずステップS110の回胴停止処理について説明する。
続いて、回転リール4の停止に係る処理について説明する。
回転リール4の停止操作の受け付けは図9に示したメイン処理における回胴停止処理(S110)により行われるため、以下では先ずステップS110の回胴停止処理について説明する。
図18は、ステップS110の回胴停止処理のフローチャートである。
図18において、CPU80aは、先ずステップS501で1回の割込み処理が完了するまで待機する。
ここで、ステップS110の回胴停止処理の直前のステップS109では回胴回転開始設定処理が実行されている。先の説明から理解されるように、回転リール4a〜4cの回転は、当該ステップS109の回胴回転開始設定処理で必要な設定が為された後の初回のタイマ割込み処理で図14及び図15の回胴回転制御処理(S203)が実行されることで開始される。従って、ステップS501の待機処理は、回転リール4a〜4cが回転を開始するまで待機する処理として機能する。
なお、ステップS501の待機処理は、この図に示す処理が進行する過程で複数回実行される。2回目以降に実行されるステップS501の待機処理は、図14及び図15の回胴回転制御処理が1回分行われる、すなわち回転制御が1タイマ割込み分進行するのを待機する処理として機能する。
図18において、CPU80aは、先ずステップS501で1回の割込み処理が完了するまで待機する。
ここで、ステップS110の回胴停止処理の直前のステップS109では回胴回転開始設定処理が実行されている。先の説明から理解されるように、回転リール4a〜4cの回転は、当該ステップS109の回胴回転開始設定処理で必要な設定が為された後の初回のタイマ割込み処理で図14及び図15の回胴回転制御処理(S203)が実行されることで開始される。従って、ステップS501の待機処理は、回転リール4a〜4cが回転を開始するまで待機する処理として機能する。
なお、ステップS501の待機処理は、この図に示す処理が進行する過程で複数回実行される。2回目以降に実行されるステップS501の待機処理は、図14及び図15の回胴回転制御処理が1回分行われる、すなわち回転制御が1タイマ割込み分進行するのを待機する処理として機能する。
ステップS501の待機処理を行ったことに応じ、CPU80aはステップS502で回転中の回胴(回転リール4)に対応する回胴センサONフラグF2を判定し、続くステップS503で回胴センサONフラグF2が全てON(=1)であるか否か、すなわち全ての回転リール4について原点位置101が検出されたか否かを判別する。
これは、先に1)2)として示した停止操作受け付け条件が満たされたか否かを判別していることに相当する。
これは、先に1)2)として示した停止操作受け付け条件が満たされたか否かを判別していることに相当する。
回胴センサONフラグF2が全てONであるとの条件が満たされていない場合、CPU80aはステップS518で停止ボタン18a〜18cを赤点灯させ、ステップS501に戻る。なお、赤点灯は、停止操作の受け付けが禁止である旨を表す。
一方、回胴センサONフラグF2が全てONであるとの条件が満たされている場合、CPU80aはステップS504で無効な操作が行われているか否かを判別する。すなわち、停止ボタン18a〜18cのうち1つの停止ボタン18を押圧するという有効な停止操作以外の無効な操作が行われているか否かを判別する。
無効な操作が行われている場合、CPU80aはステップS518で停止ボタン18a〜18cを赤点灯させ、ステップS501に戻る。
無効な操作が行われている場合、CPU80aはステップS518で停止ボタン18a〜18cを赤点灯させ、ステップS501に戻る。
無効な操作が行われていない場合、CPU80aはステップS505で有効な停止操作が行われているか否かを判別し、有効な停止操作が行われていない場合はステップS519で回転中の回転リール4に対応する停止ボタン18を青点灯させ、ステップS501に戻る。
一方、有効な停止操作が行われている場合、CPU80aはステップS506で停止ボタン18a〜18cの全てを赤点灯させる。
一方、有効な停止操作が行われている場合、CPU80aはステップS506で停止ボタン18a〜18cの全てを赤点灯させる。
ここで、停止ボタン18の点灯制御のみについて着目すると、該ステップS506で停止ボタン18a〜18cの全てを赤点灯させた後には、ステップS513で全ての回転リール4が停止操作されたか否かが判別され、全ての回転リール4が停止操作されていなければステップS501に戻って上記のような青点灯・赤点灯に係る処理が実行される。
このような処理の流れにより、回転リール4a〜4cの回転開始後には、停止ボタン18a〜18cの点灯制御が以下のように行われる。
・回転開始(リール演出開始又は起動開始)から停止操作が受け付け可能となるまでは、停止ボタン18a〜18cの全てを赤点灯で維持させる。
・停止操作が受け付け可能となったとき、停止ボタン18a〜18cの全てを青点させる。但し、無効な操作が行われたときは、停止ボタン18a〜18cの全てを赤点灯させる。
・回転リール4の停止操作が行われたときは、一旦停止ボタン18a〜18cの全てを赤点灯させた後、停止操作が行われた回転リール4の停止ボタン18のみを赤点灯で維持させ、他の回転中の回転リール4に対応する停止ボタン18を青点灯に戻す。この際、回転中の回転リール4がなければ、停止ボタン18a〜18cの全てが赤点灯状態のままとなる。
このような処理の流れにより、回転リール4a〜4cの回転開始後には、停止ボタン18a〜18cの点灯制御が以下のように行われる。
・回転開始(リール演出開始又は起動開始)から停止操作が受け付け可能となるまでは、停止ボタン18a〜18cの全てを赤点灯で維持させる。
・停止操作が受け付け可能となったとき、停止ボタン18a〜18cの全てを青点させる。但し、無効な操作が行われたときは、停止ボタン18a〜18cの全てを赤点灯させる。
・回転リール4の停止操作が行われたときは、一旦停止ボタン18a〜18cの全てを赤点灯させた後、停止操作が行われた回転リール4の停止ボタン18のみを赤点灯で維持させ、他の回転中の回転リール4に対応する停止ボタン18を青点灯に戻す。この際、回転中の回転リール4がなければ、停止ボタン18a〜18cの全てが赤点灯状態のままとなる。
処理の説明を続ける。
上記のようにステップS505で有効な停止操作が行われていると判別され、ステップS506で停止ボタン18a〜18cを赤点灯させたことに応じ、CPU80aはステップS507で停止信号検出フラグF4=1にセットする。
そして、続くステップS508でCPU80aは、回転状態フラグを更新する。回転状態フラグは、先の図12に示した回胴回転開始設定処理(S109)におけるステップS310の処理で「1」(全ての回転リール4が回転中を表す)に設定されている。ステップS508では、回転状態フラグの値を回転リール4a〜4cの停止状態に応じた値に更新する。
上記のようにステップS505で有効な停止操作が行われていると判別され、ステップS506で停止ボタン18a〜18cを赤点灯させたことに応じ、CPU80aはステップS507で停止信号検出フラグF4=1にセットする。
そして、続くステップS508でCPU80aは、回転状態フラグを更新する。回転状態フラグは、先の図12に示した回胴回転開始設定処理(S109)におけるステップS310の処理で「1」(全ての回転リール4が回転中を表す)に設定されている。ステップS508では、回転状態フラグの値を回転リール4a〜4cの停止状態に応じた値に更新する。
ステップS508の更新処理を実行したことに応じ、CPU80aはステップS509で各種変数の更新処理を実行する。具体的には、停止回胴最新フラグ、図柄停止数、停止対象リール番号の各値を回転リール4a〜4cの停止状態に応じた値に更新すると共に、停止間隔タイマを211msにセットする。
なお、停止回胴最新フラグ、図柄停止数、停止対象リール番号は、後述する図柄停止制御処理(S510)におけるステップS605の停止位置取得処理で停止図柄を決定する際に用いられる変数である。
また、停止間隔タイマにセットする211msは、最大滑りコマ数である4コマ分の時間に相当する。
なお、停止回胴最新フラグ、図柄停止数、停止対象リール番号は、後述する図柄停止制御処理(S510)におけるステップS605の停止位置取得処理で停止図柄を決定する際に用いられる変数である。
また、停止間隔タイマにセットする211msは、最大滑りコマ数である4コマ分の時間に相当する。
ステップS509で各種変数の更新処理を実行したことに応じ、CPU80aはステップS510で図柄停止制御処理を実行する。この図柄停止制御処理は、停止操作が行われた回転リール4についての停止図柄を含めた停止位置を決定(算出)し、停止図柄に到達したことに応じて停止命令フラグF3=1をセットし、有効な停止ライン上の図柄を照合することが主な処理内容となるが、詳細については図19により改めて説明する。
ステップS510の図柄停止制御処理を実行したことに応じ、CPU80aはステップS511に処理を進め、停止結果情報コマンドセット処理として、停止結果を表す停止結果情報コマンドを演出制御基板42に送出するべく演出制御インターフェース86における送信バッファにセットする。
続くステップS512でCPU80aは、停止間隔タイマ=0となるまで待機する。このステップS512の待機処理により、先のステップS509で停止間隔タイマが設定されてから211ms分の時間が経過するまでの待機が実現される。このような待機により、停止操作が行われてから次の回転リール4についての停止操作が受け付け可能となるまでの間に必ず最大滑りコマ数分の時間が確保される。
CPU80aは、ステップS512の待機処理を実行したことに応じ、ステップS513で全ての回転リール4が停止操作されたか否かを判別し、全ての回転リール4が停止操作されていない(つまり停止操作されていない回転リール4が残されている)場合は前述のようにステップS501に戻り、全ての回転リール4が停止操作されていた場合はステップS514に処理を進める。
ステップS514でCPU80aは、入力ポートの情報取得処理として、停止ボタン18a〜18c、スタートレバー17、マックス投入ボタン16、クレジット精算ボタン14、及びドア開放センサ35についての入力情報を取得し、次のステップS515で上記の各入力情報に対応した操作のうち何れかの操作が行われているか否かを判別する。
何れかの操作が行われている場合、CPU80aはステップS514の情報取得処理とステップS515の判別処理を再度実行する。つまり、何れかの操作が行われている限り処理がステップS514→S515→S514とループする。
何れかの操作が行われている場合、CPU80aはステップS514の情報取得処理とステップS515の判別処理を再度実行する。つまり、何れかの操作が行われている限り処理がステップS514→S515→S514とループする。
何れの操作も行われていなければ、CPU80aはステップS516に進み、全停止後ウェイトタイマセット処理として、ウェイトタイマに所定値(本例では101ms)をセットし、続くステップS517で指定数割込み待ち処理を実行する。指定数割込み待ち処理としては、ステップS516でセットしたウェイトタイマの値に応じた回数分のタイマ割込み処理が実行されるまで待機する処理を実行する。
ステップS517の待機処理を実行したことに応じ、CPU80aはこの図に示す回胴停止処理を終える。
図19は、ステップS510の図柄停止制御処理のフローチャートである。
図柄停止制御処理において、CPU80aは、先ずステップS601で図柄ステップ数が11以上であるか否かを判別する。すなわち、図18のステップS505で有効な停止操作が検知された回転リール4についての図柄ステップ数が11以上であるか否かを判別する。なお、後述するように、図柄ステップ数は、停止操作が行われて停止信号検出フラグF4=1となった以降もタイマ割込みごとにデクリメントされている(図15参照)。
CPU80aは、ステップS601の判別処理を図柄ステップ数が11以上となるまで実行する。
なお、ステップS601の判別処理の意義については後述する。
図柄停止制御処理において、CPU80aは、先ずステップS601で図柄ステップ数が11以上であるか否かを判別する。すなわち、図18のステップS505で有効な停止操作が検知された回転リール4についての図柄ステップ数が11以上であるか否かを判別する。なお、後述するように、図柄ステップ数は、停止操作が行われて停止信号検出フラグF4=1となった以降もタイマ割込みごとにデクリメントされている(図15参照)。
CPU80aは、ステップS601の判別処理を図柄ステップ数が11以上となるまで実行する。
なお、ステップS601の判別処理の意義については後述する。
図柄ステップ数が11以上であった場合、CPU80aはステップS602に進み、停止操作が受け付けられた旨を演出制御基板42に通知するべく停止操作受付情報コマンドを演出制御インターフェース86における送信バッファにセットする。
そして、CPU80aはステップS603で図柄カウンタの値を取得する。該ステップS603で取得される図柄カウンタの値は、停止操作が行われたタイミングでの図柄位置を表す。
そして、CPU80aはステップS603で図柄カウンタの値を取得する。該ステップS603で取得される図柄カウンタの値は、停止操作が行われたタイミングでの図柄位置を表す。
ステップS603で停止操作時の図柄カウンタの値を取得したことに応じ、CPU80aはステップS604で停止ボタン押下時回胴図柄番号、及び評価用回胴図柄番号に取得した図柄カウンタの値をセットする。
そして、続くステップS605でCPU80aは、停止位置取得処理を実行する。停止位置取得処理では、ステップS604でセットした停止ボタン押下時回胴図柄番号、評価用回胴図柄番号等の必要情報を用いて、停止操作が行われた回転リール4についての停止位置を最大滑りコマ範囲内で決定(算出)する。すなわち、最大滑りコマ範囲内で当該回転リール4についての停止図柄及び停止許可ステップ位置を停止位置として決定する。
なお、停止位置取得処理については本発明と直接関連するものではないため、詳細な説明は省略する。
そして、続くステップS605でCPU80aは、停止位置取得処理を実行する。停止位置取得処理では、ステップS604でセットした停止ボタン押下時回胴図柄番号、評価用回胴図柄番号等の必要情報を用いて、停止操作が行われた回転リール4についての停止位置を最大滑りコマ範囲内で決定(算出)する。すなわち、最大滑りコマ範囲内で当該回転リール4についての停止図柄及び停止許可ステップ位置を停止位置として決定する。
なお、停止位置取得処理については本発明と直接関連するものではないため、詳細な説明は省略する。
CPU80aは、ステップS605の停止位置取得処理を実行したことに応じ、ステップS606で停止図柄に到達するまで待機する。すなわち、図柄カウンタの値がステップS605で決定された停止図柄に対応する値と一致するまで待機する。
停止図柄に到達したことに応じ、CPU80aはステップS607で停止命令フラグF3=1にセットする。このように停止命令フラグF3=1とされたことで、先の図14及び図15に示した回胴回転制御処理により回転リール4を停止させるための制御が開始されるが、これについては後述する。
ステップS607で停止命令フラグF3=1にセットしたことに応じ、CPU80aはステップS608の優先停止情報取得処理、及び続くステップS609の演算用マスクデータ格納処理としてそれぞれ所定の処理を実行し、次のステップS610で有効ライン図柄データ照合処理を実行する。有効ライン図柄データ照合処理では、有効な停止ライン上で停止している図柄の情報を取得する処理が実行される。
ステップS610の図柄データ照合処理を実行したことに応じ、CPU80aはこの図に示す図柄停止制御処理を終える。
続いて、タイマ割込み処理側で実行される回転リール4の停止のための処理について先の図14及び図15を参照して説明する。
上記のようにメイン処理側では、停止操作が行われたことに応じて、当該停止操作が行われた回転リール4に対応する停止信号検出フラグF4が「1」にセットされる(S507)。
先の説明から理解されるように、停止操作が行われる前の定常回転中においては、回胴制御フラグFGとしては制御中フラグF0及び回胴起動済みフラグF5のみが「1」で他のフラグFは全て「0」であったため、停止操作が行われたことに応じては、回胴制御フラグFGにおいて制御中フラグF0及び回胴起動済みフラグF5と共に停止信号検出フラグF4が「1」にセットされた状態となる。
上記のようにメイン処理側では、停止操作が行われたことに応じて、当該停止操作が行われた回転リール4に対応する停止信号検出フラグF4が「1」にセットされる(S507)。
先の説明から理解されるように、停止操作が行われる前の定常回転中においては、回胴制御フラグFGとしては制御中フラグF0及び回胴起動済みフラグF5のみが「1」で他のフラグFは全て「0」であったため、停止操作が行われたことに応じては、回胴制御フラグFGにおいて制御中フラグF0及び回胴起動済みフラグF5と共に停止信号検出フラグF4が「1」にセットされた状態となる。
このため、停止操作が行われた回転リール4については、図14及び図15に示す回胴回転制御処理において、処理がステップS401→S402→S403→S405→S406→S407→SS408→S427と進められる。
ステップS427でCPU80aは、停止命令フラグF3の値を判定する。先の図18及び図19の説明から理解されるように、停止命令フラグF3は、停止操作が行われ(S505)、停止図柄が決定された後(S605)、停止図柄に到達したことに応じて「1」がセットされるものである(S607)。
ステップS427でCPU80aは、停止命令フラグF3の値を判定する。先の図18及び図19の説明から理解されるように、停止命令フラグF3は、停止操作が行われ(S505)、停止図柄が決定された後(S605)、停止図柄に到達したことに応じて「1」がセットされるものである(S607)。
停止命令フラグF3=0である場合、すなわち停止操作後の滑り中である場合、CPU80aは前述したステップS429以降の処理を実行する。すなわち、図柄ステップ数及び図柄カウンタの値をカウントするための処理(S429〜S434)と、励磁データの更新のための処理(S435・S436・S443)とを実行する。
このことから理解されるように、滑り中においては、定常回転が維持されつつ、図柄ステップ数及び図柄カウンタの値についてのカウントも引き続き行われる。
このことから理解されるように、滑り中においては、定常回転が維持されつつ、図柄ステップ数及び図柄カウンタの値についてのカウントも引き続き行われる。
なお、前述もしたが、ステップS443の処理が実行された後は、ステップS444で全ての回転リール4について処理が終了したか否かが判別され、全ての回転リール4について処理が終了していなければステップS401において次の回転リール4についての回胴制御フラグFGをチェックする処理が実行される。
この際、次の回転リール4についての停止操作が行われていなければ(つまり停止信号検出フラグF4=1でなければ)、当該回転リール4については定常回転中に対応した処理(S409以降の処理)が継続される。一方、次の回転リール4についての停止操作が行われていれば、上記で説明したステップS429以降の滑り中に対応した処理が実行される。
このように、停止操作が行われた回転リール4から順次、ステップS429以降の滑り中に対応した処理が実行される。なお、この点については、以下で説明する停止命令フラグF3の値に基づく処理についても同様である。
この際、次の回転リール4についての停止操作が行われていなければ(つまり停止信号検出フラグF4=1でなければ)、当該回転リール4については定常回転中に対応した処理(S409以降の処理)が継続される。一方、次の回転リール4についての停止操作が行われていれば、上記で説明したステップS429以降の滑り中に対応した処理が実行される。
このように、停止操作が行われた回転リール4から順次、ステップS429以降の滑り中に対応した処理が実行される。なお、この点については、以下で説明する停止命令フラグF3の値に基づく処理についても同様である。
また、CPU80aは、ステップS427で停止命令フラグF3=1であった場合、すなわち停止図柄に到達している場合は、ステップS428に進んで停止可能位置か否かを判別する。具体的には、図柄ステップ数が「9」未満で且つモータ励磁状態が2相励磁状態である(励磁ポインタPTの値が0,2,4,6の何れかである)か否かを判別する。当該ステップS428の判別処理により、「停止許可ステップ位置」としての8番のステップ位置か、或いは励磁状態の条件が合わなければ7番のステップ位置で回転リール4の停止制御が行われる。
ここで、図柄ステップ数のカウントは原点位置101を通過したことに応じて開始されるので、原点位置101を通過したときの励磁状態が1相励磁か2相励磁かによって[偶数のステップ位置=2相励磁、奇数のステップ位置=1相励磁]となるか、或いは[偶数のステップ位置=1相励磁、奇数のステップ位置=2相励磁]となるかが定まる。
原点位置101通過時の励磁状態が2相励磁であった場合は、偶数のステップ位置=2相励磁となるため、ステップS428の判別処理では、図柄ステップ数=8となったときに励磁状態=2相励磁と判別される。従ってこの場合は、図柄ステップ数=8となったときに後述する全相励磁による停止制御が開始され、8番のステップ位置で回転リール4が停止する。
一方、原点位置101通過時の励磁状態が1相励磁であった場合は、奇数のステップ位置=2相励磁となるため、ステップS428の判別処理では図柄ステップ数=7となったときに励磁状態=2相励磁と判別される。つまりこの場合は、7番のステップ位置で回転リール4が停止する。
原点位置101通過時の励磁状態が2相励磁であった場合は、偶数のステップ位置=2相励磁となるため、ステップS428の判別処理では、図柄ステップ数=8となったときに励磁状態=2相励磁と判別される。従ってこの場合は、図柄ステップ数=8となったときに後述する全相励磁による停止制御が開始され、8番のステップ位置で回転リール4が停止する。
一方、原点位置101通過時の励磁状態が1相励磁であった場合は、奇数のステップ位置=2相励磁となるため、ステップS428の判別処理では図柄ステップ数=7となったときに励磁状態=2相励磁と判別される。つまりこの場合は、7番のステップ位置で回転リール4が停止する。
ステップS428において、図柄ステップ数が「9」未満且つ2相励磁状態であるとの条件が満たされず、停止可能位置ではないとの判別結果が得られた場合、CPU80aは前述したステップS429以降の処理を実行する。すなわち、停止図柄に到達してから停止可能位置に到達するまでの間は、定常回転が維持されつつ、図柄ステップ数のカウントが引き続き行われる。
一方、ステップS428で図柄ステップ数が「9」未満且つ2相励磁状態であるとの条件が満たされ、停止可能位置であるとの判別結果が得られた場合、CPU80aはステップS437で回胴停止中フラグF7=1にセットした上で、図14に示すステップS438に処理を進める。このステップS438以降の処理が実行されることで、停止操作が行われた回転リール4に対応するステッピングモータ54についての停止励磁が行われる。
先ず、ステップS432においてCPU80aは、モータ出力タイマTomの値が0であるか否かを判別する。
ここで、先のステップS437で回胴停止中フラグ=1にセットした後、初回にステップS438の処理が実行される時点では、モータ出力タイマTomの値としてタイムテーブルインデックス=25に対応した「151」がセットされている。これは、起動処理の最後のタイマ割込み処理で実行されたステップS418及びS419の処理によってタイムテーブルインデックス=25に対応した「151」が取得・セットされた以降、定常回転中においてはモータ出力タイマTomの値が一切更新されないためである。
ここで、先のステップS437で回胴停止中フラグ=1にセットした後、初回にステップS438の処理が実行される時点では、モータ出力タイマTomの値としてタイムテーブルインデックス=25に対応した「151」がセットされている。これは、起動処理の最後のタイマ割込み処理で実行されたステップS418及びS419の処理によってタイムテーブルインデックス=25に対応した「151」が取得・セットされた以降、定常回転中においてはモータ出力タイマTomの値が一切更新されないためである。
モータ出力タイマTomの値が0でない場合、CPU80aはステップS439でモータ出力タイマTomの値をデクリメント(−1)し、続くステップS440で励磁データφ1〜φ4として0Fh(「1111」)を生成した上で、ステップS443で当該回転リール4に対応する出力バッファに励磁データφ1〜φ4をセットする。すなわち、ステップS440で生成した「1111」による励磁データφ1〜φ4をセットする。
これにより、先のステップS428で停止可能位置に到達した回転リール4に対応するステッピングモータ54について、前述した巻線部A、Aバー、B、Bバーの全ての駆動信号をonとする「全相励磁」が開始される。このような全相励磁状態が所定時間継続されることで、高速回転する定常回転時の慣性力に拘らず、回転リール4を目的位置に停止させることができる。
これにより、先のステップS428で停止可能位置に到達した回転リール4に対応するステッピングモータ54について、前述した巻線部A、Aバー、B、Bバーの全ての駆動信号をonとする「全相励磁」が開始される。このような全相励磁状態が所定時間継続されることで、高速回転する定常回転時の慣性力に拘らず、回転リール4を目的位置に停止させることができる。
ここで、上記のようにステップS437で回胴停止中フラグF7=1にセットしたタイマ割込み処理の次のタイマ割込み処理では、停止可能位置に到達した回転リール4について、ステップS401で回胴制御フラグFGの値がチェックされるが、上記のように回胴停止中フラグF7=1にセットされているため、この場合の処理はステップS401→S402→S403→S405→S438と進められる。これにより、モータ出力タイマTomの値が0となるまで、すなわちステップS439のデクリメント処理が「151」回実行されるまで、上記したステップS440の励磁データ生成処理及びステップS443の励磁データセット処理が繰り返し実行される。従って、「151」回のタイマ割込み処理分の時間長にわたって全相励磁状態が維持される。
モータ出力タイマTomの値が0となった場合、CPU80aはステップS441で励磁データφ1〜φ4として00h(「0000」)を生成し、続くステップS442で制御中フラグF0=1にセットした上で、ステップS443の励磁データセット処理を実行する。これにより、巻線部A、Aバー、B、Bバーの全ての駆動信号がoffとされ、回転リール4が完全停止状態となる。
[6-5.停止操作時の図柄と停止図柄との関係]
上記で説明した回胴の停止に係る処理では、図18のステップS505で有効な停止操作が検出された回転リール4についての回胴停止制御処理(S510:図19)において、図柄ステップ数が11以上であるか否かの判別が行われ(S601)、図柄ステップ数が11以上であった場合は図柄カウンタの値が取得され(S603)、取得された図柄カウンタの値が停止位置取得処理(S605)で用いる停止ボタン押下時回胴図柄番号、評価用回胴図柄番号の値としてセットされる(S604)。
これによると、停止操作が行われたときのステップ位置が11番以上(つまり11番よりも手前)のステップ位置であった場合は、ステップS601からステップS602に即座に処理が進められるため、当該停止操作が行われた時点での図柄カウンタの値が示す図柄を基準に最大滑りコマ範囲内で停止図柄が決定される。
一方、停止操作が行われたときのステップ位置が11番未満のステップ位置であった場合は、ステップS601で図柄ステップ数が11以上となるまで待機される、すなわち図柄ステップ数が24にリセットされるまで待機されるため、停止操作が行われた時点での図柄カウンタの値が示す図柄ではなく、その次の図柄を基準に停止位置取得処理で停止図柄が決定されることになる。
上記で説明した回胴の停止に係る処理では、図18のステップS505で有効な停止操作が検出された回転リール4についての回胴停止制御処理(S510:図19)において、図柄ステップ数が11以上であるか否かの判別が行われ(S601)、図柄ステップ数が11以上であった場合は図柄カウンタの値が取得され(S603)、取得された図柄カウンタの値が停止位置取得処理(S605)で用いる停止ボタン押下時回胴図柄番号、評価用回胴図柄番号の値としてセットされる(S604)。
これによると、停止操作が行われたときのステップ位置が11番以上(つまり11番よりも手前)のステップ位置であった場合は、ステップS601からステップS602に即座に処理が進められるため、当該停止操作が行われた時点での図柄カウンタの値が示す図柄を基準に最大滑りコマ範囲内で停止図柄が決定される。
一方、停止操作が行われたときのステップ位置が11番未満のステップ位置であった場合は、ステップS601で図柄ステップ数が11以上となるまで待機される、すなわち図柄ステップ数が24にリセットされるまで待機されるため、停止操作が行われた時点での図柄カウンタの値が示す図柄ではなく、その次の図柄を基準に停止位置取得処理で停止図柄が決定されることになる。
図20は、この点を整理した図であり、或る図柄nについての24番〜1番のステップ位置を示している。
上記のように停止操作が行われた時点での図柄ステップ数が11以上の場合は、停止操作が行われた時点の図柄カウンタの値が示す図柄に基づく停止位置取得処理が実行される。つまり、図柄nにおける11番以上のステップ位置は、その位置で有効な停止操作が行われれば図柄nに基づいて停止位置取得処理が実行される。この意味で、24番〜11番のステップ位置を「停止処理可能位置」と表記している。
これに対し、ステップ番号が11未満のステップ位置は、その位置で有効な停止操作が行われても図柄nに基づく停止位置取得処理が実行されない。この意味で、10番〜1番のステップ位置については「停止処理不可能位置」と表記している。
上記のように停止操作が行われた時点での図柄ステップ数が11以上の場合は、停止操作が行われた時点の図柄カウンタの値が示す図柄に基づく停止位置取得処理が実行される。つまり、図柄nにおける11番以上のステップ位置は、その位置で有効な停止操作が行われれば図柄nに基づいて停止位置取得処理が実行される。この意味で、24番〜11番のステップ位置を「停止処理可能位置」と表記している。
これに対し、ステップ番号が11未満のステップ位置は、その位置で有効な停止操作が行われても図柄nに基づく停止位置取得処理が実行されない。この意味で、10番〜1番のステップ位置については「停止処理不可能位置」と表記している。
ここで、前述のように停止許可ステップ位置は8番のステップ位置であるため、本来であれば8番以上のステップ位置を「停止処理可能位置」とすべきである。すなわち、8番以上のステップ位置で停止操作が行われれば、停止操作時の図柄に基づいて停止図柄を決定すべきである。これにより、滑りコマ数=0である場合、つまり停止図柄=停止操作時の図柄である場合に、当該停止操作時の図柄の停止ステップ位置(本例では5番又は4番)で回転リール4を停止させることが理論上可能である。
しかしながら、上記のように8番以上のステップ位置を「停止処理可能位置」としてしまうと、滑りコマ数=0である場合に、停止操作が行われてから1ステップ以内という比較的速いタイミングで回転リール4を停止させなければならないケースが生じ得る(停止操作が8番のステップ位置で行われた場合)。
停止図柄を決定するための停止位置取得処理は比較的処理内容が複雑で、終了までに比較的長い時間を要する場合があるため、上記のように滑りコマ数=0であって停止操作が行われてから1ステップ以内という比較的速いタイミングで回転リール4を停止させる必要があるケースにおいては、停止位置図柄取得処理が本来回転リール4を停止すべきタイミングまでに完了せず、回転リール4を停止ステップ位置で適切に停止させることができない虞がある。
停止図柄を決定するための停止位置取得処理は比較的処理内容が複雑で、終了までに比較的長い時間を要する場合があるため、上記のように滑りコマ数=0であって停止操作が行われてから1ステップ以内という比較的速いタイミングで回転リール4を停止させる必要があるケースにおいては、停止位置図柄取得処理が本来回転リール4を停止すべきタイミングまでに完了せず、回転リール4を停止ステップ位置で適切に停止させることができない虞がある。
そこで、本実施の形態では、停止許可ステップ位置よりも所定ステップ数以上(本例では3ステップ以上)手前のステップ位置を「停止処理可能ステップ位置」として定めている。
具体的には、停止操作が行われたタイミングで検出されていたステップ位置を停止操作時ステップ位置としたときに、停止操作時ステップ位置が停止許可ステップ位置よりも所定ステップ数以上手前のステップ位置である停止処理可能ステップ位置であった場合には、停止操作が行われたタイミングで検出されていた図柄を基準として最大滑りコマ範囲内で停止位置を決定し、停止操作時ステップ位置が停止処理可能ステップ位置以外であった場合には停止操作が行われたタイミングで検出されていた図柄の次の図柄を基準として最大滑りコマ範囲内で停止位置を決定する。
具体的には、停止操作が行われたタイミングで検出されていたステップ位置を停止操作時ステップ位置としたときに、停止操作時ステップ位置が停止許可ステップ位置よりも所定ステップ数以上手前のステップ位置である停止処理可能ステップ位置であった場合には、停止操作が行われたタイミングで検出されていた図柄を基準として最大滑りコマ範囲内で停止位置を決定し、停止操作時ステップ位置が停止処理可能ステップ位置以外であった場合には停止操作が行われたタイミングで検出されていた図柄の次の図柄を基準として最大滑りコマ範囲内で停止位置を決定する。
これにより、停止操作が行われてから回転リール4を停止させるまでの間に上記の「所定ステップ数」分の時間的な余裕が設けられるため、滑りコマ数=0である場合でも、停止位置を決定するための処理が停止実行ステップ位置に至るまでの間に必ず終了するように図ることができる。
従って、回転リール4が停止ステップ位置で安定して停止されるように図ることができる。
従って、回転リール4が停止ステップ位置で安定して停止されるように図ることができる。
<7.RAM初期化処理について>
続いて、RAM初期化処理(図9のステップS102)について説明する。
先の説明から理解されるように、ステップS102のRAM初期化処理は、1ゲームごとに繰り返し実行されるものである。
このRAM初期化処理が実行されなければ、1ゲームを開始するための各種変数の設定処理を開始できないため、次ゲームへの移行を速やかに行うためには、RAM初期化処理を速やかに実行できることが望ましい。
続いて、RAM初期化処理(図9のステップS102)について説明する。
先の説明から理解されるように、ステップS102のRAM初期化処理は、1ゲームごとに繰り返し実行されるものである。
このRAM初期化処理が実行されなければ、1ゲームを開始するための各種変数の設定処理を開始できないため、次ゲームへの移行を速やかに行うためには、RAM初期化処理を速やかに実行できることが望ましい。
この点を踏まえ、本実施の形態における停止に係る処理とRAM初期化処理との関係について説明する。
これまでの説明から理解されるように、回転リール4の停止制御は、メイン処理における回胴停止処理(図18及び図19)と、タイマ割込み処理における回胴回転制御処理(図14及び図15)との協業により実現されている。1ゲームの終了間際におけるこれらメイン処理側とタイマ割込み処理側での処理の流れを追ってみると、先ず、メイン処理側では、図18に示す回胴停止処理(S110)は、次のような流れで終了に至る。すなわち、ステップS510の図柄停止制御処理において停止図柄への到達に応じて停止命令フラグF3=1にセット(図19のステップS607参照)し、ステップS512で停止間隔タイマ(211ms)が「0」となるまで待機し、さらにステップS517でウェイトタイマ=101ms分の待機処理を行った上で終了に至る。そして、このような回胴停止処理(S110)が終了すると、図9に示すように、入賞判定処理(S111)、メダル払出枚数監視処理(S112)、再遊技設定処理(S113)が実行されると共に、必要に応じてボーナス作動中処理(S116)、ボーナス動作開始処理(S117)が実行された上で、ステップS102のRAM初期化処理が実行される。
なお、この流れを追ってみると、ステップS102のRAM初期化処理は、全ての回転リール4について停止命令フラグF3=1とされた(つまり停止命令情報が設定された)ことを条件に行われる所定の処理(ステップS608以降ステップSステップS116又はS117までの処理)を実行した後、次のゲームが開始されるまでに実行されることが分かる。
これまでの説明から理解されるように、回転リール4の停止制御は、メイン処理における回胴停止処理(図18及び図19)と、タイマ割込み処理における回胴回転制御処理(図14及び図15)との協業により実現されている。1ゲームの終了間際におけるこれらメイン処理側とタイマ割込み処理側での処理の流れを追ってみると、先ず、メイン処理側では、図18に示す回胴停止処理(S110)は、次のような流れで終了に至る。すなわち、ステップS510の図柄停止制御処理において停止図柄への到達に応じて停止命令フラグF3=1にセット(図19のステップS607参照)し、ステップS512で停止間隔タイマ(211ms)が「0」となるまで待機し、さらにステップS517でウェイトタイマ=101ms分の待機処理を行った上で終了に至る。そして、このような回胴停止処理(S110)が終了すると、図9に示すように、入賞判定処理(S111)、メダル払出枚数監視処理(S112)、再遊技設定処理(S113)が実行されると共に、必要に応じてボーナス作動中処理(S116)、ボーナス動作開始処理(S117)が実行された上で、ステップS102のRAM初期化処理が実行される。
なお、この流れを追ってみると、ステップS102のRAM初期化処理は、全ての回転リール4について停止命令フラグF3=1とされた(つまり停止命令情報が設定された)ことを条件に行われる所定の処理(ステップS608以降ステップSステップS116又はS117までの処理)を実行した後、次のゲームが開始されるまでに実行されることが分かる。
一方、タイマ割込み処理における回胴回転制御処理(図14及び図15)では、ステップS427で停止命令フラグF3=1(つまり停止図柄への到達)が検知された以降において、ステップS437で停止可能位置への到達が検知されたことに応じてステップS438以降の処理が繰り返し実行される。すなわち、151回分の時間長に及ぶ全相励磁が行われる。これにより、回転リール4が完全停止状態となる。
なお、全相励磁前(つまり定常回転中)においては、ステップS435,S436,S443の処理によって駆動データφ1〜φ4を繰り返し更新してRAM80cの出力バッファに記憶する処理が行われている。停止のための全相励磁は、メイン処理側のステップS607で設定された停止命令情報に基づき、上記のような定常回転中の駆動データφ1〜φ4の更新を中止し、全相励磁のための所定の駆動データφ1〜φ4をRAM80cの出力バッファに記憶する(S440→S443)ことで実現されている。
なお、全相励磁前(つまり定常回転中)においては、ステップS435,S436,S443の処理によって駆動データφ1〜φ4を繰り返し更新してRAM80cの出力バッファに記憶する処理が行われている。停止のための全相励磁は、メイン処理側のステップS607で設定された停止命令情報に基づき、上記のような定常回転中の駆動データφ1〜φ4の更新を中止し、全相励磁のための所定の駆動データφ1〜φ4をRAM80cの出力バッファに記憶する(S440→S443)ことで実現されている。
ここで、停止命令フラグF3=1にセットされた時点(停止図柄への到達時点)を基準として、メイン処理が終了しRAM初期化処理が実行されるまでに要する時間と、タイマ割込み処理側で全相励磁が完了するまでに要する時間とを対比してみる。
先ず、メイン処理側において、停止命令フラグF3=1にセットした時点(S607)からRAM初期化処理が実行されるまでの間には、少なくとも、ステップS512で停止間隔タイマ(211ms)が「0」となるまで待機し、さらにステップS517でウェイトタイマ=101ms分の待機を行うことになる。
但し、上記の停止間隔タイマは、停止命令フラグF3=1にセットされるステップS510の図柄停止制御処理よりも手前のステップS509においてカウントがスタートされているため、停止命令フラグF3=1にセットされた時点からRAM初期化処理が実行されるまでに要する時間は単純に211ms+101msではない。特に、ステップS605の停止位置取得処理において滑りコマ数が比較的大きく設定された場合(例えば滑りコマ数が3や4)は、ステップS509で停止間隔タイマのカウントがスタートされてからステップS510の図柄停止制御処理で停止命令フラグF3=1にセットされるまでに比較的多くの時間が消費される(例えば滑りコマ数=4であれば96ステップ×1.49ms≒143msが消費される)。このため、停止命令フラグF3=1にセットされた時点からRAM初期化処理が実行されるまでに要する時間は170ms程度(211ms−143ms+101ms)となるケースが生じ得る。
先ず、メイン処理側において、停止命令フラグF3=1にセットした時点(S607)からRAM初期化処理が実行されるまでの間には、少なくとも、ステップS512で停止間隔タイマ(211ms)が「0」となるまで待機し、さらにステップS517でウェイトタイマ=101ms分の待機を行うことになる。
但し、上記の停止間隔タイマは、停止命令フラグF3=1にセットされるステップS510の図柄停止制御処理よりも手前のステップS509においてカウントがスタートされているため、停止命令フラグF3=1にセットされた時点からRAM初期化処理が実行されるまでに要する時間は単純に211ms+101msではない。特に、ステップS605の停止位置取得処理において滑りコマ数が比較的大きく設定された場合(例えば滑りコマ数が3や4)は、ステップS509で停止間隔タイマのカウントがスタートされてからステップS510の図柄停止制御処理で停止命令フラグF3=1にセットされるまでに比較的多くの時間が消費される(例えば滑りコマ数=4であれば96ステップ×1.49ms≒143msが消費される)。このため、停止命令フラグF3=1にセットされた時点からRAM初期化処理が実行されるまでに要する時間は170ms程度(211ms−143ms+101ms)となるケースが生じ得る。
これに対し、停止命令フラグF3=1にセットされてからタイマ割込み処理側で全相励磁が完了するまでに要する時間は、{停止図柄への到達時点から停止可能位置(8番又は7番のステップ位置)に到達するまでのステップ数=16又は17+151}×1.49msより、248.83ms又は250.32msである。
これらの対比より、停止命令フラグF3=1にセットされた時点からRAM初期化処理が実行されるまでに要する時間は、停止命令フラグF3=1にセットされてから全相励磁が完了するまでに要する時間よりも短くなる場合がある。すなわち、ステップS102のRAM初期化処理が、全相励磁が完了する前に実行されるケースが生じ得るものである。
ここで、先の説明からも理解されるように、所定時間長の全相励磁を適正に実行するためには、モータ出力タイマTomの値が適正にカウントされている必要がある。すなわち、モータ出力タイマTomの値がRAM80cにおいて適正に保持されていなければならない。これと同時に、全相励磁のための所定の駆動データφ1〜φ4がRAM80cの出力バッファに保持されている必要もある。
しかしながら、上記のように全相励磁が完了する前にRAM初期化処理が実行されてしまうケースでは、全相励磁が完了する前にモータ出力タイマTomの値や出力バッファにおける駆動データφ1〜φ4がクリアされてしまうこととなり、回転リール4を適正に停止させることができなくなる虞がある。
しかしながら、上記のように全相励磁が完了する前にRAM初期化処理が実行されてしまうケースでは、全相励磁が完了する前にモータ出力タイマTomの値や出力バッファにおける駆動データφ1〜φ4がクリアされてしまうこととなり、回転リール4を適正に停止させることができなくなる虞がある。
このような問題の解決を図るために、ステップS102のRAM初期化処理を、全相励磁が完了するまで待機した上で実行することも考えられる。しかしながら、その場合にはRAM初期化処理の実行までに余分な待機時間を要することとなり、次ゲームへの移行を速やかに行うことができないという問題が生じる。
このため、本実施の形態では、モータ出力タイマTomの値すなわち回胴の駆動に係る時間情報と、駆動データφ1〜φ4としての回胴を駆動するための駆動データとを、RAM80cにおけるステップS102のRAM初期化処理での初期化対象領域以外の領域に保持することとしている。換言すれば、RAM80cにおける初期化対象領域以外の領域にこれら時間情報と駆動データを記憶するための領域を設定する。
図21は、ステップS102のRAM初期化処理で1ゲームの終了毎に初期化される初期化対象領域と、当該初期化の対象とされない非初期化対象領域とを模式的に表している。
このようにRAM80cにおける記憶領域を初期化対象領域と非初期化対象領域とに分けて捉えたとき、本実施の形態では、CPU80aが上記の時間情報と駆動データを記憶するための領域が非初期化対象領域側に設定されている。
このようにRAM80cにおける記憶領域を初期化対象領域と非初期化対象領域とに分けて捉えたとき、本実施の形態では、CPU80aが上記の時間情報と駆動データを記憶するための領域が非初期化対象領域側に設定されている。
これにより、RAM初期化処理が全相励磁(つまりステッピングモータ54の停止駆動)の完了前に実行される場合であっても、RAM初期化処理において上記の時間情報及び駆動データがクリアされないため、これらの時間情報及び駆動データに基づいて回転リール4が適正に停止される。
従って、全相励磁が完了するまで待機する必要がなくなるため、1ゲームの終了時に対応した所定処理(メイン処理におけるステップS608以降ステップSステップS116又はS117までの処理)を実行した後に速やかにRAM初期化処理を行うことができるので、次ゲームへの移行が速やかに行われるようにできる。
従って、全相励磁が完了するまで待機する必要がなくなるため、1ゲームの終了時に対応した所定処理(メイン処理におけるステップS608以降ステップSステップS116又はS117までの処理)を実行した後に速やかにRAM初期化処理を行うことができるので、次ゲームへの移行が速やかに行われるようにできる。
ここで、RAM80cにおける初期化対象領域側には、例えばステップS106の内部抽選処理による抽選結果やステップS605の停止位置取得処理により決定された停止態様(停止位置)に関する情報等を記憶するための領域が設定されている。これにより、次ゲームへの移行にあたってクリアの必要な情報が1ゲームの終了に応じてクリアされる。
従って、この点でも次ゲームへの移行が速やかに行われるようにできる。
従って、この点でも次ゲームへの移行が速やかに行われるようにできる。
なお、上記では、回転リール4を回転駆動する手段が備えるアクチュエータがモータとされた場合を例示したが、上記のRAM初期化処理に係る発明にあっては、当該アクチュエータとしては、回転リール4の停止にあたり動作を所定時間ロックする制御が行われるものであればその種類は問わない。
<8.演出回転について>
[8-1.前提説明]
続いて、回転リール4a,4b,4cの演出回転のための処理について説明する。
先ず、以下では、具体的な処理の説明に先立ち、演出回転に係る前提事項について図22〜図24を参照して説明しておく。
[8-1.前提説明]
続いて、回転リール4a,4b,4cの演出回転のための処理について説明する。
先ず、以下では、具体的な処理の説明に先立ち、演出回転に係る前提事項について図22〜図24を参照して説明しておく。
先ず、演出回転としては、回転リール4を所定の図柄における所定のステップ位置で正確に停止させることを要するものがある。具体的には、後述する「赤7揃い」や「青7揃い」などの演出回転である。
演出回転においても、回転リール4を停止させる位置は、停止ステップ位置としての所定のステップ位置に定められている。本例において、演出回転での停止ステップ位置は、例えば5番のステップ位置に定められているとする。
演出回転においても、回転リール4を停止させる位置は、停止ステップ位置としての所定のステップ位置に定められている。本例において、演出回転での停止ステップ位置は、例えば5番のステップ位置に定められているとする。
上記のような所定の図柄における所定のステップ位置での停止を実現するためには、演出回転においても、先の停止ボタン18の操作に応じた停止制御と同様に、1タイマ割込み処理ごとに停止制御を開始すべきステップ位置に到達したか否かを判定し(図15のステップS428参照)、該判定結果に応じて停止制御を開始する手法を採ることが考えられる。
しかしながら、タイマ割込みごとにこのような判定を行うことは処理負担の増大化を招き望ましくない。
そこで、本実施の形態では、演出回転については、上記のような目標位置に到達したか否かの逐次の判定処理を行わず、原点位置101から目標位置までの回転継続長情報を用いた停止制御を行うこととしている。
そこで、本実施の形態では、演出回転については、上記のような目標位置に到達したか否かの逐次の判定処理を行わず、原点位置101から目標位置までの回転継続長情報を用いた停止制御を行うこととしている。
図22は、回転継続長情報を用いた停止制御についての説明図である。
この図では、停止目標の図柄が15コマ目の図柄とされた場合の例を示している。
先の図14,図15等の説明からも理解されるように、本実施の形態のステッピングモータ54の駆動によれば、回転リール4は1タイマ割込みで所定のステップ数だけ回転が進む(定常回転時には1タイマ割込みにつき1ステップ)。このため、原点位置101から停止制御を開始すべきステップ位置(停止実行ステップ位置)までの長さの情報を、回転継続長情報として予め記憶しておき、原点位置101を検出したタイミングを起点として、そこから当該回転継続長情報に従ったタイマ割込み回数分だけ回転を継続させることで、停止実行ステップ位置に到達したか否かを逐次判定せずとも、停止目標位置での停止を実現できる。
図22では、回転リール4を定常回転としての速度で回転させた後、15コマ目の図柄における停止ステップ位置(演出回転の場合も5番のステップ位置)で停止させる例を示しており、停止制御を開始する停止実行ステップ位置は、惰性回転を考慮して停止ステップ位置の3ステップ手前の位置とされている。この場合、回転継続長情報としては、原点位置101(1コマ目の図柄の0番のステップ位置)から15コマ目の図柄の8番のステップ位置までのステップ数、すなわち16+(14×24)ステップ分に対応した時間長情報とされる。
この図では、停止目標の図柄が15コマ目の図柄とされた場合の例を示している。
先の図14,図15等の説明からも理解されるように、本実施の形態のステッピングモータ54の駆動によれば、回転リール4は1タイマ割込みで所定のステップ数だけ回転が進む(定常回転時には1タイマ割込みにつき1ステップ)。このため、原点位置101から停止制御を開始すべきステップ位置(停止実行ステップ位置)までの長さの情報を、回転継続長情報として予め記憶しておき、原点位置101を検出したタイミングを起点として、そこから当該回転継続長情報に従ったタイマ割込み回数分だけ回転を継続させることで、停止実行ステップ位置に到達したか否かを逐次判定せずとも、停止目標位置での停止を実現できる。
図22では、回転リール4を定常回転としての速度で回転させた後、15コマ目の図柄における停止ステップ位置(演出回転の場合も5番のステップ位置)で停止させる例を示しており、停止制御を開始する停止実行ステップ位置は、惰性回転を考慮して停止ステップ位置の3ステップ手前の位置とされている。この場合、回転継続長情報としては、原点位置101(1コマ目の図柄の0番のステップ位置)から15コマ目の図柄の8番のステップ位置までのステップ数、すなわち16+(14×24)ステップ分に対応した時間長情報とされる。
但し、ここで考慮すべきは、演出回転としては正方向の回転のみでなく逆方向の回転も行われる場合があるという点である。以下で説明するように、回転リール4が逆回転される場合は、正回転される場合とインデックスセンサ55の検出信号のONエッジが得られるタイミングが異なるため、この点を考慮した停止制御を行うべきである。
図23は、回転リール4a〜4cに対して設けられた原点検出に係る構成についての説明図である。
なお、原点検出に係る構成は、回転リール4a〜4cのそれぞれについて同様であるためここでは一図に纏めて示している。図23Aは原点位置検出に係る構成を斜視図により示し、図23Bは回転リール4側に形成された被検出部410dと原点位置101との関係を概略断面図により示している。
なお、原点検出に係る構成は、回転リール4a〜4cのそれぞれについて同様であるためここでは一図に纏めて示している。図23Aは原点位置検出に係る構成を斜視図により示し、図23Bは回転リール4側に形成された被検出部410dと原点位置101との関係を概略断面図により示している。
図23Aには、ステッピングモータ54が備えるロータ54rの中心軸である回転軸Raを一点鎖線により示している。回転リール4には、回転軸Raの軸周りに回転駆動されるリールドラム401と、リールドラム401の内側に配置されたバックライト部402と、リールドラム401を直接的又は間接的に支持するベース体403とを備えている。
ベース体403は、例えば合成樹脂で構成され、略板状に形成されたベース板403bと、ベース板403bから回転軸Raに沿った方向に突出する突出部403tを有している。ベース板403bは、リールドラム401の左右方向の一方側(ここでは右側)に沿って配置されている。ステッピングモータ54は、ロータ54r(回転軸Ra)を左右方向の一方側(ここでは左側)に向けた状態で、ベース体403の一面側(ここでは左面側)に固定されている。
この場合、突出部403tは、ベース板403bから左側方向に突出している。
この場合、突出部403tは、ベース板403bから左側方向に突出している。
リールドラム401は、二つのリールフレーム410,411と、これらリールフレーム410,411の外周に円筒状に装着される帯状のリールシート420とを有して構成されている。リールフレーム410,411は、例えば光透過性を有しないか又は光透過率が極めて低い黒色の合成樹脂製で構成されており、それぞれ外周部がリム部410r、411rとして形成されている。リールフレーム410のリム部410r、リールフレーム411のリム部411rは、それぞれリールシート420の左右の縁部に沿う円環状に形成されている。
リールフレーム410は、ステッピングモータ54のロータ54rに着脱自在に固定されたハブ部410hと、リム部410rとハブ部410hとの間を半径方向に連結する複数のスポーク部410sとを有している。
リールフレーム410は、ステッピングモータ54のロータ54rに着脱自在に固定されたハブ部410hと、リム部410rとハブ部410hとの間を半径方向に連結する複数のスポーク部410sとを有している。
ここで、本例の場合、リールフレーム411は、リールフレーム410に対して直接的には連結されておらず、リールフレーム411のリム部411rはリールシート420を介してリールフレーム410のリム部410rに支持されている(勿論、リム部411rとリム部410rとの間を周方向の1又は複数箇所で例えば一体に連結することもできる)。
リールシート420は、例えば無色透明の合成樹脂製シートにより一定幅の帯状に形成され、リールフレーム410、411のリム部410r,411rに巻き付けられ、例えば接着剤により貼着されている。この図では図示を省略したが、リールシート420上には、複数の図柄が印刷により形成されている。
リールシート420における図柄形成領域は比較的光透過率が高くされており、バックライト部402におけるLEDが点灯したとき、その発光領域が明るく発光するようになっている。
リールシート420における図柄形成領域は比較的光透過率が高くされており、バックライト部402におけるLEDが点灯したとき、その発光領域が明るく発光するようになっている。
インデックスセンサ55は、例えば透過型フォトセンサにより構成され、図のように本例ではベース板403bからリールドラム401に突出する突出部403tの先端部分に装着されている。インデックスセンサ55は、発光面、受光面がリールフレーム410の半径方向において互いに対向するように配置された発光部551と受光部552を有している。
本例の場合、リールドラム410の所定のスポーク部410sには、インデックスセンサ55と対向する向きに突出する被検出部410dが形成されている。この被検出部410dは、リールドラム401の回転に伴い、インデックスセンサ55の発光部551と受光部552との間の空間を通過する位置に形成されている。
このような構成により、透過型フォトセンサとしてのインデックスセンサ55によっては、リールドラム401(回転リール4)の回転の一周回につき1回、発光部551と受光部552との間を被検出部410dが通過することに伴うONパルスの出現する検出信号が得られる。
ここで、図23Bに示すように、被検出部410dは、回転方向R(正回転方向)に平行な方向おける両エッジ(端部)のうち一方のエッジが原点位置101と同じ回転角度に位置するように位置決めされている。具体的に、本例の被検出部410dは、正回転方向(R)への回転進行方向側のエッジが原点位置101と同じ回転角度に位置するように位置決めされている。
なお、原点検出のための構成は、上記で説明したものに限定されるべきものではない。例えば、突起状の被検出部410dに代えて、特許文献1に開示されているような切欠部による被検出部を設けた構成とすることもできる。この場合、インデックスセンサ55の発光部551と受光部552は、回転リール4の回転に伴い切欠部が到来したときに発光部551の発した光が受光部552で受光されるように配置すればよい。
インデックスセンサ55としては、透過型のフォトセンサに限らず、反射型のフォトセンサを用いることもできる。
インデックスセンサ55としては、透過型のフォトセンサに限らず、反射型のフォトセンサを用いることもできる。
図24は、図23に示した構成によって得られるインデックスセンサ55の検出信号と原点位置101が到来するタイミングとの関係を模式的に示した図である。
この図24を参照して分かるように、正回転時と逆回転時とでは、インデックスセンサ55のONエッジが到来するタイミングが異なる。これは、被検出部410dが幅W(図23B参照)を有しているためである。なお、幅Wは、回転リール4の回転方向に平行な方向における被検出部410dの長さと換言できる。
本例において、正回転時のONエッジ位置は0番であるのに対し、逆回転時のONエッジ位置は22番とされている。すなわち本例において、幅Wに起因した正回転時と逆回転時のONエッジ位置のギャップは2ステップ分とされている。
この図24を参照して分かるように、正回転時と逆回転時とでは、インデックスセンサ55のONエッジが到来するタイミングが異なる。これは、被検出部410dが幅W(図23B参照)を有しているためである。なお、幅Wは、回転リール4の回転方向に平行な方向における被検出部410dの長さと換言できる。
本例において、正回転時のONエッジ位置は0番であるのに対し、逆回転時のONエッジ位置は22番とされている。すなわち本例において、幅Wに起因した正回転時と逆回転時のONエッジ位置のギャップは2ステップ分とされている。
この図24より、原点位置101を正確に検出するにあたっては、正回転時においてはインデックスセンサ55の検出信号のONエッジを検出すればよく、逆回転時においては検出信号のOFFエッジを検出すればよいことが分かる。
なお、正回転時におけるONエッジ位置は、正回転時において回転リール4の一周回につき二度到来する検出信号のエッジ位置のうち、一番目に到来するエッジ位置(「第一エッジ位置」)と換言することができ、正回転時におけるOFFエッジ位置は、正回転時において回転リール4の1周回につき二度到来する検出信号のエッジ位置のうち、二番目に到来するエッジ位置(第二エッジ位置)と換言することができる。
同様に、逆回転時におけるONエッジ位置は、逆回転時において回転リール4の1周回につき二度到来する検出信号のエッジ位置のうち一番目に到来するエッジ位置(「第一エッジ位置」)と換言することができ、逆回転時におけるOFFエッジ位置は、逆回転時において回転リール4の1周回につき二度到来する検出信号のエッジ位置のうち二番目に到来するエッジ位置(第二エッジ位置)と換言することができる。
なお、正回転時におけるONエッジ位置は、正回転時において回転リール4の一周回につき二度到来する検出信号のエッジ位置のうち、一番目に到来するエッジ位置(「第一エッジ位置」)と換言することができ、正回転時におけるOFFエッジ位置は、正回転時において回転リール4の1周回につき二度到来する検出信号のエッジ位置のうち、二番目に到来するエッジ位置(第二エッジ位置)と換言することができる。
同様に、逆回転時におけるONエッジ位置は、逆回転時において回転リール4の1周回につき二度到来する検出信号のエッジ位置のうち一番目に到来するエッジ位置(「第一エッジ位置」)と換言することができ、逆回転時におけるOFFエッジ位置は、逆回転時において回転リール4の1周回につき二度到来する検出信号のエッジ位置のうち二番目に到来するエッジ位置(第二エッジ位置)と換言することができる。
上記のように逆回転時においては、インデックスセンサ55の検出信号のOFFエッジ位置(第二エッジ位置)を検出することで、正回転時と同様に原点位置101を起点とした回転継続長情報を用いた回転停止制御によって正確な位置での停止を実現できる。
具体的に、逆回転時において、図22の例と同様に15コマ目の図柄における5番の停止ステップ位置で回転リール4の回転を停止させる場合には、回転継続長情報としては、1+(6×24)ステップ分に対応した時間長情報を用いればよい。
具体的に、逆回転時において、図22の例と同様に15コマ目の図柄における5番の停止ステップ位置で回転リール4の回転を停止させる場合には、回転継続長情報としては、1+(6×24)ステップ分に対応した時間長情報を用いればよい。
しかしながら、上記の手法によると、正回転時にはインデックスセンサ55の検出信号のONエッジのみを検出すれば足るのに対し、逆回転時には、ONエッジとOFFエッジとを検出し分けなければならず、検出信号の監視負担が増大化し、処理負担の増大化を招く虞がある。
なお、被検出部410dは、逆回転時のONエッジが原点位置101と一致するように配置することもできる。この場合においては、逆に正回転時においてONエッジとOFFエッジを検出し分けなければならず、同様に処理負担の増大化を招く虞がある。
なお、被検出部410dは、逆回転時のONエッジが原点位置101と一致するように配置することもできる。この場合においては、逆に正回転時においてONエッジとOFFエッジを検出し分けなければならず、同様に処理負担の増大化を招く虞がある。
[8-2.制御手法]
そこで、本実施の形態では、演出回転について以下のような停止制御手法を採用することで、ONエッジとOFFエッジを検出し分けることを不要とし、処理負担の増大化の防止を図る。
図25及び図26は、本実施の形態における演出回転時の停止制御手法についての説明図であり、図25は原点位置101近傍における様子を、図26は停止目標の図柄近傍の様子をそれぞれ示している。
ここで、演出回転には、高速回転と低速回転がある。この点に鑑み、図25及び図26では、高速正回転、低速正回転、高速逆回転、低速逆回転の4種の回転についての制御例を説明する。本例の場合、高速回転は、定常回転と同じ回転速度による回転とされ、低速回転は、高速回転の1/3の回転速度による回転とされている。
なお、ここでの説明では、停止目標の図柄はtコマ目の図柄であるとする。
そこで、本実施の形態では、演出回転について以下のような停止制御手法を採用することで、ONエッジとOFFエッジを検出し分けることを不要とし、処理負担の増大化の防止を図る。
図25及び図26は、本実施の形態における演出回転時の停止制御手法についての説明図であり、図25は原点位置101近傍における様子を、図26は停止目標の図柄近傍の様子をそれぞれ示している。
ここで、演出回転には、高速回転と低速回転がある。この点に鑑み、図25及び図26では、高速正回転、低速正回転、高速逆回転、低速逆回転の4種の回転についての制御例を説明する。本例の場合、高速回転は、定常回転と同じ回転速度による回転とされ、低速回転は、高速回転の1/3の回転速度による回転とされている。
なお、ここでの説明では、停止目標の図柄はtコマ目の図柄であるとする。
先ず、正回転時の制御例について説明する。
正回転時には、先の図22で説明した手法と同様に、インデックスセンサ55による検出信号のONエッジ位置(正回転時には原点位置101)を起点とした回転継続長情報を用いた回転停止制御を行う。
本例において、回転継続長情報は、図中の「基準ステップ数」で表される時間長情報と、原点位置101から停止目標の図柄までの図柄単位での時間長情報つまり24ステップ単位によるステップ数で表される時間長情報とで成る。
正回転時には、先の図22で説明した手法と同様に、インデックスセンサ55による検出信号のONエッジ位置(正回転時には原点位置101)を起点とした回転継続長情報を用いた回転停止制御を行う。
本例において、回転継続長情報は、図中の「基準ステップ数」で表される時間長情報と、原点位置101から停止目標の図柄までの図柄単位での時間長情報つまり24ステップ単位によるステップ数で表される時間長情報とで成る。
「基準ステップ数」は、ONエッジ位置から「停止ステップ位置」(tコマ目の図柄の5番のステップ位置)までのステップ数に基づき定められたステップ数である。具体的には、ONエッジ位置から図中「停止基準ステップ位置」までのステップ数に基づいて定められたステップ数である。「停止基準ステップ位置」は、「停止ステップ位置」と同ステップ番号のステップ位置のうちONエッジ位置に対し回転方向側の直近に位置するステップ位置を意味する。
なお、ONエッジ位置から「停止基準ステップ位置」までのステップ数は、ONエッジ位置から停止ステップ位置までのステップ数を図柄1コマ分のステップ数=24で除した剰余のステップ数と換言することができる。
なお、ONエッジ位置から「停止基準ステップ位置」までのステップ数は、ONエッジ位置から停止ステップ位置までのステップ数を図柄1コマ分のステップ数=24で除した剰余のステップ数と換言することができる。
ここで、本例では、停止制御開始後の惰性回転を考慮しているため、「基準ステップ数」は、ONエッジ位置から「停止基準ステップ位置」までのステップ数から、惰性回転分のステップ数を減じたステップ数としている。
具体的に、高速正回転時における「基準ステップ数」は、「停止基準ステップ位置」までのステップ数=19から惰性回転分のステップ数=3を減じた「16」とされている。
一方、低速正回転時における「基準ステップ数」は、惰性回転分のステップ数が高速回転時の1/3である「1」とされるため、「停止基準ステップ位置」までのステップ数=19から惰性回転分のステップ数=1を減じた「18」とされている。
具体的に、高速正回転時における「基準ステップ数」は、「停止基準ステップ位置」までのステップ数=19から惰性回転分のステップ数=3を減じた「16」とされている。
一方、低速正回転時における「基準ステップ数」は、惰性回転分のステップ数が高速回転時の1/3である「1」とされるため、「停止基準ステップ位置」までのステップ数=19から惰性回転分のステップ数=1を減じた「18」とされている。
ここで、ONエッジ位置から上記のような基準ステップ数だけ進んだ(回転方向側に進んだ)ステップ位置は、停止目標の図柄における「停止実行ステップ位置」(図26参照)と同ステップ番号のステップ位置となる。この点より、以下、ONエッジ位置から基準ステップ数だけ進んだステップ位置のことを「停止実行基準ステップ位置Psr」と表記する。高速正回転時における停止実行基準ステップ位置Psrは符号「Psr1」で表記し、低速正回転時における停止実行基準ステップ位置Psrについては符号「Psr2」で表記する。
上記したように、本例における回転継続長情報は、このような基準ステップ数で表される時間長情報と、原点位置101から停止目標の図柄までの24ステップ単位によるステップ数で表される時間長情報とで成る。
このため、停止目標の図柄がtコマ目の図柄である場合に対応した回転継続長情報は、高速正回転時であれば、16ステップ分の時間長情報と{(t−1)×24}ステップ分の時間長情報とで成る。また、低速正回転時における回転継続長情報は、18ステップ分の時間長情報と{(t−1)×24}ステップ分の時間長情報とで成る。
このため、停止目標の図柄がtコマ目の図柄である場合に対応した回転継続長情報は、高速正回転時であれば、16ステップ分の時間長情報と{(t−1)×24}ステップ分の時間長情報とで成る。また、低速正回転時における回転継続長情報は、18ステップ分の時間長情報と{(t−1)×24}ステップ分の時間長情報とで成る。
本実施の形態のスロットマシン1には、このような回転継続長情報が予め記憶されており、演出回転時には、演出内容に応じた(停止目標の図柄の別に応じた)回転継続長情報に従って回転リール4(ステッピングモータ54)の停止制御が行われる。具体的に、この場合における停止制御は、ONエッジ位置を起点として、回転継続長情報が表すステップ数だけ進んだ位置で開始される。
これにより、惰性回転を考慮して、回転リール4を正確な位置で停止させることができる。
これにより、惰性回転を考慮して、回転リール4を正確な位置で停止させることができる。
続いて、逆回転時について説明する。
本実施の形態では、逆回転時に対応した回転継続長情報は、原点位置101を起点とした時間長情報とするのではなく、ONエッジ位置を起点とした時間長情報としている。
本例の場合、逆回転時に対応した回転継続長情報としても、基準ステップ数で表される時間長情報と、原点位置101から停止目標の図柄までの24ステップ単位によるステップ数で表される時間長情報とで成る。
逆回転時においても、「基準ステップ数」や「停止基準ステップ位置」の定義は正回転時と同様である。また、逆回転時においても、基準ステップ数は惰性回転を考慮した値としている。
具体的に、高速逆回転時における基準ステップ数は、ONエッジ位置から「停止基準ステップ位置」までのステップ数=7から惰性回転分のステップ数=3を減じた「4」とされている。一方、低速逆回転時における基準ステップ数は、ONエッジ位置から「停止基準ステップ位置」までのステップ数=7から惰性回転分のステップ数=1を減じた「6」とされている。
図25に示すように、高速逆回転時における停止実行基準ステップ位置Psrは符号「Psr3」で表記し、低速逆回転時における停止実行基準ステップ位置Psrについては符号「Psr4」で表記する。
本実施の形態では、逆回転時に対応した回転継続長情報は、原点位置101を起点とした時間長情報とするのではなく、ONエッジ位置を起点とした時間長情報としている。
本例の場合、逆回転時に対応した回転継続長情報としても、基準ステップ数で表される時間長情報と、原点位置101から停止目標の図柄までの24ステップ単位によるステップ数で表される時間長情報とで成る。
逆回転時においても、「基準ステップ数」や「停止基準ステップ位置」の定義は正回転時と同様である。また、逆回転時においても、基準ステップ数は惰性回転を考慮した値としている。
具体的に、高速逆回転時における基準ステップ数は、ONエッジ位置から「停止基準ステップ位置」までのステップ数=7から惰性回転分のステップ数=3を減じた「4」とされている。一方、低速逆回転時における基準ステップ数は、ONエッジ位置から「停止基準ステップ位置」までのステップ数=7から惰性回転分のステップ数=1を減じた「6」とされている。
図25に示すように、高速逆回転時における停止実行基準ステップ位置Psrは符号「Psr3」で表記し、低速逆回転時における停止実行基準ステップ位置Psrについては符号「Psr4」で表記する。
ここで、逆回転時においては、原点位置101から停止目標であるtコマ目の図柄までの24ステップ単位によるステップ数は{(21−t)×24}である。従って、高速逆回転時に対応した回転継続長情報は、4ステップ分の時間長情報と{(21−t)×24}ステップ分の時間長情報とで成り、低速逆回転時における回転継続長情報は、6ステップ分の時間長情報と{(21−t)×24}ステップ分の時間長情報とで成る。
逆回転時においても、回転リール4(ステッピングモータ54)の停止制御は、ONエッジ位置から回転継続長情報が表すステップ数だけ進んだ位置で開始する。
これにより、逆回転時においても、惰性回転を考慮して回転リール4を正確な位置で停止させることができる。
これにより、逆回転時においても、惰性回転を考慮して回転リール4を正確な位置で停止させることができる。
上記のような制御手法により、逆回転時の停止制御は、正回転時と同様にインデックスセンサ55による検出信号のONエッジのみを検出することで適正に行うことができる。
従って、ONエッジとOFFエッジを検出し分けることを不要として処理負担の増大化の防止を図りつつ、回転リール4を正確な位置で停止させることができる。
従って、ONエッジとOFFエッジを検出し分けることを不要として処理負担の増大化の防止を図りつつ、回転リール4を正確な位置で停止させることができる。
なお、上記説明からも理解されるように、逆回転時における回転継続長情報は、原点位置101(逆回転時におけるOFFエッジ位置)を起点とした停止実行ステップ位置までの時間長情報を、ONエッジ位置を起点とした停止実行ステップ位置までの時間長情報に補正したものと換言することができる。具体的に、高速逆回転時については、原点位置101を起点とした際の1+{(21−t)×24}ステップ分の時間長情報を、ONエッジ位置を起点とした4+{(21−t)×24}ステップ分の時間長情報に補正したものと換言でき、低速逆回転時については、原点位置101を起点とした際の3+{(21−t)×24}ステップ分の時間長情報を、ONエッジ位置を起点とした6+{(21−t)×24}ステップ分の時間長情報に補正したものと換言できる。
[8-3.具体的処理]
以下、上記により説明した演出回転時の停止制御手法を実現するための具体的な処理について説明する。
先の説明からも理解されるように、演出回転に係る処理の大まかな流れは、先ず、メイン処理(図9)におけるステップS107のリール演出抽選処理で、リール演出を実行するか否かが判定され、同じくメイン処理におけるステップS109の回動回転開始設定処理で、演出回転を実行するために必要な各種の情報の設定処理が実行される(図12、ステップS303のリール演出開始設定・待機処理)。
そして、タイマ割込み処理(図10)として実行されるステップS203の回動回転制御処理、具体的には図14におけるステップS404のリール演出中処理により、上記のようなメイン処理側での設定情報に従ったステッピングモータの駆動制御(励磁制御)が実行される。
以下、上記により説明した演出回転時の停止制御手法を実現するための具体的な処理について説明する。
先の説明からも理解されるように、演出回転に係る処理の大まかな流れは、先ず、メイン処理(図9)におけるステップS107のリール演出抽選処理で、リール演出を実行するか否かが判定され、同じくメイン処理におけるステップS109の回動回転開始設定処理で、演出回転を実行するために必要な各種の情報の設定処理が実行される(図12、ステップS303のリール演出開始設定・待機処理)。
そして、タイマ割込み処理(図10)として実行されるステップS203の回動回転制御処理、具体的には図14におけるステップS404のリール演出中処理により、上記のようなメイン処理側での設定情報に従ったステッピングモータの駆動制御(励磁制御)が実行される。
図27は、ステップS303のリール演出開始設定・待機処理の具体的な処理手順を示したフローチャートである。
図27において、CPU80aは、先ずステップS701で、リール演出フラグに対応する演出テーブルを参照して各回胴に対応する演出パターンテーブルをセットする。
図27において、CPU80aは、先ずステップS701で、リール演出フラグに対応する演出テーブルを参照して各回胴に対応する演出パターンテーブルをセットする。
図28は、リール演出フラグ、演出テーブル、演出パターンテーブルについての説明図である。
図28Aに示すように、リール演出フラグは、その値によりリール演出抽選の当否及び当選したリール演出の種類を表す情報とされている。この図の例では、リール演出フラグの値として0〜5の6値を表しており、「0」が「演出なし」、「1」が「半コマ逆回転」、「2」が「BAR揃い」、「3」が「赤7揃い」、「4」が「青7揃い」、「5」が「低速赤7揃い」に対応している。
なお、先の図12を参照して分かるように、ステップS303のリール演出開始設定・待機処理が実行されるのは、リール演出フラグの値が「0」以外の場合である。
図28Aに示すように、リール演出フラグは、その値によりリール演出抽選の当否及び当選したリール演出の種類を表す情報とされている。この図の例では、リール演出フラグの値として0〜5の6値を表しており、「0」が「演出なし」、「1」が「半コマ逆回転」、「2」が「BAR揃い」、「3」が「赤7揃い」、「4」が「青7揃い」、「5」が「低速赤7揃い」に対応している。
なお、先の図12を参照して分かるように、ステップS303のリール演出開始設定・待機処理が実行されるのは、リール演出フラグの値が「0」以外の場合である。
図28Bに示す演出テーブルは、リール演出フラグの値(「0」以外)ごとに設けられたテーブル情報であり、それぞれの演出テーブルには、回転リール4(左、中、右)ごとの演出パターンテーブルの識別情報(本例では番号情報)が格納されている。図中では、リール演出フラグの値「3(赤7揃い)」「4(青7揃い)」「5(低速赤7揃い)」に対応した演出テーブルのみを抽出して示している。図のように「3(赤7揃い)」に対応した演出テーブルは、左、中、右の回転リール4に対応する演出パターンテーブルの識別情報として、それぞれ「10(高速正回転15番停止)」、「11(高速逆回転15番停止)」、「10(高速正回転15番停止)」が格納されている。
また、「4(青7揃い)」に対応した演出テーブルは、左、中、右の回転リール4に対応する演出パターンテーブルの識別情報として、それぞれ「12(高速正回転16番停止)」、「13(高速逆回転10番停止)」、「14(高速正回転14番停止)」が格納され、「5(低速赤7揃い)」の演出テーブルは、左、中、右の回転リール4に対応する演出パターンテーブルの識別情報として、それぞれ「15(低速正回転15番停止)」、「16(低速逆回転15番停止)」、「15(低速正回転15番停止)」が格納されている。
また、「4(青7揃い)」に対応した演出テーブルは、左、中、右の回転リール4に対応する演出パターンテーブルの識別情報として、それぞれ「12(高速正回転16番停止)」、「13(高速逆回転10番停止)」、「14(高速正回転14番停止)」が格納され、「5(低速赤7揃い)」の演出テーブルは、左、中、右の回転リール4に対応する演出パターンテーブルの識別情報として、それぞれ「15(低速正回転15番停止)」、「16(低速逆回転15番停止)」、「15(低速正回転15番停止)」が格納されている。
図28Cに示す演出パターンテーブルは、演出回転に係る各種動作の情報と各動作の手順とを表した情報とされている。演出パターンテーブルにおいては、最上段のライン(0行目のライン)から最下段のラインにかけて順に時間的に先に実行されるべき動作の情報が格納されている。
図中では、「10(高速正回転15番停止)」、「11(高速逆回転15番停止)」、「15(低速正回転15番停止)」、「16(低速逆回転15番停止)」に対応した演出パターンテーブルのみを抽出して示している。図のように「10(高速正回転15番停止)」の演出パターンテーブルは、最上段のラインから順に「高速正回転加速」「高速正回転インデックス検出」「高速正回転基準位置設定」「高速正回転14コマ」「停止」「終了」が格納された情報とされている。また、「11(高速逆回転15番停止)」の演出パターンテーブルは、最上段のラインから順に「高速逆回転加速」「高速逆回転インデックス検出」「高速逆回転基準位置設定」「高速逆回転6コマ」「停止」「終了」が格納された情報とされている。
「15(低速正回転15番停止)」の演出パターンテーブルは、最上段のラインから順に「低速正回転加速」「低速正回転インデックス検出」「低速正回転基準位置設定」「低速正回転14コマ」「停止」「終了」が格納された情報とされ、「16(低速逆回転15番停止)」の演出パターンテーブルは、最上段のラインから順に「低速逆回転加速」「低速逆回転インデックス検出」「低速逆回転基準位置設定」「低速逆回転6コマ」「停止」「終了」が格納された情報とされている。
図中では、「10(高速正回転15番停止)」、「11(高速逆回転15番停止)」、「15(低速正回転15番停止)」、「16(低速逆回転15番停止)」に対応した演出パターンテーブルのみを抽出して示している。図のように「10(高速正回転15番停止)」の演出パターンテーブルは、最上段のラインから順に「高速正回転加速」「高速正回転インデックス検出」「高速正回転基準位置設定」「高速正回転14コマ」「停止」「終了」が格納された情報とされている。また、「11(高速逆回転15番停止)」の演出パターンテーブルは、最上段のラインから順に「高速逆回転加速」「高速逆回転インデックス検出」「高速逆回転基準位置設定」「高速逆回転6コマ」「停止」「終了」が格納された情報とされている。
「15(低速正回転15番停止)」の演出パターンテーブルは、最上段のラインから順に「低速正回転加速」「低速正回転インデックス検出」「低速正回転基準位置設定」「低速正回転14コマ」「停止」「終了」が格納された情報とされ、「16(低速逆回転15番停止)」の演出パターンテーブルは、最上段のラインから順に「低速逆回転加速」「低速逆回転インデックス検出」「低速逆回転基準位置設定」「低速逆回転6コマ」「停止」「終了」が格納された情報とされている。
演出テーブル、及び演出パターンテーブルは例えばROM80b等のCPU80aが読み出し可能な記憶装置に記憶されている。
説明を図27に戻す。
ステップS701において、CPU80aは、リール演出フラグの値(「0」以外)に対応した演出テーブルから回転リール4a,4b,4cに対応する演出パターンテーブルをそれぞれ読み出し、RAM80cのワーク領域にセットする。
ステップS701において、CPU80aは、リール演出フラグの値(「0」以外)に対応した演出テーブルから回転リール4a,4b,4cに対応する演出パターンテーブルをそれぞれ読み出し、RAM80cのワーク領域にセットする。
ステップS701で演出パターンテーブルをセットすると、CPU80aはステップS702で回胴制御フラグFGa〜FGcを03hにセットする。すなわち、制御中フラグF0及びリール演出中フラグF1のみを「1」にセットする。
続くステップS703でCPU80aは、回転リール4a,4b,4cのリール演出中フラグF1の値が全て「0」となるまで待機する。
後述するように、演出回転が終了した際には、図36のステップS1204で回胴制御フラグFGが0リセットされる。ステップS703の処理は、回転リール4a,4b、4cの全てについてステップS1204のリセット処理が実行され、全てのリール演出中フラグF1が「0」となるまで待機する処理となる。すなわち、回転リール4a,4b、4c全ての演出回転が終了するまで待機する処理である。
後述するように、演出回転が終了した際には、図36のステップS1204で回胴制御フラグFGが0リセットされる。ステップS703の処理は、回転リール4a,4b、4cの全てについてステップS1204のリセット処理が実行され、全てのリール演出中フラグF1が「0」となるまで待機する処理となる。すなわち、回転リール4a,4b、4c全ての演出回転が終了するまで待機する処理である。
CPU80aは、回転リール4a,4b,4cのリール演出中フラグF1の値が全て「0」となったことに応じて、リール演出開始設定・待機処理(S303)を終了する。
なお、図27においては、1種の演出回転の終了に応じてリール演出開始設定・待機処理を終了する場合を例示したが、演出をさらに発展させる場合には、ステップS703からステップS701に戻って再度の設定処理を実行することもできる。
図29は、ステップS404のリール演出中処理の具体的な処理手順を示したフローチャートである。なお、先の図14を参照して分かるように、ステップS404のリール演出中処理は、1回のタイマ割込みにつき回転リール4a,4b,4cのそれぞれについて実行されるものである。
図29において、CPU80aはステップS801で、先のステップS701によってセットされた演出パターンテーブル実行ラインに対応する励磁出力テーブルをセットする。
図30及び図31は、励磁出力テーブルの説明図である。
励磁出力テーブルは、図28に示した演出パターンテーブルのラインに格納され得る動作情報ごとに設けられたテーブル情報であり、例えばROM80bに記憶されている。図のように各励磁出力テーブルには、処理の「種別」の情報がラインごとに格納されていると共に、それら「種別」の情報のうち必要な情報に対して「変数」の情報が対応づけられている。「種別」としては、「CW」「CCW」「KEEP」「BRK」「RES」「REP」「COM」「END」の8種がある。これらは、
CW…正回転
CCW…逆回転
KEEP…維持
BRK…ステッピングモータ54の4相をON
RES…ステッピングモータ54の4相をOFF
REP…繰り返し
COM…コマンド送信
END…終了
を意味している。
励磁出力テーブルは、図28に示した演出パターンテーブルのラインに格納され得る動作情報ごとに設けられたテーブル情報であり、例えばROM80bに記憶されている。図のように各励磁出力テーブルには、処理の「種別」の情報がラインごとに格納されていると共に、それら「種別」の情報のうち必要な情報に対して「変数」の情報が対応づけられている。「種別」としては、「CW」「CCW」「KEEP」「BRK」「RES」「REP」「COM」「END」の8種がある。これらは、
CW…正回転
CCW…逆回転
KEEP…維持
BRK…ステッピングモータ54の4相をON
RES…ステッピングモータ54の4相をOFF
REP…繰り返し
COM…コマンド送信
END…終了
を意味している。
「変数」は、「COM」「END」以外の「種別」に対応づけることが可能とされている。
「変数」は、「CW」「CCW」「KEEP」「BRK」「RES」に対応づけられる場合には、その「種別」が表す処理の維持回数を表す。
なお、ここでの「回数」は、タイマ割込みの回数と同義である。
「変数」は、「CW」「CCW」「KEEP」「BRK」「RES」に対応づけられる場合には、その「種別」が表す処理の維持回数を表す。
なお、ここでの「回数」は、タイマ割込みの回数と同義である。
一方、「REP」に対応づけられる場合、「変数」は、処理の維持回数、又は当該処理の継続を終了する条件の何れかを表す(図31に示す「ONエッジ」)。
具体的に、「REP」に対応づけられた「変数」は、回数を表す情報である場合は、「REP」が格納されたラインの次のラインの処理を繰り返す回数を意味する(例えば図31中「高速正回転基準位置設定」「高速正回転14コマ」等を参照)。
これに対し、「変数」が継続終了条件を表すものである場合には、「変数」は「REP」が格納されたラインの次のラインの処理をその条件の成立まで繰り返すことを意味する(例えば図31中「高速正回転インデックス検出」「低速正回転インデックス検出」を参照)。
具体的に、「REP」に対応づけられた「変数」は、回数を表す情報である場合は、「REP」が格納されたラインの次のラインの処理を繰り返す回数を意味する(例えば図31中「高速正回転基準位置設定」「高速正回転14コマ」等を参照)。
これに対し、「変数」が継続終了条件を表すものである場合には、「変数」は「REP」が格納されたラインの次のラインの処理をその条件の成立まで繰り返すことを意味する(例えば図31中「高速正回転インデックス検出」「低速正回転インデックス検出」を参照)。
リール演出時の回転制御は、当該励磁出力テーブルの各ラインに格納された「種別」や「変数」の情報に従った処理が上段側から下段側のラインにかけて実行されることで実現される。
例えば、図30に示す「高速正回転加速」の励磁出力テーブルによっては、「CW」を1タイマ割込み維持→「CW」を33タイマ割込み維持→「CW」を1タイマ割込み維持→「CW」を8タイマ割込み維持→・・・→「CW」を1タイマ割込み維持→「CW」を2タイマ割込み維持→終了の順に処理が実行され、これにより高速回転としての所定回転速度に向けた加速制御が実現される。なお、「高速正回転加速」時における励磁状態の遷移は、先に説明した定常回転に向けての起動時の場合(図16等を参照)と同じである。
また、図30に示す「低速正回転加速」の励磁出力テーブルによっては、「CW」を1タイマ割込み維持→「CW」を33タイマ割込み維持→「CW」を1タイマ割込み維持→「CW」を8タイマ割込み維持→「CW」を1タイマ割込み維持→「CW」4タイマ割込み維持→「CW」を1タイマ割込み維持→「CW」を3タイマ割込み維持→終了の順に処理が実行され、これにより高速回転の1/3の回転速度に向けた加速制御が実現される。
なお、図示は省略したが、「高速逆回転加速」「低速逆回転加速」の励磁出力テーブルは、「高速正回転加速」「低速正回転加速」の励磁出力テーブルにおける「CW」が「CCW」に変更されたものとなる。
例えば、図30に示す「高速正回転加速」の励磁出力テーブルによっては、「CW」を1タイマ割込み維持→「CW」を33タイマ割込み維持→「CW」を1タイマ割込み維持→「CW」を8タイマ割込み維持→・・・→「CW」を1タイマ割込み維持→「CW」を2タイマ割込み維持→終了の順に処理が実行され、これにより高速回転としての所定回転速度に向けた加速制御が実現される。なお、「高速正回転加速」時における励磁状態の遷移は、先に説明した定常回転に向けての起動時の場合(図16等を参照)と同じである。
また、図30に示す「低速正回転加速」の励磁出力テーブルによっては、「CW」を1タイマ割込み維持→「CW」を33タイマ割込み維持→「CW」を1タイマ割込み維持→「CW」を8タイマ割込み維持→「CW」を1タイマ割込み維持→「CW」4タイマ割込み維持→「CW」を1タイマ割込み維持→「CW」を3タイマ割込み維持→終了の順に処理が実行され、これにより高速回転の1/3の回転速度に向けた加速制御が実現される。
なお、図示は省略したが、「高速逆回転加速」「低速逆回転加速」の励磁出力テーブルは、「高速正回転加速」「低速正回転加速」の励磁出力テーブルにおける「CW」が「CCW」に変更されたものとなる。
さらに、図31に示す「高速正回転インデックス検出」の励磁出力テーブルによっては、「REP」の次のラインに格納された種別=「CW」、変数=「1」で表される処理(「CW」を1タイマ割込み維持:1タイマ割込み1ステップの速度での正回転と同義)をインデックスセンサ55による検出信号のONエッジ位置が検出されるまで継続する処理が実行される。
なお、図示するように「低速正回転インデックス検出」の励磁出力テーブルは、「高速正回転インデックス検出」の励磁出力テーブルにおける「CW」の「変数」が「3」に変更されたもの(「CW」を3タイマ割込み維持:3タイマ割込み1ステップの速度での正回転と同義)であり、また、「高速逆回転インデックス検出」の励磁出力テーブルは、「高速正回転インデックス検出」の励磁出力テーブルにおける「CW」が「CCW」に変更されたものである。図示は省略したが、「低速逆回転インデックス検出」の励磁出力テーブルは、「低速正回転インデックス検出」の励磁出力テーブルにおける「CW」を「CCW」に変更したものとなる。
なお、図示するように「低速正回転インデックス検出」の励磁出力テーブルは、「高速正回転インデックス検出」の励磁出力テーブルにおける「CW」の「変数」が「3」に変更されたもの(「CW」を3タイマ割込み維持:3タイマ割込み1ステップの速度での正回転と同義)であり、また、「高速逆回転インデックス検出」の励磁出力テーブルは、「高速正回転インデックス検出」の励磁出力テーブルにおける「CW」が「CCW」に変更されたものである。図示は省略したが、「低速逆回転インデックス検出」の励磁出力テーブルは、「低速正回転インデックス検出」の励磁出力テーブルにおける「CW」を「CCW」に変更したものとなる。
また、「高速正回転基準位置設定」の励磁出力テーブルによっては、「REP」の次のラインに格納された種別=「CW」、変数=「1」で表される処理を「REP」の「変数」である「16」回繰り返す処理が実行され、「高速逆回転基準位置設定」の励磁出力テーブルによっては、「REP」の次のラインに格納された種別=「CCW」、変数=「1」で表される処理を「REP」の「変数」が表す「4」回繰り返す処理が実行される。
「低速正回転基準位置設定」の励磁出力テーブルによっては、「REP」の次のラインに格納された種別=「CW」、変数=「3」で表される処理(3割込み1ステップの速度での正回転)を「REP」の「変数」である「18」回繰り返す処理が実行され、「低速逆回転基準位置設定」の励磁出力テーブルによっては、「REP」の次のラインに格納された種別=「CCW」、変数=「3」で表される処理を「REP」の「変数」である「6」回繰り返す処理が実行される。
「低速正回転基準位置設定」の励磁出力テーブルによっては、「REP」の次のラインに格納された種別=「CW」、変数=「3」で表される処理(3割込み1ステップの速度での正回転)を「REP」の「変数」である「18」回繰り返す処理が実行され、「低速逆回転基準位置設定」の励磁出力テーブルによっては、「REP」の次のラインに格納された種別=「CCW」、変数=「3」で表される処理を「REP」の「変数」である「6」回繰り返す処理が実行される。
また、「高速正回転14コマ」の励磁出力テーブルによっては、「REP」の次のラインに格納された種別=「CW」、変数=「1」で表される処理を14×24回継続する処理が実行され、「低速正回転14コマ」の励磁出力テーブルによっては「REP」の次のラインに格納された種別=「CW」、変数=「3」で表される処理を14×24回継続する処理が実行される。
なお、「高速逆回転6コマ」の励磁出力テーブルは、「高速正回転14コマ」の励磁出力テーブルにおける「REP」の「変数」が「6×24」に変更され、「REP」の次のラインにおける「CW」が「CCW」に変更されたものである。
なお、「高速逆回転6コマ」の励磁出力テーブルは、「高速正回転14コマ」の励磁出力テーブルにおける「REP」の「変数」が「6×24」に変更され、「REP」の次のラインにおける「CW」が「CCW」に変更されたものである。
さらに、「停止」の励磁出力テーブルによっては、「BRK」(4相ON)を100タイマ割込み維持→「COM」(コマンド送信)→「RES」(4相OFF)を1タイマ割込み維持の順で処理が実行される。
説明を図29に戻す。
ステップS801の処理は、図30及び図31に示したような励磁出力テーブルのうちから、先のステップS701でセットした演出パターンテーブルにおける実行ラインに対応する励磁出力テーブルをRAM80cのワーク領域にセットする処理となる。
ステップS801の処理は、図30及び図31に示したような励磁出力テーブルのうちから、先のステップS701でセットした演出パターンテーブルにおける実行ラインに対応する励磁出力テーブルをRAM80cのワーク領域にセットする処理となる。
ここで、RAM80cのワーク領域には、図32に示すように、演出パターンテーブルや励磁出力テーブルにおける実行ラインの情報等、演出回転時の回転制御に係る情報を保持するための領域が回転リール4ごとに確保されている。
具体的には、「演出パターンテーブル」「演出パターンテーブル実行ライン」「励磁出力テーブル」「励磁出力テーブル実行ライン」「モータ出力タイマ」「演出用制御コード」「励磁出力ループカウンタ」の各情報を保持するための領域が左、中、右の回転リール4ごとに確保されている。
具体的には、「演出パターンテーブル」「演出パターンテーブル実行ライン」「励磁出力テーブル」「励磁出力テーブル実行ライン」「モータ出力タイマ」「演出用制御コード」「励磁出力ループカウンタ」の各情報を保持するための領域が左、中、右の回転リール4ごとに確保されている。
「演出パターンテーブル」には、先のステップS701によりリール演出フラグの値に応じた演出パターンテーブルの番号がセットされ、「演出パターンテーブル実行ライン」には、セットされた演出パターンテーブルにおける現在実行中のラインの番号がセットされる。この「演出パターンテーブル実行ライン」には、後述するステップS1204(図36)のクリア処理によって初期値として「0」がセットされ、その後は演出パターンテーブルにおける実行ラインの動作が実行されるごとに(つまり当該実行ラインに対応する励磁出力テーブルの全ラインの処理が完了することに)ステップS1202により値が順次インクリメントされる。
「励磁出力テーブル」には、「演出パターンテーブル実行ライン」にセットされた値が表す演出パターンテーブル実行ラインに対応する励磁出力テーブルの情報がセットされる。
上記したステップS801は、このように「励磁出力テーブル」に対して演出パターンテーブル実行ラインに対応する励磁出力テーブルの情報をセットする処理となる。
上記したステップS801は、このように「励磁出力テーブル」に対して演出パターンテーブル実行ラインに対応する励磁出力テーブルの情報をセットする処理となる。
「励磁出力テーブル実行ライン」には、「励磁出力テーブル」にセットされた励磁出力テーブルにおける現在実行中のラインの番号がセットされる。当該「励磁出力テーブル実行ライン」には、後述するステップS1201(図36)のクリア処理によって初期値として「0」がセットされ、その後は励磁出力テーブルにおける実行ラインの処理が実行されるごとにステップS913(図33)、又はステップS1004(図34)、又はステップS1102(図35)により値が順次インクリメントされる。
「モータ出力タイマ」には、前述したモータ出力タイマTomの値がセットされる。後述するように、演出回転時におけるモータ出力タイマTomの値としては、励磁出力テーブルにおける実行ラインの「種別」が「CW」「CCW」「KEEP」「BRK」「RES」である場合において、当該ラインの「変数」の値がセットされ(図33のステップS901参照)、その後はステップS904によって値が順次デクリメントされる。モータ出力タイマTomの値は、後述するステップS1201によって、演出パターンテーブルにおける実行ラインの動作が実行されるごとに0クリアされるため、初期値は0である。
「演出制御用コード」には、励磁出力テーブルにおける実行ラインの「種別」が「REP」であり且つ当該ラインの「変数」として「ONエッジ」が対応づけられている場合において、当該「ONエッジ」を表すコード情報がセットされる(図34のステップS1003参照)。
また、「励磁出力ループカウンタ」には、励磁出力テーブルにおける実行ラインの「種別」が「REP」であり、且つ当該ラインの「変数」として継続回数を表す値が対応づけられている場合において、当該「変数」の値がセットされる(図34のステップS1002参照)。
また、「励磁出力ループカウンタ」には、励磁出力テーブルにおける実行ラインの「種別」が「REP」であり、且つ当該ラインの「変数」として継続回数を表す値が対応づけられている場合において、当該「変数」の値がセットされる(図34のステップS1002参照)。
図29において、制御部80cは、ステップS801で励磁出力テーブルをセットすると、ステップS802で励磁出力テーブル実行ラインに対応する「種別」の情報を取得する。すなわち、図32に示した「励磁出力テーブル」と「励磁出力テーブル実行ライン」を参照して、それらの情報から特定される励磁出力テーブルにおける該当するラインの「種別」の情報を取得する。
続くステップS803でCPU80aは、取得した「種別」に応じた処理を実行し、ステップS404のリール演出中処理を終了する。
ステップS803の処理としては、取得した「種別」が「CW」「CCW」「KEEP」「BRK」「RES」の何れかである場合、「REP」である場合、「COM」である場合、「END」である場合のそれぞれに対応した処理が実行される。
先ず、図33により、取得した「種別」が「CW」「CCW」「KEEP」「BRK」「RES」の何れかである場合にステップS803として実行される処理を説明する。
図33において、CPU80aはステップS901で、モータ出力タイマTomの値が0であるか否かを判別する。このステップS901の処理の実行時点でモータ出力タイマTomの値が0であるのは、図28Cに示した演出パターンテーブルの0行目のラインの動作が開始されたとき、或いはその後に励磁出力テーブルの実行ラインが次ラインに切り換わったときである。
モータ出力タイマTomの値が0であれば、CPU80aはステップS902でモータ出力タイマTomに「変数」の値をセットする。すなわち、先のステップS803で「種別」の情報を取得した励磁出力テーブルにおける実行ラインの「変数」として格納されている値を図32に示した「モータ出力タイマ」にセットする。
図33において、CPU80aはステップS901で、モータ出力タイマTomの値が0であるか否かを判別する。このステップS901の処理の実行時点でモータ出力タイマTomの値が0であるのは、図28Cに示した演出パターンテーブルの0行目のラインの動作が開始されたとき、或いはその後に励磁出力テーブルの実行ラインが次ラインに切り換わったときである。
モータ出力タイマTomの値が0であれば、CPU80aはステップS902でモータ出力タイマTomに「変数」の値をセットする。すなわち、先のステップS803で「種別」の情報を取得した励磁出力テーブルにおける実行ラインの「変数」として格納されている値を図32に示した「モータ出力タイマ」にセットする。
そして、このようにモータ出力タイマTomに「変数」の値をセットしたことに応じ、CPU80aは、ステップS903で「種別」に応じた励磁データφ1〜φ4の設定処理を実行する。具体的に、「種別」が「CW」である場合には、励磁ポインタPTの値を順方向(図7Cに示す0→1→2→・・・→7→0→・・・の循環方向)に1つ遷移させた上で、励磁ポインタPTの値が示す励磁データφ1〜φ4を設定する(正回転更新設定)。また、「CCW」である場合には、励磁ポインタPTの値を上記順方向とは逆方向に1つ遷移させた上で、励磁ポインタPTの値が示す励磁データφ1〜φ4を設定する(逆回転更新設定)。さらに、「KEEP」である場合には、励磁ポインタPTの値を遷移させずに励磁ポインタPTの値が示す励磁データφ1〜φ4を設定する(つまり前回の励磁データφ1〜φ4の設定を維持する)。また、「BRK」である場合には全てONによる励磁データφ1〜φ4を設定(4相ON)し、「RES」である場合には全てOFFによる励磁データφ1〜φ4を設定(4相OFF)する。
なお、演出回転時における励磁ポインタPTの初期値は「0」であるため、上記の正回転更新設定、又は逆回転更新設定が繰り返されることで、1ステップごとに1相励磁、2相励磁が交互に繰り返される。これにより、演出回転時においても1−2相励磁による回転リール4の駆動が行われる。
なお、演出回転時における励磁ポインタPTの初期値は「0」であるため、上記の正回転更新設定、又は逆回転更新設定が繰り返されることで、1ステップごとに1相励磁、2相励磁が交互に繰り返される。これにより、演出回転時においても1−2相励磁による回転リール4の駆動が行われる。
ステップS903の設定処理を実行したことに応じ、CPU80aはステップS904に処理を進める。
また、先のステップS901において、モータ出力タイマTomの値が0でなかった場合(つまり励磁出力テーブルの実行ラインの処理を継続中である場合)、CPU80aは上記のステップS902及びS903の処理をパスしてステップS904に処理を進める。
ステップS904でCPU80aは、モータ出力タイマTomの値をデクリメント(−1)し、次のステップS905でモータ出力タイマTomの値が0であるか否かを判別する。
モータ出力タイマTomの値が0でなければ、当該実行ラインの処理は未だ「変数」の値が表す回数分継続されていない。従って、モータ出力タイマTomの値が0でなかった場合、CPU80aはステップS404のリール演出中処理を終了する。すなわち、当該リール演出中処理を終了して、図14に示したステップS436に処理を進める。
これによると、次回のタイマ割込み処理において、ステップS901以降の処理が再実行される。この際、ステップS904のデクリメント処理を経た後もモータ出力タイマTomの値が0でない場合には、同様にステップS404のリール演出中処理が終了し、次回のタイマ割込み処理においてステップS901以降の処理が再実行される。
このような処理の結果、励磁出力テーブルにおける実行ラインの「変数」の値が表すタイマ割込み回数分、ステップS903で設定された励磁データφ1〜φ4の出力が維持される。例えば、実行ラインが図31に示した「低速正回転14コマ」の励磁出力テーブルにおける「種別」=CW、「変数」=3のラインであった場合には、ステップS903において前述した正回転更新設定により設定された励磁データφ1〜φ4の出力が3タイマ割込み分継続される。
なお、図31に示した「高速正回転14コマ」の励磁出力テーブルのように、「変数」の値が「1」とされる場合には、モータ出力タイマTomの値はステップS902で当該「1」がセットされた後、ステップS904で「0」とされるため、ステップS905で0でないとの判別結果が得られることはない。つまりこの場合は、ステップS903で設定された励磁データφ1〜φ4の出力が1タイマ割込み分のみ行われる。
モータ出力タイマTomの値が0でなければ、当該実行ラインの処理は未だ「変数」の値が表す回数分継続されていない。従って、モータ出力タイマTomの値が0でなかった場合、CPU80aはステップS404のリール演出中処理を終了する。すなわち、当該リール演出中処理を終了して、図14に示したステップS436に処理を進める。
これによると、次回のタイマ割込み処理において、ステップS901以降の処理が再実行される。この際、ステップS904のデクリメント処理を経た後もモータ出力タイマTomの値が0でない場合には、同様にステップS404のリール演出中処理が終了し、次回のタイマ割込み処理においてステップS901以降の処理が再実行される。
このような処理の結果、励磁出力テーブルにおける実行ラインの「変数」の値が表すタイマ割込み回数分、ステップS903で設定された励磁データφ1〜φ4の出力が維持される。例えば、実行ラインが図31に示した「低速正回転14コマ」の励磁出力テーブルにおける「種別」=CW、「変数」=3のラインであった場合には、ステップS903において前述した正回転更新設定により設定された励磁データφ1〜φ4の出力が3タイマ割込み分継続される。
なお、図31に示した「高速正回転14コマ」の励磁出力テーブルのように、「変数」の値が「1」とされる場合には、モータ出力タイマTomの値はステップS902で当該「1」がセットされた後、ステップS904で「0」とされるため、ステップS905で0でないとの判別結果が得られることはない。つまりこの場合は、ステップS903で設定された励磁データφ1〜φ4の出力が1タイマ割込み分のみ行われる。
一方、ステップS905において、モータ出力タイマTomの値が0であった場合には、CPU80aはステップS906以降の処理を実行する。
ステップS906以降の処理は、当該実行ラインの直前のラインの「種別」が「REP」である場合(当該実行ラインの処理を「変数」が表す継続回数分又は「ONエッジ」に基づいて継続させる場合)に対応可能とするための処理である。
ステップS906以降の処理は、当該実行ラインの直前のラインの「種別」が「REP」である場合(当該実行ラインの処理を「変数」が表す継続回数分又は「ONエッジ」に基づいて継続させる場合)に対応可能とするための処理である。
ステップS906以降の処理の説明に先立ち、図34により「種別」が「REP」であった場合に対応した処理を説明しておく。
図34において、CPU80aは、ステップS1001で「変数」が「ONエッジ」であるか否かを判別する。「変数」が「ONエッジ」ではない場合、CPU80aはステップS1002に進んで図32に示した「励磁出力ループカウンタ」に「変数」の値をセットし、続くステップS1004で「励磁出力テーブル実行ライン」(図32)の値をインクリメント(+1)した上で先のステップS802(図29)に戻る。
これにより、「励磁出力ループカウンタ」に「REP」の「変数」がセットされた状態で、「REP」の次のラインの「種別」や「変数」に基づいたステップS803の処理が実行される。
図34において、CPU80aは、ステップS1001で「変数」が「ONエッジ」であるか否かを判別する。「変数」が「ONエッジ」ではない場合、CPU80aはステップS1002に進んで図32に示した「励磁出力ループカウンタ」に「変数」の値をセットし、続くステップS1004で「励磁出力テーブル実行ライン」(図32)の値をインクリメント(+1)した上で先のステップS802(図29)に戻る。
これにより、「励磁出力ループカウンタ」に「REP」の「変数」がセットされた状態で、「REP」の次のラインの「種別」や「変数」に基づいたステップS803の処理が実行される。
一方、ステップS1001において「変数」が「ONエッジ」であった場合、CPU80aはステップS1003に進んで図32に示した「演出用制御コード」に「ONエッジ」をセットし、ステップS1004で「励磁出力テーブル実行ライン」の値をインクリメント(+1)して先のステップS802に戻る。
これにより、「励磁出力ループカウンタ」=0、「演出用制御コード」=「ONエッジ」とされた状態で、「REP」の次のラインの「種別」や「変数」に基づいたステップS803の処理が実行される。
これにより、「励磁出力ループカウンタ」=0、「演出用制御コード」=「ONエッジ」とされた状態で、「REP」の次のラインの「種別」や「変数」に基づいたステップS803の処理が実行される。
図33に戻り、ステップS906以降の処理を説明する。
CPU80aは、ステップS906で「励磁出力ループカウンタ」(図32)の値が0であるか否かを判別する。
ここで、ステップS906の実行時点で「励磁出力ループカウンタ」の値が0である場合とは、当該実行ラインの直前のラインの「種別」が「REP」でなかった場合、又は当該直前のラインの「種別」が「REP」で「変数」が「ONエッジ」であった場合の何れかである。
一方、ステップS906の実行時点で「励磁出力ループカウンタ」の値が0でない場合とは、当該実行ラインの直前のラインの「種別」が「REP」で「変数」が継続回数を表す値であった場合である。
CPU80aは、ステップS906で「励磁出力ループカウンタ」(図32)の値が0であるか否かを判別する。
ここで、ステップS906の実行時点で「励磁出力ループカウンタ」の値が0である場合とは、当該実行ラインの直前のラインの「種別」が「REP」でなかった場合、又は当該直前のラインの「種別」が「REP」で「変数」が「ONエッジ」であった場合の何れかである。
一方、ステップS906の実行時点で「励磁出力ループカウンタ」の値が0でない場合とは、当該実行ラインの直前のラインの「種別」が「REP」で「変数」が継続回数を表す値であった場合である。
ステップS906において「励磁出力ループカウンタ」の値が0でなかった場合、CPU80aはステップS911に進んで「励磁出力ループカウンタ」の値をデクリメント(−1)し、ステップS912で再度「励磁出力ループカウンタ」の値が0であるか否かを判別する。これは、「変数」が表す継続回数分、ステップS901〜S905の処理が繰り返された(ループされた)か否かを判別していることに相当する。換言すれば、「REP」のラインの次のラインの処理が、「REP」の「変数」が表す継続回数分繰り返されたか否かを判別していることに相当する。
ステップS912において、「励磁出力ループカウンタ」の値が0でなかった場合、CPU80aはステップS803の処理を終了する。これにより、「励磁出力ループカウンタ」の値が0となるまで、上記したステップS901〜S905の処理及びステップS906,S911及びS912の処理が繰り返される。すなわち、「REP」のラインの次のラインの処理が、「REP」の「変数」が表す継続回数(ループ回数)分繰り返される。
一方、ステップS912において「励磁出力ループカウンタ」の値が0であった場合、すなわち「REP」のラインの次のラインの処理がループ回数分繰り返された場合、CPU80aはステップS913に進んで「励磁出力テーブル実行ライン」の値をインクリメントし、ステップS803の処理を終了する。
これにより、次回のタイマ割込み処理時には、当該励磁出力テーブルにおける次のラインの「種別」「変数」に基づく処理が実行される。
これにより、次回のタイマ割込み処理時には、当該励磁出力テーブルにおける次のラインの「種別」「変数」に基づく処理が実行される。
また、先のステップS906において、「励磁出力ループカウンタ」の値が0であった場合、すなわち当該実行ラインの直前のラインの「種別」が「REP」でなかった、又は当該直前のラインの「種別」が「REP」で「変数」が「ONエッジ」であった場合、CPU80aはステップS907に進んで「演出用制御コード」が「ONエッジ」であるか否かを判別する。
「演出用制御コード」が「ONエッジ」でなかった場合、CPU80aはステップS913に進んで「励磁出力テーブル実行ライン」の値をインクリメントしてステップS803の処理を終える。すなわち、当該実行ラインの直前のラインの「種別」が「REP」でなかった場合には、先のステップS905でモータ出力タイマTomの値が0となった、すなわち当該実行ラインの処理が完了したことに応じて、次のラインの処理に遷移するものである。
「演出用制御コード」が「ONエッジ」でなかった場合、CPU80aはステップS913に進んで「励磁出力テーブル実行ライン」の値をインクリメントしてステップS803の処理を終える。すなわち、当該実行ラインの直前のラインの「種別」が「REP」でなかった場合には、先のステップS905でモータ出力タイマTomの値が0となった、すなわち当該実行ラインの処理が完了したことに応じて、次のラインの処理に遷移するものである。
一方、ステップS907において、「演出用制御コード」が「ONエッジ」であった場合、CPU80aはステップS908に進んでインデックスセンサ55の検出信号のONエッジを検出する処理を実行し、ステップS909でONエッジを検出したか否かを判別する。なお、ここでのONエッジの検出対象は、インデックスセンサ55a〜55cの検出信号のうち当該リール演出中処理(S404)で処理対象とされている回転リール4に対応するインデックスセンサ55の検出信号である。
ONエッジが検出されなかった場合、CPU80aはステップS803の処理を終える。これにより、ONエッジが検出されるまで、「REP」のラインの次のラインの処理が繰り返される。
ONエッジが検出されなかった場合、CPU80aはステップS803の処理を終える。これにより、ONエッジが検出されるまで、「REP」のラインの次のラインの処理が繰り返される。
一方、ONエッジが検出された場合、CPU80aはステップS910で「励磁出力ループカウンタ」の値を0クリアし、先のステップS913に進む。
これにより、ONエッジの検出に応じて、「REP」のラインの次のラインの処理の継続が終了する。
これにより、ONエッジの検出に応じて、「REP」のラインの次のラインの処理の継続が終了する。
図35は、実行ラインの「種別」が「COM」であった場合の処理を示している。
この場合、CPU80aはステップS1111で、演出制御基板42に対するコマンド送信が行われるべく、コマンド(停止コマンド)を演出制御インターフェース86における送信バッファにセットする。
そして、続くステップS1112でCPU80aは、「励磁出力テーブル実行ライン」の値をインクリメントし、先のステップS802(図29)に戻る。
これにより、「COM」の次のラインについて、その「種別」や「変数」に基づく処理が実行される(図31における「停止」の励磁データテーブルを参照)。
この場合、CPU80aはステップS1111で、演出制御基板42に対するコマンド送信が行われるべく、コマンド(停止コマンド)を演出制御インターフェース86における送信バッファにセットする。
そして、続くステップS1112でCPU80aは、「励磁出力テーブル実行ライン」の値をインクリメントし、先のステップS802(図29)に戻る。
これにより、「COM」の次のラインについて、その「種別」や「変数」に基づく処理が実行される(図31における「停止」の励磁データテーブルを参照)。
図36は、実行ラインの「種別」が「END」であった場合の処理を示している。
この場合、CPU80aは、先ずステップS1201で励磁出力テーブルに係る情報をクリアする。具体的には、RAM80cのワーク領域における「励磁出力テーブル」「励磁出力テーブル実行ライン」「モータ出力タイマ」「励磁出力ループカウンタ」の各情報をクリアする。
この場合、CPU80aは、先ずステップS1201で励磁出力テーブルに係る情報をクリアする。具体的には、RAM80cのワーク領域における「励磁出力テーブル」「励磁出力テーブル実行ライン」「モータ出力タイマ」「励磁出力ループカウンタ」の各情報をクリアする。
そして、続くステップS1202でCPU80aは、RAM80cのワークにおける「演出パターンテーブル実行ライン」の値をインクリメントした上で、ステップS1203で当該インクリメント後の値から特定される演出パターンテーブルのラインが「終了」であるか否かを判別する(図28C参照)。
演出パターンテーブルの当該ラインが「終了」でなかった場合、CPU80aはステップS803の処理を終了する。これにより、次回のタイマ割込み処理時には、図29のステップS801で演出パターンテーブルにおける次のラインの対応する励磁出力テーブルの情報をRAM80cのワーク領域にセットする処理が実行され、さらにステップS802〜S803によって当該セットされた励磁出力テーブルの実行ラインにおける「種別」や「変数」に基づいた処理が新たに実行される。すなわち、図27のステップS701でセットされた演出パターンテーブルにおける次のラインの動作を実現するための処理が開始されるものである。
演出パターンテーブルの当該ラインが「終了」でなかった場合、CPU80aはステップS803の処理を終了する。これにより、次回のタイマ割込み処理時には、図29のステップS801で演出パターンテーブルにおける次のラインの対応する励磁出力テーブルの情報をRAM80cのワーク領域にセットする処理が実行され、さらにステップS802〜S803によって当該セットされた励磁出力テーブルの実行ラインにおける「種別」や「変数」に基づいた処理が新たに実行される。すなわち、図27のステップS701でセットされた演出パターンテーブルにおける次のラインの動作を実現するための処理が開始されるものである。
一方、演出パターンテーブルの当該ラインが「終了」であった場合、CPU80aはステップS1204に進んで「演出パターンテーブル」と「演出パターンテーブル実行ライン」、及び回胴制御フラグFGをクリアし、ステップS803の処理を終了する。
このようなステップS1204のクリア処理が回転リール4a〜4cの全てについて実行された場合、すなわち回転リール4a〜4cの演出回転が終了した場合には、先に説明したメイン処理側のステップS703で全ての回転リール4の回胴制御フラグFGが0と判別され、ステップS304以降に処理が進められる。この結果、演出回転の終了に応じて、回転リール4a〜4cの起動のための処理が開始される。
[8-4.実施の形態の演出回転についてのまとめ]
上記のように、本実施の形態のスロットマシン1は、回転方向に沿って複数の図柄が形成された回転リール4と、回転リール4を所定のステップ角を最小回転単位として回転駆動するステッピングモータ54と、回転リール4の1周回における原点位置101を検出するための検出信号を出力するインデックスセンサ55と、インデックスセンサ55による検出信号のエッジ位置を原点検出位置として検出し、該原点検出位置に基づいて、回転リール4を停止目標の図柄における所定の停止ステップ位置で停止させる制御を行うCPU80aとを備えている。
この際、各回転リール4はmステップ(mは2以上の自然数:本例ではm=24)間隔で配置され、停止ステップ位置は、何れの図柄が停止目標の図柄とされる場合にも同一のステップ番号によるステップ位置(本例では5番のステップ位置)とされ、原点検出位置から停止ステップ位置までのステップ単位による距離は、回転リール4が第一回転方向に回転される場合と第一回転方向とは異なる第二回転方向に回転される場合とで異なるものとされている(本例では正回転時=19ステップ、逆回転時=4ステップ)。
この前提の下で、CPU80aは、回転リール4が第一回転方向に回転される場合には、原点検出位置から停止ステップ位置までのステップ数に基づく第一基準ステップ数分、及び原点位置101から停止目標の図柄までのmステップ単位によるステップ数分進んだ位置を第一停止実行ステップ位置とし、該第一停止実行ステップ位置のタイミングで停止制御を開始し、回転リール4が第二回転方向に回転される場合には、原点検出位置から停止ステップ位置までのステップ数に基づく第二基準ステップ数分、及び原点位置101から停止目標の図柄までのmステップ単位によるステップ数分進んだ位置を第二停止実行ステップ位置とし、該第二停止実行ステップ位置のタイミングで停止制御を開始している。
上記のように、本実施の形態のスロットマシン1は、回転方向に沿って複数の図柄が形成された回転リール4と、回転リール4を所定のステップ角を最小回転単位として回転駆動するステッピングモータ54と、回転リール4の1周回における原点位置101を検出するための検出信号を出力するインデックスセンサ55と、インデックスセンサ55による検出信号のエッジ位置を原点検出位置として検出し、該原点検出位置に基づいて、回転リール4を停止目標の図柄における所定の停止ステップ位置で停止させる制御を行うCPU80aとを備えている。
この際、各回転リール4はmステップ(mは2以上の自然数:本例ではm=24)間隔で配置され、停止ステップ位置は、何れの図柄が停止目標の図柄とされる場合にも同一のステップ番号によるステップ位置(本例では5番のステップ位置)とされ、原点検出位置から停止ステップ位置までのステップ単位による距離は、回転リール4が第一回転方向に回転される場合と第一回転方向とは異なる第二回転方向に回転される場合とで異なるものとされている(本例では正回転時=19ステップ、逆回転時=4ステップ)。
この前提の下で、CPU80aは、回転リール4が第一回転方向に回転される場合には、原点検出位置から停止ステップ位置までのステップ数に基づく第一基準ステップ数分、及び原点位置101から停止目標の図柄までのmステップ単位によるステップ数分進んだ位置を第一停止実行ステップ位置とし、該第一停止実行ステップ位置のタイミングで停止制御を開始し、回転リール4が第二回転方向に回転される場合には、原点検出位置から停止ステップ位置までのステップ数に基づく第二基準ステップ数分、及び原点位置101から停止目標の図柄までのmステップ単位によるステップ数分進んだ位置を第二停止実行ステップ位置とし、該第二停止実行ステップ位置のタイミングで停止制御を開始している。
これにより、回転リール4の回転方向によってインデックスセンサ55の検出信号におけるONエッジ位置が異なる場合に対応して、停止制御の開始位置が回転リール4の回転方向に応じた適切な位置となるように図られる。
従って、回転リール4を正確な位置で停止させることができる。
従って、回転リール4を正確な位置で停止させることができる。
ここで、本実施の形態では、回転継続長情報に従った分だけ回転リール4の回転を進ませた上で、停止制御を行う手法を採っているため、停止制御を開始すべき位置に到達したか否かを逐次判別する処理を不要とでき、処理負担の軽減を図ることができる。
さらに、本実施の形態によれば、正回転時と逆回転時の双方でインデックスセンサ55の検出信号のONエッジ位置を起点として停止制御を行っているので、正/逆の何れか一方の方向への回転時にONエッジとOFFエッジを検出し分けることを不要とでき、この点においても処理負担の軽減を図ることができる。
さらに、本実施の形態によれば、正回転時と逆回転時の双方でインデックスセンサ55の検出信号のONエッジ位置を起点として停止制御を行っているので、正/逆の何れか一方の方向への回転時にONエッジとOFFエッジを検出し分けることを不要とでき、この点においても処理負担の軽減を図ることができる。
また、本実施の形態のスロットマシン1は、回転方向に沿って複数の図柄が形成された回転リール4と、少なくとも4相の励磁相を有するステッピングモータ55により回転リール4を所定のステップ角を最小回転単位として回転駆動する回転駆動手段と、回転駆動手段におけるステッピングモータ54を全相励磁状態とすることで、回転リール4を停止目標の図柄における所定の停止ステップ位置で停止させるCPU80aとを備え、停止ステップ位置は、各前記図柄に対して同一のステップ番号によるステップ位置とされており、CPU80aは、回転リール4が第一回転方向に回転される場合、及び第一回転方向とは異なる第二回転方向に回転される場合に、停止目標の図柄における停止ステップ位置から回転方向に対して所定ステップ数手前となる位置で停止制御を行っている。
上記のように回転リール4の停止が全相励磁により行われることで、ブレーキ力は2相励磁による停止時よりも弱く滑らかとなり、回転リール4は停止制御後も惰性により僅かに回転され、停止制御開始位置よりも進んだ位置で停止する。このため、停止目標の図柄の停止ステップ位置で停止制御を開始したのでは、回転リール4の停止位置が回転方向によって異なってしまう。
本実施の形態では、上記のように回転リール4が第一回転方向に回転される場合、及び第二回転方向に回転される場合に、停止ステップ位置から回転方向に対して所定ステップ数手前となる位置で停止制御が行われるようにしたことで、回転リール4の回転方向に応じて、停止制御の開始位置が惰性回転を考慮した適切な位置となるように図っている。
従って、回転リール4を正確な位置で停止させることができる。
本実施の形態では、上記のように回転リール4が第一回転方向に回転される場合、及び第二回転方向に回転される場合に、停止ステップ位置から回転方向に対して所定ステップ数手前となる位置で停止制御が行われるようにしたことで、回転リール4の回転方向に応じて、停止制御の開始位置が惰性回転を考慮した適切な位置となるように図っている。
従って、回転リール4を正確な位置で停止させることができる。
さらに、本実施の形態のスロットマシン1は、回転方向に沿って複数の図柄が形成された回転リール4と、少なくとも4相の励磁相を有するステッピングモータ55により回転リール4を所定のステップ角を最小回転単位として回転駆動する回転駆動手段と、回転駆動手段におけるステッピングモータ54を全相励磁状態とすることで、回転リール4を停止目標の図柄における所定の停止ステップ位置で停止させるCPU80aとを備え、CPU80aは、回転リール4の回転速度に応じて、回転リール4の停止制御を開始するステップ位置を異ならせている。
惰性による回転量は回転リール4の回転速度により異なるため、本実施の形態では、上記のように回転リール4の回転速度に応じて停止制御を開始するステップ位置を異ならせている。これにより、停止制御の開始位置が、回転速度による惰性回転量の差を考慮した適切な位置となるように図られる。
従って、回転リール4を正確な位置で停止させることができる。
従って、回転リール4を正確な位置で停止させることができる。
<9.まとめ及び変形例>
以上で説明したCPU80aの処理により、遊技動作の進行を制御負荷の低減を図りつつ効率的に実現できる。また、遊技動作の進行に要するメモリ容量も削減することができる。特に、回胴の起動回転や、回転停止時の駆動制御を工夫していることで、メモリ領域を浪費することなく、処理負担の軽減が図られている。
以上で説明したCPU80aの処理により、遊技動作の進行を制御負荷の低減を図りつつ効率的に実現できる。また、遊技動作の進行に要するメモリ容量も削減することができる。特に、回胴の起動回転や、回転停止時の駆動制御を工夫していることで、メモリ領域を浪費することなく、処理負担の軽減が図られている。
なお、本発明は実施の形態で挙げた例に限らず多様な変形例や適用例が考えられる。
例えば上記では、本発明がスロットマシンに適用される例を示したが、本発明は回転方向に沿って複数の図柄が形成された回胴を備えた遊技機に広く好適に適用できる。
例えば上記では、本発明がスロットマシンに適用される例を示したが、本発明は回転方向に沿って複数の図柄が形成された回胴を備えた遊技機に広く好適に適用できる。
1…本体ケース
2…前面パネル
3…図柄回転ユニット
4a〜4c…回転リール(回胴)
401…リールドラム
410…リールフレーム
410s…スポーク部
410d…被検出部
420…リールシート
16…マックス投入ボタン
17…スタートレバー
18a〜18c…停止ボタン
40…主制御基板
54a…第1回胴ステッピングモータ
54b…第2回胴ステッピングモータ
54c…第3回胴ステッピングモータ
54r…ロータ
55a…第1回胴インデックスセンサ
55b…第2回胴インデックスセンサ
55c…第3回胴インデックスセンサ
80…コントローラ
80a…CPU
80b…ROM
80c…RAM
101…原点位置
2…前面パネル
3…図柄回転ユニット
4a〜4c…回転リール(回胴)
401…リールドラム
410…リールフレーム
410s…スポーク部
410d…被検出部
420…リールシート
16…マックス投入ボタン
17…スタートレバー
18a〜18c…停止ボタン
40…主制御基板
54a…第1回胴ステッピングモータ
54b…第2回胴ステッピングモータ
54c…第3回胴ステッピングモータ
54r…ロータ
55a…第1回胴インデックスセンサ
55b…第2回胴インデックスセンサ
55c…第3回胴インデックスセンサ
80…コントローラ
80a…CPU
80b…ROM
80c…RAM
101…原点位置
本発明に係る遊技機は、回転方向に沿って複数の図柄が形成された回胴と、少なくとも4相の励磁相を有するステッピングモータにより前記回胴を所定のステップ角を最小回転単位として回転駆動する回転駆動手段と、前記回胴の原点位置を検出する原点検出手段と、前記回転駆動手段における前記ステッピングモータを全相励磁状態とすることで、前記回胴を停止目標の前記図柄における所定の停止ステップ位置で停止させる停止制御手段とを備え、前記停止制御手段は、前記回胴の回転速度に応じて、前記回胴の停止制御を開始するステップ位置を異ならせるにあたり、前記原点検出手段による検出信号のエッジタイミングを起点タイミングとすると共に、前記回転速度が第一速度である場合には、前記起点タイミングより、前記停止ステップ位置から回転方向に対して第一ステップ数手前となるステップ位置までのステップ数分の時間が経過したことに応じて前記停止制御を開始し、前記回転速度が前記第一速度よりも低速な第二速度である場合には、前記起点タイミングより、前記停止ステップ位置から回転方向に対して前記第一ステップ数よりも少ない第二ステップ数手前となるステップ位置までのステップ数分の時間が経過したことに応じて前記停止制御を開始するものである。
Claims (1)
- 回転方向に沿って複数の図柄が形成された回胴と、
少なくとも4相の励磁相を有するステッピングモータにより前記回胴を所定のステップ角を最小回転単位として回転駆動する回転駆動手段と、
前記回転駆動手段における前記ステッピングモータを全相励磁状態とすることで、前記回胴を停止目標の前記図柄における所定の停止ステップ位置で停止させる停止制御手段とを備え、
前記停止制御手段は、
前記回胴の回転速度に応じて、前記回胴の停止制御を開始するステップ位置を異ならせる
遊技機。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014087584A JP2015205054A (ja) | 2014-04-21 | 2014-04-21 | 遊技機 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014087584A JP2015205054A (ja) | 2014-04-21 | 2014-04-21 | 遊技機 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015205054A true JP2015205054A (ja) | 2015-11-19 |
Family
ID=54602443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014087584A Pending JP2015205054A (ja) | 2014-04-21 | 2014-04-21 | 遊技機 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015205054A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018033708A (ja) * | 2016-08-31 | 2018-03-08 | 株式会社三共 | 遊技機 |
JP2021023679A (ja) * | 2019-08-07 | 2021-02-22 | 株式会社オリンピア | 遊技機 |
JP2021023678A (ja) * | 2019-08-07 | 2021-02-22 | 株式会社オリンピア | 遊技機 |
JP7018229B1 (ja) | 2021-04-12 | 2022-02-10 | 株式会社オリンピア | 遊技機 |
JP7032836B1 (ja) | 2021-05-10 | 2022-03-09 | 株式会社オリンピア | 遊技機 |
JP7060895B1 (ja) | 2021-05-10 | 2022-04-27 | 株式会社オリンピア | 遊技機 |
JP2023033429A (ja) * | 2018-04-19 | 2023-03-10 | 株式会社三洋物産 | 遊技機 |
JP2023033629A (ja) * | 2018-04-19 | 2023-03-10 | 株式会社三洋物産 | 遊技機 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005152348A (ja) * | 2003-11-26 | 2005-06-16 | Sanyo Product Co Ltd | 遊技機 |
JP2006095188A (ja) * | 2004-09-30 | 2006-04-13 | Heiwa Corp | 遊技機 |
JP2012034916A (ja) * | 2010-08-09 | 2012-02-23 | Sammy Corp | 遊技機 |
JP2012157477A (ja) * | 2011-01-31 | 2012-08-23 | Sankyo Co Ltd | スロットマシン |
JP2014033744A (ja) * | 2012-08-07 | 2014-02-24 | Sankyo Co Ltd | 遊技機 |
JP2014033743A (ja) * | 2012-08-07 | 2014-02-24 | Sankyo Co Ltd | スロットマシン |
-
2014
- 2014-04-21 JP JP2014087584A patent/JP2015205054A/ja active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005152348A (ja) * | 2003-11-26 | 2005-06-16 | Sanyo Product Co Ltd | 遊技機 |
JP2006095188A (ja) * | 2004-09-30 | 2006-04-13 | Heiwa Corp | 遊技機 |
JP2012034916A (ja) * | 2010-08-09 | 2012-02-23 | Sammy Corp | 遊技機 |
JP2012157477A (ja) * | 2011-01-31 | 2012-08-23 | Sankyo Co Ltd | スロットマシン |
JP2014033744A (ja) * | 2012-08-07 | 2014-02-24 | Sankyo Co Ltd | 遊技機 |
JP2014033743A (ja) * | 2012-08-07 | 2014-02-24 | Sankyo Co Ltd | スロットマシン |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018033708A (ja) * | 2016-08-31 | 2018-03-08 | 株式会社三共 | 遊技機 |
JP2023033429A (ja) * | 2018-04-19 | 2023-03-10 | 株式会社三洋物産 | 遊技機 |
JP2023033629A (ja) * | 2018-04-19 | 2023-03-10 | 株式会社三洋物産 | 遊技機 |
JP2021023679A (ja) * | 2019-08-07 | 2021-02-22 | 株式会社オリンピア | 遊技機 |
JP2021023678A (ja) * | 2019-08-07 | 2021-02-22 | 株式会社オリンピア | 遊技機 |
JP7018229B1 (ja) | 2021-04-12 | 2022-02-10 | 株式会社オリンピア | 遊技機 |
JP2022162212A (ja) * | 2021-04-12 | 2022-10-24 | 株式会社オリンピア | 遊技機 |
JP7032836B1 (ja) | 2021-05-10 | 2022-03-09 | 株式会社オリンピア | 遊技機 |
JP7060895B1 (ja) | 2021-05-10 | 2022-04-27 | 株式会社オリンピア | 遊技機 |
JP2022173631A (ja) * | 2021-05-10 | 2022-11-22 | 株式会社オリンピア | 遊技機 |
JP2022173632A (ja) * | 2021-05-10 | 2022-11-22 | 株式会社オリンピア | 遊技機 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2015205054A (ja) | 遊技機 | |
JP2017018492A (ja) | 遊技機 | |
JP2017018494A (ja) | 遊技機 | |
JP6106218B2 (ja) | 遊技機 | |
JP6177284B2 (ja) | 遊技機 | |
JP6106220B2 (ja) | 遊技機 | |
JP2015134024A (ja) | 遊技機 | |
JP6215269B2 (ja) | 遊技機 | |
JP2020069124A (ja) | 遊技機 | |
JP2015134025A (ja) | 遊技機 | |
JP5899250B2 (ja) | 遊技機 | |
JP6522333B2 (ja) | スロットマシン | |
JP2016104316A (ja) | 遊技機 | |
JP2015205053A (ja) | 遊技機 | |
JP6321712B2 (ja) | 遊技機 | |
JP6321713B2 (ja) | 遊技機 | |
JP2017148539A (ja) | 遊技機 | |
JP2015205052A (ja) | 遊技機 | |
JP2016187476A (ja) | 回胴式遊技機 | |
JP6265937B2 (ja) | 回胴式遊技機 | |
JP2016168260A (ja) | 回胴式遊技機 | |
JP6106221B2 (ja) | 遊技機 | |
JP6106219B2 (ja) | 遊技機 | |
JP2020069123A (ja) | 遊技機 | |
JP2017124198A (ja) | 遊技機 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160105 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160302 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161004 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20170328 |