IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社藤商事の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024154782
(43)【公開日】2024-10-31
(54)【発明の名称】遊技機
(51)【国際特許分類】
   A63F 7/02 20060101AFI20241024BHJP
【FI】
A63F7/02 304D
A63F7/02 326Z
【審査請求】未請求
【請求項の数】1
【出願形態】OL
(21)【出願番号】P 2023068839
(22)【出願日】2023-04-19
(71)【出願人】
【識別番号】391010943
【氏名又は名称】株式会社藤商事
(74)【代理人】
【識別番号】110003410
【氏名又は名称】弁理士法人テクノピア国際特許事務所
(72)【発明者】
【氏名】山本 貴文
(72)【発明者】
【氏名】摩庭 健策
【テーマコード(参考)】
2C088
【Fターム(参考)】
2C088EB78
(57)【要約】      (修正有)
【課題】演出役物の駆動制御に係る演出制御手段の処理負担軽減を図る。
【解決手段】演出役物のモータの駆動態様を指示する信号である駆動制御信号をドライバに対して出力する駆動制御手段、演出役物の動作シナリオを管理するシナリオデータである役物演出シナリオデータに従って駆動制御手段による駆動制御信号の出力を行う演出制御手段を備え、演出役物に実行させる複数の一連役物動作がそれぞれ動作パーツとして定義され、記憶手段には、定義された動作パーツごとに、役物動作を実現するための駆動制御信号の出力を駆動制御手段に制御コマンド管理データが記憶され、役物演出シナリオデータに基づく動作シナリオの進行に伴い一連役物動作を実行させるべき状態となったことに応じ、制御コマンド管理データから動作パーツのうち一連役物動作に係る一の動作パーツに対応する制御コマンドを読み出して駆動制御手段に対して出力する制御コマンド出力処理を行う。
【選択図】図5
【特許請求の範囲】
【請求項1】
演出役物の動力源として設けられたモータと、
前記モータを駆動するドライバと、
前記ドライバに対して前記モータの駆動態様を指示する信号である駆動制御信号を出力する駆動制御手段と、
前記演出役物の動作シナリオを管理するシナリオデータである役物演出シナリオデータに従って前記駆動制御手段による前記駆動制御信号の出力に係る制御を行う演出制御手段と、
前記演出制御手段による読み出しが可能な記憶手段と、を備え、
前記演出役物に実行させる複数の一連役物動作がそれぞれ動作パーツとして定義されており、
前記記憶手段には、
定義された前記動作パーツごとに、前記動作パーツとしての役物動作を実現するための前記駆動制御信号の出力を前記駆動制御手段に指示する制御コマンドを管理する制御コマンド管理データが記憶され、
前記演出制御手段は、
前記役物演出シナリオデータに基づく前記動作シナリオの進行に伴い前記一連役物動作を実行させるべき状態となったことに応じて、前記制御コマンド管理データから前記動作パーツのうち前記一連役物動作に係る一の動作パーツに対応する前記制御コマンドを読み出して前記駆動制御手段に対して出力する制御コマンド出力処理を行う
遊技機。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は遊技機に係るものであり、特には、演出用の可動役物を備えた遊技機に係る技術分野に関する。
【背景技術】
【0002】
例えば下記特許文献1等に開示されるように、遊技機には、演出用の可動役物を備えたものがある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2022-140964号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、近年の遊技機は多様な演出動作を行っており、演出の制御を行う演出制御手段の処理負荷が増大する傾向にある。
【0005】
本発明は上記事情に鑑み為されたものであり、演出役物の駆動制御に係る演出制御手段の処理負担軽減を図ることを目的とする。
【課題を解決するための手段】
【0006】
本発明に係る遊技機は、演出役物の動力源として設けられたモータと、前記モータを駆動するドライバと、前記ドライバに対して前記モータの駆動態様を指示する信号である駆動制御信号を出力する駆動制御手段と、前記演出役物の動作シナリオを管理するシナリオデータである役物演出シナリオデータに従って前記駆動制御手段による前記駆動制御信号の出力に係る制御を行う演出制御手段と、前記演出制御手段による読み出しが可能な記憶手段と、を備え、前記演出役物に実行させる複数の一連役物動作がそれぞれ動作パーツとして定義されており、前記記憶手段には、定義された前記動作パーツごとに、前記動作パーツとしての役物動作を実現するための前記駆動制御信号の出力を前記駆動制御手段に指示する制御コマンドを管理する制御コマンド管理データが記憶され、前記演出制御手段は、前記役物演出シナリオデータに基づく前記動作シナリオの進行に伴い前記一連役物動作を実行させるべき状態となったことに応じて、前記制御コマンド管理データから前記動作パーツのうち前記一連役物動作に係る一の動作パーツに対応する前記制御コマンドを読み出して前記駆動制御手段に対して出力する制御コマンド出力処理を行うものである。
従来の遊技機では、演出制御手段が、例えば1ms周期等のタイマ割込み周期で役物モータの動作を指示する制御信号をドライバに出力するようにされていた為、演出役物の動作制御を実現するにあたっての演出制御手段の処理負担が増大する傾向にあった。上記構成によれば、演出役物の一連動作を実現するにあたり、演出制御手段が従来のようにタイマ割込み周期でドライバに制御信号を出力する必要がなくなる。
【発明の効果】
【0007】
本発明によれば、演出役物の駆動制御に係る演出制御手段の処理負担軽減を図ることができる。
【図面の簡単な説明】
【0008】
図1】遊技機の外観を示す斜視図である。
図2】遊技機において前枠を開放したときの斜視図である。
図3】遊技機の遊技盤の構成を示す図である。
図4】可動体役物の動作例の説明図である。
図5】遊技機の制御構成を示すブロック図である。
図6】先読み予告演出の例についての説明図である。
図7】主制御側メイン処理を示したフローチャートである。
図8】メインループ処理を示したフローチャートである。
図9】主制御側タイマ割込み処理を示したフローチャートである。
図10】普通図柄管理処理を示すフローチャートである。
図11】普図当り判定テーブルの一例を説明する図である。
図12】普通図柄変動表示ゲームに関する当り種別、変動時間、確定時間の一例を説明する図である。
図13】特別図柄管理処理を示したフローチャートである。
図14】特図1始動口チェック処理を示したフローチャートである。
図15】特別図柄変動開始処理を示したフローチャートである。
図16】大当り乱数判定処理を示したフローチャートである。
図17】大当り判定テーブルの一例を示した図である。
図18】大当り乱数判定手法を説明する図である。
図19】図柄抽選処理を示したフローチャートである。
図20】図柄テーブルの一例を示した図である。
図21】変動パターン抽選処理を示したフローチャートである。
図22】変動パターン抽選テーブルの一例を示した図である。
図23】演出制御側メイン処理を示したフローチャートである。
図24】演出制御側タイマ割込み処理を示したフローチャートである。
図25】従来の可動体役物制御系の構成概要を示した図である。
図26】実施形態としての可動体役物制御系の構成概要を示した図である。
図27】実施形態におけるモータ駆動制御部の概略内部構成例を示したフロック図である。
図28】実施形態におけるカレントアップダウン制御回路の動作説明図である。
図29】実施形態としての可動体役物制御を実現するために用いられる各種制御データの説明図である。
図30】実施形態における役物サブシナリオデータのデータ構造例の説明図である。
図31】実施形態における区分動作管理データのデータ構造例の説明図である。
図32】実施形態における制御コマンド管理データのデータ構造例の説明図である。
図33】動作パーツを定義するための作業画面の例を示した図である。
図34】実施形態におけるSOL・MOT出力処理を示したフローチャートである。
図35】実施形態におけるモータ駆動制御部の周辺回路の構成例を示した回路・ブロック図である。
図36】実施形態における駆動モード端子への入力値と駆動モードとの対応関係を示した図である。
図37】カレントアップダウン信号に応じたモータ駆動電流値の切り替えの様子を例示した図である。
図38】実施形態における起動時モード制御回路についての説明図である。
図39】演出制御基板がモータ駆動制御部のセルフリセットを検知するための手法例についての説明図である。
【発明を実施するための形態】
【0009】
以下、添付図面を参照し、本発明に係る実施形態を次の順序で説明する。
<1.遊技機の構造>
<2.遊技機の制御構成>
[2.1 主制御基板]
[2.2 演出制御基板]
<3.動作の概要説明>
[3.1 遊技状態]
[3.2 図柄変動表示ゲーム]
[3.3 大当りについて]
[3.4 演出について]
<4.主制御基板の処理>
[4.1 主制御側メイン処理]
[4.2 主制御側タイマ割込み処理]
<5.演出制御基板の処理>
[5.1 演出制御側メイン処理]
[5.2 演出制御側タイマ割込み処理]
<6.実施形態としての可動体役物制御>
[6.1 実施形態としての制御手法の概要]
[6.2 モータ駆動制御部について]
[6.3 実施形態としての制御データ作成手法]
[6.4 実施形態としての可動体役物制御処理]
(6.4.1 処理フロー)
(6.4.2 マイクロステップ駆動について)
(6.4.3 プリレジスタの使用について)
[6.5 実施形態としての電流値切り替え、及び起動時のモータ誤動作対策]
[6.6 起動時の役物落下対策]
[6.7 その他構成例]
<7.変形例>
<8.実施形態のまとめ>
【0010】
<1.遊技機の構造>
図1及び図2を参照して、本発明に係る実施形態としての遊技機1の全体構造について説明する。図1は、本発明に係る実施形態の遊技機1の外観を示す斜視図であり、図2は、実施形態の遊技機1において前枠4を開放したときの斜視図である。
【0011】
図1及び図2に示すように、遊技機1は、木製の外枠2と、外枠2にヒンジ機構によって開閉可能に取り付けられた内枠3と、内枠3にヒンジ機構によって開閉可能に取り付けられた前枠4とを備える。
内枠3は、額縁状に形成され、内部に遊技盤5が保持されている。遊技盤5の背面側には、遊技動作を制御するための各種制御基板(図5参照)が配設されている。
【0012】
前枠4は、中央に透明ガラス6が保持されているとともに、透明ガラス6の周囲の全部又は一部を囲むようにサイドユニット7が設けられている。
サイドユニット7は、それ自体が遊技機1のテーマに合わせた装飾形状とされるとともに、内部にLEDや役物等の演出部材が設けられることもあり、遊技者に遊技の雰囲気を伝える演出効果を発揮する。このサイドユニット7は前枠4に対して交換可能に取り付けられたユニットとされる。
【0013】
前枠4の前側には扉ロック解除用のキーシリンダ(図示せず)が設けられており、このキーシリンダにキーを差し込んで一方側に操作すれば内枠3に対する前枠4のロック状態が解除されて前枠4を前側に開放でき、また、他方側に操作すれば外枠2に対する内枠3のロック状態が解除されて内枠3を前側に開放できるようになっている。
【0014】
前枠4の下側には、前面操作パネル8が配置されている。前面操作パネル8には、上受け皿ユニット9が設けられ、この上受け皿ユニット9には、排出された遊技球を貯留する上受け皿10が形成されている。
【0015】
また、上受け皿ユニット9には、遊技球貸出装置(図示せず)に対して遊技球の払い出しを要求するための球貸しボタン11と、遊技球貸出装置に挿入した有価価値媒体の返却を要求するためのカード返却ボタン12と、上受け皿10に貯留された遊技球を遊技機1の下方に抜くための球抜きボタン13とが設けられている。
【0016】
また、上受け皿ユニット9には、遊技者が操作可能に構成された操作部14(図5参照)が設けられている。操作部14は、演出ボタン14a、十字キー14b及び決定ボタン14cを含んで構成されている。演出ボタン14aは、所定の入力受付期間中に内蔵ランプ(ボタンLED49)が点灯されて操作可能(入力受付可能)となり、その内蔵ランプ点灯中に所定の操作(押下、連打、長押し等)をすることにより演出に変化をもたらすことが可能となっている。
十字キー14bは、遊技者やホールスタッフ等の使用者が各種の項目の選択や方向指示等を行うための操作子である。決定ボタン14cは、選択項目の決定を指示するための操作子である。
【0017】
前面操作パネル8の右端部側には、発射装置44(図5参照)を作動させるための発射操作ハンドル15が設けられている。
【0018】
前枠4の適所には、光の装飾により光演出効果を発揮する装飾ランプ16(例えばフルカラーLEDによる光演出用LED等)が複数設けられている。この装飾ランプ16は、遊技機1の周囲、例えば前枠4の周縁やサイドユニット7内に複数個設けられている。
【0019】
また内枠3の上部の両側と発射操作ハンドル15の上側とには、音響により音演出効果(効果音)を発揮するスピーカ17が設けられている。
複数のスピーカ17により、演出に関する音などについて、いわゆるステレオ音響再生や、より多チャネルの音響再生を行うことができるようにされている。
【0020】
次に、図3を参照して、遊技盤5の構成について説明する。図3は、遊技盤5の正面図である。
図示の遊技盤5には、発射された遊技球を案内する球誘導レール18が盤面区画部材として環状に装着されており、この球誘導レール18に取り囲まれた略円形状の領域が遊技領域19、四隅は非遊技領域となっている。
遊技領域19は、遊技盤5と透明ガラス6との間に形成される空間であって、遊技球が流下可能な領域である。
【0021】
この遊技領域19の略中央部には、例えば3つ(左、中、右)の表示エリア(図柄変動表示領域)において、独立して数字やキャラクタや記号などによる複数種類の装飾図柄(例えば、左図柄(左表示エリア対応)、中図柄(中表示エリア対応)、右図柄(右表示エリア対応))の変動表示動作(変動表示及び停止表示)が可能である液晶表示装置(LCD)20が設けられている。
この液晶表示装置20は、後述する演出制御基板41の制御の下、装飾図柄の変動表示動作の他、種々の演出を画像により表示する。
【0022】
また遊技領域19の中央には、液晶表示装置20の表示面の周りを遠巻きに囲繞する形でセンター飾り21が設けられている。センター飾り21は、遊技盤5の前面側に沿って設けられ、液晶表示装置20の表示面を遊技球の衝突から保護するとともに、遊技球の打ち出しの強さ又はストローク長により、遊技球の流路を左右に振り分けることを可能とする流路振分手段として機能する。
本実施形態では、センター飾り21は、遊技領域19のほぼ中央部に配置され、遊技領域19を左右それぞれの左遊技領域19a及び右遊技領域19bに分割している。発射装置44により所定の発射強度未満で発射された遊技球は、左遊技領域19aを流下し、所定の発射強度以上で発射された遊技球は、右遊技領域19bを流下することになる。
【0023】
遊技盤5の下部の非遊技領域は各種機能表示部となっており、ドット表示器による特別図柄表示装置22aと特別図柄表示装置22bとが設けられている。
なお、特別図柄表示装置22a、22bを含む各種機能表示部を図6に拡大して示している。
【0024】
特別図柄表示装置22a、22bでは、ドット表示器により表現される「特別図柄」の変動表示動作による特別図柄変動表示ゲームが実行されるようになっている。そして上記の液晶表示装置20では、特別図柄表示装置22a、22bによる特別図柄の変動表示と時間的に同調して、画像による装飾図柄を変動表示して、種々の予告演出(演出画像)とともに装飾図柄変動表示ゲームが実行されるようになっている。
【0025】
また各種機能表示部には、特別図柄表示装置22a、22bと同じくドット表示器からなる複合表示装置22cが配設されている。複合と称したのは、第1の特別図柄(以下、第1の特別図柄を「特別図柄1」と称し、場合により「特図1」と略称する)、第2の特別図柄(以下、第2の特別図柄を「特別図柄2」と称し、場合により「特図2」と略称する)、普通図柄の保留球数の表示、時短状態中及び高確率状態中の状態報知という、5つの表示機能を有する保留・時短・高確複合表示装置(以下単に「複合表示装置」と称する)であるからである。
【0026】
また各種機能表示部には、同じくドット表示器からなる複合表示装置22dが設けられている。
この複合表示装置22dでは、4つのLEDの点灯・消灯状態の組合せにより、大当りに係る規定ラウンド数(最大ラウンド数)を報知するラウンド数表示が行われる。
また複合表示装置22dでは、普通図柄表示として、1個のLEDにより表現される普通図柄の変動表示動作により普通図柄変動表示ゲームが実行されるようになっている。
また複合表示装置22dでは、3個のLEDにより右打ち表示が行われるようになっている。なお、右打ち表示は、右遊技領域19bに向けて遊技球の発射をした方が、左遊技領域19aに向けて遊技球を発射した場合により遊技者に有利であることを示している。
【0027】
遊技盤5の中央であって液晶表示装置20の下側には、第1始動口23が設けられている。第1始動口23の内部には、遊技球の通過を検出する第1始動口検出センサ23a(図5参照)が設けられている。
また右遊技領域19bには、第2始動口24が設けられ、内部には、遊技球の通過を検出する第2始動口検出センサ24a(図3参照)が設けられている。
【0028】
第1始動口23は、特別図柄表示装置22aにおける特別図柄1の変動表示動作の始動条件に係る入賞口であり、始動口開閉手段(始動口を開放又は拡大可能にする手段)を有しない固定始動口として構成されている。本実施形態では、遊技領域19内の遊技球落下方向変換部材(例えば遊技くぎ、風車、センター飾り21など)の作用により、第1始動口23へは、左遊技領域19aを転動してきた遊技球については入球容易な構成であるのに対し、右遊技領域19bを転動してきた遊技球については入球困難または入球不可能な構成となっている。
【0029】
第2始動口24は、特別図柄表示装置22bにおける特別図柄2の変動表示動作の始動条件に係る入賞口であり、普通電動役物25によって開閉制御がなされる可変始動口として構成されている。
普通電動役物25は、第2始動口24への遊技球の入球を可能とする開状態と、第2始動口24への遊技球の入球を困難または不可能にする閉状態とに制御される。なお本実施形態では、第2始動口24は右遊技領域19bに設けられ、右遊技領域19bを転動してきた遊技球のみが入球可能であるが、左遊技領域19aを転動してきた遊技球が入球可能であってもよい。
【0030】
また第2始動口24の上方、つまり右遊技領域19bの中間部より上部側には、遊技球が通過可能な普通図柄ゲート26が設けられている。この普通図柄ゲート26は、複合表示装置22dにおける普通図柄の変動表示動作に係る入賞口であり、その内部には、通過する遊技球を検出する普通図柄ゲート検出センサ26a(図5参照)が設けられている。なお本実施形態では、普通図柄ゲート26は右遊技領域19bにのみに設けられ、右遊技領域19bを転動してきた遊技球のみが進入可能である。しかし本発明はこれに限らず、左遊技領域19aのみに設けられていてもよいし、双方にそれぞれ設けられていてもよい。
【0031】
右遊技領域19bにおける第2始動口24よりも下方には、第1大入賞口27及び第2大入賞口28が設けられている。第1大入賞口27及び第2大入賞口28は、右遊技領域19bを転動する遊技球のみが入球可能な位置に配される。ただし、第1大入賞口27及び第2大入賞口28は、左遊技領域19aを転動してきた遊技球のみが入球可能に配されてもよいし、左遊技領域19a及び右遊技領域19bを転動してきた遊技球が入球可能に配されてもよい。
第1大入賞口27は、第1特別電動役物29によって開閉制御がなされる。第1特別電動役物29は、第1大入賞口27への遊技球の入球を可能とする開状態と、第1大入賞口27への遊技球の入球を困難または不可能にする閉状態とに制御される。
第2大入賞口28は、第2特別電動役物30によって開閉制御がなされる。第2特別電動役物30は、第2大入賞口28への遊技球の入球を可能とする開状態と、第2大入賞口28への遊技球の入球を困難または不可能にする閉状態とに制御される。
第1大入賞口27及び第2大入賞口28の内部には、遊技球の通過を検出する第1大入賞口検出センサ27a及び第2大入賞口検出センサ28a(図5参照)がそれぞれ設けられている。
【0032】
また遊技領域19における左右下方には、一般入賞口31が複数設けられており、それぞれの内部には、遊技球の通過を検出する一般入賞口検出センサ31a(図5参照)が設けられている。
【0033】
また遊技盤の領域内には遊技球の転動を妨害しない位置に、視覚的演出効果を奏する可動体役物50が配設されている。
本例の遊技機1は、可動体役物50として、可動体役物50x及び可動体役物50yの二つを有している。これら可動体役物50x、50yは、非演出状態では、遊技機1に正対した遊技者から見て、他部材により遮蔽された位置(遮蔽位置)に配置され、遊技者から視認されないようになっている。
演出状態では、これら可動体役物50x、50yは、後述する役物モータ53x、53yにより駆動されることで、図4に例示するように、上記の遮蔽位置から変位されて、遊技者が視認可能な状態となる。ここでは、可動体役物50x、50yの変位態様として、演出状態において液晶表示装置20上に位置する変位態様を例示しているが、可動体役物50の変位態様はこれに限定されるものではなく、多様に考えられるものである。
【0034】
本例において、可動体役物50xは、遮蔽位置が液晶表示装置20よりも下方とされ、演出状態において遮蔽位置から上方側に変位される可動体役物50とされる。
一方、可動体役物50yは、遮蔽位置が液晶表示装置20よりも上方とされ、演出状態において遮蔽位置から下方側に変位される可動体役物50とされる。
【0035】
また、本実施形態の遊技機1においては、遊技領域19に設けられた各種入賞口に遊技球が入球した場合、遊技球が入球した入賞口に設定された賞球数(例えば、第1始動口23は3個、第2始動口24は1個、第1大入賞口27及び第2大入賞口28は15個、一般入賞口31は5個)が遊技球払出装置46(図5参照)から払い出されるようになっている。上記の各入賞口に入賞しなかった遊技球は、アウト口32を介して遊技領域19から排出される。
【0036】
<2.遊技機の制御構成>
図5は、遊技機1の制御構成を示すブロック図である。図5のブロック図を参照して、遊技機1の遊技動作制御を実現するための構成(制御構成)について説明する。
本実施形態の遊技機1は、遊技動作全般に係る制御(遊技動作制御)を統括的に司る主制御基板40と、主制御基板40から演出制御コマンドを受けて、演出手段による演出の実行制御を統括的に司る演出制御基板41と、賞球の払い出し制御を行う払出制御基板42とを有して構成される。
【0037】
[2.1 主制御基板]
主制御基板40は、CPU(Central Processing Unit)40a(主制御CPU)を内蔵したマイクロプロセッサを搭載すると共に、遊技動作制御手順を記述した制御プログラムの他、遊技動作制御に必要な種々のデータを格納するROM(Read Only Memory)40b(主制御ROM)と、ワーク領域やバッファメモリとして機能するRAM(Random Access Memory)40c(主制御RAM)とを搭載し、全体としてマイクロコンピュータを構成している。
【0038】
また図示はしていないが、主制御基板40は、周期的割込みや一定周期のパルス出力作成機能(ビットレートジェネレータ)や時間計測の機能を実現するためのCTC(Counter Timer Circuit)、及びCPU40aに割込み信号を付与するタイマ割込み等の割込許可/割込禁止機能を発揮する割込みコントローラ回路、電源投入時や遮断時や電源異常などを検知してシステムリセット信号を出力してCPU40aをリセット可能なリセット回路、制御プログラムの動作異常を監視するウォッチドッグタイマ(WDT)回路、予め設定したアドレス範囲内でプログラムが正しく実行されているか否かを監視する指定エリア外走行禁止(IAT)回路、及びハードウェア的に一定範囲の乱数を生成するためのカウンタ回路等も備えている。
【0039】
上記カウンタ回路は、乱数を生成する乱数生成回路と、その乱数生成回路から所定のタイミングで乱数値をサンプリングするサンプリング回路とを含んで構成され、全体として16ビットカウンタとして働く。CPU40aは、処理状態に応じてサンプリング回路に指示を送ることで、乱数生成回路が示している数値を大当り判定用乱数(0~65535)として取得し、大当り判定用乱数を大当り抽選(当否抽選)に利用する。なお、大当り判定用乱数は、当り狙い打ち等のゴト行為を防ぐために、適宜なソフトウェア処理で生成しているソフト乱数値と、ハード乱数値とを加算したものを取得している。
【0040】
主制御基板40には、第1始動口23への入球を検出する第1始動口検出センサ23aと、第2始動口24への入賞を検出する第2始動口検出センサ24aと、普通図柄ゲート26の通過を検出する普通図柄ゲート検出センサ26aと、第1大入賞口27への入賞を検出する第1大入賞口検出センサ27aと、第2大入賞口28への入賞を検出する第2大入賞口検出センサ28aと、一般入賞口31への入賞を検出する一般入賞口検出センサ31aと、遊技領域19から排出される遊技球(アウト球)を検出するOUT監視センサ32aが接続され、主制御基板40はこれらから出力される検出信号を受信可能とされている。主制御基板40は、各センサからの検出信号に基づき、何れの入賞口に遊技球が入球したのかを把握可能とされる。
【0041】
また、主制御基板40には、第2始動口24を開閉する普通電動役物25を動作させる普通電動役物ソレノイド25aと、第1大入賞口27を開閉する第1特別電動役物29を動作させる第1特別電動役物ソレノイド29aと、第2大入賞口28を開閉する第2特別電動役物30を動作させる第2特別電動役物ソレノイド30aとが接続され、主制御基板40はこれらを制御するための制御信号を送信可能となっている。
【0042】
主制御基板40には、特別図柄表示装置22a及び特別図柄表示装置22bが接続され、主制御基板40は、特別図柄1、2を表示制御するための制御信号を送信可能とされている。
また、主制御基板40には、複合表示装置22c及び複合表示装置22dが接続され、主制御基板40は、複合表示装置22c、複合表示装置22dに表示される各種情報を表示制御するための制御信号を送信可能とされている。
【0043】
主制御基板40には、RAMクリアスイッチ34が接続されており、主制御基板40はRAMクリアスイッチ34からの検出信号を受信可能とされている。RAMクリアスイッチ34は、遊技機1内部の所定位置に設けられている。例えば、主制御基板40上に配置される。
【0044】
RAMクリアスイッチ34は、RAM40cの所定領域を初期化することを指示入力するための例えば押しボタン式のスイッチとされる。
RAMクリアスイッチ34は、前枠4が開放された状態で操作可能に設けられたRAMクリアボタンの操作に応じてON/OFFされる。
【0045】
また主制御基板40は、性能表示器35が接続されている。
性能表示器35は、例えば7セグメント表示器を有して構成され、後述する性能情報の表示が可能とされた表示手段として機能する。性能表示器35は、例えば主制御基板40上の視認し易い位置に搭載されている。
主制御基板40は、性能表示器35に対して性能情報を表示させるための制御信号を送信可能とされている。
【0046】
主制御基板40には、払出制御基板42が接続され、賞球の払い出しの必要がある場合には、払出制御基板42に対し、払い出しに関する制御コマンド(賞球数を指定する払出制御コマンド)を送信可能とされている。
【0047】
また、主制御基板40には、払出制御基板42を介して枠用外部集中端子基板43が接続され、外部に設けられたホールコンピュータHCに対し所定の遊技情報(例えば、大当り情報、賞球数情報、図柄変動実行情報等)を送信可能とされている。
なお、ホールコンピュータHCは、主制御基板40からの遊技情報を監視して、パチンコホールの遊技機の稼働状況を統括的に管理するための情報処理装置(コンピュータ装置)である。
【0048】
払出制御基板42には、発射装置44を制御する発射制御基板45と、遊技球の払い出しを行う遊技球払出装置46とが接続されている。さらに、払出制御基板42には、球貸し機70が接続される。球貸し機70は、遊技機1の外部に設けられ、払出制御基板42による球貸し動作を実行させるための処理を実行する。
払出制御基板42の主な役割は、主制御基板40からの払出制御コマンドの受信、払出制御コマンドに基づく遊技球払出装置46の賞球払い出し制御、主制御基板40への状態信号の送信、球貸し機70との通信結果に基づく球貸し動作のための払出制御基板42に対する制御などである。
【0049】
遊技球払出装置46には、遊技球の供給不足を検出する補給切れ検出センサ46aや払い出される遊技球(賞球)を検出する球計数センサ46bが設けられており、払出制御基板42は、これらの各検出信号を受信可能とされている。また遊技球払出装置46には、遊技球を払い出すための球払出機構部(図示せず)を駆動する払出モータ46cが設けられており、払出制御基板42は、払出モータ46cを制御するための制御信号を送信可能とされている。
【0050】
払出制御基板42には、上受け皿10が遊技球で満杯状態を検出する満杯検出センサ47と、前枠2の開放状態を検出する前扉開放センサ48が接続されている。
【0051】
払出制御基板42は、満杯検出センサ47、前扉開放センサ48、補給切れ検出センサ46a、球計数センサ46bからの検出信号に基づいて、主制御基板40に対して、各種の状態信号を送信可能となっている。この状態信号には、満杯状態を示す球詰り信号、少なくとも前枠2が開放されていることを示す扉開放信号、遊技球払出装置46からの遊技球の供給不足を示す補給切れ信号、賞球の払出不足や球計数センサ46bに異常が発生したこと示す計数エラー信号、払い出し動作が完了したことを示す払出完了信号などが含まれ、様々な状態信号を送信可能な構成となっている。主制御基板40は、これら状態信号に基づいて、前枠2の開放状態(扉開放エラー)や、遊技球払出装置46の払出動作が正常か否か(補給切れエラー)や、上受け皿10の満杯状態(球詰りエラー)等を監視する。
【0052】
また、払出制御基板42は、発射制御基板45に対し発射を許可する許可信号を送信可能とされている。発射制御基板45は、払出制御基板42からの許可信号が出力されていることに基づき、発射装置44に設けられた発射ソレノイド(図示せず)への通電を制御し、発射操作ハンドル15の操作による遊技球の発射動作を実現している。具体的には、払出制御基板42から発射許可信号が出力されていること(発射許可信号ON状態)、発射操作ハンドル15に設けられたタッチセンサ(図示せず)により遊技者がハンドルに触れていることを検出されていること、発射操作ハンドル15に設けられた発射停止スイッチ(図示せず)が操作されていないことを条件に、遊技球の発射動作が許容される。従って、発射許可信号が出力されていない場合には(発射許可信号OFF状態)、発射操作ハンドル15を操作しても発射動作は実行されず、遊技球が発射されることはない。また、遊技球の発射強度は、発射操作ハンドル15の操作量に応じて変化可能となっている。
なお、払出制御基板42が上記球詰りエラーを検出すると、主制御基板40に球詰り信号を送信すると共に発射制御基板45に対する発射許可信号の出力を停止し(発射許可信号OFF)、上受け皿10の満杯状態が解消されるまで打ち出し動作を停止する制御を行うようになっている。
また、払出制御基板42は、発射制御基板45に対する発射の許可信号の出力を、主制御基板40より発射許可が指示されたことを条件に行う。
【0053】
(性能表示について)
主制御基板40は、性能表示器35に対し所定の性能情報を表示させるための制御信号を送信可能とされている。
性能情報とは、パチンコホールや関係各庁が確認したい情報であり、遊技機1に対する過剰賞球等の不正賞球ゴトの有無や遊技機1本来の出玉性能などに関する情報などがその代表例である。従って、性能情報自体は、予告演出等とは異なり、遊技者が遊技に興じる際に、その遊技進行自体には直接的に関係の無い情報となる。
【0054】
このため性能表示器35は、遊技機1内部、例えば、主制御基板40、払出制御基板42、発射制御基板45、中継基板、演出制御基板41上や、基板ケース(基板を保護する保護カバー)など、前枠2が開放状態とされたときに表示情報を視認可能となる位置に設けられている。
【0055】
ここで、性能情報には、具体的に次のような情報を採用することができる。
(1)特定状態中において入賞により払い出された総払出個数(特定中総賞球数:α個)を、当該特定状態中おいて遊技領域19から排出された総アウト球数(特定中アウト球数:β個)で除した値(α/β)に基づく情報(特定比率情報)を、性能情報として採用することができる。
上記「総払出個数」とは、入賞口(第1始動口23、第2始動口24、一般入賞口31、第1大入賞口27、第2大入賞口28)に入賞した際に払い出された遊技球(賞球)の合計値である。
また、特定状態として、何れの状態を採用するかについては、如何なる状態下の性能情報を把握したいかに応じて適宜定めることができる。本実施形態の場合であれば、複数の遊技状態、大当り遊技中のうち、何れの状態も採用することができる。また、複数種類の状態を計測対象としてもよい。例えば、大当り遊技中を除く全ての遊技状態等であり、その計測対象とする種類は適宜定めることができる。
また、1又は複数の特定の入賞口を計測対象から除外したものを総払出個数としてもよい(特定入賞口除外総払出個数)。例えば、各入賞口のうち、第1大入賞口27及び第2大入賞口28を計測対象から除外したものを、総払出個数としてもよい。
【0056】
(2)その他、総払出個数、特定入賞口除外総払出個数、総アウト球数の何れかだけを計測し、その計測結果を性能情報としてもよい。
【0057】
本実施形態では、通常状態中の総払出個数(通常時払出個数)と、通常状態中の総アウト球数(通常時アウト球数)とをリアルタイムで計測し、通常時払出個数を通常時アウト球数で除した値に百を乗じた値(通常時払出個数÷通常時アウト球数×100で算出される値)を性能情報(以下「通常時比率情報」と称する)として表示する。なお、この際の表示値は、小数点第1位を四捨五入した値とする。
従って、通常時払出個数、通常時アウト球数、通常時比率情報の各データが、RAM40cの該当領域(特定中総賞球数格納領域、特定中アウト球数格納領域、特定比率情報格納領域)にそれぞれ格納(記憶)されるようになっている。但し、単に永続的に計測して性能情報を表示するのではなく、総アウト球数が所定の規定個数(例えば、60000個)に達した場合、一旦、計測を終了する。この規定個数とは、通常状態の総アウト球数ではなく、全遊技状態中(当り遊技中を含む)の総アウト球数(以下「全状態アウト球数」と称する)である。この全状態アウト球数もリアルタイムに計測され、RAM40cの該当領域(全状態アウト球数格納領域)に格納される。以下、説明の便宜のために、特定中総賞球数格納領域、特定中アウト球数格納領域、特定比率情報格納領域、全状態アウト球数格納領域を「計測情報格納領域」と略称する。
【0058】
そして、終了時点の通常時比率情報をRAM40cの所定領域(性能表示格納領域)に格納し(今回の通常時比率情報を記憶)、その後、計測情報格納領域(通常時払出個数、通常時アウト球数及び全状態アウト球数)をクリアしてから、再度、計測を開始する(通常時払出個数、通常時アウト球数、通常時比率情報及び全状態アウト球数の計測を開始する)。そして、設定・性能表示器35には、前回の通常時比率情報(計測履歴情報)と、現在計測中の通常時比率情報とが表示されるようになっている。なお、前回の情報に限らず、前々回やその前(3回前)などの履歴を表示可能に構成してもよく、何回前までの情報を表示するかについては適宜定めることができる。
【0059】
(演出制御コマンド)
主制御基板40は、処理状態に応じて、特別図柄変動表示ゲームに関する情報やエラーに関する情報等を含む種々の演出制御コマンドを、演出制御基板41に対して送信可能とされている。但し、ゴト行為等の不正を防止するために、主制御基板40は演出制御基板41に対して信号を送信するのみで、演出制御基板41からの信号を受信不可能な片方向通信の構成となっている。
【0060】
ここで、演出制御コマンドは、1バイト長のモード(MODE)と、同じく1バイト長のイベント(EVENT)からなる2バイト構成により機能を定義し、MODEとEVENTの区別を行うために、MODEのBit7はON、EVENTのBit7をOFFとしている。これらの情報を有効なものとして送信する場合、モード(MODE)及びイベント(EVENT)の各々に対応してストローブ信号が出力される。すなわち、CPU40a(主制御CPU)は、送信すべきコマンドがある場合、演出制御基板41にコマンドを送信するためのモード(MODE)情報の設定及び出力を行い、この設定から所定時間経過後に1回目のストローブ信号の送信を行う。さらに、このストローブ信号の送信から所定時間経過後にイベント(EVENT)情報の設定及び出力を行い、この設定から所定時間経過後に2回目のストローブ信号の送信を行う。ストローブ信号は、CPU41a(演出制御CPU)が確実にコマンドを受信可能とする所定期間、CPU40aによりアクティブ状態に制御される。
【0061】
[2.2 演出制御基板]
演出制御基板41は、CPU41aを内蔵したマイクロプロセッサを搭載すると共に、演出制御処理に要する演出データを格納したROM41bと、ワーク領域やバッファメモリとして機能するRAM41cとを搭載したマイクロコンピュータを中心に構成され、その他、音響制御部(音源IC)、RTC(Real Time Clock)機能部、カウンタ回路、割込みコントローラ回路、リセット回路、WDT回路などが設けられ、演出動作全般を制御する。
【0062】
CPU41aは演出制御プログラム及び主制御基板40から受信した演出制御コマンドに基づいて、各種演出動作のための演算処理や各演出手段の制御を行う。演出手段とは、本実施形態の遊技機1の場合、液晶表示装置20、光表示装置16a、音響発生装置17a、及び可動体役物50となる。
【0063】
ROM41bは、CPU41aによる演出動作の制御プログラムや、演出動作制御に必要な種々のデータを記憶する。
RAM41cは、CPU41aが各種演算処理に使用するワークエリアや、テーブルデータ領域、各種入出力データや処理データのバッファ領域等として用いられる。
なお、演出制御基板41は、例えば1チップマイクロコンピュータとその周辺回路が搭載された構成とされるが、演出制御基板41の構成は各種考えられる。例えばマイクロコンピュータに加えて、各部とのインターフェース回路、演出のための抽選用乱数を生成する乱数生成回路、各種の時間計数のためのCTC、ウォッチドッグタイマ(WDT)回路、CPU41aに割込み信号を与える割込コントローラ回路などを備える場合もある。
【0064】
この演出制御基板41の主な役割は、主制御基板40からの演出制御コマンドの受信、演出制御コマンドに基づく演出の選択決定、液晶表示装置20の表示制御(表示データ供給)、音響発生装置17aの音声出力制御、光表示装置16a(LED)の発光制御、可動体役物50の動作制御などとなる。
【0065】
この演出制御基板41は、液晶表示装置20に対する制御装置としての機能も備えているため、演出制御基板41には、いわゆるVDP(Video Display Processor)、画像ROM、VRAM(Video RAM)としての機能も備えられ、またCPU41aは、液晶制御部としても機能する。
VDPは、画像展開処理や画像の描画などの映像出力処理全般の制御を行う機能を指している。
画像ROMとは、VDPが画像展開処理を行う画像データが格納されているメモリを指す。
VRAMは、VDPが展開した画像データを一時的に記憶する画像メモリ領域である。
【0066】
演出制御基板41は、これらの構成により、主制御基板40からの演出制御コマンドに基づいて各種の画像データを生成し、液晶表示装置20に出力する。これによって液晶表示装置20において各種の演出画像が表示される。
【0067】
また演出制御基板41は、複数のスピーカ17を含む音響発生装置17aに対する音響制御部を有しており、音響制御部が出力する音響信号はアンプ部17bで増幅されてスピーカ17に供給される。
また、演出制御基板41には、装飾ランプ16や各種LEDを含む光表示装置16aに対する光表示制御部として機能するランプドライバ部16bと、可動体役物50(本例では可動体役物50x、50y)を動作させるための制御を行うモータ駆動制御部51とが接続されている。演出制御基板41は、これらランプドライバ部16b、モータ駆動制御部51に指示を行って光表示装置16aによる光表示動作や可動体役物50の動作を制御する。
【0068】
ここで、遊技機1においては、各可動体役物50を駆動するための複数の役物モータ(後述する役物モータ53x、53y)で成る役物モータ群53と、役物モータ群53におけるそれぞれの役物モータについて駆動制御を行う複数のモータドライバ(後述するモータドライバ52x、52y)で成るモータドライバ群52とが設けられているが、本実施形態の遊技機1では、演出制御基板41がモータドライバ群52における各モータドライバを直接的に制御する構成ではなく、モータ駆動制御部51を介して各モータドライバの動作を制御する構成が採られている。
このようにモータ駆動制御部51を介して行われる実施形態としての可動体役物制御の詳細は後に改めて説明する。
【0069】
ここで、本実施形態において、役物モータ群53における各役物モータには、例えばバイポーラモータが採用されている。
【0070】
原点スイッチ群54は、各可動体役物50について、それぞれ原点位置にあるか否かを判定するための複数の原点スイッチを包括的に表しており、位置センサ群55は、各可動体役物50の動作位置(例えば、原点位置からの移動量)を検出するために可動体役物50ごとに設けられた位置センサ(後述する位置センサ55x、55y)を包括的に表している。
【0071】
本実施形態の遊技機1において、位置センサ群55における各位置センサによる検出信号は、演出制御基板41ではなくモータ駆動制御部51に入力される。
後述するように、モータ駆動制御部51は、位置センサからの入力に対応して、例えば、可動体役物50をセンサ位置まで移動させて停止させる、といった制御を演出制御基板41からの指示に基づき行うことが可能とされている。
【0072】
原点スイッチ群54において、各原点スイッチは、例えばフォトインターラプタ等で構成され、それぞれ対応する可動体役物50が原点位置にあるか否かを検出する。原点位置は、例えば図4を参照して説明した遮蔽位置などとされる。
演出制御基板41は、原点スイッチ群54における原点スイッチの検出信号に基づいて可動体役物50が原点位置にあるか否かを判定可能とされている。演出制御基板41は、この判定の結果に基づき、各可動体役物50を原点位置に復帰させる原点復帰処理を行うことが可能とされる。
【0073】
また、演出制御基板41には、操作部14として示す演出ボタン14a、十字キー14b、決定ボタン14cの操作検出スイッチが接続され、演出制御基板41は、演出ボタン14a、十字キー14b、決定ボタン14cからの操作検出信号をそれぞれ受信可能とされている。
【0074】
さらに、演出制御基板41には、図1に示した発射操作ハンドル15が遊技者に触れられているか否かを検出するためのハンドルセンサ56(タッチセンサ)が設けられている。演出制御基板41はこのハンドルセンサ56の検出情報に基づいて発射操作ハンドル15が使用者によりタッチされているか否かを判定可能とされる。
【0075】
演出制御基板41は、主制御基板40から送られてくる演出制御コマンドに基づき、予め用意された複数種類の演出パターンの中から抽選により、又は一意に演出パターンを選択(決定)し、必要なタイミングで各種の演出手段を制御して、目的の演出を現出させる。これにより、演出パターンに対応する液晶表示装置20による演出画像の表示、スピーカ17からの音の再生、装飾ランプ16やLEDの点灯点滅駆動が実現され、種々の演出パターン(装飾図柄変動表示動作や予告演出など)が時系列的に展開されることにより、広義の意味での「演出シナリオ」が実現される。
【0076】
ここで、演出制御コマンドについて、演出制御基板41(CPU41a)は、主制御基板40(CPU40a)が送信する上述したストローブ信号の入力に基づき割込み処理を発生させてその受信・解析を行う。具体的に、CPU41aは、上述したストローブ信号の入力に基づいてコマンド受信割込処理用の制御プログラムを実行し、これにより実現される割込み処理において、演出制御コマンドを取得し、コマンド内容の解析を行う。
この際、CPU41aは、ストローブ信号の入力に基づいて割込みが発生した場合には、他の割込みに基づく割込み処理(定期的に実行されるタイマ割込処理)の実行中であっても、当該処理に割り込んでコマンド受信割込処理を行い、他の割込みが同時に発生してもコマンド受信割込処理を優先的に行うようになっている。
【0077】
<3.動作の概要説明>
次に、上記のような制御構成(図5)により実現される遊技機1の遊技動作の概要について説明する。
【0078】
[3.1 遊技状態]
本実施形態に係る遊技機1では、特別遊技状態である大当り遊技の他、複数種類の遊技状態を設定可能に構成されている。本実施形態の理解を容易なものとするために、先ず、種々の遊技状態について説明する。
【0079】
本実施形態の遊技機1は、低確率状態又は高確率状態のどちらかと、非時短状態又は時短状態のどちらかとが組み合わされたいずれかの遊技状態で遊技が進行する。
【0080】
低確率状態は、後述する大当り抽選の当選確率が相対的に低い状態であり、高確率状態は、大当り抽選の当選確率が相対的に高い状態である。
非時短状態は、第2始動口24に遊技球が相対的に入球しにくい状態であり、時短状態は、第2始動口24に遊技球が相対的に入球しやすい状態である。本実施形態では、時短状態の方が非時短状態よりも、後述する普図当り抽選に当選したときの第2始動口24の開放時間が長く設定されている。しかしながら、時短状態の方が非時短状態よりも第2始動口24に遊技球が入球しやすいのであれば、時短状態の方が非時短状態よりも、例えば、普図当り抽選の当選確率を高くしたり、普通図柄の変動時間を短くしたりしてもよい。
【0081】
本実施形態において、「通常状態」とは、低確率状態及び非時短状態を言い、初期状態に相当する。
【0082】
[3.2 図柄変動表示ゲーム]
(特図保留について)
遊技機1では、第1始動口23又は第2始動口24へ遊技球が入球した場合、すなわち、第1始動口検出センサ23a又は第2始動口検出センサ24aからの検出信号の入力があった場合、後述する特別図柄変動表示ゲームに係る乱数(大当り判定用乱数、特別図柄判定用乱数、変動パターン用乱数)が取得され、これらの乱数を保留データとして、所定の上限値である最大保留記憶数(例えば最大4個)までRAM40cの特図保留記憶エリアに記憶されるようになっている。
この特図保留記憶エリアは、特図1側と特図2側とに対応した特図保留記憶エリア、すなわち、特図1保留記憶エリアと、特図2保留記憶エリアとが設けられている。
【0083】
これら特図保留記憶エリアには、保留1記憶エリア~保留n記憶エリア(nは最大保留記憶数:本実施形態ではn=4)が設けられており、それぞれ最大保留記憶数分の保留データを格納可能となっている。なお、特図1保留記憶エリア及び特図2保留記憶エリアの最大保留記憶数は特に制限されない。また、各図柄の最大保留記憶数の全部又は一部が異なっていてもよく、その数は遊技性に応じて適宜定めることができる。
この特図保留記憶エリアに記憶されている保留データに係る遊技球を、「保留球」とも称する。この保留球の数を遊技者に明らかにするため、複合表示装置22cにおける特図1及び特図2の保留球数に対応するドット表示器を点灯表示させたり、液晶表示装置20による画面中にアイコン画像として設けた保留表示器を点灯表示させたりする。
【0084】
(特別図柄変動表示ゲーム)
本実施形態の遊技機1では、所定の始動条件、具体的には、第1始動口23又は第2始動口24に遊技球が入球(入賞)したことに基づき、主制御基板40において乱数抽選による「大当り抽選」が行われる。主制御基板40は、大当り抽選の抽選結果に基づき、特別図柄表示装置22a、22bに特別図柄1、特別図柄2を変動表示して特別図柄変動表示ゲームを開始させ、所定の変動時間の経過後に、その結果を特別図柄表示装置22a、22bに表示して、これにより特別図柄変動表示ゲームを終了させる。なお、特に必要のない限り、「特別図柄1」と「特別図柄2」とを単に「特別図柄」と称する(場合により「特図」と略称する)。
【0085】
ここで本実施形態では、第1始動口23への入賞に基づく特図1の大当り抽選と、第2始動口24への入賞に基づく特図2の大当り抽選とは別個独立して行われる。このため、特図1の大当り抽選結果は特別図柄表示装置22aで、特図2の大当り抽選結果は特別図柄表示装置22bで表示されるようになっている。具体的には、特別図柄表示装置22aにおいては、第1始動口23に遊技球が入球したことを条件に、特図1を変動表示して第1の特別図柄変動表示ゲームが開始され、他方、特別図柄表示装置22bにおいては、第2始動口24に遊技球が入球したことを条件に、特図2を変動表示して第2の特別図柄変動表示ゲームが開始されるようになっている。そして、特別図柄表示装置22a又は特別図柄表示装置22bにおける特別図柄変動表示ゲームが開始されると、所定の変動時間の経過後に、大当り抽選結果が「大当り」の場合には所定の「大当り」態様で、それ以外の場合には所定の「はずれ」態様で、変動表示中の特別図柄が停止表示され、これによりゲーム結果(大当り抽選結果)が報知されるようになっている。
【0086】
なお、説明の便宜上、特別図柄表示装置22a側の第1の特別図柄変動表示ゲームを「特別図柄変動表示ゲーム1」と称し、特別図柄表示装置22b側の第2の特別図柄変動表示ゲームを「特別図柄変動表示ゲーム2」と称する。また「特別図柄変動表示ゲーム1」と「特別図柄変動表示ゲーム2」とを単に「特別図柄変動表示ゲーム」と称する。
【0087】
大当り抽選結果が「大当り」となった場合、すなわち、特別図柄変動表示ゲームが終了し、その結果として特別図柄表示装置22a又は特別図柄表示装置22bに「大当り」態様で特別図柄が停止表示された場合、その後に、特別図柄変動表示ゲーム中よりも遊技者に有利な特別遊技状態(大当り遊技)が発生する。
大当り遊技は、詳しくは後述するように、大当り遊技が開始する旨を報知するための開放前インターバル時間(オープニング時間)が経過した後、第1大入賞口27又は第2大入賞口28が開放されてから所定時間(最大開放時間:例えば、29.8)経過するか、第1大入賞口27又は第2大入賞口28に入球した遊技球数が所定個数(最大入賞数)に達すると、第1大入賞口27又は第2大入賞口28が閉鎖されるといった「ラウンド遊技」が、予め定められた規定ラウンド数(例えば、最大10ラウンド)繰り返される。そして、規定ラウンド数終了後に、大当り遊技が終了する旨を報知するための開放後インターバル時間(エンディング時間)が経過すると、大当り遊技が終了するようになっている。なお、数字の後の「s」は「秒」である。
【0088】
(装飾図柄変動表示ゲーム)
また、上述の特別図柄変動表示ゲームが開始されると、これに伴って、液晶表示装置20に装飾図柄(演出的な遊技図柄)を変動表示して装飾図柄変動表示ゲームが開始され、これに付随して種々の演出が展開される。そして特別図柄変動表示ゲームが終了すると、装飾図柄変動表示ゲームも終了し、特別図柄表示装置22a、22bには大当り抽選結果を示す所定の特別図柄が、そして液晶表示装置20には当該大当り抽選結果を反映した装飾図柄が導出表示されるようになっている。すなわち、装飾図柄の変動表示動作を含む演出的な装飾図柄変動表示ゲームにより、特別図柄変動表示ゲームの結果を反映表示するようになっている。
【0089】
従って、例えば特別図柄変動表示ゲームの結果が「大当り」である場合(大当り抽選結果が「大当り」である場合)、装飾図柄変動表示ゲームではその結果を反映させた演出が展開される。そして特別図柄表示装置22a、22bにおいて、特別図柄が大当りを示す表示態様(例えば、7セグが「7」の表示状態)で停止表示されると、液晶表示装置20には、「左」「中」「右」の各表示エリアにおいて、装飾図柄が「大当り」を反映させた表示態様(例えば「左」「中」「右」の各表示エリアにおいて、3個の装飾図柄が「7」「7」「7」の表示状態)で停止表示される。
【0090】
上記の装飾図柄変動表示ゲームの実行に必要な情報に関しては、先ず主制御基板40が、第1始動口23又は第2始動口24に遊技球が入球したことに基づき、具体的には、第1始動口検出センサ23a又は第2始動口検出センサ24aにより遊技球が検出されて始動条件(特別図柄に関する始動条件)が成立したことを条件に、「大当り」又は「はずれ」の何れであるかを抽選する大当り抽選と、最終的に停止表示される特別図柄の種別(大当り種別、はずれ種別)を抽選する図柄抽選とを行い、その抽選結果に基づき、特別図柄の変動パターンを決定する。
図柄抽選では、大当り抽選結果が「大当り」であったならば複数の大当り種別のいずれかを、「はずれ」であったならば複数のはずれ種別のいずれかを抽選により決定する。ただし、大当り種別及びはずれ種別は1つのみであってもよく、その場合、抽選を行うことなく決定してもよい。
そして、主制御基板40は、処理状態を特定する演出制御コマンドとして、少なくとも特別図柄の変動パターンの情報(変動パターン情報(例えば、大当り抽選結果及び特別図柄の変動時間に関する情報等))を含む「変動パターン指定コマンド」を演出制御基板41側に送信する。これにより、装飾図柄変動表示ゲームに必要とされる基本情報が演出制御基板41に送られる。
【0091】
特別図柄の変動パターン情報には、特定の予告演出(例えば、後述の「リーチ演出」や「疑似連演出」など)の発生の有無を指定する情報を含むことができる。詳述するに、特別図柄の変動パターンは、大当り抽選結果に応じて、当りの場合の「当り変動パターン」と、はずれの場合の「はずれ変動パターン」に大別される。これら変動パターンには、例えば、リーチ演出の発生を指定する‘リーチ変動パターン’、リーチ演出の発生を指定しない‘通常変動パターン’、疑似連演出とリーチ演出との発生(重複発生)を指定する‘疑似連有りリーチ変動パターン’、疑似連演出の発生を指定し、リーチ演出の発生は指定しない‘疑似連有り通常変動パターン’等、複数種類の変動パターンが含まれる。なお、リーチ演出や疑似連演出の演出時間を確保する関係上、通常、リーチ演出や疑似連演出を指定する変動パターンの方が、通常変動パターンよりも変動時間が長く定められている。
【0092】
演出制御基板41は、主制御基板40から送られてくる演出制御コマンド(ここでは、変動パターン指定コマンドと装飾図柄指定コマンド)に含まれる情報に基づいて、装飾図柄変動表示ゲーム中に時系列的に展開させる演出内容(予告演出等の演出シナリオ)や、最終的に停止表示する装飾図柄(装飾停止図柄)を決定し、特別図柄の変動パターンに基づくタイムスケジュールに従い装飾図柄を変動表示して装飾図柄変動表示ゲームを実行させる。これにより、特別図柄表示装置22a、22bによる特別図柄の変動表示と時間的に同調して、液晶表示装置20による装飾図柄が変動表示され、特別図柄変動表示ゲームの期間と装飾図柄変動表示ゲーム中の期間とが、実質的に同じ時間幅となる。また演出制御基板41は、演出シナリオに対応するように、液晶表示装置20又は光表示装置16a或いは音響発生装置17aをそれぞれ制御し、装飾図柄変動表示ゲームにおける各種演出を展開させる。これにより、液晶表示装置20での画像の再生(画像演出)と、効果音の再生(音演出)と、装飾ランプ16やLEDなどの点灯点滅駆動(光演出)とが実現される。
【0093】
このように特別図柄変動表示ゲームと装飾図柄変動表示ゲームとは不可分的な関係を有し、特別図柄変動表示ゲームの表示結果を反映したものが装飾図柄変動表示ゲームにおいて表現されることとしているので、この二つの図柄変動表示ゲームを等価的な図柄遊技と捉えても良い。本明細書中では特に必要のない限り、上記二つの図柄変動表示ゲームを単に「図柄変動表示ゲーム」と称する場合がある。
【0094】
(普図保留について)
遊技機1では、普通図柄ゲート26へ遊技球が通過した場合、すなわち、普通図柄ゲート検出センサ26aからの検出信号の入力があった場合、普通図柄変動表示ゲームに係る乱数(普図当り判定用乱数)が取得され、この乱数を保留データとして、所定の上限値である最大保留記憶数(例えば最大4個)までRAM40cの普図保留記憶エリアに保留記憶されるようになっている。
普図保留記憶エリアには、保留1記憶エリア~保留n記憶エリア(nは最大保留記憶数:本実施形態ではn=4)が設けられており、それぞれ最大保留記憶数分の保留データを格納可能となっている。なお、普図保留記憶エリアの最大保留記憶数は特に制限されない。
この普図保留記憶エリアに記憶されている保留データに係る遊技球を、「普図保留球」とも称する。この普図保留球の数を遊技者に明らかにするため、複合表示装置22cにおける普図保留球数に対応するドット表示器を点灯表示させたり、液晶表示装置20による画面中にアイコン画像として設けた保留表示器を点灯表示させたりする。
【0095】
(普通図柄変動表示ゲーム)
遊技機1においては、普通図柄ゲート26に遊技球が通過したことに基づき、主制御基板40において乱数抽選による「普図当り抽選」が行なわれる。この抽選結果に基づき、LEDにより表現される普通図柄を複合表示装置22dに変動表示させて普通図柄変動表示ゲームを開始し、所定の変動時間の経過後に、その結果をLEDの点灯と非点灯の組合せにて停止表示するようになっている。例えば、普図当り抽選の結果が「普図当り」であった場合、普図当り種別に応じて、複合表示装置22dの特定のLEDを特定の点灯状態(例えば、2個のLEDが全て点灯状態、又は「○」と「×」を表現するLEDのうち「○」側のLEDが点灯状態)にて停止表示させる。なお、本実施形態では、普図当り種別は1種類のみ設けられている。
【0096】
この「普図当り」となった場合には、普通電動役物ソレノイド25a(図5参照)が作動し、第2始動口24が開放又は拡大されて遊技球が流入し易い状態(始動口開状態)となり、第2始動口24が閉鎖しているときよりも遊技者に有利な遊技状態(以下、「普電開放遊技」と称する)が発生する。この普電開放遊技では、普通電動役物25により第2始動口24の開放時間が所定時間(例えば5.7s)経過するまでか、又は第2始動口24に入賞した遊技球数が所定個数(例えば10個)に達するまで、その入賞領域が開放又は拡大され、これら何れかの条件を満たした場合に第2始動口24を閉鎖する、といった動作が所定回数(たとえば、最大1回)繰り返されるようになっている。
【0097】
[3.3 大当りについて]
続いて、遊技機1における「大当り」について説明する。
遊技機1では、大当り種別として「4R1」「10R」「4R2」が設けられており、大当り抽選の結果が「大当り」であった場合に、図柄抽選において大当り種別の抽選が行われる。
なお、上記「R」の表記は、規定ラウンド数(最大ラウンド数)を意味する。
【0098】
大当り種別は、条件装置の作動契機となる当りである。ここで「条件装置」とは、その作動がラウンド遊技を行うための役物連続作動装置の作動に必要な条件とされている装置で、特定の特別図柄の組合せが表示され、又は遊技球が大入賞口内の特定の領域を通過した場合に作動するものを言う。
【0099】
大当り遊技が実行された場合、大当り当選時の遊技状態、決定された大当り種別に応じて、大当り遊技の終了後の遊技状態、確変回数、時短回数が決定される。
確変回数は、大当り遊技後の遊技状態が高確率状態である場合に設定される。遊技機1では、大当り遊技後の高確率状態が、特別図柄変動表示ゲームの実行回数が確変回数(例えば154回)を終了するまで継続し、大当り抽選で大当りに当選することなく確変回数の特別図柄変動表示ゲームが終了すると、遊技状態が低確率状態に設定(移行)される。
時短回数は、大当り遊技後の遊技状態が時短状態である場合に設定される。遊技機1では、大当り遊技後の時短状態が、特別図柄変動表示ゲームの実行回数が時短回数(例えば150回)を終了するまで継続し、大当り抽選で大当りに当選することなく時短回数の特別図柄変動表示ゲームが終了すると、遊技状態が非時短状態に設定(移行)される。
但し、遊技機1は、確変回数及び時短回数が大当り抽選において大当りに当選するまで(次回まで)継続するタイプの「一般確変機」としてもよい。
なお、時短回数は、特別図柄変動表示ゲーム1及び特別図柄変動表示ゲーム2の合計実行回数(特図1及び特図2の合計変動回数)であってもよいし、何れか一方の実行回数(例えば特別図柄変動表示ゲーム2の実行回数)であってもよい。
【0100】
ここで、本実施形態では、大当り種別と同様に「はずれ」についても複数のはずれ種別が設けられている。具体的には、「はずれ1」「はずれ2」「はずれ3」の三種のはずれ種別が設けられている。
上記のように、大当り抽選の結果が「はずれ」であった場合には、図柄抽選においてはずれ種別の抽選が行われる。
【0101】
[3.4 演出について]
(演出モード)
次に、演出モード(演出状態)について説明する。本実施形態の遊技機1には、遊技状態に関連する演出を現出させるための複数種類の演出モードが設けられており、その演出モード間を行き来可能に構成されている。具体的には、設定されている遊技状態に対応した演出モードが設けられている。各演出モードでは、装飾図柄の変動表示画面のバックグラウンドとしての背景表示が、それぞれ異なる背景演出により表示され、遊技者が現在、どのような遊技状態に滞在しているかを把握することができるようになっている。
【0102】
演出制御基板41(CPU41a)は、複数種類の演出モード間を移行制御する機能部(演出状態移行制御手段)を有する。演出制御基板41(CPU41a)は、主制御基板40(CPU40a)から送られてくる特定の演出制御コマンド、具体的には、主制御基板40側で管理される遊技状態情報を含む演出制御コマンドに基づいて、主制御基板40側で管理される遊技状態と整合性を保つ形で、現在の遊技状態を把握し、複数種類の演出モード間を移行制御可能に構成されている。上記のような特定の演出制御コマンドとしては、例えば、変動パターン指定コマンド、装飾図柄指定コマンド、遊技状態に変化が生じる際に送られる遊技状態指定コマンド等がある。
【0103】
(予告演出)
次に、予告演出について説明する。演出制御基板41は、主制御基板40からの演出制御コマンドの内容、具体的には、少なくとも変動パターン指定コマンドに含まれる変動パターン情報に基づき、現在の演出モードと大当り抽選結果とに関連した様々な「予告演出」を現出制御可能に構成されている。このような予告演出は、当り種別に当選したか否かの期待度(以下「当選期待度」と称する)を示唆(予告)し、遊技者の当選期待感を煽るための「煽り演出」として働く。予告演出として代表的なものには、「リーチ演出」や「疑似連演出」、さらには「先読み予告演出」等がある。演出制御基板41は、これら演出を実行(現出)制御可能な予告演出制御手段として機能する。
【0104】
「リーチ演出」とは、リーチ状態を伴う演出態様(リーチ状態を伴う変動表示態様:リーチ変動パターン)を言い、具体的には、リーチ状態を経由して最終的なゲーム結果を導出表示するような演出態様を言う。リーチ演出には当選期待度に関連付けられた複数種類のリーチ演出が含まれる。例えば、ノーマルリーチ演出が出現した場合に比べて、当選期待度が相対的に高まるものがある。このようなリーチ演出を‘スーパーリーチ演出’と言う。この「スーパーリーチ」の多くは、当選期待感を煽るべく、ノーマルリーチよりも相対的に長い演出時間(変動時間)を持つ。また、ノーマルリーチやスーパーリーチには複数種類のリーチ演出が含まれる。スーパーリーチには、スーパーリーチ1、2、3、4という複数種類のリーチ演出が含まれ、これらスーパーリーチ1~4の当選期待度については「スーパーリーチ1<スーパーリーチ2<スーパーリーチ3<スーパーリーチ4」という関係性を持たせている。
【0105】
「疑似連演出」とは、装飾図柄の疑似的な連続変動表示状態(疑似連変動)を伴う演出態様を言い、「疑似連変動」とは、装飾図柄変動表示ゲーム中において、装飾図柄の一部又は全部を一旦仮停止状態とし、その仮停止状態から装飾図柄の再変動表示動作を実行する、といった表示動作を1回又は複数回繰り返す変動表示態様をいう。この点、複数回の図柄変動表示ゲームに跨って展開されるような後述の「先読み予告演出(連続予告演出)」とは異なる。このような「疑似連」は、基本的には、疑似変動回数が多くなるほど当選期待度が高まるようにその発生率(出現率)が定められており、例えば、疑似変動回数に応じて、スーパーリーチ等の期待感を煽るための演出が選択され易くされている。
【0106】
「先読み予告演出」(以下では「先読み予告」や「先読み演出」と略称する場合もある)とは、先読み判定の結果に基づいて、判定対象の図柄の変動表示が行われるよりも前に、有利状態に制御される可能性を報知する演出を意味する。なお、「有利状態」は、遊技者にとって有利な状態を意味する。
具体的に、先読み演出は、未だ図柄変動表示ゲームの実行(特別図柄の変動表示動作)には供されていない保留球(未消化の保留球)について、主に、保留表示態様や先に実行される図柄変動表示ゲームの背景演出等を利用して、当該保留球が図柄変動表示ゲームに供される前に、当選期待度を事前に報知し得る演出態様で行われる。なお、図柄変動表示ゲームにおいては、上記「リーチ演出」の他、いわゆる「SU(ステップアップ)予告演出」や「タイマ予告演出」、「復活演出」、「プレミア予告演出」などの種々の演出が発生し、ゲーム内容を盛り上げるようになっている。
【0107】
ここで、図6を参照し、上記先読み予告演出の一例としての「保留変化予告演出」について説明する。
本実施形態の遊技機1の場合、液晶表示装置20の画面内の上側の表示エリアには、装飾図柄変動表示ゲームを現出する表示エリア(装飾図柄の変動表示演出や予告演出を現出するための表示領域)が設けられており、また画面内の下側の表示エリアには、特別図柄1側の保留球数を表示する保留表示領域60(保留表示部a1~d1)と特別図柄2側の保留球数を表示する保留表示領域61(保留表示部a2~d2)とが設けられている。保留球の有無に関しては、所定の保留表示態様により、その旨が報知される。図6では、保留球の有無を点灯状態(保留球あり:図示の「○(白丸印)」)、又は消灯状態(保留球なし:図示の破線の丸印)にて、現在の保留球数に関する情報が報知される例を示している。
【0108】
保留球の有無に関する表示(保留表示)は、その発生順(入賞順)に順次表示され、各保留表示領域60、61において、一番左側の保留球が、当該保留表示内の全保留球のうち時間軸上で一番先に生じた(つまり最も古い)保留球として表示される。また、保留表示領域60、61の左側には、現に特別図柄変動表示ゲームに供されている保留球を示すための変動中表示領域62が設けられている。本実施形態の場合、変動中表示領域62は、受座Jのアイコン上に、現在ゲームに供されているゲーム実行中保留Kのアイコンが載る形の画像が現れるように構成されている。すなわち、特別図柄1又は特別図柄2の変動表示が開始される際に、保留表示領域60、61に表示されていた最も古い保留a1又はa2のアイコン(アイコン画像)が、ゲーム実行中保留Kのアイコンとして、変動中表示領域62おける受座Jのアイコン上に移動し、その状態が所定の表示時間にわたって維持される。
【0109】
保留球が発生した場合、主制御基板40から、大当り抽選結果に関連する先読み判定情報と、先読み判定時の保留球数(今回発生した保留球を含め、現存する保留球数)とを指定する「保留加算コマンド」が演出制御基板41に送信される(図14参照)。
本実施形態の場合、上記保留加算コマンドは2バイトで構成され、保留加算コマンドは、先読み判定時の保留球数を特定可能とする上位バイト側のデータと、先読み判定情報を特定可能とする下位バイト側のデータとから構成される。
【0110】
ここで、上記説明から理解されるように、本実施形態では、第1始動口23又は第2始動口24に遊技球が入球して新たに保留球が生じたことに基づいて、その保留球に係る図柄変動表示ゲームについての大当り抽選が先読み判定として行われる。後述するように、主制御基板40は、このような先読み判定として行った大当り抽選の結果を表す情報を、RAM40cの該当記憶領域に保留記憶する。
先読み判定時に得られた大当り抽選結果の情報は、図柄変動表示ゲームにおける図柄変動パターンを選択(抽選)するために用いられるものであり、いわば「変動パターン選択用情報」と換言することができる。従って、主制御基板40は、先読み判定を行って、その結果得られる「変動パターン選択用情報」をRAM40cの所定領域に保留記憶していると言うことができる。
【0111】
演出制御基板41は、主制御基板40が送信した上記の保留加算コマンドを受信すると、これに含まれる先読み判定情報に基づき、上記保留表示に関連する表示制御処理の一環として、「先読み予告演出」に関する演出制御処理を行う。具体的には、先読み予告演出の実行可否を抽選する「先読み予告抽選」を行い、これに当選した場合には、先読み予告演出を現出させる。
【0112】
ここで、先読み判定情報とは、具体的には、主制御基板40において、保留球が図柄変動表示ゲームに供される際に実行される大当り抽選結果(変動開始時の大当り抽選結果)や変動開始時の変動パターンを先読み判定して得られる遊技情報である。すなわち、この情報には、少なくとも変動開始時の大当り抽選結果を先読み判定した情報(先読み当否情報)が含まれ、その他、図柄抽選結果を先読み判定した情報(先読み図柄情報)や変動開始時の変動パターンを先読み判定した情報(先読み変動パターン情報)を含ませることができる。如何なる情報を含む保留加算コマンドを演出制御基板41に送るかについては、先読み予告にて報知する内容に応じて適宜定めることができる。
なお、保留加算コマンドには先読み当否情報、先読み図柄情報、及び先読み変動パターン情報が含まれているものとする。
【0113】
なお、保留球発生時の先読み判定により得られる「先読み変動パターン」は、必ずしも保留球が実際に変動表示動作に供されるときに得られる「変動開始時の変動パターン」そのものではある必要はない。例えば、上記変動開始時の変動パターンが「スーパーリーチ1」を指定する変動パターンであるケースを代表的に説明すれば、本ケースでは、先読み変動パターンにより指定される内容が「スーパーリーチ1」というリーチ演出の種類そのものではなく、その骨子である「スーパーリーチ種別」である旨を指定することができる。
【0114】
本実施形態の場合、先読み予告抽選に当選した場合には、保留表示部a1~d1、a2~d2の保留アイコンのうちで、その先読み予告対象となった保留アイコンが、例えば、通常の保留表示(通常保留表示態様)の白色から、予告表示の青色、緑色、赤色、デンジャー柄(或いは虹色などの特殊な色彩や絵柄)による保留表示(特別保留表示態様)に変化し得る「保留表示変化系」の先読み予告演出(「保留変化予告」とも称する)が行われる。
図6では、ハッチングされた保留表示部b1の保留球が、特別保留表示に変化した例を示している。ここで、保留アイコンの青色、緑色、赤色、デンジャー柄の表示は、この順に、当選期待度が高いことを意味しており、特にデンジャー柄の保留アイコンの表示は、大当り当選期待度が極めて高い表示となるプレミアム的な保留アイコンとされている。
【0115】
(演出手段)
遊技機1における各種の演出は、遊技機1に配設された演出手段により現出される。この演出手段は、視覚、聴覚、触覚など、人間の知覚に訴えることにより演出効果を発揮し得る刺激伝達手段であれば良く、装飾ランプ16やLED装置などの光発生手段(光表示装置16a:光演出手段)、スピーカ17などの音響発生装置(音響発生装置17a:音演出手段)、液晶表示装置20などの演出表示装置(表示手段)、操作者の体に接触圧を伝える加圧装置、遊技者の体に風圧を与える風圧装置、その動作により視覚的演出効果を発揮する可動体役物50などは、その代表例である。ここで、演出表示装置は、画像表示装置と同じく視覚に訴える表示装置であるが、画像によらないもの(例えば7セグメント表示器)も含む点で画像表示装置と異なる。画像表示装置と称する場合は主として画像表示により演出を現出するタイプを指し、7セグメント表示器のように画像以外により演出を現出するものは、上記演出表示装置の概念の中に含まれる。
【0116】
<4.主制御基板の処理>
続いて、本実施形態の主制御基板40が行う処理について説明する。主制御基板40の処理は、主に、メイン処理(主制御側メイン処理:図7)と、CTCからの定時割込みで起動されるタイマ割込み処理(主制御側タイマ割込み処理:図9)とを含んで構成される。
【0117】
[4.1 主制御側メイン処理]
図7は、主制御側メイン処理を示したフローチャートである。
主制御側メイン処理が開始されるのは、停電状態や電源異常等からの復旧時に電源基板200からのシステムリセット信号によるシステムリセットが生起した場合や、制御プログラムが暴走したことによりウォッチドッグタイマ(WDT)が発揮されてCPU40aが強制的にリセット(WDTリセット)される場合等がある。何れの場合でも、主制御側メイン処理が開始されると、ステップS101でCPU40aは、CPU40aを含む各部のレジスタの値を初期設定する等の遊技動作開始に必要な初期設定処理を実行する。
【0118】
ステップS101の初期設定処理が完了すると、CPU40aはステップS102で、バックアップフラグがON状態か否か(バックアップフラグ=5AHがON状態)を判定する。
遊技機1において、電源遮断時には、主制御側タイマ割込み処理における後述する電源チェック・バックアップ処理(ステップS201、図9参照)により、RAM40cの記憶情報についてバックアップのための処理が行われる。電源遮断時に適正にバックアップ処理が行われた場合には、バックアップフラグがON状態とされる。このためステップS102ではバックアップフラグを確認して、バックアップ復帰可能であるか否かの判定を行う。
【0119】
ステップS102において、バックアップフラグがONでないと判定した場合、CPU40aはステップS103に進み、バックアップフラグOFF時の対応処理を行い、ステップS108に処理を進める。なお、ステップS103では、バックアップフラグがOFFであった場合の処理として予め定められた所定処理(例えば、RAM40cに必要情報を記憶させる処理等)を行う。
【0120】
一方ステップS102において、バックアップフラグがONであると判定した場合、CPU40aはステップS104で、RAMクリア条件(RAMクリア処理への移行条件)が成立しているか否かを判定する。具体的には、RAMクリアスイッチ34がONの状態であるか否かを判定する。
RAMクリア条件が成立していると判定した場合、CPU40aはステップS105のRAMクリア処理を実行し、ステップS108に処理を進める。
ステップS105のRAMクリア処理は、RAM40cにおけるワーク領域を含む所定領域(使用領域)内の値を初期化する処理である。
【0121】
ステップS104において、RAMクリア条件が成立していないと判定した場合、CPU40aはステップS106に進んでバックアップ復帰時のコマンド送信処理として、バックアップ復帰時に対応した所定の演出制御コマンドを演出制御基板41に送信する処理を行う。
【0122】
ステップS106に続くステップS107でCPU40aは、バックアップ復帰処理を行う。バックアップ復帰処理は、電源遮断時にバックアップされたRAM40cの記憶内容に基づいて、電源投入後に電源遮断前の動作に復帰させる処理となる。具体的に、CPU40aは、電源遮断前におけるスタックポインタを復帰し、電源遮断時の処理状態から遊技動作を開始するための処理を行う。
また、バックアップ復帰処理では、バックアップ復帰した場合に対応した情報表示指示を行うための停電復帰表示コマンド(OB03H)が後述するステップS110のメインループ前処理において演出制御基板41に送信されるようにするべく、停電復帰表示コマンドの下位バイトデータをレジスタに記憶する処理を実行する。
【0123】
ステップS107のバックアップ復帰処理を実行したことに応じ、CPU40aはステップS108に処理を進める。上述のように、先のステップ103の処理を行った場合、ステップS105の処理を行った場合もCPU40aはステップS108に処理を進める。
【0124】
ステップS108でCPU40aは、例えば4ms等の所定時間毎に定期的にタイマ割込みを発生させるためのCTCの設定を行う。
このステップS108の設定処理が行われることで、以降、割込みコントローラへの割込み要求信号が定期的に出力され、主制御側タイマ割込み処理が実行される。
【0125】
ステップS108に続くステップS109でCPU40aは、遊技開始を指示するための演出制御コマンドを演出制御基板41に送信する処理を行い、次いで、ステップS110に処理を進めてメインループ前処理を実行する。
メインループ前処理では、可動体役物50のイニシャライズ(原点復帰)指示を行うためのコマンド、特図1、特図2の保留球数を示すコマンドの送信処理、内部機能レジスタの設定処理、性能表示モニタ点灯用タイマを5sにセットする処理、払出制御基板42に対する発射許可信号をONとする処理などが実行される。
そして、ステップS111でCPU40aは、メインループ処理を実行する。
【0126】
(メインループ処理)
図8は、ステップS111のメインループ処理を示したフローチャートである。
図8のメインループ処理において、CPU40aは、ステップS121で割込み禁止状態に設定し、続くステップS122で乱数更新処理を実行する。この乱数更新処理では、特別図柄変動表示ゲームや普通図柄変動表示ゲームに使用される各種乱数(インクリメント処理によって所定数値範囲を循環している大当り抽選に係る乱数(特別図柄判定用乱数)や、普図当り抽選に係る乱数(普図当り判定用乱数)の初期値(スタート値)変更のために使用する乱数(特別図柄判定用初期値乱数、普図当り判定用初期値乱数)や、変動パターンの選択に利用される変動パターン用乱数を更新する。
【0127】
本実施形態のRAM40cには、大当り抽選に係る図柄抽選、普図当り抽選及び変動パターン抽選などに利用される各種の乱数カウンタとして、特別図柄判定用乱数カウンタ初期値の生成用カウンタ、特別図柄判定用乱数カウンタ、普図当り判定用乱数カウンタ初期値の生成用カウンタ、普図当り判定用乱数カウンタ、変動パターン用乱数カウンタ等が設けられている。これらのカウンタは、ソフトウェア的に乱数を生成する乱数生成手段としての役割を果たす。ステップS122の乱数更新処理では、上述の特別図柄判定用乱数カウンタや普図当り判定用乱数カウンタの初期値を生成する2つの初期値生成用カウンタ、変動パターン用乱数カウンタ等を更新して、上記各種のソフト乱数を生成する。例えば、仮に、変動パターン用乱数カウンタとして取り得る数値範囲が「0~9999」とすると、RAM40cの変動パターン用乱数の値を生成するためのカウント値記憶領域から値を取得し、取得した値に「1」を加算してから元のカウント値記憶領域に格納する。このとき、取得した値に「1」を加算した結果が「10000」であれば「0」を元の乱数カウンタ記憶領域に格納する。他の初期値生成用乱数カウンタも同様に更新する。
【0128】
ステップS122の乱数更新処理を終えると、CPU40aはステップS123で全レジスタの値を退避する処理を行った上で、ステップS124で性能表示モニタ集計除算処理を行う。
この性能表示モニタ集計除算処理は、上記した性能情報としての値(ここでは、例えば「通常時比率情報」としての値とする)を演算する処理である。通常時比率情報の値は、総払出個数と総アウト球数とを用いて算出されるものであるが、CPU40aは、総払出個数については、入賞口(第1始動口23、第2始動口24、一般入賞口31、第1大入賞口27、第2大入賞口28)に入賞した遊技球の数をカウントした結果に基づき算出し、総アウト球数については、遊技領域19から排出された遊技球の数をカウントすることで求める。
入賞球数のカウント、及びアウト球数のカウントは、主制御側タイマ割込み処理における後述する入力管理処理(図9のステップS204を参照)で行われる。CPU40aは、このようにタイマ割込み処理側で行う入賞球数のカウント、及びアウト球数のカウントのそれぞれによるカウント値に基づき、ステップS124において通常時比率情報としての値を演算する。上記のように、演算した通常時比率情報としての値は、RAM40cの所定領域(計測情報格納領域)に格納される。
なお、このように算出された通常時比率情報の値は、主制御側タイマ割込み処理における後述する性能表示モニタ表示処理(図9のステップS214を参照)によって性能表示器35に表示される。
【0129】
ステップS125でCPU40aは、全レジスタ復帰処理を行い、さらに続くステップS126で割込み許可状態に設定した上で、ステップS121に戻る。
【0130】
このようにステップS111のメインループ処理では、ステップS121~S126の処理が無限ループ状に繰り返される。CPU40aは、間欠的に実行されるタイマ割込み処理を行っている間を除いて、これらステップS121~S126の処理を繰り返し実行することになる。
【0131】
[4.2 主制御側タイマ割込み処理]
図9のフローチャートを参照して、主制御側タイマ割込処理について説明する。
主制御側タイマ割込処理は、CTCからの一定時間(4ms程度)ごとの割込みで起動され、主制御側メイン処理実行中に割り込んで実行される。
【0132】
図9に示すように、CPU40aは、タイマ割込みが生じると、ステップS201の電源チェック・バックアップ処理を実行する。この電源チェック・バックアップ処理では、主に、電源基板から供給されている電源レベルを監視し、電断が生じる等の異常が発生した場合、電源復帰時に支障なく遊技を復帰できるように、電断時における所定の遊技情報をRAM40cに格納するバックアップ処理等が行われる。
【0133】
ステップS201の電源チェック・バックアップ処理を終えると、CPU40aはステップS202で入力データ作成処理を実行する。具体的には、各種センサやスイッチから出力される入力情報(ON/OFF信号や、立ち上がり状態(ONエッジ、OFFエッジ))に基づき、入力データ作成する。
ここでの入力情報とは、例えば第1始動口検出センサ23a、第2始動口検出センサ24a、普通図柄ゲート検出センサ26a、第1大入賞口検出センサ27a、第2大入賞口検出センサ28a、一般入賞口検出センサ31a、OUT監視センサ32aなどの検出センサから出力される検出信号のON/OFF情報(入賞検出情報)や、RAMクリアスイッチ34等の各種スイッチから出力されるスイッチ信号のON/OFF情報(操作情報)や、払出制御基板42からの状態信号(前扉開放センサ48や満杯検出センサ47のON/OFF情報)、電波センサ、磁気センサ等である。これにより、アウト口や各入賞口において遊技球が検出されたか否かが割込みごとに監視される。
【0134】
ステップS202の入力データ作成処理を終えると、CPU40aはステップS203で、遊技動作制御に用いられるタイマを管理するタイマ管理処理を実行する。ここでは、遊技機1の遊技動作制御に用いる各種タイマの値について更新(減算処理)が行われる。
【0135】
次いで、CPU40aはステップS204で、入力管理処理を行う。この入力管理処理では、入力データ作成処理(S202)で作成された入力データに基づき、入賞カウンタやOUT球監視カウンタの値などを更新する。「入賞カウンタ」とは、入賞口ごとに対応して設けられ、入賞した遊技球数(入賞球数)を計数するカウンタである。またOUT球監視カウンタは、遊技領域19から排出される遊技球(アウト球)を計数するカウンタである。
【0136】
ステップS205でCPU40aは、エラー管理処理を実行する。このエラー管理処理では、各種センサ類に係る入力データや払出制御基板42からの状態信号に基づき、エラー発生の有無の監視を行う。
エラーが発生した場合には、CPU40aはエラー処理として、エラーコマンドの送信が必要なエラー種別である場合には当該するコマンドを演出制御基板41に送信する。演出制御基板41がこのエラーコマンドを受けると、エラー種別に応じたエラー報知を実行する。また、CPU40aは発生中のエラーが解消された場合、エラー解除コマンドを演出制御基板41に送信する。演出制御基板41がこのエラー解除コマンドを受けると、実行中のエラー報知を終了させる。
【0137】
次いで、CPU40aはステップS206で、各変動表示ゲームに係る乱数を定期的に更新するタイマ割込み内乱数管理処理を実行する。ここでは、乱数カウンタのカウント値をランダムなものとするために、特別図柄判定用乱数や普図当り判定用乱数などに対し、乱数の更新(割込み毎に+1加算)と、乱数カウンタが一周するごとに、乱数カウンタのスタート値を変更する処理を行う。なお大当り判定用乱数は、乱数生成回路で生成されるので、ここで更新されることはない。
【0138】
ステップS207でCPU40aは、賞球管理処理を実行する。この賞球管理処理では、上記の入賞カウンタの確認を行い、入賞がある場合には、賞球数を指定する払出制御コマンドを払出制御基板42に送信する。払出制御基板42は、払出制御コマンドを受信した場合、これに含まれる賞球数情報に基づき遊技球払出装置46を制御し、指定された賞球数分の払い出し動作を実行させる。
【0139】
次いで、ステップS300でCPU40aは、普通図柄管理処理を実行する。この普通図柄管理処理では、普通図柄変動表示ゲームを実行させるために必要な処理を行う。
なお、ステップS300の普通図柄管理処理の詳細については後述する。
【0140】
さらに、ステップS208でCPU40aは、普通電動役物管理処理を実行する。この普通電動役物管理処理では、普電開放遊技を実行させるために必要な普通電動役物の動作制御に係る処理を行う。
【0141】
次いで、ステップS400でCPU40aは、特別図柄管理処理を実行する。この特別図柄管理処理では、主に、特別図柄変動表示ゲームにおける大当り抽選を行い、その抽選結果に基づいて、特別図柄の変動パターン(先読み変動パターン、及び変動開始時の変動パターン)の決定等、特別図柄変動表示ゲームを実行させるために必要な処理を行う。
なお、ステップS400の特別図柄管理処理の詳細については後述する。
【0142】
次いで、ステップS209でCPU40aは、特別電動役物管理処理を実行する。この特別電動役物管理処理では、大当り遊技を実行させるために必要な特別電動役物の動作制御に係る処理を行う。
【0143】
上記ステップS209までの遊技進行のための処理を終えると、CPU40aはステップS210で、外部端子管理処理を行う。この外部端子管理処理では、枠用外部集中端子基板43を通して、遊技機1の動作状態情報をホールコンピュータHCや島ランプなどの外部装置に対して出力する。動作状態情報には、例えば、大当り遊技発生情報、図柄変動表示ゲーム実行開始情報、入賞数・賞球数情報、エラー情報などの遊技情報がある。
【0144】
次いで、ステップS211でCPU40aは、LED管理処理を実行する。このLED管理処理では、特別図柄表示装置22a、22b、複合表示装置22c、22dなどのLED表示器に対する制御信号(ダイナミック点灯データ)の出力処理を行う。普通図柄管理処理(ステップS300)、特別図柄管理処理(ステップS400)などで作成された表示用データに基づく制御信号は、このLED管理処理で対応する表示装置又は表示器に出力され、表示制御が行われる。これにより、特別図柄表示装置22a、22bにおける特別図柄や複合表示装置22dにおける普通図柄の一連の変動表示動作(変動表示及び停止表示)等が実現される。
【0145】
ステップS211に続くステップS212でCPU40aは、ソレノイド管理処理を実行する。ここでは、前述した普通電動役物25を動作させる普通電動役物ソレノイド25a、第1大入賞口27を開閉する第1特別電動役物29を動作させる第1特別電動役物ソレノイド29a、第2大入賞口28を開閉する第2特別電動役物30を動作させる第2特別電動役物ソレノイド30a等、遊技機1が備える所定のソレノイドに対する制御信号(制御データ)を出力する処理を行う。
【0146】
ステップS212に続くステップS213でCPU40aは、全レジスタの値を退避させた上で、ステップS214の性能表示モニタ表示処理を行う。すなわち、性能表示器35に上記した通常時比率情報としての値を表示させるための処理である。
そして、通常時比率情報の値は全状態アウト球数が所定規定値に達するごとに演算し直されるものであり、性能表示器35は、現在の通常時比率情報と前回の通常時比率情報(直近の演算し直しタイミングにおいて演算終了とされた通常時比率情報)とを表示可能とされている。このため、この場合のステップS214の表示処理では、性能表示器35にこれら二種の通常時比率情報としての値を表示させる処理を行う。
なお、現在の通常時比率情報の値は、上記したメインループ処理(図8)におけるステップS124の処理で算出される値であり、前回の通常時比率情報の値は、RAM40cの所定領域に保存され、CPU40aは保存値を読み出して性能表示器35に表示させる。
【0147】
ステップS214に続くステップS215でCPU40aは、全レジスタの値を復帰させ、ステップS216でWDTのカウント値をクリアし、主制御側タイマ割込み処理を終了する。
【0148】
以上のタイマ割込み処理が終了すると、CPU40aは次のタイマ割込みが発生するまでの間、メインループ処理(S111)を実行する。
【0149】
(普通図柄管理処理)
図10は、普通図柄管理処理を示すフローチャートである。
図10に示すように、ステップS301でCPU40aは、普通図柄ゲート検出センサ26aからの検出信号に基づき、普通図柄ゲート26への遊技球の通過を検出したか否かを判定する。
【0150】
普通図柄ゲート26への遊技球の通過を検出したと判定した場合、ステップS302でCPU40aは、普図保留球数が4以上であるか否か判定する。すなわち、普図保留球数が最大保留記憶数(ここでは、上限4個)以上であるか否かを判定する。ただし、普通図柄ゲート26への遊技球の通過を検出しなかった場合(ステップS301:N)、及び、普図保留球数が4個であると判定した場合は、ステップS302~ステップS304をパスしてステップS305に進む。
【0151】
一方、普図保留球数が4以上でないと判定した場合(4未満の場合)、CPU40aは、ステップS303で普図保留球数に1を加算し、ステップS304で今回発生した普図保留球に係る普図当り判定用乱数をRAM40cの普図保留記憶エリアに格納する。
【0152】
ステップS305でCPU40aは、普図当りフラグの状態を判定する。この「普図当りフラグ」とは、普電開放遊技中であるか否かを指定するためのフラグであり、当該フラグがON状態(例えば5AH)である場合には普電開放遊技中である旨を示し、当該フラグがOFF状態(例えば00H)である場合には普電開放遊技中ではない旨を示す。
【0153】
普図当りフラグがOFF状態(≠5AH)の場合、すなわち普電開放遊技中でない場合、ステップS306でCPU40aは、普通図柄動作ステータス(00H~02H)に応じて普通図柄の変動表示動作に関する処理を分岐させる普通図柄動作ステータス判定処理を実行する。
【0154】
ステップS306の普通図柄動作ステータス判定処理では、普通図柄動作ステータスが「変動開始時(00H)」「変動中(01H)」「確認時間中(02H)」の何れかであるかに応じて、それぞれ対応する処理を実行する。なお「普通図柄動作ステータス」とは、普通図柄の挙動を示す値であり、その値は処理状態に応じて変更され、RAM40cの普通図柄動作ステータス格納領域に格納される。
【0155】
具体的に、CPU40aは、普通図柄動作ステータスが「変動開始時(00H)」である場合、ステップS307で普図保留球数がゼロか否かを判定し、普図保留球数がゼロであると判定した場合には、ステップS308~ステップS313の処理をパスし、ステップS320に進む。
【0156】
一方、普図保留球数がゼロでないと判定した場合、ステップS308でCPU40aは、普図保留球数を1減算し、図11に示す普図当り判定テーブルを参照して、普図保留記憶エリアに格納されている普図当り判定用乱数(保留データ)のうちの最も先に記憶された普図当り判定用乱数に基づく普図当り抽選を行う。
【0157】
図11は、普図当り判定テーブルの一例を説明する図である。
ここで、ROM40bの所定の領域には、図11に示すような普図当り判定テーブルが記憶されている。普図当り判定テーブルには、低確率状態と高確率状態との判定基準値THが示されている。
本実施形態における普図当り抽選では、普図当り判定用乱数がとり得る値の範囲(0~250)内において判定基準値THを定め、普図当り判定用乱数と判定基準値THの大小関係を比較した結果に基づき、普図当り又ははずれの判定を行う。一例として、普図当り判定用乱数の値が「0~判定基準値TH」の範囲内である場合に普図当りの判定結果を、それ以外の場合にはずれの判定結果を得る手法を採っている。
図11に示す例では、低確率状態及び高確率状態の両方とも判定基準値THが250に設定されている。したがって、本実施形態では、低確率状態及び高確率状態のいずれの場合であっても、普図当り抽選で必ず普図当りに当選する。
【0158】
図12は、普通図柄変動表示ゲームに関する当り種別、変動時間、確定時間の一例を説明する図である。
ステップS310でCPU40aは、図12に示すように、普図当り抽選の抽選結果、及び、設定されている遊技状態に基づいて当り種別が決定され、決定された当り種別に対応する停止図柄を作成する停止図柄作成処理を行う。ここでは、上記したように、低確率状態及び高確率状態のいずれの場合であっても普図当り抽選で必ず普図当りに当選し、普図当りに当選した場合、図12に示すように、当り種別として「当り1」が決定され、「当り1」に対応する停止図柄が作成される。
【0159】
ステップS311でCPU40aは、遊技状態に基づく変動時間(図12参照)を普通図柄役物タイマに格納する。ここでは、低確率状態では132msが格納され、高確率状態では128msが格納されることになる。
【0160】
ステップS312でCPU40aは、RAM40cの普図保留記憶エリアに格納されている保留データをシフトする。ここでは、普図保留n記憶エリア(n=2、3、4)に格納されている保留データを、それぞれ‘n-1’に対応する普図保留記憶エリアに格納する。
【0161】
ステップS313でCPU40aは、変動開始時の各種設定を行い、ステップS320に進む。ここでは、例えば、普通図柄動作ステータスを「変動中(01H)」にし、保留4記憶エリアをクリアして空き領域を設け、普図変動中フラグをON状態にする。
【0162】
普通図柄動作ステータスが「変動中(01H)」である場合、CPU40aは、ステップS314で普通図柄役物タイマがゼロか否かを判定し、普通図柄役物タイマがゼロでないと判定した場合、ステップS315をパスしてステップS320に進む。
【0163】
一方、普通図柄役物タイマがゼロであると判定した場合、ステップS315でCPU40aは、変動停止時の各種設定を行い、ステップS320に進む。ここでは、例えば、普通図柄動作ステータスを「確認時間中(02H)」にし、図12に示すような遊技状態に基づいた確定時間(500ms)を普通図柄役物タイマに格納し、普図変動中フラグをOFF状態にする。
【0164】
普通図柄動作ステータスが「確認時間中(02H)」である場合、CPU40aは、ステップS316で普通図柄役物タイマがゼロか否かを判定し、普通図柄役物タイマがゼロでないと判定した場合、ステップS317~ステップS319をパスしてステップS320に進む。
【0165】
一方、普通図柄役物タイマがゼロであると判定した場合、ステップS317でCPU40aは、普通図柄動作ステータスを「変動開始時(00H)」にする。ステップS318でCPU40aは、ステップS309の普図当り抽選において普図当りに当選したか否かを判定し、普図当りに当選していないと判定した場合にはステップS319をパスしてステップS320に進む。
【0166】
一方、普図当りに当選していたと判定した場合、ステップS319でCPU40aは、普図当り時の各種設定を行いステップS320に進む。ここでは、普図当りフラグをON状態(5AH)にする。
【0167】
ステップS320でCPU40aは、普通図柄表示データを更新し、普通図柄管理処理を終了する。この普通図柄表示データ更新処理では、普通図柄が変動中であるか否かを判定し、変動中であれば、普通図柄変動中の7セグ表示用データを作成し、普通図柄が変動中でなければ、普通図柄停止表示中の7セグ表示用データを作成する。ここで作成した普通図柄の表示データは、図9のLED管理処理(ステップS211)によって複合表示装置22dに出力される。
【0168】
(特別図柄管理処理)
図13は、特別図柄管理処理(ステップS400)を示したフローチャートである。図13に示すように、CPU40aは、ステップS401で特図1(第1始動口23)についての特図1始動口チェック処理を行い、続くステップS402で特図2(第2始動口24)についての特図2始動口チェック処理を行う。
なお、これら始動口チェック処理の詳細については後述する。
【0169】
ステップS401、S402の始動口チェック処理を終えると、ステップS403でCPU40aは、条件装置作動フラグの状態を判定する。この「条件装置作動フラグ」とは、大当り遊技中であるか否かを指定するためのフラグであり、当該フラグがON状態(例えば5AH)である場合には大当り遊技中である旨を示し、当該フラグがOFF状態(例えば00H)である場合には大当り遊技中ではない旨を示す。なお、条件装置作動フラグは、大当り抽選において大当りに当選した場合における特別図柄確認中処理(ステップS407)でON状態に設定され、後述する大当り終了処理(ステップS650)でOFF状態に設定される。
【0170】
条件装置作動フラグがOFF状態(≠5AH)であると判定した場合、すなわち大当り遊技中でないと判定した場合、ステップS404でCPU40aは、特別図柄動作ステータス(00H~03H)に応じて特別図柄の変動表示動作に関する処理を分岐させる特別図柄動作ステータス分岐処理を実行する。
【0171】
ステップS404の特別図柄動作ステータス分岐処理では、特別図柄動作ステータスが「待機中(00H、01H)」「変動中(02H)」「確認中(03H)」の何れであるかに応じて、それぞれ対応する処理を実行する。なお「特別図柄動作ステータス」とは、特別図柄の挙動を示す値であり、その値は処理状態に応じて変更され、RAM40cの特別図柄動作ステータス格納領域に格納される。
【0172】
具体的に、CPU40aは、特別図柄動作ステータスが「待機中(00H、01H)」である場合には特別図柄変動開始処理(ステップS405)を、「変動中(02H)」である場合には特別図柄変動中処理(ステップS406)を、「確認中(03H)」である場合には特別図柄確認時間中処理(ステップS407)をそれぞれ実行する。ここで、上記「待機中」とは、特別図柄が次回変動のための待機状態である旨を意味し、上記「変動中」とは特別図柄が変動(変動表示)中である旨を意味し、上記「確認中」とは特別図柄の変動が終了して停止(確定)表示中(特別図柄確認時間中)である旨を意味する。
【0173】
上記のステップS405、S406、S407の処理により、特別図柄の変動開始及び変動停止を1セットする変動表示動作が実現されることになる。
なお、ステップS405の処理の詳細については後述する。
【0174】
ステップS405~S407の何れかの処理を終えると、ステップS408でCPU40aは、特別図柄表示データ更新処理を実行し、特別図柄管理処理を終了する。この特別図柄表示データ更新処理では、特別図柄が変動中であるか否かを判定し、変動中であれば、特別図柄変動中の7セグ表示用データを作成し、特別図柄が変動中でなければ、特別図柄停止表示中の7セグ表示用データを作成する。ここで作成した特別図柄の表示データは、図9のLED管理処理(ステップS211)によって特別図柄表示装置22a、22bに出力される。
【0175】
また、ステップS403で大当り遊技中と判定した場合(=5AH)、CPU40aはステップS405~S407の特別図柄の変動表示動作に関する処理を行わずに、そのままステップS408の特別図柄表示データ更新処理を行う。すなわち、大当り遊技中である場合には、特別図柄の変動表示動作は行われない(特別図柄表示装置の特別図柄の表示状態は、大当り後に確定表示されたままの状態が保持される)。
【0176】
(特図1始動口チェック処理)
図14は、特図1始動口チェック処理(ステップS401)を示したフローチャートである。
この特図1始動口チェック処理は、所定の始動条件の成立に基づいて実行される入賞時処理としての役割を果たす。特図1始動口チェック処理では、特別図柄1の特別図柄変動表示ゲーム1を実行させるための開始前処理(特別図柄1の入賞時処理)として、第1始動口23の入賞発生に起因した特別図柄1の保留球数の加算処理、各種乱数の記憶処理(保留記憶処理)、保留加算コマンドの送信処理等が実行される。
なお、特図2始動口チェック処理(ステップS402)も、特図1始動口チェック処理と同じく、所定の始動条件の成立に基づいて実行される入賞時処理としての役割を果たし、特別図柄2の特別図柄変動表示ゲーム2を実行させるための開始前処理(特別図柄2の入賞時処理)として、第2始動口24の入賞発生に起因した特別図柄2の保留球数の加算処理、各種乱数の記憶処理、及び保留加算コマンドの送信処理等が実行される。従って、特図1始動口チェック処理と特図2始動口チェック処理とは実質的に同一の処理内容となっている。以下では、特図1始動口チェック処理を中心に説明し、特図2始動口チェック処理についての詳細は、重複記載を避けるために省略する。
【0177】
図14に示すように、ステップS401-1でCPU40aは、第1始動口検出センサ23aからの検出信号に基づき、第1始動口23への遊技球の入賞を検出したか否かを判定する。そして、第1始動口23への入賞を検出したと判定した場合、ステップS401-2でCPU40aは、特別図柄1の保留球(以下、「特図1保留球」と称する)の数が4以上であるか否か判定する。すなわち、特図1保留球数が最大保留記憶数(ここでは、上限4個)以上であるか否かを判定する。ただし、第1始動口23の入賞検出がないと判定した場合、特図1始動口チェック処理を終了する。
【0178】
ステップS401-2で特図1保留球数が4以上であると判定した場合、つまり第1始動口23の入賞を検出したが特図1保留球数が4以上であると判定した場合、CPU40aは後述のステップS401-11に進み、一方、特図1保留球数が4以上でないと判定した場合(4未満の場合)、ステップS401-3で特図1保留球数に1を加算する。
【0179】
ステップS401-4でCPU40aは、今回発生した特図1保留球に係る特別図柄変動表示ゲーム1に利用される各種乱数を取得する。具体的には、各種の乱数カウンタから、大当り判定用乱数、特別図柄判定用乱数、変動パターン用乱数を取得し、その取得した乱数をRAM40cの特図保留記憶エリアに格納する。
【0180】
ステップS401-5でCPU40aは、保留加算コマンドを作成するための入賞コマンドデータ(保留加算コマンドの下位バイト側(EVENT)に相当するデータ)として、先読み判定を禁止する先読み禁止データ(EVENT:「01H」)を取得する。
次いで、ステップS401-6でCPU40aは、「特図1先読み禁止条件」が成立しているか否かを判定する。特図1先読み禁止条件とは、特図1保留球を対象とした先読み判定を禁止する条件である。
【0181】
図1先読み禁止条件が成立している場合、CPU40aは先読み判定に関する先読み判定処理(ステップS401-9)を実行せずに、ステップS401-11に進む。この場合、先読み禁止データ(EVENT:「01H」)を持つ保留加算コマンドが先読み禁止を指定するものとなり、今回の特図1保留球を対象とした先読み判定が禁止され、その結果、先読み予告演出も実行されないことになる。換言すれば、先読み禁止データは、先読み判定処理(ステップS401-9)を実行していない旨を指定するものと言える。
【0182】
ここで、遊技状態によらず特図1及び特図2の先読み判定を行うのではなく、現在の遊技状態に基づいて、先読み禁止か否かを判定するようになっている。その理由は次の通りである。
右打ち有利となる時短状態である場合には、第2始動口24への入賞が頻繁に発生するが、左打ち有利となる非時短状態である場合には、第2始動口24への入賞がほぼ発生せずに第1始動口23への入賞が頻繁に発生することを考慮し、遊技状態によらず特図1及び特図2の先読み判定を闇雲に行うのではなく、時短状態である場合には特図1側の先読み判定を禁止して特別図柄2側の先読み判定を許容し、非時短状態である場合には特図2側の先読み判定を禁止して特図1側の先読み判定を許容するようになっている。
【0183】
ステップS401-6において、先読み禁止条件が成立していないと判定した場合、ステップS401-7でCPU40aは、先読み判定処理を実行する。この先読み判定処理では、変動開始時に実行される大当り抽選結果を先読み判定する。従って、大当り抽選結果を先読み判定する‘先読み当否判定’と、図柄抽選結果を先読み判定する‘先読み図柄判定’と、変動開始時の変動パターンを先読み判定する‘先読み変動パターン判定’とに関する一連の処理が含まれる。
【0184】
具体的に、ステップS401-7においてCPU40aは、RAM40c(特図保留記憶エリア)に格納される大当り判定用乱数値を取得し、大当り判定用乱数値と大当り判定テーブル(図17参照)とに基づいて、今回の保留球を対象とした大当り抽選(少なくとも大当り、はずれの別を決定する先読み当否判定)を行い、その結果(「先読み当否結果」と称する)を取得する。
【0185】
ここで、本実施形態では、先読み当否結果はCPU40a内蔵の所定の汎用レジスタに取り込んだまま、RAM40cに格納しない。これは、先読み当否判定結果が、この後の先読み図柄判定の処理で直ちに利用され、それ以降このデータが必要とされることがなく、RAM40cに記憶する必要が無いためである。
【0186】
また、ステップS401-7でCPU40aは、上記した先読み図柄判定の処理として、先読み当否結果(少なくとも大当り、はずれの別)と保留種別(特図1、2の別)とに応じた図柄テーブル(図20参照)を用いた図柄抽選を行う。具体的にCPU40aは、先のステップS401-4で取得した特別図柄判定用乱数と図柄テーブルとに基づき、今回の保留球を対象とした図柄抽選を行い、その結果(「先読み図柄結果」と称する)を取得する。
【0187】
CPU40aは、先読み図柄結果を、上述した先読み当否判定のときと同様にCPU40a内蔵の所定の汎用レジスタに取り込んだまま、RAM40cに格納しない。これは、先読み図柄結果が、この後の先読み変動パターン判定で直ちに利用され、それ以降このデータが必要とされることがなく、RAM40cに記憶する必要が無いためである。
【0188】
上記の先読み図柄判定を終えると、CPU40aは先読み変動パターン判定を実行する。この先読み変動パターン判定では、上記の先読み図柄結果(「4R1」「10R」「4R2」「はずれ1」「はずれ2」「はずれ3」の何れか)と、該先読み図柄結果に応じた変動パターンを選択するための変動パターンテーブルと、ステップS401-4で取得した変動パターン用乱数とを利用した変動パターンの抽選を行い、先読み変動パターン決定する。すなわち、今回の保留球が変動表示動作に供されるときに実行される変動パターン(変動開始時の変動パターン)を先読み判定する。
【0189】
上記の変動パターンテーブルは、特別図柄変動開始処理(図13)で行われる変動パターンの抽選においても利用される。
上記の変動パターンテーブルの具体例、及び該テーブルを用いた変動パターンの抽選処理については、変動開始時の処理の説明時に改めて説明する。
【0190】
なお、先読み変動パターン判定結果(入賞コマンドデータ(EVENT))は、以下で説明するステップS401-8の保留加算コマンド作成処理で直ちに利用され、その後、このデータが必要とされることはない。従って、CPU40aは、先読み変動パターン判定の結果をRAM40cに格納することなくレジスタに取り込んだまま、ステップS401-7の処理を終えるようになっている。
【0191】
ステップS401-8でCPU40aは、先読み判定結果に応じた保留加算コマンドの下位バイト側のデータを作成する。具体的には、先読み変動パターンの種類を表すデータを、保留加算コマンドの下位バイト側の入賞コマンドデータ(EVENT)として作成する。
なお、EVENTのデータについては、ステップS401-5で設定された「01H」が、本処理にて先読み変動パターンに対応する値(先読み変動パターン判定処理で得られた値)に更新されることになる。
【0192】
ステップS401-9でCPU40aは、保留球数に応じた保留加算コマンドの上位バイト側のデータを作成する。すなわち、現在の保留球数と、上述した先読み図柄結果(特別図柄の種別)とを表すデータを保留加算コマンドの上位バイト側の入賞コマンドデータ(MODE)として作成する。
該MODEのデータについては、特図1の保留1個~特図1の保留4個、特図2の保留1個~特図2の保留4個を識別可能に設定される。
【0193】
ステップS401-10でCPU40aは、保留加算コマンドの送信処理を行う。すなわち、ステップS401-8、ステップS401-9で作成した入賞コマンドデータをそれぞれEVENT、MODEとして含む保留加算コマンドを作成し、演出制御基板41に送信する。
【0194】
ここで、先読み禁止条件である場合(S401-6でYes)、CPU40aは上述した先読み禁止データ(下位バイト=01H)を更新せずにそのまま維持し、先読み禁止データを持つ保留加算コマンドを送信する。
また、オーバーフロー時(最大保留記憶数に達しているときに、新たな入賞が発生した場合)は、オーバーフロー指定の保留加算コマンドが送信されるようになっている(ステップS401-2のYesのルート)。
【0195】
なお、保留加算コマンドは、主制御基板40から演出制御基板41に送られた後は、演出制御基板41側において今回の保留球に係る「先読み予告演出」を現出する際に利用されるだけであり、図12に示す特別図柄変動開始処理において特に利用されるものではない。従って、CPU40aは保留加算コマンドもRAM40cに格納することなく、ステップS401の特図1始動口チェック処理を抜けて、続いてステップS402の特図2始動口チェック処理を行うことになる。
【0196】
(特別図柄変動開始処理)
図15は、変動開始時の処理である特別図柄変動開始処理(ステップS405)を示したフローチャートである。
図15に示すように、ステップS405-1でCPU40aは、特図2の保留球数(特図2保留球数)がゼロか否かを判定し、特図2保留球数がゼロでない場合には、ステップS405-6に進み、今回の変動表示に供する特図2保留球を対象とした変動開始時の処理(ステップS405-6~S405-14)を行う。
【0197】
一方、特図2保留球数がゼロであると判定した場合、ステップS405-2でCPU40aは、特図1の保留球数(特図1保留球数)がゼロか否かを判定し、特図1保留球数がゼロでないと判定した場合には、ステップS405-6の処理に進み、今回の変動表示に供する特図1保留球を対象とした特別図柄の変動開始に係る処理(ステップS405-6~S405-14)を行う。
上記のステップS405-1とS405-2の処理により、特図1保留球と特図2保留球のどちらを優先的に変動表示動作に供するか(どちらの保留球を優先的に消化していくか)の「優先変動順位」が定まる。本実施形態では、特図1保留球と特図2保留球の双方に保留球が存在する場合、特図2保留球が優先的に消化される。つまり、特別図柄変動表示ゲーム1よりも特別図柄変動表示ゲーム2の方が優先的に実行される。なお、上述の優先変動タイプに限らず、入賞した順番通りに保留球を消化していく構成としてもよい。
【0198】
なお、特図2保留球数と特図1保留球数の双方の保留球数がゼロである場合、「保留球なし」の状態となる。この「保留球なし」の状態は、特別図柄が待機中であり、且つ保留記憶無しの状態となった場合であり、この状態に突入したことを演出制御基板41側に知らせて、液晶表示装置20に対し、客待ち待機用のデモ画面表示(客待ちデモ画面)に切り替え制御させる。そこで、「保留球なし」になった場合は、ステップS405-3に進み、CPU40aは、特別図柄動作ステータスが「保留球なし」の状態を示す「待機中(00H)」であるか否かを判定する。
【0199】
ステップS405-3において特別図柄動作ステータスが「待機中(00H)」でないと判定した場合、すなわち、特別図柄動作ステータスが「待機中(01H)」であると判定した場合には、ステップS405-4でCPU40aは、特別図柄動作ステータスを「待機中(00H)」に切り替える(特別図柄動作ステータスに00Hを格納する)。そして、ステップS405-5でCPU40aは、演出制御コマンドとして、客待ちデモ画面を表示させるための「デモ表示コマンド」を演出制御基板41に送信し、特別図柄変動開始処理を終了する。
以後、ステップS405-3の判定処理が実行されるときに「待機中(00H)」であれば、CPU40aは、再度、デモ表示コマンドを送信することなく特別図柄変動開始処理を終了する。
【0200】
ステップS405-1で特図2保留球数がゼロでないと判定した場合、及び、ステップS405-2で特図1保留球数がゼロでないと判定した場合(特図2保留球数がゼロである一方、特図1保留球数がゼロでない場合)のそれぞれにおいて、CPU40aは、今回の変動表示に供する保留球を対象とした特別図柄の変動開始時に係る処理(ステップS405-6~S405-14)を行う。
ここで、以下に説明するステップS405-6~S405-14の処理については、上記のステップS405-1の判定で‘No’であった場合は特図2保留球を対象とした処理、上記のステップS405-2の判定で‘No’であった場合は特図1保留球を対象とした処理となるが、処理の仕方は同じであるため、重複記載を避けるために特に必要が無い限り、特図1保留球を対象とした処理であるか、特図2保留球を対象とする処理であるかの区別はせずに説明していく。
【0201】
ステップS405-6でCPU40aは、保留球数を1減算し(今回の変動表示動作に供する特別図柄側に係る保留球数-1)、続くステップS405-7で減算後の保留球数情報を含む「保留減算コマンド」を演出制御基板41に送信する。この保留減算コマンドにより、演出制御基板41側は、今回の保留球数消化後の残余保留球数を把握し、現在表示中の保留表示をシフト表示させる。
【0202】
ステップS405-8でCPU40aは、特別図柄作動確認データを設定する。この特別図柄作動確認データは、今回の変動開始側の特別図柄を指定する情報であり、例えば、特別図柄1が変動開始側であるならば「00H(特図1変動開始指定)」を、特別図柄2が変動開始側であるならば「01H(特図2変動開始指定)」を、RAM40cの所定領域(特別図柄作動確認データ格納領域)に格納する。
【0203】
ステップS405-9でCPU40aは、RAM40cの特図保留記憶エリアに格納されている保留データをシフトし、続くステップS405-10で保留4記憶エリアをクリアする。このステップS405-9~S405-10の処理では、保留記憶数n=1に対応する保留記憶エリア(保留1記憶エリア)に格納されている保留データ(大当り判定用乱数、特別図柄判定用乱数、及び変動パターン用乱数)を読み出し、RAM40cの判定用乱数記憶エリアに格納すると共に、保留n記憶エリア(n=2、3、4)に対応する保留記憶エリア(保留2記憶エリア、保留3記憶エリア、保留4記憶エリア)に格納されている保留データを、それぞれ‘n-1’に対応する保留記憶エリアに格納し(ステップS405-9)、保留4記憶エリアをクリアして空き領域を設ける(ステップS405-10)。
【0204】
ステップS405-11でCPU40aは、変動回数残指定コマンド、遊技状態コマンドを送信する処理を行う。ここでは、CPU40aは、時短状態の時短回数をカウントする「時短回数カウンタ」がゼロであるか否かを判定し、時短回数がゼロでない場合は、時短回数を含む「変動回数残指定コマンド」を演出制御基板41に送信する。この「変動回数残指定コマンド」により、演出制御基板41は、時短回数を把握して報知する処理を実行可能とされる。
また、CPU40aは、現在の遊技状態を指定する遊技状態コマンドを演出制御基板41に送信する処理も行う。
【0205】
ステップS411でCPU40aは、大当り抽選を行う大当り乱数判定処理を実行する。
なお、大当り乱数判定処理の詳細については後述する。
【0206】
ステップS412でCPU40aは、図柄抽選を行う図柄抽選処理を実行する。
なお、図柄抽選処理の詳細については後述する。
【0207】
ステップS413でCPU40aは、変動パターン抽選を行う変動パターン抽選処理を実行する。
なお、本実施形態における変動パターン抽選処理の詳細については後述する。
【0208】
ここで、上記したように、変動開始時における大当り抽選や図柄抽選の抽選結果をRAM40cに格納するものとしているが、その理由は、これらの抽選結果は、特別図柄管理処理(ステップS400)のみで利用されるものではなく、後々の特別電動役物管理処理(ステップS209)等においても利用されるデータだからである。
この点、抽選結果をRAM40cに格納しない先読み判定時の処理とは異なる。
【0209】
なお、図示による説明は省略するが、大当り抽選結果が大当たりである場合に、CPU40aは、ステップS413に続いて、遊技状態を移行させるための設定処理として、大当り遊技後の遊技状態を指定するための必要な設定処理を行う(遊技状態移行準備処理)。
【0210】
ステップS405-12でCPU40aは、変動表示中である旨を指定する特別図柄N変動中フラグ(N=1、2)に5AH(ON状態)を格納する。「特別図柄N変動中フラグ」とは、特別図柄1、2のうち対象とする何れかの特別図柄が変動中であるかを示すフラグで、当該フラグがON状態(=5AH)である場合には対象の特別図柄が変動中である旨を示し、当該フラグがOFF状態(=00H)である場合には対象の特別図柄が停止中である旨を示す。
なお、特別図柄1変動中フラグ(N=1)は特別図柄1に対応し、特別図柄2変動中フラグ(N=2)は特別図柄2に対応するものである。
【0211】
ステップS405-13でCPU40aは、変動開始時のコマンド送信処理を実行する。このコマンド送信処理では、ステップS413の変動パターン抽選で選択された変動パターンを演出制御基板41に通知すべく、演出制御コマンドとして、変動パターンを特定可能な変動パターン情報を含む「変動パターン指定コマンド」を作成し、演出制御基板41に送信する。
また、コマンド送信処理では、ステップS412における図柄抽選結果に基づき、装飾図柄指定コマンドを作成し、演出制御基板41に送信する。装飾図柄指定コマンドは、保留種別を指定する上位バイト(MODE)と、特別図柄の種別を指定する下位バイト(EVENT)の2バイトで構成される。従って、この装飾図柄指定コマンドには、保留種別と特別図柄の種別(図柄抽選結果)とに関する情報が含まれる。この装飾図柄指定コマンドは、特別図柄の種別に関する情報が含まれることから、演出制御基板41において、主として、リーチ状態を形成する際の装飾図柄の組合せ(リーチ図柄を構成要素とする図柄種)や、最終的に停止表示させる装飾図柄(装飾停止図柄)の組合せや、図柄変動表示ゲームにおいて当選種別に対応する予告演出などを決定する際に利用される。
【0212】
ステップS405-14でCPU40aは、変動開始時設定処理を実行し、特別図柄変動開始処理を終了する。ここでは、特別図柄動作ステータスを「変動中(02H)」に切り替え(特別図柄動作ステータスに02Hを格納)、判定用乱数記憶エリアをクリアする処理を行う。
【0213】
(大当り乱数判定処理)
図16は、大当り乱数判定処理(ステップS411)を示したフローチャートであり、図17は、大当り判定テーブルの一例を示した図であり、図18は、大当り乱数判定手法を説明する図である。
【0214】
図16に示すように、ステップS411-1でCPU40aは、保留種別(特図1、特図2)に応じた大当り判定テーブルを選択する。
ここで、ROM40bの所定の領域(アドレス)には、図16に示すような大当り判定テーブルが記憶されている。大当たり判定テーブルは、保留種別(特図1、特図2)ごとに設けられているが、本実施形態では、保留種別によらず同一の値が設定されている。
大当り判定テーブルには、低確率状態と高確率状態とでの判定基準値THが示されている。
本実施形態における大当り乱数判定では、大当り判定用乱数がとり得る値の範囲内において判定基準値THを定め、大当り判定用乱数と判定基準値THの大小関係を比較した結果に基づき、大当りの当否判定(大当り抽選)を行う。一例として、大当り判定用乱数の値が「0~判定基準値TH」の範囲内である場合に大当りの判定結果を、それ以外の場合にはずれの判定結果を得る手法を採っている。
【0215】
そして、判定基準値THとしては、低確率状態の判定に用いる判定基準値TH1(205)と、高確率状態の判定に用いる判定基準値TH2(658)の2種が設定される。
図17及び図18に示すように、高確率状態の判定基準値TH2は低確率状態の判定基準値TH1よりも値が大きくされ、これにより高確率状態の判定でより大当りの当選確率が高まるようにされている。
【0216】
なお、上記では、大当り乱数判定における大当りの判定下限値を「0」とする例、すなわち、大当り判定用乱数が「0」~「判定基準値TH」の範囲内であれば大当りの判定結果を得る場合を例示したが、判定下限値は「0」よりも大きな数値とすることもできる。
【0217】
ステップS411-2でCPU40aは、大当り判定用乱数が判定下限値未満であるか否かを判定する。判定下限値は、上記のように大当りの判定下限値(大当りとの判定結果が得られる数値範囲の下限値)であり、例えば「0」である。
大当り判定用乱数が判定下限値未満であれば、はずれであることが確定されるため、以下で説明するステップS411-3~S411-7の処理はパスして大当り乱数判定処理を終了する。
なお、判定下限値=0である場合、大当り判定用乱数が0未満の値をとることは通常はあり得ないため、ステップS411-2の処理を設けることは必須ではない。ステップS411-2の処理は、判定下限値を0よりも大きな値とする場合に有効なものである。
【0218】
ステップS411-2において大当り判定用乱数が判定下限値未満でなければ、ステップS411-3でCPU40aは、現在の遊技状態が高確率状態であるか否かを判定する。
【0219】
高確率状態でないと判定した場合、ステップS411-4でCPU40aは、大当り判定テーブルにおける低確率状態の判定基準値TH1を取得する。
一方、高確率状態であると判定した場合、ステップS411-5でCPU40aは、大当り判定テーブルにおける高確率時の判定基準値TH2を取得する。
【0220】
ステップS411-6でCPU40aは、判定基準値TH1又は判定基準値TH2に基づいて、大当り判定用乱数が判定基準値TH未満であるか否かを判定する。
大当り判定用乱数が判定基準値TH未満であると判定した場合、ステップS411-7でCPU40aは、大当り判定フラグを5AHに更新した上で大当り乱数判定処理を終了し、大当り判定用乱数が判定基準値TH未満でないと判定した場合、ステップS411-6をパスして大当り乱数判定処理を終了する。
【0221】
なお、ステップS411-2で大当り判定用乱数が判定下限値未満と判定された場合、及び、ステップS411-6で大当り判定用乱数が判定基準値TH未満でないと判定された場合、大当り判定フラグとしては大当り(=5AH)でない、具体的にははずれ(=00H)である旨を表す値に更新されるべきであるが、ステップS411の大当り乱数判定処理においては、大当り判定フラグをはずれである旨を表す00Hに更新する処理は行われず、ステップS407の特別図柄確認時間中処理で行われる。
【0222】
(図柄抽選処理)
図19は、図柄抽選処理(ステップS412)を示したフローチャートであり、図20は、図柄テーブルの一例を示した図である。
【0223】
図20に示すように、図柄テーブルは、大当り抽選結果ごとに設けられている。図柄テーブルでは、大当り抽選結果ごとに特別図柄の種別(大当り種別、はずれ種別)の選択率が設定されている。
ここで、図柄テーブル内において、抽選対象の特別図柄の種別ごとに格納された数値は、特別図柄判定用乱数が0~199の200通りの数値をとり得ることを前提とした場合における選択率の振り分け値(振り分けを表す値)を表している。
大当り用の図柄テーブルによれば、特図1で大当りに当選した場合、大当り種別として「大当り1」が200/200の選択率、すなわち、必ず決定される。
また、特図2で大当りに当選した場合、大当り種別として「大当り1」が140/200」の選択率で決定され、大当り種別として「大当り2」が60/200の選択率で決定される。
【0224】
また、はずれ用の図柄テーブルによれば、特図1ではずれが決定された場合、はずれ種別として「はずれ1」が180/200の選択率で決定され、はずれ種別として「はずれ2」が16/200の選択率で決定され、はずれ種別として「はずれ3」が4/200の選択率で決定される。
また、特図2ではずれが決定された場合、はずれ種別として「はずれ1」が180/200の選択率で決定され、はずれ種別として「はずれ2」が10/200の選択率で決定され、はずれ種別として「はずれ3」が10/200の選択率で決定される。
【0225】
ステップS412-1でCPU40aは、保留種別(特図1、特図2)に対応した図柄テーブルを選択する。
【0226】
ステップS412-2でCPU40aは、特別図柄判定用乱数、大当り判定フラグを取得する。ステップS412-3でCPU40aは、大当り判定フラグ(大当り/はずれ)に対応した図柄テーブルを参照し、特別図柄判定用乱数に基づいて、特別図柄の種別(大当り種別、はずれ種別)を抽選により決定する。
【0227】
ステップS412-4でCPU40aは、ステップS412-3で決定した特別図柄の種別に対応する特別図柄判定データをRAM40cの所定領域に格納し、特別停止図柄作成処理を終了する。
【0228】
(変動パターン抽選処理)
図21は、変動パターン抽選処理(ステップS413)を示したフローチャートである。
ステップS413-1でCPU40aは、大当りか否かを判定する。すなわち、大当り判定フラグに基づき、大当り(=5AH)であるか否かを判定する。
【0229】
ステップS413-1において大当りでない(はずれである)と判定した場合、ステップS413-2でCPU40aは、はずれ変動パターンテーブルを選択した上で、ステップS413-4の変動パターン選択処理に進む。
一方、ステップS413-1において大当りと判定した場合、ステップS413-3でCPU40aは、大当り変動パターンテーブルを選択した上で、ステップS413-4の変動パターン選択処理に進む。
【0230】
ステップS413-4でCPU40aは、上記ステップS413-2又はステップS413-3で選択した変動パターンテーブルを参照し、変動パターン用乱数に基づいて変動パターンを決定し、変動パターン抽選処理を終了する。
【0231】
図22は、変動パターン抽選テーブルの一例を示した図である。
変動パターンテーブルは、ROM40bに記憶されている。なお、図22では、時短状態で用いられる変動パターンテーブルを図示しているが、実際には、非時短状態で用いられる変動パターンテーブルも設けられている。
【0232】
図22に示すように、はずれ時の変動パターン抽選においては、抽選候補の変動パターン(抽選により選択され得る変動パターン)が「通常変動1s」「通常変動12s1」「通常変動12s2」「スーパーリーチ1」「スーパーリーチ2」「スーパーリーチ3」「スーパーリーチ4」の7種とされる。
また、大当り用の変動パターン抽選においては、抽選候補の変動パターンが「スーパーリーチ1」「スーパーリーチ2」「スーパーリーチ3」「スーパーリーチ4」の4種とされる。
【0233】
ここで、上記した変動パターンのうち、特に「通常変動1s」「通常変動12s1」「通常変動12s2」は、大当り時に選択されないいわば「はずれ」に対応した変動パターンに属する(以下「はずれ変動パターン」と称することもある)。
【0234】
本実施形態では、はずれ時の変動パターン抽選は、特図1、2に関わらず、はずれ種別(はずれ1、2、3)ごとに異なる変動パターンテーブルを用いて行われる。
ここで、上記したように、「はずれ1」「はずれ2」「はずれ3」の各はずれ種別については、図柄抽選による選択率が異なるものとされ、「はずれ1」が最も選択率が高く、「はずれ2」「はずれ3」は「はずれ1」よりも選択率が低くされている。つまり、大当り抽選結果が「はずれ」であれば、殆どの場合、はずれ種別として「はずれ1」が選択されることになる。
【0235】
図2についての変動パターン抽選として、はずれ種別が「はずれ1」の場合における変動パターン抽選については、保留球数に応じた抽選を行う。このため、特図2用の変動パターンテーブルのうち、はずれ種別が「はずれ1」の場合に用いられる変動パターンテーブルとしては、保留球数ごとに異なるテーブルが用意されている。
【0236】
ここで、変動パターンテーブル内において、抽選対象の変動パターンごとに格納された数値は、変動パターン判定用乱数が0~9999の1000通りの数値をとり得ることを前提とした場合における選択確率の振り分け値(振り分けを表す値)を表している。例えば、特図1用の変動パターンテーブルにおいて、「はずれ1」且つ「保留球数=0」のテーブルでは「通常変動1s」に対する格納値=「10000」とされているが、これは、「通常変動1s」の当選確率が「10000/10000」であることを意味している。
テーブルの格納値として上記の振り分け値を示したのはあくまで説明の便宜を図るためであり、実際における変動パターンテーブルには、上記の大当り乱数判定で用いたような判定基準値が格納されることになる。例えば、上記の「はずれ1」且つ「保留球数=0」のテーブルについて言えば、実際の格納値(判定基準値)として例えば「9999」が格納され、その場合、変動パターン用乱数が9999以下であれば「通常変動1s」が選択される。
【0237】
図22に示した振り分け値を参照して分かるように、「はずれ1」の場合に対応した特図2の変動パターン抽選においては、「通常変動」のみが選ばれるようにしている。
また、「はずれ1」の場合に対応した特図2の変動パターン抽選においては、保留球数が多いほど、変動時間の短い通常変動パターンが選択されるようにしている。
【0238】
<5.演出制御基板の処理>
続いて、本実施形態の演出制御基板41のCPU41aが行う処理について説明する。CPU41aの処理は、主に、メイン処理(演出制御側メイン処理:図23)と、定時割込みで起動されるタイマ割込み処理(演出制御側タイマ割込み処理:図24)とを含んで構成される。
【0239】
[5.1 演出制御側メイン処理]
図23は、演出制御側メイン処理を示したフローチャートである。
まず、ステップS501でCPU41aは、遊技動作開始前における必要な初期設定処理を行う。ここでは、初期設定処理として、たとえば、コマンド受信割込み設定、可動体役物50の原点復帰処理、CTCの初期設定、タイマ割込みの許可、マイクロコンピュータの各部を含めてCPU内部のレジスタ値の初期設定などを行う。
【0240】
上記初期設定処理を終えると、所定時間ごと(16ms)にステップS504~S511のメインループ処理を行い、それ以外ではステップS503の演出用ソフト乱数更新処理を繰り返し行う。
【0241】
ステップS502でCPU41aは、メインループ更新カウンタを参照して、メインループ処理の実行契機となるメインループ更新周期(カウンタ値>15)が到来したかを判定する。メインループ更新カウンタは、1ms毎に実行される後述の演出制御側タイマ割込み処理中でインクリメントされるカウンタである。本実施形態では、16msごとにメインループ処理を行うようになっており、ステップS502の判定処理にて、メインループ更新カウンタ値を判定し、その値が「15」より大きい場合には(ステップS502でYes)、メインループ処理の実行タイミングが到来したとして、ステップS504~S511の処理を実行し、それ以外の場合には、メインループ更新周期が到来するまで(ステップS502でNo)、ステップS503で、演出シナリオを決定するための抽選に利用する各種演出抽選用のソフト乱数の更新を行う。
【0242】
メインループ更新周期が到来した場合(ステップS502でYes)、ステップS504でCPU41aは、メインループ更新カウンタをクリアし、ステップS505でデモ・節電モード処理を実行する。デモ・節電モード処理では、客待ち前演出(デモ開始待ち表示)、客待ち演出(デモ表示)、及び節電モードに必要な設定処理を実行する。
【0243】
ステップS506でCPU41aは、演出スイッチ入力処理を実行する。演出スイッチ入力処理では、前述した操作部14(演出ボタン14a、十字キー14b及び決定ボタン14c等)の操作状態を監視し、操作を検出した場合には、その操作に応じた演出制御処理を実行する。
【0244】
ステップS507でCPU41aは、コマンド解析処理を行う。コマンド解析処理では、コマンド受信バッファに演出制御コマンドが格納されているかを監視し、演出制御コマンドが格納されていればこのコマンドを読み出し、読み出した演出制御コマンドに対応した演出処理を実行する。なお、主制御基板40から演出制御コマンドが送信されると、RWMのコマンド受信バッファに格納される。
【0245】
例えば、変動パターン指定コマンドと装飾図柄指定コマンドとが受信され、それらが受信バッファに格納されている場合、コマンド解析処理において、そのコマンドに含まれる情報に基づいて演出シナリオを決定し、その演出シナリオのデータ(演出シナリオデータ)をRWMのシナリオ設定領域に格納する。なお、演出シナリオには、1又は複数種類の演出を、どのようなタイミングで、どれだけの演出時間幅をもって出現させるかについてのタイムスケジュールが規定されている。
【0246】
ステップS508でCPU41aは、シナリオ更新処理を実行する。このシナリオ更新処理では、演出シナリオの実行に必要なタイマの値を更新し、当該タイマ値に基づいて演出シナリオを進行する処理を実行する。上記タイマの代表的なものは、演出の発生タイミングに関するタイムスケジュールを管理する演出シナリオタイマである。例えば、特別図柄が変動表示されている変動期間内と実質的に同一期間内である、装飾図柄が変動表示されている変動期間内において、その時間軸上で、どのような演出を、どれだけの時間幅をもって、どのような演出手段で現出させるかについての時間的なスケジュールがこのタイマにより管理される。
この演出シナリオタイマは、後述のLED駆動データ更新処理(ステップS510)や可動体役物動作更新処理(ステップS603)においても利用される。
【0247】
ステップS509でCPU41aは、サウンド出力処理を行う。サウンド出力処理では、演出シナリオデータと演出シナリオタイマとに基づき、フレーズやボリュームなどのデータを前述した音源ICに出力し、スピーカ17から音演出を現出させる。これにより、演出シナリオに沿った音演出が実現される。
【0248】
ステップS510でCPU41aは、LED駆動データ更新処理を実行する。LED駆動データ更新処理では、演出シナリオデータと演出シナリオタイマとに基づき、光表示装置16aを点灯表示させるための制御信号(LEDデータ)を作成する。
【0249】
ステップS511でCPU41aは、LED出力処理を実行する。このLED出力処理では、LED駆動データ更新処理で作成された制御信号(LEDデータ)をランプドライバ部26bに出力し、ランプドライバ部26bを通じて光表示装置16aを点灯表示させる。
【0250】
[5.2 演出制御側タイマ割込み処理]
図24は、演出制御側タイマ割込み処理を示したフローチャートである。演出制御側タイマ割込み処理は、CTCからの一定時間(1ms)ごとの割込みで起動され、演出制御側メイン処理実行中に割り込んで実行される。
【0251】
ステップS601でCPU41aは、レジスタの内容をスタック領域に退避させた後、ステップS602でボタン入力状態更新処理を実行する。このボタン入力状態更新処理では、操作部14からの操作検出信号の入力状態を監視し、操作検出信号を受信したことを確認した場合、その検出情報をRWMの所定領域に格納する。
【0252】
ステップS603でCPU41aは、可動体役物動作更新処理を実行する。この可動体役物動作更新処理では、演出シナリオデータと演出シナリオタイマとに基づき、可動体役物50の動作を制御するための処理を行う。
なお、このステップS603の可動体役物動作更新処理として実行すべき処理の内容については後に改めて説明する。
【0253】
ステップS604でCPU41aは、SOL・MOT出力処理を行う。このSOL・MOT出力処理では、可動体役物動作更新処理での処理結果に基づき、モータ駆動制御部51に対して制御データを出力する処理を行う。
これにより、演出シナリオに沿った可動体役物50による可動体演出が実現される。
なお、このステップS604の出力処理の詳細についても後に改めて説明する。
【0254】
ステップS605でCPU41aは、LCDコマンド送信処理を行う。このLCDコマンド送信処理では、シナリオ更新処理(ステップS508)で作成されたLCDコマンドがある場合には、前述したVDPに対してLCDコマンドを送信し、画像表示制御を実行させる。これにより、演出シナリオに沿った画像が表示される。
【0255】
ステップS606でCPU41aは、RTC情報取得処理を実行する。このRTC情報取得処理では、RTCにより計時される日時情報(RTC情報)を取得する。このRTC情報は、RTC情報に基づく演出を現出する際に利用される。
【0256】
ステップS607でCPU41aは、メインループ更新カウンタをインクリメントする。このメインループ更新カウンタは、上記の演出制御側メイン処理中のステップS503でリセットされ、ここでインクリメントされる。
【0257】
ステップS608でCPU41aは、退避していたレジスタの内容を復帰し、タイマ割込み処理を終了して、次のタイマ割込みが発生するまで演出制御側メイン処理を実行する。
【0258】
<6.実施形態としての可動体役物制御>
[6.1 実施形態としての制御手法の概要]
図25及び図26を参照して、実施形態としての可動体役物制御に関し、その手法概要を説明する。
【0259】
先ずは比較として、図25に、従来の可動体役物制御系の構成概要を示す。
ここでは、説明上の例として、可動体役物50が可動体役物50x、50yの二つである場合を前提とした構成を示している。また、ここでは、従来構成において演出制御基板41に相当する制御部のことを演出制御基板41’として示している。
【0260】
従来の可動体役物制御系は、演出制御基板41’が、各モータドライバ(52x、52y)を直接的に制御する構成が採られている。
従来の演出制御基板41’(CPU41a)は、前述した1ms周期の演出側タイマ割込み処理において、モータドライバ52x、52yに制御信号を出力する処理を行っている。すなわち、各役物モータ(役物モータ53x、53y)の動作を、1ms周期の時間粒度で制御するようにされているものである。
【0261】
また、可動体役物50の動作制御としては、前述した位置センサ群55(位置センサ55x、55y)を用いた制御が行われる場合もあるが、従来では、図示のように位置センサ55x、55yによる検出信号は、パラシリ(パラレル/シリアル)変換部57を介して演出制御基板41’に入力するものとされている。
演出制御基板41’のCPU41aは、このように位置センサ55x、55yから入力される検出信号に基づき、演出制御側タイマ割込み処理により1ms周期で可動体役物50が目標位置に到達したかを判定し、可動体役物50が目標位置に到達したと判定されたことに応じて、モータドライバ52x、52yに対して役物モータ53x、53yを停止させる制御信号を出力するようにされている。
【0262】
ここで、上記のように従来構成では、演出制御基板41’のCPU41aが1msの周期で役物モータ53x、53yの動作を指示する制御信号をモータドライバ52x、52yに出力するようにされている。
このような動作を実現するため、従来構成においては、演出制御基板41’の処理負担が増大傾向となり、また、開発者に1msごとの制御データを作成させることを強いるものとなっていた。つまりその分、可動体役物制御を実現する上での開発者の作業負担の増大を招くものとなっていた。
【0263】
また、上記のような従来構成では、役物モータ53x、53yの時間方向の制御分解能がタイマ割込み処理の周期、具体的には1msの周期に規制されるものとなる。このことで、可動体役物50を滑らかに動かすことが困難とされていた。
【0264】
また、従来構成では、位置センサ55x、55yの検出信号に基づく可動体役物の動作制御を演出制御基板41’のCPU41aが実行するものとされているため、演出制御基板41’においては、制御信号をモータドライバ52x、52yに出力するための通信系と、位置センサ55x、55yの検出信号を入力するための通信系の計2系統の通信系を要するものとされていた。
【0265】
そこで、本実施形態では、可動体役物制御系の構成として、図26に示すようなモータ駆動制御部51を用いた構成を採用する。
詳細は後述するが、モータ駆動制御部51は、例えばLSI(Large Scale Integration:大規模集積回路)により構成され、外部から可動体役物50の一連動作を指定する制御コマンドCdが入力されたことに応じて、該一連動作を実現するために必要なモータドライバ52x、52yの制御信号を生成・出力する機能を有している。
【0266】
ここで言う一連動作とは、例えば可動体役物50の動き出しから停止までの動作や、可動体役物50を往復運動させる場合における可動体役物50の一方向への移動の開始から終了までの動作等、可動体役物50の或る一連性をもった動作を意味するものである。この一連動作としては、少なくとも、タイマ割込みの1周期分の期間よりも長い期間における可動体役物50の動作であればよい。
【0267】
なお、以下の説明において、モータドライバ52x、52yに入力する制御信号のことを「ドライバ制御信号」と表記する。
【0268】
本実施形態における演出制御基板41(CPU41a)は、前述した演出シナリオデータと演出シナリオタイマとに基づき、実行すべき可動体役物50の動作パターンが特定されたことに応じて、該動作パターンに対応する制御コマンドCdをモータ駆動制御部51に出力する。
モータ駆動制御部51は、演出制御基板41から入力された制御コマンドCdに応じたドライバ制御信号を生成し、モータドライバ52x、52yに出力する。
【0269】
上記のような構成により、本実施形態の遊技機1では、可動体役物50の一連動作を実現するにあたり、演出制御基板41のCPU41aが従来のように1ms周期でモータドライバ52x、52yにドライバ制御信号を出力する必要がなくなるため、可動体役物制御を実現する上での演出制御基板41の処理負担軽減を図ることができると共に、開発者負担の軽減を図ることができる。
後述するように、本実施形態の場合において開発者は、実現したい可動体役物50の動作パターンについて、その動作パターンを構成する区分動作ごとに動作定義を行ったデータを作成すれば済み、従来のように1msごとの制御データを作成する場合と比較して作業負担の大幅な軽減を図ることができる。
【0270】
また、本実施形態の遊技機1によれば、従来のように役物モータ53x、53yの時間方向の制御分解能がタイマ割込み処理の周期(1ms周期)に規制されることはなくなるので、可動体役物50を滑らかに動かすことが可能となる。具体的に本実施形態では、後述するマイクロステップ駆動モードを利用可能となることで、可動体役物50を滑らかに動かすことが可能となる。
これにより、可動体役物50を用いた演出について、演出効果の向上を図ることができる。
【0271】
さらに、本実施形態では、モータ駆動制御部51は、位置センサ55x、55y等、可動体役物50に対して設けられた位置センサによる検出信号の入力に対応しており、外部からの制御コマンドCdに応じて、対象の可動体役物50をセンサ位置まで移動させるためのモータ制御信号を生成・出力する機能を有している。
このため、可動体役物50をセンサ位置まで移動させるという役物動作を実現するにあたり、従来のように位置センサ55x、55yの検出信号を演出制御基板41に入力する必要がなくなる。
【0272】
本実施形態において、可動体役物50をセンサ位置まで移動させるという動作を実現するにあたっては、その他の一連動作を実現する場合と同様に、演出制御基板41からモータ駆動制御部51に対して対応する制御コマンドCdを送信すればよい。
このため、本実施形態によれば、上記のような可動体役物50をセンサ位置まで移動させるという動作を含む、可動体役物50の各種の一連動作を実現するにあたり、演出制御基板41とモータ駆動制御部51との間に一つ通信系を設ければ済み、必要な通信系の数を従来よりも削減することができる。
【0273】
[6.2 モータ駆動制御部について]
図27は、モータ駆動制御部51の概略内部構成例を示したブロック図である。
本実施形態におけるモータ駆動制御部51は、モータドライバ群52として設けられた複数のモータドライバを同時並行的に制御することが可能とされており、具体的に、本例におけるモータ駆動制御部51は、四つのモータドライバを同時並行的に制御することが可能とされている。換言すれば、本例におけるモータ駆動制御部51は、モータドライバの制御系として四つの制御系を有するものである。
【0274】
本実施形態では、モータ駆動制御部51が有するモータドライバの制御系を「軸」と表現するものとし、四つの制御系をそれぞれ「X軸」「Y軸」「Z軸」「U軸」と表記する。
【0275】
図中では、モータ駆動制御部51が有するこれらX軸、Y軸、Z軸、U軸の四つの制御系のうち、代表してX軸の制御系の構成のみを「X軸用回路」として示している。他のY軸、Z軸、U軸の制御系(図中、「Y軸用回路」「Z軸用回路」「U軸用回路」)の構成については、X軸用回路の構成と同様となることから図示は省略する。
【0276】
図示のようにモータ駆動制御部51は、I/F(インターフェース)部71を有する。I/F部71は、外部装置、特に本実施形態では演出制御基板41との間で所定のデータ通信規格に従ったデータ通信を行うための通信インターフェース部である。
このI/F部71は、X軸用回路、Y軸用回路、Z軸用回路、及びU軸用回路に対して共通に設けられた通信インターフェース部とされる。換言すれば、モータ駆動制御部51の外部装置は、I/F部71を介して、これらX軸用回路、Y軸用回路、Z軸用回路、U軸用回路と個別に通信を行うことが可能とされる。
なお、I/F部71としては、例えばI2C(Inter-Integrated Circuit)バス通信やSPI(Serial Peripheral Interface)バス通信に対応したものを用いることが考えられる。
【0277】
図示のようにX軸用回路は、コマンド・レジスタ制御回路72、レジスタ部73、プリレジスタ部74、スタート・ストップ制御回路75、加減速パルス発生回路76、倍率分周回路77、出力形態変換回路78、残量パルス数カウンタ79、カレントアップダウン制御回路80、及び汎用入出力制御回路81を有する。
また、X軸用回路は、モータドライバに対する制御信号を出力するための端子として、パルス信号出力端子OUTxと回転方向出力端子DIRxとを有している。本実施形態では、モータドライバには、役物モータの駆動パルスの周期を示すパルス信号と、役物モータの回転方向(CW/CCW)を示す回転方向指示信号とを出力するものとされており、パルス信号出力端子OUTxは、上記のパルス信号を出力するための端子とされ、回転方向出力端子DIRxは上記の回転方向指示信号を出力するための端子とされる。
ここで、以下、パルス信号出力端子OUTより出力する上記のパルス信号を「OUT信号」、回転方向出力端子DIRより出力する上記の回転方向指示信号を「DIR信号」と表記する。
【0278】
さらに、X軸用回路は、図中に「P0x」「P1x」「P2x」「P3x」と示す、複数の汎用入出力端子を有している。これら汎用入出力端子は、何れの信号を入力又は出力するかを選択設定可能な端子である。汎用入出力端子ごとに何れの信号を入力又は出力するかの設定は、後述するレジスタ部73における設定用レジスタの設定により行うことが可能とされている。
【0279】
ここで、上記したパルス信号出力端子OUT、回転方向出力端子DIR、及び複数の汎用入出力端子Pは、軸ごとに設けられるものであり、符号末尾に軸ごとのアルファベットを付すことで各軸の端子を区別することとする。具体的に、Y軸用回路、Z軸用回路、U軸用回路におけるパルス信号出力端子OUT、回転方向出力端子DIRについてはそれぞれ符号を「OUTy」「DIRy」「OUTz」「DIRz」「OUTu」「DIRu」と表記し、また、Y軸用回路、Z軸用回路、U軸用回路における汎用入出力端子P0、P1、P2、P3についてはそれぞれ「P0y」「P1y」「P2y」「P3y」「P0z」「P1z」「P2z」「P3z」「P0u」「P1u」「P2u」「P3u」と表記する。
【0280】
X軸用回路において、コマンド・レジスタ制御回路72は、I/F部71を介して入力された外部装置(演出制御基板41)からの指示に基づき、レジスタ部73に設けられた複数のレジスタや、プリレジスタ部74に設けられた複数のプリレジスタを対象とした各種の制御コマンドCdやステータス情報の書き込み、及び読み出しを行うことが可能とされる。
【0281】
ここで、プリレジスタ部73におけるプリレジスタの役割やプリレジスタを用いた制御については後に改めて説明する。
【0282】
レジスタ部73には、制御コマンドCdを格納するレジスタとして、下記の各種レジスタが設けられる。
・RFLレジスタ:役物モータのFL速度(初速度、停止速度)を指定する制御コマンドCd(以下「RFLコマンド」と表記する)を格納するレジスタ
・RFHレジスタ:役物モータのFH速度(動作速度)を指定する制御コマンドCd(以下「RFHコマンド」と表記する)を格納するレジスタ
・RMVレジスタ:後述する位置決め動作モード時において役物モータを停止させる出力パルス数(可動体役物50の目標移動量)を指定する制御コマンドCd(以下「RMVコマンド」と表記する)を格納するレジスタ
・RMGレジスタ:役物モータの速度倍率を指定する制御コマンドCd(以下「RMGコマンド」と表記する)を格納するレジスタ
・RDPレジスタ:スローダウンポイント(減速を開始する残量パルス数を定める値)を指定する制御コマンドCd(以下「RDPコマンド」と表記する)を格納するレジスタ
・RURレジスタ:役物モータの加速レート(値が大きいほど加速時間が延び、緩やかな加速となる)を指定する制御コマンドCd(以下「RURコマンド」と表記する)を格納するレジスタ
・RDR:役物モータの減速レート(値が大きいほど減速時間が延び、緩やかな減速となる)を指定する制御コマンドCd(以下「RDRコマンド」と表記する)を格納するレジスタ
【0283】
演出制御基板41等の外部装置は、レジスタ書き込みコマンドの発行により、コマンド・レジスタ制御回路72に対し、上記の各種レジスタへの対応する制御コマンドCdの書き込みを指示することができる。すなわち、上記のような役物モータ制御に係る各種の制御コマンドCdをそれぞれ対応するレジスタに書き込むよう指示することができる。
【0284】
また、レジスタ部73には、役物モータ制御に係る値を格納するためのレジスタとして、下記のレジスタも設けられる。
・RPLS:残量パルス数が格納されるレジスタ。位置決め動作モード時において、上述のRMVレジスタに格納された出力パルス数が初期値としてセットされ、その後は、後述する残量パルス数カウンタ79によりデクリメントされる。
【0285】
また、レジスタ部73には、上記で例示したレジスタ以外にも、環境設定や動作モード設定等を行うための設定用レジスタ、及びモータ駆動制御部51の動作状態を示す値を格納するためのステータスレジスタも設けられている。
【0286】
本実施形態におけるモータ駆動制御部51は、役物モータの駆動制御モードとして、上述した位置決め動作モードと、センサ入力停止モードとの切り替えを行うことが可能とされている。
位置決め動作モードは、役物モータ群53における対象とする役物モータの駆動パルス数が予め定めた出力パルス数に到達したことに応じて該役物モータを停止させるモードである。これは、対象とする可動体役物50を所定の目標移動量だけ移動させるモードであると換言できる。
センサ入力停止モードは、位置センサ群55における対象とする位置センサの検出信号に基づき、対象とする可動体役物50が該位置センサの位置に到達したと判定されたことに応じて対象とする役物モータを停止させるモードである。
【0287】
位置決め動作モード、センサ入力停止モードの切り替え設定は、レジスタ部73における所定の設定用レジスタに対する制御コマンドCdの設定により実現される。
具体的に、位置決め動作モード、センサ入力停止モードの切り替え設定は、レジスタ部73において動作モード設定用のレジスタとして設けられたRMDレジスタに対する制御コマンドCdの設定により行うことができる。
本例では、RMDレジスタに対する制御コマンドCd(以下「RMDコマンド」と表記する)によっては、位置決め動作モード、センサ入力停止モードの指定のみでなく、役物モータの回転方向(CW/CCW)も指定可能とされる。
また、本例のRMDコマンドは、センサ入力停止モードの指定時に、何れの汎用入出力端子をセンサ信号入力端子として使用するかの指定も行うことが可能とされている。具体的に、本例のモータ駆動制御部51は、センサ入力停止モード時において位置センサによる検出信号を入力する端子を、汎用入出力端子P0~P3のうちから選択する仕様とされており、上記のRMDコマンドにより、センサ入力停止モードの指定時に何れの汎用入出力端子をセンサ信号入力端子として使用するかを指定するようにされている。
【0288】
コマンド・レジスタ制御回路72は、レジスタ部73に格納された役物モータ制御に係る制御コマンドCdに基づき、スタート・ストップ制御回路75、加減速パルス発生回路76、及び倍率分周回路77を制御することで、制御コマンドCdの指示に従った可動体役物50の動作を実現するためのドライバ制御信号(上述したOUT信号、及びDIR信号)を生成・出力させる。
【0289】
スタート・ストップ制御回路75は、コマンド・レジスタ制御回路72からの指示に基づき、加減速パルス発生回路76によるパルス生成・出力動作を制御する。加減速パルス発生回路76は、OUT信号の基となるパルス信号を生成・出力する回路である。具体的には、例えば役物モータを正回転(CW)させる場合には例えば正極性によるパルス信号を、また役物モータを逆回転(CCW)させる場合には例えば負極性によるパルス信号を生成する等、役物モータの回転方向に応じた極性によるパルス信号を生成・出力する。
【0290】
コマンド・レジスタ制御回路72は、I/F部71を介して外部装置よりスタートコマンドが入力されたことに応じて、スタート・ストップ制御回路75に対してスタート指示信号を出力する。スタート・ストップ制御回路75は、このスタート指示信号に従って、加減速パルス発生回路76にパルス信号の出力を開始させる。
このように加減速パルス発生回路76にパルス信号の出力を開始させたタイミングは、役物モータの駆動が開始されるタイミングに相当するものである。
【0291】
また、スタート・ストップ制御回路75は、コマンド・レジスタ制御回路72からの指示に基づき、加減速パルス発生回路76によるパルス信号の出力を停止させる。
ここで、加減速パルス発生回路76によるパルス信号の出力を停止させるタイミングとしては、上述した位置決め動作モード時においてOUT信号の出力パルス数が前述したRMVレジスタに設定された「出力パルス数」に達したとき、及び、上述したセンサ入力停止モード時において対象の可動体役物50が対象の位置センサの位置に到達したときを挙げることができる。
【0292】
コマンド・レジスタ制御回路72は、センサ入力停止モード時においては、前述したRMDコマンドにより事前に指定された汎用入出力端子Pから入力される位置センサの検出信号(図中「位置決め用センサ信号」参照)に基づき、対象とする可動体役物50が該位置センサの位置に到達したか否かの判定を行う。そして、対象とする可動体役物50が該位置センサの位置に到達したと判定したことに応じて、スタート・ストップ制御回路75に対し、停止指示信号を出力する。この停止指示信号に応じ、加減速パルス発生回路76はパルス信号の出力を停止する。
【0293】
また、コマンド・レジスタ制御回路72は、位置決め動作モード時においては、残量パルス数カウンタ79によるカウント値(図中「RPLS」参照)に基づき、スタート・ストップ制御回路75に停止指示信号を出力する。
本例におけるコマンド・レジスタ制御回路72は、前述したRMVレジスタに格納された出力パルス数の値を残量パルス数カウンタ79に出力する(図中「RMV」参照)。残量パルス数カウンタ79は、後述する倍率分周回路77が出力する倍率調整済みパルス信号を入力し、該倍率調整済みパルス信号のパルスカウント値を、コマンド・レジスタ制御回路72より入力した上記の出力パルス数より減じることで、残量パルス数(つまり制御コマンドCdにより目標として定められた出力パルス数と現在の出力パルス数との差分値)をカウントする。ここで、倍率調整済みパルス信号のパルス数は、OUT信号のパルス数と同数である。すなわち、残量パルス数カウンタ79は、OUT信号を基準とした残量パルス数をカウントするものである。
【0294】
コマンド・レジスタ制御回路72は、位置決め動作モード時においては、残量パルス数カウンタ79より入力される残量パルス数が0となったことに応じて、スタート・ストップ制御回路75に停止指示信号を出力する。
また、コマンド・レジスタ制御回路72は、残量パルス数の値を所定のステータスレジスタ(RPLSレジスタ)に格納する処理も行う。
【0295】
ここで、スタート・ストップ制御回路75は、コマンド・レジスタ制御回路72からのスタート指示信号、停止指示信号に基づき、図中「SRUN」と示す、役物モータの駆動制御ステータスを示す値(以下「駆動ステータス値SRUN」)を出力する。この駆動ステータス値SRUNは、役物モータの駆動制御の開始タイミングと終了タイミング(停止タイミング)とを識別するための値であり、本例では、例えば「1」(Hレベル)が駆動中を、「0」(Lレベル)が停止中を意味するものとされる。
本例におけるスタート・ストップ制御回路75は、コマンド・レジスタ制御回路72からのスタート指示信号が入力されたタイミングで駆動ステータス値SRUNを「0」から「1」に立ち上げ、また、コマンド・レジスタ制御回路72からの停止指示信号が入力されたタイミングで駆動ステータス値SRUNを「1」から「0」に立ち下げる。
【0296】
コマンド・レジスタ制御回路72は、スタート・ストップ制御回路75が出力する駆動ステータス値SRUNをレジスタ部73に設けられた所定のステータスレジスタ(以下「SRUNレジスタ」と表記する)に格納する処理を行う。
これにより、演出制御基板41は、当該SRUNレジスタの値の読み出しを指示するレジスタ読み出しコマンドをコマンド・レジスタ制御回路72に対して発行することで、役物モータを駆動中であるか停止中であるかのステータス情報を問い合わせることができる。
【0297】
加減速パルス発生回路76は、スタート・ストップ制御回路75からの指示に基づき、コマンド・レジスタ制御回路72からの指示に基づいた周波数によるパルス信号を生成・出力する。
【0298】
加減速パルス発生回路76が生成・出力するパルス信号の周波数は、前述したRFLコマンド(FL速度)、RFHコマンド(FH速度)、RURコマンド(加速レート)、RDPコマンド(スローダウンポイント)、及びRDRコマンド(減速レート)に基づき制御される。
【0299】
具体的に、加減速パルス発生回路76には、前述したスタートコマンドの発行に応じて、コマンド・レジスタ制御回路72よりRFLコマンドが示すFL速度、RFHコマンドが示す加速レート、RFHコマンドが示すFH速度、RDRコマンドが示す減速レートが指示される。
加減速パルス発生回路76は、スタート・ストップ制御回路75よりパルス信号の出力開始指示が為されたことに応じて、先ずはFL速度に応じた周波数によるパルス信号の出力を開始すると共に、パルス信号の周波数を、加速レートに応じた周波数上昇率により除除に上昇させていく。そして、パルス信号の周波数がFL速度に応じた周波数に達したことに応じて、パルス信号の周波数をFL速度に応じた周波数で維持する。その後、RDPコマンドが示すスローダウンポイントのタイミングとなると、コマンド・レジスタ制御回路72より、加減速パルス発生回路76に対して減速指示が与えられる。この減速指示に応じ、加減速パルス発生回路76は、パルス信号の周波数を減速レートに応じた周波数低下率により低下させる。そして、スタート・ストップ制御回路75よりパルス信号の出力停止指示が行われたことに応じて、パルス信号の出力を停止する。
【0300】
これにより、RFLコマンド(FL速度)、RFHコマンド(FH速度)、RURコマンド(加速レート)、RDPコマンド(スローダウンポイント)、及びRDRコマンド(減速レート)で指定された態様により、対象の役物モータの動作を制御することができる。
【0301】
倍率分周回路77は、加減速パルス発生回路76より出力されるパルス信号の周波数をコマンド・レジスタ制御回路72からの指示に基づいて分周する。
具体的に、コマンド・レジスタ制御回路72は、前述したRMGコマンドが示す速度倍率を倍率分周回路77に指示する。倍率分周回路77は、指示された速度倍率に応じた分周比により加減速パルス発生回路76から入力されるパルス信号の周波数を分周する。
これにより、役物モータの動作速度(回転速度)について、RMGコマンドに従った速度倍率調整を実現できる。
【0302】
出力形態変換回路78は、倍率分周回路77より出力されるパルス信号に基づき、OUT信号とDIR信号とを生成する。先の説明から理解されるように本例におけるパルス信号は、役物モータの回転方向に応じた極性を有するものであり、出力形態変換回路78は、入力されるパルス信号の極性に基づきDIR信号を生成・出力し、該パルス信号を絶対値化した信号をOUT信号として生成・出力する。
【0303】
汎用入出力制御回路81は、コマンド・レジスタ制御回路72からの指示に基づき、汎用入出力端子P0x~P3xについての信号入出力制御を行う。
汎用入出力端子P0x~P3xに割り当て可能な信号については、前述した駆動ステータス値SRUNや以下で説明するカレントアップダウン制御回路80が出力するカレントアップダウン信号CDWN、位置決め用センサ信号等を挙げることができる。駆動ステータス値SRUN、カレントアップダウン信号CDWNについては、外部への出力が可能とされる。また、位置決め用センサ信号は少なくとも外部からの入力が可能とされる。
ここで、本例の仕様では、カレントアップダウン信号CDWNは、汎用入出力端子P1又はP3からの出力のみが可能とされている。
【0304】
カレントアップダウン制御回路80は、カレントアップ機能、及びカレントダウン機能(以下、総称する場合は「カレントアップ・ダウン機能」と表記する)を実現するための制御を行う。
【0305】
ここで言うカレントアップ機能は、スタートコマンドのタイミングで直ちに役物モータの駆動パルスを出力するのではなく、駆動パルスの出力をスタートコマンドのタイミングから所定の期間ディレイさせる機能である。この機能により、役物モータに対して駆動パルスを印加する前に、モータドライバの出力電流値を駆動時の電流値(駆動時電流値)に上昇させるための猶予期間を得ることができる。
モータドライバの出力電流値が安定する前に駆動パルスを印加してしまうと役物モータが脱調する虞があるため、上記の猶予期間を設けて、脱調の防止を図るものである。また、上記の猶予期間を設けることで、メカ(可動体役物50)を励磁位置で安定させる期間を得ることができるため、この点でも役物モータの脱調防止が図られる。
以下、上記の猶予期間のことを「カレントアップ期間」と表記する。
【0306】
カレントダウン機能は、役物モータの駆動停止タイミング(駆動パルスの印加停止タイミング)から所定期間、モータドライバの出力電流値を上記した駆動時電流値で維持させた後に、待機時の電流値(待機時電流値)に低下させる機能である。このように役物モータの駆動停止タイミングから所定期間、モータドライバの出力電流値を駆動時電流値で維持させる期間を設けることで、役物モータが確実に停止する時間を確保することができる。また、モータドライバの出力電流を駆動時電流値から待機時電流値に低下させることで、役物モータの発熱を低減できる。
以下、上記のように役物モータの駆動停止タイミングからモータドライバの出力電流値を駆動時電流値で維持させる期間のことを「カレントダウン期間」と表記する。
【0307】
カレントアップダウン制御回路80は、上記のようなカレントアップ・ダウン機能を実現するためのカレントアップダウン信号CDWM信号を生成・出力する。
【0308】
図28は、カレントアップダウン制御回路80の動作説明図である。
ここでは、カレントアップダウン信号CDWMと共に、上述した駆動ステータス値SRUNとOUT信号も併せて示している。
【0309】
図中、「CSTA」と示すタイミングは、スタートコマンドにより役物モータの駆動開始が指示されたタイミングを表す。
カレントアップダウン制御回路80は、このスタートコマンドによる駆動開始指示のタイミングから、予め指示されたカレントアップ期間が経過したことに応じて、スタート・ストップ制御回路75に対して、スタート指示許可信号を出力する。
スタートコマンドによる駆動開始指示のタイミングは、コマンド・レジスタ制御回路72からカレントアップダウン制御回路80に指示される。
【0310】
スタート・ストップ制御回路75は、カレントアップダウン機能が有効化された状態では、コマンド・レジスタ制御回路72からのスタート指示信号のみでなく、上記のスタート指示許可信号が入力されたことに応じて、加減速パルス発生回路76によるパルス信号出力の開始指示を行う
これにより、図示のようにOUT信号は、スタートコマンドによる駆動開始指示のタイミングから所定のカレントアップ期間の経過後にパルス出力が開始される。
【0311】
なお、駆動停止側については、前述のように、スタート・ストップ制御回路75は、コマンド・レジスタ制御回路72からの停止指示信号が示すタイミングで加減速パルス発生回路76のパルス生成・出力動作を停止させる。
【0312】
また、カレントアップダウン制御回路80は、カレントアップダウン信号CDWNを次のように生成する。
先ず、スタートコマンドによる駆動開始指示のタイミングの到来に応じて、カレントアップダウン信号CDWNをOFFレベル(例えばLレベル)からONレベル(例えばHレベル)に変化させる。そして、その後、パルス出力の停止タイミングがコマンド・レジスタ制御回路72から指示された場合は、該パルス出力の停止タイミングから所定のカレントダウン期間が経過したことに応じて、カレントアップダウン信号CDWNをONレベルからOFFレベルに変化させる。
確認のため述べておくと、上記パルス出力の停止タイミングは、コマンド・レジスタ制御回路72からスタート・ストップ制御回路75への前述した停止指示信号の出力タイミングと同タイミングである。
【0313】
ここで、本例では、カレントアップダウン機能のON/OFFや、カレントアップ期間、カレントダウン期間は、I/F部71を介した外部装置からの制御コマンドCdにより設定することが可能とされている。
このように制御コマンドCdにより設定されたカレントアップダウン機能のON/OFFの情報や、カレントアップ期間、カレントダウン期間の情報は、コマンド・レジスタ制御回路72からカレントアップダウン制御回路80に対して指示される。
【0314】
遊技機1においては、上記のように生成されるカレントアップダウン信号CDWNに基づき、カレントアップ・ダウン機能が実現されるものとなるが、このカレントアップダウン信号CDWNに基づき、カレントアップ・ダウン機能(モータドライバの出力電流値の制御)を実現するための実施形態としての具体的な手法・構成については後に改めて説明する。
【0315】
ここで、図27を参照して説明したように、本実施形態においてコマンド・レジスタ制御回路72は、センサ入力停止モード時において、位置センサ群55のうち対象とする位置センサからの検出信号に基づき、対象とする可動体役物50が該位置センサの位置に到達したか否かの判定を行うが、本例のモータ駆動制御部51では、このような位置センサへの到達判定について、判定条件を調整可能とされている。具体的に、本例では、位置センサへの到達判定は、位置センサの検出信号がONレベルを規定時間以上維持したことに応じて位置センサに到達したとの判定結果を得るようにされているが、この際における上記の規定時間を調整可能とされているものである。この調整は、I/F部71を介した外部装置からの制御コマンドCdにより行うことが可能とされている。
本例では、上記の規定時間を例えば1.0msから2.0msの間に設定している。望ましくは、該規定時間は略1.2msである。
上記の規定時間は、短すぎる場合にはノイズに起因して実際には位置センサに到達していないにも拘わらず到達していると誤判定が行われてしまい、逆に長すぎる場合には位置センサへの到達の判定漏れが生じてしまう。従って、上記の規定時間を適切に設定することで、位置センサへの到達判定の精度向上を図ることができる。
【0316】
[6.3 実施形態としての制御データ作成手法]
図29から図33を参照し、実施形態としての可動体役物制御を実現するために作成しておくべき制御データの例、及び制御データの作成手法について説明する。
【0317】
図29は、実施形態としての可動体役物制御を実現するために用いられる各種制御データの説明図である。
図示のように実施形態としての可動体役物制御を実現するために用いられる各種制御データとしては、役物サブシナリオデータD1、区分動作管理データD2、及び制御コマンド管理データD3の3種のデータがある。
【0318】
開発者は、これら役物サブシナリオデータD1、区分動作管理データD2、及び制御コマンド管理データD3を、コンピュータ装置100を用いて作成する。コンピュータ装置100としては、例えばパーソナルコンピュータやタブレット端末、スマートフォン等、ソフトウェア処理が可能なコンピュータ装置を用いる。
【0319】
開発者は、作成した役物サブシナリオデータD1、区分動作管理データD2、及び制御コマンド管理データD3を、演出制御基板41におけるROM41bに記憶させる。
演出制御基板41のCPU41aは、このようにROM41bに格納された役物サブシナリオデータD1、区分動作管理データD2、及び制御コマンド管理データD3に基づき、上述したモータ駆動制御部51を制御することで、演出シナリオに沿った可動体役物50の動作を実現させる。
【0320】
図30は、役物サブシナリオデータD1のデータ構造例の説明図である。
可動体役物50を用いた演出においては、通常、可動体役物50の動作パターンとして、発現させたい動作パターンを複数種定義することになる。例えば、大当り報知時に発現させたい動作パターンや、確変報知時に発現させたい動作パターン、特定の操作を検出した場合等、遊技中におけるシーンごとに異なる動作パターンによる可動体役物50の動作を発現させたい場合等に対応して、可動体役物50の動作パターンを複数種定義しておく。
役物サブシナリオデータD1は、可動体役物50の動作をそのような動作パターンの単位で管理するデータである。
なお、動作パターンの単位は任意に定めることができ、本実施形態では、少なくとも一つの動作パターンは、後述する動作パーツを1以上含むものであればよい。
【0321】
また、可動体役物50を用いる演出については、複数の可動体役物50を同時に駆動する演出も存在し得る。そのような場合、動作パターンについては、それら複数の可動体役物50の動作をまとめて一つの動作パターンとして定義することも可能である。
【0322】
図中では、ROM41bに格納する役物サブシナリオデータD1が管理する動作パターンのうち、一部の動作パターンについての管理データのみを抽出して示している。具体的には、「B0_合体」「B02_ギミック」「B03_△○×□チャンスアイテム使用時」の三つの動作パターンのデータのみを示している。
【0323】
役物サブシナリオデータD1において、動作パターンごとの管理データには、その動作パターン内に含まれる「区分動作」ごとに、「区分動作」の識別情報が格納されている。例えば、「B0_合体」の動作パターンは、区分動作として「励磁ON」「B01_No1」「B01_No1_wait」「B01_No2」の四つを含むものと定義されており、図中に示すようにこの「B0_合体」の管理データには、これら区分動作の識別情報として「励磁ON」「B01_No1」「B01_No1_wait」「B01_No2」が格納されている。
また、「B02_ギミック」の動作パターンは区分動作として「励磁ON」「B02_No1」「B02_No1_wait」「B02_No2~3」の四つを含むものと定義され、この「B02_ギミック」の管理データにはこれら区分動作の識別情報として「励磁ON」「B02_No1」「B02_No1_wait」「B02_No2~3」が格納されている。
【0324】
また、動作パターンごとの管理データには、区分動作ごとに「動作種別」の情報が対応づけられている。この動作種別の情報は、CPU41aが実行すべき動作種別を記述したものであり、図中に示すように動作種別=動作呼び出しが記述されている場合、CPU41aは、当該動作種別の情報に対応づけられた区分動作の識別情報に基づき、区分動作管理データD2より該当する区分動作のデータを呼び出すことになる。
【0325】
図31は、区分動作管理データD2のデータ構造例の説明図である。
区分動作管理データD2は、区分動作ごとに、その区分動作の実現に用いられる情報を管理するデータである。
図中では、全区分動作のうち、図30で例示した「B01_No1」「B01_No1_wait」「B01_No2」の三つの区分動作についての管理データのみを抽出して示している。
【0326】
区分動作管理データD2において、区分動作ごとの管理データには、その区分動作に含まれる「動作種別」の情報が格納される。この動作種別には、「駆動制御部動作」、「駆動制御部動作終了待ち」、「待機」の何れかの情報が格納され得る。駆動制御部動作は、モータ駆動制御部51の動作、具体的には、前述した制御コマンドCd(RFLコマンドやRFHコマンド、RMVコマンド、RMGコマンド、RDPコマンド、RURコマンド、RDRコマンド、スタートコマンド等)を発行して実行させるモータ駆動制御部51の動作を意味するものであり、駆動制御部動作終了待ちは、このような制御コマンドCdに応じてモータ駆動制御部51が実行した動作の終了待ちを意味するものである。
【0327】
そして、区分動作ごとの管理データにおいては、動作種別の情報ごとに、「ステップ」の情報が対応づけられている。ここで、「ステップ」に記述される値の単位は、1タイマ割込み分の時間(本例では1ms)である。
また、動作種別の情報のうち、「駆動制御部動作」の動作種別に対しては、「パーツ名」の情報が対応づけられている。
【0328】
図示の例において、「B01_No1」の管理データでは、先頭行が動作種別=駆動制御部動作の行とされ、2行目及び3行目が動作種別=駆動制御部動作終了待ちの行とされており、先頭の動作種別=駆動制御部動作の行に対しては、「ステップ」の情報として「1」が、パーツ名として「[C44_201_XY_TAMA_B01]{球}TY106_変動前△○×□玉ギミック予告_合体No1_正転XY軸データ」の名称情報が記述されている。また、2行目及び3行目の動作種別=駆動制御部動作終了待ちの行に対しては「ステップ」の情報として「1000」が記述されている。
【0329】
また、「B01_No1_wait」の管理データは、待機動作であるため、動作種別=待機の行のみを有する。図示のように「ステップ」の値としては「2500」が記述されている。
【0330】
また、「B01_No2」の管理データでは、先頭行が動作種別=駆動制御部動作の行とされ、2行目及び3行目が動作種別=駆動制御部動作終了待ちの行とされており、先頭の動作種別=駆動制御部動作の行に対しては「ステップ」の情報として「1」が、パーツ名として「[C44_201_XY_TAMA_B01]{球}TY106_変動前△○×□玉ギミック予告_合体No2_センサまで逆転XY軸データ」の名称情報が記述されている。また、2行目及び3行目の動作種別=駆動制御部動作終了待ちの行に対しては「ステップ」の情報として「1000」が記述されている。
【0331】
ここで、「B01_No1」と「B01_No2」の管理データにおいて、駆動制御部動作終了待ちの行が2行設けられているのは、これら「B01_No1」「B01_No2」の区分動作を含む「B0_合体」の動作パターンが、X軸とY軸の二つの可動体役物50の動作により実現される動作パターンとして定義されたものであることによる。
この場合、可動体役物50の動作は、モータ駆動制御部51におけるX軸用回路、Y軸用回路のそれぞれに対応する制御コマンドCdを送信して制御することになるため、これらX軸用回路、Y軸用回路それぞれの役物モータの駆動終了タイミングを個別に監視可能となるように、駆動制御部動作終了待ちの行が2行設けて、軸ごとの動作待ち時間(「ステップ」の値)を定めることができるようにしている。
【0332】
区分動作ごとの管理データにおいて、動作種別=駆動制御部動作の行については、CPU41aは、「パーツ名」に記述された名称情報に基づき、制御コマンド管理データD3から該名称情報が対応づけられたソースコードを読み出し、該ソースコードに従ってモータ駆動制御部51に対し対応する制御コマンドCdを送信する処理を行う。
上記した「B01_No1」、「B01_No2」の管理データのように、「パーツ名」として複数軸のモータ制御動作に対応する名称情報が記述されている場合、制御コマンド管理データD3には、該名称情報に対応づけて、それら軸ごとの制御コマンドCdを送信するためのソースコードが記述されており、該ソースコードに従ってモータ駆動制御部51に対し対応する制御コマンドCdを送信することで、軸ごとに、定義された役物モータの駆動制御(つまり可動体役物50の動作)が実現される。
【0333】
また、CPU41aは、動作種別=駆動制御部動作終了待ちの行については、「ステップ」に記述された値に応じた動作終了確認処理を行う。具体的には、動作種別=駆動制御部動作の行の「パーツ名」の情報に従って制御コマンドCd(前述したスタートコマンドを含む)の送信を行った場合は、動作種別=駆動制御部動作終了待ちの行における「ステップ」の値で指定された時間内にモータ駆動制御部51のステータスが駆動停止のステータスに変化したかを判定する。
ここで、「B01_No1」や「B01_No2」のように動作種別=駆動制御部動作終了待ちの行が複数ある場合、CPU41aは、それらの行の「ステップ」の値に基づき、軸ごとの上記確認処理を行う。具体的には、軸ごとに前述した駆動ステータス値SRUNの問合せを行い、「ステップ」の値で指定された時間内に該駆動ステータス値SRUNが駆動停止を示す値に変化したか否かを判定する。
このとき、軸ごとに何れの行の「ステップ」の値を参照するかは予め定義しておく。例えば、複数の動作種別=駆動制御部動作終了待ちの行のうち、最も行番号が若い行から順にX軸、Y軸、Z軸、U軸を割り当てる等が考えられる。
【0334】
ここで、本実施形態では、上記の確認処理の結果、「ステップ」の値で指定された時間内にモータ駆動制御部51のステータスが駆動停止に変化しなかった場合にはフェールセーフ処理を行うが、これについては後に改めて説明する。
【0335】
また、CPU41aは、動作種別=待機の行については、「ステップ」の値が示す待機時間だけ待機する処理を行う。
【0336】
なお、図中に示す区分動作ごとの管理データにおいて、動作種別の情報に対応づけられた情報のうち「励磁」と「速度」は、本例では開発者の管理のために記述された情報とされ、可動体役物50の制御処理の過程においてCPU41aが参照する情報とはされていない。
【0337】
ここで、上記説明から理解されるように、可動体役物50の動作は、動作パターンの単位で大別することができ、さらに、各動作パターンは、区分動作の単位で区分することができる。そして、動作パターンを構成する区分動作には、「B01_No1」や「B01_No2」のように、モータ駆動制御部51に対して制御コマンドCdを指示することで実現される一連の役物モータ動作(つまりは可動体役物50の動作)として定義された動作がある。
本実施形態では、「B01_No1」や「B01_No2」の区分動作のように、動作パターンを構成する区分動作であって、モータ駆動制御部51に対して制御コマンドCdを指示することで実現される一連の可動体役物50の動作ことを「動作パーツ」と呼ぶこととする。
この場合、区分動作管理データD2における「パーツ名」に記述される情報は、「動作パーツ」の識別情報であると換言することができる。
【0338】
図32は、制御コマンド管理データD3のデータ構造例の説明図である。
制御コマンド管理データD3は、動作パーツごとに、モータ駆動制御部51に送信すべき制御コマンドCdを管理するデータである。
図32では、定義された動作パーツのうち一部の動作パーツについての制御コマンド管理データのみを抽出して例示している。具体的には、「B01_No1」におけるパーツ名=「[C44_201_XY_TAMA_B01]{球}TY106_変動前△○×□玉ギミック予告_合体No1_正転XY軸データ」の動作パーツと、「B01_No2」におけるパーツ名=「[C44_201_XY_TAMA_B01]{球}TY106_変動前△○×□玉ギミック予告_合体No2_センサまで逆転XY軸データ」の動作パーツと、動作パターン「B02_大ギミック」の区分動作「B02_No1」におけるパーツ名=「[C44_201_X_TAMA_B02]{球}TY106_変動前△○×□玉大ギミック予告_No1_正転X軸データ」の動作パーツについての制御コマンド管理データのみを抽出している。
【0339】
制御コマンド管理データD3において、動作パーツごとの管理データには、その動作パーツの「パーツ名」の情報が記述される。これによりCPU41aは、図31に示した区分動作ごとの管理データに記述された「パーツ名」の情報を基に、制御コマンド管理データD3から該当する動作パーツの管理データを特定することができる。
【0340】
制御コマンド管理データD3において、動作パーツごとの制御コマンド管理データには、当該動作パーツとしての可動体役物50の動作を実現するための制御コマンドCdを含むソースコードが記述されており、CPU41aは、該ソースコードに従った処理を行うことで、モータ駆動制御部51に対し、当該動作パーツとしての可動体役物50の動作を実現するための制御コマンドCdを送信することができる。
【0341】
図33は、動作パーツを定義するための作業画面Gsの例を示している。
本実施形態において開発者は、図29に示したコンピュータ装置100にインストールされた動作パーツ定義のためのアプリケーションプログラム(以下「動作パーツ定義アプリ」と表記する)を用いて動作パーツの定義を行う。
図33は、この動作パーツ定義アプリにより表示される作業画面Gsを例示したものである。
【0342】
作業画面Gsにおいては、図中の左側に示すようなフローチャート状のUI(User Interface)を用いて可動体役物50の動作パターンごとの動作定義を行うことが可能とされている。
フローチャートに用いることができるボックスには、図中に例示するボックスFS1、FS2、FS3の3種がある。ボックスFS1は、動作定義対象の軸について、位置センサの使用の有無を定めるためのボックスである。
またボックスFS2は、動作パーツとしての動作を定義するためのボックスである。
ボックスFS3は、前述した「B01_No1_wait」のような待機動作を定義するためのボックスである。
【0343】
フローチャートにおけるボックスFS2を選択すると、画面右側に示される定義用領域Adにおいて、動作パーツの動作定義を行うことができる。
図示のように定義用領域Adには対象軸選択領域Ar1、設定入力領域Ar2が設けられている。定義用領域Adには、操作部p1、p2、p3が設けられ、これら操作部p1、p2、p3により、それぞれ役物モータの回転方向、前述した動作モード(位置決め動作モード/センサ入力停止モード)、加減速制御モード(例えば、直線加減速制御モード/S字制御モード)の選択設定を行うことができる。
図33では、操作部p2により動作モードとして位置決め動作モードが選択された場合の定義用領域Adの表示例を示している。
【0344】
対象軸選択領域Ar1には、X軸~U軸のうち何れの軸の動作について定義を行うかを選択するための操作部が設けられる。前述のように、動作パーツについては複数軸の動作を定義可能であり、一つのボックスFS2を選択した後、対象軸選択領域Ar1において軸の選択操作を行うことで、軸ごとに、以下で説明する設定入力領域Ar2への入力操作による動作定義を行うことが可能とされる。
【0345】
設定入力領域Ar2には、FL速度入力ボックスb2、加速期間入力ボックスb3、HL速度入力ボックスb4、出力パルス数入力ボックスb5、及び減速期間入力ボックスb6が設けられている。
FL速度入力ボックスb2は、前述したFL速度(初速度、停止速度)を入力するためのボックスであり、加速期間入力ボックスb3は、加速期間、すなわち初速度から前述したHL速度(動作速度)への遷移期間を入力するためのボックスである。HL速度入力ボックスb4はHL速度の入力ボックスである。
また、出力パルス数入力ボックスb5は、前述した出力パルス数(可動体役物50の目標移動量)を入力するためのボックスであり、減速期間入力ボックスb6は、減速期間、すなわちHL速度からFL速度(停止速度)への遷移期間を入力するためのボックスである。
【0346】
これらFL速度入力ボックスb2、加速期間入力ボックスb3、HL速度入力ボックスb4、出力パルス数入力ボックスb5、減速期間入力ボックスb6に対する入力操作によってFL速度、加速期間、HL速度、出力パルス数、減速期間を指定することで、位置決め動作モードによる所定の役物モータ動作(可動体役物50の動作)を定義することができる。
なお、図示は省略したが、センサ入力停止モードが選択された場合、設定入力領域Ar2には、少なくともFL速度、加速期間、及びHL速度の指定の受け付けを可能とするUIが表示されればよい。
【0347】
ここで、定義用領域Adには、コメント入力ボックスb7が設けられている。
本例では、このコメント入力ボックスb7に対する入力により、前述した「パーツ名」の指定を行うことが可能とされている。すなわち、このコメント入力ボックスb7に入力されたテキスト情報が、設定入力領域Ar2への入力操作で定義された動作パーツに対する「パーツ名」の情報として対応づけられるものである。
【0348】
なお、定義用領域Adにおいて、実行ボタンBtは、開発環境においてコンピュータ装置100とモータ駆動制御部51(役物モータが接続された状態のモータドライバが接続された状態)とを接続している場合において、定義した動作パーツに対応する制御コマンドCdをモータ駆動制御部51に出力する指示を行うためのボタンである。この実行ボタンBtが設けられることで、開発者は、可動体役物50の実際の動作を確認しながら動作パーツの定義作業を行うことができる。
【0349】
また、定義用領域Adにおいて、ラベル名入力ボックスb1は、作業画面Gsにフローチャートが表示中の動作パターンに対するラベル名を入力するためのボックスである。
また、メッセージ入力b8は、定義した動作パーツについて開発者が管理用のメッセージを残したい場合に該メッセージを入力するためのボックスとされる。
【0350】
動作パーツ定義アプリは、上記のような作業画面Gsを通じて定義された動作パーツについて、先の図32で説明した制御コマンド管理データD3を生成する機能を有している。動作パーツ定義アプリは、上記した定義用領域Adに対する操作により指定されたFL速度や加速期間、HL速度等の値に基づいて、動作パーツごとに、定義動作を実現するために必要な例えばRFLコマンド、RFHコマンド、RURコマンド等の制御コマンドCdを生成することができる。なお、位置決め動作モードでは、スローダウンポイントを示すRDPコマンドを発行することになるが、スローダウンポイント(減速を開始する残量パルス数)は、出力パルス数(b5)と減速期間(b6)が指定されれば、自ずと求まるものである(減速時は、HL速度からFL速度に落とすように定められているため)。
【0351】
動作パーツ定義アプリは、上記のように動作パーツごとに必要な制御コマンドCdを生成した上で、動作パーツごとに、制御コマンドCdの送信処理をCPU41aに実行させるためのソースコードを生成する。そして、生成した動作パーツごとのソースコードに対し、それぞれ上述したコメント入力ボックスb7に入力されたパーツ名の情報を対応づけることで、制御コマンド管理データD3を生成する。
開発者は、このような動作パーツ定義アプリの機能により生成された制御コマンド管理データD3を演出制御基板41のROM41bに記憶させる。
【0352】
上記のような動作パーツ定義アプリの機能により、実施形態としての可動体役物制御を実現するために必要な開発者の作業負担を大幅に低減することができる。
【0353】
[6.4 実施形態としての可動体役物制御処理]
(6.4.1 処理フロー)
続いて、CPU41aが実行する実施形態としての可動体役物制御に係る処理について説明する。
可動体役物50の制御は、主に、図24に示した演出制御側タイマ割込み処理におけるステップS603の可動体役物動作更新処理と、ステップS604のSOL・MOT出力処理とにより実現される。
【0354】
図24におけるステップS603の可動体役物動作更新処理では、CPU41aは、演出シナリオの進行に伴い、図30に示した役物サブシナリオデータD1から一の動作パターンを選択する。役物サブシナリオデータD1からの一の動作パターンの選択は、図示は省略した演出シナリオデータ(メインシナリオデータ)と前述した演出シナリオタイマとに基づき行われるものである。
【0355】
ステップS603において、役物サブシナリオデータD1から一の動作パターンを選択した場合、CPU41aは、選択した動作パターンの管理データ中における先頭行の区分動作(つまり一つ目の区分動作)の識別情報(「励磁ON」「B01_No1」等)に基づいて、区分動作管理データD2(図31参照)における区分動作ごとの管理データのうちから、該識別情報が示す区分動作の管理データを特定する。
そして、特定した区分動作の管理データにおける先頭行の記述に従った処理を行う。例えば、先頭行が「動作種別」=「駆動制御部動作」の行であれば、該行における「パーツ名」に記述された名称情報(「[C44_201_XY_TAMA_B01]{球}TY106_変動前△○×□玉ギミック予告_合体No1_正転XY軸データ」等)を取得する。
ステップS603において、役物サブシナリオデータD1から動作パターンを選択したタイマ割込みタイミングの次のタイマ割込みタイミングでは、CPU41aは、区分動作管理データD2における対象行の「動作種別」の情報に応じた処理を行う。
「動作種別」=「駆動制御部動作」の行であれば、該行における「パーツ名」に記述された名称情報を取得する処理を行う。
また、「動作種別」=「駆動制御部動作終了待ち」の行であれば、該行の「ステップ」に記述された値を、「停止予定時間タイマ」にセットする。この停止予定時間タイマは、1タイマ割込みごとにデクリメントされるタイマであり、「0」が停止予定時間の到来を表すものとなる。後述する図34のステップS706で、この停止予定時間タイマが0より小さいか否かを判定することで、停止予定時間を経過したか否かの判定(つまり、前述した動作終了確認処理)が行われる。
ここで、前述のように動作パーツについては複数軸の動作が定義されることがあり、その場合には、区分動作管理データD2において「動作種別」=「駆動制御部動作終了待ち」の行が連続して設けられる。このように「動作種別」=「駆動制御部動作終了待ち」の行が連続して設けられいる場合、ステップS603の処理としてCPU41aは、それら連続した行それぞれの「ステップ」の値に基づき、対応する軸についての停止予定時間タイマの値をセットする。
【0356】
また、CPU41aは、選択した一の動作パターンにおける一つ目の区分動作についてての処理が完了し、2個目以降の区分動作についての処理を開始する場合には、ステップS603の処理として、以下の処理を行う。
すなわち、特定した区分動作が「B01_No1_wait」のような待機動作としての区分動作であって、該区分動作の管理データが「動作種別」=「待機」の行のみであった場合、CPU41aは、ステップS603の処理として、該行の「ステップ」の値が示す待機時間が経過したか否かを毎割込みタイミング判定する処理を行う。そして、待機時間が経過したと判定した割込みタイミングのステップS603でCPU41aは、選択中の一の動作パターンにおける次の区分動作について、区分動作管理データD2を用いた処理を開始する。すなわち、ここで説明している2個目以降の区分動作についての処理を開始する。
【0357】
また、特定した区分動作が「B01_No2」のような動作パーツとしての区分動作であった場合、CPU41aは、上記により説明した一つ目の区分動作についての処理と同様の処理を行う。つまり、「パーツ名」に記述された名称情報を取得する処理、及び「動作種別」=「駆動制御部動作終了待ち」の行における「ステップ」の値を停止予定時間タイマにセットする処理を行う。
【0358】
CPU41aは、役物サブシナリオデータD1から選択した一の動作パターンに含まれる全ての区分動作について、上記したような区分動作管理データD2に基づく処理を完了した場合は、ステップS603の処理として、演出シナリオデータと演出シナリオタイマとに基づき新たに動作パターンが選択されたか否かを毎割込みタイミング判定する処理を行う。このような毎割込みタイミングの判定を行った結果、新たに動作パターンが選択されたと判定した場合、CPU41aは、以降のタイマ割込みタイミングでのステップS603の処理として、該新たに選択された動作パターンについて、区分動作管理データD2に基づき、上記により説明した処理と同様の処理を行う。
【0359】
図34は、演出制御側タイマ割込み処理におけるステップS604のSOL・MOT出力処理を示したフローチャートである。
この図34に示す処理は、選択中の区分動作が「B01_No1_wait」のような待機動作である場合には実行されず、選択中の区分動作が「B01_No1」や「B01_No2」のような動作パーツとしての動作である場合に対応して実行されるものである。
また、動作パーツが複数の軸の動作を定義したものである場合、図34に示す処理は、軸ごとに実行される。
【0360】
ステップS604のSOL・MOT出力処理において、CPU41aは、先ずステップS701で、駆動状態レジスタの値を取得する処理を行う。すなわち、モータ駆動制御部51に対して、対象軸についての駆動ステータス値SRUNの問合せを行い、該駆動ステータス値SRUNを取得するものである。
【0361】
ステップS701に続くステップS702でCPU41aは、駆動停止状態か否かを判定する。すなわち、本例の場合、取得した駆動ステータス値SRUNが「0」であるか否かを判定する。
【0362】
ステップS702において、駆動停止状態であると判定した場合、CPU41aはステップS703に進んでレジスタ初期化処理、すなわちモータ駆動制御部51における対象軸のレジスタを初期化する指示をモータ駆動制御部51に対して行い、続くステップS704で受信・送信許可処理を行う。すなわち、モータ駆動制御部51からのデータ受信及びモータ駆動制御部51へのデータ送信を許可する処理を行う。
【0363】
そして、ステップS704に続くステップS705でCPU41aは、制御コマンド送信処理を行う。先の説明から理解されるように、選択中の区分動作が動作パーツとしての動作であり、且つモータ駆動制御部51が駆動停止状態(ステップS702:Yes)にある、つまり、該動作パーツとしての動作の開始直前の状態では、ステップS603の可動体役物動作更新処理において、区分動作管理データD2から、該動作パーツに対応する名称情報が特定されている。
ステップS705の制御コマンド送信処理では、このように特定された名称情報に基づき、制御コマンド管理データD3から該当するソースコードを特定し、特定したソースコードに従って、該動作パーツとしての動作を実現するための制御コマンドCdをモータ駆動制御部51に対して送信する処理を行う。
【0364】
CPU41aは、ステップS705の制御コマンド送信処理を実行したことに応じて、ステップS708に処理を進めて、受信・送信禁止処理、すなわちモータ駆動制御部51からのデータ受信及びモータ駆動制御部51へのデータ送信を禁止する処理を行い、ステップS604のSOL・MOT出力処理を終える。
【0365】
また、CPU41aは、先のステップS702で駆動停止状態ではないと判定した場合は、ステップS706に処理を進めて停止予定時間を経過したか否かを判定する。具体的には、前述した停止予定時間タイマの値が「0」よりも小さいか否かを判定する。
【0366】
ステップS706において、停止予定時間を経過していないと判定した場合、CPU41aはステップS604のSOL・MOT出力処理を終える。
【0367】
一方、ステップS706において、停止予定時間を経過したと判定した場合、CPU41aはステップS707に進み、シナリオ終了処理を実行する。すなわち、実行中のサブシナリオ(動作パターン)に定義された可動体役物50の動作を強制停止する処理を行う。
これにより、モータ駆動制御部51に何らかの異常が生じて、実行中の動作が予定時間内に終了しなかった場合に対応して、フェールセーフ処理として、動作の強制停止を実現することができる。
本実施形態で用いるモータ駆動制御部51はフェールセーフ機能を有さないため、CPU41aの処理によりタイムアウト監視してフェールセーフを実現するというものである。
【0368】
CPU41aは、ステップS707のシナリオ終了処理を行った場合は、先に説明したステップS708の受信・送信禁止処理を行い、ステップS604のSOL・MOT出力処理を終える。
【0369】
なお、センサ入力停止モードによる動作が定義された動作パーツについては、図31で例示したような動作種別=駆動制御部動作終了待ちの行を設けず、ステップS706の判定処理を行わないことも考えられる。
【0370】
ここで、上記のように本実施形態では、選択中の区分動作が動作パーツとしての動作である場合には、ステップS701及びS702の処理により、タイマ割込みごとに、モータ駆動制御部51に駆動制御ステータスの問合せ処理を行って、動作パーツとしての役物動作が完了したか否かを判定するものとしている。そして、ステップS705の処理により、動作パーツとしての役物動作が完了したと判定されてから、次の役物動作についての制御コマンド出力処理を行うようにされている。
【0371】
これにより、動作パーツとしての動作が完了する前に誤って次の制御コマンドCdが出力されてしまうこと防止を図ることができ、適切な役物動作制御を実現することができる。
【0372】
(6.4.2 マイクロステップ駆動について)
前述のように、従来の役物モータ制御では、CPU41aがモータドライバに1ms周期で制御データを出力する方式であったため、動作速度的に、マイクロステップ駆動を実現することが実質的にできなかった。
本実施形態では、従来のようにCPU41aがモータドライバに直接的に制御データを出力するという構成は採らず、また、モータ駆動制御部51及びモータドライバ群52として、マイクロステップ駆動に対応したものを用いることで、役物モータをマイクロステップ駆動モードにより駆動すること(つまり可動体役物50をより滑らかに動かすこと)が可能とされている。
【0373】
ただし、役物モータをマイクロステップ駆動した場合には、モータ動作(回転)が何れの励磁相状態で終了したかが不定となり、基準励磁相(基準ステップ位置)間の中途半端な励磁相状態でモータ動作が終了する場合もあり得る。その状態で停止励磁をかけてしまうと、モータを停止保持できない虞がある。
【0374】
そこで、本実施形態におけるCPU41aは、役物モータをマイクロステップ駆動モードにより駆動させた後に停止させる際、モータドライバの駆動モードをマイクロステップ駆動モードから2相励磁駆動モードに切り替えて1ステップ分回転駆動させる指示を、モータ駆動制御部51に対して行う。
これにより、役物モータの停止励磁が適切に行われるように図ることができ、役物モータの停止保持、すなわち可動体役物50の停止保持が適切に行われるようにすることができる。
【0375】
ここで、上記のようなマイクロステップ駆動後の2相励磁駆動モードへの駆動モード切り替え及び1ステップ分の回転駆動指示は、制御コマンド管理データD3における該当する動作パーツについての制御コマンドCdとして、マイクロステップ駆動後にそれら2相励磁駆動モードへの駆動モード切り替え及び1ステップ分の回転駆動を指示する制御コマンドCdを記述しておくことで実現できる。
【0376】
なお、上記のような駆動モード切り替えの指示に応じてモータ駆動制御部51がモータドライバに対してどのような制御を行うかについては図35を参照して改めて説明する。
【0377】
(6.4.3 プリレジスタの使用について)
先の図27に示したように、本実施形態におけるモータ駆動制御部51は、プリレジスタ部74を有している。
プリレジスタ部74におけるプリレジスタは、レジスタ部73におけるレジスタにセットした制御コマンドCdに従った動作の実行後に続きの動作を実行させたい場合に、該続きの動作を実現するための制御コマンドCdを予めセットしておくことを可能とするために設けられたレジスタである。
プリレジスタに制御コマンドCdをプリセットしておけば、レジスタ部73にセットした制御コマンドCdに従った動作の終了後に、プリレジスタにセットした制御コマンドCdがレジスタ部73のレジスタにスライドされ、次の動作が開始されるものとなる。
【0378】
このようなプリレジスタを用いることで、CPU41aのタイマ割込み周期(本例では1ms周期)に依存せず、すなわち1msの空白を生じさせずに、モータ駆動制御部51に次の役物モータ動作の制御を開始させることができる。
【0379】
ただし、本実施形態で用いるモータ駆動制御部51はフェールセーフ機能を有さないため、プリレジスタを使用した場合は、レジスタ部73にセットした直前動作がエラーとなったとしても、次の役物モータ動作の制御が実行されてしまうという不都合がある。
【0380】
そこで、本実施形態では、基本的には、プリレジスタを使用しない(つまりレジスタ部73のみを使用する)役物モータ動作制御とし、一部の一連動作についてのみ、プリレジスタを使用する役物モータ動作制御を採用する。
【0381】
具体的には、例えば、位置センサまで到達したら減速するという一連動作等、役物モータの回転速度を途中で変化させる一連動作についてのみ、プリレジスタを使用する役物モータ動作制御を採用する。
仮に、速度変化前の動作に対応する制御コマンドCdと速度変化後の動作に対応した制御コマンドCdとを時分割でレジスタ部73にセットする手法を採った場合には、速度変化の際に1msの空白が生じるものとなって、役物モータが脱調してしまう虞がある。このため、「センサ到達までの動作」「センサ到達後の減速の動作」をそれぞれレジスタ部73、プリレジスタ部74にセットする。
この場合、前述した停止予定時間タイマについては、これら「センサ到達までの動作」と「センサ到達後の減速の動作」との合計時間に相当する値をセットするものとし、後者の動作の終了予定タイミングをタイマ割込み処理(ステップS702)で確認するようにする。
【0382】
ここで、プリレジスタを使用する場合、図31に示した区分動作管理データD2において、動作種別=駆動制御部動作の行を連続して設け、それらの行に対応する動作を定義したパーツ名の情報を記述するようにしておく。
CPU41aは、このように動作種別=駆動制御部動作の行が連続している場合には、一方の行(例えば先行行)のパーツ名から特定される制御コマンドCdをレジスタ部73にセットする指示をモータ駆動制御部51に対して行い、他方の行(例えば後行行)のパーツ名から特定される制御コマンドCdをプリレジスタ部74にセットする指示をモータ駆動制御部51に対して行う。
【0383】
[6.5 実施形態としての電流値切り替え、及び起動時のモータ誤動作対策]
図35は、モータ駆動制御部51の周辺回路の構成例を示した回路・ブロック図である。
ここでは、モータ駆動制御部51の周辺回路構成の例と共に、演出制御基板41も併せて示している。
また、図35では、モータ駆動制御部51の周辺回路構成について、X軸の回路構成のみを抽出して示している。
【0384】
ここでは、モータ駆動制御部51が有する端子のうちX軸のOUT信号(OUTx信号)の出力端子であるパルス信号出力端子OUTx、X軸のDIR信号(DIRx信号)の出力端子である回転方向出力端子DIRx、及びX軸の汎用入出力端子P0、P1、P2、P3である汎用入出力端子P0x、P1x、P2x、P3xを示している。
【0385】
また、図中、モータドライバ52x、役物モータ53xは、それぞれモータドライバ群52におけるX軸のモータドライバ、役物モータ群53におけるX軸の役物モータを表しており、位置センサ55xは位置センサ群55における可動体役物50xに対して設けられた位置センサを表している。
【0386】
本例のモータ駆動制御部51では、汎用入出力端子P0が位置決め用センサ信号の入力端子として選択されており、図示のように位置センサ55xによる検出信号は、バッファ91xを介して汎用入出力端子P0xに入力される。
【0387】
モータドライバ52xは、モータ駆動制御部51からのOUTx信号が入力されるクロック(CLK)端子と、DIRx信号が入力される回転方向(CW/CCW)入力端子とを有している。
また、モータドライバ52xは、役物モータ53xに対する駆動電流(モータ駆動電流)の出力端子として、A相及びB相それぞれ正負2極性分の計四つの出力端子を有している。
また、モータドライバ52xは、ENABLE信号が入力されるENABLE端子と、基準電圧Vrefの入力端子であるVref端子とを有している。
【0388】
モータドライバ52xは、ENABLE信号がONの状態において、Vref端子に入力される基準電圧Vrefに応じた電流値によるモータ駆動電流を役物モータ53xに出力するように構成されている。このとき、モータ駆動電流としては、回転方向入力端子に入力されるDIRx信号に応じた極性による電流を出力する。また、モータドライバ52xは、クロック端子にOUTx信号が入力された場合は、該OUTx信号の周期に応じた周期のパルス波形を有するモータ駆動電流を出力する。
【0389】
ここで、後述するモータドライバ52yとしても、モータドライバ52xと同様の端子を有し、入力されるENEBLE信号、基準電圧Vref、DIR信号、及びOUT信号に応じてモータドライバ52xと同様にモータ駆動電流を出力する。
【0390】
また、本実施形態において、モータドライバ群52における各モータドライバは、役物モータの駆動モードとして少なくとも2相励磁駆動モードとマイクロステップ駆動モードとの間の切り替えが可能に構成されており、図示のようにモータドライバ52xは、駆動モード切り替えの指示を受け付けるための駆動モード端子として、DMODE0端子、DMODE1端子、及びDMODE2端子の三つの端子を有している。
【0391】
図36は、駆動モード端子への入力値と駆動モードとの対応関係を示した図である。
この図から分かるように、本例におけるモータドライバ52xは、DMODE0端子=Lレベル、DMODE1端子=Lレベル、DMODE2端子=Hレベルの入力に応じて自身の駆動モードを2相励磁駆動モードに設定し、DMODE0端子=Hレベル、DMODE1端子=Lレベル、DMODE2端子=Hレベルの入力に応じて自身の駆動モードをマイクロステップ駆動モードである2W1-2相励磁駆動モードに設定する。
【0392】
図35において、図示のようにDMODE1端子への入力信号はLレベルで固定され、またDMODE2端子への入力信号はHレベルで固定されている。従って、本例におけるモータドライバ52xにおいては、DMODE0端子への入力信号レベルをLレベルとHレベルとの間で切り替えることで、2相励磁駆動モードとマイクロステップ駆動モードとの切り替えを行うことが可能とされる。
【0393】
モータ駆動制御部51は、演出制御基板41からの制御コマンドCdにより役物モータの駆動モードが指定された場合には、指定された駆動モードを設定させるための駆動モード制御信号をモータドライバに対して出力する。具体的に、本例のモータ駆動制御部51(コマンド・レジスタ制御回路72)は、演出制御基板41からの制御コマンドCdにより2相励磁駆動モードが指示された場合はLレベルによる駆動モード制御信号を生成・出力し、マイクロステップ駆動モードが指示された場合はHレベルによる駆動モード制御信号を生成・出力する。
本例のモータ駆動制御部51においては、この駆動モード制御信号を、前述した汎用入出力端子P0~P3のうちの何れかより出力するようにされている。具体的に、本例のモータ駆動制御部51は、汎用入出力端子P1が駆動モード制御信号の出力端子となるように設定が為されている。
【0394】
図示のようにモータドライバ52xにおけるDMODE0端子には、モータ駆動制御部51の汎用入出力端子P1xより上記の駆動モード制御信号が入力される。これにより、制御コマンドCdによる駆動モードの指示に応じて、モータドライバ52xが適切に2相励磁駆動モード/マイクロステップ駆動モードの切り替えを行うことが可能とされている。
【0395】
ここで、先の図25で説明した従来の遊技機においては、モータドライバ52x、52yとして、レジスタ設定によりモータ駆動電流値を所定段階(例えば、16段階等)で切り替えるように構成されたドライバが用いられていた。このため、演出制御基板41’のCPU41aは、該ドライバのレジスタ設定を行うことでモータ駆動電流値を弱電流(前述した待機時電流値:例えば、100mA程度)と強電流(前述した駆動時電流値:例えば、470mA程度)との間で切り替えるようにされていた。
確認のため述べておくと、モータ駆動電流についての上記弱電流と強電流の切り替えは、役物モータの駆動開始タイミング(弱電流→強電流)と、駆動終了タイミング(強電流→弱電流)とで行われるべきものである。
【0396】
本実施形態の遊技機1では、モータドライバ52x(モータドライバ52yも同様)として、上記のようなレジスタ設定による電流値切り替え機能を有していないドライバを採用しており、上記のような従来手法に代わる新たなモータ駆動電流値の切り替え手法を採ることを要する。
【0397】
本実施形態では、モータドライバ52xに設けられたVref端子を用いてモータ駆動電流値の切り替えを実現する構成を採る。具体的には、図中の切替回路92xを用いてモータ駆動電流値の切り替えを実現する。
【0398】
図示のように切替回路92xに対しては、モータ駆動制御部51における汎用入出力端子P3xの出力信号を入力している。前述のように、本実施形態では汎用入出力端子P3はカレントアップダウン信号CDWNの出力に割り当てられているので、該カレントアップダウン信号CDWNが切替回路92xの入力信号として与えられる。
【0399】
切替回路92xは、所定レベルの電源電圧(本例ではDC5Vの電源電圧)を入力電圧とする可変分圧回路として構成されたものであり、図示のように抵抗R1、抵抗R2、抵抗R3、及びスイッチング素子Q1を有して構成されている。
この場合、スイッチング素子Q1にはNPN型のバイポーラトランジスタが用いられ、スイッチング素子Q1のコレクタは抵抗R1を介してDC5V電源に接続され、エミッタは抵抗R2を介して接地されている。また、DC5V電源に対しては、抵抗R1と並列に抵抗R3が接続され、この抵抗R3における、DC5V電源との接続点とは逆側の端部が、スイッチング素子Q1のエミッタと抵抗R2との接続点に対して接続されている。
スイッチング素子Q1のベースは、モータ駆動制御部51の汎用入出力端子P3xと接続される。これにより、カレントアップダウン信号CDWNがスイッチング素子Q1のON/OFF制御信号として与えられる。
切替回路92xにおいては、抵抗R3と抵抗R2との接続点が分圧出力点となり、この分圧出力点が、モータドライバ52xにおけるVref端子に接続されている。すなわち、切替回路92xにより分圧出力される電圧がモータドライバ52xの基準電圧Vrefとして与えられるものである。
【0400】
上記構成による切替回路92xでは、カレントアップダウン信号CDWNがLレベル(OFFレベル)である場合には、スイッチング素子Q1がOFFとされる。このため、分圧出力点の電圧Vdは「Vd=R3/(R3+R2)×5V」と表される。
一方、カレントアップダウン信号CDWNがHレベル(ONレベル)である場合には、スイッチング素子Q1がONとされるため、分圧出力点の電圧は、R1とR3の合成抵抗値とR2とに基づく電圧となる。ここで、R1とR3の合成抵抗値は「R1×R3/(R1+R3)」である。この合成抵抗値をR0とすると、カレントアップダウン信号CDWNがHレベルである場合の電圧Vdは「R0/(R0+R2)×5V」と表される。このとき、R3>R0であるため、電圧Vdは、カレントアップダウン信号CDWNのLレベル→Hレベルの切り替えに対しては値が上昇し、Hレベル→Lレベルの切り替えに対しては値が低下する。
【0401】
前述のように、モータドライバ52xはVref端子に入力される基準電圧Vrefに応じた電流値によるモータ駆動電流を役物モータ53xに出力するように構成されているので、上記のような切替回路92xの動作により、モータドライバ52xは、カレントアップダウン信号CDWNがLレベルの場合にはモータ駆動電流として弱電流を出力し、カレントアップダウン信号CDWNがHレベルの場合にはモータ駆動電流として強電流を出力することができる。
【0402】
上記のように本実施形態では、モータ駆動電流の弱電流/強電流の切り替えが、モータ駆動制御部51による切替回路92xの制御により行われるものとなる。すなわち、弱電流/強電流の切り替えを実現するにあたり、従来のように演出制御基板41’のCPU41aがモータドライバに対して直接的に駆動電流値の切り替え指示を行う必要がなくなる。
従って、可動体役物50の制御に係るCPU41aの処理負担軽減、及び該制御に係るソフトウェア作成作業の負担軽減を図ることができる。
【0403】
図37に、カレントアップダウン信号CDWNに応じたモータ駆動電流値の切り替えの様子を例示する。
先の図28を参照して説明したように、演出制御基板41からのスタートコマンドにより役物モータ53xの駆動開始が指示されたタイミング(CSTA)で、カレントアップダウン信号CDWNがOFFレベル(Lレベル)からONレベル(Hレベル)に変化する。上記した切替回路92xの動作により、このようなカレントアップダウン信号CDWNのOFFレベル→ONレベルの変化に応じて、モータドライバ52xから役物モータ53xに対するモータ駆動電流の電流値が弱電流としての電流値から強電流としての電流値に徐々に変化していく。このとき、カレントアップ期間が設けられることで、モータ駆動電流値を強電流(駆動時電流値)に上昇させるための十分な期間が確保される点は前述した通りである。
【0404】
また、カレントアップダウン信号CDWNは、OUTx信号のパルス出力の停止タイミングから所定のカレントダウン期間が経過したことに応じてONレベルからOFFレベルに変化する。このようなカレントアップダウン信号CDWNのONレベル→OFFレベルの変化に対しては、上記した切替回路92xの動作により、モータドライバ52xから役物モータ53xに対するモータ駆動電流の電流値が強電流としての電流値から弱電流としての電流値に徐々に低下していく。
なお、カレントダウン期間が設けられることで、役物モータ53xが確実に停止する時間を確保することができる点は前述した通りである。
【0405】
ここで、上記では、弱電流/強電流の切り替えのために切替回路92xに入力する信号としてカレントアップダウン信号CDWNを用いる例としたが、該信号については、役物モータの駆動の開始タイミングと終了タイミングでそれぞれ値が反転する信号であれば、他の信号を用いることもできる。
ここで言う「開始タイミング」「終了タイミング」における「タイミング」は、厳密な「時点」のみを指すものではなく、或る程度の時間幅を持つ概念である。
【0406】
図35において、ENABLE制御回路93xは、モータドライバ52xに入力するENABLE信号のレベルを制御する。
【0407】
ここで、仮に、モータ駆動制御部51がモータドライバ52xのENABLE信号をON/OFF制御する構成とした場合には、モータ駆動制御部51の起動時においてENABLE信号のレベルが不定となり、役物モータ53xの誤動作を招来する虞がある。
そこで、本実施形態では、ENABLE制御回路93xを設けてその対策を行うものとしている。
【0408】
図示のようにENABLE制御回路93xは、抵抗R4、抵抗R5、抵抗R6、及びスイッチング素子Q2を有して構成されている。本例では、スイッチング素子Q2にはN型のFET(電解効果トランジスタ)が用いられる。
スイッチング素子Q2のゲートは、モータ駆動制御部51の汎用入出力端子P2xに接続されている。また、スイッチング素子Q2のゲートは、抵抗R4を介して所定レベルの電源電圧(本例ではDC5V)に接続されている。
スイッチング素子Q2のドレインは、抵抗R5を介して所定レベルの電源電圧(本例ではDC5V)に接続され、ソースは接地されている。
スイッチング素子Q2のドレインと抵抗R5との接続点は、抵抗R6を介してモータドライバ52xにおけるENABLE端子と接続されている。
【0409】
本実施形態において、モータ駆動制御部51は、制御コマンドCdによって、汎用入出力端子P0~P3の信号割り当てとしてHレベル固定出力、又はLレベル(接地)固定出力を設定することが可能とされている。
本例では、モータ駆動制御部51の起動時において、演出制御基板41が制御コマンドCdによってX軸用回路のコマンド・レジスタ制御回路72に対して汎用入出力端子P2xをLレベル固定出力に設定する処理を行うものとされている。これにより、モータ駆動制御部51は、起動に応じて汎用入出力端子P2xをLレベルで固定(接地)するようにされている。
【0410】
モータ駆動制御部51が起動開始前の状態、又はモータ駆動制御部51の起動開始直後の状態であって、汎用入出力端子P2xの信号レベルがLレベル(接地レベル)となっていない状態においては、ENABLE制御回路93xでは、スイッチング素子Q2のゲートが電源電圧に接続されていることで、スイッチング素子Q2がON状態とされている。このため、ENABLE信号としてはLレベル(OFFレベル)の信号が出力される。
一方、モータ駆動制御部51の起動に伴い汎用入出力端子P2xの信号レベルがLレベルとなった場合、ENABLE制御回路93xでは、スイッチング素子Q2がOFFとされ、これに伴いENABLE信号としてはHレベル(ONレベル)の信号が出力される。
【0411】
このようにして、モータ駆動制御部51が起動する前にENABLE信号がONとされてしまうことの防止が図られる。すなわち、モータ駆動制御部51の起動時においてENABLE信号のレベルが不定となることに起因して役物モータ53xの誤動作を招来してしまうことの防止を図ることができる。
【0412】
[6.6 起動時の役物落下対策]
先の図3及び図4を参照して説明したように、本実施形態では、Y軸の可動体役物50yは、遮蔽位置から下方に向けて駆動される可動体役物50とされている。換言すれば、遮蔽位置よりも下方に可動域を有する可動体役物50とされている。
【0413】
このように可動域が遮蔽位置よりも下方にある可動体役物50については、モータ駆動制御部51の起動前の最後に行われた役物モータの駆動がマイクロステップ駆動モードによるものであった場合に、その後のモータ駆動制御部51の起動によって、自重により落下してしまう虞がある。具体的に、この場合におけるモータ駆動制御部51の起動時には、ENABLE信号がONとされることで、モータドライバから役物モータに対して弱電流によるモータ駆動電流が出力されるが、起動前の最後の駆動モードがマイクロステップ駆動モードであると、モータ動作が何れの励磁相状態で終了したかが不定となり、基準励磁相(基準ステップ位置)間の中途半端な励磁相状態でモータ動作が終了していた場合には、弱電流によるモータ駆動電流が印加されても十分な停止保持力を得ることができず、その結果、可動体役物50が自重により落下してしまう虞がある。
【0414】
そこで、本実施形態では、Y軸のモータ制御系において、図38に示すような起動時モード制御回路94を設けている。
なお、図38を参照して分かるように、本例では、Y軸のモータ制御系においても、位置センサ(55y)の検出信号をバッファ91(91y)を介して汎用入出力端子P0(P0y)に入力するものとしている。
また、前述した切替回路92xと同様の回路構成による切替回路92yを設けて、汎用入出力端子P3xから出力するカレントアップダウン信号CDWNに応じたモータ駆動電流値の切り替え(弱電流/強電流の切り替え)を実現するものとしている。
さらに、ENABLE制御回路93xと同様の回路構成によるENABLE制御回路93yを設けることでX軸の場合と同様に起動時における役物モータ53yの誤動作防止を図っている。
【0415】
図示のように起動時モード制御回路94は、ENABLE制御回路92(92x及び92y)と同様の回路構成を有するものである。起動時モード制御回路94におけるスイッチング素子Q2のゲートには、モータ駆動制御部51の汎用入出力端子P1yが接続されている。
本例において、モータ駆動制御部51では、Y軸についても、汎用入出力端子P1は上述した駆動モード制御信号の出力が割り当てられている。従って、モータ駆動制御部51が起動した場合には、汎用入出力端子P1yから起動時モード制御回路94におけるスイッチング素子Q2のゲートに対して駆動モード制御信号が出力される。ただし、Y軸の駆動モード制御信号については、2相励磁駆動モード=Hレベル、マイクロステップ駆動モード=Lレベルであるとする。
【0416】
また、起動時モード制御回路94において、スイッチング素子Q2のドレインと抵抗R5との接続点は、抵抗R6を介してモータドライバ52yのDMODE0端子に接続されている。
【0417】
本例において、最後に行われた役物モータ53yの駆動がマイクロステップ駆動モードによるものであった場合、モータ駆動制御部51の起動に応じてはLレベルの駆動モード制御信号が出力されるが、駆動モード制御信号についても、モータ駆動制御部51の起動開始直後の期間ではそのレベルが不定となる。
【0418】
起動時モード制御回路94において、モータ駆動制御部51が起動開始前の状態、又はモータ駆動制御部51の起動開始直後の状態であって、汎用入出力端子P1yの信号レベルがLレベル(接地レベル)となっていない状態では、スイッチング素子Q2のゲートが電源電圧に接続されていることで、スイッチング素子Q2がON状態とされるため、DMODE0端子への出力信号はLレベル(OFFレベル)となる。先の図36より、このようにDMODE0端子への入力信号レベルがLレベルであれば、モータドライバ52yには駆動モードとして2相励磁駆動モードが指示されることになる。
従って、モータ駆動制御部51の起動時に可動体役物50yが自重により落下してしまうことの防止を図ることができる。
【0419】
ここで、汎用入出力端子P1yから出力される駆動モード制御信号が2相励磁駆動モードの場合に対応したHレベルである場合、起動時モード制御回路94においてはスイッチング素子Q2がONとされて、DMODE0端子にはLレベルの信号が入力される。従って、モータドライバ52yには2相励磁駆動モードが指示される。
一方、汎用入出力端子P1yから出力される駆動モード制御信号がマイクロステップ駆動モードの場合に対応したLレベルである場合、起動時モード制御回路94ではスイッチング素子Q2がOFFとされて、DMODE0端子にはHレベルの信号が入力されることになり、モータドライバ52yにはマイクロステップ駆動モードが指示される。
このように、モータ駆動制御部51の起動後には、駆動モード制御信号に従った適切な駆動モードがモータドライバ52yに指示される。
【0420】
[6.7 その他構成例]
本実施形態で用いるモータ駆動制御部51は、異常の発生等に応じたセルフリセット機能を有している。
しかしながら、モータ駆動制御部51は、仕様上、セルフリセットした旨を外部に通知する機能を有してない。
【0421】
そこで、ここでは、演出制御基板41がモータ駆動制御部51のセルフリセットを検知するための手法を提案する。
図39は、具体的な手法についての説明図であり、演出制御基板41とモータ駆動制御部51と示している。
先ず、本例では、モータ駆動制御部51における何れかの汎用入出力端子Pを、本例における監視用信号の出力端子として予め定めておく。図中では、この監視用信号の出力端子を、U軸用回路における汎用入出力端子P1uに定めた例を示している。
図示のように監視用信号の出力端子としての汎用入出力端子P1uは、抵抗R7を介して所定レベルの電源電圧に対して接続しておく。
【0422】
この場合、演出制御基板41のCPU41aは、モータ駆動制御部51が起動した際の初期設定処理として、汎用入出力端子P1uの出力設定を行う。具体的には、制御コマンドCdを用いて、汎用入出力端子P1uをLレベル固定出力の端子に割り当てる処理を行う。
【0423】
その後、CPU41aは、例えば演出制御側タイマ割込み処理等により、周期的に、モータ駆動制御部51に汎用入出力端子P1uの出力値の問合せを行う。
このとき、モータ駆動制御部51がONの状態(非リセット状態)であれば、汎用入出力端子P1uの出力値として「Lレベル」が確認される。
一方、モータ駆動制御部51がリセット状態となると、汎用入出力端子P1uの出力値は抵抗R7に接続された電源電圧によりプルアップされて、「Hレベル」となる。
【0424】
従って、CPU41aは、汎用入出力端子P1uの出力値についての周期的な問合せを行い、問合せごとに、該出力値が「Hレベル」であるか否かの判定を行うことで、モータ駆動制御部51のセルフリセットを検知することができる。
【0425】
ここで、モータ駆動制御部51がセルフリセットしたときには、可動体役物50の位置が不定となるので、CPU41aが役物モータの原点復帰の処理を呼び出して実行することが考えられる。
【0426】
一方で、説明は省略したが、本実施形態においてCPU41aは、変動開始時、及び客待ち開始時において、役物モータの原点復帰の処理を呼び出して実行するようにされている。
【0427】
しかしながら、このように変動開始時と客待ち開始時に原点復帰の処理を行うことを前提とすると、モータ駆動制御部51のセルフリセットに応じて原点復帰の処理を呼び出す仕様とした場合には、原点復帰の回数が徒に増加してしまう。
【0428】
そこで、モータ駆動制御部51のセルフリセットが検知されたとしても、原点復帰の処理を呼び出さないようにすることが考えられる。
これにより、原点復帰の回数を削減でき、CPU41aの処理負担軽減を図ることができる。
確認のため述べておくと、この場合、原点復帰の処理は、モータ駆動制御部51のセルフリセット後における変動開始時や客待ち開始時に実行されるものとなるため、実質的な問題は生じない。
【0429】
<7.変形例>
以上、本発明に係る実施形態について説明したが、本発明はこれまでに説明した具体例に限定されるものではなく、多様な変形例としての構成を採り得る。
例えば、上記では、本発明を弾球遊技機に適用した例を説明したが、本発明は、可動体役物を駆動するためのモータ制御を行う遊技機であれば、回胴遊技機等の他の遊技機に対しても好適に適用することができる。
【0430】
また、上記では、可動体役物50として可動体役物50x及び50yの二つが設けられる例としたが、可動体役物50の個数は二つに限定されるものではなく、少なくとも1以上であればよい。
【0431】
また、上記では、モータ駆動制御部51が対応可能なドライバ数が四つとされた例を挙げたが、モータ駆動制御部51としては少なくとも1以上のドライバ接続に対応した構成が採られればよい。
【0432】
<8.実施形態のまとめ>
上記で説明したように、実施形態としての第一の遊技機は、演出役物の動力源として設けられたモータと、モータを駆動するドライバと、ドライバに対してモータの駆動態様を指示する信号である駆動制御信号を出力する駆動制御手段と、演出役物の動作シナリオを管理するシナリオデータである役物演出シナリオデータに従って駆動制御手段による駆動制御信号の出力に係る制御を行う演出制御手段と、演出制御手段による読み出しが可能な記憶手段と、を備えている。
そして、演出役物に実行させる複数の一連役物動作がそれぞれ動作パーツとして定義されており、記憶手段には、定義された動作パーツごとに、動作パーツとしての役物動作を実現するための駆動制御信号の出力を駆動制御手段に指示する制御コマンドを管理する制御コマンド管理データが記憶されている。
さらに、演出制御手段は、役物演出シナリオデータに基づく動作シナリオの進行に伴い一連役物動作を実行させるべき状態となったことに応じて、制御コマンド管理データから動作パーツのうち一連役物動作に係る一の動作パーツに対応する制御コマンドを読み出して駆動制御手段に対して出力する制御コマンド出力処理を行っている。
従来の遊技機では、演出制御手段が、例えば1ms周期等のタイマ割込み周期で役物モータの動作を指示する制御信号をドライバに出力するようにされていた為、演出役物の動作制御を実現するにあたっての演出制御手段の処理負担が増大する傾向にあった。上記構成によれば、演出役物の一連動作を実現するにあたり、演出制御手段が従来のようにタイマ割込み周期でドライバに制御信号を出力する必要がなくなる。
従って、演出役物の駆動制御に係る演出制御手段の処理負担軽減を図ることができる。また、演出役物の駆動制御に係るソフトウェア作成作業の負担軽減を図ることができる。
【0433】
実施形態としての第二の遊技機は、演出役物の動力源として設けられたモータと、モータを駆動するドライバと、ドライバに対してモータの駆動態様を指示する信号である駆動制御信号を出力する駆動制御手段と、演出役物の動作シナリオを管理するシナリオデータである役物演出シナリオデータに従って駆動制御手段による駆動制御信号の出力に係る制御を行う演出制御手段と、を備えている。
そして、ドライバは、外部からの基準電圧の入力を受け付ける基準電圧端子を有し、基準電圧端子に入力される基準電圧のレベルに応じてモータに出力する駆動電流値が変化するように構成されている。
また、ドライバの外部となる位置に、入力信号の値に応じて基準電圧端子に入力される基準電圧のレベルを切り替える切替回路を備えている。
さらに、駆動制御手段は、モータの駆動の開始タイミングと終了タイミングでそれぞれ値が反転する信号を切替回路の入力信号として出力している。
これにより、モータ駆動の開始タイミングと終了タイミングのそれぞれにおいてドライバからモータに対する駆動電流値の切り替えが行われるべき場合において、該駆動電流値の切り替えが、駆動制御手段による切替回路の制御により行われるものとなる。すなわち、該駆動電流値の切り替えを実現するにあたり、従来のように演出制御手段がドライバに対して直接的に駆動電流値の切り替え指示を行う必要がなくなる。
従って、演出役物の駆動制御に係る演出制御手段の処理負担軽減を図ることができる。また、演出役物の駆動制御に係るソフトウェア作成作業の負担軽減を図ることができる。
【0434】
また、実施形態としての第二の遊技機においては、駆動制御手段は、駆動電流値についてのカレントアップ/カレントダウン機能を有し、演出制御手段からの指示により汎用出力端子からカレントアップ/カレントダウン信号を出力する設定が為されて、該カレントアップ/カレントダウン信号を切替回路に対して出力している。
これにより、演出制御手段は、駆動制御手段の起動時等において汎用出力端子からカレントアップ/カレントダウン信号を出力する設定の指示を行っておくことで、以降、モータ駆動の開始タイミングと終了タイミングには、駆動制御手段のカレントアップ/カレントダウン機能を利用して駆動電流値の切り替えが行われるようになる。
従って、駆動電流値の切り替えを実現するにあたり演出制御手段がドライバに対して直接的に駆動電流値の切り替え指示を行う必要がなくなり、演出役物の制御に係る演出制御手段の処理負担軽減、及び該制御に係るソフトウェア作成作業の負担軽減を図ることができる。
【0435】
実施形態としての第三の遊技機は、演出役物の動力源として設けられたモータと、モータを駆動するドライバと、ドライバに対してモータの駆動態様を指示する信号である駆動制御信号を出力する駆動制御手段と、演出役物の動作シナリオを管理するシナリオデータである役物演出シナリオデータに従って駆動制御手段による駆動制御信号の出力に係る制御を行う演出制御手段と、を備えている。
そして、ドライバは、モータの駆動モードとして、モータを2相励磁方式で駆動することが可能な第一駆動モードと、モータをマイクロステップ方式で駆動可能な第二駆動モードとの切り替えが可能とされている。
また、駆動制御手段は、演出制御手段からの指示に基づき、ドライバに対する駆動モードの切り替え指示を行うことが可能とされている。
さらに、演出制御手段は、モータを第二駆動モードにより駆動させた後に停止させる際、駆動モードを第二駆動モードから第一駆動モードに切り替えて1ステップ分回転駆動させる指示を駆動制御手段に対して行っている。
モータの駆動制御系に上記のような駆動制御手段を介在させた構成とすることで、従来のように演出制御手段がタイマ割込み周期(例えば1ms周期)でドライバに制御データを出力する構成を採る必要がなくなる。この場合におけるモータ制御の時間方向の分解能は、駆動制御手段の処理周期に依存するものとなるので、演出制御手段の処理周期に依存しないものとなるから、モータをマイクロステップ駆動モードで駆動することができる(つまり役物をより滑らかに動かすことができる)。
ただし、モータをマイクロステップ駆動した場合には、モータ動作(回転)が何れの励磁相状態で終了したかが不定となり、基準励磁相(基準ステップ位置)間の中途半端な励磁相状態でモータ動作が終了する場合もあり得る。その状態で停止励磁をかけてしまうと、モータを停止保持できない虞がある。そこで、上記のようにモータを第二駆動モード(マイクロステップ駆動モード)で駆動して停止させる際には、第一駆動モード(2相励磁駆動モード)に切り替えて1ステップ分回転駆動させるようにしている。
これにより、モータの停止励磁が適切に行われるように図ることができ、モータの停止保持、すなわち演出役物の停止保持が適切に行われるようにすることができる。
【0436】
実施形態としての第四の遊技機は、演出役物の動力源として設けられたモータと、演出役物の動作状態を検出するためのセンサと、モータを駆動するドライバと、ドライバに対してモータの駆動態様を指示する信号である駆動制御信号を出力する駆動制御手段と、演出役物の動作シナリオを管理するシナリオデータである役物演出シナリオデータに従って駆動制御手段による駆動制御信号の出力に係る制御を行う演出制御手段と、を備えている。
そして、駆動制御手段は、センサの検出信号を入力する信号入力ポートを有し、信号入力ポートに対する入力信号に基づき演出役物の動作状態を示す動作状態情報を生成する。
その上で、演出制御手段による駆動制御手段からの動作状態情報の受信、及び演出制御手段から駆動制御手段に対する駆動制御信号の送信が、共通のシリアルデータ通信系を介して行われるものである。
従来、演出制御手段によるモータの駆動制御とセンサ信号に基づく役物の動作状態情報の取得とを実現するためには、演出制御手段の通信系統として、ドライバに対する駆動制御信号の通信系と、センサからの信号入力のための通信系の二系統が必要とされていた。
これに対し、上記のような駆動制御手段を設けた遊技機の構成とすることで、駆動制御手段からの役物の動作状態情報の受信、及び駆動制御手段に対する駆動制御信号の送信を共通のシリアルデータ通信系を介して行うことができ、演出制御手段によるモータの駆動制御とセンサ信号に基づく役物の動作状態情報の取得とを実現するための演出制御手段の通信系統を一系統に纏めることができる。
従って、配線数の削減、及びそれによる回路レイアウトの自由度向上を図ることができる。
【0437】
実施形態としての第五の遊技機は、演出役物の動力源として設けられたモータと、モータを駆動するドライバと、ドライバに対してモータの駆動態様を指示する信号である駆動制御信号を出力する駆動制御手段と、演出役物の動作シナリオを管理するシナリオデータである役物演出シナリオデータに従って駆動制御手段による駆動制御信号の出力に係る制御を行う演出制御手段と、を備えている。
そして、ドライバは、モータの駆動モードとして、モータを2相励磁方式で駆動可能な第一駆動モードと、モータをマイクロステップ方式で駆動可能な第二駆動モードとの切り替えが可能とされると共に、駆動モードの指示信号であるモード指示信号を受け付けるモード信号入力端子を有している。
さらに、駆動制御手段の起動時において、所定の電源ラインから供給される電源電圧と駆動制御手段が有する所定出力端子の出力信号とに基づいて、第一駆動モードを指示するモード指示信号を生成してモード信号入力端子に出力する起動時モード制御回路を備えている。
上記構成によれば、起動時における駆動モードが必ず第一駆動モード(2相励磁駆動モード)となるように図られる。
従って、起動時における演出役物の落下防止を図ることができる。
【符号の説明】
【0438】
1 遊技機
1 遊技機
41 演出制御基板
41a CPU
41b ROM
50,50x,50y 可動体役物
51 モータ駆動制御部
52 モータドライバ群
52x,52y モータドライバ
53 役物モータ群
53x,53y 役物モータ
54 原点スイッチ群
55 位置センサ群
55x,55y 位置センサ
56 ハンドルセンサ
Cd 制御コマンド
71 I/F部
72 コマンド・レジスタ制御回路
73 レジスタ部
74 プリレジスタ部
75 スタート・ストップ制御回路
76 加減速パルス発生回路
77 倍率分周回路
78 出力形態変換回路
79 残量パルス数カウンタ
80 カレントアップダウン制御回路
81 汎用入出力制御回路
OUT パルス信号出力端子
DIR 回転方向出力端子
P0~P4 汎用入出力端子
D1 役物サブシナリオデータ
D2 区分動作管理データ
D3 制御コマンド管理データ
Gs 作業画面
Ad 定義用領域
Ar1 対象軸選択領域
Ar2 設定入力領域
b2 FL速度入力ボックス
b3 加速期間入力ボックス
b4 HL速度入力ボックス
b5 出力パルス数入力ボックス
b6 減速期間入力ボックス
p1,p2,p3 操作部
91x,91y バッファ
92x,92y 切替回路
93x,93y ENABLE制御回路
94 起動時モード制御回路
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32
図33
図34
図35
図36
図37
図38
図39