JP6177284B2 - 遊技機 - Google Patents
遊技機 Download PDFInfo
- Publication number
- JP6177284B2 JP6177284B2 JP2015140741A JP2015140741A JP6177284B2 JP 6177284 B2 JP6177284 B2 JP 6177284B2 JP 2015140741 A JP2015140741 A JP 2015140741A JP 2015140741 A JP2015140741 A JP 2015140741A JP 6177284 B2 JP6177284 B2 JP 6177284B2
- Authority
- JP
- Japan
- Prior art keywords
- medal
- error
- cpu
- sensor
- flag
- 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 553
- 230000008569 process Effects 0.000 claims description 547
- 238000012545 processing Methods 0.000 claims description 245
- 230000004044 response Effects 0.000 claims description 86
- 238000012544 monitoring process Methods 0.000 claims description 64
- 238000001994 activation Methods 0.000 claims description 53
- 238000009987 spinning Methods 0.000 claims description 47
- 238000012790 confirmation Methods 0.000 claims description 18
- 238000003860 storage Methods 0.000 claims description 15
- 238000003780 insertion Methods 0.000 description 162
- 230000037431 insertion Effects 0.000 description 162
- 230000005284 excitation Effects 0.000 description 119
- 230000000694 effects Effects 0.000 description 93
- 238000001514 detection method Methods 0.000 description 70
- 230000004913 activation Effects 0.000 description 51
- 230000007704 transition Effects 0.000 description 32
- 230000008859 change Effects 0.000 description 26
- 238000004804 winding Methods 0.000 description 17
- 239000004973 liquid crystal related substance Substances 0.000 description 16
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 13
- 230000009747 swallowing Effects 0.000 description 10
- 238000011084 recovery Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 6
- 238000003708 edge detection Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 5
- 239000000758 substrate Substances 0.000 description 5
- 230000005856 abnormality Effects 0.000 description 4
- 241000219109 Citrullus Species 0.000 description 3
- 235000012828 Citrullus lanatus var citroides Nutrition 0.000 description 3
- 230000001678 irradiating effect Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 229920003002 synthetic resin Polymers 0.000 description 3
- 239000000057 synthetic resin Substances 0.000 description 3
- 238000002834 transmittance Methods 0.000 description 3
- 241000167854 Bourreria succulenta Species 0.000 description 2
- 235000019693 cherries Nutrition 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 239000000853 adhesive Substances 0.000 description 1
- 230000001070 adhesive effect Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 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
- 238000009795 derivation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000000284 resting effect Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Images
Landscapes
- Slot Machines And Peripheral Devices (AREA)
- Game Rules And Presentations Of Slot Machines (AREA)
Description
<1.回胴遊技機の機構構成>
<2.回胴遊技機の制御構成>
<3.メダル投入に係る構成>
<4.回胴回転に係る構成及び回転リール>
<5.メモリ領域について>
<6.スタート処理>
<7.電源断処理>
<8.電源復帰処理>
<9.設定変更処理>
<10.メイン処理>
[10-1.メイン処理]
[10-2.停止制御処理]
[10-3.入賞メダルの払出処理]
<11.タイマ割込み処理>
[11-1.タイマ割込み処理]
[11-2.LED表示データの作成処理]
[11-3.エラー解除判定処理]
[11-4.メダル投入処理]
[11-5.貯留メダルの精算処理]
[11-6.メダル払出処理]
[11-7.回胴制御処理]
<12.実施の形態のまとめ>
<13.まとめ及び変形例>
先ず、図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に落下するよう構成されている。
補助タンク6に対しては、該補助タンク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と、クレジット状態のメダルを擬似的に3枚投入するマックスベットボタン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は、スロットマシンの内部の制御構成の概略的なブロック図である。本実施の形態のスロットマシンは、その制御構成が主制御基板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との間で各種信号(コマンドや検出信号等)のやりとりを行う。
また電源基板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の図柄を内側から照射する回胴用LEDが配置されている。第2回胴LED基板50bには、回転リール4bの図柄を内側から照射する回胴用LEDが配置されている。また、第3回胴LED基板50cには、回転リール4cの図柄を内側から照射する回胴用LEDが配置されている。
遊技表示基板61は、遊技状態を示すLED群9や、7セグメントLEDを有した払出表示部10や、同じく7セグメントLEDを有した貯留数表示部11を搭載している。主制御基板40は、遊技表示基板61に対して、遊技中継基板60を介して制御コマンドを送信し、遊技状態に応じた表示を実行させるように制御している。
停止スイッチ基板63には停止ボタン18a、18b、18cの操作に応じてそれぞれONされる停止スイッチが搭載されている。また、図示は省略したが、本例の停止スイッチ基板63には、停止ボタン18a、18b、18cのそれぞれに対して設けられ、対応する停止ボタン18を発光させるための停止ボタンLEDも搭載されている。
貯留メダル投入スイッチ基板64には、マックスベットボタン16の操作に応じてONされる投入スイッチが搭載されている。また、図示は省略したが、本例の貯留メダル投入スイッチ基板64には、マックスベットボタン16を発光させるためのマックスベットLEDも搭載されている。
精算スイッチ基板65には清算ボタン14の操作に応じてONされる清算スイッチが搭載されている。
主制御基板40は、これらの基板(61,62,63,64,65)のスイッチによる遊技者操作の検出信号を、遊技中継基板60を介して受信する。
セレクタセンサ67及び投入メダル関連センサ68は、メダル投入口12から投入されたメダルを検出するために設けられている。これらセレクタセンサ67及び投入メダル関連センサ68については後に改めて説明する。
主制御基板40は、これらのセンサ(66,67,68)の検出信号を、遊技中継基板60を介して受信する。さらに、主制御基板40は、受信したセンサの検出信号により投入されたメダルの投入時間や通過方向を検出し、所定の規定に合致した場合にのみ投入メダルとして受け付け、それ以外の場合には投入メダルエラーとして処理する。
ブロッカーソレノイド69は、不正メダルの通過を阻止するブロッカーをON/OFFに駆動する。主制御基板40は、遊技中継基板60を介してブロッカーソレノイド69を制御する。
さらに主制御基板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による検出信号は、払出メダル枚数が不足したり払出動作が行われないなどの払出異常状態の検出に用いられる。
ここで、設定値vdとは、当該スロットマシンで実行される抽選処理の当選確率、換言すれば、遊技者に有利な遊技状態に当選させるか否かの確率についての段階を表す値であり、遊技ホールの営業戦略に基づいて適宜に設定される。本例では、当選確率の段階は6段階とされ、設定値vdとしては設定「1」〜設定「6」までの6段階のうち任意の段階を表す値を設定可能とされている。この際、設定値vd自体の値としては、「0」〜「5」が割り当てられる。
本例では、設定「1」〜設定「6」の順で当選確率が高くされている。
図示の通り、主制御基板40は、ワンチップマイコンによるコントローラ80と、8ビットパラレルデータを入出力するI/Oポート回路83と、カウンタ回路81と、各部とのインターフェース部を有して構成されている。
CTC80eは、8ビットのカウンタやタイマを集積した回路であり、CPU80aの処理における周期的割り込みや一定周期のパルス出力作成機能(ビットレートジェネレータ)、時間計測の機能を付与するものである。本例では、CTC80eを利用して、CPU80aに1.49ms(ミリ秒)の時間間隔でタイマ割込みをかけている。
電源インターフェース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との間のインターフェースである。
続いて、図7乃至図9を参照して、メダル投入に係る構成について説明する。
図7A及び図8Aは、本実施の形態のスロットマシンに設けられたメダルセレクタ21の構造を示す断面図、図7Bは図7AのA−A断面図、図8Bは図8AのB−B断面図である。
また、流路切替板21dは、ブロッカーソレノイド69が励磁された状態において、図8A、図8Bに示すように、流路切替板21dの上部が軸21daを支点として図中左方向(矢印方向)に揺動することで、流路切替板21dの上端部21dbが凹部21eより突出した状態となるため、投入流路21aを流下するメダルは流路切替板21dの上端部21dbに沿って取込側流路21b内に流下し、メダルタンク5aに案内される。
図のように第1投入メダルセンサ68aは、取込側流路21bにおいて第2投入メダルセンサ68bよりも上流側に設けられ、取込側流路21bを流下する円盤状のメダルの通過を第1投入メダルセンサ68a→第2投入メダルセンサ68bの順で検出することが可能とされている。
これら第1投入メダルセンサ68a、第2投入メダルセンサ68bは、1枚のメダルの通過時において、第1投入メダルセンサ68aのみがON、第1投入メダルセンサ68a及び第2投入メダルセンサ68bの双方がON、第2投入メダルセンサ68bのみがONの順で状態が遷移するように近接配置されている。
また、第1投入メダルセンサ68a及び第2投入メダルセンサ68bは、メダルの端部(本例ではメダル上端部)を検出するように配置されているため、メダルを連続投入した場合は、1枚目のメダルが第2投入メダルセンサ68bを通過して該第2投入メダルセンサ68bがOFFとなった後に、後続のメダルが第1投入メダルセンサ68aを通過して該第1投入メダルセンサ68aがONとなるようにされており、これにより連続投入された個々のメダルを確実に検出することが可能とされている。
図7、図8では図示を省略したが、メダルセレクタ21における投入流路21aには、セレクタセンサ67が設けられている。また、メダルセレクタ21における取込側流路21dとメダルタンク5aとを連通するメダルの流下経路には、前述の投入メダル関連センサ68の一つとして通過後センサ68cが設けられている。
なお、以下の説明においては、第1投入メダルセンサ68a、第2投入メダルセンサ68bについてはそれぞれ「センサ1」「センサ2」と表記することもある。
回転リール4を回転させるための構成及び回転リール4に形成された図柄とステップ位置との関係について図10乃至図12を参照して説明する。
図10は、回転リール4a、4b、4cに対する原点検出に係る構成についての説明図である。原点検出とは、各回転リール4a、4b、4cに設けられた特定の位置、すなわち、原点位置101の検出である。
なお、原点検出に係る構成は、回転リール4a〜4cのそれぞれについて同様であるため、ここでは代表して一つの回転リール(回転リール4と表記)のみを図示している。図10Aは原点検出に係る構成を斜視図により示し、図10Bは回転リール4に形成された被検出部410dと原点位置101との関係を概略断面図により示している。
この場合、突出部403tは、ベース板403bから左側方向に突出している。
リールフレーム410は、ステッピングモータ54のロータ54rに着脱自在に固定されたハブ部410hと、リム部410rとハブ部410hとの間を半径方向に連結する複数のスポーク部410sとを有している。
リールシート420における図柄形成領域は比較的光透過率が高くされており、バックライト部402におけるLEDが点灯したとき、その発光領域が明るく発光するようになっている。
インデックスセンサ55としては、透過型のフォトセンサに限らず、反射型のフォトセンサを用いることもできる。
本実施の形態において、ステッピングモータ54a,54b,54cはユニポーラ駆動のステッピングモータとされ、それぞれセンタータップされた2つの駆動巻線を有している。本実施の形態の場合、ステッピングモータ54a,54b,54cの駆動は1相励磁と2相励磁とを交互に繰り返す1−2相励磁によって行われる。
図11Bに示すように、1−2相励磁においては、駆動信号φ1〜φ4による駆動態様について図中の0〜7の8つのステップが繰り返される。具体的には、
・0ステップ目:φ1=on、φ2=off、φ3=off、φ4=off
・1ステップ目:φ1=on、φ2=off、φ3=off、φ4=on
・2ステップ目:φ1=off、φ2=off、φ3=off、φ4=on
・3ステップ目:φ1=off、φ2=off、φ3=on、φ4=on
・4ステップ目:φ1=off、φ2=off、φ3=on、φ4=off
・5ステップ目:φ1=off、φ2=on、φ3=on、φ4=off
・6ステップ目:φ1=off、φ2=on、φ3=off、φ4=off
・7ステップ目:φ1=on、φ2=on、φ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ビットの励磁データが対応付けられている。なお、図11Cでは、それぞれの励磁データの16進数表記と励磁ポインタPTの0〜7のそれぞれに対応する2相励磁/1相励磁の別も併せて示している。
ここで以下、駆動信号φ1〜φ4の各々に関して、各駆動信号φのon/offを表す各1ビットのデータのことを「励磁データ」と表記する。また、駆動信号φ1についての励磁データについては「励磁データφ1」、駆動信号φ2についての励磁データについては「励磁データφ2」と表記する。同様に、駆動信号φ3についての励磁データは「励磁データφ3」、駆動信号φ4についての励磁データは「励磁データφ4」と表記する。
励磁ポインタPTの最短更新周期は、1.49msごとに起動されるタイマ割込み処理(図24)ごとの周期とされる。
なお、励磁データテーブルは、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の位置を検出可能とされている。ここで、図柄中のステップ位置は、後の図37で説明するステップS1511の処理によってタイマ割込みごとに図柄ステップ数がデクリメント(−1)されていくことで検出可能とされる。すなわち、各図柄中で検出可能なステップ位置は、24番(先頭ステップ位置)〜1番(最終ステップ位置)の24個である。このとき、図37の処理では、図柄ステップ数=0、すなわちその図柄の最終ステップ位置に到達すると、その後のステップS1513の処理で即座に図柄ステップ数=「24」とされる。このため、0番のステップ位置は、次の図柄における24番のステップ位置と同義となる。
図13は、主制御基板40におけるメモリに設定された領域(メモリ領域)についての説明図である。具体的には、ROM80b及びRAM80cとしての、CPU80aがアクセス可能なメモリに設定された領域についての説明図である。
本例において、第2のメモリ領域への配置が許可されているのは、不正行為(いわゆるゴト)への対策を講じるためのプログラム及びデータとされている。具体的には、例えばメダルの不正な投入や払出を検知するためのプログラム及びデータや、設定値vd、乱数の異常を検知するためのプログラム及びデータ等である。
第1のメモリ領域、第2のメモリ領域のそれぞれには、プログラムを格納する制御領域、プログラムにより使用するデータを格納するデータ領域、及びプログラムによる処理の過程で生成される各種のフラグやタイマ値等を書き替え可能に格納するR/W領域(Read/Write領域)が設定されている。
なお、第1のメモリ領域及び第2のメモリ領域は、電源基板41に設けられた共通のバックアップ電源により電源遮断後も記憶情報を保持可能とされている。
第1、第2のメモリ領域のそれぞれにおいて、制御領域におけるプログラムは、自身の領域内におけるR/W領域のデータを参照及び更新(記録)することが許可されている。一方、第1、第2のメモリ領域のそれぞれにおいて、制御領域におけるプログラムは、他方のメモリ領域におけるR/W領域のデータについて参照のみが許可され、更新については不許可とされている。例えば、第2のメモリ領域のプログラムが該第2のメモリ領域内のR/W領域に記録したフラグについては、第1のメモリ領域内のプログラムは参照のみが可能とされて更新を行うことはできない。
なお、図示は省略したが、データ領域におけるデータについては、同一メモリ領域内のプログラムのみが参照を許可されている。すなわち、第1のメモリ領域内のプログラムが第2のメモリ領域内のデータ領域のデータを参照したり、第2のメモリ領域内のプログラムが第1のメモリ領域内のデータ領域のデータを参照するといったことは許可されていない。
以下、主制御基板40のCPU80aが実行する各種の処理について説明していく。
先ずは図15のフローチャートにより、スロットマシンの起動時(電源投入時)に対応して実行されるスタート処理について説明する。
このスタート処理は、電源投入時とコントローラ80におけるウォッチドッグタイマ(WDT)のタイムアウト時のそれぞれで発生するリセット信号に応じてCPU80aが実行するものである。すなわち、スタート処理は、スロットマシンの電源投入に伴うコントローラ80の起動時と、コントローラ80の動作が何らかの不具合により所定時間以上停滞したことに伴う再起動時に実行されるものである。
一方、電断信号がOFFであれば、CPU80aはステップS104に進み、RAM80cへのアクセスを許可する設定を行った上で、ステップS105で電断キーワードが所定値(例えば「5AA5h」)であるか否かを判定する。なお、電断キーワードは、電断時における後述するステップS404(図18)の処理で設定されるものである。電断キーワードが所定値であることは、電断時においてRAM80cにデータが確実に退避されていることを表す(図18のステップS402を参照)
一方、設定キースイッチ72aがONである場合、CPU80aはステップS107に進んでドア開放センサ35による検出信号に基づいてドア(前面パネル2)が開放状態であるか否かを判定する。ドアが開放状態でない場合、CPU80aは電源復帰処理に移行する。
ドアが開放状態であれば、CPU80aは後述する設定変更処理に移行する。
なお、上記説明から理解されるように、ステップS106で設定キースイッチ72aがONであっても、ステップS107でドアが開放状態でなければ、設定変更処理は行われない。つまり、この場合における設定キー操作は無効扱いとされる。このようにドアが開放されていない場合の設定キー操作を無効扱いとすることで、設定値vdを改竄する不正行為の防止が図られている(後述するステップS109、S110についても同様)。
ステップS108のRAMクリア処理を実行すると、CPU80aはステップS109に進み、先のステップS106と同様に設定キースイッチ72aの状態を確認し、設定キースイッチ72aがONであれば、ステップS110において先のステップS107と同様にドアが開放状態であるか否かを判定する。ドアが開放状態であれば、CPU80aは設定変更処理に移行する。
図16は、電源復帰処理のフローチャートである。
図16において、CPU80aはステップS201で、電断キーワードをクリアする処理を実行し、ステップS202で電断時のスタックポインタを復帰する処理を行う。すなわち、電断時にRAM80cのワーク領域に記憶しておいたスタックポインタの値(図18のステップS403参照)を読み出し、スタックポインタに再設定(本設定)する。
一方、回転リール4が起動中又は回転中でなければ、CPU80aはステップS204をパスしてステップS205に進む。
そして、CPU80aは続くステップS208で、割込み許可の設定を行い、図16に示す電源復帰処理を終了する。
以降、CPU80aが、再設定後のスタックポインタやレジスタに基づいて制御プログラムを実行する結果、スロットマシンは電源断時の状態に復帰する。
図17は、設定変更処理のフローチャートである。
図17において、CPU80aはステップS301で、設定変更時のRAMクリア処理を実行する。すなわち、RAM80cにおける設定変更時に対応して定められた領域(設定値vdの格納領域は含まず)をクリアする処理を行う。
続くステップS302でCPU80aは、設定変更中であるか否かを表すための設定中フラグをセット(設定変更中である旨を表す「1」を設定)し、さらに続くステップS303でRAM80cに格納されている設定値vdを取得する。
スタートレバー17がOFFであれば、CPU80aはステップS308に進んでリセットスイッチ72bの状態(ON/OFF状態)、すなわち設定値vdの送り操作の有無を確認し、リセットスイッチ72bがOFFであればステップS306の2割込み待機処理に戻る。
これにより、スタートレバー17による設定値vdの確定操作、又はリセットボタンによる設定値vdの送り操作の何れかが行われるまで、ステップS306の待機処理が繰り返し行われる。
CPU80aは、ステップS313のコマンドセット処理を実行したことに応じ、図17に示す設定変更処理を終了する。
CPU80aは、設定変更処理を終了したことに応じて、図19に示すメイン処理に移行する。
図18は、電源断処理のフローチャートである。
この電源断処理は、電源断信号が入力されたことに応じて発生する割込み処理である(いわゆるINT割込み)。なお、割込みの優先順位は「タイマ割込み>INT割込み」である。
[10-1.メイン処理]
図19は、メイン処理のフローチャートである。
メイン処理は、1ゲームごとに繰り返し実行される無限ループ状の処理である。なお、本例において、1ゲームの期間は、回転リール4を回転させて抽選結果に基づく停止態様で停止させるまでの期間となる。
再遊技フラグが再遊技への当選を表すON(例えば「1」)であった場合、CPU80aはステップS506に進み、再遊技の自動投入処理として、所定数の賭数を設定するためのメダル自動投入処理(擬似投入処理)を行い、ステップS507に処理を進める。
一方、再遊技フラグが再遊技への否当選を表すOFF(例えば「0」)であった場合、CPU80aはステップS506の処理をパスしてステップS507に処理を進める。
CPU80aは、ステップS510で最大投入枚数でないと判定した場合は、先のステップS507に戻って該S507の待機処理、S508の確認処理、及びS509のフラグ設定処理を再度実行する。すなわち、最大投入枚数と判定されるまで、これらの処理が繰り返される。
該始動スイッチの検出信号がOFF状態であれば、CPU80aはステップS511に戻り、該検出信号がONエッジであれば、ステップS513で乱数(カウンタ回路81で生成された乱数値)の取り込みが完了したか否かを判定する。
ステップS513において、乱数の取り込みが完了していなければ、CPU80aはステップS511に戻る。すなわち、スタートレバー17のONが検知されても、乱数の取り込みが完了していない場合には、再びスタートレバー17がONされるまで待機するようにされる。なお、カウンタ回路81の乱数値は、スタートレバー17がONされる度にラッチされるものである。最新のスタートレバー17のONに伴いラッチされた乱数値は後述する抽選処理(S518)での役抽選に用いられる。
さらに、CPU80aは続くステップS516で、投入信号カウンタに投入枚数をセットする。投入信号カウンタは、投入メダル枚数(設定された賭数)を外部集中端子板70を通してホールコンピュータに通知するために用いられるカウンタである。
ステップS521の待機処理では、1ゲーム前に実行されたステップS522のセット処理によりセットされた4.1秒分のウェイトタイマの値が「0」となるまで待機する。なお、該ウェイトタイマの値は後述するタイマ割込み処理で逐次デクリメント(減算)される。
ここで、4.1秒は一例であって、ゲーム間の最低時間間隔は適宜変更が可能である。
なお、起動要求フラグFrrは、タイマ割込み処理(回転制御処理)側に回転リール4の起動(回転開始)を要求するためのフラグである。
上記のように起動要求フラグFrrがセットされることで、タイマ割込み処理における回胴制御処理により、回転リール4a〜4cの起動処理が開始される。ステップS525の待機処理は、このようなタイマ割込み側の回胴制御処理により回転リール4a〜4cが回転状態となるまで待機するための処理として機能する。なお、ステップS525による待機時間は上記の時間に限定されるものではない。
ここで、スロットマシンにおいては、回転リール4が回転を開始した後、対応するインデックスセンサ55により該回転リール4の原点位置101が検出されたことを条件として対応する停止ボタン18の受付を許可するようにされている。このため、ステップS526でセンサ未通過フラグFmtがONである場合には、ステップS527による停止ボタンLEDのON処理に処理を進めず、センサ未通過フラグFmtがOFFになるまで待機するようにされている。
なお、ステップS526で対象とするエラーフラグとしては、少なくとも、主基板エラー(主制御基板40のエラー)、RWMエラー(RAM80cに係るエラー)、投入メダルエラー(メダル投入に係るエラー)、払出メダル無しエラー、払出センサエラー(メダル払出センサ76のエラー)、不当入賞エラー、オーバーフローエラー、ドア開放エラーに関するフラグがある。
有効な停止ボタン操作が行われていない場合、CPU80aは先のステップS528に戻る。ここで、回転リール4が回転中にエラーが生じるケースとしては、ステップS528の処理の実行後からステップS529の処理が開始されるまでの間にエラーが生じるケースが考えられる。そのようなタイミングでエラーが生じた場合において、ステップS529で有効な停止ボタン操作が行われていないと判定されると、処理がステップS528に戻りエラーフラグがOFFになるまで待機が行われる。すなわち、ステップS529による停止ボタン操作の受付が中断される。
この点からも理解されるように、ステップS528の処理は、回転中にエラーが生じた場合において、停止ボタン18の操作受付を中断して、エラーの解除を待つための処理として機能する。
続くステップS532でCPU80aは、停止順データをセットする。停止順データは、停止操作に応じた回転リール4a〜4cの停止順序を表すためのデータである。
この点からも理解されるように、ステップS528の待機処理は、回転リール4について有効な停止ボタン操作が行われてから回転リール4の回転が停止されるまでにエラーの発生が認められた場合に、停止制御を中断せずに該回転リール4を停止させ、該回転リール4が停止した後に遊技動作の進行を中断し、該エラーが解除されたことに応じて遊技動作の進行を再開するための処理として機能する。
なお、入賞判定処理では、停止ライン上に当選図柄が揃ったか否かの判定結果を示す制御コマンド(入賞情報コマンド)を演出制御基板42に送信するべく、入賞情報コマンドを演出制御インターフェース86における送信バッファにセットする処理も行われる。
図21は、停止制御処理(ステップS533)のフローチャートである。なお、上記説明からも理解されるように、ステップS533の停止制御処理は、ステップS529で有効な停止ボタン操作が検知された回転リール4を対象として行われるものである。
本例では、図柄ステップ位置が5番以下の図柄ステップ位置である場合には、現在の図柄を停止操作時図柄(停止操作が行われたときの図柄)とはせず、次の図柄を停止操作時図柄とする。このため、CPU80aは、ステップS603で現在の図柄ステップ位置が24番〜6番の停止処理可能なステップ位置(以下「停止処理可能位置」と表記)か否かを判定し、停止処理可能位置でなければ再びステップS603の処理を実行し、停止処理可能位置であればステップS604に処理を進める。
なお、現在の図柄ステップ位置(図柄ステップ数)は、後述するステップカウンタの値に基づき取得される。ステップカウンタの値は、タイマ割込み処理における回胴制御処理(図37参照)によってカウントされる。
図示するように本例では24番〜6番のステップ位置が停止処理可能位置、5番〜1番のステップ位置が停止処理不可能位置として定められている。上記したステップS603の処理により、停止ボタン操作が検知されたときの図柄ステップ位置が停止処理可能位置であれば現在の図柄が停止操作時図柄とされ、停止処理不可能位置であれば現在の図柄の次の図柄が停止操作時図柄とされる。
本例において、現在のステップ位置が5番〜1番の停止処理不可能位置である場合に現在の図柄を停止操作時図柄とせず次の図柄を停止操作時図柄とするのは、以下で説明する滑りコマ数の決定処理(S604)が比較的長く処理時間を要した場合に意図しない図柄で停止されてしまう事態が発生する虞があり、その防止を図るためである。
なお、現在の図柄位置は、後述する図柄カウンタの値に基づき取得される。図柄カウンタの値としてもタイマ割込み処理における回胴制御処理によってカウントされている。
停止図柄に到達していなければ、CPU80aは再びステップS605の処理を実行し、停止図柄に到達してればステップS606に処理を進める。
一方、最短停止間隔タイマの値が「0」であれば、CPU80aはステップS533の停止制御処理を終える。
図23は、入賞メダルの払出処理(ステップS536)についての説明図である。
先ず、CPU80aはステップS701で、入賞枚数が「0」であるか否かを判定する。前述のように入賞枚数は、ステップS535の入賞判定処理にて設定されるものである。入賞枚数が「0」であれば、CPU80aは入賞メダルの払出処理を終了する。
ステップS702において、エラー中であると判定した場合、CPU80aは再度ステップS702の判定処理を実行する。すなわち、エラーが解除されるまで、メイン処理の進行(ゲームの進行)が中断される。
なお、ステップS707において、払出信号カウンタは、ホールコンピュータに対する払出枚数の通知、すなわち入賞(再遊技を含む)に応じて遊技者に付与したメダルの枚数の通知を行うために用いられるカウンタである。メイン処理において払出信号カウンタの値を入賞枚数の範囲内で上記のように逐次インクリメントする一方で、後述するタイマ割込み処理側の「投入、及び払出信号出力処理」(ステップS809)では、払出信号カウンタの値が「0」以外である場合に対応して払出信号カウンタの値をデクリメントし且つ払出信号ビットをホールコンピュータに出力するための処理が行われる。ホールコンピュータでは、該払出信号ビットの出力回数に基づいてスロットマシンの払出枚数を管理可能とされている。
また、上記ステップS708において、払出表示枚数は、前述した払出表示部10に表示すべき当該ゲームでの払出枚数を意味する。本例では、払出表示部10における枚数表示は、入賞枚数からの1枚単位での付与が行われるごとに値をインクリメントさせる態様で行われるため、ステップS708で払出表示枚数の値を逐次インクリメントさせている。なお、図示による説明は省略したが、CPU80aは、払出表示枚数の値を例えばメダル投入又はスタートレバー17のONタイミング等、次ゲーム開始までの間の所定タイミングで「0」リセットする(つまり払出表示部10における枚数表示は「0」から「入賞枚数」に向けて逐次インクリメントされた後、次ゲーム開始タイミングまでにクリアされる)。なお、払出表示枚数の値の0リセットは、メダル投入又はスタートレバー17のON操作が行われずとも、所定時間の経過に応じて行ってもよい。
ここで、クレジットの値がMAXである場合には、クレジットの加算ではなくメダル払出装置5を用いたメダルの払出(メダル排出口20を介したメダル払出)が行われる。このようなメダル払出装置5を用いたメダル払出のための制御処理はタイマ割込み処理側で実行され(図36のメダル払出処理を参照)、払出要求は、該制御処理の実行を要求するものである。
一方、入賞枚数の値が「0」であれば、CPU80aは先のステップS715のコマンドセット処理を実行し、入賞メダルの払出処理を終える。
[11-1.タイマ割込み処理]
続いて、所定時間ごと(本例では1.49msごと)に起動されるタイマ割込み処理について説明する。
図24は、タイマ割込み処理のフローチャートである。
図24において、CPU80aは、先ずステップS801でレジスタの値を退避させた上で(レジスタ退避処理)、ステップS802でLEDデータの作成処理を実行する。該LEDデータの作成処理は、遊技表示基板61に搭載された払出表示部10や貯留枚数表示部11としての7セグメントLEDや、LED群9として設けられた各種LED、すなわち投入されたメダルの枚数を示すLED、再遊技状態を示すLED、スタートランプとしてのLED、メダルの投入の受付状態(投入の許可/不許可)を示すLEDや、設定値の表示を行うための7セグメントLEDによる情報表示を実現するために必要とされるデータを作成する処理である。なお、該作成処理についての詳細は図25により後述する。
ステップS804の読み込み処理では、スイッチ信号やセンサ信号のONエッジ、OFFエッジのデータが作成され、RAM80cに記憶される。
上記のステップS808の処理が設けられることで、ステップS809の出力処理はタイマ割込み処理42回分の間隔(本例では62.58ms)を空けて実行される。
なお、図示は省略したが、タイマ割込みカウンタの値は、ステップS809の出力処理において0リセットされる(つまり「42」に達するごとに0リセットされる)。
図25は、LED表示データの作成処理(S802)のフローチャートである。
前述のように、LED表示データの作成処理は、払出表示部10、貯留枚数表示部11としてのそれぞれの7セグメントLEDや、LED群9として設けられた投入メダルの枚数を示すLED、再遊技状態を示すLED、スタートランプとしてのLED、メダルの投入の許可/不許可を示すLEDや、設定値の表示を行うための7セグメントLEDを表示させるためのデータを作成する処理である。
コモン0…払出枚数1桁目
コモン1…払出枚数2桁目
コモン2…クレジット1桁目
コモン3…クレジット2桁目
コモン4…投入枚数表示1〜3
コモン5…INSERT、再遊技、スタートLED
コモン6…設定表示
そして、これらのコモン0〜6をタイマ割込み周期で順番にONして行きつつ、表示データをコモン0〜6に共通に出力するという制御手法が採られている。すなわち、ONとされたコモンのLEDのみが、共通出力された表示データに従って点灯制御されるものである。
図25において、CPU80aは、先ずステップS901でエラー中であるか否かを判定する。エラー中であれば、CPU80aはエラー種別に対応したエラー表示コードをRAM82cのワークにおける払出枚数表示用のセット領域にセットし、ステップS903に進む。
一方、エラー中でなければ、CPU80aはステップS902のセット処理をパスしてステップS903に進む。
なお、今回コモン番号がコモン0又はコモン1(払出枚数1桁目又は2桁目)であって、先のステップS901でエラー中との判定結果が得られた場合には、ステップS904のセット処理では、先のステップS902でセットしたエラー表示コードに対応した出力データがセットされる。
一方、設定確認中フラグがOFFであれば、CPU80aはステップS906の処理をパスしてLEDデータの作成処理を終える。
図26は、エラー解除判定処理(S810)のフローチャートである。
図26において、CPU80aはステップS1001で、エラーフラグに基づきエラー中であるか否かを判定する。エラー中でなければ、CPU80aはエラー解除判定処理を終える。
主基板エラー…主制御基板40の交換
RWMエラー…設定変更処理(図17)の実行
投入メダルエラー…リセットスイッチ72bのON
払出メダル無しエラー…リセットスイッチ72bのON、及びドアセンサ66(前述した中止解除動作の検知)
払出センサエラー…リセットスイッチ72bのON
不当入賞エラー…リセットスイッチ72bのON
オーバーフローエラー…リセットスイッチ72bのON、及びドアセンサ66(前述した中止解除動作の検知)
ドア開放エラー…ドアセンサ66(前述した中止解除動作の検知)
なお、主基板エラー、RWMエラーについては、リセットスイッチ72b、ドアセンサ66に基づくエラー解除が不能とされている。
図27及び図28は、メダル投入処理(S813)のフローチャートである。
図27において、CPU80aはステップS1101で、遷移及び滞留チェック処理を実行する。遷移及び滞留チェック処理は、メダル投入に係る不正検知のための処理であり、前述したセレクタセンサ67、投入メダル関連センサ68(第1投入メダルセンサ68a、第2投入メダルセンサ68b)、及び通過後センサ68cに対するメダルの通過態様が予め定められた異常通過態様に該当するか否かを判定し、異常が認められたことに応じて投入エラー監視フラグFeiをセットする(ONとする)処理である。
図29Aでは、メダル投入口12を介して1枚のメダルが正常に投入された場合におけるセレクタセンサ67、第1投入メダルセンサ68a(センサ1)、第2投入メダルセンサ68b(センサ2)、通過後センサ68cの検出信号の遷移を示している。なお、先の図9で説明したように、これらのセンサはメダル投入口12から取込側流路21bにかけてのメダル通過経路において上流側から上記の順に配置されている。
ここで、図のようにセレクタセンサ67がONに転じる時点を時点t1、OFFに転じる時点を時点t2、センサ1がONに転じる時点を時点t3、センサ2がONに転じる時点を時点t4、センサ1がOFFに転じる時点を時点t5、センサ2がOFFに転じる時点を時点t6、通過後センサ68cがONに転じる時点を時点t7、OFFに転じる時点を時点t8と表記する。
正常なメダル投入に応じては、「センサ1=OFF、センサ2=OFF」の順番「0」の状態→「センサ1=ON、センサ2=OFF」の順番「1」の状態→「センサ1=ON、センサ2=ON」の順番「2」の状態→「センサ1=OFF、センサ2=ON」の順番「3」の状態、の順でセンサ1、センサ2のON/OFF状態が遷移する。
従って、センサ1、センサ2のON/OFF状態の変化の順番がこのような「0」→「1」→「2」→「3」の順番に合致しない場合には、投入メダルエラーとして扱う。
具体的に、この場合におけるセンサ1、センサ2のON/OFF状態変化の順番は、図30Bに示すように「センサ1、2共にOFF」→「センサ1=ON、センサ2=OFF」→「センサ1、2共にOFF」の順番、すなわち上記の順番表記に従えば「0」→「1」→「0」の順番で変化しているため、エラー検知の対象とされてしまうものである。
スロットマシンにおいて、メダルが排出側流路21cを介して排出されるケースは特段エラーとすべきケースではないため、上記のように投入メダルエラーとして検知されてしまうことは投入メダルエラー検知の適正性を保つ上で望ましくない。
これにより、投入メダルエラー検知の適正性が担保される。
これら各種タイマやカウンタを用いた投入メダルエラーの検出手法は、図29Aに示した各時点tに照らして記載すると、以下のようになる。なお、各タイマは、タイマ割込みごとに減算(−1)される。
[時点t1]
・第1監視タイマに所定値(例えば402ms相当のタイマ割込み数)をセット。
第1監視タイマが0になったら投入メダルエラーとする(セレクタセンサ67の連続ON時間が過大であるためエラーとする)。
[時点t2]
・メダル通過第1カウンタを0クリア
・第2監視タイマに所定値(例えば250ms相当のタイマ割込み数)をセット。
第2監視タイマが0になったら投入メダルエラーとする(セレクタセンサ67通過からセンサ1がONするまでの時間が過大であるためエラーとする)。
[時点t3〜t5の各時点]
・第3監視タイマに所定値(例えば101ms相当のタイマ割込み数)をセット。
第3監視タイマが0になったら投入メダルエラーとする(センサ1又はセンサ2の連続ON時間が過大であるためエラーとする)。
[時点t6]
・第4監視タイマに所定値(例えば150ms相当のタイマ割込み数)をセット。
第4監視タイマが0となったら投入メダルエラーとする(センサ1、2通過から通過後センサ68c通過までの時間が過大であるためエラーとする)。
・メダル通過第1カウンタ、メダル通過第2カウンタをそれぞれ+1。
メダル通過第1カウンタが「5」となったら投入メダルエラーとする(セレクタセンサ67の通過メダル枚数とセンサ1、2の通過メダル枚数とのずれが5枚に達したらエラー)。
メダル通過第2カウンタが「5」となったら投入メダルエラーとする(通過後センサ68cの通過メダル枚数とセンサ1、2の通過メダル枚数とのずれが5枚に達したらエラー)。
これら通過メダル枚数に基づくエラー検知は、メダルが連続投入された場合を想定している。本例では、セレクタセンサ67及び通過後センサ68cはメダルが連続投入された際に検出信号が連続ONする場合があるのに対し、センサ1、2はメダルが連続投入されても各メダルを検出できるように構成されている。
[時点t7]
・通過後センサ68cがONである間は通過後センサONタイマを+1する。
通過後センサONタイマが所定値(例えば101ms相当のタイマ割込み数)に達したら投入メダルエラーとする(通過後センサ68cの連続ON時間が過大であるためエラーとする)。
[時点t8]
・メダル通過第2カウンタを0クリア。
図31において、CPU80aはステップS1201で、全レジスタの値をRAM80cにおけるレジスタ退避領域に退避させる処理を実行し、ステップS1202で投入エラー監視フラグFeiをクリアする処理を実行する。
続くステップS1204でCPU80aは、ステップS1203の監視処理の結果に基づきエラーであるか否かを判定する。すなわち、第1監視タイマ、第2監視タイマ、第3監視タイマ、第4監視タイマ、及び通過後センサONタイマの値のうち何れかが対応する所定値に達したか否かを判定する。
ステップS1204でエラーであると判定した場合、CPU80aはステップS1205で投入エラー監視フラグFeiをセットし、ステップS1206に処理を進める。
また、エラーでないと判定した場合、CPU80aはステップS1205をパスしてステップS1206に処理を進める。
ステップS1206でCPU80aは、センサ1、2から入力される検出信号に変化があったか否かを判定する。すなわち、センサ1、センサ2の何れかの検出信号にONエッジ又はOFFエッジが検出されたか否かを判定する。センサ1、2の検出信号に変化がなければCPU80aは後述するステップS1210に処理を進める。
変化の順番が正常であれば、CPU80aはステップS1209のフラグセット処理をパスしてステップS1210に処理を進める。
先ず、ステップS1210でCPU80aは、セレクタセンサ67の検出信号がOFFエッジであるか否かを判定し、OFFエッジであればステップS1211でメダル通過第1カウンタの値を0クリアしてステップS1212に進み、OFFエッジでなければステップS1211をパスしてステップS1212に進む。
なお、メダルがセンサ2を通過したタイミングは該センサ2の検出信号がOFFに転じたタイミングであるため、ステップS1212で「正常に通過」と判定されるのは、センサ2の検出信号がOFFに転じた(OFFエッジが検知された)タイミングで実行されたタイマ割込み処理においてのみとなる。
これらステップS1214、S1215において、メダル通過第1カウンタの値、メダル通過第2カウンタの値が5以上であれば、CPU80aはステップS1216で投入エラー監視フラグFeiをセットし、ステップS1217に処理を進める。
また、CPU80aは、ステップS1215でメダル通過第2カウンタの値が5以上でなければ、ステップS1216をパスしてステップS1217に処理を進める。
ステップS1101の遷移及び滞留チェック処理を終えると、CPU80aはステップS1102で投入エラー監視フラグFeiの状態(ON/OFF状態)をチェックする。投入エラー監視フラグFeiがONであれば、CPU80aはステップS1123に進み、投入エラーフラグFerをセットする(ONとする)。そして、続くステップS1124でCPU80aは、投入メダルエラーである場合に対応して、ブロッカーソレノイド、及び「INSERT」LED(前述したLED群9におけるメダルの投入の許可/不許可を示すLED)をそれぞれOFFとするための処理(RAM80cのワークにおける対応値の更新処理)を実行し、メダル投入処理を終える。
メダル投入処理における「遷移及び滞留チェック処理」を除く処理は、不正行為への対策を講じるためのプログラムには該当せず、従ってこれらの処理を実現するためのプログラムは第1のメモリ領域に格納されている。
前述のように、第1のメモリ領域におけるプログラムは、第1のメモリ領域におけるR/W領域のデータを参照及び更新することができるが、第2のメモリ領域のR/W領域に記憶されたデータについては参照のみが可能で更新は不許可とされている。すなわち、メダル投入処理(遷移及び滞留チェック処理は除く)では、第2のメモリ領域のR/W領域に記憶された投入エラー監視フラグFeiの参照のみは可能であるが、更新することまでは許可されない。
そこで、本例では、第2のメモリ領域のR/W領域に記憶された投入エラー監視フラグFeiをステップS1102で参照した結果に基づき、ステップS1123で投入エラーフラグFerを第1のメモリ領域のR/W領域においてセットするようにしている。すなわち、第1のメモリ領域のプログラムが自ら更新可能なフラグとして改めてセットしているものである。
本例のスロットマシンは、このように不正対策処理のプログラムを領域外に置いたことで必要とされる領域外フラグと領域内フラグとの連携を実現していることで、不正対策処理のプログラムを領域外に置くことへの対応を図っている。換言すれば、このようなフラグ連携の実現により、不正対策処理のプログラムを第1のメモリ領域に置く必要性を無くしているものであり、領域内に格納可能なプログラム容量の拡大化を図って、領域内プログラムによる処理内容の充実化を図ることができる。
このため、領域外プログラムによる遷移及び滞留チェック処理(図31)では、処理の開始にあたってエラー監視フラグを毎回クリアするようにしている(S1202)。これにより、エラー検知の適正性を確保することができる。
CPU80aは、ステップS1102で投入エラー監視フラグFeiがOFFであった場合には、ステップS1103以降の処理により、正常なメダル投入に応じた投入枚数(賭数)やクレジットの値の更新、マックスベットボタン16の操作に応じた投入枚数(賭数)やクレジットの値の更新等を行う。
図32は、これらベットカウンタとベットタイマとを用いて行われる本例のマックスベット処理の概要を示したタイミングチャートである。
本例のマックスベット処理では、マックスベットボタン16がONされたことに応じて、ベットタイマに所定値(本例では50ms相当のタイマ割込み数)がセットされ、ベットタイマの値が消費されて「0」になると、賭数を設定するための投入処理(+1)が実行される。ベットカウンタは、このようにベットタイマ=0となって投入処理を実行する回数を規定するためのカウンタとされている。本例では、マックスベットボタン16がONされると、クレジットの値が許容する範囲内において、ベットカウンタの値がセットされる。具体的には、クレジットの値が「3」以上であれば「3」がセットされ、クレジットの値が「2」以下である場合にはクレジットの値と同値がセットされる。
なお、マックスベットボタン16は投入枚数が「1」以上の状況においてもONされ得るものであり、その場合には、クレジットの値が許容する回数分の投入処理を行うべきでない(賭数の上限=「3」であるため)。本例のメダル投入処理(S813)では、上記のようにベットカウンタの値をクレジットの値のみに基づきセットしても、マックスベット処理による投入枚数が賭数の上限値を超えないように工夫しているが、これについては後述する。
CPU80aはステップS1103で、メダル投入中であるか否か、具体的にはメダルがセンサ1又はセンサ2の何れかを通過中であるか否かを判定する。
メダル投入中であれば、CPU80aは後述するステップS1111に処理を進める。
一方、ベットカウンタの値が「0」でなければ(マックスベット処理中であれば)、CPU80aはステップS1105でベットタイマの値をデクリメント(−1)し、ステップS1106でベットタイマの値が「0」であるか否かを判定する。これは、ベットタイマ=「0」に応じて投入処理(+1)を実行すべきか否かを判定していることに相当する。
具体的に、CPU80aは、先ずステップS1107でベットカウンタの値をデクリメントする(つまり投入回数を1消費する)。
該ステップS1108の判定処理が設けられていることで、上述のようにベットカウンタの値としてクレジットの値のみに基づいた値(投入枚数は考慮しない値)を設定することが許容される。
一方、投入枚数が「3」でなければ、CPU80aはステップS1109でベットタイマをセットし、続くステップS1110でクレジットの値のデクリメント(−1)、投入枚数のインクリメント、及び投入音コマンドのセットを行い、ステップS1111に処理を進める。なお、投入音コマンドは、演出制御基板42側にメダルの投入時に出力すべき効果音の出力指示を行うためのコマンドである。
先ず、CPU80aはステップS1111で、エラー中か否か(各種エラーの少なくとも1つが生じているか否か)を判定し、エラー中であれば、ステップS1118でブロッカーソレノイド69及び「INSERT」LEDをOFFとするための処理(RAM82cのワークにおける対応値を更新する処理)を実行する。すなわち、エラーの発生に応じては、メダル投入口12から投入されたメダルがメダル排出口20から排出される状態となると共に、「INSERT」LEDのOFFにより遊技者にメダル投入が不許可の状態であることが報知される(メダル投入が不許可の状態)。
投入可能フラグFaiがOFFであれば、CPU80aは上記したステップS1118の処理を実行する。すなわち、投入可能フラグFaiがOFFであればメダル投入が不許可の状態となる。
メダルが払出中であれば、CPU80aは上記したステップS1118の処理を実行してメダル投入が不許可の状態とし、払出中でなければステップS1114に処理を進める。
この結果、本例のスロットマシンにおいては、メダルの受付禁止前状態においてセンサ1、センサ2の何れかがメダルを検出中である場合には、ブロッカーソレノイド69のOFFに連動して、マックスベットボタン16の操作受付が無効化される。
メダルの受付禁止前状態においてセンサ1、センサ2の何れかがメダルを検出中である場合にマックスベットボタン16の操作受付を有効としてしまうと、いわゆるメダルの飲み込み(メダルが検出もされず返却もされずに取り込まれてしまうこと)を誘発する虞がある。
本例のスロットマシンでは、上記のような処理によってメダルの飲み込み防止を図っている。
ステップS1122の更新処理を実行すると、CPU80aはメダル投入処理(S813)を終える。
ステップS1125でCPU80aは、マックスベットLEDのON/OFFを確認し、マックスベットLEDがOFFであれば、メダル投入処理を終える。つまり、前述したようにマックスベットLEDのOFFに連動してマックスベットボタン16のONエッジ検知確認のための処理(S1128)が実行されないこととなり、マックスベットボタン16の操作受付が無効化されるものである。
CPU80aは、ステップS1129の処理を実行したことに応じ、メダル投入処理を終える。
図33では、投入枚数=「0」時にベットカウンタ=「3」と設定されたマックスベット処理中において、1枚分のベットが行われた(ベットカウンタの値が「1」消費された)直後にメダル投入が検知(センサ1、センサ2の何れかがメダル検知)された場合の動作を例示している。
このようなケースにおいて、図27及び図28に示したメダル投入処理では、上記2枚目の投入の開始タイミング、すなわちベットカウンタ=「2」の状態でベットタイマ=「0」に至ったタイミングにおいて、ステップS1106からS1107に遷移してベットカウンタ=「1」に減じられた上で、S1108で投入枚数=「3」でないと判定され(この時点では投入枚数=「2」)、S1109でベットタイマがセットされた上で、ステップS1110でクレジットからの投入が行われる(投入枚数が「3」に至る)。
次のタイマ割込み以降では、ベットカウンタ=「1」且つ投入枚数「3」の状態にて、ステップS1105の処理によってベットタイマの値が徐々に消費されていく。そして、ベットタイマ=「0」まで消費されると、ステップS1106からS1107に遷移してベットカウンタが「1」→「0」に減じられた上で、S1108で投入枚数=「3」と判定される。つまり、クレジットからの投入(S1110)は実行されない。
この点について、例えば投入枚数=「2」、ベットカウンタ=「1」、ベットタイマ≠「0」の状態で1枚のメダルが正常に投入された場合を例に説明する。
先ず、メダルが正常に投入されると(S1119)、ステップS1121の処理により投入枚数=「3」に変化する。その後のタイマ割込みにおいては、メダル投入中とは判定されないため(S1103)、ベットタイマの消費が行われる(S1105)。そして、ベットタイマ=「0」に至ると、処理がS1106→S1107に遷移し、ベットカウンタが「1」→「0」に変化する。この場合、ステップS1108では投入枚数=「3」と判定されるため、ベットタイマのセット(S1109)、及びクレジットからの投入(S1110)は行われない。
さらに、それ以降のタイマ割込みでは、ステップS1104でベットカウンタ=「0」と判定されるようになるため、ステップS1105〜S1110の処理が行われなくなり、マックスベット処理が終了する。
これにより、メダルの飲み込み防止を図っている。
これは、ステップS1103でセンサ1、2の何れかをメダルが通過中であると判定された場合にもステップS1129によるONエッジ検知の確認処理が行われ得ることからも明らかである。
なお、図34ではメダルの投入が投入枚数=「0」の状態で行われた場合を前提としている。
この状態からステップS1119でメダルが正常に通過したと判定されると、投入枚数が加算(S1121)されて「0」→「1」となる。そして、次回以降のタイマ割込みでは、投入メダルの通過によりステップS1103でメダル投入中ではないと判定されるため、ベットタイマの消費(S1105)が開始される。すなわち、マックスベット処理が開始される。
なお、この場合は、ステップS1107でベットカウンタの値が「1」に至ってステップS1110によるクレジットからの投入として2回目の投入が行われたことにより投入枚数が「3」に至ることになるが、このようなケースでは、前述もしたように、図27及び図28に示す処理によれば該2回目の投入に応じてセットされたベットタイマの消費は行われるものの、該ベットタイマが「0」に達しても投入枚数の加算は行われない。
これにより、メダルの飲み込み防止を図っている。
図35は、貯留メダルの精算処理(S814)のフローチャートである。
前述のように貯留メダルの精算処理は、精算ボタン14の操作有無等、様々な条件の判定を行って精算要求をONするための処理である。
図35において、CPU80aはステップS1301で、精算ボタン有効フラグFasがONであるか否かを判定する。精算ボタン有効フラグFasは、前述したメイン処理側でクレジット精算ボタン14の受付を有効とすべきタイミングでONされ、スタートレバー17の操作に基づきOFFされるフラグである(図19を参照)。
精算ボタン有効フラグFasがONでなければ、CPU80aは貯留メダルの精算処理を終える。
先ず、ステップS1302でCPU80aは、マックスベットボタン16のON/OFFを確認し、マックスベットボタン16がONである場合には、ステップS1307でマックスベットLEDをOFFとするための処理を実行する。すなわち、マックスベットボタン16が押されている間はマックスベットLEDはOFFとされる。
先ず、ステップS1308でCPU80aは、エラー中であるか否かを判定し、エラー中であれば貯留メダルの精算処理を終える。すなわち、エラー中は後述するステップS1312の精算ボタンON/OFF判定処理、及びステップS1316の精算要求ON処理が実行されず、従って精算ボタン14が無効化され、精算不許可状態となる。
そこで、本例のスロットマシンでは、上記のようにセンサ1、2の何れかがメダルを検出中である場合に精算ボタン14を無効化することで、メダルの飲み込み防止を図っている。
ステップS1310において、ベットカウンタ≠「0」であれば、CPU80aは貯留メダルの精算処理を終える。つまり、マックスベット処理を実行中である場合は精算ボタン14が無効化される。
そこで、本例のスロットマシンでは、上記のようにマックスベット処理を実行中である場合に精算ボタン14を無効化することで、メダルの飲み込み防止を図っている。
ステップS1311において払出中と判定した場合、CPU80aは貯留メダルの精算処理を終える。すなわち、精算ボタン14が無効化され、精算不許可状態となる。
そして、続くステップS1317で精算コマンドをセットし、貯留メダルの精算処理を終える。なお、精算コマンドは、少なくとも精算による払出が行われる旨を演出制御基板42側に通知するためのコマンドとされる。
図36は、メダル払出処理(S806)のフローチャートである。
メダル払出処理は、前述した払出要求(入賞によるメダル払出の要求:図23を参照)、又は精算要求に応じてメダル払出装置5における払出モータ75を駆動制御するための処理とされる。
ステップS1403でエラー中でないと判定した場合、CPU80aはステップS1405に進み、メダル払出センサ76のON/OFFを確認する。なお、払出要求や精算要求がONであることが判定された時点では、後述する払出制御信号(払出モータ75の駆動を指示する信号)が未だONとされていないため、メダル払出センサ76はOFFである。
ホッパーメダル無しタイマは、払出制御信号がONとされて払出モータ75が駆動されているにも関わらずメダルの払出が行われていない時間を計測するためのタイマであり、メダルタンク5aにメダルが無いことを検知するためのタイマとして機能する。具体的には、以下で説明するように該ホッパーメダル無しタイマの値が「0」まで消費されたことで、払出メダル無しエラーがセットされるものである(ステップS1411参照)。
一方、ホッパーメダル無しタイマ=「0」であれば、CPU80aはステップS1411で払出メダル無しエラーをセットする。
なお、払出メダル無しエラーがセットされた以降のタイマ割込みで実行されるメダル払出処理では、処理がステップS1401→S1402→S1403と経由し、該S1403でエラー中と判定されるため、CPU80aはステップS1404で払出ビジーフラグFbeのON/OFFを確認する。上記のように払出メダル無しエラーがセットされたことに応じては払出ビジーフラグFbeがOFFとされる(S1427)ため、該ステップS1404では払出ビジーフラグFbeがOFFと判定され、処理がステップS1426に遷移する。この点から理解されるように、払出メダル無しエラーがセットされた以降は払出モータ75を駆動するための処理がパスされ、メダルの払出処理が停止状態となる。
なお、ステップS1404において、払出ビジーフラグFbeがONであれば、CPU80aは前述したステップS1405に処理を進める。
ステップS1405においてメダル払出センサ76がONであると判定した場合、CPU80aはステップS1412に進み、メダルセンサ通過中タイマに所定値(本例では98.34ms相当のタイマ割込み数)をセットし、ステップS1413に進む。
ステップS1413でCPU80aは、メダル払出センサ76のON/OFFを確認(つまり払出メダルがセンサ通過中/通過完了かの確認)し、メダル払出センサ76がON(通過中)であればステップS1423に処理を進める。
具体的に、ステップS1423でCPU80aは、メダルセンサ通過中タイマの値をデクリメント(−1)し、続くステップS1424でメダルセンサ通過中タイマ=「0」か否かを判定する。メダルセンサ通過中タイマ=「0」であれば、ステップS1425で払出センサエラーをセットし、前述したステップS1426に処理を進める。
なお、この場合もエラーがセットされた以降の処理の流れは上述した払出メダル無しエラーがセットされた以降の流れと同様となるため重複説明は避ける。
ステップS1414〜S1421の処理は、要求の種類が払出要求である場合、精算要求である場合のそれぞれに対応して、メダルの払出に応じて更新されるべき値を更新するための処理である。
先ず、ステップS1414でCPU80aは、先のステップS1402で確認された要求が払出要求であるか否かを判定する。払出要求であれば、CPU80aはステップS1415に処理を進め、払出要求でなければ(つまり精算要求であれば)ステップS1418に処理を進める。
払出終了でなければ、CPU80aはステップS1420に進んでエラー中(ドアエラー以外)か否かを判定し、エラー中でなければステップS1427で払出ビジーフラグFbeをOFFとし、ステップS1428でメダルセンサ通過中タイマを0クリアした上でメダル払出処理を終える。
このようにメダルが1枚払い出され対応値が更新された場合には払出ビジーフラグFbeがOFFされ、メダルセンサ通過中タイマがクリアされる。このことで、次回のタイマ割込みでは、処理がステップS1401→S1402→S1403→S1405→S1406と進められ、該S1406で払出ビジーフラグFbeがOFFと判定され、S1407で払出制御信号及び払出ビジーフラグFbeがONとされる。これにより、入賞枚数=「0」となるまで、メダルの払出、及びステップS1415での対応値の更新が繰り返される。
このように払出要求がOFFとされて処理がステップS1426に進められることで、次回のタイマ割込みでは、処理がステップS1401→S1402と進められ、該ステップS1402で払出要求又は精算要求がONでないと判定すると、CPU80aはステップS1422に処理を進め、メダル払出センサ76のON/OFFを確認する。
ステップS1422においてメダル払出センサ76がONであった(つまり払出要求及び精算要求がOFFであるのにメダル払出センサ76がONであった)場合、CPU80aはステップS1425に進んで払出センサエラーをセットし、ステップS1426に処理を進める。
一方、ステップS1422においてメダル払出センサ76がOFFであった場合、CPU80aは払出センサエラーをセットせずステップS1426に処理を進める。つまりこの場合、次回以降のタイマ割込みでは、払出要求又は精算要求がONとされるまで処理がステップS1401→S1402→S1422→S1426〜S1428と実行される。
なお、再遊技による投入枚数については精算対象とはされないため、再遊技後においては投入枚数≠「0」であっても投入枚数のデクリメントは行わない。
なお、精算終了コマンドは、少なくとも精算による払出処理が終了した旨を演出制御基板42側に通知するためのコマンドである。
図37は、タイマ割込み処理における回胴制御処理(S815)のフローチャートである。
先ず、具体的な処理内容の説明に先立ち、回胴制御処理で用いられる回転リール4のステータスを表す各種フラグについて説明しておく。具体的には、以下の七つのフラグである。
・起動要求フラグFrr
・起動中フラグFG1
・センサ未通過フラグFmt
・回転中フラグFG2
・停止要求フラグFrs
・第1停止処理中フラグFG3
・第2停止処理中フラグFG4
これら七つのフラグは回転リール4ごとに設けられ、CPU80aは回転リール4ごとのステータスを把握することが可能とされている。
先ず、図中の起動要求フラグFrrは、スタートレバー17がONされたことに応じて前述したメイン処理側でセットされる(図19及び図20を参照)。メイン処理側で起動要求フラグFrrがセットされると、その後のタイマ割込みにて起動中フラグFG1がセットされ(S1502)、回転リール4の起動回転が開始される。
本例では、回転リール4の起動回転(加速回転)は後述する起動タイムテーブルで定められた時間分行われ、起動回転が終了すると回転リール4が定速回転を維持する(前述した定常回転)。起動回転の終了に応じては、回転中フラグFG2がセットされる(S1507)。回転中フラグFG2は、回転リール4が定速回転を開始した後のステータスにあるか否かを表すフラグとして機能する。
なお、本例では、現在の図柄ステップ位置が停止許可ステップ位置に達したことに応じて即座に全相ONによるブレーキ制御を開始せず、所定数のタイマ割込み回数分の2相ONホールド状態を維持した上で全相ONによるブレーキ制御を開始するものとしている。これにより、回転リール4の停止がスムーズに行われるように図られている。具体的には、停止初期に回転リール4がカクつく等の不自然な動作の防止が図られる。
なお、本例では、センサ未通過フラグFmtを除いた起動要求フラグFrr、起動中フラグFG1、回転中フラグFG2、停止要求フラグFrs、第1停止処理中フラグFG3、及び第2停止処理中フラグFG4の各フラグは、上記の全相OFFが開始されるタイミングで一斉にクリアされる(S1529参照)。
先ず、CPU80aはステップS1501で、対象リール(処理対象の回転リール4)のステータスを確認する。すなわち、対象リールのステータスが起動要求状態(起動要求フラグFrr=「1」)、起動中状態(起動中フラグFG1=「1」)、回転中状態(回転中フラグFG2=「1」)、第1停止処理中状態(第1停止処理中フラグFG3=「1」)、第2停止処理中状態(第2停止処理中フラグFG4=「1」)、又は全フラグがOFFの状態の何れであるかを確認する。
具体的に、ステップS1501においては、第2停止処理中フラグFG4、第1停止処理中フラグFG3、回転中フラグFG2、起動中フラグFG1、起動要求フラグFrrの順でフラグ=「1」か否かを順番に判定していくようにされており、該判定において「1」と判定された時点で、該「1」と判定されたフラグに対応するステータスを現在のステータスとする。或いは、最後に判定した起動要求フラグFrrが「0」であれば、全フラグOFFのステータスに該当するとの判定結果を得る。
ステータスの判定手法としては、例えば、対象とするフラグのみが「1」であるか否かを確認する手法(例えば、起動中状態であるか否かの判定を起動中フラグFG2のみが「1」であるか否かにより判定する等)も考えられるが、その場合には、ステータスの遷移に応じて前ステータスのフラグをクリアする処理を要してしまう。上記したステータス判定手法によれば、このようなステータス遷移に応じた前ステータスフラグの逐次のクリア処理を省略できる利点がある。
図示するように起動タイムテーブルは、インデックスの値ごとに、相更新タイマにセットすべきタイマ値が格納されたテーブル情報とされる。CPU80aは、インデックスの値の昇順でタイマ値を逐次取得(相更新タイマ値が「0」となるごとに取得:S1504を参照)し、取得したタイマ値を相更新タイマにセットする。なお、インデックスの値の初期値は「0」である。
この点から理解されるように、起動タイムテーブルに格納されたタイマ値は、タイマ割込み単位(本例では1.49ms単位)での時間情報を表すものである。
具体的に、先の図11を参照して説明したように、本例のステッピングモータ54は1−2相励磁により駆動されるものであり、具体的な励磁態様は、励磁ポインタ(励磁相ポインタ)PTの値により循環的に指し示される。後の説明により明らかとなるが、励磁ポインタPTの値は、ステップS1502で起動中フラグFG1がONとされたタイマ割込み(つまりステップS1505で起動タイムテーブルにおけるインデックス=「0」に対応した「1」がセットされたタイマ割込み)では、ステップS1530、S1531により先ずは1相励磁用の値(1,3,5,7の何れか)にセットされる。以降、起動中(起動中フラグFG1がON中)におけるタイマ割込みでは、励磁ポインタPTの値は、ステップS1504で相更新タイマの値が「0」となるごとに次の値に送られる(S1530)。すなわち、ステップS1504で相更新タイマの値が「0」となるごとに、励磁データφ1〜φ4として2相励磁用のデータ→1相励磁用のデータ→2相励磁用のデータ…と交互に設定されていく。
本例の起動タイムテーブルにおいては、最終インデックス(本例では「19」)に対応するタイマ値として「0」が格納されており、該「0」により起動処理の終了を表すこととしている。従って、インデックスの値が「19」に達し、ステップS1505でセットしたタイマ値が「0」となると、直後のステップS1506で相更新タイマ値=「0」と判定される。
ステップS1506で相更新タイマ値=「0」と判定した場合、CPU80aはステップS1507で回転中フラグFG2をセットし、ステップS1508に処理を進める。
なお、ステップS1530で励磁ポインタPTを+1することで、起動時における励磁状態を1相励磁状態から開始することができる(後述のように本例では停止時の励磁ポインタPTは2相励磁状態に対応した値とされるため)。
起動中フラグFG1がONされたタイマ割込みでは相更新タイマ値=「1」がセットされるため、その直後のタイマ割込みではステップS1504で相更新タイマ値=「0」と判定される。
このようにステップS1504で相更新タイマ値=「0」と判定した場合、CPU80aは先に説明したステップS1505に処理を進める。これにより、相更新タイマには、起動タイムテーブルにおける次のインデックスの値に対応したタイマ値が新たにセットされる。
また、このようにセットタイマ値に応じた時間長にわたり励磁状態が維持された以降のタイマ割込みにおいて、ステップS1504で相更新タイマ値=「0」と判定された場合には、処理がステップS1505に進められ、さらに次のインデックスの値に対応したタイマ値が相更新タイマにセットされ、以降、ステッピングモータ54は1相励磁状態/2相励磁状態のうち新たな励磁状態によりセットタイマ値に応じた時間長にわたって駆動される。
このように起動タイムテーブルの格納情報に従ってステッピングモータ54の1相励磁状態/2相励磁状態が交互に所定回数繰り返されることで、対象リールの起動回転が実現される。
インデックスセンサ55のONエッジが検出されていれば、CPU80aはステップS1510でセンサ未通過フラグFmtのクリア、図柄カウンタのクリア(「1」をセット)、及びステップカウンタへの「25」(24+1)のセットを行う。
「25」にセットされたステップカウンタの値は、ステップS1510に続くステップS1511でデクリメントされることで「24」となる。このため、原点位置101の通過に応じては、図柄カウンタの値は「1」、ステップカウンタの値は「24」となる。つまり、1番の図柄の24番目の図柄ステップ位置が指し示される。
図柄カウンタの値が「22」以上であれば、CPU80aはステップS1515で回転リール4の再起動のための処理を行う。具体的には、対象リールについてのセンサ未通過フラグFmt、及び起動要求フラグFrrをセットすると共に、回転中フラグFG2、及び起動中フラグFG1をクリアする。この結果、次回のタイマ割込みでは処理がステップS1501→S1502を経由して実行されるものとなり、対象リールが再起動される。
ステップS1515の処理を実行すると、CPU80aはステップS1530に処理を進める。
停止要求フラグFrsがセットされた直後のタイマ割込みでは、ステップS1508で停止要求フラグFrs=「ON」と判定され、ステップS1516以降の処理が実行される。
ステップカウンタの値が「8」未満でなければ、CPU80aはステップS1530以降の処理を実行する。すなわち、この場合は対象リールが定速回転状態で維持される。
一方、ステップカウンタの値が「8」未満であれば、CPU80aはステップS1518に進み、以降で説明する停止のための処理を実行することになる。
一方、ステップS602からステップS603に処理が遷移した時点での図柄ステップ位置が6番であり且つステップS604で決定された滑りコマ数が「0」であった場合には、ステップS606で停止図柄への到達が確認されるときの図柄ステップ位置は6番となるため、ステップS1516からステップS1517に処理が遷移した時点での図柄ステップ位置は6番以下となる。
従って、ブレーキの開始タイミングは、基本的には停止図柄における7番以下の図柄ステップ位置とされるが、後者のケース、すなわち停止操作時の図柄ステップ位置が6番で且つ滑りコマ数が「0」のケースでは6番以下の図柄ステップ位置とされる。
一方、励磁ポインタPTの値が奇数であれば、CPU80aはステップS1519で第1停止処理中フラグFG3をセットした上で、ステップS1520で相更新タイマをセットする。具体的に、本例では2相励磁状態を維持するための時間として2.98msに相当するタイマ割込み数(「2」)を相更新タイマにセットする。
一方、相更新タイマ値=「0」である場合、すなわち2タイマ割込み分の2相励磁状態のホールドが完了した場合、CPU80aはステップS1523に進み、第2停止処理中フラグFG4をセットする。さらに、続くステップS1524でCPU80aは、励磁データφ1〜φ4として全相ONに対応したデータをセットすると共に全相ON用のタイマ値の相更新タイマへのセットを行い、ステップS1531に進む。これにより、対象リールについて全相ONによるブレーキ制御が開始される。
本例では、全相ONホールドにあたってステップS1524でセットするタイマ値は「255」とされる。すなわち、全相ONホールドの時間長は約380msとされる。
このため本例では、ブレーキ制御に応じて回転リール4が停止した以降において、励磁ポインタPTの値を「+4」している。具体的に、上記したステップS1527の処理によると、所定時間にわたる全相ONホールドが終了したタイミングで励磁ポインタPTの値が「+4」される。
上記のように実施の形態の遊技機(スロットマシン)は、メダル投入口(同12)から投入されたメダルを取り込むための取込経路(取込側流路21b)と、メダル投入口から投入されたメダルを返却するための返却経路(排出側流路21c)と、メダル投入口から投入されたメダルの流下経路を、返却経路または取込経路のいずれかの流下経路に切り替える流路切替手段(流路切替板21d、ブロッカーソレノイド69)と、取込経路において配置された第1投入メダルセンサ(同68a)、及び第1投入メダルセンサよりも取込経路における下流側に配置された第2投入メダルセンサ(同68b)と、第1投入メダルセンサと第2投入メダルセンサによるメダルの検出態様に基づき、メダル投入についてのエラー判定を行うエラー判定手段(CPU80a)とを備える。
そして、エラー判定手段は、メダルの検出態様が、第1及び第2投入メダルセンサの双方がメダルを非検出である第1状態(順番「0」)、第1投入メダルセンサがメダルを検出し第2投入メダルセンサがメダルを非検出である第2状態(順番「1」)、第1及び第2投入メダルセンサの双方がメダルを検出している第3状態(順番「2」)、第1投入メダルセンサがメダルを非検出で第2投入メダルセンサがメダルを検出している第4状態(順番「3」)、の順番で遷移する検出態様である場合に正常にメダルが通過したとの判定をする一方、前記順番とは異なる状態遷移による検出態様である場合にエラーとの判定をする検出順序判定手段を含み、検出順序判定手段は、第2状態の次に第1状態に遷移した場合には、エラーではないとの判定をしている(図31等を参照)。
そして、操作受付制御手段は、メダルがあと1枚取り込まれるとメダルの受付が禁止される受付禁止前状態において、第1又は第2投入メダルセンサの何れかがメダルを検出中である場合にはベット操作手段の操作受付を無効とする一方で、受付禁止前状態以外の状態においては、第1又は第2投入メダルセンサの何れかがメダルを検出中であっても、ベット操作手段の操作受付を無効としない(図27等を参照)。
そして、精算処理手段は、複数の投入メダルセンサの何れかがメダルを検出中である場合に、メダル精算操作手段を無効化している(図35等を参照)。
そして、マックスベット処理手段は、第1又は第2投入メダルセンサの何れかがメダルを検出中においてマックスベット操作手段が操作された場合は、投入判定手段により該メダルが投入されたと判定されてから、マックスベット処理を行っている(図34等を参照)。
そして、精算処理手段は、マックスベット処理手段がマックスベット処理を実行中である場合に、メダル精算操作手段を無効化している(図35等を参照)。
そして、投入メダルベット処理手段は、マックスベット処理手段がマックスベット処理を実行中においてもメダル投入口を介したメダルの投入受け付けを有効とし、マックスベット処理手段は、第1投入メダルセンサ又は第2投入メダルセンサの何れかがメダルを検出中である場合はマックスベット処理を中断し、投入判定手段により該メダルが投入されたと判定されてからマックスベット処理を再開し、中断の間に賭数が所定数に至った場合はマックスベット処理を終了している(図27及び図28等を参照)。
そして、制御手段は、回胴の回転開始命令に応じて回胴を徐々に加速させるように起動させる起動処理を行う回胴起動手段と、起動処理の後、回胴を定常回転させる定常回転手段と、定常回転中において回胴の有効な回転停止操作が行われたことに応じて、該回転停止操作が行われたときの図柄位置に基づいて所定の最大滑りコマ範囲内で停止位置を決定する停止位置決定手段と、停止位置決定手段が決定した停止位置に対応する図柄の特定の停止ステップ位置に達したことに応じて、回胴を停止させるための停止制御を開始する停止手段とを含む。
また、回胴起動手段及び定常回転手段は、モータの励磁相ごとにセットされるべき励磁データを循環的に指し示す励磁相ポインタ(励磁ポインタPT)を用いて、該励磁相ポインタが指し示す励磁データに基づく駆動信号を逐次モータに出力して回胴を回転させる。
さらに、制御手段は、停止手段が停止制御を開始した以降において、励磁相ポインタの位置を停止制御が開始された時点での位置よりも所定数進めた位置に更新するポインタ位置更新手段をさらに含み、回胴起動手段は、ポインタ位置更新手段により更新された励磁相ポインタの位置を基準として起動処理を開始している(図37等を参照)。
そして、制御手段は、回胴の回転開始命令に応じて前記回胴を徐々に加速させるように起動させる起動処理を行う回胴起動手段と、起動処理の後、回胴を定常回転させる定常回転手段と、定常回転中において回胴の有効な回転停止操作が行われたことに応じて、該回転停止操作が行われたときの図柄位置に基づいて所定の最大滑りコマ範囲内で停止位置を決定する停止位置決定手段と、停止位置決定手段が決定した停止位置に対応する図柄位置で回胴を停止させるための停止制御を行う停止手段とを含む。
また、タイマ割込み処理において、エラーを監視してエラーの有無に応じたエラーフラグをセットするエラー監視手段と、タイマ割込み処理において、エラーフラグに応じてエラー報知のための処理を実行するエラー報知手段とを含む。
さらに、エラーフラグに基づき、回胴が回転中においてエラーの発生が認められた場合に、該回胴の回転を維持した状態で遊技動作の進行を停止し、エラーが解除されたことに応じて遊技動作の進行を再開する第1遊技進行制御手段と、エラーフラグに基づき、回転停止操作が行われてから該当する回胴が停止されるまでにエラーの発生が認められた場合に、停止制御を中断せずに該回胴を停止させ、該回胴が停止した後に遊技動作の進行を中断し、エラーが解除されたことに応じて遊技動作の進行を再開する第2遊技進行制御手段とを含んでいる(図20、図24、図25、図27、図31等を参照)。
これにより、回胴の回転状況に応じた適切なエラー対処を実現することができる。
そして、制御手段は、エラーを監視して、エラーの有無に応じてエラー監視フラグを記憶手段における第2の領域にセットする監視手段と、エラー監視フラグを読み出してエラーが認められた場合に、記憶手段における第1の領域にエラーフラグをセットする確認手段と、エラーフラグに応じてエラー報知のための処理を実行する報知手段とを含んでいる(図13、図14、図27、図31等を参照)。
以上で説明したCPU80aの処理により、遊技動作の進行を制御負荷の低減を図りつつ効率的に実現できる。また、遊技動作の進行に要するメモリ容量も削減することができる。
例えば上記では、本発明がスロットマシンに適用される例を示したが、本発明は遊技機に広く好適に適用できる。
2…前面パネル
3…図柄回転ユニット
4a〜4c…回転リール(回胴)
5…メダル払出装置
5a…メダルタンク
5b…払出ケース
5c…払出口
5d…超過メダル導出部
6…補助タンク
9…LED群
10…払出表示部
11…貯留枚数表示部
12…メダル投入口
13…返却ボタン
14…精算ボタン
16…マックスベットボタン
17…スタートレバー
18a〜18c…停止ボタン
19…受け皿
20…メダル排出口
21…メダルセレクタ
21a…投入流路
21b…取込側流路
21c…排出側流路
21d…流路切替板
21da…軸
21db…上端部
21e…凹部
22…返却通路
40…主制御基板
54a…第1回胴ステッピングモータ
54b…第2回胴ステッピングモータ
54c…第3回胴ステッピングモータ
54r…ロータ
55a…第1回胴インデックスセンサ
55b…第2回胴インデックスセンサ
55c…第3回胴インデックスセンサ
67…セレクタセンサ
68…投入メダル関連センサ
68a…第1投入メダルセンサ
68b…第2投入メダルセンサ
68c…通過後センサ
69…ブロッカーソレノイド
75…払出モータ
76…メダル払出センサ
80…コントローラ
80a…CPU
80b…ROM
80c…RAM
85…回胴モータ駆動部
101…原点位置
Claims (1)
- 回転方向に沿って複数の図柄が表示された複数の回胴と、
前記回胴ごとに設けられ対応する前記回胴を回転駆動する複数の回転駆動手段と、
遊技動作を進行させるための処理を実行する制御手段と、
前記制御手段による情報の読み出し/書き込みが可能とされ、第1の領域と第2の領域とを有する記憶手段と、を備え、
前記制御手段は、
前記回胴の回転開始命令に応じて前記回胴を徐々に加速させるように起動させる起動処理を行う回胴起動手段と、
前記起動処理の後、前記回胴を定常回転させる定常回転手段と、
前記定常回転中において前記回胴の有効な回転停止操作が行われたことに応じて、該回転停止操作が行われたときの図柄位置に基づいて所定の最大滑りコマ範囲内で停止位置を決定する停止位置決定手段と、
前記停止位置決定手段が決定した停止位置に対応する図柄位置で前記回胴を停止させるための停止制御を行う停止手段と、
タイマ割込み処理において、エラーを監視してエラーの有無に応じたエラー監視フラグを前記記憶手段における前記第2の領域にセットするエラー監視手段と、
前記タイマ割込み処理において、前記エラー監視フラグを読み出してエラーが認められた場合に、前記記憶手段における前記第1の領域にエラーフラグをセットする確認手段と、
前記タイマ割込み処理において、前記エラーフラグに基づき前記エラーの発生が認められたことに応じてエラー報知のための処理を実行するエラー報知手段と、
前記エラーフラグに基づき、前記回胴が回転中において前記エラーの発生が認められた場合に、該回胴の回転を維持した状態で前記遊技動作の進行を停止し、前記エラーが解除されたことに応じて前記遊技動作の進行を再開する第1遊技進行制御手段と、
前記回転停止操作が行われてから該当する前記回胴が停止されるまでに前記エラーが発生した場合に、前記停止制御を中断せずに該回胴を停止させ、該回胴が停止した後に前記遊技動作の進行を中断し、前記エラーが解除されたことに応じて前記遊技動作の進行を再開する第2遊技進行制御手段と、を含み、
前記エラー監視手段は、
タイマ割込みごとに前記エラーの監視処理を開始するにあたり、前記エラー監視フラグを毎回クリアする
遊技機。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015140741A JP6177284B2 (ja) | 2015-07-14 | 2015-07-14 | 遊技機 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015140741A JP6177284B2 (ja) | 2015-07-14 | 2015-07-14 | 遊技機 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017076198A Division JP2017148539A (ja) | 2017-04-06 | 2017-04-06 | 遊技機 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017018493A JP2017018493A (ja) | 2017-01-26 |
JP6177284B2 true JP6177284B2 (ja) | 2017-08-09 |
Family
ID=57887225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015140741A Active JP6177284B2 (ja) | 2015-07-14 | 2015-07-14 | 遊技機 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6177284B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7044476B2 (ja) * | 2017-04-25 | 2022-03-30 | 株式会社三共 | スロットマシン |
JP7018266B2 (ja) * | 2017-06-09 | 2022-02-10 | 株式会社三共 | 遊技機 |
JP7191503B2 (ja) * | 2017-07-07 | 2022-12-19 | 株式会社三共 | 遊技機 |
JP7017351B2 (ja) * | 2017-09-20 | 2022-02-08 | 株式会社三共 | 遊技機 |
JP7149760B2 (ja) * | 2018-08-07 | 2022-10-07 | 株式会社三共 | スロットマシン |
JP7378457B2 (ja) * | 2021-12-31 | 2023-11-13 | 株式会社藤商事 | 遊技機 |
JP2023099370A (ja) * | 2021-12-31 | 2023-07-13 | 株式会社藤商事 | 遊技機 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11137776A (ja) * | 1997-11-08 | 1999-05-25 | Takasago Electric Ind Co Ltd | スロットマシン |
JP3939513B2 (ja) * | 2001-08-09 | 2007-07-04 | アビリット株式会社 | スロットマシン |
JP5121112B2 (ja) * | 2004-04-27 | 2013-01-16 | 株式会社三洋物産 | 遊技機 |
JP5083886B2 (ja) * | 2007-12-05 | 2012-11-28 | 株式会社大都技研 | 遊技台 |
JP5425712B2 (ja) * | 2010-05-31 | 2014-02-26 | 株式会社大都技研 | 遊技台 |
JP5562301B2 (ja) * | 2011-07-25 | 2014-07-30 | 株式会社藤商事 | 遊技機 |
JP5713464B2 (ja) * | 2011-08-25 | 2015-05-07 | サミー株式会社 | スロットマシン |
JP6243597B2 (ja) * | 2012-11-07 | 2017-12-06 | 株式会社三共 | スロットマシン |
-
2015
- 2015-07-14 JP JP2015140741A patent/JP6177284B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017018493A (ja) | 2017-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2017018492A (ja) | 遊技機 | |
JP2017018494A (ja) | 遊技機 | |
JP6106218B2 (ja) | 遊技機 | |
JP6177284B2 (ja) | 遊技機 | |
JP6106220B2 (ja) | 遊技機 | |
JP4834422B2 (ja) | スロットマシン | |
JP4495661B2 (ja) | スロットマシン | |
JP2007244775A (ja) | スロットマシン | |
JP2010221054A (ja) | 遊技台 | |
JP6215269B2 (ja) | 遊技機 | |
JP5075690B2 (ja) | スロットマシン | |
JP6889694B2 (ja) | 遊技機 | |
JP5956529B2 (ja) | 遊技機 | |
JP2017148539A (ja) | 遊技機 | |
JP6854068B2 (ja) | 遊技機 | |
JP2018140270A (ja) | 遊技機 | |
JP6106219B2 (ja) | 遊技機 | |
JP6106221B2 (ja) | 遊技機 | |
JP6522333B2 (ja) | スロットマシン | |
JP2017124198A (ja) | 遊技機 | |
JP2007330604A (ja) | スロットマシン | |
JP6215268B2 (ja) | 遊技機 | |
JP6542822B2 (ja) | 遊技機 | |
JP2017136428A (ja) | 遊技機 | |
JP2017124197A (ja) | 遊技機 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20170228 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170406 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20170413 |
|
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: 20170704 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170711 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6177284 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |