JP6424325B2 - 遊技機 - Google Patents
遊技機 Download PDFInfo
- Publication number
- JP6424325B2 JP6424325B2 JP2017073396A JP2017073396A JP6424325B2 JP 6424325 B2 JP6424325 B2 JP 6424325B2 JP 2017073396 A JP2017073396 A JP 2017073396A JP 2017073396 A JP2017073396 A JP 2017073396A JP 6424325 B2 JP6424325 B2 JP 6424325B2
- Authority
- JP
- Japan
- Prior art keywords
- game
- random number
- switch
- command
- display
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Display Devices Of Pinball Game Machines (AREA)
Description
遊技機を構成する各種基板のうち、遊技者が遊技をする際に最も注目する表示装置での映像表示は演出制御装置が制御している。演出制御基板(サブ基板)は遊技制御基板(主基板)からの指示に基づいて、その時の遊技状態に対する演出内容(描画内容)を判断して、演出を行っている(特許文献1参照)。
なお、遊技制御基板や演出制御基板はそれぞれ制御装置を構成し、それらは遊技制御装置や演出制御装置となっている。
前記遊技制御手段からのコマンドに基づいて表示手段を制御して演出を行うことが可能な演出制御手段を備えた遊技機において、
前記演出制御手段は、
圧縮された画像データを記憶する画像データ記憶手段と、
前記圧縮された画像データを描画時に展開する展開領域となる情報記憶手段と、
前記表示手段に表示する画面の描画制御における表示要素毎にシナリオデータを定義したシナリオテーブルを複数記憶するシナリオテーブル記憶手段と、を備え、
前記シナリオテ−ブル上に定義された前記シナリオデータにより指定されるモーション情報に対応する制御に切り替える場合は、当該モーション情報を設定する前に、前記展開領域を解放する第1の解放を行い、
当該演出制御手段が表示をするか否かを決定可能な演出におけるシナリオテーブルの終端付近には前記展開領域を解放する第2の解放に関するシナリオデータを定義し、
前記遊技制御手段からのコマンドを受信することにより表示を開始する演出におけるシナリオテーブルの終端付近には前記展開領域の解放に関するシナリオデータを定義せず、
前記第1の解放に関する前記シナリオデータと前記第2の解放に関する前記シナリオデータは異なるシナリオデータであるが、共通の処理を用いて前記展開領域の解放を行うことを特徴とする。
ここで、「表示手段」とは、例えば表示装置であるが、表示装置に限られない。
A.パチンコ機の正面構成
最初に、図1によって本例のパチンコ機の全体構成について説明する。図1は本例のパチンコ機1の前面側斜視図である。
パチンコ機1は、当該パチンコ機1が設置される島に対して固定される機枠2と、この機枠2にヒンジ部3において回動可能に軸支されることによって、機枠2に対して開閉自在とされた前面枠4とを備える。この前面枠4には、遊技盤20(図2に示す)が取り付けられている。
ここで、前面枠4は遊技枠という名称で呼称され、ガラス枠5は前枠という名称で呼称されることもあるが、本実施例では前面枠4、ガラス枠5で説明している。
このガラス枠5の下側には、操作パネル6が設けられている。
なお、通常、パチンコ機1には遊技媒体貸出装置としてのCRユニット(カード式球貸制御ユニット)が併設されることもあるが、ここでは図示を略している。ただし、図4では、CRユニットをカードユニット551として図示しており、このカードユニット551との間で信号などの伝達を中継するカードユニット接続基板54についても図4で示している。
また、前面枠4の開閉側(図1において右側)の縁部には、前面枠4及びガラス枠5の施錠装置(図示省略)の鍵挿入部8が形成されている。
また、操作パネル6には、上皿7の遊技球を遊技者の操作によって移すことができる下皿10と、遊技球の発射操作を行う発射操作ハンドル11とが設けられている。
また、図1において符号12a、12bで示すものは、効果音等を出力するスピーカである。このうち符号12aは、ガラス枠5の上部左右両側に設けられた上スピーカである。また符号12bは操作パネル6の左端部(下皿10の左側)に設けられた下スピーカである。
また、パチンコ機1の盤と枠という概念で装飾機構を区分するとすれば、装飾ランプ13とムービングライト14は枠側の演出機構に相当し、図6に示す枠装飾装置43を構成し、またムービングライト14は図6に示す枠演出装置45も構成する。
図2において、符号21は遊技盤20のガイドレールであり、既述したように、遊技盤前面の略円形領域がこのガイドレール21で囲まれることにより遊技領域22が形成されている。
遊技領域22には、図2に示すように、アウト球流入口23、センターケース24、第1始動入賞口25、普通電動役物(普電)としての第2始動入賞口26、変動入賞装置27、一般入賞口28〜31、普図始動ゲート32、変動入賞装置33(以下、変動入賞装置27と区別するため、第2変動入賞装置33という)、多数の遊技釘(図示省略)などが設けられている。また、遊技盤20の遊技領域22外には、一括表示装置35が設けられている。なお遊技釘は、遊技領域22の上部に飛入した遊技球がこれに当たりながら流下するものであり、センターケース等の取付部分を除いた遊技領域内に複数本植設されている。
なお、演出又は装飾のためのランプ類は、遊技盤20のセンターケース24以外の部分(遊技領域22外でもよい)にも設けられる。なお、遊技盤20(センターケース24含む)に設けられた演出又は装飾のためのランプ類は、盤側の演出機構に相当し、盤装飾装置42(図6に示す)また、センターケース24に設けられた電動役物は、盤側の演出機構に相当し、盤演出装置44(図6に示す)を構成する。なお、盤演出装置44を構成する電動役物は、遊技盤20のセンターケース24以外の箇所に設けられてもよい。
表示装置41は、数字や文字などの識別情報(特図という)を表示可能な表示部41a(画面)を有し、複数列の特図を表示可能である。例えば、左側と中央と右側に特図を縦3列に表示し、各列において数字や文字等よりなる特図を停止状態で表示(停止表示)したり、あるいは変動状態(例えば、縦方向にスクロールする状態)で表示(即ち、変動表示)したりすることが可能である。
また表示部には、上記特図とは別個に背景画像やキャラクタ画像などの演出用又は情報報知用の画像が表示可能である。
なお、いわゆる普図に相当する画像を表示装置41に表示可能な構成としてもよい。ただし、表示装置41に普図を表示した場合には、それは飾り普図のことである。表示装置41に普図を表示する構成にした場合、表示装置41は普通図柄可変表示装置に相当する。
ここで、特図とは大当りに関連する変動表示ゲームで変動表示される識別情報であり、普図とは普図当り(大当りではない)に関連する変動表示ゲームで変動表示される識別情報である。
普図は、実際には表示装置41に表示されておらず、一括表示装置35に表示する構成になっている。一括表示装置35に表示される普図を後述のように本普図という。
なお、第2始動入賞口26は普通電動役物(普電)ともいい、普通変動入賞装置に相当する。
また変動入賞装置27は、開閉部材27bによって開閉される大入賞口27a(後述のように第1大入賞口に相当)を有する装置(いわゆるアタッカー)である。この大入賞口27aは、後述する大当りになったことを条件として開放されて遊技球が入賞可能となる。
さらに、第2変動入賞装置33は一対の開閉部材33aを左右両側に有し、これら開閉部材33aが逆ハの字状に開くと入賞可能になり、図2に示すように、これら開閉部材33aが閉じていると入賞不可能である。この第2変動入賞装置33は、後述する大当りの中でも特別の当たり状態になったことを条件として開放されて遊技球が入賞可能となる。この場合、大当りが発生したときには変動入賞装置27あるいは第2変動入賞装置33の何れか一方が開放されるが、何れを開放するかは特図変動表示ゲームの結果態様(特別結果)により決定される。
なお、第2変動入賞装置33において開閉部材33aが逆ハの字状に開いて入賞可能となる開口部を第2大入賞口という。
ここで、本実施例では変動入賞装置27と第2変動入賞装置33の2つのアタッカーが配置される構成であるので、変動入賞装置27を第1アタッカー、第2変動入賞装置33を第2アタッカーと呼ぶことがあり、また、各アタッカーの入賞口を第1大入賞口(又は下大入賞口)、第2大入賞口(又は上大入賞口)と呼ぶことがある。後述のように、第1大入賞口は第1大入賞口ソレノイド133によって開閉され、第2大入賞口は第2大入賞口ソレノイド134によって開閉されるようになっている。
遊技球が普図始動ゲート32を通過したとき、一括表示装置35で普図の変動表示による普図の変動表示ゲーム(以下、普図変動表示ゲームという)が行われ、停止した普図が所定の態様(特定表示態様)であれば、普図当りと呼ばれる特典が付与される。
なお、表示装置41で普図を表示する構成にした場合には、表示装置41の画面で普図(飾り普図)の変動表示が行われる。ただし、表示装置41とは別に独自の普図表示器を配置してもよい。
普図当りになると、第2始動入賞口26の一対の開閉部材26aが逆ハの字に開いた開状態に、所定の開放時間だけ一時的に保持される遊技が行われ、遊技球が始動入賞し易くなり、その分、特図の変動表示ゲームの実施回数が増えて大当りになる可能性が増す。
また、上記普図の変動表示ゲーム中に、普図始動ゲート32にさらに遊技球が入賞したときには、後述の一括表示装置35の表示器によって普図始動記憶の保留表示が実行されて、例えば4個まで記憶され、普図の変動表示ゲームの終了後に、その記憶に基づいて上記普図の変動表示ゲームが繰り返される。なお、普図の確率を高確率にすれば、普図当たりしやすくなる。
なお、一括表示装置35の表示器によって表示される普図始動記憶の保留表示は、本普図始動記憶である。一括表示装置35とは別に、飾り普図始動記憶を表示するための独自の普図始動記憶表示器を遊技領域22に配置してもよい
ここで、時短について説明しておくと、以下のようなものである。
時短は「時間短縮」の略で、大当たり終了後、特図や普図の変動時間を通常よりも短縮し、時間効率を高めるとともに、普図当たり確率を高めて普通電動役物(普電)(第2始動入賞口26)の開放(普電の開放時間を通常よりも長くすることも含む)による始動口への入賞のサポートを行うことで、所定の特図の変動表示ゲームの実施回数まで持ち玉(持球数)を減らさずに効率よく特図を変動させる機能である。
なお、始動記憶の保留表示(場合により、単に始動記憶表示という)とは、変動表示ゲームが未実施の状態で保留されている始動記憶の数等を報知するための表示であり、一般的には、始動記憶毎にランプ等の点灯によって表示する。即ち、始動記憶が3個有れば、3個のランプを点灯させたり、3個の図形を表示させたりすることによって行われる。
なお、この一括表示装置35の表示器によって表示されるものが本特図や本普図(正式な特図や普図)であるのに対して、前述の変動表示装置41の表示部等で行われる特図や普図(ただし、変動表示装置41で普図を表示する構成を採用した場合)の表示は、遊技者向けの演出用のダミー表示である。このため、遊技者から見て特図や普図といえば、このダミー表示の方を指している。なお以下では、このダミー表示であることを強調する場合に、例えば「飾り特図」、「飾り普図」と表記する。
このように、この一括表示装置35は、遊技者向けのものではなく、遊技盤20の検査などで使用されるものである。例えば、遊技者向けの特図の始動記憶の表示(特図保留表示)は、例えば変動表示装置41の表示部、或いは遊技盤20に設けた複数のランプ(発光部)によって行われる。
次に図3は、本実施例のパチンコ機1の裏側全体構成を示す図である。
パチンコ機1における裏機構の主要な部品としては、貯留タンク51、誘導路52a、払出ユニット53、カードユニット接続基板54、外部情報端子板55、払出制御装置200、遊技制御装置100、演出制御装置300、及び電源装置500などがある。
なお、図3では直接に演出制御装置300は見えず、カバー部材の奥に演出制御装置300が配置されているので、説明の都合上、矢印を図3にように表記している。すなわち、図3に見えるカバー部材は演出制御装置300の基板を収納するボックスとは異なり、遊技機裏面に遊技球が入り込まないようにする機能を有するもので、扉状に開閉可能な構造である。そして、図3に示すカバー部材の左側が支点となり、左側に開き、その奥にボックスに収納された演出制御装置300が配置されている。
外部情報端子板55はパチンコ機1の各種情報(固有IDを含む)をホールの管理装置140に送る場合の中継端子基板(外部端子基板)としての機能を有するものである。
固有IDとは、後述のように、遊技用マイコン101を識別可能な個体識別情報(主基板固有ID:主基板固有識別情報)や払出用マイコン201を識別可能な個体識別情報(払出固有ID:払出基板固有識別情報)を表す概念であり、これらを遊技機の外部に出力するのは、固有IDを外部でチェックして遊技機の正当性を判定するためである。上記の管理装置140は遊技機(パチンコ機1)の外部装置に相当し、固有IDに基づいてパチンコ機1の正当性を外部で判定する機能を有する。
なお、遊技機の正当性を判定する機能を有する外部装置としては、管理装置140に限るものではなく、例えばカードユニット551(図4参照)に遊技機の正当性を判定する機能を持たせてもよい。その場合は、上述の外部情報端子板55からパチンコ機1の固有IDをカードユニット551に送る構成とする。
また、遊技機の正当性の判定は、管理装置140のみで行う形態、管理装置140とカードユニット551の双方で行う形態、あるいはカードユニット551のみで行う形態の何れであってもよい。
そこで、本実施例1では必要に応じて遊技用マイコン101を識別可能な個体識別情報を主基板固有ID,払出用マイコン201を識別可能な個体識別情報を払出固有IDと適宜、区別して説明する。
また、遊技用マイコン101を識別可能な個体識別情報に対して、これと区別する概念として、払出用マイコン201を識別可能な個体識別情報を払出個体識別情報という。後述の他の実施例についても同様である。
なお、区別しないで、通常単に固有IDというときは、主基板固有IDを指す。
また、発明概念では、固有IDを「個体識別情報」と称しているが、通常の現場レベルなど一般的な場合は、個体識別情報を固有IDとして称することも多いので、本明細書において、実施例1では、個体識別情報を固有IDとして説明したり、また、明細書及び図面上も固有IDとのバランス上、固有情報あるいは固有識別情報として記述や図示することがある。
遊技制御装置100は、遊技盤20に配設されているソレノイド等を制御するとともに、他の制御装置に制御情報(コマンド)を送って、遊技の進行を統括的に管理制御するものであり(詳細後述する)、これら制御を行うマイコンを含む回路が形成された基板が、所定のケース内に収納された構成となっている。
また、カードユニット接続基板54(図3参照、図4にも図示)は、パチンコ機1側と球を貸し出すCRユニット(カードユニット551のこと。以下同様)側との配線接続のための基板である。このカードユニット接続基板54での上記配線接続がされていないと、パチンコ機1では遊技球の発射が不可能となるように制御される。
次に、本例のパチンコ機1の制御系について、図4乃至図7を参照して説明する。なお図や以下の説明において、「SW」はスイッチを意味する。また、図面では部材の名称が長い場合に図示がしにくくなるので、適宜、短めにして表記(図示)することがある。
パチンコ機1は、制御系の主な構成要素として、遊技制御装置100、払出制御装置200、演出制御装置300、発射制御装置400及び電源装置500を備えている。
まず、パチンコ機1の遊技制御装置100の構成と、この遊技制御装置100に接続される機器について、図4によって説明する。
なお、図4で矢印に添えて示す信号のうち、「主ID」とは主基板固有ID、「外部情報」とは遊技機状態信号、「賞球信号」とは払出制御装置から賞球として払い出される球数信号、「排出コマンド」とは遊技制御装置からの排出指令コマンド、「各種信号」とは払出制御装置から出される払出異常ステータス信号、シュート球切れスイッチ信号、オーバーフロースイッチ信号、ガラス枠開放スイッチ信号、前面枠開放スイッチ信号などをそれぞれ表す。
また、「外部情報」と「賞球信号」とを合わせて「外部・賞球」とも表す。
遊技制御装置100は、遊技を統括的に制御する主制御装置(主基板)であって、遊技用マイクロコンピュータ(以下、遊技用マイコンと称する)101及び検査装置接続端子102を備えている。遊技用マイコン101の詳細については後述する。
遊技制御装置100は制御装置に相当する。
また、遊技用マイコン101は遊技用演算処理装置(演算処理装置)としての機能を有し、本発明の第1の演算処理装置に相当する。
本実施例では、遊技制御装置100は主制御手段、停電監視手段、乱数更新手段、始動入賞記憶手段、第2始動記憶手段、事前判定手段、優先制御手段、変動パターン決定手段、変動表示ゲーム実行制御手段、判定手段、停止時間設定手段、特定遊技状態発生制御手段、主基板固有識別情報出力手段を構成する。
検査装置接続端子102は、例えばフォトカプラを含んで構成され、遊技用マイコン101から得られる各種の遊技情報を検査装置に伝送するためのケーブルが接続される端子である。
ここで、第1始動口スイッチ120は前記第1始動入賞口25に入賞した遊技球を1個ずつ検出する入賞球検出用のセンサであり、第2始動口スイッチ121は前記第2始動入賞口26に入賞した遊技球を1個ずつ検出する入賞球検出用のセンサである。
下カウントスイッチ124は前記変動入賞装置27の大入賞口に入賞した遊技球を検出する同様のセンサである。上カウントスイッチ125は第2変動入賞装置33の第2大入賞口に入賞した遊技球を検出する同様のセンサである。
本実施例では、下カウントスイッチ124が2つ設けられ、変動入賞装置27の大入賞口内に流入した遊技球は何れかの下カウントスイッチ124に検出されるようになっている。このように下カウントスイッチ124を複数設けることで、大入賞口内に流入した遊技球を迅速に検出できる。
また、入賞口スイッチ123は一般入賞口28〜31に対して設けられた同様のセンサであり、一般入賞口がn個あるときには、それぞれに1個ずつ、全体としてn個設けられる。なお、一般入賞口のそれぞれに1個ずつセンサを設けるのではなく、複数の一般入賞口に対して、全体で1個のセンサを設けるようにしてもよい。ゲートスイッチ122は前記普図始動ゲート32を通過する遊技球を1個ずつ検出するセンサである。
これら遊技球を検出する上記各センサ120、121、122、123、124,125は、本例では近接スイッチであり、ハイレベルが11Vでロウレベルが7Vのような負論理の検出信号を出力するように回路構成されている。
さらに、ガラス枠開放検出スイッチ211はパチンコ機前面のガラス枠5が開放されていることを検出するセンサである。前面枠開放検出スイッチ212はガラス枠5が取り付けられた前面枠4が開放されていることを検出するセンサである。
なお、遊技制御装置100には、上記各センサ120、121、122、123、124、125,126、127からの信号を処理する近接I/Fが設けられているが、詳細は図5を用いて後述する。
電源装置500は、24Vの交流電源から上記DC32Vの直流電圧を生成するAC−DCコンバータやDC32Vの電圧からDC12V,DC5Vなどのより低いレベルの直流電圧を生成するDC−DCコンバータなどを有する通常電源部501と、遊技用マイコン101の内部のRAMに対して停電時に電源電圧を供給するバックアップ電源部502と、停電監視回路を有し遊技制御装置100に停電の発生、回復を知らせる停電監視信号やリセット信号などの制御信号を生成して出力する制御信号生成部503と、遊技用マイコン101の内部のRAMなどを初期化するRAMクリアスイッチ504などを備える。
なお本例の場合、初期化スイッチ信号は電源投入時に読み込まれ、停電監視信号は遊技用マイコン101や払出用マイコン201が実行するメインプログラムのメインループの中で繰り返し読み込まれる。リセット信号は、制御システム全体をリセットさせる。
遊技制御装置100からは外部情報端子板55を介して遊技制御装置100の固有ID、詳しくは遊技用マイコン101を識別可能な個体識別情報(主基板固有ID)及び外部情報が外部装置としての管理装置140に出力されるようになっている。
外部情報端子板55は遊技制御装置100とケーブルで接続されており、外部情報、遊技制御装置100の固有ID(主基板固有ID)を外部装置としての管理装置140に伝送する際の中継を行う。
なお、管理装置140は遊技店に設置された多数のパチンコ機からの情報(例えば、外部情報など)を収集して、営業に必要な情報の演算処理や集計表示などの処理を行う。
なお、特典状態信号は、大当り状態終了後に発生するため、“大当り状態+遊技者に有利な状態”期間中に出力される信号である。
また、遊技制御装置100からは払出制御装置200に対してパラレル通信でデータ(例えば、払出コマンド)が送信されるようになっている。一方、払出制御装置200から遊技制御装置100に対して、払出異常ステータス信号、シュート球切れスイッチ信号、オーバーフロースイッチ信号が出力される。各信号の内容は後述する。
試射試験装置131は、認定機関が遊技機の試射試験などを行うものである。普電ソレノイド132は第2始動入賞口26の開閉部材を開閉させるソレノイド、第1大入賞口ソレノイド133は変動入賞装置27の開閉部材を開閉させるソレノイド、第2大入賞口ソレノイド134は特別入賞装置33の開閉部材33aを開閉させるソレノイド、一括表示装置35は前述したように、いわゆる普図の表示や特図の表示、さらには特図や普図の始動記憶の保留表示や遊技状態の表示を行うものである。
また、遊技制御装置100からは演出制御装置300に対して、シリアル通信でデータ(例えば、演出コマンド)が送信されるようになっている。
ここで、遊技制御装置100では始動口25,26への入賞を第1始動口スイッチ120、第2始動口スイッチ121でそれぞれ検出して検出信号が入力されると、特図始動入賞数を4個の範囲で記憶して保留するともに、始動入賞の保留に基づく乱数の抽出により保留情報に関する先読みコマンドを生成して所定のタイミングで演出制御装置300へ送信する。また、始動入賞の記憶が保留されたとき、保留数に関する特図保留数コマンドを生成して、同様に演出制御装置300へ送信する。
上記構成の発明概念は、下記のように表される。
遊技制御装置は、
始動入賞口への遊技球の入賞に基づく始動入賞数を所定範囲で保留数として記憶する始動入賞記憶手段と、
前記始動入賞記憶手段によって始動入賞の記憶がされたとき、該記憶に基づく乱数の抽出により記憶情報に関する先読みコマンドを生成する先読みコマンド生成手段と、
前記始動入賞記憶手段によって始動入賞の記憶がされたとき、保留数に関する保留数コマンドを生成する保留数コマンド生成手段と、
備えていることを特徴とする遊技機。
上記構成の発明概念は、下記のように表される。
遊技球が入賞可能な始動入賞口は複数配置され、
前記始動入賞記憶手段は、
複数の各始動入賞口へのそれぞれの遊技球の入賞に基づく始動入賞数を保留数1、保留数2として区別して記憶し、
前記先読みコマンド生成手段は、
前記始動入賞記憶手段によって複数の各始動入賞口に対応するそれぞれの始動入賞の記憶がされたとき、該記憶に基づく乱数の抽出により記憶情報に関する先読みコマンドを各始動入賞口毎に区別して生成し、
前記保留数コマンド生成手段は、
前記始動入賞記憶手段によって各始動入賞の記憶がされたとき、保留数1、保留数2に関する保留数コマンドを各始動入賞口毎に区別して生成することを特徴とする遊技機。
すなわち、先に送られる変動パターンコマンドを演出制御装置300が受信した時点で、前回の図柄変動終了から今回の変動パターンコマンド受信までの時間が規定時間(例えば、1秒)以内か否かを判定し、前回の図柄変動終了から今回の変動パターンコマンド受信までの時間が規定時間以内と判定されると、後で送られる図柄コマンドの受信を取りこぼしても、図柄の変動を開始する処理が行われ、前回の図柄変動終了から今回の変動パターンコマンド受信までの時間が規定時間を超えていると判定すると、図柄の変動を開始しない処理が行われる。そのため、遊技者に極力ストレスを与えない特図演出を行うことができる
その後、停止コマンドがくると、変動停止又は停止の続行となり、さらに、次のコマンドの組が正常に演出制御装置300へ送信された(組が成立)時点で、正規のコマンド情報に基づいて正しい演出が実行される。
次に、演出制御装置300の構成と、この演出制御装置300に接続される機器について説明する。
演出制御装置300は、主制御用マイコン、該主制御用マイコンの制御下でもっぱら映像制御を行う映像制御用マイコン、表示装置41への映像表示のための画像処理を行うグラフィックプロセッサとしてのVDP、各種のメロディや効果音などの出力を制御する音源LSIなどを有しているが、細かい構成については、図6で後述する。
演出制御装置300は遊技制御装置100の遊技用マイコン101からの制御コマンド(8ビットのデータ信号)を解析し、演出内容を決定して表示装置41の出力映像の内容を制御したり、音源LSIへの再生音の指示をしてスピーカ12a、12bを駆動して効果音等を出したり、前述した装飾LED301の駆動制御などの処理を実行する。また、演出制御装置300は遊技制御装置100からエラー報知の指示を受けると、エラー報知LED302に対して信号を出力してオンさせる。
ここで、遊技制御装置100の遊技用マイコン101から演出制御装置300へ送信されるコマンドには、単独コマンド(例えば、停止コマンド)の他に、単独では演出を開始せず、組で効果を発揮するものがあるが、それは例えば特図変動開始時の「変動パターンコマンド+図柄指定コマンド」などであるが、コマンドの種類の詳細などについては後述する。
なお、遊技制御装置100から送信した確率情報コマンドを、例えば演出制御装置300が受信しても、そのコマンドだけでは直ちに表示装置41の画面が変化するわけではなく、画面を演出するための内部的なパラメータの変更をするだけである。その後、画面を変化するコマンド(変動系、客待ちデモコマンドなど)を受信すると、その時の確率状態として反映する構成である。
また、大当り中は低確率と決まっているので、確率情報コマンドを受けなくとも大当り系コマンドを受信すると、内部パラメータを強制的に低確率に書き換える場合もある。
確率情報コマンドで分かる情報としては、例えば以下のようなものがある。
・「低確率・時短あり(所謂100回転の時短中を指す)」
・「高確率・時短あり(所謂確変中)」
・「低確率・時短なし」
ここで、遊技機(パチンコ機1)における「確率の情報」とは「確変か否か」だけでなく、「時短中か否か」という情報も含んでいる。遊技機の状態としては「低確率・時短なし」、「低確率・時短あり」、「高確率・時短あり」、「高確率・時短なし」の4種類がある。本実施例では上記のうちの3種類(「高確率・時短なし」を除く)を使用しており、各状態の変化するタイミングで遊技制御装置100から送信される。
なお、コマンド通信はシリアル通信方式でもよいし、あるいはパラレル通信方式でもよい。本実施例では、コマンド通信としてシリアル通信方式を採用している。
次に、払出制御装置200の構成と、この払出制御装置200に接続される機器について説明する。
払出制御装置200は、遊技球の払出(賞球払出又は貸球払出)を制御する払出用マイクロコンピュータ(以下、払出用マイコンと称する)201、エラーナンバー表示器202、エラー解除スイッチ203、検査装置接続端子204を備えている。払出用マイコン201の詳細については後述する。
なお、払出用マイコン201は払出用演算処理装置(演算処理装置)としての機能を有し、本発明の第2の演算処理装置に相当する。
検査装置接続端子204は、例えばフォトカプラを含んで構成され、払出用マイコン201から得られる払い出しに関連する各種の情報を検査装置に伝送するためのケーブルが接続される端子である。エラーナンバー表示器202は払出制御の処理でエラーがある場合に、エラーの内容に応じて特定のナンバーを点灯させる。エラー解除スイッチ203は払出制御の処理でエラーがあって処理が停止した場合などに、操作されるとエラーを解除する信号を出すものである。
オーバーフロースイッチ213は下皿10の遊技球が過剰であることを検出するスイッチ、電波センサ214は不正などの異常な電波を検知するセンサ、払出球検出スイッチ215は払出ユニット53(図3)によって上皿7に向けて払い出される遊技球(賞球あるいは貸球)を1個ずつ検出するスイッチ、シュート球切れスイッチ216は貯留タンク51に遊技球を供給するシュートに遊技球が無いことを検出するスイッチである。
なお、電波センサ214は払い出される遊技球が払出球検出スイッチ215を通過するときに、電波によって当該センサを反応させないようにして規定数以上の遊技球を獲得する等の不正を検出するセンサである。電波センサ214はその他の不正な電波を検出するものでもよい。
払出制御装置200は、遊技制御装置100からの信号(払出制御コマンド)に従って、払出ユニット53の払出モータ222を駆動させ、賞球を払い出させるための制御を行う。また、払出制御装置200は、カードユニット接続基板54に接続されているカードユニット(CRユニット)551からのBRQ信号(貸出要求信号)等に基づいて払出モータ222を駆動させ、貸球を払い出させるための制御を行う。
また、カードユニット接続基板54には操作パネル基板552が接続されており、操作パネル基板552はパチンコ機1に設けられている球貸可LED、残高表示器、球貸スイッチ、返却スイッチ(何れも図示略)などが接続されている。操作パネル基板552は球貸可LED、残高表示器などの信号をカードユニット(CRユニット)551から受け取るとともに、球貸スイッチ、返却スイッチからの操作信号をカードユニット(CRユニット)551に送り、貸球の払い出しに必要な制御が行われる。
なお図示省略しているが、この払出制御装置200のRAMエリアにも、停電時に電源装置500からバックアップ電源が供給される構成となっている。
なお、カードユニット551にて払出固有IDの正当性を判定する場合には、外部情報端子板55を介して払出固有IDをカードユニット551に出力する構成とする。
外部情報端子板55は払出制御装置200とケーブルで接続されており、賞球信号、払出制御装置200の固有ID(払出固有ID)を外部装置としての管理装置140に伝送する際の中継を行う。
ここで、払出制御装置200は従制御手段、払出基板固有識別情報出力手段を構成する。
遊技制御装置100は、遊技を統括的に制御する主制御装置であって、主基板(つまり主基板に形成された回路)に相当し、具体的には図5に示す回路よりなる。この遊技制御装置100は、図5に示すように、遊技用マイクロコンピュータ(つまり、遊技用マイコン)101を有するCPU部150、入力ポートなどを有する入力部151、出力ポートなどを有する出力部152、CPU部150と入力部151と出力部152との間を接続するデータバス153などからなる。
遊技用マイコン101は、CPU(中央処理ユニット:マイクロプロセッサ)101A、読出し専用のROM(リードオンリメモリ)101B及び随時読出し書込み可能なRAM(ランダムアクセスメモリ)101Cを備える。
また、図示しないが、遊技用マイコン101は、特図変動表示ゲームの大当り判定用乱数や大当りの図柄を決定するための大当り図柄用乱数、普図変動表示ゲームの当り判定用乱数等をハード的に生成するための乱数生成回路と、発振回路113からの発振信号(原クロック信号)に基づいてCPU101Aに対する所定周期(例えば、4ミリ秒)のタイマ割込み信号や乱数生成回路の更新タイミングを与えるクロックを生成するクロックジェネレータと、を備えている。
電源装置500は、24Vの交流電源から上記DC32Vの直流電圧を生成するAC−DCコンバータやDC32Vの電圧からDC12V,DC5Vなどのより低いレベルの直流電圧を生成するDC−DCコンバータなどを有する通常電源部501と、遊技用マイコン101の内部のRAMに対して停電時に電源電圧を供給するバックアップ電源部502と、停電監視回路や初期化スイッチを有し遊技制御装置100に停電の発生、回復を知らせる停電監視信号や初期化スイッチ信号、リセット信号などの制御信号を生成して出力する制御信号生成部503などを備える。
入力部151には、上記の各スイッチ120〜124、127から入力される検出信号を0V−5Vの正論理の信号に変換するインタフェースチップ(近接I/F)163が設けられている。近接I/F163は、入力の範囲が7V−11Vとされることで、近接スイッチ(上記各スイッチ120〜124、127)のリード線が不正にショートされたり、スイッチがコネクタから外されたり、リード線が切断されてフローティングになったような異常状態を検出でき、このような異常状態を検出すると異常検知信号を出力する構成とされている。また近接I/F163には、前記のような信号レベル変換機能を可能にするため、電源装置500から通常のICの動作に必要な例えば5Vのような電圧の他に、12Vの電圧が供給されている。
また、近接I/F163の出力のうち電波センサ127の検出信号は、第3入力ポート162へ供給され、データバス153を介して遊技用マイコン101に読み込まれるようになっている。
近接I/F163の出力のうち第1始動口スイッチ120と第2始動口スイッチ121の検出信号は、第2入力ポート161の他、反転回路112を介して遊技用マイコン101へ入力されるように構成されている。反転回路112を設けているのは、遊技用マイコン101の信号入力端子が、マイクロスイッチなどからの信号が入力されることを想定し、かつ負論理、即ち、ロウレベル(0V)を有効レベルとして検知するように設計されているためである。なお、遊技用マイコン101の信号入力端子が正論理を有効レベルとして検知できる場合は、反転回路112は不要となる。
さらに、近接I/F163の出力のうちの下カウントスイッチ124からの信号は異常検知信号1として第3入力ポート162へ供給され、データバス153を介して遊技用マイコン101に読み込まれるようになっている。
ここで、前述した近接I/F163と近接I/F165の2つを設けているのは、近接I/F163の入力端子数が限られているためである。近接I/F165は不足する入力端子数に応じて近接I/F163よりも小型のものを用いることで、コストを削減するようにしている。なお、近接I/F163として必要な入力端子数を備えるものを用い、近接I/F165を設けないようにしてもよい。
近接I/F165は上カウントスイッチ125から入力される検出信号を0V−5Vの正論理の信号に変換するインタフェースチップであり、近接I/F163と同様に、入力の範囲が7V−11Vとされることで、近接スイッチ(上記上カウントスイッチ125)のリード線が不正にショートされたり、スイッチがコネクタから外されたり、リード線が切断されてフローティングになったような異常状態を検出でき、このような異常状態を検出すると異常検知信号を出力する構成とされている。また近接I/F165には、前記のような信号レベル変換機能を可能にするため、電源装置500から通常のICの動作に必要な例えば5Vのような電圧の他に、12Vの電圧が供給されている。
また、近接I/F165の出力のうち上カウントスイッチ125からの信号は異常検知信号2として3入力ポート162へ供給され、データバス153を介して遊技用マイコン101に読み込まれるようになっている。
さらに、上カウントスイッチ125の出力は近接I/F165を介して第2入力ポート161へ供給され、データバス153を介して遊技用マイコン101に読み込まれるとともに、主基板としての遊技制御装置100から中継基板170を介して試射試験装置131へ供給されるようになっている。
なお、磁気センサ126について説明すると、図5では磁気センサスイッチ126が1個のように示されているが、これは遊技制御装置100への入力が1本になっているだけで、実際には複数の磁気センサ(本例では4個)が搭載され、中継基板(センサと主基板の間に存在。図示省略)上でワイヤードオア接続されている。
ここで、第3入力ポート162が保持しているデータは、遊技用マイコン101が第3入力ポート162に割り当てられているアドレスをデコードすることによりイネーブル信号CE3をアサート(有効レベルに変化)することよって、読み出すことができる(他のポートも同様)。第1入力ポート160のイネーブル信号はCE1であり、第2入力ポート161のイネーブル信号はCE2である。
また、リセット信号RSTを中継基板170を介して試射試験装置へ出力可能に構成するようにしてもよい。なお、リセット信号RSTは入力部151の各入力ポート160乃至162には供給されない。リセット信号RSTが入る直前に遊技用マイコン101によって出力部152の各ポートに設定されたデータはシステムの誤動作を防止するためリセットする必要があるが、リセット信号RSTが入る直前に入力部151の各ポートから遊技用マイコン101が読み込んだデータは、遊技用マイコン101のリセットによって廃棄されるためである。
第1ポート171は、払出制御装置200へ出力する4ビットのデータ信号(例えば、賞球払出しのコマンドやデータ)と、このデータ信号の有効/無効を示す制御信号(データストローブ信号)とを生成する。
バッファ173は、演出制御装置300の側から遊技制御装置100へ信号を入力できないようにするため、即ち、片方向通信を担保するために、遊技制御装置100からのデータ信号を演出制御装置300へ出力することのみを許容する単方向のバッファである。なお、第1ポート171から払出制御装置200へ出力する信号に対しても同様のバッファを設けるようにしてもよい。
第4ポート176は、一括表示装置35に表示する内容に応じてLEDのアノード端子が接続されているセグメント線のオン/オフデータを出力するための出力ポートである。
第5ポート177は、一括表示装置35のLEDのカソード端子が接続されているデジット線のオン/オフデータを出力するための出力ポートである。
第6ポート180は、大当り情報などパチンコ機1に関する情報を外部情報信号(図4に示す外部情報)として外部情報端子板55へ出力するための出力ポートである。なお、外部情報端子板55から出力された情報は、例えば遊技店に設置された情報収集端末や管理装置140に供給される。また、外部情報端子板55にはフォトリレー55aが搭載されており、このフォトリレー55aを介して外部情報、遊技制御装置100の固有ID(主基板固有ID)、払出制御装置200の固有ID(払出固有ID)が外部装置としての管理装置140に伝送される。なお、フォトカプラでは極性があるので、接続に注意する必要があるが、上記のようにフォトリレー55aを用いれば極性が不要となり、便利であるという利点がある。
なお、カードユニット551にて払出固有IDの正当性を判定する場合には、外部情報端子板55を介して払出固有IDをカードユニット551に出力する構成とする。
また、前記セグメント線を駆動する第2ドライバ178bには、DC12Vが供給される。また前記デジット線を駆動する第3ドライバ178cは、表示データに応じたデジット線を電流で引き抜くためのものであるため、電源電圧は12V又は5Vのいずれであってもよい。なお一括表示装置35は、12Vを出力する第2ドライバ178bにより前記セグメント線を介して所定のLEDのアノード端子に電流が流し込まれ、接地電位を出力する第3ドライバ178cにより所定のLEDのカソード端子からセグメント線を介して電流が引き抜かれることで、ダイナミック駆動方式で順次選択されたLEDに電源電圧が流れて所定のLEDが点灯する。また第4ドライバ178dは、外部情報信号に12Vのレベルを与えるため、DC12Vが供給される。
本実施例では、演出制御装置300は従制御手段、シナリオデータ設定手段、画面作成手段、演出制御手段、演出ボタン制御手段、演出内容制御手段を構成する。
演出制御装置300は、遊技用マイコン101と同様にアミューズメントチップ(IC)からなる主制御用マイコン(1stCPU)311と、該1stCPU311からのコマンドやデータに従って表示装置41への映像表示のための画像処理を行うグラフィックプロセッサとしてのVDP(Video Display Processor)312と、各種のメロディや効果音などをスピーカ12a,12bから再生させるため音の出力を制御する音源LSI313とを備えている。
ここで、主制御用マイコン(1stCPU)311の他に、該1stCPU311の制御下でもっぱら映像制御を行う映像制御用マイコン(2ndCPU)を配置し、2つのCPUを備え、VDPは該2ndCPUからのコマンドやデータに従って表示装置41への映像表示のための画像処理を行うという構成も考えられるが、本実施例では、高性能化した1stCPU311のみを備え、配置スペースやコストの点で有利にしている。
なお、主制御用マイコン(1stCPU)と、該1stCPUの制御下でもっぱら映像制御を行う映像制御用マイコン(2ndCPU)の2つを配置する構成を採用してもよい。
RTC325は時刻を刻むクロック素子であり、設定により実時刻に合わせることが可能であり、そのクロック信号は主制御用マイコン311に送られる、主制御用マイコン311はRTC325からの信号を用いて、例えば遊技店のイベント告知や特殊演出など時刻に関した演出制御が可能になっている。
一方、VDP312にはキャラクタ画像や映像データが記憶された画像ROM322が接続され、音源LSI313には音声データが記憶された音声ROM323が接続されている。なお、画像ROM322には映像データとして複数の動画(ムービー)が格納されている。
ここで、キャラクタデータは画像ROM322に格納されているが、キャラクタの動きの情報を表すモーションデータやモーションデータの繋がりを定義しているシナリオデータはPROM321に格納されている。
主制御用マイコン311は、遊技制御装置100の遊技用マイコン101からの制御コマンド(前記バッファ173から出力されるデータ信号)を解析し、演出内容を決定して表示装置41の出力映像の内容を指示したり、音源LSI313への再生音の指示、前述した装飾装置42、43や演出装置44、45の駆動制御などの処理を実行する。
ここで、本実施例では表示装置41、盤装飾装置42、枠装飾装置43、盤演出装置44、枠演出装置45、スピーカ12a,12b等は演出手段を構成する。
なお、演出制御装置300の制御で実際に実施される特図の変動表示等の態様は、遊技制御装置100からのコマンドによって一義的に決定されてもよいが、上記コマンドで与えられた条件の範囲で、演出制御装置300の主制御用マイコン311が乱数抽出などによって態様を最終的に選択する構成(演出制御装置300にも態様を選択する、ある程度の裁量が与えられた構成)となっている。
そのため、本実施例ではrand関数を用いてメイン処理の制御周期毎に最低1回は擬似乱数の更新を行い、所定の条件が成立する度に、乱数シ−ド値が更新され、乱数シ−ド値によって指定される発生系列に基づいて乱数が生成される構成になっている。
また、特に限定されるわけではないが、主制御用マイコン311と音源LSI313との間は、シリアル方式でデータの送受信が行なわれ、主制御用マイコン311とVDP312との間は、パラレル方式でデータの送受信が行なわれるように構成されている。一般には、パラレル方式でデータを送受信することで、シリアルの場合よりも短時間にコマンドやデータを送信することができる。
VDP312には、画像ROM322から読み出されたキャラクタなどの画像データを展開したり加工したりするのに使用される超高速なVRAM(ビデオRAM)312aや、画像を拡大、縮小処理するためのスケーラ312b、LVDS(小振幅信号伝送)方式で表示装置41へ送信する映像信号を生成する信号変換回路312cなどが設けられている。
なお、遊技制御装置100の遊技用マイコン101から送信されてくるコマンドは、必要に応じて主制御用マイコン311に内蔵されて作業領域を提供するRAM311aに記憶される。
この場合、上記コマンドはRAM311aのコマンド記憶領域のようなエリアに記憶される。詳しくは、遊技制御装置100から演出制御装置300へ送られるコマンドのうち、例えば組となる変動パターンコマンド及び図柄コマンドが順次送信される場合、これらのコマンドはRAM311aの記憶エリアのうち、コマンド記憶領域に順次記憶保持され、組が成立した時点でコマンド記憶領域から読みだされて主制御用マイコン311が演出処理を実行するようになっている。なお、コマンド記憶領域は、第1コマンド記憶領域及び第2コマンド記憶領域に分けた構成でもよい。
今回の実施例1では、停止図柄コマンド→変動パターンコマンドの順で送られてくる構成である。
なお、変動パターンコマンド→図柄停止コマンドの順で送る構成を採用した場合には、例えば先に送られる変動パターンコマンドを受信した時点で、演出制御装置300では主制御用マイコン311のRAM311aの演出に関する記憶領域をデフォルト値(例えば、はずれ図柄での図柄停止状態)に設定する動作を行うようにしてもよい。その場合、上記の「演出に関する記憶領域」はデフォルト値を設定するエリアであり、コマンド記憶領域とは別にする。
受信バッファは受信コマンドを順番に格納していくもので、リングバッファ形式のものが使用されている。
ここで、リングバッファとは、一定のメモリ領域をリング状のメモリ領域に見えるように制御される一時的にデータを蓄えるための領域のことであり、このようなリングバッファを使用することで、送信処理と受信処理を別々に行うことが可能となり、また、データの取りこぼし防止と、コマンド受信処理の渋滞回避などのためにも有効である。
一方、解析データ格納領域は受信バッファに格納されているコマンドのうち、所定数のコマンドが複写により格納されるもので、先入れ先出し処理を行うFIFO(First-in-First-out)形式のものが使用されている。
ここで、FIFOとは、データの格納と取り出しに関する方式のひとつで、最初に格納したデータから先に取り出していく方式(つまり、先入れ先出し)のことである。
FIFOを用いれば、高速な通信処理が可能な他、通信とデータの読み出しが非同期に行える利点がある。
上記受信コマンドバッファは、受信バッファ手段に相当し、解析データ格納領域は解析データ格納手段に相当する。
遊技制御装置100の遊技用マイコン101はDC5Vで動作し、演出制御装置300の主制御用マイコン311はDC3.3Vで動作するため、コマンドI/F331には信号のレベル変換の機能が設けられている。
無線モジュール360は主制御用マイコン311に接続され、主制御用マイコン311からの指令に従って自身の遊技機(パチンコ機1)と他の遊技機370との間で無線通信(後述のサブ間通信)を行い、その通信によって互いの遊技機の状態を情報交換したり、画像やキャラクタの伝送や交換などの制御を行い、各遊技機の表示装置に相互に関連性のある画像やキャラクタを同調あるいは同期させながら表示させる。CPU360aは無線通信の制御や画像、キャラクタの伝送などの処理を行い、ROM360bはCPU360aの実行するプログラムを格納しており、RAM360cはワークエリアとして用いられる。
無線モジュール360は通信手段に相当する。
遊技機番号は、例えば無線モジュールに設定されている固有IDを基に定義するようにしてもよいが、この場合は無線モジュールの固有IDの値がほぼランダムであることから遊技機の並びを特定するのが困難であり、島の左端の遊技機から順に群予告が流れていくといったような演出を行いたい場合は、各遊技機のロケーション情報を管理するためのマスターとなる遊技機や管理装置を設ける必要が出てしまい、手間がかかる。
そこで、本実施例では単純に島の遊技機を順番に特定可能な設定スイッチ371による手動設定によって、演出台を特定して演出を行えるようにしたので、誰でも簡単に操作できる上、前記演出も楽に制御できるようになっている。
また、設定スイッチ371の用途として、ロケーション情報設定用ではなく、無線モジュール360の制御内容を複数段階にモード設定し、遊技店の営業形態等に合わせて切り替えて選択するためのものとしてもよい。
VDP312は、CPUI/F601、データ転送回路602、CGバスI/F603、圧縮データ伸長回路604、描画回路605、第1VRAM606、第2VRAM607及び表示回路608を備えており、データ転送のためにバス609〜611を介して必要な回路同士が接続されている。
VDP312は、CPUI/F601を介して演出制御装置300の主制御用マイコン311に接続されるとともに、CGバスI/F603を介して画像ROM322に接続される。そして、VDP312では、基本的に演出制御装置300の主制御用マイコン311からの指示で、表示装置41に表示する1フレーム毎の画像データを作成し、表示回路608を介して表示装置41に出力する。なお、第1VRAM606は主にフレームバッファ用のRAMとして、具体的には例えばフレームバッファ、Zバッファ用(3次元の場合、Z軸方向の量)のRAMとして用いられる。一方、第2VRAM607は主に素材用のデータを格納する描画素材用のRAMとして用いられる。
描画回路605は、主に第2VRAM607に格納されている描画用素材を加工して(例えば、各種エフェクト、拡大、縮小などの加工)、また、表示する位置や順序(例えば、画面の奥から手前への表示順序など)を制御し、1フレームの画像データを作成して第1VRAM606に格納する。
そして、表示回路608は、第1VRAM606に格納された1フレームの画像データをインターレスモードやノンインターレスモードの設定タイミングで、LVDS仕様の信号レベルにしてRGBデータを表示装置41へ出力する。なお、スケーラ608aにより画像データの表示領域を拡大して(例えばVGA→XGAにして)表示することも可能である。例えば、VGAであれば、画像サイズは640×480となり、XGAであれば画像サイズは1024×768の大きさとなる。
データ転送回路602は、主制御用マイコン311と第1VRAM606との間、主制御用マイコン311から描画回路605への間、CGバスI/F603と第1VRAM606との間等のデータ転送機能を有する。
次に、本例のパチンコ機1で行われる遊技の概要や遊技の流れについて説明する。
まず、遊技開始当初の時点(或いは遊技開始前の時点)では、客待ち状態(デモ中)となっており、客待ち画面の表示を指令するコマンドが遊技制御装置100のバッファ(例えば、同様の機能の図5ではバッファ173に相当)から演出制御装置300に送信され、表示装置の表示部41aには客待ち画面(動画又は静止画)が表示される。
また、通常モードにおいて、変動表示ゲームの停止結果態様が特別結果態様のうちの特定の態様(例えば、「7、7、7」のゾロ目)であれば、上記大当りになるとともに、大当り遊技後(後述する特賞期間後)に、ゲーム状態が通常モードから確変モードへ移行する。この確変モードでは、特図が大当りになる確率(以下、特図の大当り確率という)を高める制御が行われる。また場合によっては、いわゆる時短(特図等の変動表示時間を短くして変動表示ゲームの頻度を高め当り易くするもの)も行われる。
また上記大当りのラウンド数としては、例えば、通常は15ラウンド大当りが主の大当りであるが、プレミアとして16R大当りを発生させる構成でもよいし、その他の構成でもよい。また、いわゆる突確(出玉の少ない大当りを経由して大当り確率が変化する突然確変)として2ラウンド大当り等があってもよい。
さらに、表示装置41による変動表示ゲームの停止結果態様が特殊な態様(例えば、「3、特殊図柄、3」などの特殊目)になると、特殊大当りと呼ばれる特典が発生し、第2変動入賞装置33の開閉部材33aが規定時間(例えば、30秒)を越えない範囲内において、例えば5個入賞までの期間だけ一時的に開放される開放動作(大当たりラウンド)が行われる。そしてこの開放動作は、規定のラウンド数だけ繰り返し行われる。
即ち、変動表示ゲームが大当りで終了すれば大当り状態に移行し、変動表示ゲームがはずれで終了し始動記憶があれば再度変動表示ゲームが実行され、変動表示ゲームがはずれで終了し始動記憶がなければ客待ち状態に戻り、大当りが終了して始動記憶があれば再度変動表示ゲームが実行され、大当りが終了して始動記憶がなければ客待ち状態に戻る流れとなっている。
また、遊技球が第2始動入賞口26に入ることによる特図始動入賞(第2始動入賞)があると、表示装置41にて特図2の変動表示による第2変動表示ゲームが行われる。そして、何れかの特図変動表示ゲーム中などに遊技球が第2始動入賞口26に入賞すると、第2始動記憶(特図2保留表示に対応する始動記憶)が1個記憶され、これに対して、上記特図変動表示ゲーム終了後などに、表示装置41にて特図2の変動表示による第2変動表示ゲームが行われる構成となっている。
なお、第1始動記憶と第2始動記憶の両方があるときには、予め設定されたルールに従って第1変動表示ゲームと第2変動表示ゲームのうちの何れかが先に実行される。例えば、第2始動入賞口26に対応する第2変動表示ゲームが優先的に行われる態様(即ち、第2始動記憶が優先的に消化される態様)、或いは2種類の変動表示ゲームが入賞順に行われる態様などが有り得る。
この普図当りになると、第2始動入賞口26の一対の開閉部材26aが逆ハの字に開いた開状態に、所定の開放時間だけ一時的に保持される遊技が行われる。これにより、遊技球が始動入賞し易くなり、その分、特図の変動表示ゲームの実施回数が増えて大当りになる可能性が増す。
また、上記普図の変動表示ゲーム中に、普図始動ゲート32にさらに遊技球が入賞したときには、一括表示装置35によって普図始動記憶の保留表示が実行されて、例えば4個まで記憶され、普図の変動表示ゲームの終了後に、その記憶に基づいて上記普図の変動表示ゲームが繰り返される。
また、固有IDは外部からの要求に応答して外部(ここでは図4の検査装置接続端子102)へと転送される。そして、例えば検査装置接続端子102に検査装置を接続することにより、遊技用マイコン101に格納されている固有IDが検査機関にて読み出されることになる。
一方、払出制御装置200の払出用マイコン201を識別可能な払出固有ID(払出個体識別情報)は、払出制御装置200にて払出プログラムの動作によりシリアル通信形式(又はパラレル通信形式でもよい)にされて、外部情報端子板55で中継されて外部の管理装置140(又はカードユニット551を含めてもよい)に伝送される。これにより、払出用マイコン201に格納されている払出固有IDを遊技店側に送ることが可能になる。
なお、本実施例では、主基板と払出基板の各固有IDが別々に外部情報端子板55で中継されて外部の管理装置140へ伝送される構成にしているが、これに限るものではない。例えば、遊技制御装置100(主基板)から主固有IDを払出制御装置200(払出基板)へ送り、払出制御装置200では主固有IDと払出固有IDとをまとめて外部情報端子板55で中継して外部の管理装置140へ伝送する構成であってもよい。また、例えば払出制御装置200(払出基板)から払出固有IDを遊技制御装置100(主基板)へ送り、遊技制御装置100では払出固有IDと主固有IDをまとめて外部情報端子板55で中継して外部の管理装置140へ伝送する構成であってもよい。
このようにすると、遊技機の回路構成に対応させて、主基板と払出基板の各固有IDの外部への取り出しの自由度が増す。
この場合、遊技制御装置100から演出制御装置300へ送信されるコマンドのうち、単独では演出を開始せず、組で効果を発揮するものがあり、例えば特図変動開始時の「変動パターンコマンド+図柄指定コマンド」がある。また、単独で効果を発揮するコマンド(例えば、客待ちコマンド)もあり、遊技制御装置100から演出のために多くのコマンドが順次、演出制御装置300に送信される。
また、サブ間通信の同一グループ内の遊技機(予告実行遊技機)から指示されたサブ間連動予告系コマンドに基づく演出を実行した遊技機にあっては、予告態様Aの次回の実行回数を+1だけ更新し、次回のサブ間連動予告系コマンドに備える。
すなわち、過去に実行したサブ間予告の演出の実行回数に応じて、サブ間予告の演出の実行回数を適度に制限することができる。
したがって、予告演出等の信頼度を損ねないようにすることができ、遊技の興趣を下げる虞もなくすことができる。
具体的には、表示装置41における図柄の変動演出では、例えば変動出だしの動き、スローダウンして仮停止するまでの動き(送りコマ数やスベリなど)、予告演出の種類など、変動毎に行われる演出振り分けによって多様な組合せとなるため、全ての組合せに対して1つ1つの画面毎にシナリオデータを作成すると膨大なデータ量となってしまう。
そこで本実施例では、演出制御装置300において変動演出における描画制御では、背景、左図柄、右図柄、・・・と個別に各表示要素毎にカテゴリ分けを行い、各々を独立して複数のモーション情報を同時にあるいは連続的に切り替えて演出表示させるための動作シナリオのテーブルとして設定して、例えば(PROM(制御ROM)321に予め格納しておく。次いで、遊技制御装置100からの演出コマンドに応じて演出制御装置300ではシナリオテーブルを選択し、組み合わせて合成することで、1画面の描画内容(1フレーム毎)を作り出すことが行われる。そうすることで、最小限の動作パターンを定義する(動作のパーツ化)だけで済み、データ容量の節約と開発の効率化ができる。
すなわち、演出ボタン9の演出を含むシナリオテ−ブル内にはボタン有効期間中を表す有効期間タイマ(1フレームが経過する毎に更新(つまり、(−1)更新)されていく更新処理がタイマに相当)を設け、演出ボタン9が押されたタイミングにより、有効期間タイマの更新状況に基づいて以降に行われるシナリオの演出時間が可変となるようにしている。
そのため、表示装置41における演出画面のフレームが進む度に有効期間タイマの値がマイナスされ、有効期間タイマが「0」になると、演出ボタン9の操作が無効となり、演出ボタン9が押された時の演出は行われない。一方、有効期間タイマが「0」になる前に演出ボタン9が押された場合には、押された時の演出が開始される。
このように、演出ボタン9を押したタイミングにより、登場するキャラクタの表示時間が可変となるため、遊技の興趣が高められる。
すなわち、早く演出ボタン9を押すと残り時間(つまり残りフレームに相当する時間:αフレーム)に応じて長い予告演出(残り時間+固定時間)が見られ、予告演出の終了ギリギリで演出ボタン9を押すと、最低限である固定時間(例えば、55フレーム)分の予告演出が行われることになる。
したがって、演出ボタン9を早いタイミングで押す程、長い予告演出が見られることになり、早く演出ボタン9を押すメリットが生じ、遊技の興趣が高まる。
例えば、演出画面の背景を継続表示するか新規背景で演出を行うか否かを判定コードに基づいて判定し、新規背景にすると判定した場合には、現在のRAM311aのデータをシナリオテ−ブル上の新規背景に対応するデータで上書きする。これにより、背景が切換えられて、新規背景で演出が行われる。一方、背景継続と判定した場合には、シナリオテ−ブルから取得した指示データは破棄して現在の背景のままで演出が進行する。
このようにすることで、前回の演出における背景の状態が次回の演出にも継続できることになり、例えば異なる特図変動の演出間においても統一感を有する表示要素を持たせることが可能になって、遊技の興趣が向上する。
例えば、予告キャラクタを複数の異なる特図変動の演出間にまたがって表示装置41の画面上に残す等の多彩な演出を行うことができる。
また、演出内容を継続する場合としない場合とでシナリオテ−ブルを使い分ける必要がなく、開発効率が向上する。すなわち、1つのシナリオテ−ブルで遊技の状況に合わせた演出が行える。
次に、遊技制御装置100の制御内容について図8〜図96により説明する。
最初に、以下のフローチャートの説明に使用する主要な構成の概念を明確にしておくと、下記の通りである。
前述したように、一括表示装置35で本特図や本普図を表示している。以下の制御処理の説明における特図は、この特図(本特図)を意味するので、以上を前提に細かく説明する。なお、遊技制御装置100からのコマンドに基づいて演出制御装置300が制御する特図は表示装置41の方に表示される演出用の特図である。
(イ)特図の表示装置
以下のフローチャートで特図という場合には、一括表示装置35で表示される「本特図」の方を指している。また、表示装置41で表示される遊技者向けの演出用のダミー表示の方を指す場合は「飾り特図」という。
このように特図を表示する装置は一括表示装置35であるが、一括表示装置35における本特図を表示する領域の名称としては、例えば特別図柄表示装置、特図表示装置というものがあり、普図表示装置との区別を図るため、特別図柄表示装置ということがある。
(ロ)普図の表示装置
以下のフローチャートで普図という場合には、一括表示装置35で表示される「本普図」の方を指している。また、表示装置41で普図を表示する構成を採用した場合には、表示装置41で表示される遊技者向けの演出用のダミー表示の方を指す場合は、例えば「飾り普図」という。
このように普図を表示する装置は一括表示装置35であるが、一括表示装置35における本普図を表示する領域の名称としては、例えば普通図柄表示装置、普図表示装置というものがあり、特図表示装置との区別を図るため、普通図柄表示装置ということがある。
ただし、本実施例では、このような普図の表示を表示装置41では表示していない構成になっている。なお、普図(ここでは飾り普図)表示を行う表示器を設けてもよい。遊技機の説明をする上で、必要な場合には「飾り普図」を表示する装置を含めて説明することもある。
(ハ)普電
普電に相当する装置は、普通電動役物(普電)としての第2始動入賞口26である。
ただし、普電を普通変動入賞装置ということがあり、例えばフローチャートの説明では、特に普通電動役物(普通変動入賞装置26)ということがある。
また、例えば高確率時や時短時などに、普通電動役物(普電)としての第2始動入賞口26の開閉部材26aが開放する動作によって始動入賞をサポートすることが行われるが、これを単に普電サポートということがある。
(ニ)特図記憶
以下のフローチャートで特図保留(単に「保留」という場合もある)、特図記憶、あるいは特図の始動記憶という場合には、一括表示装置35で表示される「本特図記憶」の方を指している。また、表示装置41で表示される遊技者向けの演出用のダミー表示の方を指す場合は「飾り特図保留」、あるいは「飾り特図記憶」という。
特図の始動入賞口として機能する入賞口は、始動入賞口25,26である。
(ホ)普図記憶
以下のフローチャートで普図保留、普図記憶、あるいは普図の始動記憶という場合には、一括表示装置35で表示される「本普図記憶」の方を指している。また、表示装置41で表示される遊技者向けの演出用のダミー表示の方を指す場合は「飾り普図保留」、あるいは「飾り普図記憶」という。
ただし、本実施例では、このような普図の始動記憶表示を表示装置41では表示していない構成になっている。なお、普図の始動記憶(ここでは飾り普図記憶)表示を行う表示器を設けてもよい。遊技機の説明をする上で、必要な場合には「飾り普図記憶」を表示する装置を含めて説明することもある。
(ヘ)変動入賞装置
変動入賞装置27は、開閉部材27bによって開閉される大入賞口27aを有する装置(いわゆるアタッカー)である。この変動入賞装置27は、普通変動入賞装置と区別するために特別変動入賞装置ということもある。
なお、本実施例では変動入賞装置27の他に、第2変動入賞装置33が設けられており、いわゆる2つのアタッカーが配置された構成になっている。
まず、図8、9により、遊技制御装置100(遊技用マイコン101)のメイン処理を説明する。
このメイン処理は、遊技用マイコン101に強制的にリセットがかけられたことに基づいて開始する。すなわち、電源装置500の図示省略した電源スイッチがオン操作されると、所定のタイミングに(電源投入時の所定のリセット期間に)電源装置500の制御信号生成部503からリセット信号が遊技制御装置100に入力されて遊技用マイコン101のリセット端子がオンし、その後このリセット信号が解除されると、遊技用マイコン101が起動する。なお、停電からの電源復旧時にも、同様にリセット信号がオンした後に解除されて遊技用マイコン101が起動する。また、作業者が遊技制御装置100のユーザワークRAM等の初期化をしようとする場合には、電源装置500のRAMクリアスイッチ504(初期化スイッチ)をオン操作しながら前記電源スイッチをオン操作する必要がある。
次いで、入力ポート1(第1入力ポート160)の状態を読み込み(ステップS4)、割込み処理のモードを設定する割込みモード設定処理(ステップS5)を行う。
次いで、ステップS6で電源ディレイタイマを設定する処理を行う。この処理では、所定の初期値を設定することにより、主制御手段をなす遊技制御装置100からの指示に従い種々の制御を行う従制御手段(例えば、払出制御装置200や演出制御装置300)のプログラムが正常に起動するのを待つための待機時間(例えば、3秒)が設定される。これは、遊技制御装置100が電源投入時において、主制御手段(遊技制御装置100)の起動を遅らせて従制御装置(払出制御装置200、演出制御装置300等)の起動を待つための所定の待機時間を設定する待機手段をなす。これにより、電源投入の際に仮に遊技制御装置100が先に立ち上がって従制御装置(例えば、払出制御装置200や演出制御装置300)が立ち上がる前にコマンドを従制御装置へ送ってしまい、従制御装置がコマンドを取りこぼすのを回避することができる。
なお、第1入力ポート160にはRAMクリアスイッチ504からの初期化スイッチ信号が入力されるようになっており、待機時間の開始前に第1入力ポート160の状態を読み込むことで、初期化スイッチ(RAMクリアスイッチ504。以下、同様)の操作を確実に検出できる。すなわち、待機時間の経過後に初期化スイッチの状態を読み込むするようにすると、待機時間の経過を待ってから初期化スイッチを操作したり、電源投入から待機時間の経過まで初期化スイッチを操作し続けたりする必要がある。しかし、待機時間の開始前に状態を読み込むことで、このような煩わしい操作を行わなくても電源投入後すぐに操作を行うことで検出されるようになり、電源投入時に行った初期化の操作が受け付けられないような事態を防止できる。
停電監視信号がオンである場合(ステップS8;YES)は、ステップS7で設定したチェック回数分停電監視信号のオン状態が継続しているかを判定する(ステップS9)。そして、チェック回数分停電監視信号のオン状態が継続していない場合(ステップS9;NO)には、停電監視信号がオンであるかの判定(ステップS8)に戻る。また、チェック回数分停電監視信号のオン状態が継続している場合(ステップS9;YES)、すなわち、停電が発生していると判定した場合は、遊技機(パチンコ機1)の電源が遮断されるのを待つ。このように、所定期間に亘り停電監視信号を受信し続けた場合に停電が発生したと判定することで、ノイズなどにより停電を誤検知することを防止でき、電源投入時における不具合に適切に対処することができる。
ここで、本実施例においてRWMとは、RAM101Cを指すが、RAMに限らず、RWMとして例えばEEPROM等の読出し書込み可能な記憶素子を含めて使用してもよい。
なお、リセット信号によって各出力ポートはオフ設定(リセット)されているので、ソフト的に各出力ポートにオフ信号を出力する必要は必ずしもないが、ここでは念のためにステップS13が設けられている。
ここで、シリアルポートを使用する状態に設定するのは、固有IDを外部(例えば、管理装置140)へ出力するときに、このシリアルポートを使用するから、ここでは使用する状態にしておくものである。また、演出制御装置300との間でシリアル通信を行う必要があるので、シリアルポートを使用する状態に設定することになる。
次いで、先に読み込んだ第1入力ポート160の状態から電源装置500内の初期化スイッチ(RAMクリアスイッチ504)がオンにされたかを判定する(ステップS15)。これは、初期化スイッチ信号の状態によって前記初期化スイッチがオンしているか否か判断するもので、初期化スイッチがオンしていれば、ステップS25に進み、オンしていなければステップS16に進む。
なお、ステップS25に進むのは、前記初期化スイッチがオン操作されて遊技用マイコン101が起動した場合、後述するステップS16、ステップS17のそれぞれでRWMの停電検査領域1、停電検査領域2が全て正常ではないと判定された場合、或いは後述するステップS19でチェックサムが正常でないと判定された場合である。このため、ステップS25に進むと、遊技用マイコン101のRWM内のデータ(アクセス禁止領域を除く)を初期化するなどの処理を行う。
このように、RWMの停電検査領域1、2の値が全て正常であれば、停電復帰時であると判断してステップS18に進むことになる。一方、RWMの停電検査領域1、2の値が異常であれば(正常に記憶されてなければ)、通常の電源投入時であるとしてステップS25にジャンプすることになる。
なお、停電検査領域チェックデータ1、2は、後述するステップS39、40で設定されるものである。これらのステップS39、40では、このように複数のチェックデータ1,2によって停電復帰時であるか否か判定するので、停電復帰時であるか否かの判断が信頼性高く為される。
ステップS20では、初期化すべき領域に停電復旧時の初期値をセーブする。ここでの初期化すべき領域とは、以下の領域が含まれる。
・外部情報領域の扉・枠開放信号、セキュリティ信号
・停電復旧検査領域1,2
・試験信号領域の遊技機エラー状態信号
・電源断時チェックサム領域
・エラースキャンカウンタ(遊技枠状態監視スキャンカウンタ)
・前枠開放監視領域
・遊技枠開放監視領域
・シュート球切れ監視領域
・オーバーフロー監視領域
・払い出し異常監視領域
・スイッチ1、2異常監視領域
・下大入賞口不正入賞監視領域
・上大入賞口不正入賞監視領域
・普電不正入賞監視領域
・磁気不正監視領域
・電波不正監視領域
・大入賞口不正監視情報1、2
・普電不正監視情報
次いで、後述の特図ゲーム処理を合理的に実行するために用意されている処理番号に対応する停電復旧時のコマンドを演出制御装置300へ送信し(ステップS24)、ステップS29へ進む。
ここでの初期化すべき領域とは、ステップS25において書き込まれた値(0)ではない値を初期値とする領域のことであり、本実施例では客待ちデモ領域及び演出モードの設定に係る領域が該当する。これらの領域の具体的な情報は、以下の通りである。
<初期化すべき領域>
・客待ちデモ領域
客待ちデモ中フラグ゛
・演出モードコマンド領域
演出モードコマンド
・セキュリティ信号制御タイマ
・次モード移行情報領域
次モード移行情報
・特図ゲームモード情報コマンド
なお、ステップS24で送信される停電復旧時のコマンド及びステップS28で送信される電源投入時のコマンドには、以下のコマンドが含まれる。以下に示すように、電源投入時及び停電復旧時に送信するコマンドが同じになっている。
・遊技機の種類を示す機種指定コマンド
・特図1,2の保留数を示す飾り特図1保留数コマンド及び飾り特図2保留数コマンド
・確率の状態を示す確率情報コマンド
また、電源遮断時や電源投入時の状態に応じて、電源遮断時に特図変動表示ゲームの実行中であった場合には、には、以下のコマンドが含まれる。
・復旧画面コマンド
・電源遮断時に客待ち中であった場合は客待ちデモコマンド
・電源投入時に初期化された場合は電源投入コマンド
・機種によって演出モードの状態を示す演出モード情報コマンド
・時短状態での残りゲーム数を示す時短回数情報コマンド
そして、電源投入コマンドが送信されると、他の制御装置は、この電源投入コマンドを受けて、例えば演出制御装置300であれば枠演出装置のモータの動作位置を初期位置にするなどの初期化を行い、RWMクリアがなされたことを報知する演出を開始する。ステップS28を経ると、ステップS29に進む。
なお、CTC回路は、遊技用マイコン101内のクロックジェネレータに設けられている。クロックジェネレータは、水晶発振器113からの発振信号(原クロック信号)を分周する分周回路と、分周された信号に基づいてCPU101Aに対して所定周期(例えば、4ミリ秒)のタイマ割込み信号及び乱数生成回路へ供給する乱数更新のトリガを与える信号CTCを発生するCTC回路とを備えている。
また、乱数生成回路のハードウェアで生成されるハード乱数(ここでは大当り乱数)のビット転置パターンの設定も行われる。すなわち、ステップS30の処理では、ハード乱数ビット転置パターンを設定し、大当り乱数のビット転置も行う。
ここで、ビット転置パターンとは、例えば後述の図94に示すように、抽出した乱数のビット配置(上段のビット転置前の配置)を、予め定められた順で入れ替えて異なるビット配置(下段のビット転置後の配置)として格納する際の入れ替え方を定めるパターンである。このビット転置パターンに従い乱数のビットを入れ替えることで、乱数の規則性を崩すことができるとともに、乱数の秘匿性を高めることができる。なお、ビット転置パターンは、固定された単一のパターンであっても良いし、予め用意された複数のパターンから選択するようにしても良い。また、ユーザーが任意に設定できるようにしても良い。
ここで、乱数の種類としては、以下がある。
・当り初期値乱数
・大当り図柄初期値乱数1
・大当り図柄初期値乱数2
(これらは、それぞれ異なるソフト乱数レジスタの値を使用)
なお、特図に関連する乱数としては、大当り乱数(大当りとするか否かを決定するための乱数)、大当り図柄乱数1,2(大当り停止図柄決定用の乱数)、変動パターン乱数(リーチの有無等を含む変動パターンを決定する乱数)、停止図柄乱数(外れの停止図柄決定用の乱数)などがある。また、普図に関連する乱数としては、例えば、普図当り乱数(普図当りとするか否かを決定するための乱数)などがある。このうちステップS30,33で対象とする乱数(ハード乱数)は、例えば、大当り乱数、普図当り乱数、大当り図柄乱数1,2である。なお、上記特図に関する乱数は、特図が2種類ある場合、特図1と特図2で共通でもよいし、別個に設けられていてもよい。
なお、上記ステップS33での初期値乱数更新処理は、メイン処理のほか、タイマ割込み処理の中においても初期値乱数更新処理を行う方法もあり、そのような方法を採用した場合には両方で初期値乱数更新処理が実行されるのを回避するため、メイン処理で初期値乱数更新処理を行う場合には割込みを禁止してから更新して割込みを解除する必要があるが、本実施例のようにタイマ割込み処理の中での初期値乱数更新処理はせず、メイン処理内のみした場合には初期値乱数更新処理の前に割込みを解除しても何ら問題はなく、それによってメイン処理が簡素化されるという利点がある。
次いでステップS34に進み、電源装置500から入力されている停電監視信号をポート及びデータバスを介して読み込み、停電監視信号のチェック回数(例えば2回)を設定し、次のステップS35で停電監視信号がオンしているか否か判定し、オンしていれば停電の最終判断のためのステップS36に進み、オンしていなければステップS33に戻る。通常運転中は、ステップS33〜S35を繰り返す。
すなわち、停電監視信号がオンでない場合(ステップS35;NO)は、初期値乱数更新処理(ステップS33)に戻る。つまり、停電が発生していない場合には、初期値乱数更新処理と停電監視信号のチェック(ループ処理)を繰り返し行う。初期値乱数更新処理(ステップS33)の前に割り込みを許可する(ステップS32)ことによって、初期値乱数更新処理中にタイマ割込みが発生すると割込み処理が優先して実行されるようになり、タイマ割込みが初期値乱数更新処理によって待たされることで割込み処理が圧迫されるのを回避することができる。
なお停電監視信号がオンになると、この停電監視信号をNMI割込信号として、実行中の処理を中断してステップS37以降の停電処理を強制的に実行する態様でもよい。但し本例の構成であると、停電監視信号のオン状態をステップS36で複数回チェックするので、実際には停電が発生していないのにノイズ等によって停電監視信号が一時的かつ瞬間的にオンした場合に停電発生と誤判断してしまうことがないという利点がある。
ステップS40を経ると、次のステップS41でRWMの電源遮断時のチェックサムを算出する処理を行なった後、ステップS42で算出したチェックサムを所定のチェックサム領域にセーブする。
次いでステップS43でRWMへのアクセスを禁止した後、待機する(前述した制御信号生成部503からのリセット信号を待つリセット待ち状態となる)。
このように、停電復旧検査領域にチェックデータをセーブするとともに、電源遮断時のチェックサムを算出することで、電源の遮断の前にRWMに記憶されていた情報が正しくバックアップされているか否かを電源再投入時に判断することができる。
なお、以上のステップS37〜S43の停電処理は、停電によって電源電圧が遊技用マイコン101の動作電圧未満に低下する前に行われる。
次に、前記メイン処理におけるチェックサム算出処理(ステップS41)を図10により説明する。
このルーチンが開始されると、まずステップS51で算出アドレスの開始値としてRWMの先頭アドレスを設定し、ステップS52で繰り返し数を設定する。繰り返し数は、使用しているRWMのバイト数に対応して設定される。次いで、ステップS53で算出値として「0」を設定した後、ステップS54で算出値+算出アドレスの内容を新たな算出値として演算する。このようにして、各アドレスの毎の内容を算出値として加算していく。次いで、ステップS55で算出アドレスを「+1」だけ更新し、ステップS56で繰り返し数を「−1」だけ更新して算出終了かをチェックし、ステップS57で算出終了か否かを判定しする。ステップS57の判定結果がNOであれば、ステップS54に戻ってルーチンを繰り返す。そして、繰り返した回数=RWMのバイト数になると、算出終了と判断してステップS57からYESに抜けて、ルーチンを終了する。
このようにして、RWMの電源遮断時におけるチェックサムの算出が行われる。
次に、前記メイン処理における初期値乱数更新処理(ステップS33)を図11により説明する。
このルーチンが開始されると、当り初期値乱数をインクリメント(更新(+1))する処理(ステップS61)、大当り図柄初期値乱数1をインクリメント(更新(+1))する処理(ステップS62)、大当り図柄初期値乱数2をインクリメント(更新(+1))する処理(ステップS63)を順次行う。
ここで、「大当り図柄初期値乱数1」は、特図1の大当り停止図柄を決定する乱数の初期値となる乱数で、0〜99の範囲で更新していく。「大当り図柄初期値乱数2」は、特図2の大当り停止図柄を決定する乱数の初期値乱数のことで、0〜99の範囲で更新していく。ある。また、「当り初期値乱数」は普図変動ゲームの当りを決定する乱数の初期値となる乱数のことで、0〜250の範囲で更新していく。ある。このように、メイン処理の中で時間が許す限り乱数をインクリメントし続けることによって、乱数のランダム性を高めることができるようにしている。
次に、遊技制御装置100(遊技用マイコン101)のタイマ割込処理を図12により説明する。
このタイマ割込処理は、前述したメイン処理におけるステップS29,S32の処理によって開始され、所定のタイマ割込周期で繰り返し実行される。
次いで、ステップS72で入力処理を実行する。この入力処理では、前述の各センサ類(始動口スイッチ120、121、ゲートスイッチ122、入賞口スイッチ123、下カウントスイッチ124、上カウントスイッチ125など)の検出信号の読み取りを実行する。具体的には、各センサの出力値をタイマ割込周期毎に判定し、同じレベルの出力値が規程回数(例えば、2回)以上継続した場合に、この出力値のレベルを各センサの検出信号の確定的な値として読み取る。なお、何れかのセンサがオンしていることが読み取られると、それを示すフラグ(入力フラグ)がたてられる。
次いでステップS74で、払出コマンド送信処理を行う。これは、主基板たる遊技制御装置100とサブ基板たる演出制御装置300との間がシリアル通信でコマンドを送信するようになったことで、排出コマンドの送信処理のみを行うものである。ここでは、遊技用マイコン101の送信バッファにセットされたコマンドを演出制御装置300に出力することになる。
次いで、ステップS75、S76で乱数更新処理1、2をそれぞれ実行する。ここでは、特図に関連するソフト乱数及び普図に関連するソフト乱数の更新が行われる。特図に関連するソフト乱数としては、例えば、大当り図柄乱数1,2(大当り停止図柄決定用の乱数)、変動パターン乱数(リーチアクションの有無等を含む変動パターンを決定する乱数)、停止図柄乱数(外れの停止図柄決定用の乱数)などがある。ここでの、乱数の更新は、乱数を例えば「1」ずつ増やすことにより実行される。したがって、このタイマ割込み処理のルーチンが繰り返される毎に、乱数が変り、このソフト乱数の抽出値がアトランダム性を保つようになる。
ここで、変動開始条件の成立時とは、客待ち状態で始動口入賞があって変動表示ゲームが開始される時、変動表示ゲームがはずれで終了し始動記憶があって再度変動表示ゲームが実行される時、大当たりが終了して始動記憶があって再度変動表示ゲームが実行される時の3種類がある。
また、この特図ゲーム処理では、特図の変動表示ゲームに関する各種出力データを設定する処理も行われる。即ち、特図の変動表示ゲームの遊技状態に合わせて、例えば、演出制御装置300などへ送信するコマンドの内容(コマンドデータ)を設定する。
次に、ステップS80では、セグメントLED編集処理を実行する。これは、ステップS78の特図ゲーム処理において決定された特図の図柄やステップS79の普図ゲーム処理において決定された普図の図柄、その他の情報を、一括表示装置35の本特図の表示器(LED、7セグメントの表示器)において表示するための処理である。
次に、ステップS81では磁石不正監視処理を実行する。これは、磁気センサ126からの検出信号をチェックして異常がないか判定するものである、例えば、磁気センサ126の入力フラグが設定されていると、磁気エラーが発生したとして、所定の処理(エラー報知コマンドの送信等)を実行する。
次に、ステップS83では外部情報編集処理を実行する。これは、遊技制御装置100から外部へ出力しようとするデータの編集を行うものである。このデータは、払出制御装置200や外部情報端子板55への出力データ(大当たり信号、賞球信号等の他、固有IDも含む)となる。
その後、メインルーチンを再開すべく、ステップS84でタイマ割込み要求をクリアし、ステップS85で退避させたレジスタを復帰させ、ステップS86で割込を許可し、そして割込時に中断した処理に復帰(リターン)する。
次に、前記タイマ割込み処理における入力処理(ステップS72)を図13により説明する。
入力処理においては、まず入力ポート1、即ち、第1入力ポート160に取り込まれたスイッチの検出信号の状態を読み込む(ステップS91)。そして、8ビットのポートのうち未使用ビットがあればそのビットの状態をクリアする(ステップS92)。
ここで、入力ポート1で監視するスイッチは、以下の通りである。
・ガラス枠開放検出スイッチ(ビット0)
・前面枠開放検出スイッチ(ビット1)
・払出異常ステータス信号(ビット4)
・シュート球切れスイッチ信号(ビット5)
・オーバーフロースイッチ信号)ビット6)
続いて、読み込まれた入力ポート1の状態をRWM内のスイッチ制御領域1にセーブ(格納)する(ステップS93)。次いで、ステップS94で未使用のビットデータを準備する。
ここで、本実施例において「準備」とは、レジスタに値をセットすることを意味するが、これに限らず、RWM、その他のメモリに値をセットするようにしてもよい。
次いで、ステップS95で反転するビットデータを準備する。例えば、電波センサ127は検出信号の反転が必要なので、そうようなセンサ/スイッチ等のビットデータを準備するものである。
ここで、入力ポート2で監視するスイッチは、以下の通りである。
・始動口2スイッチ(ビット0):第2始動口スイッチ121
・始動口1スイッチ(ビット1):第1始動口スイッチ120
・左入賞口スイッチ(ビット2):入賞口スイッチ1_123
・右入賞口スイッチ(ビット3):入賞口スイッチ2_123
・ゲートスイッチ(ビット4):ゲートスイッチ122
・下大入賞口スイッチ1(ビット5):下カウントスイッチ1_124
・下大入賞口スイッチ2(ビット6):下カウントスイッチ2_124
・上大入賞口スイッチ(ビット7):上カウントスイッチ125
なお、図4では示していないが、入賞口スイッチ123に対応するものとして、例えば複数(2個)の入賞口スイッチを配置する場合もあるので、その例として、上記では左入賞口スイッチ(ビット2):入賞口スイッチ1_123、右入賞口スイッチ(ビット3):入賞口スイッチ2_123のような表記として、2個のスイッチを入力ポート2で監視するようにしている。これは、下大入賞口スイッチ124についても同様である。後述の磁気センサ126についても、複数を配置して入力ポート3で監視するようにしてもよい。
次いで、ステップS99で未使用のビットデータを準備するとともに、ステップS100で反転するビットデータを準備する。その後、ステップS101でRWM内のスイッチ制御領域3のアドレスを準備し、ステップS102で入力ポート3、即ち、第3入力ポート162のアドレスを準備し、さらにステップS103でスイッチ読込み処理を行い、入力処理を終了する。
ここで、入力ポート3で監視するスイッチは、以下の通りである。
・電波センサ(ビット0):電波センサ127
・スイッチ異常検知信号1(ビット1)
・磁気センサ(ビット2):磁気センサ126
・スイッチ異常検知信号2(ビット3)
次に、上述の入力処理におけるスイッチ読込み処理(ステップS103)を図14により説明する。
スイッチ読込み処理においては、対象の入力ポートに取り込まれた信号の状態を読み込む(ステップS111)。これは、1回目の読み込みに相当する。次いで、8ビットのポートのうち未使用ビットがあれば、そのビットの状態をクリアし(ステップS112)、反転の必要なビットを反転(ステップS113)した後、RWM内の対象のスイッチ制御領域のポート入力状態1にセーブ(格納)する(ステップS114)。その後、2回目の読込みまでのディレイ時間(0.1ms)が経過するのを待つ(ステップS115)。
これに対し、本実施例のように、所定の時間差をおいて1回の割込み処理の中で2回のスイッチ読込み処理を行うことで、タイマ割込みの周期を延ばすことによる割込み内の処理可能量増加と、構造設計等の容易さを両立させ、上記のような不具合を回避することが可能となる。
次に、上述のタイマ割込み処理における出力処理(ステップS73)を図15により説明する。
出力処理では、まず一括表示装置(LED)35のセグメントのデータを出力するポート176(図5参照)の出力データを全てオフにする(ステップS131)。続いて、第1大入賞口ソレノイド133、第2大入賞口ソレノイド134、普電ソレノイド132のデータを出力する機能を有する第3ポート175に出力するデータを合成して出力する(ステップS132)。
次いで、一括表示装置(LED)35のデジット線を順次スキャンするためのデジットカウンタの値を更新(0〜3の範囲で(+1)更新)(ステップS133)し、デジットカウンタの値に対応するLEDのデジット線の出力データをロード(取得)する(ステップS134)。次いで、取得したデータをデジット出力ポート(第5ポート177)に出力する(ステップS135)。第5ポート177は一括表示装置35のLEDのカソード端子が接続されているデジット線のオン/オフデータを出力するための出力ポートである。
次いで、デジットカウンタの値に対応するRWM内のセグメントデータ領域からセグメント線の出力データをロード(取得)し(ステップS136)、取得したセグメント出力データをセグメント出力用のポート(第4ポート176)に出力する(ステップS137)。第4ポート176は一括表示装置35に表示する内容に応じてLEDのアノード端子が接続されているセグメント線のオン/オフデータを出力するための出力ポートである。
次いで、試射試験装置へ出力する試験信号の出力データ1〜3をロードして合成し、中継基板170上に設けられている試験端子出力ポート1へ合成したデータを出力する(ステップS139)。さらにその後、試射試験装置へ出力する試験信号の出力データ4〜6をロードして合成し、中継基板170上に設けられている試験端子出力ポート2へ合成したデータを出力する(ステップS140)。
次いで、試射試験装置へ出力する試験信号の出力データ7〜8をロードして合成し、中継基板170上に設けられている試験端子出力ポート3へ合成したデータを出力する(ステップS141)。また、試射試験装置へ出力する試験信号の出力データ9〜10をロードして合成し、中継基板170上に設けられている試験端子出力ポート4へ合成したデータを出力する(ステップS142)。さらに、試射試験装置へ出力する試験信号の出力データ11をロードして合成し、中継基板170上に設けられている試験端子出力ポート5へ合成したデータを出力(ステップS143)して、図15の出力処理を終了する。
次に、上述のタイマ割込み処理における払出コマンド送信処理(ステップS74)を図16により説明する。
払出コマンド送信処理では、まず、賞球数別(例えば、3個賞球、10個賞球、14個賞球)に設けられた複数の入賞数カウンタ領域のうち、チェック対象とされた入賞数カウンタ領域に「0」でないカウント数があるかを判定する(ステップS151)。
入賞数カウンタ領域の構造は、例えば以下の通りである。
・3個賞球カウンタ
・10個賞球カウンタ
・14個賞球カウンタ
各々の入賞数カウンタ領域は255個入賞まで記憶可能になっており、入賞数カウンタ領域のチェックでは、上述したカウンタを上から(3個賞球カウンタから)順にチェックしていく。
フローに戻り、カウント数がない場合(ステップS151:NO)は、チェック対象となる入賞数カウンタ領域のアドレスを更新し(ステップS152)、すべての入賞数カウンタ領域のカウント数のチェックが終了したかを判定する(ステップS153)。この判定で、すべてのチェックが終了した(ステップS153;YES)と判定すると、払出コマンド送信処理を終了する。一方、すべてのチェックが終了していない(ステップS153;NO)と判定すると、ステップS151へ戻って上記処理を繰り返す。
次に、前述の払出コマンド送信処理におけるメイン賞球残数更新処理(ステップS173)の詳細について、図17により説明する。
このメイン賞球残数更新処理では、入賞口への入賞により発生した賞球数(払出予定数)が所定数(ここでは10個)になる毎に外部装置へ出力するメイン賞球信号を設定する。外部装置には、このメイン賞球信号の他に、払出制御装置200からも実際に払い出した賞球数が所定数(ここでは10個)になる毎に賞球信号が出力されるようになっており、この二つの信号を照合することで、不正な払い出しを監視することが可能となっている。
すなわち、メイン賞球残数更新処理は遊技制御装置100から払出予定に基づいて賞球信号を外部装置に送信することで、払出の実払出(払出制御装置200から実際に払い出した賞球数)との整合性をとるために行われる処理である。
なお、賞球信号は主基板たる遊技制御装置100からは10個払出予定数毎に1パルスが出力され、払出基板たる払出制御装置200からは10個払出数に1パルスが出力されるようになっている。
次に、上述のタイマ割込み処理における乱数更新処理1(ステップS75)を図18により説明する。
乱数更新処理1は、図11の初期値乱数更新処理の対象となっている大当り図柄乱数1、当り乱数、大当り図柄乱数2の初期値(スタート値)を更新するための処理である。
乱数更新処理1においては、まず、普図の当り乱数が次回の初期値(スタート値)設定待ちであるかを判定する(ステップS191)。
次に、上述のタイマ割込み処理における乱数更新処理2(ステップS76)を図19により説明する。
乱数更新処理2は、特図1,特図2の変動表示ゲームにおける変動パターンを決定するための変動パターン乱数を更新する処理である。
なお、本実施例においては、変動パターン乱数として1バイトの乱数(変動パターン乱数2、3)と、2バイトの乱数(変動パターン乱数1)があり、図21の乱数更新処理2は両方を更新対象とし、割込みが発生するごとに更新対象を切り替えて処理する。しかも、更新対象の乱数が2バイトの場合には、上位のバイトと下位のバイトに対して異なる割込み時に更新処理を行うようになっている。即ち、メイン処理に対する一の割り込み処理において実行される乱数更新処理2による2バイトの変動パターン乱数1(リーチ変動態様決定用乱数)の更新は、上位1バイト若しくは下位1バイトの何れかについて実行されるように構成されている。
なお、更新する乱数の種類は、以下の通りである。
・0のとき:変動パターン乱数1(上位)
・1のとき:変動パターン乱数1(下位)
・2のとき:変動パターン乱数2
・3のとき:変動パターン乱数3
次に、乱数更新スキャンカウンタの値に対応する演出乱数更新テーブルのアドレスを算出する(ステップS202)。そして、算出されたアドレスに基づいて参照したテーブルから乱数の上限判定値を取得する(ステップS203)。このとき参照するテーブルには、乱数の種類ごとに上限値、即ち、乱数が一巡したか否かを判定するための値が格納されている。
ここで、演出乱数更新テーブルには更新する乱数の種類分(4ブロック)のデータがあり、詳細は以下の通りである。
・上限判定値
・Rレジスタのマスク値
・更新する乱数領域の種別情報(詳細は下記)
1バイト乱数
2バイト乱数(上位)
2バイト乱数(下位)
・更新領域のアドレス
なお、マスク値として、変動パターン乱数1の下位1バイトを更新する場合には、Rレジスタの下位3ビットを、また、変動パターン乱数1の上位1バイトを更新する場合には、Rレジスタの下位4ビットを例示したが、数値は一例であってこれに限られるものではない。
マスクした値に「1」を加算するのは、マスクした値が「0」になる場合があり、「0」を後に加算すると加算する前の値から変化しないので、それを避けるためである。
一方、更新する乱数領域が2バイト乱数の下位又は1バイト乱数であれば(ステップS206;NO)、ステップS209に分岐して「0」を加算値(上位)とし、マスク値に「1」を加算したものを加算値(下位)としてステップS208に進む。
乱数領域が2バイト乱数であるときは、ステップS211で更新する乱数領域の値(2バイト)を乱数値としてステップS212に進む。
新たに算出した乱数値が上限判定値を超えていれば、算出した乱数値から上限判定値を差し引いて今回の乱数値とし(ステップS214)、その後、ステップS215に進む。一方、新たに算出した乱数値が上限判定値を超えていなければ、算出した乱数値を今回の乱数値とし、ステップS214をジャンプしてステップS215に進む。
ステップS215では、乱数値の下位を対応する乱数領域にセーブする。ここでは、1バイト乱数領域又は2バイト乱数の下位領域のいずれかの領域にセーブする。続いて、更新した乱数が2バイト乱数かをチェックし(ステップS216)、2バイト乱数であれば(ステップS216;YES)、乱数値の上位を乱数領域の上位(2バイト乱数(上位))側にセーブする(ステップS217)。ここでは、2バイト乱数の上位の領域にセーブする。ステップS217を経ると、当該乱数更新処理2を終了する。
一方、更新した乱数が2バイト乱数でなければ(ステップS216;NO)、ステップS217をジャンプし、その処理は行わず、当該乱数更新処理2を終了する。
従って、CPU101Aは、始動入賞口25や普通変動入賞装置26の始動領域への遊技球の流入に基づいて抽出された各種乱数のうち、リーチ状態におけるリーチ変動態様を決定するためのリーチ変動態様決定用乱数(変動パターン乱数)を更新する乱数更新手段をなす。
次に、上述のタイマ割込み処理における入賞口スイッチ/エラー監視処理(ステップS77)を図20により説明する。
入賞口スイッチ/エラー監視処理は、各種入賞口に設けられたスイッチから信号の入力(信号の変化)があるか否かの監視や、エラーの監視を行う処理である。
次いで、大入賞口が開いていないにもかかわらず大入賞口に不正な入賞がないか監視するとともに、正常な入賞を検出する不正&入賞監視処理(ステップS222)を実行する。
このように、カウントスイッチは3つあり、下大入賞口に配置される下カウントスイッチ124が2つ、上大入賞口に配置される上カウントスイッチ125が1つである。
次いで、普電内の入賞口スイッチの不正監視テーブルを準備する(ステップS227)。普電内の入賞口スイッチとしては、普通電動役物(普電)としての第2始動入賞口26への入賞を検出する第2始動口スイッチ121がある。
次いで、不正な入賞がないか監視するとともに、正常な入賞を検出する不正&入賞監視処理(ステップS228)を実行する。
遊技機を監視するエラーの種類としては、以下のものがあり、これらは払出制御装置200からのシュート球切れスイッチ、オーバーフロースイッチ、払出制御装置200の異常監視用のエラーなどに対応する。
(イ)0のとき:スイッチ異常エラー(コネクタ抜け、スイッチ故障など)
(ロ)1のとき:シュート球切れエラー
(ハ)2のとき:オーバフローエラー
(ニ)3のとき:払い出し異常エラー
遊技機エラー監視テーブル2で定義するエラー監視の種類は、下記の通りである。
(ホ)0のとき:ガラス枠開放(前枠開放)
(ヘ)1のとき:前面枠開放(遊技枠開放)
(ト)2のとき:スイッチ異常エラー(コネクタ抜け)
(チ)3のとき:なし
次いで、遊技機エラー監視テーブル2で定義した種類のエラーチェックを行い(ステップS236)、入賞口スイッチ/エラー監視処理を終了してタイマ割込処理にリターンする。
一方、ステップS234でエラースキャンカウンタ=「3」と判定した場合には、遊技機エラー監視テーブル2には監視対象となるエラーがないので、ステップS235、236を経由せずに、タイマ割込処理にリターンする。
次に、上述の入賞口スイッチ/エラー監視処理における不正&入賞監視処理(ステップS222、ステップS226、ステップS228)を図21により説明する。
入賞監視処理は、下大入賞口(変動入賞装置27)の2つの下カウントスイッチ124の各々、上大入賞口(第2変動入賞装置33)の上カウントスイッチ125及び普電内の第2始動口スイッチ121に対して行なわれる処理である。大入賞口(変動入賞装置27、33)や普電(普通変動入賞装置26)については、無理やり開閉部材を開いて遊技球を入れて賞球を払い出させる不正が行なわれ易いため、入賞の検出の他に不正の監視をする。
ここで、入賞口スイッチ/エラー監視処理の中の不正&入賞監視処理を説明するに当たり、準備される不正監視テーブルに定義されている情報は、以下の通りである。
・入力があるかを判定するデータ(監視スイッチビット)
・不正監視情報の下位アドレス
・不正入賞数領域の下位アドレス
・不正入賞エラー報知コマンド
・不正入賞数上限値(不正発生判定個数)
・入賞口スイッチテーブルのアドレス
・報知タイマ更新情報(許可/更新)
不正&入賞監視処理においては、まず、エラー監視対象の入賞口スイッチの不正監視期間フラグをチェックし(ステップS241)、不正監視期間中かどうかを判定する(ステップS242)。不正監視期間とは、エラー監視対象の入賞口スイッチが下カウントスイッチ124である場合は変動入賞装置27を開放する特別遊技状態中以外の期間であり、エラー監視対象の入賞口スイッチが上カウントスイッチ125である場合は第2変動入賞装置33を開放する特別遊技状態中以外の期間である。また、エラー監視対象の入賞口スイッチが第2始動口スイッチ121である場合は普図の当りに基づき普通変動入賞装置26の開放制御を実行している状態以外の期間である。
そして、判定個数を超えていない(ステップS245;NO)と判定すると、ステップS250へジャンプし、対象の入賞口スイッチの入賞監視テーブルを準備する。また、判定個数を超えた場合(ステップS245;YES)は、不正入賞数を不正発生判定個数に留め(ステップS246)、対象の不正入賞報知タイマ領域に初期値をセーブする(ステップS247)。次に、対象の不正発生コマンドを準備し(ステップS248)、不正フラグとして不正入賞発生フラグを準備して(ステップS249)、準備した不正フラグを対象の不正フラグ領域の値と比較する(ステップS260)。
報知タイマの更新は、エラー監視対象の入賞口スイッチが一方の下カウントスイッチ124である場合は許可され、エラー監視対象の入賞口スイッチが他方の下カウントスイッチ124である場合は許可されない。これにより、変動入賞装置27についての不正報知について、報知タイマの更新が倍の頻度で行われてしまい、規定時間(例えば60000ms)の半分でタイムアップしてしまうことを防止している。
すなわち、下大入賞口(変動入賞装置27)に対してエラー監視を2つの下カウントスイッチ124で行っているため、双方のスイッチでタイマ更新すると、倍のタイマ更新が行われることとなり、結果的に規定時間の半分で不正タイマがタイムアップしてしまうことから、あとから監視処理を行う一方の下カウントスイッチ124のタイミングでのみ、タイマ更新をするようにしているものである。
なお、エラー監視対象の入賞口スイッチが上カウントスイッチ125である場合や普電内の第2始動口スイッチ121である場合は報知タイマの更新は常に許可される。
以上の処理により、エラーの発生に伴いエラー報知コマンドが演出制御装置300に送信され、エラーの解除に伴い不正入賞エラー解除コマンドが演出制御装置300に送信されて、エラー報知の開始、終了が設定されることとなる。
次に、上述の入賞口スイッチ/エラー監視処理における入賞数カウンタ更新処理(ステップS230)及び不正&入賞監視処理における入賞数カウンタ更新処理(ステップS251)を図22により説明する。
入力数カウンタ更新処理においては、まず、上述の入賞口スイッチ/エラー監視処理にて取得した入賞口監視テーブルから監視する入賞口スイッチの個数を取得する(ステップS281)。
ここで、入賞口スイッチ/エラー監視処理で準備された入賞口監視テーブルのうちの入賞テーブルに定義されている情報は、以下の通りである。
・繰り返し回数
・入力があるかを判定するデータ(監視スイッチビット)
・入賞数カウンタ領域の下位アドレス
次いで、監視対象の入賞口スイッチから検出信号の入力(正確には入力の変化)があるかチェックする(ステップS272)。ここで、入力がない(S272;NO)と判定するとステップS277へジャンプし、入力がある(S272;YES)と判定すると、次のステップS273で、対象の入賞数カウンタ領域の値をロードする。
一方、ステップS275でカウンタオーバーフローが発生している(S275;YES)と判定すると、ステップS276をスキップしてステップS277へジャンプする。設けられた入賞数カウンタ領域のサイズによって、最大記憶数(例えば、1バイトサイズなら255個、2バイトサイズなら65535個)が決まるので、それを超えると値が「0」に戻ってしまい、支払うべき大量の賞球数の情報を失ってしまうことになる。それを回避するためにステップS274では、いきなり領域の内容を更新せず、領域の外で(+1)して「0」になってしまわないかを確認した上で更新を行うようにしている。
ステップS277では、全部のスイッチの監視処理が終了したか判定して、終了している場合(ステップS277;YES)には当該入力数カウンタ更新処理を終了し、終了していない場合(ステップS277;NO)には、ステップS272へ戻り上記処理を繰り返す。以上の処理により、入賞に応じた賞球が設定されることとなる。
次に、上述の不正&入賞監視処理におけるコマンド設定処理(ステップS262)を図23により説明する。なお、このコマンド設定処理は、タイマ割込み処理中に実行される他の処理におけるコマンド設定処理に共通する処理である。
このコマンド設定処理では、まず、コマンドデータ(MODE(上位バイト))をシリアル送信バッファに書き込み(ステップS281)、シリアル送信バッファステータスを読み込んで(ステップS282)、コマンドの送信中であるかを判定する(ステップS283)。
次に、上述の入賞口スイッチ/エラー監視処理におけるエラーチェック処理(ステップS233、ステップS236)を図24により説明する。
エラーチェック処理においては、まず、エラーを監視すべき複数のスイッチ並びに信号のうちいずれのスイッチ又は信号を今回の監視の対象とするかを順番に指定するためのエラースキャンカウンタに対応するエラー監視テーブルを取得する(ステップS301)。
準備された遊技機エラー監視テーブル上に定義されている情報としては、以下のものがある。
(イ)スイッチの状態を判定するデータ
(ロ)エラー報知コマンド
(ハ)エラー報知終了コマンド
(ニ)エラー発生監視タイマ比較値
(ホ)エラー解除監視タイマ比較値
(ヘ)スイッチ状態領域のアドレス
(ト)エラー監視タイマ領域のアドレス
(チ)エラーフラグ領域のアドレス
そして、スイッチがオンでない場合(ステップS302:NO)は、エラーフラグとしてエラー解除フラグを準備し(ステップS303)し、対象のエラー報知終了コマンドを準備する(ステップS304)。その後、対象のエラー解除監視タイマ比較値を取得して(ステップS305)、対象のスイッチ制御領域の値と今回のスイッチの状態を比較する(ステップS309)。
一方、スイッチがオンである場合(ステップS302:YES)は、エラー発生となる状態である可能性があるので、エラーフラグとしてエラー発生フラグを準備する(ステップS306)。例えば、遊技機エラー監視テーブルで定義するエラーの1つとして、シュート球切れの場合であれば、貯留タンク51に遊技球を供給するシュートに遊技球が無いことがシュート球切れスイッチ216で検出されてオンになると、ステップS302がYESとなる。YESであればステップS306で、エラー発生フラグを準備することになる。
次いで、対象のエラー報知コマンドを準備する(ステップS307)。その後、対象のエラー発生監視タイマ比較値を取得して(ステップS308)、対象のスイッチ制御領域の値と今回のスイッチの状態を比較する(ステップS309)。
ここで、ステップS313で対象のエラー監視タイマが監視タイマ比較値に達したと判定したときは、エラー発生または解除の状態が確定したと見なされることになる。しかし、既にエラーが発生している状態のときにエラー発生が確定するか、またはエラー発生中でない状態のときにエラー解除が確定するという状況もあり得るので、ステップS314の処理を経て、ステップS315では、準備したエラーフラグを対象のエラーフラグ領域の値と比較することにより、今回確定したエラー状態は現エラーフラグの状態と同じかどうかをチェックするようにしている。
このようにして、エラーが発生すれば、該当するエラーフラグを立てて処置のコマンドを準備し、エラーが解消すれば該当するエラーフラグを消して解消のコマンドの設定が行なわれる。特に、このエラーチェック処理では、エラーの発生だけを監視しているものではなく、解除も合わせて監視するようにして、処理を共通にしている。
なお、このようなエラーチェック処理は、例えばガラス枠開放、前面枠開放などのエラーについても同様である。
次に、前記タイマ割込処理における特図ゲーム処理(ステップS78)を図25により説明する。
特図ゲーム処理では、第1始動口スイッチ120及び第2始動口スイッチ121の入力の監視と、特図変動表示ゲームに関する処理全体の制御、特図の表示の設定を行う。
特図ゲーム処理では、まず、ステップS321で第1始動口スイッチ120及び第2始動口スイッチ121の入賞を監視する始動口スイッチ監視処理を行う。
始動口スイッチ監視処理では、始動入賞口25、第2始動入賞口をなす普通変動入賞装置26に遊技球の入賞があると、各種乱数(大当り乱数など)の抽出を行い、当該入賞に基づく特図変動表示ゲームの開始前の段階で入賞に基づく遊技結果を事前に判定する遊技結果事前判定を行う。なお、始動口スイッチ監視処理(ステップS321)の詳細については後述する。
次いでステップS322で大入賞口スイッチ監視処理を行う。これは、変動入賞装置27内に設けられた下カウントスイッチ124や第2変動入賞装置33内に設けられた上カウントスイッチ125での遊技球の検出を監視する処理を行うものである。
特図ゲーム処理タイマは、後述する処理番号による分岐後の各処理(ステップS329〜S335:処理番号=0乃至処理番号=6に相当)において、それぞれ所定の値にタイマ値が設定されるものであり、この特図ゲーム処理タイマがタイムアップしたときにステップS329以降を実行すべきタイミングになるように設定される。これにより、ステップS323を実行した時点で、ステップS325以降を実行すべきタイミングになっていると、ステップS324の判定結果が肯定的になり、ステップS325以降(ステップS336〜S339含む)が実行される。そして、ステップS323を実行した時点で、ステップS325〜S335を実行すべきタイミングでない場合には、ステップS324の判定結果が否定的になり、ステップS336〜S339のみが実行される構成となっている。
ステップS329(特図普段処理)では、特図保留数(特図変動表示ゲーム未実施で保留になっている特図始動記憶の数)がゼロで特図変動表示ゲームを実行中でないときには、客待ち状態の表示を表示装置41で行うための処理を行う。また、この特図普段処理では、次の特図変動表示ゲームを開始するための処理(特図変動開始処理)を行う。この特図変動開始処理では、特図1及び特図2の始動記憶を監視し、何れかの特図始動記憶があれば、対応する変動表示(第1又は第2変動表示)を開始するための設定(演出制御装置300に送信する変動パターンコマンドの設定など)を実行し、処理番号を1とした後にリターンする。特図保留数がゼロで次の特図変動表示ゲームを実行しない場合には、そのまま(処理番号は0のまま)リターンする。
また、ステップS331(特図表示中処理)では、特図の変動表示結果を一定時間(1秒〜2秒)表示するための処理を行う。また、特図変動表示ゲームの遊技結果が大当りであれば、大当りの種類に応じたファンファーレコマンドの設定や、各大当りの大入賞口開放パターンに応じたファンファーレ時間の設定や、ファンファーレ/インターバル中処理を行うために必要な情報の設定等を行う。そして、大当りなら処理番号を3とし、はずれなら処理番号を0としてリターンする。
次に、ステップS333(大入賞口開放中処理)は、変動入賞装置27の大入賞口27aや第2変動入賞装置33を開放している間の処理である。また、ここでは大当りラウンドが最終ラウンドでなければインターバルコマンドを設定する一方で最終ラウンドであればエンディングコマンドを設定する処理や、大入賞口残存球処理を行うために必要な情報の設定等を行う。大入賞口開放が終了すると、処理番号を5にする。
次に、ステップS335(大当り終了処理)では、大当たり終了後に特図普段処理S329を実行するための処理を行い、処理番号を0に戻してリターンする。
次いでステップS338に進み、特図2の一括表示装置35での表示(本特図2の表示)を制御するためのテーブル(特図2変動制御テーブル)を準備し、次のステップS339では、この本特図2の変動表示のための制御処理(図柄変動制御処理)を行い、その後リターンする。
次に、上述の特図ゲーム処理における始動口スイッチ監視処理(ステップS321)を図26により説明する。
始動口スイッチ監視処理では、先ず、始動入賞口25(第1始動口)による保留の情報を設定するテーブルを準備した後(ステップS351)、特図始動口スイッチ共通処理(ステップS352)を行う。なお、ステップS352における特図始動口スイッチ共通処理の詳細については、ステップS356における特図始動口スイッチ共通処理とともに後述する。
普通変動入賞装置26は、閉状態では遊技球が入賞不可能であり、開状態でのみ遊技球が入賞可能である。よって、閉状態で遊技球が入賞した場合は何らかの異常や不正が発生した場合であり、このような閉状態で入賞した遊技球があった場合はその数を不正入賞数として計数する。そして、このように計数された不正入賞数が所定の不正発生判定個数(上限値)以上である場合に不正発生中と判定する。
また、ステップS354にて、普電不正発生中である(ステップS354;YES)と判定された場合は、始動口スイッチ監視処理を終了する。即ち、第2始動記憶をそれ以上発生させないようにする。
次に、上述の始動口スイッチ監視処理における特図始動口スイッチ共通処理(ステップS352、S356)を図27により説明する。
特図始動口スイッチ共通処理は、第1始動口スイッチ120や第2始動口スイッチ121の入力があった場合に、各々の入力について共通して行われる処理である。
特図始動口スイッチ共通処理では、まず、第1始動口スイッチ120及び第2始動口スイッチ121のうち、監視対象の始動口スイッチ(例えば、第1始動口スイッチ120等)に入力があるか否かをチェックして(ステップS361)、監視対象の始動口スイッチに入力がない(ステップS361;NO)と判定すると、特図始動口スイッチ共通処理を終了する。一方、ステップS361にて、監視対象の始動口スイッチに入力がある(ステップS361;YES)と判定すると、対象の乱数ラッチレジスタにラッチデータがあるかを判定する(ステップS362)。
そして、ステップS369にて、第1始動口スイッチ120及び第2始動口スイッチ121のうち、監視対象の始動口スイッチ(例えば、第1始動口スイッチ120等)に対応する更新対象の特図保留(始動記憶)数が上限値未満か否かを判定する処理を行う。
続けて、監視対象の始動口スイッチに対応する特図保留数に対応する乱数格納領域のアドレスを算出し(ステップS375)、大当り乱数をRWMの大当り乱数格納領域にセーブする(ステップS376)。次に、監視対象の始動口スイッチの大当り図柄乱数を抽出して準備し(ステップS377)、RWMの大当り図柄乱数格納領域にセーブする(ステップS378)。さらに、変動パターン乱数1から3を抽出して各乱数に対応するRWMの変動パターン乱数格納領域にセーブする(ステップS379)。そして、特図保留情報判定処理(ステップS380)を行って、特図始動口スイッチ共通処理を終了する。
次に、上述の始動口スイッチ共通処理における特図保留情報判定処理(ステップS380)を図28により説明する。
特図保留情報判定処理は、対応する始動記憶に基づく特図変動表示ゲームの開始タイミングより前に当該始動記憶に対応した結果関連情報の判定を行う先読み処理である。
特図保留情報判定処理では、まず、先読み演出を実行してよい条件を満たしているかを判定し(ステップS391)、満たしていない場合(ステップS391;NO)は、特図保留情報判定処理を終了する。また、満たしている場合(ステップS391;YES)は、以下の先読み演出に関する処理を行う。
ここで、先読み演出を実行してよい条件としては、以下の通りである。
・特図1:普通変動入賞装置26がサポート中(普電サポート中)以外、かつ大当り中以外
・特図2:条件なし(常時実行してよい)
このような条件を満たすときは、当該始動記憶に対応した結果関連情報の判定を行う先読み処理を行うことになる。
そして、判定結果が大当りである場合(ステップS393;YES)は、対象の始動口スイッチに対応する大当り図柄乱数チェックテーブルを設定する(ステップS394)。
ここで、大当り図柄乱数チェックテーブル上に定義されている情報には、以下のものがある。
・乱数の判定値(振り分け率を表す)
・判定値に対応する停止図柄パターン
次いで、大当り図柄乱数をチェックして対応する大当り停止図柄パターンを取得して(ステップS395)、停止図柄パターンを先読み停止図柄パターン領域にセーブする(ステップS396)。一方、判定結果が大当りでない場合(ステップS393;NO)は、はずれ停止図柄パターンを設定し(ステップS396)、停止図柄パターンを先読み停止図柄パターン領域にセーブする(ステップS397)。
次に、上述の特図ゲーム処理における大入賞口スイッチ監視処理(ステップS322)を図29により説明する。
大入賞口スイッチ監視処理では、まず、大入賞口(変動入賞装置27又は第2変動入賞装置33)が開放中であるか、すなわち特別遊技状態中かを判定する(ステップS411)。大入賞口が開放中でない場合(ステップS411;NO)は、大入賞口スイッチ監視処理を終了する。
一方、大入賞口が開放中である場合(ステップS411;YES)は、今回の大入賞口スイッチ監視処理において加算される大入賞口への入賞数をカウントするための入賞カウンタに0をセットする(ステップS412)。入賞カウンタは、大入賞口の一のラウンドの開放で入った球を数え、後述のステップS429の処理で大入賞口カウント数に加算するために設けられたカウンタである。
次いで、下大入賞口(変動入賞装置27)が開放中であるか、すなわち変動入賞装置27を開放する特別遊技状態中かを判定する(ステップS413)。
そして、大入賞口残存球処理中である場合は(ステップS414;YES)は、大入賞口スイッチ監視処理を終了する。また、大入賞口残存球処理中でない場合は(ステップS414;NO)は、下大入賞口スイッチ1(一方の下カウントスイッチ124)に入力があるかを判定する(ステップS415)。
また、入賞カウンタの値が0でない場合(ステップS428;NO)は、入賞カウンタの値を大入賞口カウント数に加算する(ステップS429)。これは、上下各大入賞口への球の入賞時には入賞したことを示すコマンドを払出制御装置200へ送信するとともに入賞カウンタで計数(ステップS416、ステップS420、ステップS425)しておき、あとの処理になるこのステップS429にて実際の大入賞口カウント数に加算するようにしたものである。
次いで、大入賞口カウント数が上限値(一のラウンドで入賞可能な遊技球数:例えば10個)以上となったかを判定する(ステップS430)。
次に、上述の特図ゲーム処理における図柄変動制御処理(ステップS337、S339)の詳細について図30により説明する。
図柄変動制御処理は、第1特図や第2特図等の特別図柄の変動の制御と特別図柄の表示データの設定を行う処理である。図柄変動制御処理では、まず、第1特図及び第2特図のうち、制御対象の特図(例えば、第1特図)に係る特図変動制御フラグが変動中であるかをチェックする(ステップS441)。
そして、当該特図変動中フラグが変動中である場合(ステップS442;YES)は、制御対象の特図(例えば、第1特図)に対応する図柄表示テーブル(変動用)を取得する(ステップS443)。
ここで、特図ゲーム処理にて準備された変動制御テーブル上に定義されている情報は、以下の通りである。
・変動制御領域の下位アドレス
・表示テーブル2(停止用)のポインタ
・表示テーブル1(変動用)のポインタ
次いで、第1特図及び第2特図のうち、制御対象の特図(例えば、第1特図)に係る点滅制御タイマを−1更新して(ステップS444)、当該タイマの値が0、すなわちタイムアップしたかを判定する(ステップS445)。
次に、上述の特図ゲーム処理における特図普段処理(ステップS329)の詳細について図31により説明する。
特図普段処理では、まず、第2特図保留数(第2始動記憶数)が0であるか否かをチェックする(ステップS461)。
特図2保留数が0である(ステップS461;YES)と判定すると、特図1保留数(第1始動記憶数)が0であるかを判定する(ステップS466)。そして、特図1保留数が0である(ステップS466;YES)と判定すると、客待ちデモが開始済みであるかを判定し(ステップS471)、客待ちデモが開始済みでない場合(ステップS471;NO)は、客待ちデモフラグ領域に客待ちデモ中フラグをセーブする(ステップS472)。
一方、ステップS461にて、特図2保留数が0でない場合(ステップS461;NO)は、−1更新後の特図2保留数に対応する飾り特図保留数コマンドを準備し(ステップS462)、コマンド設定処理(ステップS463)を行う。次に、特図2変動開始処理(ステップS464)を行い、特図2の特図変動中処理移行設定処理(ステップS465)を行って、特図普段処理を終了する。
また、ステップS466にて、特図1保留数が0でない場合(ステップS466;NO)は、−1更新後の特図1保留数に対応する飾り特図保留数コマンドを準備し(ステップS467)、コマンド設定処理(ステップS468)を行う。次に、特図1変動開始処理(ステップS469)を行い、特図1の特図変動中処理移行設定処理(ステップS470)を行って、特図普段処理を終了する。
なお、飾り特図保留数コマンドを準備する処理(ステップS467、S462)を行う時点では特図変動表示ゲームの開始に基づく保留数の減算は行われておらず、現在の特図1保留数又は特図2保留数から−1した特図1保留数又は特図2保留数に対応する保留数コマンドを準備している。実際に特図1保留数又は特図2保留数を−1更新する処理は特図1変動開始処理(ステップS469)又は特図2変動開始処理(ステップS464)における変動開始情報設定処理(図41参照)のステップS611で行われる。
また、実施例1では図柄の変動開始時の遊技制御装置100から演出制御装置300にコマンドを送信する際の送信順序が保留数、停止図柄、変動パターンという順番になる。
次に、上述の特図普段処理における特図普段処理移行設定処理1(ステップS475)の詳細について図32により説明する。
このルーチンが開始されると、まずステップS481で処理番号として「0」を設定(例えば、特図普段処理に移行するためのテーブルを準備して当該テーブルに特図普段処理に係る処理番号「0」を設定)し、ステップS482で特図ゲーム処理番号領域に処理番号をセーブする。
次いで、ステップS483で変動図柄判別フラグ領域をクリアし、ステップS484で下大入賞口不正監視期間フラグ領域に不正監視期間中フラグをセーブし、ステップS485で上大入賞口不正監視期間フラグ領域に不正監視期間中フラグをセーブする。これは、上下に大入賞口(変動入賞装置27、第2変動入賞装置33)があることから、各大入賞口に対応する不正監視期間フラグ領域にそれぞれ不正監視期間中フラグをセーブするものである。ステップS485を経ると、特図普段処理移行設定処理1を終了する。
これにより、特図普段処理に移行するための各種データ、例えば特図普段処理に係る処理番号「0」を設定し、各大入賞口不正監視期間を規定するそれぞれのフラグ(各大入賞口不正監視情報)を設定する処理が行われる。
次に、上述の特図普段処理における特図1変動開始処理1(ステップS469)の詳細について図33により説明する。
特図1変動開始処理は、第1特図変動表示ゲームの開始時に行う処理であり、具体的には、図33に示すように、まず、実行する特図変動表示ゲームの種別(ここでは特図1)を示す特図1変動フラグを変動図柄判別領域にセーブし(ステップS491)、第1特図変動表示ゲームが大当りであるか否かを判別するための大当りフラグ1にはずれ情報や大当り情報を設定する大当りフラグ1設定処理(ステップS492)を行う。なお、ステップS492における大当りフラグ1設定処理の詳細については後述する。
なお、ステップS493における特図1停止図柄設定処理、ステップS494における
特図情報設定処理、ステップS496における変動パターン設定処理、ステップS497における変動開始情報設定処理の詳細については後述する。
次に、上述の特図1変動開始処理1における大当りフラグ1設定処理(ステップS492)の詳細について図34により説明する。
ルーチンが開始すると、ステップS501で大当りフラグ1領域にはずれ情報をセーブする。大当り判定前には、予めはずれの情報をセットしておくためである。次いで、ステップS502でRWMの特図1大当り乱数格納領域(保留数1用)から大当り乱数をロードして準備する。なお、保留数1用とは、消化順序が最先(ここでは特図1のうちで最先)の特図始動記憶についての情報(乱数等)を格納する領域である。その後、取得した大当り乱数値が大当り判定値と一致するか否かに応じて大当りであるか否かを判定する大当り判定処理(ステップS503)を行う。これは、今回、抽出した特図1に対応する大当り乱数が大当りの範囲(大当り下限判定値と上限判定値の間にある値:大当り判定値と一致)にあるかどうかをチェックするもので、大当りの範囲内にあれば、大当りと判断できる(詳細ルーチンは後述)。
一方、ステップS504でNOのとき(はずれのとき)には、大当りフラグ1設定処理を終了する。したがって、このときは、大当りフラグ1にはずれ情報がセーブされた状態で処理を終わり、大当りフラグ1は設定されない。
次に、上述の大当りフラグ1設定処理における大当り判定処理(ステップS503)の詳細について図35により説明する。
ルーチンが開始すると、ステップS511で大当り判定用の下限判定値を設定する処理を行う。その後、ステップS512で対象の大当り乱数の値が下限判定値未満であるか否かをチェック、つまり、図34のステップS502で読み込んだ大当り乱数の値が、当該大当り乱数の当り判定値の下限値未満であるかをチェックする。
なお、大当りであるとは大当り乱数が大当り判定値と一致することである。大当り判定値は連続する複数の値であり、大当り乱数が、大当り判定値の下限の値である下限判定値以上で、かつ、大当り判定値の上限の値である上限判定値以下である場合に、大当りであると判定される。
ステップS512で大当り乱数の値が下限判定値未満であると判定すると、ステップS517に分岐し、判定結果としてはずれを設定し、リターンする。
また、ステップS513で高確率中でないと判定すると、ステップS515に分岐し、低確率中における大当り判定用の上限判定値を設定する処理を行い、その後、ステップS516に進む。
このようにして、高確率中と低確率中の上限判定値が設定された場合、対象の大当り乱数の値が下限判定値と上限判定値で挟まれた間(ゾーン)にあれば、大当りと判断できることになる。
そのため、ステップS516では対象の大当り乱数の値が上限判定値より大きいか(上限判定値を超えたか)否かをチェックし、ステップS516で大当り乱数の値が上限判定値より大きいと判定(ステップS516;YES)すると、大当りではないと判断できるので、ステップS517に進んで判定結果としてはずれを設定し、リターンする。
一方、ステップS516で対象の大当り乱数の値が上限判定値以下である(上限判定値を超えていない)と判定(ステップS516;NO)すると、対象の大当り乱数の値が下限判定値と上限判定値で挟まれた間(ゾーン)にあらから、大当りと判断して、ステップS518で判定結果として大当りを設定してリターンする。
次に、上述の特図1変動開始処理1における特図1停止図柄設定処理(ステップS493)の詳細について図36により説明する。
ルーチンが開始すると、ステップS521で大当りフラグ1が大当りか(大当り情報がセーブされているか)どうかをチェックし、大当りである場合(ステップS521;YES)は、特図1大当り図柄乱数格納領域(保留数1用)から大当り図柄乱数をロードする(ステップS522)。次に、特図1大当り図柄テーブルを設定する(ステップS523)。
ここで、特図1大当り図柄テーブル上に定義されている情報としては、以下のものがある。
・乱数の判定値(振り分け率を示す)
・判定値に対応する停止図柄番号
続けて、ステップS524に進み、ロードした大当り図柄乱数に対応する停止図柄番号を取得して特図1停止図柄番号領域にセーブする。この処理により特別結果の種類が選択される。停止図柄番号とは、特図表示器(ここでは、一括表示装置35における7セグメントの特図1表示器)での停止図柄を設定するものである。
飾り特図コマンドは、例えば11種類あり、この種類の違いにより演出制御装置300における特図種別が判別できるようになっている。
以上の処理により、特図変動表示ゲームの結果に対応した停止図柄が設定される。
次に、上述の特図1変動開始処理における特図情報設定処理(ステップS494)の詳細について図37により説明する。
特図情報設定処理では、まず、特図時短中(時短状態)であるかを判定する(ステップS541)。
ここで、時短とは例えば大当たり終了後、特図や普図の変動時間を通常よりも短縮し、時間効率を高めるとともに、普図当たり確率を高めて普通電動役物(普電)(第2始動入賞口26)の開放(普電の開放時間を通常よりも長くすることも含む)による始動口への入賞のサポート(つまり、普電サポート)を行うことであり、そのうち、特図時短は特図に関してのものであり、特図の変動時間を短縮し、かつ普電サポートを行う状態である。
特図時短中でない場合(ステップS541;NO)は、通常時の変動パターン選択グループ情報テーブルを設定する(ステップS542)。また、特図時短中である場合(ステップS541;YES)は、時短時の変動パターン選択グループ情報テーブルを設定する(ステップS543)。ステップS542を経ると、ステップS544に進む。また、ステップS543を経た場合もステップS544に進む。
なお、変動グループとは複数の変動パターンが含まれたもので、変動パターンを決定する際には、まず変動グループを選択し、さらにこの変動グループの中から一の変動パターンを選択するようになっている。
これにより、変動振分情報2領域には、停止図柄パターン情報と、演出モード情報とからとから求められる変動振分情報2がセーブされる。この変動振分情報2は後に変動グループを選択するために用いられる。なお、演出モードは、確率状態、時短状態の有無、特図変動表示ゲームの進行状況などに応じて、複数の演出モードから一の演出モードが設定されるようになっている。
次に、上述の特図1変動開始処理における変動パターン設定処理(ステップS496)の詳細について図38により説明する。
なお、変動パターンは、特図変動表示ゲームの開始からリーチ状態となるまでの変動態様である前半変動パターンと、リーチ状態となってから特図変動表示ゲームの終了までの変動態様である後半変動パターンとからなり、先に後半変動パターンを設定してから前半変動パターンを設定する。
演出モード番号が2未満でない場合(ステップS553;NO)は、停止図柄パターンがはずれ停止図柄パターンであるかを判定する(ステップS554)。これは、保留数によって振分が異なるパターン(モード)か否かを判定するものである。
次いで、停止図柄パターンがはずれ停止図柄パターンでない場合(ステップS554;NO)は、対象の変動パターン乱数1格納領域(保留数1用)から変動パターン乱数1をロードして準備する(ステップS557)。
次に、取得したアドレスを後半変動グループのアドレスとして準備し(ステップS556)、対象の変動パターン乱数1格納領域(保留数1用)から変動パターン乱数1をロードして準備する(ステップS557)。
演出モード番号が2未満である場合や、停止図柄パターンがはずれ停止図柄パターンである場合は、始動記憶数に関する情報である保留数情報から求められた変動振分情報1も加味してアドレスを取得することで、始動記憶数によって変動パターンの選択態様が異なるようにされている。
次に、上述の変動パターン設定処理における2バイト振り分け処理(ステップS558)の詳細について図39により説明する。
2バイト振り分け処理は、変動パターン乱数1に基づいて後半変動グループテーブルから特図変動表示ゲームの後半変動選択テーブルを選択するための処理である。
次に、上述の変動パターン設定処理における振り分け処理(ステップS561、S567)の詳細について図40により説明する。
振り分け処理は、変動パターン乱数2に基づいて、後半変動選択テーブル(後半変動パターングループ)から特図変動表示ゲームの後半変動パターンを選択したり、変動パターン乱数3に基づいて、前半変動選択テーブル(前半変動パターングループ)から特図変動表示ゲームの前半変動パターンを選択したりするための処理である。
次に、上述の特図1変動開始処理における変動開始情報設定処理理(ステップS497)の詳細について図41により説明する。
変動開始情報設定処理では、まず、対象となる変動パターン乱数1〜3のRWMの乱数格納領域をクリアした後(ステップS601)、変動パターン設定処理にて取得された前半変動番号に対応する前半変動時間値テーブルの値を取得する処理(ステップS602)を行い、続けて、前半変動番号に対応する前半変動時間値を取得する処理(ステップS603)を行い、さらに、後半変動パターン設定処理にて取得された後半変動番号に対応する後半変動時間値テーブルを設定する処理(ステップS604)を行う。
続けて、前半変動番号に対応する変動コマンド(MODE)を算出して準備した後(ステップS608)、後半変動番号の値を変動コマンド(ACTION)として準備して(ステップS609)、コマンド設定処理(ステップS610)を行う。
その後、特図変動表示ゲームの結果を表示する停止時間の延長に関する処理として、まず、停止延長情報領域をクリアする(ステップS615)。そして、停止図柄パターンがはずれ停止図柄パターンであり(ステップS616;YES)、演出モード番号が2であり(ステップS617;YES)、当該演出モードでの残り回転数(ゲーム数)が1である場合(ステップS618;YES)は、特図高確率(高確率状態)中であるかを判定する(ステップS619)。
また、特図高確率中である場合(ステップS519;YES)は、停止延長情報2を停止延長情報領域にセーブし(ステップS621)、停止延長情報に対応する停止情報コマンドを準備して(ステップS622)、コマンド設定処理(ステップS623)を行い、変動開始情報設定処理を終了する。これにより、停止時間が通常特図表示時間よりも延長された特図延長表示時間2(第2延長停止時間)に設定される。
このように、特図変動表示ゲームの停止時間は、当該特図変動表示ゲームの結果や特定回転数であるか否か、演出モードの状態に基づき、当該特図変動表示ゲームの開始時に設定が行われるようになっている。これにより、例えば変動時間と停止時間とで連続する演出を設定することが可能となり、遊技の興趣を向上することができる。
次に、上述の特図普段処理における特図2変動開始処理1(ステップS464)の詳細について図42により説明する。
特図2変動開始処理は、第2特図変動表示ゲームの開始時に行う処理であって、図33に示した特図1変動開始処理での処理と同様の処理を、第2始動記憶を対象として行うものである。
ルーチンが開始すると、まず、実行する特図変動表示ゲームの種別(ここでは特図2)を示す特図2変動フラグを変動図柄判別領域にセーブし(ステップS631)、第2特図変動表示ゲームが大当りであるか否かを判別するための大当りフラグ2にはずれ情報や大当り情報を設定する大当りフラグ2設定処理(ステップS632)を行う。なお、ステップS632における大当りフラグ2設定処理の詳細については後述する。
次に、上述の特図2変動開始処理1における大当りフラグ2設定処理(ステップS632)の詳細について図43により説明する。
この処理は、図34に示した大当りフラグ1設定処理での処理と同様の処理を、第2始動記憶を対象として行うものである。この大当りフラグ2設定処理では、まず、大当りフラグ2領域にはずれ情報をセーブする(ステップS641)。大当り判定前には、予めはずれの情報をセットしておくためである。次に、RWMの特図2大当り乱数格納領域(保留数1用)から大当り乱数をロードして準備する(ステップS642)。なお、保留数1用とは、消化順序が最先(ここでは特図2のうちで最先)の特図始動記憶についての情報(乱数等)を格納する領域である。その後、取得した大当り乱数値が大当り判定値と一致するか否かに応じて大当りであるか否かを判定する大当り判定処理(ステップS643、図35参照)を行う。これは、今回、抽出した特図2に対応する大当り乱数が大当りの範囲(大当り下限判定値と上限判定値の間にある値:大当り判定値と一致)にあるかどうかをチェックするもので、大当りの範囲内にあれば、大当りと判断できる。
次に、上述の特図2変動開始処理における特図2停止図柄設定処理(ステップS633)の詳細について図44により説明する。
この処理は、図36に示した特図2停止図柄設定処理と同様の処理を、第2始動記憶を対象として行うものである。
ルーチンが開始すると、ステップS651で大当りフラグ2が大当りか(大当り情報がセーブされているか)どうかをチェックし、大当りである場合(ステップS651;YES)は、特図2大当り図柄乱数格納領域(保留数1用)から大当り図柄乱数をロードする(ステップS652)。次に、特図2大当り図柄テーブルを設定する(ステップS653)。
ここで、特図2大当り図柄テーブル上に定義されている情報としては、以下のものがある。
・乱数の判定値(振り分け率を示す)
・判定値に対応する停止図柄番号
続けて、ステップS654に進み、ロードした大当り図柄乱数に対応する停止図柄番号を取得して特図2停止図柄番号領域にセーブする。この処理により特別結果の種類が選択される。停止図柄番号とは、特図表示器(ここでは、一括表示装置35における7セグメントの特図2表示器)での停止図柄を設定するものである。
飾り特図コマンドは、例えば11種類あり、この種類の違いにより演出制御装置300における特図種別が判別できるようになっている。
以上の処理により、特図変動表示ゲームの結果に対応した停止図柄が設定される。
次に、上述の特図普段処理における特図変動中処理移行設定処理(特図1)(ステップS470)の詳細について図45により説明する。
ルーチンが開始すると、ステップS671で処理番号として「1」(特図変動中処理に係る処理番号に相当)を設定し、ステップS672で特図ゲーム処理番号領域に処理番号(ここでは「1」)をセーブする。次いで、ステップS673で客待ちデモフラグ領域をクリアし、ステップS674で特図1変動開始に関する信号を試験信号出力データ領域にセーブする。
次いで、ステップS675で特図1変動制御フラグ領域に変動中フラグをセーブし、ステップS676で特図1点滅制御タイマ領域に点滅制御タイマ(一括表示装置35の中のLEDセグメントである特図1表示器の点滅の周期のタイマ)の初期値(例えば、200ms)をセーブしてルーチンを終了する。
このようにして、特図1に関して特図変動中処理に移行するための処理が行われる。
次に、上述の特図普段処理における特図変動中処理移行設定処理(特図2)(ステップS465)の詳細について図46により説明する。
ルーチンが開始すると、ステップS681で処理番号として「1」(特図変動中処理に係る処理番号に相当)を設定し、ステップS682で特図ゲーム処理番号領域に処理番号(ここでは「1」)をセーブする。次いで、ステップS683で客待ちデモフラグ領域をクリアし、ステップS684で特図2変動開始に関する信号を試験信号出力データ領域にセーブする。
次いで、ステップS685で特図2変動制御フラグ領域に変動中フラグをセーブし、ステップS686で特図2点滅制御タイマ領域に点滅制御タイマ(一括表示装置35の中のLEDセグメントである特図2表示器の点滅の周期のタイマ)の初期値(例えば、200ms)をセーブしてルーチンを終了する。
このようにして、特図2に関して特図変動中処理に移行するための処理が行われる。
次に、上述の特図ゲーム処理における特図変動中処理(ステップS330)の詳細について図47により説明する。
特図変動中処理では、まず、停止延長情報(停止延長情報1又は2)があるかを判定する(ステップS691)。停止延長情報がない場合(ステップS691;NO)は、通常特図表示時間(例えば600ms)を特図ゲーム処理タイマ領域にセーブし(ステップS692)、特図表示中処理移行設定処理(ステップS696)を行って、特図表示中処理を終了する。
一方、停止延長情報1でない場合(ステップS693;NO)、すなわち停止延長情報2である場合は、特図延長表示時間2(例えば14300ms)を特図ゲーム処理タイマ領域にセーブし(ステップS695)、特図表示中処理移行設定処理(ステップS696)を行って、特図表示中処理を終了する。すなわち、遊技制御装置100が、変動表示ゲームの停止結果態様を表示する停止時間を設定する停止時間設定手段をなす。
上記のように特図表示時間は、例えば以下のように制御される。
・通常特図表示時間:600ms
・特図延長表示時間1:3500ms
・特図延長表示時間2:14300ms
このように特図変動中処理においては、大当りの当否や後半変動番号ではなく、特図の変動開始時に設定されている停止延長情報(当該ゲームの当否や特定回転数、演出モード状態等により設定)を基に停止後の表示時間を決定している。
次に、上述の特図変動中処理における特図表示中処理移行設定処理(ステップS696)の詳細について図48により説明する。
ルーチンが開始すると、ステップS701で処理番号として「2」(特図表示中処理に係る処理番号に相当)を設定し、ステップS702で特図ゲーム処理番号領域に処理番号(ここでは「2」)をセーブする。次いで、ステップS703で特図1変動終了処理に関する信号を試験信号出力データ領域にセーブし、ステップS704で特図2変動終了処理に関する信号を試験信号出力データ領域にセーブする。
次いで、ステップS705で図柄確定回数信号制御タイマ領域に制御タイマ初期値(例えば、256ms)をセーブする。その後、ステップS706で特図1変動制御フラグ領域に特図1表示器(一括表示装置35の中のLEDセグメントである特図1表示器)における特図1変動表示ゲームの制御用の情報として特図1表示器での変動停止に係る停止フラグをセーブし、ステップS707で特図2変動制御フラグ領域に停止フラグをセーブしてルーチンを終了する。
このようにして、特図表示中処理に移行するための処理が行われる。
次に、上述の特図ゲーム処理における特図表示中処理(ステップS331)の詳細について図49により説明する。
特図表示中処理では、まず、特図2変動開始処理1における大当りフラグ2設定処理にて設定された大当りフラグ2をロードして(ステップS711)、RWMの大当りフラグ2領域をクリアする処理(ステップS712)を行う。
次に、ロードされた大当りフラグ2が大当りかをチェックして(ステップS713)、大当りである(ステップS713;YES)と判定すると、ステップS718にジャンプしてRWMの大当りフラグ1領域をクリアする処理を行い、次いで、ステップS719で特図2大当りの開始に関する信号を試験信号出力データ領域にセーブし、ステップS720に処理を移行する。
続けて、ロードされた大当りフラグ1が大当りかをチェックして(ステップS716)、大当りである(ステップS716;YES)と判定すると、特図1大当りの開始に関する信号を試験信号出力データ領域にセーブし(ステップS717)、ステップS720に処理を移行する。
また、ステップS716で大当りでない(NO)と判定すると、ステップS736に処理を移行する。このときは、以後に時短の有無を判断して処理を進めることになる。
次いで、ラウンド数上限値情報に対応するラウンド数上限値を取得し、ラウンド数上限値をラウンド数上限値領域にセーブする(ステップS721)。続けて、ラウンド数上限値情報に対応するラウンドLEDポインタを取得し、当該ラウンドLEDポインタをラウンドLEDポインタ領域にセーブする(ステップS722)。
次に、停止図柄パターンに対応した飾り特図コマンドをRWMの飾り特図コマンド領域からロードして準備し(ステップS723)、コマンド設定処理(ステップS724)を行う。その後、普図変動表示ゲーム及び特図変動表示ゲームにて当り結果となる確率を通常確率状態(低確率状態)とする情報に係る低確率時の確率情報コマンドを準備して(ステップS725)、コマンド設定処理(ステップS726)を行う。続けて、特図1又は特図2停止図柄設定処理にて設定された図柄情報(停止図柄番号又は停止図柄パターン)に対応するファンファーレコマンドを準備して(ステップS727)、コマンド設定処理(ステップS728)を行う。
次に、特図ゲームモードフラグをロードし(ステップS733)、ロードしたフラグを特図ゲームモードフラグ退避領域へセーブする(ステップS734)。これにより、特別結果が発生した際における確率状態の情報が記憶される。そして、後に記憶した情報に基づき特別遊技状態の終了後の演出モードが決定される。
具体的には、ファンファーレ/インターバル中処理に係る処理番号「3」、各種状態の切り替えに係る情報を設定する処理等を行って、特図変動中処理を終了する。
ここで、各種状態が切り替わるための情報としては、例えば、外部情報端子板55に出力用の遊技状態が特別遊技状態(大当り状態)であることを示す信号、普図変動表示ゲーム及び特図変動表示ゲームにて当り結果となる確率が通常確率状態(低確率状態)であることを示す試験信号、大入賞口不正監視期間における大入賞口への入賞数のクリアに係る情報、特別遊技状態のラウンド数のクリアに係る情報、高確率状態の表示に係る遊技状態表示LEDを消灯させる情報、普図変動表示ゲームにて当り結果となる確率を通常確率状態(低確率状態)とする情報、停電復旧時に点灯した高確率状態の表示に係る遊技状態表示LED(高確率報知LED)を消灯させる情報、特図変動表示ゲームの制御用の情報(例えば、特図変動表示ゲームにて当り結果となる確率を通常確率状態(低確率状態)とする情報や、停電復旧時に演出制御装置300に出力される、普図変動表示ゲームや特図変動表示ゲームにて当り結果となる確率が通常確率状態(低確率状態)であることを示す情報や、大当り後の残り時間短縮変動回数のクリアに係る情報など)等が挙げられる。
次に、上述の特図表示中処理におけるファンファーレ/インターバル中処理移行設定処理1(ステップS735)の詳細について図50により説明する。
ルーチンが開始すると、ステップS741で処理番号として「3」(ファンファーレ/インターバル中処理に係る処理番号に相当)を設定し、ステップS742で特図ゲーム処理番号領域に処理番号(ここでは「3」)をセーブする。次いで、ステップS743で大当りの開始に関する信号を外部情報出力データ領域にセーブし、ステップS744で高確率&時短の終了に関する信号を試験信号出力データ領域にセーブする。
次いで、ステップS748で変動図柄判別フラグ領域をクリアし、ステップS749で高確率状態の表示に係る遊技状態表示LEDを消灯させるために高確率報知フラグ領域をクリアし、ステップS750で特図ゲームモードフラグ領域に特図低確率&時短なしフラグをセーブし、ステップS751で停電復旧時に演出制御装置300に出力されるコマンドをセーブする停電復旧時送信コマンド領域に確率情報コマンド(低確率)をセーブする。次いで、ステップS752では時短状態で実行可能な特図変動表示ゲームの回数を管理するための時短変動回数領域をクリアする。これにより、高確率状態及び時短状態が終了し、通常確率状態かつ通常動作状態となる。
次いで、次モード移行情報領域に更新なしコードをセーブし(ステップS755)、演出モードコマンド領域に演出モード1のコマンドをセーブして(ステップS756)、ファンファーレ/インターバル中処理移行設定処理1を終了する。これにより、特別遊技状態の発生に伴い演出モードの情報が一旦クリア(つまり、デフォルト状態の初期値になる)されることとなる。
次に、上述の特図表示中処理における演出モード情報チェック処理(ステップS736)の詳細について図51により説明する。
演出モード情報チェック処理では、まず、次モード移行情報が更新なしコードであるかを判定する(ステップS761)。次モード移行情報が更新なしコードである場合(ステップS761;YES)は、演出モード情報チェック処理を終了する。この場合は、実行した特図変動表示ゲームの回数に応じた演出モードの変更が行われない場合であって、例えば高確率状態において、次回の大当りまで継続する演出モードが選択されている場合である。
また、演出残り回転数が規定回転数である場合(ステップS772;YES)は、演出モード切替準備コマンドを準備し(ステップS773)、コマンド設定処理(ステップS774)を行い、演出モード情報チェック処理を終了する。これにより、演出モードの切替の規定回転数前から切替を予告する演出を行うことが可能となる。
このように、遊技制御装置100で演出モードを管理するようにしたことで、例えば特定の演出モードでのみ特定のリーチを発生させる等の制御が可能となり、遊技の興趣を向上させることができる。
次に、上述の特図表示中処理における時間短縮変動回数更新処理(ステップS737)の詳細について図52により説明する。
時間短縮変動回数更新処理では、まず、特図高確率(高確率状態)中であるかを判定する(ステップS781)。特図高確率中である場合(ステップS781;YES)は、時間短縮変動回数更新処理を終了する。また、特図高確率中でない場合(ステップS781;NO)は、特図時短(時短状態)中であるかを判定する(ステップS782)。
また、時間短縮変動回数が0である場合(ステップS784;YES)、すなわち今回の特図変動表示ゲームで時短状態が終了する場合は、確率情報コマンド(時短終了)を準備する(ステップS785)。確率情報コマンド(時短終了)としては、低確率時と同様のコマンドを使用する。
次いで、コマンド設定処理(ステップS786)を行い、その後、時短終了設定処理を行い(ステップS787)、時間短縮変動回数更新処理を終了する。
次に、上述の時間短縮変動回数更新処理における時短終了設定処理(ステップS787)の詳細について図53により説明する。
時短終了設定処理では、まず、時短の終了に関する信号を外部情報出力データ領域にセーブし(ステップS791)、時短の終了に関する信号を試験信号出力データ領域にセーブする(ステップS792)。
次に、遊技状態表示番号領域に低確率中の番号をセーブし(ステップS793)、普図ゲームモードフラグ領域に普図低確率&普電サポートなしフラグをセーブする(ステップS794)。さらに、特図ゲームモードフラグ領域に特図低確率&時短なしフラグをセーブし(ステップS795)、停電復旧時送信コマンド領域に確率情報コマンド(低確率)をセーブして(ステップS796)、時短終了設定処理を終了する。
このようにして、時短回数を遊技制御装置100で管理して時短の終了時に必要な情報(状態)を設定することが行われる。
なお、本実施例の遊技機(パチンコ機1)における特別結果の種類と大入賞口(変動入賞装置)の開閉パターンについては、詳細な説明を後述する。
次に、上述の特図ゲーム処理におけるファンファーレ/インターバル中処理(ステップS332)の詳細について図54、図55により説明する。
ファンファーレ/インターバル中処理では、まず、特別遊技状態のラウンド数を更新(+1)する処理(ステップS801)を行った後、大入賞口開放情報が上大入賞口(第2変動入賞装置33)開閉パターン1〜3であるかを判定する(ステップS802)。
ここで、上大入賞口(第2変動入賞装置33)の開閉パターンとしては、後述の図95(詳細は後述)に示すように、上大入賞口開閉パターン1から上大入賞口開閉パターン5までの5種類の開閉パターンがあるので、ステップS802では開閉パターン1〜3であるかを判定するものである。
なお、上大入賞口開閉パターン1〜3である場合は一のラウンドの実行時間が短いため、ラウンドごとではなく、特別遊技状態の開始から終了まで一連の映像を表示するようになっており、ラウンド数に対応するラウンドコマンドは送信しない。
また、大入賞口開放情報が上大入賞口開閉パターン1〜3でない場合(ステップS802;NO)は、特別遊技状態のラウンド数に対応するラウンドコマンドを準備して(ステップS803)、コマンド設定処理(ステップS804)を行う。
ここで、下大入賞口(変動入賞装置27)の開閉パターンとしては、後述の図96(詳細は後述)に示すように、下大入賞口開閉パターン1から下大入賞口開閉パターン3までの3種類の開閉パターンがあるので、ステップS806では下大入賞口開閉パターン1〜3の何れかであるかを判定するものである。
大入賞口開放情報が下大入賞口開閉パターンである場合(ステップS806;YES)は、下大入賞口開閉パターンの初回ラウンド(1R)に対応する制御ポインタ(S,E)を設定し(ステップS810)、図55のステップS820に移行する。
なお、下大入賞口開閉パターン1〜3については、何れも初回ラウンドは同じ動作を行うようになっている。
また、大入賞口開放情報が下大入賞口開閉パターンでない場合(ステップS806;NO)は、大入賞口開放情報が上大入賞口開閉パターン4であるかを判定する(ステップS807)。
また、大入賞口開放情報が上大入賞口開閉パターンである場合(ステップS813;YES)は、上大入賞口開閉パターンの2ラウンド以降に対応する制御ポインタ(S,E)を設定し(ステップS815)、その後、図55のステップS820に移行する。
また、大入賞口開放情報が下大入賞口開閉パターン2でない場合(ステップS817;NO)は、下大入賞口開閉パターン3の12ラウンド以降に対応する制御ポインタ(S,E)を設定し(ステップS819)、その後、図55のステップS820に移行する。
また、大入賞口開放情報が下大入賞口開閉パターンでない場合(ステップS823;NO)は、大入賞口開放中処理移行設定処理2を行い(ステップS825)、ファンファーレ/インターバル中処理を終了する。
以上の処理により、後述の図95、図96に示す開閉パターンの何れかが設定されることとなる。
次に、上述のファンファーレ/インターバル中処理におけるソレノイド情報設定処理(ステップS822)の詳細について図56により説明する。
ソレノイド情報設定処理では、まず、大入賞口制御アドレステーブルを設定し(ステップS831)、大当り中制御ポインタに対応する大入賞口制御テーブルのアドレスを取得する(ステップS832)。その後、出力データを取得し、大入賞口ソレノイド出力データ領域にセーブして(ステップS833)、開閉時間値を取得して特図ゲーム処理タイマ領域にセーブし(ステップS834)、ソレノイド情報設定処理を終了する。
この処理により、大入賞口の開放や閉鎖及びその時間が設定されることとなる。
次に、上述のファンファーレ/インターバル中処理における大入賞口開放中処理移行設定処理1(ステップS824)の詳細について図57により説明する。
大入賞口開放中処理移行設定処理1においては、まず、処理番号を大入賞口開放中処理にかかる「4」に設定し(ステップS841)、処理番号を特図ゲーム処理番号領域にセーブする(ステップS842)。その後、下大入賞口の開放開始に関する信号を試験信号出力データ領域にセーブし(ステップS843)、大入賞口への入賞数を記憶する大入賞口カウント数領域の情報をクリアする(ステップS844)。そして、大入賞口判別フラグ領域に下大入賞口制御中フラグをセーブして(ステップS845)、大入賞口開放中処理移行設定処理1を終了する。
次に、上述のファンファーレ/インターバル中処理における大入賞口開放中処理移行設定処理2(ステップS825)の詳細について図58により説明する。
大入賞口開放中処理移行設定処理2においては、まず、処理番号を大入賞口開放中処理にかかる「4」に設定し(ステップS851)、処理番号を特図ゲーム処理番号領域にセーブする(ステップS852)。その後、上大入賞口の開放開始に関する信号を試験信号出力データ領域にセーブし(ステップS853)、大入賞口への入賞数を記憶する大入賞口カウント数領域の情報をクリアする(ステップS854)。そして、大入賞口判別フラグ領域に上大入賞口制御中フラグをセーブして(ステップS855)、大入賞口開放中処理移行設定処理2を終了する。
次に、上述の特図ゲーム処理における大入賞口開放中処理(ステップS333)の詳細について図59により説明する。
大入賞口開放中処理では、まず、大当り中制御ポインタを+1更新し(ステップS861)、制御ポインタの値が制御ポインタ上限値領域の値に達したかを判定する(ステップS862)。
制御ポインタの値が制御ポインタ上限値領域の値に達していない場合(ステップS862;NO)は、ソレノイド情報設定処理(ステップS869、図56参照)を行う。これにより、更新された制御ポインタに応じた大入賞口の開閉態様が設定されることとなる。そして、大入賞口開放中処理移行設定処理3を行って(ステップS870)、大入賞口開放中処理を終了する。
図61に示すように大入賞口開放中処理移行設定処理3では、処理番号を大入賞口開放中処理にかかる「4」に設定し(ステップS901)、処理番号を特図ゲーム処理番号領域にセーブして(ステップS902)、大入賞口開放中処理移行設定処理3を終了する。
また、最終ラウンドである場合(ステップS864;YES)は、特別遊技状態の終了の際におけるエンディング表示画面の表示制御等に係るエンディングコマンドを準備し(ステップS866)、コマンド設定処理(ステップS867)を行い、大入賞口残存球処理移行設定処理(ステップS868)を行って、大入賞口開放中処理を終了する。
次に、上述の大入賞口開放中処理における大入賞口残存球処理移行設定処理(ステップS868)の詳細について図60により説明する。
大入賞口残存球処理移行設定処理においては、まず、処理番号を大入賞口残存球処理にかかる「5」に設定し(ステップS891)、処理番号を特図ゲーム処理番号領域にセーブする(ステップS892)。その後、残存球処理に要する時間である大入賞口残存球処理時間(例えば1380ms)を特図ゲーム処理タイマ領域にセーブする(ステップS893)。そして、変動入賞装置27の開閉部材27b又は第2変動入賞装置33の開閉部材33aを閉鎖するために、第1大入賞口ソレノイド133又は第2大入賞口ソレノイド134をオフさせるためのオフデータを大入賞口ソレノイド出力データ領域にセーブして(ステップS894)、大入賞口残存球処理移行設定処理を終了する。
次に、上述の特図ゲーム処理における大入賞口残存球処理(ステップS334)の詳細について図62により説明する。
大入賞口残存球処理では、まず、実行中の特別遊技状態における今回のラウンド数とRWMのラウンド数上限値領域のラウンド数上限値とを比較して今回のラウンドが上限値に達した(最終ラウンド)か否かをチェックする(ステップS891)。
そして、特別遊技状態における現在のラウンドが最終ラウンドでない場合(ステップS911;NO)は、今回のラウンド数と大入賞口開放情報に対応するインターバル時間を特図ゲーム処理タイマ領域にセーブし(ステップS912)、ファンファーレ/インターバル中処理移行設定処理2(ステップS913)を行って、大入賞口残存球処理を終了する。
なお、インターバル時間は今回のラウンド数と大入賞口開放情報に対応する時間(例えば、上大入賞口開閉パターン1〜3であれば68ms)が設定される。ラウンドとラウンドの間のインターバル期間は、ラウンドの終了から大入賞口残存球処理時間(例えば1380ms)が経過し、さらに該大入賞口残存球処理時間の経過からインターバル時間が経過するまでの期間とされ、例えば、上大入賞口開閉パターン1〜3であれば1448msとなる。
このように、エンディング期間(エンディング時間)は図柄情報ではなく、大入賞口情報と大当り時のゲームモードフラグに基づいて設定される。
なお、エンディング期間(エンディング時間)は、上記に限らず、例えば図柄情報に基づいて設定してもよい。
また、特別結果が2R確変であって当該特別結果の導出時に時短状態である場合、すなわち特別結果の導出時に時短状態で選択される演出モードであった場合に選択される上大入賞口開閉パターン2であれば、エンディング時間が20msとされる。よって、エンディング期間の長さは、このエンディング時間の前に大入賞口残存球処理時間として費やされる1380msと合わせて1400msとされる。
次に、上述の大入賞口残存球処理におけるファンファーレ/インターバル中処理移行設定処理2(ステップS913)の詳細について図63により説明する。
ファンファーレ/インターバル中処理移行設定処理2では、まず、ファンファーレ/インターバル中処理に係る処理番号である「3」を設定し(ステップS921)、特図ゲーム処理番号領域に処理番号をセーブする(ステップS922)。
次に、下大入賞口(変動入賞装置27)の開放終了に関する信号を試験信号出力データ領域にセーブし(ステップS923)、上大入賞口(第2変動入賞装置33)の開放終了に関する信号を試験信号出力データ領域にセーブする(ステップS924)。そして、大入賞口判別フラグ領域をクリアして(ステップS925)、ファンファーレ/インターバル中処理移行設定処理2を終了する。
次に、上述の大入賞口残存球処理における大当り終了処理移行設定処理(ステップS916)の詳細について図64により説明する。
大当り終了処理移行設定処理においては、まず、大当り終了処理に係る処理番号として「6」を設定し(ステップS931)、処理番号を特図ゲーム処理番号領域にセーブする(ステップS932)。その後、下大入賞口(変動入賞装置27)の開放終了に関する信号を試験信号出力データ領域にセーブし(ステップS933)、上大入賞口(第2変動入賞装置33)の開放終了に関する信号を試験信号出力データ領域にセーブする(ステップS934)。
そして、ラウンド数の上限値判定用のフラグを記憶するラウンド数上限値情報領域の情報をクリアし(ステップS938)、大入賞口の開放情報判定用のフラグを記憶する大入賞口開放情報領域の情報をクリアして(ステップS939)、大入賞口の開閉態様を設定するための大当り中制御ポインタ領域の情報をクリアする(ステップS940)。その後、大当り中制御ポインタのエンド値を記憶する大当り中制御ポインタ上限値領域をクリアして(ステップS941)、大入賞口判別フラグ領域をクリアし(ステップS942)、大当り終了処理移行設定処理を終了する。
次に、上述の特図ゲーム処理における大当り終了処理(ステップS335)の詳細についての詳細について図65により説明する。
大当り終了処理では、まず、今回の特別遊技状態を実行する契機となった特別結果の種類に基づき設定される確率変動判定フラグが、特別遊技状態の終了後に高確率状態となる場合に設定される高確率データかを判定する(ステップS951)。
高確率データでない場合(ステップS951;NO)は、大当り終了設定処理1を行う(ステップS95)。これは、高確率突入でない状態であるから、大当り終了後に時短となるモードに移行する処理を設定するものである。
一方、高確率データである場合(ステップS951;YES)は、大当り終了設定処理2を行う(ステップS953)。これは、高確率突入の状態であるから、大当り終了後に確率変動(高確率開始)となるモードに移行する処理を設定するものである。
次いで、特図ゲームモードフラグに対応する確率情報コマンドを準備し(ステップS954)、コマンド設定処理(ステップS955)を行う。
その後、新たな演出モード番号に対応するコマンドを準備し(ステップS960)、コマンドを演出モードコマンド領域にセーブして(ステップS961)、コマンド設定処理(ステップS962)を行う。そして、特図普段処理移行設定処理3を行い(ステップS963)、大当り終了処理を終了する。
次に、上述の大当り終了処理における大当り終了設定処理1(ステップS952)の詳細について図66により説明する。
ルーチンが開始すると、ステップS971で時短の開始に関する信号を外部情報出力データ領域にセーブする。この領域での時短の開始に関する信号は、例えば大当り2信号ONである。次いで、ステップS972で時短の開始に関する信号を試験信号出力データ領域にセーブする。この領域での時短の開始に関する信号は、以下のものがある。
・特別図柄1変動時間短縮状態信号をON
・特別図柄2変動時間短縮状態信号をON
・普通図柄1高確率状態信号をON
・普通図柄1変動時間短縮状態信号をON
・普通電動役物1開放延長状態信号をON
次いで、ステップS975で停電復旧時送信コマンド領域に確率情報コマンド(時短)をセーブし、ステップS976で時間短縮変動回数領域に時間短縮変動回数初期値(例えば70)をセーブしてリターンする。
以上の処理により、特別遊技状態の終了後、特図変動表示ゲームの確率状態が通常確率状態となるとともに時短状態となる。また、時短変動回数領域に時短変動回数初期値(例えば70)をセットすることで、所定回数(例えば70回)の特図変動表示ゲームの実行により時短状態が終了するようになる。
次に、上述の大当り終了処理における大当り終了設定処理2(ステップS953)の詳細について図67により説明する。
ルーチンが開始すると、ステップS981で高確率の開始に関する信号を外部情報出力データ領域にセーブする。この領域での高確率の開始に関する信号は、例えば大当り2信号ONである。次いで、ステップS982で高確率の開始に関する信号を試験信号出力データ領域にセーブする。この領域での高確率の開始に関する信号は、以下のものがある。
・特別図柄1高確率状態信号をON
・特別図柄2高確率状態信号をON
・特別図柄1変動時間短縮状態信号をON
・特別図柄2変動時間短縮状態信号をON
・普通図柄1高確率状態信号をON
・普通図柄1変動時間短縮状態信号をON
・普通電動役物1開放延長状態信号をON
以上の処理により、特別遊技状態の終了後、特図変動表示ゲームの確率状態が高確率状態となるとともに次回の特別結果態様の導出まで時短状態となる。
すなわち、遊技制御装置100が、特別遊技状態の終了後、予め定められた所定期間にわたり、普通変動入賞装置37を開状態とする期間を延長する特定遊技状態(時短状態)を発生可能な特定遊技状態発生制御手段をなす。
次に、上述の大当り終了処理における特図普段処理移行設定処理3(ステップS963)の詳細について図68により説明する。
ルーチンが開始すると、ステップS991で処理番号として「0」(特図普段処理に係る処理番号に相当)を設定し、ステップS992で特図ゲーム処理番号領域に処理番号(ここでは「0」)をセーブする。次いで、ステップS993で大当りの終了に関する信号を外部情報出力データ領域にセーブする。
ここでの大当りの終了に関する信号としては、大当り1信号をOFF、大当り3信号をOFFがある。
・条件装置作動中信号をOFF
・役物連続作動装置作動中信号をOFF
・特別図柄1当り信号又は特別図柄2当り信号をOFF
次いで、ステップS995で確率変動判定フラグ領域をクリアし、ステップS996で大当りのラウンド回数を示すラウンドLEDのポインタ領域をクリアし、ステップS997で遊技状態表示番号領域に時短中の番号をセーブする。そして、ステップS998で下大入賞口不正監視期間フラグ領域に不正監視期間中フラグをセーブし、ステップS999で上大入賞口不正監視期間フラグ領域に不正監視期間中フラグをセーブして、特図普段処理移行設定処理3を終了する。
〔普図ゲーム処理〕
まず、上述のタイマ割込み処理における普図ゲーム処理(ステップS79)の詳細について図69により説明する。
普図ゲーム処理では、ゲートスイッチ122の入力の監視と、普図変動表示ゲームに関する処理全体の制御、普図の表示の設定等を行う。
まず、ゲートスイッチ122からの入力を監視するゲートスイッチ監視処理(ステップB1)を行う。なお、ゲートスイッチ監視処理(ステップB1)の詳細については後述する。
次に、第2始動口スイッチ121からの入力を監視する普電入賞スイッチ監視処理(ステップB2)を行う。なお、普電入賞スイッチ監視処理(ステップB2)の詳細については後述する。
普図ゲーム処理タイマの値が0である(ステップB4;YES)、すなわちタイムアップした又はすでにタイムアップしていたと判定すると、普図ゲーム処理番号に対応する処理に分岐させるために参照する普図ゲームシーケンス分岐テーブルをレジスタに設定する処理(ステップB5)を行って、当該テーブルを用いて普図ゲーム処理番号に対応する処理の分岐先アドレスを取得する処理(ステップB6)を行う。
そして、分岐処理終了後のリターンアドレスをスタック領域に退避させる処理(ステップB7)を行った後、ゲーム処理番号に応じてゲーム分岐処理(ステップB8)を行う。
なお、普図普段処理(ステップB9)の詳細については後述する。
また、ステップB8にて、ゲーム処理番号が「1」の場合は、普図表示中処理を行うために必要な情報の設定等を行う普図変動中処理(ステップB10)を行う。
なお、普図変動中処理(ステップB10)の詳細については後述する。
また、ステップB8にて、ゲーム処理番号が「2」の場合は、普図変動表示ゲームの結果が当りであれば、普通変動入賞装置37がサポート中(時短状態中)であるか否かに応じた普電開放時間の設定や、普図当り中処理を行うために必要な情報の設定等を行う普図表示中処理(ステップB11)を行う。
なお、普図表示中処理(ステップB11)の詳細については後述する。
なお、普図当り中処理(ステップB12)の詳細については後述する。
また、ステップB8にて、ゲーム処理番号が「4」の場合は、普図当り終了処理を行うために必要な情報の設定等を行う普電残存球処理(ステップB13)を行う。
なお、普電残存球処理(ステップB13)の詳細については後述する。
また、ステップB8にて、ゲーム処理番号が「5」の場合は、普図普段処理(ステップB9)を行うために必要な情報の設定等を行う普図当り終了処理(ステップB14)を行う。
なお、普図当り終了処理(ステップB14)の詳細については後述する。
その後、普図表示器(一括表示装置35)による普通図柄の変動を制御するための各種テーブルを準備した後(ステップB15)、普図表示器(一括表示装置35)による普通図柄の変動の制御に係る図柄変動制御処理(ステップB16)を行って、普図ゲーム処理を終了する。
次に、上述の普図ゲーム処理におけるゲートスイッチ監視処理(ステップB1)の詳細について図70により説明する。
ゲートスイッチ監視処理では、まず、ゲートスイッチ122に入力があるか否かをチェックする(ステップB21)。そして、ゲートスイッチ122に入力があると(ステップB21;YES)判定すると、普図保留数を取得して当該普図保留数が上限値(例えば、4)未満か否かを判定する(ステップB22)。普図保留数が上限値未満である(ステップB22;YES)と判定すると、普図保留数を更新(+1)する処理(ステップB23)を行う。
また、ステップB21にて、ゲートスイッチ122に入力がないと判定されるか(ステップB21;NO)、或いは、ステップB22にて、普図保留数が上限値未満でないと判定された場合にも(ステップB22;NO)ゲートスイッチ監視処理を終了する。
次に、上述の普図ゲーム処理における普電入賞スイッチ監視処理(ステップB2)の詳細について図71により説明する。
普電入賞スイッチ監視処理では、まず、普図変動表示ゲームが当り状態となって普通変動入賞装置26が所定回数(例えば、3回)の開放動作を実行中であるか(普図当り中か)否かをチェックする(ステップB31)。そして、普図当り中である(ステップB32;YES)と判定すると、第2始動口スイッチ121に入力があるか否かを判定し(ステップB32)、第2始動口スイッチ121に入力がある(ステップB32;YES)と判定すると、普電カウンタのカウント数を更新(+1)する処理(ステップB33)を行う。
すなわち、普図の当り状態中に上限値以上の普電入賞があった場合は、その時点で普図当り中処理制御ポインタ領域に当り終了の値をセーブし、普図の当り状態が途中で終了するようにする。
次に、上述の普図ゲーム処理における普図普段処理(ステップB9)の詳細について図72により説明する。
普図普段処理では、まず、普図保留数が「0」であるか否かを判定し(ステップB41)、普図保留数が「0」である(ステップB41;YES)と判定すると、ステップB62に移行して、普図普段処理移行設定処理1を行った後、普図普段処理を終了する。普図普段処理移行設定処理1は、次回に普図普段処理を繰り返すための処理を行うもので、詳細は後述する。
普図高確率時でない場合(ステップB43;NO)は、当り乱数の値が普図低確率時の判定値である低確率判定値と一致するかを判定する(ステップB44)。当り乱数の値が低確率判定値と一致しない場合(ステップB44;NO)は、当りフラグ領域にはずれ情報をセーブし(ステップB45)、普図停止図柄にはずれ停止図柄番号を設定して(ステップB46)、普図当り乱数格納領域(保留数1用)を0クリアする(ステップB51)。
一方、当り乱数の値が低確率判定値と一致した場合(ステップB44;YES)は、当りフラグ領域に当り情報をセーブし(ステップB49)、普図停止図柄に当り停止図柄番号を設定して(ステップB50)、普図当り乱数格納領域(保留数1用)を0クリアする(ステップB51)。
また、ステップB47にて、当り乱数の値が高確率下限判定値未満である場合(ステップB47;YES)や、ステップB48にて、当り乱数の値が上限判定値より大きい場合(ステップB48;YES)、すなわちはずれの場合は、当りフラグ領域にはずれ情報をセーブし(ステップB45)、普図停止図柄にはずれ停止図柄番号を設定して(ステップB46)、普図当り乱数格納領域(保留数1用)を0クリアする(ステップB51)。すなわち、当り乱数の値が一致することで普図の当りと判定する判定値は、普図低確率時では一つの値であり、普図高確率時では複数の連続した値となっている。
その後、普図当り乱数格納領域をシフトし(ステップB55)、シフト後の空き領域を0クリアして(ステップB56)、普図保留数を−1更新する(ステップB57)。即ち、最も古い普図保留数1に関する普図変動表示ゲームが実行されることに伴い、普図保留数1以降に保留となっている普図保留数2〜4の順位を1つずつ繰り上げる処理を行う。この処理により、普図当り乱数格納領域の普図保留数2用から普図保留数4用の値が、普図当り乱数格納領域の普図保留数1用から普図保留数3用に移動することとなる。そして、普図当り乱数格納領域の普図保留数4用の値がクリアされて、普図保留数が1デクリメントされる。
次に、上述の普図普段処理における普図普段処理移行設定処理1(ステップB62)の詳細について図73により説明する。
ルーチンが開始すると、ステップB71で普図普段処理に移行するための処理番号として「0」(普図普段処理に係る処理番号に相当)を設定し、ステップB72で普図ゲーム処理番号領域に処理番号(ここでは「0」)をセーブする。次いで、ステップB73で普電不正監視期間フラグ領域に不正監視期間中フラグをセーブしてリターンする。これにより、次回に普図普段処理に移行する。
次に、上述の普図普段処理における普図変動中処理移行設定処理(ステップB61)の詳細について図74により説明する。
ルーチンが開始すると、ステップB81で処理番号として「1」(普図変動中処理に係る処理番号に相当)を設定し、ステップB82で普図ゲーム処理番号領域に処理番号(ここでは「1」)をセーブする。次いで、ステップB83で普図変動開始に関する信号(例えば、普通図柄1変動中信号をON)を試験信号出力データ領域にセーブし、ステップB84で普図変動制御フラグ領域に変動中フラグをセーブする。次いで、ステップB85で普図表示器(一括表示装置35の普図表示LED)の点滅周期のタイマの初期値である点滅制御タイマ初期値(例えば200ms)を普図点滅制御タイマ領域にセーブして、普図変動中処理移行設定処理を終了する。これにより、次回に普図変動中処理に移行する。
次に、上述の普図ゲーム処理における普図変動中処理(ステップB10)の詳細について図75により説明する。
ルーチンが開始すると、ステップB91で普図表示中処理移行設定処理を行う。これは、普図表示中処理に移行するための設定を行うもので、詳細は後述する。この処理を経ると、リターンする。
次に、上述の普図変動中処理における普図表示中処理移行設定処理(ステップB91)の詳細について図76により説明する。
ルーチンが開始すると、ステップB101で処理番号として「2」(普図表示中処理に係る処理番号に相当)を設定し、ステップB102で普図ゲーム処理番号領域に処理番号(ここでは「2」)をセーブする。次いで、ステップB103で普図表示時間を設定(例えば、600ms)する。次いで、ステップB104で普図ゲーム処理タイマ領域に普図表示時間をセーブし、ステップB105で普図変動終了に関する信号(例えば、普通図柄1変動中信号をOFF)を試験信号出力データ領域にセーブする。次いで、ステップB106で普図変動制御フラグ領域に停止フラグをセーブしてリターンする。これにより、次回に普図表示中処理に移行する。
次に、上述の普図ゲーム処理における普図表示中処理(ステップB11)の詳細について図77により説明する。
普図表示中処理では、まず、普図普段処理にて設定された当りフラグ(当たり情報又ははずれ情報)をロードして(ステップB111)、RWMの当りフラグ領域をクリアする処理(ステップB112)を行う。
次に、ロードされた当りフラグが当りか否かを判定し(ステップB113)、当りフラグが当りでない(ステップB113;NO)と判定すると、ステップB122に分岐して普図普段処理移行設定処理1(図73で説明)を行い、普図表示中処理を終了する。
そして、普電サポート中でない場合(ステップB114;NO)は、普電サポートなし時の普電開放時間(例えば、100ms)を普図ゲーム処理タイマ領域にセーブする(ステップB115)。さらに、普電サポートなし時の当り開始ポインタ値(制御ポインタ値)を普図当り中制御ポインタ領域にセーブし(ステップB116)、普電サポートなし時の当り終了ポインタ値(制御ポインタ値)を普図当り中制御ポインタ上限値領域にセーブする(ステップB117)。これにより、通常動作状態中での普通変動入賞装置26の開放態様が設定され、例えば2回の開放が可能となる。その後、普図当り中処理移行設定処理(ステップB121)を行う。これは、普図当り中処理に移行するための設定を行うもので、詳細は後述する。この処理を経ると、リターンする。
なお、普電サポートなし時の当り開始ポインタ値(制御ポインタ値)は「0」、当り終了ポインタ値は「2」に設定され、普電サポート時の当り開始ポインタ値(制御ポインタ値)は「3」、当り終了ポインタ値は「9」に設定されている。
次に、上述の普図表示中処理における普図当り中処理移行設定処理(ステップB121)の詳細について図78により説明する。
ルーチンが開始すると、ステップB131で処理番号として「3」(普図当り中処理に係る処理番号に相当)を設定し、ステップB132で普図ゲーム処理番号領域に処理番号(ここでは「3」)をセーブする。次いで、ステップB133で普図当りの開始に関する信号(例えば、普通図柄1当り信号をON)と普電作動開始に関する信号(例えば、普通電動役物1作動中信号をON)を試験信号出力データ領域にセーブする。次いで、ステップB134で普電ソレノイド出力データ領域にONデータをセーブし、ステップB135で普通変動入賞装置26への入賞数を記憶する普電カウント数領域をクリアする、次いで、ステップB136で普電不正監視期間における普通変動入賞装置26への入賞数を記憶する普電不正入賞数領域をクリアし、ステップB137で普電不正監視期間フラグ領域に不正監視期間外フラグ(普通変動入賞装置26の不正監視期間外を規定するフラグ)をセーブしてリターンする。これにより、次回は普図当り中処理に移行する。
次に、上述の普図ゲーム処理における普図当り中処理(ステップB12)の詳細について図79により説明する。
普図当り中処理では、まず、普図当り中処理制御ポインタをロードして準備した後(ステップB141)、ロードされた普図当り中制御ポインタの値が普図当り中制御ポインタ上限値領域の値(当り終了の値:例えば「4」等))に達したかを判定する(ステップB142)。
そして、普図当り中制御ポインタの値が普図当り中制御ポインタ上限値領域の値に達していない場合(ステップB142;NO)は、普図当り中制御ポインタを+1更新し(ステップB143)、普電作動移行設定処理(ステップB144)を行って普図当り中処理を終了する。
また、普図当り中制御ポインタの値が普図当り中制御ポインタ上限値領域の値(当り終了の値)に達した場合(ステップB142;YES)は、ステップB143における普図当り中処理制御ポインタ領域を更新(+1)する処理を行わずに、普電作動移行設定処理(ステップB144)を行って普図当り中処理を終了する。
次に、上述の普図当り中処理における普電作動移行設定処理(ステップB144)の詳細について図80により説明する。
普電作動移行設定処理は、普通変動入賞装置26を開閉するための普電ソレノイド132の駆動制御を行う処理であり、制御ポインタの値に応じて処理を分岐するようにしている。
ルーチンが開始すると、ステップB151で制御ポインタによる分岐を行う。ここでは、ステップB141でロードして準備された制御ポインタの値に応じて分岐する。具体的には、ステップB151で制御ポインタの値が0,3,5,7の何れかであった場合は、ステップB152へ移行して普通変動入賞装置26の閉塞を制御するため、制御ポインタに対応する普通変動入賞装置26の閉塞後のウェイト時間(例えば、2800ms又は1000ms)を普図ゲーム処理タイマ領域にセーブし、ステップB153で普電ソレノイド132をオフさせるために普電ソレノイド出力データ領域にオフデータを設定して、普電作動移行設定処理を終了する。これにより、普通変動入賞装置26の開放後の閉塞時間が上記ウエイト時間となり、その期間は普通変動入賞装置26が閉塞することになる。
次に、上述の普図ゲーム処理における普電残存球処理(ステップB13)の詳細について図81により説明する。
ルーチンが開始すると、ステップB161で普図当り終了処理移行設定処理を行う。これは、普図当り終了処理に移行するための設定を行うもので、詳細は後述する。この処理を経ると、リターンする。
次に、上述の普電残存球処理における普図当り終了処理移行設定処理(ステップB161)の詳細について図82により説明する。
ルーチンが開始すると、ステップB171で処理番号として「5」(普図当り終了処理に係る処理番号に相当)を設定し、ステップB172で普図ゲーム処理番号領域に処理番号(ここでは「5」)をセーブする。次いで、ステップB173で普図エンディング時間(例えば、100ms)を普図ゲーム処理タイマ領域にセーブし、ステップB174で普通変動入賞装置26の作動終了に関する信号(例えば、普通電動役物1作動中信号をOFF)を試験信号出力データ領域にセーブする。次いで、ステップB175で普通変動入賞装置26への入賞数を計数する普電カウント数領域をクリアする。そして、ステップB176で普図当り中制御ポインタ領域をクリアし、ステップB177で普図当り中制御ポインタ上限値領域をクリアして、普図当り終了処理移行設定処理を終了する。これにより、次回は普図当り終了処理に移行する。
次に、上述の普図ゲーム処理における普図当り終了処理(ステップB14)の詳細について図83により説明する。
ルーチンが開始すると、ステップB181で普図普段処理移行設定処理2を行う。これは、普図普段処理に移行するための設定を行うもので、詳細は後述する。この処理を経ると、リターンする。
次に、上述の普図当り終了処理における普図普段処理移行設定処理2(ステップB181)の詳細について図84により説明する。
ルーチンが開始すると、ステップB191で処理番号として「0」(普図普段処理に係る処理番号に相当)を設定し、ステップB192で普図ゲーム処理番号領域に処理番号(ここでは「0」)をセーブする。次いで、ステップB193で普図当りの終了に関する信号(例えば、普通図柄1当り信号をOFF)を試験信号出力データ領域にセーブする。次いで、ステップB194で普電不正監視期間フラグ領域に不正監視期間中フラグ(普通変動入賞装置26の不正監視期間を規定するフラグ)をセーブしてリターンする。これにより、次回は普図普段処理に移行する。
ここでは、ステップ番号として「ステップC」を用いて説明する。
〔セグメントLED編集処理〕
まず、上述のタイマ割込み処理におけるセグメントLED編集処理(ステップS80)の詳細について図85により説明する。
セグメントLED編集処理は一括表示装置35(図2、4、5)に設けられたセグメントLEDに関する処理を行うものであり、一括表示装置35は前述したように、普図の表示や特図の表示、さらには特図や普図の始動記憶の保留表示(特図保留表示、普図保留表示)や、遊技状態の表示を行うようになっている。
これらの表示は、例えばLEDを発光源とする複数の表示器(例えば、1個のランプや7セグメント表示器)によって行われる構成である。より具体的には、例えば特図1保留表示器、特図2保留表示器、普図保留表示器、第1遊技状態表示部、第2遊技状態表示部、エラー表示部、ラウンド表示部などの機能を有するセグメントLEDで構成され、それらの駆動に関する設定等を行うのがセグメントLED編集処理である。
その後、特図2保留表示器での表示態様が規定された特図2保留数テーブルを設定し(ステップC5)、特図2保留数に対応する表示データを取得して特図2保留表示器のセグメント領域(例えば、特図2保留表示器のセグメント領域)にセーブする(C6)。さらに、ラウンド表示部での表示態様が規定されたラウンド表示LED表示テーブルを設定し(C7)、ラウンド表示LED出力ポインタに対応する表示データを取得してラウンド表示部のセグメント領域(例えば、ラウンド表示部のセグメント領域)にセーブする(ステップC8)。
また、高確率報知フラグがオンでない場合(ステップC11;NO)は、高確率報知LEDのオフデータを第3遊技状態表示部のセグメント領域(例えば、エラー表示部のセグメント領域)にセーブして(ステップC12)、セグメントLED編集処理を終了する。
次に、上述のタイマ割込み処理における磁石不正監視処理(ステップS81)の詳細について図86により説明する。
磁石不正監視処理は、磁気センサ126からの検出信号をチェックして異常がないか判定して不正報知の開始や終了の設定等を行うものである。
磁石不正監視処理では、まず、磁気センサ126から出力されて第3入力ポート162(入力ポート3)に取り込まれる検出信号の状態から、磁気センサ126がオン、すなわち異常な磁気を検出した状態であるかを判定する(ステップC21)。なお、図86のステップC21では磁石不正検出のための処理であるので、「磁石センサはオン?」という表記にしている。
磁気センサ126がオンである場合(ステップC21;YES)、すなわち異常な磁気を検出した場合は、異常な磁気の検出期間を計時する磁石不正監視タイマを+1更新して(ステップC22)、当該タイマがタイムアップしたかを判定する(ステップC23)。
すなわち、磁気センサ検出信号の入力が8回割込みして連続で行われることで、異常発生と判断される。これは、磁気センサ126のセンシングが4msであり、32msで不正発生と判断するため、8回割込みして磁気センサ検出信号のON入力があれば、不正と判定できるからである。
また、磁石不正報知タイマの値が0である場合(ステップC30;YES)、すなわちタイムアップした又はすでにタイムアップしていた場合であって、不正報知の期間が終了した場合又は当初から不正報知が行われていない場合は、磁石不正報知終了のコマンドを準備する(ステップC31)。さらに、磁石不正フラグとして磁石不正解除フラグを準備して(ステップC32)、準備した磁石不正フラグが磁石不正フラグ領域の値と一致するかを判定する(ステップC33)。
ここで、図86において矢印は磁石不正が無く、正常の場合の処理ルート(正常ルート)を示している。すなわち、正常の場合にはステップC21、ステップC28、ステップC29、ステップC30、ステップC31、ステップC32、ステップC33、RETという処理ルートを経ることになる。通常は、この正常ルートが繰り返される。
次に、上述のタイマ割込み処理における電波不正監視処理(ステップS82)の詳細について図87により説明する。
電波不正監視処理は、電波センサ127からの検出信号に基づき異常の有無を判定し不正報知の開始や終了の設定等を行うものである。
電波不正監視処理では、まず、電波センサ127から出力されて近接I/F163を経由して第3入力ポート162(入力ポート3)に取り込まれる検出信号の状態から、電波センサ127がオン、すなわち異常な電波を検出した状態であるかを判定する(ステップC41)。電波センサがオンである場合(ステップC41;YES)、すなわち異常な電波を検出した場合は、電波不正報知タイマ初期値を電波不正報知タイマ領域にセーブする(ステップC42)。
電波不正報知タイマの値が0でない場合(ステップC46;NO)、すなわちタイムアップしていない場合は、電波不正監視処理を終了する。また、電波不正報知タイマの値が0である場合(ステップC46;YES)、すなわちタイムアップした又はすでにタイムアップしていた場合であって、不正報知の期間が終了した場合又は当初から不正報知が行われていない場合は、電波不正報知終了のコマンドを準備し(ステップC47)、電波不正フラグとして電波不正解除フラグを準備して(ステップC48)、準備した電波不正フラグが電波不正フラグ領域の値と一致するかを判定する(ステップC49)。
ここで、図87において矢印は電波不正が無く、正常の場合の処理ルート(正常ルート)を示している。すなわち、正常の場合にはステップC41、ステップC45、ステップC46、ステップC47、ステップC48、ステップC49、RETという処理ルートを経ることになる。通常は、この正常ルートが繰り返される。
次に、上述のタイマ割込み処理における外部情報編集処理(ステップS83)の詳細について図88、図89により説明する。
外部情報編集処理では、払出コマンド送信処理(ステップS74)、入賞口スイッチ/エラー監視処理(ステップS77)、磁石不正監視処理(ステップS81)及び電波不正監視処理(ステップS82)での監視結果に基づいて、情報収集端末や遊技場内部管理装置等の外部装置や試射試験装置に出力する情報を作成して出力バッファにセットする処理等を行う。
次いで、ステップC64でセキュリティ信号制御タイマが0でなければ「−1」更新する。なお、セキュリティ信号制御タイマの最小値は0に設定されている。そして、セキュリティ信号制御タイマの値が0となったかを判定する(ステップC65)。セキュリティ信号制御タイマは、RAMクリアによる電源投入を行った時にセキュリティ信号を所定時間オン出力するためのものであり、ステップS27にてタイマ初期値(例えば256ms)がセットされる。
ステップC65でセキュリティ信号制御タイマの値が0である場合、すなわちタイムアップした又はすでにタイムアップしていた場合は、ステップC66に進んで固有情報出力要求済みか否かを判定する。ここでの固有情報とは、主基板の固有情報、つまり固有IDのことである。
ステップC66で固有情報出力要求済みでなければ、ステップC67に進んで電源投入での固有情報信号の出力要求フラグをセットし、ステップC68で電源投入での固有情報信号の出力要求済みフラグをセットする。これにより、パチンコ機1の電源投入時(例えば、開店時)において固有ID(主基板の固有情報)が外部に出力されることになる。ステップC68を経ると、ステップC69でセキュリティ信号のオンデータを外部情報出力データ領域にセーブした後、ステップC72以降の処理に進む。
一方、ステップC65でセキュリティ信号制御タイマが既にタイムアップ又は「−1」更新後にタイムアップしていれば、ステップC70に分岐して電源投入での固有情報信号の出力要求済みフラグをクリアし、ステップC71でセキュリティ信号のオフデータを外部情報出力データ領域にセーブした後、ステップC72以降の処理に進む。すなわち、セキュリティ信号制御タイマが既にタイムアップしていれば、電源投入に関連するセキュリティ信号の外部出力の設定は行なわれない。
何れか1つ以上の不正が発生していれば、ステップC77に進んでセキュリティ信号のオンデータを外部情報出力データ領域にセーブし、さらにステップC78で遊技機エラー状態信号のオンデータを試験信号出力データ領域にセーブして、ステップC80に進む。これにより、不正や遊技機エラー状態が外部に出力されることになる。
一方、ステップC72でNO、ステップC73でNO、ステップC74でNO、ステップC75でNO、ステップC76でNOのとき、すなわち、ステップC72、73、74、75、76で全てNOのときは、ステップC76からステップC79に分岐して遊技機エラー状態信号のオフデータを試験信号出力データ領域にセーブした後、ステップC80以降の処理に進む。
ガラス枠開放エラー中でなければ、ステップC81に進んで前面枠開放エラー中か否かを判別する。この処理では、図24の「エラーチェック処理」での監視結果に基づいた判定を行う。
前面枠開放エラー中であれば、ステップC82に進む。また、ステップC80でガラス枠開放エラー中である場合もステップC82に進む。
すなわち、ガラス枠開放エラー中又は前面枠開放エラー中であれば、ステップC82に進み、ステップC82において固有情報出力要求済みか否かを判定し、NO(要求済みでない)であれば、ステップC83でガラス枠・前面枠開放での固有情報信号の出力要求フラグをセットし、ステップC84でガラス枠・前面枠開放での固有情報信号の出力要求済みフラグをセットした後、ステップC85に進む。したがって、このときはパチンコ機1のガラス枠5又は前面枠4が開放されたとき(例えば、不正な開放も含む)に、固有ID(主基板の固有情報)が外部に出力されることになる。
一方、ステップC82で固有情報出力要求済みであれば、ステップC85にジャンプする。
一方、ステップC81でNOのとき、つまりガラス枠開放エラー中又は前面枠開放エラー中でなければ、扉又は枠の開放というイベントが発生しないので、そのような出力データの設定は行う必要がないことから、ステップC87にガラス枠・前面枠枠開放での固有情報信号の出力要求済みフラグをクリアし、ステップC88で扉・枠開放信号のオフデータを外部情報出力データ領域にセーブした後、ステップC89に進む。
一方、ステップC90で大当り時に固有情報出力要求済みであれば、ステップC91、92をジャンプしてステップC93に進む。
ステップC93では、大当り1信号のオンデータを外部情報出力データ領域にセーブし、ステップC94に進む。
ステップC93又はステップC96からステップC94に進むと、ステップC94で図柄確定回数制御タイマが0でなければ、(−1)更新し、続くステップC97で図柄確定回数制御タイマが0(タイムアップした)か否かをチェックする。図柄確定回数制御タイマは、図柄確定回数信号のオン時間を制御するためのタイマである。
図柄確定回数制御タイマがタイマアップしていなければ(NO)、ステップC99に進んで、図柄確定回数信号のオンデータを外部情報出力データ領域にセーブしてリターンする。そして、ルーチンを繰り返し、ステップC97で図柄確定回数制御タイマがタイムアップした(YES)と判定すると、ステップC98に進み、図柄確定回数信号のオフデータを外部情報出力データ領域にセーブして外部情報編集処理を終了する。
このようにして、特図の図柄が変動を終了する度に外部情報として出力されることになる。
次に、上述の外部情報編集処理におけるメイン賞球信号編集処理(ステップC61)の詳細について図90により説明する。
メイン賞球信号編集処理は、入賞口への入賞により発生した賞球数(払出予定数)が所定数(ここでは10個)になる毎に生成されるメイン賞球信号を外部装置へ出力する処理である。
メイン賞球信号編集処理では、まず、メイン賞球信号出力制御タイマが0でなければ−1更新する(ステップC101)。なお、メイン賞球信号出力制御タイマの最小値は0に設定されている。そして、メイン賞球信号出力制御タイマの値が0であるかを判定する(ステップC102)。メイン賞球信号出力制御タイマの値が0である場合(ステップC102;YES)は、メイン賞球信号出力回数が0であるかを判定する(ステップC103)。
また、メイン賞球信号出力回数が0である場合(ステップC103;YES)は、外部装置用のメイン賞球信号をオフ状態にするオフデータをRWMの外部情報出力データ領域にセーブして(ステップC108)、メイン賞球信号編集処理を終了する。
メイン賞球信号出力制御タイマが出力オン区間中である場合(ステップC106;YES)は、処理をステップC107に移行する。また、メイン賞球信号出力制御タイマが出力オン区間中でない場合(ステップC106;NO)は、外部装置用のメイン賞球信号をオフ状態にするオフデータをRWMの外部情報出力データ領域にセーブして(ステップC108)、メイン賞球信号編集処理を終了する。
このように、メイン賞球信号は遊技制御装置100からは賞球の払出予定数が10個毎に1パルスのメイン賞球信号が外部装置(例えば、管理装置140)へ出力される。なお、払出制御装置200からは10個払出毎に生成される1パルスの賞球信号が外部装置(例えば、管理装置140)へ出力されることになる。
すなわち、遊技制御装置100(主基板)で10個払出予定毎(払出コマンドを送信する毎)にメイン賞球数信号出力回数を+1更新し(払出コマンド送信処理内のサブルーチン)、その後、更新(設定)されている出力回数分だけメイン賞球数信号が出力される。そして、上記のように10個払出予定毎に出力されるメイン賞球信号に対し、払出制御装置200(払出基板)からは実際に10個払出が行われたら賞球信号が送信されることにより、予定と結果の整合を取ることで、不正な払出に対応することができる。
具体的には、大当り中に発生した入賞か、通常遊技中に発生した入賞かが判断できる。例えば、大当り中ならたくさん入賞があってもおかしくないが、通常遊技中にたくさん入賞があるようであれば、釘調整が甘すぎると判断できるなどの効果があり、これはホール営業における方針の助けになる。
一方、メイン賞球信号が外部装置に出力されず、払い出し完了時に出力される払出制御装置200からの賞球信号だけしかない場合であれば、大当り中に球切れになったりして払い出しが行われず、補給が遅れて払い出しされたのが大当り終了後となったとき等に、いつ発生した入賞なのかが判断できないことになる。
そのため、補給が遅れて払い出しされたのが大当り終了後となった場合には、通常遊技中に大量の入賞(払い出し)があったことになってしまい、営業データに不備等が出てしまう可能性がある。
これに対して本実施例では、メイン賞球信号と払出制御装置200からの賞球信号の双方を併用しており、メイン賞球信号は入賞してすぐに出力されるので、上記のような不具合がなくなる。
次に、上述の外部情報編集処理における始動口信号編集処理(ステップC62)の詳細について図91により説明する。
始動口信号編集処理は、第1始動口スイッチ120や第2始動口スイッチ121の入力があった場合に、各々の入力について共通して行われる処理である。
始動口信号編集処理では、まず、始動口信号出力制御タイマが0でなければ−1更新する(ステップC111)。なお、始動口信号出力制御タイマの最小値は0に設定されている。そして、始動口信号出力制御タイマの値が0であるかを判定する(ステップC112)。始動口信号出力制御タイマの値が0である場合(ステップC112;YES)は、始動口信号出力回数が0であるかを判定する(ステップC113)。
また、始動口信号出力回数が0である場合(ステップC113;YES)は、外部装置用の始動口信号をオフ状態にするオフデータをRWMの外部情報出力データ領域にセーブして(ステップC118)、始動口信号編集処理を終了する。
次に、上述の外部情報編集処理における固有情報信号編集処理(ステップC63)の詳細について図92により説明する。
このルーチンが開始されると、まずステップC121でシリアル通信中かどうかを判別する。これは、遊技制御装置100が管理装置140(又はカードユニット551を含めてもよい)とシリアル通信が実行中かどうかを判断するもので、シリアル通信中であれば、今回はリターンする。
シリアル通信中でなければ、ステップC122以降の処理を実行する。なお、遊技制御装置100と管理装置140との間は単一方向通信であり、遊技制御装置100から管理装置140への信号伝送のみ許容されている。したがって、シリアル通信中か否かの判定は、遊技制御装置100内のシリアル送信回路が通信中であるかをチェックして行う。
シリアル通信中でない場合、ステップC122で固有情報信号の出力要求フラグがセットされているかをチェックし、ステップC122でNO(出力要求フラグがセットなし)であれば、ルーチンを終了してリターンする。一方、ステップC122でYES(出力要求フラグがセットあり)であれば、ステップC123に進んで、固有情報信号の出力要求フラグをクリアする。
ここで、固有情報信号の出力要求フラグは「電源投入時のセキュリティ信号」、「扉・枠開放信号」、「大当り1信号」に対応して独立にセットされる。複数同時に成立している場合には、優先順位を設けて1つずつ対応して処理する。したがって、一度に全部の出力要求フラグをクリアするのではない。
次いで、ステップC124でCPU固有情報取得処理を行う。これは、固有情報を取得する処理で、詳細は後述する。ステップC124を経ると、リターンする。
次に、上述の固有情報信号編集処理におけるCPU固有情報取得処理(ステップC125)の詳細について図93により説明する。
このルーチンが開始されると、まずステップC131でスタートコードを遊技制御装置100内のシリアル送信バッファに書き込む。シリアル通信の開始であることを受け側である管理装置140に特定させるためのコードである。次いで、ステップC132で取得はチップコード(主基板固有ID)のみかどうかを判別し、取得がチップコードのみであればステップC137にジャンプして、チップコード識別コードをシリアル送信バッファに書き込み、ステップC138で個体識別情報(固有ID)としてのチップコードを読み出し、シリアル送信バッファに書き込み、リターンする。これにより、固有IDが取得されて管理装置140に出力されることになる。
また、パラレル転送(送信)に比べて、配線の本数が少なくなるのでコスト減になる。
なお、上記のようにシリアル通信で遊技制御装置100から管理装置140へ固有IDなどを送信する例に限らず、例えばパラレル通信で送信するようにしてもよい。
例えば、CPU固有情報のうちメーカコードは3バイト、製品コードは32バイト、チップコードは4バイトで構成される。このように、CPU固有情報は非常に長い情報となるため、本実施例では通信の輻輳が発生するのを回避できるように、状況に応じて送信する情報を可変長にしている。
この背景を説明する。
例えば、ガラス枠5又は前面枠4の開放(扉又は枠の開放)というイベントが発生する度にCPU固有情報に関する全データを送るようにすると、仮にわざと扉又は枠の開閉が繰り返されると、大量の通信が発生することが考えられ、通信の輻輳が発生するおそれがある。
そので本実施例では、CPU固有情報については状況に応じて送信する情報を可変長にすることで、通信の輻輳発生を回避できるようにしている。
なお、上記に限らず、例えばメーカコード、製品コード、チップコードを毎回送信する固定長としてもよい。その際は、メーカコード識別コード、製品コード識別コード、チップコード識別コードは入れないようにしてもよい。
特別結果の種類には、2R確変、11R確変、11R通常及び16R確変の4種類が設定されている。2R確変、11R確変及び16R確変は、それぞれ特別遊技状態でのラウンド数が2,11,16ラウンドであり、特別遊技状態の終了後に次回の特別結果の導出まで確率状態が高確率状態に設定されるとともに、時短状態とされる特別結果である。
一方、11R通常は、特別遊技状態でのラウンド数が11ラウンドであり、特別遊技状態の終了後の確率状態が通常確率状態に設定されるとともに、所定回数(例えば70回)の特図変動表示ゲームを実行するまで時短状態とされる特別結果である。
上大入賞口(第2変動入賞装置33)の開閉パターンとしては、上大入賞口開閉パターン1から上大入賞口開閉パターン5までの5種類の開閉パターンがある。
詳細は、以下の通りである。
図95(a)に示す上大入賞口開閉パターン1は、特別結果が2R確変であって、当該特別結果の導出時に時短状態でない場合(すなわち、大当り発生時に普電サポート無し(普図低確率)のケース)に選択される。
この上大入賞口開閉パターン1では、初回のラウンド(1R)で52msの開放時間が設定され、1448msのインターバル期間を挟んだ後に次のラウンド(2R)で52msの開放時間が設定される。そして、22400msのエンディング時間の経過後、特別遊技状態が終了する。
この上大入賞口開閉パターン2は上大入賞口開閉パターン1と同様の開閉態様であるが、エンディング時間が1400msとなっている。
図95(c)に示す上大入賞口開閉パターン3は、16R確変である複数の特別結果のうち一部の特別結果に対応して選択される。この上大入賞口開閉パターン3では、52msの開放時間が設定されるラウンドを1448msのインターバル期間を挟んで16ラウンド行い、1400msのエンディング時間の経過後、特別遊技状態が終了する。
ここまでは上大入賞口開閉パターン3と同様の開閉態様であり、表示装置41等での演出も同じものとして、遊技者が何れの開閉パターンであるかを認識し難くしている。その後、6300msの閉鎖時間において表示装置41に昇格映像を表示して上大入賞口開閉パターン4であることを報知し、26168msの開放を行って初回のラウンドを終了する。初回のラウンドの終了後、2000msのインターバル期間を挟んで27000msの開放時間が設定されるラウンドを15回繰り返し、6000msのエンディング時間の経過後、特別遊技状態が終了する。
このように、上大入賞口開閉パターン3と上大入賞口開閉パターン4の初回のラウンド(1R)を同様の開閉サイクル(52msの開放、1448msの閉塞)とすることで、何れの大当りが発生したか、当該サイクルが終了するまで遊技者が認識し難くして、遊技の興趣を高めるという効果がある。
この上大入賞口開閉パターン5では、初回のラウンド(1R)において、まず52msの開放を行った後に5948msの閉鎖時間を挟んで26948msの開放を行い、初回のラウンドを終了する。初回のラウンドの終了後、2000msのインターバル期間を挟んで27000msの開放時間が設定されるラウンドを15回繰り返し、6000msのエンディング時間の経過後、特別遊技状態が終了する。
下大入賞口(変動入賞装置27)の開閉パターンとしては、下大入賞口開閉パターン1から下大入賞口開閉パターン3までの3種類の開閉パターンがある。
詳細は、以下の通りである。
図96(a)に示す下大入賞口開閉パターン1は、特別結果が11R確変又は11R通常である場合に選択される。
この下大入賞口開閉パターン1では、初回のラウンド(1R)において、まず200msの開放を行った後に5800msの閉鎖時間を挟んで28000msの開放を行い、初回のラウンドを終了する。初回のラウンドの終了後、2000msのインターバル期間を挟んで27000msの開放時間が設定されるラウンドを10回繰り返し、6000msのエンディング時間の経過後、特別遊技状態が終了する。
この下大入賞口開閉パターン2では、11ラウンドの終了までは下大入賞口開閉パターン1や3と同様の開閉態様とされ、表示装置41等での演出も同じものとして、遊技者が何れの開閉パターンであるかを認識し難くしている。11ラウンドの終了後、1500msのインターバル期間を挟んで200msの開放時間が設定されるラウンドを5回繰り返し、1400msのエンディング時間の経過後、特別遊技状態が終了する。
この下大入賞口開閉パターン3では、11ラウンドの終了までは下大入賞口開閉パターン1や2と同様の開閉態様とされ、表示装置41等での演出も同じものとして、遊技者が何れの開閉パターンであるかを認識し難くしている。そして、11ラウンドの終了後、13000msのインターバル期間において表示装置41に昇格映像を表示して下大入賞口開閉パターン3であることを報知する。その後、27000msの開放時間が設定されるラウンドを2000msのインターバル期間を挟んで5回繰り返し、6000msのエンディング時間の経過後、特別遊技状態が終了する。
ここでは、ステップ番号として「ステップD」及び「ステップE」を用いて説明する。
なお、演出制御装置300が制御する特図は、表示装置41に表示される演出用の特図であり、以下の演出制御装置300の制御処理の説明における特図は、この演出用の特図(本特図ではない飾り図柄)を意味する。
また、以下の演出制御装置300の説明において、オブジェクトとは、表示制御の場合、まとまりのある表示制御の対象を意味し、表示要素(背景画像、特図の飾り図柄の画像、予告キャラクタの画像、保留表示の画像など、まとまりのある画像)に相当する。例えば本例の場合、特図の飾り図柄には、左図柄、右図柄、中図柄という変動表示領域(リール)の違いでの区別があり、さらにこれら区別のそれぞれに、現図柄、次図柄、前図柄というスクロール方向の表示位置が異なる区別がある。即ち、例えば左図柄については、左図柄の現図柄、左図柄の次図柄、左図柄の前図柄があり、細かく見れば、これらそれぞれが一つのオブジェクトである。但し、制御処理上においては、例えば現図柄、次図柄、前図柄を含む左図柄全体を一つの表示要素として分類する場合もある。
まず、図97により、演出制御装置300のパワーオンリセット処理を説明する。
このパワーオンリセット処理は、パチンコ機1の電源供給が開始された時点で開始する。
パチンコ機1の電源供給が開始すると、まずステップD1で割込みを禁止し、次にステップD2でCPU311の初期設定を行い、次にステップD3でVDP312の初期設定を行い、次にステップD4で割込みを許可し、次いでステップD5のメイン処理を開始する。メイン処理を開始すると、電源遮断(停電含む)までこのメイン処理を実行する。
次に、上述のパワーオンリセット処理におけるメイン処理(ステップD5)を図98により説明する。
メイン処理を開始すると、まずステップD11で無線モジュール360を初期化する無線モジュール初期化処理を実行し、ステップD12乃至D19を順次実行した後、ステップD20に進む。なお、本例は異なるパチンコ機におけるサブ基板間(この場合、演出制御装置間、以下場合により、単にサブ間という。)の通信を無線通信で行う例としているが、無線通信に限定されるものではなく、有線通信でもよい。
ステップD13では、表示用データ生成を許可する。これは、表示回路608がVRAM606,607へアクセスを行い、表示データを生成するのを許可する処理である。
ステップD14では、VDP312の画像展開領域のサイズを設定する。
ステップD15では、乱数シードを設定する。これは、例えばsrand関数を用いて擬似乱数の発生系列を設定する処理である。ここで、srand関数に与える引数としては、0(ゼロ)などの固定値を使用してもよいし、遊技機毎に異なるようにCPU等のID値などを基に作成した値を使用してもよい。
ステップD17では、RAM311aにおけるシナリオ管理用の記憶領域(シナリオ管理領域及びシナリオ管理領域のアドレス領域を含む)を初期化する。
ここで、「モーション」はブロック化(パーツ化)された演出動作(本例の場合、具体的には、表示装置41での表示演出をブロック化したもの)を意味し、「シナリオ」は演出の流れ(どのモーションをいつ実行するか等を決めるもの)を意味する。また、「モーション管理領域のアドレス領域」とは、モーション管理領域の先頭アドレスを格納するための記憶領域を意味する。また同様に、「シナリオ管理領域のアドレス領域」とは、シナリオ管理領域の先頭アドレスを格納するための記憶領域を意味する。
次にステップD20に進むと、ステップD20乃至D32を実行し、ステップD33に進む。
ステップD20では、WDT(ウォッチドッグタイマ)をクリアする。
ステップD21では、演出ボタン入力処理を実行する。これは、演出ボタン9(例えば、プッシュボタンとセレクトボタンからなる構成でもよい)が有効時に押された場合の編集を行う処理である。なお、演出ボタンは高速でオンオフしないので、ボタンの入力を感知する処理はこの処理内で行ってもよいし、図示していない短周期のタイマ割込み内で行ってもよい。
ステップD23では、受信コマンドチェック処理(後述する)を実行する。
ステップD25では、サブ間受信タスク処理を実行する。これは、受信したサブ間コマンドの解析を主に行う処理である(詳細後述する)。
ステップD26では、サブ間ack応答タスク処理を実行する。これは、他台にack(返信)を要求した場合の監視を行う処理である(詳細後述する)。
ステップD27では、サブ間演出設定処理を実行する。これは、受信したサブ間コマンドに対応する演出の制御を行う処理である(詳細後述する)。
ステップD29では、描画領域を黒で塗り潰す処理を実行する。これは、フレームバッファの過去の表示を完全に消すための処理であり、例えば全体が黒い四角形の画像をフレームバッファに配置し、ゴミなどが表示されないようにする処理である。
ステップD30では、モーション制御処理を実行する。これはステップD28で解析等されたシナリオを実行するための処理である(詳細後述する)。
ステップD32では、描画コマンド準備終了設定を実行する。これはステップD31で設定されるVDP312への全てのコマンドの準備が終了したことを設定する処理である。
ステップD35では、サウンド制御処理を実行する(説明は省略する)。
ステップD36では、各種LED等を制御するための装飾制御処理を実行する。
ステップD37では、各種モータやSOL(ソレノイド)を制御するためのモータ/SOL制御処理を実行する。このステップD37を実行した後は、ステップD20に戻り、ステップD20に進んだ場合と同じ処理を繰り返す。
次に、コマンド受信割込み処理について図99により説明する。このコマンド受信割込み処理は、遊技制御装置100(主基板)から送信されるコマンドを演出制御装置300(サブ基板)で受信するための処理であり、当該コマンドを構成するデータが正常な範囲に入っているかをチェックする内容も含まれている。
この主基板とサブ基板の通信は、ストローブ信号(STB信号)を用いたパラレル通信によって行われる態様でもよいが、本例の場合、シリアル通信によって行われる。即ち、両基板とも、例えばCPU101A,311に搭載されているシリアル通信回路の機能を使用し、通信を行う。
また、主基板からのコマンドは、MODEのデータ(1バイト)とACTIONのデータ(1バイト)とを含む構成となっており、これらが順次送信される。以下では、コマンドを構成するこのようなデータを、コマンドのデータ或いはコマンドデータという。
このルーチンが開始されると、まずステップD41で受信監視タイマを停止し、次にステップD42でシリアル受信バッファからコマンドをロードし、ステップD44に進む。
ステップD45に進むと、ステップD42でロードしたコマンドデータを受信MODEとして格納し、次にステップD46でMODE受信フラグに「OK」をセットし、次にステップD47で受信監視タイマの値をゼロにリセットして当該受信開始タイマの計時動作をスタートし、その後リターンする。なお、上記ステップD45で使用しているように、単に格納するというときは、後の制御処理に使用するために所定の記憶領域に読出し可能に記憶保存することを意味する(以下同様)。
ステップD52では、コマンド受信カウンタの値が31より大きいか判定し、大きい場合には後述するコマンドバッファの容量を超えるのでリターンし、大きくない場合(コマンド受信カウンタ≦31の場合)にはステップD53に進む。なお、コマンド受信カウンタの値が0乃至31でステップD53に進む構成としているが、0乃至31という値は後述するコマンドバッファの容量に対応する値であり、システム制御周期(前述の処理周期;例えば1/30秒)で主基板から送信される可能性のあるコマンド数以上になっていればよい。
ステップD55では、範囲チェックOKか否か判定し、OKでなければコマンド(受信MODE及び受信ACTION)を廃棄すべくリターンし、OKならばステップD56乃至D58を順次実行した後にリターンする。ここで、ステップD55での範囲チェックの判定結果は、後述する受信コマンド範囲チェック処理においてコマンド範囲正常フラグがセットされていれば範囲チェックOK(ステップD55がYes)となり、後述する受信コマンド範囲チェック処理においてコマンド範囲異常フラグがセットされていれば範囲チェックOKでない(ステップD55がNo)となる。
ステップD57では、コマンド受信カウンタの値を1だけ増やす更新を行う。
ステップD58では、コマンドバッファにデータを格納した(即ち、書き込んだ)ので、コマンド書込インデックスの値を0乃至31の範囲で1だけ増やす更新を行う。なお、コマンド書込インデックスはコマンドバッファの書込用ポインタであり、このコマンド書込インデックスの値を本例では0乃至31の範囲としているが、この範囲はコマンドバッファの容量(この場合、32)に対応しており、既述したように、システム制御周期(前述の処理周期;例えば1/30秒)の1周期の間に主基板から送信される可能性のあるコマンド数以上になっていればよい。
次に、上述のコマンド受信割込み処理における受信コマンド範囲チェック処理(ステップD54)の詳細について図100により説明する。
このルーチンが開始されると、まずステップD61で、ステップD45で格納された受信MODEの値が正常範囲か判定し、正常範囲でなければステップD67でコマンド範囲異常フラグをセットしてリターンし、正常範囲であればステップD62、D63を順次実行した後にステップD64に進む。MODEの値は、MODE範囲の値の全てが指令内容を定義されているわけではなく、定義されずに使用されていない値もあり、このような使用されていない値である場合には、ステップD61の判定で正常範囲でないと判定される。
なお、このステップD61又は後述するステップD92(或いはステップD61とD92の両方)では、MODEのデータの歯抜けチェックも行い、このチェックで無効なコマンドであれば正常範囲でないとする構成であってもよい。
なお、MODEのデータの歯抜けチェックとは、チェック対象のMODEのデータが、MODEがとり得る値が連続していない部分における無効な値に相当していないか否か判定することを意味する。MODEの値に不連続な部分が無い場合には、この歯抜けチェックは不要である。
ステップD63では、ステップD45で格納された受信MODEの値に対応するACTIONの値としてあり得る値のうちの最大値(ACTION_max)を取得する。
ステップD65に進むと、ステップD50で格納された受信ACTIONの値が、ステップD63で取得された最大値よりも大きいか判定し、大きい場合は異常であるのでステップD67に進み、大きくない場合にはステップD66に進む。
ステップD66に進む場合には、正常であるので、コマンド範囲正常フラグをセットしてリターンする。ステップD67に進む場合は、異常であるので、コマンド範囲異常フラグをセットしてリターンする。
次に、上述のメイン処理における受信コマンドチェック処理(ステップD23)の詳細について図101により説明する。
このルーチンが開始されると、まずステップD71でコマンド受信カウンタの値をコマンド受信数としてロードし、次にステップD72でコマンド受信数がゼロでないか判定し、ゼロでないならばステップD73乃至D75を順次実行した後にステップD76に進み、ゼロならばリターンする。なお本願では、上記ステップD71のように、制御処理においてデータを「ロードする」とは、RAM(本例の演出制御装置300ではCPU311内のRAM)からデータを取り出すことを意味する。
なお、A:コマンド受信カウンタの値、B:コマンド受信数とすると、ステップD71の実行直後では「A=B」である。そして、ステップD73の実行直後では「A=A−B=0」となるのが通常の動きだが、本例の態様では、演出制御装置は遊技制御装置(主基板)からのコマンド受信割込みを割込み禁止にせず最優先にしているので、ステップD71の処理からステップD73の処理の間にAの値が増えている可能性がある。よって、ステップD73の処理を「A←0」(即ち、コマンド受信カウンタの値をゼロとする処理)としてしまうとコマンドのカウントがずれてしまうので、ステップD73では「A−B」という減算処理を行っている。但し、本実施例のように主基板からのコマンドの送受信にシリアル通信を使用した場合は、割込み禁止にしてステップD71の処理からステップD73の処理の間にAの値が増えることがないようにすることによって、ステップD73の処理内容を「A←0」としてもよい。
ステップD75では、コマンドバッファのデータを読み出したので、コマンドバッファの読出用ポインタであるコマンド読出インデックスの値を0乃至31の範囲で1だけ増やす更新を行う。なお、ここでの0乃至31の範囲は、ステップD58で更新されるコマンド書込インデックスと同範囲になっていればよい。
ステップD79に進むと、コマンド領域のアドレス(次に読み出すべきデータのアドレス)を更新し、ステップD80に進む。
ステップD80では、コマンド受信数分のコマンドを解析完了したか否か(即ち、コマンド受信数分だけステップD77乃至D79を繰り返し実行したか否か)を判定し、完了していなければステップD77に戻ってステップD77から処理を繰り返し、完了していればリターンする。
次に、上述の受信コマンドチェック処理における受信コマンド解析処理(ステップD78)の詳細について図102により説明する。
このルーチンが開始されると、まずステップD91で、ステップD77においてロードした今回のコマンドのデータのうちの上位バイトをMODEに、下位バイトをACTにそれぞれ分離して記憶し、その後ステップD92に進む。なお、特図の変動パターンを指令する変動系のコマンドの場合、MODEとして記憶される上位バイトのデータは前半変動パターンを指令し、ACTとして記憶される下位バイトのデータは後半変動パターンを指令するものである。
ステップD93では、ステップD91で分離されたACTの値が正常範囲か判定し、正常範囲でなければリターンし、正常範囲であればステップD94に進む。このステップD93の判定は、前述したステップD62〜D65と同様に行う。即ち、MODE毎に有効なACTの値は異なり、このACTの有効値の上限〜下限は前述したACTIONチェックテーブル(図160)に定義されており、ステップD93ではこの上限〜下限の範囲内に分離されたACTの値が収まっているかをチェックし、収まっていれば正常範囲と判定する(この時点では歯抜けチェックは出来ていない)。
ここで、一致チェックテーブルとは、例えば図160の右側に示すものであり、対応するMODEの値に対して有効な全てのACTの値(ACTIONの値)が先頭アドレスから順に登録されたものであり、MODEの値毎に設けられている。図160の右側に示す一致チェックテーブルは、MODEの値が89hの場合に対応するものであり、このMODEの値(89h)に対して有効な全てのACTの値(11h、12h、21h、22h等)が、テーブルの先頭アドレス(最初の行)から順に登録され、テーブルの最終アドレス(最後の行)にはチェック終了コード(−1)が登録されている。
なお、有効なACTIONの値が連続した範囲で固まっているMODEの場合には、一致チェックテーブルは不要であるため、ACTIONチェックテーブルにおける一致チェックテーブルの先頭アドレスのデータはNULLになっている。図160の場合、例えばMODEの値が80h(客待ち)であると、一致チェックテーブルの先頭アドレスはNULLであり、これがステップD94で取得されることになる。また、一致チェックテーブルが定義されているMODEの行に対しては、有効ACTIONが歯抜けになっているので、上限/下限をチェックした後、対応する一致チェックテーブルを使って更なる比較判定が行われる(後述するステップD96〜D99)。
前述したように、ステップD99までの処理においてコマンドの値(ステップD91で分離されたMODE及びACTのデータ)が異常であると判定されない場合には、ステップD95又はD99を経てステップD100が実行される。
ステップD100では、MODEのデータが変動系コマンド範囲内にあるか判定し、この範囲内ならばステップD101で変動系コマンド処理(後述する)を実行してリターンし、この範囲外ならばステップD102に進む。ここで、MODEのデータとは、ステップD91で分離されて記憶されたMODEのデータである(後述のステップD102等でも同様)。変動系コマンド(変動コマンド或いは変動パターンコマンドという場合もある)は、特図の変動パターンを指令するコマンドであり、この変動コマンドのデータがとり得る範囲が変動系コマンド範囲である。なお、このステップD100ではMODEの歯抜けチェックは行わない構成でもよいし、行ってもよい。
ステップD104に進むと、MODEのデータが図柄系コマンド範囲内にあるか判定し、この範囲内ならばステップD105で図柄系コマンド処理(後述する)を実行してリターンし、この範囲外ならばステップD106に進む。図柄系コマンド(図柄コマンド、或いは飾り特図コマンドという場合もある)は、特図の図柄に関する情報(例えば、特図の停止図柄を何にするかなど)を指令するコマンドであり、この図柄コマンドのデータがとり得る範囲が図柄系コマンド範囲である。
ステップD108に進むと、MODEのデータが先読み系コマンドであるか判定し、先読み系コマンドならばステップD109で先読み系コマンド処理(詳細説明を省略する)を実行してリターンし、先読み系コマンドでない場合にはステップD109を実行しないでリターンする。ここで、先読み系コマンドとは、先読み演出(例えば、特図の大当り予告)の発生の有無、発生時の演出内容の決定を指令するコマンドである。
即ち、変動演出の内容を決めるのは変動パターンコマンドで、停止図柄は演出内容における1つのパラメータでしかないと言うことができ、図柄コマンドを受信しただけでは何も行えない。以前から、変動パターンコマンドを「画面表示変化系のコマンド」、図柄コマンドを「内部パラメータ変更系のコマンド」として扱っているが、従来の構成では、画面表示変化系のコマンドを受信しても、図柄パラメータを受信していない段階のため、直ちに演出準備を行うことができなかった。更に図柄コマンドが規定時間内に送られてくるかも監視しなければならず、演出制御装置の負担を増加させていた。
しかし本例では、その順番を逆にしたので、変動パターンコマンドを受信した時点で、受信済みの図柄情報が合致していれば直ちに演出準備を行うことが可能になったという効果が得られる。なお、図柄コマンドを先に受信しても、画面表示を変更するコマンドではないので先に図柄だけ変わってしまうことはない。RAMに図柄情報を保存するだけだからである。また、図柄コマンドを取りこぼしてしまったとしても前回RAMに保存されている図柄情報が合致するものであれば変動が可能であるという利点もある。これに対して、従来の構成では取りこぼしてしまうと図柄情報欠損となり、変動を行うことができなかった。つまり、本例の場合、コマンド取りこぼしを遊技者に悟られてしまう可能性が限りなく低くなった(従来よりも格段に低くなった)と言える。また、図柄コマンドと変動コマンドは、ペアとなるコマンドであるが、その関係を薄くし独立したコマンドとして扱えるようになったのでプログラムの開発効率が向上したという効果もある。
次に、上述の受信コマンド解析処理におけるステップD101で実行される変動系コマンド処理の詳細について図103により説明する。
このルーチンが開始されると、まずステップD111で特図種別が未確定か判定し、未確定ならばリターンし、未確定でない場合(即ち、特図種別が設定されている場合)にはステップD112で変動パターン対応図柄判定処理(後述する)を実行してステップD113に進む。特図種別とは、特図の種別が特図1か特図2かを示す情報であり、図柄系コマンド処理の後述するステップD171で設定される情報である。
なお、図柄種別とは図柄のカテゴリを意味し、図柄種別には、例えばはずれ図柄、16R確変大当り図柄などがある。また、上記ステップD113における不整合とは、はずれの変動コマンド(変動パターンコマンド)を受信したのに、16R確変大当り図柄の図柄コマンドを受信していた時など、演出を行う上で矛盾してしまう組み合わせ(変動コマンドと図柄種別の組み合わせ)であることを意味する。
またステップD115では、P機状態(パチンコ機の状態)として変動中を設定する。ここで、変動中とは、特図の変動中(客待ちデモ中や大当り中、或いはファンファーレ中等でないこと)を表している。
次に、上述の変動系コマンド処理のステップD112で実行される変動パターン対応図柄判定処理の詳細について図104により説明する。
このルーチンが開始されると、まずステップD121で、図柄系コマンド処理の後述するステップD173でセーブされた図柄種別情報をロードし、ステップD122に進む。
なお、ここでの図柄種別情報は、特図(飾り図柄)の変動表示ゲームの停止図柄の図柄種別を示す情報である。本例の場合、図柄種別は、「はずれ図柄」、「2R確変大当り図柄」、「16R確変大当り図柄」、「11R確変大当り図柄」、及び「11R通常大当り図柄」の5種類に分類することができ、詳細には例えば「16R確変大当り図柄」はさらにA〜Eの5種類に分かれており、また「11R確変大当り図柄」はさらにA〜Cの3種類に分かれているために全部で11種類の停止図柄パターンがある。但し、この態様に限定されず、例えば他のラウンド数の大当り図柄や、小当たり図柄などの種別が設定されていてもよく、この図柄種別の設定は機種の仕様によって変化する。ここで、2Rや16Rというのは大当りのラウンド数を示し、確変大当り図柄は大当り後に確変状態(大当りとなる確率が通常状態よりも高められた状態)となる大当り図柄であり、通常大当り図柄は大当り後に通常状態(確変状態でない状態)となる大当り図柄である。また、はずれ図柄は変動表示ゲームの結果がはずれとなる図柄(大当りにならない図柄)である。
また、このようなACT整合チェックアドレステーブルとACT整合チェックテーブルは、はずれ図柄以外の図柄種別(「2R確変大当り図柄」、「16R確変大当り図柄」、「11R確変大当り図柄」、及び「11R通常大当り図柄」)についても同様に設けられており、後述のステップD126,D128,D130,D132においてステップD124と同様に使用される。
ステップD133に進むと、無効コマンド情報を返してリターンする。
ステップD143に進むと、ACT整合チェックテーブルアドレスを次レコードに更新し、ステップD144に進む。
ステップD144に進むと、当該ACT整合チェックテーブルの最後のデータまでステップD142が繰り返し実行されたか判定し、最後のデータまでステップD142が繰り返された場合にはステップD145に進み、そうでない場合にはステップD141に戻って処理を繰り返す。具体的には、ステップD144では、ステップD143で更新されたACT整合チェックテーブルアドレスに対応するデータがチェック終了コード(−1)であるか判定し、チェック終了コードであれば最後まで繰り返されたとしてステップD145に進み、チェック終了コードでなければステップD141に戻って処理を繰り返す。
そしてステップD145では、異常であるとして無効コマンド情報を返し、リターンする。またステップD146では、正常であるとして有効コマンド情報の値を返す。
例えば、事前にはずれ図柄の図柄コマンドを受信していてステップD121でロードされる図柄種別情報がはずれ図柄の場合に、ステップD91で分離された変動コマンドのMODEの値がCBhでありACTの値が06hであるとすると、図161のACT整合チェックテーブルの5行目のデータが06hであるため、上記ステップD142が5回繰り返されたときに上記ステップD142の判定結果がYESになってステップD146に進み、有効コマンド情報が返されてステップD113の判定結果はNO(整合)となる。また、同様の場合に、ステップD91で分離されたMODEの値がCBhでありACTの値が例えば01hであるとすると、図161のACT整合チェックテーブルには01hが存在しないため、上記ループ処理が何度繰り返されても上記ステップD142の判定結果はNOであり、最終行に至った時点でデータがチェック終了コードになるために上記ループ処理を終了してステップD145に進み、無効コマンド情報が返されてステップD113の判定結果はYES(不整合)となる。また、ステップD91で分離されたMODEの値が変動系コマンド範囲でない場合(ステップD122がNOの場合)や、ステップD91で分離されたMODEの値が変動系コマンド範囲である(ステップD122がYES)にもかかわらずステップD121でロードされた図柄種別情報が何れの図柄種別でもない場合(ステップD123,D125,D127,D129,D131が全てNOの場合)には、ステップD133で無効コマンド情報が返されてステップD113の判定結果はYES(不整合)となる。
このように、上記変動パターン対応図柄判定処理(前述のステップD122)と前述のステップD133によれば、停止図柄に合った変動パターンコマンドになっているかという整合性のチェックが行われる。停止図柄の種類(前述したはずれ図柄、16R確変大当り図柄などの図柄種別)によって行われる変動が異なるので図柄に合った変動パターンコマンドとなっているかを事前にチェックし、整合性がとれていなければ前述したステップD114、D115を実行しないで異常な変動表示演出を行わないようにするためである。なお、変動パターンは、必ずしも完全に図柄毎できれいに分かれているわけではなく、例えば16R確変大当り図柄と2R確変大当り図柄で共用される変動パターンなどもある。
次に、上述の受信コマンド解析処理におけるステップD103で実行される大当り系コマンド処理の詳細について図105により説明する。
このルーチンが開始されると、まずステップD151でMODEのデータ(前述のステップD91で分離された上位バイトのデータ、後述のステップD154、D157、D160でも同じ)がファンファーレ演出(大当りになった時の演出)を指令するものであるか判定し、ファンファーレ演出を指令するものであるならばステップD152、D153を順次実行した後にリターンし、ファンファーレ演出を指令するものでない場合にはステップD154に進む。
ステップD152では、コマンドに応じたファンファーレ演出を行うためのファンファーレ演出設定処理(説明省略する)を実行する。
ステップD153では、P機状態としてファンファーレ中を設定する。
ステップD155では、コマンドに応じたラウンド演出を行うためのラウンド演出設定処理(説明省略する)を実行する。
ステップD156では、P機状態としてラウンド中を設定する。
ステップD158では、コマンドに応じたインターバル演出を行うためのインターバル演出設定処理(説明省略する)を実行する。
ステップD159では、P機状態としてインターバル中を設定する。
ステップD161では、コマンドに応じたエンディング演出を行うためのエンディング演出設定処理(説明省略する)を実行する。
ステップD162では、P機状態としてエンディング中を設定する。
なお、以上は大当り系コマンド処理の一例であり、上記以外の処理(例えば、ファンファーレ、ラウンド、インターバル、及びエンディング以外の演出のための処理)もあり得る。
次に、上述の受信コマンド解析処理におけるステップD105で実行される図柄系コマンド処理の詳細について図106により説明する。
このルーチンが開始されると、まずステップD171で、MODEのデータ(前述のステップD91で分離された上位バイトのデータ、後述のステップD172でも同じ)に対応する特図種別(特図1か特図2かの情報)を設定する。例えば、MODEのデータが85hならば特図1を特図種別として設定し、MODEのデータが86hならば特図2を特図種別として設定する。このように特図1か特図2かはMODEのデータから判定できるので、このステップD171では、MODEのデータから特図種別を判定して設定する。
なお、こうして図柄コマンドを受けてステップD171やD173で設定された特図種別や図柄種別の情報が、図柄コマンドに続いて受信された変動コマンドに対する前述のステップD111、D112の処理で使用される。そして、特図種別の情報は、ステップD111の判定に使用されても、ステップD171が新たに実行されるまで以前にステップD171で設定されたデータが記憶保持される構成となっている。また、図柄種別の情報は、ステップD112で使用された後も、ステップD173が新たに実行されるまで、以前にステップD173で設定されたデータが記憶保持される構成となっている。
次に、上述の受信コマンド解析処理におけるステップD107で実行される単発系コマンド処理の詳細について図107及び図108により説明する。
このルーチンが開始されると、まずステップD181で、MODEのデータ(前述のステップD91で分離された上位バイトのデータ、後述のステップD191、D193、D195、D197、D199、D204、D207でも同じ)が客待ちデモを指令するものであるか判定し、客待ちデモを指令するものであるならばステップD182に進み、客待ちデモを指令するものでない場合にはステップD191に進む。なお、客待ちデモとは、客待ちデモ演出(又は客待ち演出ともいう)のことであり、表示装置41で行われる客待ちデモ表示を含む演出である。客待ちデモ演出では、表示装置41での表示に限られず、他の表示装置での表示やランプ類の点灯(点滅含む)、或いは音声の出力による演出が行われてもよい。
ステップD183では、客待ち演出を行うために客待ち用シナリオデータ設定処理(後述する)を実行する。なお、演出制御装置300の制御処理の説明においてシナリオ制御データとは、特定の演出の流れを制御するために、後述するシナリオ管理領域或いはシナリオ管理領域のアドレス領域に設定されるデータを意味する。このステップD183では、客待ち演出を行うためのシナリオ制御データの設定が行われる。
ステップD184では、P機状態として客待ちA(客待ち状態A)を設定する。なお、客待ち演出には、客待ち状態A、客待ち状態B、客待ちムービー(音無し)、及び客待ちムービー(音有り)がある。
ステップD186では、客待ちデモ同期(客待ちデモ表示におけるサブ間同期)のサブ間コマンド(ブロードキャスト送信設定)を準備し、この準備したサブ間コマンドを編集すべく次のステップD187でサブ間送信データ編集処理(図126で後述する)を実行する。
ステップD189では、サブ間演出開始待ちタイマ(後述するステップD532で使用されるタイマ)を設定する。
ステップD190では、サブ間送信要求フラグをセットする。サブ間送信要求フラグは、後述するステップD461の判定に使用される。
ステップD193に進むと、MODEのデータが特図2保留数の値を指令するものであるか判定し、特図2保留数の値を指令するものであるならばステップD194で特図2保留情報設定処理(説明省略する)を実行した後にリターンし、特図2保留数の値を指令するものでない場合にはステップD195に進む。なお、特図1保留情報設定処理は詳細を後述するが、特図2保留情報設定処理については、特図1保留情報設定処理と同様の処理(特図1か特図2かの違いのみ)であるため説明を省略する。
ステップD197に進むと、MODEのデータが停電復旧を知らせるもの(停電復旧時のコマンドのデータ)であるか判定し、停電復旧を知らせるものであるならばステップD198で停電復旧設定処理を実行した後にリターンし、停電復旧を指令するものでない場合にはステップD199に進む。ステップD198の停電復旧設定処理は、例えば「遊技再開しました」といったメッセージを表示装置41に表示したり、ランプ類を所定態様で点滅させたりして遊技者へ停電復旧を報知する等のための処理であり、そのためのシナリオデータ設定処理を含む。
ステップD200では、各種初期画面情報を設定する。各種初期画面情報の設定内容は、特図種別・図柄種別をクリアする、特図1保留数及び特図2保留数に0を設定する、現図柄及び停止図柄に例えば左=7、中=5、右=3のはずれ図柄を設定するというものである。
ここで、モーション制御テーブルとは、ブロック化された各演出(主に演出表示)を実行するための制御テーブルであり、単にモーションテーブルともいう。このモーションテーブルのデータは、PC(パーソナルコンピュータ)で実行できる市販のアプリケーションソフトによってマウス等を使用したグラフィカルな入力操作によって容易に制作できるものであり、ブロック化された演出毎に演出制御装置300のPROM321に予め記憶されている。
ステップD202では、電源投入用シナリオデータ設定処理(説明省略する)を実行する。
また、電源投入用シナリオデータ設定処理には、枠演出装置45のモータの動作位置を初期位置にするなどのための初期化処理、さらには前記RWMクリア報知を実行するための制御処理が含まれてもよい。
ステップD203では、P機状態として客待ちA(客待ち状態A)を設定する。
ステップD205では、図柄停止用シナリオデータ設定処理(説明省略する)を実行する。
ステップD206では、P機状態として通常を設定する。ここで、通常とは、特図の大当り中、特図の変動中、客待ち中(客待ち状態)の何れでもないことを示す。また、ここで通常と設定された後は、主基板からの次のコマンドに応じて例えば特図の変動中になったり、客待ち中になったりする。
ここで、確率情報設定処理は、大当り後に確変になった場合の確変終了時(高確率状態から低確率である通常状態への移行時)の画面切替のための設定処理であり、そのためのシナリオデータ設定処理を含む場合もある。
なお、この単発系コマンド処理については、図示及び説明を省略しているステップがある。例えば、非変動系の他のコマンド(エラー系等のコマンドなど)を受信した場合の対応処理等を省略している。また、全てのコマンドに対してシナリオ制御データを設定しているわけではない。例えば、枠開放を示すエラー系コマンドを受信した場合、表示装置41の画面は変化させないためシナリオ制御データの設定は行わない。
次に、上述の単発系コマンド処理におけるステップD183で実行される客待ち用シナリオデータ設定処理の詳細について図109により説明する。
このルーチンが開始されると、まずステップD211乃至D234を順次実行した後にリターンする。
ステップD211では、シナリオレイヤー番号0を準備する。ここで、「準備する」とは、後の処理のためにデータを所定の記憶領域に一次記憶して保持しておくことを意味する(後述する他のステップでも同様)。また、シナリオレイヤーは、演出の流れを階層的に制御するための概念的なシナリオの層(レイヤー)である。また、シナリオレイヤー番号は各シナリオレイヤーに付けた番号であり、本例の場合、0から7まである。また本例では、シナリオレイヤー番号0のシナリオレイヤー(以下、シナリオレイヤー0という)は主に背景画像の表示制御に使い、シナリオレイヤー1はカットイン予告キャラ(キャラはキャラクタを意味する)の表示制御に使うといったように、シナリオレイヤー毎に制御対象が基本的に割り当てられている。但し、客待ち演出はシナリオレイヤー0のみを使用し、シナリオレイヤー0の中で客待ち演出用の図柄等のモーション情報も管理するようにしている。
ステップD213では、直前のステップD211、D212で準備されたデータ(アドレスやシナリオレイヤー番号のデータ)に基づいて、後述するシナリオデータ設定処理を実行する。
ステップD215では、シナリオ用データテーブルのアドレス(NULL)を準備する。
ステップD216では、直前のステップD214、D215で準備されたデータに基づいて、後述するシナリオデータ設定処理を実行する。
ステップD217では、シナリオレイヤー番号2を準備する。
ステップD218では、シナリオ用データテーブルのアドレス(NULL)を準備する。
ステップD219では、直前のステップD217、D218で準備されたデータに基づいて、後述するシナリオデータ設定処理を実行する。
ステップD221では、シナリオ用データテーブルのアドレス(NULL)を準備する。
ステップD222では、直前のステップD220、D221で準備されたデータに基づいて、後述するシナリオデータ設定処理を実行する。
ステップD223では、シナリオレイヤー番号4を準備する。
ステップD224では、シナリオ用データテーブルのアドレス(NULL)を準備する。
ステップD225では、直前のステップD223、D224で準備されたデータに基づいて、後述するシナリオデータ設定処理を実行する。
ステップD227では、シナリオ用データテーブルのアドレス(NULL)を準備する。
ステップD228では、直前のステップD226、D227で準備されたデータに基づいて、後述するシナリオデータ設定処理を実行する。
ステップD229では、シナリオレイヤー番号6を準備する。
ステップD230では、シナリオ用データテーブルのアドレス(NULL)を準備する。
ステップD231では、直前のステップD229、D230で準備されたデータに基づいて、後述するシナリオデータ設定処理を実行する。
ステップD233では、シナリオ用データテーブルのアドレス(NULL)を準備する。
ステップD234では、直前のステップD232、D233で準備されたデータに基づいて、後述するシナリオデータ設定処理を実行する。
なお、ステップD215、D218、D221、D224、D227、D230、D233でアドレス(NULL)を準備するシナリオレイヤー1〜7は、シナリオ用データテーブルが設定されないシナリオレイヤー、即ち制御されないシナリオレイヤーである。
次に、上述の客待ち用シナリオデータ設定処理におけるステップD213、D216、D219、D222、D225、D228、D231、D234で実行されるシナリオデータ設定処理の詳細について図110により説明する。なお、このシナリオデータ設定処理は各種の演出に対して共通化されており、このシナリオデータ設定処理が実行されるステップは、他のルーチン(例えば、後述するリーチなし変動設定処理のステップD318等)にも多数存在する。「シナリオデータ設定処理」と記載されているステップは、全てこの図110に示すものである。
このルーチンが開始されると、まずステップD241で、準備されたシナリオ用データテーブルのアドレス(例えばステップD212、D215等で準備されたもの)がNULLか判定し、NULLならばステップD247を実行した後にリターンし、NULLでなければステップD242乃至D246を順次実行した後にリターンする。
次にステップD243では、準備されたシナリオレイヤー番号に対応するシナリオ管理領域のアドレス領域に、直前のステップD242で設定されたシナリオ管理領域の先頭アドレスを格納する(即ち、書き込む)。
次にステップD245では、対応シナリオ管理領域のPB用タイマの値として0を書き込む(即ち、値をクリアする)。なお、対応シナリオ管理領域のPB検知フラグについても値をクリアしてもよいが、必要なとき(PB検知を開始するとき)にクリアすればよいので、ここではPB検知フラグの値の設定は行わない。
次にステップD246では、対応シナリオ管理領域のシナリオ用データテーブル領域に、準備されたシナリオ用データテーブルのアドレス(例えばステップD212で準備されたもの)を書き込む。
一方、ステップD247では、準備されたシナリオレイヤー番号に対応するシナリオ管理領域のアドレス領域にNULLを書き込む。
例えば、前述した客待ち用シナリオデータ設定処理では、ステップD213、D216、D219、D222、D225、D228、D231、D234で上記シナリオデータ設定処理が実行されることによって、シナリオ管理領域のアドレス領域におけるシナリオレイヤー0用アドレスとしてシナリオ管理領域0の先頭アドレスが設定され、残りのシナリオレイヤー1用アドレスからシナリオレイヤー7用アドレスまでにはNULLが設定される。また、シナリオ管理領域0のシナリオ用データテーブル領域にはステップD212で準備された客待ちシナリオ用データテーブルのアドレスが設定される。これにより、シナリオレイヤー0のみで客待ち演出の制御が実行される。
次に、前述の単発系コマンド処理におけるステップD192で実行される特図1保留情報設定処理の詳細について図111により説明する。
このルーチンが開始されると、まずステップD251で、その時点の特図1保留数のデータをロードして、このロードしたデータを前保留数として記憶し、次にステップD252で、コマンド(ステップD91で分離されたMODE及びACTのデータ)で指令された保留数の値を特図1保留数として記憶し、その後ステップD253に進む。
ステップD254では、新保留数に対応する保留用モーション制御テーブルのインデックスを算出してセーブする。なお、インデックスとは、グループを成す複数の記憶領域のうちの何番目かを特定するデータであり、特にモーションテーブルを特定するインデックスをモーションインデックス(詳細後述する)という。このステップD254では、新保留数に対応する保留用モーション制御テーブルを特定するモーションインデックスを算出し、これを記憶する記憶領域(保留用インデックス領域)にセーブする。
ステップD255では、シナリオレイヤー番号6を準備する。
ステップD256では、特図1保留シナリオ用データテーブル(保留X個)のアドレスを準備する。ここで、特図1保留シナリオ用データテーブル(保留X個)とは、新保留数に対応する演出を行うための保留数毎に異なるシナリオテーブルを意味し、新保留数が例えば1個であれば特図1保留シナリオ用データテーブル(保留1個)であり、新保留数が例えば2個であれば特図1保留シナリオ用データテーブル(保留2個)である。
ステップD257では、直前のステップD255、D256で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD259に進むと、新保留数に対応する色情報領域に保留通常点灯の表示パターンを設定し、次のステップD260ではP機状態が大当り中か判定する。ステップD260の判定の結果、大当り中であればリターンし、大当り中でなければ次のステップD261で始動口入賞音を出力要求し、その後リターンする。なお、大当り中には、前述したファンファーレ中、ラウンド中、インターバル中、及エンディング中が含まれる。
なお、ステップD259に進むのは、特図1の始動入賞があった場合であるので、この始動入賞による保留表示(保留されている始動記憶の表示)や演出用の入賞音出力を行うためにステップD259及びD261が実行される。但し、大当り中には、ステップD260で分岐して入賞音出力を行わない。また、ステップD262に進むのは、特図1の始動記憶の保留数が減少した場合であるため、先読み表示(例えば大当り予告や変動パターン予告)を行っている保留数の表示をずらして表示したり、先読み情報(先読みした変動パターンや停止図柄の情報及び先読み演出有無等の各種情報(フラグ等))を保留数に対応する領域にずらすために、ステップD262、D263が実行される。
演出制御装置300では、前述のステップD109(先読み系コマンド処理)において、各保留毎に、先読み系コマンドの解析結果として上記先読み情報を設定している。そして、この先読み情報の格納領域は、主基板で変動開始時に乱数格納領域をシフトするのと同様に、前記保留数の減少に対応させてシフトさせる必要があり、この格納領域のシフトを行っているのが、上記ステップD262である。またステップD263は、先読み情報に応じた保留表示色(即ち、先読み演出のために先読み演出の有無や内容によって異ならせている保留表示の色)の情報の格納領域を同様にシフトさせるための処理である。
次に、前述の変動系コマンド処理におけるステップD114で実行される変動演出設定処理の詳細について図112及び図113により説明する。
このルーチンが開始されると、まずステップD271乃至D275を実行し、ステップD276に進む。
ステップD271では、受信したコマンドに応じた大別パターン(特図の変動表示演出の大まかな分類であり、後述する大別パターンデータによって決まる)を選択する変動パターン分類処理(後述する)を実行する。
ステップD272では、上記ステップD271の変動パターン分類処理で返された大別パターン及び各種演出情報に対応する予告振分テーブル1を準備する。ここで演出情報とは、停止図柄の情報(特に大当り図柄の詳細、はずれは大別パターンで分かるため)、高確率/時短状態といった確率状態の情報、保留数の数、及び、演出制御装置300が管理する遊技モード(本実施例では遊技制御装置からも遊技モードのコマンドが送られてくる)などが有り得る。このステップD272(或いは後述のステップD274、D277)で各種演出情報を考慮して予告振分テーブルを設定しているので、例えば同一の変動パターンコマンドでも、そのときの状態で、予告の振り分け率(発生率)を変化させられるようになる。
ステップD273では、乱数抽選処理A(後述する)を実行する。
ステップD274では、上記ステップD271で返された大別パターンに対応する予告振分テーブル2を準備する。
ステップD275では、乱数抽選処理B(後述する)を実行する。
ステップD277では、上記ステップD271で返された大別パターンに対応する予告振分テーブル3を準備する。
ステップD278では、乱数抽選処理C(後述する)を実行する。
ステップD279に進むと、基本BGM番号(基本BGMの曲番号)を設定し、次にステップD280で予告演出設定処理1(後述する)を実行し、その後ステップD281に進む。
なお、前半変動種別とは、同一のMODE(例えば12秒前半通常変動)の中で、演出制御装置側で振り分けている変動予告種類のことである。また、「通常変動」における「通常」とは、いわゆるすべりや短縮変動等の特殊な変動ではないという意味である。また煩雑を避けるため、ここでは、前半変動種別が通常(すべりや短縮でない)の場合の予告振り分けの様子のみをフローチャート(図112)に記載している。そして、前半変動種別が通常変動でない場合の各種変動の処理は、ステップD281の判定結果がNOになった流れ以降のステップ(図112において波線で省略している)で実行されるが、この流れ以降の処理を実行した後には、次の図113のステップD290に進む構成となっている。また、大当り、はずれのいずれの場合でも、前半変動が通常になり得るので、各予告用シナリオデータ設定処理(後述するステップD286乃至D289)は大当りとはずれの何れの場合でも実行される可能性がある。但し、大当り専用の前半変動なども考えられるので、常に両用の設定処理ばかりとは限らない。
ステップD283に進むと、ここまでの処理で決定された予告種別が巻物文字予告を指定するものであるか判定し、巻物文字予告でない場合にはステップD284に進み、巻物文字予告である場合にはステップD287で巻物文字予告用シナリオデータ設定処理(説明省略)を実行した後にステップD290に進む。
ステップD285に進むと、ここまでの処理で決定された予告種別がフラッシュバック予告を指定するものであるか判定し、フラッシュバック予告でない場合にはステップD290に進み、フラッシュバック予告である場合にはステップD289でフラッシュバック予告用シナリオデータ設定処理(説明省略)を実行した後にステップD290に進む。
ステップD291では、特図2に対応する保留用モーション制御テーブルを特定するモーションインデックスを算出し、これを記憶する記憶領域(保留用インデックス領域)にセーブする。
ステップD292では、第4図柄用(特図2変動)モーション制御テーブルを特定するモーションインデックスを算出し、これを記憶する記憶領域(第4図柄インデックス領域)にセーブする。
ステップD293では、特図1に対応する保留用モーション制御テーブルを特定するモーションインデックスを算出し、これを記憶する記憶領域(保留用インデックス領域)にセーブする。
ステップD294では、第4図柄用(特図1変動)モーション制御テーブルを特定するモーションインデックスを算出し、これを記憶する記憶領域(第4図柄インデックス領域)にセーブする。
・フレーム数(表示フレーム数)は、当該モーションテーブルは何フレーム分のモーションデータ(モーションテーブルを構成するデータ)が定義されているかを示す。
・モーションコマンド数は、当該モーションテーブル内に定義されているコマンド数を示す。
・モーションテーブル名は、当該モーションテーブルの名称(=アドレス)を示す。
・ビヘイビア数は、当該モーションテーブル内で使用するビヘイビアの数(種類)を示す。
・ビヘイビアテーブル名は、当該モーション制御時のビヘイビア(処理のアドレス)を定義してあるビヘイビアテーブルの名称(=アドレス)を示す。
なお、ビヘイビア数が0なら、当然ビヘイビアテーブルは不要である。
ここで、ビヘイビアとは、オブジェクト(表示要素)の動作を設定する機能である。本例では、主にモーションテーブル上に定義されている画像データ(キャラクタデータ)を状況に応じて変更するために使用している。
なお本例では、12秒前半通常変動の場合には、リーチアクション無しの変動パターンしかあり得ない。この場合、リーチアクションを行わないので後半変動の時間値は0として設定し、合計で12秒となる変動パターン(即ち、12秒通常変動;ここでの「通常」はリーチではない変動という意味である)として定義している。つまり、ステップD91で分離されたACTのデータ(後半変動パターン)が示す後半変動時間値は0秒変動ということになる。
ステップD299に進むと、前記MODEのデータが(前半変動パターン)が10.4秒前半通常変動(ここでの「通常」は短縮変動等ではないという意味)を指令するものか否か判定し、10.4秒前半通常変動を指令するものであればステップD300に進み、10.4秒前半通常変動を指令するものでなければステップD308に進む。なお本例では、10.4秒前半通常変動の場合には、リーチアクション有りの変動パターンしかあり得ない。この場合、リーチアクションの演出内容に伴って後半変動の時間値は変化するので、合計で(10.4+α)秒となる変動パターンとして定義される。同一のMODEに対してACTのデータ(後半変動パターン)は複数の種類があり、この数は遊技機毎の仕様により異なる。
ステップD301に進むと、前記ACTのデータ(後半変動パターン)がノーマル+1はずれの変動を指令するものか否か判定し、ノーマル+1はずれを指令するものであればステップD305でノーマル+1はずれ設定処理(説明省略)を実行した後にリターンし、ノーマル+1はずれの変動を指令するものでなければステップD302に進む。なお、ノーマル+1はずれも、ノーマルリーチアクション有りで外れる変動パターンである。
次に、上述の変動演出設定処理におけるステップD298で実行されるリーチなし変動設定処理の詳細について図114により説明する。なお、本実施例では、MODE=12秒前半通常変動は、はずれの場合しかない。このため、このルーチンで設定される後述の図柄生成フラグははずれ図柄の指示しかない。
このルーチンが開始されると、まずステップD311で、以前の処理(ステップD271乃至D278)で設定された変動前半種別が超短縮変動であるか判定し、超短縮変動であればステップD312でリーチ+1はずれの図柄生成フラグを準備してステップD314に進み、超短縮変動でなければステップD313ではずれバラケ目の図柄生成フラグを準備してステップD314に進む。
なお、超短縮変動とは、主基板からの指令は12秒前半通常変動でも、その中でリーチの動きを行うことをサブ基板で選択する場合があり、そのような場合の変動の例である。
また、バラケ目とは、特図を構成する複数の図柄がリーチや大当りとなる図柄でない状態(リーチ形の組み合わせでなければ「776」のような組み合わせも含む)を意味する。
ステップD314では、ステップD312又はD313で準備された図柄生成フラグに基づいて停止図柄設定処理(後述する)を実行する。
そして、前記変動前半種別が例えば通常変動であったときにステップD315では、図図168の右側に示すインデックスの値が0の最上段の設定パターンを選択し、例えば左図柄の1st(序盤)用領域にはMS_LZ100を、左図柄の2nd(前半)用領域にはMS_LZ300を、左図柄の3rd(後半)用領域にはNULLをそれぞれセーブし、右図柄及び中図柄についても同様に最上段にあるシナリオテーブルのアドレスをセーブすることになる。
なお本願では、前半変動時間内の図柄の動きだしの期間を「序盤」(1st)、前半変動時間内の残りの期間を「前半」(2nd)としている。同一の前半変動時間でも図柄の動きだしが、そのまま下にスクロールする場合や一旦上にホッピングしたりする場合(予告の一種)もあるので、動きが一通りにならないよう「序盤+前半=前半変動」という構成になっている。そして、後半変動時間を「後半」(3rd)としている。また本実施例は、このように、特図変動時の演出を時間的に複数に分割した各期間について演出内容をそれぞれ設定し、各期間の演出内容の組合せとして特図変動時の演出全体を構成する組合せ式となっている。これにより、制御データ記憶用の不揮発性メモリ(本例ではPROM321)に格納しなければならない総データ量が減るというメリットがある。即ち、例えば、少しでも動きが違う演出内容毎にテーブルを全て用意するとデータ量が膨大になってしまうが、この組合せ式であればそのような問題が改善される。
ステップD317では、現在の遊技モード等に対応する背景シナリオテーブルのアドレスを準備する。
ステップD318では、直前のステップD316、D317で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD319では、シナリオレイヤー番号1を準備する。
ステップD320では、前述した図柄変動シナリオテーブル領域から、左図柄シナリオ1stテーブルアドレス(前述した左図柄用領域における1st(序盤)用領域に格納されたシナリオテーブルのアドレス)をロードして準備する。
ステップD321では、直前のステップD319、D320で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD323では、前述した図柄変動シナリオテーブル領域から、右図柄シナリオ1stテーブルアドレス(前述した右図柄用領域における1st(序盤)用領域に格納されたシナリオテーブルのアドレス)をロードして準備する。
ステップD324では、直前のステップD322、D323で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD325では、シナリオレイヤー番号3を準備する。
ステップD326では、前述した図柄変動シナリオテーブル領域から、中図柄シナリオ1stテーブルアドレス(前述した中図柄用領域における1st(序盤)用領域に格納されたシナリオテーブルのアドレス)をロードして準備する。
ステップD327では、直前のステップD325、D326で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD329では、第4図柄シナリオテーブル(第4図柄用のシナリオテーブル)のアドレスを準備する。
ステップD330では、直前のステップD328、D329で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
以上説明したルーチン(リーチなし変動設定処理)によれば、リーチなし変動の場合のシナリオ制御データの設定が必要なシナリオレイヤー(この場合、シナリオレイヤー0,1,2,3,7)について行われ、シナリオテーブルとしては例えば図168に示すような組み合わせが選択されたことになる。
次に、上述のリーチなし変動設定処理におけるステップD314で実行される停止図柄設定処理の詳細について図115により説明する。なお本例では、演出用の特図が左右並んで配置される3カ所の図柄(左図柄、中図柄、右図柄)からなるが、これら図柄としてそれぞれ9種類の図柄(図柄番号0乃至8)がある場合を例示する。
このルーチンが開始されると、まずステップD331で、前述した特図種別が特図2変動か判定し、特図2ならばステップD332を実行した後にステップD334に進み、特図2でない場合(即ち、特図1の場合)にはステップD333を実行した後にステップD334に進む。
ステップD332では、特図停止図柄領域の特図2第4図柄にはずれ図柄番号をセーブする。
ステップD333では、特図停止図柄領域の特図1第4図柄にはずれ図柄番号をセーブする。
ステップD336は、8種類の図柄番号0乃至7からランダムに一つ選択した図柄番号を右図柄rxとして設定する処理である。
ステップD337に進むと、ステップD336で設定した右図柄rxがステップD335で設定した左図柄lx以上の値であるか判定し、右図柄rx≧左図柄lxであればステップD338で右図柄rxの図柄番号を1つ増やしてステップD339に進み、右図柄rx≧左図柄lxでなければ(即ち、右図柄rx<左図柄lxであれば)ステップD338を実行しないでステップD339に進む。
これらステップD335乃至D338の処理により、左図柄lxと右図柄rxがランダムに設定されるとともに、左図柄lxと右図柄rxは必ず異なる図柄番号に設定される。ステップD336で図柄番号7以下の範囲から選択するのは、ステップD338で必ず一つ増やすことができるようにするためである。
具体的に説明すると、例えば3,5,7の組合せの図柄が出現禁止図柄であるとすると、ステップD339では、左図柄lxと右図柄rxの図柄番号が3,5,7のうちの異なる何れか二つである場合には、出現禁止図柄となり得るとしてステップD340に進む。
ステップD340を経るとステップD341で、8種類の図柄番号0乃至7からランダムに一つ選択した図柄番号を中図柄cxとして設定する処理を実行し、その後ステップD342に進む。
これらステップD341乃至D343の処理によれば、中図柄cxの値は必ずnocxと異なる値になり、結局、「左図柄lx,中図柄cx,右図柄rx」の組合せは、必ず出現禁止図柄でないものとなる。
ステップD344に進むと、8種類の図柄番号0乃至7からランダムに一つ選択した図柄番号を中図柄cxとして設定する処理を実行し、その後ステップD354に進む。
ステップD346では、10種類の値0乃至9からランダムに一つ選択した値をtmprndとして格納する処理を実行する。
ステップD347に進むと、tmprndの値が0か判定し、0ならばステップD348とD349を順次実行した後にステップD352に進み、0でないならばステップD350とD351を順次実行した後にステップD352に進む。
ステップD350では、偶数である5種類の値0,2,4,6,8からランダムに一つ選択した値を左図柄lxの番号として格納する処理を実行する。
ステップD349又はステップD351では、リーチの図柄とするために、右図柄rxの値を左図柄lxの値と同じにする(即ち、右図柄を左図柄と同じ図柄とする)。
ステップD353に進むと、その他の図柄生成フラグに対応する組合せの図柄(大当り図柄含む)を生成する処理を実行した後、ステップD354に進む。
ステップD354では、ここまでのステップで設定された左図柄lx、中図柄cx、右図柄rxの値を、停止図柄領域の左図柄・中図柄・右図柄にそれぞれ格納し、その後リターンする。
なお、上記ステップD334乃至D352は、以上説明したように、はずれバラケ目の場合と、リーチ−1はずれ目の場合の処理である。実際には停止図柄の種類には、他にも沢山の種類があるが、ここでは煩雑を避けるために、それら他の種類の処理についてはステップD353でまとめて図示しており、その詳細については図示及び説明を省略する。
また、大当り図柄生成の場合は、例えば左図柄だけを決定し、中・右図柄にコピーするやり方などが考えられる。その他、「777」と限定される場合や、計算によらず停止図柄の組合せを複数テーブル上に定義し、乱数で何れかを選択する、というやり方も考えられる。
また、前述のステップD332,D333では第4図柄のはずれ図柄しか設定していないが、当りの場合には、ステップD353で図柄生成フラグに対応する第4図柄の当り図柄を設定する内容となっている。また、図柄生成フラグにも「2R確変大当り図柄目」「16R確変大当り図柄目」・・・といったような各種の設定内容があり、例えば「2R確変大当り図柄目」のフラグの場合、左中右図柄(飾り図柄としての左図柄、中図柄、及び右図柄)が「357」「573」・・・と複数のパターンが作られるように、第4図柄にも図174のように組み合わせが複数あり、どの組み合わせを出現させるかは乱数によって決定される。第4図柄の色の組み合わせは、当りの区分と1対1に対応しており、たとえば「上青、下青」の組み合わせは確変でない大当り、「上青、下黄」は確変大当りといったように対応している。機種毎に異なるが、事前に遊技機の仕様において、第4図柄の色の組み合わせには意味が定義されている。本例は、はずれでは「上白、下白」の1パターンしかあり得ない構成であり、白という色自身が外れ時にしか使われない。図115のステップD332,D333等では図柄番号を設定しているだけであるため、例えば外れでは特図1、2ともに図柄番号=0を設定し、図柄番号=0は特図1、2ともに「上白、下白」の組み合わせと定義されている。当り図柄では例えば第4図柄番号は1〜36(例えば、確変当り時は1〜18から抽選、非確変当り時は19〜36から抽選する)までそれぞれあり、同一の番号でも色の組み合わせは特図1と2で異なることもあり得る。例えば、特図1での「上青、下青」は確変ではなくても、特図2では確変の組み合わせになるといったこともあり得る。そのため、図柄番号と色組み合わせのテーブルは特図1と2で別々となっている。このように、第4図柄の色組み合わせがたくさんあるのと、第4図柄の特図1・2で色組み合わせの意味(定義)を変えているのは、左中右図柄の形態で確変か否かが分からなくしているのと同様に、第4図柄の色の組み合わせでも判別を困難とするためである。
次に、前述の変動演出設定処理におけるステップD271で実行される変動パターン分類処理の詳細について図116により説明する。
このルーチンが開始されると、まずステップD361でMODEのデータが変動系コマンドであるか判定し、変動系コマンドであればステップD362に進み、変動系コマンドでなければステップD368に進む。
ステップD362に進むと、ACTのデータは有効範囲か判定し、有効範囲であればステップD363を実行してステップD364に進み、有効範囲でなければステップD368に進む。
ステップD364に進むと、ステップD363で取得した変動パターンチェックデータが0か判定し、0ならばステップD368に進み、0でなければステップD365乃至D367を順次実行した後にリターンする。
ステップD366では、ステップD365で設定された大別パターンテーブルに基づいてACTのデータに対応する大別パターンデータを取得する。
ステップD367では、ステップD366で取得した大別パターンデータを返してリターンする。
ステップD368に進むと、0を返してリターンする。
なお、本実施例では後半変動パターン(ACTのデータ)の数が01h〜4Bhの範囲となっているので上記のサイズ(5行×16列)のテーブルとなっているが、これは一例であり、もっと細かく分けた構成でもよいし、或いは逆に例えば大別パターンデータが同じ値になる部分をまとめて大まかに分けた構成としてもよい。
また、大別パターンテーブルは、前述したように大別パターンデータを決定するためのテーブルである。そして、この大別パターンテーブルにおいて、MODE及びACTのデータの組み合わせが存在しない所は図162に示すように大別パターンデータが0となっている。このため、MODE及びACTのデータの組み合わせが存在しない場合、ステップD367では、ステップD368と同様に0を返すことになる。また、こうして0が返された場合、例えば通常外れと同様の扱いとする。通常外れと同様の扱いにすれば、確定したコマンドに万が一異常があっても、特図を一応変動させることができ、遊技者に不安を抱かせないようにすることができるなどの利点がある。但し、0が返された場合、通常外れとしないで、例えば変動演出設定処理においてステップD271を実行した後に、ステップD272以降を実行しないでリターンする構成として、変動開始設定を行わない態様も有り得る。このようにすると、コマンド異常の場合には特図を変動させないようにすることができる。
次に、前述の変動演出設定処理におけるステップD273で実行される乱数抽選処理Aの詳細について図117により説明する。このルーチンは、前述のステップD272で振分けのグループA用として準備された予告振分テーブル1における振分け結果を種別毎に乱数により選択する処理である。
このルーチンが開始されると、予告種別番号Aを初期値1から増分1だけ増加させつつ終値na(例えば、na=9)になるまで、ステップD371乃至ステップD380を繰り返し実行し、その後リターンする。即ち、ステップD371ではルーチン開始直後は予告種別番号Aを1としてステップD372に進む。ステップD380では、予告種別番号Aがna未満である場合にはステップD371に戻り、予告種別番号Aがnaである場合にはリターンする。そしてステップD371に戻ると、予告種別番号Aの値を1だけ増加させてステップD372に進む。なお、終値naの値は機種毎に異なる。
ステップD376に進むと、前記rdmの値から前記振分値を減算した値を新たなrdmの値として設定し、次にステップD377で振分テーブルの現アドレスを1だけ増加させる更新(振分テーブルの同一行において1列分だけ現アドレスを先頭から離れる方向にずらす更新)を実行し、次いでステップD378で振分番号を1だけ増やす更新を行った後に、ステップD375に戻って処理を繰り返す。
ステップD380に進むと、前述したように、予告種別番号Aがna未満である場合にはステップD371に戻り、予告種別番号Aがnaである場合にはリターンする。
なお、演出振分け結果領域は、上記予告データ値のような演出振分け結果をセーブするRAM311a内の領域である。
次に、前述の変動演出設定処理におけるステップD275で実行される乱数抽選処理Bについて説明する。このルーチンは、前述のステップD274で振分けのグループB用として準備された予告振分テーブル2(例えば図167に示すもの)における振分け結果を種別毎に乱数により選択する処理である。
このルーチンの詳細は、前述の乱数抽選処理Aと同様であるため、図示及び詳細説明を省略する。
次に、前述の変動演出設定処理におけるステップD278で実行される乱数抽選処理Cについて説明する。このルーチンは、前述のステップD277で振分けのグループC用として準備された予告振分テーブル3における振分け結果を種別毎に乱数により選択する処理である。
このルーチンの詳細は、前述の乱数抽選処理Aと同様であるため、図示及び詳細説明を省略する。
上述の乱数抽選処理A,B,Cによれば、全てのグループA,B,Cのそれぞれで全ての予告種別番号の値に対して振分け結果が予め選択され、この振分け結果に応じた演出内容を指定する各種情報が予め所定の記憶領域にそれぞれ格納されることになる。
L11:カットイン予告のキャラが静止画か動画か(当然、動画の方が熱い(大当りになる確率が高い)。動画はリーチが確定する。)を決める振分け。L20〜L22で振り分けるキャラと女性キャラに、静止画のパターンと動画のパターンがある。ここで、動画と決まれば最終ステップが動画となる。なお、静止画といっても、カットイン画像自体は動画である。カットイン画像の中のキャラクタが静止しているということを意味する。動画の場合は登場キャラクタが静止画の状態でカットインしてきた後、1呼吸おいて、その状態から動き出すということ(刀を振りかぶって斬りかかるなど)を意味する。
L12:カットインが何回行われるか(1変動中に)を決める振分け。図では、説明を簡単にするために3段階までとしたが、実際は4段階以上ある。
L13:カットインが3回行われる場合に女性キャラが出現する可能性のある場所(L23の結果と連動する。L23がなしならこの振り分けは無になる。)を決める振分け。女性が連続して出現する程信頼度がアップする。
L15:カットインが2回行われる場合に女性キャラが出現する可能性のある場所(L13と同様)を決める振分け。
L20:カットイン3回目に出現するキャラ(武将男)を決める振分け。L12が2回までの振り分け結果となっていたら、この振り分けは無になる。
L21:カットイン2回目に出現するキャラ(武将男)を決める振分け。L12が1回までの振り分け結果となっていたら、この振り分けは無になる。
L22:カットイン1回目に出現するキャラ(武将男)を決める振分け。L12がなし(カットイン数が0回)という振り分け結果となっていたら、この振り分けは無になる。
L23:L13〜L22までの結果を反映するかを決定する振分け。主に男性キャラを女性キャラに差し替えるか否かを決定するもの。L23の振分け結果が「なし」であると、L13やL15の結果は使用しない。L23の振分け結果が「出現」であると、L13やL15の結果を使用する。ステップ毎に出現する女性キャラは固定されている。L23の振分け結果が「全て」であると、L13やL15の結果を使用せず全てのステップを女性に差し替える。L23の振分け結果が「ストーリー」であると、ストーリームービーがカットインとして出現する。各ステップでストーリー用ムービーは専用であり固定とする(固定でなくてもよい)。この「ストーリー」の場合、L13〜L22の結果に関係ないカットインが出現し、L12の回数までストーリーが進行する態様としてもよい。この「ストーリー」は、熱い演出であり、リーチが確定する。また、L23の振分け結果が「プレミアム」であると、プレミアム専用のキャラクタがL12の結果の最後のステップに出現する。この「プレミアム」は、大当り確定時に出現する。この「プレミアム」は、確変大当り確定のときだけでもよいし、そうでなくてもよい。
次に、前述の変動演出設定処理におけるステップD280で実行される予告演出設定処理1の詳細について図118により説明する。この予告演出設定処理1としては、乱数抽選結果(前述した乱数抽選処理A、B、Cの結果)に応じてステップアップ予告の設定を行う場合を例示しているが、当然機種毎に予告演出の内容は異なる。なお、ステップアップ予告とは、予告内容や予告の信頼度を変化させつつ大当り予告を段階的に行うものである。本願の図面及び明細書において、「SU」とは、このステップアップ予告のステップアップを意味する。
このルーチンが開始されると、まずステップD381乃至D390を順次実行した後にステップD391に進む。
ステップD382では、シナリオレイヤー番号4を準備する。
ステップD383では、ステップD381でロードしたSU予告回数に対応するSU予告シナリオテーブルのアドレスを準備する。
ステップD384では、直前のステップD382、D383で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD386では、ステップD385でロードしたSU1カットイン番号に対応する武将データを取得し、モーションインデックス領域(モーションインデックスを保存する記憶領域)のSU1カットイン領域にセーブする。
ステップD387では、演出振分け結果領域のSU2カットイン領域から振分け結果をロードする。
ステップD388では、ステップD387でロードしたSU2カットイン番号に対応する武将データを取得し、モーションインデックス領域のSU2カットイン領域にセーブする。
ステップD390では、ステップD389でロードしたSU3カットイン番号に対応する武将データを取得し、モーションインデックス領域のSU3カットイン領域にセーブする。
上記ステップD385乃至D390では、振り分けられた武将キャラ出現を行うためのモーションテーブルのデータを、一旦保存している。なお、ここで保存されたデータが使用されるとは限らず、その後、後述のカットインキャラ差替え判定処理1〜3(ステップD395乃至D397)における判定の結果によっては、例えば女性キャラのデータに差し替えが行われる。またここでは、SU数が満たない結果(例えばSU1が選ばれた)の場合、上位SU領域には一番信頼度の低いキャラクタのデータをセーブしておくことになるが、結果としては使われない制御となっている。
ステップD392に進むと、ステップD381でロードしたSU予告回数が1か判定し、1でない場合にはステップD393に進み、1である場合にはステップD395に進む。
ステップD393に進むと、ステップD381でロードしたSU予告回数が2か判定し、2でない場合にはステップD394に進み、2である場合にはステップD396に進む。
ステップD394に進むと、ステップD381でロードしたSU予告回数が3か判定し、3でない場合にはリターンし、3である場合にはステップD397に進む。
ステップD395に進むと、カットインキャラ差替え判定処理1(後述する)を実行し、その後リターンする。
ステップD396に進むと、カットインキャラ差替え判定処理2(後述する)を実行し、その後リターンする。
ステップD397に進むと、カットインキャラ差替え判定処理3(後述する)を実行し、その後リターンする。
次に、上述の予告演出設定処理1におけるステップD395で実行されるカットインキャラ差替え判定処理1の詳細について図119により説明する。なお、SU予告回数が1の場合に本ルーチンが実行されるが、SU予告回数が1の場合にはステップアップ予告で登場するキャラが一人目だけであるため、本ルーチンでは差替えが全部差替えしかない。
このルーチンが開始されると、まずステップD401で、演出振分け結果領域の差替え判定領域から振分け結果をロードする。
次にステップD402で、ステップD401でロードした振分け結果に基づいて差替えが全部差替えであるか判定し、全部差替えならばステップD403を実行後にリターンし、全部差替えでなければステップD403を実行しないでリターンする。
ステップD403では、カットインSU1用モーション制御テーブルのインデックスをステップD401でロードした振分け結果に基づいて差し替える。
次に、上述の予告演出設定処理1におけるステップD396で実行されるカットインキャラ差替え判定処理2の詳細について図120により説明する。なお、SU予告回数が2の場合に本ルーチンが実行されるが、SU予告回数が2の場合にはステップアップ予告で登場するキャラが二人目までであるため、本ルーチンでは差替えが、一部差替え(一人目だけ差替え)、一部差替え(二人目だけ差替え)、及び全部差替え(一人目と二人目の両方差替え)の3パターンのみである。
このルーチンが開始されると、まずステップD405で、演出振分け結果領域の差替え判定領域から振分け結果をロードする。
次にステップD406で、ステップD405でロードした振分け結果に基づいて差替えが差替え無しであるか判定し、差替え無しならばリターンし、差替え無しでなければステップD407に進む。
ステップD409に進むと、ステップD408でロードした振分け結果に基づいて差替え対象がSU1(一人目のキャラ)か判定し、SU1ならばステップD411でカットインSU1用モーション制御テーブルのインデックスを前記振分け結果に基づいて差し替えた後にリターンし、SU1でなければステップD410に進む。
一方、ステップD413に進むと、ステップD405でロードした振分け結果に基づいて差替えが全部差替えであるか判定し、全部差替えならばステップD414、D412を順次実行した後にリターンし、全部差替えでなければステップD414、D412を実行しないでリターンする。
ステップD414では、カットインSU1用モーション制御テーブルのインデックスをステップD405でロードした振分け結果に基づいて差し替え、ステップD415では、カットインSU2用モーション制御テーブルのインデックスを同様に差し替える。
次に、上述の予告演出設定処理1におけるステップD397で実行されるカットインキャラ差替え判定処理3の詳細について図121及び図122により説明する。なお、SU予告回数が3の場合に本ルーチンが実行されるが、SU予告回数が3の場合にはステップアップ予告で登場するキャラが三人目まであるため、後述する処理内容に示すような多様な差替えパターンがあり、本例では、全部差替えについても通常の全部差替えと特殊な全部差替え(後述するストーリー用、及びプレミアム用)とがある。
このルーチンが開始されると、まずステップD421で、演出振分け結果領域の差替え判定領域から振分け結果をロードする。
次にステップD422で、ステップD421でロードした振分け結果に基づいて差替えが差替え無しであるか判定し、差替え無しならばリターンし、差替え無しでなければステップD423に進む。
ステップD425に進むと、ステップD424でロードした振分け結果に基づいて差替え対象がSU1(一人目のキャラ)か判定し、SU1ならばステップD433でカットインSU1用モーション制御テーブルのインデックスを前記振分け結果に基づいて差し替えた後にリターンし、SU1でなければステップD426に進む。
ステップD427に進むと、ステップD424でロードした振分け結果に基づいて差替え対象がSU3(三人目のキャラ)か判定し、SU3ならばステップD435でカットインSU3用モーション制御テーブルのインデックスを前記振分け結果に基づいて差し替えた後にリターンし、SU3でなければステップD428に進む。
ステップD429に進むと、ステップD424でロードした振分け結果に基づいて差替え対象がSU2とSU3(二人目と三人目のキャラ)か判定し、SU2とSU3ならばステップD438、D439でカットインSU2用とカットインSU3用のモーション制御テーブルのインデックスを前記振分け結果に基づいて差し替えた後にリターンし、SU2とSU3でなければリターンする。
ステップD431に進むと、ステップD421でロードした振分け結果に基づいて差替え対象がストーリー用か判定し、ストーリー用ならばステップD443乃至D445でカットインSU1用とカットインSU2用とカットインSU3用のモーション制御テーブルのインデックスを前記振分け結果に基づいて差し替えた後にリターンし、ストーリー用でなければステップD432に進む。
次に、上述の変動演出設定処理におけるステップD288で実行されるPB予告用シナリオデータ設定処理の詳細について図123により説明する。
このルーチンが開始されると、まずステップD451で、演出振分け結果領域のセリフSU領域から振分け結果をロードする。
次にステップD452で、ステップD451でロードした振分け結果に基づいてセリフSUがSU2系(SU2系は出現キャラが一人)であるか判定し、SU2系ならばステップD453乃至D455を順次実行した後にステップD459に進み、SU2系でなければ(即ち、出現キャラが二人のSU3系であるならば)ステップD456乃至D458を順次実行した後にステップD459に進む。
ステップD454では、セリフSU2シナリオアドレステーブル(セリフSU2シナリオテーブルのリストテーブル)を設定する。
ステップD455では、ステップD453でロードした振分け結果に基づいて、ステップD454で設定したテーブルから、振分け結果のセリフSU2パターンに対応するシナリオテーブルのアドレスを取得し、準備する。
ステップD457では、セリフSU3シナリオアドレステーブル(セリフSU3シナリオテーブルのリストテーブル)を設定する。
ステップD458では、ステップD456でロードした振分け結果に基づいて、ステップD457で設定したテーブルから、振分け結果のセリフSU3パターンに対応するシナリオテーブルのアドレスを取得し、準備する。
ステップD460に進むと、直前のステップD459と、直前のステップD455又はD458で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行し、その後リターンする。
以上説明した本ルーチンによれば、PB(プッシュボタン9)の操作によって特別なキャラクタが登場したり、PBを押した後のキャラクタやキャラクタのセリフが変化したりするといったPB予告演出が可能となる。
次に、前述のメイン処理におけるステップD24で実行されるサブ間送信開始処理の詳細について図124により説明する。なお、サブ間送信とは、サブ間通信における送信のことである。サブ間通信とは、遊技場の異なるパチンコ機のサブ基板(本例では、演出制御装置)の間で行われる通信(本例では、無線通信)である。
このルーチンが開始されると、まずステップD461でサブ間送信要求があるか(即ち、前述したステップD190、或いは後述するステップD480等でセットされるサブ間送信要求フラグがセットされているか)判定し、サブ間送信要求があれば(サブ間送信要求フラグがセットされていれば)ステップD462に進み、サブ間送信要求がなければ(サブ間送信要求フラグがセットされていない場合には)リターンする。
ステップD462に進むと、サブ間送信開始待ちタイマの値が0より大きいか判定し、0より大きい場合にはステップD466に進み、0以下の場合にはステップD463乃至D465を順次実行した後にリターンする。
ステップD464では、サブ間送信許可フラグをセットする。
ステップD465では、サブ間送信割込みを許可する。なお、サブ間送信割込みは、サブ間通信で送信するデータが発生すればこのステップD465で許可され、送信するデータが無くなれば図示省略したルーチン(サブ間送信割込み処理)で禁止される。
ステップD466に進むと、サブ間送信開始待ちタイマを更新する(即ち、タイマの値を一定値減らす)。サブ間送信開始待ちタイマは、後述するステップD479で初期値を設定され、後述するステップD491でクリアされる(値が0とされる)タイマである。
次に、前述のメイン処理におけるステップD25で実行されるサブ間受信タスク処理の詳細について図125により説明する。
このルーチンが開始されると、まずステップD471で、サブ間受信タスク要求があるか(即ち、サブ間通信の受信データ(サブ間コマンドの受信データ)があって、図示省略したサブ間受信割込み処理でセットされるサブ間受信タスク要求フラグがセットされているか)判定し、サブ間受信タスク要求があれば(サブ間受信タスク要求フラグがセットされていれば)ステップD472に進み、サブ間受信タスク要求がなければ(サブ間受信タスク要求フラグがセットされていない場合には)リターンする。
ステップD473に進むと、ステップD472でロードしたSB_MODEのデータが端末ID報知を示すものか判定し、端末ID報知を示すものでない場合にはステップD474に進み、端末ID報知を示すものである場合にはステップD482乃至D485を順次実行した後にステップD481に進む。
ステップD483では、ステップD482でロードした端末IDに対応する端末情報領域の端末有無情報を「あり」に設定する。
ステップD484では、ステップD482でロードした端末IDに対応する端末情報領域の端末有効期間タイマに、初期値を設定する。なお、端末有効期間タイマを設けることで、受信した端末IDの遊技機が「ある」と認識することに制限時間を設けている。つまり、サブ間通信を行う遊技機間で定期的に互いの存在を確認する必要があり、この端末有効期間タイマに基づく図示省略した処理(例えば、端末有効期間タイマがタイムアップするまでの間に同じ端末ID報知がまた受信されなければ、当該端末IDに対応する端末有無情報を「なし」に更新する処理)によって、この確認を定期的に行っている。こうしておくことで、次のような利点がある。即ち、ある遊技機が電源を落としたり、無線モジュールが突然故障したりした場合など、何らかの理由により一度は互いに通信を確立した遊技機間の通信が成立しなくなった場合、その相手が存在している前提で通信をし続けることは無駄であるし、それによりサブ間演出の効果が低下してしまう虞もある。例えば、サブ間演出として、島内の左端の遊技機から順次隣の遊技機にサブ間通信で指令を送り、島内の左端の遊技機から順次特定の登場人物等(キャラクタ)の画像を各遊技機の表示装置41に右方に流れるように表示させるといった連続演出(連携演出の一種)を行う場合、その通信が成立しなくなった遊技機のところで、この連続演出が途切れて中断してしまう虞がある。しかし、上記確認を定期的に行って端末有無情報を更新している構成であれば、途中で存在が「なし」となった遊技機にはサブ間演出の要求をしないようにできるので、例えば電源を落としてしまった台を飛ばして上記連動演出を行うなど、効率良いサブ間演出を確実に行えるようになる。
但し、サブ間演出は遊技の結果に影響を与えないものなので、上述したような弊害(例えば、存在のなくなった相手に演出要求をした結果演出が行われなくなってしまう弊害)があっても問題ないとする思想も成立する。そのような思想に従った仕様の場合には前記端末有効期間タイマは不要である。
ステップD485では、ステップD482でロードした端末IDに対応する端末情報領域のゲーム状態に、受信したゲーム状態のデータ(図示省略したサブ間受信割込み処理でサブ間通信データバッファのゲーム状態領域からサブ間コマンドゲーム状態領域にコピーした値)を格納する。
ステップD477に進むと、サブ間データ送信中か判定し、サブ間データ送信中ならばステップD481に進み、サブ間データ送信中でなければステップD478乃至D480を順次実行した後にステップD480aに進む。なお、サブ間データ送信とは、サブ間通信におけるデータ送信(例えば、コマンドの送信)である。また本願では、サブ間通信で送受信されるコマンドをサブ間コマンドと称している。
ステップD478では、受信したサブ間コマンドの内容に対応する各種演出のサブ間コマンド、或いはパラメータ等を設定する。
ステップD479では、ステップD478で設定したサブ間コマンドを他の遊技機のサブ基板に送信すべく、サブ間送信開始待ちタイマを設定する。また同様に、ステップD480ではサブ間送信要求フラグをセットする。
ステップD480aに進むと、ステップD472でロードしたSB_MODEのデータはack応答が必要なコマンドか判定し、ack応答が必要なコマンドでない場合にはステップD481に進み、ack応答が必要なコマンドである場合にはステップD488乃至D491を順次実行した後にステップD481に進む。
ステップD488では、受信した送信元IDを送信先IDコマンドとして準備する。
ステップD489では、ack応答のSB_MODE及びSB_ACTのデータを準備する。なお、SB_MODEとSB_ACTは、サブ間コマンドを構成するデータであり、図159に示すパケット構成例(後述する)における8バイト目と9バイト目のデータである。
ステップD490では、サブ間送信データ編集処理(後述する)を実行する。
ステップD491では、サブ間送信開始待ちタイマをクリアする(タイマの値を0にする)。
なお、ステップD477が設けられていることにより、サブ間データの送信中である場合には、サブ間コマンド(演出系コマンド)により要求された動作を行わない構成となっている。これは、サブ間コマンドは主基板からのコマンドと違って必ず対応する必要はないし、送信中ということは、他台に要求をしているか、ackを返している最中ということなので、更に他の台からの要求に応える必要はないという思想からである。また、全ての要求に応えていたら演出に矛盾が出たりする可能性も考えられるが、この構成とすれば、このような矛盾が生じる可能性が無くなるという利点があるからである。但し、この思想は基本的な考え方であり、どんな状態でも行いたい演出があった場合には、送信中でも要求された動作を行う態様も有り得る。
次に、上述のサブ間受信タスク処理におけるステップD490(或いは前述の単発系コマンド処理のステップD187)で実行されるサブ間送信データ編集処理の詳細について図126により説明する。なお、サブ間で送受信されるパケットの構成は後述する図159に示す構成になっているものとする。
ステップD501では、パケット開始コード(STX)のデータ(例えば02H)を、サブ間送信バッファ0に設定する。ここで、サブ間送信バッファ0は、サブ間通信のための送信バッファ領域(サブ間送信バッファ領域)の一部であり、このサブ間送信バッファ領域のアドレス0の位置の記憶領域がサブ間送信バッファ0である(以下、他のアドレス1,2,3,…11についても同様)。
ステップD502では、サブ間送信データ数(SIZE)のデータ(例えば12バイトを示すデータ)を、サブ間送信バッファ1に設定する。
ステップD504では、送信先ID(DID)のデータ(端末ID及びグループID)を、サブ間送信バッファ3に設定する。なお、送信元ID(SID)と送信先ID(DID)のデータは、それぞれ、1バイトのうちの上位ビットがグループID、下位ビットが端末IDとなっている。
ステップD505では、サブ間メーカコード(MAKER)のデータを、サブ間送信バッファ4に設定する。
ステップD506では、西暦コード(YEAR)のデータを、サブ間送信バッファ5に設定する。
ステップD508では、サブ間コマンドMODE(SB_MODE)のデータ(例えば、前述のステップD489等で準備されたもの)を、サブ間送信バッファ7に設定する。
ステップD509では、サブ間コマンドACT(SB_ACT)のデータ(例えば、前述のステップD489等で準備されたもの)を、サブ間送信バッファ8に設定する。
ステップD510では、自分のゲーム状態STS(即ち、当該パチンコ機のゲーム状態)のデータ(例えば、今大当りの5ラウンド目である、などを示すデータ)を、サブ間送信バッファ9に設定する。
ステップD512では、ステップD511で算出したチェックサムの演算結果(SUM)のデータを、サブ間送信バッファ10に設定する。
ステップD513では、パケット終了コード(ETX)のデータ(例えば03H)を、サブ間送信バッファ11に設定する。
ステップD514では、サブ間送信ポインタ(サブ間送信バッファ領域のアドレスを指定するパラメータ)のデータとしてサブ間送信バッファ0のアドレスを設定する。このサブ間送信ポインタは図示省略したサブ間送信割込み処理(サブ間送信のために、サブ間送信バッファ領域のデータを順次CPUのシリアル送信バッファに書き込むなどの処理を行うルーチン)で使用される。
次に、前述のメイン処理におけるステップD26で実行されるサブ間ack応答タスク処理の詳細について図127により説明する。
このルーチンが開始されると、まずステップD521でack待ちタイマの値が0か判定し、0ならばリターンし、0でない場合にはステップD522でack待ちタイマを更新(値を規定値だけ減らす)した後にステップD523に進む。なお、ack待ちタイマは、前述したステップD188で初期値をセットされる。
ステップD524では、ack受信フラグをクリアする。
ステップD525では、ack待ちタイマをクリアする。
ステップD526では、ack応答を受信したので、このack応答を待っていた演出に対応するための各種パラメータ設定を実行する。
次に、前述のメイン処理におけるステップD27で実行されるサブ間演出設定処理の詳細について図128により説明する。
このルーチンが開始されると、まずステップD531で、サブ間演出要求ありか否か(即ち、サブ間演出要求フラグがセットされているか否か)を判定し、サブ間演出要求ありならばステップD532に進み、サブ間演出要求なし(サブ間演出要求フラグがクリアされた状態)の場合にはリターンする。サブ間演出要求フラグは、前述のステップD478でセットされる。
ステップD533に進むと、受信したサブ間コマンドのSB_MODE及びSB_ACT(以下、サブ間コマンドとはSB_MODE及びSB_ACTを含むものである)のデータをロードし、次のステップD534でこのロードしたデータがサブ間連動予告系コマンドであるか判定し、サブ間連動予告系コマンドであればステップD539に進み、サブ間連動予告系コマンドでなければステップD535に進む。なお、サブ間連動予告系コマンドは、サブ間通信を行っている複数のパチンコ機で予告演出を連動させる連携演出のためのコマンドである。連携演出には、例えば同じキャラクタの画像が島内を横方向に移動するように各遊技機で順次表示されるような演出もあれば、同じ演出を同期して一斉に行う同期演出もある。
ステップD540に進むと、客待ちデモ演出中か否か(即ち、客待ちデモ演出を行っている最中か否か)を判定し、客待ちデモ演出中でなければ客待ちタイミング調整を行うべきでないのでステップD537に進み、客待ちデモ演出中であれば客待ちタイミング調整を行うべくステップD541に進む。
ステップD541では、サブ間コマンドを受信した当該パチンコ機(即ち、自機)の客待ちデモのシナリオテーブルを再設定するようにして、客待ちデモ演出を最初から行うように設定し、その後ステップD542に進む。
ステップD542に進むと、P機状態を客待ちAとしてステップD537に進む。
なお本例では、このように、予告演出を連動させるものと、客待ちデモ演出のタイミングを合わせる演出の処理を、サブ間演出のための処理の具体例として挙げた。しかし、サブ間演出の内容は、このような態様に限定されず、本例の態様に代えて、或いは本例の態様に加えて、他の内容のサブ間演出を行う構成としてもよい。
本例では、煩雑を避けるために、それら他の種類のサブ間演出の設定処理についてはステップD536でまとめて図示しており、その詳細については図示及び説明を省略する。
次に、前述のメイン処理におけるステップD28で実行される処理の詳細について図129により説明する。
このルーチンが開始されると、ステップD551乃至D566を順次実行した後にリターンする。
ステップD551では、シナリオ管理領域0(シナリオレイヤー番号0)に対応するシナリオ管理領域のアドレス領域を準備し、次のステップD552では、ステップD551の準備に基づいてシナリオ解析処理(後述する)を実行する。ここで、「アドレス領域を準備し」とは、後の処理で当該アドレス領域に設定されているデータを読み取るために、当該アドレス領域自体のアドレスを準備することを意味する。
ステップD555では、シナリオ管理領域2(シナリオレイヤー番号2)に対応するシナリオ管理領域のアドレス領域を準備し、この準備に基づいて次のステップD556でシナリオ解析処理を実行する。
ステップD557では、シナリオ管理領域3(シナリオレイヤー番号3)に対応するシナリオ管理領域のアドレス領域を準備し、この準備に基づいて次のステップD558でシナリオ解析処理を実行する。
ステップD559では、シナリオ管理領域4(シナリオレイヤー番号4)に対応するシナリオ管理領域のアドレス領域を準備し、この準備に基づいて次のステップD560でシナリオ解析処理を実行する。
ステップD561では、シナリオ管理領域5(シナリオレイヤー番号5)に対応するシナリオ管理領域のアドレス領域を準備し、この準備に基づいて次のステップD562でシナリオ解析処理を実行する。
ステップD563では、シナリオ管理領域6(シナリオレイヤー番号6)に対応するシナリオ管理領域のアドレス領域を準備し、この準備に基づいて次のステップD564でシナリオ解析処理を実行する。
ステップD565では、シナリオ管理領域7(シナリオレイヤー番号7)に対応するシナリオ管理領域のアドレス領域を準備し、この準備に基づいて次のステップD566でシナリオ解析処理を実行する。
次に、上述のシナリオ設定処理におけるステップD552等で実行されるシナリオ解析処理の詳細について図130及び図131により説明する。
このルーチンが開始されると、まずステップD571でbrkの値(後述する処理の繰り返しに利用されるデータ)を0に設定し、次いでステップD572において、準備されているシナリオ管理領域Xのアドレス領域に設定されているデータ(シナリオ管理領域Xのアドレス、或いはNULL)のデータをロードした後、ステップD573に進む。ここで、「準備されているシナリオ管理領域Xのアドレス領域」とは、例えば、本ルーチンが前述のステップD552で実行されている場合には、その直前のステップD551で準備されたアドレス領域(シナリオ管理領域0のアドレス領域)であり、本ルーチンが前述のステップD554で実行されている場合には、その直前のステップD553で準備されたアドレス領域(シナリオ管理領域1のアドレス領域)であり、他のケースも同様に直前のステップで準備されたものである。
ステップD574に進むと、ステップD572でロードしたアドレスのシナリオ管理領域におけるシナリオ用タイマの値を読み取り、このシナリオ用タイマの値が0より小さいか判定し、0より小さい場合には異常なのでリターンし、0以上である場合にはステップD575を実行してステップD576に進む。なお、前記シナリオ用タイマの値は、シナリオ制御データが設定される度に前述のステップD244でまず0に設定されるが、0が下限であるので、0より小さい場合は異常と判定する。またステップD575では、前記シナリオ用タイマの値が0でなければ、このシナリオ用タイマの値を1だけ減らす更新を実行する。
ステップD576に進むと、前記シナリオ用タイマの値が0より大きいか判定し、0より大きい場合には未だタイムアップしていないのでリターンし、0以下である場合にはステップD577に進む。
ステップD578に進むと、PB操作フラグがセットされているか判定し、PB操作フラグがセットされていればステップD579に進み、PB操作フラグがセットされていない場合にはステップD582で対象のPB用タイマの値を1だけ減らす更新を実行した後にステップD583に進む。ここで、PB操作フラグは、前述のメイン処理におけるステップD21で実行される演出ボタン入力処理において、PB(プッシュボタン9)の押下操作が検出されるとセットされるフラグである。
そして、ステップD583に進むと、対象のPB用タイマの値が0より大きいか判定し、0より大きい場合にはPB操作が検出されずタイムアップもしていないのでリターンし、0以下である場合にはPB操作がされたかタイムアップしたのでステップD584に進む。
但し、前記PB用タイマ領域に設定されたPB用タイマの値が当初から0の場合には、ステップD577からステップD583に進み、さらにステップD583からステップD584に進んで即座に制御が進行する(この場合のPB有効時間は0(無し)となる)。なお、PB有効時間は予告演出等の場合において設けられるため、それ以外の場合にはPB用タイマ領域の値は0に設定されていてPB有効時間は設けられない。
ステップD584に進むと、brkの値として0でない値が設定されるまで、ループ端である当該ステップD584からステップD623までの間の処理を繰り返し実行する。つまり、後方のループ端であるステップD623では、その時点のbrkの値を読み取って、brkの値が0であればステップD584に戻って次のステップD585から処理を繰り返す。
ステップD585では、対象のシナリオ管理領域におけるシナリオ用データテーブル領域からシナリオテーブルのアドレスをロードする。例えば、客待ちデモ時のシナリオレイヤー番号0の場合には、図177に示すシナリオテーブルのアドレスが、このステップD585でロードされる。
ステップD586では、ステップD585でロードしたアドレスによって指定されるシナリオテーブルの特定の行(指定行)のオペコードを取得する。なお既述したように、シナリオテーブルは、例えば図169や図176や図177に示すように、オペコードとオペランドのデータ(シナリオデータ)が各行に設定されたものである。例えば図169の場合、対象がシナリオ管理領域0(シナリオレイヤー番号0)であり指定行が1行目であると、最上段のシナリオレイヤー0の1行目のオペコードのデータである「モーション継続コード」がステップD586で取得される。また、図177の場合、例えば指定行が1行目であると、この1行目のオペコードのデータである「モーション1削除コード」(具体的データとしては、例えば「51h」)がステップD586で取得される。或いは、図177の場合、例えば指定行が16行目であると、16行目のオペコードのデータである「モーション10登録コード」(具体的データとしては、例えば「4Ah」)がステップD586で取得される。
ステップD588では、ステップD585でロードしたアドレスによって指定されるシナリオテーブルの特定の行(指定行)のオペランドを取得し、準備する。例えば図169の場合、対象がシナリオ管理領域0(シナリオレイヤー番号0)であり指定行が1行目であると、最上段のシナリオレイヤー0の1行目のオペランドのデータである「モーションインデックスNo.(51)」をステップD588で取得して準備する。また図177の場合、指定行が16行目(オペコードは「モーション10登録コード」)であると、この16行目のオペランドのデータである「モーションインデックスNo.(−1)」をステップD588で取得して準備する。
ステップD590に進むと、準備したオペコード上位データを判定し、モーション削除を指令するデータ(モーション削除コード)であるとステップD602でモーション削除処理(後述する)を実行した後にステップD621に進み、モーション削除を指令するデータでない場合にはステップD591に進む。
ステップD592に進むと、準備したオペコード上位データを判定し、定数ウェイトを指令するデータ(定数ウェイトコード)であるとステップD604で定数ウェイト処理(後述する)を実行した後にステップD621に進み、定数ウェイトを指令するデータでない場合にはステップD593に進む。
ステップD594に進むと、準備したオペコード上位データを判定し、PB待ちを指令するデータ(PB待ちコード)であるとステップD606でPB待ち処理(後述する)を実行した後にステップD621に進み、PB待ちを指令するデータでない場合にはステップD595に進む。
ステップD596に進むと、準備したオペコード上位データを判定し、図柄停止を指令するデータ(停止図柄setコード)であるとステップD608で図柄停止処理を実行した後にステップD621に進み、図柄停止を指令するデータでない場合にはステップD597に進む。
ステップD598に進むと、準備したオペコード上位データを判定し、変動シナリオ切替を指令するデータ(変動シナリオ切替コード)であるとステップD610で変動シナリオ切替処理を実行した後にステップD621に進み、変動シナリオ切替を指令するデータでない場合にはステップD599に進む。
ステップD600に進むと、準備したオペコード上位データを判定し、終了を指令するデータ(終了コード)であるとステップD612で終了処理を実行した後にステップD621に進み、終了を指令するデータでない場合には図示省略した他のステップに進む。なお、図示省略した他のステップ(図131において波線で示した箇所にあるステップ)は、上述したステップD589乃至D612と同様に、準備したオペコード上位データの内容を判定し、その判定結果が他の種類のデータ(コード)である場合に対応する処理を実行してステップD621に進むというもので、準備したオペコード上位データが何れの種類のデータ(コード)にも該当しない場合にはリターンする構成となっている。
そしてステップD623に進むと、前述したようにその時点のbrkの値を読み取って、brkの値が0であればステップD584に戻って次のステップD585から処理を繰り返し、brkの値が0でない場合には本ルーチンを終了してリターンする。
なお、上記のサブルーチン群(ステップD601乃至D612)は一例であり、機種の仕様次第で変わる。
次に、上述のシナリオ解析処理におけるステップD601で実行されるモーション登録処理の詳細について図132により説明する。
このルーチンが開始されると、まずステップD631、D632を順次実行した後にステップD633に進む。
ステップD631では、対象のシナリオ管理領域のシナリオ用データテーブル領域内のテーブルアドレスを次レコード(テーブルの次の行を指定するアドレス)に更新する。これは、前述のステップD585が次回実行されるときの指定行を次の行に進めておくための更新処理であり、この更新処理が行われることによって対象のシナリオテーブルの指定行が次の行に切り替えられて前述のループ処理(ステップD584〜D623)が繰り返されることになる。
ステップD635に進むと、ステップD587で分離されたオペコードの下位ビットのデータに対応するモーション管理領域の先頭アドレスを設定して準備し、ステップD636に進む。
ステップD636に進むと、前記オペコードの下位ビットのデータに対応するモーション管理領域のアドレス領域にステップD635で準備した先頭アドレスを設定し、ステップD637に進む。
ステップD638では、前記オペランドのデータ(ステップD588で準備したオペランドのデータ、以下同様)を、モーションインデックスとして準備する。
ステップD639では、オペコード下位に対応する使用中モーションインデックスを記憶する領域(以下、使用中モーションインデックス領域という)に、ステップD638で準備したデータを設定する。なお、使用中モーションインデックス領域は、モーション用リストテーブルにおける制御対象の行を指定するモーションインデックス(使用中モーションインデックス)のデータを、モーション番号毎に記憶する領域であり、モーション番号毎に設けられている。このステップD639では、ステップD587で分離されたオペコードの下位ビットで特定されるモーション番号に対応する使用中モーションインデックス領域に、ステップD638で準備したデータを設定する(即ち保存する)。
ステップD640では、表示数等のデータを初期化するモーションデータ初期化処理2(後述する)を実行する。
次にステップD642では、オペコード下位に対応する使用中モーションインデックス領域に、ステップD641で準備したデータを設定する。
そしてステップD643では、表示数等のデータを初期化するモーションデータ初期化処理2(後述する)を実行する。
次に、前述のモーション登録処理におけるステップD634(或いは後述するステップD674等)で実行されるモーションデータ初期化処理1の詳細について図133左側により説明する。なお、演出制御装置300の制御処理の説明においてモーション制御データとは、モーション管理領域に保存される表示数、フレーム番号等のデータである。
このルーチンが開始されると、まず、変数iを初期値0から増分1だけ増加させつつ終値(終値=表示数−1)になるまで、ステップD651乃至ステップD655を繰り返し実行し、その後ステップD656に進む。即ち、ステップD651ではルーチン開始直後は変数iを0としてステップD652に進む。ステップD655では、変数iが終値未満である場合にはステップD651に戻り、変数iが終値である場合にはステップD656に進む。そしてステップD651に戻ると、変数iの値を1だけ増加させてステップD652に進む。なお、終値の値は、ステップD587で分離されたオペコードの下位ビットに対応するモーション管理領域(以下、対象のモーション管理領域という)に設定されている表示数のデータから1を減算した値である。即ち、このルーチンでは、この表示数分だけステップD651乃至D655のループ処理を繰り返し実行し、その後ステップD656に進む。
ステップD653に進むと、直前のステップD652でアドレスが設定された表示情報領域における表示種別のデータを読み取り、この表示種別が動画か否か判定する。そして、表示種別が動画であればステップD654でその展開領域(圧縮された動画データの展開に使用していた領域)の解放設定を行った後にステップD655に進み、動画でなければステップD654を実行しないでステップD655に進む。ステップD655に進むと、前述したように、変数iが終値未満である場合にはステップD651に戻り、変数iが終値である場合にはステップD656に進む。
次に、前述のモーション登録処理におけるステップD640、D643(或いは後述するステップD689等)で実行されるモーションデータ初期化処理2の詳細について図133右側により説明する。
このルーチンが開始されると、まずステップD661乃至D663で対象のモーション管理領域のパラメータを初期化する処理を行い、その後ステップD664に進む。即ち、ステップD661では表示数を0に設定し、ステップD662ではフレーム番号を−1に設定し、ステップD663ではコマンド位置を0に設定する。
そしてステップD664に進むと、対象のモーション管理領域におけるモーション用リストテーブル領域に、使用中モーションインデックス(前記ステップD642で設定したデータ)に対応するアドレス(モーション用リストテーブルとその行を指定するアドレス)を設定し、その後リターンする。
次に、前述のシナリオ解析処理におけるステップD602で実行されるモーション削除処理の詳細について図134左側により説明する。
このルーチンが開始されると、まずステップD671、D672を順次実行した後にステップD673に進む。
ステップD671では、前記ステップD631と同様に、対象のシナリオ管理領域のシナリオ用データテーブル領域内のテーブルアドレスを次レコード(テーブルの次の行を指定するアドレス)に更新する。
ステップD672では、前記ステップD632と同様に、対象のモーション管理領域のアドレス領域からモーション管理領域のアドレスをロードして準備し、ステップD673に進む。
ステップD675に進むと、対象のモーション管理領域のアドレス領域にNULLを設定し、ステップD676に進む。
ステップD676に進むと、前記オペコード(ステップD587で分離されたオペコード、以下同様)の下位ビットのデータに対応する使用中モーションインデックスのデータをクリアし、その後リターンする。
以上説明したモーション削除処理は、キャラクタ等の制御を終了する時に実行されて、これにより、モーション情報(モーション管理領域のアドレス領域のデータや、使用中モーションインデックス領域のデータ)が削除される。
次に、前述のシナリオ解析処理におけるステップD603で実行されるモーション継続処理の詳細について図134右側により説明する。
このルーチンが開始されると、まずステップD681、D682を順次実行した後にステップD683に進む。
ステップD681では、前記ステップD631と同様に、対象のシナリオ管理領域のシナリオ用データテーブル領域内のテーブルアドレスを次レコード(テーブルの次の行を指定するアドレス)に更新する。
ステップD682では、前記オペコードの下位ビットに対応する使用中モーションインデックスのデータをロードする。
そして、ステップD684以降では、前述したモーション登録処理(シナリオテーブルの値を使用するルート)と同様の処理を行っている。
即ち、ステップD684では、前記ステップD632と同様に、対象のモーション管理領域のアドレス領域からモーション管理領域のアドレスをロードして準備し、ステップD685に進む。
ステップD687に進むと、対象のモーション管理領域の先頭アドレスを設定して準備し、ステップD688に進む。
ステップD688に進むと、対象のモーション管理領域のアドレス領域にステップD687で準備した先頭アドレスを設定し、ステップD689に進む。
ステップD689に進むと、モーションデータ初期化処理(前述のモーションデータ初期化処理2)を実行する。
ステップD690では、前記オペコードの下位ビットに対応する使用中モーションインデックス領域に、前記オペランドのデータを設定し、その後リターンする。
以上説明したモーション継続処理では、シナリオテーブルで指定されたモーション情報が現在制御している内容と同じならそのまま継続、違うなら新たに登録する処理が実行される。これにより、例えば、通常変動中の背景はリーチ等で背景変化しなければ複数の変動にまたがってムービーが継続されるが、リーチが発生したりすると頭からの新規再生となる。
次に、前述のシナリオ解析処理におけるステップD604で実行される定数ウェイト処理の詳細について図135上側により説明する。
このルーチンが開始されると、まずステップD691で、前記ステップD631と同様の更新処理を実行する。
次にステップD692で、対象のシナリオ管理領域のシナリオ用タイマ領域に、前記オペランドのデータを設定する。
次いでステップD693で、brkの値を1に設定してリターンする。
本ルーチンによれば、指定された固定時間だけ待つ場合の時間値等が設定される。例えば、図177に示すシナリオテーブルおける20行目(//19)の場合、オペコードが定数ウェイトコードであるため本ルーチンが実行され、オペランドのウェイト時間が(300)であるため、上記ステップD692でシナリオ用タイマ領域の値として300(10秒=300×1/30)が設定される。そして、上記ステップD693でbrkの値が1になるので、前述したシナリオ解析処理におけるループ処理(ステップD584からD623)の繰り返しが終了する。
次に、前述のシナリオ解析処理におけるステップD605で実行される可変ウェイト処理の詳細について図135下側により説明する。
このルーチンが開始されると、まずステップD695で、前記ステップD631と同様の更新処理を実行する。
次にステップD696で、前記オペランドのデータにPB演出加算時間(ステップD579で設定された値)を加えた値を、対象のシナリオ管理領域のシナリオ用タイマ領域に設定する。
次いでステップD697で、brkの値を1に設定してリターンする。
次に、前述のシナリオ解析処理におけるステップD606で実行されるPB待ち処理の詳細について図136上側により説明する。
このルーチンが開始されると、まずステップD701で、前記ステップD631と同様の更新処理を実行する。
次にステップD702で、前記オペランドのデータを、対象のシナリオ管理領域のPB用タイマ領域に設定する。
次にステップD703で、対象のシナリオ管理領域におけるPB検知フラグ領域のフラグをクリアする。
次いでステップD704で、brkの値を1に設定してリターンする。
次に、前述のシナリオ解析処理におけるステップD607で実行されるPB判定分岐処理の詳細について図136下側により説明する。
このルーチンが開始されると、まずステップD711で、対象のシナリオ管理領域におけるPB検知フラグ領域のフラグがセットされているか(即ち、PB検知フラグが立てられているか)判定し、セットされている場合にはステップD713に進み、セットされていない場合(PB検知フラグがオフの場合)にはステップD712に進む。
ステップD712に進むと、前記ステップD631と同様の更新処理を実行してリターンする。
ステップD713に進むと、前記ステップD631と同様の更新処理を実行してステップD714に進む。
ステップD714に進むと、ステップD588で準備したオペランドのデータ分だけステップD713のアドレス更新処理を実行完了したか判定し、完了していればリターンし、完了していなければステップD713に戻って処理を繰り返す。
次に、前述のシナリオ解析処理におけるステップD608で実行される図柄停止処理の詳細について図137により説明する。
このルーチンが開始されると、まずステップD721で、前記ステップD631と同様の更新処理を実行した後、ステップD722に進む。
ステップD722に進むと、前記オペコードの下位ビットのデータが左図柄を指定するものか判定し、左図柄であればステップD727を実行した後にリターンし、左図柄でなければステップD723に進む。ステップD727では、特図停止図柄領域(左)の値(前述のステップD354で設定された値)を現図柄(左)として設定する。
ステップD723に進むと、前記オペコードの下位ビットのデータが右図柄を指定するものか判定し、右図柄であればステップD728を実行した後にリターンし、右図柄でなければステップD724に進む。ステップD728では、特図停止図柄領域(右)の値(前述のステップD354で設定された値)を現図柄(右)として設定する。
ステップD725に進むと、前記オペコードの下位ビットのデータが特図1第4図柄(特図1の第4図柄)を指定するものか判定し、特図1第4図柄であればステップD730を実行した後にリターンし、特図1第4図柄でなければステップD726に進む。ステップD730では、特図停止図柄領域(特図1第4図柄)の値を現図柄(特図1第4図柄)として設定する。
本ルーチンは、飾り特図等の図柄の変動表示を停止する時に、その停止図柄を設定する処理である。例えば、図169に示すMS_LZ100というシナリオテーブルにおける6行目が指定行である場合、オペコードが停止図柄setコード(左図柄)であるため、本ルーチンが実行されて上記ステップD722の判定結果がYESとなり、上記ステップD727が実行されて特図の左図柄の停止図柄が設定される。
次に、前述のシナリオ解析処理におけるステップD609で実行される図柄逆算差替処理の詳細について図138により説明する。
このルーチンが開始されると、まずステップD741で、前記ステップD631と同様の更新処理を実行する。
次にステップD742で、前記オペコードの下位ビットのデータが左図柄を指定するものか判定し、左図柄であればステップD743、D744を実行した後にステップD745に進み、左図柄でなければステップD748に進む。
ステップD743では、前記オペランドのデータを9で割った余り(オペランドmod9)をコマ差異として設定する。
そして、ステップD745に進むと、ステップD744で設定した図柄番号が0未満(マイナスの値)か判定し、0未満ならばステップD746を実行した後にステップD747を実行してリターンし、0未満でない場合にはステップD746を実行しないでステップD747を実行した後にリターンする。
ステップD746では、図柄番号に9を加算した値を新たな図柄番号として設定する。
ステップD747では、図柄番号の値(ステップD744で設定され、マイナスの場合にはステップD746で調整された値)を現図柄(左)として設定する。
ステップD749では、前記オペランドのデータを9で割った余り(オペランドmod9)をコマ差異として設定する。
そして、ステップD751に進むと、ステップD750で設定した図柄番号が0未満か判定し、0未満ならばステップD752を実行した後にステップD753を実行してリターンし、0未満でない場合にはステップD752を実行しないでステップD753を実行した後にリターンする。
ステップD752では、図柄番号に9を加算した値を新たな図柄番号として設定する。
ステップD753では、図柄番号の値(ステップD750で設定され、マイナスの場合にはステップD752で調整された値)を現図柄(右)として設定する。
ステップD755では、前記オペランドのデータを9で割った余り(オペランドmod9)をコマ差異として設定する。
そして、ステップD757に進むと、ステップD756で設定した図柄番号が0未満か判定し、0未満ならばステップD758を実行した後にステップD759を実行してリターンし、0未満でない場合にはステップD758を実行しないでステップD759を実行した後にリターンする。
ステップD758では、図柄番号に9を加算した値を新たな図柄番号として設定する。
ステップD759では、図柄番号の値(ステップD756で設定され、マイナスの場合にはステップD758で修正された値)を現図柄(中)として設定する。
例えば、図169に示すMS_LZ100というシナリオテーブルにおける3行目が指定行である場合、オペコードが左図柄逆算差替コードであるため、本ルーチンが実行されて上記ステップD742の判定結果がYESとなり、上記ステップD743乃至D747が実行されて現図柄(左)が設定される。この場合、オペランドは図柄送り数を意味するデータであり、上記MS_LZ100の3行目ではオペランドが送りコマ数(2)であるので、上記ステップD743では、2÷9という割算の余りである2がコマ差異として設定され、このコマ差異の値を使用して上記ステップD744で図柄番号が設定される。例えば、特図停止図柄領域(左)の値が1ならば、−1(=1−2)が図柄番号として設定され、特図停止図柄領域(左)の値が7ならば、5(=7−2)が図柄番号として設定される。そして、このステップD744で設定された図柄番号がマイナスの値(例えば−1)であると、ステップD746が実行されて図柄番号が一巡した値に変更され(例えば、−1ならば8=−1+9に変更され)、その後ステップD747で図柄番号が現図柄(左)として登録される。
次に、前述のシナリオ解析処理におけるステップD610で実行される変動シナリオ切替処理の詳細について図139により説明する。
このルーチンが開始されると、まずステップD761で、前記オペランドのデータが左図柄シナリオ2nd(左図柄の変動表示の2nd(前半)への切替を指令するもの)であるか判定し、左図柄シナリオ2ndであればステップD762乃至765を順次実行した後にリターンし、左図柄シナリオ2ndでない場合にはステップD767に進む。
ステップD762では、左図柄なのでシナリオレイヤー番号1を準備する。
ステップD764では、直前のステップD762、D763で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD765では、準備したシナリオ管理領域のアドレス領域(例えば前記ステップD553等で準備されたシナリオ管理領域のアドレス領域)にシナリオ管理領域1のアドレスを設定してリターンする。これにより、対象のシナリオ管理領域として新たにシナリオ管理領域1が設定されることになる。
ステップD768では、右図柄なのでシナリオレイヤー番号2を準備する。
ステップD770では、直前のステップD768、D769で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD771では、準備したシナリオ管理領域のアドレス領域にシナリオ管理領域2のアドレスを設定してリターンする。これにより、対象のシナリオ管理領域として新たにシナリオ管理領域2が設定されることになる。
ステップD773では、中図柄なのでシナリオレイヤー番号3を準備する。
ステップD775では、直前のステップD773、D774で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD776では、準備したシナリオ管理領域のアドレス領域にシナリオ管理領域3のアドレスを設定してリターンする。これにより、対象のシナリオ管理領域として新たにシナリオ管理領域3が設定されることになる。
ステップD778では、左図柄なのでシナリオレイヤー番号1を準備する。
ステップD780では、直前のステップD778、D779で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD781では、準備したシナリオ管理領域のアドレス領域にシナリオ管理領域1のアドレスを設定してリターンする。これにより、対象のシナリオ管理領域として新たにシナリオ管理領域1が設定されることになる。
ステップD783では、右図柄なのでシナリオレイヤー番号2を準備する。
ステップD785では、直前のステップD783、D784で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD786では、準備したシナリオ管理領域のアドレス領域にシナリオ管理領域2のアドレスを設定してリターンする。これにより、対象のシナリオ管理領域として新たにシナリオ管理領域2が設定されることになる。
ステップD788では、中図柄なのでシナリオレイヤー番号3を準備する。
ステップD790では、直前のステップD788、D789で準備されたデータに基づいて、前述したシナリオデータ設定処理を実行する。
ステップD791では、準備したシナリオ管理領域のアドレス領域にシナリオ管理領域3のアドレスを設定してリターンする。これにより、対象のシナリオ管理領域として新たにシナリオ管理領域3が設定されることになる。
なお、変動の種類によっては、「序盤、前半、後半」の区切りの時間値は異なる。また、3rd(後半)のない変動もある(リーチなし変動など)。
次に、前述のシナリオ解析処理におけるステップD611で実行される繰り返し処理の詳細について図140上側により説明する。
このルーチンが開始されると、まずステップD795で、対象のシナリオ管理領域のシナリオ用データテーブル領域内のテーブルアドレスを前レコード(シナリオテーブルの一つ前の行を指定するアドレス)に戻す。
次にステップD796で、ステップD588で取得されたオペランド分だけステップD795を実行して前記テーブルアドレスを前レコードに戻したか判定し、前記オペランド分戻していればリターンし、前記オペランド分戻していない場合にはステップD795に戻って処理を繰り返す。
次に、前述のシナリオ解析処理におけるステップD612で実行される終了処理の詳細について図140下側により説明する。
このルーチンが開始されると、ステップD798で、準備したシナリオ管理領域のアドレス領域にNULLを設定してリターンする。これにより、対象のシナリオ管理領域の設定が無くなり、シナリオ終了となる。
例えば、図176上側に示すシナリオテーブルの最終行の15行目(//14)が指定行の場合、オペコードが終了コードであるため、本ルーチンが実行されて上記ステップD798で対象のシナリオ管理領域のアドレス領域がNULLとされて、シナリオ終了となる。このように本ルーチンは、一連のシナリオが全て完了したときに実行される。
次に、前述のメイン処理におけるステップD30で実行されるモーション制御処理の詳細について図141により説明する。
このルーチンが開始されると、対象のモーション管理領域の番号Xを0から増やしつつステップD801乃至D818のループ処理を繰り返し実行し、このループ処理の終了条件(全てのモーション管理領域0〜13に対する制御が終了)が成立するとリターンする。即ち、本ルーチン開始時点では、まずステップD801で対象のモーション管理領域の番号を0(X=0)としてステップD802に進んでステップD802以降の処理を実行するが、ステップD817に進むと対象のモーション管理領域の番号を1だけ増やして(即ち、X=X+1として)ステップD818で上記終了条件(X=14)が成立したか判定し、成立していればリターンし、成立していなければステップD801に戻ってステップD802に進む構成となっている。
ステップD802に進むと、本ルーチンで使用する初期化フラグをクリアし、次のステップD803でモーション管理領域Xのアドレス領域からモーション管理領域Xのアドレスをロードし、その後ステップD804に進む。
ステップD804に進むと、ステップD803でロードしたアドレスのデータがNULLか判定し、NULLならば当該モーションX(当該モーション管理領域Xに対応するモーションのレイヤー)については制御不要なのでステップD817に進み、NULLでない場合にはステップD805に進む。
ステップD806に進むと、ステップD805でロードしたデータにより指定されるモーション用リストテーブルの行(以下、指定行という)における表示フレーム数のデータを読み取り、この表示フレーム数(あるモーションを実行するフレーム数のこと)が0以下ならば異常であるのステップD817に進み、0以下でない場合には正常であるとしてステップD807に進む。なお、例えば図165に示すモーション用リストテーブルにおける1行目が指定行であるとすると、フレーム数(表示フレーム数)は「1」であるので、ステップD806の判定結果はNOになってステップD807に進む。また、例えば同リストテーブルにおける4行目が指定行であるとすると、フレーム数(表示フレーム数)は「216」であるので、ステップD806の判定結果はやはりNOになってステップD807に進む。このように、モーション毎に実行する期間は異なるので、モーション用リストテーブル上に各々対応する表示フレーム数が定義されていて、最低1フレームは表示フレーム数が定義されているはずであり、この表示フレーム数のモーション用リストテーブル上の定義値が0以下になっているようなら異常である。
ステップD810では、前述したモーションデータ初期化処理1を実行し、ステップD811では、ステップD808と同様に初期化フラグをセットしている。
ここで、フレーム番号(0から始まる)が最終フレーム数に到達したということは、対象のモーションテーブルの制御が最終フレームまで終了したことになる。そこで、ステップD809の判定結果がYES(フレーム番号が最終フレーム数に到達した)の場合には、モーション登録時と同様にモーションデータ初期化処理1と初期化フラグのセットを実行して、同一のモーションテーブルをまた最初から実行する構成となっている。
ステップD813、D814、D815では、モーション管理領域Xにおけるフレーム番号、表示数、コマンド位置の値をそれぞれ0に設定する。
ステップD819では、モーション管理領域Xにおけるフレーム番号の値を1だけ増加させる更新を行う。このステップD819に進むのは、前記初期化フラグがセットされていない場合(即ち、対象のモーションテーブルを実行途中である場合)であるので、フレーム番号を順次増加させる必要があるためである。
ステップD817に進むと、モーション管理領域のアドレス領域自体のアドレスを更新する。即ち、モーション管理領域の番号Xの値を1だけ増やす更新を実行する。これにより、対象のモーション管理領域や対象のモーションのレイヤーが次に切り替わる。例えば、このステップD817の実行前にモーション管理領域1(モーションのレイヤーはモーション1)が制御対象であったならば、実行後にはモーション管理領域2(モーションのレイヤーはモーション2)が制御対象となる。
そして、ステップD817を実行するとステップD818に進み、前述の終了条件(本例の場合、番号X=14になったこと)が成立していればリターンし、成立していなければステップD801に戻ってステップD802から処理を繰り返す。
次に、前述のモーション制御処理におけるステップD816で実行されるモーションコマンド実行処理の詳細について図142及び図143により説明する。
このルーチンが開始されると、まずステップD821で、モーション管理領域X(対象のモーション管理領域)におけるモーション用リストテーブル領域から、モーション用リストテーブル(モーションリストテーブルともいう)のアドレスのデータ(即ち、今回制御するモーション用リストテーブルとその行を指定するデータ)をロードし、ステップD822に進む。
なお本例では、モーションテーブルのアドレスとモーションテーブル名が対応しているため、モーションテーブル名を取得すればモーションテーブルのアドレスを取得したことになる。
また、図170の例では3つのキャラクタを登場させているが、同時に使用する他カテゴリ(予告とか)の全てのキャラクタ数合計が128個となるように管理する。つまり、本例のVDP312では同時に128個のキャラクタを表示制御できる。なお、画面外にもキャラクタを配置できるので画面内に128個とは限らない。
また、同図の例は、左図柄の通常変動(前半)のモーションテーブルの最初の4フレーム分のデータである。終了コードまでの区切りが1フレーム分のデータとなっており、例えば1行目から10行目までが最初の1フレーム分のデータである。また、座標データやサイズデータ等の数値は、本実施例の意味となる値を記載しているだけで、小数点以下の情報を含んだデータでもよい。実際は、16bit符号付固定小数(符号ビット、整数部13ビット、小数部2ビットの2の補数)のデータとなっている。
また、前フレームと同じ状態を継続する場合は、終了コードだけを定義すればよい。
・「追加コード」;オブジェクトを追加するコマンド。追加するオブジェクトの種類(ビットマップ、動画、単色矩形)に応じて、それぞれ追加1コード、追加2コード、追加3コードがある。
・「挿入コード」;オブジェクトを特定のオブジェクトインデックスとして挿入するコマンド。挿入するオブジェクトの種類(同上)によって、挿入1コード、挿入2コード、挿入3コードがある。この挿入コードの実行により、既に登録されているオブジェクトのオブジェクトインデックスの値はずれる。
・「移動コード」;オブジェクトの表示位置及び表示の大きさを指定するコマンド。指定方式(1点指定、3点指定)により、移動1コード、移動2コードがある。
・「エフェクトコード」…画像に透過性等の加工を施すエフェクトを指令するコマンド。エフェクトタイプを指定するエフェクト1コード、エフェクトパラメータ(例えば、透過度の値(%))を指定するエフェクト2コード、エフェクト色を指定するエフェクト3コードがある。
・「削除コード」;オブジェクトの削除を指令するコマンド。
・「変更コード」;オブジェクトのキャラクタ(図柄や登場人物など)を動きの途中で動きを継続しまたまま差し替える変更を指令するコマンド。
・「デコードコード」;動画データのデコード(復号化)を指令するコマンド。
・「入替コード」;オブジェクトの入替(例えば、オブジェクトインデックス0とオブジェクトインデックス1のキャラクタを入れ替える制御)を指令するコマンド。
・「ビヘイビアコード」;オブジェクトのキャラクタの差替えを指令するコマンド。
・「終了コード」;1フレーム分のデータの終了を示すコマンド。
なお、モーションテーブルのコマンドは、以上説明したものに限定されず、上記以外のコマンドがさらに含まれた態様でもよいし、上記のコマンドのうちの何れかが削除された態様もあり得る。
ステップD823を経るとステップD823に進み、ステップD824とステップD844をループ端とするループ処理を終了条件(コマンド=終了)が成立するまで、繰り返し実行する。即ち、モーション登録直後等においては、前述したステップD658,D663,D815によって対象のモーション管理領域Xのコマンド位置kは0(モーションテーブルの1行目を指定する値)に設定されているが(k=0)、ステップD824乃至D844のループ処理を繰り返す度に、後述するステップD843、D880等でモーション管理領域Xのコマンド位置kの値を1だけ増やし(k=k+1)、ステップD842で上記終了条件(コマンド位置kのコマンドが終了コマンドである)が成立したか判定し、成立していればステップD844を経てリターンし、成立していなければステップD844を経てステップD824に戻ってステップD825に進む構成となっている。
ステップD825に進むと、対象のモーションテーブル(ステップD823で取得したアドレスのモーションテーブル)におけるコマンド位置kに対応する行(例えば、k=0ならば1行目、k=1ならば2行目、…k=NならばN行目)のコマンドを取得し、次いでこのコマンドについてステップD826乃至D841で順次各コードに該当するか否かのコマンド判定を実行し、何れかのコマンド判定結果がYESになると対応する処理(ステップD851乃至D866の何れか)を実行してステップD844に進む。
ステップD827では追加2コードか判定し、YESならばステップD852で動化追加処理(動画をオブジェクトとして追加する処理、詳細後述する)を行った後にステップD844に進み、NOならばステップD828に進む。
ステップD828では追加3コードか判定し、YESならばステップD853で単色矩形追加処理(キャラROM(画像ROM322)のデータを使用しない単色矩形画像をオブジェクトとして追加する処理、詳細は省略する)を行った後にステップD844に進み、NOならばステップD829に進む。
ステップD829では挿入1コードか判定し、YESならばステップD854でビットマップ挿入処理(静止画をオブジェクトとして挿入する処理、詳細は省略する)を行った後にステップD844に進み、NOならばステップD830に進む。
ステップD831では挿入3コードか判定し、YESならばステップD856で単色矩形挿入処理(前記単色矩形画像をオブジェクトとして挿入する処理、詳細は省略する)を行った後にステップD844に進み、NOならばステップD832に進む。
ステップD832では移動1コードか判定し、YESならばステップD857で1点指定オブジェクト移動処理(1点指定方式でオブジェクトの表示位置や表示の大きさを設定する処理、詳細後述する)を行った後にステップD844に進み、NOならばステップD833に進む。
ステップD833では移動2コードか判定し、YESならばステップD858で3点指定オブジェクト移動処理(3点指定方式でオブジェクトの表示位置や表示の大きさを設定する処理、詳細は省略する)を行った後にステップD844に進み、NOならばステップD834に進む。
ステップD835ではエフェクト2コードか判定し、YESならばステップD860でエフェクトパラメータ指定処理(後述する)を行った後にステップD844に進み、NOならばステップD8に進む。
ステップD836ではエフェクト3コードか判定し、YESならばステップD861でエフェクト色指定処理(エフェクト色を設定する処理、詳細は省略する)を行った後にステップD844に進み、NOならばステップD837に進む。
ステップD837では削除コードか判定し、YESならばステップD862でオブジェクト削除処理(オブジェクトを削除する処理、詳細後述する)を行った後にステップD844に進み、NOならばステップD838に進む。
ステップD839ではデコードコードか判定し、YESならばステップD864でオブジェクト動画デコード処理(詳細後述する)を行った後にステップD844に進み、NOならばステップD840に進む。
ステップD840では入替コードか判定し、YESならばステップD865でオブジェクト入替処理(オブジェクトを入れ替える処理、詳細は省略)を行った後にステップD844に進み、NOならばステップD841に進む。
ステップD841ではビヘイビアコードか判定し、YESならばステップD866でビヘイビアインデックス設定処理(詳細後述する)を行った後にステップD844に進み、NOならばステップD842に進む。
ステップD843では、コマンド位置kの値を1だけ増やす更新を実行し、ステップD844に進む。
ステップD844では、ステップD842の判定結果がYESならばリターンし、NOならばステップD824に戻って更新後のコマンド位置kについてステップD826以降を実行する。
即ち、まず最初はコマンド位置k=0であり、追加1コードが設定された1行目が指定行であるので、ステップD826でYESになりステップD851のビットマップ追加処理が実行されて、この1行目にある図柄「2」がオブジェクトインデックス0として登録される。
次はk=1になって、ビヘイビアコードが設定された2行目が指定行であり、パラメータとしてオブジェクトインデックス0、ビヘイビアインデックス0が設定されているので、ステップD841でYESになりステップD866のビヘイビアインデックス設定処理が実行されて、オブジェクトインデックス0(即ち、図柄「2」)に対してビヘイビアインデックス0の設定が行われる。
次はk=3になって、ビヘイビアコードが設定された4行目が指定行であり、パラメータとしてオブジェクトインデックス1、ビヘイビアインデックス0が設定されているので、ステップD841でYESになりステップD866のビヘイビアインデックス設定処理が実行されて、オブジェクトインデックス1(即ち、図柄「1」)に対してビヘイビアインデックス0の設定が行われる。
次はk=5になって、ビヘイビアコードが設定された6行目が指定行であり、パラメータとしてオブジェクトインデックス2、ビヘイビアインデックス0が設定されているので、ステップD841でYESになりステップD866のビヘイビアインデックス設定処理が実行されて、オブジェクトインデックス2(即ち、図柄「9」)に対してビヘイビアインデックス0の設定が行われる。
次はk=7になって、移動1コードが設定された8行目が指定行であり、パラメータとしてオブジェクトインデックス1等が設定されているので、ステップD832でYESになりステップD857の1点指定オブジェクト移動処理が実行されて、この8行目にある座標データや表示の大きさのデータに従ったオブジェクトインデックス1の画像(即ち、図柄「1」)の表示設定が行われる。
次はk=9になって、終了コードが設定された10行目が指定行であるので、ステップD842でYESになりステップD844ではループ処理を終了してリターンする。
こうして、図170において(a)で示す最初の1フレーム分が終了する。なお、同図に(b),(c),(d)で示す3フレーム以降も、各フレーム周期(前述の処理周期;例えば1/30秒)毎に同様に実行される。
次に、前述のモーションコマンド実行処理におけるステップD851で実行されるビットマップ追加処理の詳細について図144により説明する。本ルーチンは、既述したように、静止画キャラクタを表示オブジェクトとして追加する処理である。
このルーチンが開始されると、まずステップD871で、モーション管理領域Xにおけるモーション用リストテーブル領域から、モーションリストテーブルのアドレス(即ち、今回制御するモーション用リストテーブルとその行を指定するデータ)をロードし、ステップD872に進む。
ステップD872に進むと、モーション管理領域Xにおける表示数の値が最大表示要素数以上になっているか判定し、最大表示要素数以上ならばオブジェクトの追加ができないのでリターンし、最大表示要素数未満であるならばステップD873乃至D881を順次実行した後にリターンする。ここで、最大表示要素数は、VDP312のハード的限界やVRAM312aの容量(動画を展開する領域等)などを考慮し、一つのモーションで扱える表示数(制御するオブジェクトの数)の限界値であり、例えば18(静止画16+動画2)に設定されている。但し、18は一例にすぎず、これに限定されない。
次にステップD875では、対象の表示情報領域におけるビヘイビアインデックスの値として未定義値(例えば「−1」)をセーブする。初期値としてビヘイビア無しの状態に設定するためである。なお本例では、ビヘイビアインデックスの値が0の場合(図170における2,4,6行目のパラメータのようにビヘイビアインデックス0が指定された場合)でも、ビヘイビア(図柄等の差替え)は有りである。
次にステップD877では、対象のモーション用リストテーブルの指定行(ステップD871でロードされたアドレスで指定されるモーション用リストテーブルの指定行)から、モーションテーブルのアドレス(モーションテーブル名)を取得する。これは、前述のステップD823と同様の処理である。
次にステップD879では、ステップD878で取得した静止画インデックスの値を画像インデックスとしてセーブする。画像インデックスは、表示する対象としての特定のキャラクタ(静止画、動画などの画像)を示す情報であって、後述する演出表示編集処理におけるステップE51等で使用される情報である。
次にステップD881では、本ルーチンによりオブジェクトが追加されたため、モーション管理領域Xにおける表示数の値を1だけ増加させる更新を行い、その後リターンする。
・画像アドレスオフセット;キャラROM内に当該キャラクタが格納されているアドレスへのオフセット値を示す。
・パレットアドレスオフセット;キャラROM内に当該キャラクタが使用するパレットデータが格納されているアドレスへのオフセット値を示す。本例では、記載しているキャラクタが同一のパレットを使用しているので全て0となっているが、これに限らずキャラクタの必要に応じてパレットを変更してもよい。違うパレットを使用している箇所は異なるオフセット値となる。
・画像の幅、高さ;当該キャラクタの元画像のサイズを表す。例えば単位はピクセル。この例では、通常変動時の図柄とプッシュボタンのキャラだけなので同じサイズばかりとなっているが、実際はキャラクタ毎に様々な値となる。また、通常図柄の中においても例えば図柄に描かれている人物の大きさが多少違ったりして見た目のサイズが異なる可能性があるが、内部制御で扱いやすくするために透明部分でキャラクタの大きさを調整し、同一カテゴリのキャラであれば同一サイズとなるように設定する。
・画像の圧縮タイプ;キャラROMへ格納している各キャラクタの圧縮タイプを示す。この圧縮タイプとしては、例えば以下のタイプ0〜6がある。これら以外のタイプがあってもよい。
0: 32bitフルカラー画像圧縮なし
1: 8bitフルカラー画像圧縮なし
2: 4bitフルカラー画像圧縮なし
3: 可逆圧縮32bitフルカラー画像
4: 可逆圧縮8bitフルカラー画像
5: 可逆圧縮4bitフルカラー画像
6: 非可逆圧縮画像
・画像の圧縮後のサイズ;画像データ(キャラクタのデータ)の圧縮後の容量を示す。キャラROM322からVRAM312a(606,607)へデータ転送する際のパラメータ等として使用される。
なお、以上説明した静止画ROMメンバリストテーブルのカテゴリ設定は一例であり、
これ以外のパラメータを設定してもよい。
次に、前述のモーションコマンド実行処理におけるステップD852で実行される動画追加処理の詳細について図145により説明する。本ルーチンは、既述したように、動画キャラクタを表示オブジェクトとして追加する処理である。
このルーチンが開始されると、まずステップD891で、前記ステップD871と同様に、モーションリストテーブルのアドレスをロードし、ステップD892に進む。
ステップD892に進むと、前記ステップD872と同様に、モーション管理領域Xにおける表示数の値が最大表示要素数以上になっているか判定し、最大表示要素数以上ならばリターンし、最大表示要素数未満であるならばステップD893乃至D897を順次実行した後にステップD898に進む。
ステップD894では、前記ステップD874と同様に、ステップD893で設定したアドレスで特定される一つの表示情報領域(対象の表示情報領域)の各データを0クリアする。
ステップD895では、前記ステップD875と同様に、対象の表示情報領域におけるビヘイビアインデックスの値として未定義値(例えば「−1」)をセーブする。
ステップD896では、前記ステップD877と同様に、対象のモーション用リストテーブルの指定行(ステップD891でロードされたアドレスで指定されるモーション用リストテーブルの指定行)から、モーションテーブルのアドレスを取得する。
ステップD899では、対象の表示情報領域におけるIピクチャ用フレームカウント数(Iピクチャのみの動画時のフレームカウント)のデータとして、初期値である「−1」を設定する。なお、初期値として「−1」を設定すれば、Iピクチャ用フレームカウント数は「0」からスタートすることになる。
ステップD900では、対象の表示情報領域における表示種別のデータとしてIピクチャ動画情報をセーブする。即ちここでは、追加する当該オブジェクトがIピクチャ動画であることを示す情報を設定している。
ステップD901では、ステップD897で取得した動画インデックスの値を画像インデックスとしてセーブする。
ステップD904では、VDP312に対して動画をループする指示を出すために、ループ再生フラグをセットする。なお、ループしない設定も可能である。
ステップD905では、動画データをデコードするRAM311aの記憶領域を確保する動画デコード領域確保処理を実行する。
そしてステップD906に進むと、上記動画デコード領域確保処理の結果、領域が正しく割り当てられたか判定し、YESならばステップD907、D908を実行してステップD902に進み、NOならばリターンする。なお、容量オーバー等により領域が正しく確保できないときNOとなる。
ステップD907では、対象の表示情報領域における表示種別のデータとして通常動画情報をセーブする。即ちここでは、追加する当該オブジェクトが通常動画である(即ち、Iピクチャ動画でない)ことを示す情報を設定している。
ステップD908では、上記動画デコード領域確保処理により割り当てられた領域のインデックスの値を画像インデックスとしてセーブする。
ステップD902では、前記ステップD880と同様に、コマンド位置を次レコードに更新する。
ステップD903では、前記ステップD881と同様に、モーション管理領域Xにおける表示数の値を1だけ増加させる更新を行う。
・動画アドレスオフセット;キャラROM内に当該ムービーが格納されているアドレスへのオフセット値を示す。
・動画の幅、高さ;当該ムービーの元画像のサイズを表す。例えば単位はピクセル。静止画の時と同様に、同一カテゴリのムービーのサイズは同じになるように透明部分で調整する。
・動画のフレーム数;何枚の連続絵で構成されたムービーであるかを示す。本実施例では1秒=30フレームの制御なので、それを意識したムービー作成を行う。制御を1秒60フレームとなるように実行したら、倍速再生されることになる。逆も同様である。
・エンコードタイプ;ムービーがどのように構成されているのかを示す。以下のタイプ0〜2がある。
0=Iピクチャのみで構成
1=Iピクチャと1枚参照のPピクチャを含んだ構成(1つ過去のIピクチャ又はPピクチャを参照して、当該Pピクチャを作る)
2=上記1に加え2枚参照のPピクチャを含んだ構成(1つ過去のIまたはPと、2つ過去のI又はPの2枚を参照して、当該Pピクチャを作る)
但し、以上のエンコードタイプに限定されず、例えばBピクチャを含んだ構成でもよい。
なお、以上説明した動画ROMメンバリストテーブルのカテゴリ設定は一例であり、
これ以外のパラメータを設定してもよい。
次に、前述のモーションコマンド実行処理におけるステップD857で実行される1点指定オブジェクト移動処理の詳細について図146により説明する。
このルーチンが開始されると、ステップD911乃至D924を順次実行し、その後リターンする。
ステップD911では、前記ステップD871と同様に、モーションリストテーブルのアドレスをロードする。
ステップD912では、対象のモーション用リストテーブルの指定行(ステップD911でロードされたアドレスで指定されるモーション用リストテーブルの指定行)から、モーションテーブルのアドレスを取得する。
ステップD914では、ステップD913で取得したオブジェクトインデックスに対応する表示情報領域(モーション管理領域X内の表示情報領域)のアドレスを設定する。例えば、図170でk=6(指定行は7行目)の場合、オブジェクトインデックス0は1行目で追加された図柄「2」(次図柄)であるため、次図柄に対応する1番目の表示情報領域のアドレスが設定される。
ステップD916では、対象の表示情報領域(ステップD914でアドレスが設定された表示情報領域、以下本ルーチンにおいて同様)における表示左上点のX座標と表示左下点のX座標として、ステップD915で取得したX座標データをセーブする。
ステップD917では、コマンド位置kに対応するY座標データを取得する。
ステップD918では、対象の表示情報領域における表示左上点のY座標と表示右上点のY座標として、ステップD917で取得したY座標データをセーブする。
ステップD920では、ステップD915で取得したX座標データにステップD919で取得した画像幅データを加算し、次のステップD921では、この加算結果を対象の表示情報領域における表示右上点のX座標としてセーブする。
ステップD922では、ステップD917で取得したY座標データにステップD919で取得した画像高さデータを加算し、次のステップD923では、この加算結果を対象の表示情報領域における表示左下点のY座標としてセーブする。
そして、ステップD924では、前記ステップD880と同様に、コマンド位置を次レコードに更新する。
なお、前述のモーションコマンド実行処理におけるステップD858で実行される3点指定オブジェクト移動処理については、フローチャートを示しての詳細説明は省略するが、この処理も上述した1点指定オブジェクト移動処理と略同様に行われる。但し、3点指定の場合はモーションテーブル上にそれぞれの座標データがある構造になるため、上述したステップD920、D922のような加算処理は不要であり、モーションテーブルから取得した各座標データを全てそのまま表示情報領域の各領域にセーブするだけの処理内容になる。
次に、前述のモーションコマンド実行処理におけるステップD859で実行されるエフェクトタイプ指定処理の詳細について図147の左側のフローチャートにより説明する。
このルーチンが開始されると、ステップD931乃至D940を順次実行し、その後リターンする。
ステップD931では、前記ステップD871と同様に、モーションリストテーブルのアドレスをロードする。
ステップD932では、対象のモーション用リストテーブルの指定行(ステップD931でロードされたアドレスで指定されるモーション用リストテーブルの指定行)から、モーションテーブルのアドレスを取得する。
ステップD934では、ステップD933で取得したオブジェクトインデックスに対応する表示情報領域(モーション管理領域X内の表示情報領域)のアドレスを設定する。例えば、図181でk=m+5の場合、オブジェクトインデックス1はk=m+2(m+3行目)で追加された文字「狼煙」(のろし)であるため、この文字「狼煙」に対応する表示情報領域のアドレスが設定される。
ステップD936では、対象の表示情報領域(ステップD934でアドレスが設定された表示情報領域、本ルーチンにおいて同様)におけるエフェクトタイプとして、ステップD935で取得したデータをセーブする。
例えば、図181でk=m+5の場合、エフェクトタイプは(1)であるため、これが上記ステップD935で取得されて、上記ステップD936で対象の表示情報領域に設定される。
次に、ステップD937、D938、D939では、対象の表示情報領域におけるエフェクトパラメータ、フォアグランドカラー、バックグランドカラーのデータをそれぞれクリアする。
そして、ステップD940では、前記ステップD880と同様に、コマンド位置を次レコードに更新する。
次に、前述のモーションコマンド実行処理におけるステップD860で実行されるエフェクトパラメータ指定処理の詳細について図147の右側のフローチャートにより説明する。
このルーチンが開始されると、ステップD941乃至D947を順次実行し、その後リターンする。
ステップD941では、前記ステップD871と同様に、モーションリストテーブルのアドレスをロードする。
ステップD942では、対象のモーション用リストテーブルの指定行(ステップD941でロードされたアドレスで指定されるモーション用リストテーブルの指定行)から、モーションテーブルのアドレスを取得する。
ステップD944では、ステップD943で取得したオブジェクトインデックスに対応する表示情報領域(モーション管理領域X内の表示情報領域)のアドレスを設定する。例えば、図181でk=m+7の場合、オブジェクトインデックス1はk=m+2(m+3行目)で追加された文字「狼煙」であるため、この文字「狼煙」に対応する表示情報領域のアドレスが設定される。
ステップD946では、対象の表示情報領域(ステップD944でアドレスが設定された表示情報領域、本ルーチンにおいて同様)におけるエフェクトパラメータとして、ステップD945で取得したデータをセーブする。
例えば、図181でk=m+7の場合、エフェクトパラメータは(7)であるため、これが上記ステップD945で取得されて、上記ステップD946で対象の表示情報領域に設定される。
次にステップD947では、前記ステップD880と同様に、コマンド位置を次レコードに更新する。
次に、前述のモーションコマンド実行処理におけるステップD862で実行されるオブジェクト削除処理の詳細について図148の左側のフローチャートにより説明する。
このルーチンが開始されると、まずステップD951で、前記ステップD871と同様に、モーションリストテーブルのアドレスをロードする。
次にステップD952で、モーション管理領域Xにおける表示数の値が0以下であるか判定し、0以下であれば表示数が1個も無い(即ち、削除するオブジェクトが無い)のでリターンし、0以下でない場合にはステップD953に進む。
ステップD953に進むと、ステップD953乃至D955を順次実行した後にステップD956に進む。
ステップD953では、対象のモーション用リストテーブルの指定行(ステップD951でロードされたアドレスで指定されるモーション用リストテーブルの指定行)から、モーションテーブルのアドレスを取得する。
ステップD955では、ステップD954で取得したオブジェクトインデックスに対応する表示情報領域(モーション管理領域X内の表示情報領域)のアドレスを設定する。例えば、図181でk=o+1の場合、オブジェクトインデックス1であるため、この時点でオブジェクトインデックス1に対応する表示情報領域のアドレスが設定される。
ステップD958に進むと、ステップD958乃至D960を順次実行した後にリターンする。
ステップD958では、取得したオブジェクトインデックス以降の表示情報領域の情報を前にシフト(移動)する。即ち、モーション管理領域Xにおいて、ステップD955で設定されたアドレス以降の表示情報領域のデータを一つ分だけ前の表示情報領域にそれぞれシフトさせる。これにより、ステップD955で設定されたアドレスの表示情報領域のデータは削除され、この削除されたデータに対応するオブジェクトが削除されたことになる。
ステップD959では、前記ステップD880と同様に、コマンド位置を次レコードに更新する。
そして、ステップD960では、本ルーチンによりオブジェクトが削除されたため、モーション管理領域Xにおける表示数の値を1だけ減らす更新を実行する。
次に、前述のモーションコマンド実行処理におけるステップD863で実行されるオブジェクト変更処理の詳細について図148の右側のフローチャートにより説明する。
このルーチンが開始されると、ステップD961乃至D967を順次実行し、その後リターンする。
ステップD961では、前記ステップD871と同様に、モーションリストテーブルのアドレスをロードする。
ステップD962では、対象のモーション用リストテーブルの指定行(ステップD961でロードされたアドレスで指定されるモーション用リストテーブルの指定行)から、モーションテーブルのアドレスを取得する。
ステップD963では、ステップD962で取得されたアドレスで特定される対象のモーションテーブルからコマンド位置kに対応するオブジェクトインデックスを取得する。
ステップD965では、前記対象のモーションテーブルにおけるコマンド位置kに対応する変更キャラ(変更後のキャラクタ)のインデックス(前述した静止画インデックス又は動画インデックス)を取得する。
ステップD966では、ステップD965で取得したインデックスの値を画像インデックスとしてセーブする。これにより、画像(図柄や登場人物などのキャラクタ)だけが変わるオブジェクト変更が実現される。
そして、ステップD967では、前記ステップD880と同様に、コマンド位置を次レコードに更新する。
次に、前述のモーションコマンド実行処理におけるステップD864で実行されるオブジェクト動画デコード処理の詳細について図149により説明する。
このルーチンが開始されると、まずステップD971乃至D974を順次実行し、その後ステップD975に進む。
ステップD971では、前記ステップD871と同様に、モーションリストテーブルのアドレスをロードする。
ステップD972では、対象のモーション用リストテーブルの指定行(ステップD971でロードされたアドレスで指定されるモーション用リストテーブルの指定行)から、モーションテーブルのアドレスを取得する。
ステップD974では、ステップD973で取得したオブジェクトインデックスに対応する表示情報領域(モーション管理領域X内の表示情報領域)のアドレスを設定する。例えば、上記図179のテーブルでk=3の場合、オブジェクトインデックス0はk=0(1行目)で追加された図柄「1」であるため、この図柄「1」に対応する表示情報領域のアドレスが設定される。
ステップD977では、対象の表示情報領域(ステップD974でアドレスが設定された表示情報領域、以下本ルーチンにおいて同様)におけるIピクチャ用フレームカウント数(Iピクチャのみの動画時のフレームカウント)の領域のアドレスを設定する。
ステップD978では、ステップD977で設定したアドレスに基づいて、対象の表示情報領域におけるIピクチャ用フレームカウント数のデータを1だけ増やす更新を行う。
ステップD980では、画像インデックス(この場合、動画インデックス)で指定される動画が最終フレームまで表示されたので、当該動画を最初から再度開始するために対象の表示情報領域におけるIピクチャ用フレームカウント数のデータを0(スタート値)に設定する。
ステップD981では、この時点で画像インデックスとして登録されているデータ(この場合は動画インデックスのデータ)をロードする。
ステップD982では、ステップD981でロードしたインデックスに対応する動画の1フレーム分をデコード(復号化)する動画デコード処理(詳細は省略)を実行する。
そして、ステップD983に進むと、前記ステップD880と同様に、コマンド位置を次レコードに更新する。
なお、Iピクチャ動画の場合は、各フレームの絵が独立して存在しているので、フレーム数を管理しておけばよい。後でVDP312の内部レジスタに指示をする際にそのカウント(Iピクチャ用フレームカウント数)が重要になる。
次に、前述のモーションコマンド実行処理におけるステップD866で実行されるビヘイビアインデックス設定処理の詳細について図150により説明する。
このルーチンが開始されると、まずステップD991乃至D997を順次実行し、その後リターンする。
ステップD991では、前記ステップD871と同様に、モーションリストテーブルのアドレスをロードする。
ステップD992では、対象のモーション用リストテーブルの指定行(ステップD991でロードされたアドレスで指定されるモーション用リストテーブルの指定行)から、モーションテーブルのアドレスを取得する。なお、前述した図165に一例を示すように、このモーション用リストテーブルの指定行には、ビヘイビアテーブルのアドレスに対応するビヘイビアテーブル名も設定されている(但し、NULLの場合もある)。
ステップD994では、ステップD993で取得したオブジェクトインデックスに対応する表示情報領域(モーション管理領域X内の表示情報領域)のアドレスを設定する。例えば、図181でk=1の場合、オブジェクトインデックス0はk=0(1行目)で追加された(巻物開青)であるため、この(巻物開青)に対応する表示情報領域のアドレスが設定される。
ステップD996では、対象の表示情報領域(ステップD994でアドレスが設定された表示情報領域、以下本ルーチンにおいて同様)におけるビヘイビアインデックスとして、ステップD995で取得したデータをセーブする。
例えば、図181でk=1の場合、ビヘイビアインデックスは(0)であるため、これが上記ステップD995で取得されて、上記ステップD996で対象の表示情報領域に設定される。
そして、ステップD997では、前記ステップD880と同様に、コマンド位置を次レコードに更新する。
次に、前述のメイン処理におけるステップD31で実行される演出表示編集処理の詳細について図151、図152、及び図153により説明する。以下では、ステップ番号としてステップEを使用する。この演出表示編集処理は、メイン処理で説明したように、VDP312に表示装置41での描画内容を指示するための各種コマンドとそのパラメータの設定を行う処理である。この演出表示編集処理ではコマンドがテーブル状に設定され、こうして設定されたコマンドはメイン処理のステップD34(画面描画を指示)でVDP312に順次送信される。
このルーチンが開始されると、モーション管理領域の数だけステップE1乃至E50のループ処理Aを繰り返し実行し、その後リターンする。なお、ループ処理A内にはステップE6乃至E48のループ処理Bが含まれており、さらにループ処理B内にはステップE39乃至E43のループ処理Cが含まれている。
以下、ステップE2以降の処理を説明する。
ステップE2では、モーション管理領域Xのアドレス領域のデータがNULLか判定し、NULLならば当該モーション管理領域Xについては制御不要であるためステップE49に進み、NULLでない場合にはステップE3乃至E5を順次実行した後にステップE6に進む。なお、このステップE2でNULL(YES)と判定されてステップE49に進む場合、ループ処理Bとループ処理Cを含む以下の処理は、当該モーション管理領域Xについては当然実行されない。
ステップE4では、全てのブレンド情報領域をクリアする。ブレンド情報領域とは、VDP312の内部レジスタのパラメータの情報を新旧比較用に記憶するRAM311a内の領域である。即ち、VDP312には、エフェクトのためのブレンド時の画素間演算固定値を指示する内部レジスタのパラメータが4種類ある。そして、この4種類のパラメータ毎に今回の設定情報と前回の設定情報を記憶する領域がRAM311aに設けられており、これがブレンド情報領域である。
ステップE5では、画素間演算用パラメータ(即ち、VDP312の内部レジスタに設定する4種類のパラメータ)を設定する。
ステップE7に進むと、ステップE7乃至E9を順次実行し、その後ステップE10に進む。
ステップE7では、VDP312の内部レジスタのカラーパラメータをα値対応に設定する。
ステップE8では、後述する処理に使用するαフラグをαありに設定する。
ステップE9では、モーション管理領域Xにおける変数iに対応する表示情報領域(以下、対象の表示情報領域という)のアドレスをロードする。
次に、ステップE10に進むと、ステップE9でロードしたアドレスの表示情報領域におけるビヘイビアインデックスの値を読み取り、NULLではないなんらかのインデックスのデータが設定されているか判定し、なんらかのビヘイビアインデックスのデータが設定されている場合(YESの場合)にはステップE11で当該ビヘイビアインデックスに対応する処理を実行した後にステップE12に進み、NOの場合にはステップE11を実行しないでステップE12に進む。
例えば、対象のオブジェクトが左図柄の現図柄である場合には、後述する図155の左側に示すフローチャートの処理(表示左図柄変換処理)が上記ステップE11で実行される。本願では上記ステップE11で実行される処理の具体例を、他にも図155の右側や図156にも示しているが、これらの詳細は後述する。
なお、ステップE11が実行されると、画像インデックスのデータが表示直前に変更され、例えば基本の図柄が表示すべき所定の図柄に差し替えられたり、プッシュボタン(PB)の画像の色が基本色から遊技状態に応じた所定の色(例えば、大当り信頼度を表す特定の色)に差し替えられたりする。モーションテーブル上に定義されているキャラクタの表示パターンは固定になってしまっているため、基本的にはモーションテーブルを変えない限り、変動毎に異なる停止図柄や振り分けにより異なる予告キャラクタなどに対応出来ない。そこで本例では、ビヘイビアを必要箇所に埋め込んでキャラクタを差し替える処理を行うようにして柔軟な対応を行えるようにしている。
ステップE16に進むと、対象の表示情報領域に設定されている表示種別などのデータから、描画指定は通常動画の透過なし再生か判定し、YESであればステップE17に進み、NOであればステップE21に進む。
ステップE17に進むと、対象の動画(ステップE16で通常動画の透過なし再生と判定されたもの)は、αなしで登録されているか判定し、YESであればステップE18でαフラグをαなしに設定してステップE21に進み、NOであればステップE18を実行しないでステップE21に進む。
ここで、ステップE31は加算ブレンドの場合に実行される処理(加算タイプの描画エフェクトを設定する処理)であり、ステップE32は減算ブレンドの場合に実行される処理(減算タイプの描画エフェクトを設定する処理)であり、ステップE33は乗算ブレンドの場合に実行される処理(乗算タイプの描画エフェクトを設定する処理)であり、ステップE34はスクリーンブレンドの場合に実行される処理(スクリーンタイプの描画エフェクトを設定する処理)であり、ステップE35は差分ブレンドの場合に実行される処理(差分タイプの描画エフェクトを設定する処理)であり、ステップE36は比較(暗)ブレンドの場合に実行される処理(比較(暗)タイプの描画エフェクトを設定する処理)であり、ステップE37は反転ブレンドの場合に実行される処理(反転タイプの描画エフェクトを設定する処理)である。
なお、上記ステップE29及びステップE31乃至E38では、対象の情報表示領域のエフェクトタイプ等の設定に応じて、ブレンドするための各種パラメータ(本例では4種類)を該当のブレンド情報領域に設定している。
即ち、ステップE39ではループ開始直後は変数jを0としてステップE40に進む。
ステップE40に進むと、変数jに対応するブレンド情報領域が変更されたか判定し、変更されたならばステップE41、E42を順次実行してステップE43に進み、変更されていない場合にはステップE41、E42を実行しないでステップE43に進む。ここで、ステップE40の判定は、該当のブレンド情報領域の前回のデータと今回のデータが不一致であれば変更されたと判定し、一致であれば変更されていないと判定することにより行う。
また、ステップE41では、変数jに対応するレジストパラメータの画素間演算固定値をVDP312の内部レジスタに設定し、ステップE42では、今回のブレンド情報を前回のブレンド情報として設定する。
なお、変数jの範囲が4つ分あるのは、前述したように、VDP312にブレンド時の画素間演算固定値を指示する内部レジスタのパラメータが4種類あるからである。また、各レジスタに対応する領域(ブレンド情報領域)を前回用と今回用と設け、このブレンド情報領域の新旧のデータを比較して一致したときだけ、ステップE41の設定処理を行うのは、指定する値が変化する時だけVDP312のレジスタに設定するため(VDPへの設定処理の効率化のため)である。
ここで、ステップE51及びE52は、静止画の場合に実行され、ステップE51では画像インデックスのデータをロードし、ステップE52ではロードした画像インデックスのデータに基づいて静止画像データの属性を設定するなどの処理を実行する。ステップE52を経ると、ステップE58に進み、ステップE51でロードしたデータとステップE52の設定に基づいてキャラクタ描画処理(後述する)を実行する。
また、ステップE55乃至E57は、Iピクチャ動画の場合に実行され、ステップE55では画像インデックスのデータをロードし、ステップE56では対象の表示情報領域からIピクチャ用フレームカウント(Iピクチャのみの動画時のフレームカウント)のデータをロードし、ステップE57ではロードした前記データに基づいてIピクチャ動画像データの属性を設定するなどの処理を実行する。ステップE57を経ると、ステップE58に進み、ステップE55、E56でロードしたデータとステップE57の設定に基づいてキャラクタ描画処理(後述する)を実行する。
また、ステップE59は、単色四角形の場合に実行され、矩形画像(単色四角形の画像)をVDP312の仮想描画空間(フレームバッファ)に描画する処理(即ち、矩形画像のスプライトを仮想描画空間に貼り付ける処理)である。
なお、ステップE58又はステップE59を経ると、ステップE48に進む。
そして、ステップE49に進むと、対象のモーション管理領域の番号Xを1だけ増やす更新を実行し、次いでステップE50でXがループ処理Aの終値(本例では14)に到達したか判定し、到達していればループ処理Aを抜けてリターンし、到達していなければステップE1に戻ってステップE2からループ処理Aを繰り返す。
次に、前述の演出表示編集処理におけるステップE58で実行されるキャラクタ描画処理の詳細について図154により説明する。
このルーチンが開始されると、まずステップE61で、モーション管理領域Xにおける対象の表示情報領域(変数iに対応する表示情報領域)から表示左上点のX座標と表示左下点のX座標のデータを読み出して、これらが一致するか判定し、一致ならばステップE62に進み、不一致ならばステップE77に進む。
ステップE62に進むと、モーション管理領域Xにおける対象の表示情報領域から表示左上点のY座標と表示右上点のY座標のデータを読み出して、これらが一致するか判定し、一致ならばステップE63に進み、不一致ならばステップE77に進む。
なお、四角形(矩形)の画像であれば、ステップE61及びE62の判定結果はYESになってステップE63に進むが、三角形キャラクタ(三角形の画像)である場合には何れかの判定がNOになってステップE77に進む。
ステップE77に進むと、三角形キャラクタ描画処理(説明は省略)を実行してリターンする。
ステップE63では、モーション管理領域Xにおける対象の表示情報領域から表示左上点のX座標のデータを読み出し、これをキャラクタの左上基点X座標として設定する。
ステップE64では、モーション管理領域Xにおける対象の表示情報領域から表示左上点のY座標のデータを読み出し、これをキャラクタの左上基点Y座標として設定する。
ステップE65では、モーション管理領域Xにおける対象の表示情報領域から表示右上点のX座標と表示左上点のX座標のデータを読み出し、これらの差(=表示右上点のX座標−表示左上点のX座標)をキャラクタの幅データとして設定する。
ステップE67では、水平フリップ(水平方向の反転)なしと、垂直フリップなしとを設定する。ここで、水平フリップは水平方向(X座標方向)の画像反転を意味し、垂直フリップは垂直方向(Y座標方向)の画像反転を意味する。
ステップE69では、モーション管理領域Xにおける対象の表示情報領域から表示左上点のX座標のデータを読み出し、これにステップE65で設定した幅データ(マイナス値)を加算した加算結果をキャラクタの左上基点X座標として更新設定する。
ステップE70では、ステップE65で設定した幅データ(マイナス値)を正数に変換し、これを新たな幅データとして更新設定する。
ステップE71では、水平フリップありを設定する(ステップE67の設定を変更する)。
ステップE73では、モーション管理領域Xにおける対象の表示情報領域から表示左上点のY座標のデータを読み出し、これにステップE66で設定した高さデータ(マイナス値)を加算した加算結果をキャラクタの左上基点Y座標として更新設定する。
ステップE74では、ステップE66で設定した高さデータ(マイナス値)を正数に変換し、これを新たな高さデータとして更新設定する。
ステップE75では、垂直フリップありを設定する(ステップE67の設定を変更する)。
そして、ステップE76に進むと、ここまでの処理(ステップE63乃至E75)による設定に基づいて、前記ステップE51、E53、E55の何れかでロードされた画像インデックスのデータに対応する所定のキャラクタの画像をVDP312の仮想描画空間(フレームバッファ)に描画する処理(即ち、所定のキャラクタのスプライトを仮想描画空間に貼り付ける処理)を実行し、その後リターンする。
次に、前述の演出表示編集処理におけるステップE11で実行される表示左図柄変換処理の詳細について図155の左側のフローチャートにより説明する。
このルーチンが開始されると、ステップE81乃至E83を順次実行した後にステップE84に進む。
ステップE81では、画像インデックスのデータ(ビヘイビアによる差替え前のデータ)をロードする。
ステップE82では、表示すべき現図柄(左)のインデックス(図柄番号)のデータ(例えば、前述のステップD727又はD747で設定されたデータ)をロードする。なお本例の場合、図柄の種類が9種類であるため、図柄(特図の飾り図柄)のインデックス(図柄番号)のデータは0から8までの何れかの数値である。
ステップE85では、図柄上限に1を加算した値(本例では、9)を、更新インデックスの値から減算し、この減算結果を新たな更新インデックスの値として設定する。これらステップE84、E85によれば、更新インデックスの値が図柄上限を超えると、更新インデックスの値が一巡した値に更新される。
ステップE87では、ステップE86で設定された左図柄インデックス変換テーブルにおける更新インデックスで指定される行から新たな画像インデックスの値を取得し、ステップE88に進む。
そして、ステップE88では、ステップE87で取得した値を、新たな画像インデックスの値として画像インデックス領域(画像インデックスをセーブする領域)にセーブし、その後リターンする。
なお、表示左図柄変換処理について以上説明したが、右図柄、中図柄についても同様の処理がある(詳細は省略)。
次に、前述の演出表示編集処理におけるステップE11で実行されるPB色変換処理の詳細について図155の右上側のフローチャートにより説明する。
このルーチンが開始されると、ステップE91乃至E94を順次実行した後にリターンする。
ステップE91では、演出振分け結果領域のPB色領域から振分け結果をロードする。
ステップE92では、PBインデックス変換テーブルを設定し、ステップE93に進む。PBインデックス変換テーブルは、上記PB色領域にセーブされる振分け結果により行が指定され、指定された行に表示すべきPB(プッシュボタン)の画像の画像インデックスの値が設定されているテーブルである。
そして、ステップE94では、ステップE93で取得した値を、新たな画像インデックスの値として画像インデックス領域にセーブし、その後リターンする。
なお、プッシュボタン予告のモーション制御データ(特に画像インデックスのデータ)としては、デフォルト色となるボタンキャラクタしか登録していないので、大当り信頼度の報知等のために色をデフォルト色から変える場合に、本ルーチン(PB色変換処理)が実行される。この予告に限らず、登場する武将のキャラクタをビヘイビアにより変換(差替え)したりする処理も存在する。
次に、前述の演出表示編集処理におけるステップE11で実行されるリーチ文字変換処理の詳細について図155の右下側のフローチャートにより説明する。
このルーチンが開始されると、ステップE101乃至E103を順次実行した後にステップE104に進む。
ステップE101では、演出振分け結果領域のリーチ文字領域から振分け結果をロードする。
ステップE102では、リーチ文字インデックス変換テーブルを設定し、ステップE103に進む。リーチ文字インデックス変換テーブルは、上記リーチ文字領域にセーブされる振分け結果により行が指定され、指定された行に表示すべきリーチ文字の画像の画像インデックスの値が設定されているテーブルである。
ステップE103では、ステップE102で設定されたリーチ文字インデックス変換テーブルにおける上記振分け結果で指定される行から新たな画像インデックスの値(リーチ文字インデックスの値)を取得する。
なお本例では、リーチが発生した瞬間に表示される「リーチ!」や「戦機」「勝利」などのリーチ文字についても、モーション制御データ(特に画像インデックスのデータ)ではデフォルト文字を表示する構成となっており、必要に応じてビヘイビアによって表示直前に文字変更や各文字の色違いなどの差し替えを行う。
以上説明したリーチ文字変換処理では、例えば大当り予告の信頼度が低信頼度での変動の場合にステップE105でその文字サイズを0にすることで、制御上リーチ文字が存在するが実際には見えないという制御を行っている。但し、表示しない手法を、この構成に限られない、例えばリーチ文字表示を行わない構成とすることもあり得る。
次に、前述の演出表示編集処理におけるステップE11で実行される武将1セリフ変換処理の詳細について図156により説明する。
このルーチンが開始されると、まずステップE111で、演出振分け結果領域のセリフSU領域から振分け結果をロードする。
次にステップE112で、ステップE111でロードした振分け結果に基づいてセリフSUがSU1系(SU2系やSU3系でないもの)か判定し、YESならばステップE117、E118を順次実行した後にステップE115に進み、NOならばステップE113に進む。
ステップE117では、演出振分け結果領域のセリフ1領域から振分け結果をロードし、次のステップE118で武将1SU1セリフインデックス変換テーブルを設定する。武将1SU1セリフインデックス変換テーブルは、上記セリフ1領域にセーブされる振分け結果により行が指定され、指定された行に表示すべきセリフの画像の画像インデックスの値が設定されているテーブルである。
ステップE119では、演出振分け結果領域のセリフ2領域から振分け結果をロードし、次のステップE120で武将1SU2セリフインデックス変換テーブルを設定する。武将1SU2セリフインデックス変換テーブルは、上記セリフ2領域にセーブされる振分け結果により行が指定され、指定された行に表示すべきセリフの画像の画像インデックスの値が設定されているテーブルである。
ステップE121では、演出振分け結果領域のセリフ3領域から振分け結果をロードし、次のステップE122で武将1SU3セリフインデックス変換テーブルを設定する。武将1SU3セリフインデックス変換テーブルは、上記セリフ3領域にセーブされる振分け結果により行が指定され、指定された行に表示すべきセリフの画像の画像インデックスの値が設定されているテーブルである。
そして、ステップE116では、ステップE115で取得した値を、新たな画像インデックスの値として画像インデックス領域(ビットマップインデックス領域)にセーブし、その後リターンする。
なお、セリフSUの種別としてSU1系、SU2系、SU3系以外の種別があってもよく、その場合図156の波線で省略した箇所に対応する処理ステップが設けられる。
次に、VDP割込み処理を、図157により説明する。図6に示したように、演出制御装置300において、CPU311には割り込み要因であるVDP312から割込み信号INT0〜nが入力されており、割込み要因が発生した割込み信号INT0〜nによってCPU311では複数(最大2のn乗個)の割込み(以下、「VDP割込み」という)が受け付け可能である。本例の場合、このVDP割込みには、Vブランク開始割込み、Vライン開始割込み、描画コマンドINT割込み、描画エラー割込み、描画終了割込み、データ転送1完了割込み、データ転送2完了割込み、データ転送3完了割込み、チェックサム終了割込み、圧縮展開イベント割込み、シリアルコマンド割込み、がある。
本ルーチン(VDP割込み処理)は、この複数のVDP割込みのうちの少なくとも何れか1つが発生すると開始される。なお、この複数のVDP割込みのうちの少なくとも何れか1つが発生すると、この割込み発生を示す割込みフラグのオンデータがCPU311のレジスタに設定される。
本ルーチンが開始されると、ステップE131乃至E144を順次実行した後にリターンする。
ステップE132では、ステップE131で上記ステータスを読み取ったため、各割込み要因をクリアする。即ち、上述した各割込み要因のステータスのデータ(VDP312の割込み用のレジスタのデータ)を全て割込み無しの値に戻す設定を実行する。なお図6に示したように、CPU311とVDP312は双方向通信が可能となっており、このステップE132の設定はこの通信によって行う。
ステップE133乃至E143では、ステップE131で取得したステータスに基づいて、それぞれ、各割込みについての処理(割込みの有無を判定してフラグを設定する等の処理)を実行する。
ステップE144では、前記割込みフラグをクリアする。即ち、前記割込みフラグのオフデータをCPU311のレジスタに設定する。
また、各割込みの発生条件等は以下のとおりである。
・Vブランク開始割込み;Vブランク期間の開始時に割込みが発生する。
・Vライン開始割込み;(ユーザが)指定した表示ラインの開始時に割込みが発生する。
・描画コマンドINT割込み;描画コマンドの解析を中断する場合に発生する。
・描画エラー割込み;描画回路が異常状態になった時に発生する。
・描画終了割込み;描画が終了した時に発生する。
・データ転送1〜3完了割込み;各メモリ間でのデータ転送が完了した時に発生する。
なお、データ転送は、画像ROM322、CPU311(RAM311a内のデータ又は制御ROM321内のデータ)、VRAM(1)606、VRAM(2)607等の間で転送できる。データ転送1〜3の3組がそれぞれ独立しているので同時に転送が可能だが、1>2>3の順で優先順位が設けられており、転送先が同一の場合などには待ちが発生する。
・チェックサム終了割込み;画像ROM322のチェックサムを自動で計算する機能があり(CPU311からの指示で)、計算終了時に発生する。
なお、チェックサムの計算について、計算を開始するアドレス、終了するアドレス、計算する単位(例えば32ビット単位/64ビット単位)等のパラメータを指定することが可能である。
・圧縮展開イベント割込み;動画の1フレームのデコードが完了した時、又はデコードエラーが発生した時に発生する。
・シリアルコマンド割込み;例えばシリアルインターフェースに接続した音源LSIにシリアルコマンドで指示を出し、その実行が終了した時に発生する。
次に、前記VDP割込み処理におけるステップE133で実行されるVブランク開始割込み処理を、図158により説明する。なお、Vブランク開始割込み(Vブランク割込み、或いはVシンク割込みともいう)は、VDP312によって描画のための画面全体の1回の走査が終了する度に発生する。このVブランク開始割込みの発生周期は、前述したように、例えば1/60秒である。
本ルーチンが開始されると、まずステップE151で、前述のステップE131で取得したステータスに基づいてVブランク開始割込みが発生しているか否か判定し、発生していればステップE152に進み、発生していなければステップE152以降を実行しないでリターンする。
ステップE152に進むと、Vブランクカウントの値を1だけ増やす更新を実行し、その後ステップE153に進む。Vブランクカウントは、同じ描画を所定回数(本実施例では2回)実行するためのカウンタである。前述のメイン処理におけるステップD33で説明したフレーム切替タイミングは、原則的に、このVブランクカウントが所定値(本実施例では2)に到達した時点である。つまり本例では、Vブランクカウントが瞬間的に2になる時(ステップE152の更新後に2になってステップE155で0クリアされるまでの瞬間)を除けば、Vブランクカウントの値は正常であれば0⇔1を交互に繰り返し、結果としてVブランク割込み2回毎にフレームを切り替える。Vブランク割込みは1/60秒毎に発生するので、1/30秒毎(33.333ms)にフレーム切り替えを行うことになる。
ここで、ステップE156で設定されるフレーム切替フラグは、前述したメイン処理におけるステップD33で使用される。即ち、前述のステップD33では、このフレーム切替フラグのオンデータがセットされていると、フレーム切替タイミングであると判定する構成となっている。また、ステップE158では、表示回路608がVRAM(1)606へのアクセスを行い、表示用データを生成するのを許可している。
以上説明したVブランク開始割込み処理によれば、圧縮展開のエラーが発生しない限り、同じ描画が所定回数繰り返されてVブランク開始割込みが所定回数発生するとフレーム切替が行われる。本実施例の場合、同じ描画が2回繰り返されてVブランク開始割込みが2回発生するとフレーム切替が行われ、フレーム切替タイミングの周期は、Vブランク開始割込みの周期(例えば1/60秒)の2倍(例えば1/30秒≒33.33ms)になる。
次に、サブ間通信のパケット構成例を図159により説明する。
本例のサブ間通信のパケット構成は、図の上側の表に示すようなデータ構成となっている。各データの説明が図の下側に記載してある。即ち、1バイトのデータがNo.1からNo.12まで合計12個あり、全体の容量(1パケットの容量)は12バイトである。
No.2は、パケットサイズ、即ちサブ間送信データ数(SIZE)のデータ(この場合、12バイトを示すデータ)である。
No.3は、送信元ID(SID)のデータ(端末ID及びグループID)である。
No.4は、送信先ID(DID)のデータ(端末ID及びグループID)である。なお、送信元ID(SID)と送信先ID(DID)のデータは、それぞれ、1バイトのうちの上位ビットがグループID、下位ビットが端末ID(及びブロードキャスト)となっている。ここで、端末IDの範囲は16進数で例えば00乃至0Eの範囲となっており、上記下位ビットのデータが0Fのときには前述のブロードキャストコードのデータとして取り扱われる構成となっている。
No.6は、西暦コード(YEAR)のデータ(例えば西暦下2桁)である。
No.7は、サブ間機種コード(TYPE)のデータである。
No.8は、サブ間コマンドMODE(SB_MODE)のデータである。
No.9は、サブ間コマンドACT(SB_ACT)のデータである。
No.10は、自機のゲーム状態を表すSTSのデータである。
No.11は、STXからSTSまでのデータのチェックサムある。
No.12は、パケット終端を表すパケット終了コード(ETX)のデータ(例えば03H)である。
なお、以上説明したサブ間通信のパケット構成例は、あくまで一例であり、各種の態様があり得る。例えば、データは各々1バイト構成でなくてもよいし(例えば、機種コードを複数バイトにするなど)、送る順番も上記構成例の態様に限られない。また、他の意味を持つデータがあってもよいし、逆にデータ数が上記構成例よりも少なくてもよい。また、送信順において、例えば「メーカコード」を2番目に持ってくる態様としてもよい。この態様であると、他メーカの遊技機からのコマンドを効率良く破棄したり、逆に他メーカとのコラボするために対応する受信処理(他メーカコマンド受信処理)に分岐させて効率良く処理したりすることができる。ここで、他メーカコマンド受信処理とは、メーカ毎でコマンド形態が違う場合に、他メーカのコマンド形態に対応したコマンド受信をするための処理である。
次に、以上説明した演出制御装置300の制御で使用するデータテーブルの具体例と、同制御により表示装置41の表示部41a(画面)で行われる演出表示の具体例とを、図160乃至図182により説明する。
まず図160は、ACTIONチェックテーブルと一致チェックテーブルの具体例であり、前記ステップD62、D94等において既に説明した。
次に図161は、はずれ時ACT整合チェックアドレステーブルとACT整合チェックテーブルであり、変動パターン対応図柄判定処理の前記ステップD124において既に説明した。
次に図163は、静止画ROMメンバリストテーブルの具体例であり、ビットマップ追加処理の前記ステップD878等において既に説明した。
次に図164は、動画ROMメンバリストテーブルの具体例であり、動画追加処理の前記ステップD897等において既に説明した。
次に図166及び図167は、予告振分テーブルの具体例であり、変動演出設定処理の前記ステップD272等や乱数抽選処理Aの前記ステップD371等において既に説明した。
次に図168は、図柄変動リストテーブルの具体例であり、リーチなし変動設定処理の前記ステップD315等において既に説明した。
次に図169は、シナリオテーブル(特図1通常変動時)の具体例であり、シナリオ解析処理の前記ステップD586等において既に説明した。
次に図171は、図170に示したモーションテーブルによる表示結果の一例である。
この図に示すように、表示画面41aの左上隅が原点(X座標=0、Y座標=0)となっており、上下方向がY軸方向であるため、表示画面41aの左下隅はX座標=0でY座標=767となっている。また、表示画面41aにおいて左右方向がX軸方向であるため、表示画面41aの右上隅はX座標=1023でY座標=0となっており、表示画面41aの右下隅はX座標=1023でY座標=767となっている。なお、このような座標の具体的数値は一例にすぎない。
また、図172の下側は、各図柄が移動範囲の一番下までスクロールした状態を示している。
各図柄の変動表示としての表示位置の移動(スクロール)は、上述した二つの状態の範囲で行われる。
例えば、現図柄が移動範囲の一番下までくると、次は図柄番号を更新(+1)した状態で移動範囲の序盤の値に戻ることになる。この例でいうと、3つの図柄(図柄番号ではなく、現図柄・前図柄・次図柄で考えた場合)が各々の狭い有効範囲内を繰り返し動いているだけとなっている。上に戻る時に図柄番号が+1されるので(即ち、例えば図柄「1」から図柄「2」へ切り替えられるので)、同一の図柄が画面外上方から画面外下方へスクロールしているように見える。
この手法のメリットとしては、現在制御の中心となっている図柄番号がいくつであるかを判断しやすいと言う点である。上記図172の例では図柄番号「1」が中心であり、前図柄はそれの1つ前の「9」、次図柄は1つ後の「2」であることを相対的に計算できる。座標が上に戻った時は、中心となる図柄は「2」というように制御対象を1つに絞ることができるためシンプルな構造にできる。
これが「現図柄、前図柄、次図柄」という分け方ではなく、同一の図柄を上から下まで動かす手法だと、各々が独立した3つの図柄として存在することになるので、基準となる図柄が存在しないことになり、図柄差し替え時などにおいて制御し難い、全て管理する必要があるなどの問題があるが、本例であればそのような問題が解消される。
なお、上記範囲分けは通常変動時の場合である。リーチ中(リーチアクション中)などは図柄の位置が色々変化したりするのでこの限りではない。但し、リーチ中などでも、現図柄、前図柄、次図柄等の区分けの考え方は残る。
ここで、上記4個のオブジェクトのうち、オブジェクトインデックス0とオブジェクトインデックス1のオブジェクトは、後述する図174においてそれぞれ符号TZ10、TZ11で示す特図1の第4図柄の画像である。また、オブジェクトインデックス2とオブジェクトインデックス3のオブジェクトは、後述する図174においてそれぞれ符号TZ20、TZ21で示す特図2の第4図柄の画像である。
この図174の上段には、画面41aに特図の飾り図柄(左・中・右)としてまず停止態様「2,4,1」が表示されている状態(イ)と、その後この停止態様から変動開始している状態(ロ)(次図柄は「3,5,2」)とが上下に図示されている。そして、いずれの状態でも、画面41aの左下部には、第4図柄の画像TZ10、TZ11、TZ20、TZ21が表示されている。これら第4図柄の画像TZ10、TZ11、TZ20、TZ21は、本例の場合には菱形の画像であり、左側の縦2個の画像TZ10、TZ11が特図1の第4図柄であり、右側の縦2個の画像TZ20、TZ21が特図2の第4図柄である。本例の場合、飾り図柄の左・中・右図柄と第4図柄の2個の画像の色の組合せで、確変図柄か否かを示す。例えば、飾り図柄が「4、4、4」であり第4図柄が「青、青」の場合には通常の大当り、飾り図柄が「4、4、4」であり第4図柄が「青、橙」の場合には確変大当り(大当りの特賞期間後に大当り確率が高められる大当り)、といったように設定されている。また、はずれ時は、本例では第4図柄が「白、白」の1パターンとなっている。
ここで、上記サイクル例では、サイクル中に外れの組合せ「白、白」を入れない構成となっている。これにより、第4図柄の変動の上記サイクルの周期や、第4図柄の組合せの数などが遊技者に容易に分かってしまい興趣が低下する問題が解消される。即ち、色の各種組合せの中で、白を入れると、白は目立つので周期が見えてしまい、分かり難くするための第4図柄なのに、組合せの数などが遊技者に容易に知られてしまう可能性もある。しかし、本例のように白を含まない構成であれば、このような課題が解消される。
但し、上記構成に限定されず、白を入れる構成でもよい。
但し、第4図柄の変動は、上述のように毎回同じ態様から開始される構成に限定されず、前回の停止態様に続く動きをする構成でもよいし、前回の停止図柄から変動を開始する構成でもよい。例えば、図174の下段では、「黄、青」で停止している箇所(左から4番目)があり、この箇所の次の変動を「青、青」から開始しているが、続く動きをするのであれば変動開始は「黄、黄」となるはずであり、最初に前回の図柄を表示するのであれば「黄、青」となるはずであり、そのような構成としてもよい。
以上、左図柄についてのみ説明しているが、右図柄や中図柄、或いは他のオブジェクトについても同様である。
このようにシナリオテーブルは、ブロック化された表示演出を指定するモーションテーブルを自在に複数組み合わせて一連の長大な演出を容易に構成することができる。
次に図176の下段は、モーションテーブル(プッシュボタン予告時)の具体例であり、PB予告用シナリオデータ設定処理のステップD455や、モーションコマンド実行処理の前記ステップD823等において既に説明した。
次に図177は、シナリオテーブル(客待ちデモ時)の具体例であり、シナリオ解析処理の前記ステップD585等や、定数ウェイト処理、繰り返し処理等において既に説明した。
ここでは、エンディングのムービー終了と同時に次の図柄変動がいきなり開始しないようにするため、エンディング期間中に所定時間の図柄表示期間を設けた。この例では、27行目(//26)において定数ウェイトコードを設定し、そのウェイト時間値を30(即ち、1秒間)としている。これにより、20行目(//19)、22行目(//21)、及び24行目(//23)でモーション登録した左・右・中の停止図柄表示が、所定時間(この例では、1秒間)継続し、エンディングのムービー終了と同時に次の図柄変動がいきなり開始しない。
なお、図179の下側に示すモーションテーブル(Mdat0005)は、図169に示したシナリオテーブル(MS_LZ100)の7行目によってモーションインデックス5が設定され、これにより図165のモーション用リストテーブルの6行目(左仮停止)が指定されることによって設定される。
このうち、図180の(a)は閉じている巻物が画面外上方から落下してきて、画面ほぼ中央で静止し、所定時間のウェイトを行う動作aのモーションテーブルである。このモーションテーブルでは、1行目で「巻物閉青」(閉じた巻物)というオブジェクトをオブジェクトインデックス0として登録し、その後このオブジェクトインデックス0に対してフレーム毎に移動1コードを実行して表示位置のY座標の値がフレーム毎に大きくなる方向に変更する構成となっている。また、このモーションテーブルを指定するシナリオテーブル(図示省略)では、例えばこのモーションテーブル実行の次の行に定数ウェイトコードによる所定時間ウェイトを指令する行が設けられている。これにより、動作aの実際の画面表示では、図182の(a)に示すように、閉じた巻物が上方から落下して中央まできて静止して所定時間維持される映像が表示される。本例では、この所定時間のウェイト後に巻物が開放するか、閉じたまま画面下に落下していくかの2択の演出を行うことで遊技者に期待感を抱かせる構成となっている。
なお本例では、図180の(a)及び(b)に示すように、モーションテーブルの1行目で登録する基本のキャラクタは巻物のガワの色が一番信頼度の低い「青」のキャラクタとしている。そして場合によっては、2行目でビヘイビアインデックス0のビヘイビアによりキャラクタ差し替え(この場合、色替え)を行うことで、例えば大当り信頼度に応じた演出を行える構成となっていて、これにより遊技の興趣を向上させている。この巻物の色の振分けは、図166の予告振り分け(C5:巻物色の振分け)により決定され、「緑」又は「金」に差し替えられる場合がある。
このように本実施例では、モーションテーブルは、描画されるキャラクタが状況によって異なる演出の場合でも、同一の動きなら1通りづつしか登録しないようにし、予告演出のモーションテーブルにおいて、基本キャラクタとしてテーブル上に登録するのは、大当り信頼度の最も低いキャラクタ(上記例では、ガワの色が「青」の巻物)とした。この構成によれば、大当り信頼度の最も低いキャラクタを基本キャラとして登録することで、はずれ時も大当り時も共通に出現するキャラクタの可能性が高いことから、変更するための処理を共通にしやすく、効率良く制御を行えるようになり、開発効率も向上する。また、同一の動きなら1通りづつしかモーションテーブルを登録しないので、データ容量の肥大化を防止できる効果もある。
このモーションテーブルでは、1番目の区間(ア)において、まず1行目(コマンド位置k=0;図では「//0」で示す行)で「巻物開青」(開いた巻物)という動画のキャラクタをオブジェクトインデックス0として登録し、その後、このキャラクタの色(巻物のガワの色)を差し替えるビヘイビアコードや、表示位置を設定する移動1コード等を実行する構成となっている。これにより、区間(ア)の実際の画面表示では、図182の(c)の(ア)に示すように、閉じている巻物が左右に広がるアニメーション表示が実行される。なお、開ききったところで所定時間のウェイトを行う構成となっている。また、区間(ア)の時点では、巻物には何も書かれておらず白地となっているように構成されている。
具体的には、パチンコ機1の遊技中に、遊技球が特図の始動入賞口25又は26に入賞すると(即ち、特図の始動入賞があると)、特図の変動演出を指令するコマンドが遊技制御装置100から演出制御装置300に送信され、表示部41aにおいて特図(表示装置41での演出は飾り特図のことであるが、煩雑になるので、断りのない限り適宜、特図という)の変動表示が行われ、変動表示ゲームの停止結果態様が特別結果態様になれば大当りが発生し、はずれの場合には、はずれ図柄で停止する。
ここで、遊技制御装置100から演出制御装置300へ送信されるコマンドのうち、単独では演出を開始せず、組で効果を発揮するものがあるが、それは例えば特図変動開始時の「停止図柄コマンド+変動パターンコマンド」などである。実施例1では、停止図柄コマンド→変動パターンコマンドの順で送られてくる構成であるため、上記のように「停止図柄コマンド+変動パターンコマンド」という順の組み合せになる。
なお、「停止図柄コマンド」は「図柄指定コマンド」とも呼ぶことがあり、また、以下の説明では、「図柄指定コマンド」を適宜、「図柄コマンド」と短く表記して記述することがある。
なお、停止図柄コマンド及び変動パターンコマンドは、組で効果を発揮する第1コマンドと第2コマンドにそれぞれ相当する。
また、図柄の変動中に始動口SWがONして始動記憶が発生すると、特図保留数=「1」を示す情報が表示装置41の画面に表示されるとともに、先読みコマンドや特図保留数コマンドが遊技制御装置100から演出制御装置300へ送信される。
複数で組となるコマンド(例えば、「停止図柄コマンド+変動パターンコマンド」)の受信が正常であれば、すなわち、先に送られる停止図柄コマンドと、後で送られる変動パターンコマンドとを正常に受信すると、組となるコマンドが成立したと判断して、組となるコマンドに基づいて演出制御装置300により表示装置41にて図柄変動の演出が行われる。
組となるコマンドには、以下のようなものがあり、演出毎に区分して説明する。
(1)図柄変動
変動開始時に送信されるもので、「停止図柄コマンド」+「変動パターンコマンド」で組が成立する。「停止図柄コマンド」は、適宜、図柄コマンドと短く表記する。
(2)大当り中演出
これには、演出区間に合わせて、「演出画面コマンド」+「大当り図柄コマンド」で組が成立する。
また、演出画面コマンドには、以下のものがある。
(イ)ファンファーレ開始時=ファンファーレコマンド
(ロ)各ラウンドの開始時=ラウンド数に対応するラウンドコマンド
(ハ)インターバル開始時=インターバルコマンド
(ニ)エンディング開始時=エンディングコマンド
なお、「停止図柄コマンド」=「大当り図柄コマンド」の場合もある。
ここで、組となる複数のコマンドで効果を発揮するものは、上記のように、「停止図柄コマンド」+「変動パターンコマンド」の2つのコマンドの組み合わせであるが、これに限らず、例えばコマンドを3つ以上組み合わせた形態で効果を発揮するものであっても、本発明を適用できる。
「停止コマンド」は変動中などの図柄を停止させる指示を行うコマンドであるが、これは単独コマンドであり、組は構成しないものである。
なお、以下の説明で、「モーションデータ」とは、モーションテーブルのデータ(表示する画像データやその表示位置等を指定するデータ)を意味し、前述の「モーション制御データ」とは異なる。
複数のレイヤ(シナリオレイヤー)では、例えば背景、左図柄、右図柄、・・・と個別に各表示要素毎にカテゴリ分けが行われ、各々を独立して複数のモーション情報を同時にあるいは連続的に切り替えて演出表示させるための動作シナリオのテーブルとして設定される。
まず、図183(a)は表示構成要素を示しており、ここでは以下のような要素に分けられている。
・背景
・左図柄
・右図柄
・中図柄
・予告キャラ(予告キャラクタであるが、予告キャラと略称している)
・プッシュボタンキャラ
(遊技者が操作する押ボタン式の演出ボタン9を押して出現するキャラクタであるが、プッシュボタンキャラと略称している)
・保留表示
・第4図柄
上記表示構成要素のうち、背景は表示装置41の画面上、最も奥に表示される表示要素であり、以下、左図柄、右図柄、・・・・・・・・第4図柄という順序で画面の手前側に表示される表示要素となるように配置される。よって、第4図柄が画面上、最も手前側に表示される表示要素となる。
図184(a)はシナリオテーブルを示すもので、ここでは下記のような要素に分けられて作成されている。
・背景制御のシナリオテーブル
・左図柄制御のシナリオテーブル
・右図柄制御のシナリオテーブル
・中図柄制御のシナリオテーブル
・予告キャラ制御のシナリオテーブル
・プッシュボタンキャラ制御のシナリオテーブル
・保留表示制御のシナリオテーブル
・第4図柄制御のシナリオテーブル
次に、図183(b)はシナリオテーブルを用いて画面制御を行った場合における表示装置41の演出の表示画面の一例を示す図であり、これは複数のレイヤを奥側(背景レイヤ)から前側に向かって順次重ねて1つの表示画面が作成されたものである。
図183(b)において、701は背景、702は左図柄、703は右図柄、704は中図柄、705は予告キャラ、プッシュボタンキャラは図示略、707は保留表示、708は第4図柄を示し、各表示構成要素はそれぞれがレイヤ上に表示されている。
このような演出制御では、演出画面を生成するに際して、演出画面の表示構成要素に対応する複数のレイヤ(シナリオレイヤー)に分けてテーブルとして予め設定しておき、次いで、それらを個別にシナリオとして制御し、全てのシナリオをレイヤの形式で合成することで、1画面の絵が生成され、表示装置41の演出画面として表示されて図柄(特図)の変動演出が行われる。
一方、表示画面の下方には特図の保留表示が行われており、ここでは4個の保留状態が表示されている。なお、この保留表示は特図1についての例である。
なお、プッシュボタンキャラは図示を略しているが、これは演出中に遊技者が操作する押ボタン式の演出ボタン9を押した場合に、出現するキャラクタであり、その場合は奥側から6番目のレイヤにプッシュボタンキャラが表示されることになる。
したがって、上記構成によれば、最小限の動作パターンを定義する(動作のパーツ化)だけで済み、データ容量の節約と開発の効率化ができるという効果が得られる。
遊技の進行を制御する遊技制御装置と、
前記遊技制御装置からのコマンドに基づいて表示手段を含む演出手段を制御して演出を行うことが可能な演出制御装置を備えた遊技機において、
前記演出制御装置は、
表示手段に表示する画面の描画制御における表示要素毎にシナリオデータを設定するシナリオデータ設定手段と、
遊技制御装置からのコマンドに応じて、予め設定されたシナリオデータを表示要素毎に選択して合成し、1画面の描画内容を作成する画面作成手段と、
を備えていることを特徴とする遊技機。
ここで、PROM(制御ROM)321はシナリオデータ設定手段を構成し、VDP312は画面作成手段を構成する。
従来の遊技機、例えば特開2005−13477号公報に開示されたものでは、背景、図柄、予告キャラクタ等の表示要素についてそれぞれ異なる動画像データを複数持ち、遊技状態や遊技結果に対応して、当該表示要素毎に設けられる複数の動画像データを選択してそれらを合成して一つの変動表示ゲームを構成するようにしている。
しかしながら、表示装置における図柄の変動演出では、例えば変動出だしの動き、スローダウンして仮停止するまでの動き(送りコマ数やスベリなど)、予告演出の種類など、変動毎に行われる演出振り分けによって多様な組合せとなるため、全ての組合せに対して1つ1つの画面毎にシナリオデータ(例えば、異なる動画像データ)を作成すると膨大なデータ量となってしまう。
そこで本実施例では、演出制御装置300における特図の変動演出における描画制御では、背景、左図柄、右図柄、・・・と個別に各表示要素毎にカテゴリ分けを行い、各々を独立して複数のモーション情報を同時にあるいは連続的に切り替えて演出表示させるための動作シナリオのテーブルを各表示要素毎に設定して、例えば(PROM(制御ROM)321に予め格納しておく。次いで、遊技制御装置100からの演出コマンドに応じて演出制御装置300ではシナリオテーブルを選択し、組み合わせて合成することで、1画面の描画内容(1フレーム毎)を作り出すことが行われる。そうすることで、最小限の動作パターンを定義する(動作のパーツ化)だけで済み、データ容量の節約と開発の効率化ができる。
特に、多様な組合せの演出を行う時には、表示要素毎に独立したシナリオ管理を行うようにしているので、組合せ分のシナリオテーブルを設けなくてよくなり、データ容量を削減できる上、開発工数も少なくできる。(作るテーブル数が少ないからである)。
これに対して本実施例では、各表示構成要素に対応した各々のシナリオテーブルを設けているので、特図変動演出の際に表示構成要素がモードや乱数振り分け等で色々な動き方や表示されるキャラクタ等が異なったとしても、演出の制御が容易で、かつ開発効率も良くなる。
演出制御装置300のフローチャートでは、以下が対応している。
・シナリオデータ設定処理:図110
・客待ち用シナリオデータ設定処理(客待ちデモ演出の場合):図109
・PB予告用シナリオデータ設定処理:図123
・シナリオ設定処理:図129
・シナリオ解析処理:図130、図131
・モーション登録処理:図132
・変動シナリオ切替処理:図139
・モーション制御処理:図141
・演出表示編集処理:図151、図152、図153
・描画コマンド準備終了処理:メイン処理(図98)のステップD32
・VDP割込み処理:図157
・Vブランク開始割込み処理:図158
また、シナリオテ−ブルはPROM(制御ROM)321に格納されている。すなわち、特図変動演出を行うに際して、表示キャラクタの描画制御のモーション情報を複数ある中から選択し、演出の流れに沿って、その選択したモーション情報を順次並べてテ−ブル状に定義したシナリオテ−ブルを予め作成してPROM(制御ROM)321に格納している。そして、上記シナリオテ−ブルは各種演出内容や表示構成要素(背景、左図柄、右図柄、・・・・・第4図柄)ごとに多数定義されており、演出制御装置300では遊技制御装置100からのコマンドに対応したシナリオテ−ブルを選択して演出が行われる。
図184(a)に示すシナリオテーブルは通常遊技状態のシナリオテーブルであり、いわゆる客待ち画面におけるデモ表示の場合には、通常遊技状態と異なり、図184(b)に示すようになっている。
すなわち、図184(b)に示す客待ちデモにおけるシナリオテーブルは、図184(a)に示す変動演出におけるシナリオテーブルと異なり、1つのテーブルの中に背景制御のシナリオテーブルから第4図柄制御のシナリオテーブルまでの各表示構成要素のモーション情報が統括制御されるように登録された構成になっている。したがって、客待ちデモにおけるシナリオテーブルは、客待ちデモ演出に特化した1つの統括制御のシナリオテ−ブルという形態である。
なお、客待ちデモ演出の他に、大当り演出や、ユーザーの遊技履歴・遊技機のカスタマイズ画面なども乱数によるランダム性が少ないので、図184(b)に示すような1つの統括制御のシナリオテ−ブルという形態で構成される。
そのため、本実施例では演出の表示構成要素ごとではなく、1つの統括制御のシナリオテ−ブルという形態とし、1つのテーブルの中に背景制御のシナリオテーブルから第4図柄制御のシナリオテーブルまでの各表示構成要素のモーション情報を統括制御するように登録された構成とすることで、開発効率が上がり、かつデータ容量も減らすことができるという効果がある。
すなわち、変化の少ない演出においては、1つのシナリオ(少ない数のシナリオ)テーブル内に全表示構成要素を登録するようにしたことで、画面描画内容を開発者がイメージし易くし、開発効率の向上と、データ容量の削減を見込めるようになる。
すなわち、客待ちデモ演出のように変化の少ない演出においては、1つのシナリオテ−ブル内に全表示構成要素を登録するようにした方が、表示装置41における演出画面内の表示内容がイメージし易い(開発者にとってイメージし易い)ので、開発効率が上がり、データ容量も減らすことができるようになる。
なお、上記の客待ちデモ演出では1つのシナリオテ−ブルを設定しているが、必ずしも、1つということではなく、少ない数のシナリオテーブルでも可能であり、例えば2つのシナリオテ−ブルを設定する構成でもよい。通常遊技状態の場合の変動演出では8つのシナリオテーブルを使用しているので、少なくと、それよりも少ない数のシナリオテ−ブルであれば、相応の効果がある。
表示装置41における特図変動演出では、遊技ゲームの状況(モードや乱数振り分け等)に応じてキャラクタ等が多彩に変化するので、背景、左図柄、右図柄、予告キャラ、・・・・等、各表示構成要素別にシナリオテ−ブルを別々に設定し、それらを組み合せなくてはならないので、開発者にとっても演出の表示内容をイメージしにくいが、それで仕方がないところがある。
一方、客待ちデモ演出も特図変動演出と同様に表示構成要素別に分けてシナリオテ−ブルを構成することも可能であるが、演出の表示内容をイメージしにくいという点は、解消困難である。
そこで本実施例では、客待ちデモ演出では演出の流れが規定されており、変化の少ない演出内容であることに着目し、客待ちデモ演出のモーション情報を効率良く選択するためのテ−ブル構成を検討した結果、複数のシナリオテ−ブルではなく、1つのシナリオテ−ブル内に全表示構成要素を登録することで、演出内容をイメージし易くしたものであり、その結果、開発効率の向上と、データ容量の削減を達成したものである。
演出制御装置は、
表示手段に表示する画面の描画制御における1つのシナリオデータを設定するシナリオデータ設定手段と、
予め設定された1つのシナリオデータに基づいて1画面の描画内容を作成する画面作成手段と、
を備えていることを特徴とする遊技機。
ここで、PROM(制御ROM)321はシナリオデータ設定手段を構成し、VDP312は画面作成手段を構成する。
本実施例では、表示装置41に表示する画面の描画制御における表示要素毎にシナリオデータを設定しているが、その中で演出ボタン9の演出に関するシナリオテ−ブルには、演出ボタン9の有効期間を計数するタイマが設けられている。そして、演出ボタン9が押されたタイミングにより、上記タイマ値の更新状況により、以降に行われるシナリオの演出時間が可変となるような制御が行われる。
図185(a)は演出ボタン9の演出に関するシナリオテ−ブルを用いた動作状況を示している。図185(a)に示すように、演出ボタン9(PB)の有効期間は90フレームに設定されている。なお、ここでの90フレームは演出ボタン9の有効期間を計数するタイマの初期値に相当している。1フレームは例えば、約33msecである。
そして、図185(a)に示すシナリオテーブルにおいて、1〜4行目(テーブル右側に図示したインデックス番号が0〜3)は共通部であり、5〜6行目(インデックス番号が4〜5)は演出ボタン9が押されなかった場合の動作部であり、7〜15行目(インデックス番号が6〜14)は演出ボタン9が押された場合の動作部であり、そのときの動作状況をシナリオテーブルの右側方にて説明している。
PB演出では、90フレームから1フレームが経過する毎に1フレームが減算されて更新(つまり、(−1)更新)されていく(この更新処理がタイマに相当している)。
演出ボタン9が押されなかった場合の動作は、図185(a)に示すシナリオテーブルの5〜6行目(インデックス番号が4〜5)に従って行われる。
一方、タイマが「0」になる前に演出ボタン9が押されると、押された時点で演出が開始され、その演出期間は「残り時間」(つまり残りフレームに相当する時間)+「固定時間」となる。ここで、上記「残り時間」をαフレームとすると、「固定時間」は55フレームとして設定される。
図185(a)に示すシナリオテーブルでは、上記演出期間を「可変ウェイト」して表しており、「可変ウェイト」=55+α(単位:フレーム)がフレーム待機によるPB操作の時間調整の制御になっている。
この様子は、図185(b)及び図185(c)に示される。つまり、表示装置41の画面に図185(b)に示すようなPB(演出ボタン9)を押すことを促す表示がされたとき、遊技者が演出ボタン9を押すと、図185(c)に示すように武将Bが登場し、セリフ(図示略)を語る予告演出が行われる。
このケースは、タイマが「0」になる前に演出ボタン9が押された場合に相当するので、演出ボタン9の操作が無効とならず、演出ボタン9が押された時点で演出が開始され、その演出期間は「残り時間」(つまりαフレーム)+「固定時間」(55フレーム)となる。
このように、演出ボタン9が押された時に残っている有効時間のタイマ(「残り時間」:αフレーム)を固定演出時間(55フレーム)に加算して、演出時間を可変になるようにしている。したがって、早く演出ボタン9を押すと残り時間(αフレーム)に応じて長い予告演出(残り時間+固定時間)が見られ、終了ギリギリで演出ボタン9を押すと、最低限である固定時間分の予告演出が行われることになる。
その結果、早く演出ボタン9を押す程、長い予告演出が見られるようになるので、遊技者にとっても早く演出ボタン9を押すことはメリットとなり、遊技の興趣を高めることができる。
遊技の進行を制御する遊技制御装置と、
前記遊技制御装置からのコマンドに基づいて表示手段を含む演出手段を制御して演出を行うことが可能な演出制御装置を備えた遊技機において、
前記演出制御装置は、
表示手段に表示する画面の描画制御における表示要素毎にシナリオデータを設定するとともに、演出ボタンの演出に関するシナリオテ−ブルには、ボタン有効期間を計数するタイマを設けたシナリオデータ設定手段と、
演出ボタンが押されたタイミングにより、ボタン有効期間を計数するタイマの更新状況に基づいて以降に行われるシナリオの演出時間が可変となるように制御する演出ボタン制御手段と、
を備えたことを特徴とする遊技機。
ここで、PROM(制御ROM)321はシナリオデータ設定手段を構成し、主制御用マイコン(1stCPU)311は演出ボタン制御手段を構成する。
従来の遊技機、例えば特開2008−154896号公報に開示されたものでは、演出ボタンの操作有効期間中に遊技者による演出ボタンの操作があると、予め設定されているウェイト時間(演出表示開始から終了までの時間値)に亘り演出表示を行う。
しかしながら、ここでのウェイト時間はあくまでも固定値であり、演出ボタンの操作タイミングにより可変するものではない。よって、演出ボタンの操作タイミングに応じて遊技の興趣を高めるような演出は困難である。
例えば、演出ボタンが押された時に行われる演出の時間が固定であると、早く演出ボタンを押した場合には早いタイミングで演出が終わってしまい、次の段階の予告演出との繋がりが上手くいかないという欠点がある。
具体的には、演出ボタンを押すタイミングにより次の段階の予告演出との間が空きすぎていたり、あるいは狭すぎたりすると、効果的な連続演出としにくいという問題が発生してしまう。
すなわち、演出ボタン9が押された時に残っている有効時間のタイマ(「残り時間」:αフレーム)を固定演出時間(55フレーム)に加算して、演出時間を可変になるようにしている。したがって、早く演出ボタン9を押すと残り時間(αフレーム)に応じて長い予告演出(残り時間+固定時間)が見られ、終了ギリギリで演出ボタン9を押すと、最低限である固定時間分の予告演出が行われる。
本実施例によると、演出ボタン9を押した時に行われる演出の終了タイミングが一定になるので、次の段階の予告演出とスムーズに繋げやすくなり、演出効果が向上する。
特に、PB演出と次の段階の演出の間が一定となるので、遊技者に見せたい演出のシナリオの流れ・タイミング等を計算し易くなり、演出効果の向上とともに、開発の効率向上も見込める効果が得られる。
また、早く演出ボタン9を押す程長い演出が見られるようになるので、遊技者にとっても演出ボタン9を早く押すことはメリットとなり、遊技の興趣を高めることができる。
演出制御装置300のフローチャートでは、シナリオテ−ブルに関する処理は前述した表示要素毎に独立したシナリオ管理を行う場合と同様であり、その他に特に、以下が対応している。
・シナリオ解析処理:図130、図131のステップD579
・可変ウェイト処理:図135のステップD696
・PB待ち処理:図136
・PB判定分岐処理:図136
演出ボタン制御手段は、
演出ボタンが予告演出の早いタイミングで押されると、演出の残り時間に応じて長い予告演出を演出し、予告演出の終了に近いタイミングで演出ボタンが押されると、少なくとも最低限である固定時間分の予告演出を行うように制御することを特徴とする遊技機。
ここで、主制御用マイコン(1stCPU)311は演出ボタン制御手段を構成する。
演出ボタン制御手段は、
予告演出に対して演出ボタンが押されたとき、残存する演出有効時間の値を所定の固定演出時間に加算して、演出ボタンに関する予告演出時間を可変することを特徴とする遊技機。
ここで、主制御用マイコン(1stCPU)311は演出ボタン制御手段を構成する。
本実施例は、以下のような変形例であってもよい。
(1)実施例1では、演出ボタン9が押されたタイミングによりシナリオの演出時間が可変となる制御を行うようにしているが、これに限るものではない。
例えば、演出ボタン9を早く押さないと、最後まで見られないような予告演出を行う構成としてもよい。
この構成では、演出ボタンを押すとムービー演出が始まり、演出時間が終了すると、ムービーもそこで終了してしまうことになる。すなわち、遊技者は最後まで予告演出を見たければ、早く演出ボタンを押す必要があるような演出となる。
ただし、「演出ボタン押しを促す表示」が出てから最速で押すのはほぼ無理なので、ある程度の猶予時間は設けるものとする。
このような構成にすると、遊技者に積極的に予告演出のゲームに参加する意欲を持たせることができる。
本実施例では、表示装置41に表示する画面の描画制御における表示要素毎にシナリオデータを設定したシナリオテ−ブルを設けているが、その中でシナリオテ−ブル内には現在の演出状態を継続するか否かを判定する判定コードを設け、演出制御装置300におけるRAM311a内のモーション情報とシナリオテ−ブル上のモーション情報とが異なる場合には、演出内容としてシナリオテ−ブル上のモーション情報を設定し、同じ場合には演出内容としてシナリオテ−ブル上のモーション情報を設定しないような制御が行われる。
客待ちデモ演出を行う場合には、図177に示すシナリオテーブルの各データの進行順で表示装置41における演出内容が実現されていく。
客待ちデモ演出の過程では、図177に示すように、8番目のシナリオデータに現在の演出状態を継続するか否かを判定(背景継続判定)するモーション継続コード(判定コード)が設定されており、このモーション継続コードをRAM311a内のモーション情報と比較することで、演出画面の背景を継続表示するか、あるいは新規背景で演出を行うかを決定している。
(a)新規背景で演出を行うケース
このケースとしては、例えば通常の特図変動が終了して一定期間が経過し、客待ちデモ演出に移る場合がある。
すなわち、遊技球が特図の始動入賞口25又は26に入賞すると(即ち、特図の始動入賞があると)、特図の変動演出を指令するコマンドが遊技制御装置100から演出制御装置300に送信され、表示装置41で特図(飾り特図)による変動表示ゲームが実行される。変動表示ゲームの停止結果態様が特別結果態様になれば大当りが発生し、はずれの場合には、はずれ図柄で停止する。
ここでは、まず、演出制御装置300におけるRAM311aの記憶されている現在のモーション情報と図177に示すシナリオテ−ブル上のモーション情報とを比較して、モーション継続コードによる判定が行われる。
モーション継続コードによる判定は図134のフローチャート(モーション継続処理)によって実行される。この継続コードの場合の処理としては、例えば背景なら、現在表示を行っている背景のモーション制御領域のモーション情報がオペランドの番号の値と同じものであれば(指示された動作が既に実行しているものであれば)、背景を変えることなく終了し、異なる値であればオペランドで指示された番号の背景に切り替える設定を行う。
RAM311aに記憶されている現在のモーション情報は特図変動のシナリオテ−ブルのものであるが、特図がはずれ図柄で停止し、その後、一定期間が経過しているので、現在のモーション情報を図177に示すシナリオテ−ブルのモーション継続コード(判定コード)と比較することになる。そうすると、両者は異なるので、図177に示すシナリオテ−ブル上のオペランドで指示された番号の背景(新規背景)に切り替える設定が行われることになる。新規背景はNo.12に対応するモーション情報を設定することになる。これにより、表示装置41にはNo.12のモーション情報に対応する新規背景が表示されて、客待ちデモ演出が行われる。
このケースとしては、例えば客待ちデモ演出が続行する場合がある。
台(遊技機)に客がつかず、空き台の場合には客待ちデモ演出が続行することになる。この場合には、客待ちデモ演出に対応する図177に示すシナリオテ−ブルが続けて使用される。
ケース(a)と同様に、モーション継続コードによる判定は図134のフローチャート(モーション継続処理)によって実行されるが、この継続コードの場合の処理としては、現在表示を行っている背景のモーション制御領域のモーション情報がオペランドの番号の値と同じものであれば(指示された動作が既に実行しているものであれば)、背景を変えることなく終了する。
すなわち、RAM311aに記憶されている現在のモーション情報とシナリオテ−ブル(図177)上のモーション情報とが同じになり、演出内容としてシナリオテ−ブル上のモーション情報を設定しないような制御が行われる。
これにより、両者のモーション情報であるから、何事もなかったように動作継続を行うことになり、同じ背景の客待ちデモ演出が継続する。なお、このように背景の動作継続が行われるので、図177に示すシナリオテ−ブルでは該当箇所のシナリオデータを「モーション継続コード」としている。
このようにすることで、前回の演出における背景の状態が次回の演出にも継続できることになり、例えば異なる特図変動の演出間においても統一感を有する表示要素を持たせることが可能になって、遊技の興趣が向上する。
例えば、予告キャラクタを複数の異なる特図変動の演出間にまたがって表示装置41の画面上に残す等の多彩な演出を行うことができる。
また、演出内容を継続する場合としない場合とでシナリオテ−ブルを使い分ける必要がなく、開発効率が向上する。すなわち、1つのシナリオテ−ブルで遊技の状況に合わせた演出が行える。
遊技の進行を制御する遊技制御装置と、
前記遊技制御装置からのコマンドに基づいて表示手段を含む演出手段を制御して演出を行うことが可能な演出制御装置を備えた遊技機において、
前記演出制御装置は、
表示手段に表示する画面の描画制御における表示要素毎にシナリオデータを設定するとともに、シナリオテ−ブルには現在の演出状態を継続するか否かを判定する判定コードを設けたシナリオデータ設定手段と、
前記判定コードに基づいて現在のモーション情報と前記シナリオテ−ブル上のモーション情報とが異なると判定した場合には、演出内容としてシナリオテ−ブル上のモーション情報を設定し、同じと判定した場合には演出内容としてシナリオテ−ブル上のモーション情報を設定しないように制御する演出内容制御手段と、
を備えたことを特徴とする遊技機。
ここで、PROM(制御ROM)321はシナリオデータ設定手段を構成し、主制御用マイコン(1stCPU)311は演出内容制御手段を構成する。
従来の遊技機、例えば特開2005−211583号公報に開示されたものでは、客待ちデモコマンドを受信すると、サブ基板(演出制御装置)側で所定時間に亘りデモ演出表示を行い、当該演出時間が継続すると、その都度新たにデモ演出表示データを設定する構成になっている。
しかしながら、上記の客待ちデモ演出のときに、その演出時間が継続(客待ちデモの演出が継続)する条件の場合には、前回の演出時間が終了する度に、次回に再度新たにデモ演出表示データを設定する構成であるため、制御が複雑になり、開発効率も低下していた。
また、従来の遊技機にあっては、特図変動毎に背景演出が始めから行われており、せわしない印象を与えていた。すなわち、次回の演出に移行する度に、前回の演出をリセットするため、せわしない演出となることが多く、落ち着きがなく、統一感もなくなるおそれがあった。そのため、遊技の興趣も低下する傾向にあった。さらに、多彩な演出を行うことも困難であった。
ただし、常に背景演出を継続させるわけではなく、例えば前回の特図変動がリーチ演出を行っていた場合に、その後、通常変動に移行するなどのときには、単に背景演出を継続させると、次回の背景がリーチ時のものになっているため、背景を通常変動のものに切り替える必要がある場合もある。
すなわち、判定コード(モーション継続コード)が継続判定コードであった場合には、要求されている表示内容(シナリオテーブル上の指示データ)と現在を行っている演出の表示内容(RAM311a内の制御データ)が同じであれば、現在の表示内容のままとし(シナリオテーブルから取得した指示データは破棄)、異なっていればシナリオテーブル上の指示データをRAM311aに上書きし(なお、新しい演出を開始するのでタイマやテーブルポインタ等の初期設定を含む)、新たな演出を開始できるようにする。
具体的には、シナリオテーブル中には継続判定を行うコードが設定されている箇所がある。例えば、図柄変動のシナリオテーブルにおける背景ムービー設定のところなどがある。
すなわち、特図変動毎に背景演出を始めから行う必要がなくなり、せわしない印象を与えることがなくなる。例えば次回の演出に移行する度に、前回の演出をリセットする必要がなく、せわしない演出となることもなくなる。また、演出に落ち着きがなく、統一感もなくなるというおそれが解消され、遊技の興趣も向上できる。多彩な演出を行うことも可能になる。
なお、客待ちデモ演出の開始時における背景設定についても、上記同様の効果がある。
。
また、演出内容を継続する場合としない場合とでシナリオテーブルを使い分ける必要がなく、開発効率が向上する。すなわち、1つのシナリオテーブルで遊技の状況に合わせた演出が行えるようになる。
演出制御装置300のフローチャート及びデータでは、シナリオテ−ブルに関する処理は前述した表示要素毎に独立したシナリオ管理を行う場合と同様であり、その他に特に、以下が対応している。
・シナリオ解析処理:図130、図131
・モーション継続処理:図134
・客待ちデモのシナリオテ−ブル:図177
・特図変動のシナリオテ−ブル:図169
演出内容制御手段は、
シナリオテ−ブルが客待ちデモ演出であるとき、前記判定コードに基づいて現在のモーション情報と前記シナリオテ−ブル上のモーション情報とが同じと判定した場合には、演出内容としてシナリオテ−ブル上のモーション情報を設定しないように制御し、背景演出を継続させることを特徴とする遊技機。
本実施例は、以下のような変形例であってもよい。
(1)演出画面の背景だけでなく、予告キャラクタ等を次の図柄変動に跨いで画面上に残すような演出を行う制御にしてもよい。
このようにすると、複数の変動演出を跨いで予告キャラクタ等を連続させて出現させる演出を行えるようになり、遊技の興趣を高めることができる。
上記構成の発明概念は、下記のように表される。
演出内容制御手段は、
シナリオテ−ブルが予告キャラクタの演出を含むものであるとき、前記判定コードに基づいて現在のモーション情報と前記シナリオテ−ブル上のモーション情報とが同じと判定した場合には、演出内容としてシナリオテ−ブル上のモーション情報を設定しないように制御し、予告キャラクタを次の特図変動に跨いで画面上に残すような演出を行うことを特徴とする遊技機。
(1)固有IDの外部出力については、以下の動作が行われ、下記の効果がある。
パチンコ機1の電源投入時やシステムリセット時には、遊技用マイコン101に格納(例えば、HWパラメータROMに格納)されている固有ID(適宜、主固有IDという)が読み出されて、遊技プログラムの動作によりシリアル通信形式(又はパラレル通信形式でもよい)にされて、外部情報端子板55で中継されて外部の管理装置140(又はカードユニット551を含めてもよい)に伝送される。これにより、遊技用マイコン101に格納されている固有IDを遊技店側に送ることが可能になる。
また、固有IDは外部からの要求に応答して外部(ここでは図4の検査装置接続端子102)へと転送される。そして、例えば検査装置接続端子102に検査装置を接続することにより、遊技用マイコン101に格納されている固有IDが検査機関にて読み出される。
一方、払出制御装置200の払出用マイコン201を識別可能な払出固有ID(払出個体識別情報)は、払出制御装置200にて払出プログラムの動作によりシリアル通信形式(又はパラレル通信形式でもよい)にされて、外部情報端子板55で中継されて外部の管理装置140(又はカードユニット551を含めてもよい)に伝送される。これにより、払出用マイコン201に格納されている払出固有IDを遊技店側に送ることが可能になる。
また、本実施例のように、機種毎に作成されるとともに演算処理装置に書き込まれる遊技プログラムに、この固有IDを出力する機能を備えることにより、遊技プログラムの変更によって固有IDの出力形態や出力タイミング等の改善や変更が安価で迅速に行うことができる。
さらに、払出制御装置200の払出用マイコン201を識別可能な払出固有ID(払出個体識別情報)を外部(例えば、管理装置140)に出力して正当性を判定する構成であると、払出制御装置200に対するセキュリティーが向上するという効果がある。
遊技制御装置を個別に識別可能な主基板固有識別情報を外部に出力する主基板固有識別情報出力手段と、
払出制御装置を個別に識別可能な払出基板固有識別情報を外部に出力する払出基板固有識別情報出力手段と、
を備えていることを特徴とする遊技機。
ここで、遊技制御装置100は主基板固有識別情報出力手段を構成し、払出制御装置200は払出基板固有識別情報出力手段を構成する。
実施例2は、特図が複数(特図1、特図2)あり、そのうちの一方の特図2が優先変動する場合の制御例である。
図186は特図2が優先変動する場合のシナリオの構成及び表示画面の一例を示す図である。
実施例2においても、複数の表示構成要素毎に分けられて変動演出におけるシナリオテーブルが作成される。
図186(a)はシナリオテーブルを示すもので、ここでは下記のような要素に分けられて作成されている。
なお、表示構成要素が背景の場合、「背景制御のシナリオテーブル」が正式名称であるが、長くなるので、説明の都合上、「背景シナリオ」と略称して説明することとし、かつ図面上も略称している。
・背景シナリオ
・左図柄シナリオ
・右図柄シナリオ
・中図柄シナリオ
・予告キャラシナリオ
・プッシュボタンキャラシナリオ
・特図1保留表示シナリオ
・特図2留表示シナリオ
・第4図柄シナリオ
実施例2では、特図が複数(特図1、特図2)あることに対応して、特図1保留表示シナリオ及び特図2保留表示シナリオが設けられている。特図1保留と特図2保留表示とは別扱いであり、表示装置41での各々の表示されるエリアが決まっている。また、特図2を優先変動する制御が行われる構成となっている。
次に、図186(b)はシナリオテーブルを用いて画面制御を行った場合における表示装置41の演出の表示画面の一例を示す図であり、これは複数のレイヤを奥側(背景レイヤ)から前側に向かって順次重ねて1つの表示画面が作成されたものである。
図186(b)において、801は背景、802は左図柄、803は右図柄、804は中図柄、805は予告キャラ、プッシュボタンキャラは図示略、807は特図1保留表示、808は特図2保留表示、809は第4図柄を示し、各表示構成要素はそれぞれがレイヤ上に表示されている(プッシュボタンキャラは図示を略している)。
このような演出制御では、実施例2においても実施例1と同様に、演出画面を生成するに際して、演出画面の表示構成要素に対応する複数のレイヤ(シナリオレイヤー)に分けてテーブルとして予め設定しておくが、このとき、特図が複数(特図1、特図2)あることに対応して特図1保留表示シナリオと特図2留表示シナリオとに分けて予め設定しておく。次いで、特図保留表示に際しては、特図1及び特図2を個別にシナリオに基づいて制御し、全てのシナリオをレイヤの形式で合成することで、1画面の絵が生成され、表示装置41の演出画面として表示されて図柄(特図)の変動演出が行われるが、実施例2では特図2が優先変動するような制御が行われる。
一方、表示画面の下方には複数の特図の保留表示が行われており、ここでは特図1保留807と、特図2保留表示808が共に4個の保留状態として表示されている。実施例2では特図2が優先変動するので、特図2保留表示808の方から先に保留が消化されていく。
すなわち、複数の特図があるときに何れかの特図を優先変動させる場合には、各特図を別々のシナリオとし、特図1と特図2で4個ずつに分けた保留表示を表示装置41にて行うので、優先変動の制御がシナリオに沿って行われ、取り扱いが簡単になる。言い換えれば、特図1保留と特図2保留と機能別に分けたシナリオ管理となり、特図変動の仕様に合わせた管理方法として開発効率が向上する。
演出制御装置は、
複数の特図保留を表示手段に表示し、何れかの特図を優先変動する制御を行う場合、複数の特図の保留表示毎にシナリオデータを設定するシナリオデータ設定手段と、
予め設定されたシナリオデータのうち、優先変動する特図のシナリオデータの方を優先して特図保留の描画内容を作成する画面作成手段と、
を備えていることを特徴とする遊技機。
ここで、PROM(制御ROM)321はシナリオデータ設定手段を構成し、VDP312は画面作成手段を構成する。
実施例3は、特図が複数(特図1、特図2)あるものの、何れの特図も優先変動しない場合の制御例である。
図187は複数の特図(特図1、特図2)のうちの何れの特図も優先変動しない場合のシナリオの構成及び表示画面の一例を示す図である。
実施例3においては実施例2と異なり、複数の特図(特図1、特図2)であっても各保留描画を同一の表示構成要素(特図1、特図2)として制御することが行われる。
図187(a)はシナリオテーブルを示すもので、ここでは複数の特図(特図1、特図2)に対応して1つの特図保留表示シナリオが配置されており、その他のシナリオは実施例2と同様であり、詳細な説明は略す。
実施例3では、特図が複数(特図1、特図2)であっても、1つの特図保留表示シナリオが設けられているだけである。特図1保留と特図2保留表示とは同じ扱いであり、表示装置41での表示されるエリアは共通である。また、何れの特図も優先変動しない制御(始動口25、26への入賞順で保留表示する制御)を行う構成となっている。
次に、図187(b)はシナリオテーブルを用いて画面制御を行った場合における表示装置41の演出の表示画面の一例を示す図であり、これは複数のレイヤを奥側(背景レイヤ)から前側に向かって順次重ねて1つの表示画面が作成されたものである。
図187(b)において、817は特図保留表示を示し、その他は実施例2と同様であち、各表示構成要素はそれぞれがレイヤ上に表示されている(プッシュボタンキャラは図示を略している)。
そのため、図187(b)に示すように、特図保留表示817においては特図1保留と、特図2保留とが始動口25、26への入賞順で決定された順番で表示されている。ここでは、特図保留表示817のうち、○印は特図1を示し、□印は特図2を示している。
実施例3では、以下の効果がある。
特図が複数(特図1、特図2)のときでも優先変動がない始動口25、26への入賞順で決定された順番で特図保留表示を行う場合、すなわち、特図1と特図2の保留をまとめた8個(最大保留数)の保留表示とする場合には、特図1及び特図2の両者が入り混じった保留表示の描画制御を行うので、同一のシナリオレイヤとして扱うことができ、制御がし易いという効果がある。
すなわち、特図1保留、特図2保留と機能別に分けたシナリオ管理とする必要がなく、単に始動入賞順に特図保留表示を行えばよいので、開発効率が向上する。
演出制御装置は、
複数の特図保留を表示手段に表示し、何れの特図も優先変動しない制御を行う場合、複数の特図の保留表示に対して同一のシナリオデータを設定するシナリオデータ設定手段と、
予め設定されたシナリオデータに基づき、始動入賞順に特図保留の描画内容を作成する画面作成手段と、
を備えていることを特徴とする遊技機。
ここで、PROM(制御ROM)321はシナリオデータ設定手段を構成し、VDP312は画面作成手段を構成する。
本発明は、以下のような変形例であってもよい。
(1)実施例1では客待ちデモ演出に対して1つのシナリオテ−ブルを設定する構成としているが、これに限るものではない。
1つのシナリオテ−ブルを設定するのは、客待ちデモ演出のように演出の流れが規定されており、変化の少ない演出内容になっている場合には、1つの統括制御のシナリオテ−ブルという形態とする方が開発効率が上がり、データ容量も減らせるからである。
演出の流れが規定されており、変化の少ない演出内容の他の例としては、例えば大当り中の演出、RAMクリア報知表示、停電復旧報知表示などがある。これらの演出に対しても、1つの統括制御のシナリオテ−ブルを設定する構成にしてもよい。そのようにすれば、客待ちデモ演出と同様の効果がある。
また、その他に、例えばユーザーの遊技履歴・遊技機のカスタマイズ画面なども乱数によるランダム性が少ないので、このようなカスタマイズ画面についても1つの統括制御のシナリオテ−ブルを設定するようにすると、開発効率が上がり、データ容量も減らせる。
そのような例としては、例えばいわゆる全回転リーチなどがある。これは、同じ図柄が3つ表示された状態で、昇順あるいは逆順に特図表示がゆっくりと回転し、どの図柄で停止するかの演出を行うもので、遊技者に大当りへの期待を高めつつワクワク感を与えるものである。このような全回転リーチでは演出の流れが規定されており、変化の少ない演出内容になっているので、1つの統括制御のシナリオテ−ブルという構成にしてもよく、そうすると、開発効率が上がり、データ容量も減らせる。
例えば、シナリオレイヤーは8個より少なくてもよいし、あるいは8個より多い数であってもよい。
要は、多様な組合せの演出を行う時に表示要素毎に独立したシナリオ管理を行う場合の効果が得られるのであれば、シナリオレイヤーの数は8個以外の数にしてもよい。
(4)本発明の上記実施例は、映像、音声、装飾、役物の動作を1枚の演出制御基板で制御する例であるが、これに限らず、例えば複数の演出制御基板で制御する構成にしてもよいし、あるいは同一基板上に複数のCPUを実装して分担制御する構成にしてもよい。
そのようにすると、各CPUの処理負担が軽減する分、処理速度が速くなる。また、各CPUのプログラムサイズを小さくできる。
(1)遊技機はパチンコ球を使用して遊技を行うものであれば、実施例のような例に限らず、封入球式遊技機にも適用できる。
(2)また、遊技機として飾り特図を表示可能な表示装置を備えていればよく、したがって、液晶表示器等の映像装置を設けた一般的な遊技機を対象とする幅広く適用できる。
(3)表示装置は表示内容を変化可能であればよく、画像はキャラクタ表示、映像表示などで画面内容を変化できる構成になっていればよい。
(4)表示装置は液晶を用いた表示装置に限らず、例えば有機EL、ブラウン管、ドットLED、7セグメントLED、電子ペーパのように曲がる素材を用いた装置など表示内容を変化させて演出できる部材であれば何でもよい。
(5)また、本発明はパチンコ球を用いた遊技機に限るものではなく、コイン(あるいはメダル)を用いて遊技を行う、いわゆるパチスロ機(回胴式スロットマシン遊技機)に対しても適用することができる。
4 前面枠
5 ガラス枠
9 演出ボタン
20 遊技盤
25 第1始動入賞口
26 第2始動入賞口2(普通電動役物:普電)(普通変動入賞装置)
27 変動入賞装置(特別変動入賞装置)
32 普図始動ゲート
33 第2変動入賞装置
35 一括表示装置
41 表示装置(特図表示装置、普通図柄可変表示装置、演出手段、表示手段)
54 カードユニット接続基板
55 外部情報端子板
100 遊技制御装置(主制御手段、停電監視手段、乱数更新手段、始動入賞記憶手段、第2始動記憶手段、事前判定手段、優先制御手段、変動パターン決定手段、変動表示ゲーム実行制御手段、判定手段、停止時間設定手段、特定遊技状態発生制御手段、主基板固有識別情報出力手段)
101 遊技用マイコン(遊技用演算処理装置)
101A CPU
101B ROM
101C RAM
120 第1始動口スイッチ
121 第2始動口スイッチ
122 ゲートスイッチ
123 入賞口スイッチ
124 下カウントスイッチ
125 上カウントスイッチ
126 磁気センサ
127 電波センサ
140 管理装置
200 払出制御装置(従制御手段、払出基板固有識別情報出力手段)
201 払出用マイコン
211 ガラス枠開放検出スイッチ
212 前面枠開放検出スイッチ
213 オーバーフロースイッチ
214 電波センサ
215 払出球検出スイッチ
216 シュート球切れスイッチ
300 演出制御装置(従制御手段、シナリオデータ設定手段、画面作成手段、演出制御手段、演出ボタン制御手段、演出内容制御手段)
311 主制御用マイコン(1stCPU)
311a RAM
312 VDP
321 PROM
322 画像ROM
500 電源装置
551 カードユニット
Claims (1)
- 遊技の進行を制御する遊技制御手段と、
前記遊技制御手段からのコマンドに基づいて表示手段を制御して演出を行うことが可能な演出制御手段を備えた遊技機において、
前記演出制御手段は、
圧縮された画像データを記憶する画像データ記憶手段と、
前記圧縮された画像データを描画時に展開する展開領域となる情報記憶手段と、
前記表示手段に表示する画面の描画制御における表示要素毎にシナリオデータを定義したシナリオテーブルを複数記憶するシナリオテーブル記憶手段と、を備え、
前記シナリオテ−ブル上に定義された前記シナリオデータにより指定されるモーション情報に対応する制御に切り替える場合は、当該モーション情報を設定する前に、前記展開領域を解放する第1の解放を行い、
当該演出制御手段が表示をするか否かを決定可能な演出におけるシナリオテーブルの終端付近には前記展開領域を解放する第2の解放に関するシナリオデータを定義し、
前記遊技制御手段からのコマンドを受信することにより表示を開始する演出におけるシナリオテーブルの終端付近には前記展開領域の解放に関するシナリオデータを定義せず、
前記第1の解放に関する前記シナリオデータと前記第2の解放に関する前記シナリオデータは異なるシナリオデータであるが、共通の処理を用いて前記展開領域の解放を行うことを特徴とする遊技機。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017073396A JP6424325B2 (ja) | 2017-04-03 | 2017-04-03 | 遊技機 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017073396A JP6424325B2 (ja) | 2017-04-03 | 2017-04-03 | 遊技機 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013123684A Division JP6202602B2 (ja) | 2013-06-12 | 2013-06-12 | 遊技機 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017153970A JP2017153970A (ja) | 2017-09-07 |
JP6424325B2 true JP6424325B2 (ja) | 2018-11-21 |
Family
ID=59807466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017073396A Active JP6424325B2 (ja) | 2017-04-03 | 2017-04-03 | 遊技機 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6424325B2 (ja) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3733304B2 (ja) * | 2001-08-09 | 2006-01-11 | セイコーエプソン株式会社 | 画像表示制御装置 |
JP3786016B2 (ja) * | 2002-01-21 | 2006-06-14 | セイコーエプソン株式会社 | 表示装置および表示装置のキャッシュ制御方法 |
JP2005013477A (ja) * | 2003-06-26 | 2005-01-20 | Sankyo Kk | 遊技機 |
JP4274958B2 (ja) * | 2004-01-30 | 2009-06-10 | 株式会社三共 | 遊技機 |
JP4439939B2 (ja) * | 2004-02-17 | 2010-03-24 | 株式会社三共 | 遊技機 |
JP5387430B2 (ja) * | 2010-01-28 | 2014-01-15 | 株式会社Jvcケンウッド | 動画像再生装置、動画像再生方法、及び、プログラム |
JP5690667B2 (ja) * | 2011-06-21 | 2015-03-25 | 京楽産業.株式会社 | 遊技機 |
-
2017
- 2017-04-03 JP JP2017073396A patent/JP6424325B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017153970A (ja) | 2017-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2014233538A (ja) | 遊技機 | |
JP6464383B2 (ja) | 遊技機 | |
JP6260762B2 (ja) | 遊技機 | |
JP5970007B2 (ja) | 遊技機 | |
JP2018027402A (ja) | 遊技機 | |
JP6940883B2 (ja) | 遊技機 | |
JP6082921B2 (ja) | 遊技機 | |
JP6343128B2 (ja) | 遊技機 | |
JP6190196B2 (ja) | 遊技機 | |
JP6240877B2 (ja) | 遊技機 | |
JP6397516B2 (ja) | 遊技機 | |
JP6241009B2 (ja) | 遊技機 | |
JP6060461B2 (ja) | 遊技機 | |
JP6327693B2 (ja) | 遊技機 | |
JP6424325B2 (ja) | 遊技機 | |
JP6515129B2 (ja) | 遊技機 | |
JP6202602B2 (ja) | 遊技機 | |
JP6318353B2 (ja) | 遊技機 | |
JP6399631B2 (ja) | 遊技機 | |
JP6784420B2 (ja) | 遊技機 | |
JP6675374B2 (ja) | 遊技機 | |
JP6665363B2 (ja) | 遊技機 | |
JP6321925B2 (ja) | 遊技機 | |
JP6325779B2 (ja) | 遊技機 | |
JP6318354B2 (ja) | 遊技機 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180125 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180126 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180315 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180521 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180703 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180911 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180914 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6424325 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |