JP6321713B2 - 遊技機 - Google Patents
遊技機 Download PDFInfo
- Publication number
- JP6321713B2 JP6321713B2 JP2016079031A JP2016079031A JP6321713B2 JP 6321713 B2 JP6321713 B2 JP 6321713B2 JP 2016079031 A JP2016079031 A JP 2016079031A JP 2016079031 A JP2016079031 A JP 2016079031A JP 6321713 B2 JP6321713 B2 JP 6321713B2
- Authority
- JP
- Japan
- Prior art keywords
- stop
- rotation
- rotating
- symbol
- excitation
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims description 388
- 230000008569 process Effects 0.000 claims description 385
- 238000012545 processing Methods 0.000 claims description 142
- 238000009987 spinning Methods 0.000 claims description 78
- 230000004044 response Effects 0.000 claims description 42
- 238000003860 storage Methods 0.000 claims description 28
- 230000006870 function Effects 0.000 claims description 9
- 230000005284 excitation Effects 0.000 description 240
- 230000000694 effects Effects 0.000 description 127
- 238000001994 activation Methods 0.000 description 33
- 230000004913 activation Effects 0.000 description 29
- 238000001514 detection method Methods 0.000 description 29
- 238000003780 insertion Methods 0.000 description 20
- 230000037431 insertion Effects 0.000 description 20
- 238000004804 winding Methods 0.000 description 19
- 238000004519 manufacturing process Methods 0.000 description 18
- 239000004973 liquid crystal related substance Substances 0.000 description 16
- 238000010586 diagram Methods 0.000 description 10
- 230000005856 abnormality Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 8
- 230000001133 acceleration Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 6
- 230000007704 transition Effects 0.000 description 6
- 239000000758 substrate Substances 0.000 description 4
- 241000219109 Citrullus Species 0.000 description 3
- 235000012828 Citrullus lanatus var citroides Nutrition 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000001678 irradiating effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 241000167854 Bourreria succulenta Species 0.000 description 2
- 206010010071 Coma Diseases 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 2
- 235000019693 cherries Nutrition 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- PZTQVMXMKVTIRC-UHFFFAOYSA-L chembl2028348 Chemical compound [Ca+2].[O-]S(=O)(=O)C1=CC(C)=CC=C1N=NC1=C(O)C(C([O-])=O)=CC2=CC=CC=C12 PZTQVMXMKVTIRC-UHFFFAOYSA-L 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Description
なお、ステップ位置とは、回転リールを駆動するステッピングモータが1ステップ分回転したときの回転リールの回転量を最小回転量としたときに、当該最小回転量ごとの位置を意味する。
すなわち、回転リールの停止は、ステップ単位の精度で安定して行われることが望ましい。
<1.回胴遊技機の機構構成>
<2.回胴遊技機の制御構成>
<3.回胴モータ及び回転リール>
<4.メイン処理>
<5.タイマ割込み処理>
<6.回胴の回転及び停止に係る処理>
[6-1.回胴制御フラグ]
[6-2.回胴の回転開始〜定常回転中に係る処理]
[6-3.実施の形態の起動処理の意義について]
[6-4.回胴の停止に係る処理]
[6-5.停止操作時の図柄と停止図柄との関係]
<7.RAM初期化処理について>
<8.まとめ及び変形例>
先ず、図1〜図4により実施の形態のスロットマシンの外観構成を説明する。
図1はスロットマシンの正面図、図2Aは平面図、図2Bは右側面図、図3は前面パネル2の背面図、図4は本体ケース1の正面図である。
各回転リール4a,4b,4cには、後述する各種図柄、例えばBB(ビッグボーナス)やRB(レギュラーボーナス)用の図柄や、各種のフルーツ図柄、リプレイ図柄などが描かれている。
メダル払出装置5は、メダルを貯留するメダルタンク5aを有する。また払出ケース5b内に、図5で後述する払出モータ75、払出接続基板73、ホッパー基板74、メダル払出センサ76等が収納されている。
メダルタンク5aに貯留されたメダルは、払出モータ75の回転に基づいて、払出口5cから図面手前方向に向けて導出される。なお、限界量を越えて貯留されたメダルは、超過メダル導出部5dを通して、補助タンク6に落下するよう構成されている。
また図柄回転ユニット3の内部には、図5に示す回胴LED(Light Emitting Diode)中継基板56と回胴中継基板53とが設けられ、図柄回転ユニット3に隣接して外部集中端子板70が配置されている。
またLCDユニット7の下部には、回転リール4a,4b,4cを表出させる表示窓8が形成されている。この表示窓8を通しては、各回転リール4a,4b,4cの回転方向に、各々3個程度の図柄が見えるようにされている。そして、例えば、合計9個の図柄の水平方向の二本(又は三本)と、対角線方向の二本が仮想的な停止ラインとなる。
LED群9は、例えば、当ゲームに投入されたメダルの枚数を示すLEDや再遊技状態を示すLED、回胴を回転させる準備が整ったことを示すLED(当ゲームの遊技に要する所定枚数のメダルの投入が完了したことを示すLED)、メダルの投入の受付状態を示すLEDなどで構成されている。
払出表示部10は、7セグメントLEDを2個連設して構成されており、払出メダル数を特定すると共に、何らかの異常事態の発生時には、異常内容を表示するエラー表示器としても機能する。
貯留数表示部11は、クレジット状態で貯留されているメダル数が表示されている。
なお、個々の説明は省略するが、前面パネル2には、演出や動作状態を提示するためのLEDとして他のLEDが各種配置されている。
また、前面パネル2の中央左側には、クレジット状態のメダルを払出すクレジット精算ボタン14と、クレジット状態のメダルを擬似的に三枚投入するマックス投入ボタン16とが設けられている。
遊技者がスタートレバー17を操作すると、通常は、3つの回転リール4a,4b,4cが正方向に回転を開始する。但し、内部当選状態を予告するリール演出のために、回転リール4a,4b,4cの全部又は一部が、変則的に回転(いわゆる「演出回転」)した上で正方向の回転を開始する場合もある。
リール演出としては具体的内容が各種考えられ、例えば、
・極めてゆっくり正方向に回転して静止するスロー演出
・正転と逆転を繰り返した後に、所定時間だけ逆方向に回転して静止する逆回転演出
・第1の所定時間だけ正転と逆転を繰り返した後に静止する第1の揺動演出
・第2の所定時間だけ正転と逆転を繰り返した後に静止する第2の揺動演出
・第2の所定時間だけ正転と逆転を繰り返した後に静止し、さらに、極めてゆっくり正転した後に静止するスロー揺動演出
・第2の時間だけ正転と逆転を繰り返した後に静止し、さらに、所定時間だけ逆転した後に静止する揺動逆回転演出
などが用意されている。そして、このようなリール演出時には、LCDユニット7におけるキャラクタ演出や、LEDランプを点滅させるランプ演出や、スピーカを駆動する音声演出の全部又は一部が適宜に選択されて実行される。
また前面パネル2の上方左右、及び下方左右にはスピーカ30a,30b,30c,30dが配置されている。
また、前面パネル2の裏側上部には、基板ケース23が配置されている。この基板ケース23には、図5で述べる演出制御基板42、演出インターフェース基板43、液晶制御基板44、液晶インターフェース基板45などが収容されている。
またメダル選別装置21の側方には、図1に示す各種の遊技部材と主制御基板40との間の信号を中継する遊技中継基板60(図5で後述する)が設けられている。
次に本実施の形態のスロットマシンの制御系の構成について説明する。
図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には電源遮断状態を検出する電源監視回路や、主制御基板40にバックアップ電源電圧を供給するバックアップ電源回路なども設けられている。
演出制御基板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を通して各部と必要な通信を行う。
液晶制御基板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を介して、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の図柄を内側から照射する回胴用LED90,91,92が配置されている。第2回胴LED基板50bには、回転リール4bの図柄を内側から照射する回胴用LED93,94,95が配置されている。また、第3回胴LED基板50cには、回転リール4cの図柄を内側から照射する回胴用LED96,97,98が配置されている。
遊技表示基板61は、遊技状態を示すLED群9や、7セグメントLEDを有した払出表示部10や、同じく7セグメントLEDを有した貯留数表示部11を搭載している。主制御基板40は、遊技表示基板61に対して、遊技中継基板60を介して制御コマンドを送信し、遊技状態に応じた表示を実行させるように制御している。
停止スイッチ基板63には停止ボタン18a、18b、18cによる停止スイッチが搭載されている。
貯留メダル投入スイッチ基板64には、マックス投入ボタン16の投入スイッチが搭載されている。
精算スイッチ基板65には清算ボタン14の清算スイッチが搭載されている。
主制御基板40は、これらの基板(61,62,63,64,65)のスイッチによる遊技者操作の検出信号を、遊技中継基板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の原点位置(後述する原点位置101)を検出するための3つのインデックスセンサ55(第1回胴インデックスセンサ55a、第2回胴インデックスセンサ55b、第3回胴インデックスセンサ55c)に接続されている。
主制御基板40は、ステッピングモータ54a,54b,54cを駆動又は停止させることによって、回転リール4a,4b,4cの回転動作と、目的位置での停止動作を実現している。また主制御基板40は、インデックスセンサ55a,55b,55cの検出信号に基づき、回転リール4a,4b,4cの原点位置を検知できる。
ホッパー基板74は、主制御基板40からの制御コマンドに基づいて払出モータ75を回転させて、所定量のメダルを払出しする。
メダル払出センサ76は、払出メダルの通過を検出する。メダル払出センサ76による検出信号は、払出メダル枚数が不足したり払出動作が行われないなどの払出異常状態の検出に用いられる。
図示の通り、主制御基板40は、ワンチップマイコンによるコントローラ80と、8ビットパラレルデータを入出力するI/Oポート回路83と、カウンタ回路81と、各部とのインターフェース部を有して構成されている。
CTC80eは、8ビットのカウンタやタイマを集積した回路であり、CPU80aの処理における周期的割り込みや一定周期のパルス出力作成機能(ビットレートジェネレータ)、時間計測の機能を付与するものである。本例では、CTC80eを利用して、CPU80aに1.49msの時間間隔でタイマ割込み(後述の図10)をかけている。
電源インターフェース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とのインターフェースである。
回胴設定インターフェース89は、回胴設定基板71との間のインターフェースである。
続いて、回転リール4a,4b,4cを回転させる各ステッピングモータ54a,54b,54cの駆動方式と回転リール4a,4b,4cに形成された図柄との関係について図7及び図8を参照して説明する。
本実施の形態において、ステッピングモータ54a,54b,54cはユニポーラ駆動のステッピングモータとされ、それぞれセンタータップされた2つの駆動巻線を有している。本実施の形態の場合、ステッピングモータ54a,54b,54cの駆動は1相励磁と2相励磁とを交互に繰り返す1−2相励磁によって行われる。
図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)とが交互に繰り返される。
励磁データテーブルにおいては、励磁ポインタ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の最短更新周期は、1.49msごとに起動されるタイマ割込み処理(図10)ごとの周期とされる。
なお、励磁データテーブルは、ROM80b等のCPU80aが読み出し可能な記憶手段に対して記憶されている。
本例において、回転リール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を1回転させるために必要なステッピングモータ54a,54b,54cの駆動ステップ数は8×63=504とされている。
これに応じ、各図柄については、ステップ位置として計24の位置を検出可能とされている。ここで、図柄中のステップ位置は、後の図15で説明するステップS429によってタイマ割込みごとに図柄ステップ数がデクリメント(−1)されていくことで検出可能とされる。すなわち、各図柄中で検出可能なステップ位置は、24番(先頭ステップ位置)〜1番(最終ステップ位置)の24個である。このとき、図15の処理では、図柄ステップ数=0、すなわちその図柄の最終ステップ位置に到達すると、その後のステップS434の処理で即座に図柄ステップ数=24とされる。このため、0番のステップ位置は、次の図柄における24番のステップ位置と同義となる。
続いて、主制御基板40のCPU80aが実行する各種の処理について説明する。CPU80aは、主として電源投入時に開始される無限ループ状のメイン処理と、CTC80eからの定期割込みで一定時間毎に起動されるマスク可能な(Maskable Interrupt)タイマ割込み処理とを実行する。
CPU80aは、スロットマシンの電源が投入されるとステップS101の初期設定処理を実行する。ここで、電源投入後の状態としては、電断前に実行されていた処理を再開してホットスタートするか、或いは、ステップS102の処理に移行してコールドスタートするかの何れかとなる。
例えば、営業開始前に係員が前述した設定キースイッチ72を操作して抽選処理の当選確率などを設定した場合には、コールドスタート処理となるが、そのような係員の操作が無く、且つ異常が検出されない場合には、遊技動作をホットスタートする。
a)リール演出中であった場合
b)起動中であった場合
c)起動が終了し定常回転中であった場合
d)停止ボタン18a,18b,18cが操作された後であった場合
のそれぞれに対応した処理を実行する。具体的に、a)のケースでは、リール演出を最初からやり直すための各種設定処理、b)又はc)のケースでは回転リール4a,4b,4cの起動をやり直すための各種設定処理、d)のケースでは電断前の停止操作に応じて実行されていた停止制御を再開させるための各種設定処理をそれぞれ実行する。なお、このようなホットスタート時に対応して実行される電断復帰処理の具体的な内容については、例えば特開2013−212264号などにも記載されているため、詳しくはそちらを参照されたい。
なお、本実施の形態のRAM初期化処理に関する説明は後に改めて行う。
なおこの際、メダルの投入に応じて、その旨を表す制御コマンド(投入コマンド)が演出制御インターフェース86における送信バッファにセットされ、後述するタイマ割込み処理(図10)のコマンド出力処理(S205)において、演出制御基板42に送信される。なお、このタイミングでは、遊技者による清算動作を示す清算コマンドなどが送信されることもある。
ステップS109の回胴回転開始設定処理は、リール演出抽選に当選しているか否かによって処理内容が異なっている。
ここで、リール演出は、スタートレバー17の操作に応じて実行される。つまり、リール演出抽選に当選している場合には、スタートレバー17の操作に応じてリール演出が実行された上で回転リール4a,4b,4cが一旦停止し、その後に改めて回転リール4a,4b,4cが起動(加速回転)されて一定速度による定常回転状態に遷移する。
リール演出抽選に当選している場合、ステップS109の回胴回転開始設定処理においては、回転リール4a,4b,4cを演出回転させた後に改めて定常回転状態に向けて起動させるための各種の設定処理が実行される。
一方、リール演出抽選に当選していない場合、ステップS109の回胴回転開始設定処理では回転リール4a,4b,4cを定常回転状態に向けて起動させるための各種の設定処理が実行される。
なお、当該ステップS109で実行される具体的な処理の内容については後の図12で改めて説明する。
回胴停止処理では、停止ボタン18a,18b,18cの操作に応じて、回転リール4a,4b,4cの停止図柄を決定するための処理や、回転リール4a,4b,4cを停止図柄で停止させるための各種データの設定処理が行われる。また、回胴停止処理では、停止ライン上に停止された図柄の照合処理も行われる。
なお、ステップS110の回胴停止処理として実行される具体的な処理の内容については後の図18により改めて説明する。
なお、入賞判定処理では、停止ライン上に当選図柄が揃ったか否かの判定結果を示す制御コマンド(入賞情報コマンド)を演出制御基板42に送信するべく、入賞情報コマンドを演出制御インターフェース86における送信バッファにセットする処理も行われる。
また、入賞判定処理では、算出した払出枚数分のメダル払出をメダル払出装置5に実行させるべく、当該払出枚数によるメダル払出を指示する制御コマンドを払出接続インターフェース87における送信バッファにセットする処理も行われる。
なお、メダル払出枚数監視処理では、メダル払出を示す制御コマンド(払出コマンド)を演出制御基板42に送信するべく、払出コマンドを演出制御インターフェース86における送信バッファにセットする処理も行われる。
ボーナス図柄が揃っていなかった場合、CPU80aはステップS117のボーナス作動開始処理をパスしてステップS102に戻る。
続いて、図10を参照して1.49msごとに起動されるタイマ割込み処理について説明する。
先ず、CPU80aはステップS201でレジスタの値を退避させた上で(レジスタ退避処理)、ステップS202で各種スイッチ信号やセンサ信号を受ける入力ポートのデータを取得し、例えばRAM80cの所定領域に記憶させる(ポート入力処理)。なお、センサ信号には、メダル通過センサ67やメダル払出センサ76、第1回胴インデックスセンサ55a、第2回胴インデックスセンサ55b及び第3回胴インデックスセンサ55cの各インデックスセンサ55、及びドアセンサ66等からの検出信号が含まれる。また、ポート入力処理では、カウンタ回路81からの乱数値の取り込みも行われる。
なお、ステップS203の回胴回転制御処理については後の図14及び図15により改めて説明する。
ステップS210において、マックス投入ボタン16が操作されていた場合、CPU80aはステップS211でマックス投入操作コマンドをセットし、ステップS212に進む。
[6-1.回胴制御フラグ]
続いて、回転リール4a〜4cの回転と停止に係る処理について説明する。
先ずは、回転リール4a〜4cの回転と停止に係る処理で用いられる回胴制御フラグFGa〜FGcについて説明しておく。
本実施の形態においては、3つの回転リール4a〜4cに対応してそれぞれ各1バイト長(8ビット長)の回胴制御フラグFGa〜FGcが用意され、該回胴制御フラグFGa〜FGcの各バイトの値に基づいて演出回転、及び起動回転(加速回転)から完全停止までの回転動作の制御が行われる。
回胴制御フラグFGa〜FGcの各々は、それぞれ1ビットで成る制御中フラグF0、リール演出中フラグF1、回胴センサONフラグF2、停止命令フラグF3、停止信号検出フラグF4、回胴起動済みフラグF5、回胴起動フラグF6、回胴停止中フラグF7の8ビットで構成されている。各フラグFのビット位置は、そのフラグFに付した番号が表すビット位置と一致している。
制御中フラグF0は、回転リール4が回転制御中であるか否かを表し、スタートレバー17のON操作による回転開始から、停止ボタン18のON操作に応じた完全停止状態までの間はF0=1となる。リール演出中フラグF1は、回転リール4を変則回転させるリール演出中であることをF1=1により表す。回胴起動中フラグF6は、回転リール4を定常回転としての一定速度による回転状態まで加速させる起動動作中であることをF6=1で表す。回胴起動済みフラグF5は、起動を終えた回転リール4が定常回転していることをF5=1で表す。
回胴停止中フラグF7は、停止図柄における所定の停止ステップ位置への到達に応じてF7=1となる。このF7=1となるタイミングは、後述する停止のための全相励磁が開始するタイミングに相当する。なお、回胴停止中フラグF7は、後の図12により説明するステップS307で回転リール4の起動前に回胴制御フラグFG=01hにセットされることでF7=0となる。
回転リール4a〜4cの回転動作や停止動作は、図9に示したメイン処理における回胴回転開始設定処理(S109)及び回胴停止処理(S110)と、図10に示したタイマ割込み処理における回胴回転制御処理(S203)とが協働(cooperation) することで実現される。
以下、これら回胴回転開始設定処理、回胴停止処理、及び回胴回転制御処理について、回胴の回転開始〜定常回転中と、回転停止との観点で分けて説明する。
図12において、CPU80aは、ステップS301でリール演出フラグを取得し、ステップS302でリール演出抽選に当選しているか否かを判別する。リール演出フラグは、図9のメイン処理におけるリール演出抽選処理(S107)の抽選結果を表すフラグであり、リール演出抽選の当否及び当選したリール演出の種類を表す。
ここで、選択したモータ動作テーブルに基づく回転制御のための処理は、図10に示したタイマ割込み処理における回胴回転制御処理(S203)で実行される。具体的には、後の図14に示すリール演出中処理(S404)を経てタイマ割込みごとに対応する励磁データφ1〜φ4を出力することで実行される。上記の待機処理は、このようなタイマ割込み処理における回胴回転制御処理で実現されるリール演出動作が終了するまで待機する処理となる。
リール演出を実行しない回転リールについては、その回胴制御フラグFGを00hに初期設定する。FG=00hは、制御中フラグF0=0であることを意味するので、その回転リールは停止状態を維持する。
ここで、4.1sは、ゲーム間の時間間隔として最低限空けるべき時間長である。このようにゲーム間の時間間隔として最低限の間隔が定められていることで、遊技者がメダルを過大消費してしまうことの防止が図られている。
ステップS304のウェイトタイマ取得処理では、1ゲーム前に実行されたステップS306のタイマセット処理によりカウントスタートされたウェイトタイマの値が取得される。ステップS305の待ち処理では、このように取得したウェイトタイマの値に応じたタイマ割込回数(取得ウェイトタイマ値÷1.49ms)分の待機を行う。
これにより、ゲーム間の間隔が最低でも4.1s以上空けられる。
なお、4.1sは一例であって、適宜変更が可能である。
本実施の形態の場合、起動用のモータ動作テーブルとしては、図13に示す励磁出力タイムデータテーブルをセットするが、これについては後に改めて説明する。
タイマ割込み処理の回胴回転制御処理(S203)では、このようにメイン処理側でセットされた励磁出力タイムデータテーブルに従って3つの回転リール4a〜4cを定常回転に向けて起動させるための処理が実行される(図14及び図15参照)。
図13に示すように、励磁出力タイムデータテーブルは、0から昇順の値が付されたインデックス(以下「タイムテーブルインデックス」とも表記)ごとに、それぞれタイマ値が対応づけられたテーブルとされている。本実施の形態の場合、タイムテーブルインデックスとしては0〜25の計26個が用意されている。
モータ出力タイマTomは、定常回転中以外の回転制御において用いられるタイマであり、先の図7Cで説明した0〜7の8種の励磁データφ1〜φ4の組に関して、同一種類の励磁データφ1〜φ4による励磁状態を維持する時間長を管理するためのタイマとされている。モータ出力タイマTomの値は、RAM80cに保持される。すなわち、モータ出力タイマTomの値の更新はRAM80c上で行われる。
定常回転中においては、励磁ポインタPTの値が1回のタイマ割込み処理ごとにインクリメントされるため、同一種類の励磁データφ1〜φ4の組による励磁状態を維持する割込み回数を管理する必要がない。一方、定常回転中以外の回転制御、すなわちリール演出での演出回転制御、定常回転に向けての起動回転制御、及び回転停止制御においては、同一種類の励磁データφ1〜φ4の組による励磁状態を複数回のタイマ割込み処理にわたって維持することがある。このため、モータ出力タイマTomを設けて、同一種類の励磁データφ1〜φ4の組による励磁状態を維持するタイマ割込み回数を管理可能としている。
前述のようにモータ出力タイマTomの値が「0」となると励磁ポインタPTの値がインクリメントされるため、出力される励磁データφ1〜φ4の組が切り替えられる。同時に、モータ出力タイマTomの値が「0」となると、上記のように励磁データテーブルにおけるインデックスの値も切り替えられる。
なお、回胴回転制御処理は、回転リール4の停止に係る処理も含むが、ここでは先ず、回転リール4の起動と定常回転中に対応した処理について説明する。
なお、リール演出を行うべき回転リール4についての回胴制御フラグFGは、前述したステップS303のリール演出開始設定・待機処理において回胴制御フラグFGが03hにセットされることで制御中フラグF0=1、リール演出中フラグF2=1とされている。リール演出を実行しない回転リール4についての回胴制御フラグFGはステップS303の処理で00hに設定されるため制御中フラグF0=0である。
リール演出中処理は、前述したステップS303のリール演出開始設定・待機処理で選択したモータ動作テーブルに従って、今回のタイマ割込み処理に対応した励磁ポインタPTの値を取得する処理となる。
CPU80aは、ステップS404のリール演出中処理により励磁ポインタPTの値を取得したことに応じて、ステップS436で励磁データテーブル(図7C)を参照して励磁ポインタPTに応じた励磁データφ1〜φ4を取得し、取得した励磁データφ1〜φ4をステップS443で当該回転リール4(現在の処理対象である回転リール4)に対応する出力バッファ(前述のようにRAM80c内に用意されている)にセットする。このようにセットされた励磁データφ1〜φ4が、回胴モータ駆動部85を介して該当するステッピングモータ54に対して出力される(先のステップS206「表示・モータ出力処理」参照)。
ステップS443で励磁データφ1〜φ4をセットしたことに応じ、CPU80aは前述したステップS444に処理を進める。
なお、リール演出に係る処理(特にS404のリール演出中処理)については本発明と直接関わるものではないため、詳細な説明については省略する。
先ず、ステップ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」にセットされることになる。
「リールエラータイマ」は、回転リール4が定常回転中である状態で、当該回転リール4が正常に回転しているか否かを判定するためのタイマである。
また、「タイムテーブルインデクス」は、図13で説明した励磁出力タイムデータテーブルのインデックスの値である。
モータ出力タイマTomの値が「0」でなければ、CPU80aは前述したステップS444に進んで全ての回転リール4について処理が終了したか否かを判別する。このようにモータ出力タイマTom≠0のときは、ステップS443による励磁データφ1〜φ4のセット処理は実行されない。従って、既に以前のタイマ割込み処理時に励磁データφ1〜φ4がセットされていれば、その励磁データφ1〜φ4の出力状態が維持される。
なお、起動開始時には、モータ出力タイマTomの値は先のステップS415で「1」とされた後、ステップS416で−1されるため「0」である。
一方、タイムテーブルインデックスの値が「25」に達しておらず加速終了ではないとの判別結果が得られた場合、CPU80aはステップS422をパスしてステップS435に進む。
全ての回転リール4についての処理が終了していない場合、CPU80aはステップS401に戻って次の回転リール4についての回胴制御フラグFGがチェックするが、起動時においては前述のように全ての回転リール4についての回胴制御フラグFGが01hにセットされているため、次の回転リール4についても上記と同様の処理が実行され、当該回転リール4について起動のための励磁データφ1〜φ4が同様にセットされる。
次回のタイマ割込み処理におけるステップS203の回胴回転制御処理では、回転リール4ごとにステップS401から処理が実行されるが、上述のように直前のタイマ割込み処理(起動開始時)ではステップS413において回胴起動中フラグF6=1にセットされているため、ステップS406のフラグ判別処理を経て、処理はステップS416に進められる。
この際、回胴起動中フラグF6=1の状態は、先のステップS421で加速終了と判別されて後述するステップS422で0がセットされるまで維持されるため、起動が開始されてから終了するまでの間は、各タイマ割込みごとにステップS416以降の処理が実行される。
一方、ステップS416のデクリメント処理を経た後のモータ出力タイマTomの値が「0」でない場合には、上記の各処理は行われず、従ってタイムテーブルインデックスの値及び励磁ポインタPTの値は同値で維持される。
図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が対応づけられている。
励磁出力タイムデータテーブルにおいて、インデックス=0に応じたタイマ値は「1」であるため、起動開始時のタイマ割込み処理の次のタイマ割込み処理では、ステップS416のデクリメント処理でモータ出力タイマTom=0とされ、ステップS417の判別処理を経てステップS418以降の処理が実行される。ステップS418以降の処理が実行されることで、励磁ポインタPTが更新されて次の励磁データφ1〜φ4がセットされる。
このように、インデックス0にタイマ値=1が対応づけられていることにより、起動開始時には、最初にセットされた励磁データφ1〜φ4による励磁状態が1回のタイマ割込み(1.49ms)に相当する時間分維持される。
起動開始時のタイマ割込み処理時におけるステップS420のインクリメント処理が行われた時点のインデックスの値は「1」であるため、今回のタイマ割込み処理時でのステップS418・S419で用いられるインデックスの値は「1」である。このため、今回のタイマ割込み処理時のステップS418・S419で設定されるタイマ値は「33」である。
よって以降は、ステップS416のモータ出力タイマTomのデクリメント処理が33回行われるまで、つまりは33回のタイマ割込み処理が実行されるまで、今回のタイマ割込み処理のステップS436で取得された励磁データφ1〜φ4の組による励磁状態が維持される。
以降も、ステップS416でモータ出力タイマTomの値が0となったタイマ割込み処理時にステップS418以降の処理が実行され、Tom=0とならないタイマ割込み処理時にはそれらの処理が実行されないことで、励磁出力タイムデータテーブルに従った励磁態様によりステッピングモータ54の励磁が行われる。
よって、本例の励磁出力タイムデータテーブルは、起動回転として、1回のタイマ割込み処理分の1相励磁と複数回のタイマ割込み処理分の2相励磁とを交互に繰り返すことを規定したものとなる。
なおこのことから理解されるように、起動回転としても、前述した1−2相励磁により行われるものである。
なお、図16では起動開始時のステップS435の処理により励磁ポインタPTの値が7とされた場合を例示している。
なお、最後の「2相励磁×1タイマ割込み分」は、励磁出力タイムデータテーブルに格納されたタイマ値に直接基づくものではなく、ステップS421で加速終了(つまりインデックス=25)と判別された後に実行されるステップS435・S436・S443の処理に伴い実現されるものである。
また、本実施の形態では、2相励磁に関して、励磁状態をホールドするタイマ割込み処理回数(回転待機数)を段階的に減少させているが、このことで、極めて遅い低速回転から漸次、回転速度を効率的に高めることができる。
なお、本実施の形態において、このように回転リール4の起動処理を26ステップという比較的少ないステップ数で終了する意義については後述する。
先の説明から理解されるように、回転リール4の起動終了時には、図14のステップS422において回胴起動中フラグF6=0、回胴起動済みフラグF5=1とされる。このため、起動終了時のタイマ割込み処理の次のタイマ割込み処理時における回胴回転制御処理では、処理がステップS401→S402→S403→S405→S406→S407→S408の順で進められる。
ステップS408でCPU80aは、停止信号検出フラグF4の値を判別する。ここで、停止信号検出フラグF4の値は、起動開始の直前に回胴制御フラグFG=01hが設定されて「0」とされた以降、起動終了時までの間に更新はされていない。従って、起動終了時のタイマ割込み処理の次のタイマ割込み処理時に実行されるステップS408の処理では、停止信号検出フラグF4=0と判別される。
一方、励磁ポインタPTの値が1相励磁に対応したもの(つまり1,3,5,7の何れか)である場合、CPU80aはステップS410及びS411をパスしてステップS423に進む。
このことから、上記のようにリールエラータイマの値が252よりも大きいか否かを判別することで、回転異常の検知を行うことができる。
なお、リールエラータイマの値は、起動開始時における先のステップS415で0リセットされると共に、後述するステップS423で原点位置101が検出されたことに応じてステップS424で0クリアされる。
原点位置101が検出された場合、CPU80aはステップS424でリールエラータイマの値を0クリアし、続くステップS425で回胴センサONフラグF2=1にセットする。さらにCPU80aは、次のステップS426で図柄ステップ数を「24」、図柄カウンタを「1」にそれぞれリセットする。
なお、先の図8で説明したように、本例においては図柄1コマ分のステップ数=24であり、回転リール4には1コマ目〜21コマ目までの21個の図柄が形成されている。
図柄ステップ数=0であれば、CPU80aはステップS431で図柄ステップ数を「24」にリセットした上で、続くステップS432で図柄カウンタの値をインクリメント(+1)し、ステップS433で図柄カウンタの値が「21」であるか否かを判別する。図柄カウンタの値が「21」であれば、CPU80aはステップS434で図柄カウンタの値を「1」にリセットする。
これにより、現在の図柄位置及びその図柄におけるステップ位置を検出可能とされている。
ステップS435以降では、前述したように励磁データの更新のための処理(ステップS435・S436・S443)が実行されて出力バッファに新たな励磁データφ1〜φ4の組がセットされ、ステップS444で全ての回転リール4について処理が終了したか否かが判別される。
ステップS444で全ての回転リール4について処理が終了していなければ、ステップS401において次の回転リール4についての回胴制御フラグFGをチェックする処理が実行される。このことから理解されるように、上記で説明したステップS409以降の処理は、1回のタイマ割込み処理において全ての回転リール4について実行されるものである。
前述のように、本実施の形態では、回転リール4の起動処理を26ステップという比較的少ないステップ数で終了することとしている。これは、回転リール4が起動してから回転停止操作が受け付け可能となるまでの時間の短縮化を図るためである。
後述もするが、スロットマシンにおいては、回転リール4の停止操作の受け付けを許可するにあたり、
1)当該回転リール4が定常回転に移行(回胴起動済みフラグF5=1)した後、
2)当該回転リール4の原点位置101が検出される(回胴センサONフラグF2=1)
ことを条件としている。
図17Aでは、回転リール4に形成された図柄のうち原点位置101付近に位置する20コマ目〜2コマ目の計4つの図柄を抽出して示している。なお図中において、回転リール4の左側に付した番号は図柄の番号を表し、右側に付した番号はステップ数を表している。
後にステップS428(図15)の処理として説明するように、本実施の形態においては、図柄の停止タイミングは、現在の図柄ステップ数が9未満(つまり「停止許可ステップ位置」の図柄ステップ数である「8」以下)で且つ現在のモータ励磁状態が2相励磁状態であるタイミングとして定められている。すなわち、本実施の形態の図柄の停止制御処理は、8番又は7番のステップ位置を「停止ステップ位置」として回転リール4を停止させる処理とされている。このため、前ゲームにおける停止図柄が20コマ目の図柄であった回転リール4は、20コマ目の図柄における8番のステップ位置、又は7番のステップ位置の何れかで停止していることになる。
図中の矢印Stで表すように、ここでは回転リール4が8番のステップ位置で停止していた例を示している。
このとき、当該起動処理が原点位置101を通過するまでに終了しなければ、上記の1)2)の停止操作受け付け条件が満たされないため、停止操作が受け付け可能となるには回転リール4が1周して原点位置101を再度通過することを要する。つまり、停止操作の受け付けが可能となるまでに、回転リール4を1周余分に回転させなければならない。
図17Bは、本実施の形態で費やす起動処理のステップ数についての説明図であり、図17Aと同様に回転リール4の原点位置101近傍に位置する20コマ目〜2コマ目の計4つの図柄を示している。
本実施の形態では、起動処理を「図柄1コマ分のステップ数(N)+停止ステップ位置から次の図柄までのステップ数(M)」で計算されるステップ数分回転リール4を回転させるまでに終了する。具体的に、本実施の形態においては、「停止ステップ位置」が8番のステップ位置であれば回転リール4を「24(N)+8(M)」=32ステップ数分回転させるまでに起動処理を終了し、「停止ステップ位置」が7番のステップ位置であれば回転リール4を「24(N)+7(M)」=31ステップ数分回転させるまでに起動処理を終了する。
すなわち、本例のように「停止ステップ位置」が8番又は7番のステップ位置とされている場合には、起動処理は少なくとも回転リール4を「24+7」=31ステップ数分回転させるまでに終了すればよい。
しかしながら、通常、回転リール4を定常回転としての一定速度まで加速させるには、或る程度の回転量を要する。具体的には、少なくとも図柄1コマ分程度の回転量を要する。
この点に鑑み本実施の形態では、起動処理を上記のように「図柄1コマ分のステップ数+停止ステップ位置から次の図柄までのステップ数」で計算されるステップ数分回転リール4を回転させるまでに終了する。
これにより、起動処理前の停止図柄が原点位置101の直前の図柄であった場合を除き、停止操作を受け付け可能となるまでに1周分の余分な回転が生じることがない。
従って、回転リール4が起動を開始してから回転停止操作が受け付け可能となるまでの時間の短縮化を図ることができる。
また、起動処理を図柄1コマ分以上の時間をかけて行っているため、回転リール4を定常回転時の一定速度まで充分に加速させることができる。
続いて、回転リール4の停止に係る処理について説明する。
回転リール4の停止操作の受け付けは図9に示したメイン処理における回胴停止処理(S110)により行われるため、以下では先ずステップS110の回胴停止処理について説明する。
図18において、CPU80aは、先ずステップS501で1回の割込み処理が完了するまで待機する。
ここで、ステップS110の回胴停止処理の直前のステップS109では回胴回転開始設定処理が実行されている。先の説明から理解されるように、回転リール4a〜4cの回転は、当該ステップS109の回胴回転開始設定処理で必要な設定が為された後の初回のタイマ割込み処理で図14及び図15の回胴回転制御処理(S203)が実行されることで開始される。従って、ステップS501の待機処理は、回転リール4a〜4cが回転を開始するまで待機する処理として機能する。
なお、ステップS501の待機処理は、この図に示す処理が進行する過程で複数回実行される。2回目以降に実行されるステップS501の待機処理は、図14及び図15の回胴回転制御処理が1回分行われる、すなわち回転制御が1タイマ割込み分進行するのを待機する処理として機能する。
これは、先に1)2)として示した停止操作受け付け条件が満たされたか否かを判別していることに相当する。
無効な操作が行われている場合、CPU80aはステップS518で停止ボタン18a〜18cを赤点灯させ、ステップS501に戻る。
一方、有効な停止操作が行われている場合、CPU80aはステップS506で停止ボタン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の停止状態に応じた値に更新する。
なお、停止回胴最新フラグ、図柄停止数、停止対象リール番号は、後述する図柄停止制御処理(S510)におけるステップS605の停止位置取得処理で停止図柄を決定する際に用いられる変数である。
また、停止間隔タイマにセットする211msは、最大滑りコマ数である4コマ分の時間に相当する。
何れかの操作が行われている場合、CPU80aはステップS514の情報取得処理とステップS515の判別処理を再度実行する。つまり、何れかの操作が行われている限り処理がステップS514→S515→S514とループする。
図柄停止制御処理において、CPU80aは、先ずステップS601で図柄ステップ数が11以上であるか否かを判別する。すなわち、図18のステップS505で有効な停止操作が検知された回転リール4についての図柄ステップ数が11以上であるか否かを判別する。なお、後述するように、図柄ステップ数は、停止操作が行われて停止信号検出フラグF4=1となった以降もタイマ割込みごとにデクリメントされている(図15参照)。
CPU80aは、ステップS601の判別処理を図柄ステップ数が11以上となるまで実行する。
なお、ステップS601の判別処理の意義については後述する。
そして、CPU80aはステップS603で図柄カウンタの値を取得する。該ステップS603で取得される図柄カウンタの値は、停止操作が行われたタイミングでの図柄位置を表す。
そして、続くステップS605でCPU80aは、停止位置取得処理を実行する。停止位置取得処理では、ステップS604でセットした停止ボタン押下時回胴図柄番号、評価用回胴図柄番号等の必要情報を用いて、停止操作が行われた回転リール4についての停止位置を最大滑りコマ範囲内で決定(算出)する。すなわち、最大滑りコマ範囲内で当該回転リール4についての停止図柄及び停止許可ステップ位置を停止位置として決定する。
なお、停止位置取得処理については本発明と直接関連するものではないため、詳細な説明は省略する。
上記のようにメイン処理側では、停止操作が行われたことに応じて、当該停止操作が行われた回転リール4に対応する停止信号検出フラグF4が「1」にセットされる(S507)。
先の説明から理解されるように、停止操作が行われる前の定常回転中においては、回胴制御フラグFGとしては制御中フラグF0及び回胴起動済みフラグF5のみが「1」で他のフラグFは全て「0」であったため、停止操作が行われたことに応じては、回胴制御フラグFGにおいて制御中フラグF0及び回胴起動済みフラグF5と共に停止信号検出フラグF4が「1」にセットされた状態となる。
ステップS427でCPU80aは、停止命令フラグF3の値を判定する。先の図18及び図19の説明から理解されるように、停止命令フラグF3は、停止操作が行われ(S505)、停止図柄が決定された後(S605)、停止図柄に到達したことに応じて「1」がセットされるものである(S607)。
このことから理解されるように、滑り中においては、定常回転が維持されつつ、図柄ステップ数及び図柄カウンタの値についてのカウントも引き続き行われる。
この際、次の回転リール4についての停止操作が行われていなければ(つまり停止信号検出フラグF4=1でなければ)、当該回転リール4については定常回転中に対応した処理(S409以降の処理)が継続される。一方、次の回転リール4についての停止操作が行われていれば、上記で説明したステップS429以降の滑り中に対応した処理が実行される。
このように、停止操作が行われた回転リール4から順次、ステップS429以降の滑り中に対応した処理が実行される。なお、この点については、以下で説明する停止命令フラグF3の値に基づく処理についても同様である。
原点位置101通過時の励磁状態が2相励磁であった場合は、偶数のステップ位置=2相励磁となるため、ステップS428の判別処理では、図柄ステップ数=8となったときに励磁状態=2相励磁と判別される。従ってこの場合は、図柄ステップ数=8となったときに後述する全相励磁による停止制御が開始され、8番のステップ位置で回転リール4が停止する。
一方、原点位置101通過時の励磁状態が1相励磁であった場合は、奇数のステップ位置=2相励磁となるため、ステップS428の判別処理では図柄ステップ数=7となったときに励磁状態=2相励磁と判別される。つまりこの場合は、7番のステップ位置で回転リール4が停止する。
ここで、先のステップS437で回胴停止中フラグ=1にセットした後、初回にステップS438の処理が実行される時点では、モータ出力タイマTomの値としてタイムテーブルインデックス=25に対応した「151」がセットされている。これは、起動処理の最後のタイマ割込み処理で実行されたステップS418及びS419の処理によってタイムテーブルインデックス=25に対応した「151」が取得・セットされた以降、定常回転中においてはモータ出力タイマTomの値が一切更新されないためである。
これにより、先のステップS428で停止可能位置に到達した回転リール4に対応するステッピングモータ54について、前述した巻線部A、Aバー、B、Bバーの全ての駆動信号をonとする「全相励磁」が開始される。このような全相励磁状態が所定時間継続されることで、高速回転する定常回転時の慣性力に拘らず、回転リール4を目的位置に停止させることができる。
上記で説明した回胴の停止に係る処理では、図18のステップS505で有効な停止操作が検出された回転リール4についての回胴停止制御処理(S510:図19)において、図柄ステップ数が11以上であるか否かの判別が行われ(S601)、図柄ステップ数が11以上であった場合は図柄カウンタの値が取得され(S603)、取得された図柄カウンタの値が停止位置取得処理(S605)で用いる停止ボタン押下時回胴図柄番号、評価用回胴図柄番号の値としてセットされる(S604)。
これによると、停止操作が行われたときのステップ位置が11番以上(つまり11番よりも手前)のステップ位置であった場合は、ステップS601からステップS602に即座に処理が進められるため、当該停止操作が行われた時点での図柄カウンタの値が示す図柄を基準に最大滑りコマ範囲内で停止図柄が決定される。
一方、停止操作が行われたときのステップ位置が11番未満のステップ位置であった場合は、ステップS601で図柄ステップ数が11以上となるまで待機される、すなわち図柄ステップ数が24にリセットされるまで待機されるため、停止操作が行われた時点での図柄カウンタの値が示す図柄ではなく、その次の図柄を基準に停止位置取得処理で停止図柄が決定されることになる。
上記のように停止操作が行われた時点での図柄ステップ数が11以上の場合は、停止操作が行われた時点の図柄カウンタの値が示す図柄に基づく停止位置取得処理が実行される。つまり、図柄nにおける11番以上のステップ位置は、その位置で有効な停止操作が行われれば図柄nに基づいて停止位置取得処理が実行される。この意味で、24番〜11番のステップ位置を「停止処理可能位置」と表記している。
これに対し、ステップ番号が11未満のステップ位置は、その位置で有効な停止操作が行われても図柄nに基づく停止位置取得処理が実行されない。この意味で、10番〜1番のステップ位置については「停止処理不可能位置」と表記している。
停止図柄を決定するための停止位置取得処理は比較的処理内容が複雑で、終了までに比較的長い時間を要する場合があるため、上記のように滑りコマ数=0であって停止操作が行われてから1ステップ以内という比較的速いタイミングで回転リール4を停止させる必要があるケースにおいては、停止位置図柄取得処理が本来回転リール4を停止すべきタイミングまでに完了せず、回転リール4を停止ステップ位置で適切に停止させることができない虞がある。
具体的には、停止操作が行われたタイミングで検出されていたステップ位置を停止操作時ステップ位置としたときに、停止操作時ステップ位置が停止許可ステップ位置よりも所定ステップ数以上手前のステップ位置である停止処理可能ステップ位置であった場合には、停止操作が行われたタイミングで検出されていた図柄を基準として最大滑りコマ範囲内で停止位置を決定し、停止操作時ステップ位置が停止処理可能ステップ位置以外であった場合には停止操作が行われたタイミングで検出されていた図柄の次の図柄を基準として最大滑りコマ範囲内で停止位置を決定する。
従って、回転リール4が停止ステップ位置で安定して停止されるように図ることができる。
続いて、RAM初期化処理(図9のステップS102)について説明する。
先の説明から理解されるように、ステップS102のRAM初期化処理は、1ゲームごとに繰り返し実行されるものである。
このRAM初期化処理が実行されなければ、1ゲームを開始するための各種変数の設定処理を開始できないため、次ゲームへの移行を速やかに行うためには、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までの処理)を実行した後、次のゲームが開始されるまでに実行されることが分かる。
なお、全相励磁前(つまり定常回転中)においては、ステップS435,S436,S443の処理によって駆動データφ1〜φ4を繰り返し更新してRAM80cの出力バッファに記憶する処理が行われている。停止のための全相励磁は、メイン処理側のステップS607で設定された停止命令情報に基づき、上記のような定常回転中の駆動データφ1〜φ4の更新を中止し、全相励磁のための所定の駆動データφ1〜φ4をRAM80cの出力バッファに記憶する(S440→S443)ことで実現されている。
先ず、メイン処理側において、停止命令フラグ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)となるケースが生じ得る。
しかしながら、上記のように全相励磁が完了する前にRAM初期化処理が実行されてしまうケースでは、全相励磁が完了する前にモータ出力タイマTomの値や出力バッファにおける駆動データφ1〜φ4がクリアされてしまうこととなり、回転リール4を適正に停止させることができなくなる虞がある。
このようにRAM80cにおける記憶領域を初期化対象領域と非初期化対象領域とに分けて捉えたとき、本実施の形態では、CPU80aが上記の時間情報と駆動データを記憶するための領域が非初期化対象領域側に設定されている。
従って、全相励磁が完了するまで待機する必要がなくなるため、1ゲームの終了時に対応した所定処理(メイン処理におけるステップS608以降ステップSステップS116又はS117までの処理)を実行した後に速やかにRAM初期化処理を行うことができるので、次ゲームへの移行が速やかに行われるようにできる。
従って、この点でも次ゲームへの移行が速やかに行われるようにできる。
以上で説明したCPU80aの処理により、遊技動作の進行を制御負荷の低減を図りつつ効率的に実現できる。また、遊技動作の進行に要するメモリ容量も削減することができる。特に、回胴の起動回転や、回転停止時の駆動制御を工夫していることで、メモリ領域を浪費することなく、処理負担の軽減が図られている。
例えば上記では、本発明がスロットマシンに適用される例を示したが、本発明は回転方向に沿って複数の図柄が形成された回胴を備えた遊技機に広く好適に適用できる。
2…前面パネル
3…図柄回転ユニット
4a〜4c…回転リール(回胴)
16…マックス投入ボタン
17…スタートレバー
18a〜18c…停止ボタン
40…主制御基板
54a…第1回胴ステッピングモータ
54b…第2回胴ステッピングモータ
54c…第3回胴ステッピングモータ
55a…第1回胴インデックスセンサ
55b…第2回胴インデックスセンサ
55c…第3回胴インデックスセンサ
80…コントローラ
80a…CPU
80c…RAM
Claims (1)
- 回転方向に沿って複数の図柄が形成された回胴と、
前記回胴を回転駆動する回転駆動手段と、
記憶部の記憶データに基づいて遊技動作に関する処理を実行する制御手段とを備え、
前記回胴を回転させて抽選結果に応じた停止態様で停止させることにより1ゲームが終了する遊技機において、
前記制御手段は、
前記遊技動作の進行を制御するメイン処理と、メイン処理を中断して所定時間毎に実行される割込み処理とを有して構成され、
前記メイン処理は、
前記回胴の回転停止を指示する回転停止操作が行われたことに応じて前記回胴の停止位置を決定する停止位置決定手段と、
回転中の前記回胴が、前記停止位置決定手段が決定した停止位置に到達したときに停止命令情報を設定する停止命令設定手段と、
全ての前記回胴について前記停止命令情報が設定されたことを条件に行われる所定の処理を実行した後、次のゲームが開始されるまでに、前記記憶部に記憶された記憶データを初期化する初期化手段と、を含み、
前記割込み処理は、
前記回胴の回転中に、前記回転駆動手段を駆動させるための駆動データを繰り返し更新して前記記憶部に記憶する更新手段と、
前記停止命令設定手段が設定した前記停止命令情報に基づいて、前記駆動データの更新を中止して所定の駆動データを前記記憶部に記憶する停止手段と、
前記停止手段が機能した後、前記記憶部に記憶された時間情報に基づく時間が経過するまで前記記憶部に記憶された前記所定の駆動データを維持する保持手段と、
前記記憶部に記憶された駆動データに基づく駆動信号を前記回転駆動手段に出力する出力手段と、を含み、
前記制御手段は、
前記記憶部に記憶された現在のゲームにおける前記抽選結果の情報を前記初期化手段により初期化した後、前記時間情報に基づく時間の経過を確認することなく、次のゲームのための処理に移行可能とされ、
前記記憶部に記憶された現在のゲームにおける前記抽選結果の情報を現在のゲームの終了の際に前記初期化手段により初期化し、
前記記憶部に記憶された現在のゲームにおける前記時間情報と前記駆動データを、次のゲームの前記抽選結果の情報が前記記憶部に記憶された後に初期化する
遊技機。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016079031A JP6321713B2 (ja) | 2016-04-11 | 2016-04-11 | 遊技機 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016079031A JP6321713B2 (ja) | 2016-04-11 | 2016-04-11 | 遊技機 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014006029A Division JP2015134025A (ja) | 2014-01-16 | 2014-01-16 | 遊技機 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2016152944A JP2016152944A (ja) | 2016-08-25 |
JP2016152944A5 JP2016152944A5 (ja) | 2017-02-16 |
JP6321713B2 true JP6321713B2 (ja) | 2018-05-09 |
Family
ID=56760670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016079031A Active JP6321713B2 (ja) | 2016-04-11 | 2016-04-11 | 遊技機 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6321713B2 (ja) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4678936B2 (ja) * | 2000-11-27 | 2011-04-27 | 株式会社三共 | スロットマシン |
JP2008289590A (ja) * | 2007-05-23 | 2008-12-04 | Olympia:Kk | 遊技機、プログラムおよび情報記憶媒体 |
JP5368132B2 (ja) * | 2009-02-24 | 2013-12-18 | 株式会社オリンピア | 遊技機 |
JP5110447B2 (ja) * | 2010-01-29 | 2012-12-26 | 株式会社三洋物産 | 遊技機 |
JP2013022237A (ja) * | 2011-07-21 | 2013-02-04 | Fujishoji Co Ltd | 遊技機 |
JP6199012B2 (ja) * | 2012-06-19 | 2017-09-20 | 株式会社藤商事 | 遊技機 |
-
2016
- 2016-04-11 JP JP2016079031A patent/JP6321713B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016152944A (ja) | 2016-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2017018492A (ja) | 遊技機 | |
JP2017018494A (ja) | 遊技機 | |
JP6106218B2 (ja) | 遊技機 | |
JP6177284B2 (ja) | 遊技機 | |
JP6106220B2 (ja) | 遊技機 | |
JP2015205054A (ja) | 遊技機 | |
JP2015134024A (ja) | 遊技機 | |
JP6215269B2 (ja) | 遊技機 | |
JP5899250B2 (ja) | 遊技機 | |
JP2016104316A (ja) | 遊技機 | |
JP2015134025A (ja) | 遊技機 | |
JP6321713B2 (ja) | 遊技機 | |
JP6321712B2 (ja) | 遊技機 | |
JP2015205053A (ja) | 遊技機 | |
JP2017148539A (ja) | 遊技機 | |
JP2016187476A (ja) | 回胴式遊技機 | |
JP6265937B2 (ja) | 回胴式遊技機 | |
JP2016168260A (ja) | 回胴式遊技機 | |
JP2015205052A (ja) | 遊技機 | |
JP6106221B2 (ja) | 遊技機 | |
JP6106219B2 (ja) | 遊技機 | |
JP7032836B1 (ja) | 遊技機 | |
JP6986306B1 (ja) | 遊技機 | |
JP2017124198A (ja) | 遊技機 | |
JP6986307B1 (ja) | 遊技機 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170106 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170106 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170822 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171018 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180320 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180405 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6321713 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |