JP2020151204A - 遊技機 - Google Patents
遊技機 Download PDFInfo
- Publication number
- JP2020151204A JP2020151204A JP2019052515A JP2019052515A JP2020151204A JP 2020151204 A JP2020151204 A JP 2020151204A JP 2019052515 A JP2019052515 A JP 2019052515A JP 2019052515 A JP2019052515 A JP 2019052515A JP 2020151204 A JP2020151204 A JP 2020151204A
- Authority
- JP
- Japan
- Prior art keywords
- sound
- scenario
- cpu
- data
- information
- 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.)
- Granted
Links
Images
Landscapes
- Slot Machines And Peripheral Devices (AREA)
Abstract
Description
これにより、音出力に用いるスピーカを振動源として用いることができるため、振動源となるモータ等のアクチュエータを別途に設ける必要がなくなる。
振動用の音の周波数を掃引(スイープ)することで、振動の振れ幅の調整が可能となる。
これにより、周波数の掃引は、周波数の上昇側の掃引と下降側の掃引とが組み合わされた往復掃引の形態で行われる。
往復期間を長くする(つまり掃引速度を遅くする)と振動の振り幅が大きくなり、短くする(掃引速度を速くする)と振動の振り幅は小さくなる。
これにより、スピーカ部背面側からの放音に応じて本体ケース内側の閉空間内における空気が振動し、遊技機の筐体全体を振動させることが可能とされる。
これにより、遊技者に対し振動と同時に低音を知覚させることが可能とされる。
これにより、エラーが検出された場合における報知音の出力を可能としながら、振動音以外の音をマスクすることが可能とされる。
これにより、エラー検出時には特定部が振動しないように図られる。
<1.回胴遊技機の機構構成>
<2.回胴遊技機の制御構成>
<3.回転リール>
<4.主制御側起動処理>
<5.設定変更処理>
<6.メインループ処理>
<7.タイマ割込み処理>
<9.演出制御側メイン処理及び割込み処理>
<10.演出制御に係る処理の詳細>
[10-1.コマンド解析処理]
[10-2.シナリオ登録・削除処理]
[10-3.シナリオ更新処理]
[10-4.音の登録処理]
[10-5.音再生処理]
<11.実施形態の振動演出>
<12.まとめ及び変形例>
先ず、図1〜図5を参照し、本技術に係る実施形態としての遊技機の一例であるスロットマシンの外観構成を説明する。
図1はスロットマシンの正面図、図2Aは平面図、図2Bは右側面図、図3は前面パネル2の背面図、図4は本体ケース1の正面図、図5は前面パネル2を開状態とした際のスロットマシンの様子を模式的に表した斜視図である。なお、図5では、本体ケース1内側に収容された各種の部品の図示は省略している。また、図2では、前面パネル2が閉状態とされた際のスロットマシンの様子を表している。
ここで、遊技機の前面側とは、使用時に遊技者と対向する側を意味する。
各回転リール4a、4b、4cには、後述する各種図柄、例えばBB(ビッグボーナス)やRB(レギュラーボーナス)用の図柄や、各種のフルーツ図柄、リプレイ図柄などが描かれている。
メダル払出装置5は、メダルを貯留するメダルタンク5aを有する。また払出ケース5b内に、図6で後述する払出モータ75、払出接続基板73、ホッパー基板74、メダル払出センサ76等が収納されている。
メダルタンク5aに貯留されたメダルは、払出モータ75の回転に基づいて、払出口5cから図面手前方向に向けて導出される。尚、限界量を越えて貯留されたメダルは、超過メダル導出部5dを通して、補助タンク6に落下するよう構成されている。
また図柄回転ユニット3の内部には、図6に示す回胴用LED(Light Emitting Diode)中継基板56と回胴中継基板53とが設けられ、図柄回転ユニット3に隣接して外部集中端子板70が配置されている。
またLCDユニット7の下部には、回転リール4a、4b、4cを表出させる表示窓8が形成されている。この表示窓8を通しては、回転リール4a、4b、4cごとに各々3個程度の図柄が視認可能とされている。この場合、各回転リール4a、4b、4cが停止した際に表示窓8内で図柄が停止する位置としての図柄停止位置は3×3=9箇所となる。そして、合計9個の図柄停止位置のうち水平方向に並ぶ三つの図柄停止位置を結ぶラインが三本と、対角線方向に並ぶ三つの図柄停止位置を結ぶラインの二本の合計五本が仮想的な図柄停止ラインとなる。
また、図柄停止ラインのうちで、当選図柄(当選役)が揃ったか否かの判定に用いられる図柄停止ラインは有効ラインとされ、それ以外の図柄停止ラインは無効ラインとされる。有効ラインと無効ラインは、BBやRB、または、AT(アシストタイム)やART(アシストリプレイタイム)などの各種遊技状態に応じて、適宜変更される。即ち、例えば、通常ゲーム中は中段の1ラインが有効ラインとされるが、ボーナスゲーム中は上段と中段の2ラインが有効ラインに変更される場合などである。
LED群9は、例えば、当ゲームに投入されたメダルの枚数を示すLED(ベット枚数表示LED)や再遊技状態を示すLED、回胴を回転させる準備が整ったことを示すLED(当ゲームの遊技に要する所定枚数のメダルの投入が完了したことを示すLED:遊技開始表示LED)、メダルの投入の受付状態を示すLEDなどで構成されている。
払出表示部10は、7セグメントLEDを2個連設して構成されており、払出メダル数を特定すると共に、何らかの異常事態の発生時には、異常内容を表示するエラー表示器としても機能する。
貯留数表示部11には、クレジット状態で貯留されているメダル数が表示される。
尚、個々の説明は省略するが、前面パネル2には、演出や動作状態を提示するためのLEDとして他のLEDが各種配置されている。
また、前面パネル2の中央左側には、クレジット状態のメダルやベット状態のメダルを払出すクレジット精算ボタン14と、クレジット状態のメダルを擬似的に三枚投入するマックス投入ボタン16とが設けられている。
遊技者がスタートレバー17を操作すると、通常は、3つの回転リール4a、4b、4cが正方向に回転を開始する。但し、内部当選状態を予告するために遊技中断状態を伴うリール演出(所謂フリーズ演出)を行う場合がある。リール演出は、回転リール4の回転による演出という意味で「回転演出」と表記できる。リール演出では、例えば、回転リール4a、4b、4cの全部または一部が、変則的に回転(いわゆる「演出回転」)した上で正方向の回転を開始する演出などが実行される。
リール演出の具体的な例としては、例えば、
・極めてゆっくり正方向に回転(正回転)して静止するスロー演出
・正回転と逆回転を繰り返した後に、所定時間だけ逆回転して静止する逆回転演出
・第1の所定時間だけ正回転と逆回転を繰り返した後に静止する第1の揺動演出
・第2の所定時間だけ正回転と逆回転を繰り返した後に静止する第2の揺動演出
・第2の所定時間だけ正回転と逆回転を繰り返した後に静止し、さらに、極めてゆっくり正回転した後に静止するスロー揺動演出
・第2の時間だけ正回転と逆回転を繰り返した後に静止し、さらに、所定時間だけ逆回転した後に静止する揺動逆回転演出
・所定速度で正回転または逆回転した後に所定の図柄に揃えて静止する演出
・現状の回転状態(或いは停止状態)を維持する演出
などが用意されている。そして、このようなリール演出時には、LCDユニット7におけるキャラクタ演出や、LEDランプを点滅させるランプ演出や、スピーカを駆動する音演出の全部または一部が適宜に選択されて実行される。
下方のスピーカ30c、30dについては、図3や図5を参照して分かるように、背面の少なくとも一部が表出している(本例では背面側の全体が表出している)。つまり、前面パネル2が閉状態とされたときには、これらスピーカ30c、30dは、それぞれ背面側の少なくとも一部が本体ケース1内側の閉空間に露呈される。
また、前面パネル2の背面側上部には、基板ケース23が配置されている。この基板ケース23には、図6で述べる演出制御基板42、演出インターフェース基板43、液晶制御基板44、液晶インターフェース基板45などが収容されている。
またメダル選別装置21の側方には、図1に示す各種の遊技部材と主制御基板40との間の信号を中継する遊技中継基板60(図6で後述する)が設けられている。
次に本実施の形態のスロットマシンの制御系の構成について説明する。
図6は、スロットマシンの内部の制御構成の概略的なブロック図である。本実施の形態のスロットマシンは、その制御構成が主制御基板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にバックアップ電源電圧を供給するバックアップ電源回路なども設けられている。さらに、電源基板41は、電源電圧の降下に応じて電源異常信号Evを生成し、それぞれ主制御基板40、演出インターフェース基板43に出力する(図示は省略)。
音源IC42dは、複数の再生チャネル(後述する音チャネルaCH)のフレーズをミキシングして所定本数(所定の出力チャネル数)の音信号を得る。本例の場合、スピーカ30としては、上方のスピーカ30a、30bの組と、下方のスピーカ30c、30dの組が設けられ、各組がそれぞれLch、Rchの2チャネル出力に対応している。このため、音源IC42dの出力チャネル数は例えばLch,Rchの2チャネルとされている。
また、音源IC42dは、制御対象として指示されたフレーズについての音コントロールを行う。具体的に、演出制御基板42のCPU42aは、ボリュームの変化指示やフェードイン再生/フェードアウト再生等の音響効果の付加に係る指示情報を音源IC42dに対して与え、音源IC42dはそれらの情報に従って制御対象として指定されたフレーズの再生制御を行う。
この場合の音源IC42dが音出力を行うにあたって指示を要求する情報は、少なくとも「フレーズ番号」「1次ボリューム」「1次ボリューム遷移量」「2次ボリューム」「ループ回数」「SUB0ボリューム」「SUB1ボリューム」「左右パンポット」「左右パンポット遷移量」「上下パンポット」「上下パンポット遷移量」とされる。すなわち、この場合の音源IC42dには、これらの項目ごとにその指示値の入力を受け付けるレジスタが音チャネルaCHごとに設けられている。
なお、本実施形態ではSUBボリュームは使用しないものとしている。従って上記の「SUB0ボリューム」「SUB1ボリューム」のレジスタには「0」をセットする(後述する図34のステップS1502を参照)。
ここで、以下、主制御基板40が演出制御基板42に対して出力する制御コマンドのことを「演出制御コマンド」と表記する。
MODEとEVENTの区別を行うために、MODEのBit7はON、EVENTのBit7をOFFとしている。
これらの情報を有効なものとして送信する場合、モード(MODE)およびイベント(EVENT)各々に対応してストローブ信号が出力される。すなわち、主制御基板40(後述するCPU80a)は、送信すべきコマンドがある場合、演出制御基板42にコマンドを送信するためのモード(MODE)情報の設定および出力を行い、この設定から所定時間経過後に1回目のストローブ信号の送信を行う。さらに、このストローブ信号の送信から所定時間経過後にイベント(EVENT)情報の設定および出力を行い、この設定から所定時間経過後に2回目のストローブ信号の送信を行う。
ストローブ信号は主制御基板40により、演出制御基板42のCPU42aが確実にコマンドを受信することが可能な所定期間アクティブ状態に制御される。
また演出制御基板42のCPU42a)は、ストローブ信号の入力に基づいて割込を発生させてコマンド受信割込処理用の制御プログラムを実行し、この割込処理において演出制御コマンドが取得される。
なお、演出制御基板42は、AT抽選に当選した後の所定回数のゲーム(AT中)では、小役当選状態において、その図柄を所定の図柄停止ラインに整列できるよう、3つの回転リール4a、4b、4cの停止順序を遊技者に報知する制御を行う。
また演出制御基板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に表示駆動信号を供給し、画像表示を実行させる。
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による停止スイッチが搭載されている。
貯留メダル投入スイッチ基板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を介してブロッカーソレノイドを制御する。尚、本例においては、ブロッカーソレノイド69をOFFすることで投入メダルが排出される。
さらに主制御基板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」が割り当てられる。
本例では、設定値vdの値が大きいほど当選確率が高くされている。
なお、このような設定値vdの変更を可能とするために主制御基板40(後述するCPU80a)が行う設定変更処理については図12で後述する。
図示の通り、主制御基板40は、ワンチップマイコンによるコントローラ80と、8ビットパラレルデータを入出力するI/Oポート回路83と、カウンタ回路81と、各部とのインターフェース部を有して構成されている。
CTC80eは、8ビットのカウンタやタイマを集積した回路であり、CPU80aの処理における周期的割り込みや一定周期のパルス出力作成機能(ビットレートジェネレータ)、時間計測の機能を付与するものである。本例では、CTC80eを利用して、CPU80aに1.49msの時間間隔でタイマ割込み(後述の図11)をかけている。
電源インターフェース82は電源基板41の電源回路との間のインターフェースである。
遊技インターフェース84は遊技中継基板60との間のインターフェースである。コントローラ80は、遊技インターフェース84を介して各種スイッチ、センサの検出信号の入力や、LED制御、ブロッカーソレノイド制御のためのコマンド送信を行う。
回胴モータ駆動部85は回胴中継基板53との間のインターフェースである。コントローラ80は、回胴モータ駆動部85によりステッピングモータ54a、54b、54cに対するモータ駆動信号の出力を行うと共に、回胴モータ駆動部85を経由して入力されるインデックスセンサ55a、55b、55cからの検出信号を取得する。
演出制御インターフェース86は、コントローラ80が演出インターフェース基板43を介して演出制御基板42へのコマンド送信を行うためのインターフェースである。具体的には例えば8ビットパラレルポートである。
払出接続インターフェース87は払出接続基板73とのインターフェースである。
回胴設定インターフェース89は、回胴設定基板71との間のインターフェースである。
続いて、回転リール4a、4b、4cについて説明する。
図8は、回転リール4a、4b、4cに対する原点検出に係る構成についての説明図である。原点検出とは、各回転リール4a、4b、4cに設けられた特定の位置、即ち、原点の検出である。
なお、原点検出に係る構成は、回転リール4a〜4cのそれぞれについて同様であるため、ここでは代表して一つの回転リールを回転リール4として図示している。図8Aは原点検出に係る構成を斜視図により示し、図8Bは回転リール4に形成された被検出部93dと原点位置101との関係を概略断面図により示している。
この場合、突出部92tは、ベース板92bから左側方向に突出している。
リールフレーム93は、ステッピングモータ54のロータ54rに着脱自在に固定されたハブ部93hと、リム部93rとハブ部93hとの間を半径方向に連結する複数のスポーク部93sとを有している。
リールシート95における図柄形成領域は光透過率が比較的高くされており、バックライト部91におけるLEDが点灯したときに発光するようになっている。
インデックスセンサ55としては、透過型のフォトセンサに限らず、反射型のフォトセンサを用いることもできる。
本実施形態において、ステッピングモータ54a、54b、54cはユニポーラ駆動のステッピングモータとされ、それぞれセンタータップされた2つの駆動巻線を有している。本実施形態の場合、ステッピングモータ54a、54b、54cの駆動は、例えば、1相励磁と2相励磁とを交互に繰り返す1−2相励磁によって行われる。1−2相励磁による駆動方法は、1相励磁や2相励磁の駆動方法と比較して、ステップ角を半分にしたなめらかな駆動を実現できる。1−2相励磁の励磁パターン(励磁データ)の更新周期はタイマ割込み処理の周期である1.49msとされる。
本例において、回転リール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と表している。各図柄の符号の末尾に付した番号は、その図柄の番号を表している。
本例においては、ステッピングモータ54a、54b、54cを1回転させるために必要な駆動ステップ数は8ステップとなるため、回転リール4a、4b、4cを1回転させるために必要なステッピングモータ54a、54b、54cの駆動ステップ数は8×63=504とされている。
これに応じ、各図柄については、ステップ位置として計24の位置を検出可能とされている。ここで、図柄中のステップ位置は、後の図11で説明するタイマ割込み処理ごとに図柄ステップ数がデクリメント(−1)されていくことで検出可能とされる。すなわち、各図柄中で検出可能なステップ位置は、24番(先頭ステップ位置)〜1番(最終ステップ位置)の24個である。その図柄の最終ステップ位置(1番)に到達した状態から図柄ステップ数が更にデクリメントされると、図柄ステップ数は24番(=0番)へと戻る。
図10のフローチャートを参照して、主制御基板40(コントローラ80)におけるCPU80aが実行する主制御側起動処理について説明する。
この主制御側起動処理は、電源投入時とコントローラ80におけるウォッチドッグタイマ(WDT)のタイムアウト時のそれぞれで発生するリセット信号に応じてCPU80aが実行するものである。すなわち、主制御側起動処理は、スロットマシンの電源投入に伴うコントローラ80の起動時と、コントローラ80の動作が何らかの不具合により所定時間以上停滞したことに伴う再起動時に実行されるものである。
その上で、CPU80aはステップS104で割込み禁止設定、続くステップS105でRAM80cへのアクセス禁止設定、さらに続くステップS106でサブブートタイマの設定(本例では約1秒)をそれぞれ行った上で、ステップS107で電源異常か否かを判定する。なお、電源異常か否かの判定は、前述した電源基板41より電源異常信号Evが入力されているか否かを判別することで行う。
電源異常である場合、CPU80aは先のステップS101から処理をやり直し、電源異常でない場合、CPU80aはステップS108に進んでWDTをクリアした上で、ステップS109でサブブートタイマの値を確認する。サブブートタイマの値が0以外である場合、CPU80aはステップS107から処理をやり直し、サブブートタイマの値が0であればステップS110に進む。すなわち、ステップS107で電源異常と判定されない限り、ステップS106のサブブートタイマ設定処理で設定した時間が経過するまでステップS108のWDTのクリア処理を繰り返して待機するループが形成されている。
ドアが開放状態でない場合、CPU80aはステップS115に進む。
また、ドアが開放状態である場合、CPU80aはステップS114に進んで、設定キースイッチ72aがONか否かを判定する。設定キースイッチがONでない、即ちドアが開放されているものの設定キーON操作が行われていない場合、CPU80aはステップS115に進む。
なお、上記説明から理解されるように、ステップS113でドアが開放状態でなければ、ステップS114における設定キースイッチ72aのON/OFF判定が行われない。つまり、この場合における設定キー操作は無効扱いとされる。このようにドアが開放されていない場合の設定キー操作を無効扱いとすることで、設定値vdを改竄する不正行為の防止を図っている。
ここで、電源遮断時には、CPU80aは、RAM80cの所定の対象領域についてチェックサムを算出し、RAM80cにおける所定領域(上記の対象領域とは異なる領域)に格納する処理を行っている。ステップS116の処理では、RAM80cにおける上記対象領域について同様にチェックサムを算出し、算出したチェックサムが電源遮断時に上記の所定領域に格納したチェックサムと一致するか否かを判定する。
双方のチェックサムが一致している(チェックサムが正常である)場合、上記対象領域における格納データについて、電源遮断前との同一性が証明されたことになる。しかし、電源遮断時にチェックサム算出が実行できなかった場合や、実行できても、その後、ステップS116でのチェックサム算出の実行時までの間に上記対象領域のデータが破損又は改竄されている場合もある。このような場合には、ステップS116の判定結果は不一致となる。
図示による説明は省略するが、電断復帰処理においては、RAM80cの格納情報に基づいて、電源遮断前の状態に復帰(いわゆるホットスタート)するための各種設定が行われる。CPU80aは、当該電断復帰処理を実行したことに応じ、後述するメインループ処理(図13)に移行する。
そして、続くステップS204でCPU80aは割込み許可設定を行い、その後は、ステップS205のエラー表示処理を繰り返し実行する(無限ループ)。なお、当該エラー表示処理としては、例えば前述した払出表示部10に所定のエラーコードを表す値を表示させるための処理を行う。
このような動作停止エラー処理が実行されると、スロットマシンにおけるゲームの進行はもはや不能となる。この意味で、当該動作停止エラー処理はゲームの進行を不能化する不能化処理と換言することができる。
但し、ステップS113及びS114の判定処理により設定変更操作が検知されて設定変更処理が実行された場合には、後の説明からも理解されるように、当該設定変更処理の終了後にはCPU80aはメインループ処理に移行するため、ゲームの進行が可能な状態になる。
このことから理解されるように、本例のスロットマシンにおいては、設定値vdを変更する操作が行われることを条件に、ゲーム進行の不能化状態が解除される。
CPU80aは、図10に示すステップS114で設定キースイッチ72aがONであると判定した場合(ドアが開放状態で且つ設定キーON操作が行われている場合)には、図12に示す設定変更処理を実行する。
そして、次のステップS302でCPU80aは、割込み設定処理として、設定変更処理時に対応した割込みモードの設定を行う。
このように送信バッファにセットされたコマンドは、後述するタイマ割込み処理(図14)のコマンド出力処理(S505)において演出制御基板42側に送信される。
そして、CPU80aは、続くステップS307の乱数更新処理として、先のステップS103で0ラッチした乱数についての更新処理を行い、次のステップS308で1タイマ割込み分の待機処理を行った上で、ステップS309に処理を進める。
スタートレバー17がOFFであれば、CPU80aはステップS310に進んでリセットボタン(リセットスイッチ72b)のON/OFF、即ち設定値vdの送り操作の有無を確認し、リセットボタンがOFFであればステップS307の乱数更新処理に戻る。
これにより、スタートレバー17による設定値vdの確定操作、又はリセットボタンによる設定値vdの送り操作の何れかが行われるまで、乱数更新(S307)と1タイマ割込み分の待機処理(S308)とが繰り返し行われる。
CPU80aは、設定変更処理を終了したことに応じて、図13に示すメインループ処理に移行する。
図13は、主制御基板40のCPU80aが実行するメインループ処理のフローチャートである。
CPU80aは、メインループ処理として、ステップS401〜S417で表す一連の処理を繰返す。メインループ処理は、1ゲームごとに繰り返し実行されるものである。
尚、1ゲームの期間は、スタートレバー17の操作受け付けが可能となる契機の発生から停止ボタン18a,18b,18cの操作に応じて回転中の回転リール4a,4b,4cが全て停止されるまでの期間である。後の説明から理解されるように、本例の場合、スタートレバー17の操作受け付けが可能となる契機は、1枚目のメダルがベット(マックス投入ボタン16や再遊技時の疑似投入によるベットも含む)されたタイミングである。
なお、ステップS403の遊技メダル投入処理は、スタートレバー17がON操作されたか否かの判定処理を含んでおり、スタートレバー17がON操作されたことを条件として処理が終了する。
即ち、CPU80aは、上記のステップS405の処理によって1ゲームごとにRAM82aに記憶されている設定値vdが適正範囲内の値か否かを判定し、適正範囲内の値でない場合には、遊技動作の進行を停止してゲーム進行を不能化している。
なお、小役図柄としては、例えば、「チェリー図柄」(4a10、4b3、4c9)、「ベル図柄」(4a4、4b5、4c3等)、「すいか図柄」(4a9、4b12、4c1等)などを例示することができる。
また、当該図柄抽選処理では、抽選結果に基づいて、「期待感演出コマンド」が上記送信バッファにセットされる。期待感演出コマンドとは、例えば、遊技開始時など1ゲーム中の所定タイミングで実行される期待感演出の内容を指示するためのコマンドである。
ここで、リール演出は様々なタイミングで実行され、例えば、スタートレバー17の操作に応じて実行される。スタートレバー17の操作のタイミングで実行されるリール演出に当選している場合には、スタートレバー17の操作に応じてリール演出が実行された上で回転リール4a、4b、4cが一旦停止し、その後に改めて回転リール4a、4b、4cが起動(加速回転)されて一定速度による定常回転状態に遷移する。
リール演出抽選に当選している場合、ステップS409の回胴回転開始設定処理においては、回転リール4a、4b、4cを演出回転させた後に改めて定常回転状態に向けて起動させるための各種の設定処理が実行される。
一方、リール演出抽選に当選していない場合、ステップS409の回胴回転開始設定処理では回転リール4a、4b、4cを定常回転状態(一定速による回転状態)に向けて起動させるための各種の設定処理が実行される。
回胴停止処理では、停止ボタン18a、18b、18cの操作に応じて、回転リール4a、4b、4cの停止図柄を決定するための処理や、回転リール4a、4b、4cを停止図柄で停止させるための各種データの設定処理が行われる。また、回胴停止処理では、図柄停止ライン上に停止された図柄の照合処理も行われる。
ステップS411の入賞判定処理では、図柄停止ライン上に当選図柄が揃ったか否かの判定結果を示す制御コマンド(入賞情報コマンド)を演出制御基板42に送信するべく、入賞情報コマンドを演出制御インターフェース86における送信バッファにセットする処理も行われる。
また、入賞判定処理では、当該ゲームの入賞情報に応じた払出数をRAM82cの所定領域にセットする処理も行われる。
ここで、メダル払出枚数監視処理では、メダル払出やクレジット枚数のインクリメントを示す制御コマンド(払出コマンド)を演出制御基板42に送信するべく、払出コマンドを演出制御インターフェース86における送信バッファにセットする処理も行われる。払出コマンドのセットは、クレジット枚数の値をインクリメントするごと、及びホッパーからメダルが1枚払い出されるごとに行う。
ボーナス図柄が揃っていなかった場合、CPU80aはステップS417のボーナス作動開始処理をパスしてステップS401に戻る。
図14は、主制御基板40のCPU80aが実行するタイマ割込み処理のフローチャートである。当該タイマ割込み処理は1.49msごとに起動される。
図14において、先ずCPU80aは、ステップS501でレジスタの値を退避させた上で(レジスタ退避処理)、ステップS502で各種スイッチ信号やセンサ信号を受ける入力ポートのデータを取得し、例えばRAM80cの所定領域に記憶させる(ポート入力処理)。尚、センサ信号には、メダル通過センサ67やメダル払出センサ76、第1回胴インデックスセンサ55a、第2回胴インデックスセンサ55b及び第3回胴インデックスセンサ55cの各インデックスセンサ55、及びドアセンサ66等からの検出信号が含まれる。また、ポート入力処理では、カウンタ回路81からの乱数値の取り込みも行われる。
続いて、演出制御基板42のCPU42aが実行する各種の処理を説明する。
先ずは、CPU42aが実行する演出制御側メイン処理を図15のフローチャートを参照して説明する。
図15において、スロットマシンの電源が投入されると、CPU42aはステップS601〜S607の一連の処理で表す演出初期設定処理を実行する。そして、当該演出初期設定処理の実行後、CPU42aはステップS608〜S620の処理として示す、第一の周期(本例では16msの周期)による周期的ループ処理(演出制御側のメインループ処理)に移行する。
ステップS605のバックアップ復帰処理では、チェックサムや電断フラグの確認処理が行われる。すなわち、RAM42cの所定の対象領域におけるデータ内容に基づき生成したチェックサムと、電源遮断時にRAM42cの上記対象領域におけるデータ内容に基づき算出・記憶されたチェックサムとの確認処理や、電源遮断時にチェックサムをRAM82cの所定領域に記憶したか否かを表す電断フラグについての確認処理が行われる。CPU80aは、上記の確認処理の結果に基づき、バックアップ復帰可能か否かを判定し、バックアップ復帰可能であれば、電断前の演出状態に対応した演出シナリオをRAM42aのワーク領域にセットし、バックアップ復帰処理を終える。一方、バックアップ復帰可能でないと判定した場合、CPU42aはRAM42cの値を初期化した上で、RAM42cのワーク領域にデモ状態の演出シナリオをセットしてバックアップ復帰処理を終える。
なお、本例では、バックアップ復帰不能でRAM42cを初期化した場合には、RAM42(ワーク領域)に格納する設定値vdとして「1」を表す値(つまり最低段階を表す値)をセットする。
先ず、ステップS608でCPU42aは、割込みカウンタの値が15より大であるか否かを判定する。割込みカウンタは、以下で説明するステップS609で0リセットされると共に、後述する1ms周期のタイマ割込み処理で逐次インクリメント(+1)される値である。
割込みカウンタの値が15より大でなければ、CPU42aはステップS620に進み、演出抽選に係る乱数の更新を行った上で、ステップS608に戻る。
さらに、CPU42aは続くステップS612のエラー処理、さらに続くステップS613のデモ処理としてそれぞれ所定の処理を実行し、ステップS614に進む。
ここで、ステップS612のエラー処理において、CPU42aは、各種エラーが発生した際のエラー報知のためのシナリオ登録処理、エラー報知後のエラーシナリオのクリア処理などを行う。特に、本実施形態の場合、ステップS612でCPU42aは、所定のエラー検知に応じたボリュームMAXエラーフラグの設定処理も行う。ボリュームMAXエラーとは、その発生に応じて出力される音(エラー音)のボリュームをMAXにすべきとされたエラーを意味する。ボリュームMAXエラーが検知された場合、すなわちエラー音をMAXで出力すべきとされた場合は、ボリュームMAXエラーフラグとして例えば0x5Aを設定し、ボリュームMAXエラーが検知されない場合はボリュームMAXエラーフラグとして例えば0x00を設定する。
なお、当該コマンド解析処理において、コマンドの内容ごとに実行すべき処理の例については図17及び図18を参照して改めて説明する。
なお、一つのシナリオ番号から特定される一つの演出を複数繋げて一連の演出を実現する場合には、ステップS615のシナリオ更新処理において、演出ごとに設定された演出継続時間と経過時間を比較し、所定のタイミングで次のシナリオ番号に更新する処理が行われる。
ここで、ステップS615のシナリオ更新処理については後に改めて説明する。
この場合、ATモードやARTモードに移行するか否かの抽選処理は、例えば、ステップS614のコマンド解析処理とステップS615のシナリオ更新処理との間において実行すればよい。この抽選処理では、主制御基板40側から受信しRAM42cに記憶させた設定値vdに基づいてATモードやARTモードに移行させるか否かの抽選を行うことで、ATモードやARTモードの当選確率が設定値vdに対応した確率となるようにされる。
なお、この音再生処理については後に改めて説明する。
なお、生成したLED駆動データをLED基板48、回胴LED中継基板56に出力する処理は、後述する1ms周期の割込み処理において行われる(ステップS705参照)。
この場合、ATモードやARTモードに移行するか否かの抽選処理は、例えば、ステップS614のコマンド解析処理とステップS615のシナリオ更新処理との間において実行すればよい。この抽選処理では、主制御基板40側から受信しRAM42cに記憶させた設定値vdに基づいてATモードやARTモードに移行させるか否かの抽選を行うことで、ATモードやARTモードの当選確率が設定値vdに対応した確率となるようにされる。
この1msタイマ割込処理において、まずステップS701では主制御CPU100からのテストコマンドに応じたチェックサム算出中であるか否かを判断する。チェックサム算出中でなければ、CPU42aはステップS702の入力処理に進む。
このような入力処理(S702)及び入力検知処理(S611)により、ノイズ・チャタリングによる入力誤認識の防止がはかられる。また、入力カウンタを用いており、本実施の形態では例えば16ビットカウンタを用いて65535ms(約65秒)までなどをカウントできるようにしているため、いわゆる長押しの検出も可能となる。
ステップS704では、CPU42aは、モータ駆動データを出力する。即ち、可動体駆動部102におけるドライバ回路に対しモータ駆動データを出力する。
この割込みカウンタの値0〜15に応じて、ケース0〜ケース15としてステップS705の処理が規定される。例えば本実施形態では、ケース0ではWDT(watchdog timer)クリア信号ON、及びLEDドライバの初期化処理を行う。ケース1〜3ではLEDドライバの初期化処理を行う。ケース8ではWDTクリア信号OFFを行う。ケース12〜15では、LEDドライバに対するLED駆動データの出力を行う。
ここで、LEDドライバの初期化とは、LED基板48や第1〜第3回胴LED基板50a〜50cにおけるLEDのドライバ回路において使用しないレジスタにデフォルト値を出力する処理である。この初期化と、LED駆動データの出力は、1回の1msタイマ割込処理の際に、ドライバ回路の2,3個に対して行われる。
その後、CPU42aはステップS707で割込みカウンタのインクリメントを行い、またステップS708でシナリオ更新カウンタのインクリメントを行う。そしてシナリオ更新カウンタの値が100未満であれば、1msタイマ割込処理を終える。
なお、シナリオ更新カウンタは上述のように16ms処理のステップS619でゼロリセットされるため、通常はシナリオ更新カウンタの値が100以上となることはない。100以上となるのは、演算異常、処理応答異常などにより16ms処理が実行されない場合や、16ms処理内の或る処理の進行が停止しているような場合である。このような場合は、無限ループに入り、WDTによってタイムアップ処理が行われるのを待つことになる。
[10-1.コマンド解析処理]
続いて、16ms処理(図15)におけるステップS614で行われるコマンド解析処理について、図17、図18で説明する。CPU42aは、ステップS614のコマンド解析処理として、主制御基板40から供給される演出制御コマンドがコマンド受信バッファに格納されているか否かを監視し、演出制御コマンドが格納されていればこのコマンドを読み出す。この具体的な処理として、図17のステップS801〜S808の処理を行う。
ライトポインタは、コマンド受信に応じて更新され、それに応じてライトポインタで示されるアドレスに、受信した演出制御コマンドが格納されていく。リードポインタは、コマンド受信バッファからの読み出しを行った際に更新(ステップS802)される。従って、もしリードポインタ=ライトポインタでなければ、まだ読み出していない演出制御コマンドがコマンド受信バッファに格納されているということになる。そこでリードポインタ=ライトポインタでなければステップS802に進み、CPU42aはコマンド受信バッファにおいてリードポインタで示されるアドレスから1バイトのコマンドデータをロードする。この場合、次の読み出し(ロード)のためにリードポインタをインクリメントしておく。
そしてモードであれば、コマンドの上位データ受信の処理として、ステップS804に進み、読み出したコマンドデータを、レジスタ「コマンドHIバイト」にセーブする。また「コマンドLOバイト」のレジスタをクリアする。そしてステップS801に戻る。
続いても、リードポインタ=ライトポインタでなければ、まだ読み出していない演出制御コマンドがコマンド受信バッファに格納されていることになるため、ステップS802に進み、CPU42aはコマンド受信バッファにおいてリードポインタで示されるアドレスから1バイトのコマンドデータをロードする。またリードポインタをインクリメントする。
そして読み出したコマンドがイベントであれば、コマンドの下位データ受信の処理として、ステップS803からS805に進み、読み出したコマンドデータを、レジスタ「コマンドLOバイト」にセーブする。
そこでCPU42aはステップS806で、取り込んだコマンドに応じた処理を行う。具体例は図18で後述する。
図18Aは、コマンド対応処理としての基本処理を示している。2バイトの演出制御コマンドの受信に応じて、CPU42aはまず図18AのステップS821で、現在テストモード中であるか否かを確認する。テストモード中であれば、ステップS822ですべての演出シナリオのクリア、音出力の停止、LED基板48等におけるLEDの消灯を行う。そしてステップS823でテストモードを終了する。
テストモード中でなければ、これらの処理は行わない。
そしてCPU42aは、ステップS830として、取り込んだ演出制御コマンドについての処理を行うことになる。
各種のエラーを通知するためのコマンド・・・など多様に設定されている。ステップS830では、CPU42aは、受信したコマンドに対応して、プログラムで規定された処理を行う。ここでは図18B、図18Cで、2つの演出制御コマンドを挙げて、具体的処理を例示する。
この場合、CPU42aは、ステップS837でRAM42cのクリア処理を行う。例えばコマンド受信/送信バッファの内容や、チェックサムの記憶領域のクリアを行う。
そしてステップS838でエラー解除コマンドの送信、ステップS839で可動体エラー情報のクリア、ステップS840で可動体動作の停止、ステップS841で電源投入のシナリオ登録、ステップS842で液晶制御基板44へ送信する電源投入コマンドのセットを順次行う。
この場合、CPU42aは、ステップS843でRAM42cのクリア処理を行う。例えばコマンド受信/送信バッファの内容やチェックサムの記憶領域のクリアを行う。
そしてステップS844でエラー解除コマンドの送信、ステップS845でRAMクリアエラーセットと、エラー報知タイマのセットを行う。さらにステップS846でRAM42cにおける抽選処理に関する情報のクリア、ステップS847で、シナリオに関する情報のクリアを行う。そしてステップS848で液晶制御基板44へ送信する電源初期投入表示(RAMクリア)コマンドのセットを行う。
次にシナリオ登録・削除処理について説明する。シナリオとは演出制御やエラー処理その他、各種の実行すべき動作を規定したデータである。実行すべきシナリオのデータは、シナリオ登録情報としてRAM42cのワーク領域に登録される。図23Aに示すシナリオ登録情報の構造については後述するが、シナリオ登録情報としては、0〜63までの64個のシナリオチャネルが用意されている。この64個のシナリオチャネルに登録されたシナリオは同時に実行可能とされる。以下、シナリオチャネルを「sCH」で示す。
シナリオ登録処理とは、シナリオ登録情報における任意のシナリオチャネルsCHに、登録を要求されたシナリオ番号のシナリオを登録する処理である。原則的には、sCH0〜sCH63のシナリオチャネルは、どのチャネルが用いられても良い。
ステップS901でCPU42aは、まず今回登録すべきシナリオ番号が正常であるか否かを確認する。シナリオ番号があり得ない番号の場合は、何もせずに処理を終える。
「追加ポインタ」+Bのシナリオチャネルが空きでなければ、CPU42aはステップS904で変数Bをインクリメントする。
ステップS905でB<64でなければ、この図19の処理を終える。これは全シナリオチャネルについて探索を行ったが、空きチャネルがなくてシナリオ登録が不可能となる場合である。
まだ全シナリオチャネルの探索(空きチャネルであるか否かの確認)を行っていない時点では、ステップS905でB<64である。その場合はステップS906の確認処理を行い、「追加ポインタ」+Bの値がシナリオチャネルsCHの最大値を超えた値「64」以上となっていなければステップS903に戻る。
また「追加ポインタ」+Bの値が「64」以上となっていた場合は、ステップS907で追加ポインタの値の補正処理を行う。具体的には「追加ポインタ」+Bの値が「64」となった場合、追加ポインタの値を「64」減算する処理を行う。そしてステップS903に戻る。
つまり、ステップS904での変数Bのインクリメントにより、ステップS903が行われるたびに確認されるシナリオチャネルsCHが、順次1つずつ進行することとなる。
また、変数BはステップS902でゼロリセットされてからステップS904でインクリメントされるものであるため、ステップS905でB<64とはならない場合(つまり変数Bが64に達した場合)は、既にステップS903の処理が64回行われた場合である。これは全シナリオチャネルsCH0〜sCH63を調べたが、空きがなかったと判断された場合である。そのため登録不可能として図19の処理を終えることとなる。
そこでステップS906でこの点を確認し、「追加ポインタ」+Bの値が「64」となっていたら、ステップS907では、次に確認するシナリオチャネルを「sCH0」に戻すために、追加ポインタの補正を行う。つまり追加ポインタの値を−64することで、「追加ポインタ」+Bの値が「0」となるようにする。これにより次のステップS903では、シナリオチャネルsCH0が空きであるか否か確認されるようにする。
そしてステップS909で、追加ポインタを、登録を行ったシナリオチャネル+1の値に更新する。つまり今回登録を行ったシナリオチャネルの次のシナリオチャネルの値を、追加ポインタとして記憶しておき、次回の登録処理に使用できるようにする。なお、本実施の形態ではシナリオチャネルはsCH0〜sCH63の64チャネルのため追加ポインタの最大値は63となる。
図20Aは、或るシナリオをシナリオ登録情報から削除する場合のCPU42aの処理を示している。
CPU42aは、コマンド或いはプログラムグラム上で指定される、削除するシナリオ番号(後述のメインシナリオ番号(mcNo))の値に基づいて、図20Aの処理を開始する。まずステップS921でCPU42aは、削除要求にかかるシナリオ番号が正常であるか否かを確認する。シナリオ番号があり得ない番号の場合は、削除せずに処理を終える。
このステップS923,S924の処理によれば、シナリオチャネルsCH0からシナリオチャネルsCH63に向かって順に、削除対象のシナリオを探索していくこととなる。
ステップS923でシナリオチャネルsCH(B)に登録されているシナリオが削除対象のシナリオ番号であった場合は、ステップS926に進み、B領域、つまりシナリオチャネルsCH(B)に登録されているシナリオを削除する処理を行う。
以上により、要求された或るシナリオ番号のシナリオをワーク(シナリオ登録情報)から削除する処理が行われる。
なお、ステップS925でB<64ではないと判断される場合、つまり変数Bが64に達した場合は、シナリオチャネルsCH0〜sCH63の全てを探索したが、削除対象のシナリオが登録されていなかったということになるため、処理を終える。
CPU42aは、コマンド或いはプログラム上で、或るシナリオ番号の範囲で削除指定された場合、まずステップS931で変数Bをゼロに設定する。この場合の変数Bは、sCH0〜sCH63のシナリオチャネルのうちで、削除対象範囲に該当するシナリオが登録されたチャネルを探索するために使用する変数となる。さらに変数Bは、まだ探索(削除対象範囲に該当するシナリオが登録されているか否かの確認)をしていないシナリオチャネルが残っているか否かを判断するための変数を兼ねている。
シナリオチャネルsCH(B)に登録されているシナリオが、削除対象とされた範囲内のシナリオ番号ではなければ、ステップS933を行わずにステップS934に進む。
CPU42aはステップS934では、変数Bをインクリメントし、ステップS935でB<64であることを確認して、ステップS932に戻る。変数Bが64に達していたら、全シナリオチャネルsCH0〜sCH63について処理を完了したことになるため、このシナリオ範囲削除処理を終える。
以上により、シナリオ番号範囲の1又は複数のシナリオについて、ワーク(シナリオ登録情報)からの削除が行われる。
CPU42aは、シナリオ全削除が要求された場合、まずステップS941で変数Bをゼロに設定する。この場合の変数Bは、sCH0〜sCH63のシナリオチャネルのうちで、保護対象のシナリオを登録したシナリオチャネルを確認するために使用する変数となる。さらに変数Bは、まだ確認(保護対象のシナリオが登録されているか否かの確認)をしていないシナリオチャネルが残っているか否かを判断するための変数を兼ねている。
そしてステップS944で変数Bをインクリメントし、ステップS945でB<64であればステップS942に戻る。変数Bが64に達していたら、全シナリオチャネルsCH0〜sCH63について処理を完了したことになるため、このシナリオ全削除処理を終える。
以上により、ワークにシナリオ登録情報として登録されているシナリオについて、保護対象のシナリオを除く全シナリオの削除が行われる。
続いて、16ms処理(図15)のステップS615で行われるシナリオ更新処理について説明する。シナリオ更新処理では図21、図22で説明するようにメインシナリオとサブシナリオの更新が行われる。
先に述べたように本実施形態では、シナリオ登録情報は、シナリオチャネルsCH0〜sCH63の64個のチャネルを有するものとされる。各シナリオチャネルsCHに登録されたシナリオについては同時に実行可能とされる。
待機時間(delay)は、シナリオチャネルsCHに登録してからそのシナリオが開始されるまでの時間を示す。なおこの待機時間(delay)は16ms処理毎に1減算される。待機時間(delay)が0の場合に、登録されたデータに対応した処理が実行されることとなる。
なお、メインシナリオタイマ(msTm)の値は、メインシナリオの開始時から、16ms処理で行われるシナリオ更新の処理で+1されるため、「1」とは16msを示すものとなる。各シナリオ番号のシナリオテーブルは、或る行におけるメインシナリオタイマ(msTm)の時間を経過すると、次の行へ進むことになる。各行の時間データは、その行が終わるタイミングを示している。
例えばシナリオ番号2の場合、1500×16msの時間としてサブシナリオ番号2の動作が指定され、次の500×16msの時間としてサブシナリオ番号20の動作が指定され、次の2000×16msの時間としてサブシナリオ番号21の動作が指定されている。その次の行はシナリオデータ終了コードD_SEENDである。シナリオデータ終了コードD_SEENDの場合、シナリオ登録情報(ワーク)から、このシナリオが削除される(後述する図21のステップS1017参照)。
本実施形態では、ランプデータ登録情報は、ランプチャネルdwCH0〜dwCH15の16個のチャネルを有するものとされる。各ランプチャネルdwCH0〜dwCH15には優先順位が設定されており、ランプチャネルdwCH0からdwCH15に向かって順にプライオリティが高くなる。従ってランプチャネルdwCH15に登録されたシナリオ(ランプサブシナリオ)が最も優先的に実行される。また例えばランプチャネルdwCH3、dwCH10にシナリオが登録されていれば、ランプチャネルdwCH10に登録されたシナリオが優先実行される。
なお、ランプチャネルdwCH0は主にBGM(Back Ground Music)に付随するランプ演出、ランプチャネルdwCH15はエラー関係のランプ演出に用いられ、ランプチャネルdwCH1〜dwCH14が通常演出に用いられる。
16ms毎にメインシナリオタイマ(msTm)と、テーブルの時間データを比較して、一致した場合に、そのラインのランプナンバが、図23Bのランプデータ登録情報に登録される。登録されるランプチャネルdwCHは、当該ラインに示されたチャネルとなる。
例えば、上述の或るシナリオチャネルsCHにおいて、図25に示したシナリオ番号2が登録され、サブシナリオ番号2が参照されるとする。図26Aに示したランプサブシナリオ番号2では、1ライン目に時間データ(time)=0としてランプチャネル5(dwCH5)及びランプナンバ5が記述されている。この場合、メインシナリオタイマ(msTm)=0の時点で、まず当該1ライン目の情報が図23Bのランプデータ登録情報のランプチャネルdwCH5に、登録点灯ナンバ(lmpNew)=5として登録される。シナリオ登録情報(図23A)のサブシナリオ実行ラインlmp(lmpIx)の値は、次のラインの値(2ライン目)に更新される。これはランプチャネルdwCH5という比較的低い優先度で、点灯ナンバ5の点灯パターン動作の実行を行うための登録となる。
2ライン目については、500×16msとなった時点で同様の処理が行われる。即ちランプデータ登録情報のランプチャネルdwCH5に、登録点灯ナンバ(lmpNew)=6(つまり点灯ナンバ6の点灯パターンの指示)が登録される。
なお、時間データ(time)が連続する2ラインで同一の値であったら、その各ラインについての処理は同時に開始されることとなる。
前述した液晶・LED処理(S618)では、このように更新されるランプデータ登録情報に基づいて、LED駆動データが作成される。
本実施形態では、モータデータ登録情報は、モータチャネルmCH0〜mCH7の8個のチャネルを有するものとされる。
各モータチャネルmCHに登録できる情報としては、図示のように、実行動作ナンバ(no)、登録動作ナンバ(noNew)、動作カウント(lcnt)、励磁カウンタ(tcnt)、実行ステップ(step)、動作ライン(offset)、親(移行元)/子(移行先)の属性(attribute)、親ナンバ(retNo)、戻りアドレス(retAddr)、ループ開始ポイント(roopAddr)、ループ回数(roopCnt)、エラーカウンタ(errCnt)、現在の入力情報(currentSw)、ソフト上のスイッチ情報(softSw)、ソフト上のカウント(softCnt)がある。
本実施形態では、音データ登録情報は、音チャネルaCH0〜aCH15の16個のチャネルを有するものとされる。この音チャネルaCH0〜aCH15のそれぞれは、音源IC42dの入力チャネル(同じく16個)のそれぞれに対応するものである。
各音チャネルaCHに登録できる情報としては、図示のように、1次ボリューム遷移量(frzVq)、1次ボリューム(frzVl)、遷移量変化(rsv2)、ボリューム変化(rsv1)、フレーズ変化(rsv0)、ステレオ(frzSt)、ループ(frzLp)、フレーズ番号hi(frzHi)、フレーズ番号low(frzLo)、及び2次ボリューム(scdVl)がある。
また、2次ボリューム(第2ボリューム)とは、1次ボリュームとの掛け合わせで最終的な再生ボリュームを定めるボリューム情報となる。
1次ボリュームと2次ボリュームとの違いは、以下の通りである。
1次ボリュームは、上記のようにフレーズの再生開始を指示するシナリオデータにも記述されるのに対し、2次ボリュームは後述する音コントロール(音制御情報)のシナリオデータに記述される。
また、本実施形態の場合、1次ボリュームによっては、1次ボリューム遷移量(frzVq)の情報と組み合わされることで、再生中のフレーズに対するボリューム制御が可能とされ、該1次ボリュームの制御によってフレーズのフェードイン再生/フェードアウト再生が可能とされる。後述もするように、これらフェードイン再生/フェードアウト再生の指示は、音コントロールとしてのシナリオデータに基づき実行される。
2次ボリュームは、通常はスロットマシンの裏側に設けられたボリュームスイッチの状態に応じた値に設定され、後述するようにエラー時や所望のフレーズを消音させたいとき等にMAX値とは異なる値が設定される。
2次ボリュームの変化指示は、音コントロールとしてのシナリオデータによっても可能とされる(この点についても後述する)。
遷移量変化rsv2は、1次ボリューム遷移量frzVqを変化させるか否かを表す情報であり、ボリューム変化rsv1は、フレーズ再生時に1次ボリュームを変化させるか否かを表す情報となる。また、フレーズ変化rsv0はフレーズ番号を書き替えるか否かを表す情報であり、ステレオfrzStはステレオ再生/モノラル再生の何れであるか、ループfrzLpは無限ループ再生かループ再生しないかの何れかをそれぞれ表す情報となる。
ステレオ再生を指示するシナリオデータには、ステレオ再生すべきフレーズを指定するためのフレーズ番号(指定情報としてはLchとRchとで共通の1つのフレーズ番号が用いられる)の情報と、ステレオ再生を指定するための情報とが記述され、該シナリオデータに基づき、音データ登録情報における偶数の音チャネルaCHnと奇数の音チャネルaCHn+1とにこれらフレーズ番号とステレオ再生の指示情報とが登録される(上述のフレーズ番号hi,lowとステレオfrzSt)。
各番号の音/モータサブシナリオとしては、シナリオの各ライン(行)に時間データ(time)の値(ms)が記述されるとともに、BGM、SE1、SE2、エラー音、音コントロール、モータ、ソレノイド/ユーザオプションの情報が記述可能とされる。また最終行には、シナリオデータ終了コードD_SEENDが記述される。
この音/モータサブシナリオテーブルに関しては、サブシナリオタイマ(scTm)の値が当該音/モータサブシナリオテーブル中の或るラインに記述された時間データ(time)の値になったら(なお最初は0である)、そのラインに記述されたBGM、SE1、SE2、エラー音、音コントロール、モータ、ソレノイド/ユーザオプションに応じた情報を音データ登録情報やモータデータ登録情報に登録することになる。
なお、各ラインの時間データ(time)は、当該ラインが終了するタイミングを示している。
SE1とSE2の区別は、その音を出力する演出の出現頻度による別としている。例えば予告音であれば、その音を使用する予告演出の出現頻度(信頼度)による区別となる。本例の場合、SE2はSE1よりも出現頻度が低い演出に係る音とされる。
これら音/モータサブシナリオテーブルに記述されたBGM、SE1、SE2、エラー音の情報は、音データ登録情報における何れかの音チャネルaCHに登録されることになるが、本実施形態では、これらBGM、SE1、SE2、エラー音の音の種別ごとに、その情報内容を登録する音チャネルaCHを予め定めておくものとしている。
具体的に、音/モータサブシナリオテーブルに記述されたBGMの情報については、音チャネルaCH0(ステレオの場合は加えてaCH1)に登録する。また、SE1の情報については音チャネルaCH2〜aCH9のうちの空きチャネルに登録し、SE2の情報については音チャネルaCH10〜aCH14うちの空きチャネルに登録する。さらに、エラー音の情報については音チャネルaCH15に登録する。
このように本実施形態では、音の種別と、その音についての音関連の情報を登録する音チャネルaCHとの対応関係が予め定められている。
本実施形態の場合、当該音コントロールの情報は4バイトで構成され、下位3バイトがコントロール対象のフレーズを指定するための情報、上位1バイトがコントロール情報(音のコントロール内容を表す情報)とされている。
このため、音コントロールの情報に基づき所定の種別の音(BGM/SE1/SE2/エラー音)をコントロールするとしたときは、音コントロールの情報を、その音に対応する音チャネルaCHに対して登録すればよい。
この点に鑑み本実施形態の音コントロールの情報では、その下位3バイトの情報、即ちコントロール対象のフレーズを指定するための情報として、音チャネルaCHを指定する情報を記述する。つまり、コントロール対象とする音(フレーズ)が再生される音チャネルaCH(つまりBGM/SE1/SE2/エラー音の別に応じたaCH0(及びaCH1)/aCH2〜aCH9/aCH10〜aCH14/aCH15の別)を指定する情報が記述される。
従って探索処理が省略される分、演出動作に係る制御負荷を軽減できる。
このように音コントロール情報を、制御内容情報の登録先の音チャネルaCHの指定が可能な情報としたことでも、制御対象の音を再生中の音チャネルaCHを探索せずに済むものとできる。即ち、音コントロール情報をこのような構成とした点も、探索処理の省略、つまりは演出動作に係る制御負荷の軽減に寄与するものである。
音/モータサブシナリオテーブルにおいて、モータのデータは、モータ1個につき1バイトでモータの動作パターン番号を示すように構成されている。
モータ番号に対応するモータチャネルに対して、この動作パターン番号がセットされる。
また、図16のステップS703のモータ動作更新処理では、図21,図22のシナリオ更新処理で更新されるモータデータ登録情報に基づいて、モータ駆動データが作成される。
図15の16ms処理のステップS615として実行される図21のシナリオ更新処理では、CPU42aはループ処理LP1として、シナリオチャネルsCH0〜sCH63のそれぞれについて、ステップS1000〜S1016の処理を行う。当該ループ処理の各回の処理対象のシナリオチャネルを「sCHn」として説明する。
ステップS1004では、当該特定したアドレスで示される、メインシナリオテーブルの或るメインシナリオ番号の実行ラインが、終了コードD_SEEND(図25参照)が記述されている最終ラインであるか否かを確認する。
終了コードが記述された最終ラインで合った場合は、当該シナリオチャネルsCHnに登録されたシナリオで実行すべき処理は終了したことになるため、ステップS1017で、そのシナリオチャネルsCHnに登録されているシナリオをシナリオ登録情報(ワーク)から削除する。
なお、この場合のシナリオ登録の削除は、シナリオ終了に応じた通常の削除である。先に図20で説明したシナリオ削除は、この通常削除以外の、例えば未終了のシナリオをシナリオ登録情報(ワーク)から削除する処理であることを付言しておく。
そしてステップS1008で当該シナリオチャネルsCHnで指定されるサブシナリオの更新を行う。サブシナリオの更新については図22で後述する。
また、ステップS1010においてメインシナリオタイマ(msTm)の値がメインシナリオテーブルの当該ラインに記述された時間データ以上ではないとされた場合は、ステップS1015に進む。
またステップS1012で次のラインはループ指定ではないとされた場合は、ステップS1013を経由せずステップS1014に進む。
そしてステップS1015のチェックサム処理、ステップS1016のバックアップ処理を行ってシナリオチャネルsCHnについての1回の処理を終える。
シナリオ更新処理としては、ループ処理LP1として、シナリオチャネルsCH0〜sCH63のそれぞれについて以上の処理が実行されることになる。
メインシナリオタイマ(msTm)、シナリオチャネルsCHnと、メインシナリオテーブルに記述されたサブシナリオ番号(scNo)に基づいて、図22Aのサブシナリオの更新処理が行われる。
シナリオチャネルsCHnが適正値であれば、CPU42aはステップS1022で、サブシナリオ番号(scNo)とサブシナリオ実行ラインlmp(lmpIx)に対応するランプサブシナリオテーブル(図26A参照)のアドレスを特定する。
点灯パターンナンバの登録処理を図22Bに示している。この場合、まずCPU42aはステップS1051で、当該ラインに記述されているランプチャネルdwCHの値が正常値であるか否かを判別する。正常値でなければ登録を行わずに処理を終える。
正常値であれば、ステップS1052で、当該ラインに記述されているランプナンバが正常値であるか否かを判別する。正常値でなければ登録を行わずに処理を終える。
ランプチャネルdwCH及びランプ番号のいずれもが正常値であれば、ステップS1053でワークのランプデータ登録情報における、ランプチャネルdwCHに対応する領域に登録点灯ナンバ(lmpNew)と実行点灯ナンバ(lmpNo)をセットする。即ちランプサブシナリオテーブルの当該ラインから取得したランプナンバを、登録点灯ナンバ(lmpNew)にセットし、「0」を実行点灯ナンバ(lmpNo)にセットする。
以上の図22Bの処理をステップS1028で行ったら、CPU42aはステップS1029でサブシナリオ実行ラインlmp(lmpIx)の値を+1し、ステップS1030でランプチャネルカウント値を+1してステップS1024に戻る。
そして、ステップS1032で、サブシナリオタイマ(scTm)の値がテーブルの時間データ(time)の値以上であるか否かを確認する。即ち、サブシナリオタイマ(scTm)の値が、現在処理中のシナリオチャネルsCHnに登録されているサブシナリオ実行ライン(sclx)で示されるラインの時間データ(time)の値以上であるか否かを確認する。
シナリオデータ終了コードD_SEENDが記述された行でなければ、CPU42aはステップS1035で音の登録を行い、またステップS1036でモータの登録を行う。これらステップS1035,S1036の登録処理としては、図26Bに例示したような音/モータサブシナリオテーブルの該当サブシナリオ番号の該当ラインの情報を、図24の音データ登録情報の音チャネルaCH、図23Cのモータデータ登録情報のモータチャネルmCHにそれぞれ登録する処理を行う。
なお、ステップS1035として実行される音の登録の詳細な処理内容については後述する(図27〜図31)。
そしてステップS1038で、サブシナリオ実行ライン(scIx)の値として次のラインの値をセットする。さらにステップS1040でサブシナリオタイマ(scTm)をインクリメントして処理を終える。
また実行する演出に応じた演出デバイスの動作データは第2のワークエリアにセットされる。第2のワークエリアとしてランプデータ登録情報をセットするランプチャネルdwCH1〜dwCH15、モータデータ登録情報をセットするモータチャネルmCH0〜mCH7、音データ登録情報をセットする音チャネルaCH0〜aCH15が用意されている。
即ち本実施の形態では、各種演出デバイスを用いた全体の演出データが第1のワークエリアにセットされ、その第1のワークエリアの演出データに基づき、第2のワークエリアで動作データがセットされることになる。
この場合、多様な演出設定のためには第1のワークエリアには、登録できる演出データ個数(シナリオ登録情報の個数)を比較的多くすることが好ましい。例えば演出データの登録チャネル数を多くしたい。そこでシナリオチャネルsCH0〜sCH63として64個のチャネルを用意する。
一方で、第2のワークエリアには、演出デバイスの動作を規定する動作データがセットされればよいため、動作データの登録可能数は、比較的少なくてもよい。特に、第2のワークエリアが、ランプ、モータ、音の個々の演出デバイスに対応して設けられているため、個々のデバイスについての登録可能数は、むやみに多くする必要はない。そこで第2のワークエリアとしては、ランプチャネルは16チャネル(dwCH1〜dwCH15)、モータチャネルは8チャネル(mCH0〜mCH7)、音チャネルは16チャネル(aCH0〜aCH15)としている。これらは、それぞれ対応する1つの演出デバイスについての動作データがセットされれば良いため、登録チャネル数は少なくても十分に多彩な演出動作に対応可能である。
このように、第1のワークエリアのチャネル数をN(例えばN=64),第2のワークエリアのチャネル数をM(例えばM=16、又はM=8)とすると、N>Mとなるように記憶領域を割り当てている。
これによって多彩な演出動作を可能としたまま、メモリが闇雲に消費されないようにしている。
続いて、図22のステップS1035として実行する音の登録処理について説明する。
この音の登録処理は、図26Bに例示した音/モータサブシナリオテーブルの記述内容(サブシナリオデータ)に応じた情報を、図24の音データ登録情報の音チャネルaCHに登録する処理となる。
まず、CPU42aはステップS1100で、音/モータサブシナリオテーブルに音データが存在するか否かを判別する。即ち、音/モータサブシナリオテーブルの当該サブシナリオ番号の該当ラインの記述情報として、BGM/SE1/SE2/エラー音/音コントロールの何れかの情報が存在するか否かを判別する。
これらの音データが存在しない場合は処理を終える。
先に説明したように、音データがBGM、SE1、SE2、エラー音の場合、その記述内容(つまりシナリオデータ)としては少なくとも再生すべきフレーズのフレーズ番号とその1次ボリュームの情報とが含まれ、従ってこれらの情報が音データ登録情報に登録される。
なお、BGMについてはステレオ再生が可能とされ、その場合は音/モータサブシナリオテーブルのBGMの情報でその指示が為される。前述もしたがBGMがステレオ再生される場合、音チャネルaCH0のみでなく音チャネルaCH1も使用される。この場合、これら音チャネルaCH0、aCH1の双方には、フレーズ番号(frzHi、frzLo)としてBGMの情報に記述された共通のフレーズ番号が登録されると共に、ステレオ(frzSt)の情報として「1」が記述される。
そして、ステップS1108でSE1の設定処理を実行した場合、或いはステップS1103で音データがSE1でないとされた場合、CPU42aはステップS1104で音データがSE2か否かを判別し、SE2であった場合はステップS1109でSE2の設定処理を行う。
さらに、ステップS1109でSE2の設定処理を実行した場合、或いはステップS1104で音データがSE2でないとされた場合、CPU42aはステップS1105で音データが音コントロールか否かを判別し、音コントロールであった場合はステップS1110で音コントロールの設定処理を行う。
ステップS1110で音コントロールの設定処理を実行した場合、或いはステップS1105で音データが音コントロールでないとされた場合、CPU42aは図27に示す処理を終える。
なお、これらSE1の設定処理、SE2の設定処理の内容は、音データの登録対象とする音チャネルaCH(対応音チャネルaCH)が異なる以外は共通であるため、当該図28の一図での説明とする。
従って、ステップS1201の処理は、SE1の設定処理(S1108)として実行される場合は音チャネルaCH2〜aCH9の再生状態を取得する処理となり、SE2の設定処理(S1109)として実行される場合は音チャネルaCH10〜aCH14の再生状態を取得する処理となる。
各音チャネルaCHの再生状態の取得、即ちフレーズを再生中であるか否かの情報の取得は、音源IC42dに音チャネルaCHごとに設けられた再生状態情報格納レジスタの値を取得することで行う。
以下のステップS1203〜S1211の処理により、スタート音チャネルaCHから順に空きチャネルを探索してSEの音データの登録を行うべく、ステップS1202で設定音チャネルaCHをスタート音チャネルaCHに設定する。
設定音チャネルaCHがエンドチャネルより大である場合は、対応音チャネルaCHに空きがないことから処理を終了する。
一方、設定音チャネルaCHがエンドチャネルより大でない場合はステップS1203に戻る(つまり次の音チャネルaCHについて再生中か否かの判別が行われる)。
設定音チャネルaCHに音データがある、つまり設定音チャネルaCHは空きではないとされた場合、CPU42aはステップS1208に進む。つまりこれにより、対応音チャネルaCH内における次の空きチャネルを探索するようにされる。
ステレオ要求がない場合、CPU42aはステップS1210に進み、テーブルの音データを設定音チャネルaCHに対応したワークの領域にセットして処理を終了する。
ここで、前述のように本例では、ステレオ再生は偶数の音チャネルaCHnとその次の奇数の音チャネルaCHn+1とを使用して行うものとされるので、ステレオ再生を要求するシナリオデータに応じては、該シナリオデータに記述されたフレーズ番号等の音データを偶数の音チャネルaCHnとその次の奇数の音チャネルaCHn+1とにセットすべきものとなる。このため、設定音チャネルaCHが偶数チャネルでなければ、上記のように次の音チャネルaCH以降で空きチャネルを探索する。
設定音チャネルaCHの次の音チャネルaCHが空きチャネルでなければ、ステップS1208に進む。つまり、対応音チャネルaCH内での次の空きチャネルを探索する。
一方、設定音チャネルaCHの次の音チャネルaCHが空きチャネルであれば、ステップS1211に進んで、テーブルの音データを設定音チャネルaCHとその次の音チャネルaCHに対応したワークの領域にそれぞれセットし、処理を終了する。
また、当該SE1又はSE2の情報がフレーズのステレオ再生を要求するものであった場合は、音源IC42dがステレオ再生に偶数チャネルとその次の奇数チャネルとを使用することを要求する場合に対応して、対応音チャネルaCH内における偶数チャネルとその次の奇数チャネルとに適正に音データを登録できる。つまりこれにより、音源IC42dの仕様に応じた適切な情報登録を行うことができる。
図29は、ステップS1110の音コントロールの設定処理を示している。
まず、CPU42aはステップS1301で、音コントロールの情報の上位1バイトの値を確認する。
本実施形態の場合、音コントロールの情報は4バイトで構成され、その上位1バイトに音のコントロール内容を表すための情報(コントロール種別の情報)が記述され、下位3バイトに音のコントロール対象とする音チャネルaCHを指定するための情報(コントロール対象の情報)が記述される。
この上位1バイトのコントロール種別の情報によっては、フェードイン再生やフェードアウト再生、及び2次ボリュームの変化指示が可能とされる。
具体的に、0x20〜0x70までのフェード系の情報としては、0x25(SFO1M)が「フェードアウトゆっくり 消音」、0x35(SFO2M)が「フェードアウト普通 消音」、0x45(SFO3M)が「フェードアウトはやく 消音」、0x20(SFO1)が「フェードアウトゆっくり 音小」、0x30(SFO2)が「フェードアウト普通 音小」、0x40(SFO3)が「フェードアウトはやく 音小」、0x50(SFI1)が「フェードインゆっくり」、0x60(SFI2)が「フェードイン普通」、0x70(SFI3)が「フェードインはやく」を表す。
ここで、「ゆっくり」「普通」「はやく」は、フェード制御におけるボリュームの遷移速度(speed)を意味する。またフェードアウトについての「消音」と「音小」の違いは、遷移後のボリュームが「0」か否かである。
また、90h以上である場合、CPU42aはステップS1303で音チャネルaCH0〜aCH14の2次ボリュームを上位1バイトが示すボリューム値にセットして処理を終了する。
まず、CPU42aはステップS1401で、変換テーブルから上位1バイトの値に対応する2バイトの値を取得する。そして、ステップS1402で、下位3バイトの値に基づき2バイトの値を取得する。
その上で、ステップS1403では、これらステップS1401とS1402とで取得した2バイトの値を連結する。
まず、ステップS1401の取得処理では、図のようにフェード系の上位2バイトの値(0x25〜0x70)ごとにその対応値(2バイト)を格納した変換テーブルを用いる。CPU42aは該変換テーブルを参照して、上位1バイトの値に対応する2バイトの値を取得する。
そして、ステップS1402の取得処理では、音コントロールの下位3バイトの値に基づいて、コントロール対象がSE1、SE2以外(つまりaCH2〜aCH14以外:予告音以外)の場合と、SE1、SE2の場合とで、それぞれ図のような2バイトの値を取得する。すなわち、SE1、SE2以外の場合は0xD000、SE1、SE2の場合は0xC000である。
なお、後述もするが、このようにコントロール対象がSE1、SE2の何れかとされる場合とそうでない場合とで取得値を異ならせているのは、SE1とSE2のみフェード制御がモノラル指定とされているからである。
このように得られた各2バイトの値をステップS1403で連結して、4バイトのコントロールデータを得る。
ここで、本実施形態では、図31Aの変換処理で得られる計4バイトのコントロールデータを、そのまま音データ登録情報に設定(登録)する。この意味で図中では、図31Aの変換処理で得られるコントロールデータのことを「音データ登録情報に設定するデータ」と示している。
この図31Cによると、フェード系の音コントロールの情報として例えば上位1バイト=SFO1M(フェードアウトゆっくり 消音)、下位3バイト=BG_Tとされた情報については、上記の変換処理によって「0x2000D000」というコントロールデータに変換されることが分かる。また、例えば上位1バイト=SFO3M(フェードアウトはやく 消音)、下位3バイト=YK1_Tとされた音コントロールの情報については、「0xFF00C000」というコントロールデータに変換されている。
前述のように本実施の形態では変換後のコントロールデータをそのまま音データ登録情報にセットするので、例えば上記のSFO1M+BG_Tの音コントロール情報のコントロールデータ(0x2000D000)によると、音データ登録情報の登録内容は、
「1次ボリューム遷移量」=「0x20」
「1次ボリューム」=「0x00」
「遷移量変化」=「1」
「ボリューム変化」=「1」
「フレーズ変化」=「0」
「ステレオ」=「1」
「ループ」=「0」
「フレーズ番号hi」=「000」
「フレーズ番号low」=「0x00」
となる。
また、例えば上記のSFO3M+YK1_Tの音コントロール情報のコントロールデータ(0xFF00C000)によると、音データ登録情報の登録内容は、
「1次ボリューム遷移量」=「0xFF」
「1次ボリューム」=「0x00」
「遷移量変化」=「1」
「ボリューム変化」=「1」
「フレーズ変化」=「0」
「ステレオ」=「0」
「ループ」=「0」
「フレーズ番号hi」=「000」
「フレーズ番号low」=「0x00」
となる。
ここで、「フェードアウトゆっくり 消音」「フェードインはやく」等のフェード制御は、時間経過と共にボリュームを徐々に変化させるようなサブシナリオデータを用意しておくことで実現することも考えられるが、その場合は時間ごとのサブシナリオデータを保持させておくことになり、その分メモリ容量を要することになる。これに対し上記のような変換処理を行う本実施の形態によれば、サブシナリオデータとしては単に「フェードアウトゆっくり 消音」「フェードインはやく」等のフェード制御の違いのみを表す情報を記述すればよく、一種のフェード制御に要するサブシナリオデータの数を1つに削減でき、結果、サブシナリオデータを保持するためのメモリ容量を削減できる。
また、フェードイン/アウトとして具体的なボリューム遷移量などを変更するとしたときにも、図31Bに示した変換テーブルの内容を変更するだけでよく、同様にサブシナリオデータの書き替えやプログラムの書き換えは行わずに済み、変更に係る作業負担を軽減できる。
このようにサブシナリオデータ(演出進行データ)に記述するボリューム遷移速度指示情報の階調を音源IC42dで実現可能な遷移速度の階調よりも少なくしていることで、演出進行データに記述するボリューム遷移速度指示情報のビット数をその分少なくできる。従って、演出進行データのデータ量を削減でき、演出進行データの保持に係るメモリ容量の削減を図ることができる。
ここで、この点からも理解されるように、本実施形態のサブシナリオテーブルは、時間に対応して「出力すべき音を指定する情報」(フレーズ再生指示情報)と「再生中のフレーズのフェードイン及び/又はフェードアウトを指示するための情報」(音制御情報)とを格納した情報とされる。
このようなサブシナリオテーブルの情報に基づき音に関する演出制御を実行する本実施形態によれば、フレーズのフェードインやフェードアウトは、サブシナリオテーブル(演出進行データ)に対して前記音制御情報を記述しておくことで実現される。フェードインやフェードアウトの制御は時間経過に応じて音量を変化させるものであるため、演出進行データとして時間ごとにボリュームの変化指示情報を記述しておくことも考えられるが、その場合には演出進行データ量が増大傾向となってメモリ容量の増大化を招く。また、演出進行データに基づく処理も増大傾向となるため制御負荷の増大化を招く。
これに対し、上記のように演出進行データに対してフェードインやフェードアウトを指示するための音制御情報を記述しておくことでフレーズのフェード制御を実現する本実施形態によれば、演出進行データ量を削減でき、また制御負荷を低減できる。
この図32の例では、音/モータサブシナリオテーブルにおける音/モータサブシナリオ番号001のサブシナリオデータとして、時間(time)=0でBGMを「フェードアウトはやく 音小」(SFO3+BG_T)の態様でフェードさせ、時間=0〜2000でSE1のフレーズ0001をボリューム0x80で再生させ、時間=2000〜5000でSE1のフレーズ0002をボリューム0x80でステレオ再生させ、時間=5000でBGMを「フェードインゆっくり」(SFI1+BG_T)の態様でフェードさせる情報が記述された場合を例示している。
なお図中にも記しているが、フレーズの終了タイミングはそのフレーズとしての音データが終了する時点となる。
図15のメイン処理における音再生処理(S616)によって、このように音データ登録情報にセットされた情報が順次音源IC42dに出力されて、サブシナリオデータに応じた音出力が実現される。これにより、図中の下段に示すようなBGMのフェードアウトとフレーズ0001の再生が実現される。
さらに、時間5000となることに応じて、音データ登録情報に当該時間=5000のラインに記述された音コントロールの情報(SFI1+BG_T)に応じたコントロールデータが登録され、この登録情報がステップS141の音再生処理で音源IC42dに順次出力されることで、図中に示すような時間=5000におけるBGMのフェードインが実現される。
図33を参照して、2次ボリュームの変化指示によるボリューム制御例を説明する。
図33は、2次ボリュームにより所定種別の音を消音させる制御例についての説明図であり、具体的には、BGMの再生中にSE1のフレーズ0010を再生するシナリオが登録された場合に、2次ボリュームによりBGMを消音させる例を示している。
この例の場合には、サブシナリオテーブルの時間=0のラインが2つ存在しており、一方の時間=0のラインには音コントロールの情報として「SVO0+BG_T」(図30を参照)が記述され、他方の時間=0のラインにはSE1の情報として「0x0080700A」(フレーズ0010を1次ボリューム0x80でステレオ再生)が記述されている。
なお、このように時間(time)を同じとするラインが2つ存在する場合は、先の図21、図22、及び図27に示した処理によりそれらのラインの記述情報が順次音データ登録情報に登録されることになる。これらの登録情報に応じ、時間=0に対応して図のようなBGMの2次ボリュームによる消音と、SE1としてのフレーズ0010の再生とが開始される。
また、この図の例では時間=5000のラインに音コントロールの情報として「SVO8+BG_T」(2次ボリューム=0x80)が記述され、これにより、図のように時間=5000以降はBGMの消音状態が解除される。
前述のように、これらSE1とSE2の分類は、本例ではその演出の出現頻度の別としている。従って、出現頻度の高い(つまり信頼度の低い)SE1の音を再生中に、後から出現頻度のより低い(信頼度のより高い)SE2の音を再生すべきとされた場合において、図33の例と同様に音コントロールの情報による2次ボリュームの制御を行うことで、再生中のSE1を消音させて、SE2の方が優先的に出力されるようにすることができる。
ここで、1次ボリュームのみを用いて、図33のようなBGMの消音制御を実現しようとした場合には、音コントロールの情報により、例えば遷移速度を最速としたフェードアウトを行うことにより、再生中のBGMを消音させることが考えられる。
しかしながら、先に説明した通り、1次ボリュームは、フレーズの再生開始時にフレーズ番号と共に音源IC42dにセットされるボリューム値となる。このため、上記のように音コントロールの情報を用いた1次ボリュームによる消音を行ったとしても、仮にその後、図33中の「X」のようなタイミング(BGMを元音量に戻すべき時点よりも前のタイミング)で他のシナリオにより新たにBGMの再生開始が指示された場合には、該「X」の時点でBGMのボリュームは0x00以外の所要の音量とされてしまい、BGMが放音されてしまう。
これに対し、2次ボリュームによる音量制御も可能とした本実施形態によれば、図33で説明した通り、一度音コントロールの情報によりBGMの2次ボリュームを0x00に制御しておけば、該2次ボリュームを復帰させる音コントロールが行われるまでの間に新たなBGMの再生が開始されて1次ボリュームが0x00以外の音量に設定されても、出力音量としては0x00が維持されるようにできる。これにより、図33に示したような音量制御を適正に実現することができる。
すなわち、これまでの説明からも理解されるように1次ボリュームはシナリオデータ(演出進行データ)に記述されるボリューム情報であるので、仮に1次ボリュームのみで音量制御を行うとすると、音量制御に必ずシナリオデータの登録処理が必要とされ、その分、CPU42aの負荷が増大する傾向となってしまう。
これに対し、1次ボリュームのみでなく2次ボリュームによる音量制御を可能とした本実施形態によれば、音量制御は演出進行データに依らず行うことができるため、1次ボリュームのみを用いた音量制御、即ち演出進行データのみに基づく音量制御を行う場合との比較で演出進行データに基づく処理を削減できる。従って、制御負荷の低減が図られる。また、保持すべき演出進行データの量も少なくできるため、メモリ容量の削減も図られる。
すなわち、操作に応じた音量制御を1次ボリュームのみを用いて行うとした場合は、操作に応じて毎回シナリオによって1次ボリュームをコントロールすることになるので、制御負荷の増大化を助長するが、上記のように操作に応じた音量制御も2次ボリュームを用いて行うものとした本実施形態によれば、操作に応じた音量制御にあたりシナリオデータに基づく処理を省略でき、この点でも制御負荷の軽減を図ることができる。
続いて、図15のステップS615として実行する音再生処理について説明する。
前述のように音再生処理は、音データ登録情報としてワークにセットされた情報に基づき音源IC42dに音出力を実行させる処理となる。
まず、CPU42aは、ループ処理LP3として、音データ登録情報の音チャネルaCH0〜aCH15のそれぞれについてステップS1500〜S1520の処理を行う。以下、処理対象とする音チャネルaCHを「aCHn」と表記して説明する。
ボリュームMAXエラーフラグが0x5Aであれば、ステップS1521に進みワークの2次ボリュームについて音チャネルaCH0〜14(エラー音以外)=0x00、音チャネルaCH15(エラー音)=0x80に書き換えを行い、ステップS1501に進む。
一方、ボリュームMAXエラーフラグが0x00であれば、ステップS1521によるワークの2次ボリュームの書き換えは行わずにステップS1501に進む。
前述のように2次ボリュームの値は、通常はボリュームスイッチの状態に応じた値が音データ登録情報の全音チャネルaCHにセットされる。或いは、シナリオとして、或る音チャネルaCHの2次ボリュームの変化を指示する音コントロールの情報が記述されていた場合には、該音コントロールの情報に記述された2次ボリュームの値が、音データ登録情報における該音コントロールの情報で指示された音チャネルaCHにセットされている。また、ボリュームMAXエラーが発生中であれば、上記のステップS1521の処理によって音チャネルaCH0〜14には「0」が、音チャネルaCH15にはMAX値がセットされている。
ここで、本実施の形態では、図24に示した音データ登録情報の上位2バイト(「1次ボリューム遷移量」「1次ボリューム」)の値を用いて、フレーズの差し替え要求が可能とされている。具体的には、音データ登録情報の上位2バイトが所定値(例えば本例では「0x5A5A」であるとする)であれば、それをフレーズの差し替え要求と解釈するものである。
ステップS1504では、音チャネルaCHnにセットされたデータの上位2バイトが所定値「0x5A5A」であるか否かを判別することで、フレーズの差し替え要求であるか否かを判別する。
一方、差し替え要求でなければ、ステップS1505を経由せずステップS1506に進む。
ここで、音データ登録情報における遷移量変化frzVqの値は、フェード系の音コントロールの情報に基づいて音の登録処理(S1035)が実行された場合には「1」がセットされ、フェード系以外(つまり2次ボリュームの変化指示)の音コントロールの情報やBGM、SE1、SE2、エラー音の情報に基づいて音の登録処理が実行された場合には「0」がセットされていることになる。
一方、ボリューム変化rsv1(1次ボリュームを変化させるか否か)は、フェード系の音コントロールの情報に基づいて音の登録処理が実行された場合と共に、BGM、SE1、SE2、エラー音の情報やフェード系の音コントロールの情報に基づいて音の登録処理が実行された場合に「1」がセットされる。そして、フェード系以外の音コントロールの情報に基づいて音の登録処理が実行された場合には「0」がセットされる。
これらの点からも理解されるように、フェード系の音コントロールの情報に基づく音データが登録されている場合のみでなく、BGM、SE1、SE2、エラー音の情報に基づく音データが登録されている場合にも、以降のステップS1509又はS1511により1次ボリューム遷移量と1次ボリュームの情報が音源IC42dに対して出力されることになる。
音チャネルaCHnがステレオ再生でなければ、ステップS1509に進んで音源IC42dの音チャネルaCHnに1次ボリューム遷移量と1次ボリュームを出力し、さらにステップS1510で音源IC42dの音チャネルaCHnにパンポットの出力を行って、ステップS1513に進む。
ここで、パンポットの出力としては、音源IC42dにおける音チャネルaCHn用の「左右パンポット」「左右パンポット遷移量」「上下パンポット」「上下パンポット遷移量」の各レジスタにそれぞれ値を出力する。なお、本例では音源IC42dのパン機能は使用しないものとされ、従ってステップS1510では全て「0」(0x00)を出力する。
音チャネルaCHnが偶数であれば、ステップS1511に進んで音チャネルaCHnと音チャネルaCHn+1とに1次ボリューム遷移量と1次ボリュームを出力し、ステップS1512で音チャネルaCHnと音チャネルaCHn+1とにパンポットの出力を行って、ステップS1513に進む。
このことに応じ、ステップS1512では、音チャネルaCHnと音チャネルaCHn+1とに対するパンポットの出力処理として、音チャネルaCHnの「左右パンポット」のレジスタには「0x81」を、音チャネルaCHn+1の「左右パンポット」のレジスタには「0x82」をそれぞれ出力する。
なお、前述のように本実施形態では音源IC42dのパン機能は使用しないので、ステップS1512では「左右パンポット」以外の「左右パンポット遷移量」「上下パンポット」「上下パンポット遷移量」の各レジスタにはそれぞれ「0x00」を出力する。
即ち、音チャネルaCHnがステレオ再生で且つ奇数であった場合には、当該音チャネルaCHnに登録されたフレーズ番号は音源IC42dに出力されず(なお、1次ボリューム遷移量及び1次ボリュームについては偶数aCHnについての処理であるS1511で既に出力されている)、当該音チャネルaCHnの登録音データがクリアされることとなる。この場合の音源IC42dは、偶数の音チャネルaCHnについての処理でセットされたフレーズ番号に基づき再生すべきLch・Rchのそれぞれのフレーズデータを特定するので、ワークの奇数の音チャネルaCHn+1に登録されたフレーズ番号の音源IC42dへの指示は不要である。
フレーズ変化要求がなければ、ステップS1520で音チャネルaCHnの音データをクリアして当該音チャネルaCHnについての処理を終了する。即ち、フレーズ変化要求がない場合はワークの音チャネルaCHnにセットされたフレーズ番号の音源IC42dへの出力(S1515)は行われない。
次いでCPU42aは、ステップS1520でワークの音チャネルaCHnの音データをクリアして、当該音チャネルaCHnについての処理を終了する。
このような音再生処理によって、音データ登録情報に登録された情報に基づく音出力が実行されて、シナリオに応じた音演出が実現される。
このような構成とすることで、フレーズのステレオ再生の実現にあたり、奇数チャネル側(番号が若くない側のチャネル)への再生フレーズ指示情報の出力処理が不要となり、従って制御負荷のさらなる低減が図られる。
本実施形態のスロットマシンでは、スピーカ30c、30d(中低音用のスピーカ)からの出力音を利用して、スロットマシンの少なくとも一部を振動させる振動演出が行われる。
具体的に、本例では、音源IC42dが読み出し可能なメモリにおいて、SEのフレーズデータとして振動用のフレーズデータが格納されており、該振動用のフレーズデータとしては、スロットマシンの少なくとも一部である特定部が有する固有振動数の周波数成分を含んだ音データが格納される。より具体的に、本例では、振動演出としてスロットマシンの筐体(本体ケース1と前面パネル2とで形成される筐体)全体を振動させる演出を行うものとされ(つまり特定部=筐体全体)、振動用のフレーズデータとしては、該筐体の固有振動数の周波数成分を含んだ音データが用いられる。
本例において、スロットマシンの筐体の固有振動数は約85Hzとされている。
さらに、掃引としては、往復掃引が行われる。具体的に本例では、上記した55Hz〜100Hzの掃引範囲内で周波数の上昇/下降が繰り返される音データが用いられる。
ここで、往復掃引の周期、すなわち周波数が55Hzから100Hzを経て再び55Hzに戻るまでの往復期間の長さは0.05秒以下としている。具体的に、該往復期間の長さは0.03秒(55Hz→100Hz=0.015秒と、100Hz→55Hz=0.015秒の合計)とし、振動用のフレーズデータとしてはこのような往復期間長による往復掃引が所定秒間(例えば1秒間や2秒間等)繰り返された音データが用いられる。
従って、振動対象部としての特定部が筐体全体とされる場合において、スピーカ30c、30d背面から特定部まで振動伝達のための管路を形成したり、共鳴子を設けたりする必要がなくなり、特定部を振動させるための構成の簡易化、及びコスト削減を図ることができる。
さらに、本実施形態では往復掃引を行うが、これにより周波数の上昇側、下降側何れか片方のみの片側掃引とする場合と比較して安定した振動を発生させることができる。
また、本実施形態では振動用の音が可聴帯域の周波数成分を含むが、これにより、遊技者に対し振動と同時に低音を知覚させることが可能となり、振動演出の迫力感を増すことができる。
先ず、演出制御基板42におけるCPU42aは、ステップF01で、振動契機の演出制御コマンドを受信する。振動契機の演出制御コマンドの例としては、前述した期待感演出コマンド等を挙げることができる。この期待感演出コマンドは、前述のように、遊技開始時など1ゲーム中の所定タイミングで実行される期待感演出の内容を指示するためのコマンドである。
ここで、本例では、振動用のフレーズはSE(SE1、SE2の何れであってもよい)の音種別に分類しており、従って該フレーズの再生出力に係る音データは、音データ登録情報におけるSEの音チャネルaCH(本例では音チャネルaCH2〜aCH14の何れか)に対してセットされる。
具体的に、このような2次ボリュームによるマスクは、振動用の音出力を指示するシナリオデータから参照される音/モータサブシナリオテーブル(図26参照)として、振動用のフレーズの再生出力期間に同期して対象の音チャネルaCHの2次ボリューム=「0x00」とすることを指示する音コントロールの情報を格納したテーブルを用意しておくことで実現できる。
或いは、マスクのための2次ボリュームの設定は、上記のようにシナリオに基づき行うことに限定されない。例えば、ステップS616の音再生処理において、音データ登録情報に振動用のフレーズデータがセット中か否かを確認し、セット中であれば、該フレーズデータがセット中の音チャネルaCHとエラー音の音チャネルaCHを除いた全ての音チャネルaCHの2次ボリュームとして「0x00」をセットする処理を設けることで、振動用のフレーズデータの再生出力中に振動音とエラー音以外の音がマスクされるようにすることができる。
ここで、確認のため述べておくと、ステップS616の音再生処理は、16msごとに繰り返し実行される処理である。
なお、振動音の出力の際に他の音チャネルaCHの音をマスクすることは必須ではない。
図36のフローチャートは、その場合におけるCPU42aの処理の流れを表している。
先ず、CPU42aはステップF11で、エラー通知の演出制御コマンドを受信し、続くステップF12でコマンド解析及びコマンド対応処理を実行する。このステップF12の処理により、エラー音出力のシナリオ登録が行われる。本例の場合、各種エラーが発生した際のエラー報知のためのシナリオ登録処理は、ステップS612のエラー処理(図15参照)において行われる。この場合、登録されたシナリオから参照される音/モータサブシナリオテーブルには、エラー音のフレーズの再生出力に係る音データと共に、該エラー音の出力期間に同期してエラー音以外の音チャネルaCHの2次ボリュームを「0x00」とする音コントロールの情報が格納されている。
以上で説明してきたように実施形態の遊技機(スロットマシン)は、放音を行うスピーカ部(スピーカ30c、30d)と、スピーカ部の駆動制御を行う駆動制御手段(演出制御基板42)と、を備え、駆動制御手段は、遊技機における少なくとも一部である特定部が有する固有振動数の周波数成分を含んだ音信号に基づきスピーカ部を駆動制御して、特定部を振動させている。
これにより、音出力に用いるスピーカを振動源として用いることができるため、振動源となるモータ等のアクチュエータを別途に設ける必要がなくなる。
従って、部品点数削減や、それに伴うコスト削減を図ることができる。
振動用の音の周波数を掃引することで、振動の振れ幅の調整が可能となる。
従って、振動の振幅調整の容易化を図ることができる。
これにより、周波数の掃引は、周波数の上昇側の掃引と下降側の掃引とが組み合わされた往復掃引の形態で行われる。
従って、周波数の上昇側、下降側何れか片方のみの片側掃引とする場合と比較して安定した振動を発生させることができる。
往復期間を長くする(つまり掃引速度を遅くする)と振動の振り幅が大きくなり、短くする(掃引速度を速くする)と振動の振り幅は小さくなる。
掃引の往復期間を適切に設定することで、振動の大きさの適正化を図ることができる。
これにより、スピーカ部背面側からの放音に応じて本体ケース内側の閉空間内における空気が振動し、遊技機の筐体全体を振動させることが可能とされる。
従って、振動対象部としての特定部が筐体全体とされる場合において、スピーカ部背面から特定部まで振動伝達のための管路を形成したり、共鳴子を設けたりする必要がなくなり、特定部を振動させるための構成の簡易化、及びコスト削減を図ることができる。
これにより、遊技者に対し振動と同時に低音を知覚させることが可能とされる。
従って、振動演出の迫力感を増すことができる。
これにより、エラーが検出された場合における報知音の出力を可能としながら、振動音以外の音をマスクすることが可能とされる。
従って、マスクによる振動演出の強調を図りながら、エラーの確実な報知を実現することができる。
これにより、エラー検出時には特定部が振動しないように図られる。
従って、エラー報知が行われているにも拘わらず演出のための振動が行われてしまうという事態の発生防止を図ることができ、遊技者の混乱防止を図ることができる。
例えば、上記では、本発明がスロットマシンに適用される例を示したが、本発明は図柄を変位させる表示が可能な可変表示手段を備える遊技機に広く好適に適用できる。可変表示手段としては、上記した回転リール4を備えたものに限らず、液晶ディスプレイなどの表示画面上で図柄としての画像を変位可能に表示するように構成されたものであってもよい。
パチンコ遊技機の場合、筐体は木製の外枠と該外枠に対し開閉自在に取り付けられた前枠とで構成され、筐体背面が閉塞されていない構造とされるため、前枠に設けたスピーカ部の放音に基づき筐体全体を振動させる構成は採り難い。パチンコ遊技機の場合には、筐体全体ではなく特定の一部を振動させる構成を採ることが考えられる。その場合、振動伝達の効率化を図るため、スピーカ部から上記特定の一部(特定部)まで管路を形成することもできる。また、この際、特許文献1に開示されるような共鳴子を設けて特定部のみを選択的且つ効率的に振動させるようにしてもよい。
2 前面パネル、
3 図柄回転ユニット、
4a〜4c 回転リール(回胴)、
16 マックス投入ボタン、
17 スタートレバー、
18a〜18c 停止ボタン、
30a〜30d スピーカ、
40 主制御基板、
42 演出制御基板、
42a CPU、
42b ROM、
42c RAM、
42d 音源IC、
43 演出インターフェース基板、
47 スピーカ中継基板、
80 コントローラ、
80a CPU、
80c RAM、
72a 設定キースイッチ、
72b リセットスイッチ
Claims (8)
- 放音を行うスピーカ部と、
前記スピーカ部の駆動制御を行う駆動制御手段と、を備え、
前記駆動制御手段は、
遊技機における少なくとも一部である特定部が有する固有振動数の周波数成分を含んだ音信号に基づき前記スピーカ部を駆動制御して、前記特定部を振動させる
遊技機。 - 前記駆動制御手段は、
周波数掃引された前記音信号に基づき前記スピーカ部を駆動制御する
請求項1に記載の遊技機。 - 前記駆動制御手段は、
周波数が往復掃引された前記音信号に基づき前記スピーカ部を駆動制御する
請求項2に記載の遊技機。 - 前記駆動制御手段は、
前記往復掃引として、0.05秒以下の往復期間による掃引が繰り返された前記音信号に基づき前記スピーカ部を駆動制御する
請求項3に記載の遊技機。 - 前面側が開口された箱状の本体ケースと、
前記本体ケースに対して開閉自在に取り付けられ、閉状態において前記開口を閉塞する前面パネルとを備え、
前記スピーカ部は、背面側の少なくとも一部が、前記閉状態において前記本体ケース内側に形成される閉空間に露呈されるように前記前面パネルに設けられた
請求項1から請求項4の何れかに記載の遊技機。 - 前記駆動制御手段は、
可聴帯域の周波数成分を含む前記音信号に基づき前記スピーカ部を駆動制御して前記特定部を振動させる
請求項1から請求項5の何れかに記載の遊技機。 - 前記駆動制御手段は複数系統の音信号を同時再生可能とされ、
前記特定部を振動させるための音である振動音と、エラー報知のための音であるエラー音と、前記振動音と前記エラー音以外の音である第三音とに少なくとも区分される音の種別ごとに、再生に用いる前記系統が定められており、
前記駆動制御手段は、
前記振動音の音信号を再生出力する際、前記複数系統のうち前記振動音と前記エラー音以外の前記系統をマスクする処理を行う
請求項1に記載の遊技機。 - 前記駆動制御手段は、
エラーが検出された場合は、前記複数系統のうち前記エラー音の系統を除く全系統をマスクする処理を行う
請求項7に記載の遊技機。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019052515A JP7232091B2 (ja) | 2019-03-20 | 2019-03-20 | 遊技機 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019052515A JP7232091B2 (ja) | 2019-03-20 | 2019-03-20 | 遊技機 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020151204A true JP2020151204A (ja) | 2020-09-24 |
JP7232091B2 JP7232091B2 (ja) | 2023-03-02 |
Family
ID=72556675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019052515A Active JP7232091B2 (ja) | 2019-03-20 | 2019-03-20 | 遊技機 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7232091B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022094350A (ja) * | 2020-12-14 | 2022-06-24 | 株式会社大都技研 | 遊技台 |
JP2022094352A (ja) * | 2020-12-14 | 2022-06-24 | 株式会社大都技研 | 遊技台 |
JP2022094353A (ja) * | 2020-12-14 | 2022-06-24 | 株式会社大都技研 | 遊技台 |
JP2022094351A (ja) * | 2020-12-14 | 2022-06-24 | 株式会社大都技研 | 遊技台 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009089741A (ja) * | 2007-10-03 | 2009-04-30 | Actuni Co Ltd | 遊技媒体収容箱、及び遊技媒体管理システム |
JP2010075400A (ja) * | 2008-09-25 | 2010-04-08 | Universal Entertainment Corp | 遊技機 |
JP2012202841A (ja) * | 2011-03-25 | 2012-10-22 | Sii Nanotechnology Inc | カンチレバーの振動特性測定方法 |
JP2015112184A (ja) * | 2013-12-10 | 2015-06-22 | 株式会社三洋物産 | 遊技機 |
JP2018051456A (ja) * | 2016-09-27 | 2018-04-05 | オムロンヘルスケア株式会社 | 超音波振動子駆動装置およびメッシュ式ネブライザ |
JP2018064867A (ja) * | 2016-10-21 | 2018-04-26 | サミー株式会社 | 遊技機 |
-
2019
- 2019-03-20 JP JP2019052515A patent/JP7232091B2/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009089741A (ja) * | 2007-10-03 | 2009-04-30 | Actuni Co Ltd | 遊技媒体収容箱、及び遊技媒体管理システム |
JP2010075400A (ja) * | 2008-09-25 | 2010-04-08 | Universal Entertainment Corp | 遊技機 |
JP2012202841A (ja) * | 2011-03-25 | 2012-10-22 | Sii Nanotechnology Inc | カンチレバーの振動特性測定方法 |
JP2015112184A (ja) * | 2013-12-10 | 2015-06-22 | 株式会社三洋物産 | 遊技機 |
JP2018051456A (ja) * | 2016-09-27 | 2018-04-05 | オムロンヘルスケア株式会社 | 超音波振動子駆動装置およびメッシュ式ネブライザ |
JP2018064867A (ja) * | 2016-10-21 | 2018-04-26 | サミー株式会社 | 遊技機 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022094350A (ja) * | 2020-12-14 | 2022-06-24 | 株式会社大都技研 | 遊技台 |
JP2022094352A (ja) * | 2020-12-14 | 2022-06-24 | 株式会社大都技研 | 遊技台 |
JP2022094353A (ja) * | 2020-12-14 | 2022-06-24 | 株式会社大都技研 | 遊技台 |
JP2022094351A (ja) * | 2020-12-14 | 2022-06-24 | 株式会社大都技研 | 遊技台 |
JP7166032B2 (ja) | 2020-12-14 | 2022-11-07 | 株式会社大都技研 | 遊技台 |
JP7166029B2 (ja) | 2020-12-14 | 2022-11-07 | 株式会社大都技研 | 遊技台 |
JP7166030B2 (ja) | 2020-12-14 | 2022-11-07 | 株式会社大都技研 | 遊技台 |
JP7166031B2 (ja) | 2020-12-14 | 2022-11-07 | 株式会社大都技研 | 遊技台 |
Also Published As
Publication number | Publication date |
---|---|
JP7232091B2 (ja) | 2023-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7232091B2 (ja) | 遊技機 | |
JP2013017525A (ja) | 遊技機 | |
JP2013017523A (ja) | 遊技機 | |
JP2018191739A (ja) | 遊技機 | |
JP7345924B2 (ja) | 遊技機 | |
JP2015062764A (ja) | スロットマシン及び遊技機 | |
JP2018191735A (ja) | 遊技機 | |
JP2010075477A (ja) | 遊技機 | |
JP2014158728A (ja) | スロットマシン及び遊技機 | |
JP6234894B2 (ja) | 遊技機 | |
JP2014144265A (ja) | 遊技機 | |
JP7345925B2 (ja) | 遊技機 | |
JP6188509B2 (ja) | 遊技機 | |
JP2018191736A (ja) | 遊技機 | |
JP6234820B2 (ja) | 遊技機 | |
JP6188582B2 (ja) | 遊技機 | |
JP6322319B2 (ja) | 遊技機 | |
JP2016039944A (ja) | 遊技機 | |
JP6140230B2 (ja) | 遊技機 | |
JP2015062762A (ja) | スロットマシン及び遊技機 | |
JP6230551B2 (ja) | 遊技機 | |
JP6173223B2 (ja) | 遊技機 | |
JP6173142B2 (ja) | 遊技機 | |
JP6427617B2 (ja) | 遊技機 | |
JP6234948B2 (ja) | 遊技機 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220310 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220930 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221004 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221018 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20221018 |
|
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: 20230207 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230217 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7232091 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |