JP6489553B2 - 遊技機 - Google Patents
遊技機 Download PDFInfo
- Publication number
- JP6489553B2 JP6489553B2 JP2016185437A JP2016185437A JP6489553B2 JP 6489553 B2 JP6489553 B2 JP 6489553B2 JP 2016185437 A JP2016185437 A JP 2016185437A JP 2016185437 A JP2016185437 A JP 2016185437A JP 6489553 B2 JP6489553 B2 JP 6489553B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- scenario
- led
- effect control
- light emission
- 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 402
- 230000008569 process Effects 0.000 claims description 396
- 230000000694 effects Effects 0.000 claims description 377
- 238000012545 processing Methods 0.000 claims description 205
- 238000004519 manufacturing process Methods 0.000 claims description 100
- 238000004458 analytical method Methods 0.000 claims description 11
- 238000013500 data storage Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 description 194
- 239000004973 liquid crystal related substance Substances 0.000 description 44
- 238000007726 management method Methods 0.000 description 44
- 230000006870 function Effects 0.000 description 42
- 238000001514 detection method Methods 0.000 description 26
- 238000003860 storage Methods 0.000 description 19
- 102100039435 C-X-C motif chemokine 17 Human genes 0.000 description 18
- 101000889048 Homo sapiens C-X-C motif chemokine 17 Proteins 0.000 description 18
- 238000012217 deletion Methods 0.000 description 17
- 230000037430 deletion Effects 0.000 description 17
- 230000008859 change Effects 0.000 description 16
- 230000004397 blinking Effects 0.000 description 15
- 239000011521 glass Substances 0.000 description 12
- 238000012790 confirmation Methods 0.000 description 10
- 238000005034 decoration Methods 0.000 description 10
- 230000004044 response Effects 0.000 description 10
- 230000005856 abnormality Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 230000015654 memory Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 230000005284 excitation Effects 0.000 description 5
- 238000004904 shortening Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 230000006872 improvement Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000002708 enhancing effect Effects 0.000 description 3
- 238000010304 firing Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000012447 hatching Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 101100364301 Schizosaccharomyces pombe (strain 972 / ATCC 24843) rsv1 gene Proteins 0.000 description 1
- 101100364302 Schizosaccharomyces pombe (strain 972 / ATCC 24843) rsv2 gene Proteins 0.000 description 1
- 241000722921 Tulipa gesneriana Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 244000145845 chattering Species 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001795 light effect Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 239000011120 plywood Substances 0.000 description 1
- 239000011347 resin Substances 0.000 description 1
- 229920005989 resin Polymers 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Pinball Game Machines (AREA)
- Display Devices Of Pinball Game Machines (AREA)
Description
発光部の動作のためには、例えば演出制御部として機能するマイクロコンピュータが、LEDドライバ回路などに対し駆動データを供給する。LEDドライバには例えば多数のLEDが接続され、LEDドライバは、各LEDに対し、駆動データに応じた発光駆動電流を流すことで発光動作を実行させる。
そこで本発明では、発光制御用のマイクロコンピュータ等の制御負荷を軽減することを目的とする。
これにより演出用の発光部と、保留数表示用の発光部のそれぞれの発光駆動制御をまとめて実行できる。
上記した遊技機においては、前記作成処理では、1タイミング分の所定サイズの前記演出用発光駆動情報を生成した後に、前記保留数表示用発光駆動情報を作成し、前記演出用発光駆動情報における特定データ領域を前記保留数表示用発光駆動情報に書き換えることで、1タイミング分の所定サイズの発光駆動情報を生成することが考えられる。
即ち特定データ領域を用意しておき、演出用の発光駆動情報の一部を保留数表示用発光駆動情報に更新するのみで演出用と保留数表示用を合成した発光駆動情報を生成する。
また、上記した遊技機においては、前記演出用発光駆動情報の前記特定データ領域には、ダミーデータが配置されることになるように、前記ランプデータが設定されており、前記作成処理では、前記特定データ領域のダミーデータを前記保留数表示用発光駆動情報に書き換えることが考えられる。
特定データ領域にはダミーデータを配置しておくことで、演出のための発光制御に影響を与えないで保留数表示用発光駆動情報を合成できる。
上記した遊技機においては、前記出力処理で出力される駆動信号に基づいて、演出用の発光部と、保留数表示用の発光部に発光駆動電流を供給する発光ドライバを1又は複数個備え、1又は複数の特定の発光ドライバは、演出用の発光部と保留数表示用の発光部の両方に対して発光駆動電流を供給するように複数の発光部が接続されており、前記作成処理では、当該特定の発光ドライバに対して出力される駆動信号の基になる発光駆動情報に前記演出用発光駆動情報と前記保留数表示用発光駆動情報が含まれるようにすることが考えられる。
これにより、演出用と保留数表示用に発光ドライバを分ける必要がなく、効率的な回路構成が可能となる。
<1.パチンコ遊技機の構造>
<2.パチンコ遊技機の制御構成>
<3.動作の概要>
<4.第1の実施の形態のドライバ構成及び提示用LED>
<5.主制御部の処理>
<6.演出制御部の処理>
[6−1:メイン処理]
[6−2:1msタイマ割込処理]
[6−3:コマンド解析処理]
[6−4:シナリオ登録・削除処理]
[6−5:シナリオ更新処理]
[6−6:LED駆動データ更新処理]
[6−7:第1の実施の形態のLED出力処理]
[6−8:LEDドライバ初期化処理]
<7.第2の実施の形態>
<8.まとめ及び変形例>
まず図1、図2を参照して、本発明の実施の形態としてのパチンコ遊技機1の構成を概略的に説明する。
図1は実施の形態のパチンコ遊技機1の外観を示す正面側の斜視図であり、図2は遊技盤の正面図である。
図1,図2に示すパチンコ遊技機1は、主に「枠部」と「遊技盤部」から成る。
「枠部」は以下説明する前枠2、外枠4、ガラス扉5、操作パネル7を有して構成される。「遊技盤部」は図2の遊技盤3から成る。以下の説明上で、「枠部」又は「枠側」とは前枠2,外枠4、ガラス扉5、操作パネル7の総称とする。また「盤部」又は「盤側」とは遊技盤3を示す。
なお遊技領域3aの前側には、透明ガラスを支持したガラス扉5が設けられており、遊技領域3aは透明ガラスを介して前面の遊技者側に表出される。
またガラス扉5の前面側には、枠側の発光手段として発光部20wが各所に設けられている。発光部20wは、例えばLEDによる発光動作として、演出用の発光動作、エラー告知用の発光動作、動作状態に応じた発光動作などを行う。
操作パネル7には、上受け皿ユニット8、下受け皿ユニット9、発射操作ハンドル10が設けられている。
また上受け皿ユニット8には、上受け皿8aに貯留された遊技球を下受け皿9a側に抜くための球抜きボタン16が設けられている。下受け皿ユニット9には、下受け皿9aに貯留された遊技球を遊技機下方に抜くための球抜きレバー17が設けられている。
また上受け皿ユニット8には、図示しない遊技球貸出装置に対して遊技球の払い出しを要求するための球貸しボタン14と、遊技球貸出装置に挿入した有価価値媒体の返却を要求するためのカード返却ボタン15とが設けられている。
さらに上受け皿ユニット8には、演出ボタン11,12、十字キー13が設けられている。演出ボタン11,12は、所定の入力受付期間中に内蔵ランプが点灯されて操作可能となり、その内蔵ランプ点灯時に押下することにより演出に変化をもたらすことができる押しボタンとされる。また十字キー13は遊技者が演出状況に応じた操作や演出設定等のための操作を行う操作子である。
また前枠2の上部の両側と、発射操作ハンドル10の近傍には、演出音を音響出力するスピーカ25が設けられている。
液晶表示装置32では、後述する演出制御部51の制御の下、背景画像上で、たとえば左、中、右の3つの装飾図柄の変動表示が行われる。また通常演出、リーチ演出、スーパーリーチ演出などの各種の演出画像の表示も行われる。
センター飾り35Cは、そのデザインにより装飾効果を発揮するだけでなく、周囲の遊技球から液晶表示装置32の表示面を保護する作用を持つ。さらにセンター飾り35Cは、遊技球の打ち出しの強さまたはストローク長による遊技球の流路の左右打ち分けを可能とする部材としても機能する。即ち球誘導レール31を介して遊技領域3a上部に打ち出された遊技球の流下経路は、センター飾り35Cによって分割された左遊技領域3bと右遊技領域3cのいずれかを流下することとなる。いわゆる左打ちの場合、遊技球は左遊技領域3bを流下していき、右打ちの場合、遊技球は右遊技領域3cを流下していく。
同様に右遊技領域3cの下方には右下飾り35Rが設けられ、装飾効果を発揮するとともに左遊技領域3bとしての範囲を規定する。
なお、遊技領域3a(左遊技領域3b及び右遊技領域3c)内には、所要各所に釘49や風車47が設けられて遊技球の多様な流下経路を形成する。
また液晶表示装置32の下方にはセンターステージ35Sが設けられており、装飾効果を発揮するとともに、遊技球の遊動領域として機能する。
なお図示していないが、センター飾り35Cには、適所に視覚的演出効果を奏する可動体役物が設けられている。
この図柄表示部33では、所定のドット領域により、第1特別図柄表示部、第2特別図柄表示部、及び普通図柄表示部が形成され、第1特別図柄、第2特別図柄、及び普通図柄のそれぞれの変動表示動作(変動開始および変動停止を一セットする変動表示動作)が行われる。
なお、液晶表示装置32は、図柄表示部33による第1、第2特別図柄の変動表示と時間的に同調して、画像による装飾図柄を変動表示する。
上始動口41及び下始動口42aの内部には、遊技球の通過を検出する検出センサ(図3に示す上始動口センサ71,下始動口センサ72)が形成されている。
この普通変動入賞装置42の下始動口42aは、図柄表示部33における第2特別図柄の変動表示動作の始動条件に係る入賞口である。そして、この下始動口42aの入賞率は可動翼片42bの作動状態に応じて変動する。即ち可動翼片42bが開いた状態では、入賞が容易となり、可動翼片42bが閉じた状態では、入賞が困難又は不可能となるように構成されている。
また右遊技領域3cの下部側には、遊技球が通過可能なゲート(特定通過領域)からなる普通図柄始動口44が設けられている。この普通図柄始動口44は、図柄表示部33における普通図柄の変動表示動作に係る入賞口であり、その内部には、通過する遊技球を検出するセンサ(図3に示すゲートセンサ73)が形成されている。
第1特別変動入賞装置45は、突没式の開放扉45bにより第1大入賞口45aを閉鎖/開放する構造とされている。また、その内部には第1大入賞口45aへの遊技球の通過を検出するセンサ(図3の第1大入賞口センサ75)が形成されている。
第1大入賞口45aの周囲は、右下飾り35Rが遊技盤3の表面から膨出した状態となっており、その膨出部分の上辺及び開放扉45bの上面が右流下経路3cの下流案内部を形成している。従って、開放扉45bが盤内部側に引き込まれることで、下流案内部に達した遊技球は容易に第1大入賞口45aに入る状態となる。
開放扉46bが開かれることで第2大入賞口46aが開放される。この状態では、左遊技領域3b或いは右遊技領域3cを流下してきた遊技球は、高い確率で第2大入賞口50に入ることとなる。
本実施の形態のパチンコ遊技機1においては、これら入賞口のうち、普通図柄始動口44以外の入賞口への入賞があった場合には、各入賞口別に設定された入賞球1個当りの賞球数が遊技球払出装置55(図3参照)から払い出される。
例えば、上始動口41および下始動口42aは3個、第1大入賞口45a、第2大入賞口46aは13個、一般入賞口43は10個などと賞球数が設定されている。
なお、これらの各入賞口に入賞しなかった遊技球は、アウト口48を介して遊技領域3aから排出される。
ここで「入賞」とは、入賞口がその内部に遊技球を取り込んだり、ゲートを遊技球が通過したりすることをいう。実際には入賞口ごとに形成されたセンサ(各入賞検出スイッチ)により遊技球が検出された場合、その入賞口に「入賞」が発生したものとして扱われる。この入賞に係る遊技球を「入賞球」とも称する。
発光部20bは演出用の発光動作やエラー告知用の発光動作を行う。
発光部20Z、20H、20Jは、それぞれ各種の状況提示用の発光部である。
発光部20Zは変動図柄識別用の発光動作を行う。発光部20Zは、例えば第1特別図柄、第2特別図柄、普通図柄のそれぞれに対応して3つ設けられており、それぞれ対応する図柄について、例えば図柄変動の停止中、変動中、当たり中を識別する発光動作を行う。
発光部20Hは保留数表示用の発光動作を行う。発光部20Hは、例えば第1特別図柄変動についての保留数を最大4個まで表示し、また第2特別図柄変動についての保留数を最大4個まで表示するものとして、例えば合計8つ設けられており、その発光状態で保留数を表示する。
発光部20Jは遊技状態報知用の発光動作を行う。発光部20Jは、所要数設けられており(この例では3つ)、それぞれの発光状態で、大当たり中、確変中、時短中などを報知する。
なお、この例では発光部20Z、20H、20Jは盤側に設けられているが、発光部20Z、20H、20Jの全部又は一部が枠側に設けられても良い。
また発光部20Zを「変動図柄識別用発光部」、発光部20Hを「保留数表示用発光部」、発光部20Jを「遊技状態報知用発光部」と表記する場合がある。
さらに発光部20Z、20H、20Jを総称して「状況提示用発光部」と表記する場合がある。
次に本実施の形態のパチンコ遊技機1の制御系の構成について説明する。図3はパチンコ遊技機1の内部構成の概略的なブロック図である。
本実施の形態のパチンコ遊技機1は、その制御構成を形成する基板として主に、主制御基板50、演出制御基板51、液晶制御基板52、払出制御基板53、発射制御基板54、電源基板58が設けられている。
演出制御基板51は、マイクロコンピュータ等が搭載され、主制御部50から演出制御コマンドを受けて、画像表示、発光、音響出力、可動体役物を用いた各種の演出動作を実行させるための制御を行う。なお以下では、演出制御基板51に搭載されたマイクロコンピュータ等を含めて演出制御基板51の構成体を「演出制御部51」と表記する。
払出制御基板53は、パチンコ遊技機1に接続された遊技球払出装置55による賞球の払い出し制御を行う。
発射制御基板54は、遊技者のパチンコ遊技機1に設けられている発射装置56による遊技球の発射動作の制御を行う。
電源基板58は、外部電源(例えばAC24V)からAC/DC変換、さらにはDC/DC変換を行い、各部に動作電源電圧Vccを供給する。なお電源経路の図示は省略している。
主制御部50は、CPU100(以下「主制御CPU100」と表記)を内蔵したマイクロプロセッサ、ROM101(以下「主制御ROM101」と表記)、RAM102(以下「主制御RAM102」と表記)を搭載し、マイクロコンピュータを構成している。
主制御CPU100は制御プログラムに基づいて、遊技の進行に応じた各種演算及び制御処理を実行する。
主制御ROM101は、主制御CPU100による遊技動作の制御プログラムや、遊技動作制御に必要な種々のデータを記憶する。
主制御RAM102は、主制御CPU100が各種演算処理に使用するワークエリアや、各種入出力データや処理データのバッファ領域として用いられる。
なお図示は省略したが、主制御部50は、各部とのインターフェース回路、特別図柄変動表示に係る抽選用乱数を生成する乱数生成回路、各種の時間計数のためのCTC(Counter Timer Circuit)、主制御CPU100に割込み信号を与える割込コントローラ回路なども備えている。
即ち、上始動口センサ71、下始動口センサ72、ゲートセンサ73、一般入賞口センサ74、第1大入賞口センサ75、第2大入賞口センサ76のそれぞれの検出信号が主制御部50に供給される。
なお、これらのセンサ(71〜76)は、入球した遊技球を検出する検出スイッチにより構成されるが、具体的にはフォトスイッチや近接スイッチなどの無接点スイッチや、マイクロスイッチなどの有接点スイッチで構成することができる。
さらに、主制御部50には、第1大入賞口45の開放扉45bを開閉駆動する第1大入賞口ソレノイド78と、第2大入賞口46の開放扉46bを開閉駆動する第2大入賞口ソレノイド79が接続されている。主制御部50は、いわゆる大当たり状況に応じて、第1大入賞口ソレノイド78又は第2大入賞口ソレノイド79を駆動制御して、第1大入賞口45又は第2大入賞口46の開放動作を実行させる。
主制御部50は、払出制御基板53に対し、払い出しに関する制御コマンド(賞球数を指定する払出制御コマンド)を送信する。払出制御基板53は当該制御コマンドに応じて遊技球払出装置55を制御し、遊技球の払い出しを実行させる。
また払出制御基板53は、主制御部50に対して、払い出し動作状態に関する情報(払出状態信号)を送信可能となっている。主制御部50側では、この払出状態信号によって、遊技球払出装置55が正常に機能しているか否かを監視する。具体的には、賞球の払い出し動作の際に、玉詰まりや賞球の払い出し不足といった不具合が発生したか否かを監視している。
演出制御部51は、CPU200(以下「演出制御CPU200」と表記)を内蔵したマイクロプロセッサ、ROM201(以下「演出制御ROM201」と表記)、RAM202(以下「演出制御RAM202」と表記)を搭載し、マイクロコンピュータを構成している。
演出制御CPU200は演出制御プログラム及び主制御部50から受信した演出制御コマンドに基づいて、各種演出動作のための演算処理や各演出手段の制御を行う。演出手段とは、本実施の形態のパチンコ遊技機1の場合、液晶表示装置32、発光部20w、20b、スピーカ25、及び図示を省略した可動体役物となる。
また演出制御CPU200は各種の状況提示のための制御も行う。具体的には発光部20Z、20H、20Jの発光制御である。
演出制御ROM201は、演出制御CPU200による演出動作の制御プログラムや、演出動作制御に必要な種々のデータを記憶する。
演出制御RAM202は、演出制御CPU200が各種演算処理に使用するワークエリアや、テーブルデータ領域、各種入出力データや処理データのバッファ領域などとして用いられる。
なお図示は省略したが、演出制御部51は、各部とのインターフェース回路、演出のための抽選用乱数を生成する乱数生成回路、各種の時間計数のためのCTC、演出制御CPU200に割込み信号を与える割込コントローラ回路、音響演出のための音源ICなども備えている。
この演出制御部51の主な役割は、主制御部50からの演出制御コマンドの受信、演出制御コマンドに基づく演出の選択決定、液晶表示装置32側への液晶制御コマンドの送信、スピーカ45の音声出力制御、発光部20w、20b、20Z、20H、20J(LED)の発光制御、可動体役物の動作制御などとなる。
VDPは、画像展開処理や画像の描画などの映像出力処理全般の制御を行う。
画像ROMには、VDPが画像展開処理を行う画像データ(演出画像データ)が格納されている。
VRAMは、VDPが展開した画像データを一時的に記憶する画像メモリ領域とされる。
液晶制御CPUは、VDPが表示制御を行うために必要な制御データを出力する。
液晶制御ROMには、液晶制御CPUの表示制御動作手順を記述したプログラムやその表示制御に必要な種々のデータが格納される。
液晶制御RAMは、ワークエリアやバッファメモリとして機能する。
枠ドライバ部61は、枠側のランプ部63のLEDについて発光駆動を行う。なお、ランプ部63とは、図1に示したように枠側に設けられている発光部20wを総括的に示したものである。
盤ドライバ部62は、盤側のランプ部64のLEDについて発光駆動を行う。なお、ランプ部64とは、図2に示したように盤側に設けられている発光部20b、20Z、20H、20Jを総括的に示したものである。
モータドライバ部70は可動体役物モータ65を駆動して、盤側に設けられている可動体役物の動作を実行させる。
可動体役物モータ65は例えばステッピングモータが用いられる。
詳しくは図4を用いて後述するが、本実施の形態の場合、演出制御部51(演出制御CPU200)は、シリアルデータ送信チャネルch1,ch2,ch3を用いて、発光駆動データやモータ駆動データをシリアルデータとして、枠ドライバ部61、盤ドライバ部62、モータドライバ部70に出力する。
なお例えば盤ドライバ部62の一部が、モータドライバ部70としての動作を行うことで、ランプ部64の各LEDと可動体役物モータ65の駆動を行うようにしてもよい。
音源IC59は、複数チャネルのフレーズをミキシングして所定本数(チャネル数)の音声信号を得る。図1に示したように、本例の場合、スピーカ25は複数設けられるため、音源IC59の出力チャネル数は例えばLch,Rchの2チャネルなど(ステレオ出力)が可能となる。上記のミキシングにより、演出制御部51より再生指示された複数チャネルのフレーズを同時再生可能とされる。
なお、図3では図示の都合上、音源IC59の出力チャネル数を1つとしているが、実際にはアンプ部67及びスピーカ25としては、例えばLch、Rchに対応した出力チャネルがそれぞれ設けられ、ステレオによる音再生が可能とされる。
また、この例では音源IC59を演出制御部51とは別体に設けるものとしたが、音源IC59は演出制御部51内に設けることもできる。
演出制御部51は、操作部60からの操作検出信号に応じて、各種演出制御を行うことができる。
MODEとEVENTの区別を行うために、MODEのBit7はON、EVENTのBit7をOFFとしている。
これらの情報を有効なものとして送信する場合、モード(MODE)およびイベント(EVENT)各々に対応してストローブ信号が出力される。すなわち、主制御CPU100は、送信すべきコマンドがある場合、演出制御部51にコマンドを送信するためのモード(MODE)情報の設定および出力を行い、この設定から所定時間経過後に1回目のストローブ信号の送信を行う。さらに、このストローブ信号の送信から所定時間経過後にイベント(EVENT)情報の設定および出力を行い、この設定から所定時間経過後に2回目のストローブ信号の送信を行う。
ストローブ信号は主制御CPU100により、演出制御CPU200が確実にコマンドを受信することが可能な所定期間アクティブ状態に制御される。
また演出制御部51(演出制御CPU200)は、ストローブ信号の入力に基づいて割込を発生させてコマンド受信割込処理用の制御プログラムを実行し、この割込処理において演出制御コマンドが取得される。
パチンコ遊技機1の動作の概説について説明する。
[図柄変動表示ゲーム]
パチンコ遊技機1では、所定の始動条件、具体的には、遊技球が上始動口41または下始動口42に入賞したことを条件に、主制御部50において乱数抽選による大当り抽選が行なわれる。この抽選結果に基づき、特別図柄(大当り抽選結果を報知するための識別図柄)を第1特別図柄表示部80または第2特別図柄表示部81に変動表示させて特別図柄変動表示ゲームを開始し、一定時間経過後に、その結果を特別図柄表示部(80又は81)に表示する。
なお説明上、第1特別図柄表示部80側の特別図柄変動表示ゲームを「第1特別図柄変動表示ゲーム」、第2特別図柄表示部81側の特別図柄変動表示ゲームを「第2特別図柄変動表示ゲーム」と称する。但し、第1,第2特別図柄を総称して「特別図柄」と表記し、また第1,第2特別図柄変動表示ゲームを「特別図柄変動表示ゲーム」と総称する。
大当り遊技が開始されると、最初に大当りが開始された旨を報知するオープニング演出が行われ、オープニング演出が終了した後、上記ラウンド遊技が規定ラウンド数、行われる。また、ラウンド遊技中は、各ラウンド対応するラウンド演出が行われる。そして、規定ラウンド数終了後には、大当りが終了される旨を報知するエンディング演出が行われ、これにより大当り遊技が終了する。
通常は、この保留球の発生順に、各保留球に対する変動表示ゲームが実行される。本実施の形態では、最大保留記憶個数と同数の4個を上限の所定個数として扱い、第1特別図柄、第2特別図柄に関する保留データをそれぞれ4個まで記憶し、特別図柄または普通図柄の変動確定回数として保留する。
本実施の形態のパチンコ遊技機1では、複数種類の遊技状態を発生可能に構成されている。
まず、本実施形態のパチンコ遊技機1は、主制御部50(CPU100)がその機能部を担う「確率変動(以下、「確変」と称する)機能」を備えている。これには特別図柄に係る確変機能(以下「特別図柄確変機能」と称する)と普通図柄に係る確変機能(以下「普通図柄確変機能」と称する)の2種類がある。
普通図柄確変機能は、補助当り抽選確率が所定確率(通常確率)である低確率(例えば256分の1)から高確率(例えば256分の255)に変動させて、通常遊技状態よりも有利な「補助当り確変状態」を発生させる機能である。この補助当り確変状態下では、補助当り抽選確率が高確率状態となることから補助当りが生起され易くなり、普電開放遊技が頻繁に発生して、通常遊技状態よりも単位時間当りの可動翼片42bの作動率が向上する作動率向上状態となる。
なお、パチンコ遊技機1では、特別図柄の変動表示時間が保留数の違いにより短縮される場合があるが、この場合は、特別図柄時短状態が発生しているわけではなく、他の制御処理によるものである。
開放延長機能は、可動翼片42bを開動作させる期間およびその開放回数を延長した「開放延長状態」を発生させる機能である。この開放延長状態は、いわゆる「電チューサポート状態」と称される。開放延長状態下では、可動翼片42bの開動作期間(始動口開状態時間)が、例えば0.2秒から1.7秒に延長され、またその開閉回数が、例えば1回から2回に延長され、通常遊技状態よりも単位時間当りの可動翼片42bの作動率が向上する作動率向上状態となる。
ここで本実施の形態では、普通図柄確変機能、普通図柄時短機能、および開放延長機能の作動開始条件は、特別図柄時短機能の作動開始条件と同じ条件としており、各機能が同じ契機にて動作することになる。
本実施の形態のパチンコ遊技機1では、特別図柄変動表示ゲームにて抽選される当りの種類、つまり大当り抽選対象となる当り種別として、「15R低ベース非確変大当り」、「15R低ベース確変α大当り」、「15R低ベース確変β大当り」、「15R高ベース確変大当り」、「2R低ベース確変大当り」、および「小当り」などの複数種類の当りが設けられている。
続いて、第1の実施の形態としてのドライバ構成を説明する。上述した演出制御部51のシリアルデータ送信チャネルch1,ch2,ch3により発光駆動データやモータ駆動データがシリアルデータとして供給される枠ドライバ部61(第1系統)、盤ドライバ部62(第2系統)、モータドライバ部70(第3系統)の構成である。
第1系統の駆動信号出力手段である枠ドライバ部61は、n個のLEDドライバ90が、演出制御CPU200のシリアルデータ出力チャネルch1に対して並列に接続されている。
シリアルデータ出力チャネルch1の信号線としては、リセット信号RESETを供給するリセット信号線、クロック信号CLKを供給するクロック線、発光駆動データ(「LED駆動データ」ともいう)としてのシリアルデータDATAを供給するデータ線、イネーブル信号ENABLEを供給するイネーブル信号線が設けられている。これら各信号線は、それぞれ、枠ドライバ部61を構成するn個のLEDドライバ90に対して各信号を並列に供給するように接続されている。
枠ドライバ部61の各LEDドライバ90には、演出制御CPU200がスレーブアドレスとして用いるデバイスIDが設定されている。即ち個々のLEDドライバ90の識別子である。説明上、仮に、図示のように各LEDドライバ90のデバイスID(スレーブアドレス)をw1〜w(n)と表記する。
シリアルデータ出力チャネルch2の信号線もチャネルch1と同様、リセット信号RESETを供給するリセット信号線、クロック信号CLKを供給するクロック線、発光駆動データとしてのシリアルデータDATAを供給するデータ線、イネーブル信号ENABLEを供給するイネーブル信号線が設けられている。これら各信号線は、それぞれ、盤ドライバ部62を構成するm個のLEDドライバ90に対して各信号を並列に供給するように接続されている。
盤ドライバ部62の各LEDドライバ90には、演出制御CPU200がスレーブアドレスとして用いるデバイスID(個々のLEDドライバ90の識別子)が設定されている。説明上、仮に、図示のように各LEDドライバ90のデバイスID(スレーブアドレス)をb1〜b(m)と表記する。
シリアルデータ出力チャネルch3の信号線も同様に、リセット信号RESETを供給するリセット信号線、クロック信号CLKを供給するクロック線、モータ駆動データとしてのシリアルデータDATAを供給するデータ線、イネーブル信号ENABLEを供給するイネーブル信号線が設けられている。これら各信号線は、それぞれ、モータドライバ部70を構成するp個のモータドライバ90Mに対して各信号を並列に供給するように接続されている。
モータドライバ部70の各モータドライバ90Mには、演出制御CPU200がスレーブアドレスとして用いるデバイスID(個々のモータドライバ90Mの識別子)が設定されている。説明上、仮に、図示のように各モータドライバ90MのデバイスID(スレーブアドレス)をmt1〜mt(p)と表記する。
枠ドライバ部61におけるLEDドライバ90の数nは、枠側に配置されるLED系列数(発光部20wの系列数)によって決められる。従ってnは1の場合もあるし、2以上の場合もある。枠ドライバ部61は1又は複数のLEDドライバ90を有する。
また盤ドライバ部62におけるLEDドライバ90の数mは、盤側に配置されるLED系列数(発光部20b、20Z、20H、20Jの系列数)によって決められる。従ってmは1の場合もあるし、2以上の場合もある。盤ドライバ部62は1又は複数のLEDドライバ90を有する。
LEDドライバ90は、シリアルバスインターフェース91、アドレス設定部92、データバッファ/PWMコントローラ93、D/A変換器94、駆動電流源回路95−1〜95−24を備える。
駆動電流源回路95−1〜95−24は、上記の24系列の駆動電流出力を、それぞれ電流端子96−1〜96−24から行う電流源である
なおシリアルデータの形式については図33で後述するが、演出制御CPU200はスレーブアドレスを指定してLED駆動データを送信してくる。
データバッファ/PWMコントローラ93は、シリアルバスインターフェース91から転送されたパラレルデータについて、スレーブアドレス確認を行う。パラレルデータに含まれるスレーブアドレスが、アドレス設定部92に設定された自己のスレーブアドレス(w1〜w(n)、b1〜b(m)のいずれか)と一致していることを確認した場合に、該パラレルデータに含まれるLED駆動データを有効なデータとして、指定されたレジスタに格納する。
D/A変換器94は、輝度情報に応じた値をアナログ信号に変換し、各電流源回路95−1〜95−24への制御信号とする。
各系列(電流端子96−1〜96−24)では、LED120及び抵抗Rの直列接続に対して電源電圧Vccが印加される。電流源回路95−1〜95−24によって各系列のLED120に電流が流され、発光が行われる。
即ち各電流源回路95−1〜95−24は、D/A変換器94から供給された信号に応じた電流量の駆動電流を、対応する系列のLED120に流すように動作する。
なお、本実施の形態では、PWM駆動方式により、電流値が例えば0mAと5mAとされ、時間軸方向で(積分的に)階調制御がされるものとしているが、もちろん階調制御はこれに限らず、実際に電流値を階調に応じて変化させても良いことはいうまでもない。デューティ制御であろうと、レベル制御であろうと、あくまでも単位時間あたりの平均電流値が階調に応じたレベルとされることで適切な階調表現が可能となる。
モータドライバ部70におけるモータドライバ90Mの数pは、可動体役物のモータ数によって決められる。従ってpは1の場合もあるし、2以上の場合もある。モータドライバ部70は1又は複数のモータドライバ90Mを有する。
図5Bに、或るモータドライバ90Mの電流端子96−1〜96−24の全部(又は一部)に可動体役物モータ65としての例えばステッピングモータ121が接続された例を示している。図5Bは電流端子96−1〜96−24の部分のみを示しているが、モータドライバ90Mの内部構成は図5Aと同様である。
ここでは4相のステッピングモータ121に対してそれぞれ、電流端子96−1〜96−4、電流端子96−5〜96−8、・・・電流端子96−21〜96−24により駆動電流を供給する構成例を示している。
図5Aに示した構成のドライバは、与えられたコマンド(シリアルデータ)によって指示される電流を電流端子96−1〜96−24から出力する回路であることから、図5Bのようにステッピングモータやソレノイド等の物理的可動体駆動デバイスに対するモータドライバ90Mとしても使用することができる。
可動体役物の動作は演出シナリオによって細かく設定され、それに応じて演出制御部51は駆動方向や駆動量などを制御するわけであるが、モータドライバ部70におけるモータドライバ90Mを利用して可動体役物を駆動することで、ランプ部64の各発光部(LED20b)とともにシリアルデータによる可動体役物制御が可能となり、制御処理及び構成が効率化できる。
そして第1系統、第2系統、第3系統の駆動信号出力手段(枠ドライバ部61、盤ドライバ部62、モータドライバ部70)には、それぞれが1又は複数の演出手段に駆動信号を出力する複数のLEDドライバ90又はモータドライバ90Mが含まれ、1つの系統内の各LEDドライバ90やモータドライバ90Mには、演出制御部51からのシリアルデータが、並列に送信される構成とされている。そして各LEDドライバ90やモータドライバ90Mは、自己のID(スレーブアドレス)が含まれる駆動データ(シリアルデータ)を取得する。
後述するが本実施の形態では、演出制御部51(演出制御CPU200)は、発光制御に関しては、一送信単位のシリアルデータを、第1系統、第2系統の駆動信号出力手段(枠ドライバ部61、盤ドライバ部62)に対して略同時的に出力し、該送信単位のシリアルデータについての、枠ドライバ部61、盤ドライバ部62に対する送信完了後に、次の一送信単位のシリアルデータを、枠ドライバ部61、盤ドライバ部62に対して略同時的に出力する送信処理を行うようにしている。
図6に状況提示用発光部20Z、20H、20Jの発光動作例を示す。
例えばそれぞれ、「点滅」が変動中、「点灯」が停止中(当たり)、「消灯」が停止中(外れ)を識別する発光態様とされる。
従って、第1特別図柄、第2特別図柄、普通図柄の変動がいずれも行われていないときは、発光部20Z−1、20Z−2、20Z−3はいずれも消灯状態である。
第1特別図柄の変動が開始されると、発光部20Z−1の点滅が開始され、変動の結果が当たりとなった場合、発光部20Z−1が点灯状態となる。
また第2特別図柄の変動が開始されると、発光部20Z−2の点滅が開始され、変動の結果が当たりとなった場合、発光部20Z−2が点灯状態となる。
また普通図柄の変動が開始されると、発光部20Z−3の点滅が開始され、変動の結果が当たりとなった場合、発光部20Z−3が点灯状態となる。
発光部20H−1〜20H−4の4つで第1特別図柄変動表示ゲームについての保留数(最大4個)を表示する。即ち発光部20H−1〜20H−4のうち、保留数に応じた個数の発光部20Hが点灯される。
発光部20H−5〜20H−8の4つで第2特別図柄変動表示ゲームについての保留数(最大4個)を表示する。即ち発光部20H−5〜20H−8のうち、保留数に応じた個数の発光部20Hが点灯される。
2つの発光部20Hによる“0”〜“4”の保留数表示は例えば次のように行う。
・0個・・・消灯:消灯
・1個・・・点灯:消灯
・2個・・・点灯:点灯
・3個・・・点滅:点灯
・4個・・・点滅:点滅
大当たり中は発光部20J−1が点灯する。
確変中は発光部20J−2が点灯する。
時短中は発光部20J−2が点灯する。
これは一例であり、他に報知すべき遊技状態を設ける場合、搭載する遊技状態報知用発光部20Jの数を適宜変更させればよい。
また当たりの種類が複数ある場合は、それぞれの当たり種別に対応するように複数の遊技状態報知用発光部20Jを設けても良い。
図7に、スレーブアドレスが「b2」のLEDドライバ90に図柄識別用発光部20Zと保留数表示用発光部20Hが接続されている例を示す。なおこのLEDドライバ90には演出用発光部20bも接続されている。
電流端子96−1には例えば発光部20H−1として機能するLED120と抵抗Rが直列接続され、抵抗Rの他端が第1電源電圧VCC1に接続される。
電流端子96−2には例えば発光部20H−2として機能するLED120と抵抗Rが直列接続され、抵抗Rの他端が第1電源電圧VCC1に接続される。
以下同様に電流端子96−3〜93−8のそれぞれに、発光部20H−3〜20H−8として機能する1つのLED120と抵抗Rが直列接続され、第1電源電圧VCC1に接続される。
電流端子96−9には例えば発光部20Z−1として機能するLED120と抵抗Rが直列接続され、抵抗Rの他端が第1電源電圧VCC1に接続される。
電流端子96−10には例えば発光部20Z−2として機能するLED120と抵抗Rが直列接続され、抵抗Rの他端が第1電源電圧VCC1に接続される。
電流端子96−11には例えば発光部20Z−3として機能するLED120と抵抗Rが直列接続され、抵抗Rの他端が第1電源電圧VCC1に接続される。
例えば電流端子96−12〜96−17にはそれぞれ、3つのLED120と抵抗Rが直列接続され、抵抗Rの他端が第2電源電圧VCC2に接続される。
電流端子96−18〜96−20にはそれぞれ、2つのLED120と抵抗Rが直列接続され、抵抗Rの他端が第2電源電圧VCC2に接続される。
この例では、電流端子96−21〜96−24は未使用とされている。
このようにスレーブアドレス「b2」のLEDドライバ90には、状況提示用発光部(20Z、20H)と演出用発光部20bが混在して接続されている。
このLEDドライバ90に対して演出制御部51から送信されてくるシリアルデータDATAには、発光演出のための発光駆動データに加えて、図柄識別のための発光駆動データ、及び保留数表示のための発光駆動データが含まれている。これにより当該LEDドライバ90は、発光演出のための発光駆動データに基づいて電流端子96−12〜96−20に接続されたLED120を発光駆動し、また図柄識別のための発光駆動データに基づいて電流端子96−9〜96−11に接続されたLED120を発光駆動し、また保留数表示のための発光駆動データに基づいて電流端子96−1〜96−8に接続されたLED120を発光駆動する。
このため演出用発光部20bを駆動するLEDドライバ90の周辺回路としては第1,第2電源電圧VCC1、VCC2の電源ラインが用意される。
すると図柄識別用発光部20Z、保留数表示用発光部20Hの発光駆動のための電源として12Vは必要ないが、仮に12Vで駆動すると抵抗Rとして大きな抵抗値のものが必要になり、熱を持ってしまう。
この熱の対策として別の電源(第3電源電圧)を用意することが考えられるが、するとLEDドライバ90の周辺回路が煩雑化する。
このようにすることで、図柄識別用発光部20Z、保留数表示用発光部20HのLED120に接続する抵抗Rとして大きな抵抗値のものを配する必要はなく、熱対策としても適切となる。
さらに、第3の電源電圧を導入するものではないため、LEDドライバ90の周辺回路の煩雑化を招かない。
図示は省略するが、当該LEDドライバ90については、電流端子96−1〜96−3に、遊技状態報知用発光部20Jとしての上記の発光部20J−1〜20J−3に相当する3個のLED120が、1個づつ接続されている。
即ち電流端子96−1には例えば発光部20J−1として機能するLED120と抵抗Rが直列接続され、抵抗Rの他端が第1電源電圧VCC1に接続される。
電流端子96−2には例えば発光部20J−2として機能するLED120と抵抗Rが直列接続され、抵抗Rの他端が第1電源電圧VCC1に接続される。
電流端子96−31には例えば発光部20J−3として機能するLED120と抵抗Rが直列接続され、抵抗Rの他端が第1電源電圧VCC1に接続される。
また、このスレーブアドレス「b3」のLEDドライバ90の電流端子96−4〜96−24の全部又は一部には、それぞれ演出用発光部20bとして機能する複数のLED120と抵抗Rが直列接続され、第2電源電圧VCC2により電流駆動が行われるようにされる。
このようにすることで、スレーブアドレス「b3」のLEDドライバ90についても、熱対策と周辺回路の煩雑化防止が図られている。
以下、本実施の形態の制御処理につき説明する。まずここでは主制御部(主制御基板)50によるメイン処理について述べる。
図8は、主制御部50のメイン処理を示すフローチャートである。メイン処理が開始されるのは、停電状態からの復旧時のように初期化スイッチ(図示せず)が操作されることなく電源がON状態になる場合と、初期化スイッチがON操作されて電源がON状態になる場合とがある。いずれの場合でも、パチンコ遊技機1に電源が投入されると、電源基板58によって各制御基板に電圧が供給される。この場合に主制御部50(主制御CPU100)は図8に示すメイン処理を開始する。
次に主制御CPU100はステップS12で、図示してない入力ポートを介して入力されるRAMクリアスイッチの出力信号であるRAMクリア信号の状態(ON、OFF)を判定する。RAMクリア信号とは、RAMの全領域を初期設定するか否かを決定する信号である。RAMクリア信号としては通常、パチンコ店の店員が操作する初期化スイッチのON/OFF状態に対応した値を有している。
続いてステップS17で主制御CPU100は、RAM領域がゼロクリアされたことを報知するための「RAMクリア表示コマンド」を初期化コマンドとして各制御基板に送信する。そしてステップS18で、RAMクリア報知タイマに、RAMクリアされた旨を報知するための時間として、例えば30秒を格納する。
その後はステップS20、S21、S22の処理として、割込みが発生するまで割込禁止状態と割込許可状態とを繰り返すとともに、その間に、各種乱数更新処理を実行する。このステップS21の各種乱数更新処理では、特別図柄変動表示や普通図柄変動表示に使用される各種乱数の初期値(スタート値)変更のために使用する乱数や、変動パターンの選択に利用される変動パターン用乱数を更新する。
なお、特別図柄変動表示や普通図柄変動表示に使用される各種乱数とは、例えばインクリメント処理によって所定数値範囲を循環している大当り抽選に係る乱数(図柄抽選に利用される特別図柄判定用乱数)や、補助当り抽選に係る乱数(補助当りの当落抽選に利用される補助当り判定用乱数)などである。また初期値変更のために使用する乱数とは、特別図柄判定用初期値乱数、補助当り判定用初期値乱数などである。
ステップS21の各種乱数更新処理では、上述の特別図柄判定用乱数カウンタや補助当り判定用乱数カウンタの初期値を生成する2つの初期値生成用カウンタ、変動パターン用乱数1カウンタ、変動パターン用乱数2カウンタなどを更新して、上記各種のソフト乱数を生成する。例えば変動パターン用乱数1カウンタとして取り得る数値範囲が0〜238とすると、主制御RAM102の変動パターン用乱数1の値を生成するためのカウント値記憶領域から値を取得し、取得した値に1を加算してから元のカウント値記憶領域に格納する。このとき、取得した値に1を加算した結果が239であれば0を元の乱数カウンタ記憶領域に格納する。他の初期値生成用乱数カウンタも同様に更新する。主制御CPU100は、間欠的に実行されるタイマ割込処理を行っている間を除いて、各種乱数更新処理を繰り返し実行するようになっている。
したがって、電源投入時や停電状態からの復旧時である場合には、通常では、バックアップフラグがON状態のはずである。ただし、何らかの理由で電源遮断までに所定の処理が完了しなかったような場合には、バックアップフラグはリセット(OFF)状態になる。そこで、バックアップフラグがOFF状態である場合には、主制御CPU100は処理をステップS13からS16に進め、遊技機の動作を初期状態に戻す。
そして、チェックサム値が算出されたら、この演算結果を、主制御RAM102のSUM番地の記憶値と比較をする。このSUM番地には、電源遮断時に、同じチェックサム演算によるチェックサム値が記憶されている。そして、記憶された演算結果は、主制御RAM102の他のデータと共に、バックアップ電源によって維持されている。したがって、本来は、ステップS14の判定によって両者が一致するはずである。
しかし、電源遮断時にチェックサム演算が実行できなかった場合や、実行できても、その後、メイン処理のチェックサム演算の実行時までの間に、ワーク領域のデータが破損している場合もある。このような場合にはステップS14の判定結果は不一致となる。
判定結果の不一致によりデータ破損が検出された場合には、主制御CPU100はステップS14からS16の処理に進んでRAMクリア処理を実行し、遊技機の動作状態を初期状態に戻す。
そしてステップS15の遊技復旧処理を終えると、ステップS19の処理に進み、CTCを初期設定してCPUを割込み許可状態に設定し、その後は、割込みが発生するまで割込禁止状態と割込許可状態とを繰り返すとともに、その間に、上述した各種乱数更新処理を実行する(ステップS20〜S22)。
このステップS53の処理により、各入賞口において入賞を検出(入賞が発生)したか否かが割込みごとに監視される。また上記「入賞カウンタ」とは、各々の入賞口ごとに対応して設けられ、入賞した遊技球数(入賞球数)を計数するカウンタである。本実施の形態では、主制御RAM102の所定領域に、上始動口41用の上始動口入賞カウンタ、下始動口42a用の下始動口入賞カウンタ、ゲート44用の普通図柄始動口入賞カウンタ、第1大入賞口45a用の第1大入賞口入賞カウンタ、第2大入賞口46a用の第2大入賞口入賞カウンタ、一般入賞口43用の一般入賞口用の入賞カウンタなどが設けられている。
またこの入力管理処理では、入賞検出スイッチからの検出情報が入賞を許容すべき期間中に入賞したか否かに基づいて、不正入賞があったか否かも監視される。たとえば大当り遊技中でないにもかかわらず第1、第2大入賞口センサ75,76が遊技球を検出したような場合は、これを不正入賞とみなして入賞検出情報を無効化し、その無効化した旨を外部に報知するべく後述のステップS55のエラー管理処理において所定のエラー処理が行われるようになっている。
エラー処理としては、例えば所定の遊技動作(例えば遊技球の払い出し動作や遊技球の発射動作など)の進行を停止させたり、エラー報知用コマンドを演出制御部51に送信して、演出手段によりエラーが発生した旨を報知させたりする。
この払出制御コマンドを受信した払出制御基板53は、遊技球払出装置55を制御し、指定された賞球数の払い出し動作を行わせる。これにより、それぞれの入賞口に対応した賞球数が払い出されるようになっている。入賞口に対応した賞球数とは、入賞口別に設定された入賞球1個当りの所定の賞球数×入賞カウンタの値分の賞球数である。
ステップS59では、主制御CPU100は、特別図柄管理処理を行う。この特別図柄管理処理では、主に、特別図柄変動表示における大当り抽選を行い、その抽選結果に基づいて、特別図柄の変動パターン(先読み変動パターン、変動開始時の変動パターン)や特別停止図柄などを決定する。
ステップS60では、主制御CPU100は特別電動役物管理処理を行う。この特別電動役物管理処理では、主に、大当り抽選結果が「大当り」または「小当り」であった場合、その当りに対応した当り遊技を実行制御するために必要な設定処理を行う。
右打ち報知演出が行われる場合、この右打ち報知情報管理処理において、演出制御コマンドとして、右打ち報知演出の実行指示する「右打ち指示コマンド」が演出制御部51に送信され、このコマンドを受けて、演出制御部51が、画像や音声による右打ち報知の実行制御を行う。
ステップS62では、主制御CPU100は、LED管理処理を行う。このLED管理処理は、図柄表示部33に対して普通図柄表示や第1,第2特別図柄表示のための表示データを出力する処理である。この処理により、普通図柄や特別図柄の変動表示および停止表示が行われる。なお、ステップS57の普通図柄管理処理で作成された普通図柄の表示データや、ステップS59の特別図柄管理処理中の特別図柄表示データ更新処理で作成される特別図柄の表示データは、このLED管理処理で出力される。
ステップS64では、主制御CPU100は、ソレノイド管理処理を行う。このソレノイド管理処理では、ステップS58の普通電動役物管理処理で作成されたソレノイド制御データに基づく普通電動役物ソレノイド77に対する励磁信号の出力処理や、ステップS60の特別電動役物管理処理で作成されたソレノイド制御データに基づく第1,第2大入賞口ソレノイド78,79に対する励磁信号の出力処理を行う。これにより、可動翼片42bや開放扉45b、46bが所定のパターンで動作し、下始動口42aや大入賞口45a、46bが開閉される。
図10において、主制御CPU100はステップS71で、まず第1特別図柄側(上始動口41側)に関する第1特図始動口チェック処理を行い、次いでステップS72で第2特別図柄側(下始動口42a側)に関する第2特図始動口チェック処理を行う。
すなわち、小当り遊技中でもなく大当り遊技中でもないとしてステップS75に進んだ場合、特別図柄が変動可能状態下に置かれ、これにより、特別図柄動作ステータスが「待機中」「変動中」「確認中」のいずれの状態であるかに応じて、それぞれに対応する特別図柄の変動表示動作に関する処理が行われる。
一方、小当り遊技中、または大当り遊技中である場合には、特別図柄が変動可能状態下には置かれないため、特別図柄の変動表示動作に関する処理を行わずにステップS79に進む。
ここで、上述の「待機中」とは、特別図柄の挙動が次回変動のための待機状態である旨を示し、「変動中」とは特別図柄の挙動が変動(変動表示)中である旨を示し、「確認中」とは特別図柄の変動が終了して停止(確定)表示中(特別図柄確認時間中)である旨を示す。
図11は、ステップS71の第1特図始動口チェック処理の詳細を示すフローチャートである。第1特図始動口チェック処理は、所定の始動条件の成立に基づいて実行される入賞時処理としての役割を果たし、第1特別図柄変動表示ゲームに係る上始動口41についての入賞チェック処理が行われる。
なお、ステップS81で上始動口41の入賞を検出しなかった場合、何もしないでこの第1特図始動口チェック処理を抜ける。
次にステップS84で、第1特図保留球に基づく、第1特別図柄変動表示ゲームに利用される各種乱数(大当り判定用乱数、特別図柄判定用乱数、変動パターン用乱数1、および変動パターン用乱数2)の乱数カウンタの現在値を取得して、それぞれ主制御RAM102の保留記憶エリアに格納する。この保留記憶エリアには、取得された上述の各種乱数値(図柄遊技に係る所定の遊技情報)が保留データとして、第1特別図柄の変動表示動作に供されるまで所定の記憶数を上限として始動条件の成立順(入賞順。ただし、本実施形態では、最大保留記憶数である第1特図保留球数が4未満の場合)に保留記憶される。
なお主制御RAM102の保留記憶エリアには、第1特別図柄と第2特別図柄とに対応した保留記憶エリアが設けられており、それぞれ保留球数分の保留データを格納可能となっている。
本実施形態では、入賞時における大当り判定用乱数値を特別電動役物作動判定用乱数ラッチバッファと該当する保留記憶エリアとに格納するようになっているが、特別電動役物作動判定用乱数ラッチバッファを設けない場合は、保留記憶エリアにそのまま格納し、必要なタイミングで、該当保留記憶エリアの大当り判定用乱数値を読み出すように構成しても良い。
第1特図先読み禁止条件が成立していない場合にはステップS87に進み、第1特図用当り乱数判定テーブルを取得し、ステップS88で主制御RAM102(特別電動役物作動判定用乱数ラッチバッファ)に格納された大当り判定用乱数値を取得して、ステップS89の乱数判定処理を行う。
乱数判定処理では、大当り判定用乱数値を利用し、特別図柄変動表示ゲーム(ここでは、第1特別図柄変動表示ゲーム)に係る「当落抽選」を行う。
特別停止図柄データ作成処理では、乱数判定処理の当落抽選結果と特別図柄判定用乱数値を利用し、特別図柄変動表示ゲーム(ここでは、第1特別図柄変動表示ゲーム)に係る「図柄抽選」を行う。
そしてステップS94で入賞コマンドデータ(下位バイト(EVENT))を作成し、またステップS95で保留球数(上位バイト(MODE))に基づく保留加算コマンドを作成し、ステップS96で演出制御部51に送信する。
これにより、第1特図始動口チェック処理を抜けて、図10のステップS72の第2特別図柄始動口チェック処理を行う。第2特別図柄始動口チェック処理は、第2特別図柄に関して、図11と概略同様の処理を行うものであるため詳細な説明は省略する。
コマンドの例として、特別図柄変動表示ゲームの当落抽選にかかる変動パターンコマンド、入賞時コマンドの一部を図12Aに示し、また図柄指定コマンドの一部を図12Bに示している。
変動パターンコマンド、入賞時コマンドは、上位バイトと下位バイトで変動パターンの種別が規定され、外れ/当たりに応じて上位バイトが異なるように構成されている。
図柄指定コマンドは、上位バイトで第1、第2特別図柄が示され、下位バイトで当たりの種別が指定される構成となっている。
[6−1:メイン処理]
続いて演出制御部51の処理について説明する。演出制御部51の処理としては、主に、メインループ上で16ms毎に行われる処理(以下「16ms処理」ともいう)と、1ms毎に行われる割り込み処理(以下「1msタイマ割込処理」ともいう)がある。
まずここでは16ms処理を含むメイン処理について説明する。
図13は、演出制御部51のメイン処理を示している。演出制御部51(演出制御CPU200)は、遊技機本体に対して電源が投入されると、図13のメイン処理を開始する。
このメイン処理において、演出制御CPU200は、まずステップS101で、遊技動作開始前における必要な初期設定処理を行う。例えば初期設定処理として、コマンド受信割込み設定、可動体役物の起点復帰処理、CTCの初期設定、タイマ割込みの許可、マイクロコンピュータの各部を含めてCPU内部のレジスタ値の初期設定などを行う。
即ちこの例では、演出制御CPU200はステップS102でのIDチェックとステップS119での乱数更新を毎ループ行うと共に、16ms毎に、ステップS105〜S118の処理(16ms処理)を行う。
IDに問題のない通常時は、演出制御CPU200はステップS104以下の処理を行うことになる。即ち演出制御CPU200は、16ms処理の実行判断のための割込みカウンタの値が「15」より大きい値となっているか否かを判断する。この割込みカウンタは、後述する図14の1msタイマ割込処理のステップS207でインクリメントされていくカウンタである。従って割込みカウンタの値が「15」より大きい場合とは、16ms処理のタイミングになっていることを意味する。
一方、割込みカウンタの値が「16」以上である場合は、演出制御CPU200はステップS105〜S118の処理を実行し、その後、ステップS119で演出用ソフト乱数の更新処理を行って1回のメイン処理を終え、再びステップS102からの処理を行うことになる。
その場合、まずステップS105では、割込みカウンタをゼロリセットする。以後、再び次の16ms処理までのカウントを行うためである。
次にステップS106で演出制御CPU200は、エラー処理を行う。このエラー処理としては、RAMクリアエラー中、役物エラー中、右打ちエラー中などにおけるエラー処理タイマの処理、各種エラーが発生した際のエラー報知のためのシナリオ登録処理、エラー報知後のエラーシナリオのクリア処理などを行うこととなる。
次にステップS107では、演出制御CPU200はデモ処理を行う。このデモ処理では、再生音の制御、デモムービー実行や役物原点補正のシナリオ登録や、そのコマンドセットなどの処理を行う。客待ち状態などでは、このデモ処理で設定されたシナリオが実行されることでデモムービー表示が実行される。
ステップS109では、演出制御CPU200は入力検知処理を行う。この入力検知処理では、操作部60の操作子(演出ボタン11、12、十字キー13)の操作による入力の検知を行い、入力を検知した場合、その操作に応じた処理を行う。
ステップS110では、演出制御CPU200はシナリオ更新処理を行う。この処理ではメインシナリオの更新、サブシナリオの更新が行われる。その際にはランプ部64,65の点灯パターン登録、再生する音の登録、可動体役物の駆動のためのモータ動作の登録なども行われる。詳しくは図20,図21を用いて後述する。
ステップS111では、演出制御CPU200は音再生処理を行う。演出制御CPU200は、シナリオデータに基づいてワークに音チャネルとして登録されている音データに基づいて、フレーズ番号やボリューム等のデータを音源ICに出力する。これによってスピーカ25からの効果音、音楽・音声等の再生出力が行われる。
ステップS112では、演出制御CPU200は役物エラー処理を行う。ここでは可動体役物の原点復帰がなされていないなどの位置エラー判定などを行う。
ステップS113では演出制御CPU200は、LED駆動データ更新を行う。ここでは、シナリオデータに基づいてワークにランプチャネルとして登録されているランプデータに基づいて、LED駆動データを作成する処理が行われる。詳しくは図26を用いて後述する。
ステップS114では演出制御CPU200は、LED出力処理を行う。即ち演出制御CPU200は、枠ドライバ部61の各LEDドライバ90と、盤ドライバ部62の各LEDドライバ90に対して、シリアルデータ出力チャネルch1、ch2から、LEDドライバ90に対する発光駆動データ(LED駆動データ)の出力を行う。詳しくは図28を用いて後述する。
さらにステップS118ではシナリオ更新カウンタをゼロリセットする。シナリオ更新カウンタは後述の1msタイマ割込処理でインクリメントされるカウンタである。
以上のような16ms処理が、図13のメインループ処理において16ms経過毎に行われる。
次に図14により1msタイマ割込処理を説明する。演出制御CPU200は、タイムカウントにより1ms毎に発生する割込要求に応じて、図14の1msタイマ割込処理を実行する。
この1msタイマ割込処理においては、まずステップS201では主制御CPU100からのテストコマンドに応じたチェックサム算出中であるか否かを判断する。チェックサム算出中でなければ、演出制御CPU200はステップS202の入力処理に進む。
このような入力処理(S202)及び入力検知処理(S109)により、ノイズ・チャタリングによる入力誤認識の防止がはかられる。また、入力カウンタを用いており、本実施の形態では例えば16ビットカウンタを用いて65535ms(約65秒)までなどをカウントできるようにしているため、いわゆる長押しの検出も可能となる。
ステップS204では、演出制御CPU200は、モータ駆動データを出力する。このステップS204では、可動体役物モータ65としてのステッピングモータ121に対する駆動データとしてのシリアルデータを、モータドライバ部70のモータドライバ90Mに対して出力することになる。
この割込みカウンタの値0〜15に応じて、ケース0〜ケース15としてステップS205の処理が規定される。例えば本実施の形態では、ケース0ではWDT(watchdog timer)クリア信号ONを行う。ケース1〜3ではモータドライバ90Mの初期化処理を行う。ケース8ではWDTクリア信号OFFを行う。
その後、演出制御CPU200はステップS207で割込みカウンタのインクリメントを行い、またステップS208でシナリオ更新カウンタのインクリメントを行う。そしてシナリオ更新カウンタの値が100未満であれば、1msタイマ割込処理を終える。
なお、シナリオ更新カウンタは上述のように16ms処理のステップS118でゼロリセットされるため、通常はシナリオ更新カウンタの値が100以上となることはない。100以上となるのは、演算異常、処理応答異常などにより16ms処理が実行されない場合や、16ms処理内の或る処理の進行が停止しているような場合である。このような場合は、無限ループに入り、WDTによってタイムアップ処理が行われるのを待つことになる。
続いて、16ms処理として図8のステップS108で行われるコマンド解析処理について、図15〜図17で説明する。演出制御CPU200は、ステップS108のコマンド解析処理として、主制御部50から供給される演出制御コマンドがコマンド受信バッファに格納されているか否かを監視し、演出制御コマンドが格納されていればこのコマンドを読み出す。この具体的な処理として、図15のステップS301〜F308の処理を行う。
ライトポインタは、コマンド受信に応じて更新され、それに応じてライトポインタで示されるアドレスに、受信した演出制御コマンドが格納されていく。リードポインタは、コマンド受信バッファからの読み出しを行った際に更新(ステップS302)される。従って、もしリードポインタ=ライトポインタでなければ、まだ読み出していない演出制御コマンドがコマンド受信バッファに格納されているということになる。そこでリードポインタ=ライトポインタでなければステップS302に進み、演出制御CPU200はコマンド受信バッファにおいてリードポインタで示されるアドレスから1バイトのコマンドデータをロードする。この場合、次の読み出し(ロード)のためにリードポインタをインクリメントしておく。
そしてモードであれば、コマンドの上位データ受信の処理として、ステップS304に進み、読み出したコマンドデータを、レジスタ「コマンドHIバイト」にセーブする。また「コマンドLOバイト」のレジスタをクリアする。そしてステップS301に戻る。
続いても、リードポインタ=ライトポインタでなければ、まだ読み出していない演出制御コマンドがコマンド受信バッファに格納されていることになるため、ステップS302に進み、演出制御CPU200はコマンド受信バッファにおいてリードポインタで示されるアドレスから1バイトのコマンドデータをロードする。またリードポインタをインクリメントする。
そして読み出したコマンドがイベントであれば、コマンドの下位データ受信の処理として、ステップS303からS305に進み、読み出したコマンドデータを、レジスタ「コマンドLOバイト」にセーブする。
そこで演出制御CPU200はステップS306で、取り込んだコマンドに応じた処理を行う。具体例は図16,図17で後述する。
図16Aは、コマンド対応処理としての基本処理を示している。2バイトの演出制御コマンドの受信に応じて、演出制御CPU200はまず図16AのステップS321で、現在テストモード中であるか否かを確認する。テストモード中であれば、ステップS322ですべての演出シナリオのクリア、音出力の停止、ランプ部63,64におけるLEDの消灯を行う。そしてステップS323でテストモードを終了する。
テストモード中でなければ、これらの処理は行わない。
そして演出制御CPU200は、ステップS330として、取り込んだ演出制御コマンドについての処理を行うことになる。
この場合、演出制御CPU200は、ステップS331で、図柄コマンド待ち状態をセットする処理を行う。これは変動パターンコマンドと、図柄コマンドが順次受信されることで、演出制御CPU200が図柄の変動表示の制御を行うためである。
この場合、演出制御CPU200は、まずステップS332で、変動パターンコマンド受信済みであるか否かを確認する。受信していなければそのまま処理を終える。
図柄指定コマンドを受信した際に、既に変動パターンコマンド受信済みであれば、ステップS333に進み、まず役物原点補正の動作についてのシナリオ登録を行う。そしてステップS334で、図柄変動フラグをセットする。図柄変動フラグは、第1特別図柄、第2特別図柄、普通図柄のそれぞれに対応してそれぞれ設けられ、それぞれのフラグで変動状態を表すものとされる。例えば各2ビットの第1特別図柄変動フラグFZ1、第2特別図柄変動フラグFZ2、普通図柄変動フラグFZ3が用意され、それぞれについて変動中、停止中(当たり)、停止中(外れ)が示される。ここでは変動開始に伴い、対応する図柄変動フラグ(FZ1,FZ2,FZ3のいずれか)を、「変動中」を示す値にセットする。
なお図柄変動フラグは、当たりの場合は、図柄変動終了時に所定時間「停止中(当たり)」を示す値にセットされ、その後、図柄変動が開始されるまで「停止中(外れ)」を示す値にセットされる。
ステップS335で演出制御CPU200は、変動開始処理を行う。その後、変動開始に応じてステップS336で変動パターンコマンドの削除を行う。
この場合、演出制御CPU200は、ステップS337で演出制御RAM202のクリア処理を行う。例えばコマンド受信/送信バッファ、操作部60についての入力情報バッファの内容や、チェックサムの記憶領域のクリアを行う。
そしてステップS338でエラー解除コマンドの送信、ステップS339で役物エラー情報のクリア、ステップS340で役物動作の停止、ステップS341で電源投入のシナリオ登録、ステップS342で液晶制御基板52へ送信する電源投入コマンドのセットを順次行う。
この場合、演出制御CPU200は、ステップS343で演出制御RAM202のクリア処理を行う。例えばコマンド受信/送信バッファ、操作部60についての入力情報バッファの内容や、チェックサムの記憶領域のクリアを行う。
そしてステップS344でエラー解除コマンドの送信、ステップS345でRAMクリアエラーセットと、エラー報知タイマのセットを行う。さらにステップS346で演出制御RAM202における抽選処理に関する情報のクリア、ステップS347で、シナリオに関する情報のクリアを行う。そしてステップS348で液晶制御基板52へ送信する電源初期投入表示(RAMクリア)コマンドのセットを行う。
この場合、演出制御CPU200は、ステップS350で第1特別図柄変動表示ゲーム又は第2特別図柄変動表示ゲームのいずれか対応する方の保留数レジスタ(演出制御RAM202内で設定された第1保留数又は第2保留数としてのレジスタ領域)における保留数の値を読み出して、加算する処理を行う。そしてステップS351で液晶制御基板52に対して保留数表示のためのコマンドをセットし、ステップS352で第1保留数又は第2保留数として更新した値をセットする。
この場合、演出制御CPU200は、ステップS360で第1特別図柄変動表示ゲーム又は第2特別図柄変動表示ゲームのいずれか対応する方の保留数レジスタ(演出制御RAM202内で設定された第1保留数又は第2保留数としてのレジスタ領域)における保留数の値を読み出して、減算する処理を行う。そしてステップS361で液晶制御基板52に対して保留数表示のためのコマンドをセットし、ステップS362で第1保留数又は第2保留数として更新した値をセットする。
この場合、演出制御CPU200は、ステップS371で遊技状態報知フラグをセットする。遊技状態報知フラグとしては、例えば「大当たり中」「確変中」「時短中」を示すフラグFJ1,FJ2,FJ3が用意される。演出制御CPU200はステップS371では状態報知コマンドで指示される遊技状態に応じて、いずれかの対応する遊技状態報知フラグをセットすることになる。
次にシナリオ登録・削除処理について説明する。シナリオとは演出制御やエラー処理その他、各種の実行すべき動作を規定したデータである。実行すべきシナリオのデータは、シナリオ登録情報として演出制御RAM202のワーク領域に登録される。図22Aに示すシナリオ登録情報の構造については後述するが、シナリオ登録情報としては、0〜63までの64個のシナリオチャネルが用意されている。この64個のシナリオチャネルに登録されたシナリオは同時に実行可能とされる。以下、シナリオチャネルを「sCH」で示す。
シナリオ登録処理とは、シナリオ登録情報における任意のシナリオチャネルに、登録を要求されたシナリオ番号のシナリオを登録する処理である。原則的には、sCH0〜sCH63のシナリオチャネルは、どのチャネルが用いられても良い。
ステップS401で演出制御CPU200は、まず今回登録すべきシナリオ番号が正常であるか否かを確認する。シナリオ番号があり得ない番号の場合は、何もせずに処理を終える。
「追加ポインタ」+Bのシナリオチャネルが空きでなければ、演出制御CPU200はステップS404で変数Bをインクリメントする。
ステップS405でB<64でなければ、この図18の処理を終える。これは全シナリオチャネルについて探索を行ったが、空きチャネルがなくてシナリオ登録が不可能となる場合である。
まだ全シナリオチャネルの探索(空きチャネルであるか否かの確認)を行っていない時点では、ステップS405でB<64である。その場合はステップS406の確認処理を行い、「追加ポインタ」+Bの値がシナリオチャネルsCHの最大値を超えた値「64」以上となっていなければステップS403に戻る。
また「追加ポインタ」+Bの値が「64」以上となっていた場合は、ステップS407で追加ポインタの値の補正処理を行う。具体的には「追加ポインタ」+Bの値が「64」となった場合、追加ポインタの値を「64」減算する処理を行う。そしてステップS403に戻る。
つまり、ステップS404での変数Bのインクリメントにより、ステップS403が行われるたびに確認されるシナリオチャネルsCHが、順次1つずつ進行することとなる。
また、変数BはステップS402でゼロリセットされてからステップS404でインクリメントされるものであるため、ステップS405でB<64とはならない場合(つまり変数Bが64に達した場合)は、既にステップS403の処理が64回行われた場合である。これは全シナリオチャネルsCH0〜sCH63を調べたが、空きがなかったと判断された場合である。そのため登録不可能として図18の処理を終えることとなる。
そこでステップS406でこの点を確認し、「追加ポインタ」+Bの値が「64」となっていたら、ステップS407では、次に確認するシナリオチャネルを「sCH0」に戻すために、追加ポインタの補正を行う。つまり追加ポインタの値を−64することで、「追加ポインタ」+Bの値が「0」となるようにする。これにより次のステップS403では、シナリオチャネルsCH0が空きであるか否か確認されるようにする。
そしてステップS409で、追加ポインタを、登録を行ったシナリオチャネル+1の値に更新する。つまり今回登録を行ったシナリオチャネルの次のシナリオチャネルの値を、追加ポインタとして記憶しておき、次回の登録処理に使用できるようにする。なお、本実施の形態ではシナリオチャネルはsCH0〜sCH63の64チャネルのため追加ポインタの最大値は63となる。
図19Aは、或るシナリオをシナリオ登録情報から削除する場合の演出制御CPU200の処理を示している。
演出制御CPU200は、コマンド或いはプログラムグラム上で指定される、削除するシナリオ番号(後述のメインシナリオ番号(mcNo))の値に基づいて、図19Aの処理を開始する。まずステップS421で演出制御CPU200は、削除要求にかかるシナリオ番号が正常であるか否かを確認する。シナリオ番号があり得ない番号の場合は、削除せずに処理を終える。
このステップS423,F424の処理によれば、シナリオチャネルsCH0からシナリオチャネルsCH63に向かって順に、削除対象のシナリオを探索していくこととなる。
ステップS423でシナリオチャネルsCH(B)に登録されているシナリオが削除対象のシナリオ番号であった場合は、ステップS426に進み、B領域、つまりシナリオチャネルsCH(B)に登録されているシナリオを削除する処理を行う。
以上により、要求された或るシナリオ番号のシナリオをワーク(シナリオ登録情報)から削除する処理が行われる。
なお、ステップS425でB<64ではないと判断される場合、つまり変数Bが64に達した場合は、シナリオチャネルsCH0〜sCH63の全てを探索したが、削除対象のシナリオが登録されていなかったということになるため、処理を終える。
演出制御CPU200は、コマンド或いはプログラム上で、或るシナリオ番号の範囲で削除指定された場合、まずステップS431で変数Bをゼロに設定する。この場合の変数Bは、sCH0〜sCH63のシナリオチャネルのうちで、削除対象範囲に該当するシナリオが登録されたチャネルを探索するために使用する変数となる。さらに変数Bは、まだ探索(削除対象範囲に該当するシナリオが登録されているか否かの確認)をしていないシナリオチャネルが残っているか否かを判断するための変数を兼ねている。
シナリオチャネルsCH(B)に登録されているシナリオが、削除対象とされた範囲内のシナリオ番号ではなければ、ステップS433を行わずにステップS434に進む。
演出制御CPU200はステップS434では、変数Bをインクリメントし、ステップS435でB<64であることを確認して、ステップS432に戻る。変数Bが64に達していたら、全シナリオチャネルsCH0〜sCH63について処理を完了したことになるため、このシナリオ範囲削除処理を終える。
以上により、シナリオ番号範囲の1又は複数のシナリオについて、ワーク(シナリオ登録情報)からの削除が行われる。
演出制御CPU200は、シナリオ全削除が要求された場合、まずステップS441で変数Bをゼロに設定する。この場合の変数Bは、sCH0〜sCH63のシナリオチャネルのうちで、保護対象のシナリオを登録したシナリオチャネルを確認するために使用する変数となる。さらに変数Bは、まだ確認(保護対象のシナリオが登録されているか否かの確認)をしていないシナリオチャネルが残っているか否かを判断するための変数を兼ねている。
そしてステップS444で変数Bをインクリメントし、ステップS445でB<64であればステップS442に戻る。変数Bが64に達していたら、全シナリオチャネルsCH0〜sCH63について処理を完了したことになるため、このシナリオ全削除処理を終える。
以上により、ワークにシナリオ登録情報として登録されているシナリオについて、保護対象のシナリオを除く全シナリオの削除が行われる。
続いてメイン処理の16ms処理のステップS110で行われるシナリオ更新処理について説明する。シナリオ更新処理では図20、図21で説明するようにメインシナリオとサブシナリオの更新が行われる。
本実施の形態では、先にも述べたようにシナリオ登録情報は、シナリオチャネル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の場合、シナリオ登録情報(ワーク)から、このシナリオが削除される(後述する図20のステップS617参照)。
本実施の形態では、ランプデータ登録情報は、ランプチャネルdwCH0〜dwCH15の16個のチャネルを有するものとされる。各ランプチャネルdwCH0〜dwCH15には優先順位が設定されており、ランプチャネルdwCH0からdwCH15に向かって順にプライオリティが高くなる。従ってランプチャネルdwCH15に登録されたシナリオ(ランプサブシナリオ)が最も優先的に実行される。また例えばランプチャネルdwCH3、dwCH10にシナリオが登録されていれば、ランプチャネルdwCH10に登録されたシナリオが優先実行される。
なお、ランプチャネルdwCH0は主にBGM(Back Ground Music)に付随するランプ演出、ランプチャネルdwCH15はエラー関係のランプ演出に用いられ、ランプチャネルdwCH1〜dwCH14が通常演出に用いられる。
16ms毎にメインシナリオタイマ(msTm)と、テーブルの時間データを比較して、一致した場合に、そのラインのランプナンバが、図22Bのランプデータ登録情報に登録される。登録されるランプチャネルdwCHは、当該ラインに示されたチャネルとなる。
例えば、上述の或るシナリオチャネルsCHにおいて、図24に示したシナリオ番号2が登録され、サブシナリオ番号2が参照されるとする。図25Aに示したランプサブシナリオ番号2では、1ライン目に時間データ(time)=0としてランプチャネル5(dwCH5)及びランプナンバ5が記述されている。この場合、メインシナリオタイマ(msTm)=0の時点で、まず当該1ライン目の情報が図22Bのランプデータ登録情報のランプチャネルdwCH5に、登録点灯ナンバ(lmpNew)=5として登録される。シナリオ登録情報のサブシナリオ実行ラインlmp(lmpIx)の値は、次のラインの値(2ライン目)に更新される。これはランプチャネルdwCH5という比較的低い優先度で、点灯ナンバ5の点灯パターン動作の実行を行うための登録となる。
2ライン目については、500×16msとなった時点で同様の処理が行われる。即ちランプデータ登録情報のランプチャネルdwCH5に、登録点灯ナンバ(lmpNew)=6(つまり点灯ナンバ6の点灯パターンの指示)が登録される。
なお、時間データ(time)が連続する2ラインで同一の値であったら、その各ラインについての処理は同時に開始されることとなる。
後述するLED駆動データ更新処理では、このように更新されるランプデータ登録情報に基づいて、LED駆動データが作成される。
本実施の形態では、モータデータ登録情報は、モータチャネルmCH0〜mCH7の8個のチャネルを有するものとされる。
各モータチャネルmCHに登録できる情報としては、図示のように、実行動作ナンバ(no)、登録動作ナンバ(noNew)、動作カウント(lcnt)、励磁カウンタ(tcnt)、実行ステップ(step)、動作ライン(offset)、親(移行元)/子(移行先)の属性(attribute)、親ナンバ(retNo)、戻りアドレス(retAddr)、ループ開始ポイント(roopAddr)、ループ回数(roopCnt)、エラーカウンタ(errCnt)、現在の入力情報(currentSw)、ソフト上のスイッチ情報(softSw)、ソフト上のカウント(softCnt)がある。
本実施の形態では、音データ登録情報は、音チャネルaCH0〜aCH15の16個のチャネルを有するものとされる。
各音チャネルaCHに登録できる情報としては、図示のように、ボリューム遷移量(frzVq)、ボリューム(frzVl)、遷移量変化(rsv2)、ボリューム変化(rsv1)、フレーズ変化(rsv0)、ステレオ(frzSt)、ループ(frzLp)、フレーズ番号hi(frzHi)、フレーズ番号low(frzLo)がある。
この音/モータサブシナリオテーブルに関しては、サブシナリオタイマ(scTm)が0になったら(なお最初は0である)、この音/モータサブシナリオテーブルの時間データ(time)の値をサブシナリオタイマ(scTm)にセットする。なお、各ラインの時間データ(time)は、当該ラインが終了するタイミングを示している。サブシナリオタイマ(scTm)には、絶対時間を記述するが、従って、セットする時間データ値は、(当該ラインの時間データ)−(前回ラインの時間データ)の値である。
当該ラインのBGMのデータは、BGMのフレーズ番号やボリューム値等の音データ登録情報に登録する情報で構成され、音データ登録情報における音チャネルaCH0(ステレオの場合は加えてaCH1)にセットされる。
当該ラインの予告音のデータは、予告音のフレーズ番号やボリューム値等の音データ登録情報に登録する情報で構成され、音チャネルaCH2〜aCH14の空いているところにセットされる。
当該ラインのエラー音のデータは、エラー音のフレーズ番号やボリューム値等の音データ登録情報に登録する情報で構成され、音チャネルaCH15にセットされる。
音コントロールのデータは、下位6バイトでチャネル情報、上位2バイトでコントロール情報とされている。
モータのデータは、モータ1個につき1バイトでモータの動作パターン番号を示すように構成されている。モータ番号に対応するモータチャネルに動作パターン番号がセットされる。
また図13のステップS111の音再生処理では、図20,図21のシナリオ更新処理で更新される音データ登録情報に基づいて、再生出力が行われる。
図13の16ms処理のステップS110として実行される図20のシナリオ更新処理では、演出制御CPU200はループ処理LP1として、シナリオチャネルsCH0〜sCH63のそれぞれについて、ステップS601〜S616の処理を行う。当該ループ処理の各回の処理対象のシナリオチャネルを「sCHn」として説明する。
ステップS604では、当該特定したアドレスで示される、メインシナリオテーブルの或るメインシナリオ番号の実行ラインが、終了コードD_SEEND(図24参照)が記述されている最終ラインであるか否かを確認する。
終了コードが記述された最終ラインであった場合は、当該シナリオチャネルsCHnに登録されたシナリオで実行すべき処理は終了したことになるため、ステップS617で、そのシナリオチャネルsCHnに登録されているシナリオをシナリオ登録情報(ワーク)から削除する。
なお、この場合のシナリオ登録の削除は、シナリオ終了に応じた通常の削除である。先に図19で説明したシナリオ削除は、この通常削除以外の、例えば未終了のシナリオをシナリオ登録情報(ワーク)から削除する処理であることを付言しておく。
そしてステップS608で、当該シナリオチャネルsCHnで指定されるサブシナリオの更新を行う。サブシナリオの更新については図21で後述する。
またその場合、ステップS612で次のラインがループ指定であるか否かを確認する。図24のメインシナリオテーブルにおいてシナリオ番号1では、最終ラインがシナリオデータループコードD_SELOPとされている例を示したが、このようにループ指定されていた場合は、ステップS613で、メインシナリオ実行ライン(mcIx)にループ行をセットする。
そしてステップS615のチェックサム処理,ステップS616のバックアップ処理を行ってシナリオチャネルsCHnについての1回の処理を終える。
シナリオ更新処理としては、ループ処理LP1として、シナリオチャネルsCH0〜sCH63のそれぞれについて以上の処理が実行されることになる。
メインシナリオタイマ(msTm)、シナリオチャネルsCHnと、メインシナリオテーブルに記述されたサブシナリオ番号(scNo)に基づいて、図21Aのサブシナリオの更新処理が行われる。
シナリオチャネルsCHnが適正値であれば、演出制御CPU200はステップS622で、サブシナリオ番号(scNo)とサブシナリオ実行ラインlmp(lmpIx)に対応するランプサブシナリオテーブル(図25A参照)のアドレスを特定する。
そしてステップS624で、メインシナリオタイマ(msTm)とランプサブシナリオテーブルの時間データ(time)を比較する。ランプサブシナリオテーブルの時間データ(time)は、当該ライン(サブシナリオ実行ラインlmp(lmpIx)で示されるライン)が開始される時間(ms)を示している。従って、メインシナリオタイマの時間(実際にはmsTm×16msの時間)が、時間データ(time)以上となっていたら、そのラインについての処理を行う。その場合、ステップS625でランプチャネルdwCHの値が正常(dwCH0〜dwCH15の範囲内)であるか否かを確認する。異常な値であれば処理を終える。正常な値であればステップS626で、現在のラインが、ランプシナリオデータ終了コードD_LSENDが記述されたラインであるか否かを確認する。
点灯パターンナンバの登録処理を図21Bに示している。この場合、まず演出制御CPU200はステップS651で、当該ラインに記述されているランプチャネルdwCHの値が正常値であるか否かを判別する。正常値でなければ登録を行わずに処理を終える。
正常値であれば、ステップS652で、当該ラインに記述されているランプナンバが正常値であるか否かを判別する。正常値でなければ登録を行わずに処理を終える。
ランプチャネルdwCH及びランプ番号のいずれもが正常値であれば、ステップS653でワークのランプデータ登録情報における、ランプチャネルdwCHに対応する領域に登録点灯ナンバ(lmpNew)と実行点灯ナンバ(lmpNo)をセットする。即ちランプサブシナリオテーブルの当該ラインから取得したランプナンバを、登録点灯ナンバ(lmpNew)にセットし、「0」を実行点灯ナンバ(lmpNo)にセットする。
以上の図21Bの処理をステップS628で行ったら、演出制御CPU200はステップS629でサブシナリオ実行ラインlmp(lmpIx)の値を+1し、ステップS630でランプチャネルdwCHの値を+1してステップS624に戻る。
ステップS631ではサブシナリオタイマ(scTm)が0であるか否かを確認する。0でなければ、音及びモータの登録を行わずにステップS639へ進む。この場合ステップS640でサブシナリオタイマ(scTm)の値をデクリメントして、この図21Aの処理を終えることとなる。
そしてステップS633では演出制御CPU200は、該当する音/モータサブシナリオ番号のテーブルの、サブシナリオ実行ライン(scIx)で示されるラインが、シナリオデータ終了コードD_SEENDが記述された行であるか否かを確認し、シナリオデータ終了コードD_SEENDが記述された行であれば処理を終了する。
シナリオデータ終了コードD_SEENDが記述された行でなければ、演出制御CPU200はステップS634で、サブシナリオタイマ(scTm)に、当該ラインの時間データ(time)から前回時間(scPrevTm)を減算した値を代入する。また前回時間(scPrevTm)には、当該ラインの時間データ(time)を代入する。
そしてステップS638で、サブシナリオ実行ライン(scIx)の値として次のラインの値をセットする。そしてステップS639でサブシナリオタイマ(scTm)が0でなければ、ステップS640でサブシナリオタイマ(scTm)をデクリメントして処理を終える。
図13のステップS114のLED駆動データ更新処理を説明する。
この処理は、ランプデータ登録情報に登録されている点灯ナンバ(登録点灯ナンバ(lmpNew)、実行点灯ナンバ(lmpNo))に対応するランプデータテーブルを参照して、LED駆動データを作成する処理である。なお上述のように、ランプデータ登録情報の点灯ナンバには、元々はランプサブシナリオテーブルに記述された、点灯パターンを示すランプナンバがセットされる。ランプナンバは点灯パターンを示すナンバと述べたが、具体的には図31Aで述べるランプデータテーブルのランプデータの番号を示すことになる。
演出制御CPU200はステップS701でそれまで出力データとしていたLED駆動データをクリアする。
そしてループ処理LP2として、ランプデータ登録情報のランプチャネルdwCH0〜dwCH15のそれぞれについて、ステップS702〜S720の処理が行われる。以下、処理対象のランプチャネルを「dwCHn」と表記して説明する。
なお実行点灯ナンバ(lmpNo)と登録点灯ナンバ(lmpNew)が一致していれば、既に過去に以上のステップS703,S704の処理が行われたものであるため、これらの処理は不要である。
図29Aは、図22Bに示したワークのランプデータ登録情報において、ランプチャネルdwCH0、dwCH5、dwCH8に登録が行われている状態を示している。この図の状態は、図29Bの時点t0の状態の一例である。
即ちランプチャネルdwCH0、dwCH5の情報については、時点t0より以前に、LED駆動データに反映されている。ランプチャネルdwCH0については、既に実行点灯ナンバ(lmpNo)と登録点灯ナンバ(lmpNew)が一致され、また実行ライン(ofset)は3(3ライン目)まで進んでいる。またランプチャネルdwCH5についても、既に実行点灯ナンバ(lmpNo)と登録点灯ナンバ(lmpNew)が一致され、また実行ライン(ofset)は2(2ライン目)まで進んでいる。時点t0では、ランプチャネルdwCH8は登録直後であり、まだ実行点灯ナンバ(lmpNo)と登録点灯ナンバ(lmpNew)が一致されていない。この後、上記ステップS703,S704の処理が行われることになる。
このような優先度の設定のため、図29Bのように複数のランプチャネルdwCHの動作が重なる場合、優先度の高いランプチャネルの点灯動作が実行される。例えば時点t0からは、ランプチャネルdwCH0、dwCH5に基づく点灯動作が制限され、dwCH8に基づく点灯が行われるようにLED駆動データが生成される。優先度の低いランプチャネルの情報を反映させないようにするためには、後述するマスクデータが使用される。
実行点灯ナンバ(lmpNo)が異常であれば、ステップS719に進む。なおランプチャネルdwCHnが登録されていない空きチャネルの場合も、ここでは異常としてステップS719に進む。
またステップS707では、ランプチャネルdwCHnに登録された実行点灯ナンバ(lmpNo)、マスクデータテーブルのアドレスを特定する。
アドレスの特定のためには演出制御CPU200は、図30のようなランプデータアドレステーブルを参照する。このランプデータアドレステーブルには、各点灯パターン、例えば全体点滅、右側点滅、左側点滅、役物点灯などを実現するためのランプデータ番号のアドレスが示されている。図30の左端の数字は、図25Aのランプサブシナリオテーブルで示されるランプナンバであり、例えばランプナンバ2のランプデータのアドレスの欄には、全体点滅の点灯パターンを行うためのランプデータ番号が記憶されたアドレスが記述されている。
また、マスクデータのアドレスの欄には、そのランプデータ番号の点灯パターンを実行する際に必要なマスクデータが記憶されたアドレスが記憶されている。例えば点灯ナンバ5の右側点滅の点灯パターンを行う際には、センターケースマスクが必要になるが、そのセンターケースマスクを行うためのマスクデータのアドレスが記述されている。
各番号のランプデータにおける各ラインには、タイマ(frame)としての時間データと点灯データが記述されている。タイマ(frame)は各ラインの点灯データによるLED駆動データの生成を行う時間を規定する。
点灯データは、各LEDドライバ90に対応して記述されている。先に図4では、枠ドライバ部61にはn個、盤ドライバ部62にはm個のLEDドライバ90が存在するとしたが、その場合、ランプデータの各ラインには、図31Aに示すように、(n+m)個のLEDドライバ90のそれぞれに対応して点灯データが記述される。なお図では各LEDドライバ90との対応をLEDドライバ90のスレーブアドレスでw1〜w(n)、b1〜b(m)で示している。
点灯データとしては、図4,図5で説明した、LEDドライバ90の1つの電流端子96(1系列のLED駆動電流生成)に対して4ビット(0h〜Fh)が割り当てられ(「h」は16進表記を示す)、16階調の輝度を指定するようにされている。図5で述べたように、LEDドライバ90には24個の電流端子96−1〜96−24がある。このため、1つの点灯データは、「FFFF000055550000AAAAAAAA(h)」のように、(4×24)ビットの情報となる。仮に図示のランプデータ1の1ライン目のように、LEDドライバ90(w1)についての点灯データが、「FFFF00000000000055550000(h)」であれば、LEDドライバ90(w1)の電流端子96−1〜96−4からは最大輝度「F」を発光させるための駆動電流を出力し、電流端子96−5〜96−16及び96−21〜96−24は非発光(最低輝度)、電流端子96−17〜96−20は輝度「5」としての駆動電流を出力することを指定する情報となる。
ランプデータにはこのような点灯データが、各LEDドライバ90(w1〜w(n)、b1〜b(m))のそれぞれに対して設定されて、かつそれらがライン毎に設定されることで、時系列的に変化する所定の発光パターンが示されることになる。(図では点灯データは一部のみに例示した。空欄部分は図示を省略したもので、実際には点灯データが記述される)
この領域Azh、Ajは、スレーブアドレスが「b2」及び「b3」のLEDドライバ90において状況提示用発光部としてのLED120が接続された電流端子に対応するデータ領域である。
図31Aのランプデータテーブルにおいて、スレーブアドレス「b2」の電流端子96−1〜96−11に対応する(4×11)ビットの領域が、斜線部で示す領域Azhであり、この領域Azhにはダミーデータが配置されている。
図31Aのランプデータテーブルにおいて、スレーブアドレス「b3」の電流端子96−1〜96−3に対応する(4×3)ビットの領域が、斜線部で示す領域Ajであり、この領域Ajにはダミーデータが配置されている。
各マスクデータ1〜5は、それぞれ各LEDドライバ90(w1〜w(n)、b1〜b(m))の各電流端子96−1〜96−24について、消灯を「0h」、マスク無しを「Fh」で示すデータとされている。
例えばマスクデータ1についてみると、枠ドライバ部61におけるLEDドライバ90(w1〜w(n))については、「0000・・・・・00(h)」と、各電流端子96−1〜96−24について消灯が設定され、盤ドライバ部62のLEDドライバ90(b1〜b(m))については、「FFFF・・・・・FF(h)」と、各電流端子96−1〜96−24についてマスク無しが設定されている。つまり枠側の発光部20wのみをマスクすることを指定するデータとなる。(なお、マスクデータ4,5はデータ値の図示を省略している)
続いてステップS708で演出制御CPU200は、ランプデータテーブルの該当ライン(現在対象のランプチャネルdwCHnの実行ライン(offset)で示されるライン)のタイマ(frame)を取得し、これを変数Dtimeに代入する。
ステップS711では変数Dtimeと実行時間(time)を比較する。変数Dtimeには現在実行中のラインのタイマ(frame)が代入されている。実行時間(time)はLED駆動データ更新処理毎(16ms毎)に上記ステップS710で+1される。従ってDtime≦timeとなれば、現ラインの終了タイミングとなる。Dtime≦timeではなければ、まだ現在のラインの終了に至らないとしてステップS711からS719に進む。Dtime≦timeの場合は、現在のラインの終了としてステップS711からS712に進む。
演出制御CPU200はステップS712で実行時間(time)を0にリセットする。またステップS713で、実行ライン(offset)の値を+1する。つまり次のラインが対象となるようにする。
ステップS714では演出制御CPU200は、実行ライン(offset)に対応するランプデータテーブル該当ラインのアドレスを特定する。そしてステップS715,S717で、そのラインに終了コード(D_DTEND)が記述されているか、ループコード(LMP_LP)が記述されているかを確認する。
終了コード(D_DTEND)が記述されていた場合は、ステップS716で、当該ランプチャネルdwCHnの登録点灯ナンバを0に更新する。つまりワーク上で、当該ランプチャネルdwCHの登録に応じた処理が完了したことを示すようにする。
ループコード(LMP_LP)が記述されていた場合はステップS718で、実行ライン(offset)の値をループ先のアドレスに更新する。
以上で、1つのランプチャネルdwCHnを対象としたLEDデータ更新を終える。ループ処理LP2として、以上の処理をランプチャネルdwCH0〜dwCH15まで順次行うことになる。
図32Aは点灯データとマスクデータを展開して生成したLED駆動データを記憶する出力データバッファ(発光駆動データ記憶部)を模式的に示している。
出力データバッファは、ランプデータテーブル及びマスクデータテーブルと同様に、各LEDドライバ90(w1〜w(n)、b1〜b(m))のそれぞれに対応して用意される。図示する1つのマスは、1つのLEDドライバ90に対応する(4×24)ビットの情報のバッファ領域を示している。
例えば図29で示した時点t0の場合、出力データバッファは、ランプデータ2のマスクデータ(図30参照:マスクなし)がアンド展開され、ランプデータ2の3ライン目の点灯データがオア展開された状態の後、ランプデータ5のマスクデータ(図30参照:センターケースマスク)がアンド展開され、ランプデータ5の2ライン目の点灯データがオア展開された状態となっている。
上述の通りマスクデータは0h(=0000)が消灯、Fh(=1111)がマスクなしである。従ってマスクデータをアンドで展開するということは、その時点までの出力データバッファの値について、消灯(マスク)したいビットを「0」とし、マスクしないビットは変更しないということになる。
さらに点灯データをオアで展開するということは、処理中のランプチャネルdwCHの点灯データが、マスク後の出力データバッファに反映されるということになる。
この処理をランプチャネルdwCH0〜dwCH15について順次行うことで、高い番号のランプチャネルほど優先されたLED駆動データが出力データバッファ上に形成されることになる。
しかしこの時点では図32Aの出力データバッファ上のLED駆動データは、スレーブアドレス「b2」の電流端子96−1〜96−11に対応する(4×11)ビットの領域DBzhと、スレーブアドレス「b3」の電流端子96−1〜96−3に対応する(4×3)ビットの領域DBjについては、ランプデータテーブルの領域Azh、Ajのダミーデータが展開された状態であり、まだ状況提示用の発光部20Z、20H、20Jに対する状況提示用(変動図柄識別用、保留数表示用、遊技状態報知用)の発光駆動情報は反映されていない。
演出制御CPU200はステップS731で、図柄変動フラグをチェックする。図16Cの説明で述べたように、演出制御CPU200は、逐次、主制御部CPU100からの図柄指定コマンドに応じて第1特別図柄変動フラグFZ1、第2特別図柄変動フラグFZ2、普通図柄変動フラグFZ3をセットしている。ステップS731ではこれらの図柄変動フラグ(FZ1,FZ2,FZ3)を確認し、各図柄変動フラグに応じてステップS732で、スレーブアドレス「b2」の電流端子96−9〜96−11に対応する(4×3)ビットの発光駆動データを設定する。そしてこれをステップS733で、出力データバッファ上の該当領域(即ち領域DBzhの後半の4×3ビット)に展開する。
そしてそれぞれ「0h」又は「Fh」とされた3つの発光部20Z−1,20Z−2,20Z−3についての各階調値(4×3ビット)を、出力データバッファ上で、領域DBzhの後半の4×3ビットに展開する。このとき点灯(「Fh」)の場合は、OR展開し、消灯(「0h」)の場合はAND展開する。ダミーデータがオール0データであるため、これによって発光部20Z−1,20Z−2,20Z−3についての各階調値が出力データバッファ上のLED駆動データに反映される。
なお、本例のようにダミーデータが「0h」である場合、発光部20Z−1,20Z−2,20Z−3についての階調値が「0h」と「Fh」のいずれの場合であっても、領域DBzhに対してOR展開するようにしてもよい。
しかしOR展開の場合、ノイズ等でダミーデータ(「0h」)が何らかの値に書き換わった場合、その不定なデータが出力されることになる。これに対し上記のように消灯(「0h」)の場合はAND展開することとすれば、ダミーデータがどんな値になっているかに関わらず、消灯(「0h」)の場合は「0h」とできる。つまり点灯(「Fh」)の場合はOR展開し、消灯(「0h」)の場合はAND展開することで、ノイズ等によるダミーデータの変化に関わらず、発光部20Z−1,20Z−2,20Z−3についての各階調値を正しく反映させたLED駆動データを出力データバッファ上で生成できる。
そしてそれぞれ「0h」又は「Fh」とされた3つの発光部20J−1,20J−2,20J−3についての各階調値(4×3ビット)を、出力データバッファ上で、領域DBjの4×3ビットにOR展開(「Fh」の場合)又はAND展開(「0h」の場合)する。ダミーデータがオール0データであるため、この展開によって発光部20J−1,20J−2,20J−3についての各階調値が出力データバッファ上のLED駆動データに反映される。
以上の図27の処理が図26のステップS721として行われる。この状態で、図32の出力データバッファ上には、演出用発光部20w、20bに対する演出用発光駆動情報と、状況提示用の発光部20Z、20H、20Jに対する状況提示用(変動図柄識別用、保留数表示用、遊技状態報知用)の発光駆動情報が合成された1タイミング分のLED駆動データが生成され、記憶されたことになる。
上述のようにLEDデータ更新処理で生成されたLED駆動データは、図13のステップS115で、実際に各LEDドライバ90に出力される。
本実施の形態では、演出制御CPU200は、LED駆動データの一送信単位のシリアルデータを、第1系統、第2系統の駆動信号出力手段(枠ドライバ部61と盤ドライバ部62)に対して略同時的に出力する。
例えば図32Bに示すように、シリアルデータ送信チャネルch1により枠ドライバ部61のLEDドライバ90(w1〜w(n))にLED駆動データの送信を行い、シリアルデータ送信チャネルch2により盤ドライバ部62のLEDドライバ90(b1〜b(m))にLED駆動データの送信を行う。
なお本実施の形態ではシリアルデータ送信チャネルch1、ch2によるLED駆動データの送信を並行して同時的に行うものとしているが、必ずしも同時的でなくても良い。
例えば図32Bに示した、各LEDドライバ90(w1〜w(n)、b1〜b(m))のそれぞれに対しては、この図33の構造のシリアルデータでLED駆動データが送信される。なおこの図33は、図4、図5で説明したシリアルデータDATA及びイネーブル信号ENABLEを示している。
このシリアルデータは、イネーブル信号ENABLEがONとされた期間に、1バイト毎順次送信が行われる。つまり当該構造のシリアルデータは、各1バイトが一送信単位となる。
このようなシリアルデータDATAは、イネーブル信号ENABLEで規定される期間に、LEDドライバ90に取り込まれる。
「データ設定開始レジスタアドレス(SX)」は、LEDドライバ90内のデータ取り込みのためのレジスタの先頭を指定する情報である。例えば図5のデータバッファ/PWMコントローラ93の内部レジスタの指定情報である。本実施の形態で採用するLEDドライバ90は、シリアルデータ取り込みのために例えばレジスタアドレス00h〜2Chのレジスタ(各8ビット)が用意される。そのうちのレジスタアドレス15h〜2Chの24個のレジスタ(各8ビット)は、24個の電流端子96−1〜96−24に対応した点灯データ(PWM階調指示データ)を入力するレジスタ(階調値設定部)とされている。そのため「データ設定開始レジスタアドレス(SX)」としてはレジスタアドレス15hを指定する。
「アドレス(SX)への書込データ」としては、「データ設定開始レジスタアドレス(SX)」で指定されたレジスタアドレス(本実施の形態では「15h」)のレジスタへの書き込みデータ、即ち電流端子96−1に対応するLED駆動データがセットされる。
「アドレス(SX+1)への書込データ」としては、「データ設定開始レジスタアドレス(SX)」で指定されたレジスタアドレス+1(本実施の形態では「16h」)のレジスタへの書き込みデータ、即ち電流端子96−2に対応するLED駆動データがセットされる。
以下同様であり、「アドレス(SX+23)への書込データ」としては、「データ設定開始レジスタアドレス(SX)」で指定されたレジスタアドレス+23(本実施の形態では「2Ch」)のレジスタへの書き込みデータ、即ち電流端子96−24に対応するLED駆動データがセットされる。
本実施の形態の場合、点灯データは16階調のデータとするため、レジスタアドレス15h〜2Chの各レジスタへの8ビットの書き込みデータとしては、上位4ビットに、点灯データをセットするようにしている。この点については後述する。
また、図13のステップS113ではLEDドライバ90の初期化を行うと述べたが、これは具体的には、使用しないレジスタアドレス00h〜14hのレジスタにデフォルト値をセットする送信処理となる。この点についても後述する。
演出制御CPU200は図28のステップS801で、スタート値に対応するシリアルデータ出力チャネルch1、ch2のLED駆動データ(図32Aの出力データバッファ)の先頭アドレスを特定する。
スタート値とは、最初に送信するLEDドライバ90の値である。本実施の形態ではシリアルデータ出力チャネルch1、ch2からそれぞれ、LEDドライバ90(w1)、LEDドライバ90(b1)に対して最初に送信を行うため、ここでは図32Aの出力データバッファにおいてw1用のLED駆動データが格納された先頭アドレスと、b1用のLED駆動データが格納された先頭アドレスを特定することになる。
シリアルデータ出力チャネルch1からは枠ドライバ部61のn個のLEDドライバ90に送信を行い、シリアルデータ出力チャネルch2からは盤ドライバ部62のm個のLEDドライバ90に送信を行いものであるため、ループ処理の回数はn回又はm回(n、mの多い方の値)となる。仮にn<mとすると、m回となる。
そしてステップS804で演出制御CPU200は、シリアルデータ出力チャネルch1,ch2のシリアルデータDATAの出力として、最初の一送信単位(1バイト)のデータ送信、即ちこの場合は図33のシリアルデータ構造に示した先頭1バイトのスレーブアドレスを送信出力する。シリアルデータ出力チャネルch1,ch2については並行して同時的にデータ送信を行う。
その一送信単位の送信を行ったら、ステップS805,S806で、各シリアルデータ出力チャネルch1,ch2についての送信出力完了を待機する。
その一送信単位の送信を行ったら、ステップS808,S809で、各シリアルデータ出力チャネルch1,ch2についての送信出力完了を待機する。
まずはレジスタアドレス(15h)への1バイトのLED駆動データ送信を、シリアルデータ出力チャネルch1,ch2について並行して同時的に行う。そしてステップS811,S812で、各シリアルデータ出力チャネルch1,ch2についての送信出力完了を待機する。
送信完了を確認したら、ステップS813で、合計24バイト、つまりレジスタアドレス15h〜2ChまでのLED駆動データ送信完了が確認されるまで、1バイトずつ、ステップS810の送信を実行していく。従って、次はレジスタアドレス(16h)への1バイトのLED駆動データ送信を、シリアルデータ出力チャネルch1,ch2について行う。さらにその送信確認後、レジスタアドレス(17h)へのLED駆動データ送信が行われる。以降も、送信完了待機→レジスタアドレス(18h)へのLED駆動データ送信→送信完了待機→レジスタアドレス(19h)へのLED駆動データ送信→送信完了待機・・・→レジスタアドレス(2Ch)へのLED駆動データ送信→送信完了待機という処理が行われていく。
図34は、以上の1回のループ処理で送信されるデータを示している。シリアルデータ出力チャネルch1,ch2において図示のように並列的にスレーブアドレス、データ設定開始レジスタアドレス、LED駆動データLPDT1,LPDT2・・・LPDT24が順次送信される。
このような送信が行われ、LEDドライバ90にLED駆動データがセットされる。LEDドライバ90側では、各レジスタ(15h〜2Ch)に書き込まれたLED駆動データLPDT1,LPDT2・・・LPDT24に示される発光輝度(0h〜Fhの16階調)基づいて、各電流端子96−1〜96−24の電流量が制御され、各電流端子96−1〜96−24に接続された各系列のLED120の発光が行われる。
以降、LEDドライバ90(w(n))、LEDドライバ90(b(m))の全てに送信するまで、ループ処理LP3が繰り返される。なお、n<mの場合、枠ドライバ部61のn個のLEDドライバ90の全てにシリアルデータ送信を完了した後は、盤ドライバ部62の残りのLEDドライバ90に対してのみステップS803〜S815の処理が行われることになる。
m回のループ処理LP3で図32Bに示したような、(n+m)個の各LEDドライバ90へのシリアルデータ出力が実行され、LED駆動データ出力(図13のステップS115の処理)が完了する。なお、搭載されるLEDドライバ90の数が異なれば、当然ループ回数も変化する。
また以上の例は2つのシリアルデータ出力チャネルch1,ch2を用いる例で述べているが、3以上のシリアルデータ出力チャネルを利用する場合も、それらが並行して同時的にシリアルデータ送信が行われるようにすれば良い。
これにより全体のシリアルデータ送信動作に要する時間を短縮でき、もって演出制御CPU200の処理負担を軽減できる。
図35は演出制御CPU200がシリアルデータ送信に使用するクロック信号CLK、送信データ、TDRE(送信データエンプティフラグ)、及び送信データの送信データレジスタへの書込タイミングを示している。
送信データとは、上述のスレーブアドレス、データ設定開始レジスタアドレス、LED駆動データLPDT1,LPDT2・・・LPDT24に相当する。ここでは1送信単位としての8ビットをデータd0〜d7として示している。
ここで、TDREは、送信データレジスタに送信データを書き込むと「0」となり、送信データレジスタに有効なデータが存在していることを示す。そして送信データレジスタのデータが実際に送信出力(送信用シフトレジスタへのロード)されて送信が開始されると「1」になり、送信データレジスタに有効なデータが存在しないことを示す。
従って演出制御CPU200の送信処理としては、TDREが「1」となったことを確認して、8ビットの送信データを送信データレジスタへ書き込み、その次の8ビットの送信データの書き込みは、次にTDREが「1」となるまで待機する。即ち図35に待機時間TWとして示す期間は、次の送信データの処理ができないことになる。
(ST1)ch1からスレーブアドレス出力(送信データレジスタへの書込)
(ST2)送信出力完了待機
(ST3)ch1からデータ設定開始レジスタアドレス出力(送信データレジスタへの書込)
(ST4)送信出力完了待機
(ST5)ch1からLED駆動データLPDT1出力(送信データレジスタへの書込)
(ST6)送信出力完了待機
(ST7)ch1からLED駆動データLPDT2出力
(ST8)送信出力完了待機
・・・中略・・・
(ST51)ch1からLED駆動データLPDT24出力
(ST52)送信出力完了待機
(ST53)ch2からスレーブアドレス出力
(ST54)ch2送信出力完了待機
(ST55)ch2からデータ設定開始レジスタアドレス出力
(ST56)送信出力完了待機
(ST57)ch2からLED駆動データLPDT1出力
(ST58)送信出力完了待機
(ST59)ch2からLED駆動データLPDT2出力
(ST60)送信出力完了待機
・・・中略・・・
(ST103)ch2からLED駆動データLPDT24出力
(ST104)送信出力完了待機
というように行っていた。
この場合、シリアルデータ出力チャネルch1,ch2のそれぞれで一送信単位の送信毎に待ち時間が発生し、送信処理効率が悪い。
これに対して本実施の形態では、
(S804)ch1、ch2からスレーブアドレス出力(送信データレジスタへの書込)
(S805,S806)ch1、ch2送信出力完了待機
というように、同時的に両シリアルデータ出力チャネルch1,ch2での送信処理を行うようにすることで、処理が効率化される。
ステップS807〜S809の処理、及びステップS810〜S812の処理についても同様である。
図13のステップS115のLED駆動データ出力処理において、このようにシリアルデータ出力処理が効率化できることで、演出制御CPU200の処理負担は大きく軽減される。
本実施の形態では16階調とする例を述べたが、もちろんより多階調としても良い。
このような構成により、枠ドライバ部61のLEDドライバ90はすべて枠側の発光部20wに対応し、また盤ドライバ部62のLEDドライバ90はすべて盤側の発光部20bに対応することとなり、これにより配線の容易化、効率化、演出制御設定の容易性などを実現できる。
このビット変換について図36で説明する。図36Aは1つのLEDドライバ90に送信する4×24ビットの点灯データの例を示している。即ち図32Aの出力データバッファの1マス分に相当するデータの例である。先頭の「F8h」(図では「h」を省略)は、LEDドライバ90のレジスタアドレス15h、16hに送信すべき点灯データである、つまり「Fh」はLEDドライバ90のレジスタアドレス15hに書き込む、電流端子96−1についての階調値としての点灯データであり、「8h」は、レジスタアドレス16hに書き込む、電流端子96−2についての階調値としての点灯データである。次の「0Fh」は、同様にレジスタアドレス17h、18hに対応する。以下同様で、最後の「00h」は、レジスタアドレス2Bh、2Chに対応する。
なお、ここでの「奇数レジスタアドレス」「偶数レジスタアドレス」というのはLEDドライバ90のレジスタ設計に応じた一例である。あくまで送信先を、レジスタアドレス15h〜2Chとした場合として便宜的に述べているにすぎない。
この場合に、奇数レジスタアドレス(15h、17h・・・2Bh)への点灯データについては、演出制御CPU200は、8ビットデータの下位4ビットをマスクして、それをLEDドライバ90に送信する。一方、偶数レジスタアドレス(16h、18h・・・2Ch)への点灯データについては、演出制御CPU200は、8ビットデータの上位4ビットをマスクして、それを4ビットシフトしたものをLEDドライバ90に送信する。つまり結果的に4ビットの点灯データを8ビットに変換して送信する。
図36Bは、点灯データ「Fh」をレジスタアドレス15hに送信する場合の処理を示している。図32Aの出力データバッファから取り出す点灯データは、各4ビットの2つ点灯データである「F8h」=「11111000」となる。このデータに対し、下位4ビットをマスクする。例えばマスクデータ「F0h」=「11110000」を用いてアンドをとる。これにより、図示のように、レジスタアドレス15hに送信するシリアルデータ「11110000」=「F0h」が得られることになる。この場合、電流端子96−1からは最大階調値(F0h)の駆動電流出力が行われることとなる。
一方、図36Cは、点灯データ「8h」をレジスタアドレス16hに送信する場合の処理を示している。上記のとおり図32Aの出力データバッファから取り出した点灯データは「F8h」=「11111000」である。このデータに対し、上位4ビットをマスクする。例えばマスクデータ「0Fh」=「00001111」を用いてアンドをとる。これにより、図示のように「00001000」というデータが得られる。さらにこの場合、当該データを4ビットシフトすることで、レジスタアドレス16hに送信するシリアルデータ「10000000」=「80h」が得られることになる。この場合、電流端子96−1からは中間的な階調値(80h)の駆動電流出力が行われることとなる。
LEDドライバ90のレジスタアドレス15h〜2Chが、8ビットのPWMデータを入力可能とされていることは、8ビットの点灯データとすれば256階調のLED発光制御が可能である。しかしながら、本実施の形態の遊技機の発光演出に用いる発光部20w、20bに対する制御としては、256階調は必要ではない。具体的には「00h」「10h」「20h」・・・「F0h」の16階調で十分である。
そこで本実施の形態では、点灯データを4ビット構造として、16階調表現を行うようにする。そしてLEDドライバ90への出力時には、4ビットを8ビットに変換して送信する。
また、近年の汎用的なLEDドライバは、256階調などの高性能タイプのものの方が生産量が多く、価格的にも有利であることが多い。そのため、例えば16階調が必要な場合に、16階調の制御能力を持つLEDドライバを採用するよりも、256階調のLEDドライバを採用する方が、コストメリットが得られ、又、安定的入手性もよい。これにより製造上及びコスト的なメリットが得られる。
また上述したように、演出制御CPU200は、4ビットの点灯データを8ビットにおける上位4ビットに配置して、8ビットのLED駆動データ(送信するシリアルデータ)を生成する。
このように上位4ビット配置により、16階調のLED駆動データを生成でき、またその処理は例えば図36B、図36Cの例のように、非常に簡易な処理である。このためビット数変換の処理負担はほとんど問題とならない。
この場合、4ビットの点灯データが「Fh」のときの、8ビットのシリアルデータ「F0h」が制御上の最大輝度となるが、LEDドライバ90は「FFh」まで対応できる。そこで、8ビットのシリアルデータの「F0h」の下位4ビットを「1111」に変換して「FFh」(=11111111)を送信するようにしてもよい。つまり送信するシリアルデータは「00h」「10h」「20h」・・・「E0h」「FFh」とする。このようにすると、LEDドライバ90の発光駆動能力上での最大輝度の発光を実行させることが可能となる。
また、「00h」以外の「10h」「20h」・・・「F0h」について、下位4ビットを「1111」に変換し、「1Fh」「2Fh」・・・「FFh」として送信してもよい。これにより、各階調での発光輝度を上げ、演出効果を向上させることができる。
また、ここまでは4ビットの点灯データを8ビットとする例で述べたが、これは一例である。第1ビット数(例えば8ビット)はLEDドライバ側の設計に応じて決められる。また第2ビット数(例えば4ビット)は、表現したい階調に応じて設定すればよい。例えば2階調なら1ビット、4階調なら2ビット、8階調なら3ビット・・・とすれば良い。
また本実施の形態では、シリアルデータ出力としてLED駆動データ送信を行うものであるが、この第2ビット数の点灯データを第1ビット数に変換して発光駆動ドライバに送信するという処理は、パラレルデータ出力、或いは無線送信出力などにも応用でき、その場合に送信先の階調能力と、求める階調表現の差がある場合に、送信元のデータ記憶容量の低減効果を得ることができる。
図13のステップS1113ではLEDドライバ90の初期化を行うと述べたが、これは、使用しないレジスタアドレス00h〜14hのレジスタにデフォルト値をセットする送信処理となる。
上述のようにLEDドライバ90のレジスタアドレス15h〜2Chは、それぞれ電流端子96−1〜96−24に対応する点灯データ(階調値)が書き込まれるレジスタとされているが、レジスタアドレス00h〜14hの各レジスタは以下のようにデータが書き込まれる。
01h:8ビット中の3つのビットで1階調あたりのフェードインスピード、3つのビットでフェードアウトスピードの各設定データがセットされる。
02h:8ビット中の5ビットで赤LEDの電流値データがセットされる。
03h:8ビット中の5ビットで緑LEDの電流値データがセットされる。
04h:8ビット中の5ビットで青LEDの電流値データがセットされる。
05h:8ビット中の6つのビットで、電流端子96−1〜96−6のオン/オフ設定データがセットされる。
06h:8ビット中の6つのビットで、電流端子96−7〜96−12のオン/オフ設定データがセットされる。
07h:8ビット中の6つのビットで、電流端子96−13〜96−18のオン/オフ設定データがセットされる。
08h:8ビット中の6つのビットで、電流端子96−19〜96−24のオン/オフ設定データがセットされる。以上のレジスタアドレス05h〜08hのレジスタは、電流端子96−1〜96−24のそれぞれについてのオン/オフ設定部となる。
09h〜0Eh:それぞれのレジスタ(8ビット)に、4つの出力端子について、各2ビットで「PWM出力優先」「フェード出力優先」「強制オン/オフ出力優先」のいずれかが選択設定される。09h〜0Ehの6個のレジスタにより24個の電流端子96−1〜96−24に対応する。
0Fh〜11h:3つのレジスタ(合計24ビット)で、24個の電流端子96−1〜96−24のフェード機能の有効/無効を設定する。
12h〜14h:3つのレジスタ(合計24ビット)で、24個の電流端子96−1〜96−24の強制オン/オフ設定をする。
00h:0x00・・・PWM周期の初期設定
01h:0x00・・・フェードイン・フェードアウトのスロープなし
02h:0x1F・・・赤LED電流値の初期設定
03h:0x1F・・・緑LED電流値の初期設定
04h:0x1F・・・青LED電流値の初期設定
05h:0x77・・・電流端子96−1〜96−6のオン設定
06h:0x77・・・電流端子96−7〜96−12のオン設定
07h:0x77・・・電流端子96−13〜96−18のオン設定
08h:0x77・・・電流端子96−19〜96−24のオン設定
09h:0x00・・・PWM出力優先
0Ah:0x00・・・PWM出力優先
0Bh:0x00・・・PWM出力優先
0Ch:0x00・・・PWM出力優先
0Dh:0x00・・・PWM出力優先
0Eh:0x00・・・PWM出力優先
0Fh:0x00・・・フェード機能無効
10h:0x00・・・フェード機能無効
11h:0x00・・・フェード機能無効
12h:0x00・・・強制オン/オフ設定を全てオフ
13h:0x00・・・強制オン/オフ設定を全てオフ
14h:0x00・・・強制オン/オフ設定を全てオフ
図37にLEDドライバ初期化処理の一例を示している。図37は1つのLEDドライバ90に対する初期化処理を示しており、ステップS113では各LEDドライバ90(w1〜w(n)、b1〜b(m))を対象として順次図37の処理を行う。
さらに演出制御CPU200はステップS903で、データ設定開始レジスタアドレスを出力する。この場合、レジスタアドレス「00h」〜「14h」への書き込みとなるため、データ設定開始レジスタアドレス=00hとする。
そして演出制御CPU200はステップS904で、順次各レジスタアドレス「00h」〜「14h」に対応するデフォルト値のデータ送信を行う。この処理で、対象としているLEDドライバ90の各レジスタアドレス「00h」〜「14h」に上述のデフォルト値が書き込まれる。つまりそのLEDドライバ90は初期設定される。
以上が完了したら、ステップS905でイネーブル信号(ENABLE)をオフとし、ステップS906でスレーブアドレスを+1する。つまり次のLEDドライバ90を指定できる状態とする。そして1つのLEDドライバ90に対する初期化処理を終える。
図37は1つのLEDドライバ90に対する初期化処理として示したが、この図37の処理により、例えば(n+m)個の各LEDドライバ90(w1〜w(n)、b1〜b(m))について順次1つずつ初期化を行っても良い。
そしてループ処理LP5として、ドライバナンバ個数分、ステップS952〜S964の処理をループして実行する。n<mとすると、ループ処理LP5をm回行う。
そしてステップS953で演出制御CPU200は、シリアルデータ出力チャネルch1,ch2のシリアルデータDATAの出力として、最初の一送信単位(1バイト)のデータ送信、即ちこの場合は図33のシリアルデータ構造に示した先頭1バイトのスレーブアドレスを送信出力する。シリアルデータ出力チャネルch1,ch2については並行して同時的にデータ送信を行う。
その一送信単位の送信を行ったら、ステップS954,S955で、各シリアルデータ出力チャネルch1,ch2についての送信出力完了を待機する。
その一送信単位の送信を行ったら、ステップS957,S958で、各シリアルデータ出力チャネルch1,ch2についての送信出力完了を待機する。
まずはレジスタアドレス(00h)への1バイトのデフォルトデータ送信を、シリアルデータ出力チャネルch1,ch2について並行して同時的に行う。そしてステップS960,S961で、各シリアルデータ出力チャネルch1,ch2についての送信出力完了を待機する。
送信完了を確認したら、ステップS962でレジスタアドレス00h〜14hまでのデフォルトデータ送信完了が確認されるまで、1バイトずつ、ステップS959の送信を実行していく。従って、次はレジスタアドレス(01h)への1バイトのデフォルトデータ送信を、シリアルデータ出力チャネルch1,ch2について行う。さらにその送信確認後、レジスタアドレス(02h)へのデフォルトデータ送信が行われる。以降も、送信完了待機→レジスタアドレス(03h)へのデフォルトデータ送信→送信完了待機→レジスタアドレス(04h)へのデフォルトデータ送信→送信完了待機・・・→レジスタアドレス(14h)へのデフォルトデータ送信→送信完了待機という処理が行われていく。
ステップS952〜S964の処理がm回行われることで図38のLEDドライバ初期化処理が完了する。つまり(n+m)個の各LEDドライバ90へのデフォルトデータの出力による初期化が完了される。なお、搭載されるLEDドライバ90の数が異なれば、当然ループ回数が異なる場合もある。
また以上の例は2つのシリアルデータ出力チャネルch1,ch2を用いる例で述べているが、3以上のシリアルデータ出力チャネルを利用する場合も、それらが並行して同時的にシリアルデータ(デフォルトデータ)送信が行われるようにすれば良い。
つまり電流端子96−1〜96−24についてのオン/オフ設定部であるレジスタアドレス05h〜08hに対して初期化処理により常時、上述のデフォルト値(=オンデータ)がセットされ、電流端子96−1〜96−24は全てオンとされ、さらにレジスタアドレス09h〜14hのデフォルト値設定により、PWM優先とされ、フェード機能、強制オン/オフ機能は無効化される。このため各LEDドライバ90は、階調値設定部であるレジスタアドレス15h〜2Chに書き込まれた階調値(点灯データの値)に基づくPWM制御を行って、電流端子96−1〜96−24からの階調に応じた電流量の発光駆動電流を流す状態となる。
これを演出制御CPU200側から見ると、0h〜Fhの点灯データにより、消灯、点灯、及び点灯時の発光輝度制御の全てが実行できるということである。
これにより演出制御CPU200では、LED発光制御を簡易な点灯データ設定で実現可能であり、処理負担は少なく、また制御のために必要なデータ容量も点灯データのみと少なくでき、演出制御ROM201等の容量消費の低減も実現される。
なお本実施の形態のでは、オン/オフ設定部であるレジスタアドレス05h〜08hを常時オン設定とする処理として、16ms毎の初期化処理を行うが、16階調のデータを送信するのみで消灯から階調制御された点灯までを制御するには、あくまでレジスタアドレス05h〜08hが常時オン設定とされていればよい。従って例えば演出制御CPU200は、例えば電源投入時の最初に初期化処理を行ってレジスタアドレス05h〜08hをオン設定とするのみでもよい。これもオン/オフ設定部が常時オン設定となる処理の一例である。
続いて、第2の実施の形態としてのドライバ構成を説明する。なお第1の実施の形態と同様となる構成や処理については省略し、異なる点のみ説明する。
図39には、第1の実施の形態における図4と同様の形式で、演出制御部51(演出制御CPU200)と、LEDドライバ130の接続構成を示した。
この例も演出制御CPU200は3つのシリアルデータ出力チャネルch1,ch2,ch3を使用する例とし、LEDドライバ130として2系統(枠ドライバ部61、盤ドライバ部62)設けられ、モータドライバ130Mとして1系統(モータドライバ部70)設けられる。
シリアルデータ出力チャネルch1によって、枠ドライバ部61としての複数のLEDドライバ130に対するシリアルデータ送信が行われる。
シリアルデータ出力チャネルch2によって、盤ドライバ部62としての複数のLEDドライバ130に対するシリアルデータ送信が行われる。
シリアルデータ出力チャネルch3によって、モータドライバ部70としての複数のモータドライバ130Mに対するシリアルデータ送信が行われる。
ラッチ信号LATCH、クロック信号CLK、イネーブル信号ENABLE線は、枠ドライバ部61(或いは盤ドライバ部62、モータドライバ部70)を構成する複数のLEDドライバ130(又はモータドライバ130M)に対して並列に供給される。一方、シリアルデータDATAは、枠ドライバ部61(或いは盤ドライバ部62、モータドライバ部70)を構成する複数のLEDドライバ130(又はモータドライバ130M)のうちの先頭のLEDドライバ130(又はモータドライバ130M)に供給され、順次後段のLEDドライバ130(又はモータドライバ130M)に転送していくようにされる。
即ち1つの系統内の各LEDドライバ130(又はモータドライバ130M)は、シリアルデータDATAの入出力が順次直列接続されており、演出制御CPU200からのシリアルデータDATAは、1つの系統内の先頭のLEDドライバ130(又はモータドライバ130M)から終端のLEDドライバ130(又はモータドライバ130M)に順次転送され、各LEDドライバ130(又はモータドライバ130M)は、演出制御CPU200からのラッチ信号に基づいて、シリアルデータDATAを取り込む構成とされている。
従って1つのLEDドライバ130によっては、最大16系列のLED駆動電流を出力することができる。1つの「系列」とは、1つの電流出力端子に対して直列又は並列で接続される1又は複数のLEDの群を指している。
枠ドライバ部61におけるLEDドライバ130の数は、枠側に配置されるLED系列数(発光部20wの系列数)によって決められる。
また盤ドライバ部62におけるLEDドライバ130の数は、盤側に配置されるLED系列数(発光部20b、20Z、20H、20Jの系列数)によって決められる。
モータドライバ部70におけるモータドライバ130Mの数は、可動体役物のモータ数によって決められる。
LEDドライバ130は、16ビットシフトレジスタ131、ラッチ部132、出力ゲート部133及び定電流端子139−1〜139−16を備える。
定電流端子139−1〜139−16の全部(又は一部)には16系列のLED120が接続される。なお、図は簡略化して1系列の定電流端子139に1つのLED120が接続された状態を示しているが、1系列の定電流端子139に、複数のLEDが接続される構成(例えば直列接続)も当然あり得る。
なお、各系統の先頭のLEDドライバ130の端子134には、演出制御CPU200からのシリアルデータDATAが供給される。各系統の2つ目以降のLEDドライバ130の端子134は、1つ前のLEDドライバ130の端子136が接続される。
シフトレジスタ131は例えば16段のDフリップフロップ回路から成り、クロック信号CLKのタイミングで、端子134からのシリアルデータDATAを取り込むと共に、各Dフリップフロップ回路に保持していたデータを後段にシフトさせていく。なお、16段目のDフリップフロップ回路の出力は、端子136から、次のLEDドライバ130の端子134から、そのシフトレジスタ131に供給される。
ラッチ部132でラッチされた16ビットのデータは、出力ゲート部133に供給される。
なお、各系統のLEDドライバ130は、シリアルデータDATAが順次転送される構成をとっている。演出制御CPU200は、終端のLEDドライバ130に対するLED駆動データ(16ビット)、その前のLEDドライバ130に対するLED駆動データ(16ビット)・・・先頭のLEDドライバ130に対するLED駆動データ(16ビット)を順次連続して出力する。そして先頭のLEDドライバ130に対する16ビットのLED駆動データを転送したタイミングで、系統内の全LEDドライバ130に対して並列にラッチ信号LATCHを出力することで、各LEDドライバ130は、自己に供給された16ビットのLED駆動データをラッチ部132に取り込むことができる。
このような構成により、各LEDドライバ130は、接続された最大16系統のLED120を駆動する。
概略同様なので詳細な説明は省略するが、実際には一部のLEDドライバ130では、図7で説明したように、発光部20bとともに、図柄識別用発光部20Z、保留数表示用発光部20H、遊技状態報知用発光部20Jのいずれかが接続されている。
その場合、図7と同様に、演出用の発光部20bとしてのLED120は複数が直列接続される場合、第2電源電圧(例えば12V)が発光駆動のための電源として接続され、一方、図柄識別用発光部20Z、保留数表示用発光部20H、遊技状態報知用発光部20Jとしては1個のLED120が用いられて、LEDドライバ130が電源として用いている第1電源電圧VCC1(例えば5V)を発光駆動のための電源として用いるように接続されていれば良い。
この第2の実施の形態としてのLED出力処理を図41で説明する。
第1の実施の形態で述べた場合と同様、図13のステップS114のLEDデータ更新処理で生成されたLED駆動データが、ステップS115の処理で各LEDドライバ130に出力される。
なお、LEDデータ更新処理で生成されたLED駆動データは、その元となるランプデータにおいて、提示用の発光部20Z、20H、20Jが接続された定電流端子に対応する領域にはダミーデータが配置され、該ダミーデータが図27のような処理で更新されることで、演出用の発光駆動情報と状況提示用(図柄識別用、保留数表示用、遊技状態報知用)の発光駆動情報が合成されたものとなっている。
次にステップS852で演出制御CPU200は、各シリアルデータ出力チャネルch1,ch2のラッチ信号LATCHをオフとする。さらにステップS853で各シリアルデータ出力チャネルch1,ch2のイネーブル信号ENABLEをオンとする。
説明上、仮に、LEDドライバ130の数が、枠ドライバ部61は5個、盤ドライバ部62は6個であるとする。つまりシリアルデータ出力チャネルch1は5個のLEDドライバ130に送信を行い、シリアルデータ出力チャネルch2は6個のLEDドライバに送信を行うものとする。
なお、送信データレジスタへの書き込みは8ビットずつ行われる一方、1つのLEDドライバ130には16ビットのデータを送信する。従って1つのLEDドライバ130に対して2回の送信が必要となる。従って送信データレジスタへの書込は、シリアルデータ出力チャネルch1では10回、シリアルデータ出力チャネルch2では12回となる。
そしてループ処理LP4としては、最もLEDドライバ130の数の多い(6個)、シリアルデータ出力チャネルch2の送信回数(=12回)だけ、ループすることとなる。
また略同時に、ステップS855でシリアルデータ出力チャネルch2のシリアルデータDATAの出力(送信データレジスタへの8ビットの書き込み)を行う。
このように各シリアルデータ出力チャネルch1,ch2では、それぞれの系統のシリアルデータDATA(16ビット×LEDドライバ数)の送信が、同時に実行される。
そしてステップS856,S857で演出制御CPU200は、各シリアルデータ出力チャネルch1,ch2におけるシリアルデータDATAの送信完了を待機する。
送信完了となったら、再びステップS854,S855の処理を行う。
従ってこの例では、シリアルデータ出力チャネルch1については、完了後のループ回数目ではステップS854のシリアルデータ出力は行わない場合が生ずる。
なお、実際のシリアルデータ送信中以外は、シフトレジスタ131でのデータシフトが行われないようにクロック信号CLKの制御(例えばマスク等)を行うことは当然である。
この時点で、イネーブル信号ENABLEはオンである。例えば各LEDドライバ130の出力ゲート部133は、端子138からのイネーブル信号ENABLEがオフの場合に、ラッチ部132にラッチされたLED駆動データにより定電流端子139−1〜139−16を駆動するものとされている。そこで演出制御CPU200はステップS862でイネーブル信号ENABLEをオフとする。これによって、各LEDドライバ130は、今回書き込まれたLED駆動データに基づいて、接続されたLED120の発光駆動を行うこととなる。
そして当該送信の完了後、各LEDドライバ130にラッチを実行させる。
これにより全体のシリアルデータ送信動作に要する時間を短縮でき、もって演出制御CPU200の処理負担を軽減できる。
(ST1)ch1のシリアルデータ送信(送信データレジスタへの書込)
(ST2)ch1送信出力完了待機
・・・以上を所要回数ループ
(STx)ch1ラッチ信号LATCHオン
(STx+1)ch2のシリアルデータ送信(送信データレジスタへの書込)
(STx+2)ch2送信出力完了待機
・・・以上を所要回数ループ
(STy)ch2ラッチ信号LATCHオン
というように行っていた。
この場合、シリアルデータ出力チャネルch1,ch2のそれぞれで待ち時間が発生し、送信処理効率が悪い。
これに対して本実施の形態では、
(S854,S855)ch1、ch2からシリアルデータ送信開始
(S856,S857)ch1、ch2の送信出力完了待機
(S860)ch1、ch2のラッチ信号LATCHオン
というように、同時的に両シリアルデータ出力チャネルch1,ch2での送信処理を行うようにすることで、処理が効率化される。
従って最もLEDドライバ130の数の多い駆動信号出力手段へのシリアルデータ転送完了までが全体の待機時間となる。即ち、上記例では最もLEDドライバ130の数が多いシリアルデータ出力チャネルch2に必要な時間内で、全てのシリアルデータ出力チャネルch1,ch2へのデータ送信が完了できる。
これにより、個別の駆動信号出力手段への出力及び待機を行うことに比べて、シリアルデータ送信に要する全体の時間は著しく短縮できる。
また図41では、ステップS856、S857の各シリアルデータ出力チャネルch1,ch2での送信完了確認後に、ステップS860で全系統のラッチを実行させるものとしたが、実際には、シリアルデータ出力が完了したシリアルデータ出力チャネルからラッチオンとしていっても良い。
またLEDドライバ130の系統を3系統以上とした場合、例えば枠ドライバ部、第1の盤ドライバ部、第2の盤ドライバ部62をシリアルデータ出力チャネルch1,ch2,ch3にそれぞれ接続するような構成の場合、3つのシリアルデータ出力チャネルch1,ch2,ch3を対象として図41の処理を行えば良い。4系統以上の場合も同様である。
このような構成により、枠ドライバ部61のLEDドライバ130はすべて枠側の発光部20wに対応し、また盤ドライバ部62のLEDドライバ130はすべて盤側の発光部20b、20Z、20H、20Jに対応することとなり、これにより配線の容易化、効率化、演出制御設定の容易性などを実現できる。
以上の実施の形態のパチンコ遊技機1によれば発光制御のための処理を効率化でき、発光制御処理負荷を軽減することができる。
また実施の形態のパチンコ遊技機1は、演出用の発光部20w、20bと、状況提示用の発光部(図柄識別用発光部20Z、保留数表示用発光部20H、遊技状態報知用発光部20J)と、演出用及び状況提示用の各発光部の発光を制御する発光制御手段(演出制御部51)とを備える。発光制御手段としての演出制御部51は、適宜タイミングで発光演出を決定する決定処理(シナリオ更新処理S110)を行うとともに、発光駆動情報を作成して該発光駆動情報を発光駆動データ記憶部(出力データバッファ)に記憶する作成処理(LED駆動データ更新処理S114)と、発光駆動データ記憶部に記憶された発光駆動情報に基づく駆動信号を出力する出力処理(LED出力処理S115)とを所定周期毎(16m処理毎)に行うことにより発光演出を実現するように構成されている。そして作成処理では、決定された発光演出を実行する状態において、実行する演出に対応するランプデータに基づいて演出用の発光部20w,20bに対する演出用発光駆動情報(演出用のLED駆動データ)を作成する(図26のステップS701〜S720)。さらに遊技状況に応じて状況提示用の発光部20Z、20H、20Jに対する状況提示用発光駆動情報(変動図柄識別用、保留数表示用、遊技状態報知用の各LED駆動データ)を作成し(S721)、演出用発光駆動情報と状況提示用発光駆動情報を合成したものを前記所定周期における1タイミング分の発光駆動情報(LED駆動データ)とする。
これにより演出用の発光部と、状況提示用(変動図柄識別用、保留数表示用、遊技状態報知用)の発光部のそれぞれの発光駆動制御が共通の出力処理で実行されるため、演出制御部51の処理が効率化され、処理負担の軽減、処理の迅速性が実現できる。これは変動図柄識別用、保留数表示用、遊技状態報知用の各LED駆動データを、演出用のLED駆動データと別のタイミングで出力する必要はなく、これらの状況提示用に別途出力処理を行わなくても良いためである。
また共通の出力処理とすることで、演出用の発光部(LED120)と、状況提示用(変動図柄識別用、保留数表示用、遊技状態報知用)の発光部(LED120)を共通のLEDドライバ90(130)に接続する場合も制御しやすい。特定のLEDドライバ90(130)に対して、別途状況提示用のLED駆動データを転送するような必要がなくなるためである。
これにより主制御部50による演出指示による演出発光と、主制御部50から通知された状況(図柄変動状態、保留数、遊技状態)の提示のための発光とについて、効率的な処理が実現される。即ち、主制御部50から発光演出が逐次指示され、また主制御部50から遊技状況が逐次指示される場合において、演出制御部51は、演出と状況提示のための発光制御処理を効率化できる。
これにより、指定された複数種類の多様な発光演出に基づく発光駆動と、変動図柄識別用、保留数表示用、遊技状態報知用の発光駆動を効率的に実行できる。
これによりシナリオに規定された発光演出が適切に実現されつつ、状況提示用の発光部の発光駆動制御も効率的に実行できる。
即ち特定データ領域を用意しておき、演出用の発光駆動情報の一部を変動図柄識別用発光駆動情報に更新するのみで演出用と状況提示用を合成した発光駆動情報を生成することができ、演出用及び状況提示用という両方の発光駆動を行う発光駆動データを容易な処理で生成できる。
特定データ領域DBzh,DBjに配置されるランプデータの領域Azh、Ajのデータとしてダミーデータを配置しておくことで、演出のための発光制御に影響を与えないで状況提示用発光駆動情報を合成できる。このため演出用と状況提示用の発光駆動データの合成が容易となり処理負担の増加を回避できる。
これら特定のLEDドライバ90(b2)(b3)は、演出用の発光部20bと状況提示用の発光部20Z、20H(又は20J)の両方に対して発光駆動電流を供給するように複数のLED120が接続されている。これに対応して演出制御部51の作成処理では、当該特定のLEDドライバ90(b2)(b3)に対して出力される駆動信号の基になる発光駆動情報に演出用発光駆動情報と状況提示用発光駆動情報が含まれるようにしている。例えば出力データバッファ上で、LEDドライバ90(b2)(b3)に対応する領域の一部が特定データ領域DBzh,DBjとされて状況提示用発光駆動情報が配置される。
これにより、演出用と状況提示用(変動図柄識別用、保留数表示用、遊技状態報知用)LEDドライバ90を分ける必要がなく、効率的な回路構成が可能となる。
即ち複数の発光演出に対応する複数種類のランプデータが、優先順位が設定された複数の階層にセットされる場合に、優先順位が低い順にランプデータを反映させた演出用発光駆動情報を上書きするように作成することで、簡易な処理で優先順位を反映した演出制御を実現でき、さらにその演出用発光駆動情報に状況提示用発光駆動信号に合成することで、演出用の発光部と状況提示用の発光部の制御を簡単に共通化できる。
特に演出用発光駆動情報は、3階調以上(例えば16階調)のデータとして生成し、多数の階調表現により、遊技性を高める演出が可能となる。一方で状況提示の用途としては2階調で十分であるため状況提示用発光駆動信号は、発光/消灯の2階調の情報として生成することで、状況提示用発光駆動情報の生成を容易化する。例えば状況提示用発光駆動情報は、“0”か“F”でよいものとして生成を容易化できる。
これにより特定のLEDドライバ90に、演出用の発光部20bと状況提示用の発光部20Z、20H(又は20J)の両方に対する発光駆動電流を生成するように複数の発光部が接続されることに対応して、演出用の発光部と、状況提示用の発光部のそれぞれの発光駆動制御が共通の出力処理で実行される。また1つのポート出力で、演出用と状況提示用を含む発光駆動を実現できる。
換言すれば、特定のLEDドライバ90(b2)(b3)が演出用の発光部と状況提示用の発光部の両方を発光駆動するような回路構成を採った場合でも、特定のLEDドライバ90(b2)(b3)に対する発光制御を複雑化させないようにすることができる。
演出用発光部は装飾上の要請から複数のLED120の直列接続が多くなり、駆動電流の電源にある程度高い電圧(例えば12V)が必要である。またLEDドライバ90は比較的低電圧(例えば5V)で駆動される。ここで状況提示用発光部20Z、20H、20Jを考えると、通常、1個のLEDで実現でき、電源に12Vは必要ないし、逆に12Vで駆動すると大きな抵抗が必要になり、熱を持ってしまう。また別の電源を用意することは回路が煩雑化する。そこで状況提示用発光部20Z、20H、20Jの発光駆動には第1電源電圧VCC1を用いるようにすることで、熱対策と回路の煩雑化の防止を図ることができる。
演出用の発光部20bは、より遊技性を高める演出のためや発光範囲のために複数のLEDの直列接続を用いることが好適である。この場合に、十分な発光駆動を行うために第2電源電圧VCC2を用いる方式を適用することが好適となる。
また演出用の発光部20bは3階調以上の分解能で発光され、状況提示用の発光部20Z、20H(又は20J)は点灯と消灯の2階調で発光されるように、演出制御部51は各発光部の発光を制御するLED駆動データを出力している。
演出用の発光部20bは、より遊技性を高める演出のため3階調以上の分解能であることが好ましい。一方、状況提示用の発光部20Z、20H(又は20J)は点灯/点滅/消灯により十分な状況提示が可能であるため点灯と消灯の2階調でよいためであり、これにより状況提示用発光駆動情報は簡易に生成できるものとなる。
LED等によるランプ部63,64としては枠側に1系統(1つのシリアルデータ出力チャネル)、盤側に1系統の例を挙げたが、もちろんこれに限られない。枠側のランプ部63について複数系統を設けても良いし、盤側のランプ部64において複数系統を設けても良い。
また1つの系統に盤側の発光部20bと枠側の発光部20wが混在していてもよい。
また枠側の発光部20wと提示用発光部20Z、20H、20Jを駆動するLEDドライバ90が設けられても良い。
また状況提示用発光部としてはエラー報知用発光部(例えばエラー報知用のLED)も含む。即ちエラー報知用発光部に対しても、上述の変動図柄識別用発光部20Z、保留数表示用発光部20H、遊技状態報知用発光部20Jと同様の発光制御を行うようにすることができる。
また本発明はパチンコ遊技機1のような弾球遊技機に適用する例を示したが、回胴式遊技機(いわゆるスロット機)にも適用できる。
例えばLED駆動データのシリアルデータ送信は、スロット機の筐体前側の装飾LEDとリールのバックライトLEDのそれぞれを第1系統、第2系統として行うことが考えられる。或いは、筐体前側の上部と下部をそれぞれシリアルデータ送信の系統に分けても良い。また、これらの1又は複数のシリアルデータ送信の系統上で、状況提示用発光部の発光駆動も実施の形態と同様に行われるようにすることができる。
20w,20b 発光部
20H 保留数表示部
20J 遊技状態報知部
20Z 変動図柄識別部
32 液晶表示装置
33 図柄表示部
41 上始動口
42 普通変動入賞装置
42a 下始動口
43 一般入賞口
44 ゲート
45 第1特別変動入賞装置
46 第2特別変動入賞装置
50 主制御基板
51 演出制御基板
52 液晶制御基板
61 枠ドライバ部
62 盤ドライバ部
63,64 ランプ部
90,130 LEDドライバ
120 LED
200 演出制御CPU
201 演出制御ROM
202 演出制御RAM
Claims (1)
- 演出用の発光部と、
保留数表示用の発光部と、
前記演出用及び前記保留数表示用の各発光部の発光を制御する発光制御手段と、
を備え、
前記発光制御手段は、
適宜タイミングで発光演出を決定する決定処理を行うとともに、
発光駆動情報を作成して該発光駆動情報を発光駆動データ記憶部に記憶する作成処理と、
前記発光駆動データ記憶部に記憶された発光駆動情報に基づく駆動信号を出力する出力処理と、
を所定周期毎に行うことにより発光演出を実現するように構成され、
前記作成処理では、前記決定処理で決定された複数の発光演出を実行する状態において、実行する演出に対応する複数種類のランプデータに基づいて前記演出用の発光部に対する演出用発光駆動情報を作成するとともに、保留数コマンドの受信時のコマンド解析処理で設定した保留数の値により示される保留数状態に応じて前記保留数表示用の発光部に対する保留数表示用発光駆動情報を作成し、前記演出用発光駆動情報と前記保留数表示用発光駆動情報を合成したものを前記所定周期における1タイミング分の発光駆動情報とする
遊技機。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016185437A JP6489553B2 (ja) | 2016-09-23 | 2016-09-23 | 遊技機 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016185437A JP6489553B2 (ja) | 2016-09-23 | 2016-09-23 | 遊技機 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015019265A Division JP6059744B2 (ja) | 2015-02-03 | 2015-02-03 | 遊技機 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016209762A JP2016209762A (ja) | 2016-12-15 |
JP6489553B2 true JP6489553B2 (ja) | 2019-03-27 |
Family
ID=57550375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016185437A Active JP6489553B2 (ja) | 2016-09-23 | 2016-09-23 | 遊技機 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6489553B2 (ja) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2608391B2 (ja) * | 1995-03-13 | 1997-05-07 | キヤノン株式会社 | 画像処理装置 |
JP2009045125A (ja) * | 2007-08-15 | 2009-03-05 | Daiman:Kk | 遊技機 |
JP5887054B2 (ja) * | 2010-12-28 | 2016-03-16 | 株式会社ソフイア | 遊技機 |
JP5919153B2 (ja) * | 2012-09-25 | 2016-05-18 | 株式会社藤商事 | 遊技機 |
JP6059744B2 (ja) * | 2015-02-03 | 2017-01-11 | 株式会社藤商事 | 遊技機 |
-
2016
- 2016-09-23 JP JP2016185437A patent/JP6489553B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016209762A (ja) | 2016-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5748720B2 (ja) | 遊技機 | |
JP5919153B2 (ja) | 遊技機 | |
JP6313536B2 (ja) | 遊技機 | |
JP6147801B2 (ja) | 遊技機 | |
JP6720390B2 (ja) | 遊技機 | |
JP5975584B2 (ja) | 遊技機 | |
JP5748719B2 (ja) | 遊技機 | |
JP6163226B2 (ja) | 遊技機 | |
JP6039002B2 (ja) | 遊技機 | |
JP6059744B2 (ja) | 遊技機 | |
JP6489553B2 (ja) | 遊技機 | |
JP6404291B2 (ja) | 遊技機 | |
JP6348543B2 (ja) | 遊技機 | |
JP6283713B2 (ja) | 遊技機 | |
JP6532688B2 (ja) | 遊技機 | |
JP2016140604A (ja) | 遊技機 | |
JP2016140600A (ja) | 遊技機 | |
JP6059745B2 (ja) | 遊技機 | |
JP6560502B2 (ja) | 遊技機 | |
JP6173668B2 (ja) | 遊技機 | |
JP5748718B2 (ja) | 遊技機 | |
JP6377194B2 (ja) | 遊技機 | |
JP6328728B2 (ja) | 遊技機 | |
JP6532686B2 (ja) | 遊技機 | |
JP6532687B2 (ja) | 遊技機 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180115 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A132 Effective date: 20180904 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181003 |
|
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: 20190205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190219 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6489553 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 |